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 91A41C282C4 for ; Sat, 9 Feb 2019 23:21:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 32AED21919 for ; Sat, 9 Feb 2019 23:21:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726956AbfBIXVf (ORCPT ); Sat, 9 Feb 2019 18:21:35 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:49794 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726940AbfBIXVf (ORCPT ); Sat, 9 Feb 2019 18:21:35 -0500 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::bf5]) (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 83BAE14B2A6B3 for ; Sat, 9 Feb 2019 15:21:33 -0800 (PST) Date: Sat, 09 Feb 2019 15:21:32 -0800 (PST) Message-Id: <20190209.152132.1714079983834882615.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(Sat_Feb__9_15_21_32_2019_341)--" 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]); Sat, 09 Feb 2019 15:21:34 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sat_Feb__9_15_21_32_2019_341)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v4.20 -stable, respectively. Thanks! ----Next_Part(Sat_Feb__9_15_21_32_2019_341)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSAzMjI2Nzc3NmQxMjMyNDAzMGI3NzM5MzlhM2NkNDQ5YWZlYTllNmE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgMzAgSmFuIDIwMTkgMTE6Mzk6NDEgLTA4MDAKU3ViamVjdDogW1BBVENIIDAxLzE4 XSBkY2NwOiBmb29sIHByb29mIGNjaWRfaGNfW3J0XXhfcGFyc2Vfb3B0aW9ucygpCgpbIFVwc3Ry ZWFtIGNvbW1pdCA5YjFmMTlkODEwZTkyZDZjZGM2ODQ1NWZiYzIyZDlmOTYxYTU4Y2UxIF0KClNp bWlsYXJseSB0byBjb21taXQgMjc2YmRiODJkZWRiICgiZGNjcDogY2hlY2sgY2NpZCBiZWZvcmUg ZGVyZWZlcmVuY2luZyIpCml0IGlzIHdpc2UgdG8gdGVzdCBmb3IgYSBOVUxMIGNjaWQuCgprYXNh bjogQ09ORklHX0tBU0FOX0lOTElORSBlbmFibGVkCmthc2FuOiBHUEYgY291bGQgYmUgY2F1c2Vk IGJ5IE5VTEwtcHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFsIHByb3RlY3Rp b24gZmF1bHQ6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpDUFU6IDEgUElEOiAxNiBDb21t OiBrc29mdGlycWQvMSBOb3QgdGFpbnRlZCA1LjAuMC1yYzMrICMzNwpIYXJkd2FyZSBuYW1lOiBH b29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBH b29nbGUgMDEvMDEvMjAxMQpSSVA6IDAwMTA6Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zIG5ldC9k Y2NwL2NjaWQuaDoyMDUgW2lubGluZV0KUklQOiAwMDEwOmRjY3BfcGFyc2Vfb3B0aW9ucysweDhk OS8weDEyYjAgbmV0L2RjY3Avb3B0aW9ucy5jOjIzMwpDb2RlOiBjNSAwZiBiNiA3NSBiMyA4MCAz OCAwMCAwZiA4NSBkNiAwOCAwMCAwMCA0OCBiOSAwMCAwMCAwMCAwMCAwMCBmYyBmZiBkZiA0OCA4 YiA0NSBiOCA0YyA4YiBiOCBmOCAwNyAwMCAwMCA0YyA4OSBmOCA0OCBjMSBlOCAwMyA8ODA+IDNj IDA4IDAwIDBmIDg1IDk1IDA4IDAwIDAwIDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDRk IDhiCmtvYmplY3Q6ICdsb29wNScgKDAwMDAwMDAwODBmNzhmYzEpOiBrb2JqZWN0X3VldmVudF9l bnYKUlNQOiAwMDE4OmZmZmY4ODgwYTk0ZGYwYjggRUZMQUdTOiAwMDAxMDI0NgpSQVg6IDAwMDAw MDAwMDAwMDAwMDAgUkJYOiBmZmZmODg4MDg1OGFjNzIzIFJDWDogZGZmZmZjMDAwMDAwMDAwMApS RFg6IDAwMDAwMDAwMDAwMDAxMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDA3IFJESTogMDAwMDAwMDAw MDAwMDAwMQpSQlA6IGZmZmY4ODgwYTk0ZGYxNDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTog ZmZmZjg4ODA2MWI4M2E4MApSMTA6IGZmZmZlZDEwMGMzNzA3NTIgUjExOiBmZmZmODg4MDYxYjgz YTk3IFIxMjogMDAwMDAwMDAwMDAwMDAyNgpSMTM6IDAwMDAwMDAwMDAwMDAwMDEgUjE0OiAwMDAw MDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMApGUzogIDAwMDAwMDAwMDAwMDAwMDAo MDAwMCkgR1M6ZmZmZjg4ODBhZTcwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNT OiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAw N2YwZGVmYTMzNTE4IENSMzogMDAwMDAwMDA4ZGI1ZTAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZTAK a29iamVjdDogJ2xvb3A1JyAoMDAwMDAwMDA4MGY3OGZjMSk6IGZpbGxfa29ial9wYXRoOiBwYXRo ID0gJy9kZXZpY2VzL3ZpcnR1YWwvYmxvY2svbG9vcDUnCkRSMDogMDAwMDAwMDAwMDAwMDAwMCBE UjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCkRSMzogMDAwMDAwMDAw MDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCkNhbGwg VHJhY2U6CiBkY2NwX3Jjdl9zdGF0ZV9wcm9jZXNzKzB4MmI2LzB4MWFmNiBuZXQvZGNjcC9pbnB1 dC5jOjY1NAogZGNjcF92NF9kb19yY3YrMHgxMDAvMHgxOTAgbmV0L2RjY3AvaXB2NC5jOjY4OAog c2tfYmFja2xvZ19yY3YgaW5jbHVkZS9uZXQvc29jay5oOjkzNiBbaW5saW5lXQogX19za19yZWNl aXZlX3NrYisweDNhOS8weGVhMCBuZXQvY29yZS9zb2NrLmM6NDczCiBkY2NwX3Y0X3JjdisweDEw Y2IvMHgxZjgwIG5ldC9kY2NwL2lwdjQuYzo4ODAKIGlwX3Byb3RvY29sX2RlbGl2ZXJfcmN1KzB4 YjYvMHhhMjAgbmV0L2lwdjQvaXBfaW5wdXQuYzoyMDgKIGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNo KzB4MjNiLzB4MzkwIG5ldC9pcHY0L2lwX2lucHV0LmM6MjM0CiBORl9IT09LIGluY2x1ZGUvbGlu dXgvbmV0ZmlsdGVyLmg6Mjg5IFtpbmxpbmVdCiBORl9IT09LIGluY2x1ZGUvbGludXgvbmV0Zmls dGVyLmg6MjgzIFtpbmxpbmVdCiBpcF9sb2NhbF9kZWxpdmVyKzB4MWYwLzB4NzQwIG5ldC9pcHY0 L2lwX2lucHV0LmM6MjU1CiBkc3RfaW5wdXQgaW5jbHVkZS9uZXQvZHN0Lmg6NDUwIFtpbmxpbmVd CiBpcF9yY3ZfZmluaXNoKzB4MWY0LzB4MmYwIG5ldC9pcHY0L2lwX2lucHV0LmM6NDE0CiBORl9I T09LIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyLmg6Mjg5IFtpbmxpbmVdCiBORl9IT09LIGluY2x1 ZGUvbGludXgvbmV0ZmlsdGVyLmg6MjgzIFtpbmxpbmVdCiBpcF9yY3YrMHhlZC8weDYyMCBuZXQv aXB2NC9pcF9pbnB1dC5jOjUyNAogX19uZXRpZl9yZWNlaXZlX3NrYl9vbmVfY29yZSsweDE2MC8w eDIxMCBuZXQvY29yZS9kZXYuYzo0OTczCiBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MmMvMHgxYzAg bmV0L2NvcmUvZGV2LmM6NTA4MwogcHJvY2Vzc19iYWNrbG9nKzB4MjA2LzB4NzUwIG5ldC9jb3Jl L2Rldi5jOjU5MjMKIG5hcGlfcG9sbCBuZXQvY29yZS9kZXYuYzo2MzQ2IFtpbmxpbmVdCiBuZXRf cnhfYWN0aW9uKzB4NzZkLzB4MTkzMCBuZXQvY29yZS9kZXYuYzo2NDEyCiBfX2RvX3NvZnRpcnEr MHgzMGIvMHhiMTEga2VybmVsL3NvZnRpcnEuYzoyOTIKIHJ1bl9rc29mdGlycWQga2VybmVsL3Nv ZnRpcnEuYzo2NTQgW2lubGluZV0KIHJ1bl9rc29mdGlycWQrMHg4ZS8weDExMCBrZXJuZWwvc29m dGlycS5jOjY0Ngogc21wYm9vdF90aHJlYWRfZm4rMHg2YWIvMHhhMTAga2VybmVsL3NtcGJvb3Qu YzoxNjQKIGt0aHJlYWQrMHgzNTcvMHg0MzAga2VybmVsL2t0aHJlYWQuYzoyNDYKIHJldF9mcm9t X2ZvcmsrMHgzYS8weDUwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MzUyCk1vZHVsZXMgbGlu a2VkIGluOgotLS1bIGVuZCB0cmFjZSA1OGEwYmEwM2JlYTJjMzc2IF0tLS0KUklQOiAwMDEwOmNj aWRfaGNfdHhfcGFyc2Vfb3B0aW9ucyBuZXQvZGNjcC9jY2lkLmg6MjA1IFtpbmxpbmVdClJJUDog MDAxMDpkY2NwX3BhcnNlX29wdGlvbnMrMHg4ZDkvMHgxMmIwIG5ldC9kY2NwL29wdGlvbnMuYzoy MzMKQ29kZTogYzUgMGYgYjYgNzUgYjMgODAgMzggMDAgMGYgODUgZDYgMDggMDAgMDAgNDggYjkg MDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggOGIgNDUgYjggNGMgOGIgYjggZjggMDcgMDAgMDAg NGMgODkgZjggNDggYzEgZTggMDMgPDgwPiAzYyAwOCAwMCAwZiA4NSA5NSAwOCAwMCAwMCA0OCBi OCAwMCAwMCAwMCAwMCAwMCBmYyBmZiBkZiA0ZCA4YgpSU1A6IDAwMTg6ZmZmZjg4ODBhOTRkZjBi OCBFRkxBR1M6IDAwMDEwMjQ2ClJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4ODgwODU4 YWM3MjMgUkNYOiBkZmZmZmMwMDAwMDAwMDAwClJEWDogMDAwMDAwMDAwMDAwMDEwMCBSU0k6IDAw MDAwMDAwMDAwMDAwMDcgUkRJOiAwMDAwMDAwMDAwMDAwMDAxClJCUDogZmZmZjg4ODBhOTRkZjE0 MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiBmZmZmODg4MDYxYjgzYTgwClIxMDogZmZmZmVk MTAwYzM3MDc1MiBSMTE6IGZmZmY4ODgwNjFiODNhOTcgUjEyOiAwMDAwMDAwMDAwMDAwMDI2ClIx MzogMDAwMDAwMDAwMDAwMDAwMSBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAw MDAwMDAwCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODg4MGFlNzAwMDAwKDAw MDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENS MDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDA3ZjBkZWZhMzM1MTggQ1IzOiAwMDAwMDAwMDA5 ODcxMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAw MDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAw MDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMAoKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQ2M6IEdlcnJpdCBSZW5rZXIgPGdlcnJp dEBlcmcuYWJkbi5hYy51az4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC9kY2NwL2NjaWQuaCB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvZGNj cC9jY2lkLmggYi9uZXQvZGNjcC9jY2lkLmgKaW5kZXggNmViODM3YTQ3YjVjLi5iYWFhZWIyYjJj NDIgMTAwNjQ0Ci0tLSBhL25ldC9kY2NwL2NjaWQuaAorKysgYi9uZXQvZGNjcC9jY2lkLmgKQEAg LTIwMiw3ICsyMDIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2NpZF9oY190eF9wYWNrZXRfcmVj dihzdHJ1Y3QgY2NpZCAqY2NpZCwgc3RydWN0IHNvY2sgKnNrLAogc3RhdGljIGlubGluZSBpbnQg Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zKHN0cnVjdCBjY2lkICpjY2lkLCBzdHJ1Y3Qgc29jayAq c2ssCiAJCQkJCSAgIHU4IHBrdCwgdTggb3B0LCB1OCAqdmFsLCB1OCBsZW4pCiB7Ci0JaWYgKGNj aWQtPmNjaWRfb3BzLT5jY2lkX2hjX3R4X3BhcnNlX29wdGlvbnMgPT0gTlVMTCkKKwlpZiAoIWNj aWQgfHwgIWNjaWQtPmNjaWRfb3BzLT5jY2lkX2hjX3R4X3BhcnNlX29wdGlvbnMpCiAJCXJldHVy biAwOwogCXJldHVybiBjY2lkLT5jY2lkX29wcy0+Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zKHNr LCBwa3QsIG9wdCwgdmFsLCBsZW4pOwogfQpAQCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IGNjaWRfaGNfdHhfcGFyc2Vfb3B0aW9ucyhzdHJ1Y3QgY2NpZCAqY2NpZCwgc3RydWN0 IHNvY2sgKnNrLAogc3RhdGljIGlubGluZSBpbnQgY2NpZF9oY19yeF9wYXJzZV9vcHRpb25zKHN0 cnVjdCBjY2lkICpjY2lkLCBzdHJ1Y3Qgc29jayAqc2ssCiAJCQkJCSAgIHU4IHBrdCwgdTggb3B0 LCB1OCAqdmFsLCB1OCBsZW4pCiB7Ci0JaWYgKGNjaWQtPmNjaWRfb3BzLT5jY2lkX2hjX3J4X3Bh cnNlX29wdGlvbnMgPT0gTlVMTCkKKwlpZiAoIWNjaWQgfHwgIWNjaWQtPmNjaWRfb3BzLT5jY2lk X2hjX3J4X3BhcnNlX29wdGlvbnMpCiAJCXJldHVybiAwOwogCXJldHVybiBjY2lkLT5jY2lkX29w cy0+Y2NpZF9oY19yeF9wYXJzZV9vcHRpb25zKHNrLCBwa3QsIG9wdCwgdmFsLCBsZW4pOwogfQot LSAKMi4yMC4xCgoKRnJvbSA0NjAxM2Y4MmUxZmJlODE5ZGViYTdhMGYwZjhmOWQ2ZDBlOWE3NDZi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHb3ZpbmRhcmFqdWx1IFZhcmFkYXJhamFu IDxndmFyYWRhckBjaXNjby5jb20+CkRhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMDY6NTk6MDAgLTA4 MDAKU3ViamVjdDogW1BBVENIIDAyLzE4XSBlbmljOiBmaXggY2hlY2tzdW0gdmFsaWRhdGlvbiBm b3IgSVB2NgoKWyBVcHN0cmVhbSBjb21taXQgNzU5NjE3NWU5OWIzZDRiY2UyODAyMjE5M2VmZDk1 NGMyMDFhNzgyYSBdCgpJbiBjYXNlIG9mIElQdjYgcGt0cywgaXB2NF9jc3VtX29rIGlzIDAuIEJl Y2F1c2Ugb2YgdGhpcywgZHJpdmVyIGRvZXMKbm90IHNldCBza2ItPmlwX3N1bW1lZC4gU28gSVB2 NiByeCBjaGVja3N1bSBpcyBub3Qgb2ZmbG9hZGVkLgoKU2lnbmVkLW9mZi1ieTogR292aW5kYXJh anVsdSBWYXJhZGFyYWphbiA8Z3ZhcmFkYXJAY2lzY28uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvY2lzY28vZW5pYy9lbmljX21haW4uYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvY2lzY28vZW5pYy9lbmljX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2Vu aWMvZW5pY19tYWluLmMKaW5kZXggNjA2NDFlMjAyNTM0Li45YTdmNzBkYjIwYzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2VuaWMvZW5pY19tYWluLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvY2lzY28vZW5pYy9lbmljX21haW4uYwpAQCAtMTQzNCw3ICsxNDM0 LDggQEAgc3RhdGljIHZvaWQgZW5pY19ycV9pbmRpY2F0ZV9idWYoc3RydWN0IHZuaWNfcnEgKnJx LAogCQkgKiBjc3VtIGlzIGNvcnJlY3Qgb3IgaXMgemVyby4KIAkJICovCiAJCWlmICgobmV0ZGV2 LT5mZWF0dXJlcyAmIE5FVElGX0ZfUlhDU1VNKSAmJiAhY3N1bV9ub3RfY2FsYyAmJgotCQkgICAg dGNwX3VkcF9jc3VtX29rICYmIGlwdjRfY3N1bV9vayAmJiBvdXRlcl9jc3VtX29rKSB7CisJCSAg ICB0Y3BfdWRwX2NzdW1fb2sgJiYgb3V0ZXJfY3N1bV9vayAmJgorCQkgICAgKGlwdjRfY3N1bV9v ayB8fCBpcHY2KSkgewogCQkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsK IAkJCXNrYi0+Y3N1bV9sZXZlbCA9IGVuY2FwOwogCQl9Ci0tIAoyLjIwLjEKCgpGcm9tIGQxY2I4 MDE0YzgzODQxNDI0OTdlY2VmZGZlZmVmNDczYmMxNjllYTMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEJhcnQgVmFuIEFzc2NoZSA8YnZhbmFzc2NoZUBhY20ub3JnPgpEYXRlOiBXZWQs IDMwIEphbiAyMDE5IDEwOjQyOjMwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMy8xOF0gbGliL3Rl c3Rfcmhhc2h0YWJsZTogTWFrZSB0ZXN0X2luc2VydF9kdXAoKSBhbGxvY2F0ZQogaXRzIGhhc2gg dGFibGUgZHluYW1pY2FsbHkKClsgVXBzdHJlYW0gY29tbWl0IGZjNDJhNjg5YzRjMDk3ODU5ZTVi ZDM3YjVlYTExYjYwZGM0MjZkZjYgXQoKVGhlIHRlc3RfaW5zZXJ0X2R1cCgpIGZ1bmN0aW9uIGZy b20gbGliL3Rlc3Rfcmhhc2h0YWJsZS5jIHBhc3NlcyBhCnBvaW50ZXIgdG8gYSBzdGFjayBvYmpl Y3QgdG8gcmhsdGFibGVfaW5pdCgpLiBBbGxvY2F0ZSB0aGUgaGFzaCB0YWJsZQpkeW5hbWljYWxs eSB0byBhdm9pZCB0aGF0IHRoZSBmb2xsb3dpbmcgaXMgcmVwb3J0ZWQgd2l0aCBvYmplY3QKZGVi dWdnaW5nIGVuYWJsZWQ6CgpPREVCVUc6IG9iamVjdCAocHRydmFsKSBpcyBvbiBzdGFjayAocHRy dmFsKSwgYnV0IE5PVCBhbm5vdGF0ZWQuCldBUk5JTkc6IENQVTogMCBQSUQ6IDEgYXQgbGliL2Rl YnVnb2JqZWN0cy5jOjM2OCBfX2RlYnVnX29iamVjdF9pbml0KzB4MzEyLzB4NDgwCk1vZHVsZXMg bGlua2VkIGluOgpFSVA6IF9fZGVidWdfb2JqZWN0X2luaXQrMHgzMTIvMHg0ODAKQ2FsbCBUcmFj ZToKID8gZGVidWdfb2JqZWN0X2luaXQrMHgxYS8weDIwCiA/IF9faW5pdF93b3JrKzB4MTYvMHgz MAogPyByaGFzaHRhYmxlX2luaXQrMHgxZTEvMHg0NjAKID8gc2NoZWRfY2xvY2tfY3B1KzB4NTcv MHhlMAogPyByaGx0YWJsZV9pbml0KzB4Yi8weDIwCiA/IHRlc3RfaW5zZXJ0X2R1cCsweDMyLzB4 MjBmCiA/IHRyYWNlX2hhcmRpcnFzX29uKzB4MzgvMHhmMAogPyBpZGFfZHVtcCsweDEwLzB4MTAK ID8gamhhc2grMHgxMzAvMHgxMzAKID8gbXlfaGFzaGZuKzB4MzAvMHgzMAogPyB0ZXN0X3JodF9p bml0KzB4NmFhLzB4YWI0CiA/IGlkYV9kdW1wKzB4MTAvMHgxMAogPyB0ZXN0X3JobHRhYmxlKzB4 YzVjLzB4YzVjCiA/IGRvX29uZV9pbml0Y2FsbCsweDY3LzB4MjhlCiA/IHRyYWNlX2hhcmRpcnFz X29mZisweDIyLzB4ZTAKID8gcmVzdG9yZV9hbGxfa2VybmVsKzB4Zi8weDcwCiA/IHRyYWNlX2hh cmRpcnFzX29uX3RodW5rKzB4Yy8weDEwCiA/IHJlc3RvcmVfYWxsX2tlcm5lbCsweGYvMHg3MAog PyBrZXJuZWxfaW5pdF9mcmVlYWJsZSsweDE0Mi8weDIxMwogPyByZXN0X2luaXQrMHgyMzAvMHgy MzAKID8ga2VybmVsX2luaXQrMHgxMC8weDExMAogPyBzY2hlZHVsZV90YWlsX3dyYXBwZXIrMHg5 LzB4YwogPyByZXRfZnJvbV9mb3JrKzB4MTkvMHgyNAoKQ2M6IFRob21hcyBHcmFmIDx0Z3JhZkBz dXVnLmNoPgpDYzogSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PgpDYzog bmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpT aWduZWQtb2ZmLWJ5OiBCYXJ0IFZhbiBBc3NjaGUgPGJ2YW5hc3NjaGVAYWNtLm9yZz4KQWNrZWQt Ynk6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGxpYi90ZXN0X3Jo YXNodGFibGUuYyB8IDIzICsrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdGVzdF9y aGFzaHRhYmxlLmMgYi9saWIvdGVzdF9yaGFzaHRhYmxlLmMKaW5kZXggODJhYzM5Y2U1MzEwLi5h ZWNjMDk5NjYyOGYgMTAwNjQ0Ci0tLSBhL2xpYi90ZXN0X3JoYXNodGFibGUuYworKysgYi9saWIv dGVzdF9yaGFzaHRhYmxlLmMKQEAgLTU0MSwzOCArNTQxLDQ1IEBAIHN0YXRpYyB1bnNpZ25lZCBp bnQgX19pbml0IHByaW50X2h0KHN0cnVjdCByaGx0YWJsZSAqcmhsdCkKIHN0YXRpYyBpbnQgX19p bml0IHRlc3RfaW5zZXJ0X2R1cChzdHJ1Y3QgdGVzdF9vYmpfcmhsICpyaGxfdGVzdF9vYmplY3Rz LAogCQkJCSAgaW50IGNudCwgYm9vbCBzbG93KQogewotCXN0cnVjdCByaGx0YWJsZSByaGx0Owor CXN0cnVjdCByaGx0YWJsZSAqcmhsdDsKIAl1bnNpZ25lZCBpbnQgaSwgcmV0OwogCWNvbnN0IGNo YXIgKmtleTsKIAlpbnQgZXJyID0gMDsKIAotCWVyciA9IHJobHRhYmxlX2luaXQoJnJobHQsICZ0 ZXN0X3JodF9wYXJhbXNfZHVwKTsKLQlpZiAoV0FSTl9PTihlcnIpKQorCXJobHQgPSBrbWFsbG9j KHNpemVvZigqcmhsdCksIEdGUF9LRVJORUwpOworCWlmIChXQVJOX09OKCFyaGx0KSkKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwllcnIgPSByaGx0YWJsZV9pbml0KHJobHQsICZ0ZXN0X3JodF9wYXJh bXNfZHVwKTsKKwlpZiAoV0FSTl9PTihlcnIpKSB7CisJCWtmcmVlKHJobHQpOwogCQlyZXR1cm4g ZXJyOworCX0KIAogCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgewogCQlyaGxfdGVzdF9vYmpl Y3RzW2ldLnZhbHVlLnRpZCA9IGk7Ci0JCWtleSA9IHJodF9vYmooJnJobHQuaHQsICZyaGxfdGVz dF9vYmplY3RzW2ldLmxpc3Rfbm9kZS5yaGVhZCk7CisJCWtleSA9IHJodF9vYmooJnJobHQtPmh0 LCAmcmhsX3Rlc3Rfb2JqZWN0c1tpXS5saXN0X25vZGUucmhlYWQpOwogCQlrZXkgKz0gdGVzdF9y aHRfcGFyYW1zX2R1cC5rZXlfb2Zmc2V0OwogCiAJCWlmIChzbG93KSB7Ci0JCQllcnIgPSBQVFJf RVJSKHJoYXNodGFibGVfaW5zZXJ0X3Nsb3coJnJobHQuaHQsIGtleSwKKwkJCWVyciA9IFBUUl9F UlIocmhhc2h0YWJsZV9pbnNlcnRfc2xvdygmcmhsdC0+aHQsIGtleSwKIAkJCQkJCQkgICAgICZy aGxfdGVzdF9vYmplY3RzW2ldLmxpc3Rfbm9kZS5yaGVhZCkpOwogCQkJaWYgKGVyciA9PSAtRUFH QUlOKQogCQkJCWVyciA9IDA7CiAJCX0gZWxzZQotCQkJZXJyID0gcmhsdGFibGVfaW5zZXJ0KCZy aGx0LAorCQkJZXJyID0gcmhsdGFibGVfaW5zZXJ0KHJobHQsCiAJCQkJCSAgICAgICZyaGxfdGVz dF9vYmplY3RzW2ldLmxpc3Rfbm9kZSwKIAkJCQkJICAgICAgdGVzdF9yaHRfcGFyYW1zX2R1cCk7 CiAJCWlmIChXQVJOKGVyciwgImVycm9yICVkIG9uIGVsZW1lbnQgJWQvJWQgKCVzKVxuIiwgZXJy LCBpLCBjbnQsIHNsb3c/ICJzbG93IiA6ICJmYXN0IikpCiAJCQlnb3RvIHNraXBfcHJpbnQ7CiAJ fQogCi0JcmV0ID0gcHJpbnRfaHQoJnJobHQpOworCXJldCA9IHByaW50X2h0KHJobHQpOwogCVdB Uk4ocmV0ICE9IGNudCwgIm1pc3NpbmcgcmhsdGFibGUgZWxlbWVudHMgKCVkICE9ICVkLCAlcylc biIsIHJldCwgY250LCBzbG93PyAic2xvdyIgOiAiZmFzdCIpOwogCiBza2lwX3ByaW50OgotCXJo bHRhYmxlX2Rlc3Ryb3koJnJobHQpOworCXJobHRhYmxlX2Rlc3Ryb3kocmhsdCk7CisJa2ZyZWUo cmhsdCk7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gZTVhY2E1MDc3YWI3NWE1 MmYxNjBhNzk4OGFkYWFhY2VmMjgzZThlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog U2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgpEYXRlOiBN b24sIDQgRmViIDIwMTkgMTE6MjA6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzE4XSBuZXQ6 IGRwODM2NDA6IGV4cGlyZSBvbGQgVFgtc2tiCgpbIFVwc3RyZWFtIGNvbW1pdCA1M2JjOGQyYWYw ODY1NDY1OWFiZmFkZmQzZTk4ZWI5OTIyZmY3ODdjIF0KCkR1cmluZyBzZW5kbXNnKCkgYSBjbG9u ZWQgc2tiIGlzIHNhdmVkIHZpYSBkcDgzNjQwX3R4dHN0YW1wKCkgaW4KLT50eF9xdWV1ZS4gQWZ0 ZXIgdGhlIE5JQyBzZW5kcyB0aGlzIHBhY2tldCwgdGhlIFBIWSB3aWxsIHJlcGx5IHdpdGggYQp0 aW1lc3RhbXAgZm9yIHRoYXQgVFggcGFja2V0LiBJZiB0aGUgY2FibGUgaXMgcHVsbGVkIGF0IHRo ZSByaWdodCB0aW1lIEkKZG9uJ3Qgc2VlIHRoYXQgcGFja2V0LiBJdCBtaWdodCBnZXRzIGZsdXNo ZWQgYXMgcGFydCBvZiBxdWV1ZSBzaHV0ZG93bgpvbiBOSUMncyBzaWRlLgpPbmNlIHRoZSBsaW5r IGlzIHVwIGFnYWluIHRoZW4gYWZ0ZXIgdGhlIG5leHQgc2VuZG1zZygpIHdlIGVucXVldWUKYW5v dGhlciBza2IgaW4gZHA4MzY0MF90eHRzdGFtcCgpIGFuZCBoYXZlIHR3byBvbiB0aGUgbGlzdC4g VGhlbiB0aGUgUEhZCndpbGwgc2VuZCBhIHJlcGx5IGFuZCBkZWNvZGVfdHh0cygpIGF0dGFjaGVz IGl0IHRvIHRoZSBmaXJzdCBza2Igb24gdGhlCmxpc3QuCk5vIGNyYXNoIG9jY3VycyBzaW5jZSBy ZWZjb3VudGluZyB3b3JrcyBidXQgd2UgYXJlIG9uZSBwYWNrZXQgYmVoaW5kLgpsaW51eHB0cC9w dHA0bCB1c3VhbGx5IGNsb3NlcyB0aGUgc29ja2V0IGFuZCBvcGVucyBhIG5ldyBvbmUgKGluIHN1 Y2ggYQp0aW1lb3V0IGNhc2UpIHNvIHRob3NlICJzdGFsZSIgcmVwbGllcyBuZXZlciBnZXQgdGhl cmUuIEhvd2V2ZXIgaXQgZG9lcwpub3QgcmVzdW1lIG5vcm1hbCBvcGVyYXRpb24gYW55bW9yZS4K ClB1cmdlIG9sZCBza2JzIGluIGRlY29kZV90eHRzKCkuCgpGaXhlczogY2I2NDZlMmIwMmIyICgi cHRwOiBBZGRlZCBhIGNsb2NrIGRyaXZlciBmb3IgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Ig UEhZVEVSLiIpClNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vh c3lAbGludXRyb25peC5kZT4KUmV2aWV3ZWQtYnk6IEt1cnQgS2FuemVuYmFjaCA8a3VydEBsaW51 dHJvbml4LmRlPgpBY2tlZC1ieTogUmljaGFyZCBDb2NocmFuIDxyaWNoYXJkY29jaHJhbkBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9waHkvZHA4MzY0MC5jIHwgMTMgKysrKysrKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvcGh5L2RwODM2NDAuYyBiL2RyaXZlcnMvbmV0L3BoeS9kcDgzNjQwLmMK aW5kZXggMjlhYThkNzcyYjBjLi41OWIzZjFmYmFiZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3BoeS9kcDgzNjQwLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L2RwODM2NDAuYwpAQCAtODk2LDE0 ICs4OTYsMTQgQEAgc3RhdGljIHZvaWQgZGVjb2RlX3R4dHMoc3RydWN0IGRwODM2NDBfcHJpdmF0 ZSAqZHA4MzY0MCwKIAkJCXN0cnVjdCBwaHlfdHh0cyAqcGh5X3R4dHMpCiB7CiAJc3RydWN0IHNr Yl9zaGFyZWRfaHd0c3RhbXBzIHNoaHd0c3RhbXBzOworCXN0cnVjdCBkcDgzNjQwX3NrYl9pbmZv ICpza2JfaW5mbzsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwotCXU2NCBuczsKIAl1OCBvdmVyZmxv dzsKKwl1NjQgbnM7CiAKIAkvKiBXZSBtdXN0IGFscmVhZHkgaGF2ZSB0aGUgc2tiIHRoYXQgdHJp Z2dlcmVkIHRoaXMuICovCi0KK2FnYWluOgogCXNrYiA9IHNrYl9kZXF1ZXVlKCZkcDgzNjQwLT50 eF9xdWV1ZSk7Ci0KIAlpZiAoIXNrYikgewogCQlwcl9kZWJ1ZygiaGF2ZSB0aW1lc3RhbXAgYnV0 IHR4X3F1ZXVlIGVtcHR5XG4iKTsKIAkJcmV0dXJuOwpAQCAtOTE4LDYgKzkxOCwxMSBAQCBzdGF0 aWMgdm9pZCBkZWNvZGVfdHh0cyhzdHJ1Y3QgZHA4MzY0MF9wcml2YXRlICpkcDgzNjQwLAogCQl9 CiAJCXJldHVybjsKIAl9CisJc2tiX2luZm8gPSAoc3RydWN0IGRwODM2NDBfc2tiX2luZm8gKilz a2ItPmNiOworCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHNrYl9pbmZvLT50bW8pKSB7CisJCWtm cmVlX3NrYihza2IpOworCQlnb3RvIGFnYWluOworCX0KIAogCW5zID0gcGh5MnR4dHMocGh5X3R4 dHMpOwogCW1lbXNldCgmc2hod3RzdGFtcHMsIDAsIHNpemVvZihzaGh3dHN0YW1wcykpOwpAQCAt MTQ3MCw2ICsxNDc1LDcgQEAgc3RhdGljIGJvb2wgZHA4MzY0MF9yeHRzdGFtcChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2LAogc3RhdGljIHZvaWQgZHA4MzY0MF90eHRzdGFtcChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2LAogCQkJICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgdHlwZSkK IHsKKwlzdHJ1Y3QgZHA4MzY0MF9za2JfaW5mbyAqc2tiX2luZm8gPSAoc3RydWN0IGRwODM2NDBf c2tiX2luZm8gKilza2ItPmNiOwogCXN0cnVjdCBkcDgzNjQwX3ByaXZhdGUgKmRwODM2NDAgPSBw aHlkZXYtPnByaXY7CiAKIAlzd2l0Y2ggKGRwODM2NDAtPmh3dHNfdHhfZW4pIHsKQEAgLTE0ODIs NiArMTQ4OCw3IEBAIHN0YXRpYyB2b2lkIGRwODM2NDBfdHh0c3RhbXAoc3RydWN0IHBoeV9kZXZp Y2UgKnBoeWRldiwKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSBIV1RTVEFNUF9UWF9PTjoK IAkJc2tiX3NoaW5mbyhza2IpLT50eF9mbGFncyB8PSBTS0JUWF9JTl9QUk9HUkVTUzsKKwkJc2ti X2luZm8tPnRtbyA9IGppZmZpZXMgKyBTS0JfVElNRVNUQU1QX1RJTUVPVVQ7CiAJCXNrYl9xdWV1 ZV90YWlsKCZkcDgzNjQwLT50eF9xdWV1ZSwgc2tiKTsKIAkJYnJlYWs7CiAKLS0gCjIuMjAuMQoK CkZyb20gN2Q4MjJmM2IzMmExN2JkMGIwNDY4MWVmODJhYjBlZDJmOGY2NGI3YiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFyYyBaeW5naWVyIDxtYXJjLnp5bmdpZXJAYXJtLmNvbT4K RGF0ZTogU2F0LCAyIEZlYiAyMDE5IDE3OjUzOjI5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAwNS8x OF0gbmV0OiBkc2E6IEZpeCBsb2NrZGVwIGZhbHNlIHBvc2l0aXZlIHNwbGF0CgpbIFVwc3RyZWFt IGNvbW1pdCBjODEwMWY3NzI5ZGFlZTI1MWY0ZjY1MDVmOWQxMzVlYzA4ZTEzNDJmIF0KCkNyZWF0 aW5nIGEgbWFjdnRhcCBvbiBhIERTQS1iYWNrZWQgaW50ZXJmYWNlIHJlc3VsdHMgaW4gdGhlIGZv bGxvd2luZwpzcGxhdCB3aGVuIGxvY2tkZXAgaXMgZW5hYmxlZDoKClsgICAxOS42MzgwODBdIElQ djY6IEFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBsYW4wOiBsaW5rIGJlY29tZXMgcmVhZHkKWyAg IDIzLjA0MTE5OF0gZGV2aWNlIGxhbjAgZW50ZXJlZCBwcm9taXNjdW91cyBtb2RlClsgICAyMy4w NDM0NDVdIGRldmljZSBldGgwIGVudGVyZWQgcHJvbWlzY3VvdXMgbW9kZQpbICAgMjMuMDQ5MjU1 XQpbICAgMjMuMDQ5NTU3XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpbICAgMjMuMDU1MDIxXSBXQVJOSU5HOiBwb3NzaWJsZSByZWN1cnNpdmUgbG9ja2luZyBk ZXRlY3RlZApbICAgMjMuMDYwNDkwXSA1LjAuMC1yYzMtMDAwMTMtZzU2Yzg1N2ExYjhkMyAjMTE4 IE5vdCB0YWludGVkClsgICAyMy4wNjYxMzJdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tClsgICAyMy4wNzE1OThdIGlwLzI4NjEgaXMgdHJ5aW5nIHRvIGFjcXVp cmUgbG9jazoKWyAgIDIzLjA3NjE3MV0gMDAwMDAwMDBmNjE5OTBjYiAoX3htaXRfRVRIRVIpeysu Li59LCBhdDogZGV2X3NldF9yeF9tb2RlKzB4MWMvMHgzOApbICAgMjMuMDgzNjkzXQpbICAgMjMu MDgzNjkzXSBidXQgdGFzayBpcyBhbHJlYWR5IGhvbGRpbmcgbG9jazoKWyAgIDIzLjA4OTY5Nl0g MDAwMDAwMDBlY2YwYzNiNCAoX3htaXRfRVRIRVIpeysuLi59LCBhdDogZGV2X3VjX2FkZCsweDI0 LzB4NzAKWyAgIDIzLjA5Njc3NF0KWyAgIDIzLjA5Njc3NF0gb3RoZXIgaW5mbyB0aGF0IG1pZ2h0 IGhlbHAgdXMgZGVidWcgdGhpczoKWyAgIDIzLjEwMzQ5NF0gIFBvc3NpYmxlIHVuc2FmZSBsb2Nr aW5nIHNjZW5hcmlvOgpbICAgMjMuMTAzNDk0XQpbICAgMjMuMTA5NTg0XSAgICAgICAgQ1BVMApb ICAgMjMuMTEyMDkzXSAgICAgICAgLS0tLQpbICAgMjMuMTE0NjAxXSAgIGxvY2soX3htaXRfRVRI RVIpOwpbICAgMjMuMTE3OTE3XSAgIGxvY2soX3htaXRfRVRIRVIpOwpbICAgMjMuMTIxMjMzXQpb ICAgMjMuMTIxMjMzXSAgKioqIERFQURMT0NLICoqKgpbICAgMjMuMTIxMjMzXQpbICAgMjMuMTI3 MzI1XSAgTWF5IGJlIGR1ZSB0byBtaXNzaW5nIGxvY2sgbmVzdGluZyBub3RhdGlvbgpbICAgMjMu MTI3MzI1XQpbICAgMjMuMTM0MzE1XSAyIGxvY2tzIGhlbGQgYnkgaXAvMjg2MToKWyAgIDIzLjEz Nzk4N10gICMwOiAwMDAwMDAwMDNiNzY2YzcyIChydG5sX211dGV4KXsrLisufSwgYXQ6IHJ0bmV0 bGlua19yY3ZfbXNnKzB4MzM4LzB4NGUwClsgICAyMy4xNDYyMzFdICAjMTogMDAwMDAwMDBlY2Yw YzNiNCAoX3htaXRfRVRIRVIpeysuLi59LCBhdDogZGV2X3VjX2FkZCsweDI0LzB4NzAKWyAgIDIz LjE1Mzc1N10KWyAgIDIzLjE1Mzc1N10gc3RhY2sgYmFja3RyYWNlOgpbICAgMjMuMTU4MjQzXSBD UFU6IDAgUElEOiAyODYxIENvbW06IGlwIE5vdCB0YWludGVkIDUuMC4wLXJjMy0wMDAxMy1nNTZj ODU3YTFiOGQzICMxMTgKWyAgIDIzLjE2NjIxMl0gSGFyZHdhcmUgbmFtZTogR2xvYmFsc2NhbGUg TWFydmVsbCBFU1BSRVNTT0JpbiBCb2FyZCAoRFQpClsgICAyMy4xNzI4NDNdIENhbGwgdHJhY2U6 ClsgICAyMy4xNzUzNThdICBkdW1wX2JhY2t0cmFjZSsweDAvMHgxODgKWyAgIDIzLjE3OTExNl0g IHNob3dfc3RhY2srMHgxNC8weDIwClsgICAyMy4xODI1MjRdICBkdW1wX3N0YWNrKzB4YjQvMHhl YwpbICAgMjMuMTg1OTI4XSAgX19sb2NrX2FjcXVpcmUrMHgxMjNjLzB4MTg2MApbICAgMjMuMTkw MDQ4XSAgbG9ja19hY3F1aXJlKzB4YzgvMHgyNDgKWyAgIDIzLjE5MzcyNF0gIF9yYXdfc3Bpbl9s b2NrX2JoKzB4NDAvMHg1OApbICAgMjMuMTk3NzU1XSAgZGV2X3NldF9yeF9tb2RlKzB4MWMvMHgz OApbICAgMjMuMjAxNjA3XSAgZGV2X3NldF9wcm9taXNjdWl0eSsweDNjLzB4NTAKWyAgIDIzLjIw NTgyMF0gIGRzYV9zbGF2ZV9jaGFuZ2VfcnhfZmxhZ3MrMHg1Yy8weDcwClsgICAyMy4yMTA1Njdd ICBfX2Rldl9zZXRfcHJvbWlzY3VpdHkrMHgxNDgvMHgxZTAKWyAgIDIzLjIxNTEzNl0gIF9fZGV2 X3NldF9yeF9tb2RlKzB4NzQvMHg5OApbICAgMjMuMjE5MTY3XSAgZGV2X3VjX2FkZCsweDU0LzB4 NzAKWyAgIDIzLjIyMjU3NV0gIG1hY3ZsYW5fb3BlbisweDE3MC8weDFkMApbICAgMjMuMjI2MzM2 XSAgX19kZXZfb3BlbisweGUwLzB4MTYwClsgICAyMy4yMjk4MzBdICBfX2Rldl9jaGFuZ2VfZmxh Z3MrMHgxNmMvMHgxYjgKWyAgIDIzLjIzNDEzMl0gIGRldl9jaGFuZ2VfZmxhZ3MrMHgyMC8weDYw ClsgICAyMy4yMzgwNzRdICBkb19zZXRsaW5rKzB4MmQwLzB4YzUwClsgICAyMy4yNDE2NThdICBf X3J0bmxfbmV3bGluaysweDVmOC8weDZlOApbICAgMjMuMjQ1NjAxXSAgcnRubF9uZXdsaW5rKzB4 NTAvMHg3OApbICAgMjMuMjQ5MTg0XSAgcnRuZXRsaW5rX3Jjdl9tc2crMHgzNjAvMHg0ZTAKWyAg IDIzLjI1MzM5N10gIG5ldGxpbmtfcmN2X3NrYisweGU4LzB4MTMwClsgICAyMy4yNTczMzhdICBy dG5ldGxpbmtfcmN2KzB4MTQvMHgyMApbICAgMjMuMjYxMDEyXSAgbmV0bGlua191bmljYXN0KzB4 MTkwLzB4MjEwClsgICAyMy4yNjUwNDNdICBuZXRsaW5rX3NlbmRtc2crMHgyODgvMHgzNTAKWyAg IDIzLjI2OTA3NV0gIHNvY2tfc2VuZG1zZysweDE4LzB4MzAKWyAgIDIzLjI3MjY1OV0gIF9fX3N5 c19zZW5kbXNnKzB4MjljLzB4MmM4ClsgICAyMy4yNzY2MDJdICBfX3N5c19zZW5kbXNnKzB4NjAv MHhiOApbICAgMjMuMjgwMjc2XSAgX19hcm02NF9zeXNfc2VuZG1zZysweDFjLzB4MjgKWyAgIDIz LjI4NDQ4OF0gIGVsMF9zdmNfY29tbW9uKzB4ZDgvMHgxMzgKWyAgIDIzLjI4ODM0MF0gIGVsMF9z dmNfaGFuZGxlcisweDI0LzB4ODAKWyAgIDIzLjI5MjE5Ml0gIGVsMF9zdmMrMHg4LzB4YwoKVGhp cyBsb29rcyBmYWlybHkgaGFybWxlc3MgKG5vIGFjdHVhbCBkZWFkbG9jayBvY2N1cnMpLCBhbmQg aXMKZml4ZWQgaW4gYSBzaW1pbGFyIHdheSB0byBjNjg5NGRlYzhlYTkgKCJicmlkZ2U6IGZpeCBs b2NrZGVwCmFkZHJfbGlzdF9sb2NrIGZhbHNlIHBvc2l0aXZlIHNwbGF0IikgYnkgcHV0dGluZyB0 aGUgYWRkcl9saXN0X2xvY2sKaW4gaXRzIG93biBsb2NrZGVwIGNsYXNzLgoKU2lnbmVkLW9mZi1i eTogTWFyYyBaeW5naWVyIDxtYXJjLnp5bmdpZXJAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IEZsb3Jp YW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2RzYS9tYXN0ZXIuYyB8IDQg KysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9k c2EvbWFzdGVyLmMgYi9uZXQvZHNhL21hc3Rlci5jCmluZGV4IGM5MGVlMzIyN2RlYS4uYWFlNDc4 ZDYxMTAxIDEwMDY0NAotLS0gYS9uZXQvZHNhL21hc3Rlci5jCisrKyBiL25ldC9kc2EvbWFzdGVy LmMKQEAgLTE1OCw2ICsxNTgsOCBAQCBzdGF0aWMgdm9pZCBkc2FfbWFzdGVyX2V0aHRvb2xfdGVh cmRvd24oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAljcHVfZHAtPm9yaWdfZXRodG9vbF9vcHMg PSBOVUxMOwogfQogCitzdGF0aWMgc3RydWN0IGxvY2tfY2xhc3Nfa2V5IGRzYV9tYXN0ZXJfYWRk cl9saXN0X2xvY2tfa2V5OworCiBpbnQgZHNhX21hc3Rlcl9zZXR1cChzdHJ1Y3QgbmV0X2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHNhX3BvcnQgKmNwdV9kcCkKIHsKIAkvKiBJZiB3ZSB1c2UgYSB0YWdn aW5nIGZvcm1hdCB0aGF0IGRvZXNuJ3QgaGF2ZSBhbiBldGhlcnR5cGUKQEAgLTE2Nyw2ICsxNjks OCBAQCBpbnQgZHNhX21hc3Rlcl9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHNhX3BvcnQgKmNwdV9kcCkKIAl3bWIoKTsKIAogCWRldi0+ZHNhX3B0ciA9IGNwdV9kcDsKKwls b2NrZGVwX3NldF9jbGFzcygmZGV2LT5hZGRyX2xpc3RfbG9jaywKKwkJCSAgJmRzYV9tYXN0ZXJf YWRkcl9saXN0X2xvY2tfa2V5KTsKIAogCXJldHVybiBkc2FfbWFzdGVyX2V0aHRvb2xfc2V0dXAo ZGV2KTsKIH0KLS0gCjIuMjAuMQoKCkZyb20gYmVmYTM1N2JhMTQwNjg3Mzk2NGFmNTU0OWVhM2Rj YmYyMTY0NWE5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuIENhcnBlbnRlciA8 ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgpEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTg6MzU6MTUg KzAzMDAKU3ViamVjdDogW1BBVENIIDA2LzE4XSBuZXQ6IGRzYTogRml4IE5VTEwgY2hlY2tpbmcg aW4gZHNhX3NsYXZlX3NldF9lZWUoKQoKWyBVcHN0cmVhbSBjb21taXQgMDA2NzBjYjhhNzNiMTBi MTBkM2M0MGYwNDVjMTU0MTE3MTVlNDQ2NSBdCgpUaGlzIGZ1bmN0aW9uIGNhbid0IHN1Y2NlZWQg aWYgZHAtPnBsIGlzIE5VTEwuICBJdCB3aWxsIE9vcHMgaW5zaWRlIHRoZQpjYWxsIHRvIHJldHVy biBwaHlsaW5rX2V0aHRvb2xfZ2V0X2VlZShkcC0+cGwsIGUpOwoKRml4ZXM6IDFiZTUyZTk3ZWQz ZSAoImRzYTogc2xhdmU6IGVlZTogQWxsb3cgcG9ydHMgdG8gdXNlIHBoeWxpbmsiKQpTaWduZWQt b2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+ClJldmlld2Vk LWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6 IFZpdmllbiBEaWRlbG90IDx2aXZpZW4uZGlkZWxvdEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvZHNhL3NsYXZl LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2RzYS9zbGF2ZS5jIGIvbmV0L2RzYS9zbGF2ZS5jCmluZGV4 IDFjNDVjMWQ2ZDI0MS4uYWU0ZGU4NzYxOTdkIDEwMDY0NAotLS0gYS9uZXQvZHNhL3NsYXZlLmMK KysrIGIvbmV0L2RzYS9zbGF2ZS5jCkBAIC02MzksNyArNjM5LDcgQEAgc3RhdGljIGludCBkc2Ff c2xhdmVfc2V0X2VlZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgZXRodG9vbF9lZWUg KmUpCiAJaW50IHJldDsKIAogCS8qIFBvcnQncyBQSFkgYW5kIE1BQyBib3RoIG5lZWQgdG8gYmUg RUVFIGNhcGFibGUgKi8KLQlpZiAoIWRldi0+cGh5ZGV2ICYmICFkcC0+cGwpCisJaWYgKCFkZXYt PnBoeWRldiB8fCAhZHAtPnBsKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghZHMtPm9wcy0+ c2V0X21hY19lZWUpCkBAIC02NTksNyArNjU5LDcgQEAgc3RhdGljIGludCBkc2Ffc2xhdmVfZ2V0 X2VlZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgZXRodG9vbF9lZWUgKmUpCiAJaW50 IHJldDsKIAogCS8qIFBvcnQncyBQSFkgYW5kIE1BQyBib3RoIG5lZWQgdG8gYmUgRUVFIGNhcGFi bGUgKi8KLQlpZiAoIWRldi0+cGh5ZGV2ICYmICFkcC0+cGwpCisJaWYgKCFkZXYtPnBoeWRldiB8 fCAhZHAtPnBsKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghZHMtPm9wcy0+Z2V0X21hY19l ZWUpCi0tIAoyLjIwLjEKCgpGcm9tIDVkOWU0OTc0MmQxYjdiM2IzNThjYmJiNzJjNjk3YzE1YTFm NWIwNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFuZHJldyBMdW5uIDxhbmRyZXdA bHVubi5jaD4KRGF0ZTogV2VkLCA2IEZlYiAyMDE5IDAwOjAyOjU4ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNy8xOF0gbmV0OiBkc2E6IG12ODhlNnh4eDogRml4IGNvdW50aW5nIG9mIEFUVSB2aW9s YXRpb25zCgpbIFVwc3RyZWFtIGNvbW1pdCA3NWMwNWE3NGU3NDVhZTdkNjYzYjA0ZDc1Nzc3YWY4 MGFkYTIyMzNjIF0KClRoZSBBVFUgcG9ydCB2ZWN0b3IgY29udGFpbnMgYSBiaXQgcGVyIHBvcnQg b2YgdGhlIHN3aXRjaC4gVGhlIGNvZGUKd3JvbmdseSB1c2VkIGl0IGFzIGEgcG9ydCBudW1iZXIs IGFuZCBpbmNyZW1lbnRlZCBhIHBvcnQgY291bnRlci4gVGhpcwpyZXN1bHRlZCBpbiB0aGUgd3Jv bmcgaW50ZXJmYWNlcyBjb3VudGVyIGJlaW5nIGluY3JlbWVudGVkLCBhbmQKcG90ZW50aWFsbHkg Z29pbmcgb2ZmIHRoZSBlbmQgb2YgdGhlIGFycmF5IG9mIHBvcnRzLgoKRml4IHRoaXMgYnkgdXNp bmcgdGhlIHNvdXJjZSBwb3J0IElEIGZvciB0aGUgdmlvbGF0aW9uLCB3aGljaCByZWFsbHkKaXMg YSBwb3J0IG51bWJlci4KClJlcG9ydGVkLWJ5OiBDaHJpcyBIZWFseSA8Q2hyaXMuSGVhbHlAemlp LmFlcm8+ClRlc3RlZC1ieTogQ2hyaXMgSGVhbHkgPENocmlzLkhlYWx5QHppaS5hZXJvPgpGaXhl czogNjVmNjBlNDU4MmJkICgibmV0OiBkc2E6IG12ODhlNnh4eDogS2VlcCBBVFUvVlRVIHZpb2xh dGlvbiBzdGF0aXN0aWNzIikKU2lnbmVkLW9mZi1ieTogQW5kcmV3IEx1bm4gPGFuZHJld0BsdW5u LmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9nbG9iYWwxX2F0dS5jIHwgMjEgKysrKysr KysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDFf YXR1LmMgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDFfYXR1LmMKaW5kZXggNTIw MGU0YmRjZTkzLi5lYTI0Mzg0MGVlMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdjg4 ZTZ4eHgvZ2xvYmFsMV9hdHUuYworKysgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2Jh bDFfYXR1LmMKQEAgLTMxNCw2ICszMTQsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgbXY4OGU2eHh4 X2cxX2F0dV9wcm9iX2lycV90aHJlYWRfZm4oaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewogCXN0 cnVjdCBtdjg4ZTZ4eHhfY2hpcCAqY2hpcCA9IGRldl9pZDsKIAlzdHJ1Y3QgbXY4OGU2eHh4X2F0 dV9lbnRyeSBlbnRyeTsKKwlpbnQgc3BpZDsKIAlpbnQgZXJyOwogCXUxNiB2YWw7CiAKQEAgLTMz Niw2ICszMzcsOCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgbXY4OGU2eHh4X2cxX2F0dV9wcm9iX2ly cV90aHJlYWRfZm4oaW50IGlycSwgdm9pZCAqZGV2X2lkKQogCWlmIChlcnIpCiAJCWdvdG8gb3V0 OwogCisJc3BpZCA9IGVudHJ5LnN0YXRlOworCiAJaWYgKHZhbCAmIE1WODhFNlhYWF9HMV9BVFVf T1BfQUdFX09VVF9WSU9MQVRJT04pIHsKIAkJZGV2X2Vycl9yYXRlbGltaXRlZChjaGlwLT5kZXYs CiAJCQkJICAgICJBVFUgYWdlIG91dCB2aW9sYXRpb24gZm9yICVwTVxuIiwKQEAgLTM0NCwyMyAr MzQ3LDIzIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBtdjg4ZTZ4eHhfZzFfYXR1X3Byb2JfaXJxX3Ro cmVhZF9mbihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAKIAlpZiAodmFsICYgTVY4OEU2WFhYX0cx X0FUVV9PUF9NRU1CRVJfVklPTEFUSU9OKSB7CiAJCWRldl9lcnJfcmF0ZWxpbWl0ZWQoY2hpcC0+ ZGV2LAotCQkJCSAgICAiQVRVIG1lbWJlciB2aW9sYXRpb24gZm9yICVwTSBwb3J0dmVjICV4XG4i LAotCQkJCSAgICBlbnRyeS5tYWMsIGVudHJ5LnBvcnR2ZWMpOwotCQljaGlwLT5wb3J0c1tlbnRy eS5wb3J0dmVjXS5hdHVfbWVtYmVyX3Zpb2xhdGlvbisrOworCQkJCSAgICAiQVRVIG1lbWJlciB2 aW9sYXRpb24gZm9yICVwTSBwb3J0dmVjICV4IHNwaWQgJWRcbiIsCisJCQkJICAgIGVudHJ5Lm1h YywgZW50cnkucG9ydHZlYywgc3BpZCk7CisJCWNoaXAtPnBvcnRzW3NwaWRdLmF0dV9tZW1iZXJf dmlvbGF0aW9uKys7CiAJfQogCiAJaWYgKHZhbCAmIE1WODhFNlhYWF9HMV9BVFVfT1BfTUlTU19W SU9MQVRJT04pIHsKIAkJZGV2X2Vycl9yYXRlbGltaXRlZChjaGlwLT5kZXYsCi0JCQkJICAgICJB VFUgbWlzcyB2aW9sYXRpb24gZm9yICVwTSBwb3J0dmVjICV4XG4iLAotCQkJCSAgICBlbnRyeS5t YWMsIGVudHJ5LnBvcnR2ZWMpOwotCQljaGlwLT5wb3J0c1tlbnRyeS5wb3J0dmVjXS5hdHVfbWlz c192aW9sYXRpb24rKzsKKwkJCQkgICAgIkFUVSBtaXNzIHZpb2xhdGlvbiBmb3IgJXBNIHBvcnR2 ZWMgJXggc3BpZCAlZFxuIiwKKwkJCQkgICAgZW50cnkubWFjLCBlbnRyeS5wb3J0dmVjLCBzcGlk KTsKKwkJY2hpcC0+cG9ydHNbc3BpZF0uYXR1X21pc3NfdmlvbGF0aW9uKys7CiAJfQogCiAJaWYg KHZhbCAmIE1WODhFNlhYWF9HMV9BVFVfT1BfRlVMTF9WSU9MQVRJT04pIHsKIAkJZGV2X2Vycl9y YXRlbGltaXRlZChjaGlwLT5kZXYsCi0JCQkJICAgICJBVFUgZnVsbCB2aW9sYXRpb24gZm9yICVw TSBwb3J0dmVjICV4XG4iLAotCQkJCSAgICBlbnRyeS5tYWMsIGVudHJ5LnBvcnR2ZWMpOwotCQlj aGlwLT5wb3J0c1tlbnRyeS5wb3J0dmVjXS5hdHVfZnVsbF92aW9sYXRpb24rKzsKKwkJCQkgICAg IkFUVSBmdWxsIHZpb2xhdGlvbiBmb3IgJXBNIHBvcnR2ZWMgJXggc3BpZCAlZFxuIiwKKwkJCQkg ICAgZW50cnkubWFjLCBlbnRyeS5wb3J0dmVjLCBzcGlkKTsKKwkJY2hpcC0+cG9ydHNbc3BpZF0u YXR1X2Z1bGxfdmlvbGF0aW9uKys7CiAJfQogCW11dGV4X3VubG9jaygmY2hpcC0+cmVnX2xvY2sp OwogCi0tIAoyLjIwLjEKCgpGcm9tIDljYjhiYWE4ZTBjNzc5OGIxNjhkMjU2ZjEwNTZkZDU1Nzhm MmJiNjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJ1bmRvbmcgR2UgPHJkb25nLmdl QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAyIEZlYiAyMDE5IDE0OjI5OjM1ICswMDAwClN1YmplY3Q6 IFtQQVRDSCAwOC8xOF0gbmV0OiBkc2E6IHNsYXZlOiBEb24ndCBwcm9wYWdhdGUgZmxhZyBjaGFu Z2VzIG9uIGRvd24KIHNsYXZlIGludGVyZmFjZXMKClsgVXBzdHJlYW0gY29tbWl0IDE3YWI0ZjYx YjhjZDZmOWMzOGU5ZDBiOTM1ZDg2ZDczYjVkMGQyYjUgXQoKVGhlIHVuYmFsYW5jZSBvZiBtYXN0 ZXIncyBwcm9taXNjdWl0eSBvciBhbGxtdWx0aSB3aWxsIGhhcHBlbiBhZnRlciBpZmRvd24KYW5k IGlmdXAgYSBzbGF2ZSBpbnRlcmZhY2Ugd2hpY2ggaXMgaW4gYSBicmlkZ2UuCgpXaGVuIHdlIGlm ZG93biBhIHNsYXZlIGludGVyZmFjZSAsIGJvdGggdGhlICdkc2Ffc2xhdmVfY2xvc2UnIGFuZAon ZHNhX3NsYXZlX2NoYW5nZV9yeF9mbGFncycgd2lsbCBjbGVhciB0aGUgbWFzdGVyJ3MgZmxhZ3Mu IFRoZSBmbGFncwpvZiBtYXN0ZXIgd2lsbCBiZSBkZWNyZWFzZSB0d2ljZS4KSW4gdGhlIG90aGVy IGhhbmQsIGlmIHdlIGlmdXAgdGhlIHNsYXZlIGludGVyZmFjZSBhZ2Fpbiwgc2luY2UgdGhlCnNs YXZlJ3MgZmxhZ3Mgd2VyZSBjbGVhcmVkIHRoZSAnZHNhX3NsYXZlX29wZW4nIHdvbid0IHNldCB0 aGUgbWFzdGVyJ3MKZmxhZywgb25seSAnZHNhX3NsYXZlX2NoYW5nZV9yeF9mbGFncycgdGhhdCB0 cmlnZ2VyZWQgYnkgJ2JyX2FkZF9pZicKd2lsbCBzZXQgdGhlIG1hc3RlcidzIGZsYWdzLiBUaGUg ZmxhZ3Mgb2YgbWFzdGVyIGlzIGluY3JlYXNlIG9uY2UuCgpPbmx5IHByb3BhZ2F0aW5nIGZsYWcg Y2hhbmdlcyB3aGVuIGEgc2xhdmUgaW50ZXJmYWNlIGlzIHVwIG1ha2VzCnN1cmUgdGhpcyBkb2Vz IG5vdCBoYXBwZW4uIFRoZSAndmxhbl9kZXZfY2hhbmdlX3J4X2ZsYWdzJyBoYWQgdGhlCnNhbWUg cHJvYmxlbSBhbmQgd2FzIGZpeGVkLCBhbmQgY2hhbmdlcyBoZXJlIGZvbGxvd3MgdGhhdCBmaXgu CgpGaXhlczogOTFkYTExZjg3MGYwICgibmV0OiBEaXN0cmlidXRlZCBTd2l0Y2ggQXJjaGl0ZWN0 dXJlIHByb3RvY29sIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBSdW5kb25nIEdlIDxyZG9uZy5n ZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvZHNhL3NsYXZlLmMgfCAxMyArKysrKysrKy0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25l dC9kc2Evc2xhdmUuYyBiL25ldC9kc2Evc2xhdmUuYwppbmRleCBhZTRkZTg3NjE5N2QuLmIzOTcy MGQwOTk1ZCAxMDA2NDQKLS0tIGEvbmV0L2RzYS9zbGF2ZS5jCisrKyBiL25ldC9kc2Evc2xhdmUu YwpAQCAtMTQwLDExICsxNDAsMTQgQEAgc3RhdGljIGludCBkc2Ffc2xhdmVfY2xvc2Uoc3RydWN0 IG5ldF9kZXZpY2UgKmRldikKIHN0YXRpYyB2b2lkIGRzYV9zbGF2ZV9jaGFuZ2VfcnhfZmxhZ3Mo c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IGNoYW5nZSkKIHsKIAlzdHJ1Y3QgbmV0X2Rldmlj ZSAqbWFzdGVyID0gZHNhX3NsYXZlX3RvX21hc3RlcihkZXYpOwotCi0JaWYgKGNoYW5nZSAmIElG Rl9BTExNVUxUSSkKLQkJZGV2X3NldF9hbGxtdWx0aShtYXN0ZXIsIGRldi0+ZmxhZ3MgJiBJRkZf QUxMTVVMVEkgPyAxIDogLTEpOwotCWlmIChjaGFuZ2UgJiBJRkZfUFJPTUlTQykKLQkJZGV2X3Nl dF9wcm9taXNjdWl0eShtYXN0ZXIsIGRldi0+ZmxhZ3MgJiBJRkZfUFJPTUlTQyA/IDEgOiAtMSk7 CisJaWYgKGRldi0+ZmxhZ3MgJiBJRkZfVVApIHsKKwkJaWYgKGNoYW5nZSAmIElGRl9BTExNVUxU SSkKKwkJCWRldl9zZXRfYWxsbXVsdGkobWFzdGVyLAorCQkJCQkgZGV2LT5mbGFncyAmIElGRl9B TExNVUxUSSA/IDEgOiAtMSk7CisJCWlmIChjaGFuZ2UgJiBJRkZfUFJPTUlTQykKKwkJCWRldl9z ZXRfcHJvbWlzY3VpdHkobWFzdGVyLAorCQkJCQkgICAgZGV2LT5mbGFncyAmIElGRl9QUk9NSVND ID8gMSA6IC0xKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGRzYV9zbGF2ZV9zZXRfcnhfbW9kZShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2KQotLSAKMi4yMC4xCgoKRnJvbSA1ZjY0NTQ0NzMwZGFlYWJi NGI1NjgzY2EzODhiYzRlYzhkZjcwZjk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzIERlYyAyMDE4 IDIyOjE0OjA0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwOS8xOF0gbmV0L21seDVlOiBGb3JjZSBD SEVDS1NVTV9VTk5FQ0VTU0FSWSBmb3Igc2hvcnQKIGV0aGVybmV0IGZyYW1lcwoKWyBVcHN0cmVh bSBjb21taXQgZThjOGI1M2NjYWZmNTY4ZmVmNGMxM2E2Y2NhZjA4YmYyNDFhYTAxYSBdCgpXaGVu IGFuIGV0aGVybmV0IGZyYW1lIGlzIHBhZGRlZCB0byBtZWV0IHRoZSBtaW5pbXVtIGV0aGVybmV0 IGZyYW1lCnNpemUsIHRoZSBwYWRkaW5nIG9jdGV0cyBhcmUgbm90IGNvdmVyZWQgYnkgdGhlIGhh cmR3YXJlIGNoZWNrc3VtLgpGb3J0dW5hdGVseSB0aGUgcGFkZGluZyBvY3RldHMgYXJlIHVzdWFs bHkgemVybydzLCB3aGljaCBkb24ndCBhZmZlY3QKY2hlY2tzdW0uIEhvd2V2ZXIsIHdlIGhhdmUg YSBzd2l0Y2ggd2hpY2ggcGFkcyBub24temVybyBvY3RldHMsIHRoaXMKY2F1c2VzIGtlcm5lbCBo YXJkd2FyZSBjaGVja3N1bSBmYXVsdCByZXBlYXRlZGx5LgoKUHJpb3IgdG86CmNvbW1pdCAnODgw NzhkOThkMWJiICgibmV0OiBwc2tiX3RyaW1fcmNzdW0oKSBhbmQgQ0hFQ0tTVU1fQ09NUExFVEUg Li4uIiknCnNrYiBjaGVja3N1bSB3YXMgZm9yY2VkIHRvIGJlIENIRUNLU1VNX05PTkUgd2hlbiBw YWRkaW5nIGlzIGRldGVjdGVkLgpBZnRlciBpdCwgd2UgbmVlZCB0byBrZWVwIHNrYi0+Y3N1bSB1 cGRhdGVkLCBsaWtlIHdoYXQgd2UgZG8gZm9yIFJYRkNTLgpIb3dldmVyLCBmaXhpbmcgdXAgQ0hF Q0tTVU1fQ09NUExFVEUgcmVxdWlyZXMgdG8gdmVyaWZ5IGFuZCBwYXJzZSBJUApoZWFkZXJzLCBp dCBpcyBub3Qgd29ydGh5IHRoZSBlZmZvcnQgYXMgdGhlIHBhY2tldHMgYXJlIHNvIHNtYWxsIHRo YXQKQ0hFQ0tTVU1fQ09NUExFVEUgY2FuJ3Qgc2F2ZSBhbnl0aGluZy4KCkZpeGVzOiA4ODA3OGQ5 OGQxYmIgKCJuZXQ6IHBza2JfdHJpbV9yY3N1bSgpIGFuZCBDSEVDS1NVTV9DT01QTEVURSBhcmUg ZnJpZW5kcyIpLApDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogVGFy aXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpDYzogTmlrb2xhIENpcHJpY2ggPG5pa29s YS5jaXByaWNoQGxpbnV4Ym94LmN6PgpTaWduZWQtb2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndh bmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBt ZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2VuX3J4LmMgfCAxNCArKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZW5fcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9y eC5jCmluZGV4IDgyNjJmMDkzZmVjNC4uZDNmNzk0ZDRmYjk2IDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYwpAQCAtNzA3LDYgKzcwNyw4IEBA IHN0YXRpYyB1MzIgbWx4NWVfZ2V0X2Zjcyhjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXJl dHVybiBfX2dldF91bmFsaWduZWRfY3B1MzIoZmNzX2J5dGVzKTsKIH0KIAorI2RlZmluZSBzaG9y dF9mcmFtZShzaXplKSAoKHNpemUpIDw9IEVUSF9aTEVOICsgRVRIX0ZDU19MRU4pCisKIHN0YXRp YyBpbmxpbmUgdm9pZCBtbHg1ZV9oYW5kbGVfY3N1bShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2 LAogCQkJCSAgICAgc3RydWN0IG1seDVfY3FlNjQgKmNxZSwKIAkJCQkgICAgIHN0cnVjdCBtbHg1 ZV9ycSAqcnEsCkBAIC03MjUsNiArNzI3LDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZV9o YW5kbGVfY3N1bShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCQlyZXR1cm47CiAJfQogCisJ LyogQ1FFIGNzdW0gZG9lc24ndCBjb3ZlciBwYWRkaW5nIG9jdGV0cyBpbiBzaG9ydCBldGhlcm5l dAorCSAqIGZyYW1lcy4gQW5kIHRoZSBwYWQgZmllbGQgaXMgYXBwZW5kZWQgcHJpb3IgdG8gY2Fs Y3VsYXRpbmcKKwkgKiBhbmQgYXBwZW5kaW5nIHRoZSBGQ1MgZmllbGQuCisJICoKKwkgKiBEZXRl Y3RpbmcgdGhlc2UgcGFkZGVkIGZyYW1lcyByZXF1aXJlcyB0byB2ZXJpZnkgYW5kIHBhcnNlCisJ ICogSVAgaGVhZGVycywgc28gd2Ugc2ltcGx5IGZvcmNlIGFsbCB0aG9zZSBzbWFsbCBmcmFtZXMg dG8gYmUKKwkgKiBDSEVDS1NVTV9VTk5FQ0VTU0FSWSBldmVuIGlmIHRoZXkgYXJlIG5vdCBwYWRk ZWQuCisJICovCisJaWYgKHNob3J0X2ZyYW1lKHNrYi0+bGVuKSkKKwkJZ290byBjc3VtX3VubmVj ZXNzYXJ5OworCiAJaWYgKGxpa2VseShpc19sYXN0X2V0aGVydHlwZV9pcChza2IsICZuZXR3b3Jr X2RlcHRoKSkpIHsKIAkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9DT01QTEVURTsKIAkJc2ti LT5jc3VtID0gY3N1bV91bmZvbGQoKF9fZm9yY2UgX19zdW0xNiljcWUtPmNoZWNrX3N1bSk7CkBA IC03NDQsNiArNzU3LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIG1seDVlX2hhbmRsZV9jc3VtKHN0 cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJCXJldHVybjsKIAl9CiAKK2NzdW1fdW5uZWNlc3Nh cnk6CiAJaWYgKGxpa2VseSgoY3FlLT5oZHNfaXBfZXh0ICYgQ1FFX0wzX09LKSAmJgogCQkgICAo Y3FlLT5oZHNfaXBfZXh0ICYgQ1FFX0w0X09LKSkpIHsKIAkJc2tiLT5pcF9zdW1tZWQgPSBDSEVD S1NVTV9VTk5FQ0VTU0FSWTsKLS0gCjIuMjAuMQoKCkZyb20gYjk3MjU1Y2FjOGVmZGYxODI0MzFl ODY4NDU3NTJjN2YzZWFiOGZjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlh biBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMSBGZWIgMjAxOSAx MzoyMzozOCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMThdIG5ldDogc3lzdGVtcG9ydDogRml4 IFdvTCB3aXRoIHBhc3N3b3JkIGFmdGVyIGRlZXAgc2xlZXAKClsgVXBzdHJlYW0gY29tbWl0IDhk ZmI4ZDJjY2ViNzZiNzRhZDViNThjYzY1Yzc1OTk0MzI5YjRkNWUgXQoKQnJvYWRjb20gU1RCIGNo aXBzIHN1cHBvcnQgYSBkZWVwIHNsZWVwIG1vZGUgd2hlcmUgYWxsIHJlZ2lzdGVyCmNvbnRlbnRz IGFyZSBsb3N0LiBCZWNhdXNlIHdlIHdlcmUgc3Rhc2hpbmcgdGhlIE1hZ2ljUGFja2V0IHBhc3N3 b3JkCmludG8gc29tZSBvZiB0aGVzZSByZWdpc3RlcnMgYSBzdXNwZW5kIGludG8gdGhhdCBkZWVw IHNsZWVwIHRoZW4gYQpyZXN1bXB0aW9uIHdvdWxkIG5vdCBsZWFkIHRvIGJlaW5nIGFibGUgdG8g d2FrZS11cCBmcm9tIE1hZ2ljUGFja2V0IHdpdGgKcGFzc3dvcmQgYWdhaW4uCgpGaXggdGhpcyBi eSBrZWVwaW5nIGEgc29mdHdhcmUgY29weSBvZiB0aGUgcGFzc3dvcmQgYW5kIHByb2dyYW0gaXQK ZHVyaW5nIHN1c3BlbmQuCgpGaXhlczogODNlODJmNGM3MDZiICgibmV0OiBzeXN0ZW1wb3J0OiBh ZGQgV2FrZS1vbi1MQU4gc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkg PGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNt c3lzcG9ydC5jIHwgMjUgKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRj b20vYmNtc3lzcG9ydC5jCmluZGV4IDdiNjg1OWU0OTI0ZS4uZmMxNmIyYjBkMGU5IDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCkBAIC01MTksNyArNTE5LDYg QEAgc3RhdGljIHZvaWQgYmNtX3N5c3BvcnRfZ2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 LAogCQkJCXN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbCkKIHsKIAlzdHJ1Y3QgYmNtX3N5c3Bv cnRfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7Ci0JdTMyIHJlZzsKIAogCXdvbC0+c3Vw cG9ydGVkID0gV0FLRV9NQUdJQyB8IFdBS0VfTUFHSUNTRUNVUkUgfCBXQUtFX0ZJTFRFUjsKIAl3 b2wtPndvbG9wdHMgPSBwcml2LT53b2xvcHRzOwpAQCAtNTI3LDExICs1MjYsNyBAQCBzdGF0aWMg dm9pZCBiY21fc3lzcG9ydF9nZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaWYgKCEo cHJpdi0+d29sb3B0cyAmIFdBS0VfTUFHSUNTRUNVUkUpKQogCQlyZXR1cm47CiAKLQkvKiBSZXR1 cm4gdGhlIHByb2dyYW1tZWQgU2VjdXJlT24gcGFzc3dvcmQgKi8KLQlyZWcgPSB1bWFjX3JlYWRs KHByaXYsIFVNQUNfUFNXX01TKTsKLQlwdXRfdW5hbGlnbmVkX2JlMTYocmVnLCAmd29sLT5zb3Bh c3NbMF0pOwotCXJlZyA9IHVtYWNfcmVhZGwocHJpdiwgVU1BQ19QU1dfTFMpOwotCXB1dF91bmFs aWduZWRfYmUzMihyZWcsICZ3b2wtPnNvcGFzc1syXSk7CisJbWVtY3B5KHdvbC0+c29wYXNzLCBw cml2LT5zb3Bhc3MsIHNpemVvZihwcml2LT5zb3Bhc3MpKTsKIH0KIAogc3RhdGljIGludCBiY21f c3lzcG9ydF9zZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCkBAIC01NDcsMTMgKzU0Miw4 IEBAIHN0YXRpYyBpbnQgYmNtX3N5c3BvcnRfc2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 LAogCWlmICh3b2wtPndvbG9wdHMgJiB+c3VwcG9ydGVkKQogCQlyZXR1cm4gLUVJTlZBTDsKIAot CS8qIFByb2dyYW0gdGhlIFNlY3VyZU9uIHBhc3N3b3JkICovCi0JaWYgKHdvbC0+d29sb3B0cyAm IFdBS0VfTUFHSUNTRUNVUkUpIHsKLQkJdW1hY193cml0ZWwocHJpdiwgZ2V0X3VuYWxpZ25lZF9i ZTE2KCZ3b2wtPnNvcGFzc1swXSksCi0JCQkgICAgVU1BQ19QU1dfTVMpOwotCQl1bWFjX3dyaXRl bChwcml2LCBnZXRfdW5hbGlnbmVkX2JlMzIoJndvbC0+c29wYXNzWzJdKSwKLQkJCSAgICBVTUFD X1BTV19MUyk7Ci0JfQorCWlmICh3b2wtPndvbG9wdHMgJiBXQUtFX01BR0lDU0VDVVJFKQorCQlt ZW1jcHkocHJpdi0+c29wYXNzLCB3b2wtPnNvcGFzcywgc2l6ZW9mKHByaXYtPnNvcGFzcykpOwog CiAJLyogRmxhZyB0aGUgZGV2aWNlIGFuZCByZWxldmFudCBJUlEgYXMgd2FrZXVwIGNhcGFibGUg Ki8KIAlpZiAod29sLT53b2xvcHRzKSB7CkBAIC0yNTg4LDEzICsyNTc4LDE4IEBAIHN0YXRpYyBp bnQgYmNtX3N5c3BvcnRfc3VzcGVuZF90b193b2woc3RydWN0IGJjbV9zeXNwb3J0X3ByaXYgKnBy aXYpCiAJdW5zaWduZWQgaW50IGluZGV4LCBpID0gMDsKIAl1MzIgcmVnOwogCi0JLyogUGFzc3dv cmQgaGFzIGFscmVhZHkgYmVlbiBwcm9ncmFtbWVkICovCiAJcmVnID0gdW1hY19yZWFkbChwcml2 LCBVTUFDX01QRF9DVFJMKTsKIAlpZiAocHJpdi0+d29sb3B0cyAmIChXQUtFX01BR0lDIHwgV0FL RV9NQUdJQ1NFQ1VSRSkpCiAJCXJlZyB8PSBNUERfRU47CiAJcmVnICY9IH5QU1dfRU47Ci0JaWYg KHByaXYtPndvbG9wdHMgJiBXQUtFX01BR0lDU0VDVVJFKQorCWlmIChwcml2LT53b2xvcHRzICYg V0FLRV9NQUdJQ1NFQ1VSRSkgeworCQkvKiBQcm9ncmFtIHRoZSBTZWN1cmVPbiBwYXNzd29yZCAq LworCQl1bWFjX3dyaXRlbChwcml2LCBnZXRfdW5hbGlnbmVkX2JlMTYoJnByaXYtPnNvcGFzc1sw XSksCisJCQkgICAgVU1BQ19QU1dfTVMpOworCQl1bWFjX3dyaXRlbChwcml2LCBnZXRfdW5hbGln bmVkX2JlMzIoJnByaXYtPnNvcGFzc1syXSksCisJCQkgICAgVU1BQ19QU1dfTFMpOwogCQlyZWcg fD0gUFNXX0VOOworCX0KIAl1bWFjX3dyaXRlbChwcml2LCByZWcsIFVNQUNfTVBEX0NUUkwpOwog CiAJaWYgKHByaXYtPndvbG9wdHMgJiBXQUtFX0ZJTFRFUikgewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oCmluZGV4IDA0NmM2YzFkOTdmZC4uMzZlMGFkZjVjOWI4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmgK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oCkBAIC0xMiw2 ICsxMiw3IEBACiAjZGVmaW5lIF9fQkNNX1NZU1BPUlRfSAogCiAjaW5jbHVkZSA8bGludXgvYml0 bWFwLmg+CisjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lmX3Zs YW4uaD4KICNpbmNsdWRlIDxsaW51eC9uZXRfZGltLmg+CiAKQEAgLTc3Niw2ICs3NzcsNyBAQCBz dHJ1Y3QgYmNtX3N5c3BvcnRfcHJpdiB7CiAJdW5zaWduZWQgaW50CQljcmNfZndkOjE7CiAJdTE2 CQkJcmV2OwogCXUzMgkJCXdvbG9wdHM7CisJdTgJCQlzb3Bhc3NbU09QQVNTX01BWF07CiAJdW5z aWduZWQgaW50CQl3b2xfaXJxX2Rpc2FibGVkOjE7CiAKIAkvKiBNSUIgcmVsYXRlZCBmaWVsZHMg Ki8KLS0gCjIuMjAuMQoKCkZyb20gMjkwMzlkM2ZjZjkwMWYxMmZmYTFhY2U2Zjk0YzBiMzU0ZmE1 ZjM3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpl dEBnb29nbGUuY29tPgpEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDA4OjQ3OjEwIC0wODAwClN1Ympl Y3Q6IFtQQVRDSCAxMS8xOF0gcmRzOiBmaXggcmVmY291bnQgYnVnIGluIHJkc19zb2NrX2FkZHJl ZgoKWyBVcHN0cmVhbSBjb21taXQgNmZhMTlmNTYzN2E2YzIyYmMwOTk5NTk2YmNjODNiZGNhYzhh NGZhNiBdCgpzeXpib3Qgd2FzIGFibGUgdG8gY2F0Y2ggYSBidWcgaW4gcmRzIFsxXQoKVGhlIGlz c3VlIGhlcmUgaXMgdGhhdCB0aGUgc29ja2V0IG1pZ2h0IGJlIGZvdW5kIGluIGEgaGFzaCB0YWJs ZQpidXQgdGhhdCBpdHMgcmVmY291bnQgaGFzIGFscmVhZHkgYmUgc2V0IHRvIDAgYnkgYW5vdGhl ciBjcHUuCgpXZSBuZWVkIHRvIHVzZSByZWZjb3VudF9pbmNfbm90X3plcm8oKSB0byBiZSBzYWZl IGhlcmUuCgpbMV0KCnJlZmNvdW50X3Q6IGluY3JlbWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS4K V0FSTklORzogQ1BVOiAxIFBJRDogMjMxMjkgYXQgbGliL3JlZmNvdW50LmM6MTUzIHJlZmNvdW50 X2luY19jaGVja2VkIGxpYi9yZWZjb3VudC5jOjE1MyBbaW5saW5lXQpXQVJOSU5HOiBDUFU6IDEg UElEOiAyMzEyOSBhdCBsaWIvcmVmY291bnQuYzoxNTMgcmVmY291bnRfaW5jX2NoZWNrZWQrMHg2 MS8weDcwIGxpYi9yZWZjb3VudC5jOjE1MQpLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogcGFu aWNfb25fd2FybiBzZXQgLi4uCkNQVTogMSBQSUQ6IDIzMTI5IENvbW06IHN5ei1leGVjdXRvcjMg Tm90IHRhaW50ZWQgNS4wLjAtcmM0KyAjNTMKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBD b21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIw MTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVd CiBkdW1wX3N0YWNrKzB4MWRiLzB4MmQwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBwYW5pYysweDJj Yi8weDY1YyBrZXJuZWwvcGFuaWMuYzoyMTQKIF9fd2Fybi5jb2xkKzB4MjAvMHg0OCBrZXJuZWwv cGFuaWMuYzo1NzEKIHJlcG9ydF9idWcrMHgyNjMvMHgyYjAgbGliL2J1Zy5jOjE4NgogZml4dXBf YnVnIGFyY2gveDg2L2tlcm5lbC90cmFwcy5jOjE3OCBbaW5saW5lXQogZml4dXBfYnVnIGFyY2gv eDg2L2tlcm5lbC90cmFwcy5jOjE3MyBbaW5saW5lXQogZG9fZXJyb3JfdHJhcCsweDExYi8weDIw MCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoyNzEKIGRvX2ludmFsaWRfb3ArMHgzNy8weDUwIGFy Y2gveDg2L2tlcm5lbC90cmFwcy5jOjI5MAogaW52YWxpZF9vcCsweDE0LzB4MjAgYXJjaC94ODYv ZW50cnkvZW50cnlfNjQuUzo5NzMKUklQOiAwMDEwOnJlZmNvdW50X2luY19jaGVja2VkIGxpYi9y ZWZjb3VudC5jOjE1MyBbaW5saW5lXQpSSVA6IDAwMTA6cmVmY291bnRfaW5jX2NoZWNrZWQrMHg2 MS8weDcwIGxpYi9yZWZjb3VudC5jOjE1MQpDb2RlOiAxZCA1MSA2MyBjOCAwNiAzMSBmZiA4OSBk ZSBlOCBlYiAxYiBmMiBmZCA4NCBkYiA3NSBkZCBlOCBhMiAxYSBmMiBmZCA0OCBjNyBjNyA2MCA5 ZiA4MSA4OCBjNiAwNSAzMSA2MyBjOCAwNiAwMSBlOCBhZiA2NSBiYiBmZCA8MGY+IDBiIGViIGMx IDkwIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDU1IDQ4IDg5IGU1IDQxIDU0IDQ5ClJT UDogMDAxODpmZmZmODg4MGEwY2JmMWU4IEVGTEFHUzogMDAwMTAyODIKUkFYOiAwMDAwMDAwMDAw MDAwMDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZjOTAwMDYxMTMwMDAKUkRYOiAw MDAwMDAwMDAwMDEwNDdkIFJTSTogZmZmZmZmZmY4MTY4NTc3NiBSREk6IDAwMDAwMDAwMDAwMDAw MDUKUkJQOiBmZmZmODg4MGEwY2JmMWY4IFIwODogZmZmZjg4ODA5N2M5ZTEwMCBSMDk6IGZmZmZl ZDEwMTVjZTUwMjEKUjEwOiBmZmZmZWQxMDE1Y2U1MDIwIFIxMTogZmZmZjg4ODBhZTcyODEwNyBS MTI6IGZmZmY4ODgwNzIzYzIwYzAKUjEzOiBmZmZmODg4MDcyM2MyNGIwIFIxNDogZGZmZmZjMDAw MDAwMDAwMCBSMTU6IGZmZmZlZDEwMTQxOTdlNjQKIHNvY2tfaG9sZCBpbmNsdWRlL25ldC9zb2Nr Lmg6NjQ3IFtpbmxpbmVdCiByZHNfc29ja19hZGRyZWYrMHgxOS8weDIwIG5ldC9yZHMvYWZfcmRz LmM6Njc1CiByZHNfZmluZF9ib3VuZCsweDk3Yy8weDEwODAgbmV0L3Jkcy9iaW5kLmM6ODIKIHJk c19yZWN2X2luY29taW5nKzB4M2JlLzB4MTQzMCBuZXQvcmRzL3JlY3YuYzozNjIKIHJkc19sb29w X3htaXQrMHhmMy8weDJhMCBuZXQvcmRzL2xvb3AuYzo5NgogcmRzX3NlbmRfeG1pdCsweDEzNTUv MHgyYTEwIG5ldC9yZHMvc2VuZC5jOjM1NQogcmRzX3NlbmRtc2crMHgzMjNjLzB4NDRlMCBuZXQv cmRzL3NlbmQuYzoxMzY4CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyMSBbaW5s aW5lXQogc29ja19zZW5kbXNnKzB4ZGQvMHgxMzAgbmV0L3NvY2tldC5jOjYzMQogX19zeXNfc2Vu ZHRvKzB4Mzg3LzB4NWYwIG5ldC9zb2NrZXQuYzoxNzg4CiBfX2RvX3N5c19zZW5kdG8gbmV0L3Nv Y2tldC5jOjE4MDAgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmR0byBuZXQvc29ja2V0LmM6MTc5NiBb aW5saW5lXQogX194NjRfc3lzX3NlbmR0bysweGUxLzB4MWEwIG5ldC9zb2NrZXQuYzoxNzk2CiBk b19zeXNjYWxsXzY0KzB4MWEzLzB4ODAwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NTgwODkK Q29kZTogNmQgYjcgZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAg NDggODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMg OGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyAzYiBiNyBmYiBmZiBj MyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmYzI2NmRmOGM3OCBF RkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJjClJBWDogZmZmZmZmZmZm ZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDYgUkNYOiAwMDAwMDAwMDAwNDU4MDg5ClJEWDog MDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjA0YjNmZmYgUkRJOiAwMDAwMDAwMDAwMDAw MDA1ClJCUDogMDAwMDAwMDAwMDczYmYwMCBSMDg6IDAwMDAwMDAwMjAyYjQwMDAgUjA5OiAwMDAw MDAwMDAwMDAwMDEwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYg UjEyOiAwMDAwN2ZjMjY2ZGY5NmQ0ClIxMzogMDAwMDAwMDAwMDRjNTZlNCBSMTQ6IDAwMDAwMDAw MDA0ZDk0YTggUjE1OiAwMDAwMDAwMGZmZmZmZmZmCgpGaXhlczogY2M0ZGZiN2Y3MGEzICgicmRz OiBmaXggdHdvIFJDVSByZWxhdGVkIHByb2JsZW1zIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJA Z29vZ2xlZ3JvdXBzLmNvbT4KQ2M6IFNvd21pbmkgVmFyYWRoYW4gPHNvd21pbmkudmFyYWRoYW5A b3JhY2xlLmNvbT4KQ2M6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50b3NoLnNoaWxpbWthckBvcmFj bGUuY29tPgpDYzogcmRzLWRldmVsQG9zcy5vcmFjbGUuY29tCkNjOiBDb25nIFdhbmcgPHhpeW91 Lndhbmdjb25nQGdtYWlsLmNvbT4KQWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50b3No LnNoaWxpbWthckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jkcy9iaW5kLmMgfCA2ICsrKy0tLQogMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvcmRzL2JpbmQuYyBiL25ldC9yZHMvYmluZC5jCmluZGV4IDc2MmQyYzY3ODhhMy4uMTdjOWQ5 ZjBjODQ4IDEwMDY0NAotLS0gYS9uZXQvcmRzL2JpbmQuYworKysgYi9uZXQvcmRzL2JpbmQuYwpA QCAtNzgsMTAgKzc4LDEwIEBAIHN0cnVjdCByZHNfc29jayAqcmRzX2ZpbmRfYm91bmQoY29uc3Qg c3RydWN0IGluNl9hZGRyICphZGRyLCBfX2JlMTYgcG9ydCwKIAlfX3Jkc19jcmVhdGVfYmluZF9r ZXkoa2V5LCBhZGRyLCBwb3J0LCBzY29wZV9pZCk7CiAJcmN1X3JlYWRfbG9jaygpOwogCXJzID0g cmhhc2h0YWJsZV9sb29rdXAoJmJpbmRfaGFzaF90YWJsZSwga2V5LCBodF9wYXJtcyk7Ci0JaWYg KHJzICYmICFzb2NrX2ZsYWcocmRzX3JzX3RvX3NrKHJzKSwgU09DS19ERUFEKSkKLQkJcmRzX3Nv Y2tfYWRkcmVmKHJzKTsKLQllbHNlCisJaWYgKHJzICYmIChzb2NrX2ZsYWcocmRzX3JzX3RvX3Nr KHJzKSwgU09DS19ERUFEKSB8fAorCQkgICAhcmVmY291bnRfaW5jX25vdF96ZXJvKCZyZHNfcnNf dG9fc2socnMpLT5za19yZWZjbnQpKSkKIAkJcnMgPSBOVUxMOworCiAJcmN1X3JlYWRfdW5sb2Nr KCk7CiAKIAlyZHNkZWJ1ZygicmV0dXJuaW5nIHJzICVwIGZvciAlcEk2YzoldVxuIiwgcnMsIGFk ZHIsCi0tIAoyLjIwLjEKCgpGcm9tIGM4ZWNmNTI3NDkxYWI5YWMwZTAxY2EzNDFkZjYxZmNkYzFi M2QzODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJ1c3NlbGwgS2luZyA8cm1rK2tl cm5lbEBhcm1saW51eC5vcmcudWs+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMTY6NTk6NDYgKzAw MDAKU3ViamVjdDogW1BBVENIIDEyLzE4XSBSZXZlcnQgIm5ldDogcGh5OiBtYXJ2ZWxsOiBhdm9p ZCBwYXVzZSBtb2RlIG9uCiBTR01JSS10by1Db3BwZXIgZm9yIDg4ZTE1MXgiCgpbIFVwc3RyZWFt IGNvbW1pdCBjMTRmMDdjNjIxMWNjMDFkNTJlZDkyY2NlMWZhZGU1MDcxYjhkMTk3IF0KClRoaXMg cmV2ZXJ0cyBjb21taXQgNjYyM2MwZmJhMTBlZjQ1YjY0Y2EyMTNhZDVkZWM5MjZmMzdmYTlhMC4K ClRoZSBvcmlnaW5hbCBkaWFnbm9zaXMgd2FzIGluY29ycmVjdDogaXQgYXBwZWFycyB0aGF0IHRo ZSBOSUMgaGFkClBIWSBwb2xsaW5nIG1vZGUgZW5hYmxlZCwgd2hpY2ggbWVhbnQgdGhhdCBpdCBv dmVyd3JvdGUgdGhlIFBIWXMKYWR2ZXJ0aXNlbWVudCByZWdpc3RlciBkdXJpbmcgbmVnb3RpYXRp b24uCgpTaWduZWQtb2ZmLWJ5OiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3Jn LnVrPgpUZXN0ZWQtYnk6IFlvbmdsb25nIExpdSA8bGl1eW9uZ2xvbmdAaHVhd2VpLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L3BoeS9tYXJ2ZWxsLmMgfCAxMiAtLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbWFydmVsbC5j IGIvZHJpdmVycy9uZXQvcGh5L21hcnZlbGwuYwppbmRleCBkNzFiZTE1YzhjNjkuLjczODEzYzdh ZmE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L21hcnZlbGwuYworKysgYi9kcml2ZXJz L25ldC9waHkvbWFydmVsbC5jCkBAIC04NjgsOCArODY4LDYgQEAgc3RhdGljIGludCBtODhlMTUx MF9jb25maWdfaW5pdChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCiAJLyogU0dNSUktdG8t Q29wcGVyIG1vZGUgaW5pdGlhbGl6YXRpb24gKi8KIAlpZiAocGh5ZGV2LT5pbnRlcmZhY2UgPT0g UEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJKSB7Ci0JCXUzMiBwYXVzZTsKLQogCQkvKiBTZWxlY3Qg cGFnZSAxOCAqLwogCQllcnIgPSBtYXJ2ZWxsX3NldF9wYWdlKHBoeWRldiwgMTgpOwogCQlpZiAo ZXJyIDwgMCkKQEAgLTg5MiwxNiArODkwLDYgQEAgc3RhdGljIGludCBtODhlMTUxMF9jb25maWdf aW5pdChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCQllcnIgPSBtYXJ2ZWxsX3NldF9wYWdl KHBoeWRldiwgTUlJX01BUlZFTExfQ09QUEVSX1BBR0UpOwogCQlpZiAoZXJyIDwgMCkKIAkJCXJl dHVybiBlcnI7Ci0KLQkJLyogVGhlcmUgYXBwZWFycyB0byBiZSBhIGJ1ZyBpbiB0aGUgODhlMTUx MiB3aGVuIHVzZWQgaW4KLQkJICogU0dNSUkgdG8gY29wcGVyIG1vZGUsIHdoZXJlIHRoZSBBTiBh ZHZlcnRpc2VtZW50IHJlZ2lzdGVyCi0JCSAqIGNsZWFycyB0aGUgcGF1c2UgYml0cyBlYWNoIHRp bWUgYSBuZWdvdGlhdGlvbiBvY2N1cnMuCi0JCSAqIFRoaXMgbWVhbnMgd2UgY2FuIG5ldmVyIGJl IHRydWVseSBzdXJlIHdoYXQgd2FzIGFkdmVydGlzZWQsCi0JCSAqIHNvIGRpc2FibGUgUGF1c2Ug c3VwcG9ydC4KLQkJICovCi0JCXBhdXNlID0gU1VQUE9SVEVEX1BhdXNlIHwgU1VQUE9SVEVEX0Fz eW1fUGF1c2U7Ci0JCXBoeWRldi0+c3VwcG9ydGVkICY9IH5wYXVzZTsKLQkJcGh5ZGV2LT5hZHZl cnRpc2luZyAmPSB+cGF1c2U7CiAJfQogCiAJcmV0dXJuIG04OGUxMzE4X2NvbmZpZ19pbml0KHBo eWRldik7Ci0tIAoyLjIwLjEKCgpGcm9tIDM2MGQ3MjVlMWZlYjExZmQyMjA1YmM3MDE0ZjAzMDY1 YjA5YmY4ZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1 bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDE5IDA4OjM2OjA2IC0wODAwClN1 YmplY3Q6IFtQQVRDSCAxMy8xOF0gcnhycGM6IGJhZCB1bmxvY2sgYmFsYW5jZSBpbiByeHJwY19y ZWN2bXNnCgpbIFVwc3RyZWFtIGNvbW1pdCA2ZGNlM2MyMGFjNDI5ZTdhNjUxZDcyOGUzNzU4NTMz NzBjNzk2ZThkIF0KCldoZW4gZWl0aGVyICJnb3RvIHdhaXRfaW50ZXJydXB0ZWQ7IiBvciAiZ290 byB3YWl0X2Vycm9yOyIKcGF0aHMgYXJlIHRha2VuLCBzb2NrZXQgbG9jayBoYXMgYWxyZWFkeSBi ZWVuIHJlbGVhc2VkLgoKVGhpcyBwYXRjaCBmaXhlcyBmb2xsb3dpbmcgc3l6Ym90IHNwbGF0IDoK CldBUk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKNS4wLjAtcmM0KyAjNTkgTm90 IHRhaW50ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzeXotZXhlY3V0 b3IyMjMvODI1NiBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrIChza19sb2NrLUFGX1JYUlBDKSBh dDoKWzxmZmZmZmZmZjg2NjUxMzUzPl0gcnhycGNfcmVjdm1zZysweDZkMy8weDMwOTkgbmV0L3J4 cnBjL3JlY3Ztc2cuYzo1OTgKYnV0IHRoZXJlIGFyZSBubyBtb3JlIGxvY2tzIHRvIHJlbGVhc2Uh CgpvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlzOgoxIGxvY2sgaGVsZCBi eSBzeXotZXhlY3V0b3IyMjMvODI1NjoKICMwOiAwMDAwMDAwMGZhOWVkMGY0IChzbG9jay1BRl9S WFJQQyl7Ky4uLn0sIGF0OiBzcGluX2xvY2tfYmggaW5jbHVkZS9saW51eC9zcGlubG9jay5oOjMz NCBbaW5saW5lXQogIzA6IDAwMDAwMDAwZmE5ZWQwZjQgKHNsb2NrLUFGX1JYUlBDKXsrLi4ufSwg YXQ6IHJlbGVhc2Vfc29jaysweDIwLzB4MWMwIG5ldC9jb3JlL3NvY2suYzoyNzk4CgpzdGFjayBi YWNrdHJhY2U6CkNQVTogMSBQSUQ6IDgyNTYgQ29tbTogc3l6LWV4ZWN1dG9yMjIzIE5vdCB0YWlu dGVkIDUuMC4wLXJjNCsgIzU5CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBF bmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwg VHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9z dGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5jOjExMwogcHJpbnRfdW5sb2NrX2ltYmFs YW5jZV9idWcga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjMzOTEgW2lubGluZV0KIHByaW50X3Vu bG9ja19pbWJhbGFuY2VfYnVnLmNvbGQrMHgxMTQvMHgxMjMga2VybmVsL2xvY2tpbmcvbG9ja2Rl cC5jOjMzNjgKIF9fbG9ja19yZWxlYXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNjAxIFtp bmxpbmVdCiBsb2NrX3JlbGVhc2UrMHg2N2UvMHhhMDAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5j OjM4NjAKIHNvY2tfcmVsZWFzZV9vd25lcnNoaXAgaW5jbHVkZS9uZXQvc29jay5oOjE0NzEgW2lu bGluZV0KIHJlbGVhc2Vfc29jaysweDE4My8weDFjMCBuZXQvY29yZS9zb2NrLmM6MjgwOAogcnhy cGNfcmVjdm1zZysweDZkMy8weDMwOTkgbmV0L3J4cnBjL3JlY3Ztc2cuYzo1OTgKIHNvY2tfcmVj dm1zZ19ub3NlYyBuZXQvc29ja2V0LmM6Nzk0IFtpbmxpbmVdCiBzb2NrX3JlY3Ztc2cgbmV0L3Nv Y2tldC5jOjgwMSBbaW5saW5lXQogc29ja19yZWN2bXNnKzB4ZDAvMHgxMTAgbmV0L3NvY2tldC5j Ojc5NwogX19zeXNfcmVjdmZyb20rMHgxZmYvMHgzNTAgbmV0L3NvY2tldC5jOjE4NDUKIF9fZG9f c3lzX3JlY3Zmcm9tIG5ldC9zb2NrZXQuYzoxODYzIFtpbmxpbmVdCiBfX3NlX3N5c19yZWN2ZnJv bSBuZXQvc29ja2V0LmM6MTg1OSBbaW5saW5lXQogX194NjRfc3lzX3JlY3Zmcm9tKzB4ZTEvMHgx YTAgbmV0L3NvY2tldC5jOjE4NTkKIGRvX3N5c2NhbGxfNjQrMHgxMDMvMHg2MTAgYXJjaC94ODYv ZW50cnkvY29tbW9uLmM6MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8w eGJlClJJUDogMDAzMzoweDQ0NjM3OQpDb2RlOiBlOCAyYyBiMyAwMiAwMCA0OCA4MyBjNCAxOCBj MyAwZiAxZiA4MCAwMCAwMCAwMCAwMCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBj YSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZm IGZmIDBmIDgzIDJiIDA5IGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDog MDAyYjowMDAwN2ZlNWRhODlmZDk4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAw MDAwMDAwMmQKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDZkYmMyOCBSQ1g6 IDAwMDAwMDAwMDA0NDYzNzkKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAw MDAwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAwMDAwNmRiYzIwIFIwODogMDAw MDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAw IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDA2ZGJjMmMKUjEzOiAwMDAwMDAw MDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDIwYzQ5YmE1ZTM1M2Y3Y2YKCkZp eGVzOiAyNDhmMjE5Y2I4YmMgKCJyeHJwYzogUmV3cml0ZSB0aGUgZGF0YSBhbmQgYWNrIGhhbmRs aW5nIGNvZGUiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5j b20+CkNjOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTog c3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9yeHJwYy9yZWN2bXNnLmMg fCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9yZWN2bXNnLmMgYi9uZXQvcnhycGMvcmVjdm1zZy5jCmlu ZGV4IDgxNmIxOWE3ODgwOS4uMDM3NGIwNjIzYzhiIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvcmVj dm1zZy5jCisrKyBiL25ldC9yeHJwYy9yZWN2bXNnLmMKQEAgLTU5Niw2ICs1OTYsNyBAQCBpbnQg cnhycGNfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNp emVfdCBsZW4sCiAJfQogZXJyb3Jfbm9fY2FsbDoKIAlyZWxlYXNlX3NvY2soJnJ4LT5zayk7Citl cnJvcl90cmFjZToKIAl0cmFjZV9yeHJwY19yZWN2bXNnKGNhbGwsIHJ4cnBjX3JlY3Ztc2dfcmV0 dXJuLCAwLCAwLCAwLCByZXQpOwogCXJldHVybiByZXQ7CiAKQEAgLTYwNCw3ICs2MDUsNyBAQCBp bnQgcnhycGNfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2cs IHNpemVfdCBsZW4sCiB3YWl0X2Vycm9yOgogCWZpbmlzaF93YWl0KHNrX3NsZWVwKCZyeC0+c2sp LCAmd2FpdCk7CiAJY2FsbCA9IE5VTEw7Ci0JZ290byBlcnJvcl9ub19jYWxsOworCWdvdG8gZXJy b3JfdHJhY2U7CiB9CiAKIC8qKgotLSAKMi4yMC4xCgoKRnJvbSBkMGI5YWQxMjQ1YzA4OTczMTcz ODQyNTMxOWRiOTA5YmJhMzRlZWViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4g TG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IE1vbiwgNCBGZWIgMjAxOSAwMzoyNzo1 OCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIHNjdHA6IGNoZWNrIGFuZCB1cGRhdGUgc3Ry ZWFtLT5vdXRfY3VyciB3aGVuIGFsbG9jYXRpbmcKIHN0cmVhbV9vdXQKClsgVXBzdHJlYW0gY29t bWl0IGNmZTRiZDdhMjU3ZjZkNmY4MWQzNDU4ZDhjOWQ5ZWM0OTU3NTM5ZTYgXQoKTm93IHdoZW4g dXNpbmcgc3RyZWFtIHJlY29uZmlnIHRvIGFkZCBvdXQgc3RyZWFtcywgc3RyZWFtLT5vdXQKd2ls bCBnZXQgcmUtYWxsb2NhdGVkLCBhbmQgYWxsIG9sZCBzdHJlYW1zJyBpbmZvcm1hdGlvbiB3aWxs CmJlIGNvcGllZCB0byB0aGUgbmV3IG9uZXMgYW5kIHRoZSBvbGQgb25lcyB3aWxsIGJlIGZyZWVk LgoKU28gd2l0aG91dCBzdHJlYW0tPm91dF9jdXJyIHVwZGF0ZWQsIG5leHQgdGltZSB3aGVuIHRy eWluZyB0bwpzZW5kIGZyb20gc3RyZWFtLT5vdXRfY3VyciBzdHJlYW0sIGEgcGFuaWMgd291bGQg YmUgY2F1c2VkLgoKVGhpcyBwYXRjaCBpcyB0byBjaGVjayBhbmQgdXBkYXRlIHN0cmVhbS0+b3V0 X2N1cnIgd2hlbgphbGxvY2F0aW5nIHN0cmVhbV9vdXQuCgp2MS0+djI6CiAgLSBkZWZpbmUgZmFf aW5kZXgoKSB0byBnZXQgZWxlbSBpbmRleCBmcm9tIHN0cmVhbS0+b3V0X2N1cnIuCnYyLT52MzoK ICAtIHJlcG9zdCB3aXRoIG5vIGNoYW5nZS4KCkZpeGVzOiA1YmJiYmUzMmE0MzEgKCJzY3RwOiBp bnRyb2R1Y2Ugc3RyZWFtIHNjaGVkdWxlciBmb3VuZGF0aW9ucyIpClJlcG9ydGVkLWJ5OiBZaW5n IFh1IDx5aW54dUByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90K2UzM2EzYTEzODI2N2Nh MTE5YzdkQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVkLW9mZi1ieTogWGluIExvbmcg PGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4 ZHJpdmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9zY3RwL3N0cmVhbS5jIHwgMjAgKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAv c3RyZWFtLmMgYi9uZXQvc2N0cC9zdHJlYW0uYwppbmRleCA4MGUwYWU1NTM0ZWMuLmYyNDYzMzEx NGRmZCAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc3RyZWFtLmMKKysrIGIvbmV0L3NjdHAvc3RyZWFt LmMKQEAgLTg0LDYgKzg0LDE5IEBAIHN0YXRpYyB2b2lkIGZhX3plcm8oc3RydWN0IGZsZXhfYXJy YXkgKmZhLCBzaXplX3QgaW5kZXgsIHNpemVfdCBjb3VudCkKIAl9CiB9CiAKK3N0YXRpYyBzaXpl X3QgZmFfaW5kZXgoc3RydWN0IGZsZXhfYXJyYXkgKmZhLCB2b2lkICplbGVtLCBzaXplX3QgY291 bnQpCit7CisJc2l6ZV90IGluZGV4ID0gMDsKKworCXdoaWxlIChjb3VudC0tKSB7CisJCWlmIChl bGVtID09IGZsZXhfYXJyYXlfZ2V0KGZhLCBpbmRleCkpCisJCQlicmVhazsKKwkJaW5kZXgrKzsK Kwl9CisKKwlyZXR1cm4gaW5kZXg7Cit9CisKIC8qIE1pZ3JhdGVzIGNodW5rcyBmcm9tIHN0cmVh bSBxdWV1ZXMgdG8gbmV3IHN0cmVhbSBxdWV1ZXMgaWYgbmVlZGVkLAogICogYnV0IG5vdCBhY3Jv c3MgYXNzb2NpYXRpb25zLiBBbHNvLCByZW1vdmVzIHRob3NlIGNodW5rcyB0byBzdHJlYW1zCiAg KiBoaWdoZXIgdGhhbiB0aGUgbmV3IG1heC4KQEAgLTE0Nyw2ICsxNjAsMTMgQEAgc3RhdGljIGlu dCBzY3RwX3N0cmVhbV9hbGxvY19vdXQoc3RydWN0IHNjdHBfc3RyZWFtICpzdHJlYW0sIF9fdTE2 IG91dGNudCwKIAogCWlmIChzdHJlYW0tPm91dCkgewogCQlmYV9jb3B5KG91dCwgc3RyZWFtLT5v dXQsIDAsIG1pbihvdXRjbnQsIHN0cmVhbS0+b3V0Y250KSk7CisJCWlmIChzdHJlYW0tPm91dF9j dXJyKSB7CisJCQlzaXplX3QgaW5kZXggPSBmYV9pbmRleChzdHJlYW0tPm91dCwgc3RyZWFtLT5v dXRfY3VyciwKKwkJCQkJCXN0cmVhbS0+b3V0Y250KTsKKworCQkJQlVHX09OKGluZGV4ID09IHN0 cmVhbS0+b3V0Y250KTsKKwkJCXN0cmVhbS0+b3V0X2N1cnIgPSBmbGV4X2FycmF5X2dldChvdXQs IGluZGV4KTsKKwkJfQogCQlmYV9mcmVlKHN0cmVhbS0+b3V0KTsKIAl9CiAKLS0gCjIuMjAuMQoK CkZyb20gNTZmMGYzZDNlZGVjYjY3MDgyMzU1MzA5YTNmMGJkYTgwN2M5OTE4MSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3Vu ZGF0aW9uLm9yZz4KRGF0ZTogRnJpLCAxIEZlYiAyMDE5IDE1OjE1OjIyICswMTAwClN1YmplY3Q6 IFtQQVRDSCAxNS8xOF0gc2N0cDogd2FsayB0aGUgbGlzdCBvZiBhc29jIHNhZmVseQoKWyBVcHN0 cmVhbSBjb21taXQgYmE1OWZiMDI3MzA3NjYzN2YwYWRkNDMxMWZhYTk5MGE1ZWVjMjdjMCBdCgpJ biBzY3RwX3NlbmRtZXNnKCksIHdoZW4gd2Fsa2luZyB0aGUgbGlzdCBvZiBlbmRwb2ludCBhc3Nv Y2lhdGlvbnMsIHRoZQphc3NvY2lhdGlvbiBjYW4gYmUgZHJvcHBlZCBmcm9tIHRoZSBsaXN0LCBt YWtpbmcgdGhlIGxpc3QgY29ycnVwdC4KUHJvcGVybHkgaGFuZGxlIHRoaXMgYnkgdXNpbmcgbGlz dF9mb3JfZWFjaF9lbnRyeV9zYWZlKCkKCkZpeGVzOiA0OTEwMjgwNTAzZjMgKCJzY3RwOiBhZGQg c3VwcG9ydCBmb3Igc25kIGZsYWcgU0NUUF9TRU5EQUxMIHByb2Nlc3MgaW4gc2VuZG1zZyIpClJl cG9ydGVkLWJ5OiBTZWN1bmlhIFJlc2VhcmNoIDx2dWxuQHNlY3VuaWEuY29tPgpUZXN0ZWQtYnk6 IFNlY3VuaWEgUmVzZWFyY2ggPHZ1bG5Ac2VjdW5pYS5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcg S3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkFja2VkLWJ5OiBNYXJj ZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQtYnk6 IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zb2NrZXQuYyB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zb2NrZXQuYyBiL25ldC9zY3RwL3NvY2tldC5jCmluZGV4 IDg3NjM5M2NmNWVkNi4uZTVlNzBjZmY1YmIzIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zb2NrZXQu YworKysgYi9uZXQvc2N0cC9zb2NrZXQuYwpAQCAtMjA0NSw3ICsyMDQ1LDcgQEAgc3RhdGljIGlu dCBzY3RwX3NlbmRtc2coc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNpemVf dCBtc2dfbGVuKQogCXN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCA9IHNjdHBfc2soc2spLT5lcDsK IAlzdHJ1Y3Qgc2N0cF90cmFuc3BvcnQgKnRyYW5zcG9ydCA9IE5VTEw7CiAJc3RydWN0IHNjdHBf c25kcmN2aW5mbyBfc2luZm8sICpzaW5mbzsKLQlzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNv YzsKKwlzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYywgKnRtcDsKIAlzdHJ1Y3Qgc2N0cF9j bXNncyBjbXNnczsKIAl1bmlvbiBzY3RwX2FkZHIgKmRhZGRyOwogCWJvb2wgbmV3ID0gZmFsc2U7 CkBAIC0yMDcxLDcgKzIwNzEsNyBAQCBzdGF0aWMgaW50IHNjdHBfc2VuZG1zZyhzdHJ1Y3Qgc29j ayAqc2ssIHN0cnVjdCBtc2doZHIgKm1zZywgc2l6ZV90IG1zZ19sZW4pCiAKIAkvKiBTQ1RQX1NF TkRBTEwgcHJvY2VzcyAqLwogCWlmICgoc2ZsYWdzICYgU0NUUF9TRU5EQUxMKSAmJiBzY3RwX3N0 eWxlKHNrLCBVRFApKSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkoYXNvYywgJmVwLT5hc29jcywg YXNvY3MpIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGFzb2MsIHRtcCwgJmVwLT5hc29j cywgYXNvY3MpIHsKIAkJCWVyciA9IHNjdHBfc2VuZG1zZ19jaGVja19zZmxhZ3MoYXNvYywgc2Zs YWdzLCBtc2csCiAJCQkJCQkJbXNnX2xlbik7CiAJCQlpZiAoZXJyID09IDApCi0tIAoyLjIwLjEK CgpGcm9tIGE5YjhlNjc5ZGJkOTBiYzU4ZWI2NDdjNzg0MmI2ZjAzZGQ0MDdjYjUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xl LmNvbT4KRGF0ZTogRnJpLCAxIEZlYiAyMDE5IDExOjI4OjE2ICswMzAwClN1YmplY3Q6IFtQQVRD SCAxNi8xOF0gc2tnZTogcG90ZW50aWFsIG1lbW9yeSBjb3JydXB0aW9uIGluIHNrZ2VfZ2V0X3Jl Z3MoKQoKWyBVcHN0cmVhbSBjb21taXQgMjk0YzE0OWEyMDljNjE5NmMyZGU4NWY1MTJiNTJlZjUw ZjUxOTk0OSBdCgpUaGUgInAiIGJ1ZmZlciBpcyAweDQwMDAgYnl0ZXMgbG9uZy4gIEIzX1JJX1dU T19SMSBpcyAweDE5MC4gIFRoZSB2YWx1ZQpvZiAicmVncy0+bGVuIiBpcyBpbiB0aGUgMS0weDQw MDAgcmFuZ2UuICBUaGUgYnVnIGhlcmUgaXMgdGhhdAoicmVncy0+bGVuIC0gQjNfUklfV1RPX1Ix IiBjYW4gYmUgYSBuZWdhdGl2ZSB2YWx1ZSB3aGljaCB3b3VsZCBsZWFkIHRvCm1lbW9yeSBjb3Jy dXB0aW9uIGFuZCBhbiBhYnJ1cHQgY3Jhc2guCgpGaXhlczogYzNmOGJlOTYxODA4ICgiW1BBVENI XSBza2dlOiBleHBhbmQgZXRodG9vbCBkZWJ1ZyByZWdpc3RlciBkdW1wIikKU2lnbmVkLW9mZi1i eTogRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWFydmVsbC9za2dlLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tYXJ2ZWxsL3NrZ2UuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvc2tnZS5j CmluZGV4IDljMDhjMzY1MGMwMi4uMTVkZWE0OGUwMTk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tYXJ2ZWxsL3NrZ2UuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2 ZWxsL3NrZ2UuYwpAQCAtMTUyLDggKzE1MiwxMCBAQCBzdGF0aWMgdm9pZCBza2dlX2dldF9yZWdz KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBldGh0b29sX3JlZ3MgKnJlZ3MsCiAJbWVt c2V0KHAsIDAsIHJlZ3MtPmxlbik7CiAJbWVtY3B5X2Zyb21pbyhwLCBpbywgQjNfUkFNX0FERFIp OwogCi0JbWVtY3B5X2Zyb21pbyhwICsgQjNfUklfV1RPX1IxLCBpbyArIEIzX1JJX1dUT19SMSwK LQkJICAgICAgcmVncy0+bGVuIC0gQjNfUklfV1RPX1IxKTsKKwlpZiAocmVncy0+bGVuID4gQjNf UklfV1RPX1IxKSB7CisJCW1lbWNweV9mcm9taW8ocCArIEIzX1JJX1dUT19SMSwgaW8gKyBCM19S SV9XVE9fUjEsCisJCQkgICAgICByZWdzLT5sZW4gLSBCM19SSV9XVE9fUjEpOworCX0KIH0KIAog LyogV2FrZSBvbiBMYW4gb25seSBzdXBwb3J0ZWQgb24gWXVrb24gY2hpcHMgd2l0aCByZXYgMSBv ciBhYm92ZSAqLwotLSAKMi4yMC4xCgoKRnJvbSBlMzhhYzQ5MTM4MTUwOTJiNzQ4NmNiNTBjODUy Zjk3MjRlZWZjYmQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb3NoaWFraSBNYWtp dGEgPG1ha2l0YS50b3NoaWFraUBsYWIubnR0LmNvLmpwPgpEYXRlOiBUaHUsIDMxIEphbiAyMDE5 IDIwOjQwOjMwICswOTAwClN1YmplY3Q6IFtQQVRDSCAxNy8xOF0gdmlydGlvX25ldDogQWNjb3Vu dCBmb3IgdHggYnl0ZXMgYW5kIHBhY2tldHMgb24gc2VuZGluZwogeGRwX2ZyYW1lcwoKWyBVcHN0 cmVhbSBjb21taXQgNTQ2ZjI4OTc0ZDc3MWIxMjRmYjBiZjdiNTUxYjM0Mzg4OGNmMDQxOSBdCgpQ cmV2aW91c2x5IHZpcnRuZXRfeGRwX3htaXQoKSBkaWQgbm90IGFjY291bnQgZm9yIGRldmljZSB0 eCBjb3VudGVycywKd2hpY2ggY2F1c2VkIGNvbmZ1c2lvbnMuClRvIGJlIGNvbnNpc3RlbnQgd2l0 aCBTS0JzLCBhY2NvdW50IHRoZW0gb24gZnJlZWluZyB4ZHBfZnJhbWVzLgoKUmVwb3J0ZWQtYnk6 IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogVG9zaGlha2kg TWFraXRhIDxtYWtpdGEudG9zaGlha2lAbGFiLm50dC5jby5qcD4KQWNrZWQtYnk6IE1pY2hhZWwg Uy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMgfCAy MCArKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIv ZHJpdmVycy9uZXQvdmlydGlvX25ldC5jCmluZGV4IDQyZmVhYTRkMjkxNi4uYzg4ZWUzNzZhMmVi IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKKysrIGIvZHJpdmVycy9uZXQv dmlydGlvX25ldC5jCkBAIC01MDIsNiArNTAyLDggQEAgc3RhdGljIGludCB2aXJ0bmV0X3hkcF94 bWl0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJc3RydWN0IGJwZl9wcm9nICp4ZHBfcHJvZzsK IAlzdHJ1Y3Qgc2VuZF9xdWV1ZSAqc3E7CiAJdW5zaWduZWQgaW50IGxlbjsKKwlpbnQgcGFja2V0 cyA9IDA7CisJaW50IGJ5dGVzID0gMDsKIAlpbnQgZHJvcHMgPSAwOwogCWludCBraWNrcyA9IDA7 CiAJaW50IHJldCwgZXJyOwpAQCAtNTI1LDEwICs1MjcsMTggQEAgc3RhdGljIGludCB2aXJ0bmV0 X3hkcF94bWl0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAkvKiBGcmVlIHVwIGFueSBwZW5k aW5nIG9sZCBidWZmZXJzIGJlZm9yZSBxdWV1ZWluZyBuZXcgb25lcy4gKi8KIAl3aGlsZSAoKHB0 ciA9IHZpcnRxdWV1ZV9nZXRfYnVmKHNxLT52cSwgJmxlbikpICE9IE5VTEwpIHsKLQkJaWYgKGxp a2VseShpc194ZHBfZnJhbWUocHRyKSkpCi0JCQl4ZHBfcmV0dXJuX2ZyYW1lKHB0cl90b194ZHAo cHRyKSk7Ci0JCWVsc2UKLQkJCW5hcGlfY29uc3VtZV9za2IocHRyLCBmYWxzZSk7CisJCWlmIChs aWtlbHkoaXNfeGRwX2ZyYW1lKHB0cikpKSB7CisJCQlzdHJ1Y3QgeGRwX2ZyYW1lICpmcmFtZSA9 IHB0cl90b194ZHAocHRyKTsKKworCQkJYnl0ZXMgKz0gZnJhbWUtPmxlbjsKKwkJCXhkcF9yZXR1 cm5fZnJhbWUoZnJhbWUpOworCQl9IGVsc2UgeworCQkJc3RydWN0IHNrX2J1ZmYgKnNrYiA9IHB0 cjsKKworCQkJYnl0ZXMgKz0gc2tiLT5sZW47CisJCQluYXBpX2NvbnN1bWVfc2tiKHNrYiwgZmFs c2UpOworCQl9CisJCXBhY2tldHMrKzsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7 CkBAIC01NDgsNiArNTU4LDggQEAgc3RhdGljIGludCB2aXJ0bmV0X3hkcF94bWl0KHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYsCiAJfQogb3V0OgogCXU2NF9zdGF0c191cGRhdGVfYmVnaW4oJnNxLT5z dGF0cy5zeW5jcCk7CisJc3EtPnN0YXRzLmJ5dGVzICs9IGJ5dGVzOworCXNxLT5zdGF0cy5wYWNr ZXRzICs9IHBhY2tldHM7CiAJc3EtPnN0YXRzLnhkcF90eCArPSBuOwogCXNxLT5zdGF0cy54ZHBf dHhfZHJvcHMgKz0gZHJvcHM7CiAJc3EtPnN0YXRzLmtpY2tzICs9IGtpY2tzOwotLSAKMi4yMC4x CgoKRnJvbSAzNWRmMmM3NDJjYmNjNzc4NmE2MDdhNjJmMGM4YmVmZGRhMGYxODk0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSYWVkIFNhbGVtIDxyYWVkc0BtZWxsYW5veC5jb20+CkRh dGU6IE1vbiwgMTcgRGVjIDIwMTggMTE6NDA6MDYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzE4 XSBuZXQvbWx4NWU6IEZQR0EsIGZpeCBJbm5vdmEgSVBzZWMgVFggb2ZmbG9hZCBkYXRhIHBhdGgK IHBlcmZvcm1hbmNlCgpbIFVwc3RyZWFtIGNvbW1pdCA4MmVhYTFmYTA0NDhkYTE4NTJkN2I4MDgz MmU2N2U4MGEwOGRjYzI3IF0KCkF0IElubm92YSBJUHNlYyBUWCBvZmZsb2FkIGRhdGEgcGF0aCBh IHNwZWNpYWwgc29mdHdhcmUgcGFyc2VyIG1ldGFkYXRhCmlzIHVzZWQgdG8gcGFzcyBzb21lIHBh Y2tldCBhdHRyaWJ1dGVzIHRvIHRoZSBoYXJkd2FyZSwgdGhpcyBtZXRhZGF0YQppcyBwYXNzZWQg dXNpbmcgdGhlIEV0aGVybmV0IGNvbnRyb2wgc2VnbWVudCBvZiBhIFdRRSAoYSBIVyBkZXNjcmlw dG9yKQpoZWFkZXIuCgpUaGUgY2l0ZWQgY29tbWl0IG1pZ2h0IG51bGxpZnkgdGhpcyBoZWFkZXIs IGhlbmNlIHRoZSBtZXRhZGF0YSBpcyBsb3N0LAp0aGlzIGNhdXNlZCBhIHNpZ25pZmljYW50IHBl cmZvcm1hbmNlIGRyb3AgZHVyaW5nIGh3IG9mZmxvYWRpbmcKb3BlcmF0aW9uLgoKRml4IGJ5IHJl c3RvcmluZyB0aGUgbWV0YWRhdGEgYXQgdGhlIEV0aGVybmV0IGNvbnRyb2wgc2VnbWVudCBpbiBj YXNlCml0IHdhcyBudWxsaWZpZWQuCgpGaXhlczogMzdmZGZmYjIxN2E0ICgibmV0L21seDU6IFdR LCBmaXhlcyBmb3IgZnJhZ21lbnRlZCBXUSBidWZmZXJzIEFQSSIpClNpZ25lZC1vZmYtYnk6IFJh ZWQgU2FsZW0gPHJhZWRzQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRvdWthbiA8 dGFyaXF0QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVk bUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2VuX3R4LmMgfCA2ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90 eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3R4LmMKaW5k ZXggNmRhY2FlYmEyZmJmLi4wYjAzZDY1NDc0ZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90eC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbl90eC5jCkBAIC0zODcsOCArMzg3LDE0IEBAIG5ldGRl dl90eF90IG1seDVlX3NxX3htaXQoc3RydWN0IG1seDVlX3R4cXNxICpzcSwgc3RydWN0IHNrX2J1 ZmYgKnNrYiwKIAludW1fd3FlYmJzID0gRElWX1JPVU5EX1VQKGRzX2NudCwgTUxYNV9TRU5EX1dR RUJCX05VTV9EUyk7CiAJY29udGlnX3dxZWJic19yb29tID0gbWx4NV93cV9jeWNfZ2V0X2NvbnRp Z193cWViYnMod3EsIHBpKTsKIAlpZiAodW5saWtlbHkoY29udGlnX3dxZWJic19yb29tIDwgbnVt X3dxZWJicykpIHsKKyNpZmRlZiBDT05GSUdfTUxYNV9FTl9JUFNFQworCQlzdHJ1Y3QgbWx4NV93 cWVfZXRoX3NlZyBjdXJfZXRoID0gd3FlLT5ldGg7CisjZW5kaWYKIAkJbWx4NWVfZmlsbF9zcV9m cmFnX2VkZ2Uoc3EsIHdxLCBwaSwgY29udGlnX3dxZWJic19yb29tKTsKIAkJbWx4NWVfc3FfZmV0 Y2hfd3FlKHNxLCAmd3FlLCAmcGkpOworI2lmZGVmIENPTkZJR19NTFg1X0VOX0lQU0VDCisJCXdx ZS0+ZXRoID0gY3VyX2V0aDsKKyNlbmRpZgogCX0KIAogCS8qIGZpbGwgd3FlICovCi0tIAoyLjIw LjEKCg== ----Next_Part(Sat_Feb__9_15_21_32_2019_341)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_420.mbox" RnJvbSBjMmI4YjA5ODM1ODk0ZTMxZjBhMjBhYTEzMmU3ZmE2YTkzYjI3YjI0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgMzAgSmFuIDIwMTkgMTE6Mzk6NDEgLTA4MDAKU3ViamVjdDogW1BBVENIIDAxLzIx XSBkY2NwOiBmb29sIHByb29mIGNjaWRfaGNfW3J0XXhfcGFyc2Vfb3B0aW9ucygpCgpbIFVwc3Ry ZWFtIGNvbW1pdCA5YjFmMTlkODEwZTkyZDZjZGM2ODQ1NWZiYzIyZDlmOTYxYTU4Y2UxIF0KClNp bWlsYXJseSB0byBjb21taXQgMjc2YmRiODJkZWRiICgiZGNjcDogY2hlY2sgY2NpZCBiZWZvcmUg ZGVyZWZlcmVuY2luZyIpCml0IGlzIHdpc2UgdG8gdGVzdCBmb3IgYSBOVUxMIGNjaWQuCgprYXNh bjogQ09ORklHX0tBU0FOX0lOTElORSBlbmFibGVkCmthc2FuOiBHUEYgY291bGQgYmUgY2F1c2Vk IGJ5IE5VTEwtcHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFsIHByb3RlY3Rp b24gZmF1bHQ6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpDUFU6IDEgUElEOiAxNiBDb21t OiBrc29mdGlycWQvMSBOb3QgdGFpbnRlZCA1LjAuMC1yYzMrICMzNwpIYXJkd2FyZSBuYW1lOiBH b29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBH b29nbGUgMDEvMDEvMjAxMQpSSVA6IDAwMTA6Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zIG5ldC9k Y2NwL2NjaWQuaDoyMDUgW2lubGluZV0KUklQOiAwMDEwOmRjY3BfcGFyc2Vfb3B0aW9ucysweDhk OS8weDEyYjAgbmV0L2RjY3Avb3B0aW9ucy5jOjIzMwpDb2RlOiBjNSAwZiBiNiA3NSBiMyA4MCAz OCAwMCAwZiA4NSBkNiAwOCAwMCAwMCA0OCBiOSAwMCAwMCAwMCAwMCAwMCBmYyBmZiBkZiA0OCA4 YiA0NSBiOCA0YyA4YiBiOCBmOCAwNyAwMCAwMCA0YyA4OSBmOCA0OCBjMSBlOCAwMyA8ODA+IDNj IDA4IDAwIDBmIDg1IDk1IDA4IDAwIDAwIDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDRk IDhiCmtvYmplY3Q6ICdsb29wNScgKDAwMDAwMDAwODBmNzhmYzEpOiBrb2JqZWN0X3VldmVudF9l bnYKUlNQOiAwMDE4OmZmZmY4ODgwYTk0ZGYwYjggRUZMQUdTOiAwMDAxMDI0NgpSQVg6IDAwMDAw MDAwMDAwMDAwMDAgUkJYOiBmZmZmODg4MDg1OGFjNzIzIFJDWDogZGZmZmZjMDAwMDAwMDAwMApS RFg6IDAwMDAwMDAwMDAwMDAxMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDA3IFJESTogMDAwMDAwMDAw MDAwMDAwMQpSQlA6IGZmZmY4ODgwYTk0ZGYxNDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTog ZmZmZjg4ODA2MWI4M2E4MApSMTA6IGZmZmZlZDEwMGMzNzA3NTIgUjExOiBmZmZmODg4MDYxYjgz YTk3IFIxMjogMDAwMDAwMDAwMDAwMDAyNgpSMTM6IDAwMDAwMDAwMDAwMDAwMDEgUjE0OiAwMDAw MDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMApGUzogIDAwMDAwMDAwMDAwMDAwMDAo MDAwMCkgR1M6ZmZmZjg4ODBhZTcwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNT OiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAw N2YwZGVmYTMzNTE4IENSMzogMDAwMDAwMDA4ZGI1ZTAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZTAK a29iamVjdDogJ2xvb3A1JyAoMDAwMDAwMDA4MGY3OGZjMSk6IGZpbGxfa29ial9wYXRoOiBwYXRo ID0gJy9kZXZpY2VzL3ZpcnR1YWwvYmxvY2svbG9vcDUnCkRSMDogMDAwMDAwMDAwMDAwMDAwMCBE UjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCkRSMzogMDAwMDAwMDAw MDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCkNhbGwg VHJhY2U6CiBkY2NwX3Jjdl9zdGF0ZV9wcm9jZXNzKzB4MmI2LzB4MWFmNiBuZXQvZGNjcC9pbnB1 dC5jOjY1NAogZGNjcF92NF9kb19yY3YrMHgxMDAvMHgxOTAgbmV0L2RjY3AvaXB2NC5jOjY4OAog c2tfYmFja2xvZ19yY3YgaW5jbHVkZS9uZXQvc29jay5oOjkzNiBbaW5saW5lXQogX19za19yZWNl aXZlX3NrYisweDNhOS8weGVhMCBuZXQvY29yZS9zb2NrLmM6NDczCiBkY2NwX3Y0X3JjdisweDEw Y2IvMHgxZjgwIG5ldC9kY2NwL2lwdjQuYzo4ODAKIGlwX3Byb3RvY29sX2RlbGl2ZXJfcmN1KzB4 YjYvMHhhMjAgbmV0L2lwdjQvaXBfaW5wdXQuYzoyMDgKIGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNo KzB4MjNiLzB4MzkwIG5ldC9pcHY0L2lwX2lucHV0LmM6MjM0CiBORl9IT09LIGluY2x1ZGUvbGlu dXgvbmV0ZmlsdGVyLmg6Mjg5IFtpbmxpbmVdCiBORl9IT09LIGluY2x1ZGUvbGludXgvbmV0Zmls dGVyLmg6MjgzIFtpbmxpbmVdCiBpcF9sb2NhbF9kZWxpdmVyKzB4MWYwLzB4NzQwIG5ldC9pcHY0 L2lwX2lucHV0LmM6MjU1CiBkc3RfaW5wdXQgaW5jbHVkZS9uZXQvZHN0Lmg6NDUwIFtpbmxpbmVd CiBpcF9yY3ZfZmluaXNoKzB4MWY0LzB4MmYwIG5ldC9pcHY0L2lwX2lucHV0LmM6NDE0CiBORl9I T09LIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyLmg6Mjg5IFtpbmxpbmVdCiBORl9IT09LIGluY2x1 ZGUvbGludXgvbmV0ZmlsdGVyLmg6MjgzIFtpbmxpbmVdCiBpcF9yY3YrMHhlZC8weDYyMCBuZXQv aXB2NC9pcF9pbnB1dC5jOjUyNAogX19uZXRpZl9yZWNlaXZlX3NrYl9vbmVfY29yZSsweDE2MC8w eDIxMCBuZXQvY29yZS9kZXYuYzo0OTczCiBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MmMvMHgxYzAg bmV0L2NvcmUvZGV2LmM6NTA4MwogcHJvY2Vzc19iYWNrbG9nKzB4MjA2LzB4NzUwIG5ldC9jb3Jl L2Rldi5jOjU5MjMKIG5hcGlfcG9sbCBuZXQvY29yZS9kZXYuYzo2MzQ2IFtpbmxpbmVdCiBuZXRf cnhfYWN0aW9uKzB4NzZkLzB4MTkzMCBuZXQvY29yZS9kZXYuYzo2NDEyCiBfX2RvX3NvZnRpcnEr MHgzMGIvMHhiMTEga2VybmVsL3NvZnRpcnEuYzoyOTIKIHJ1bl9rc29mdGlycWQga2VybmVsL3Nv ZnRpcnEuYzo2NTQgW2lubGluZV0KIHJ1bl9rc29mdGlycWQrMHg4ZS8weDExMCBrZXJuZWwvc29m dGlycS5jOjY0Ngogc21wYm9vdF90aHJlYWRfZm4rMHg2YWIvMHhhMTAga2VybmVsL3NtcGJvb3Qu YzoxNjQKIGt0aHJlYWQrMHgzNTcvMHg0MzAga2VybmVsL2t0aHJlYWQuYzoyNDYKIHJldF9mcm9t X2ZvcmsrMHgzYS8weDUwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MzUyCk1vZHVsZXMgbGlu a2VkIGluOgotLS1bIGVuZCB0cmFjZSA1OGEwYmEwM2JlYTJjMzc2IF0tLS0KUklQOiAwMDEwOmNj aWRfaGNfdHhfcGFyc2Vfb3B0aW9ucyBuZXQvZGNjcC9jY2lkLmg6MjA1IFtpbmxpbmVdClJJUDog MDAxMDpkY2NwX3BhcnNlX29wdGlvbnMrMHg4ZDkvMHgxMmIwIG5ldC9kY2NwL29wdGlvbnMuYzoy MzMKQ29kZTogYzUgMGYgYjYgNzUgYjMgODAgMzggMDAgMGYgODUgZDYgMDggMDAgMDAgNDggYjkg MDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggOGIgNDUgYjggNGMgOGIgYjggZjggMDcgMDAgMDAg NGMgODkgZjggNDggYzEgZTggMDMgPDgwPiAzYyAwOCAwMCAwZiA4NSA5NSAwOCAwMCAwMCA0OCBi OCAwMCAwMCAwMCAwMCAwMCBmYyBmZiBkZiA0ZCA4YgpSU1A6IDAwMTg6ZmZmZjg4ODBhOTRkZjBi OCBFRkxBR1M6IDAwMDEwMjQ2ClJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4ODgwODU4 YWM3MjMgUkNYOiBkZmZmZmMwMDAwMDAwMDAwClJEWDogMDAwMDAwMDAwMDAwMDEwMCBSU0k6IDAw MDAwMDAwMDAwMDAwMDcgUkRJOiAwMDAwMDAwMDAwMDAwMDAxClJCUDogZmZmZjg4ODBhOTRkZjE0 MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiBmZmZmODg4MDYxYjgzYTgwClIxMDogZmZmZmVk MTAwYzM3MDc1MiBSMTE6IGZmZmY4ODgwNjFiODNhOTcgUjEyOiAwMDAwMDAwMDAwMDAwMDI2ClIx MzogMDAwMDAwMDAwMDAwMDAwMSBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAw MDAwMDAwCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODg4MGFlNzAwMDAwKDAw MDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENS MDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDA3ZjBkZWZhMzM1MTggQ1IzOiAwMDAwMDAwMDA5 ODcxMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAw MDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAw MDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMAoKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQ2M6IEdlcnJpdCBSZW5rZXIgPGdlcnJp dEBlcmcuYWJkbi5hYy51az4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC9kY2NwL2NjaWQuaCB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvZGNj cC9jY2lkLmggYi9uZXQvZGNjcC9jY2lkLmgKaW5kZXggNmViODM3YTQ3YjVjLi5iYWFhZWIyYjJj NDIgMTAwNjQ0Ci0tLSBhL25ldC9kY2NwL2NjaWQuaAorKysgYi9uZXQvZGNjcC9jY2lkLmgKQEAg LTIwMiw3ICsyMDIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2NpZF9oY190eF9wYWNrZXRfcmVj dihzdHJ1Y3QgY2NpZCAqY2NpZCwgc3RydWN0IHNvY2sgKnNrLAogc3RhdGljIGlubGluZSBpbnQg Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zKHN0cnVjdCBjY2lkICpjY2lkLCBzdHJ1Y3Qgc29jayAq c2ssCiAJCQkJCSAgIHU4IHBrdCwgdTggb3B0LCB1OCAqdmFsLCB1OCBsZW4pCiB7Ci0JaWYgKGNj aWQtPmNjaWRfb3BzLT5jY2lkX2hjX3R4X3BhcnNlX29wdGlvbnMgPT0gTlVMTCkKKwlpZiAoIWNj aWQgfHwgIWNjaWQtPmNjaWRfb3BzLT5jY2lkX2hjX3R4X3BhcnNlX29wdGlvbnMpCiAJCXJldHVy biAwOwogCXJldHVybiBjY2lkLT5jY2lkX29wcy0+Y2NpZF9oY190eF9wYXJzZV9vcHRpb25zKHNr LCBwa3QsIG9wdCwgdmFsLCBsZW4pOwogfQpAQCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IGNjaWRfaGNfdHhfcGFyc2Vfb3B0aW9ucyhzdHJ1Y3QgY2NpZCAqY2NpZCwgc3RydWN0 IHNvY2sgKnNrLAogc3RhdGljIGlubGluZSBpbnQgY2NpZF9oY19yeF9wYXJzZV9vcHRpb25zKHN0 cnVjdCBjY2lkICpjY2lkLCBzdHJ1Y3Qgc29jayAqc2ssCiAJCQkJCSAgIHU4IHBrdCwgdTggb3B0 LCB1OCAqdmFsLCB1OCBsZW4pCiB7Ci0JaWYgKGNjaWQtPmNjaWRfb3BzLT5jY2lkX2hjX3J4X3Bh cnNlX29wdGlvbnMgPT0gTlVMTCkKKwlpZiAoIWNjaWQgfHwgIWNjaWQtPmNjaWRfb3BzLT5jY2lk X2hjX3J4X3BhcnNlX29wdGlvbnMpCiAJCXJldHVybiAwOwogCXJldHVybiBjY2lkLT5jY2lkX29w cy0+Y2NpZF9oY19yeF9wYXJzZV9vcHRpb25zKHNrLCBwa3QsIG9wdCwgdmFsLCBsZW4pOwogfQot LSAKMi4yMC4xCgoKRnJvbSAzNzNmODA0YTJhMTI4YTViYzExODJhMzI1NDNjNjBiYjM1NGVhYzkw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHb3ZpbmRhcmFqdWx1IFZhcmFkYXJhamFu IDxndmFyYWRhckBjaXNjby5jb20+CkRhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMDY6NTk6MDAgLTA4 MDAKU3ViamVjdDogW1BBVENIIDAyLzIxXSBlbmljOiBmaXggY2hlY2tzdW0gdmFsaWRhdGlvbiBm b3IgSVB2NgoKWyBVcHN0cmVhbSBjb21taXQgNzU5NjE3NWU5OWIzZDRiY2UyODAyMjE5M2VmZDk1 NGMyMDFhNzgyYSBdCgpJbiBjYXNlIG9mIElQdjYgcGt0cywgaXB2NF9jc3VtX29rIGlzIDAuIEJl Y2F1c2Ugb2YgdGhpcywgZHJpdmVyIGRvZXMKbm90IHNldCBza2ItPmlwX3N1bW1lZC4gU28gSVB2 NiByeCBjaGVja3N1bSBpcyBub3Qgb2ZmbG9hZGVkLgoKU2lnbmVkLW9mZi1ieTogR292aW5kYXJh anVsdSBWYXJhZGFyYWphbiA8Z3ZhcmFkYXJAY2lzY28uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvY2lzY28vZW5pYy9lbmljX21haW4uYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvY2lzY28vZW5pYy9lbmljX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2Vu aWMvZW5pY19tYWluLmMKaW5kZXggNjA2NDFlMjAyNTM0Li45YTdmNzBkYjIwYzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2VuaWMvZW5pY19tYWluLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvY2lzY28vZW5pYy9lbmljX21haW4uYwpAQCAtMTQzNCw3ICsxNDM0 LDggQEAgc3RhdGljIHZvaWQgZW5pY19ycV9pbmRpY2F0ZV9idWYoc3RydWN0IHZuaWNfcnEgKnJx LAogCQkgKiBjc3VtIGlzIGNvcnJlY3Qgb3IgaXMgemVyby4KIAkJICovCiAJCWlmICgobmV0ZGV2 LT5mZWF0dXJlcyAmIE5FVElGX0ZfUlhDU1VNKSAmJiAhY3N1bV9ub3RfY2FsYyAmJgotCQkgICAg dGNwX3VkcF9jc3VtX29rICYmIGlwdjRfY3N1bV9vayAmJiBvdXRlcl9jc3VtX29rKSB7CisJCSAg ICB0Y3BfdWRwX2NzdW1fb2sgJiYgb3V0ZXJfY3N1bV9vayAmJgorCQkgICAgKGlwdjRfY3N1bV9v ayB8fCBpcHY2KSkgewogCQkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsK IAkJCXNrYi0+Y3N1bV9sZXZlbCA9IGVuY2FwOwogCQl9Ci0tIAoyLjIwLjEKCgpGcm9tIGZkMDEy ZDE4MDU5NTBkZTgyNDdiMjVjODQ4NGIxNzBmOTBiZjg4NzIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEJhcnQgVmFuIEFzc2NoZSA8YnZhbmFzc2NoZUBhY20ub3JnPgpEYXRlOiBXZWQs IDMwIEphbiAyMDE5IDEwOjQyOjMwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMy8yMV0gbGliL3Rl c3Rfcmhhc2h0YWJsZTogTWFrZSB0ZXN0X2luc2VydF9kdXAoKSBhbGxvY2F0ZQogaXRzIGhhc2gg dGFibGUgZHluYW1pY2FsbHkKClsgVXBzdHJlYW0gY29tbWl0IGZjNDJhNjg5YzRjMDk3ODU5ZTVi ZDM3YjVlYTExYjYwZGM0MjZkZjYgXQoKVGhlIHRlc3RfaW5zZXJ0X2R1cCgpIGZ1bmN0aW9uIGZy b20gbGliL3Rlc3Rfcmhhc2h0YWJsZS5jIHBhc3NlcyBhCnBvaW50ZXIgdG8gYSBzdGFjayBvYmpl Y3QgdG8gcmhsdGFibGVfaW5pdCgpLiBBbGxvY2F0ZSB0aGUgaGFzaCB0YWJsZQpkeW5hbWljYWxs eSB0byBhdm9pZCB0aGF0IHRoZSBmb2xsb3dpbmcgaXMgcmVwb3J0ZWQgd2l0aCBvYmplY3QKZGVi dWdnaW5nIGVuYWJsZWQ6CgpPREVCVUc6IG9iamVjdCAocHRydmFsKSBpcyBvbiBzdGFjayAocHRy dmFsKSwgYnV0IE5PVCBhbm5vdGF0ZWQuCldBUk5JTkc6IENQVTogMCBQSUQ6IDEgYXQgbGliL2Rl YnVnb2JqZWN0cy5jOjM2OCBfX2RlYnVnX29iamVjdF9pbml0KzB4MzEyLzB4NDgwCk1vZHVsZXMg bGlua2VkIGluOgpFSVA6IF9fZGVidWdfb2JqZWN0X2luaXQrMHgzMTIvMHg0ODAKQ2FsbCBUcmFj ZToKID8gZGVidWdfb2JqZWN0X2luaXQrMHgxYS8weDIwCiA/IF9faW5pdF93b3JrKzB4MTYvMHgz MAogPyByaGFzaHRhYmxlX2luaXQrMHgxZTEvMHg0NjAKID8gc2NoZWRfY2xvY2tfY3B1KzB4NTcv MHhlMAogPyByaGx0YWJsZV9pbml0KzB4Yi8weDIwCiA/IHRlc3RfaW5zZXJ0X2R1cCsweDMyLzB4 MjBmCiA/IHRyYWNlX2hhcmRpcnFzX29uKzB4MzgvMHhmMAogPyBpZGFfZHVtcCsweDEwLzB4MTAK ID8gamhhc2grMHgxMzAvMHgxMzAKID8gbXlfaGFzaGZuKzB4MzAvMHgzMAogPyB0ZXN0X3JodF9p bml0KzB4NmFhLzB4YWI0CiA/IGlkYV9kdW1wKzB4MTAvMHgxMAogPyB0ZXN0X3JobHRhYmxlKzB4 YzVjLzB4YzVjCiA/IGRvX29uZV9pbml0Y2FsbCsweDY3LzB4MjhlCiA/IHRyYWNlX2hhcmRpcnFz X29mZisweDIyLzB4ZTAKID8gcmVzdG9yZV9hbGxfa2VybmVsKzB4Zi8weDcwCiA/IHRyYWNlX2hh cmRpcnFzX29uX3RodW5rKzB4Yy8weDEwCiA/IHJlc3RvcmVfYWxsX2tlcm5lbCsweGYvMHg3MAog PyBrZXJuZWxfaW5pdF9mcmVlYWJsZSsweDE0Mi8weDIxMwogPyByZXN0X2luaXQrMHgyMzAvMHgy MzAKID8ga2VybmVsX2luaXQrMHgxMC8weDExMAogPyBzY2hlZHVsZV90YWlsX3dyYXBwZXIrMHg5 LzB4YwogPyByZXRfZnJvbV9mb3JrKzB4MTkvMHgyNAoKQ2M6IFRob21hcyBHcmFmIDx0Z3JhZkBz dXVnLmNoPgpDYzogSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PgpDYzog bmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpT aWduZWQtb2ZmLWJ5OiBCYXJ0IFZhbiBBc3NjaGUgPGJ2YW5hc3NjaGVAYWNtLm9yZz4KQWNrZWQt Ynk6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGxpYi90ZXN0X3Jo YXNodGFibGUuYyB8IDIzICsrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdGVzdF9y aGFzaHRhYmxlLmMgYi9saWIvdGVzdF9yaGFzaHRhYmxlLmMKaW5kZXggODJhYzM5Y2U1MzEwLi5h ZWNjMDk5NjYyOGYgMTAwNjQ0Ci0tLSBhL2xpYi90ZXN0X3JoYXNodGFibGUuYworKysgYi9saWIv dGVzdF9yaGFzaHRhYmxlLmMKQEAgLTU0MSwzOCArNTQxLDQ1IEBAIHN0YXRpYyB1bnNpZ25lZCBp bnQgX19pbml0IHByaW50X2h0KHN0cnVjdCByaGx0YWJsZSAqcmhsdCkKIHN0YXRpYyBpbnQgX19p bml0IHRlc3RfaW5zZXJ0X2R1cChzdHJ1Y3QgdGVzdF9vYmpfcmhsICpyaGxfdGVzdF9vYmplY3Rz LAogCQkJCSAgaW50IGNudCwgYm9vbCBzbG93KQogewotCXN0cnVjdCByaGx0YWJsZSByaGx0Owor CXN0cnVjdCByaGx0YWJsZSAqcmhsdDsKIAl1bnNpZ25lZCBpbnQgaSwgcmV0OwogCWNvbnN0IGNo YXIgKmtleTsKIAlpbnQgZXJyID0gMDsKIAotCWVyciA9IHJobHRhYmxlX2luaXQoJnJobHQsICZ0 ZXN0X3JodF9wYXJhbXNfZHVwKTsKLQlpZiAoV0FSTl9PTihlcnIpKQorCXJobHQgPSBrbWFsbG9j KHNpemVvZigqcmhsdCksIEdGUF9LRVJORUwpOworCWlmIChXQVJOX09OKCFyaGx0KSkKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwllcnIgPSByaGx0YWJsZV9pbml0KHJobHQsICZ0ZXN0X3JodF9wYXJh bXNfZHVwKTsKKwlpZiAoV0FSTl9PTihlcnIpKSB7CisJCWtmcmVlKHJobHQpOwogCQlyZXR1cm4g ZXJyOworCX0KIAogCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgewogCQlyaGxfdGVzdF9vYmpl Y3RzW2ldLnZhbHVlLnRpZCA9IGk7Ci0JCWtleSA9IHJodF9vYmooJnJobHQuaHQsICZyaGxfdGVz dF9vYmplY3RzW2ldLmxpc3Rfbm9kZS5yaGVhZCk7CisJCWtleSA9IHJodF9vYmooJnJobHQtPmh0 LCAmcmhsX3Rlc3Rfb2JqZWN0c1tpXS5saXN0X25vZGUucmhlYWQpOwogCQlrZXkgKz0gdGVzdF9y aHRfcGFyYW1zX2R1cC5rZXlfb2Zmc2V0OwogCiAJCWlmIChzbG93KSB7Ci0JCQllcnIgPSBQVFJf RVJSKHJoYXNodGFibGVfaW5zZXJ0X3Nsb3coJnJobHQuaHQsIGtleSwKKwkJCWVyciA9IFBUUl9F UlIocmhhc2h0YWJsZV9pbnNlcnRfc2xvdygmcmhsdC0+aHQsIGtleSwKIAkJCQkJCQkgICAgICZy aGxfdGVzdF9vYmplY3RzW2ldLmxpc3Rfbm9kZS5yaGVhZCkpOwogCQkJaWYgKGVyciA9PSAtRUFH QUlOKQogCQkJCWVyciA9IDA7CiAJCX0gZWxzZQotCQkJZXJyID0gcmhsdGFibGVfaW5zZXJ0KCZy aGx0LAorCQkJZXJyID0gcmhsdGFibGVfaW5zZXJ0KHJobHQsCiAJCQkJCSAgICAgICZyaGxfdGVz dF9vYmplY3RzW2ldLmxpc3Rfbm9kZSwKIAkJCQkJICAgICAgdGVzdF9yaHRfcGFyYW1zX2R1cCk7 CiAJCWlmIChXQVJOKGVyciwgImVycm9yICVkIG9uIGVsZW1lbnQgJWQvJWQgKCVzKVxuIiwgZXJy LCBpLCBjbnQsIHNsb3c/ICJzbG93IiA6ICJmYXN0IikpCiAJCQlnb3RvIHNraXBfcHJpbnQ7CiAJ fQogCi0JcmV0ID0gcHJpbnRfaHQoJnJobHQpOworCXJldCA9IHByaW50X2h0KHJobHQpOwogCVdB Uk4ocmV0ICE9IGNudCwgIm1pc3NpbmcgcmhsdGFibGUgZWxlbWVudHMgKCVkICE9ICVkLCAlcylc biIsIHJldCwgY250LCBzbG93PyAic2xvdyIgOiAiZmFzdCIpOwogCiBza2lwX3ByaW50OgotCXJo bHRhYmxlX2Rlc3Ryb3koJnJobHQpOworCXJobHRhYmxlX2Rlc3Ryb3kocmhsdCk7CisJa2ZyZWUo cmhsdCk7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gMzVkZWQyNWYzNTc2ZWJl NTE1YTRhMGEyNzcyNTM5ZTcwMzdlMmI5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog U2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgpEYXRlOiBN b24sIDQgRmViIDIwMTkgMTE6MjA6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzIxXSBuZXQ6 IGRwODM2NDA6IGV4cGlyZSBvbGQgVFgtc2tiCgpbIFVwc3RyZWFtIGNvbW1pdCA1M2JjOGQyYWYw ODY1NDY1OWFiZmFkZmQzZTk4ZWI5OTIyZmY3ODdjIF0KCkR1cmluZyBzZW5kbXNnKCkgYSBjbG9u ZWQgc2tiIGlzIHNhdmVkIHZpYSBkcDgzNjQwX3R4dHN0YW1wKCkgaW4KLT50eF9xdWV1ZS4gQWZ0 ZXIgdGhlIE5JQyBzZW5kcyB0aGlzIHBhY2tldCwgdGhlIFBIWSB3aWxsIHJlcGx5IHdpdGggYQp0 aW1lc3RhbXAgZm9yIHRoYXQgVFggcGFja2V0LiBJZiB0aGUgY2FibGUgaXMgcHVsbGVkIGF0IHRo ZSByaWdodCB0aW1lIEkKZG9uJ3Qgc2VlIHRoYXQgcGFja2V0LiBJdCBtaWdodCBnZXRzIGZsdXNo ZWQgYXMgcGFydCBvZiBxdWV1ZSBzaHV0ZG93bgpvbiBOSUMncyBzaWRlLgpPbmNlIHRoZSBsaW5r IGlzIHVwIGFnYWluIHRoZW4gYWZ0ZXIgdGhlIG5leHQgc2VuZG1zZygpIHdlIGVucXVldWUKYW5v dGhlciBza2IgaW4gZHA4MzY0MF90eHRzdGFtcCgpIGFuZCBoYXZlIHR3byBvbiB0aGUgbGlzdC4g VGhlbiB0aGUgUEhZCndpbGwgc2VuZCBhIHJlcGx5IGFuZCBkZWNvZGVfdHh0cygpIGF0dGFjaGVz IGl0IHRvIHRoZSBmaXJzdCBza2Igb24gdGhlCmxpc3QuCk5vIGNyYXNoIG9jY3VycyBzaW5jZSBy ZWZjb3VudGluZyB3b3JrcyBidXQgd2UgYXJlIG9uZSBwYWNrZXQgYmVoaW5kLgpsaW51eHB0cC9w dHA0bCB1c3VhbGx5IGNsb3NlcyB0aGUgc29ja2V0IGFuZCBvcGVucyBhIG5ldyBvbmUgKGluIHN1 Y2ggYQp0aW1lb3V0IGNhc2UpIHNvIHRob3NlICJzdGFsZSIgcmVwbGllcyBuZXZlciBnZXQgdGhl cmUuIEhvd2V2ZXIgaXQgZG9lcwpub3QgcmVzdW1lIG5vcm1hbCBvcGVyYXRpb24gYW55bW9yZS4K ClB1cmdlIG9sZCBza2JzIGluIGRlY29kZV90eHRzKCkuCgpGaXhlczogY2I2NDZlMmIwMmIyICgi cHRwOiBBZGRlZCBhIGNsb2NrIGRyaXZlciBmb3IgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Ig UEhZVEVSLiIpClNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vh c3lAbGludXRyb25peC5kZT4KUmV2aWV3ZWQtYnk6IEt1cnQgS2FuemVuYmFjaCA8a3VydEBsaW51 dHJvbml4LmRlPgpBY2tlZC1ieTogUmljaGFyZCBDb2NocmFuIDxyaWNoYXJkY29jaHJhbkBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9waHkvZHA4MzY0MC5jIHwgMTMgKysrKysrKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvcGh5L2RwODM2NDAuYyBiL2RyaXZlcnMvbmV0L3BoeS9kcDgzNjQwLmMK aW5kZXggZWRkNGQ0NGEzODZkLi5kM2IzNjkzNmY4MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3BoeS9kcDgzNjQwLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L2RwODM2NDAuYwpAQCAtODk4LDE0 ICs4OTgsMTQgQEAgc3RhdGljIHZvaWQgZGVjb2RlX3R4dHMoc3RydWN0IGRwODM2NDBfcHJpdmF0 ZSAqZHA4MzY0MCwKIAkJCXN0cnVjdCBwaHlfdHh0cyAqcGh5X3R4dHMpCiB7CiAJc3RydWN0IHNr Yl9zaGFyZWRfaHd0c3RhbXBzIHNoaHd0c3RhbXBzOworCXN0cnVjdCBkcDgzNjQwX3NrYl9pbmZv ICpza2JfaW5mbzsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwotCXU2NCBuczsKIAl1OCBvdmVyZmxv dzsKKwl1NjQgbnM7CiAKIAkvKiBXZSBtdXN0IGFscmVhZHkgaGF2ZSB0aGUgc2tiIHRoYXQgdHJp Z2dlcmVkIHRoaXMuICovCi0KK2FnYWluOgogCXNrYiA9IHNrYl9kZXF1ZXVlKCZkcDgzNjQwLT50 eF9xdWV1ZSk7Ci0KIAlpZiAoIXNrYikgewogCQlwcl9kZWJ1ZygiaGF2ZSB0aW1lc3RhbXAgYnV0 IHR4X3F1ZXVlIGVtcHR5XG4iKTsKIAkJcmV0dXJuOwpAQCAtOTIwLDYgKzkyMCwxMSBAQCBzdGF0 aWMgdm9pZCBkZWNvZGVfdHh0cyhzdHJ1Y3QgZHA4MzY0MF9wcml2YXRlICpkcDgzNjQwLAogCQl9 CiAJCXJldHVybjsKIAl9CisJc2tiX2luZm8gPSAoc3RydWN0IGRwODM2NDBfc2tiX2luZm8gKilz a2ItPmNiOworCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHNrYl9pbmZvLT50bW8pKSB7CisJCWtm cmVlX3NrYihza2IpOworCQlnb3RvIGFnYWluOworCX0KIAogCW5zID0gcGh5MnR4dHMocGh5X3R4 dHMpOwogCW1lbXNldCgmc2hod3RzdGFtcHMsIDAsIHNpemVvZihzaGh3dHN0YW1wcykpOwpAQCAt MTQ3Miw2ICsxNDc3LDcgQEAgc3RhdGljIGJvb2wgZHA4MzY0MF9yeHRzdGFtcChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2LAogc3RhdGljIHZvaWQgZHA4MzY0MF90eHRzdGFtcChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2LAogCQkJICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgdHlwZSkK IHsKKwlzdHJ1Y3QgZHA4MzY0MF9za2JfaW5mbyAqc2tiX2luZm8gPSAoc3RydWN0IGRwODM2NDBf c2tiX2luZm8gKilza2ItPmNiOwogCXN0cnVjdCBkcDgzNjQwX3ByaXZhdGUgKmRwODM2NDAgPSBw aHlkZXYtPnByaXY7CiAKIAlzd2l0Y2ggKGRwODM2NDAtPmh3dHNfdHhfZW4pIHsKQEAgLTE0ODQs NiArMTQ5MCw3IEBAIHN0YXRpYyB2b2lkIGRwODM2NDBfdHh0c3RhbXAoc3RydWN0IHBoeV9kZXZp Y2UgKnBoeWRldiwKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSBIV1RTVEFNUF9UWF9PTjoK IAkJc2tiX3NoaW5mbyhza2IpLT50eF9mbGFncyB8PSBTS0JUWF9JTl9QUk9HUkVTUzsKKwkJc2ti X2luZm8tPnRtbyA9IGppZmZpZXMgKyBTS0JfVElNRVNUQU1QX1RJTUVPVVQ7CiAJCXNrYl9xdWV1 ZV90YWlsKCZkcDgzNjQwLT50eF9xdWV1ZSwgc2tiKTsKIAkJYnJlYWs7CiAKLS0gCjIuMjAuMQoK CkZyb20gYWZhNTRlZTc3MzBlOTdmYzIwMmQyMzI3MzgzMDg5MWQ1MGRhNDVjZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFyYyBaeW5naWVyIDxtYXJjLnp5bmdpZXJAYXJtLmNvbT4K RGF0ZTogU2F0LCAyIEZlYiAyMDE5IDE3OjUzOjI5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAwNS8y MV0gbmV0OiBkc2E6IEZpeCBsb2NrZGVwIGZhbHNlIHBvc2l0aXZlIHNwbGF0CgpbIFVwc3RyZWFt IGNvbW1pdCBjODEwMWY3NzI5ZGFlZTI1MWY0ZjY1MDVmOWQxMzVlYzA4ZTEzNDJmIF0KCkNyZWF0 aW5nIGEgbWFjdnRhcCBvbiBhIERTQS1iYWNrZWQgaW50ZXJmYWNlIHJlc3VsdHMgaW4gdGhlIGZv bGxvd2luZwpzcGxhdCB3aGVuIGxvY2tkZXAgaXMgZW5hYmxlZDoKClsgICAxOS42MzgwODBdIElQ djY6IEFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBsYW4wOiBsaW5rIGJlY29tZXMgcmVhZHkKWyAg IDIzLjA0MTE5OF0gZGV2aWNlIGxhbjAgZW50ZXJlZCBwcm9taXNjdW91cyBtb2RlClsgICAyMy4w NDM0NDVdIGRldmljZSBldGgwIGVudGVyZWQgcHJvbWlzY3VvdXMgbW9kZQpbICAgMjMuMDQ5MjU1 XQpbICAgMjMuMDQ5NTU3XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpbICAgMjMuMDU1MDIxXSBXQVJOSU5HOiBwb3NzaWJsZSByZWN1cnNpdmUgbG9ja2luZyBk ZXRlY3RlZApbICAgMjMuMDYwNDkwXSA1LjAuMC1yYzMtMDAwMTMtZzU2Yzg1N2ExYjhkMyAjMTE4 IE5vdCB0YWludGVkClsgICAyMy4wNjYxMzJdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tClsgICAyMy4wNzE1OThdIGlwLzI4NjEgaXMgdHJ5aW5nIHRvIGFjcXVp cmUgbG9jazoKWyAgIDIzLjA3NjE3MV0gMDAwMDAwMDBmNjE5OTBjYiAoX3htaXRfRVRIRVIpeysu Li59LCBhdDogZGV2X3NldF9yeF9tb2RlKzB4MWMvMHgzOApbICAgMjMuMDgzNjkzXQpbICAgMjMu MDgzNjkzXSBidXQgdGFzayBpcyBhbHJlYWR5IGhvbGRpbmcgbG9jazoKWyAgIDIzLjA4OTY5Nl0g MDAwMDAwMDBlY2YwYzNiNCAoX3htaXRfRVRIRVIpeysuLi59LCBhdDogZGV2X3VjX2FkZCsweDI0 LzB4NzAKWyAgIDIzLjA5Njc3NF0KWyAgIDIzLjA5Njc3NF0gb3RoZXIgaW5mbyB0aGF0IG1pZ2h0 IGhlbHAgdXMgZGVidWcgdGhpczoKWyAgIDIzLjEwMzQ5NF0gIFBvc3NpYmxlIHVuc2FmZSBsb2Nr aW5nIHNjZW5hcmlvOgpbICAgMjMuMTAzNDk0XQpbICAgMjMuMTA5NTg0XSAgICAgICAgQ1BVMApb ICAgMjMuMTEyMDkzXSAgICAgICAgLS0tLQpbICAgMjMuMTE0NjAxXSAgIGxvY2soX3htaXRfRVRI RVIpOwpbICAgMjMuMTE3OTE3XSAgIGxvY2soX3htaXRfRVRIRVIpOwpbICAgMjMuMTIxMjMzXQpb ICAgMjMuMTIxMjMzXSAgKioqIERFQURMT0NLICoqKgpbICAgMjMuMTIxMjMzXQpbICAgMjMuMTI3 MzI1XSAgTWF5IGJlIGR1ZSB0byBtaXNzaW5nIGxvY2sgbmVzdGluZyBub3RhdGlvbgpbICAgMjMu MTI3MzI1XQpbICAgMjMuMTM0MzE1XSAyIGxvY2tzIGhlbGQgYnkgaXAvMjg2MToKWyAgIDIzLjEz Nzk4N10gICMwOiAwMDAwMDAwMDNiNzY2YzcyIChydG5sX211dGV4KXsrLisufSwgYXQ6IHJ0bmV0 bGlua19yY3ZfbXNnKzB4MzM4LzB4NGUwClsgICAyMy4xNDYyMzFdICAjMTogMDAwMDAwMDBlY2Yw YzNiNCAoX3htaXRfRVRIRVIpeysuLi59LCBhdDogZGV2X3VjX2FkZCsweDI0LzB4NzAKWyAgIDIz LjE1Mzc1N10KWyAgIDIzLjE1Mzc1N10gc3RhY2sgYmFja3RyYWNlOgpbICAgMjMuMTU4MjQzXSBD UFU6IDAgUElEOiAyODYxIENvbW06IGlwIE5vdCB0YWludGVkIDUuMC4wLXJjMy0wMDAxMy1nNTZj ODU3YTFiOGQzICMxMTgKWyAgIDIzLjE2NjIxMl0gSGFyZHdhcmUgbmFtZTogR2xvYmFsc2NhbGUg TWFydmVsbCBFU1BSRVNTT0JpbiBCb2FyZCAoRFQpClsgICAyMy4xNzI4NDNdIENhbGwgdHJhY2U6 ClsgICAyMy4xNzUzNThdICBkdW1wX2JhY2t0cmFjZSsweDAvMHgxODgKWyAgIDIzLjE3OTExNl0g IHNob3dfc3RhY2srMHgxNC8weDIwClsgICAyMy4xODI1MjRdICBkdW1wX3N0YWNrKzB4YjQvMHhl YwpbICAgMjMuMTg1OTI4XSAgX19sb2NrX2FjcXVpcmUrMHgxMjNjLzB4MTg2MApbICAgMjMuMTkw MDQ4XSAgbG9ja19hY3F1aXJlKzB4YzgvMHgyNDgKWyAgIDIzLjE5MzcyNF0gIF9yYXdfc3Bpbl9s b2NrX2JoKzB4NDAvMHg1OApbICAgMjMuMTk3NzU1XSAgZGV2X3NldF9yeF9tb2RlKzB4MWMvMHgz OApbICAgMjMuMjAxNjA3XSAgZGV2X3NldF9wcm9taXNjdWl0eSsweDNjLzB4NTAKWyAgIDIzLjIw NTgyMF0gIGRzYV9zbGF2ZV9jaGFuZ2VfcnhfZmxhZ3MrMHg1Yy8weDcwClsgICAyMy4yMTA1Njdd ICBfX2Rldl9zZXRfcHJvbWlzY3VpdHkrMHgxNDgvMHgxZTAKWyAgIDIzLjIxNTEzNl0gIF9fZGV2 X3NldF9yeF9tb2RlKzB4NzQvMHg5OApbICAgMjMuMjE5MTY3XSAgZGV2X3VjX2FkZCsweDU0LzB4 NzAKWyAgIDIzLjIyMjU3NV0gIG1hY3ZsYW5fb3BlbisweDE3MC8weDFkMApbICAgMjMuMjI2MzM2 XSAgX19kZXZfb3BlbisweGUwLzB4MTYwClsgICAyMy4yMjk4MzBdICBfX2Rldl9jaGFuZ2VfZmxh Z3MrMHgxNmMvMHgxYjgKWyAgIDIzLjIzNDEzMl0gIGRldl9jaGFuZ2VfZmxhZ3MrMHgyMC8weDYw ClsgICAyMy4yMzgwNzRdICBkb19zZXRsaW5rKzB4MmQwLzB4YzUwClsgICAyMy4yNDE2NThdICBf X3J0bmxfbmV3bGluaysweDVmOC8weDZlOApbICAgMjMuMjQ1NjAxXSAgcnRubF9uZXdsaW5rKzB4 NTAvMHg3OApbICAgMjMuMjQ5MTg0XSAgcnRuZXRsaW5rX3Jjdl9tc2crMHgzNjAvMHg0ZTAKWyAg IDIzLjI1MzM5N10gIG5ldGxpbmtfcmN2X3NrYisweGU4LzB4MTMwClsgICAyMy4yNTczMzhdICBy dG5ldGxpbmtfcmN2KzB4MTQvMHgyMApbICAgMjMuMjYxMDEyXSAgbmV0bGlua191bmljYXN0KzB4 MTkwLzB4MjEwClsgICAyMy4yNjUwNDNdICBuZXRsaW5rX3NlbmRtc2crMHgyODgvMHgzNTAKWyAg IDIzLjI2OTA3NV0gIHNvY2tfc2VuZG1zZysweDE4LzB4MzAKWyAgIDIzLjI3MjY1OV0gIF9fX3N5 c19zZW5kbXNnKzB4MjljLzB4MmM4ClsgICAyMy4yNzY2MDJdICBfX3N5c19zZW5kbXNnKzB4NjAv MHhiOApbICAgMjMuMjgwMjc2XSAgX19hcm02NF9zeXNfc2VuZG1zZysweDFjLzB4MjgKWyAgIDIz LjI4NDQ4OF0gIGVsMF9zdmNfY29tbW9uKzB4ZDgvMHgxMzgKWyAgIDIzLjI4ODM0MF0gIGVsMF9z dmNfaGFuZGxlcisweDI0LzB4ODAKWyAgIDIzLjI5MjE5Ml0gIGVsMF9zdmMrMHg4LzB4YwoKVGhp cyBsb29rcyBmYWlybHkgaGFybWxlc3MgKG5vIGFjdHVhbCBkZWFkbG9jayBvY2N1cnMpLCBhbmQg aXMKZml4ZWQgaW4gYSBzaW1pbGFyIHdheSB0byBjNjg5NGRlYzhlYTkgKCJicmlkZ2U6IGZpeCBs b2NrZGVwCmFkZHJfbGlzdF9sb2NrIGZhbHNlIHBvc2l0aXZlIHNwbGF0IikgYnkgcHV0dGluZyB0 aGUgYWRkcl9saXN0X2xvY2sKaW4gaXRzIG93biBsb2NrZGVwIGNsYXNzLgoKU2lnbmVkLW9mZi1i eTogTWFyYyBaeW5naWVyIDxtYXJjLnp5bmdpZXJAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IEZsb3Jp YW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2RzYS9tYXN0ZXIuYyB8IDQg KysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9k c2EvbWFzdGVyLmMgYi9uZXQvZHNhL21hc3Rlci5jCmluZGV4IDVlOGM5YmVmNzhiZC4uZGJmZGRh NWZlOGVkIDEwMDY0NAotLS0gYS9uZXQvZHNhL21hc3Rlci5jCisrKyBiL25ldC9kc2EvbWFzdGVy LmMKQEAgLTE3OSw2ICsxNzksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91 cCBkc2FfZ3JvdXAgPSB7CiAJLmF0dHJzCT0gZHNhX3NsYXZlX2F0dHJzLAogfTsKIAorc3RhdGlj IHN0cnVjdCBsb2NrX2NsYXNzX2tleSBkc2FfbWFzdGVyX2FkZHJfbGlzdF9sb2NrX2tleTsKKwog aW50IGRzYV9tYXN0ZXJfc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGRzYV9w b3J0ICpjcHVfZHApCiB7CiAJaW50IHJldDsKQEAgLTE5MCw2ICsxOTIsOCBAQCBpbnQgZHNhX21h c3Rlcl9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHNhX3BvcnQgKmNwdV9k cCkKIAl3bWIoKTsKIAogCWRldi0+ZHNhX3B0ciA9IGNwdV9kcDsKKwlsb2NrZGVwX3NldF9jbGFz cygmZGV2LT5hZGRyX2xpc3RfbG9jaywKKwkJCSAgJmRzYV9tYXN0ZXJfYWRkcl9saXN0X2xvY2tf a2V5KTsKIAogCXJldCA9IGRzYV9tYXN0ZXJfZXRodG9vbF9zZXR1cChkZXYpOwogCWlmIChyZXQp Ci0tIAoyLjIwLjEKCgpGcm9tIDUyNjVjYjlhNzJmZGZjMjlmYzhiMjU4ZDAxYmQwZGNlNDU2NTQy MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJw ZW50ZXJAb3JhY2xlLmNvbT4KRGF0ZTogV2VkLCA2IEZlYiAyMDE5IDE4OjM1OjE1ICswMzAwClN1 YmplY3Q6IFtQQVRDSCAwNi8yMV0gbmV0OiBkc2E6IEZpeCBOVUxMIGNoZWNraW5nIGluIGRzYV9z bGF2ZV9zZXRfZWVlKCkKClsgVXBzdHJlYW0gY29tbWl0IDAwNjcwY2I4YTczYjEwYjEwZDNjNDBm MDQ1YzE1NDExNzE1ZTQ0NjUgXQoKVGhpcyBmdW5jdGlvbiBjYW4ndCBzdWNjZWVkIGlmIGRwLT5w bCBpcyBOVUxMLiAgSXQgd2lsbCBPb3BzIGluc2lkZSB0aGUKY2FsbCB0byByZXR1cm4gcGh5bGlu a19ldGh0b29sX2dldF9lZWUoZHAtPnBsLCBlKTsKCkZpeGVzOiAxYmU1MmU5N2VkM2UgKCJkc2E6 IHNsYXZlOiBlZWU6IEFsbG93IHBvcnRzIHRvIHVzZSBwaHlsaW5rIikKU2lnbmVkLW9mZi1ieTog RGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgpSZXZpZXdlZC1ieTogRmxv cmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBWaXZpZW4g RGlkZWxvdCA8dml2aWVuLmRpZGVsb3RAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2RzYS9zbGF2ZS5jIHwgNCAr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL25ldC9kc2Evc2xhdmUuYyBiL25ldC9kc2Evc2xhdmUuYwppbmRleCBhZWM3OGY1 YWNhNzIuLjcxM2FmMzY0MGRkMCAxMDA2NDQKLS0tIGEvbmV0L2RzYS9zbGF2ZS5jCisrKyBiL25l dC9kc2Evc2xhdmUuYwpAQCAtNjM5LDcgKzYzOSw3IEBAIHN0YXRpYyBpbnQgZHNhX3NsYXZlX3Nl dF9lZWUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRvb2xfZWVlICplKQogCWlu dCByZXQ7CiAKIAkvKiBQb3J0J3MgUEhZIGFuZCBNQUMgYm90aCBuZWVkIHRvIGJlIEVFRSBjYXBh YmxlICovCi0JaWYgKCFkZXYtPnBoeWRldiAmJiAhZHAtPnBsKQorCWlmICghZGV2LT5waHlkZXYg fHwgIWRwLT5wbCkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIWRzLT5vcHMtPnNldF9tYWNf ZWVlKQpAQCAtNjU5LDcgKzY1OSw3IEBAIHN0YXRpYyBpbnQgZHNhX3NsYXZlX2dldF9lZWUoc3Ry dWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRvb2xfZWVlICplKQogCWludCByZXQ7CiAK IAkvKiBQb3J0J3MgUEhZIGFuZCBNQUMgYm90aCBuZWVkIHRvIGJlIEVFRSBjYXBhYmxlICovCi0J aWYgKCFkZXYtPnBoeWRldiAmJiAhZHAtPnBsKQorCWlmICghZGV2LT5waHlkZXYgfHwgIWRwLT5w bCkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIWRzLT5vcHMtPmdldF9tYWNfZWVlKQotLSAK Mi4yMC4xCgoKRnJvbSBlYTEzZjZhYzJjMmM1Y2IwNjdjY2U2OGQzZjQxYjQ2ZmViY2Y5MmIzIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+ CkRhdGU6IFdlZCwgNiBGZWIgMjAxOSAwMDowMjo1OCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDcv MjFdIG5ldDogZHNhOiBtdjg4ZTZ4eHg6IEZpeCBjb3VudGluZyBvZiBBVFUgdmlvbGF0aW9ucwoK WyBVcHN0cmVhbSBjb21taXQgNzVjMDVhNzRlNzQ1YWU3ZDY2M2IwNGQ3NTc3N2FmODBhZGEyMjMz YyBdCgpUaGUgQVRVIHBvcnQgdmVjdG9yIGNvbnRhaW5zIGEgYml0IHBlciBwb3J0IG9mIHRoZSBz d2l0Y2guIFRoZSBjb2RlCndyb25nbHkgdXNlZCBpdCBhcyBhIHBvcnQgbnVtYmVyLCBhbmQgaW5j cmVtZW50ZWQgYSBwb3J0IGNvdW50ZXIuIFRoaXMKcmVzdWx0ZWQgaW4gdGhlIHdyb25nIGludGVy ZmFjZXMgY291bnRlciBiZWluZyBpbmNyZW1lbnRlZCwgYW5kCnBvdGVudGlhbGx5IGdvaW5nIG9m ZiB0aGUgZW5kIG9mIHRoZSBhcnJheSBvZiBwb3J0cy4KCkZpeCB0aGlzIGJ5IHVzaW5nIHRoZSBz b3VyY2UgcG9ydCBJRCBmb3IgdGhlIHZpb2xhdGlvbiwgd2hpY2ggcmVhbGx5CmlzIGEgcG9ydCBu dW1iZXIuCgpSZXBvcnRlZC1ieTogQ2hyaXMgSGVhbHkgPENocmlzLkhlYWx5QHppaS5hZXJvPgpU ZXN0ZWQtYnk6IENocmlzIEhlYWx5IDxDaHJpcy5IZWFseUB6aWkuYWVybz4KRml4ZXM6IDY1ZjYw ZTQ1ODJiZCAoIm5ldDogZHNhOiBtdjg4ZTZ4eHg6IEtlZXAgQVRVL1ZUVSB2aW9sYXRpb24gc3Rh dGlzdGljcyIpClNpZ25lZC1vZmYtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMV9hdHUuYyB8IDIxICsrKysrKysrKysrKy0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9nbG9iYWwxX2F0dS5jIGIv ZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9nbG9iYWwxX2F0dS5jCmluZGV4IDUyMDBlNGJkY2U5 My4uZWEyNDM4NDBlZTBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2ds b2JhbDFfYXR1LmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9nbG9iYWwxX2F0dS5j CkBAIC0zMTQsNiArMzE0LDcgQEAgc3RhdGljIGlycXJldHVybl90IG12ODhlNnh4eF9nMV9hdHVf cHJvYl9pcnFfdGhyZWFkX2ZuKGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKIAlzdHJ1Y3QgbXY4 OGU2eHh4X2NoaXAgKmNoaXAgPSBkZXZfaWQ7CiAJc3RydWN0IG12ODhlNnh4eF9hdHVfZW50cnkg ZW50cnk7CisJaW50IHNwaWQ7CiAJaW50IGVycjsKIAl1MTYgdmFsOwogCkBAIC0zMzYsNiArMzM3 LDggQEAgc3RhdGljIGlycXJldHVybl90IG12ODhlNnh4eF9nMV9hdHVfcHJvYl9pcnFfdGhyZWFk X2ZuKGludCBpcnEsIHZvaWQgKmRldl9pZCkKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKIAorCXNw aWQgPSBlbnRyeS5zdGF0ZTsKKwogCWlmICh2YWwgJiBNVjg4RTZYWFhfRzFfQVRVX09QX0FHRV9P VVRfVklPTEFUSU9OKSB7CiAJCWRldl9lcnJfcmF0ZWxpbWl0ZWQoY2hpcC0+ZGV2LAogCQkJCSAg ICAiQVRVIGFnZSBvdXQgdmlvbGF0aW9uIGZvciAlcE1cbiIsCkBAIC0zNDQsMjMgKzM0NywyMyBA QCBzdGF0aWMgaXJxcmV0dXJuX3QgbXY4OGU2eHh4X2cxX2F0dV9wcm9iX2lycV90aHJlYWRfZm4o aW50IGlycSwgdm9pZCAqZGV2X2lkKQogCiAJaWYgKHZhbCAmIE1WODhFNlhYWF9HMV9BVFVfT1Bf TUVNQkVSX1ZJT0xBVElPTikgewogCQlkZXZfZXJyX3JhdGVsaW1pdGVkKGNoaXAtPmRldiwKLQkJ CQkgICAgIkFUVSBtZW1iZXIgdmlvbGF0aW9uIGZvciAlcE0gcG9ydHZlYyAleFxuIiwKLQkJCQkg ICAgZW50cnkubWFjLCBlbnRyeS5wb3J0dmVjKTsKLQkJY2hpcC0+cG9ydHNbZW50cnkucG9ydHZl Y10uYXR1X21lbWJlcl92aW9sYXRpb24rKzsKKwkJCQkgICAgIkFUVSBtZW1iZXIgdmlvbGF0aW9u IGZvciAlcE0gcG9ydHZlYyAleCBzcGlkICVkXG4iLAorCQkJCSAgICBlbnRyeS5tYWMsIGVudHJ5 LnBvcnR2ZWMsIHNwaWQpOworCQljaGlwLT5wb3J0c1tzcGlkXS5hdHVfbWVtYmVyX3Zpb2xhdGlv bisrOwogCX0KIAogCWlmICh2YWwgJiBNVjg4RTZYWFhfRzFfQVRVX09QX01JU1NfVklPTEFUSU9O KSB7CiAJCWRldl9lcnJfcmF0ZWxpbWl0ZWQoY2hpcC0+ZGV2LAotCQkJCSAgICAiQVRVIG1pc3Mg dmlvbGF0aW9uIGZvciAlcE0gcG9ydHZlYyAleFxuIiwKLQkJCQkgICAgZW50cnkubWFjLCBlbnRy eS5wb3J0dmVjKTsKLQkJY2hpcC0+cG9ydHNbZW50cnkucG9ydHZlY10uYXR1X21pc3NfdmlvbGF0 aW9uKys7CisJCQkJICAgICJBVFUgbWlzcyB2aW9sYXRpb24gZm9yICVwTSBwb3J0dmVjICV4IHNw aWQgJWRcbiIsCisJCQkJICAgIGVudHJ5Lm1hYywgZW50cnkucG9ydHZlYywgc3BpZCk7CisJCWNo aXAtPnBvcnRzW3NwaWRdLmF0dV9taXNzX3Zpb2xhdGlvbisrOwogCX0KIAogCWlmICh2YWwgJiBN Vjg4RTZYWFhfRzFfQVRVX09QX0ZVTExfVklPTEFUSU9OKSB7CiAJCWRldl9lcnJfcmF0ZWxpbWl0 ZWQoY2hpcC0+ZGV2LAotCQkJCSAgICAiQVRVIGZ1bGwgdmlvbGF0aW9uIGZvciAlcE0gcG9ydHZl YyAleFxuIiwKLQkJCQkgICAgZW50cnkubWFjLCBlbnRyeS5wb3J0dmVjKTsKLQkJY2hpcC0+cG9y dHNbZW50cnkucG9ydHZlY10uYXR1X2Z1bGxfdmlvbGF0aW9uKys7CisJCQkJICAgICJBVFUgZnVs bCB2aW9sYXRpb24gZm9yICVwTSBwb3J0dmVjICV4IHNwaWQgJWRcbiIsCisJCQkJICAgIGVudHJ5 Lm1hYywgZW50cnkucG9ydHZlYywgc3BpZCk7CisJCWNoaXAtPnBvcnRzW3NwaWRdLmF0dV9mdWxs X3Zpb2xhdGlvbisrOwogCX0KIAltdXRleF91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAotLSAK Mi4yMC4xCgoKRnJvbSAyNGVhOTM4MjdlNTg5NWU1NzNkOWYxMGU3ZDQzMjVmMDA0OWE5Zjk5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSdW5kb25nIEdlIDxyZG9uZy5nZUBnbWFpbC5j b20+CkRhdGU6IFNhdCwgMiBGZWIgMjAxOSAxNDoyOTozNSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg MDgvMjFdIG5ldDogZHNhOiBzbGF2ZTogRG9uJ3QgcHJvcGFnYXRlIGZsYWcgY2hhbmdlcyBvbiBk b3duCiBzbGF2ZSBpbnRlcmZhY2VzCgpbIFVwc3RyZWFtIGNvbW1pdCAxN2FiNGY2MWI4Y2Q2Zjlj MzhlOWQwYjkzNWQ4NmQ3M2I1ZDBkMmI1IF0KClRoZSB1bmJhbGFuY2Ugb2YgbWFzdGVyJ3MgcHJv bWlzY3VpdHkgb3IgYWxsbXVsdGkgd2lsbCBoYXBwZW4gYWZ0ZXIgaWZkb3duCmFuZCBpZnVwIGEg c2xhdmUgaW50ZXJmYWNlIHdoaWNoIGlzIGluIGEgYnJpZGdlLgoKV2hlbiB3ZSBpZmRvd24gYSBz bGF2ZSBpbnRlcmZhY2UgLCBib3RoIHRoZSAnZHNhX3NsYXZlX2Nsb3NlJyBhbmQKJ2RzYV9zbGF2 ZV9jaGFuZ2VfcnhfZmxhZ3MnIHdpbGwgY2xlYXIgdGhlIG1hc3RlcidzIGZsYWdzLiBUaGUgZmxh Z3MKb2YgbWFzdGVyIHdpbGwgYmUgZGVjcmVhc2UgdHdpY2UuCkluIHRoZSBvdGhlciBoYW5kLCBp ZiB3ZSBpZnVwIHRoZSBzbGF2ZSBpbnRlcmZhY2UgYWdhaW4sIHNpbmNlIHRoZQpzbGF2ZSdzIGZs YWdzIHdlcmUgY2xlYXJlZCB0aGUgJ2RzYV9zbGF2ZV9vcGVuJyB3b24ndCBzZXQgdGhlIG1hc3Rl cidzCmZsYWcsIG9ubHkgJ2RzYV9zbGF2ZV9jaGFuZ2VfcnhfZmxhZ3MnIHRoYXQgdHJpZ2dlcmVk IGJ5ICdicl9hZGRfaWYnCndpbGwgc2V0IHRoZSBtYXN0ZXIncyBmbGFncy4gVGhlIGZsYWdzIG9m IG1hc3RlciBpcyBpbmNyZWFzZSBvbmNlLgoKT25seSBwcm9wYWdhdGluZyBmbGFnIGNoYW5nZXMg d2hlbiBhIHNsYXZlIGludGVyZmFjZSBpcyB1cCBtYWtlcwpzdXJlIHRoaXMgZG9lcyBub3QgaGFw cGVuLiBUaGUgJ3ZsYW5fZGV2X2NoYW5nZV9yeF9mbGFncycgaGFkIHRoZQpzYW1lIHByb2JsZW0g YW5kIHdhcyBmaXhlZCwgYW5kIGNoYW5nZXMgaGVyZSBmb2xsb3dzIHRoYXQgZml4LgoKRml4ZXM6 IDkxZGExMWY4NzBmMCAoIm5ldDogRGlzdHJpYnV0ZWQgU3dpdGNoIEFyY2hpdGVjdHVyZSBwcm90 b2NvbCBzdXBwb3J0IikKU2lnbmVkLW9mZi1ieTogUnVuZG9uZyBHZSA8cmRvbmcuZ2VAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2RzYS9zbGF2ZS5jIHwgMTMgKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQs IDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvZHNhL3Ns YXZlLmMgYi9uZXQvZHNhL3NsYXZlLmMKaW5kZXggNzEzYWYzNjQwZGQwLi5hM2RkYzIyNWYxMDMg MTAwNjQ0Ci0tLSBhL25ldC9kc2Evc2xhdmUuYworKysgYi9uZXQvZHNhL3NsYXZlLmMKQEAgLTE0 MCwxMSArMTQwLDE0IEBAIHN0YXRpYyBpbnQgZHNhX3NsYXZlX2Nsb3NlKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpCiBzdGF0aWMgdm9pZCBkc2Ffc2xhdmVfY2hhbmdlX3J4X2ZsYWdzKHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYsIGludCBjaGFuZ2UpCiB7CiAJc3RydWN0IG5ldF9kZXZpY2UgKm1hc3Rl ciA9IGRzYV9zbGF2ZV90b19tYXN0ZXIoZGV2KTsKLQotCWlmIChjaGFuZ2UgJiBJRkZfQUxMTVVM VEkpCi0JCWRldl9zZXRfYWxsbXVsdGkobWFzdGVyLCBkZXYtPmZsYWdzICYgSUZGX0FMTE1VTFRJ ID8gMSA6IC0xKTsKLQlpZiAoY2hhbmdlICYgSUZGX1BST01JU0MpCi0JCWRldl9zZXRfcHJvbWlz Y3VpdHkobWFzdGVyLCBkZXYtPmZsYWdzICYgSUZGX1BST01JU0MgPyAxIDogLTEpOworCWlmIChk ZXYtPmZsYWdzICYgSUZGX1VQKSB7CisJCWlmIChjaGFuZ2UgJiBJRkZfQUxMTVVMVEkpCisJCQlk ZXZfc2V0X2FsbG11bHRpKG1hc3RlciwKKwkJCQkJIGRldi0+ZmxhZ3MgJiBJRkZfQUxMTVVMVEkg PyAxIDogLTEpOworCQlpZiAoY2hhbmdlICYgSUZGX1BST01JU0MpCisJCQlkZXZfc2V0X3Byb21p c2N1aXR5KG1hc3RlciwKKwkJCQkJICAgIGRldi0+ZmxhZ3MgJiBJRkZfUFJPTUlTQyA/IDEgOiAt MSk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBkc2Ffc2xhdmVfc2V0X3J4X21vZGUoc3RydWN0IG5l dF9kZXZpY2UgKmRldikKLS0gCjIuMjAuMQoKCkZyb20gYjQ4M2U0YmZlZjI3ODQ4YWMxYmQyNDlk MTFjOTMzNGFiZTM5ZDU3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBG YWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMSBGZWIgMjAxOSAxMzoy MzozOCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjFdIG5ldDogc3lzdGVtcG9ydDogRml4IFdv TCB3aXRoIHBhc3N3b3JkIGFmdGVyIGRlZXAgc2xlZXAKClsgVXBzdHJlYW0gY29tbWl0IDhkZmI4 ZDJjY2ViNzZiNzRhZDViNThjYzY1Yzc1OTk0MzI5YjRkNWUgXQoKQnJvYWRjb20gU1RCIGNoaXBz IHN1cHBvcnQgYSBkZWVwIHNsZWVwIG1vZGUgd2hlcmUgYWxsIHJlZ2lzdGVyCmNvbnRlbnRzIGFy ZSBsb3N0LiBCZWNhdXNlIHdlIHdlcmUgc3Rhc2hpbmcgdGhlIE1hZ2ljUGFja2V0IHBhc3N3b3Jk CmludG8gc29tZSBvZiB0aGVzZSByZWdpc3RlcnMgYSBzdXNwZW5kIGludG8gdGhhdCBkZWVwIHNs ZWVwIHRoZW4gYQpyZXN1bXB0aW9uIHdvdWxkIG5vdCBsZWFkIHRvIGJlaW5nIGFibGUgdG8gd2Fr ZS11cCBmcm9tIE1hZ2ljUGFja2V0IHdpdGgKcGFzc3dvcmQgYWdhaW4uCgpGaXggdGhpcyBieSBr ZWVwaW5nIGEgc29mdHdhcmUgY29weSBvZiB0aGUgcGFzc3dvcmQgYW5kIHByb2dyYW0gaXQKZHVy aW5nIHN1c3BlbmQuCgpGaXhlczogODNlODJmNGM3MDZiICgibmV0OiBzeXN0ZW1wb3J0OiBhZGQg V2FrZS1vbi1MQU4gc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYu ZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lz cG9ydC5jIHwgMjUgKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv YnJvYWRjb20vYmNtc3lzcG9ydC5oIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20v YmNtc3lzcG9ydC5jCmluZGV4IDBlMmQ5OWM3MzdlMy4uYmFhMTA5MDQwYjQwIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCkBAIC01MjAsNyArNTIwLDYgQEAg c3RhdGljIHZvaWQgYmNtX3N5c3BvcnRfZ2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAog CQkJCXN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbCkKIHsKIAlzdHJ1Y3QgYmNtX3N5c3BvcnRf cHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7Ci0JdTMyIHJlZzsKIAogCXdvbC0+c3VwcG9y dGVkID0gV0FLRV9NQUdJQyB8IFdBS0VfTUFHSUNTRUNVUkUgfCBXQUtFX0ZJTFRFUjsKIAl3b2wt PndvbG9wdHMgPSBwcml2LT53b2xvcHRzOwpAQCAtNTI4LDExICs1MjcsNyBAQCBzdGF0aWMgdm9p ZCBiY21fc3lzcG9ydF9nZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaWYgKCEocHJp di0+d29sb3B0cyAmIFdBS0VfTUFHSUNTRUNVUkUpKQogCQlyZXR1cm47CiAKLQkvKiBSZXR1cm4g dGhlIHByb2dyYW1tZWQgU2VjdXJlT24gcGFzc3dvcmQgKi8KLQlyZWcgPSB1bWFjX3JlYWRsKHBy aXYsIFVNQUNfUFNXX01TKTsKLQlwdXRfdW5hbGlnbmVkX2JlMTYocmVnLCAmd29sLT5zb3Bhc3Nb MF0pOwotCXJlZyA9IHVtYWNfcmVhZGwocHJpdiwgVU1BQ19QU1dfTFMpOwotCXB1dF91bmFsaWdu ZWRfYmUzMihyZWcsICZ3b2wtPnNvcGFzc1syXSk7CisJbWVtY3B5KHdvbC0+c29wYXNzLCBwcml2 LT5zb3Bhc3MsIHNpemVvZihwcml2LT5zb3Bhc3MpKTsKIH0KIAogc3RhdGljIGludCBiY21fc3lz cG9ydF9zZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCkBAIC01NDgsMTMgKzU0Myw4IEBA IHN0YXRpYyBpbnQgYmNtX3N5c3BvcnRfc2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAog CWlmICh3b2wtPndvbG9wdHMgJiB+c3VwcG9ydGVkKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCS8q IFByb2dyYW0gdGhlIFNlY3VyZU9uIHBhc3N3b3JkICovCi0JaWYgKHdvbC0+d29sb3B0cyAmIFdB S0VfTUFHSUNTRUNVUkUpIHsKLQkJdW1hY193cml0ZWwocHJpdiwgZ2V0X3VuYWxpZ25lZF9iZTE2 KCZ3b2wtPnNvcGFzc1swXSksCi0JCQkgICAgVU1BQ19QU1dfTVMpOwotCQl1bWFjX3dyaXRlbChw cml2LCBnZXRfdW5hbGlnbmVkX2JlMzIoJndvbC0+c29wYXNzWzJdKSwKLQkJCSAgICBVTUFDX1BT V19MUyk7Ci0JfQorCWlmICh3b2wtPndvbG9wdHMgJiBXQUtFX01BR0lDU0VDVVJFKQorCQltZW1j cHkocHJpdi0+c29wYXNzLCB3b2wtPnNvcGFzcywgc2l6ZW9mKHByaXYtPnNvcGFzcykpOwogCiAJ LyogRmxhZyB0aGUgZGV2aWNlIGFuZCByZWxldmFudCBJUlEgYXMgd2FrZXVwIGNhcGFibGUgKi8K IAlpZiAod29sLT53b2xvcHRzKSB7CkBAIC0yNTkyLDEzICsyNTgyLDE4IEBAIHN0YXRpYyBpbnQg YmNtX3N5c3BvcnRfc3VzcGVuZF90b193b2woc3RydWN0IGJjbV9zeXNwb3J0X3ByaXYgKnByaXYp CiAJdW5zaWduZWQgaW50IGluZGV4LCBpID0gMDsKIAl1MzIgcmVnOwogCi0JLyogUGFzc3dvcmQg aGFzIGFscmVhZHkgYmVlbiBwcm9ncmFtbWVkICovCiAJcmVnID0gdW1hY19yZWFkbChwcml2LCBV TUFDX01QRF9DVFJMKTsKIAlpZiAocHJpdi0+d29sb3B0cyAmIChXQUtFX01BR0lDIHwgV0FLRV9N QUdJQ1NFQ1VSRSkpCiAJCXJlZyB8PSBNUERfRU47CiAJcmVnICY9IH5QU1dfRU47Ci0JaWYgKHBy aXYtPndvbG9wdHMgJiBXQUtFX01BR0lDU0VDVVJFKQorCWlmIChwcml2LT53b2xvcHRzICYgV0FL RV9NQUdJQ1NFQ1VSRSkgeworCQkvKiBQcm9ncmFtIHRoZSBTZWN1cmVPbiBwYXNzd29yZCAqLwor CQl1bWFjX3dyaXRlbChwcml2LCBnZXRfdW5hbGlnbmVkX2JlMTYoJnByaXYtPnNvcGFzc1swXSks CisJCQkgICAgVU1BQ19QU1dfTVMpOworCQl1bWFjX3dyaXRlbChwcml2LCBnZXRfdW5hbGlnbmVk X2JlMzIoJnByaXYtPnNvcGFzc1syXSksCisJCQkgICAgVU1BQ19QU1dfTFMpOwogCQlyZWcgfD0g UFNXX0VOOworCX0KIAl1bWFjX3dyaXRlbChwcml2LCByZWcsIFVNQUNfTVBEX0NUUkwpOwogCiAJ aWYgKHByaXYtPndvbG9wdHMgJiBXQUtFX0ZJTFRFUikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv YnJvYWRjb20vYmNtc3lzcG9ydC5oCmluZGV4IGE3YTIzMDg4NGE4Ny4uOTMwYWI4ZGUzZjQ1IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmgKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5oCkBAIC0xMiw2ICsx Miw3IEBACiAjZGVmaW5lIF9fQkNNX1NZU1BPUlRfSAogCiAjaW5jbHVkZSA8bGludXgvYml0bWFw Lmg+CisjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lmX3ZsYW4u aD4KICNpbmNsdWRlIDxsaW51eC9uZXRfZGltLmg+CiAKQEAgLTc3OCw2ICs3NzksNyBAQCBzdHJ1 Y3QgYmNtX3N5c3BvcnRfcHJpdiB7CiAJdW5zaWduZWQgaW50CQljcmNfZndkOjE7CiAJdTE2CQkJ cmV2OwogCXUzMgkJCXdvbG9wdHM7CisJdTgJCQlzb3Bhc3NbU09QQVNTX01BWF07CiAJdW5zaWdu ZWQgaW50CQl3b2xfaXJxX2Rpc2FibGVkOjE7CiAKIAkvKiBNSUIgcmVsYXRlZCBmaWVsZHMgKi8K LS0gCjIuMjAuMQoKCkZyb20gMGM3OTA2MTIyZmZjNjViMGU1MDE1YjNmZDYzMGVkMjk5MmMwOWE0 MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDA4OjQ3OjEwIC0wODAwClN1YmplY3Q6 IFtQQVRDSCAxMC8yMV0gcmRzOiBmaXggcmVmY291bnQgYnVnIGluIHJkc19zb2NrX2FkZHJlZgoK WyBVcHN0cmVhbSBjb21taXQgNmZhMTlmNTYzN2E2YzIyYmMwOTk5NTk2YmNjODNiZGNhYzhhNGZh NiBdCgpzeXpib3Qgd2FzIGFibGUgdG8gY2F0Y2ggYSBidWcgaW4gcmRzIFsxXQoKVGhlIGlzc3Vl IGhlcmUgaXMgdGhhdCB0aGUgc29ja2V0IG1pZ2h0IGJlIGZvdW5kIGluIGEgaGFzaCB0YWJsZQpi dXQgdGhhdCBpdHMgcmVmY291bnQgaGFzIGFscmVhZHkgYmUgc2V0IHRvIDAgYnkgYW5vdGhlciBj cHUuCgpXZSBuZWVkIHRvIHVzZSByZWZjb3VudF9pbmNfbm90X3plcm8oKSB0byBiZSBzYWZlIGhl cmUuCgpbMV0KCnJlZmNvdW50X3Q6IGluY3JlbWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS4KV0FS TklORzogQ1BVOiAxIFBJRDogMjMxMjkgYXQgbGliL3JlZmNvdW50LmM6MTUzIHJlZmNvdW50X2lu Y19jaGVja2VkIGxpYi9yZWZjb3VudC5jOjE1MyBbaW5saW5lXQpXQVJOSU5HOiBDUFU6IDEgUElE OiAyMzEyOSBhdCBsaWIvcmVmY291bnQuYzoxNTMgcmVmY291bnRfaW5jX2NoZWNrZWQrMHg2MS8w eDcwIGxpYi9yZWZjb3VudC5jOjE1MQpLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogcGFuaWNf b25fd2FybiBzZXQgLi4uCkNQVTogMSBQSUQ6IDIzMTI5IENvbW06IHN5ei1leGVjdXRvcjMgTm90 IHRhaW50ZWQgNS4wLjAtcmM0KyAjNTMKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21w dXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEK Q2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBk dW1wX3N0YWNrKzB4MWRiLzB4MmQwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBwYW5pYysweDJjYi8w eDY1YyBrZXJuZWwvcGFuaWMuYzoyMTQKIF9fd2Fybi5jb2xkKzB4MjAvMHg0OCBrZXJuZWwvcGFu aWMuYzo1NzEKIHJlcG9ydF9idWcrMHgyNjMvMHgyYjAgbGliL2J1Zy5jOjE4NgogZml4dXBfYnVn IGFyY2gveDg2L2tlcm5lbC90cmFwcy5jOjE3OCBbaW5saW5lXQogZml4dXBfYnVnIGFyY2gveDg2 L2tlcm5lbC90cmFwcy5jOjE3MyBbaW5saW5lXQogZG9fZXJyb3JfdHJhcCsweDExYi8weDIwMCBh cmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoyNzEKIGRvX2ludmFsaWRfb3ArMHgzNy8weDUwIGFyY2gv eDg2L2tlcm5lbC90cmFwcy5jOjI5MAogaW52YWxpZF9vcCsweDE0LzB4MjAgYXJjaC94ODYvZW50 cnkvZW50cnlfNjQuUzo5NzMKUklQOiAwMDEwOnJlZmNvdW50X2luY19jaGVja2VkIGxpYi9yZWZj b3VudC5jOjE1MyBbaW5saW5lXQpSSVA6IDAwMTA6cmVmY291bnRfaW5jX2NoZWNrZWQrMHg2MS8w eDcwIGxpYi9yZWZjb3VudC5jOjE1MQpDb2RlOiAxZCA1MSA2MyBjOCAwNiAzMSBmZiA4OSBkZSBl OCBlYiAxYiBmMiBmZCA4NCBkYiA3NSBkZCBlOCBhMiAxYSBmMiBmZCA0OCBjNyBjNyA2MCA5ZiA4 MSA4OCBjNiAwNSAzMSA2MyBjOCAwNiAwMSBlOCBhZiA2NSBiYiBmZCA8MGY+IDBiIGViIGMxIDkw IDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDU1IDQ4IDg5IGU1IDQxIDU0IDQ5ClJTUDog MDAxODpmZmZmODg4MGEwY2JmMWU4IEVGTEFHUzogMDAwMTAyODIKUkFYOiAwMDAwMDAwMDAwMDAw MDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZjOTAwMDYxMTMwMDAKUkRYOiAwMDAw MDAwMDAwMDEwNDdkIFJTSTogZmZmZmZmZmY4MTY4NTc3NiBSREk6IDAwMDAwMDAwMDAwMDAwMDUK UkJQOiBmZmZmODg4MGEwY2JmMWY4IFIwODogZmZmZjg4ODA5N2M5ZTEwMCBSMDk6IGZmZmZlZDEw MTVjZTUwMjEKUjEwOiBmZmZmZWQxMDE1Y2U1MDIwIFIxMTogZmZmZjg4ODBhZTcyODEwNyBSMTI6 IGZmZmY4ODgwNzIzYzIwYzAKUjEzOiBmZmZmODg4MDcyM2MyNGIwIFIxNDogZGZmZmZjMDAwMDAw MDAwMCBSMTU6IGZmZmZlZDEwMTQxOTdlNjQKIHNvY2tfaG9sZCBpbmNsdWRlL25ldC9zb2NrLmg6 NjQ3IFtpbmxpbmVdCiByZHNfc29ja19hZGRyZWYrMHgxOS8weDIwIG5ldC9yZHMvYWZfcmRzLmM6 Njc1CiByZHNfZmluZF9ib3VuZCsweDk3Yy8weDEwODAgbmV0L3Jkcy9iaW5kLmM6ODIKIHJkc19y ZWN2X2luY29taW5nKzB4M2JlLzB4MTQzMCBuZXQvcmRzL3JlY3YuYzozNjIKIHJkc19sb29wX3ht aXQrMHhmMy8weDJhMCBuZXQvcmRzL2xvb3AuYzo5NgogcmRzX3NlbmRfeG1pdCsweDEzNTUvMHgy YTEwIG5ldC9yZHMvc2VuZC5jOjM1NQogcmRzX3NlbmRtc2crMHgzMjNjLzB4NDRlMCBuZXQvcmRz L3NlbmQuYzoxMzY4CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyMSBbaW5saW5l XQogc29ja19zZW5kbXNnKzB4ZGQvMHgxMzAgbmV0L3NvY2tldC5jOjYzMQogX19zeXNfc2VuZHRv KzB4Mzg3LzB4NWYwIG5ldC9zb2NrZXQuYzoxNzg4CiBfX2RvX3N5c19zZW5kdG8gbmV0L3NvY2tl dC5jOjE4MDAgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmR0byBuZXQvc29ja2V0LmM6MTc5NiBbaW5s aW5lXQogX194NjRfc3lzX3NlbmR0bysweGUxLzB4MWEwIG5ldC9zb2NrZXQuYzoxNzk2CiBkb19z eXNjYWxsXzY0KzB4MWEzLzB4ODAwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlf U1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NTgwODkKQ29k ZTogNmQgYjcgZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAgNDgg ODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIg NGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyAzYiBiNyBmYiBmZiBjMyA2 NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmYzI2NmRmOGM3OCBFRkxB R1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJjClJBWDogZmZmZmZmZmZmZmZm ZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDYgUkNYOiAwMDAwMDAwMDAwNDU4MDg5ClJEWDogMDAw MDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjA0YjNmZmYgUkRJOiAwMDAwMDAwMDAwMDAwMDA1 ClJCUDogMDAwMDAwMDAwMDczYmYwMCBSMDg6IDAwMDAwMDAwMjAyYjQwMDAgUjA5OiAwMDAwMDAw MDAwMDAwMDEwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEy OiAwMDAwN2ZjMjY2ZGY5NmQ0ClIxMzogMDAwMDAwMDAwMDRjNTZlNCBSMTQ6IDAwMDAwMDAwMDA0 ZDk0YTggUjE1OiAwMDAwMDAwMGZmZmZmZmZmCgpGaXhlczogY2M0ZGZiN2Y3MGEzICgicmRzOiBm aXggdHdvIFJDVSByZWxhdGVkIHByb2JsZW1zIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0 IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29v Z2xlZ3JvdXBzLmNvbT4KQ2M6IFNvd21pbmkgVmFyYWRoYW4gPHNvd21pbmkudmFyYWRoYW5Ab3Jh Y2xlLmNvbT4KQ2M6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50b3NoLnNoaWxpbWthckBvcmFjbGUu Y29tPgpDYzogcmRzLWRldmVsQG9zcy5vcmFjbGUuY29tCkNjOiBDb25nIFdhbmcgPHhpeW91Lndh bmdjb25nQGdtYWlsLmNvbT4KQWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50b3NoLnNo aWxpbWthckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jkcy9iaW5kLmMgfCA2ICsrKy0tLQogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv cmRzL2JpbmQuYyBiL25ldC9yZHMvYmluZC5jCmluZGV4IDc2MmQyYzY3ODhhMy4uMTdjOWQ5ZjBj ODQ4IDEwMDY0NAotLS0gYS9uZXQvcmRzL2JpbmQuYworKysgYi9uZXQvcmRzL2JpbmQuYwpAQCAt NzgsMTAgKzc4LDEwIEBAIHN0cnVjdCByZHNfc29jayAqcmRzX2ZpbmRfYm91bmQoY29uc3Qgc3Ry dWN0IGluNl9hZGRyICphZGRyLCBfX2JlMTYgcG9ydCwKIAlfX3Jkc19jcmVhdGVfYmluZF9rZXko a2V5LCBhZGRyLCBwb3J0LCBzY29wZV9pZCk7CiAJcmN1X3JlYWRfbG9jaygpOwogCXJzID0gcmhh c2h0YWJsZV9sb29rdXAoJmJpbmRfaGFzaF90YWJsZSwga2V5LCBodF9wYXJtcyk7Ci0JaWYgKHJz ICYmICFzb2NrX2ZsYWcocmRzX3JzX3RvX3NrKHJzKSwgU09DS19ERUFEKSkKLQkJcmRzX3NvY2tf YWRkcmVmKHJzKTsKLQllbHNlCisJaWYgKHJzICYmIChzb2NrX2ZsYWcocmRzX3JzX3RvX3NrKHJz KSwgU09DS19ERUFEKSB8fAorCQkgICAhcmVmY291bnRfaW5jX25vdF96ZXJvKCZyZHNfcnNfdG9f c2socnMpLT5za19yZWZjbnQpKSkKIAkJcnMgPSBOVUxMOworCiAJcmN1X3JlYWRfdW5sb2NrKCk7 CiAKIAlyZHNkZWJ1ZygicmV0dXJuaW5nIHJzICVwIGZvciAlcEk2YzoldVxuIiwgcnMsIGFkZHIs Ci0tIAoyLjIwLjEKCgpGcm9tIDRkM2MwM2JjYzViYTA0ZDJjMDZmMGNmMmI3MWY2N2FmMDVmNTRj MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5l bEBhcm1saW51eC5vcmcudWs+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMTY6NTk6NDYgKzAwMDAK U3ViamVjdDogW1BBVENIIDExLzIxXSBSZXZlcnQgIm5ldDogcGh5OiBtYXJ2ZWxsOiBhdm9pZCBw YXVzZSBtb2RlIG9uCiBTR01JSS10by1Db3BwZXIgZm9yIDg4ZTE1MXgiCgpbIFVwc3RyZWFtIGNv bW1pdCBjMTRmMDdjNjIxMWNjMDFkNTJlZDkyY2NlMWZhZGU1MDcxYjhkMTk3IF0KClRoaXMgcmV2 ZXJ0cyBjb21taXQgNjYyM2MwZmJhMTBlZjQ1YjY0Y2EyMTNhZDVkZWM5MjZmMzdmYTlhMC4KClRo ZSBvcmlnaW5hbCBkaWFnbm9zaXMgd2FzIGluY29ycmVjdDogaXQgYXBwZWFycyB0aGF0IHRoZSBO SUMgaGFkClBIWSBwb2xsaW5nIG1vZGUgZW5hYmxlZCwgd2hpY2ggbWVhbnQgdGhhdCBpdCBvdmVy d3JvdGUgdGhlIFBIWXMKYWR2ZXJ0aXNlbWVudCByZWdpc3RlciBkdXJpbmcgbmVnb3RpYXRpb24u CgpTaWduZWQtb2ZmLWJ5OiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVr PgpUZXN0ZWQtYnk6IFlvbmdsb25nIExpdSA8bGl1eW9uZ2xvbmdAaHVhd2VpLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L3BoeS9tYXJ2ZWxsLmMgfCAxMiAtLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAx MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbWFydmVsbC5jIGIv ZHJpdmVycy9uZXQvcGh5L21hcnZlbGwuYwppbmRleCBmNDZkYTYyNjJhYmUuLmY1MjkwYWRiNDlm MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L21hcnZlbGwuYworKysgYi9kcml2ZXJzL25l dC9waHkvbWFydmVsbC5jCkBAIC04NDcsOCArODQ3LDYgQEAgc3RhdGljIGludCBtODhlMTUxMF9j b25maWdfaW5pdChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCiAJLyogU0dNSUktdG8tQ29w cGVyIG1vZGUgaW5pdGlhbGl6YXRpb24gKi8KIAlpZiAocGh5ZGV2LT5pbnRlcmZhY2UgPT0gUEhZ X0lOVEVSRkFDRV9NT0RFX1NHTUlJKSB7Ci0JCXUzMiBwYXVzZTsKLQogCQkvKiBTZWxlY3QgcGFn ZSAxOCAqLwogCQllcnIgPSBtYXJ2ZWxsX3NldF9wYWdlKHBoeWRldiwgMTgpOwogCQlpZiAoZXJy IDwgMCkKQEAgLTg3MSwxNiArODY5LDYgQEAgc3RhdGljIGludCBtODhlMTUxMF9jb25maWdfaW5p dChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCQllcnIgPSBtYXJ2ZWxsX3NldF9wYWdlKHBo eWRldiwgTUlJX01BUlZFTExfQ09QUEVSX1BBR0UpOwogCQlpZiAoZXJyIDwgMCkKIAkJCXJldHVy biBlcnI7Ci0KLQkJLyogVGhlcmUgYXBwZWFycyB0byBiZSBhIGJ1ZyBpbiB0aGUgODhlMTUxMiB3 aGVuIHVzZWQgaW4KLQkJICogU0dNSUkgdG8gY29wcGVyIG1vZGUsIHdoZXJlIHRoZSBBTiBhZHZl cnRpc2VtZW50IHJlZ2lzdGVyCi0JCSAqIGNsZWFycyB0aGUgcGF1c2UgYml0cyBlYWNoIHRpbWUg YSBuZWdvdGlhdGlvbiBvY2N1cnMuCi0JCSAqIFRoaXMgbWVhbnMgd2UgY2FuIG5ldmVyIGJlIHRy dWVseSBzdXJlIHdoYXQgd2FzIGFkdmVydGlzZWQsCi0JCSAqIHNvIGRpc2FibGUgUGF1c2Ugc3Vw cG9ydC4KLQkJICovCi0JCXBhdXNlID0gU1VQUE9SVEVEX1BhdXNlIHwgU1VQUE9SVEVEX0FzeW1f UGF1c2U7Ci0JCXBoeWRldi0+c3VwcG9ydGVkICY9IH5wYXVzZTsKLQkJcGh5ZGV2LT5hZHZlcnRp c2luZyAmPSB+cGF1c2U7CiAJfQogCiAJcmV0dXJuIG04OGUxMzE4X2NvbmZpZ19pbml0KHBoeWRl dik7Ci0tIAoyLjIwLjEKCgpGcm9tIGQ3ZjllOTA0ZmNkOTJkZTdiOTE5ODZkOWFmNDQwYjE5OWQ0 ODM0NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6 ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDE5IDA4OjM2OjA2IC0wODAwClN1Ympl Y3Q6IFtQQVRDSCAxMi8yMV0gcnhycGM6IGJhZCB1bmxvY2sgYmFsYW5jZSBpbiByeHJwY19yZWN2 bXNnCgpbIFVwc3RyZWFtIGNvbW1pdCA2ZGNlM2MyMGFjNDI5ZTdhNjUxZDcyOGUzNzU4NTMzNzBj Nzk2ZThkIF0KCldoZW4gZWl0aGVyICJnb3RvIHdhaXRfaW50ZXJydXB0ZWQ7IiBvciAiZ290byB3 YWl0X2Vycm9yOyIKcGF0aHMgYXJlIHRha2VuLCBzb2NrZXQgbG9jayBoYXMgYWxyZWFkeSBiZWVu IHJlbGVhc2VkLgoKVGhpcyBwYXRjaCBmaXhlcyBmb2xsb3dpbmcgc3l6Ym90IHNwbGF0IDoKCldB Uk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKNS4wLjAtcmM0KyAjNTkgTm90IHRh aW50ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzeXotZXhlY3V0b3Iy MjMvODI1NiBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrIChza19sb2NrLUFGX1JYUlBDKSBhdDoK WzxmZmZmZmZmZjg2NjUxMzUzPl0gcnhycGNfcmVjdm1zZysweDZkMy8weDMwOTkgbmV0L3J4cnBj L3JlY3Ztc2cuYzo1OTgKYnV0IHRoZXJlIGFyZSBubyBtb3JlIGxvY2tzIHRvIHJlbGVhc2UhCgpv dGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlzOgoxIGxvY2sgaGVsZCBieSBz eXotZXhlY3V0b3IyMjMvODI1NjoKICMwOiAwMDAwMDAwMGZhOWVkMGY0IChzbG9jay1BRl9SWFJQ Qyl7Ky4uLn0sIGF0OiBzcGluX2xvY2tfYmggaW5jbHVkZS9saW51eC9zcGlubG9jay5oOjMzNCBb aW5saW5lXQogIzA6IDAwMDAwMDAwZmE5ZWQwZjQgKHNsb2NrLUFGX1JYUlBDKXsrLi4ufSwgYXQ6 IHJlbGVhc2Vfc29jaysweDIwLzB4MWMwIG5ldC9jb3JlL3NvY2suYzoyNzk4CgpzdGFjayBiYWNr dHJhY2U6CkNQVTogMSBQSUQ6IDgyNTYgQ29tbTogc3l6LWV4ZWN1dG9yMjIzIE5vdCB0YWludGVk IDUuMC4wLXJjNCsgIzU5CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdp bmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJh Y2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFj aysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5jOjExMwogcHJpbnRfdW5sb2NrX2ltYmFsYW5j ZV9idWcga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjMzOTEgW2lubGluZV0KIHByaW50X3VubG9j a19pbWJhbGFuY2VfYnVnLmNvbGQrMHgxMTQvMHgxMjMga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5j OjMzNjgKIF9fbG9ja19yZWxlYXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNjAxIFtpbmxp bmVdCiBsb2NrX3JlbGVhc2UrMHg2N2UvMHhhMDAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjM4 NjAKIHNvY2tfcmVsZWFzZV9vd25lcnNoaXAgaW5jbHVkZS9uZXQvc29jay5oOjE0NzEgW2lubGlu ZV0KIHJlbGVhc2Vfc29jaysweDE4My8weDFjMCBuZXQvY29yZS9zb2NrLmM6MjgwOAogcnhycGNf cmVjdm1zZysweDZkMy8weDMwOTkgbmV0L3J4cnBjL3JlY3Ztc2cuYzo1OTgKIHNvY2tfcmVjdm1z Z19ub3NlYyBuZXQvc29ja2V0LmM6Nzk0IFtpbmxpbmVdCiBzb2NrX3JlY3Ztc2cgbmV0L3NvY2tl dC5jOjgwMSBbaW5saW5lXQogc29ja19yZWN2bXNnKzB4ZDAvMHgxMTAgbmV0L3NvY2tldC5jOjc5 NwogX19zeXNfcmVjdmZyb20rMHgxZmYvMHgzNTAgbmV0L3NvY2tldC5jOjE4NDUKIF9fZG9fc3lz X3JlY3Zmcm9tIG5ldC9zb2NrZXQuYzoxODYzIFtpbmxpbmVdCiBfX3NlX3N5c19yZWN2ZnJvbSBu ZXQvc29ja2V0LmM6MTg1OSBbaW5saW5lXQogX194NjRfc3lzX3JlY3Zmcm9tKzB4ZTEvMHgxYTAg bmV0L3NvY2tldC5jOjE4NTkKIGRvX3N5c2NhbGxfNjQrMHgxMDMvMHg2MTAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJl ClJJUDogMDAzMzoweDQ0NjM3OQpDb2RlOiBlOCAyYyBiMyAwMiAwMCA0OCA4MyBjNCAxOCBjMyAw ZiAxZiA4MCAwMCAwMCAwMCAwMCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0 ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZm IDBmIDgzIDJiIDA5IGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAy YjowMDAwN2ZlNWRhODlmZDk4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAw MDAwMmQKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDZkYmMyOCBSQ1g6IDAw MDAwMDAwMDA0NDYzNzkKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAw MCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAwMDAwNmRiYzIwIFIwODogMDAwMDAw MDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDA2ZGJjMmMKUjEzOiAwMDAwMDAwMDAw MDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDIwYzQ5YmE1ZTM1M2Y3Y2YKCkZpeGVz OiAyNDhmMjE5Y2I4YmMgKCJyeHJwYzogUmV3cml0ZSB0aGUgZGF0YSBhbmQgYWNrIGhhbmRsaW5n IGNvZGUiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ CkNjOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9yeHJwYy9yZWN2bXNnLmMgfCAz ICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL25ldC9yeHJwYy9yZWN2bXNnLmMgYi9uZXQvcnhycGMvcmVjdm1zZy5jCmluZGV4 IGVhZjE5ZWJhYTk2NC4uM2Y3YmIxMWYzMjkwIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvcmVjdm1z Zy5jCisrKyBiL25ldC9yeHJwYy9yZWN2bXNnLmMKQEAgLTU5Niw2ICs1OTYsNyBAQCBpbnQgcnhy cGNfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNpemVf dCBsZW4sCiAJfQogZXJyb3Jfbm9fY2FsbDoKIAlyZWxlYXNlX3NvY2soJnJ4LT5zayk7CitlcnJv cl90cmFjZToKIAl0cmFjZV9yeHJwY19yZWN2bXNnKGNhbGwsIHJ4cnBjX3JlY3Ztc2dfcmV0dXJu LCAwLCAwLCAwLCByZXQpOwogCXJldHVybiByZXQ7CiAKQEAgLTYwNCw3ICs2MDUsNyBAQCBpbnQg cnhycGNfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNp emVfdCBsZW4sCiB3YWl0X2Vycm9yOgogCWZpbmlzaF93YWl0KHNrX3NsZWVwKCZyeC0+c2spLCAm d2FpdCk7CiAJY2FsbCA9IE5VTEw7Ci0JZ290byBlcnJvcl9ub19jYWxsOworCWdvdG8gZXJyb3Jf dHJhY2U7CiB9CiAKIC8qKgotLSAKMi4yMC4xCgoKRnJvbSA4NzRiNTY0YWE4OGY5NjExZjAzNjZl ZjNiNThiY2MwNTY3ZDk1MjE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9u ZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IE1vbiwgNCBGZWIgMjAxOSAwMzoyNzo1OCAr MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjFdIHNjdHA6IGNoZWNrIGFuZCB1cGRhdGUgc3RyZWFt LT5vdXRfY3VyciB3aGVuIGFsbG9jYXRpbmcKIHN0cmVhbV9vdXQKClsgVXBzdHJlYW0gY29tbWl0 IGNmZTRiZDdhMjU3ZjZkNmY4MWQzNDU4ZDhjOWQ5ZWM0OTU3NTM5ZTYgXQoKTm93IHdoZW4gdXNp bmcgc3RyZWFtIHJlY29uZmlnIHRvIGFkZCBvdXQgc3RyZWFtcywgc3RyZWFtLT5vdXQKd2lsbCBn ZXQgcmUtYWxsb2NhdGVkLCBhbmQgYWxsIG9sZCBzdHJlYW1zJyBpbmZvcm1hdGlvbiB3aWxsCmJl IGNvcGllZCB0byB0aGUgbmV3IG9uZXMgYW5kIHRoZSBvbGQgb25lcyB3aWxsIGJlIGZyZWVkLgoK U28gd2l0aG91dCBzdHJlYW0tPm91dF9jdXJyIHVwZGF0ZWQsIG5leHQgdGltZSB3aGVuIHRyeWlu ZyB0bwpzZW5kIGZyb20gc3RyZWFtLT5vdXRfY3VyciBzdHJlYW0sIGEgcGFuaWMgd291bGQgYmUg Y2F1c2VkLgoKVGhpcyBwYXRjaCBpcyB0byBjaGVjayBhbmQgdXBkYXRlIHN0cmVhbS0+b3V0X2N1 cnIgd2hlbgphbGxvY2F0aW5nIHN0cmVhbV9vdXQuCgp2MS0+djI6CiAgLSBkZWZpbmUgZmFfaW5k ZXgoKSB0byBnZXQgZWxlbSBpbmRleCBmcm9tIHN0cmVhbS0+b3V0X2N1cnIuCnYyLT52MzoKICAt IHJlcG9zdCB3aXRoIG5vIGNoYW5nZS4KCkZpeGVzOiA1YmJiYmUzMmE0MzEgKCJzY3RwOiBpbnRy b2R1Y2Ugc3RyZWFtIHNjaGVkdWxlciBmb3VuZGF0aW9ucyIpClJlcG9ydGVkLWJ5OiBZaW5nIFh1 IDx5aW54dUByZWRoYXQuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90K2UzM2EzYTEzODI2N2NhMTE5 YzdkQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1 Y2llbi54aW5AZ21haWwuY29tPgpBY2tlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJp dmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY3RwL3N0cmVhbS5jIHwgMjAgKysrKysrKysrKysrKysrKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc3Ry ZWFtLmMgYi9uZXQvc2N0cC9zdHJlYW0uYwppbmRleCA4MGUwYWU1NTM0ZWMuLmYyNDYzMzExNGRm ZCAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc3RyZWFtLmMKKysrIGIvbmV0L3NjdHAvc3RyZWFtLmMK QEAgLTg0LDYgKzg0LDE5IEBAIHN0YXRpYyB2b2lkIGZhX3plcm8oc3RydWN0IGZsZXhfYXJyYXkg KmZhLCBzaXplX3QgaW5kZXgsIHNpemVfdCBjb3VudCkKIAl9CiB9CiAKK3N0YXRpYyBzaXplX3Qg ZmFfaW5kZXgoc3RydWN0IGZsZXhfYXJyYXkgKmZhLCB2b2lkICplbGVtLCBzaXplX3QgY291bnQp Cit7CisJc2l6ZV90IGluZGV4ID0gMDsKKworCXdoaWxlIChjb3VudC0tKSB7CisJCWlmIChlbGVt ID09IGZsZXhfYXJyYXlfZ2V0KGZhLCBpbmRleCkpCisJCQlicmVhazsKKwkJaW5kZXgrKzsKKwl9 CisKKwlyZXR1cm4gaW5kZXg7Cit9CisKIC8qIE1pZ3JhdGVzIGNodW5rcyBmcm9tIHN0cmVhbSBx dWV1ZXMgdG8gbmV3IHN0cmVhbSBxdWV1ZXMgaWYgbmVlZGVkLAogICogYnV0IG5vdCBhY3Jvc3Mg YXNzb2NpYXRpb25zLiBBbHNvLCByZW1vdmVzIHRob3NlIGNodW5rcyB0byBzdHJlYW1zCiAgKiBo aWdoZXIgdGhhbiB0aGUgbmV3IG1heC4KQEAgLTE0Nyw2ICsxNjAsMTMgQEAgc3RhdGljIGludCBz Y3RwX3N0cmVhbV9hbGxvY19vdXQoc3RydWN0IHNjdHBfc3RyZWFtICpzdHJlYW0sIF9fdTE2IG91 dGNudCwKIAogCWlmIChzdHJlYW0tPm91dCkgewogCQlmYV9jb3B5KG91dCwgc3RyZWFtLT5vdXQs IDAsIG1pbihvdXRjbnQsIHN0cmVhbS0+b3V0Y250KSk7CisJCWlmIChzdHJlYW0tPm91dF9jdXJy KSB7CisJCQlzaXplX3QgaW5kZXggPSBmYV9pbmRleChzdHJlYW0tPm91dCwgc3RyZWFtLT5vdXRf Y3VyciwKKwkJCQkJCXN0cmVhbS0+b3V0Y250KTsKKworCQkJQlVHX09OKGluZGV4ID09IHN0cmVh bS0+b3V0Y250KTsKKwkJCXN0cmVhbS0+b3V0X2N1cnIgPSBmbGV4X2FycmF5X2dldChvdXQsIGlu ZGV4KTsKKwkJfQogCQlmYV9mcmVlKHN0cmVhbS0+b3V0KTsKIAl9CiAKLS0gCjIuMjAuMQoKCkZy b20gNTJiODczYzk4ZmNjNzJjYzMzZmM3NDIyZDdhNTliN2ZhYThhMmZhMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0 aW9uLm9yZz4KRGF0ZTogRnJpLCAxIEZlYiAyMDE5IDE1OjE1OjIyICswMTAwClN1YmplY3Q6IFtQ QVRDSCAxNC8yMV0gc2N0cDogd2FsayB0aGUgbGlzdCBvZiBhc29jIHNhZmVseQoKWyBVcHN0cmVh bSBjb21taXQgYmE1OWZiMDI3MzA3NjYzN2YwYWRkNDMxMWZhYTk5MGE1ZWVjMjdjMCBdCgpJbiBz Y3RwX3NlbmRtZXNnKCksIHdoZW4gd2Fsa2luZyB0aGUgbGlzdCBvZiBlbmRwb2ludCBhc3NvY2lh dGlvbnMsIHRoZQphc3NvY2lhdGlvbiBjYW4gYmUgZHJvcHBlZCBmcm9tIHRoZSBsaXN0LCBtYWtp bmcgdGhlIGxpc3QgY29ycnVwdC4KUHJvcGVybHkgaGFuZGxlIHRoaXMgYnkgdXNpbmcgbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKCkKCkZpeGVzOiA0OTEwMjgwNTAzZjMgKCJzY3RwOiBhZGQgc3Vw cG9ydCBmb3Igc25kIGZsYWcgU0NUUF9TRU5EQUxMIHByb2Nlc3MgaW4gc2VuZG1zZyIpClJlcG9y dGVkLWJ5OiBTZWN1bmlhIFJlc2VhcmNoIDx2dWxuQHNlY3VuaWEuY29tPgpUZXN0ZWQtYnk6IFNl Y3VuaWEgUmVzZWFyY2ggPHZ1bG5Ac2VjdW5pYS5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3Jv YWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkFja2VkLWJ5OiBNYXJjZWxv IFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5l aWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zb2NrZXQuYyB8IDQg KystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvc2N0cC9zb2NrZXQuYyBiL25ldC9zY3RwL3NvY2tldC5jCmluZGV4IGI4 Y2ViZDVhODdlNS4uYjdhNTM0ZjZkN2MyIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zb2NrZXQuYwor KysgYi9uZXQvc2N0cC9zb2NrZXQuYwpAQCAtMjAyNyw3ICsyMDI3LDcgQEAgc3RhdGljIGludCBz Y3RwX3NlbmRtc2coc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNpemVfdCBt c2dfbGVuKQogCXN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCA9IHNjdHBfc2soc2spLT5lcDsKIAlz dHJ1Y3Qgc2N0cF90cmFuc3BvcnQgKnRyYW5zcG9ydCA9IE5VTEw7CiAJc3RydWN0IHNjdHBfc25k cmN2aW5mbyBfc2luZm8sICpzaW5mbzsKLQlzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYzsK KwlzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYywgKnRtcDsKIAlzdHJ1Y3Qgc2N0cF9jbXNn cyBjbXNnczsKIAl1bmlvbiBzY3RwX2FkZHIgKmRhZGRyOwogCWJvb2wgbmV3ID0gZmFsc2U7CkBA IC0yMDUzLDcgKzIwNTMsNyBAQCBzdGF0aWMgaW50IHNjdHBfc2VuZG1zZyhzdHJ1Y3Qgc29jayAq c2ssIHN0cnVjdCBtc2doZHIgKm1zZywgc2l6ZV90IG1zZ19sZW4pCiAKIAkvKiBTQ1RQX1NFTkRB TEwgcHJvY2VzcyAqLwogCWlmICgoc2ZsYWdzICYgU0NUUF9TRU5EQUxMKSAmJiBzY3RwX3N0eWxl KHNrLCBVRFApKSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkoYXNvYywgJmVwLT5hc29jcywgYXNv Y3MpIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGFzb2MsIHRtcCwgJmVwLT5hc29jcywg YXNvY3MpIHsKIAkJCWVyciA9IHNjdHBfc2VuZG1zZ19jaGVja19zZmxhZ3MoYXNvYywgc2ZsYWdz LCBtc2csCiAJCQkJCQkJbXNnX2xlbik7CiAJCQlpZiAoZXJyID09IDApCi0tIAoyLjIwLjEKCgpG cm9tIDJjZmViOTU3N2U1ODhjNjUyMWViNTQwOTBmYTkwYjZkMDI3YzkzYmQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNv bT4KRGF0ZTogRnJpLCAxIEZlYiAyMDE5IDExOjI4OjE2ICswMzAwClN1YmplY3Q6IFtQQVRDSCAx NS8yMV0gc2tnZTogcG90ZW50aWFsIG1lbW9yeSBjb3JydXB0aW9uIGluIHNrZ2VfZ2V0X3JlZ3Mo KQoKWyBVcHN0cmVhbSBjb21taXQgMjk0YzE0OWEyMDljNjE5NmMyZGU4NWY1MTJiNTJlZjUwZjUx OTk0OSBdCgpUaGUgInAiIGJ1ZmZlciBpcyAweDQwMDAgYnl0ZXMgbG9uZy4gIEIzX1JJX1dUT19S MSBpcyAweDE5MC4gIFRoZSB2YWx1ZQpvZiAicmVncy0+bGVuIiBpcyBpbiB0aGUgMS0weDQwMDAg cmFuZ2UuICBUaGUgYnVnIGhlcmUgaXMgdGhhdAoicmVncy0+bGVuIC0gQjNfUklfV1RPX1IxIiBj YW4gYmUgYSBuZWdhdGl2ZSB2YWx1ZSB3aGljaCB3b3VsZCBsZWFkIHRvCm1lbW9yeSBjb3JydXB0 aW9uIGFuZCBhbiBhYnJ1cHQgY3Jhc2guCgpGaXhlczogYzNmOGJlOTYxODA4ICgiW1BBVENIXSBz a2dlOiBleHBhbmQgZXRodG9vbCBkZWJ1ZyByZWdpc3RlciBkdW1wIikKU2lnbmVkLW9mZi1ieTog RGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWFydmVsbC9za2dlLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tYXJ2ZWxsL3NrZ2UuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvc2tnZS5jCmlu ZGV4IDljMDhjMzY1MGMwMi4uMTVkZWE0OGUwMTk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tYXJ2ZWxsL3NrZ2UuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxs L3NrZ2UuYwpAQCAtMTUyLDggKzE1MiwxMCBAQCBzdGF0aWMgdm9pZCBza2dlX2dldF9yZWdzKHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBldGh0b29sX3JlZ3MgKnJlZ3MsCiAJbWVtc2V0 KHAsIDAsIHJlZ3MtPmxlbik7CiAJbWVtY3B5X2Zyb21pbyhwLCBpbywgQjNfUkFNX0FERFIpOwog Ci0JbWVtY3B5X2Zyb21pbyhwICsgQjNfUklfV1RPX1IxLCBpbyArIEIzX1JJX1dUT19SMSwKLQkJ ICAgICAgcmVncy0+bGVuIC0gQjNfUklfV1RPX1IxKTsKKwlpZiAocmVncy0+bGVuID4gQjNfUklf V1RPX1IxKSB7CisJCW1lbWNweV9mcm9taW8ocCArIEIzX1JJX1dUT19SMSwgaW8gKyBCM19SSV9X VE9fUjEsCisJCQkgICAgICByZWdzLT5sZW4gLSBCM19SSV9XVE9fUjEpOworCX0KIH0KIAogLyog V2FrZSBvbiBMYW4gb25seSBzdXBwb3J0ZWQgb24gWXVrb24gY2hpcHMgd2l0aCByZXYgMSBvciBh Ym92ZSAqLwotLSAKMi4yMC4xCgoKRnJvbSBhZTk0MjEzYzM5ZWZhNjg0OWViMmM3Y2NjNzkzYmM1 NDA4MWU5ODc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb3NoaWFraSBNYWtpdGEg PG1ha2l0YS50b3NoaWFraUBsYWIubnR0LmNvLmpwPgpEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDIw OjQwOjMwICswOTAwClN1YmplY3Q6IFtQQVRDSCAxNi8yMV0gdmlydGlvX25ldDogQWNjb3VudCBm b3IgdHggYnl0ZXMgYW5kIHBhY2tldHMgb24gc2VuZGluZwogeGRwX2ZyYW1lcwoKWyBVcHN0cmVh bSBjb21taXQgNTQ2ZjI4OTc0ZDc3MWIxMjRmYjBiZjdiNTUxYjM0Mzg4OGNmMDQxOSBdCgpQcmV2 aW91c2x5IHZpcnRuZXRfeGRwX3htaXQoKSBkaWQgbm90IGFjY291bnQgZm9yIGRldmljZSB0eCBj b3VudGVycywKd2hpY2ggY2F1c2VkIGNvbmZ1c2lvbnMuClRvIGJlIGNvbnNpc3RlbnQgd2l0aCBT S0JzLCBhY2NvdW50IHRoZW0gb24gZnJlZWluZyB4ZHBfZnJhbWVzLgoKUmVwb3J0ZWQtYnk6IERh dmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogVG9zaGlha2kgTWFr aXRhIDxtYWtpdGEudG9zaGlha2lAbGFiLm50dC5jby5qcD4KQWNrZWQtYnk6IE1pY2hhZWwgUy4g VHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMgfCAyMCAr KysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIvZHJp dmVycy9uZXQvdmlydGlvX25ldC5jCmluZGV4IGRhNTAwYzc3YzViOS4uZjZhNjliNTZmM2UzIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKKysrIGIvZHJpdmVycy9uZXQvdmly dGlvX25ldC5jCkBAIC01MDIsNiArNTAyLDggQEAgc3RhdGljIGludCB2aXJ0bmV0X3hkcF94bWl0 KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJc3RydWN0IGJwZl9wcm9nICp4ZHBfcHJvZzsKIAlz dHJ1Y3Qgc2VuZF9xdWV1ZSAqc3E7CiAJdW5zaWduZWQgaW50IGxlbjsKKwlpbnQgcGFja2V0cyA9 IDA7CisJaW50IGJ5dGVzID0gMDsKIAlpbnQgZHJvcHMgPSAwOwogCWludCBraWNrcyA9IDA7CiAJ aW50IHJldCwgZXJyOwpAQCAtNTI1LDEwICs1MjcsMTggQEAgc3RhdGljIGludCB2aXJ0bmV0X3hk cF94bWl0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAkvKiBGcmVlIHVwIGFueSBwZW5kaW5n IG9sZCBidWZmZXJzIGJlZm9yZSBxdWV1ZWluZyBuZXcgb25lcy4gKi8KIAl3aGlsZSAoKHB0ciA9 IHZpcnRxdWV1ZV9nZXRfYnVmKHNxLT52cSwgJmxlbikpICE9IE5VTEwpIHsKLQkJaWYgKGxpa2Vs eShpc194ZHBfZnJhbWUocHRyKSkpCi0JCQl4ZHBfcmV0dXJuX2ZyYW1lKHB0cl90b194ZHAocHRy KSk7Ci0JCWVsc2UKLQkJCW5hcGlfY29uc3VtZV9za2IocHRyLCBmYWxzZSk7CisJCWlmIChsaWtl bHkoaXNfeGRwX2ZyYW1lKHB0cikpKSB7CisJCQlzdHJ1Y3QgeGRwX2ZyYW1lICpmcmFtZSA9IHB0 cl90b194ZHAocHRyKTsKKworCQkJYnl0ZXMgKz0gZnJhbWUtPmxlbjsKKwkJCXhkcF9yZXR1cm5f ZnJhbWUoZnJhbWUpOworCQl9IGVsc2UgeworCQkJc3RydWN0IHNrX2J1ZmYgKnNrYiA9IHB0cjsK KworCQkJYnl0ZXMgKz0gc2tiLT5sZW47CisJCQluYXBpX2NvbnN1bWVfc2tiKHNrYiwgZmFsc2Up OworCQl9CisJCXBhY2tldHMrKzsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CkBA IC01NDgsNiArNTU4LDggQEAgc3RhdGljIGludCB2aXJ0bmV0X3hkcF94bWl0KHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYsCiAJfQogb3V0OgogCXU2NF9zdGF0c191cGRhdGVfYmVnaW4oJnNxLT5zdGF0 cy5zeW5jcCk7CisJc3EtPnN0YXRzLmJ5dGVzICs9IGJ5dGVzOworCXNxLT5zdGF0cy5wYWNrZXRz ICs9IHBhY2tldHM7CiAJc3EtPnN0YXRzLnhkcF90eCArPSBuOwogCXNxLT5zdGF0cy54ZHBfdHhf ZHJvcHMgKz0gZHJvcHM7CiAJc3EtPnN0YXRzLmtpY2tzICs9IGtpY2tzOwotLSAKMi4yMC4xCgoK RnJvbSBhMTlkYjEzMmI5OWFmZDg5ZWI1Yjg3Zjg5YTUxODkyZjMzNjJmNWFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5j b20+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMTQ6MzE6NDggLTA1MDAKU3ViamVjdDogW1BBVENI IDE3LzIxXSBibnh0X2VuOiBEaXNhYmxlIGludGVycnVwdHMgd2hlbiBhbGxvY2F0aW5nIENQIHJp bmdzIG9yCiBOUXMuCgpbIFVwc3RyZWFtIGNvbW1pdCA1ZTY2ZTM1YWFiMzM1YjgzZDlmZmIyMjBk OGEzYTEzOTg2YTdhNjBlIF0KCldoZW4gY2FsbGluZyBmaXJtd2FyZSB0byBhbGxvY2F0ZSBhIENQ IHJpbmcgb3IgTlEsIGFuIGludGVycnVwdCBhc3NvY2lhdGVkCndpdGggdGhhdCByaW5nIG1heSBi ZSBnZW5lcmF0ZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBkb29yYmVsbCBpcyBldmVuCnNldHVw IGFmdGVyIHRoZSBmaXJtd2FyZSBjYWxsIHJldHVybnMuICBXaGVuIHNlcnZpY2luZyB0aGUgaW50 ZXJydXB0LCB0aGUKZHJpdmVyIG1heSBjcmFzaCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgdGhlIGRv b3JiZWxsLgoKRml4IGl0IGJ5IGRpc2FibGluZyBpbnRlcnJ1cHQgb24gdGhhdCB2ZWN0b3IgdW50 aWwgdGhlIGRvb3JiZWxsIGlzCnNldCB1cC4KCkZpeGVzOiA2OTcxOTdlNWExNzMgKCJibnh0X2Vu OiBSZS1zdHJ1Y3R1cmUgZG9vcmJlbGxzLiIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgQ2hhbiA8 bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29t L2JueHQvYm54dC5jIHwgOCArKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2JueHQvYm54dC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0 LmMKaW5kZXggNWQyMWMxNDg1M2FjLi5hOTc5ODk4ZWZlMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCkBAIC00OTAzLDEyICs0OTAzLDE4IEBAIHN0YXRpYyBp bnQgYm54dF9od3JtX3JpbmdfYWxsb2Moc3RydWN0IGJueHQgKmJwKQogCQlzdHJ1Y3QgYm54dF9j cF9yaW5nX2luZm8gKmNwciA9ICZibmFwaS0+Y3BfcmluZzsKIAkJc3RydWN0IGJueHRfcmluZ19z dHJ1Y3QgKnJpbmcgPSAmY3ByLT5jcF9yaW5nX3N0cnVjdDsKIAkJdTMyIG1hcF9pZHggPSByaW5n LT5tYXBfaWR4OworCQl1bnNpZ25lZCBpbnQgdmVjdG9yOwogCisJCXZlY3RvciA9IGJwLT5pcnFf dGJsW21hcF9pZHhdLnZlY3RvcjsKKwkJZGlzYWJsZV9pcnFfbm9zeW5jKHZlY3Rvcik7CiAJCXJj ID0gaHdybV9yaW5nX2FsbG9jX3NlbmRfbXNnKGJwLCByaW5nLCB0eXBlLCBtYXBfaWR4KTsKLQkJ aWYgKHJjKQorCQlpZiAocmMpIHsKKwkJCWVuYWJsZV9pcnEodmVjdG9yKTsKIAkJCWdvdG8gZXJy X291dDsKKwkJfQogCQlibnh0X3NldF9kYihicCwgJmNwci0+Y3BfZGIsIHR5cGUsIG1hcF9pZHgs IHJpbmctPmZ3X3JpbmdfaWQpOwogCQlibnh0X2RiX25xKGJwLCAmY3ByLT5jcF9kYiwgY3ByLT5j cF9yYXdfY29ucyk7CisJCWVuYWJsZV9pcnEodmVjdG9yKTsKIAkJYnAtPmdycF9pbmZvW2ldLmNw X2Z3X3JpbmdfaWQgPSByaW5nLT5md19yaW5nX2lkOwogCiAJCWlmICghaSkgewotLSAKMi4yMC4x CgoKRnJvbSBlODI0MWIyNzE2ZmJhZTc3ZGYzZGM4ZDg5N2VhOWYwOThjMTMzOTYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4K RGF0ZTogTW9uLCA0IEZlYiAyMDE5IDE0OjUwOjM4ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxOC8y MV0gbmV0OiBjbHNfZmxvd2VyOiBSZW1vdmUgZmlsdGVyIGZyb20gbWFzayBiZWZvcmUgZnJlZWlu ZwogaXQKClsgVXBzdHJlYW0gY29tbWl0IGMxZjdlMDI5NzllZGQ3YTNhM2U2OWZlMDRiZTYwYjFk NjUwZGM4YTcgXQoKSW4gZmxfY2hhbmdlKCksIHdoZW4gYWRkaW5nIGEgbmV3IHJ1bGUgKGkuZS4g Zm9sZCA9PSBOVUxMKSwgYSBkcml2ZXIgbWF5CnJlamVjdCB0aGUgbmV3IHJ1bGUsIGZvciBleGFt cGxlIGR1ZSB0byByZXNvdXJjZSBleGhhdXN0aW9uLiBCeSB0aGF0CnBvaW50LCB0aGUgbmV3IHJ1 bGUgd2FzIGFscmVhZHkgYXNzaWduZWQgYSBtYXNrLCBhbmQgaXQgd2FzIGFkZGVkIHRvCnRoYXQg bWFzaydzIGhhc2ggdGFibGUuIFRoZSBjbGVhbi11cCBwYXRoIHRoYXQncyBpbnZva2VkIGFzIGEg cmVzdWx0IG9mCnRoZSByZWplY3Rpb24gaG93ZXZlciBuZWdsZWN0cyB0byB1bmRvIHRoZSBoYXNo IHRhYmxlIGFkZGl0aW9uLCBhbmQKcHJvY2VlZHMgdG8gZnJlZSB0aGUgbmV3IHJ1bGUsIHRodXMg bGVhdmluZyBhIGRhbmdsaW5nIHBvaW50ZXIgaW4gdGhlCmhhc2ggdGFibGUuCgpGaXggYnkgcmVt b3ZpbmcgZm5ldyBmcm9tIHRoZSBtYXNrJ3MgaGFzaCB0YWJsZSBiZWZvcmUgaXQgaXMgZnJlZWQu CgpGaXhlczogMzVjYzNjZWZjNGRlICgibmV0L3NjaGVkOiBjbHNfZmxvd2VyOiBSZWplY3QgZHVw bGljYXRlZCBydWxlcyBhbHNvIHVuZGVyIHNraXBfc3ciKQpTaWduZWQtb2ZmLWJ5OiBQZXRyIE1h Y2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KQWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVs bGFub3guY29tPgpSZXZpZXdlZC1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L3NjaGVkL2Nsc19mbG93ZXIuYyB8IDYgKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Nsc19m bG93ZXIuYyBiL25ldC9zY2hlZC9jbHNfZmxvd2VyLmMKaW5kZXggNDViYzJiNzJkYzFjLi4yZjY0 ZTM1MzgxMjcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9jbHNfZmxvd2VyLmMKKysrIGIvbmV0L3Nj aGVkL2Nsc19mbG93ZXIuYwpAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgc3RhdGljIGludCBmbF9jaGFu Z2Uoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqaW5fc2tiLAogCWlmICghdGNfc2tp cF9odyhmbmV3LT5mbGFncykpIHsKIAkJZXJyID0gZmxfaHdfcmVwbGFjZV9maWx0ZXIodHAsIGZu ZXcsIGV4dGFjayk7CiAJCWlmIChlcnIpCi0JCQlnb3RvIGVycm91dF9tYXNrOworCQkJZ290byBl cnJvdXRfbWFza19odDsKIAl9CiAKIAlpZiAoIXRjX2luX2h3KGZuZXctPmZsYWdzKSkKQEAgLTEy ODcsNiArMTI4NywxMCBAQCBzdGF0aWMgaW50IGZsX2NoYW5nZShzdHJ1Y3QgbmV0ICpuZXQsIHN0 cnVjdCBza19idWZmICppbl9za2IsCiAJa2ZyZWUobWFzayk7CiAJcmV0dXJuIDA7CiAKK2Vycm91 dF9tYXNrX2h0OgorCXJoYXNodGFibGVfcmVtb3ZlX2Zhc3QoJmZuZXctPm1hc2stPmh0LCAmZm5l dy0+aHRfbm9kZSwKKwkJCSAgICAgICBmbmV3LT5tYXNrLT5maWx0ZXJfaHRfcGFyYW1zKTsKKwog ZXJyb3V0X21hc2s6CiAJZmxfbWFza19wdXQoaGVhZCwgZm5ldy0+bWFzaywgZmFsc2UpOwogCi0t IAoyLjIwLjEKCgpGcm9tIDM1ODM2NzJmM2M2MzVjOWJlZmI3MDE4MjE0M2EzZDVmMWRkOTA5ZTcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFydW4gUGFyYW1lc3dhcmFuIDxhcnVuLnBh cmFtZXN3YXJhbkBicm9hZGNvbS5jb20+CkRhdGU6IFRodSwgNyBGZWIgMjAxOSAxNjowMToxOCAt MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjFdIG5ldDogZHNhOiBiNTM6IEZpeCBmb3IgZmFpbHVy ZSB3aGVuIGlycSBpcyBub3QgZGVmaW5lZAogaW4gZHQKClsgVXBzdHJlYW0gY29tbWl0IDM5ODQx Y2MxY2JiNjkzNDQ1MzljOThhMWZhOWQ4NThlZDEyNGM3YmEgXQoKRml4ZXMgdGhlIGlzc3VlcyB3 aXRoIG5vbiBCQ001OFhYIGNoaXBzIGluIHRoZSBiNTMgZHJpdmVyCmZhaWxpbmcsIHdoZW4gdGhl IGlycSBpcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBkZXZpY2UgdHJlZS4KClJlbW92ZWQgdGhlIGNo ZWNrIGZvciBCQ001OFhYIGluIGI1M19zcmFiX3ByZXBhcmVfaXJxKCksCnNvIHRoZSAncG9ydC0+ aXJxJyB3aWxsIGJlIHNldCB0byAnLUVYSU8nIGlmIHRoZSBpcnEgaXMgbm90CnNwZWNpZmllZCBp biB0aGUgZGV2aWNlIHRyZWUuCgpGaXhlczogMTY5OTQzNzRhNmZjICgibmV0OiBkc2E6IGI1Mzog TWFrZSBTUkFCIGRyaXZlciBtYW5hZ2UgcG9ydCBpbnRlcnJ1cHRzIikKRml4ZXM6IGIyZGRjNDhh ODFiNSAoIm5ldDogZHNhOiBiNTM6IERvIG5vdCBmYWlsIHdoZW4gSVJRIGFyZSBub3QgaW5pdGlh bGl6ZWQiKQpTaWduZWQtb2ZmLWJ5OiBBcnVuIFBhcmFtZXN3YXJhbiA8YXJ1bi5wYXJhbWVzd2Fy YW5AYnJvYWRjb20uY29tPgpSZXZpZXdlZC1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxs aUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFiLmMgfCAzIC0tLQogMSBm aWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNh L2I1My9iNTNfc3JhYi5jIGIvZHJpdmVycy9uZXQvZHNhL2I1My9iNTNfc3JhYi5jCmluZGV4IDkw ZjUxNDI1Mjk4Ny4uZDljNTZhNzc5YzA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvYjUz L2I1M19zcmFiLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL2I1My9iNTNfc3JhYi5jCkBAIC01MTEs OSArNTExLDYgQEAgc3RhdGljIHZvaWQgYjUzX3NyYWJfcHJlcGFyZV9pcnEoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKIAkvKiBDbGVhciBhbGwgcGVuZGluZyBpbnRlcnJ1cHRzICovCiAJ d3JpdGVsKDB4ZmZmZmZmZmYsIHByaXYtPnJlZ3MgKyBCNTNfU1JBQl9JTlRSKTsKIAotCWlmIChk ZXYtPnBkYXRhICYmIGRldi0+cGRhdGEtPmNoaXBfaWQgIT0gQkNNNThYWF9ERVZJQ0VfSUQpCi0J CXJldHVybjsKLQogCWZvciAoaSA9IDA7IGkgPCBCNTNfTl9QT1JUUzsgaSsrKSB7CiAJCXBvcnQg PSAmcHJpdi0+cG9ydF9pbnRyc1tpXTsKIAotLSAKMi4yMC4xCgoKRnJvbSBhOGE2MTg0NzE2ZTI4 NzQ2ZTRmZTQ3MjUyMzUyMjI1NWE2ZDI1ZWZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBHdXkgU2hhdHRhaCA8c2d1eUBtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgMjggSmFuIDIwMTkg MTM6NTg6MDcgKzAwMDAKU3ViamVjdDogW1BBVENIIDIwLzIxXSBuZXQvbWx4NWU6IFVzZSB0aGUg aW5uZXIgaGVhZGVycyB0byBkZXRlcm1pbmUgdGMvcGVkaXQKIG9mZmxvYWQgbGltaXRhdGlvbiBv biBkZWNhcCBmbG93cwoKWyBVcHN0cmVhbSBjb21taXQgMTY1MTkyNWQ0MDNlMDc3ZTNmYzg2Zjk2 MTkwNWUyN2M2ODEwZTEzMiBdCgpJbiBwYWNrZXRzIHRoYXQgbmVlZCB0byBiZSBkZWNhcGVkIHRo ZSBpbnRlcm5hbCBoZWFkZXJzCmhhdmUgdG8gYmUgY2hlY2tlZCwgbm90IHRoZSBleHRlcm5hbCBv bmVzLgoKRml4ZXM6IGJkZDY2YWMwYWVlZCAoIm5ldC9tbHg1ZTogRGlzYWxsb3cgVEMgb2ZmbG9h ZGluZyBvZiB1bnN1cHBvcnRlZCBtYXRjaC9hY3Rpb24gY29tYmluYXRpb25zIikKU2lnbmVkLW9m Zi1ieTogR3V5IFNoYXR0YWggPHNndXlAbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogT3IgR2Vy bGl0eiA8b2dlcmxpdHpAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVl ZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fdGMuYyB8IDkgKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX3RjLmMKaW5kZXggOWRhYmU5ZDRiMjc5Li40ZTAxNTE5MThkYjEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90 Yy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5j CkBAIC0yMTMzLDYgKzIxMzMsNyBAQCBzdGF0aWMgYm9vbCBjc3VtX29mZmxvYWRfc3VwcG9ydGVk KHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LAogCiBzdGF0aWMgYm9vbCBtb2RpZnlfaGVhZGVyX21h dGNoX3N1cHBvcnRlZChzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsCiAJCQkJCSAgc3RydWN0 IHRjZl9leHRzICpleHRzLAorCQkJCQkgIHUzMiBtYXRjaF9hY3Rpb25zLAogCQkJCQkgIHN0cnVj dCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKIHsKIAljb25zdCBzdHJ1Y3QgdGNfYWN0aW9uICph OwpAQCAtMjE0Myw3ICsyMTQ0LDExIEBAIHN0YXRpYyBib29sIG1vZGlmeV9oZWFkZXJfbWF0Y2hf c3VwcG9ydGVkKHN0cnVjdCBtbHg1X2Zsb3dfc3BlYyAqc3BlYywKIAl1MTYgZXRoZXJ0eXBlOwog CWludCBua2V5cywgaTsKIAotCWhlYWRlcnNfdiA9IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFy YW0sIHNwZWMtPm1hdGNoX3ZhbHVlLCBvdXRlcl9oZWFkZXJzKTsKKwlpZiAobWF0Y2hfYWN0aW9u cyAmIE1MWDVfRkxPV19DT05URVhUX0FDVElPTl9ERUNBUCkKKwkJaGVhZGVyc192ID0gTUxYNV9B RERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfdmFsdWUsIGlubmVyX2hlYWRlcnMp OworCWVsc2UKKwkJaGVhZGVyc192ID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3Bl Yy0+bWF0Y2hfdmFsdWUsIG91dGVyX2hlYWRlcnMpOworCiAJZXRoZXJ0eXBlID0gTUxYNV9HRVQo ZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX3YsIGV0aGVydHlwZSk7CiAKIAkvKiBmb3Ig bm9uLUlQIHdlIG9ubHkgcmUtd3JpdGUgTUFDcywgc28gd2UncmUgb2theSAqLwpAQCAtMjIwMCw3 ICsyMjA1LDcgQEAgc3RhdGljIGJvb2wgYWN0aW9uc19tYXRjaF9zdXBwb3J0ZWQoc3RydWN0IG1s eDVlX3ByaXYgKnByaXYsCiAKIAlpZiAoYWN0aW9ucyAmIE1MWDVfRkxPV19DT05URVhUX0FDVElP Tl9NT0RfSERSKQogCQlyZXR1cm4gbW9kaWZ5X2hlYWRlcl9tYXRjaF9zdXBwb3J0ZWQoJnBhcnNl X2F0dHItPnNwZWMsIGV4dHMsCi0JCQkJCQkgICAgIGV4dGFjayk7CisJCQkJCQkgICAgIGFjdGlv bnMsIGV4dGFjayk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KLS0gCjIuMjAuMQoKCkZyb20gYTU0NTRm ODUzOTBlMmIwZGI5ZDgxZGZhOGI3NzRmMTIyMWFlMTA5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6IE1vbiwg MyBEZWMgMjAxOCAyMjoxNDowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjFdIG5ldC9tbHg1 ZTogRm9yY2UgQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgZm9yIHNob3J0CiBldGhlcm5ldCBmcmFtZXMK ClsgVXBzdHJlYW0gY29tbWl0IGU4YzhiNTNjY2FmZjU2OGZlZjRjMTNhNmNjYWYwOGJmMjQxYWEw MWEgXQoKV2hlbiBhbiBldGhlcm5ldCBmcmFtZSBpcyBwYWRkZWQgdG8gbWVldCB0aGUgbWluaW11 bSBldGhlcm5ldCBmcmFtZQpzaXplLCB0aGUgcGFkZGluZyBvY3RldHMgYXJlIG5vdCBjb3ZlcmVk IGJ5IHRoZSBoYXJkd2FyZSBjaGVja3N1bS4KRm9ydHVuYXRlbHkgdGhlIHBhZGRpbmcgb2N0ZXRz IGFyZSB1c3VhbGx5IHplcm8ncywgd2hpY2ggZG9uJ3QgYWZmZWN0CmNoZWNrc3VtLiBIb3dldmVy LCB3ZSBoYXZlIGEgc3dpdGNoIHdoaWNoIHBhZHMgbm9uLXplcm8gb2N0ZXRzLCB0aGlzCmNhdXNl cyBrZXJuZWwgaGFyZHdhcmUgY2hlY2tzdW0gZmF1bHQgcmVwZWF0ZWRseS4KClByaW9yIHRvOgpj b21taXQgJzg4MDc4ZDk4ZDFiYiAoIm5ldDogcHNrYl90cmltX3Jjc3VtKCkgYW5kIENIRUNLU1VN X0NPTVBMRVRFIC4uLiIpJwpza2IgY2hlY2tzdW0gd2FzIGZvcmNlZCB0byBiZSBDSEVDS1NVTV9O T05FIHdoZW4gcGFkZGluZyBpcyBkZXRlY3RlZC4KQWZ0ZXIgaXQsIHdlIG5lZWQgdG8ga2VlcCBz a2ItPmNzdW0gdXBkYXRlZCwgbGlrZSB3aGF0IHdlIGRvIGZvciBSWEZDUy4KSG93ZXZlciwgZml4 aW5nIHVwIENIRUNLU1VNX0NPTVBMRVRFIHJlcXVpcmVzIHRvIHZlcmlmeSBhbmQgcGFyc2UgSVAK aGVhZGVycywgaXQgaXMgbm90IHdvcnRoeSB0aGUgZWZmb3J0IGFzIHRoZSBwYWNrZXRzIGFyZSBz byBzbWFsbCB0aGF0CkNIRUNLU1VNX0NPTVBMRVRFIGNhbid0IHNhdmUgYW55dGhpbmcuCgpGaXhl czogODgwNzhkOThkMWJiICgibmV0OiBwc2tiX3RyaW1fcmNzdW0oKSBhbmQgQ0hFQ0tTVU1fQ09N UExFVEUgYXJlIGZyaWVuZHMiKSwKQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KQ2M6IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KQ2M6IE5pa29sYSBDaXBy aWNoIDxuaWtvbGEuY2lwcmljaEBsaW51eGJveC5jej4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5n IDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVk IDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbl9yeC5jIHwgMTMgKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEz IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl9yeC5jCmluZGV4IDBiNWVmNmQ0ZTgxNS4uNzE4NWYwZGQ1OGViIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYwpAQCAtNzMyLDYg KzczMiw4IEBAIHN0YXRpYyB1OCBnZXRfaXBfcHJvdG8oc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50 IG5ldHdvcmtfZGVwdGgsIF9fYmUxNiBwcm90bykKIAkJCQkJICAgICgoc3RydWN0IGlwdjZoZHIg KilpcF9wKS0+bmV4dGhkcjsKIH0KIAorI2RlZmluZSBzaG9ydF9mcmFtZShzaXplKSAoKHNpemUp IDw9IEVUSF9aTEVOICsgRVRIX0ZDU19MRU4pCisKIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZV9o YW5kbGVfY3N1bShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCQkJCSAgICAgc3RydWN0IG1s eDVfY3FlNjQgKmNxZSwKIAkJCQkgICAgIHN0cnVjdCBtbHg1ZV9ycSAqcnEsCkBAIC03NTQsNiAr NzU2LDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZV9oYW5kbGVfY3N1bShzdHJ1Y3QgbmV0 X2RldmljZSAqbmV0ZGV2LAogCWlmICh1bmxpa2VseSh0ZXN0X2JpdChNTFg1RV9SUV9TVEFURV9O T19DU1VNX0NPTVBMRVRFLCAmcnEtPnN0YXRlKSkpCiAJCWdvdG8gY3N1bV91bm5lY2Vzc2FyeTsK IAorCS8qIENRRSBjc3VtIGRvZXNuJ3QgY292ZXIgcGFkZGluZyBvY3RldHMgaW4gc2hvcnQgZXRo ZXJuZXQKKwkgKiBmcmFtZXMuIEFuZCB0aGUgcGFkIGZpZWxkIGlzIGFwcGVuZGVkIHByaW9yIHRv IGNhbGN1bGF0aW5nCisJICogYW5kIGFwcGVuZGluZyB0aGUgRkNTIGZpZWxkLgorCSAqCisJICog RGV0ZWN0aW5nIHRoZXNlIHBhZGRlZCBmcmFtZXMgcmVxdWlyZXMgdG8gdmVyaWZ5IGFuZCBwYXJz ZQorCSAqIElQIGhlYWRlcnMsIHNvIHdlIHNpbXBseSBmb3JjZSBhbGwgdGhvc2Ugc21hbGwgZnJh bWVzIHRvIGJlCisJICogQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgZXZlbiBpZiB0aGV5IGFyZSBub3Qg cGFkZGVkLgorCSAqLworCWlmIChzaG9ydF9mcmFtZShza2ItPmxlbikpCisJCWdvdG8gY3N1bV91 bm5lY2Vzc2FyeTsKKwogCWlmIChsaWtlbHkoaXNfbGFzdF9ldGhlcnR5cGVfaXAoc2tiLCAmbmV0 d29ya19kZXB0aCwgJnByb3RvKSkpIHsKIAkJaWYgKHVubGlrZWx5KGdldF9pcF9wcm90byhza2Is IG5ldHdvcmtfZGVwdGgsIHByb3RvKSA9PSBJUFBST1RPX1NDVFApKQogCQkJZ290byBjc3VtX3Vu bmVjZXNzYXJ5OwotLSAKMi4yMC4xCgo= ----Next_Part(Sat_Feb__9_15_21_32_2019_341)----