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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 50572C2BA83 for ; Sun, 9 Feb 2020 21:21:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CC85920726 for ; Sun, 9 Feb 2020 21:21:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727420AbgBIVVj (ORCPT ); Sun, 9 Feb 2020 16:21:39 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:34406 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727416AbgBIVVj (ORCPT ); Sun, 9 Feb 2020 16:21:39 -0500 Received: from localhost (dhcp-077-249-119-090.chello.nl [77.249.119.90]) (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 3AEE415AD951B for ; Sun, 9 Feb 2020 13:21:32 -0800 (PST) Date: Sun, 09 Feb 2020 22:21:28 +0100 (CET) Message-Id: <20200209.222128.2247005095295599625.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sun_Feb__9_22_21_28_2020_495)--" 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]); Sun, 09 Feb 2020 13:21:35 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sun_Feb__9_22_21_28_2020_495)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.4 and v5.5 -stable, respectively. Thank you. ----Next_Part(Sun_Feb__9_22_21_28_2020_495)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_54.mbox" RnJvbSAxZmViMDQwMDhkODI5MWE5MjNiYjM3MjUyOTM0MmI4NGFjZDFjNDFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFR1ZSwgNCBGZWIgMjAyMCAxOToyNjowNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjRd IGJvbmRpbmcvYWxiOiBwcm9wZXJseSBhY2Nlc3MgaGVhZGVycyBpbiBib25kX2FsYl94bWl0KCkK ClsgVXBzdHJlYW0gY29tbWl0IDM4Zjg4YzQ1NDA0MjkzYmJjMDI3Yjk1NmRlZjZjMTBjYmQ0NWM2 MTYgXQoKc3l6Ym90IG1hbmFnZWQgdG8gc2VuZCBhbiBJUFggcGFja2V0IHRocm91Z2ggYm9uZF9h bGJfeG1pdCgpCmFuZCBhZl9wYWNrZXQgYW5kIHRyaWdnZXJlZCBhIHVzZS1hZnRlci1mcmVlLgoK Rmlyc3QsIGJvbmRfYWxiX3htaXQoKSB3YXMgdXNpbmcgaXB4X2hkcigpIGhlbHBlciB0byByZWFj aAp0aGUgSVBYIGhlYWRlciwgYnV0IGlweF9oZHIoKSB3YXMgdXNpbmcgdGhlIHRyYW5zcG9ydCBv ZmZzZXQKaW5zdGVhZCBvZiB0aGUgbmV0d29yayBvZmZzZXQuIEluIHRoZSBwYXJ0aWN1bGFyIHN5 emJvdApyZXBvcnQgdHJhbnNwb3J0IG9mZnNldCB3YXMgMHhGRkZGCgpUaGlzIHBhdGNoIHJlbW92 ZXMgaXB4X2hkcigpIHNpbmNlIGl0IHdhcyBvbmx5IChtaXMpdXNlZCBmcm9tIGJvbmRpbmcuCgpU aGVuIHdlIG5lZWQgdG8gbWFrZSBzdXJlIElQdjQvSVB2Ni9JUFggaGVhZGVycyBhcmUgcHVsbGVk CmluIHNrYi0+aGVhZCBiZWZvcmUgZGVyZWZlcmVuY2luZyBhbnl0aGluZy4KCkJVRzogS0FTQU46 IHVzZS1hZnRlci1mcmVlIGluIGJvbmRfYWxiX3htaXQrMHgxNTNhLzB4MTU5MCBkcml2ZXJzL25l dC9ib25kaW5nL2JvbmRfYWxiLmM6MTQ1MgpSZWFkIG9mIHNpemUgMiBhdCBhZGRyIGZmZmY4ODAx Y2U1NmRmZmYgYnkgdGFzayBzeXotZXhlY3V0b3IuMi8xODEwOAogKGlmIChpcHhfaGRyKHNrYikt PmlweF9jaGVja3N1bSAhPSBJUFhfTk9fQ0hFQ0tTVU0pIC4uLikKCkhhcmR3YXJlIG5hbWU6IEdv b2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdv b2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODQ0MWZjNDI+XSBfX2R1bXBf c3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5saW5lXQogWzxmZmZmZmZmZjg0NDFmYzQyPl0g ZHVtcF9zdGFjaysweDE0ZC8weDIwYiBsaWIvZHVtcF9zdGFjay5jOjUzCiBbPGZmZmZmZmZmODFh N2RlYzQ+XSBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NmYvMHgyMGIgbW0va2FzYW4vcmVw b3J0LmM6MjgyCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBrYXNhbl9yZXBvcnRfZXJyb3IgbW0va2Fz YW4vcmVwb3J0LmM6MzgwIFtpbmxpbmVdCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBrYXNhbl9yZXBv cnQgbW0va2FzYW4vcmVwb3J0LmM6NDM4IFtpbmxpbmVdCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBr YXNhbl9yZXBvcnQuY29sZCsweDhjLzB4MmEwIG1tL2thc2FuL3JlcG9ydC5jOjQyMgogWzxmZmZm ZmZmZjgxYTdkYzRmPl0gX19hc2FuX3JlcG9ydF9sb2FkX25fbm9hYm9ydCsweGYvMHgyMCBtbS9r YXNhbi9yZXBvcnQuYzo0NjkKIFs8ZmZmZmZmZmY4MmM4YzAwYT5dIGJvbmRfYWxiX3htaXQrMHgx NTNhLzB4MTU5MCBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfYWxiLmM6MTQ1MgogWzxmZmZmZmZm ZjgyYzYwYzc0Pl0gX19ib25kX3N0YXJ0X3htaXQgZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX21h aW4uYzo0MTk5IFtpbmxpbmVdCiBbPGZmZmZmZmZmODJjNjBjNzQ+XSBib25kX3N0YXJ0X3htaXQr MHg0ZjQvMHgxNTcwIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmM6NDIyNAogWzxmZmZm ZmZmZjgzYmFhNTU4Pl0gX19uZXRkZXZfc3RhcnRfeG1pdCBpbmNsdWRlL2xpbnV4L25ldGRldmlj ZS5oOjQ1MjUgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2JhYTU1OD5dIG5ldGRldl9zdGFydF94bWl0 IGluY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NDUzOSBbaW5saW5lXQogWzxmZmZmZmZmZjgzYmFh NTU4Pl0geG1pdF9vbmUgbmV0L2NvcmUvZGV2LmM6MzYxMSBbaW5saW5lXQogWzxmZmZmZmZmZjgz YmFhNTU4Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDE2OC8weDkxMCBuZXQvY29yZS9kZXYuYzoz NjI3CiBbPGZmZmZmZmZmODNiYWNmMzU+XSBfX2Rldl9xdWV1ZV94bWl0KzB4MWY1NS8weDMzYjAg bmV0L2NvcmUvZGV2LmM6NDIzOAogWzxmZmZmZmZmZjgzYmFlM2E4Pl0gZGV2X3F1ZXVlX3htaXQr MHgxOC8weDIwIG5ldC9jb3JlL2Rldi5jOjQyNzgKIFs8ZmZmZmZmZmY4NDMzOTE4OT5dIHBhY2tl dF9zbmQgbmV0L3BhY2tldC9hZl9wYWNrZXQuYzozMjI2IFtpbmxpbmVdCiBbPGZmZmZmZmZmODQz MzkxODk+XSBwYWNrZXRfc2VuZG1zZysweDQ5MTkvMHg3MGIwIG5ldC9wYWNrZXQvYWZfcGFja2V0 LmM6MzI1MgogWzxmZmZmZmZmZjgzYjFhYzBjPl0gc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2Nr ZXQuYzo2NzMgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2IxYWMwYz5dIHNvY2tfc2VuZG1zZysweDEy Yy8weDE2MCBuZXQvc29ja2V0LmM6Njg0CiBbPGZmZmZmZmZmODNiMWY1YTI+XSBfX3N5c19zZW5k dG8rMHgyNjIvMHgzODAgbmV0L3NvY2tldC5jOjE5OTYKIFs8ZmZmZmZmZmY4M2IxZjcwMD5dIFNZ U0Nfc2VuZHRvIG5ldC9zb2NrZXQuYzoyMDA4IFtpbmxpbmVdCiBbPGZmZmZmZmZmODNiMWY3MDA+ XSBTeVNfc2VuZHRvKzB4NDAvMHg2MCBuZXQvc29ja2V0LmM6MjAwNAoKRml4ZXM6IDFkYTE3N2U0 YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVn cm91cHMuY29tPgpDYzogSmF5IFZvc2J1cmdoIDxqLnZvc2J1cmdoQGdtYWlsLmNvbT4KQ2M6IFZl YWNlc2xhdiBGYWxpY28gPHZmYWxpY29AZ21haWwuY29tPgpDYzogQW5keSBHb3Nwb2RhcmVrIDxh bmR5QGdyZXlob3VzZS5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfYWxiLmMgfCA0NCAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBpbmNsdWRlL25ldC9pcHguaCAgICAg ICAgICAgICAgfCAgNSAtLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDE3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIu YyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIuYwppbmRleCA0ZjJlNjkxMGM2MjMuLjFj YzJjZDg5NGY4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX2FsYi5jCisr KyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIuYwpAQCAtMTM4MywyNiArMTM4MywzMSBA QCBuZXRkZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBu ZXRfZGV2aWNlICpib25kX2RldikKIAlib29sIGRvX3R4X2JhbGFuY2UgPSB0cnVlOwogCXUzMiBo YXNoX2luZGV4ID0gMDsKIAljb25zdCB1OCAqaGFzaF9zdGFydCA9IE5VTEw7Ci0Jc3RydWN0IGlw djZoZHIgKmlwNmhkcjsKIAogCXNrYl9yZXNldF9tYWNfaGVhZGVyKHNrYik7CiAJZXRoX2RhdGEg PSBldGhfaGRyKHNrYik7CiAKIAlzd2l0Y2ggKG50b2hzKHNrYi0+cHJvdG9jb2wpKSB7CiAJY2Fz ZSBFVEhfUF9JUDogewotCQljb25zdCBzdHJ1Y3QgaXBoZHIgKmlwaCA9IGlwX2hkcihza2IpOwor CQljb25zdCBzdHJ1Y3QgaXBoZHIgKmlwaDsKIAogCQlpZiAoaXNfYnJvYWRjYXN0X2V0aGVyX2Fk ZHIoZXRoX2RhdGEtPmhfZGVzdCkgfHwKLQkJICAgIGlwaC0+ZGFkZHIgPT0gaXBfYmNhc3QgfHwK LQkJICAgIGlwaC0+cHJvdG9jb2wgPT0gSVBQUk9UT19JR01QKSB7CisJCSAgICAhcHNrYl9uZXR3 b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKCppcGgpKSkgeworCQkJZG9fdHhfYmFsYW5jZSA9IGZh bHNlOworCQkJYnJlYWs7CisJCX0KKwkJaXBoID0gaXBfaGRyKHNrYik7CisJCWlmIChpcGgtPmRh ZGRyID09IGlwX2JjYXN0IHx8IGlwaC0+cHJvdG9jb2wgPT0gSVBQUk9UT19JR01QKSB7CiAJCQlk b190eF9iYWxhbmNlID0gZmFsc2U7CiAJCQlicmVhazsKIAkJfQogCQloYXNoX3N0YXJ0ID0gKGNo YXIgKikmKGlwaC0+ZGFkZHIpOwogCQloYXNoX3NpemUgPSBzaXplb2YoaXBoLT5kYWRkcik7Ci0J fQogCQlicmVhazsKLQljYXNlIEVUSF9QX0lQVjY6CisJfQorCWNhc2UgRVRIX1BfSVBWNjogewor CQljb25zdCBzdHJ1Y3QgaXB2NmhkciAqaXA2aGRyOworCiAJCS8qIElQdjYgZG9lc24ndCByZWFs bHkgdXNlIGJyb2FkY2FzdCBtYWMgYWRkcmVzcywgYnV0IGxlYXZlCiAJCSAqIHRoYXQgaGVyZSBq dXN0IGluIGNhc2UuCiAJCSAqLwpAQCAtMTQxOSw3ICsxNDI0LDExIEBAIG5ldGRldl90eF90IGJv bmRfYWxiX3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmJvbmRf ZGV2KQogCQkJYnJlYWs7CiAJCX0KIAotCQkvKiBBZGRpdGlhbmFsbHksIERBRCBwcm9iZXMgc2hv dWxkIG5vdCBiZSB0eC1iYWxhbmNlZCBhcyB0aGF0CisJCWlmICghcHNrYl9uZXR3b3JrX21heV9w dWxsKHNrYiwgc2l6ZW9mKCppcDZoZHIpKSkgeworCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOwor CQkJYnJlYWs7CisJCX0KKwkJLyogQWRkaXRpb25hbGx5LCBEQUQgcHJvYmVzIHNob3VsZCBub3Qg YmUgdHgtYmFsYW5jZWQgYXMgdGhhdAogCQkgKiB3aWxsIGxlYWQgdG8gZmFsc2UgcG9zaXRpdmVz IGZvciBkdXBsaWNhdGUgYWRkcmVzc2VzIGFuZAogCQkgKiBwcmV2ZW50IGFkZHJlc3MgY29uZmln dXJhdGlvbiBmcm9tIHdvcmtpbmcuCiAJCSAqLwpAQCAtMTQyOSwxNyArMTQzOCwyNiBAQCBuZXRk ZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2 aWNlICpib25kX2RldikKIAkJCWJyZWFrOwogCQl9CiAKLQkJaGFzaF9zdGFydCA9IChjaGFyICop JihpcHY2X2hkcihza2IpLT5kYWRkcik7Ci0JCWhhc2hfc2l6ZSA9IHNpemVvZihpcHY2X2hkcihz a2IpLT5kYWRkcik7CisJCWhhc2hfc3RhcnQgPSAoY2hhciAqKSZpcDZoZHItPmRhZGRyOworCQlo YXNoX3NpemUgPSBzaXplb2YoaXA2aGRyLT5kYWRkcik7CiAJCWJyZWFrOwotCWNhc2UgRVRIX1Bf SVBYOgotCQlpZiAoaXB4X2hkcihza2IpLT5pcHhfY2hlY2tzdW0gIT0gSVBYX05PX0NIRUNLU1VN KSB7CisJfQorCWNhc2UgRVRIX1BfSVBYOiB7CisJCWNvbnN0IHN0cnVjdCBpcHhoZHIgKmlweGhk cjsKKworCQlpZiAocHNrYl9uZXR3b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKCppcHhoZHIpKSkg eworCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOworCQkJYnJlYWs7CisJCX0KKwkJaXB4aGRyID0g KHN0cnVjdCBpcHhoZHIgKilza2JfbmV0d29ya19oZWFkZXIoc2tiKTsKKworCQlpZiAoaXB4aGRy LT5pcHhfY2hlY2tzdW0gIT0gSVBYX05PX0NIRUNLU1VNKSB7CiAJCQkvKiBzb21ldGhpbmcgaXMg d3Jvbmcgd2l0aCB0aGlzIHBhY2tldCAqLwogCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOwogCQkJ YnJlYWs7CiAJCX0KIAotCQlpZiAoaXB4X2hkcihza2IpLT5pcHhfdHlwZSAhPSBJUFhfVFlQRV9O Q1ApIHsKKwkJaWYgKGlweGhkci0+aXB4X3R5cGUgIT0gSVBYX1RZUEVfTkNQKSB7CiAJCQkvKiBU aGUgb25seSBwcm90b2NvbCB3b3J0aCBiYWxhbmNpbmcgaW4KIAkJCSAqIHRoaXMgZmFtaWx5IHNp bmNlIGl0IGhhcyBhbiAiQVJQIiBsaWtlCiAJCQkgKiBtZWNoYW5pc20KQEAgLTE0NDgsOSArMTQ2 NiwxMSBAQCBuZXRkZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0 cnVjdCBuZXRfZGV2aWNlICpib25kX2RldikKIAkJCWJyZWFrOwogCQl9CiAKKwkJZXRoX2RhdGEg PSBldGhfaGRyKHNrYik7CiAJCWhhc2hfc3RhcnQgPSAoY2hhciAqKWV0aF9kYXRhLT5oX2Rlc3Q7 CiAJCWhhc2hfc2l6ZSA9IEVUSF9BTEVOOwogCQlicmVhazsKKwl9CiAJY2FzZSBFVEhfUF9BUlA6 CiAJCWRvX3R4X2JhbGFuY2UgPSBmYWxzZTsKIAkJaWYgKGJvbmRfaW5mby0+cmxiX2VuYWJsZWQp CmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pcHguaCBiL2luY2x1ZGUvbmV0L2lweC5oCmluZGV4 IGJhZjA5MDM5MDk5OC4uOWQxMzQyODA3YjU5IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9pcHgu aAorKysgYi9pbmNsdWRlL25ldC9pcHguaApAQCAtNDcsMTEgKzQ3LDYgQEAgc3RydWN0IGlweGhk ciB7CiAvKiBGcm9tIGFmX2lweC5jICovCiBleHRlcm4gaW50IHN5c2N0bF9pcHhfcHByb3BfYnJv YWRjYXN0aW5nOwogCi1zdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgaXB4aGRyICppcHhfaGRyKHN0 cnVjdCBza19idWZmICpza2IpCi17Ci0JcmV0dXJuIChzdHJ1Y3QgaXB4aGRyICopc2tiX3RyYW5z cG9ydF9oZWFkZXIoc2tiKTsKLX0KLQogc3RydWN0IGlweF9pbnRlcmZhY2UgewogCS8qIElQWCBh ZGRyZXNzICovCiAJX19iZTMyCQkJaWZfbmV0bnVtOwotLSAKMi4yMS4xCgoKRnJvbSBlY2MzZWU1 NzQyNGM5ODQ2NjI3NGUwMjQxYzg4MWZhMzMwZjFjZGRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKYWNvYiBLZWxsZXIgPGphY29iLmUua2VsbGVyQGludGVsLmNvbT4KRGF0ZTogVHVl LCA0IEZlYiAyMDIwIDE1OjU5OjUwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMi8yNF0gZGV2bGlu azogcmVwb3J0IDAgYWZ0ZXIgaGl0dGluZyBlbmQgaW4gcmVnaW9uIHJlYWQKClsgVXBzdHJlYW0g Y29tbWl0IGQ1YjkwZTk5ZTFkNTFiN2I1ZDJiNzRmYmM0YzJkYjIzNmE1MTA5MTMgXQoKY29tbWl0 IGZkZDQxZWMyMWUxNSAoImRldmxpbms6IFJldHVybiByaWdodCBlcnJvciBjb2RlIGluIGNhc2Ug b2YgZXJyb3JzCmZvciByZWdpb24gcmVhZCIpIG1vZGlmaWVkIHRoZSByZWdpb24gcmVhZCBjb2Rl IHRvIHJlcG9ydCBlcnJvcnMKcHJvcGVybHkgaW4gdW5leHBlY3RlZCBjYXNlcy4KCkluIHRoZSBj YXNlIHdoZXJlIHRoZSBzdGFydF9vZmZzZXQgYW5kIHJldF9vZmZzZXQgbWF0Y2gsIGl0IHVuaWxh dGVyYWxseQpjb252ZXJ0ZWQgdGhpcyBpbnRvIGFuIGVycm9yLiBUaGlzIGNhdXNlcyBhbiBpc3N1 ZSBmb3IgdGhlICJkdW1wIgp2ZXJzaW9uIG9mIHRoZSBjb21tYW5kLiBJbiB0aGlzIGNhc2UsIHRo ZSBkZXZsaW5rIHJlZ2lvbiBkdW1wIHdpbGwKYWx3YXlzIHJlcG9ydCBhbiBpbnZhbGlkIGFyZ3Vt ZW50OgoKMDAwMDAwMDAwMDAwZmZkMCBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm ZiBmZiBmZiBmZiBmZgowMDAwMDAwMDAwMDBmZmUwIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmCmRldmxpbmsgYW5zd2VyczogSW52YWxpZCBhcmd1bWVudAow MDAwMDAwMDAwMDBmZmYwIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmCgpUaGlzIG9jY3VycyBiZWNhdXNlIHRoZSBleHBlY3RlZCBmbG93IGZvciB0aGUgZHVt cCBpcyB0byByZXR1cm4gMCBhZnRlcgp0aGVyZSBpcyBubyBmdXJ0aGVyIGRhdGEuCgpUaGUgc2lt cGxlc3QgZml4IHdvdWxkIGJlIHRvIHN0b3AgY29udmVydGluZyB0aGUgZXJyb3IgY29kZSB0byAt RUlOVkFMCmlmIHN0YXJ0X29mZnNldCA9PSByZXRfb2Zmc2V0LiBIb3dldmVyLCBhdm9pZCB1bm5l Y2Vzc2FyeSB3b3JrIGJ5CmNoZWNraW5nIGZvciB3aGVuIHN0YXJ0X29mZnNldCBpcyBsYXJnZXIg dGhhbiB0aGUgcmVnaW9uIHNpemUgYW5kCnJldHVybmluZyAwIHVwZnJvbnQuCgpGaXhlczogZmRk NDFlYzIxZTE1ICgiZGV2bGluazogUmV0dXJuIHJpZ2h0IGVycm9yIGNvZGUgaW4gY2FzZSBvZiBl cnJvcnMgZm9yIHJlZ2lvbiByZWFkIikKU2lnbmVkLW9mZi1ieTogSmFjb2IgS2VsbGVyIDxqYWNv Yi5lLmtlbGxlckBpbnRlbC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9jb3JlL2RldmxpbmsuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2bGluay5jIGIvbmV0L2NvcmUv ZGV2bGluay5jCmluZGV4IGFlNjE0OTY1YzhjMi4uNjFiYzY3MDQ3ZjU2IDEwMDY0NAotLS0gYS9u ZXQvY29yZS9kZXZsaW5rLmMKKysrIGIvbmV0L2NvcmUvZGV2bGluay5jCkBAIC0zODYzLDYgKzM4 NjMsMTIgQEAgc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9yZWdpb25fcmVhZF9kdW1waXQoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KIAorCS8qIHJldHVybiAw IGlmIHRoZXJlIGlzIG5vIGZ1cnRoZXIgZGF0YSB0byByZWFkICovCisJaWYgKHN0YXJ0X29mZnNl dCA+PSByZWdpb24tPnNpemUpIHsKKwkJZXJyID0gMDsKKwkJZ290byBvdXRfdW5sb2NrOworCX0K KwogCWhkciA9IGdlbmxtc2dfcHV0KHNrYiwgTkVUTElOS19DQihjYi0+c2tiKS5wb3J0aWQsIGNi LT5ubGgtPm5sbXNnX3NlcSwKIAkJCSAgJmRldmxpbmtfbmxfZmFtaWx5LCBOTE1fRl9BQ0sgfCBO TE1fRl9NVUxUSSwKIAkJCSAgREVWTElOS19DTURfUkVHSU9OX1JFQUQpOwotLSAKMi4yMS4xCgoK RnJvbSBmMDc1YjMzZjU0NjEzZmYwNzQwMDkzNjYwM2FjZTUzNDRkYWUyMTRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYWRhbGluIEJ1Y3VyIDxtYWRhbGluLmJ1Y3VyQG9zcy5ueHAu Y29tPgpEYXRlOiBUdWUsIDQgRmViIDIwMjAgMTI6MDg6NTggKzAyMDAKU3ViamVjdDogW1BBVENI IDAzLzI0XSBkcGFhX2V0aDogc3VwcG9ydCBhbGwgbW9kZXMgd2l0aCByYXRlIGFkYXB0aW5nIFBI WXMKClsgVXBzdHJlYW0gY29tbWl0IDczYTIxZmE4MTdmMGNjODAyMmRjNjIyNjI1MGE4NmJjYTcy N2E1NmQgXQoKU3RvcCByZW1vdmluZyBtb2RlcyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRo ZSBzeXN0ZW0gaW50ZXJmYWNlCndoZW4gdGhlIGNvbm5lY3RlZCBQSFkgaXMgY2FwYWJsZSBvZiBy YXRlIGFkYXB0YXRpb24uIFRoaXMgYWRkcmVzc2VzCmFuIGlzc3VlIHdpdGggdGhlIExTMTA0NkFS REIgYm9hcmQgMTBHIGludGVyZmFjZSBubyBsb25nZXIgd29ya2luZwp3aXRoIGFuIDFHIGxpbmsg cGFydG5lciBhZnRlciBhdXRvbmVnb3RpYXRpb24gc3VwcG9ydCB3YXMgYWRkZWQKZm9yIHRoZSBB cXVhbnRpYSBQSFkgb24gYm9hcmQgaW4KCmNvbW1pdCAwOWM0YzU3ZjdiYzQgKCJuZXQ6IHBoeTog YXF1YW50aWE6IGFkZCBzdXBwb3J0IGZvciBhdXRvLW5lZ290aWF0aW9uIGNvbmZpZ3VyYXRpb24i KQoKQmVmb3JlIHRoaXMgY29tbWl0IHRoZSB2YWx1ZXMgYWR2ZXJ0aXNlZCBieSB0aGUgUEhZIHdl cmUgbm90CmluZmx1ZW5jZWQgYnkgdGhlIGRwYWFfZXRoIGRyaXZlciByZW1vdmFsIG9mIHN5c3Rl bS1zaWRlIHVuc3VwcG9ydGVkCm1vZGVzIGFzIHRoZSBhcXJfY29uZmlnX2FuZWcoKSB3YXMgYmFz aWNhbGx5IGEgbm8tb3AuIEFmdGVyIHRoaXMKY29tbWl0LCB0aGUgbW9kZXMgcmVtb3ZlZCBieSB0 aGUgZHBhYV9ldGggZHJpdmVyIHdlcmUgbm8gbG9uZ2VyCmFkdmVydGlzZWQgdGh1cyBhdXRvbmVn b3RpYXRpb24gd2l0aCAxRyBsaW5rIHBhcnRuZXJzIGZhaWxlZC4KClJlcG9ydGVkLWJ5OiBNaWFu IFlvdXNhZiBLYXVrYWIgPHlrYXVrYWJAc3VzZS5kZT4KU2lnbmVkLW9mZi1ieTogTWFkYWxpbiBC dWN1ciA8bWFkYWxpbi5idWN1ckBvc3MubnhwLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5u IDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2Rw YWFfZXRoLmMgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2Fs ZS9kcGFhL2RwYWFfZXRoLmMKaW5kZXggZmNiZTAxZjYxYWE0Li5lMTMwMjMzYjUwODUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2RwYWFfZXRoLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYwpAQCAtMjQ4 Myw2ICsyNDgzLDkgQEAgc3RhdGljIHZvaWQgZHBhYV9hZGp1c3RfbGluayhzdHJ1Y3QgbmV0X2Rl dmljZSAqbmV0X2RldikKIAltYWNfZGV2LT5hZGp1c3RfbGluayhtYWNfZGV2KTsKIH0KIAorLyog VGhlIEFxdWFudGlhIFBIWXMgYXJlIGNhcGFibGUgb2YgcGVyZm9ybWluZyByYXRlIGFkYXB0YXRp b24gKi8KKyNkZWZpbmUgUEhZX1ZFTkRfQVFVQU5USUEJMHgwM2ExYjQwMAorCiBzdGF0aWMgaW50 IGRwYWFfcGh5X2luaXQoc3RydWN0IG5ldF9kZXZpY2UgKm5ldF9kZXYpCiB7CiAJX19FVEhUT09M X0RFQ0xBUkVfTElOS19NT0RFX01BU0sobWFzaykgPSB7IDAsIH07CkBAIC0yNTAxLDkgKzI1MDQs MTQgQEAgc3RhdGljIGludCBkcGFhX3BoeV9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRfZGV2 KQogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQkvKiBSZW1vdmUgYW55IGZlYXR1cmVzIG5vdCBz dXBwb3J0ZWQgYnkgdGhlIGNvbnRyb2xsZXIgKi8KLQlldGh0b29sX2NvbnZlcnRfbGVnYWN5X3Uz Ml90b19saW5rX21vZGUobWFzaywgbWFjX2Rldi0+aWZfc3VwcG9ydCk7Ci0JbGlua21vZGVfYW5k KHBoeV9kZXYtPnN1cHBvcnRlZCwgcGh5X2Rldi0+c3VwcG9ydGVkLCBtYXNrKTsKKwkvKiBVbmxl c3MgdGhlIFBIWSBpcyBjYXBhYmxlIG9mIHJhdGUgYWRhcHRhdGlvbiAqLworCWlmIChtYWNfZGV2 LT5waHlfaWYgIT0gUEhZX0lOVEVSRkFDRV9NT0RFX1hHTUlJIHx8CisJICAgICgocGh5X2Rldi0+ ZHJ2LT5waHlfaWQgJiBHRU5NQVNLKDMxLCAxMCkpICE9IFBIWV9WRU5EX0FRVUFOVElBKSkgewor CQkvKiByZW1vdmUgYW55IGZlYXR1cmVzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGNvbnRyb2xsZXIg Ki8KKwkJZXRodG9vbF9jb252ZXJ0X2xlZ2FjeV91MzJfdG9fbGlua19tb2RlKG1hc2ssCisJCQkJ CQkJbWFjX2Rldi0+aWZfc3VwcG9ydCk7CisJCWxpbmttb2RlX2FuZChwaHlfZGV2LT5zdXBwb3J0 ZWQsIHBoeV9kZXYtPnN1cHBvcnRlZCwgbWFzayk7CisJfQogCiAJcGh5X3N1cHBvcnRfYXN5bV9w YXVzZShwaHlfZGV2KTsKIAotLSAKMi4yMS4xCgoKRnJvbSA0ZGVmZWQ5YzFmMjAxNjM4MmJkYWQ3 ODJiNmVmODEyNDY4MTY0ZTgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFu IEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA2IEZlYiAyMDIwIDEx OjA3OjQ1IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNF0gbmV0OiBkc2E6IGI1MzogQWx3YXlz IHVzZSBkZXYtPnZsYW5fZW5hYmxlZCBpbgogYjUzX2NvbmZpZ3VyZV92bGFuKCkKClsgVXBzdHJl YW0gY29tbWl0IGRmMzczNzAyYmMwZjhmMmQ4Mzk4MGVhNDQxZTcxNjM5ZmMxZWZjZjggXQoKYjUz X2NvbmZpZ3VyZV92bGFuKCkgaXMgY2FsbGVkIGJ5IHRoZSBiY21fc2YyIGRyaXZlciB1cG9uIHNl dHVwIGFuZAppbmRpcmVjdGx5IHRocm91Z2ggcmVzdW1lIGFzIHdlbGwuIER1cmluZyB0aGUgaW5p dGlhbCBzZXR1cCwgd2UgYXJlCmd1YXJhbnRlZWQgdGhhdCBkZXYtPnZsYW5fZW5hYmxlZCBpcyBm YWxzZSwgc28gdGhlcmUgaXMgbm8gY2hhbmdlIGluCmJlaGF2aW9yLCBob3dldmVyIGR1cmluZyBz dXNwZW5kLCB3ZSBtYXkgaGF2ZSBlbmFibGVkIFZMQU5zIGJlZm9yZSwgc28gd2UKZG8gd2FudCB0 byByZXN0b3JlIHRoYXQgc2V0dGluZy4KCkZpeGVzOiBkYWQ4ZDdjNjQ1MmIgKCJuZXQ6IGRzYTog YjUzOiBQcm9wZXJseSBhY2NvdW50IGZvciBWTEFOIGZpbHRlcmluZyIpCkZpeGVzOiA5NjdkZDgy ZmZjNTIgKCJuZXQ6IGRzYTogYjUzOiBBZGQgc3VwcG9ydCBmb3IgQnJvYWRjb20gUm9ib1N3aXRj aCIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZHNhL2I1My9iNTNfY29tbW9uLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2NvbW1vbi5j CmluZGV4IGE3MTMyYzE1OTNjMy4uN2VkNjY3YjMwNGQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYworKysgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21t b24uYwpAQCAtNjgwLDcgKzY4MCw3IEBAIGludCBiNTNfY29uZmlndXJlX3ZsYW4oc3RydWN0IGRz YV9zd2l0Y2ggKmRzKQogCQliNTNfZG9fdmxhbl9vcChkZXYsIFZUQV9DTURfQ0xFQVIpOwogCX0K IAotCWI1M19lbmFibGVfdmxhbihkZXYsIGZhbHNlLCBkcy0+dmxhbl9maWx0ZXJpbmcpOworCWI1 M19lbmFibGVfdmxhbihkZXYsIGRldi0+dmxhbl9lbmFibGVkLCBkcy0+dmxhbl9maWx0ZXJpbmcp OwogCiAJYjUzX2Zvcl9lYWNoX3BvcnQoZGV2LCBpKQogCQliNTNfd3JpdGUxNihkZXYsIEI1M19W TEFOX1BBR0UsCi0tIAoyLjIxLjEKCgpGcm9tIGI2NDliNzdhYmE0MDZkZjIwNGEyNzg0ZTM0OTRk N2VmMmQ5NTBiYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVs bGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpEYXRlOiBUaHUsIDYgRmViIDIwMjAgMTE6MjM6NTIg LTA4MDAKU3ViamVjdDogW1BBVENIIDA1LzI0XSBuZXQ6IGRzYTogYmNtX3NmMjogT25seSA3Mjc4 IHN1cHBvcnRzIDJHYi9zZWMgSU1QIHBvcnQKClsgVXBzdHJlYW0gY29tbWl0IGRlMzRkNzA4NGVk ZDA2OWRhYzVhYTAxMGNmZTMyYmQ4YzQ2MTlmYTYgXQoKVGhlIDc0NDUgc3dpdGNoIGNsb2NraW5n IHByb2ZpbGVzIGRvIG5vdCBhbGxvdyB1cyB0byBydW4gdGhlIElNUCBwb3J0IGF0CjJHYi9zZWMg aW4gYSB3YXkgdGhhdCBpdCBpcyByZWxpYWJsZSBhbmQgY29uc2lzdGVudC4gTWFrZSBzdXJlIHRo YXQgdGhlCnNldHRpbmcgaXMgb25seSBhcHBsaWVkIHRvIHRoZSA3Mjc4IGZhbWlseS4KCkZpeGVz OiA4ZjE4ODBjYmU4ZDAgKCJuZXQ6IGRzYTogYmNtX3NmMjogQ29uZmlndXJlIElNUCBwb3J0IGZv ciAyR2Ivc2VjIikKU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvYmNtX3NmMi5jIHwgNCArKystCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL2JjbV9zZjIuYyBiL2RyaXZlcnMvbmV0L2RzYS9iY21fc2YyLmMKaW5kZXggNDdi MjEwOTZiNTc3Li5mZWNkNWU2NzRlMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9iY21f c2YyLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL2JjbV9zZjIuYwpAQCAtNjgsNyArNjgsOSBAQCBz dGF0aWMgdm9pZCBiY21fc2YyX2ltcF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBw b3J0KQogCiAJCS8qIEZvcmNlIGxpbmsgc3RhdHVzIGZvciBJTVAgcG9ydCAqLwogCQlyZWcgPSBj b3JlX3JlYWRsKHByaXYsIG9mZnNldCk7Ci0JCXJlZyB8PSAoTUlJX1NXX09SIHwgTElOS19TVFMg fCBHTUlJX1NQRUVEX1VQXzJHKTsKKwkJcmVnIHw9IChNSUlfU1dfT1IgfCBMSU5LX1NUUyk7CisJ CWlmIChwcml2LT50eXBlID09IEJDTTcyNzhfREVWSUNFX0lEKQorCQkJcmVnIHw9IEdNSUlfU1BF RURfVVBfMkc7CiAJCWNvcmVfd3JpdGVsKHByaXYsIHJlZywgb2Zmc2V0KTsKIAogCQkvKiBFbmFi bGUgQnJvYWRjYXN0LCBNdWx0aWNhc3QsIFVuaWNhc3QgZm9yd2FyZGluZyB0byBJTVAgcG9ydCAq LwotLSAKMi4yMS4xCgoKRnJvbSAwNDRjZGEyNGQ0YjQzMDU0MWFlNWJkYTQwNmM5MzZiOTZmZTZj ZTQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSYXp2YW4gU3RlZmFuZXNjdSA8cmF6 dmFuLnN0ZWZhbmVzY3VAbWljcm9jaGlwLmNvbT4KRGF0ZTogRnJpLCA3IEZlYiAyMDIwIDE3OjQ0 OjA0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNi8yNF0gbmV0OiBkc2E6IG1pY3JvY2hpcDogZW5h YmxlIG1vZHVsZSBhdXRvcHJvYmUKClsgVXBzdHJlYW0gY29tbWl0IGY4YzJhZmE2NmQ1Mzk3YjBi OTI5M2M0MzQ3ZGFjNmRhYmIzMjc2ODUgXQoKVGhpcyBtYXRjaGVzIC9zeXMvZGV2aWNlcy8uLi4v c3BpMS4wL21vZGFsaWFzIGNvbnRlbnQuCgpGaXhlczogOWIyZDlmMDVjZGRmICgibmV0OiBkc2E6 IG1pY3JvY2hpcDogYWRkIGtzejk1NjcgdG8ga3N6OTQ3NyBkcml2ZXIiKQpGaXhlczogZDkwMzNh ZTk1Y2Y0ICgibmV0OiBkc2E6IG1pY3JvY2hpcDogYWRkIEtTWjg1NjMgY29tcGF0aWJpbGl0eSBz dHJpbmciKQpGaXhlczogOGMyOWJlYmIxZjhhICgibmV0OiBkc2E6IG1pY3JvY2hpcDogYWRkIEtT Wjk4OTMgc3dpdGNoIHN1cHBvcnQiKQpGaXhlczogNDUzMTY4MTgzNzFkICgibmV0OiBkc2E6IGFk ZCBzdXBwb3J0IGZvciBrc3o5ODk3IGV0aGVybmV0IHN3aXRjaCIpCkZpeGVzOiBiOTg3ZTk4ZTUw YWIgKCJkc2E6IGFkZCBEU0Egc3dpdGNoIGRyaXZlciBmb3IgTWljcm9jaGlwIEtTWjk0NzciKQpT aWduZWQtb2ZmLWJ5OiBSYXp2YW4gU3RlZmFuZXNjdSA8cmF6dmFuLnN0ZWZhbmVzY3VAbWljcm9j aGlwLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29kcmluIENpdWJvdGFyaXUgPGNvZHJpbi5jaXVib3Rh cml1QG1pY3JvY2hpcC5jb20+ClJldmlld2VkLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4u Y2g+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9kc2EvbWljcm9jaGlwL2tzejk0Nzdfc3BpLmMgfCA2ICsrKysrKwog MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2RzYS9taWNyb2NoaXAva3N6OTQ3N19zcGkuYyBiL2RyaXZlcnMvbmV0L2RzYS9taWNyb2NoaXAv a3N6OTQ3N19zcGkuYwppbmRleCBjNWY2NDk1OWExODQuLjExNDI3Njg5NjljMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hpcC9rc3o5NDc3X3NwaS5jCisrKyBiL2RyaXZlcnMv bmV0L2RzYS9taWNyb2NoaXAva3N6OTQ3N19zcGkuYwpAQCAtMTAxLDYgKzEwMSwxMiBAQCBzdGF0 aWMgc3RydWN0IHNwaV9kcml2ZXIga3N6OTQ3N19zcGlfZHJpdmVyID0gewogCiBtb2R1bGVfc3Bp X2RyaXZlcihrc3o5NDc3X3NwaV9kcml2ZXIpOwogCitNT0RVTEVfQUxJQVMoInNwaTprc3o5NDc3 Iik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5ODk3Iik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5 ODkzIik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5NTYzIik7CitNT0RVTEVfQUxJQVMoInNwaTpr c3o4NTYzIik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5NTY3Iik7CiBNT0RVTEVfQVVUSE9SKCJX b29qdW5nIEh1aCA8V29vanVuZy5IdWhAbWljcm9jaGlwLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQ VElPTigiTWljcm9jaGlwIEtTWjk0NzcgU2VyaWVzIFN3aXRjaCBTUEkgYWNjZXNzIERyaXZlciIp OwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotLSAKMi4yMS4xCgoKRnJvbSBmN2MxMmJlZjkwZWNl NjliNDZjNTZlNGIzNzlkYTVhMWY2NTNiZGJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBMb3JlbnpvIEJpYW5jb25pIDxsb3JlbnpvQGtlcm5lbC5vcmc+CkRhdGU6IFRodSwgNiBGZWIg MjAyMCAxMDoxNDozOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjRdIG5ldDogbXZuZXRhOiBt b3ZlIHJ4X2Ryb3BwZWQgYW5kIHJ4X2Vycm9ycyBpbiBwZXItY3B1CiBzdGF0cwoKWyBVcHN0cmVh bSBjb21taXQgYzM1OTQ3YjhmZjhhY2NhMzMxMzRlZTM5YzMxNzA4MjMzNzY1YzMxYSBdCgpNb3Zl IHJ4X2Ryb3BwZWQgYW5kIHJ4X2Vycm9ycyBjb3VudGVycyBpbiBtdm5ldGFfcGNwdV9zdGF0cyBp biBvcmRlciB0bwphdm9pZCBwb3NzaWJsZSByYWNlcyB1cGRhdGluZyBzdGF0aXN0aWNzCgpGaXhl czogNTYyZTJmNDY3ZTcxICgibmV0OiBtdm5ldGE6IEltcHJvdmUgdGhlIGJ1ZmZlciBhbGxvY2F0 aW9uIG1ldGhvZCBmb3IgU1dCTSIpCkZpeGVzOiBkYzM1YTEwZjY4ZDMgKCJuZXQ6IG12bmV0YTog Ym06IGFkZCBzdXBwb3J0IGZvciBoYXJkd2FyZSBidWZmZXIgbWFuYWdlbWVudCIpCkZpeGVzOiBj NWFmZjE4MjA0ZGEgKCJuZXQ6IG12bmV0YTogZHJpdmVyIGZvciBNYXJ2ZWxsIEFybWFkYSAzNzAv WFAgbmV0d29yayB1bml0IikKU2lnbmVkLW9mZi1ieTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56 b0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdm5ldGEuYyB8IDI3 ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWFydmVsbC9tdm5ldGEuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMK aW5kZXggZTQ5ODIwNjc1YzhjLi42YjFhODFkZjE0NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFy dmVsbC9tdm5ldGEuYwpAQCAtMzg4LDYgKzM4OCw4IEBAIHN0cnVjdCBtdm5ldGFfcGNwdV9zdGF0 cyB7CiAJc3RydWN0CXU2NF9zdGF0c19zeW5jIHN5bmNwOwogCXU2NAlyeF9wYWNrZXRzOwogCXU2 NAlyeF9ieXRlczsKKwl1NjQJcnhfZHJvcHBlZDsKKwl1NjQJcnhfZXJyb3JzOwogCXU2NAl0eF9w YWNrZXRzOwogCXU2NAl0eF9ieXRlczsKIH07CkBAIC03MDYsNiArNzA4LDggQEAgbXZuZXRhX2dl dF9zdGF0czY0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBtdm5ldGFfcGNwdV9z dGF0cyAqY3B1X3N0YXRzOwogCQl1NjQgcnhfcGFja2V0czsKIAkJdTY0IHJ4X2J5dGVzOworCQl1 NjQgcnhfZHJvcHBlZDsKKwkJdTY0IHJ4X2Vycm9yczsKIAkJdTY0IHR4X3BhY2tldHM7CiAJCXU2 NCB0eF9ieXRlczsKIApAQCAtNzE0LDE5ICs3MTgsMjAgQEAgbXZuZXRhX2dldF9zdGF0czY0KHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQlzdGFydCA9IHU2NF9zdGF0c19mZXRjaF9iZWdpbl9p cnEoJmNwdV9zdGF0cy0+c3luY3ApOwogCQkJcnhfcGFja2V0cyA9IGNwdV9zdGF0cy0+cnhfcGFj a2V0czsKIAkJCXJ4X2J5dGVzICAgPSBjcHVfc3RhdHMtPnJ4X2J5dGVzOworCQkJcnhfZHJvcHBl ZCA9IGNwdV9zdGF0cy0+cnhfZHJvcHBlZDsKKwkJCXJ4X2Vycm9ycyAgPSBjcHVfc3RhdHMtPnJ4 X2Vycm9yczsKIAkJCXR4X3BhY2tldHMgPSBjcHVfc3RhdHMtPnR4X3BhY2tldHM7CiAJCQl0eF9i eXRlcyAgID0gY3B1X3N0YXRzLT50eF9ieXRlczsKIAkJfSB3aGlsZSAodTY0X3N0YXRzX2ZldGNo X3JldHJ5X2lycSgmY3B1X3N0YXRzLT5zeW5jcCwgc3RhcnQpKTsKIAogCQlzdGF0cy0+cnhfcGFj a2V0cyArPSByeF9wYWNrZXRzOwogCQlzdGF0cy0+cnhfYnl0ZXMgICArPSByeF9ieXRlczsKKwkJ c3RhdHMtPnJ4X2Ryb3BwZWQgKz0gcnhfZHJvcHBlZDsKKwkJc3RhdHMtPnJ4X2Vycm9ycyAgKz0g cnhfZXJyb3JzOwogCQlzdGF0cy0+dHhfcGFja2V0cyArPSB0eF9wYWNrZXRzOwogCQlzdGF0cy0+ dHhfYnl0ZXMgICArPSB0eF9ieXRlczsKIAl9CiAKLQlzdGF0cy0+cnhfZXJyb3JzCT0gZGV2LT5z dGF0cy5yeF9lcnJvcnM7Ci0Jc3RhdHMtPnJ4X2Ryb3BwZWQJPSBkZXYtPnN0YXRzLnJ4X2Ryb3Bw ZWQ7Ci0KIAlzdGF0cy0+dHhfZHJvcHBlZAk9IGRldi0+c3RhdHMudHhfZHJvcHBlZDsKIH0KIApA QCAtMTcwMyw4ICsxNzA4LDE0IEBAIHN0YXRpYyB1MzIgbXZuZXRhX3R4cV9kZXNjX2NzdW0oaW50 IGwzX29mZnMsIGludCBsM19wcm90bywKIHN0YXRpYyB2b2lkIG12bmV0YV9yeF9lcnJvcihzdHJ1 Y3QgbXZuZXRhX3BvcnQgKnBwLAogCQkJICAgIHN0cnVjdCBtdm5ldGFfcnhfZGVzYyAqcnhfZGVz YykKIHsKKwlzdHJ1Y3QgbXZuZXRhX3BjcHVfc3RhdHMgKnN0YXRzID0gdGhpc19jcHVfcHRyKHBw LT5zdGF0cyk7CiAJdTMyIHN0YXR1cyA9IHJ4X2Rlc2MtPnN0YXR1czsKIAorCS8qIHVwZGF0ZSBw ZXItY3B1IGNvdW50ZXIgKi8KKwl1NjRfc3RhdHNfdXBkYXRlX2JlZ2luKCZzdGF0cy0+c3luY3Ap OworCXN0YXRzLT5yeF9lcnJvcnMrKzsKKwl1NjRfc3RhdHNfdXBkYXRlX2VuZCgmc3RhdHMtPnN5 bmNwKTsKKwogCXN3aXRjaCAoc3RhdHVzICYgTVZORVRBX1JYRF9FUlJfQ09ERV9NQVNLKSB7CiAJ Y2FzZSBNVk5FVEFfUlhEX0VSUl9DUkM6CiAJCW5ldGRldl9lcnIocHAtPmRldiwgImJhZCByeCBz dGF0dXMgJTA4eCAoY3JjIGVycm9yKSwgc2l6ZT0lZFxuIiwKQEAgLTE5NjUsNyArMTk3Niw2IEBA IHN0YXRpYyBpbnQgbXZuZXRhX3J4X3N3Ym0oc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpLAogCQkJ LyogQ2hlY2sgZXJyb3JzIG9ubHkgZm9yIEZJUlNUIGRlc2NyaXB0b3IgKi8KIAkJCWlmIChyeF9z dGF0dXMgJiBNVk5FVEFfUlhEX0VSUl9TVU1NQVJZKSB7CiAJCQkJbXZuZXRhX3J4X2Vycm9yKHBw LCByeF9kZXNjKTsKLQkJCQlkZXYtPnN0YXRzLnJ4X2Vycm9ycysrOwogCQkJCS8qIGxlYXZlIHRo ZSBkZXNjcmlwdG9yIHVudG91Y2hlZCAqLwogCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtMTk3Niwx MSArMTk4NiwxNyBAQCBzdGF0aWMgaW50IG12bmV0YV9yeF9zd2JtKHN0cnVjdCBuYXBpX3N0cnVj dCAqbmFwaSwKIAkJCXNrYl9zaXplID0gbWF4KHJ4X2NvcHlicmVhaywgcnhfaGVhZGVyX3NpemUp OwogCQkJcnhxLT5za2IgPSBuZXRkZXZfYWxsb2Nfc2tiX2lwX2FsaWduKGRldiwgc2tiX3NpemUp OwogCQkJaWYgKHVubGlrZWx5KCFyeHEtPnNrYikpIHsKKwkJCQlzdHJ1Y3QgbXZuZXRhX3BjcHVf c3RhdHMgKnN0YXRzID0gdGhpc19jcHVfcHRyKHBwLT5zdGF0cyk7CisKIAkJCQluZXRkZXZfZXJy KGRldiwKIAkJCQkJICAgIkNhbid0IGFsbG9jYXRlIHNrYiBvbiBxdWV1ZSAlZFxuIiwKIAkJCQkJ ICAgcnhxLT5pZCk7Ci0JCQkJZGV2LT5zdGF0cy5yeF9kcm9wcGVkKys7CisKIAkJCQlyeHEtPnNr Yl9hbGxvY19lcnIrKzsKKworCQkJCXU2NF9zdGF0c191cGRhdGVfYmVnaW4oJnN0YXRzLT5zeW5j cCk7CisJCQkJc3RhdHMtPnJ4X2Ryb3BwZWQrKzsKKwkJCQl1NjRfc3RhdHNfdXBkYXRlX2VuZCgm c3RhdHMtPnN5bmNwKTsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCWNvcHlfc2l6ZSA9IG1pbihz a2Jfc2l6ZSwgcnhfYnl0ZXMpOwpAQCAtMjEzNyw3ICsyMTUzLDYgQEAgc3RhdGljIGludCBtdm5l dGFfcnhfaHdibShzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksCiAJCQltdm5ldGFfYm1fcG9vbF9w dXRfYnAocHAtPmJtX3ByaXYsIGJtX3Bvb2wsCiAJCQkJCSAgICAgIHJ4X2Rlc2MtPmJ1Zl9waHlz X2FkZHIpOwogZXJyX2Ryb3BfZnJhbWU6Ci0JCQlkZXYtPnN0YXRzLnJ4X2Vycm9ycysrOwogCQkJ bXZuZXRhX3J4X2Vycm9yKHBwLCByeF9kZXNjKTsKIAkJCS8qIGxlYXZlIHRoZSBkZXNjcmlwdG9y IHVudG91Y2hlZCAqLwogCQkJY29udGludWU7Ci0tIAoyLjIxLjEKCgpGcm9tIDA4ZGMyYzIxMWFl Njg1NmQyOWQ2ZjQzNjNhMWM4ZGU4NDlkMjkyODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpEYXRlOiBUdWUsIDQgRmVi IDIwMjAgMTE6MTA6MTIgLTA4MDAKU3ViamVjdDogW1BBVENIIDA4LzI0XSBuZXRfc2NoZWQ6IGZp eCBhIHJlc291cmNlIGxlYWsgaW4gdGNpbmRleF9zZXRfcGFybXMoKQoKWyBVcHN0cmVhbSBjb21t aXQgNTJiNWFlNTAxYzA0NTAxMGFlZWIxZDVhYzAzNzNmZjE2MWE4ODI5MSBdCgpKYWt1YiBub3Rp Y2VkIHRoZXJlIGlzIGEgcG90ZW50aWFsIHJlc291cmNlIGxlYWsgaW4KdGNpbmRleF9zZXRfcGFy bXMoKTogd2hlbiB0Y2luZGV4X2ZpbHRlcl9yZXN1bHRfaW5pdCgpIGZhaWxzCmFuZCBpdCBqdW1w cyB0byAnZXJyb3V0MScgd2hpY2ggZG9lc24ndCByZWxlYXNlIHRoZSBtZW1vcnkKYW5kIHJlc291 cmNlcyBhbGxvY2F0ZWQgYnkgdGNpbmRleF9hbGxvY19wZXJmZWN0X2hhc2goKS4KCldlIHNob3Vs ZCBqdXN0IGp1bXAgdG8gJ2Vycm91dF9hbGxvYycgd2hpY2ggY2FsbHMKdGNpbmRleF9mcmVlX3Bl cmZlY3RfaGFzaCgpLgoKRml4ZXM6IGI5YTI0YmI3NmJmNiAoIm5ldF9zY2hlZDogcHJvcGVybHkg aGFuZGxlIGZhaWx1cmUgY2FzZSBvZiB0Y2ZfZXh0c19pbml0KCkiKQpSZXBvcnRlZC1ieTogSmFr dWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KQ2M6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Bt b2phdGF0dS5jb20+CkNjOiBKaXJpIFBpcmtvIDxqaXJpQHJlc251bGxpLnVzPgpTaWduZWQtb2Zm LWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9jbHNf dGNpbmRleC5jIHwgMyArLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvY2xzX3RjaW5kZXguYyBiL25ldC9zY2hl ZC9jbHNfdGNpbmRleC5jCmluZGV4IDNkNGExMjgwMzUyZi4uZTUzODM0YzM1NDQ3IDEwMDY0NAot LS0gYS9uZXQvc2NoZWQvY2xzX3RjaW5kZXguYworKysgYi9uZXQvc2NoZWQvY2xzX3RjaW5kZXgu YwpAQCAtMzQ2LDcgKzM0Niw3IEBAIHRjaW5kZXhfc2V0X3Bhcm1zKHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IHRjZl9wcm90byAqdHAsIHVuc2lnbmVkIGxvbmcgYmFzZSwKIAogCWVyciA9IHRjaW5k ZXhfZmlsdGVyX3Jlc3VsdF9pbml0KCZuZXdfZmlsdGVyX3Jlc3VsdCwgbmV0KTsKIAlpZiAoZXJy IDwgMCkKLQkJZ290byBlcnJvdXQxOworCQlnb3RvIGVycm91dF9hbGxvYzsKIAlpZiAob2xkX3Ip CiAJCWNyID0gci0+cmVzOwogCkBAIC00ODQsNyArNDg0LDYgQEAgdGNpbmRleF9zZXRfcGFybXMo c3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgdGNmX3Byb3RvICp0cCwgdW5zaWduZWQgbG9uZyBiYXNl LAogCQl0Y2luZGV4X2ZyZWVfcGVyZmVjdF9oYXNoKGNwKTsKIAllbHNlIGlmIChiYWxsb2MgPT0g MikKIAkJa2ZyZWUoY3AtPmgpOwotZXJyb3V0MToKIAl0Y2ZfZXh0c19kZXN0cm95KCZuZXdfZmls dGVyX3Jlc3VsdC5leHRzKTsKIGVycm91dDoKIAlrZnJlZShjcCk7Ci0tIAoyLjIxLjEKCgpGcm9t IDVjM2M3YWJmMWZmOTI4ZDkyMjYwZjVmYjhiNDUxYjU5N2ViODZmMjAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IERlamluIFpoZW5nIDx6aGVuZ2RlamluNUBnbWFpbC5jb20+CkRhdGU6 IFRodSwgNiBGZWIgMjAyMCAyMzoyOToxNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjRdIG5l dDogc3RtbWFjOiBmaXggYSBwb3NzaWJsZSBlbmRsZXNzIGxvb3AKClsgVXBzdHJlYW0gY29tbWl0 IDdkMTBmMDc3NGY5ZTMyYWEyZjJlMDEyZjdmY2IzMTJhMmNlNDIyYjkgXQoKSXQgZm9yZ290IHRv IHJlZHVjZSB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIHJldHJ5IGluIGEgd2hpbGUgbG9vcApp biB0aGUgZXRocW9zX2NvbmZpZ3VyZSgpIGZ1bmN0aW9uLiBJdCBtYXkgY2F1c2UgYW4gZW5kbGVz cyBsb29wIGFuZAp3aXRob3V0IHRpbWVvdXQuCgpGaXhlczogYTdjMzBlNjJkNGI4ICgibmV0OiBz dG1tYWM6IEFkZCBkcml2ZXIgZm9yIFF1YWxjb21tIGV0aHFvcyIpClNpZ25lZC1vZmYtYnk6IERl amluIFpoZW5nIDx6aGVuZ2RlamluNUBnbWFpbC5jb20+CkFja2VkLWJ5OiBWaW5vZCBLb3VsIDx2 a291bEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdt YWMtcWNvbS1ldGhxb3MuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNv bS1ldGhxb3MuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXFj b20tZXRocW9zLmMKaW5kZXggN2VjODk1NDA3ZDIzLi5lMGE1ZmU4M2Q4ZTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXFjb20tZXRocW9zLmMK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhx b3MuYwpAQCAtNDEzLDYgKzQxMyw3IEBAIHN0YXRpYyBpbnQgZXRocW9zX2NvbmZpZ3VyZShzdHJ1 Y3QgcWNvbV9ldGhxb3MgKmV0aHFvcykKIAkJCWRsbF9sb2NrID0gcmdtaWlfcmVhZGwoZXRocW9z LCBTREM0X1NUQVRVUyk7CiAJCQlpZiAoZGxsX2xvY2sgJiBTREM0X1NUQVRVU19ETExfTE9DSykK IAkJCQlicmVhazsKKwkJCXJldHJ5LS07CiAJCX0gd2hpbGUgKHJldHJ5ID4gMCk7CiAJCWlmICgh cmV0cnkpCiAJCQlkZXZfZXJyKCZldGhxb3MtPnBkZXYtPmRldiwKLS0gCjIuMjEuMQoKCkZyb20g ZmI2N2Y3MDhkZTg2MTI2OWJjMjA1YzFiODZkYmZjOTNiYWVjYWUyYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRh dGU6IFdlZCwgNSBGZWIgMjAyMCAxMjozMjowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjRd IG5ldDogc3lzdGVtcG9ydDogQXZvaWQgUkJVRiBzdHVjayBpbiBXYWtlLW9uLUxBTiBtb2RlCgpb IFVwc3RyZWFtIGNvbW1pdCAyNjNhNDI1YTQ4MmZjNDk1ZDZkM2Y5YTI5YjkxMDNhNjY0YzM4YjY5 IF0KCkFmdGVyIGEgbnVtYmVyIG9mIHN1c3BlbmQgYW5kIHJlc3VtZSBjeWNsZXMsIGl0IGlzIHBv c3NpYmxlIGZvciB0aGUgUkJVRgp0byBiZSBzdHVjayBpbiBXYWtlLW9uLUxBTiBtb2RlLCBkZXNw aXRlIHRoZSBNUEQgZW5hYmxlIGJpdCBiZWluZwpjbGVhcmVkIHdoaWNoIGluc3RydWN0ZWQgdGhl IFJCVUYgdG8gZXhpdCB0aGF0IG1vZGUuCgpBdm9pZCBjcmVhdGluZyB0aGF0IHByb2JsZW1hdGlj IGNvbmRpdGlvbiBieSBjbGVhcmluZyB0aGUgUlhfRU4gYW5kClRYX0VOIGJpdHMgaW4gdGhlIFVu aU1BQyBwcmlvciB0byBkaXNhYmxlIHRoZSBNYWdpYyBQYWNrZXQgRGV0ZWN0b3IKbG9naWMgd2hp Y2ggaXMgZ3VhcmFudGVlZCB0byBtYWtlIHRoZSBSQlVGIGV4aXQgV2FrZS1vbi1MQU4gbW9kZS4K CkZpeGVzOiA4M2U4MmY0YzcwNmIgKCJuZXQ6IHN5c3RlbXBvcnQ6IGFkZCBXYWtlLW9uLUxBTiBz dXBwb3J0IikKU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMgfCAzICsr KwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL2JjbXN5c3BvcnQuYwppbmRleCBiNGM2NjQ5NTcyNjYuLjRhMjc1NzdlMTM3YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYwpAQCAtMjcyOCw2 ICsyNzI4LDkgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBiY21fc3lzcG9ydF9yZXN1bWUo c3RydWN0IGRldmljZSAqZCkKIAogCXVtYWNfcmVzZXQocHJpdik7CiAKKwkvKiBEaXNhYmxlIHRo ZSBVbmlNQUMgUlgvVFggKi8KKwl1bWFjX2VuYWJsZV9zZXQocHJpdiwgQ01EX1JYX0VOIHwgQ01E X1RYX0VOLCAwKTsKKwogCS8qIFdlIG1heSBoYXZlIGJlZW4gc3VzcGVuZGVkIGFuZCBuZXZlciBy ZWNlaXZlZCBhIFdPTCBldmVudCB0aGF0CiAJICogd291bGQgdHVybiBvZmYgTVBEIGRldGVjdGlv biwgdGFrZSBjYXJlIG9mIHRoYXQgbm93CiAJICovCi0tIAoyLjIxLjEKCgpGcm9tIDU1Yjk4ODgw YTgwM2Y4NGMyNmQxOWM4ZTZjYzVjNDFiZTMxYTAxZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFJhZWQgU2FsZW0gPHJhZWRzQG1lbGxhbm94LmNvbT4KRGF0ZTogVHVlLCAyNCBEZWMg MjAxOSAwOTo1NDo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjRdIG5ldC9tbHg1OiBJUHNl YywgRml4IGVzcCBtb2RpZnkgZnVuY3Rpb24gYXR0cmlidXRlCgpbIFVwc3RyZWFtIGNvbW1pdCAw ZGMyYzUzNGYxN2MwNWJlZDA2MjJiMzdhNzQ0YmMzOGI0OGNhODhhIF0KClRoZSBmdW5jdGlvbiBt bHg1X2ZwZ2FfZXNwX3ZhbGlkYXRlX3hmcm1fYXR0cnMgaXMgd3JvbmdseSB1c2VkCndpdGggbmVn YXRpdmUgbmVnYXRpb24gYXMgemVybyB2YWx1ZSBpbmRpY2F0ZXMgc3VjY2VzcyBidXQgaXQKdXNl ZCBhcyBmYWlsdXJlIHJldHVybiB2YWx1ZSBpbnN0ZWFkLgoKRml4IGJ5IHJlbW92ZSB0aGUgdW5h cnkgbm90IG5lZ2F0aW9uIG9wZXJhdG9yLgoKRml4ZXM6IDA1NTY0ZDBhZTA3NSAoIm5ldC9tbHg1 OiBBZGQgZmxvdy1zdGVlcmluZyBjb21tYW5kcyBmb3IgRlBHQSBJUFNlYyBpbXBsZW1lbnRhdGlv biIpClNpZ25lZC1vZmYtYnk6IFJhZWQgU2FsZW0gPHJhZWRzQG1lbGxhbm94LmNvbT4KUmV2aWV3 ZWQtYnk6IEJvcmlzIFBpc21lbm55IDxib3Jpc3BAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5 OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mcGdhL2lwc2VjLmMKaW5kZXggYzc2ZGEz MDk1MDZiLi5lNjJhOWIxYWEwNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9mcGdhL2lwc2VjLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYwpAQCAtMTQ3OCw3ICsxNDc4LDcgQEAgaW50 IG1seDVfZnBnYV9lc3BfbW9kaWZ5X3hmcm0oc3RydWN0IG1seDVfYWNjZWxfZXNwX3hmcm0gKnhm cm0sCiAJaWYgKCFtZW1jbXAoJnhmcm0tPmF0dHJzLCBhdHRycywgc2l6ZW9mKHhmcm0tPmF0dHJz KSkpCiAJCXJldHVybiAwOwogCi0JaWYgKCFtbHg1X2ZwZ2FfZXNwX3ZhbGlkYXRlX3hmcm1fYXR0 cnMobWRldiwgYXR0cnMpKSB7CisJaWYgKG1seDVfZnBnYV9lc3BfdmFsaWRhdGVfeGZybV9hdHRy cyhtZGV2LCBhdHRycykpIHsKIAkJbWx4NV9jb3JlX3dhcm4obWRldiwgIlRyaWVkIHRvIGNyZWF0 ZSBhbiBlc3Agd2l0aCB1bnN1cHBvcnRlZCBhdHRyc1xuIik7CiAJCXJldHVybiAtRU9QTk9UU1VQ UDsKIAl9Ci0tIAoyLjIxLjEKCgpGcm9tIGM1MDkyMjFhZDgxMDQxNjAyOWZkYmI5NmNjMTUyYzVk NmEwN2YzOTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJhZWQgU2FsZW0gPHJhZWRz QG1lbGxhbm94LmNvbT4KRGF0ZTogV2VkLCAyMyBPY3QgMjAxOSAxNjo0MToyMSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMTIvMjRdIG5ldC9tbHg1OiBJUHNlYywgZml4IG1lbW9yeSBsZWFrIGF0CiBt bHg1X2ZwZ2FfaXBzZWNfZGVsZXRlX3NhX2N0eAoKWyBVcHN0cmVhbSBjb21taXQgMDhkYjJjZjU3 NzQ4N2Y1MTIzYWViY2MyZjkxM2UwYjhhMmMxNGI0MyBdCgpTQSBjb250ZXh0IGlzIGFsbG9jYXRl ZCBhdCBtbHg1X2ZwZ2FfaXBzZWNfY3JlYXRlX3NhX2N0eCwKaG93ZXZlciB0aGUgY291bnRlcnBh cnQgbWx4NV9mcGdhX2lwc2VjX2RlbGV0ZV9zYV9jdHggZnVuY3Rpb24KbnVsbGlmaWVzIHNhX2N0 eCBwb2ludGVyIHdpdGhvdXQgZnJlZWluZyB0aGUgbWVtb3J5IGFsbG9jYXRlZCwKaGVuY2UgdGhl IG1lbW9yeSBsZWFrLgoKRml4IGJ5IGZyZWUgU0EgY29udGV4dCB3aGVuIHRoZSBTQSBpcyByZWxl YXNlZC4KCkZpeGVzOiBkNmM0ZjAyOThjZWMgKCJuZXQvbWx4NTogUmVmYWN0b3IgYWNjZWwgSVBT ZWMgY29kZSIpClNpZ25lZC1vZmYtYnk6IFJhZWQgU2FsZW0gPHJhZWRzQG1lbGxhbm94LmNvbT4K UmV2aWV3ZWQtYnk6IEJvcmlzIFBpc21lbm55IDxib3Jpc3BAbWVsbGFub3guY29tPgpTaWduZWQt b2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIHwgMSArCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYwppbmRleCBlNjJhOWIxYWEwNjAuLjcy MjMyZTU3MGFmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2ZwZ2EvaXBzZWMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZnBnYS9pcHNlYy5jCkBAIC04NTAsNiArODUwLDcgQEAgdm9pZCBtbHg1X2ZwZ2Ff aXBzZWNfZGVsZXRlX3NhX2N0eCh2b2lkICpjb250ZXh0KQogCW11dGV4X2xvY2soJmZwZ2FfeGZy bS0+bG9jayk7CiAJaWYgKCEtLWZwZ2FfeGZybS0+bnVtX3J1bGVzKSB7CiAJCW1seDVfZnBnYV9p cHNlY19yZWxlYXNlX3NhX2N0eChmcGdhX3hmcm0tPnNhX2N0eCk7CisJCWtmcmVlKGZwZ2FfeGZy bS0+c2FfY3R4KTsKIAkJZnBnYV94ZnJtLT5zYV9jdHggPSBOVUxMOwogCX0KIAltdXRleF91bmxv Y2soJmZwZ2FfeGZybS0+bG9jayk7Ci0tIAoyLjIxLjEKCgpGcm9tIGI0ZjdjY2Y5NjY0MTM1NjE3 NjRmZGY3NzM0MDk0NjU1ZmI4ODE3MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhh cmluaSBLYXRha2FtIDxoYXJpbmkua2F0YWthbUB4aWxpbnguY29tPgpEYXRlOiBXZWQsIDUgRmVi IDIwMjAgMTg6MDg6MTEgKzA1MzAKU3ViamVjdDogW1BBVENIIDEzLzI0XSBuZXQ6IG1hY2I6IFJl bW92ZSB1bm5lY2Vzc2FyeSBhbGlnbm1lbnQgY2hlY2sgZm9yIFRTTwoKWyBVcHN0cmVhbSBjb21t aXQgNDFjMWVmOTc4YzhkMDI1OWM2NjM2ZTZkMmQ4NTQ3NzdlOTI2NTBlYiBdCgpUaGUgSVAgVFNP IGltcGxlbWVudGF0aW9uIGRvZXMgTk9UIHJlcXVpcmUgdGhlIGxlbmd0aCB0byBiZSBhCm11bHRp cGxlIG9mIDguIFRoYXQgaXMgb25seSBhIHJlcXVpcmVtZW50IGZvciBVRk8gYXMgcGVyIElQCmRv Y3VtZW50YXRpb24uIEhlbmNlLCBleGl0IG1hY2JfZmVhdHVyZXNfY2hlY2sgZnVuY3Rpb24gaW4g dGhlCmJlZ2lubmluZyBpZiB0aGUgcHJvdG9jb2wgaXMgbm90IFVEUC4gT25seSB3aGVuIGl0IGlz IFVEUCwKcHJvY2VlZCBmdXJ0aGVyIHRvIHRoZSBhbGlnbm1lbnQgY2hlY2tzLiBVcGRhdGUgY29t bWVudHMgdG8KcmVmbGVjdCB0aGUgc2FtZS4gQWxzbyByZW1vdmUgZGVhZCBjb2RlIGNoZWNraW5n IGZvciBwcm90b2NvbApUQ1Agd2hlbiBjYWxjdWxhdGluZyBoZWFkZXIgbGVuZ3RoLgoKRml4ZXM6 IDE2MjlkZDRmNzYzYyAoImNhZGVuY2U6IEFkZCBMU08gc3VwcG9ydC4iKQpTaWduZWQtb2ZmLWJ5 OiBIYXJpbmkgS2F0YWthbSA8aGFyaW5pLmthdGFrYW1AeGlsaW54LmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMgfCA4ICsrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9j YWRlbmNlL21hY2JfbWFpbi5jCmluZGV4IGY0OTZiMjQ4YmRhMy4uMDgxZjE3Y2Y2NzUyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKQEAgLTE2NjQsMTYgKzE2NjQs MTQgQEAgc3RhdGljIG5ldGRldl9mZWF0dXJlc190IG1hY2JfZmVhdHVyZXNfY2hlY2soc3RydWN0 IHNrX2J1ZmYgKnNrYiwKIAogCS8qIFZhbGlkYXRlIExTTyBjb21wYXRpYmlsaXR5ICovCiAKLQkv KiB0aGVyZSBpcyBvbmx5IG9uZSBidWZmZXIgKi8KLQlpZiAoIXNrYl9pc19ub25saW5lYXIoc2ti KSkKKwkvKiB0aGVyZSBpcyBvbmx5IG9uZSBidWZmZXIgb3IgcHJvdG9jb2wgaXMgbm90IFVEUCAq LworCWlmICghc2tiX2lzX25vbmxpbmVhcihza2IpIHx8IChpcF9oZHIoc2tiKS0+cHJvdG9jb2wg IT0gSVBQUk9UT19VRFApKQogCQlyZXR1cm4gZmVhdHVyZXM7CiAKIAkvKiBsZW5ndGggb2YgaGVh ZGVyICovCiAJaGRybGVuID0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKLQlpZiAoaXBfaGRy KHNrYiktPnByb3RvY29sID09IElQUFJPVE9fVENQKQotCQloZHJsZW4gKz0gdGNwX2hkcmxlbihz a2IpOwogCi0JLyogRm9yIExTTzoKKwkvKiBGb3IgVUZPIG9ubHk6CiAJICogV2hlbiBzb2Z0d2Fy ZSBzdXBwbGllcyB0d28gb3IgbW9yZSBwYXlsb2FkIGJ1ZmZlcnMgYWxsIHBheWxvYWQgYnVmZmVy cwogCSAqIGFwYXJ0IGZyb20gdGhlIGxhc3QgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDggYnl0ZXMg aW4gc2l6ZS4KIAkgKi8KLS0gCjIuMjEuMQoKCkZyb20gYTU2ZjMyZDU4NzI1ZmRlZWIxYzI4Zjlm OTVkMjkyM2I4ZDlmYTM5ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFyaW5pIEth dGFrYW0gPGhhcmluaS5rYXRha2FtQHhpbGlueC5jb20+CkRhdGU6IFdlZCwgNSBGZWIgMjAyMCAx ODowODoxMiArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjRdIG5ldDogbWFjYjogTGltaXQgbWF4 aW11bSBHRU0gVFggbGVuZ3RoIGluIFRTTwoKWyBVcHN0cmVhbSBjb21taXQgZjgyMmU5YzRmZmE1 MTFhNWM2ODFjZjg2NjI4N2Q5MzgzYTNiNmYxYiBdCgpHRU1fTUFYX1RYX0xFTiBjdXJyZW50bHkg cmVzb2x2ZXMgdG8gMHgzRkY4IGZvciBhbnkgSVAgdmVyc2lvbiBzdXBwb3J0aW5nClRTTyB3aXRo IGZ1bGwgMTRiaXRzIG9mIGxlbmd0aCBmaWVsZCBpbiBwYXlsb2FkIGRlc2NyaXB0b3IuIEJ1dCBh biBJUAplcnJhdGEgY2F1c2VzIGZhbHNlIGFtYmFfZXJyb3IgKGJpdCA2IG9mIElTUikgd2hlbiBs ZW5ndGggaW4gcGF5bG9hZApkZXNjcmlwdG9ycyBpcyBzcGVjaWZpZWQgYWJvdmUgMTYzODcuIFRo ZSBlcnJvciBvY2N1cnMgYmVjYXVzZSB0aGUgRE1BCmZhbHNlbHkgY29uY2x1ZGVzIHRoYXQgdGhl cmUgaXMgbm90IGVub3VnaCBzcGFjZSBpbiBTUkFNIGZvciBpbmNvbWluZwpwYXlsb2FkLiBUaGVz ZSBlcnJvcnMgd2VyZSBvYnNlcnZlZCBjb250aW51b3VzbHkgdW5kZXIgc3RyZXNzIG9mIGxhcmdl CnBhY2tldHMgdXNpbmcgaXBlcmYgb24gYSB2ZXJzaW9uIHdoZXJlIFNSQU0gd2FzIDE2SyBmb3Ig ZWFjaCBxdWV1ZS4gVGhpcwplcnJhdGEgd2lsbCBiZSBkb2N1bWVudGVkIHNob3J0bHkgYW5kIGFm ZmVjdHMgYWxsIHZlcnNpb25zIHNpbmNlIFRTTwpmdW5jdGlvbmFsaXR5IHdhcyBhZGRlZC4gSGVu Y2UgbGltaXQgdGhlIG1heCBsZW5ndGggdG8gMHgzRkMwIChyb3VuZGVkKS4KClNpZ25lZC1vZmYt Ynk6IEhhcmluaSBLYXRha2FtIDxoYXJpbmkua2F0YWthbUB4aWxpbnguY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyB8IDYgKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nh ZGVuY2UvbWFjYl9tYWluLmMKaW5kZXggMDgxZjE3Y2Y2NzUyLi45NWE5NDUwN2NlYzEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwpAQCAtNzMsNyArNzMsMTEgQEAg c3RydWN0IHNpZml2ZV9mdTU0MF9tYWNiX21nbXQgewogLyogTWF4IGxlbmd0aCBvZiB0cmFuc21p dCBmcmFtZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgOCBieXRlcyAqLwogI2RlZmluZSBNQUNCX1RY X0xFTl9BTElHTgk4CiAjZGVmaW5lIE1BQ0JfTUFYX1RYX0xFTgkJKCh1bnNpZ25lZCBpbnQpKCgx IDw8IE1BQ0JfVFhfRlJNTEVOX1NJWkUpIC0gMSkgJiB+KCh1bnNpZ25lZCBpbnQpKE1BQ0JfVFhf TEVOX0FMSUdOIC0gMSkpKQotI2RlZmluZSBHRU1fTUFYX1RYX0xFTgkJKCh1bnNpZ25lZCBpbnQp KCgxIDw8IEdFTV9UWF9GUk1MRU5fU0laRSkgLSAxKSAmIH4oKHVuc2lnbmVkIGludCkoTUFDQl9U WF9MRU5fQUxJR04gLSAxKSkpCisvKiBMaW1pdCBtYXhpbXVtIFRYIGxlbmd0aCBhcyBwZXIgQ2Fk ZW5jZSBUU08gZXJyYXRhLiBUaGlzIGlzIHRvIGF2b2lkIGEKKyAqIGZhbHNlIGFtYmFfZXJyb3Ig aW4gVFggcGF0aCBmcm9tIHRoZSBETUEgYXNzdW1pbmcgdGhlcmUgaXMgbm90IGVub3VnaAorICog c3BhY2UgaW4gdGhlIFNSQU0gKDE2S0IpIGV2ZW4gd2hlbiB0aGVyZSBpcy4KKyAqLworI2RlZmlu ZSBHRU1fTUFYX1RYX0xFTgkJKHVuc2lnbmVkIGludCkoMHgzRkMwKQogCiAjZGVmaW5lIEdFTV9N VFVfTUlOX1NJWkUJRVRIX01JTl9NVFUKICNkZWZpbmUgTUFDQl9ORVRJRl9MU08JCU5FVElGX0Zf VFNPCi0tIAoyLjIxLjEKCgpGcm9tIGNlZjNiMTM4NDE5NTEwMGU4NGJjMDdiZGI0MGE2NDdlOTk5 ZjZkMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZpbmljaXVzIENvc3RhIEdvbWVz IDx2aW5pY2l1cy5nb21lc0BpbnRlbC5jb20+CkRhdGU6IFRodSwgNiBGZWIgMjAyMCAxMzo0Njow NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMjRdIHRhcHJpbzogRml4IGVuYWJsaW5nIG9mZmxv YWQgd2l0aCB3cm9uZyBudW1iZXIgb2YKIHRyYWZmaWMgY2xhc3NlcwoKWyBVcHN0cmVhbSBjb21t aXQgNTY1MmU2M2RmMzMwM2MyYTcwMmJhYzI1ZmJmNzEwYjljYjY0ZGZiYSBdCgpJZiB0aGUgZHJp dmVyIGltcGxlbWVudGluZyB0YXByaW8gb2ZmbG9hZGluZyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBv Zgp0aGUgbmV0d29yayBkZXZpY2UgbnVtYmVyIG9mIHRyYWZmaWMgY2xhc3NlcyAoZGV2LT5udW1f dGMpIGZvcgp3aGF0ZXZlciByZWFzb24sIGl0IHdhcyBnb2luZyB0byByZWNlaXZlIHRoZSB2YWx1 ZSB6ZXJvLiBUaGUgdmFsdWUgd2FzCm9ubHkgc2V0IGFmdGVyIHRoZSBvZmZsb2FkaW5nIGZ1bmN0 aW9uIGlzIGNhbGxlZC4KClNvLCBtb3Zpbmcgc2V0dGluZyB0aGUgbnVtYmVyIG9mIHRyYWZmaWMg Y2xhc3NlcyB0byBiZWZvcmUgdGhlCm9mZmxvYWRpbmcgZnVuY3Rpb24gaXMgY2FsbGVkIGZpeGVz IHRoaXMgaXNzdWUuIFRoaXMgaXMgc2FmZSBiZWNhdXNlCnRoaXMgb25seSBoYXBwZW5zIHdoZW4g dGFwcmlvIGlzIGluc3RhbnRpYXRlZCAod2UgZG9uJ3QgYWxsb3cgdGhpcwpjb25maWd1cmF0aW9u IHRvIGJlIGNoYW5nZWQgd2l0aG91dCBmaXJzdCByZW1vdmluZyB0YXByaW8pLgoKRml4ZXM6IDlj NjZkMTU2NDY3NiAoInRhcHJpbzogQWRkIHN1cHBvcnQgZm9yIGhhcmR3YXJlIG9mZmxvYWRpbmci KQpSZXBvcnRlZC1ieTogUG8gTGl1IDxwby5saXVAbnhwLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlu aWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT4KQWNrZWQtYnk6IFZs YWRpbWlyIE9sdGVhbiA8dmxhZGltaXIub2x0ZWFuQG54cC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX3Rh cHJpby5jIHwgMjYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAx MyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQv c2NoX3RhcHJpby5jIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwppbmRleCBjNjA5MzczYzg2NjEu LmFkMGRhZGNmY2RiYSAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYworKysgYi9u ZXQvc2NoZWQvc2NoX3RhcHJpby5jCkBAIC0xNDQ0LDYgKzE0NDQsMTkgQEAgc3RhdGljIGludCB0 YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAKIAl0 YXByaW9fc2V0X3BpY29zX3Blcl9ieXRlKGRldiwgcSk7CiAKKwlpZiAobXFwcmlvKSB7CisJCW5l dGRldl9zZXRfbnVtX3RjKGRldiwgbXFwcmlvLT5udW1fdGMpOworCQlmb3IgKGkgPSAwOyBpIDwg bXFwcmlvLT5udW1fdGM7IGkrKykKKwkJCW5ldGRldl9zZXRfdGNfcXVldWUoZGV2LCBpLAorCQkJ CQkgICAgbXFwcmlvLT5jb3VudFtpXSwKKwkJCQkJICAgIG1xcHJpby0+b2Zmc2V0W2ldKTsKKwor CQkvKiBBbHdheXMgdXNlIHN1cHBsaWVkIHByaW9yaXR5IG1hcHBpbmdzICovCisJCWZvciAoaSA9 IDA7IGkgPD0gVENfQklUTUFTSzsgaSsrKQorCQkJbmV0ZGV2X3NldF9wcmlvX3RjX21hcChkZXYs IGksCisJCQkJCSAgICAgICBtcXByaW8tPnByaW9fdGNfbWFwW2ldKTsKKwl9CisKIAlpZiAoRlVM TF9PRkZMT0FEX0lTX0VOQUJMRUQodGFwcmlvX2ZsYWdzKSkKIAkJZXJyID0gdGFwcmlvX2VuYWJs ZV9vZmZsb2FkKGRldiwgbXFwcmlvLCBxLCBuZXdfYWRtaW4sIGV4dGFjayk7CiAJZWxzZQpAQCAt MTQ3MSwxOSArMTQ4NCw2IEBAIHN0YXRpYyBpbnQgdGFwcmlvX2NoYW5nZShzdHJ1Y3QgUWRpc2Mg KnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LAogCQlxLT5hZHZhbmNlX3RpbWVyLmZ1bmN0aW9uID0g YWR2YW5jZV9zY2hlZDsKIAl9CiAKLQlpZiAobXFwcmlvKSB7Ci0JCW5ldGRldl9zZXRfbnVtX3Rj KGRldiwgbXFwcmlvLT5udW1fdGMpOwotCQlmb3IgKGkgPSAwOyBpIDwgbXFwcmlvLT5udW1fdGM7 IGkrKykKLQkJCW5ldGRldl9zZXRfdGNfcXVldWUoZGV2LCBpLAotCQkJCQkgICAgbXFwcmlvLT5j b3VudFtpXSwKLQkJCQkJICAgIG1xcHJpby0+b2Zmc2V0W2ldKTsKLQotCQkvKiBBbHdheXMgdXNl IHN1cHBsaWVkIHByaW9yaXR5IG1hcHBpbmdzICovCi0JCWZvciAoaSA9IDA7IGkgPD0gVENfQklU TUFTSzsgaSsrKQotCQkJbmV0ZGV2X3NldF9wcmlvX3RjX21hcChkZXYsIGksCi0JCQkJCSAgICAg ICBtcXByaW8tPnByaW9fdGNfbWFwW2ldKTsKLQl9Ci0KIAlpZiAoRlVMTF9PRkZMT0FEX0lTX0VO QUJMRUQodGFwcmlvX2ZsYWdzKSkgewogCQlxLT5kZXF1ZXVlID0gdGFwcmlvX2RlcXVldWVfb2Zm bG9hZDsKIAkJcS0+cGVlayA9IHRhcHJpb19wZWVrX29mZmxvYWQ7Ci0tIAoyLjIxLjEKCgpGcm9t IGQ5MTI2ZjY5NzM4MjcwNGU1MzUzMTkyYmUyNDM5ZWEyZjU1YzlkNjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5nb21lc0BpbnRl bC5jb20+CkRhdGU6IFRodSwgNiBGZWIgMjAyMCAxMzo0NjowNyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMTYvMjRdIHRhcHJpbzogRml4IHN0aWxsIGFsbG93aW5nIGNoYW5naW5nIHRoZSBmbGFncyBk dXJpbmcKIHJ1bnRpbWUKClsgVXBzdHJlYW0gY29tbWl0IGE5ZDYyMjc0MzZmMzIxNDIyMDlmNDQy OGYyZGM2MTY3NjE0ODUxMTIgXQoKQmVjYXVzZSAncS0+ZmxhZ3MnIHN0YXJ0cyBhcyB6ZXJvLCBh bmQgemVybyBpcyBhIHZhbGlkIHZhbHVlLCB3ZQphcmVuJ3QgYWJsZSB0byBkZXRlY3QgdGhlIHRy YW5zaXRpb24gZnJvbSB6ZXJvIHRvIHNvbWV0aGluZyBlbHNlCmR1cmluZyAicnVudGltZSIuCgpU aGUgc29sdXRpb24gaXMgdG8gaW5pdGlhbGl6ZSAncS0+ZmxhZ3MnIHdpdGggYW4gaW52YWxpZCB2 YWx1ZSwgc28gd2UKY2FuIGRldGVjdCBpZiAncS0+ZmxhZ3MnIHdhcyBzZXQgYnkgdGhlIHVzZXIg b3Igbm90LgoKVG8gYmV0dGVyIHNvbGlkaWZ5IHRoZSBiZWhhdmlvciwgJ2ZsYWdzJyBoYW5kbGlu ZyBpcyBtb3ZlZCB0byBhCnNlcGFyYXRlIGZ1bmN0aW9uLiBUaGUgYmVoYXZpb3IgaXM6CiAtICdm bGFncycgaWYgdW5zcGVjaWZpZWQgYnkgdGhlIHVzZXIsIGlzIGFzc3VtZWQgdG8gYmUgemVybzsK IC0gJ2ZsYWdzJyBjYW5ub3QgY2hhbmdlIGR1cmluZyAicnVudGltZSIgKGkuZS4gYSBjaGFuZ2Uo KSByZXF1ZXN0CiBjYW5ub3QgbW9kaWZ5IGl0KTsKCldpdGggdGhpcyBuZXcgZnVuY3Rpb24gd2Ug Y2FuIHJlbW92ZSB0YXByaW9fZmxhZ3MsIHdoaWNoIHNob3VsZCByZWR1Y2UKdGhlIHJpc2sgb2Yg ZnV0dXJlIGFjY2lkZW50cy4KCkFsbG93aW5nIGZsYWdzIHRvIGJlIGNoYW5nZWQgd2FzIGNhdXNp bmcgdGhlIGZvbGxvd2luZyBSQ1Ugc3RhbGw6CgpbIDE3MzAuNTU4MjQ5XSByY3U6IElORk86IHJj dV9wcmVlbXB0IGRldGVjdGVkIHN0YWxscyBvbiBDUFVzL3Rhc2tzOgpbIDE3MzAuNTU4MjU4XSBy Y3U6IAkgIDYtLi4uMDogKDE5MCB0aWNrcyB0aGlzIEdQKSBpZGxlPTkyMi8wLzB4MSBzb2Z0aXJx PTI1NTgwLzI1NTgyIGZxcz0xNjI1MApbIDE3MzAuNTU4MjY0XSAJCSAgKGRldGVjdGVkIGJ5IDIs IHQ9NjUwMDIgamlmZmllcywgZz0zMzAxNywgcT04MSkKWyAxNzMwLjU1ODI2OV0gU2VuZGluZyBO TUkgZnJvbSBDUFUgMiB0byBDUFVzIDY6ClsgMTczMC41NTkyNzddIE5NSSBiYWNrdHJhY2UgZm9y IGNwdSA2ClsgMTczMC41NTkyNzddIENQVTogNiBQSUQ6IDAgQ29tbTogc3dhcHBlci82IFRhaW50 ZWQ6IEcgICAgICAgICAgICBFICAgICA1LjUuMC1yYzYrICMzNQpbIDE3MzAuNTU5Mjc4XSBIYXJk d2FyZSBuYW1lOiBHaWdhYnl0ZSBUZWNobm9sb2d5IENvLiwgTHRkLiBaMzkwIEFPUlVTIFVMVFJB L1ozOTAgQU9SVVMgVUxUUkEtQ0YsIEJJT1MgRjcgMDMvMTQvMjAxOQpbIDE3MzAuNTU5Mjc4XSBS SVA6IDAwMTA6X19ocnRpbWVyX3J1bl9xdWV1ZXMrMHhlMi8weDQ0MApbIDE3MzAuNTU5Mjc4XSBD b2RlOiA0OCA4YiA0MyAyOCA0YyA4OSBmZiA0OCA4YiA3NSBjMCA0OCA4OSA0NSBjOCBlOCBmNCBi YiA3YyAwMCAwZiAxZiA0NCAwMCAwMCA2NSA4YiAwNSA0MCAzMSBmMCA2OCA4OSBjMCA0OCAwZiBh MyAwNSAzZSA1YyAyNSAwMSA8MGY+IDgyIGZjIDAxIDAwIDAwIDQ4IDhiIDQ1IGM4IDQ4IDg5IGRm IGZmIGQwIDg5IDQ1IGM4IDBmIDFmIDQ0IDAwClsgMTczMC41NTkyNzldIFJTUDogMDAxODpmZmZm OTk3MDgwMmQ4ZjEwIEVGTEFHUzogMDAwMDAwODMKWyAxNzMwLjU1OTI3OV0gUkFYOiAwMDAwMDAw MDAwMDAwMDA2IFJCWDogZmZmZjhiMzE2NDViZmYzOCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWyAx NzMwLjU1OTI4MF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogZmZmZmZmZmY5NzEwZjJlYyBS REk6IGZmZmZmZmZmOTc4ZGFmMGUKWyAxNzMwLjU1OTI4MF0gUkJQOiBmZmZmOTk3MDgwMmQ4ZjY4 IFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKWyAxNzMwLjU1OTI4 MF0gUjEwOiAwMDAwMDE4MzM2ZDc5NDRlIFIxMTogMDAwMDAwMDAwMDAwMDAwMSBSMTI6IGZmZmY4 YjMxNmUzOWY5YzAKWyAxNzMwLjU1OTI4MV0gUjEzOiBmZmZmOGIzMTZlMzlmOTQwIFIxNDogZmZm ZjhiMzE2ZTM5Zjk5OCBSMTU6IGZmZmY4YjMxNmUzOWY3YzAKWyAxNzMwLjU1OTI4MV0gRlM6ICAw MDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4YjMxNmUzODAwMDAoMDAwMCkga25sR1M6MDAw MDAwMDAwMDAwMDAwMApbIDE3MzAuNTU5MjgxXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAg Q1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMTczMC41NTkyODFdIENSMjogMDAwMDdmMTEwNTMwMzc2 MCBDUjM6IDAwMDAwMDAyMjcyMTAwMDUgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwClsgMTczMC41NTky ODJdIERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAw MDAwMDAwMDAwMDAwClsgMTczMC41NTkyODJdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAw MDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwClsgMTczMC41NTkyODJdIENhbGwg VHJhY2U6ClsgMTczMC41NTkyODJdICA8SVJRPgpbIDE3MzAuNTU5MjgzXSAgPyB0YXByaW9fZGVx dWV1ZV9zb2Z0KzB4MmQwLzB4MmQwIFtzY2hfdGFwcmlvXQpbIDE3MzAuNTU5MjgzXSAgaHJ0aW1l cl9pbnRlcnJ1cHQrMHgxMDQvMHgyMjAKWyAxNzMwLjU1OTI4M10gID8gaXJxdGltZV9hY2NvdW50 X2lycSsweDM0LzB4YTAKWyAxNzMwLjU1OTI4M10gIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCsw eDZkLzB4MjMwClsgMTczMC41NTkyODRdICBhcGljX3RpbWVyX2ludGVycnVwdCsweGYvMHgyMApb IDE3MzAuNTU5Mjg0XSAgPC9JUlE+ClsgMTczMC41NTkyODRdIFJJUDogMDAxMDpjcHVfaWRsZV9w b2xsKzB4MzUvMHgxYTAKWyAxNzMwLjU1OTI4NV0gQ29kZTogODggODIgZmYgNjUgNDQgOGIgMjUg MTIgN2QgNzMgNjggMGYgMWYgNDQgMDAgMDAgZTggOTAgYzMgODkgZmYgZmIgNjUgNDggOGIgMWMg MjUgYzAgN2UgMDEgMDAgNDggOGIgMDMgYTggMDggNzQgMGIgZWIgMWMgZjMgOTAgPDQ4PiA4YiAw MyBhOCAwOCA3NSAxMyA4YiAwNSBiZSBhOCBhOCAwMCA4NSBjMCA3NSBlZCBlOCA3NSA0OCA4NCBm ZgpbIDE3MzAuNTU5Mjg1XSBSU1A6IDAwMTg6ZmZmZjk5NzA4MDEzN2VhOCBFRkxBR1M6IDAwMDAw MjAyIE9SSUdfUkFYOiBmZmZmZmZmZmZmZmZmZjEzClsgMTczMC41NTkyODVdIFJBWDogMDAwMDAw MDAwMDAwMDAwMSBSQlg6IGZmZmY4YjMxNmJjM2M1ODAgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClsg MTczMC41NTkyODZdIFJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6IDAwMDAwMDAwMjgxOWFhZDkg UkRJOiBmZmZmZmZmZjk3OGRhNzMwClsgMTczMC41NTkyODZdIFJCUDogZmZmZjk5NzA4MDEzN2Vj MCBSMDg6IDAwMDAwMTgzMjRhNmQzODcgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClsgMTczMC41NTky ODZdIFIxMDogMDAwMDAwMDAwMDAwMDQwMCBSMTE6IDAwMDAwMDAwMDAwMDAwMDEgUjEyOiAwMDAw MDAwMDAwMDAwMDA2ClsgMTczMC41NTkyODZdIFIxMzogZmZmZjhiMzE2YmMzYzU4MCBSMTQ6IDAw MDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwClsgMTczMC41NTkyODddICA/IGNw dV9pZGxlX3BvbGwrMHgyMC8weDFhMApbIDE3MzAuNTU5Mjg3XSAgPyBjcHVfaWRsZV9wb2xsKzB4 MjAvMHgxYTAKWyAxNzMwLjU1OTI4N10gIGRvX2lkbGUrMHg0ZC8weDFmMApbIDE3MzAuNTU5Mjg3 XSAgPyBjb21wbGV0ZSsweDQ0LzB4NTAKWyAxNzMwLjU1OTI4OF0gIGNwdV9zdGFydHVwX2VudHJ5 KzB4MWIvMHgyMApbIDE3MzAuNTU5Mjg4XSAgc3RhcnRfc2Vjb25kYXJ5KzB4MTQyLzB4MTgwClsg MTczMC41NTkyODhdICBzZWNvbmRhcnlfc3RhcnR1cF82NCsweGI2LzB4YzAKWyAxNzc2LjY4NjMx M10gbnZtZSBudm1lMDogSS9PIDk2IFFJRCAxIHRpbWVvdXQsIGNvbXBsZXRpb24gcG9sbGVkCgpG aXhlczogNGNmZDU3NzliZDZlICgidGFwcmlvOiBBZGQgc3VwcG9ydCBmb3IgdHh0aW1lLWFzc2lz dCBtb2RlIikKU2lnbmVkLW9mZi1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdv bWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCA2MSArKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRp b25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX3RhcHJp by5jIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwppbmRleCBhZDBkYWRjZmNkYmEuLmUyZDQyODNi ZWE2ZCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYworKysgYi9uZXQvc2NoZWQv c2NoX3RhcHJpby5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGFw cmlvX2xpc3RfbG9jayk7CiAKICNkZWZpbmUgVFhUSU1FX0FTU0lTVF9JU19FTkFCTEVEKGZsYWdz KSAoKGZsYWdzKSAmIFRDQV9UQVBSSU9fQVRUUl9GTEFHX1RYVElNRV9BU1NJU1QpCiAjZGVmaW5l IEZVTExfT0ZGTE9BRF9JU19FTkFCTEVEKGZsYWdzKSAoKGZsYWdzKSAmIFRDQV9UQVBSSU9fQVRU Ul9GTEFHX0ZVTExfT0ZGTE9BRCkKKyNkZWZpbmUgVEFQUklPX0ZMQUdTX0lOVkFMSUQgVTMyX01B WAogCiBzdHJ1Y3Qgc2NoZWRfZW50cnkgewogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKQEAgLTEz NjcsNiArMTM2OCwzMyBAQCBzdGF0aWMgaW50IHRhcHJpb19tcXByaW9fY21wKGNvbnN0IHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsCiAJcmV0dXJuIDA7CiB9CiAKKy8qIFRoZSBzZW1hbnRpY3Mgb2Yg dGhlICdmbGFncycgYXJndW1lbnQgaW4gcmVsYXRpb24gdG8gJ2NoYW5nZSgpJworICogcmVxdWVz dHMsIGFyZSBpbnRlcnByZXRlZCBmb2xsb3dpbmcgdHdvIHJ1bGVzICh3aGljaCBhcmUgYXBwbGll ZCBpbgorICogdGhpcyBvcmRlcik6ICgxKSBhbiBvbWl0dGVkICdmbGFncycgYXJndW1lbnQgaXMg aW50ZXJwcmV0ZWQgYXMKKyAqIHplcm87ICgyKSB0aGUgJ2ZsYWdzJyBvZiBhICJydW5uaW5nIiB0 YXByaW8gaW5zdGFuY2UgY2Fubm90IGJlCisgKiBjaGFuZ2VkLgorICovCitzdGF0aWMgaW50IHRh cHJpb19uZXdfZmxhZ3MoY29uc3Qgc3RydWN0IG5sYXR0ciAqYXR0ciwgdTMyIG9sZCwKKwkJCSAg ICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJdTMyIG5ldyA9IDA7CisKKwlp ZiAoYXR0cikKKwkJbmV3ID0gbmxhX2dldF91MzIoYXR0cik7CisKKwlpZiAob2xkICE9IFRBUFJJ T19GTEFHU19JTlZBTElEICYmIG9sZCAhPSBuZXcpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4 dGFjaywgIkNoYW5naW5nICdmbGFncycgb2YgYSBydW5uaW5nIHNjaGVkdWxlIGlzIG5vdCBzdXBw b3J0ZWQiKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCX0KKworCWlmICghdGFwcmlvX2ZsYWdz X3ZhbGlkKG5ldykpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywgIlNwZWNpZmllZCAn ZmxhZ3MnIGFyZSBub3QgdmFsaWQiKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJu IG5ldzsKK30KKwogc3RhdGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBz dHJ1Y3QgbmxhdHRyICpvcHQsCiAJCQkgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQog ewpAQCAtMTM3NSw3ICsxNDAzLDYgQEAgc3RhdGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVjdCBR ZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJc3RydWN0IHRhcHJpb19zY2hlZCAqcSA9 IHFkaXNjX3ByaXYoc2NoKTsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gcWRpc2NfZGV2KHNj aCk7CiAJc3RydWN0IHRjX21xcHJpb19xb3B0ICptcXByaW8gPSBOVUxMOwotCXUzMiB0YXByaW9f ZmxhZ3MgPSAwOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJa3RpbWVfdCBzdGFydDsKIAlpbnQg aSwgZXJyOwpAQCAtMTM4OCwyMSArMTQxNSwxNCBAQCBzdGF0aWMgaW50IHRhcHJpb19jaGFuZ2Uo c3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAlpZiAodGJbVENBX1RBUFJJ T19BVFRSX1BSSU9NQVBdKQogCQltcXByaW8gPSBubGFfZGF0YSh0YltUQ0FfVEFQUklPX0FUVFJf UFJJT01BUF0pOwogCi0JaWYgKHRiW1RDQV9UQVBSSU9fQVRUUl9GTEFHU10pIHsKLQkJdGFwcmlv X2ZsYWdzID0gbmxhX2dldF91MzIodGJbVENBX1RBUFJJT19BVFRSX0ZMQUdTXSk7Ci0KLQkJaWYg KHEtPmZsYWdzICE9IDAgJiYgcS0+ZmxhZ3MgIT0gdGFwcmlvX2ZsYWdzKSB7Ci0JCQlOTF9TRVRf RVJSX01TR19NT0QoZXh0YWNrLCAiQ2hhbmdpbmcgJ2ZsYWdzJyBvZiBhIHJ1bm5pbmcgc2NoZWR1 bGUgaXMgbm90IHN1cHBvcnRlZCIpOwotCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwotCQl9IGVsc2Ug aWYgKCF0YXByaW9fZmxhZ3NfdmFsaWQodGFwcmlvX2ZsYWdzKSkgewotCQkJTkxfU0VUX0VSUl9N U0dfTU9EKGV4dGFjaywgIlNwZWNpZmllZCAnZmxhZ3MnIGFyZSBub3QgdmFsaWQiKTsKLQkJCXJl dHVybiAtRUlOVkFMOwotCQl9CisJZXJyID0gdGFwcmlvX25ld19mbGFncyh0YltUQ0FfVEFQUklP X0FUVFJfRkxBR1NdLAorCQkJICAgICAgIHEtPmZsYWdzLCBleHRhY2spOworCWlmIChlcnIgPCAw KQorCQlyZXR1cm4gZXJyOwogCi0JCXEtPmZsYWdzID0gdGFwcmlvX2ZsYWdzOwotCX0KKwlxLT5m bGFncyA9IGVycjsKIAotCWVyciA9IHRhcHJpb19wYXJzZV9tcXByaW9fb3B0KGRldiwgbXFwcmlv LCBleHRhY2ssIHRhcHJpb19mbGFncyk7CisJZXJyID0gdGFwcmlvX3BhcnNlX21xcHJpb19vcHQo ZGV2LCBtcXByaW8sIGV4dGFjaywgcS0+ZmxhZ3MpOwogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4g ZXJyOwogCkBAIC0xNDU3LDcgKzE0NzcsNyBAQCBzdGF0aWMgaW50IHRhcHJpb19jaGFuZ2Uoc3Ry dWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJCQkJICAgICAgIG1xcHJpby0+ cHJpb190Y19tYXBbaV0pOwogCX0KIAotCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRCh0YXBy aW9fZmxhZ3MpKQorCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRChxLT5mbGFncykpCiAJCWVy ciA9IHRhcHJpb19lbmFibGVfb2ZmbG9hZChkZXYsIG1xcHJpbywgcSwgbmV3X2FkbWluLCBleHRh Y2spOwogCWVsc2UKIAkJZXJyID0gdGFwcmlvX2Rpc2FibGVfb2ZmbG9hZChkZXYsIHEsIGV4dGFj ayk7CkBAIC0xNDc3LDE0ICsxNDk3LDE0IEBAIHN0YXRpYyBpbnQgdGFwcmlvX2NoYW5nZShzdHJ1 Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LAogCQlxLT50eHRpbWVfZGVsYXkgPSBu bGFfZ2V0X3UzMih0YltUQ0FfVEFQUklPX0FUVFJfVFhUSU1FX0RFTEFZXSk7CiAJfQogCi0JaWYg KCFUWFRJTUVfQVNTSVNUX0lTX0VOQUJMRUQodGFwcmlvX2ZsYWdzKSAmJgotCSAgICAhRlVMTF9P RkZMT0FEX0lTX0VOQUJMRUQodGFwcmlvX2ZsYWdzKSAmJgorCWlmICghVFhUSU1FX0FTU0lTVF9J U19FTkFCTEVEKHEtPmZsYWdzKSAmJgorCSAgICAhRlVMTF9PRkZMT0FEX0lTX0VOQUJMRUQocS0+ ZmxhZ3MpICYmCiAJICAgICFocnRpbWVyX2FjdGl2ZSgmcS0+YWR2YW5jZV90aW1lcikpIHsKIAkJ aHJ0aW1lcl9pbml0KCZxLT5hZHZhbmNlX3RpbWVyLCBxLT5jbG9ja2lkLCBIUlRJTUVSX01PREVf QUJTKTsKIAkJcS0+YWR2YW5jZV90aW1lci5mdW5jdGlvbiA9IGFkdmFuY2Vfc2NoZWQ7CiAJfQog Ci0JaWYgKEZVTExfT0ZGTE9BRF9JU19FTkFCTEVEKHRhcHJpb19mbGFncykpIHsKKwlpZiAoRlVM TF9PRkZMT0FEX0lTX0VOQUJMRUQocS0+ZmxhZ3MpKSB7CiAJCXEtPmRlcXVldWUgPSB0YXByaW9f ZGVxdWV1ZV9vZmZsb2FkOwogCQlxLT5wZWVrID0gdGFwcmlvX3BlZWtfb2ZmbG9hZDsKIAl9IGVs c2UgewpAQCAtMTUwMSw3ICsxNTIxLDcgQEAgc3RhdGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVj dCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJCWdvdG8gdW5sb2NrOwogCX0KIAot CWlmIChUWFRJTUVfQVNTSVNUX0lTX0VOQUJMRUQodGFwcmlvX2ZsYWdzKSkgeworCWlmIChUWFRJ TUVfQVNTSVNUX0lTX0VOQUJMRUQocS0+ZmxhZ3MpKSB7CiAJCXNldHVwX3R4dGltZShxLCBuZXdf YWRtaW4sIHN0YXJ0KTsKIAogCQlpZiAoIW9wZXIpIHsKQEAgLTE1MjgsNyArMTU0OCw3IEBAIHN0 YXRpYyBpbnQgdGFwcmlvX2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAq b3B0LAogCiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnEtPmN1cnJlbnRfZW50cnlfbG9jaywg ZmxhZ3MpOwogCi0JCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRCh0YXByaW9fZmxhZ3MpKQor CQlpZiAoRlVMTF9PRkZMT0FEX0lTX0VOQUJMRUQocS0+ZmxhZ3MpKQogCQkJdGFwcmlvX29mZmxv YWRfY29uZmlnX2NoYW5nZWQocSk7CiAJfQogCkBAIC0xNTk3LDYgKzE2MTcsNyBAQCBzdGF0aWMg aW50IHRhcHJpb19pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJ ICogYW5kIGdldCB0aGUgdmFsaWQgb25lIG9uIHRhcHJpb19jaGFuZ2UoKS4KIAkgKi8KIAlxLT5j bG9ja2lkID0gLTE7CisJcS0+ZmxhZ3MgPSBUQVBSSU9fRkxBR1NfSU5WQUxJRDsKIAogCXNwaW5f bG9jaygmdGFwcmlvX2xpc3RfbG9jayk7CiAJbGlzdF9hZGQoJnEtPnRhcHJpb19saXN0LCAmdGFw cmlvX2xpc3QpOwotLSAKMi4yMS4xCgoKRnJvbSAyNzU2ZWFhZGVjMzRmN2U2ZTYyNWZlOGQxNjc1 MDkyMWY1OWNmMmUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaW5pY2l1cyBDb3N0 YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpEYXRlOiBUaHUsIDYgRmViIDIwMjAg MTM6NDY6MDggLTA4MDAKU3ViamVjdDogW1BBVENIIDE3LzI0XSB0YXByaW86IEFkZCBtaXNzaW5n IHBvbGljeSB2YWxpZGF0aW9uIGZvciBmbGFncwoKWyBVcHN0cmVhbSBjb21taXQgNDljNjg0ZDc5 Y2ZkYzMwMzIzNDRiZjZmM2RlZWVhODFjNGVmZWRiZiBdCgpuZXRsaW5rIHBvbGljeSB2YWxpZGF0 aW9uIGZvciB0aGUgJ2ZsYWdzJyBhcmd1bWVudCB3YXMgbWlzc2luZy4KCkZpeGVzOiA0Y2ZkNTc3 OWJkNmUgKCJ0YXByaW86IEFkZCBzdXBwb3J0IGZvciB0eHRpbWUtYXNzaXN0IG1vZGUiKQpTaWdu ZWQtb2ZmLWJ5OiBWaW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L3NjaGVkL3NjaF90YXByaW8uYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYyBiL25ldC9zY2hlZC9z Y2hfdGFwcmlvLmMKaW5kZXggZTJkNDI4M2JlYTZkLi5iODJhOTc2OWFiNDAgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKKysrIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwpAQCAt NzY3LDYgKzc2Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSB0YXByaW9fcG9s aWN5W1RDQV9UQVBSSU9fQVRUUl9NQVggKyAxXSA9IHsKIAlbVENBX1RBUFJJT19BVFRSX1NDSEVE X0NMT0NLSURdICAgICAgICAgICAgICA9IHsgLnR5cGUgPSBOTEFfUzMyIH0sCiAJW1RDQV9UQVBS SU9fQVRUUl9TQ0hFRF9DWUNMRV9USU1FXSAgICAgICAgICAgPSB7IC50eXBlID0gTkxBX1M2NCB9 LAogCVtUQ0FfVEFQUklPX0FUVFJfU0NIRURfQ1lDTEVfVElNRV9FWFRFTlNJT05dID0geyAudHlw ZSA9IE5MQV9TNjQgfSwKKwlbVENBX1RBUFJJT19BVFRSX0ZMQUdTXSAgICAgICAgICAgICAgICAg ICAgICA9IHsgLnR5cGUgPSBOTEFfVTMyIH0sCiB9OwogCiBzdGF0aWMgaW50IGZpbGxfc2NoZWRf ZW50cnkoc3RydWN0IG5sYXR0ciAqKnRiLCBzdHJ1Y3Qgc2NoZWRfZW50cnkgKmVudHJ5LAotLSAK Mi4yMS4xCgoKRnJvbSBkMzY5ZjMyNWEwNzYwYzUzZmQ5MjY2NmMzZjQ1YzMxOTZhMGMxYjM0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNp dXMuZ29tZXNAaW50ZWwuY29tPgpEYXRlOiBUaHUsIDYgRmViIDIwMjAgMTM6NDY6MDkgLTA4MDAK U3ViamVjdDogW1BBVENIIDE4LzI0XSB0YXByaW86IFVzZSB0YXByaW9fcmVzZXRfdGMoKSB0byBy ZXNldCBUcmFmZmljIENsYXNzZXMKIGNvbmZpZ3VyYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDdj MTY2ODBhMDhlZTFlNDQ0YTY3ZDIzMmM2NzljY2Y1YjMwZmFkMTYgXQoKV2hlbiBkZXN0cm95aW5n IHRoZSBjdXJyZW50IHRhcHJpbyBpbnN0YW5jZSwgd2hpY2ggY2FuIGhhcHBlbiB3aGVuIHRoZQpj cmVhdGlvbiBvZiBvbmUgZmFpbHMsIHdlIHNob3VsZCByZXNldCB0aGUgdHJhZmZpYyBjbGFzcyBj b25maWd1cmF0aW9uCmJhY2sgdG8gdGhlIGRlZmF1bHQgc3RhdGUuCgpuZXRkZXZfcmVzZXRfdGMo KSBpcyBhIGJldHRlciB3YXkgYmVjYXVzZSBpbiBhZGRpdGlvbiB0byBzZXR0aW5nIHRoZQpudW1i ZXIgb2YgdHJhZmZpYyBjbGFzc2VzIHRvIHplcm8sIGl0IGFsc28gcmVzZXRzIHRoZSBwcmlvcml0 eSB0bwp0cmFmZmljIGNsYXNzZXMgbWFwcGluZyB0byB0aGUgZGVmYXVsdCB2YWx1ZS4KCkZpeGVz OiA1YTc4MWNjYmQxOWUgKCJ0YzogQWRkIHN1cHBvcnQgZm9yIGNvbmZpZ3VyaW5nIHRoZSB0YXBy aW8gc2NoZWR1bGVyIikKU2lnbmVkLW9mZi1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmlj aXVzLmdvbWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9u ZXQvc2NoZWQvc2NoX3RhcHJpby5jIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwppbmRleCBiODJh OTc2OWFiNDAuLjIxZGY2OTA3MWRmMiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF90YXByaW8u YworKysgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCkBAIC0xNTg4LDcgKzE1ODgsNyBAQCBzdGF0 aWMgdm9pZCB0YXByaW9fZGVzdHJveShzdHJ1Y3QgUWRpc2MgKnNjaCkKIAl9CiAJcS0+cWRpc2Nz ID0gTlVMTDsKIAotCW5ldGRldl9zZXRfbnVtX3RjKGRldiwgMCk7CisJbmV0ZGV2X3Jlc2V0X3Rj KGRldik7CiAKIAlpZiAocS0+b3Blcl9zY2hlZCkKIAkJY2FsbF9yY3UoJnEtPm9wZXJfc2NoZWQt PnJjdSwgdGFwcmlvX2ZyZWVfc2NoZWRfY2IpOwotLSAKMi4yMS4xCgoKRnJvbSAwMjQxYjBmMGM2 ODEwMzlkY2FlYzcxNDc2ZDA1ZThkM2ZiZjJlMjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBWaW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpEYXRl OiBUaHUsIDYgRmViIDIwMjAgMTM6NDY6MTAgLTA4MDAKU3ViamVjdDogW1BBVENIIDE5LzI0XSB0 YXByaW86IEZpeCBkcm9wcGluZyBwYWNrZXRzIHdoZW4gdXNpbmcgdGFwcmlvICsgRVRGCiBvZmZs b2FkaW5nCgpbIFVwc3RyZWFtIGNvbW1pdCBiZmFiZDQxZGEzNDE4MGQwNTM4MjMxMjUzM2EzYWRj MmUwMTJkZWUwIF0KCldoZW4gdXNpbmcgdGFwcmlvIG9mZmxvYWRpbmcgdG9nZXRoZXIgd2l0aCBF VEYgb2ZmbG9hZGluZywgY29uZmlndXJlZApsaWtlIHRoaXMsIGZvciBleGFtcGxlOgoKJCB0YyBx ZGlzYyByZXBsYWNlIGRldiAkSUZBQ0UgcGFyZW50IHJvb3QgaGFuZGxlIDEwMCB0YXByaW8gXAog IAludW1fdGMgNCBcCiAgICAgICAgbWFwIDIgMiAxIDAgMyAyIDIgMiAyIDIgMiAyIDIgMiAyIDIg XAoJcXVldWVzIDFAMCAxQDEgMUAyIDFAMyBcCgliYXNlLXRpbWUgJEJBU0VfVElNRSBcCglzY2hl ZC1lbnRyeSBTIDAxIDEwMDAwMDAgXAoJc2NoZWQtZW50cnkgUyAwZSAxMDAwMDAwIFwKCWZsYWdz IDB4MgoKJCB0YyBxZGlzYyByZXBsYWNlIGRldiAkSUZBQ0UgcGFyZW50IDEwMDoxIGV0ZiBcCiAg ICAgCW9mZmxvYWQgZGVsdGEgMzAwMDAwIGNsb2NraWQgQ0xPQ0tfVEFJCgpEdXJpbmcgZW5xdWV1 ZSwgaXQgd29ya3Mgb3V0IHRoYXQgdGhlIHZlcmlmaWNhdGlvbiBhZGRlZCBmb3IgdGhlCiJ0eHRp bWUiIGFzc2lzdGVkIG1vZGUgaXMgcnVuIHdoZW4gdXNpbmcgdGFwcmlvICsgRVRGIG9mZmxvYWRp bmcsIHRoZQpvbmx5IHRoaW5nIG1pc3NpbmcgaXMgaW5pdGlhbGl6aW5nIHRoZSAnbmV4dF90eHRp bWUnIG9mIGFsbCB0aGUgY3ljbGUKZW50cmllcy4gKGlmIHdlIGRvbid0IHNldCAnbmV4dF90eHRp bWUnIGFsbCBwYWNrZXRzIGZyb20gU09fVFhUSU1FCnNvY2tldHMgYXJlIGRyb3BwZWQpCgpGaXhl czogNGNmZDU3NzliZDZlICgidGFwcmlvOiBBZGQgc3VwcG9ydCBmb3IgdHh0aW1lLWFzc2lzdCBt b2RlIikKU2lnbmVkLW9mZi1ieTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdvbWVz QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Nj aGVkL3NjaF90YXByaW8uYyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKaW5kZXggMjFkZjY5MDcx ZGYyLi42NjBmYzQ1ZWU0MGYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKKysr IGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwpAQCAtMTUyMiw5ICsxNTIyLDkgQEAgc3RhdGljIGlu dCB0YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJ CWdvdG8gdW5sb2NrOwogCX0KIAotCWlmIChUWFRJTUVfQVNTSVNUX0lTX0VOQUJMRUQocS0+Zmxh Z3MpKSB7Ci0JCXNldHVwX3R4dGltZShxLCBuZXdfYWRtaW4sIHN0YXJ0KTsKKwlzZXR1cF90eHRp bWUocSwgbmV3X2FkbWluLCBzdGFydCk7CiAKKwlpZiAoVFhUSU1FX0FTU0lTVF9JU19FTkFCTEVE KHEtPmZsYWdzKSkgewogCQlpZiAoIW9wZXIpIHsKIAkJCXJjdV9hc3NpZ25fcG9pbnRlcihxLT5v cGVyX3NjaGVkLCBuZXdfYWRtaW4pOwogCQkJZXJyID0gMDsKLS0gCjIuMjEuMQoKCkZyb20gOTli MTkxNWFjODg4NzE3NzBjYmFkNjIxYWIyZDMyMzUwMWEwMzM4ZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmks IDcgRmViIDIwMjAgMDc6MTY6MzcgLTA4MDAKU3ViamVjdDogW1BBVENIIDIwLzI0XSBpcHY2L2Fk ZHJjb25mOiBmaXggcG90ZW50aWFsIE5VTEwgZGVyZWYgaW4KIGluZXQ2X3NldF9saW5rX2FmKCkK ClsgVXBzdHJlYW0gY29tbWl0IGRiM2ZhMjcxMDIyZGFjYjlmNzQxYjk2ZWE0NzE0NDYxYTg5MTFi YjkgXQoKX19pbjZfZGV2X2dldChkZXYpIGNhbGxlZCBmcm9tIGluZXQ2X3NldF9saW5rX2FmKCkg Y2FuIHJldHVybiBOVUxMLgoKVGhlIG5lZWRlZCBjaGVjayBoYXMgYmVlbiByZWNlbnRseSByZW1v dmVkLCBsZXQncyBhZGQgaXQgYmFjay4KCldoaWxlIGRvX3NldGxpbmsoKSBkb2VzIGNhbGwgdmFs aWRhdGVfbGlua21zZygpIDoKLi4uCmVyciA9IHZhbGlkYXRlX2xpbmttc2coZGV2LCB0Yik7IC8q IE9LIGF0IHRoaXMgcG9pbnQgKi8KLi4uCgpJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBmb2xsb3dp bmcgY2FsbCBoYXBwZW5pbmcgYmVmb3JlIHRoZQotPnNldF9saW5rX2FmKCkgcmVtb3ZlcyBJUHY2 IGlmIE1UVSBpcyBsZXNzIHRoYW4gMTI4MCA6CgppZiAodGJbSUZMQV9NVFVdKSB7CiAgICBlcnIg PSBkZXZfc2V0X210dV9leHQoZGV2LCBubGFfZ2V0X3UzMih0YltJRkxBX01UVV0pLCBleHRhY2sp OwogICAgaWYgKGVyciA8IDApCiAgICAgICAgICBnb3RvIGVycm91dDsKICAgIHN0YXR1cyB8PSBE T19TRVRMSU5LX01PRElGSUVEOwp9Ci4uLgoKaWYgKHRiW0lGTEFfQUZfU1BFQ10pIHsKICAgLi4u CiAgIGVyciA9IGFmX29wcy0+c2V0X2xpbmtfYWYoZGV2LCBhZik7CiAgICAgIC0+aW5ldDZfc2V0 X2xpbmtfYWYoKSAvLyBDUkFTSCBiZWNhdXNlIGlkZXYgaXMgTlVMTAoKUGxlYXNlIG5vdGUgdGhh dCBJUHY0IGlzIGltbXVuZSB0byB0aGUgYnVnIHNpbmNlIGluZXRfc2V0X2xpbmtfYWYoKSBkb2Vz IDoKCnN0cnVjdCBpbl9kZXZpY2UgKmluX2RldiA9IF9faW5fZGV2X2dldF9yY3UoZGV2KTsKaWYg KCFpbl9kZXYpCiAgICByZXR1cm4gLUVBRk5PU1VQUE9SVDsKClRoaXMgcHJvYmxlbSBoYXMgYmVl biBtZW50aW9uZWQgaW4gY29tbWl0IGNmN2FmYmZlYjhjZSAoInJ0bmw6IG1ha2UKbGluayBhZi1z cGVjaWZpYyB1cGRhdGVzIGF0b21pYyIpIGNoYW5nZWxvZyA6CgogICAgVGhpcyBtZXRob2QgaXMg bm90IGZhaWwgcHJvb2YsIHdoaWxlIGl0IGlzIGN1cnJlbnRseSBzdWZmaWNpZW50CiAgICB0byBt YWtlIHNldF9saW5rX2FmKCkgaW5lcnJhYmxlIGFuZCB0aHVzIDEwMCUgYXRvbWljLCB0aGUKICAg IHZhbGlkYXRpb24gZnVuY3Rpb24gbWV0aG9kIHdpbGwgbm90IGJlIGFibGUgdG8gZGV0ZWN0IGFs bCBlcnJvcgogICAgc2NlbmFyaW9zIGluIHRoZSBmdXR1cmUsIHRoZXJlIHdpbGwgbGlrZWx5IGFs d2F5cyBiZSBlcnJvcnMKICAgIGRlcGVuZGluZyBvbiBzdGF0ZXMgd2hpY2ggYXJlIGYuZS4gbm90 IHByb3RlY3RlZCBieSBydG5sX211dGV4CiAgICBhbmQgdGh1cyBtYXkgY2hhbmdlIGJldHdlZW4g dmFsaWRhdGlvbiBhbmQgc2V0dGluZy4KCklQdjY6IEFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBs bzogbGluayBiZWNvbWVzIHJlYWR5CmdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCwgcHJvYmFibHkg Zm9yIG5vbi1jYW5vbmljYWwgYWRkcmVzcyAweGRmZmZmYzAwMDAwMDAwNTY6IDAwMDAgWyMxXSBQ UkVFTVBUIFNNUCBLQVNBTgpLQVNBTjogbnVsbC1wdHItZGVyZWYgaW4gcmFuZ2UgWzB4MDAwMDAw MDAwMDAwMDJiMC0weDAwMDAwMDAwMDAwMDAyYjddCkNQVTogMCBQSUQ6IDk2OTggQ29tbTogc3l6 LWV4ZWN1dG9yNzEyIE5vdCB0YWludGVkIDUuNS4wLXN5emthbGxlciAjMApIYXJkd2FyZSBuYW1l OiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklP UyBHb29nbGUgMDEvMDEvMjAxMQpSSVA6IDAwMTA6aW5ldDZfc2V0X2xpbmtfYWYrMHg2NmUvMHhh ZTAgbmV0L2lwdjYvYWRkcmNvbmYuYzo1NzMzCkNvZGU6IDM4IGQwIDdmIDA4IDg0IGMwIDBmIDg1 IDIwIDAzIDAwIDAwIDQ4IDhkIGJiIGIwIDAyIDAwIDAwIDQ1IDBmIGI2IDY0IDI0IDA0IDQ4IGI4 IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDg5IGZhIDQ4IGMxIGVhIDAzIDwwZj4gYjYgMDQg MDIgODQgYzAgNzQgMDggM2MgMDMgMGYgOGUgMWEgMDMgMDAgMDAgNDQgODkgYTMgYjAgMDIgMDAK UlNQOiAwMDE4OmZmZmZjOTAwMDViMDZkNDAgRUZMQUdTOiAwMDAxMDIwNgpSQVg6IGRmZmZmYzAw MDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogZmZmZmZmZmY4NmRmMzlhNgpSRFg6 IDAwMDAwMDAwMDAwMDAwNTYgUlNJOiBmZmZmZmZmZjg2ZGYzZTc0IFJESTogMDAwMDAwMDAwMDAw MDJiMApSQlA6IGZmZmZjOTAwMDViMDZlNzAgUjA4OiBmZmZmODg4MGEyYWMwMzgwIFIwOTogZmZm ZmM5MDAwNWIwNmRiMApSMTA6IGZmZmZmNTIwMDBiNjBkYmUgUjExOiBmZmZmYzkwMDA1YjA2ZGY3 IFIxMjogMDAwMDAwMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiBmZmZmODg4 MGExZmNjNDI0IFIxNTogZGZmZmZjMDAwMDAwMDAwMApGUzogIDAwMDAwMDAwMDBjNDY4ODAoMDAw MCkgR1M6ZmZmZjg4ODBhZTgwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAg MDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAwNTVm MDQ5NGNhMGQwIENSMzogMDAwMDAwMDA5ZTRhYzAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZjAKRFIw OiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAw MDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAw MDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFjZToKIGRvX3NldGxpbmsrMHgyYTlmLzB4MzcyMCBuZXQv Y29yZS9ydG5ldGxpbmsuYzoyNzU0CiBydG5sX2dyb3VwX2NoYW5nZWxpbmsgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6MzEwMyBbaW5saW5lXQogX19ydG5sX25ld2xpbmsrMHhkZDEvMHgxNzkwIG5ldC9j b3JlL3J0bmV0bGluay5jOjMyNTcKIHJ0bmxfbmV3bGluaysweDY5LzB4YTAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6MzM3NwogcnRuZXRsaW5rX3Jjdl9tc2crMHg0NWUvMHhhZjAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6NTQzOAogbmV0bGlua19yY3Zfc2tiKzB4MTc3LzB4NDUwIG5ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4MWQvMHgzMCBuZXQvY29yZS9ydG5ldGxp bmsuYzo1NDU2CiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsu YzoxMzAyIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHg1OWUvMHg3ZTAgbmV0L25ldGxpbmsv YWZfbmV0bGluay5jOjEzMjgKIG5ldGxpbmtfc2VuZG1zZysweDkxYy8weGVhMCBuZXQvbmV0bGlu ay9hZl9uZXRsaW5rLmM6MTkxNwogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2NTIg W2lubGluZV0KIHNvY2tfc2VuZG1zZysweGQ3LzB4MTMwIG5ldC9zb2NrZXQuYzo2NzIKIF9fX19z eXNfc2VuZG1zZysweDc1My8weDg4MCBuZXQvc29ja2V0LmM6MjM0MwogX19fc3lzX3NlbmRtc2cr MHgxMDAvMHgxNzAgbmV0L3NvY2tldC5jOjIzOTcKIF9fc3lzX3NlbmRtc2crMHgxMDUvMHgxZDAg bmV0L3NvY2tldC5jOjI0MzAKIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MzkgW2lu bGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MzcgW2lubGluZV0KIF9feDY0 X3N5c19zZW5kbXNnKzB4NzgvMHhiMCBuZXQvc29ja2V0LmM6MjQzNwogZG9fc3lzY2FsbF82NCsw eGZhLzB4NzkwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NAogZW50cnlfU1lTQ0FMTF82NF9h ZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NDAyZTkKQ29kZTogMTggODkgZDAg YzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgMGYgMWYgMDAgNDggODkgZjggNDggODkg ZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQgMDggMGYg MDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyBmYiAxMyBmYyBmZiBjMyA2NiAyZSAwZiAxZiA4 NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmZmZkNjJmYmNmOCBFRkxBR1M6IDAwMDAwMjQ2 IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAw MDAwMDAwMDA0MDAyYzggUkNYOiAwMDAwMDAwMDAwNDQwMmU5ClJEWDogMDAwMDAwMDAwMDAwMDAw MCBSU0k6IDAwMDAwMDAwMjAwMDAwODAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAw MDAwMDZjYTAxOCBSMDg6IDAwMDAwMDAwMDAwMDAwMDggUjA5OiAwMDAwMDAwMDAwNDAwMmM4ClIx MDogMDAwMDAwMDAwMDAwMDAwNSBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMDAw NDAxYjcwClIxMzogMDAwMDAwMDAwMDQwMWMwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAw MDAwMDAwMDAwMDAwMDAwCk1vZHVsZXMgbGlua2VkIGluOgotLS1bIGVuZCB0cmFjZSBjZmE3NjY0 YjhmZGNkZmYzIF0tLS0KUklQOiAwMDEwOmluZXQ2X3NldF9saW5rX2FmKzB4NjZlLzB4YWUwIG5l dC9pcHY2L2FkZHJjb25mLmM6NTczMwpDb2RlOiAzOCBkMCA3ZiAwOCA4NCBjMCAwZiA4NSAyMCAw MyAwMCAwMCA0OCA4ZCBiYiBiMCAwMiAwMCAwMCA0NSAwZiBiNiA2NCAyNCAwNCA0OCBiOCAwMCAw MCAwMCAwMCAwMCBmYyBmZiBkZiA0OCA4OSBmYSA0OCBjMSBlYSAwMyA8MGY+IGI2IDA0IDAyIDg0 IGMwIDc0IDA4IDNjIDAzIDBmIDhlIDFhIDAzIDAwIDAwIDQ0IDg5IGEzIGIwIDAyIDAwClJTUDog MDAxODpmZmZmYzkwMDA1YjA2ZDQwIEVGTEFHUzogMDAwMTAyMDYKUkFYOiBkZmZmZmMwMDAwMDAw MDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZmZmZmODZkZjM5YTYKUkRYOiAwMDAw MDAwMDAwMDAwMDU2IFJTSTogZmZmZmZmZmY4NmRmM2U3NCBSREk6IDAwMDAwMDAwMDAwMDAyYjAK UkJQOiBmZmZmYzkwMDA1YjA2ZTcwIFIwODogZmZmZjg4ODBhMmFjMDM4MCBSMDk6IGZmZmZjOTAw MDViMDZkYjAKUjEwOiBmZmZmZjUyMDAwYjYwZGJlIFIxMTogZmZmZmM5MDAwNWIwNmRmNyBSMTI6 IDAwMDAwMDAwMDAwMDAwMDAKUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogZmZmZjg4ODBhMWZj YzQyNCBSMTU6IGRmZmZmYzAwMDAwMDAwMDAKRlM6ICAwMDAwMDAwMDAwYzQ2ODgwKDAwMDApIEdT OmZmZmY4ODgwYWU5MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAyMDAw MDAwNCBDUjM6IDAwMDAwMDAwOWU0YWMwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmUwCkRSMDogMDAw MDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAw CkRSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAw MDAwMDAwNDAwCgpGaXhlczogN2RjMmJjY2FiMGVlICgiVmFsaWRhdGUgcmVxdWlyZWQgcGFyYW1l dGVycyBpbiBpbmV0Nl92YWxpZGF0ZV9saW5rX2FmIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpCaXNlY3RlZC1hbmQtcmVwb3J0ZWQtYnk6IHN5emJv dCA8c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+CkNjOiBNYXhpbSBNaWtpdHlhbnNraXkgPG1h eGltbWlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvYWRkcmNvbmYuYyB8IDMgKysrCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvYWRkcmNvbmYu YyBiL25ldC9pcHY2L2FkZHJjb25mLmMKaW5kZXggZjliNTY5MGU5NGZkLi5iMTFjY2I1M2M3ZTAg MTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2FkZHJjb25mLmMKKysrIGIvbmV0L2lwdjYvYWRkcmNvbmYu YwpAQCAtNTcxOSw2ICs1NzE5LDkgQEAgc3RhdGljIGludCBpbmV0Nl9zZXRfbGlua19hZihzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgbmxhdHRyICpubGEpCiAJc3RydWN0IG5s YXR0ciAqdGJbSUZMQV9JTkVUNl9NQVggKyAxXTsKIAlpbnQgZXJyOwogCisJaWYgKCFpZGV2KQor CQlyZXR1cm4gLUVBRk5PU1VQUE9SVDsKKwogCWlmIChubGFfcGFyc2VfbmVzdGVkX2RlcHJlY2F0 ZWQodGIsIElGTEFfSU5FVDZfTUFYLCBubGEsIE5VTEwsIE5VTEwpIDwgMCkKIAkJQlVHKCk7CiAK LS0gCjIuMjEuMQoKCkZyb20gODA5ZDYzZDYzMjNhMDdkZjM4OGQ0NjliYjQ3NDRjNjY1YTZkMzM1 ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3VkYXJzYW5hIFJlZGR5IEthbGx1cnUg PHNrYWxsdXJ1QG1hcnZlbGwuY29tPgpEYXRlOiBXZWQsIDUgRmViIDIwMjAgMDU6MTA6NTUgLTA4 MDAKU3ViamVjdDogW1BBVENIIDIxLzI0XSBxZWQ6IEZpeCB0aW1lc3RhbXBpbmcgaXNzdWUgZm9y IEwyIHVuaWNhc3QgcHRwIHBhY2tldHMuCgpbIFVwc3RyZWFtIGNvbW1pdCAwMjAyZDI5M2MyZmFl Y2JhNzkxYmE0YWZjNWFlYzA4NjI0OWMzOTNkIF0KCmNvbW1pdCBjZWRlYWM5ZGY0YjggKCJxZWQ6 IEFkZCBzdXBwb3J0IGZvciBUaW1lc3RhbXBpbmcgdGhlIHVuaWNhc3QKUFRQIHBhY2tldHMuIikg aGFuZGxlcyB0aGUgdGltZXN0YW1waW5nIG9mIEw0IHB0cCBwYWNrZXRzIG9ubHkuClRoaXMgcGF0 Y2ggYWRkcyBkcml2ZXIgY2hhbmdlcyB0byBkZXRlY3QvdGltZXN0YW1wIGJvdGggTDIvTDQgdW5p Y2FzdApQVFAgcGFja2V0cy4KCkZpeGVzOiBjZWRlYWM5ZGY0YjggKCJxZWQ6IEFkZCBzdXBwb3J0 IGZvciBUaW1lc3RhbXBpbmcgdGhlIHVuaWNhc3QgUFRQIHBhY2tldHMuIikKU2lnbmVkLW9mZi1i eTogU3VkYXJzYW5hIFJlZGR5IEthbGx1cnUgPHNrYWxsdXJ1QG1hcnZlbGwuY29tPgpTaWduZWQt b2ZmLWJ5OiBBcmllbCBFbGlvciA8YWVsaW9yQG1hcnZlbGwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvcWxvZ2ljL3FlZC9xZWRfcHRwLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvcWxvZ2ljL3FlZC9xZWRfcHRwLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMv cWVkL3FlZF9wdHAuYwppbmRleCAwZGFjZjJjMThjMDkuLjNlNjEzMDU4ZTIyNSAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZC9xZWRfcHRwLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZC9xZWRfcHRwLmMKQEAgLTQ0LDggKzQ0LDggQEAKIC8q IEFkZC9zdWJ0cmFjdCB0aGUgQWRqdXN0bWVudF9WYWx1ZSB3aGVuIG1ha2luZyBhIERyaWZ0IGFk anVzdG1lbnQgKi8KICNkZWZpbmUgUUVEX0RSSUZUX0NOVFJfRElSRUNUSU9OX1NISUZUCQkzMQog I2RlZmluZSBRRURfVElNRVNUQU1QX01BU0sJCQlCSVQoMTYpCi0vKiBQYXJhbSBtYXNrIGZvciBI YXJkd2FyZSB0byBkZXRlY3QvdGltZXN0YW1wIHRoZSB1bmljYXN0IFBUUCBwYWNrZXRzICovCi0j ZGVmaW5lIFFFRF9QVFBfVUNBU1RfUEFSQU1fTUFTSwkJMHhGCisvKiBQYXJhbSBtYXNrIGZvciBI YXJkd2FyZSB0byBkZXRlY3QvdGltZXN0YW1wIHRoZSBMMi9MNCB1bmljYXN0IFBUUCBwYWNrZXRz ICovCisjZGVmaW5lIFFFRF9QVFBfVUNBU1RfUEFSQU1fTUFTSyAgICAgICAgICAgICAgMHg3MEYK IAogc3RhdGljIGVudW0gcWVkX3Jlc2NfbG9jayBxZWRfcHRjZGV2X3RvX3Jlc2Moc3RydWN0IHFl ZF9od2ZuICpwX2h3Zm4pCiB7Ci0tIAoyLjIxLjEKCgpGcm9tIGE0NjQyZmYyMWI4MjFjOTNiNmM5 YWI2NTEwOWQ4YzJjZjZjOGMxNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IElkbyBT Y2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KRGF0ZTogRnJpLCA3IEZlYiAyMDIwIDE5OjI5 OjI4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMi8yNF0gZHJvcF9tb25pdG9yOiBEbyBub3QgY2Fu Y2VsIHVuaW5pdGlhbGl6ZWQgd29yayBpdGVtCgpbIFVwc3RyZWFtIGNvbW1pdCBkZmE3ZjcwOTU5 NmJlNWNhNDZjMDcwZDRmOGFjYmIzNDQzMjIwNTZhIF0KCkRyb3AgbW9uaXRvciB1c2VzIGEgd29y ayBpdGVtIHRoYXQgdGFrZXMgY2FyZSBvZiBjb25zdHJ1Y3RpbmcgYW5kCnNlbmRpbmcgbmV0bGlu ayBub3RpZmljYXRpb25zIHRvIHVzZXIgc3BhY2UuIEluIGNhc2UgZHJvcCBtb25pdG9yIG5ldmVy CnN0YXJ0ZWQgdG8gbW9uaXRvciwgdGhlbiB0aGUgd29yayBpdGVtIGlzIHVuaW5pdGlhbGl6ZWQg YW5kIG5vdAphc3NvY2lhdGVkIHdpdGggYSBmdW5jdGlvbi4KClRoZXJlZm9yZSwgYSBzdG9wIGNv bW1hbmQgZnJvbSB1c2VyIHNwYWNlIHJlc3VsdHMgaW4gY2FuY2VsaW5nIGFuCnVuaW5pdGlhbGl6 ZWQgd29yayBpdGVtIHdoaWNoIGxlYWRzIHRvIHRoZSBmb2xsb3dpbmcgd2FybmluZyBbMV0uCgpG aXggdGhpcyBieSBub3QgcHJvY2Vzc2luZyBhIHN0b3AgY29tbWFuZCBpZiBkcm9wIG1vbml0b3Ig aXMgbm90CmN1cnJlbnRseSBtb25pdG9yaW5nLgoKWzFdClsgICAzMS43MzU0MDJdIC0tLS0tLS0t LS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpbICAgMzEuNzM2NDcwXSBXQVJOSU5HOiBDUFU6 IDAgUElEOiAxNDMgYXQga2VybmVsL3dvcmtxdWV1ZS5jOjMwMzIgX19mbHVzaF93b3JrKzB4ODlm LzB4OWYwCi4uLgpbICAgMzEuNzM4MTIwXSBDUFU6IDAgUElEOiAxNDMgQ29tbTogZHdkdW1wIE5v dCB0YWludGVkIDUuNS4wLWN1c3RvbS0wOTQ5MS1nMTZkNDA3Nzc5NmI4ICM3MjcKWyAgIDMxLjc0 MTk2OF0gUklQOiAwMDEwOl9fZmx1c2hfd29yaysweDg5Zi8weDlmMAouLi4KWyAgIDMxLjc2MDUy Nl0gQ2FsbCBUcmFjZToKWyAgIDMxLjc3MTY4OV0gIF9fY2FuY2VsX3dvcmtfdGltZXIrMHgyYTYv MHgzYjAKWyAgIDMxLjc3NjgwOV0gIG5ldF9kbV9jbWRfdHJhY2UrMHgzMDAvMHhlZjAKWyAgIDMx Ljc3NzU0OV0gIGdlbmxfcmN2X21zZysweDVjNi8weGQ1MApbICAgMzEuNzgxMDA1XSAgbmV0bGlu a19yY3Zfc2tiKzB4MTNiLzB4M2EwClsgICAzMS43ODQxMTRdICBnZW5sX3JjdisweDI5LzB4NDAK WyAgIDMxLjc4NDcyMF0gIG5ldGxpbmtfdW5pY2FzdCsweDQ5Zi8weDZhMApbICAgMzEuNzg3MTQ4 XSAgbmV0bGlua19zZW5kbXNnKzB4N2NmLzB4YzgwClsgICAzMS43OTA0MjZdICBfX19fc3lzX3Nl bmRtc2crMHg2MjAvMHg3NzAKWyAgIDMxLjc5MzQ1OF0gIF9fX3N5c19zZW5kbXNnKzB4ZmQvMHgx NzAKWyAgIDMxLjgwMjIxNl0gIF9fc3lzX3NlbmRtc2crMHhkZi8weDFhMApbICAgMzEuODA2MTk1 XSAgZG9fc3lzY2FsbF82NCsweGEwLzB4NTQwClsgICAzMS44MDY4ODVdICBlbnRyeV9TWVNDQUxM XzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGaXhlczogOGU5NGMzYmM5MjJlICgiZHJvcF9t b25pdG9yOiBBbGxvdyB1c2VyIHRvIHN0YXJ0IG1vbml0b3JpbmcgaGFyZHdhcmUgZHJvcHMiKQpT aWduZWQtb2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClJldmlld2Vk LWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL2Ryb3BfbW9uaXRv ci5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZHJvcF9tb25pdG9yLmMgYi9uZXQvY29yZS9kcm9w X21vbml0b3IuYwppbmRleCA1MzZlMDMyZDk1YzguLjI0NmEyNThiMWZhYyAxMDA2NDQKLS0tIGEv bmV0L2NvcmUvZHJvcF9tb25pdG9yLmMKKysrIGIvbmV0L2NvcmUvZHJvcF9tb25pdG9yLmMKQEAg LTEwMDQsOCArMTAwNCwxMCBAQCBzdGF0aWMgdm9pZCBuZXRfZG1faHdfbW9uaXRvcl9zdG9wKHN0 cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKIHsKIAlpbnQgY3B1OwogCi0JaWYgKCFtb25p dG9yX2h3KQorCWlmICghbW9uaXRvcl9odykgewogCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNr LCAiSGFyZHdhcmUgbW9uaXRvcmluZyBhbHJlYWR5IGRpc2FibGVkIik7CisJCXJldHVybjsKKwl9 CiAKIAltb25pdG9yX2h3ID0gZmFsc2U7CiAKLS0gCjIuMjEuMQoKCkZyb20gN2FkNDBiNDQ0ZDM1 ODc4YzZmMWUwNjUzYjdjYTBjZTEyYzM2MGMzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWFvciBHb3R0bGllYiA8bWFvcmdAbWVsbGFub3guY29tPgpEYXRlOiBNb24sIDI3IEphbiAy MDIwIDA5OjI3OjUxICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMy8yNF0gbmV0L21seDU6IEZpeCBk ZWFkbG9jayBpbiBmc19jb3JlCgpbIFVwc3RyZWFtIGNvbW1pdCBjMTk0ODM5MGQ3OGI1MTgzZWU5 YjdkZDgzMWVmZDdmNmFjNDk2YWIwIF0KCmZyZWVfbWF0Y2hfbGlzdCBjb3VsZCBiZSBjYWxsZWQg d2hlbiB0aGUgZmxvdyB0YWJsZSBpcyBhbHJlYWR5CmxvY2tlZC4gV2UgbmVlZCB0byBwYXNzIHRo aXMgbm90YXRpb24gdG8gdHJlZV9wdXRfbm9kZS4KCkl0IGZpeGVzIHRoZSBmb2xsb3dpbmcgbG9j a2RlcCB3YXJubmluZzoKClsgMTc5Ny4yNjg1MzddID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ClsgMTc5Ny4yNzY4MzddIFdBUk5JTkc6IHBvc3NpYmxlIHJlY3Vy c2l2ZSBsb2NraW5nIGRldGVjdGVkClsgMTc5Ny4yODUxMDFdIDUuNS4wLXJjNSsgIzEwIE5vdCB0 YWludGVkClsgMTc5Ny4yOTE2NDFdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tClsgMTc5Ny4yOTk5MTddIGhhbmRsZXIxMC85Mjk2IGlzIHRyeWluZyB0byBhY3F1 aXJlIGxvY2s6ClsgMTc5Ny4zMDc4ODVdIGZmZmY4ODlhZDM5OWEwYTAgKCZub2RlLT5sb2NrKXsr KysrfSwgYXQ6CnRyZWVfcHV0X25vZGUrMHgxZDUvMHgyMTAgW21seDVfY29yZV0KWyAxNzk3LjMx OTY5NF0KWyAxNzk3LjMxOTY5NF0gYnV0IHRhc2sgaXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6Clsg MTc5Ny4zMzA5MDRdIGZmZmY4ODlhZDM5OWEwYTAgKCZub2RlLT5sb2NrKXsrKysrfSwgYXQ6Cm5l c3RlZF9kb3duX3dyaXRlX3JlZl9ub2RlLnBhcnQuMzMrMHgxYS8weDYwIFttbHg1X2NvcmVdClsg MTc5Ny4zNDQ3MDddClsgMTc5Ny4zNDQ3MDddIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVz IGRlYnVnIHRoaXM6ClsgMTc5Ny4zNTY5NTJdICBQb3NzaWJsZSB1bnNhZmUgbG9ja2luZyBzY2Vu YXJpbzoKWyAxNzk3LjM1Njk1Ml0KWyAxNzk3LjM2ODMzM10gICAgICAgIENQVTAKWyAxNzk3LjM3 MzM1N10gICAgICAgIC0tLS0KWyAxNzk3LjM3ODM2NF0gICBsb2NrKCZub2RlLT5sb2NrKTsKWyAx Nzk3LjM4NDIyMl0gICBsb2NrKCZub2RlLT5sb2NrKTsKWyAxNzk3LjM5MDAzMV0KWyAxNzk3LjM5 MDAzMV0gICoqKiBERUFETE9DSyAqKioKWyAxNzk3LjM5MDAzMV0KWyAxNzk3LjQwMzAwM10gIE1h eSBiZSBkdWUgdG8gbWlzc2luZyBsb2NrIG5lc3Rpbmcgbm90YXRpb24KWyAxNzk3LjQwMzAwM10K WyAxNzk3LjQxNDY5MV0gMyBsb2NrcyBoZWxkIGJ5IGhhbmRsZXIxMC85Mjk2OgpbIDE3OTcuNDIx NDY1XSAgIzA6IGZmZmY4ODljZjJjNWExMTAgKCZibG9jay0+Y2JfbG9jayl7KysrK30sIGF0Ogp0 Y19zZXR1cF9jYl9hZGQrMHg3MC8weDI1MApbIDE3OTcuNDMyODEwXSAgIzE6IGZmZmY4OGEwMzAw ODE0OTAgKCZjb21wLT5zZW0peysrKyt9LCBhdDoKbWx4NV9kZXZjb21fZ2V0X3BlZXJfZGF0YSsw eDRjLzB4YjAgW21seDVfY29yZV0KWyAxNzk3LjQ0NTgyOV0gICMyOiBmZmZmODg5YWQzOTlhMGEw ICgmbm9kZS0+bG9jayl7KysrK30sIGF0OgpuZXN0ZWRfZG93bl93cml0ZV9yZWZfbm9kZS5wYXJ0 LjMzKzB4MWEvMHg2MCBbbWx4NV9jb3JlXQpbIDE3OTcuNDU5OTEzXQpbIDE3OTcuNDU5OTEzXSBz dGFjayBiYWNrdHJhY2U6ClsgMTc5Ny40Njk0MzZdIENQVTogMSBQSUQ6IDkyOTYgQ29tbTogaGFu ZGxlcjEwIEtkdW1wOiBsb2FkZWQgTm90CnRhaW50ZWQgNS41LjAtcmM1KyAjMTAKWyAxNzk3LjQ4 MDY0M10gSGFyZHdhcmUgbmFtZTogRGVsbCBJbmMuIFBvd2VyRWRnZSBSNzMwLzA3MlQ2RCwgQklP UwoyLjQuMyAwMS8xNy8yMDE3ClsgMTc5Ny40OTE0ODBdIENhbGwgVHJhY2U6ClsgMTc5Ny40OTY3 MDFdICBkdW1wX3N0YWNrKzB4OTYvMHhlMApbIDE3OTcuNTAyODY0XSAgX19sb2NrX2FjcXVpcmUu Y29sZC42MysweGY4LzB4MjEyClsgMTc5Ny41MTAzMDFdICA/IGxvY2tkZXBfaGFyZGlycXNfb24r MHgyNTAvMHgyNTAKWyAxNzk3LjUxNzcwMV0gID8gbWFya19oZWxkX2xvY2tzKzB4NTUvMHhhMApb IDE3OTcuNTI0NTQ3XSAgPyBxdWFyYW50aW5lX3B1dCsweGI3LzB4MTYwClsgMTc5Ny41MzE0MjJd ICA/IGxvY2tkZXBfaGFyZGlycXNfb24rMHgxN2QvMHgyNTAKWyAxNzk3LjUzODkxM10gIGxvY2tf YWNxdWlyZSsweGQ2LzB4MWYwClsgMTc5Ny41NDU1MjldICA/IHRyZWVfcHV0X25vZGUrMHgxZDUv MHgyMTAgW21seDVfY29yZV0KWyAxNzk3LjU1MzcwMV0gIGRvd25fd3JpdGUrMHg5NC8weDE0MApb IDE3OTcuNTYwMjA2XSAgPyB0cmVlX3B1dF9ub2RlKzB4MWQ1LzB4MjEwIFttbHg1X2NvcmVdClsg MTc5Ny41Njg0NjRdICA/IGRvd25fd3JpdGVfa2lsbGFibGVfbmVzdGVkKzB4MTcwLzB4MTcwClsg MTc5Ny41NzY5MjVdICA/IGRlbF9od19mbG93X2dyb3VwKzB4ZGUvMHgxZjAgW21seDVfY29yZV0K WyAxNzk3LjU4NTYyOV0gIHRyZWVfcHV0X25vZGUrMHgxZDUvMHgyMTAgW21seDVfY29yZV0KWyAx Nzk3LjU5Mzg5MV0gID8gZnJlZV9tYXRjaF9saXN0LnBhcnQuMjUrMHgxNDcvMHgxNzAgW21seDVf Y29yZV0KWyAxNzk3LjYwMzM4OV0gIGZyZWVfbWF0Y2hfbGlzdC5wYXJ0LjI1KzB4ZTAvMHgxNzAg W21seDVfY29yZV0KWyAxNzk3LjYxMjY1NF0gIF9tbHg1X2FkZF9mbG93X3J1bGVzKzB4MTdlMi8w eDIwYjAgW21seDVfY29yZV0KWyAxNzk3LjYyMTgzOF0gID8gbG9ja19hY3F1aXJlKzB4ZDYvMHgx ZjAKWyAxNzk3LjYyOTAyOF0gID8gZXN3X2dldF9wcmlvX3RhYmxlKzB4YjAvMHgzZTAgW21seDVf Y29yZV0KWyAxNzk3LjYzNzk4MV0gID8gYWxsb2NfaW5zZXJ0X2Zsb3dfZ3JvdXArMHg0MjAvMHg0 MjAgW21seDVfY29yZV0KWyAxNzk3LjY0NzQ1OV0gID8gdHJ5X3RvX3dha2VfdXArMHg0YzcvMHhj NzAKWyAxNzk3LjY1NDg4MV0gID8gbG9ja19kb3duZ3JhZGUrMHgzNTAvMHgzNTAKWyAxNzk3LjY2 MjI3MV0gID8gX19tdXRleF91bmxvY2tfc2xvd3BhdGgrMHhiMS8weDNmMApbIDE3OTcuNjcwMzk2 XSAgPyBmaW5kX2hlbGRfbG9jaysweGFjLzB4ZDAKWyAxNzk3LjY3NzU0MF0gID8gbWx4NV9hZGRf Zmxvd19ydWxlcysweGRjLzB4MzYwIFttbHg1X2NvcmVdClsgMTc5Ny42ODY0NjddICBtbHg1X2Fk ZF9mbG93X3J1bGVzKzB4ZGMvMHgzNjAgW21seDVfY29yZV0KWyAxNzk3LjY5NTEzNF0gID8gX21s eDVfYWRkX2Zsb3dfcnVsZXMrMHgyMGIwLzB4MjBiMCBbbWx4NV9jb3JlXQpbIDE3OTcuNzA0Mjcw XSAgPyBpcnFfZXhpdCsweGE1LzB4MTcwClsgMTc5Ny43MTA3NjRdICA/IHJldGludF9rZXJuZWwr MHgxMC8weDEwClsgMTc5Ny43MTc2OThdICA/IG1seDVfZXN3aXRjaF9zZXRfcnVsZV9zb3VyY2Vf cG9ydC5pc3JhLjkrMHgxMjIvMHgyMzAKW21seDVfY29yZV0KWyAxNzk3LjcyODcwOF0gIG1seDVf ZXN3aXRjaF9hZGRfb2ZmbG9hZGVkX3J1bGUrMHg0NjUvMHg2ZDAgW21seDVfY29yZV0KWyAxNzk3 LjczODcxM10gID8gbWx4NV9lc3dpdGNoX2dldF9wcmlvX3JhbmdlKzB4MzAvMHgzMCBbbWx4NV9j b3JlXQpbIDE3OTcuNzQ4Mzg0XSAgPyBtbHg1X2ZjX3N0YXRzX3dvcmsrMHg2NzAvMHg2NzAgW21s eDVfY29yZV0KWyAxNzk3Ljc1NzQwMF0gIG1seDVlX3RjX29mZmxvYWRfZmRiX3J1bGVzLmlzcmEu MjcrMHgyNC8weDkwIFttbHg1X2NvcmVdClsgMTc5Ny43Njc2NjVdICBtbHg1ZV90Y19hZGRfZmRi X2Zsb3crMHhhZjgvMHhkNDAgW21seDVfY29yZV0KWyAxNzk3Ljc3Njg4Nl0gID8gbWx4NWVfZW5j YXBfcHV0KzB4ZDAvMHhkMCBbbWx4NV9jb3JlXQpbIDE3OTcuNzg1NTYyXSAgPyBtbHg1ZV9hbGxv Y19mbG93LmlzcmEuNDMrMHgxOGMvMHgxYzAgW21seDVfY29yZV0KWyAxNzk3Ljc5NTM1M10gIF9f bWx4NWVfYWRkX2ZkYl9mbG93KzB4MmUyLzB4NDQwIFttbHg1X2NvcmVdClsgMTc5Ny44MDQ1NThd ICA/IG1seDVlX3RjX3VwZGF0ZV9uZWlnaF91c2VkX3ZhbHVlKzB4OGMwLzB4OGMwClttbHg1X2Nv cmVdClsgMTc5Ny44MTUwOTNdICA/IHdhaXRfZm9yX2NvbXBsZXRpb24rMHgyNjAvMHgyNjAKWyAx Nzk3LjgyMzI3Ml0gIG1seDVlX2NvbmZpZ3VyZV9mbG93ZXIrMHhlOTQvMHgxNjIwIFttbHg1X2Nv cmVdClsgMTc5Ny44MzI3OTJdICA/IF9fbWx4NWVfYWRkX2ZkYl9mbG93KzB4NDQwLzB4NDQwIFtt bHg1X2NvcmVdClsgMTc5Ny44NDIwOTZdICA/IGRvd25fcmVhZCsweDExYS8weDJlMApbIDE3OTcu ODQ5MDkwXSAgPyBkb3duX3dyaXRlKzB4MTQwLzB4MTQwClsgMTc5Ny44NTYxNDJdICA/IG1seDVl X3JlcF9pbmRyX3NldHVwX2Jsb2NrX2NiKzB4YzAvMHhjMCBbbWx4NV9jb3JlXQpbIDE3OTcuODY2 MDI3XSAgdGNfc2V0dXBfY2JfYWRkKzB4MTFhLzB4MjUwClsgMTc5Ny44NzMzMzldICBmbF9od19y ZXBsYWNlX2ZpbHRlcisweDI1ZS8weDMyMCBbY2xzX2Zsb3dlcl0KWyAxNzk3Ljg4MjM4NV0gID8g ZmxfaHdfZGVzdHJveV9maWx0ZXIrMHgxYzAvMHgxYzAgW2Nsc19mbG93ZXJdClsgMTc5Ny44OTE2 MDddICBmbF9jaGFuZ2UrMHgxZDU0LzB4MWZiNiBbY2xzX2Zsb3dlcl0KWyAxNzk3Ljg5OTc3Ml0g ID8gX19yaGFzaHRhYmxlX2luc2VydF9mYXN0LmNvbnN0cHJvcC41MCsweDlmMC8weDlmMApbY2xz X2Zsb3dlcl0KWyAxNzk3LjkxMDcyOF0gID8gbG9ja19kb3duZ3JhZGUrMHgzNTAvMHgzNTAKWyAx Nzk3LjkxODE4N10gID8gX19yYWRpeF90cmVlX2xvb2t1cCsweGE1LzB4MTMwClsgMTc5Ny45MjYw NDZdICA/IGZsX3NldF9rZXkrMHgxNTkwLzB4MTU5MCBbY2xzX2Zsb3dlcl0KWyAxNzk3LjkzNDYx MV0gID8gX19yaGFzaHRhYmxlX2luc2VydF9mYXN0LmNvbnN0cHJvcC41MCsweDlmMC8weDlmMApb Y2xzX2Zsb3dlcl0KWyAxNzk3Ljk0NTY3M10gIHRjX25ld190ZmlsdGVyKzB4Y2QxLzB4MTI0MApb IDE3OTcuOTUzMTM4XSAgPyB0Y19kZWxfdGZpbHRlcisweGIxMC8weGIxMApbIDE3OTcuOTYwNjg4 XSAgPyBhdmNfaGFzX3Blcm1fbm9hdWRpdCsweDkyLzB4MzIwClsgMTc5Ny45Njg3MjFdICA/IGF2 Y19oYXNfcGVybV9ub2F1ZGl0KzB4MWRmLzB4MzIwClsgMTc5Ny45NzY4MTZdICA/IGF2Y19oYXNf ZXh0ZW5kZWRfcGVybXMrMHg5OTAvMHg5OTAKWyAxNzk3Ljk4NTA5MF0gID8gbWFya19sb2NrKzB4 YWEvMHg5ZTAKWyAxNzk3Ljk5MTk4OF0gID8gbWF0Y2hfaGVsZF9sb2NrKzB4MWIvMHgyNDAKWyAx Nzk3Ljk5OTQ1N10gID8gbWF0Y2hfaGVsZF9sb2NrKzB4MWIvMHgyNDAKWyAxNzk4LjAwNjg1OV0g ID8gZmluZF9oZWxkX2xvY2srMHhhYy8weGQwClsgMTc5OC4wMTQwNDVdICA/IHN5bWJvbF9wdXRf YWRkcisweDQwLzB4NDAKWyAxNzk4LjAyMTMxN10gID8gcmN1X3JlYWRfbG9ja19zY2hlZF9oZWxk KzB4ZDAvMHhkMApbIDE3OTguMDI5NDYwXSAgPyB0Y19kZWxfdGZpbHRlcisweGIxMC8weGIxMApb IDE3OTguMDM2ODEwXSAgcnRuZXRsaW5rX3Jjdl9tc2crMHg0ZDUvMHg2MjAKWyAxNzk4LjA0NDIz Nl0gID8gcnRubF9icmlkZ2VfZ2V0bGluaysweDQ2MC8weDQ2MApbIDE3OTguMDUyMDM0XSAgPyBs b2NrZGVwX2hhcmRpcnFzX29uKzB4MjUwLzB4MjUwClsgMTc5OC4wNTk4MzddICA/IG1hdGNoX2hl bGRfbG9jaysweDFiLzB4MjQwClsgMTc5OC4wNjcxNDZdICA/IGZpbmRfaGVsZF9sb2NrKzB4YWMv MHhkMApbIDE3OTguMDc0MjQ2XSAgbmV0bGlua19yY3Zfc2tiKzB4YzYvMHgxZjAKWyAxNzk4LjA4 MTMzOV0gID8gcnRubF9icmlkZ2VfZ2V0bGluaysweDQ2MC8weDQ2MApbIDE3OTguMDg5MTA0XSAg PyBuZXRsaW5rX2FjaysweDQ0MC8weDQ0MApbIDE3OTguMDk2MDYxXSAgbmV0bGlua191bmljYXN0 KzB4MmQ0LzB4M2IwClsgMTc5OC4xMDMxODldICA/IG5ldGxpbmtfYXR0YWNoc2tiKzB4M2YwLzB4 M2YwClsgMTc5OC4xMTA3MjRdICA/IF9jb3B5X2Zyb21faXRlcl9mdWxsKzB4ZGEvMHgzNzAKWyAx Nzk4LjExODQxNV0gIG5ldGxpbmtfc2VuZG1zZysweDNiYS8weDZhMApbIDE3OTguMTI1NDc4XSAg PyBuZXRsaW5rX3VuaWNhc3QrMHgzYjAvMHgzYjAKWyAxNzk4LjEzMjcwNV0gID8gbmV0bGlua191 bmljYXN0KzB4M2IwLzB4M2IwClsgMTc5OC4xMzk4ODBdICBzb2NrX3NlbmRtc2crMHg5NC8weGEw ClsgMTc5OC4xNDYzMzJdICBfX19fc3lzX3NlbmRtc2crMHgzNmMvMHgzZjAKWyAxNzk4LjE1MzI1 MV0gID8gY29weV9tc2doZHJfZnJvbV91c2VyKzB4MTY1LzB4MjMwClsgMTc5OC4xNjA5NDFdICA/ IGtlcm5lbF9zZW5kbXNnKzB4MzAvMHgzMApbIDE3OTguMTY3NzM4XSAgX19fc3lzX3NlbmRtc2cr MHhlYi8weDE1MApbIDE3OTguMTc0NDExXSAgPyBzZW5kbXNnX2NvcHlfbXNnaGRyKzB4MzAvMHgz MApbIDE3OTguMTgxNjQ5XSAgPyBsb2NrX2Rvd25ncmFkZSsweDM1MC8weDM1MApbIDE3OTguMTg4 NTU5XSAgPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHhkMC8weGQwClsgMTc5OC4xOTYyMzld ICA/IF9fZmdldCsweDIxZC8weDMyMApbIDE3OTguMjAyMzM1XSAgPyBkb19kdXAyKzB4MmEwLzB4 MmEwClsgMTc5OC4yMDg0OTldICA/IGxvY2tfZG93bmdyYWRlKzB4MzUwLzB4MzUwClsgMTc5OC4y MTUzNjZdICA/IF9fZmdldF9saWdodCsweGQ2LzB4ZjAKWyAxNzk4LjIyMTgwOF0gID8gc3lzY2Fs bF90cmFjZV9lbnRlcisweDM2OS8weDVkMApbIDE3OTguMjI5MTEyXSAgX19zeXNfc2VuZG1zZysw eGQzLzB4MTYwClsgMTc5OC4yMzU1MTFdICA/IF9fc3lzX3NlbmRtc2dfc29jaysweDYwLzB4NjAK WyAxNzk4LjI0MjQ3OF0gID8gc3lzY2FsbF90cmFjZV9lbnRlcisweDIzMy8weDVkMApbIDE3OTgu MjQ5NzIxXSAgPyBzeXNjYWxsX3Nsb3dfZXhpdF93b3JrKzB4MjgwLzB4MjgwClsgMTc5OC4yNTcy MTFdICA/IGRvX3N5c2NhbGxfNjQrMHgxZS8weDJlMApbIDE3OTguMjYzNjgwXSAgZG9fc3lzY2Fs bF82NCsweDcyLzB4MmUwClsgMTc5OC4yNjk5NTBdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3 ZnJhbWUrMHg0OS8weGJlCgpGaXhlczogYmQ3MWIwOGVjMmVlICgibmV0L21seDU6IFN1cHBvcnQg bXVsdGlwbGUgdXBkYXRlcyBvZiBzdGVlcmluZyBydWxlcyBpbiBwYXJhbGxlbCIpClNpZ25lZC1v ZmYtYnk6IE1hb3IgR290dGxpZWIgPG1hb3JnQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog QWxhYSBIbGVpaGVsIDxhbGFhQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IE1hcmsgQmxvY2gg PG1hcmtiQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVk bUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2ZzX2NvcmUuYyB8IDE1ICsrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5z ZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYwppbmRleCA3OTFlMTRhYzI2ZjQuLjg2ZTZiYmI1 NzQ4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2ZzX2NvcmUuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZnNfY29yZS5jCkBAIC0xNTU1LDE2ICsxNTU1LDE2IEBAIHN0cnVjdCBtYXRjaF9saXN0X2hlYWQg ewogCXN0cnVjdCBtYXRjaF9saXN0IGZpcnN0OwogfTsKIAotc3RhdGljIHZvaWQgZnJlZV9tYXRj aF9saXN0KHN0cnVjdCBtYXRjaF9saXN0X2hlYWQgKmhlYWQpCitzdGF0aWMgdm9pZCBmcmVlX21h dGNoX2xpc3Qoc3RydWN0IG1hdGNoX2xpc3RfaGVhZCAqaGVhZCwgYm9vbCBmdF9sb2NrZWQpCiB7 CiAJaWYgKCFsaXN0X2VtcHR5KCZoZWFkLT5saXN0KSkgewogCQlzdHJ1Y3QgbWF0Y2hfbGlzdCAq aXRlciwgKm1hdGNoX3RtcDsKIAogCQlsaXN0X2RlbCgmaGVhZC0+Zmlyc3QubGlzdCk7Ci0JCXRy ZWVfcHV0X25vZGUoJmhlYWQtPmZpcnN0LmctPm5vZGUsIGZhbHNlKTsKKwkJdHJlZV9wdXRfbm9k ZSgmaGVhZC0+Zmlyc3QuZy0+bm9kZSwgZnRfbG9ja2VkKTsKIAkJbGlzdF9mb3JfZWFjaF9lbnRy eV9zYWZlKGl0ZXIsIG1hdGNoX3RtcCwgJmhlYWQtPmxpc3QsCiAJCQkJCSBsaXN0KSB7Ci0JCQl0 cmVlX3B1dF9ub2RlKCZpdGVyLT5nLT5ub2RlLCBmYWxzZSk7CisJCQl0cmVlX3B1dF9ub2RlKCZp dGVyLT5nLT5ub2RlLCBmdF9sb2NrZWQpOwogCQkJbGlzdF9kZWwoJml0ZXItPmxpc3QpOwogCQkJ a2ZyZWUoaXRlcik7CiAJCX0KQEAgLTE1NzMsNyArMTU3Myw4IEBAIHN0YXRpYyB2b2lkIGZyZWVf bWF0Y2hfbGlzdChzdHJ1Y3QgbWF0Y2hfbGlzdF9oZWFkICpoZWFkKQogCiBzdGF0aWMgaW50IGJ1 aWxkX21hdGNoX2xpc3Qoc3RydWN0IG1hdGNoX2xpc3RfaGVhZCAqbWF0Y2hfaGVhZCwKIAkJCSAg ICBzdHJ1Y3QgbWx4NV9mbG93X3RhYmxlICpmdCwKLQkJCSAgICBjb25zdCBzdHJ1Y3QgbWx4NV9m bG93X3NwZWMgKnNwZWMpCisJCQkgICAgY29uc3Qgc3RydWN0IG1seDVfZmxvd19zcGVjICpzcGVj LAorCQkJICAgIGJvb2wgZnRfbG9ja2VkKQogewogCXN0cnVjdCByaGxpc3RfaGVhZCAqdG1wLCAq bGlzdDsKIAlzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICpnOwpAQCAtMTU5OCw3ICsxNTk5LDcgQEAg c3RhdGljIGludCBidWlsZF9tYXRjaF9saXN0KHN0cnVjdCBtYXRjaF9saXN0X2hlYWQgKm1hdGNo X2hlYWQsCiAKIAkJY3Vycl9tYXRjaCA9IGttYWxsb2Moc2l6ZW9mKCpjdXJyX21hdGNoKSwgR0ZQ X0FUT01JQyk7CiAJCWlmICghY3Vycl9tYXRjaCkgewotCQkJZnJlZV9tYXRjaF9saXN0KG1hdGNo X2hlYWQpOworCQkJZnJlZV9tYXRjaF9saXN0KG1hdGNoX2hlYWQsIGZ0X2xvY2tlZCk7CiAJCQll cnIgPSAtRU5PTUVNOwogCQkJZ290byBvdXQ7CiAJCX0KQEAgLTE3NzgsNyArMTc3OSw3IEBAIF9t bHg1X2FkZF9mbG93X3J1bGVzKHN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ0LAogCXZlcnNpb24g PSBhdG9taWNfcmVhZCgmZnQtPm5vZGUudmVyc2lvbik7CiAKIAkvKiBDb2xsZWN0IGFsbCBmZ3Mg d2hpY2ggaGFzIGEgbWF0Y2hpbmcgbWF0Y2hfY3JpdGVyaWEgKi8KLQllcnIgPSBidWlsZF9tYXRj aF9saXN0KCZtYXRjaF9oZWFkLCBmdCwgc3BlYyk7CisJZXJyID0gYnVpbGRfbWF0Y2hfbGlzdCgm bWF0Y2hfaGVhZCwgZnQsIHNwZWMsIHRha2Vfd3JpdGUpOwogCWlmIChlcnIpIHsKIAkJaWYgKHRh a2Vfd3JpdGUpCiAJCQl1cF93cml0ZV9yZWZfbm9kZSgmZnQtPm5vZGUsIGZhbHNlKTsKQEAgLTE3 OTIsNyArMTc5Myw3IEBAIF9tbHg1X2FkZF9mbG93X3J1bGVzKHN0cnVjdCBtbHg1X2Zsb3dfdGFi bGUgKmZ0LAogCiAJcnVsZSA9IHRyeV9hZGRfdG9fZXhpc3RpbmdfZmcoZnQsICZtYXRjaF9oZWFk Lmxpc3QsIHNwZWMsIGZsb3dfYWN0LCBkZXN0LAogCQkJCSAgICAgIGRlc3RfbnVtLCB2ZXJzaW9u KTsKLQlmcmVlX21hdGNoX2xpc3QoJm1hdGNoX2hlYWQpOworCWZyZWVfbWF0Y2hfbGlzdCgmbWF0 Y2hfaGVhZCwgdGFrZV93cml0ZSk7CiAJaWYgKCFJU19FUlIocnVsZSkgfHwKIAkgICAgKFBUUl9F UlIocnVsZSkgIT0gLUVOT0VOVCAmJiBQVFJfRVJSKHJ1bGUpICE9IC1FQUdBSU4pKSB7CiAJCWlm ICh0YWtlX3dyaXRlKQotLSAKMi4yMS4xCgoKRnJvbSA2NGNmMGJkY2MzZDE2NGZkZWVlZjAwZWVm NTUwZTU5M2IxMjFhNzNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYXJpcSBUb3Vr YW4gPHRhcmlxdEBtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgMjcgSmFuIDIwMjAgMTQ6MTg6MTQg KzAyMDAKU3ViamVjdDogW1BBVENIIDI0LzI0XSBuZXQvbWx4NTogRGVwcmVjYXRlIHVzYWdlIG9m IGdlbmVyaWMgVExTIEhXIGNhcGFiaWxpdHkKIGJpdAoKWyBVcHN0cmVhbSBjb21taXQgNjFjMDBj Y2E0MWFlZWFhOGU1MjYzYzJmODFmMjg1MzRiYzFlZmFmYiBdCgpEZXByZWNhdGUgdGhlIGdlbmVy aWMgVExTIGNhcCBiaXQsIHVzZSB0aGUgbmV3IFRYLXNwZWNpZmljClRMUyBjYXAgYml0IGluc3Rl YWQuCgpGaXhlczogYTEyZmYzNWUwZmI3ICgibmV0L21seDU6IEludHJvZHVjZSBUTFMgVFggb2Zm bG9hZCBoYXJkd2FyZSBiaXRzIGFuZCBzdHJ1Y3R1cmVzIikKU2lnbmVkLW9mZi1ieTogVGFyaXEg VG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogRXJhbiBCZW4gRWxpc2hh IDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2Fl ZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvYWNjZWwvdGxzLmggICAgICAgIHwgMiArLQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fYWNjZWwvdGxzX3J4dHguYyAgICB8IDIgKy0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mdy5jICAgICAgICAgICAgICAgfCAyICstCiBpbmNs dWRlL2xpbnV4L21seDUvbWx4NV9pZmMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg NyArKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv YWNjZWwvdGxzLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvYWNj ZWwvdGxzLmgKaW5kZXggZDc4N2JjMGE0MTU1Li5lMDliYzM4NThkNTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9hY2NlbC90bHMuaAorKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvYWNjZWwvdGxzLmgKQEAgLTQ1 LDcgKzQ1LDcgQEAgdm9pZCBtbHg1X2t0bHNfZGVzdHJveV9rZXkoc3RydWN0IG1seDVfY29yZV9k ZXYgKm1kZXYsIHUzMiBrZXlfaWQpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgbWx4NV9hY2NlbF9p c19rdGxzX2RldmljZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldikKIHsKLQlpZiAoIU1MWDVf Q0FQX0dFTihtZGV2LCB0bHMpKQorCWlmICghTUxYNV9DQVBfR0VOKG1kZXYsIHRsc190eCkpCiAJ CXJldHVybiBmYWxzZTsKIAogCWlmICghTUxYNV9DQVBfR0VOKG1kZXYsIGxvZ19tYXhfZGVrKSkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9h Y2NlbC90bHNfcnh0eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2VuX2FjY2VsL3Rsc19yeHR4LmMKaW5kZXggNzEzODRhZDFhNDQzLi5lZjFlZDE1YTUzYjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9hY2Nl bC90bHNfcnh0eC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lbl9hY2NlbC90bHNfcnh0eC5jCkBAIC0yNjksNyArMjY5LDcgQEAgc3RydWN0IHNrX2J1ZmYg Km1seDVlX3Rsc19oYW5kbGVfdHhfc2tiKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJaW50 IGRhdGFsZW47CiAJdTMyIHNrYl9zZXE7CiAKLQlpZiAoTUxYNV9DQVBfR0VOKHNxLT5jaGFubmVs LT5tZGV2LCB0bHMpKSB7CisJaWYgKE1MWDVfQ0FQX0dFTihzcS0+Y2hhbm5lbC0+bWRldiwgdGxz X3R4KSkgewogCQlza2IgPSBtbHg1ZV9rdGxzX2hhbmRsZV90eF9za2IobmV0ZGV2LCBzcSwgc2ti LCB3cWUsIHBpKTsKIAkJZ290byBvdXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Z3LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZncuYwppbmRleCBhMTk3OTBkZWU3YjIuLjEzZTg2ZjBiNDJmNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Z3LmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Z3LmMKQEAgLTIzOSw3 ICsyMzksNyBAQCBpbnQgbWx4NV9xdWVyeV9oY2FfY2FwcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAq ZGV2KQogCQkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAoTUxYNV9DQVBfR0VOKGRldiwgdGxzKSkg eworCWlmIChNTFg1X0NBUF9HRU4oZGV2LCB0bHNfdHgpKSB7CiAJCWVyciA9IG1seDVfY29yZV9n ZXRfY2FwcyhkZXYsIE1MWDVfQ0FQX1RMUyk7CiAJCWlmIChlcnIpCiAJCQlyZXR1cm4gZXJyOwpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjLmggYi9pbmNsdWRlL2xpbnV4 L21seDUvbWx4NV9pZmMuaAppbmRleCAwODM2ZmUyMzJmOTcuLjBjZGM4ZDEyNzg1YSAxMDA2NDQK LS0tIGEvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjLmgKKysrIGIvaW5jbHVkZS9saW51eC9t bHg1L21seDVfaWZjLmgKQEAgLTE0MTcsMTQgKzE0MTcsMTUgQEAgc3RydWN0IG1seDVfaWZjX2Nt ZF9oY2FfY2FwX2JpdHMgewogCiAJdTggICAgICAgICByZXNlcnZlZF9hdF80NDBbMHgyMF07CiAK LQl1OCAgICAgICAgIHRsc1sweDFdOwotCXU4ICAgICAgICAgcmVzZXJ2ZWRfYXRfNDYxWzB4Ml07 CisJdTggICAgICAgICByZXNlcnZlZF9hdF80NjBbMHgzXTsKIAl1OCAgICAgICAgIGxvZ19tYXhf dWN0eFsweDVdOwogCXU4ICAgICAgICAgcmVzZXJ2ZWRfYXRfNDY4WzB4M107CiAJdTggICAgICAg ICBsb2dfbWF4X3VtZW1bMHg1XTsKIAl1OCAgICAgICAgIG1heF9udW1fZXFzWzB4MTBdOwogCi0J dTggICAgICAgICByZXNlcnZlZF9hdF80ODBbMHgzXTsKKwl1OCAgICAgICAgIHJlc2VydmVkX2F0 XzQ4MFsweDFdOworCXU4ICAgICAgICAgdGxzX3R4WzB4MV07CisJdTggICAgICAgICByZXNlcnZl ZF9hdF80ODJbMHgxXTsKIAl1OCAgICAgICAgIGxvZ19tYXhfbDJfdGFibGVbMHg1XTsKIAl1OCAg ICAgICAgIHJlc2VydmVkX2F0XzQ4OFsweDhdOwogCXU4ICAgICAgICAgbG9nX3Vhcl9wYWdlX3N6 WzB4MTBdOwotLSAKMi4yMS4xCgo= ----Next_Part(Sun_Feb__9_22_21_28_2020_495)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_55.mbox" RnJvbSA1OTY4NjMzMDMyZmE1NjAxNTY0N2FjNDUwNzYzNzE3YjFmYzYzNzMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFR1ZSwgNCBGZWIgMjAyMCAxOToyNjowNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMzFd IGJvbmRpbmcvYWxiOiBwcm9wZXJseSBhY2Nlc3MgaGVhZGVycyBpbiBib25kX2FsYl94bWl0KCkK ClsgVXBzdHJlYW0gY29tbWl0IDM4Zjg4YzQ1NDA0MjkzYmJjMDI3Yjk1NmRlZjZjMTBjYmQ0NWM2 MTYgXQoKc3l6Ym90IG1hbmFnZWQgdG8gc2VuZCBhbiBJUFggcGFja2V0IHRocm91Z2ggYm9uZF9h bGJfeG1pdCgpCmFuZCBhZl9wYWNrZXQgYW5kIHRyaWdnZXJlZCBhIHVzZS1hZnRlci1mcmVlLgoK Rmlyc3QsIGJvbmRfYWxiX3htaXQoKSB3YXMgdXNpbmcgaXB4X2hkcigpIGhlbHBlciB0byByZWFj aAp0aGUgSVBYIGhlYWRlciwgYnV0IGlweF9oZHIoKSB3YXMgdXNpbmcgdGhlIHRyYW5zcG9ydCBv ZmZzZXQKaW5zdGVhZCBvZiB0aGUgbmV0d29yayBvZmZzZXQuIEluIHRoZSBwYXJ0aWN1bGFyIHN5 emJvdApyZXBvcnQgdHJhbnNwb3J0IG9mZnNldCB3YXMgMHhGRkZGCgpUaGlzIHBhdGNoIHJlbW92 ZXMgaXB4X2hkcigpIHNpbmNlIGl0IHdhcyBvbmx5IChtaXMpdXNlZCBmcm9tIGJvbmRpbmcuCgpU aGVuIHdlIG5lZWQgdG8gbWFrZSBzdXJlIElQdjQvSVB2Ni9JUFggaGVhZGVycyBhcmUgcHVsbGVk CmluIHNrYi0+aGVhZCBiZWZvcmUgZGVyZWZlcmVuY2luZyBhbnl0aGluZy4KCkJVRzogS0FTQU46 IHVzZS1hZnRlci1mcmVlIGluIGJvbmRfYWxiX3htaXQrMHgxNTNhLzB4MTU5MCBkcml2ZXJzL25l dC9ib25kaW5nL2JvbmRfYWxiLmM6MTQ1MgpSZWFkIG9mIHNpemUgMiBhdCBhZGRyIGZmZmY4ODAx Y2U1NmRmZmYgYnkgdGFzayBzeXotZXhlY3V0b3IuMi8xODEwOAogKGlmIChpcHhfaGRyKHNrYikt PmlweF9jaGVja3N1bSAhPSBJUFhfTk9fQ0hFQ0tTVU0pIC4uLikKCkhhcmR3YXJlIG5hbWU6IEdv b2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdv b2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODQ0MWZjNDI+XSBfX2R1bXBf c3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5saW5lXQogWzxmZmZmZmZmZjg0NDFmYzQyPl0g ZHVtcF9zdGFjaysweDE0ZC8weDIwYiBsaWIvZHVtcF9zdGFjay5jOjUzCiBbPGZmZmZmZmZmODFh N2RlYzQ+XSBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NmYvMHgyMGIgbW0va2FzYW4vcmVw b3J0LmM6MjgyCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBrYXNhbl9yZXBvcnRfZXJyb3IgbW0va2Fz YW4vcmVwb3J0LmM6MzgwIFtpbmxpbmVdCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBrYXNhbl9yZXBv cnQgbW0va2FzYW4vcmVwb3J0LmM6NDM4IFtpbmxpbmVdCiBbPGZmZmZmZmZmODFhN2UwZWM+XSBr YXNhbl9yZXBvcnQuY29sZCsweDhjLzB4MmEwIG1tL2thc2FuL3JlcG9ydC5jOjQyMgogWzxmZmZm ZmZmZjgxYTdkYzRmPl0gX19hc2FuX3JlcG9ydF9sb2FkX25fbm9hYm9ydCsweGYvMHgyMCBtbS9r YXNhbi9yZXBvcnQuYzo0NjkKIFs8ZmZmZmZmZmY4MmM4YzAwYT5dIGJvbmRfYWxiX3htaXQrMHgx NTNhLzB4MTU5MCBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfYWxiLmM6MTQ1MgogWzxmZmZmZmZm ZjgyYzYwYzc0Pl0gX19ib25kX3N0YXJ0X3htaXQgZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX21h aW4uYzo0MTk5IFtpbmxpbmVdCiBbPGZmZmZmZmZmODJjNjBjNzQ+XSBib25kX3N0YXJ0X3htaXQr MHg0ZjQvMHgxNTcwIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmM6NDIyNAogWzxmZmZm ZmZmZjgzYmFhNTU4Pl0gX19uZXRkZXZfc3RhcnRfeG1pdCBpbmNsdWRlL2xpbnV4L25ldGRldmlj ZS5oOjQ1MjUgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2JhYTU1OD5dIG5ldGRldl9zdGFydF94bWl0 IGluY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NDUzOSBbaW5saW5lXQogWzxmZmZmZmZmZjgzYmFh NTU4Pl0geG1pdF9vbmUgbmV0L2NvcmUvZGV2LmM6MzYxMSBbaW5saW5lXQogWzxmZmZmZmZmZjgz YmFhNTU4Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDE2OC8weDkxMCBuZXQvY29yZS9kZXYuYzoz NjI3CiBbPGZmZmZmZmZmODNiYWNmMzU+XSBfX2Rldl9xdWV1ZV94bWl0KzB4MWY1NS8weDMzYjAg bmV0L2NvcmUvZGV2LmM6NDIzOAogWzxmZmZmZmZmZjgzYmFlM2E4Pl0gZGV2X3F1ZXVlX3htaXQr MHgxOC8weDIwIG5ldC9jb3JlL2Rldi5jOjQyNzgKIFs8ZmZmZmZmZmY4NDMzOTE4OT5dIHBhY2tl dF9zbmQgbmV0L3BhY2tldC9hZl9wYWNrZXQuYzozMjI2IFtpbmxpbmVdCiBbPGZmZmZmZmZmODQz MzkxODk+XSBwYWNrZXRfc2VuZG1zZysweDQ5MTkvMHg3MGIwIG5ldC9wYWNrZXQvYWZfcGFja2V0 LmM6MzI1MgogWzxmZmZmZmZmZjgzYjFhYzBjPl0gc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2Nr ZXQuYzo2NzMgW2lubGluZV0KIFs8ZmZmZmZmZmY4M2IxYWMwYz5dIHNvY2tfc2VuZG1zZysweDEy Yy8weDE2MCBuZXQvc29ja2V0LmM6Njg0CiBbPGZmZmZmZmZmODNiMWY1YTI+XSBfX3N5c19zZW5k dG8rMHgyNjIvMHgzODAgbmV0L3NvY2tldC5jOjE5OTYKIFs8ZmZmZmZmZmY4M2IxZjcwMD5dIFNZ U0Nfc2VuZHRvIG5ldC9zb2NrZXQuYzoyMDA4IFtpbmxpbmVdCiBbPGZmZmZmZmZmODNiMWY3MDA+ XSBTeVNfc2VuZHRvKzB4NDAvMHg2MCBuZXQvc29ja2V0LmM6MjAwNAoKRml4ZXM6IDFkYTE3N2U0 YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVn cm91cHMuY29tPgpDYzogSmF5IFZvc2J1cmdoIDxqLnZvc2J1cmdoQGdtYWlsLmNvbT4KQ2M6IFZl YWNlc2xhdiBGYWxpY28gPHZmYWxpY29AZ21haWwuY29tPgpDYzogQW5keSBHb3Nwb2RhcmVrIDxh bmR5QGdyZXlob3VzZS5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfYWxiLmMgfCA0NCAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBpbmNsdWRlL25ldC9pcHguaCAgICAg ICAgICAgICAgfCAgNSAtLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDE3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIu YyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIuYwppbmRleCA0ZjJlNjkxMGM2MjMuLjFj YzJjZDg5NGY4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX2FsYi5jCisr KyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9hbGIuYwpAQCAtMTM4MywyNiArMTM4MywzMSBA QCBuZXRkZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBu ZXRfZGV2aWNlICpib25kX2RldikKIAlib29sIGRvX3R4X2JhbGFuY2UgPSB0cnVlOwogCXUzMiBo YXNoX2luZGV4ID0gMDsKIAljb25zdCB1OCAqaGFzaF9zdGFydCA9IE5VTEw7Ci0Jc3RydWN0IGlw djZoZHIgKmlwNmhkcjsKIAogCXNrYl9yZXNldF9tYWNfaGVhZGVyKHNrYik7CiAJZXRoX2RhdGEg PSBldGhfaGRyKHNrYik7CiAKIAlzd2l0Y2ggKG50b2hzKHNrYi0+cHJvdG9jb2wpKSB7CiAJY2Fz ZSBFVEhfUF9JUDogewotCQljb25zdCBzdHJ1Y3QgaXBoZHIgKmlwaCA9IGlwX2hkcihza2IpOwor CQljb25zdCBzdHJ1Y3QgaXBoZHIgKmlwaDsKIAogCQlpZiAoaXNfYnJvYWRjYXN0X2V0aGVyX2Fk ZHIoZXRoX2RhdGEtPmhfZGVzdCkgfHwKLQkJICAgIGlwaC0+ZGFkZHIgPT0gaXBfYmNhc3QgfHwK LQkJICAgIGlwaC0+cHJvdG9jb2wgPT0gSVBQUk9UT19JR01QKSB7CisJCSAgICAhcHNrYl9uZXR3 b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKCppcGgpKSkgeworCQkJZG9fdHhfYmFsYW5jZSA9IGZh bHNlOworCQkJYnJlYWs7CisJCX0KKwkJaXBoID0gaXBfaGRyKHNrYik7CisJCWlmIChpcGgtPmRh ZGRyID09IGlwX2JjYXN0IHx8IGlwaC0+cHJvdG9jb2wgPT0gSVBQUk9UT19JR01QKSB7CiAJCQlk b190eF9iYWxhbmNlID0gZmFsc2U7CiAJCQlicmVhazsKIAkJfQogCQloYXNoX3N0YXJ0ID0gKGNo YXIgKikmKGlwaC0+ZGFkZHIpOwogCQloYXNoX3NpemUgPSBzaXplb2YoaXBoLT5kYWRkcik7Ci0J fQogCQlicmVhazsKLQljYXNlIEVUSF9QX0lQVjY6CisJfQorCWNhc2UgRVRIX1BfSVBWNjogewor CQljb25zdCBzdHJ1Y3QgaXB2NmhkciAqaXA2aGRyOworCiAJCS8qIElQdjYgZG9lc24ndCByZWFs bHkgdXNlIGJyb2FkY2FzdCBtYWMgYWRkcmVzcywgYnV0IGxlYXZlCiAJCSAqIHRoYXQgaGVyZSBq dXN0IGluIGNhc2UuCiAJCSAqLwpAQCAtMTQxOSw3ICsxNDI0LDExIEBAIG5ldGRldl90eF90IGJv bmRfYWxiX3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmJvbmRf ZGV2KQogCQkJYnJlYWs7CiAJCX0KIAotCQkvKiBBZGRpdGlhbmFsbHksIERBRCBwcm9iZXMgc2hv dWxkIG5vdCBiZSB0eC1iYWxhbmNlZCBhcyB0aGF0CisJCWlmICghcHNrYl9uZXR3b3JrX21heV9w dWxsKHNrYiwgc2l6ZW9mKCppcDZoZHIpKSkgeworCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOwor CQkJYnJlYWs7CisJCX0KKwkJLyogQWRkaXRpb25hbGx5LCBEQUQgcHJvYmVzIHNob3VsZCBub3Qg YmUgdHgtYmFsYW5jZWQgYXMgdGhhdAogCQkgKiB3aWxsIGxlYWQgdG8gZmFsc2UgcG9zaXRpdmVz IGZvciBkdXBsaWNhdGUgYWRkcmVzc2VzIGFuZAogCQkgKiBwcmV2ZW50IGFkZHJlc3MgY29uZmln dXJhdGlvbiBmcm9tIHdvcmtpbmcuCiAJCSAqLwpAQCAtMTQyOSwxNyArMTQzOCwyNiBAQCBuZXRk ZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2 aWNlICpib25kX2RldikKIAkJCWJyZWFrOwogCQl9CiAKLQkJaGFzaF9zdGFydCA9IChjaGFyICop JihpcHY2X2hkcihza2IpLT5kYWRkcik7Ci0JCWhhc2hfc2l6ZSA9IHNpemVvZihpcHY2X2hkcihz a2IpLT5kYWRkcik7CisJCWhhc2hfc3RhcnQgPSAoY2hhciAqKSZpcDZoZHItPmRhZGRyOworCQlo YXNoX3NpemUgPSBzaXplb2YoaXA2aGRyLT5kYWRkcik7CiAJCWJyZWFrOwotCWNhc2UgRVRIX1Bf SVBYOgotCQlpZiAoaXB4X2hkcihza2IpLT5pcHhfY2hlY2tzdW0gIT0gSVBYX05PX0NIRUNLU1VN KSB7CisJfQorCWNhc2UgRVRIX1BfSVBYOiB7CisJCWNvbnN0IHN0cnVjdCBpcHhoZHIgKmlweGhk cjsKKworCQlpZiAocHNrYl9uZXR3b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKCppcHhoZHIpKSkg eworCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOworCQkJYnJlYWs7CisJCX0KKwkJaXB4aGRyID0g KHN0cnVjdCBpcHhoZHIgKilza2JfbmV0d29ya19oZWFkZXIoc2tiKTsKKworCQlpZiAoaXB4aGRy LT5pcHhfY2hlY2tzdW0gIT0gSVBYX05PX0NIRUNLU1VNKSB7CiAJCQkvKiBzb21ldGhpbmcgaXMg d3Jvbmcgd2l0aCB0aGlzIHBhY2tldCAqLwogCQkJZG9fdHhfYmFsYW5jZSA9IGZhbHNlOwogCQkJ YnJlYWs7CiAJCX0KIAotCQlpZiAoaXB4X2hkcihza2IpLT5pcHhfdHlwZSAhPSBJUFhfVFlQRV9O Q1ApIHsKKwkJaWYgKGlweGhkci0+aXB4X3R5cGUgIT0gSVBYX1RZUEVfTkNQKSB7CiAJCQkvKiBU aGUgb25seSBwcm90b2NvbCB3b3J0aCBiYWxhbmNpbmcgaW4KIAkJCSAqIHRoaXMgZmFtaWx5IHNp bmNlIGl0IGhhcyBhbiAiQVJQIiBsaWtlCiAJCQkgKiBtZWNoYW5pc20KQEAgLTE0NDgsOSArMTQ2 NiwxMSBAQCBuZXRkZXZfdHhfdCBib25kX2FsYl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0 cnVjdCBuZXRfZGV2aWNlICpib25kX2RldikKIAkJCWJyZWFrOwogCQl9CiAKKwkJZXRoX2RhdGEg PSBldGhfaGRyKHNrYik7CiAJCWhhc2hfc3RhcnQgPSAoY2hhciAqKWV0aF9kYXRhLT5oX2Rlc3Q7 CiAJCWhhc2hfc2l6ZSA9IEVUSF9BTEVOOwogCQlicmVhazsKKwl9CiAJY2FzZSBFVEhfUF9BUlA6 CiAJCWRvX3R4X2JhbGFuY2UgPSBmYWxzZTsKIAkJaWYgKGJvbmRfaW5mby0+cmxiX2VuYWJsZWQp CmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pcHguaCBiL2luY2x1ZGUvbmV0L2lweC5oCmluZGV4 IGJhZjA5MDM5MDk5OC4uOWQxMzQyODA3YjU5IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9pcHgu aAorKysgYi9pbmNsdWRlL25ldC9pcHguaApAQCAtNDcsMTEgKzQ3LDYgQEAgc3RydWN0IGlweGhk ciB7CiAvKiBGcm9tIGFmX2lweC5jICovCiBleHRlcm4gaW50IHN5c2N0bF9pcHhfcHByb3BfYnJv YWRjYXN0aW5nOwogCi1zdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgaXB4aGRyICppcHhfaGRyKHN0 cnVjdCBza19idWZmICpza2IpCi17Ci0JcmV0dXJuIChzdHJ1Y3QgaXB4aGRyICopc2tiX3RyYW5z cG9ydF9oZWFkZXIoc2tiKTsKLX0KLQogc3RydWN0IGlweF9pbnRlcmZhY2UgewogCS8qIElQWCBh ZGRyZXNzICovCiAJX19iZTMyCQkJaWZfbmV0bnVtOwotLSAKMi4yMS4xCgoKRnJvbSBhYzJiNGM3 Y2E1MzM0MzI2ZDBmNjljOWZjYjEzZDFmOTE1NDBkYmZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKYWNvYiBLZWxsZXIgPGphY29iLmUua2VsbGVyQGludGVsLmNvbT4KRGF0ZTogVHVl LCA0IEZlYiAyMDIwIDE1OjU5OjUwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMi8zMV0gZGV2bGlu azogcmVwb3J0IDAgYWZ0ZXIgaGl0dGluZyBlbmQgaW4gcmVnaW9uIHJlYWQKClsgVXBzdHJlYW0g Y29tbWl0IGQ1YjkwZTk5ZTFkNTFiN2I1ZDJiNzRmYmM0YzJkYjIzNmE1MTA5MTMgXQoKY29tbWl0 IGZkZDQxZWMyMWUxNSAoImRldmxpbms6IFJldHVybiByaWdodCBlcnJvciBjb2RlIGluIGNhc2Ug b2YgZXJyb3JzCmZvciByZWdpb24gcmVhZCIpIG1vZGlmaWVkIHRoZSByZWdpb24gcmVhZCBjb2Rl IHRvIHJlcG9ydCBlcnJvcnMKcHJvcGVybHkgaW4gdW5leHBlY3RlZCBjYXNlcy4KCkluIHRoZSBj YXNlIHdoZXJlIHRoZSBzdGFydF9vZmZzZXQgYW5kIHJldF9vZmZzZXQgbWF0Y2gsIGl0IHVuaWxh dGVyYWxseQpjb252ZXJ0ZWQgdGhpcyBpbnRvIGFuIGVycm9yLiBUaGlzIGNhdXNlcyBhbiBpc3N1 ZSBmb3IgdGhlICJkdW1wIgp2ZXJzaW9uIG9mIHRoZSBjb21tYW5kLiBJbiB0aGlzIGNhc2UsIHRo ZSBkZXZsaW5rIHJlZ2lvbiBkdW1wIHdpbGwKYWx3YXlzIHJlcG9ydCBhbiBpbnZhbGlkIGFyZ3Vt ZW50OgoKMDAwMDAwMDAwMDAwZmZkMCBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm ZiBmZiBmZiBmZiBmZgowMDAwMDAwMDAwMDBmZmUwIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmCmRldmxpbmsgYW5zd2VyczogSW52YWxpZCBhcmd1bWVudAow MDAwMDAwMDAwMDBmZmYwIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmCgpUaGlzIG9jY3VycyBiZWNhdXNlIHRoZSBleHBlY3RlZCBmbG93IGZvciB0aGUgZHVt cCBpcyB0byByZXR1cm4gMCBhZnRlcgp0aGVyZSBpcyBubyBmdXJ0aGVyIGRhdGEuCgpUaGUgc2lt cGxlc3QgZml4IHdvdWxkIGJlIHRvIHN0b3AgY29udmVydGluZyB0aGUgZXJyb3IgY29kZSB0byAt RUlOVkFMCmlmIHN0YXJ0X29mZnNldCA9PSByZXRfb2Zmc2V0LiBIb3dldmVyLCBhdm9pZCB1bm5l Y2Vzc2FyeSB3b3JrIGJ5CmNoZWNraW5nIGZvciB3aGVuIHN0YXJ0X29mZnNldCBpcyBsYXJnZXIg dGhhbiB0aGUgcmVnaW9uIHNpemUgYW5kCnJldHVybmluZyAwIHVwZnJvbnQuCgpGaXhlczogZmRk NDFlYzIxZTE1ICgiZGV2bGluazogUmV0dXJuIHJpZ2h0IGVycm9yIGNvZGUgaW4gY2FzZSBvZiBl cnJvcnMgZm9yIHJlZ2lvbiByZWFkIikKU2lnbmVkLW9mZi1ieTogSmFjb2IgS2VsbGVyIDxqYWNv Yi5lLmtlbGxlckBpbnRlbC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9jb3JlL2RldmxpbmsuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2bGluay5jIGIvbmV0L2NvcmUv ZGV2bGluay5jCmluZGV4IGY3NjIxOWJmMGMyMS4uNDIzNzA3MDJkMGUwIDEwMDY0NAotLS0gYS9u ZXQvY29yZS9kZXZsaW5rLmMKKysrIGIvbmV0L2NvcmUvZGV2bGluay5jCkBAIC0zOTg2LDYgKzM5 ODYsMTIgQEAgc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9yZWdpb25fcmVhZF9kdW1waXQoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KIAorCS8qIHJldHVybiAw IGlmIHRoZXJlIGlzIG5vIGZ1cnRoZXIgZGF0YSB0byByZWFkICovCisJaWYgKHN0YXJ0X29mZnNl dCA+PSByZWdpb24tPnNpemUpIHsKKwkJZXJyID0gMDsKKwkJZ290byBvdXRfdW5sb2NrOworCX0K KwogCWhkciA9IGdlbmxtc2dfcHV0KHNrYiwgTkVUTElOS19DQihjYi0+c2tiKS5wb3J0aWQsIGNi LT5ubGgtPm5sbXNnX3NlcSwKIAkJCSAgJmRldmxpbmtfbmxfZmFtaWx5LCBOTE1fRl9BQ0sgfCBO TE1fRl9NVUxUSSwKIAkJCSAgREVWTElOS19DTURfUkVHSU9OX1JFQUQpOwotLSAKMi4yMS4xCgoK RnJvbSAzMTIxYjUwZDBlYTAyYTEyZWQ5YjAxYzk1NzgxZmVkMGRjMDNmYTUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYWRhbGluIEJ1Y3VyIDxtYWRhbGluLmJ1Y3VyQG9zcy5ueHAu Y29tPgpEYXRlOiBUdWUsIDQgRmViIDIwMjAgMTI6MDg6NTggKzAyMDAKU3ViamVjdDogW1BBVENI IDAzLzMxXSBkcGFhX2V0aDogc3VwcG9ydCBhbGwgbW9kZXMgd2l0aCByYXRlIGFkYXB0aW5nIFBI WXMKClsgVXBzdHJlYW0gY29tbWl0IDczYTIxZmE4MTdmMGNjODAyMmRjNjIyNjI1MGE4NmJjYTcy N2E1NmQgXQoKU3RvcCByZW1vdmluZyBtb2RlcyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRo ZSBzeXN0ZW0gaW50ZXJmYWNlCndoZW4gdGhlIGNvbm5lY3RlZCBQSFkgaXMgY2FwYWJsZSBvZiBy YXRlIGFkYXB0YXRpb24uIFRoaXMgYWRkcmVzc2VzCmFuIGlzc3VlIHdpdGggdGhlIExTMTA0NkFS REIgYm9hcmQgMTBHIGludGVyZmFjZSBubyBsb25nZXIgd29ya2luZwp3aXRoIGFuIDFHIGxpbmsg cGFydG5lciBhZnRlciBhdXRvbmVnb3RpYXRpb24gc3VwcG9ydCB3YXMgYWRkZWQKZm9yIHRoZSBB cXVhbnRpYSBQSFkgb24gYm9hcmQgaW4KCmNvbW1pdCAwOWM0YzU3ZjdiYzQgKCJuZXQ6IHBoeTog YXF1YW50aWE6IGFkZCBzdXBwb3J0IGZvciBhdXRvLW5lZ290aWF0aW9uIGNvbmZpZ3VyYXRpb24i KQoKQmVmb3JlIHRoaXMgY29tbWl0IHRoZSB2YWx1ZXMgYWR2ZXJ0aXNlZCBieSB0aGUgUEhZIHdl cmUgbm90CmluZmx1ZW5jZWQgYnkgdGhlIGRwYWFfZXRoIGRyaXZlciByZW1vdmFsIG9mIHN5c3Rl bS1zaWRlIHVuc3VwcG9ydGVkCm1vZGVzIGFzIHRoZSBhcXJfY29uZmlnX2FuZWcoKSB3YXMgYmFz aWNhbGx5IGEgbm8tb3AuIEFmdGVyIHRoaXMKY29tbWl0LCB0aGUgbW9kZXMgcmVtb3ZlZCBieSB0 aGUgZHBhYV9ldGggZHJpdmVyIHdlcmUgbm8gbG9uZ2VyCmFkdmVydGlzZWQgdGh1cyBhdXRvbmVn b3RpYXRpb24gd2l0aCAxRyBsaW5rIHBhcnRuZXJzIGZhaWxlZC4KClJlcG9ydGVkLWJ5OiBNaWFu IFlvdXNhZiBLYXVrYWIgPHlrYXVrYWJAc3VzZS5kZT4KU2lnbmVkLW9mZi1ieTogTWFkYWxpbiBC dWN1ciA8bWFkYWxpbi5idWN1ckBvc3MubnhwLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5u IDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2Rw YWFfZXRoLmMgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2Fs ZS9kcGFhL2RwYWFfZXRoLmMKaW5kZXggYTMwMWYwMDk1MjIzLi5mODI3ZGFmMDliNzIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2RwYWFfZXRoLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYwpAQCAtMjQ1 Myw2ICsyNDUzLDkgQEAgc3RhdGljIHZvaWQgZHBhYV9hZGp1c3RfbGluayhzdHJ1Y3QgbmV0X2Rl dmljZSAqbmV0X2RldikKIAltYWNfZGV2LT5hZGp1c3RfbGluayhtYWNfZGV2KTsKIH0KIAorLyog VGhlIEFxdWFudGlhIFBIWXMgYXJlIGNhcGFibGUgb2YgcGVyZm9ybWluZyByYXRlIGFkYXB0YXRp b24gKi8KKyNkZWZpbmUgUEhZX1ZFTkRfQVFVQU5USUEJMHgwM2ExYjQwMAorCiBzdGF0aWMgaW50 IGRwYWFfcGh5X2luaXQoc3RydWN0IG5ldF9kZXZpY2UgKm5ldF9kZXYpCiB7CiAJX19FVEhUT09M X0RFQ0xBUkVfTElOS19NT0RFX01BU0sobWFzaykgPSB7IDAsIH07CkBAIC0yNDcxLDkgKzI0NzQs MTQgQEAgc3RhdGljIGludCBkcGFhX3BoeV9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRfZGV2 KQogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQkvKiBSZW1vdmUgYW55IGZlYXR1cmVzIG5vdCBz dXBwb3J0ZWQgYnkgdGhlIGNvbnRyb2xsZXIgKi8KLQlldGh0b29sX2NvbnZlcnRfbGVnYWN5X3Uz Ml90b19saW5rX21vZGUobWFzaywgbWFjX2Rldi0+aWZfc3VwcG9ydCk7Ci0JbGlua21vZGVfYW5k KHBoeV9kZXYtPnN1cHBvcnRlZCwgcGh5X2Rldi0+c3VwcG9ydGVkLCBtYXNrKTsKKwkvKiBVbmxl c3MgdGhlIFBIWSBpcyBjYXBhYmxlIG9mIHJhdGUgYWRhcHRhdGlvbiAqLworCWlmIChtYWNfZGV2 LT5waHlfaWYgIT0gUEhZX0lOVEVSRkFDRV9NT0RFX1hHTUlJIHx8CisJICAgICgocGh5X2Rldi0+ ZHJ2LT5waHlfaWQgJiBHRU5NQVNLKDMxLCAxMCkpICE9IFBIWV9WRU5EX0FRVUFOVElBKSkgewor CQkvKiByZW1vdmUgYW55IGZlYXR1cmVzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGNvbnRyb2xsZXIg Ki8KKwkJZXRodG9vbF9jb252ZXJ0X2xlZ2FjeV91MzJfdG9fbGlua19tb2RlKG1hc2ssCisJCQkJ CQkJbWFjX2Rldi0+aWZfc3VwcG9ydCk7CisJCWxpbmttb2RlX2FuZChwaHlfZGV2LT5zdXBwb3J0 ZWQsIHBoeV9kZXYtPnN1cHBvcnRlZCwgbWFzayk7CisJfQogCiAJcGh5X3N1cHBvcnRfYXN5bV9w YXVzZShwaHlfZGV2KTsKIAotLSAKMi4yMS4xCgoKRnJvbSA3ODAzMzIyYjljMTc3YTllNDAwNDVh Nzg1Y2RhNmZkOWM1Y2U1NDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFu IEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA2IEZlYiAyMDIwIDEx OjA3OjQ1IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNC8zMV0gbmV0OiBkc2E6IGI1MzogQWx3YXlz IHVzZSBkZXYtPnZsYW5fZW5hYmxlZCBpbgogYjUzX2NvbmZpZ3VyZV92bGFuKCkKClsgVXBzdHJl YW0gY29tbWl0IGRmMzczNzAyYmMwZjhmMmQ4Mzk4MGVhNDQxZTcxNjM5ZmMxZWZjZjggXQoKYjUz X2NvbmZpZ3VyZV92bGFuKCkgaXMgY2FsbGVkIGJ5IHRoZSBiY21fc2YyIGRyaXZlciB1cG9uIHNl dHVwIGFuZAppbmRpcmVjdGx5IHRocm91Z2ggcmVzdW1lIGFzIHdlbGwuIER1cmluZyB0aGUgaW5p dGlhbCBzZXR1cCwgd2UgYXJlCmd1YXJhbnRlZWQgdGhhdCBkZXYtPnZsYW5fZW5hYmxlZCBpcyBm YWxzZSwgc28gdGhlcmUgaXMgbm8gY2hhbmdlIGluCmJlaGF2aW9yLCBob3dldmVyIGR1cmluZyBz dXNwZW5kLCB3ZSBtYXkgaGF2ZSBlbmFibGVkIFZMQU5zIGJlZm9yZSwgc28gd2UKZG8gd2FudCB0 byByZXN0b3JlIHRoYXQgc2V0dGluZy4KCkZpeGVzOiBkYWQ4ZDdjNjQ1MmIgKCJuZXQ6IGRzYTog YjUzOiBQcm9wZXJseSBhY2NvdW50IGZvciBWTEFOIGZpbHRlcmluZyIpCkZpeGVzOiA5NjdkZDgy ZmZjNTIgKCJuZXQ6IGRzYTogYjUzOiBBZGQgc3VwcG9ydCBmb3IgQnJvYWRjb20gUm9ib1N3aXRj aCIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZHNhL2I1My9iNTNfY29tbW9uLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2NvbW1vbi5j CmluZGV4IGVkYWNhY2ZjOTM2NS4uNmExZmY0ZDQzZTNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYworKysgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21t b24uYwpAQCAtNjgwLDcgKzY4MCw3IEBAIGludCBiNTNfY29uZmlndXJlX3ZsYW4oc3RydWN0IGRz YV9zd2l0Y2ggKmRzKQogCQliNTNfZG9fdmxhbl9vcChkZXYsIFZUQV9DTURfQ0xFQVIpOwogCX0K IAotCWI1M19lbmFibGVfdmxhbihkZXYsIGZhbHNlLCBkcy0+dmxhbl9maWx0ZXJpbmcpOworCWI1 M19lbmFibGVfdmxhbihkZXYsIGRldi0+dmxhbl9lbmFibGVkLCBkcy0+dmxhbl9maWx0ZXJpbmcp OwogCiAJYjUzX2Zvcl9lYWNoX3BvcnQoZGV2LCBpKQogCQliNTNfd3JpdGUxNihkZXYsIEI1M19W TEFOX1BBR0UsCi0tIAoyLjIxLjEKCgpGcm9tIDBlODE4YWM1MWE5ZWU3ODUwNDZmMGM2NTM4YmVh OWFhODIwNmJlOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVs bGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpEYXRlOiBUaHUsIDYgRmViIDIwMjAgMTE6MjM6NTIg LTA4MDAKU3ViamVjdDogW1BBVENIIDA1LzMxXSBuZXQ6IGRzYTogYmNtX3NmMjogT25seSA3Mjc4 IHN1cHBvcnRzIDJHYi9zZWMgSU1QIHBvcnQKClsgVXBzdHJlYW0gY29tbWl0IGRlMzRkNzA4NGVk ZDA2OWRhYzVhYTAxMGNmZTMyYmQ4YzQ2MTlmYTYgXQoKVGhlIDc0NDUgc3dpdGNoIGNsb2NraW5n IHByb2ZpbGVzIGRvIG5vdCBhbGxvdyB1cyB0byBydW4gdGhlIElNUCBwb3J0IGF0CjJHYi9zZWMg aW4gYSB3YXkgdGhhdCBpdCBpcyByZWxpYWJsZSBhbmQgY29uc2lzdGVudC4gTWFrZSBzdXJlIHRo YXQgdGhlCnNldHRpbmcgaXMgb25seSBhcHBsaWVkIHRvIHRoZSA3Mjc4IGZhbWlseS4KCkZpeGVz OiA4ZjE4ODBjYmU4ZDAgKCJuZXQ6IGRzYTogYmNtX3NmMjogQ29uZmlndXJlIElNUCBwb3J0IGZv ciAyR2Ivc2VjIikKU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvYmNtX3NmMi5jIHwgNCArKystCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL2JjbV9zZjIuYyBiL2RyaXZlcnMvbmV0L2RzYS9iY21fc2YyLmMKaW5kZXggM2U4 NjM1MzExZDBkLi5kMTk1NTU0M2FjZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9iY21f c2YyLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL2JjbV9zZjIuYwpAQCAtNjgsNyArNjgsOSBAQCBz dGF0aWMgdm9pZCBiY21fc2YyX2ltcF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBw b3J0KQogCiAJCS8qIEZvcmNlIGxpbmsgc3RhdHVzIGZvciBJTVAgcG9ydCAqLwogCQlyZWcgPSBj b3JlX3JlYWRsKHByaXYsIG9mZnNldCk7Ci0JCXJlZyB8PSAoTUlJX1NXX09SIHwgTElOS19TVFMg fCBHTUlJX1NQRUVEX1VQXzJHKTsKKwkJcmVnIHw9IChNSUlfU1dfT1IgfCBMSU5LX1NUUyk7CisJ CWlmIChwcml2LT50eXBlID09IEJDTTcyNzhfREVWSUNFX0lEKQorCQkJcmVnIHw9IEdNSUlfU1BF RURfVVBfMkc7CiAJCWNvcmVfd3JpdGVsKHByaXYsIHJlZywgb2Zmc2V0KTsKIAogCQkvKiBFbmFi bGUgQnJvYWRjYXN0LCBNdWx0aWNhc3QsIFVuaWNhc3QgZm9yd2FyZGluZyB0byBJTVAgcG9ydCAq LwotLSAKMi4yMS4xCgoKRnJvbSBhMmVkZDBjOWJiOTllNmM1MDgyZTAxMjdjYzUxZDcxZTNmYThj YjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSYXp2YW4gU3RlZmFuZXNjdSA8cmF6 dmFuLnN0ZWZhbmVzY3VAbWljcm9jaGlwLmNvbT4KRGF0ZTogRnJpLCA3IEZlYiAyMDIwIDE3OjQ0 OjA0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNi8zMV0gbmV0OiBkc2E6IG1pY3JvY2hpcDogZW5h YmxlIG1vZHVsZSBhdXRvcHJvYmUKClsgVXBzdHJlYW0gY29tbWl0IGY4YzJhZmE2NmQ1Mzk3YjBi OTI5M2M0MzQ3ZGFjNmRhYmIzMjc2ODUgXQoKVGhpcyBtYXRjaGVzIC9zeXMvZGV2aWNlcy8uLi4v c3BpMS4wL21vZGFsaWFzIGNvbnRlbnQuCgpGaXhlczogOWIyZDlmMDVjZGRmICgibmV0OiBkc2E6 IG1pY3JvY2hpcDogYWRkIGtzejk1NjcgdG8ga3N6OTQ3NyBkcml2ZXIiKQpGaXhlczogZDkwMzNh ZTk1Y2Y0ICgibmV0OiBkc2E6IG1pY3JvY2hpcDogYWRkIEtTWjg1NjMgY29tcGF0aWJpbGl0eSBz dHJpbmciKQpGaXhlczogOGMyOWJlYmIxZjhhICgibmV0OiBkc2E6IG1pY3JvY2hpcDogYWRkIEtT Wjk4OTMgc3dpdGNoIHN1cHBvcnQiKQpGaXhlczogNDUzMTY4MTgzNzFkICgibmV0OiBkc2E6IGFk ZCBzdXBwb3J0IGZvciBrc3o5ODk3IGV0aGVybmV0IHN3aXRjaCIpCkZpeGVzOiBiOTg3ZTk4ZTUw YWIgKCJkc2E6IGFkZCBEU0Egc3dpdGNoIGRyaXZlciBmb3IgTWljcm9jaGlwIEtTWjk0NzciKQpT aWduZWQtb2ZmLWJ5OiBSYXp2YW4gU3RlZmFuZXNjdSA8cmF6dmFuLnN0ZWZhbmVzY3VAbWljcm9j aGlwLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29kcmluIENpdWJvdGFyaXUgPGNvZHJpbi5jaXVib3Rh cml1QG1pY3JvY2hpcC5jb20+ClJldmlld2VkLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4u Y2g+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9kc2EvbWljcm9jaGlwL2tzejk0Nzdfc3BpLmMgfCA2ICsrKysrKwog MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2RzYS9taWNyb2NoaXAva3N6OTQ3N19zcGkuYyBiL2RyaXZlcnMvbmV0L2RzYS9taWNyb2NoaXAv a3N6OTQ3N19zcGkuYwppbmRleCBjNWY2NDk1OWExODQuLjExNDI3Njg5NjljMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hpcC9rc3o5NDc3X3NwaS5jCisrKyBiL2RyaXZlcnMv bmV0L2RzYS9taWNyb2NoaXAva3N6OTQ3N19zcGkuYwpAQCAtMTAxLDYgKzEwMSwxMiBAQCBzdGF0 aWMgc3RydWN0IHNwaV9kcml2ZXIga3N6OTQ3N19zcGlfZHJpdmVyID0gewogCiBtb2R1bGVfc3Bp X2RyaXZlcihrc3o5NDc3X3NwaV9kcml2ZXIpOwogCitNT0RVTEVfQUxJQVMoInNwaTprc3o5NDc3 Iik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5ODk3Iik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5 ODkzIik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5NTYzIik7CitNT0RVTEVfQUxJQVMoInNwaTpr c3o4NTYzIik7CitNT0RVTEVfQUxJQVMoInNwaTprc3o5NTY3Iik7CiBNT0RVTEVfQVVUSE9SKCJX b29qdW5nIEh1aCA8V29vanVuZy5IdWhAbWljcm9jaGlwLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQ VElPTigiTWljcm9jaGlwIEtTWjk0NzcgU2VyaWVzIFN3aXRjaCBTUEkgYWNjZXNzIERyaXZlciIp OwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotLSAKMi4yMS4xCgoKRnJvbSAxY2EyZTk5ZDljN2Nj ODA5NDIwZjlmNGJkYjc4ZTJjN2NhOTU0NDg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBMb3JlbnpvIEJpYW5jb25pIDxsb3JlbnpvQGtlcm5lbC5vcmc+CkRhdGU6IFRodSwgNiBGZWIg MjAyMCAxMDoxNDozOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMzFdIG5ldDogbXZuZXRhOiBt b3ZlIHJ4X2Ryb3BwZWQgYW5kIHJ4X2Vycm9ycyBpbiBwZXItY3B1CiBzdGF0cwoKWyBVcHN0cmVh bSBjb21taXQgYzM1OTQ3YjhmZjhhY2NhMzMxMzRlZTM5YzMxNzA4MjMzNzY1YzMxYSBdCgpNb3Zl IHJ4X2Ryb3BwZWQgYW5kIHJ4X2Vycm9ycyBjb3VudGVycyBpbiBtdm5ldGFfcGNwdV9zdGF0cyBp biBvcmRlciB0bwphdm9pZCBwb3NzaWJsZSByYWNlcyB1cGRhdGluZyBzdGF0aXN0aWNzCgpGaXhl czogNTYyZTJmNDY3ZTcxICgibmV0OiBtdm5ldGE6IEltcHJvdmUgdGhlIGJ1ZmZlciBhbGxvY2F0 aW9uIG1ldGhvZCBmb3IgU1dCTSIpCkZpeGVzOiBkYzM1YTEwZjY4ZDMgKCJuZXQ6IG12bmV0YTog Ym06IGFkZCBzdXBwb3J0IGZvciBoYXJkd2FyZSBidWZmZXIgbWFuYWdlbWVudCIpCkZpeGVzOiBj NWFmZjE4MjA0ZGEgKCJuZXQ6IG12bmV0YTogZHJpdmVyIGZvciBNYXJ2ZWxsIEFybWFkYSAzNzAv WFAgbmV0d29yayB1bml0IikKU2lnbmVkLW9mZi1ieTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56 b0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdm5ldGEuYyB8IDMx ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlv bnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWFydmVsbC9tdm5ldGEuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMK aW5kZXggOGJhZDViODY0NjgyLi5kMDMxZjgwMGJiYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21hcnZlbGwvbXZuZXRhLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFy dmVsbC9tdm5ldGEuYwpAQCAtNDAyLDYgKzQwMiw4IEBAIHN0cnVjdCBtdm5ldGFfcGNwdV9zdGF0 cyB7CiAJc3RydWN0CXU2NF9zdGF0c19zeW5jIHN5bmNwOwogCXU2NAlyeF9wYWNrZXRzOwogCXU2 NAlyeF9ieXRlczsKKwl1NjQJcnhfZHJvcHBlZDsKKwl1NjQJcnhfZXJyb3JzOwogCXU2NAl0eF9w YWNrZXRzOwogCXU2NAl0eF9ieXRlczsKIH07CkBAIC03MzksNiArNzQxLDggQEAgbXZuZXRhX2dl dF9zdGF0czY0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBtdm5ldGFfcGNwdV9z dGF0cyAqY3B1X3N0YXRzOwogCQl1NjQgcnhfcGFja2V0czsKIAkJdTY0IHJ4X2J5dGVzOworCQl1 NjQgcnhfZHJvcHBlZDsKKwkJdTY0IHJ4X2Vycm9yczsKIAkJdTY0IHR4X3BhY2tldHM7CiAJCXU2 NCB0eF9ieXRlczsKIApAQCAtNzQ3LDE5ICs3NTEsMjAgQEAgbXZuZXRhX2dldF9zdGF0czY0KHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQlzdGFydCA9IHU2NF9zdGF0c19mZXRjaF9iZWdpbl9p cnEoJmNwdV9zdGF0cy0+c3luY3ApOwogCQkJcnhfcGFja2V0cyA9IGNwdV9zdGF0cy0+cnhfcGFj a2V0czsKIAkJCXJ4X2J5dGVzICAgPSBjcHVfc3RhdHMtPnJ4X2J5dGVzOworCQkJcnhfZHJvcHBl ZCA9IGNwdV9zdGF0cy0+cnhfZHJvcHBlZDsKKwkJCXJ4X2Vycm9ycyAgPSBjcHVfc3RhdHMtPnJ4 X2Vycm9yczsKIAkJCXR4X3BhY2tldHMgPSBjcHVfc3RhdHMtPnR4X3BhY2tldHM7CiAJCQl0eF9i eXRlcyAgID0gY3B1X3N0YXRzLT50eF9ieXRlczsKIAkJfSB3aGlsZSAodTY0X3N0YXRzX2ZldGNo X3JldHJ5X2lycSgmY3B1X3N0YXRzLT5zeW5jcCwgc3RhcnQpKTsKIAogCQlzdGF0cy0+cnhfcGFj a2V0cyArPSByeF9wYWNrZXRzOwogCQlzdGF0cy0+cnhfYnl0ZXMgICArPSByeF9ieXRlczsKKwkJ c3RhdHMtPnJ4X2Ryb3BwZWQgKz0gcnhfZHJvcHBlZDsKKwkJc3RhdHMtPnJ4X2Vycm9ycyAgKz0g cnhfZXJyb3JzOwogCQlzdGF0cy0+dHhfcGFja2V0cyArPSB0eF9wYWNrZXRzOwogCQlzdGF0cy0+ dHhfYnl0ZXMgICArPSB0eF9ieXRlczsKIAl9CiAKLQlzdGF0cy0+cnhfZXJyb3JzCT0gZGV2LT5z dGF0cy5yeF9lcnJvcnM7Ci0Jc3RhdHMtPnJ4X2Ryb3BwZWQJPSBkZXYtPnN0YXRzLnJ4X2Ryb3Bw ZWQ7Ci0KIAlzdGF0cy0+dHhfZHJvcHBlZAk9IGRldi0+c3RhdHMudHhfZHJvcHBlZDsKIH0KIApA QCAtMTczNiw4ICsxNzQxLDE0IEBAIHN0YXRpYyB1MzIgbXZuZXRhX3R4cV9kZXNjX2NzdW0oaW50 IGwzX29mZnMsIGludCBsM19wcm90bywKIHN0YXRpYyB2b2lkIG12bmV0YV9yeF9lcnJvcihzdHJ1 Y3QgbXZuZXRhX3BvcnQgKnBwLAogCQkJICAgIHN0cnVjdCBtdm5ldGFfcnhfZGVzYyAqcnhfZGVz YykKIHsKKwlzdHJ1Y3QgbXZuZXRhX3BjcHVfc3RhdHMgKnN0YXRzID0gdGhpc19jcHVfcHRyKHBw LT5zdGF0cyk7CiAJdTMyIHN0YXR1cyA9IHJ4X2Rlc2MtPnN0YXR1czsKIAorCS8qIHVwZGF0ZSBw ZXItY3B1IGNvdW50ZXIgKi8KKwl1NjRfc3RhdHNfdXBkYXRlX2JlZ2luKCZzdGF0cy0+c3luY3Ap OworCXN0YXRzLT5yeF9lcnJvcnMrKzsKKwl1NjRfc3RhdHNfdXBkYXRlX2VuZCgmc3RhdHMtPnN5 bmNwKTsKKwogCXN3aXRjaCAoc3RhdHVzICYgTVZORVRBX1JYRF9FUlJfQ09ERV9NQVNLKSB7CiAJ Y2FzZSBNVk5FVEFfUlhEX0VSUl9DUkM6CiAJCW5ldGRldl9lcnIocHAtPmRldiwgImJhZCByeCBz dGF0dXMgJTA4eCAoY3JjIGVycm9yKSwgc2l6ZT0lZFxuIiwKQEAgLTIxNzksMTEgKzIxOTAsMTUg QEAgbXZuZXRhX3N3Ym1fcnhfZnJhbWUoc3RydWN0IG12bmV0YV9wb3J0ICpwcCwKIAogCXJ4cS0+ c2tiID0gYnVpbGRfc2tiKHhkcC0+ZGF0YV9oYXJkX3N0YXJ0LCBQQUdFX1NJWkUpOwogCWlmICh1 bmxpa2VseSghcnhxLT5za2IpKSB7Ci0JCW5ldGRldl9lcnIoZGV2LAotCQkJICAgIkNhbid0IGFs bG9jYXRlIHNrYiBvbiBxdWV1ZSAlZFxuIiwKLQkJCSAgIHJ4cS0+aWQpOwotCQlkZXYtPnN0YXRz LnJ4X2Ryb3BwZWQrKzsKKwkJc3RydWN0IG12bmV0YV9wY3B1X3N0YXRzICpzdGF0cyA9IHRoaXNf Y3B1X3B0cihwcC0+c3RhdHMpOworCisJCW5ldGRldl9lcnIoZGV2LCAiQ2FuJ3QgYWxsb2NhdGUg c2tiIG9uIHF1ZXVlICVkXG4iLCByeHEtPmlkKTsKIAkJcnhxLT5za2JfYWxsb2NfZXJyKys7CisK KwkJdTY0X3N0YXRzX3VwZGF0ZV9iZWdpbigmc3RhdHMtPnN5bmNwKTsKKwkJc3RhdHMtPnJ4X2Ry b3BwZWQrKzsKKwkJdTY0X3N0YXRzX3VwZGF0ZV9lbmQoJnN0YXRzLT5zeW5jcCk7CisKIAkJcmV0 dXJuIC1FTk9NRU07CiAJfQogCXBhZ2VfcG9vbF9yZWxlYXNlX3BhZ2UocnhxLT5wYWdlX3Bvb2ws IHBhZ2UpOwpAQCAtMjI3MCw3ICsyMjg1LDYgQEAgc3RhdGljIGludCBtdm5ldGFfcnhfc3dibShz dHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksCiAJCQkvKiBDaGVjayBlcnJvcnMgb25seSBmb3IgRklS U1QgZGVzY3JpcHRvciAqLwogCQkJaWYgKHJ4X3N0YXR1cyAmIE1WTkVUQV9SWERfRVJSX1NVTU1B UlkpIHsKIAkJCQltdm5ldGFfcnhfZXJyb3IocHAsIHJ4X2Rlc2MpOwotCQkJCWRldi0+c3RhdHMu cnhfZXJyb3JzKys7CiAJCQkJLyogbGVhdmUgdGhlIGRlc2NyaXB0b3IgdW50b3VjaGVkICovCiAJ CQkJY29udGludWU7CiAJCQl9CkBAIC0yMzcyLDcgKzIzODYsNiBAQCBzdGF0aWMgaW50IG12bmV0 YV9yeF9od2JtKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwKIAkJCW12bmV0YV9ibV9wb29sX3B1 dF9icChwcC0+Ym1fcHJpdiwgYm1fcG9vbCwKIAkJCQkJICAgICAgcnhfZGVzYy0+YnVmX3BoeXNf YWRkcik7CiBlcnJfZHJvcF9mcmFtZToKLQkJCWRldi0+c3RhdHMucnhfZXJyb3JzKys7CiAJCQlt dm5ldGFfcnhfZXJyb3IocHAsIHJ4X2Rlc2MpOwogCQkJLyogbGVhdmUgdGhlIGRlc2NyaXB0b3Ig dW50b3VjaGVkICovCiAJCQljb250aW51ZTsKLS0gCjIuMjEuMQoKCkZyb20gN2VmZjc5Njk4MDVj YWQzYWE2MmJjYTU1ZDk3NWU2NmY2ZWY1ZTNlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgNCBGZWIg MjAyMCAxMToxMDoxMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMzFdIG5ldF9zY2hlZDogZml4 IGEgcmVzb3VyY2UgbGVhayBpbiB0Y2luZGV4X3NldF9wYXJtcygpCgpbIFVwc3RyZWFtIGNvbW1p dCA1MmI1YWU1MDFjMDQ1MDEwYWVlYjFkNWFjMDM3M2ZmMTYxYTg4MjkxIF0KCkpha3ViIG5vdGlj ZWQgdGhlcmUgaXMgYSBwb3RlbnRpYWwgcmVzb3VyY2UgbGVhayBpbgp0Y2luZGV4X3NldF9wYXJt cygpOiB3aGVuIHRjaW5kZXhfZmlsdGVyX3Jlc3VsdF9pbml0KCkgZmFpbHMKYW5kIGl0IGp1bXBz IHRvICdlcnJvdXQxJyB3aGljaCBkb2Vzbid0IHJlbGVhc2UgdGhlIG1lbW9yeQphbmQgcmVzb3Vy Y2VzIGFsbG9jYXRlZCBieSB0Y2luZGV4X2FsbG9jX3BlcmZlY3RfaGFzaCgpLgoKV2Ugc2hvdWxk IGp1c3QganVtcCB0byAnZXJyb3V0X2FsbG9jJyB3aGljaCBjYWxscwp0Y2luZGV4X2ZyZWVfcGVy ZmVjdF9oYXNoKCkuCgpGaXhlczogYjlhMjRiYjc2YmY2ICgibmV0X3NjaGVkOiBwcm9wZXJseSBo YW5kbGUgZmFpbHVyZSBjYXNlIG9mIHRjZl9leHRzX2luaXQoKSIpClJlcG9ydGVkLWJ5OiBKYWt1 YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgpDYzogSmFtYWwgSGFkaSBTYWxpbSA8amhzQG1v amF0YXR1LmNvbT4KQ2M6IEppcmkgUGlya28gPGppcmlAcmVzbnVsbGkudXM+ClNpZ25lZC1vZmYt Ynk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL2Nsc190 Y2luZGV4LmMgfCAzICstLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9jbHNfdGNpbmRleC5jIGIvbmV0L3NjaGVk L2Nsc190Y2luZGV4LmMKaW5kZXggM2Q0YTEyODAzNTJmLi5lNTM4MzRjMzU0NDcgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9jbHNfdGNpbmRleC5jCisrKyBiL25ldC9zY2hlZC9jbHNfdGNpbmRleC5j CkBAIC0zNDYsNyArMzQ2LDcgQEAgdGNpbmRleF9zZXRfcGFybXMoc3RydWN0IG5ldCAqbmV0LCBz dHJ1Y3QgdGNmX3Byb3RvICp0cCwgdW5zaWduZWQgbG9uZyBiYXNlLAogCiAJZXJyID0gdGNpbmRl eF9maWx0ZXJfcmVzdWx0X2luaXQoJm5ld19maWx0ZXJfcmVzdWx0LCBuZXQpOwogCWlmIChlcnIg PCAwKQotCQlnb3RvIGVycm91dDE7CisJCWdvdG8gZXJyb3V0X2FsbG9jOwogCWlmIChvbGRfcikK IAkJY3IgPSByLT5yZXM7CiAKQEAgLTQ4NCw3ICs0ODQsNiBAQCB0Y2luZGV4X3NldF9wYXJtcyhz dHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLCB1bnNpZ25lZCBsb25nIGJhc2Us CiAJCXRjaW5kZXhfZnJlZV9wZXJmZWN0X2hhc2goY3ApOwogCWVsc2UgaWYgKGJhbGxvYyA9PSAy KQogCQlrZnJlZShjcC0+aCk7Ci1lcnJvdXQxOgogCXRjZl9leHRzX2Rlc3Ryb3koJm5ld19maWx0 ZXJfcmVzdWx0LmV4dHMpOwogZXJyb3V0OgogCWtmcmVlKGNwKTsKLS0gCjIuMjEuMQoKCkZyb20g NmVmYWNkYmE5MTAyN2IzOGYyOGU5ZTA4MWMzMjQzYjU5ZTBlZGVlZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRGVqaW4gWmhlbmcgPHpoZW5nZGVqaW41QGdtYWlsLmNvbT4KRGF0ZTog VGh1LCA2IEZlYiAyMDIwIDIzOjI5OjE3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwOS8zMV0gbmV0 OiBzdG1tYWM6IGZpeCBhIHBvc3NpYmxlIGVuZGxlc3MgbG9vcAoKWyBVcHN0cmVhbSBjb21taXQg N2QxMGYwNzc0ZjllMzJhYTJmMmUwMTJmN2ZjYjMxMmEyY2U0MjJiOSBdCgpJdCBmb3Jnb3QgdG8g cmVkdWNlIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgcmV0cnkgaW4gYSB3aGlsZSBsb29wCmlu IHRoZSBldGhxb3NfY29uZmlndXJlKCkgZnVuY3Rpb24uIEl0IG1heSBjYXVzZSBhbiBlbmRsZXNz IGxvb3AgYW5kCndpdGhvdXQgdGltZW91dC4KCkZpeGVzOiBhN2MzMGU2MmQ0YjggKCJuZXQ6IHN0 bW1hYzogQWRkIGRyaXZlciBmb3IgUXVhbGNvbW0gZXRocW9zIikKU2lnbmVkLW9mZi1ieTogRGVq aW4gWmhlbmcgPHpoZW5nZGVqaW41QGdtYWlsLmNvbT4KQWNrZWQtYnk6IFZpbm9kIEtvdWwgPHZr b3VsQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21h Yy1xY29tLWV0aHFvcy5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29t LWV0aHFvcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNv bS1ldGhxb3MuYwppbmRleCA3ZWM4OTU0MDdkMjMuLmUwYTVmZTgzZDhlMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFv cy5jCkBAIC00MTMsNiArNDEzLDcgQEAgc3RhdGljIGludCBldGhxb3NfY29uZmlndXJlKHN0cnVj dCBxY29tX2V0aHFvcyAqZXRocW9zKQogCQkJZGxsX2xvY2sgPSByZ21paV9yZWFkbChldGhxb3Ms IFNEQzRfU1RBVFVTKTsKIAkJCWlmIChkbGxfbG9jayAmIFNEQzRfU1RBVFVTX0RMTF9MT0NLKQog CQkJCWJyZWFrOworCQkJcmV0cnktLTsKIAkJfSB3aGlsZSAocmV0cnkgPiAwKTsKIAkJaWYgKCFy ZXRyeSkKIAkJCWRldl9lcnIoJmV0aHFvcy0+cGRldi0+ZGV2LAotLSAKMi4yMS4xCgoKRnJvbSBk YjY1NWIyODg4ZGQxZmZhMmI4ZmVkNzYxNDA2OGM0NTdiNmYxYTk4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCA1IEZlYiAyMDIwIDEyOjMyOjA0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMC8zMV0g bmV0OiBzeXN0ZW1wb3J0OiBBdm9pZCBSQlVGIHN0dWNrIGluIFdha2Utb24tTEFOIG1vZGUKClsg VXBzdHJlYW0gY29tbWl0IDI2M2E0MjVhNDgyZmM0OTVkNmQzZjlhMjliOTEwM2E2NjRjMzhiNjkg XQoKQWZ0ZXIgYSBudW1iZXIgb2Ygc3VzcGVuZCBhbmQgcmVzdW1lIGN5Y2xlcywgaXQgaXMgcG9z c2libGUgZm9yIHRoZSBSQlVGCnRvIGJlIHN0dWNrIGluIFdha2Utb24tTEFOIG1vZGUsIGRlc3Bp dGUgdGhlIE1QRCBlbmFibGUgYml0IGJlaW5nCmNsZWFyZWQgd2hpY2ggaW5zdHJ1Y3RlZCB0aGUg UkJVRiB0byBleGl0IHRoYXQgbW9kZS4KCkF2b2lkIGNyZWF0aW5nIHRoYXQgcHJvYmxlbWF0aWMg Y29uZGl0aW9uIGJ5IGNsZWFyaW5nIHRoZSBSWF9FTiBhbmQKVFhfRU4gYml0cyBpbiB0aGUgVW5p TUFDIHByaW9yIHRvIGRpc2FibGUgdGhlIE1hZ2ljIFBhY2tldCBEZXRlY3Rvcgpsb2dpYyB3aGlj aCBpcyBndWFyYW50ZWVkIHRvIG1ha2UgdGhlIFJCVUYgZXhpdCBXYWtlLW9uLUxBTiBtb2RlLgoK Rml4ZXM6IDgzZTgyZjRjNzA2YiAoIm5ldDogc3lzdGVtcG9ydDogYWRkIFdha2Utb24tTEFOIHN1 cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYyB8IDMgKysr CiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv YnJvYWRjb20vYmNtc3lzcG9ydC5jCmluZGV4IGQ2YjFhMTUzZjlkZi4uYzFhZTQyMjQ0ZjAyIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCkBAIC0yNzI4LDYg KzI3MjgsOSBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGJjbV9zeXNwb3J0X3Jlc3VtZShz dHJ1Y3QgZGV2aWNlICpkKQogCiAJdW1hY19yZXNldChwcml2KTsKIAorCS8qIERpc2FibGUgdGhl IFVuaU1BQyBSWC9UWCAqLworCXVtYWNfZW5hYmxlX3NldChwcml2LCBDTURfUlhfRU4gfCBDTURf VFhfRU4sIDApOworCiAJLyogV2UgbWF5IGhhdmUgYmVlbiBzdXNwZW5kZWQgYW5kIG5ldmVyIHJl Y2VpdmVkIGEgV09MIGV2ZW50IHRoYXQKIAkgKiB3b3VsZCB0dXJuIG9mZiBNUEQgZGV0ZWN0aW9u LCB0YWtlIGNhcmUgb2YgdGhhdCBub3cKIAkgKi8KLS0gCjIuMjEuMQoKCkZyb20gOTQ4NWVmODRh OTBlMTY4Y2E2ZjMyYThmNjc2YTYyMzA1MzcwODAyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogUmFlZCBTYWxlbSA8cmFlZHNAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDI0IERlYyAy MDE5IDA5OjU0OjQ1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8zMV0gbmV0L21seDU6IElQc2Vj LCBGaXggZXNwIG1vZGlmeSBmdW5jdGlvbiBhdHRyaWJ1dGUKClsgVXBzdHJlYW0gY29tbWl0IDBk YzJjNTM0ZjE3YzA1YmVkMDYyMmIzN2E3NDRiYzM4YjQ4Y2E4OGEgXQoKVGhlIGZ1bmN0aW9uIG1s eDVfZnBnYV9lc3BfdmFsaWRhdGVfeGZybV9hdHRycyBpcyB3cm9uZ2x5IHVzZWQKd2l0aCBuZWdh dGl2ZSBuZWdhdGlvbiBhcyB6ZXJvIHZhbHVlIGluZGljYXRlcyBzdWNjZXNzIGJ1dCBpdAp1c2Vk IGFzIGZhaWx1cmUgcmV0dXJuIHZhbHVlIGluc3RlYWQuCgpGaXggYnkgcmVtb3ZlIHRoZSB1bmFy eSBub3QgbmVnYXRpb24gb3BlcmF0b3IuCgpGaXhlczogMDU1NjRkMGFlMDc1ICgibmV0L21seDU6 IEFkZCBmbG93LXN0ZWVyaW5nIGNvbW1hbmRzIGZvciBGUEdBIElQU2VjIGltcGxlbWVudGF0aW9u IikKU2lnbmVkLW9mZi1ieTogUmFlZCBTYWxlbSA8cmFlZHNAbWVsbGFub3guY29tPgpSZXZpZXdl ZC1ieTogQm9yaXMgUGlzbWVubnkgPGJvcmlzcEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6 IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mcGdhL2lwc2VjLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYwppbmRleCBlNGVjMGUw M2MyODkuLjRlZDRkNGQ4ZTA3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jCkBAIC0xNDc4LDcgKzE0NzgsNyBAQCBpbnQg bWx4NV9mcGdhX2VzcF9tb2RpZnlfeGZybShzdHJ1Y3QgbWx4NV9hY2NlbF9lc3BfeGZybSAqeGZy bSwKIAlpZiAoIW1lbWNtcCgmeGZybS0+YXR0cnMsIGF0dHJzLCBzaXplb2YoeGZybS0+YXR0cnMp KSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoIW1seDVfZnBnYV9lc3BfdmFsaWRhdGVfeGZybV9hdHRy cyhtZGV2LCBhdHRycykpIHsKKwlpZiAobWx4NV9mcGdhX2VzcF92YWxpZGF0ZV94ZnJtX2F0dHJz KG1kZXYsIGF0dHJzKSkgewogCQltbHg1X2NvcmVfd2FybihtZGV2LCAiVHJpZWQgdG8gY3JlYXRl IGFuIGVzcCB3aXRoIHVuc3VwcG9ydGVkIGF0dHJzXG4iKTsKIAkJcmV0dXJuIC1FT1BOT1RTVVBQ OwogCX0KLS0gCjIuMjEuMQoKCkZyb20gMTllMDQ4MzY0NTI5YjU0MjhkMDQ0MmUzZTVjODU4MGVh ZWQ3ZTdjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUmFlZCBTYWxlbSA8cmFlZHNA bWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDIzIE9jdCAyMDE5IDE2OjQxOjIxICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxMi8zMV0gbmV0L21seDU6IElQc2VjLCBmaXggbWVtb3J5IGxlYWsgYXQKIG1s eDVfZnBnYV9pcHNlY19kZWxldGVfc2FfY3R4CgpbIFVwc3RyZWFtIGNvbW1pdCAwOGRiMmNmNTc3 NDg3ZjUxMjNhZWJjYzJmOTEzZTBiOGEyYzE0YjQzIF0KClNBIGNvbnRleHQgaXMgYWxsb2NhdGVk IGF0IG1seDVfZnBnYV9pcHNlY19jcmVhdGVfc2FfY3R4LApob3dldmVyIHRoZSBjb3VudGVycGFy dCBtbHg1X2ZwZ2FfaXBzZWNfZGVsZXRlX3NhX2N0eCBmdW5jdGlvbgpudWxsaWZpZXMgc2FfY3R4 IHBvaW50ZXIgd2l0aG91dCBmcmVlaW5nIHRoZSBtZW1vcnkgYWxsb2NhdGVkLApoZW5jZSB0aGUg bWVtb3J5IGxlYWsuCgpGaXggYnkgZnJlZSBTQSBjb250ZXh0IHdoZW4gdGhlIFNBIGlzIHJlbGVh c2VkLgoKRml4ZXM6IGQ2YzRmMDI5OGNlYyAoIm5ldC9tbHg1OiBSZWZhY3RvciBhY2NlbCBJUFNl YyBjb2RlIikKU2lnbmVkLW9mZi1ieTogUmFlZCBTYWxlbSA8cmFlZHNAbWVsbGFub3guY29tPgpS ZXZpZXdlZC1ieTogQm9yaXMgUGlzbWVubnkgPGJvcmlzcEBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mcGdhL2lwc2VjLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9mcGdhL2lwc2VjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jCmluZGV4IDRlZDRkNGQ4ZTA3My4uNGM2 MWQyNWQyZTg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZnBnYS9pcHNlYy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9mcGdhL2lwc2VjLmMKQEAgLTg1MCw2ICs4NTAsNyBAQCB2b2lkIG1seDVfZnBnYV9p cHNlY19kZWxldGVfc2FfY3R4KHZvaWQgKmNvbnRleHQpCiAJbXV0ZXhfbG9jaygmZnBnYV94ZnJt LT5sb2NrKTsKIAlpZiAoIS0tZnBnYV94ZnJtLT5udW1fcnVsZXMpIHsKIAkJbWx4NV9mcGdhX2lw c2VjX3JlbGVhc2Vfc2FfY3R4KGZwZ2FfeGZybS0+c2FfY3R4KTsKKwkJa2ZyZWUoZnBnYV94ZnJt LT5zYV9jdHgpOwogCQlmcGdhX3hmcm0tPnNhX2N0eCA9IE5VTEw7CiAJfQogCW11dGV4X3VubG9j aygmZnBnYV94ZnJtLT5sb2NrKTsKLS0gCjIuMjEuMQoKCkZyb20gN2NiNmM3ZTdlN2RjMjY2MWU3 ZTQ2MjYwZDkwMzhmN2U3YjAzYmU1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFy aW5pIEthdGFrYW0gPGhhcmluaS5rYXRha2FtQHhpbGlueC5jb20+CkRhdGU6IFdlZCwgNSBGZWIg MjAyMCAxODowODoxMSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMTMvMzFdIG5ldDogbWFjYjogUmVt b3ZlIHVubmVjZXNzYXJ5IGFsaWdubWVudCBjaGVjayBmb3IgVFNPCgpbIFVwc3RyZWFtIGNvbW1p dCA0MWMxZWY5NzhjOGQwMjU5YzY2MzZlNmQyZDg1NDc3N2U5MjY1MGViIF0KClRoZSBJUCBUU08g aW1wbGVtZW50YXRpb24gZG9lcyBOT1QgcmVxdWlyZSB0aGUgbGVuZ3RoIHRvIGJlIGEKbXVsdGlw bGUgb2YgOC4gVGhhdCBpcyBvbmx5IGEgcmVxdWlyZW1lbnQgZm9yIFVGTyBhcyBwZXIgSVAKZG9j dW1lbnRhdGlvbi4gSGVuY2UsIGV4aXQgbWFjYl9mZWF0dXJlc19jaGVjayBmdW5jdGlvbiBpbiB0 aGUKYmVnaW5uaW5nIGlmIHRoZSBwcm90b2NvbCBpcyBub3QgVURQLiBPbmx5IHdoZW4gaXQgaXMg VURQLApwcm9jZWVkIGZ1cnRoZXIgdG8gdGhlIGFsaWdubWVudCBjaGVja3MuIFVwZGF0ZSBjb21t ZW50cyB0bwpyZWZsZWN0IHRoZSBzYW1lLiBBbHNvIHJlbW92ZSBkZWFkIGNvZGUgY2hlY2tpbmcg Zm9yIHByb3RvY29sClRDUCB3aGVuIGNhbGN1bGF0aW5nIGhlYWRlciBsZW5ndGguCgpGaXhlczog MTYyOWRkNGY3NjNjICgiY2FkZW5jZTogQWRkIExTTyBzdXBwb3J0LiIpClNpZ25lZC1vZmYtYnk6 IEhhcmluaSBLYXRha2FtIDxoYXJpbmkua2F0YWthbUB4aWxpbnguY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyB8IDggKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nh ZGVuY2UvbWFjYl9tYWluLmMKaW5kZXggZjdkODdjNzFhYWE5Li5mMTQxOTZjZWI4YmEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwpAQCAtMTc1MiwxNiArMTc1Miwx NCBAQCBzdGF0aWMgbmV0ZGV2X2ZlYXR1cmVzX3QgbWFjYl9mZWF0dXJlc19jaGVjayhzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogCiAJLyogVmFsaWRhdGUgTFNPIGNvbXBhdGliaWxpdHkgKi8KIAotCS8q IHRoZXJlIGlzIG9ubHkgb25lIGJ1ZmZlciAqLwotCWlmICghc2tiX2lzX25vbmxpbmVhcihza2Ip KQorCS8qIHRoZXJlIGlzIG9ubHkgb25lIGJ1ZmZlciBvciBwcm90b2NvbCBpcyBub3QgVURQICov CisJaWYgKCFza2JfaXNfbm9ubGluZWFyKHNrYikgfHwgKGlwX2hkcihza2IpLT5wcm90b2NvbCAh PSBJUFBST1RPX1VEUCkpCiAJCXJldHVybiBmZWF0dXJlczsKIAogCS8qIGxlbmd0aCBvZiBoZWFk ZXIgKi8KIAloZHJsZW4gPSBza2JfdHJhbnNwb3J0X29mZnNldChza2IpOwotCWlmIChpcF9oZHIo c2tiKS0+cHJvdG9jb2wgPT0gSVBQUk9UT19UQ1ApCi0JCWhkcmxlbiArPSB0Y3BfaGRybGVuKHNr Yik7CiAKLQkvKiBGb3IgTFNPOgorCS8qIEZvciBVRk8gb25seToKIAkgKiBXaGVuIHNvZnR3YXJl IHN1cHBsaWVzIHR3byBvciBtb3JlIHBheWxvYWQgYnVmZmVycyBhbGwgcGF5bG9hZCBidWZmZXJz CiAJICogYXBhcnQgZnJvbSB0aGUgbGFzdCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgOCBieXRlcyBp biBzaXplLgogCSAqLwotLSAKMi4yMS4xCgoKRnJvbSBiMjFmMGIwYTc2MWY1ZTg3OTMzM2M1MGRi YzdlZDlkZWE0MGE4Yjg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJpbmkgS2F0 YWthbSA8aGFyaW5pLmthdGFrYW1AeGlsaW54LmNvbT4KRGF0ZTogV2VkLCA1IEZlYiAyMDIwIDE4 OjA4OjEyICswNTMwClN1YmplY3Q6IFtQQVRDSCAxNC8zMV0gbmV0OiBtYWNiOiBMaW1pdCBtYXhp bXVtIEdFTSBUWCBsZW5ndGggaW4gVFNPCgpbIFVwc3RyZWFtIGNvbW1pdCBmODIyZTljNGZmYTUx MWE1YzY4MWNmODY2Mjg3ZDkzODNhM2I2ZjFiIF0KCkdFTV9NQVhfVFhfTEVOIGN1cnJlbnRseSBy ZXNvbHZlcyB0byAweDNGRjggZm9yIGFueSBJUCB2ZXJzaW9uIHN1cHBvcnRpbmcKVFNPIHdpdGgg ZnVsbCAxNGJpdHMgb2YgbGVuZ3RoIGZpZWxkIGluIHBheWxvYWQgZGVzY3JpcHRvci4gQnV0IGFu IElQCmVycmF0YSBjYXVzZXMgZmFsc2UgYW1iYV9lcnJvciAoYml0IDYgb2YgSVNSKSB3aGVuIGxl bmd0aCBpbiBwYXlsb2FkCmRlc2NyaXB0b3JzIGlzIHNwZWNpZmllZCBhYm92ZSAxNjM4Ny4gVGhl IGVycm9yIG9jY3VycyBiZWNhdXNlIHRoZSBETUEKZmFsc2VseSBjb25jbHVkZXMgdGhhdCB0aGVy ZSBpcyBub3QgZW5vdWdoIHNwYWNlIGluIFNSQU0gZm9yIGluY29taW5nCnBheWxvYWQuIFRoZXNl IGVycm9ycyB3ZXJlIG9ic2VydmVkIGNvbnRpbnVvdXNseSB1bmRlciBzdHJlc3Mgb2YgbGFyZ2UK cGFja2V0cyB1c2luZyBpcGVyZiBvbiBhIHZlcnNpb24gd2hlcmUgU1JBTSB3YXMgMTZLIGZvciBl YWNoIHF1ZXVlLiBUaGlzCmVycmF0YSB3aWxsIGJlIGRvY3VtZW50ZWQgc2hvcnRseSBhbmQgYWZm ZWN0cyBhbGwgdmVyc2lvbnMgc2luY2UgVFNPCmZ1bmN0aW9uYWxpdHkgd2FzIGFkZGVkLiBIZW5j ZSBsaW1pdCB0aGUgbWF4IGxlbmd0aCB0byAweDNGQzAgKHJvdW5kZWQpLgoKU2lnbmVkLW9mZi1i eTogSGFyaW5pIEthdGFrYW0gPGhhcmluaS5rYXRha2FtQHhpbGlueC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jIHwgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2Vk LCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2Fk ZW5jZS9tYWNiX21haW4uYwppbmRleCBmMTQxOTZjZWI4YmEuLjcxYmIwZDU2NTMzYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jCkBAIC03Myw3ICs3MywxMSBAQCBz dHJ1Y3Qgc2lmaXZlX2Z1NTQwX21hY2JfbWdtdCB7CiAvKiBNYXggbGVuZ3RoIG9mIHRyYW5zbWl0 IGZyYW1lIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA4IGJ5dGVzICovCiAjZGVmaW5lIE1BQ0JfVFhf TEVOX0FMSUdOCTgKICNkZWZpbmUgTUFDQl9NQVhfVFhfTEVOCQkoKHVuc2lnbmVkIGludCkoKDEg PDwgTUFDQl9UWF9GUk1MRU5fU0laRSkgLSAxKSAmIH4oKHVuc2lnbmVkIGludCkoTUFDQl9UWF9M RU5fQUxJR04gLSAxKSkpCi0jZGVmaW5lIEdFTV9NQVhfVFhfTEVOCQkoKHVuc2lnbmVkIGludCko KDEgPDwgR0VNX1RYX0ZSTUxFTl9TSVpFKSAtIDEpICYgfigodW5zaWduZWQgaW50KShNQUNCX1RY X0xFTl9BTElHTiAtIDEpKSkKKy8qIExpbWl0IG1heGltdW0gVFggbGVuZ3RoIGFzIHBlciBDYWRl bmNlIFRTTyBlcnJhdGEuIFRoaXMgaXMgdG8gYXZvaWQgYQorICogZmFsc2UgYW1iYV9lcnJvciBp biBUWCBwYXRoIGZyb20gdGhlIERNQSBhc3N1bWluZyB0aGVyZSBpcyBub3QgZW5vdWdoCisgKiBz cGFjZSBpbiB0aGUgU1JBTSAoMTZLQikgZXZlbiB3aGVuIHRoZXJlIGlzLgorICovCisjZGVmaW5l IEdFTV9NQVhfVFhfTEVOCQkodW5zaWduZWQgaW50KSgweDNGQzApCiAKICNkZWZpbmUgR0VNX01U VV9NSU5fU0laRQlFVEhfTUlOX01UVQogI2RlZmluZSBNQUNCX05FVElGX0xTTwkJTkVUSUZfRl9U U08KLS0gCjIuMjEuMQoKCkZyb20gYjg4ZWE2NDgzNzA2YzY2NGJlNDk2OTgyODJkNDU3ODM2NjRm OWZjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIlRhbiwgVGVlIE1pbiIgPHRlZS5t aW4udGFuQGludGVsLmNvbT4KRGF0ZTogRnJpLCA3IEZlYiAyMDIwIDE1OjMzOjIwICswODAwClN1 YmplY3Q6IFtQQVRDSCAxNS8zMV0gbmV0OiBzdG1tYWM6IGZpeCBpbmNvcnJlY3QgR01BQ19WTEFO X1RBRyByZWdpc3Rlcgogd3JpdHRpbmcgaW4gR01BQzQrCgpbIFVwc3RyZWFtIGNvbW1pdCA5ZWVl YjNjOWRlNGUzYWVhYTJiZWMwOTcxNjJmMDkzMDVkZDlmNGMzIF0KCkl0IHNob3VsZCBhbHdheXMg ZG8gYSByZWFkIG9mIGN1cnJlbnQgdmFsdWUgb2YgR01BQ19WTEFOX1RBRyBpbnN0ZWFkIG9mCmRp cmVjdGx5IG92ZXJ3cml0aW5nIHRoZSByZWdpc3RlciB2YWx1ZS4KCkZpeGVzOiBjMWJlMDAyMmRm MGQgKCJuZXQ6IHN0bW1hYzogQWRkIFZMQU4gSEFTSCBmaWx0ZXJpbmcgc3VwcG9ydCBpbiBHTUFD NCsiKQpTaWduZWQtb2ZmLWJ5OiBUYW4sIFRlZSBNaW4gPHRlZS5taW4udGFuQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogT25nIEJvb24gTGVvbmcgPGJvb24ubGVvbmcub25nQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9jb3JlLmMgfCA3ICsr KystLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2Nv cmUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9jb3JlLmMK aW5kZXggNDBjYTAwZTU5NmRkLi42ZTNkMGFiMGVjZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9jb3JlLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2NvcmUuYwpAQCAtNzM2LDExICs3MzYsMTQg QEAgc3RhdGljIHZvaWQgZHdtYWM0X3VwZGF0ZV92bGFuX2hhc2goc3RydWN0IG1hY19kZXZpY2Vf aW5mbyAqaHcsIHUzMiBoYXNoLAogCQkJCSAgICBfX2xlMTYgcGVyZmVjdF9tYXRjaCwgYm9vbCBp c19kb3VibGUpCiB7CiAJdm9pZCBfX2lvbWVtICppb2FkZHIgPSBody0+cGNzcjsKKwl1MzIgdmFs dWU7CiAKIAl3cml0ZWwoaGFzaCwgaW9hZGRyICsgR01BQ19WTEFOX0hBU0hfVEFCTEUpOwogCisJ dmFsdWUgPSByZWFkbChpb2FkZHIgKyBHTUFDX1ZMQU5fVEFHKTsKKwogCWlmIChoYXNoKSB7Ci0J CXUzMiB2YWx1ZSA9IEdNQUNfVkxBTl9WVEhNIHwgR01BQ19WTEFOX0VUVjsKKwkJdmFsdWUgfD0g R01BQ19WTEFOX1ZUSE0gfCBHTUFDX1ZMQU5fRVRWOwogCQlpZiAoaXNfZG91YmxlKSB7CiAJCQl2 YWx1ZSB8PSBHTUFDX1ZMQU5fRURWTFA7CiAJCQl2YWx1ZSB8PSBHTUFDX1ZMQU5fRVNWTDsKQEAg LTc1OSw4ICs3NjIsNiBAQCBzdGF0aWMgdm9pZCBkd21hYzRfdXBkYXRlX3ZsYW5faGFzaChzdHJ1 Y3QgbWFjX2RldmljZV9pbmZvICpodywgdTMyIGhhc2gsCiAKIAkJd3JpdGVsKHZhbHVlIHwgcGVy ZmVjdF9tYXRjaCwgaW9hZGRyICsgR01BQ19WTEFOX1RBRyk7CiAJfSBlbHNlIHsKLQkJdTMyIHZh bHVlID0gcmVhZGwoaW9hZGRyICsgR01BQ19WTEFOX1RBRyk7Ci0KIAkJdmFsdWUgJj0gfihHTUFD X1ZMQU5fVlRITSB8IEdNQUNfVkxBTl9FVFYpOwogCQl2YWx1ZSAmPSB+KEdNQUNfVkxBTl9FRFZM UCB8IEdNQUNfVkxBTl9FU1ZMKTsKIAkJdmFsdWUgJj0gfkdNQUNfVkxBTl9ET1ZMVEM7Ci0tIAoy LjIxLjEKCgpGcm9tIGM2MTVlZGU4NWRjYzU5NDE3NmEzNjAwOGMxMDY0MWE3Zjk5YjU4YWIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE9uZyBCb29uIExlb25nIDxib29uLmxlb25nLm9u Z0BpbnRlbC5jb20+CkRhdGU6IEZyaSwgNyBGZWIgMjAyMCAxNTozMzo0MCArMDgwMApTdWJqZWN0 OiBbUEFUQ0ggMTYvMzFdIG5ldDogc3RtbWFjOiB4Z21hYzogZml4IGluY29ycmVjdCBYR01BQ19W TEFOX1RBRwogcmVnaXN0ZXIgd3JpdHRpbmcKClsgVXBzdHJlYW0gY29tbWl0IDkwN2EwNzY4ODFm MTcxMjU0MjE5ZmFhZDA1ZjQ2YWM1YmFhYmVkZmIgXQoKV2Ugc2hvdWxkIGFsd2F5cyBkbyBhIHJl YWQgb2YgY3VycmVudCB2YWx1ZSBvZiBYR01BQ19WTEFOX1RBRyBpbnN0ZWFkIG9mCmRpcmVjdGx5 IG92ZXJ3cml0aW5nIHRoZSByZWdpc3RlciB2YWx1ZS4KCkZpeGVzOiAzY2QxY2ZjYmEyNmUyICgi bmV0OiBzdG1tYWM6IEltcGxlbWVudCBWTEFOIEhhc2ggRmlsdGVyaW5nIGluIFhHTUFDIikKU2ln bmVkLW9mZi1ieTogT25nIEJvb24gTGVvbmcgPGJvb24ubGVvbmcub25nQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYyB8IDggKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJf Y29yZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfY29y ZS5jCmluZGV4IDA4MmY1ZWU5ZTUyNS4uOWZiODVmYWE4ZWQyIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9jb3JlLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfY29yZS5jCkBAIC01NjksNyAr NTY5LDkgQEAgc3RhdGljIHZvaWQgZHd4Z21hYzJfdXBkYXRlX3ZsYW5faGFzaChzdHJ1Y3QgbWFj X2RldmljZV9pbmZvICpodywgdTMyIGhhc2gsCiAKIAkJd3JpdGVsKHZhbHVlLCBpb2FkZHIgKyBY R01BQ19QQUNLRVRfRklMVEVSKTsKIAotCQl2YWx1ZSA9IFhHTUFDX1ZMQU5fVlRITSB8IFhHTUFD X1ZMQU5fRVRWOworCQl2YWx1ZSA9IHJlYWRsKGlvYWRkciArIFhHTUFDX1ZMQU5fVEFHKTsKKwor CQl2YWx1ZSB8PSBYR01BQ19WTEFOX1ZUSE0gfCBYR01BQ19WTEFOX0VUVjsKIAkJaWYgKGlzX2Rv dWJsZSkgewogCQkJdmFsdWUgfD0gWEdNQUNfVkxBTl9FRFZMUDsKIAkJCXZhbHVlIHw9IFhHTUFD X1ZMQU5fRVNWTDsKQEAgLTU4NCw3ICs1ODYsOSBAQCBzdGF0aWMgdm9pZCBkd3hnbWFjMl91cGRh dGVfdmxhbl9oYXNoKHN0cnVjdCBtYWNfZGV2aWNlX2luZm8gKmh3LCB1MzIgaGFzaCwKIAogCQl3 cml0ZWwodmFsdWUsIGlvYWRkciArIFhHTUFDX1BBQ0tFVF9GSUxURVIpOwogCi0JCXZhbHVlID0g WEdNQUNfVkxBTl9FVFY7CisJCXZhbHVlID0gcmVhZGwoaW9hZGRyICsgWEdNQUNfVkxBTl9UQUcp OworCisJCXZhbHVlIHw9IFhHTUFDX1ZMQU5fRVRWOwogCQlpZiAoaXNfZG91YmxlKSB7CiAJCQl2 YWx1ZSB8PSBYR01BQ19WTEFOX0VEVkxQOwogCQkJdmFsdWUgfD0gWEdNQUNfVkxBTl9FU1ZMOwot LSAKMi4yMS4xCgoKRnJvbSAzNTA0OTJkNzRjOGU2MjhmMjY3NGE2MmRhZGZmMzRiZjA2Zjg3Yjhk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiVmVybWEsIEFhc2hpc2giIDxhYXNoaXNo eC52ZXJtYUBpbnRlbC5jb20+CkRhdGU6IEZyaSwgNyBGZWIgMjAyMCAxNTozMzo1NCArMDgwMApT dWJqZWN0OiBbUEFUQ0ggMTcvMzFdIG5ldDogc3RtbWFjOiBmaXggbWlzc2luZyBJRkZfTVVMVElD QVNUIGNoZWNrIGluCiBkd21hYzRfc2V0X2ZpbHRlcgoKWyBVcHN0cmVhbSBjb21taXQgMmJhMzFj ZDkzNzg0YjYxODEzMjI2ZDI1OWZkOTRhMjIxZWNkOWQ2MSBdCgpXaXRob3V0IGNoZWNraW5nIGZv ciBJRkZfTVVMVElDQVNUIGZsYWcsIGl0IGlzIHdyb25nIHRvIGFzc3VtZSBtdWx0aWNhc3QKZmls dGVyaW5nIGlzIGFsd2F5cyBlbmFibGVkLiBCeSBjaGVja2luZyBhZ2FpbnN0IElGRl9NVUxUSUNB U1QsIG5vdwp0aGUgZHJpdmVyIGJlaGF2ZXMgY29ycmVjdGx5IHdoZW4gdGhlIG11bHRpY2FzdCBz dXBwb3J0IGlzIHRvZ2dsZWQgYnkgYmVsb3cKY29tbWFuZDotCiAgaXAgbGluayBzZXQgPGRldm5h bWU+IG11bHRpY2FzdCBvZmZ8b24KCkZpeGVzOiA0NzcyODZiNTNmNTUgKCJzdG1tYWM6IGFkZCBH TUFDNCBjb3JlIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBWZXJtYSwgQWFzaGlzaCA8YWFzaGlz aHgudmVybWFAaW50ZWwuY29tPgpUZXN0ZWQtYnk6IFRhbiwgVGVlIE1pbiA8dGVlLm1pbi50YW5A aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBPbmcgQm9vbiBMZW9uZyA8Ym9vbi5sZW9uZy5vbmdA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2Nv cmUuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFj NF9jb3JlLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYzRfY29y ZS5jCmluZGV4IDZlM2QwYWIwZWNkNi4uNTNiZTkzNjEzN2QwIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYzRfY29yZS5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9jb3JlLmMKQEAgLTQyMCw3ICs0MjAs NyBAQCBzdGF0aWMgdm9pZCBkd21hYzRfc2V0X2ZpbHRlcihzdHJ1Y3QgbWFjX2RldmljZV9pbmZv ICpodywKIAkJdmFsdWUgfD0gR01BQ19QQUNLRVRfRklMVEVSX1BNOwogCQkvKiBTZXQgYWxsIHRo ZSBiaXRzIG9mIHRoZSBIQVNIIHRhYiAqLwogCQltZW1zZXQobWNfZmlsdGVyLCAweGZmLCBzaXpl b2YobWNfZmlsdGVyKSk7Ci0JfSBlbHNlIGlmICghbmV0ZGV2X21jX2VtcHR5KGRldikpIHsKKwl9 IGVsc2UgaWYgKCFuZXRkZXZfbWNfZW1wdHkoZGV2KSAmJiAoZGV2LT5mbGFncyAmIElGRl9NVUxU SUNBU1QpKSB7CiAJCXN0cnVjdCBuZXRkZXZfaHdfYWRkciAqaGE7CiAKIAkJLyogSGFzaCBmaWx0 ZXIgZm9yIG11bHRpY2FzdCAqLwotLSAKMi4yMS4xCgoKRnJvbSBhYzgwNTI5YTNkODZjZGVhNTQ2 MzA3ZTc4ODNjNWY3YzZjY2ViMThhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiVGFu LCBUZWUgTWluIiA8dGVlLm1pbi50YW5AaW50ZWwuY29tPgpEYXRlOiBGcmksIDcgRmViIDIwMjAg MTU6MzQ6MTUgKzA4MDAKU3ViamVjdDogW1BBVENIIDE4LzMxXSBuZXQ6IHN0bW1hYzogeGdtYWM6 IGZpeCBtaXNzaW5nIElGRl9NVUxUSUNBU1QgY2hlY2tpIGluCiBkd3hnbWFjMl9zZXRfZmlsdGVy CgpbIFVwc3RyZWFtIGNvbW1pdCAyZjYzM2Q1ODIwZTRlZDg3MGY0MDg5NTczMjJhY2I5MjYzYmNl MmY0IF0KCldpdGhvdXQgY2hlY2tpbmcgZm9yIElGRl9NVUxUSUNBU1QgZmxhZywgaXQgaXMgd3Jv bmcgdG8gYXNzdW1lIG11bHRpY2FzdApmaWx0ZXJpbmcgaXMgYWx3YXlzIGVuYWJsZWQuIEJ5IGNo ZWNraW5nIGFnYWluc3QgSUZGX01VTFRJQ0FTVCwgbm93CnRoZSBkcml2ZXIgYmVoYXZlcyBjb3Jy ZWN0bHkgd2hlbiB0aGUgbXVsdGljYXN0IHN1cHBvcnQgaXMgdG9nZ2xlZCBieSBiZWxvdwpjb21t YW5kOi0KICBpcCBsaW5rIHNldCA8ZGV2bmFtZT4gbXVsdGljYXN0IG9mZnxvbgoKRml4ZXM6IDBl ZmVkYmYxMWYwN2EgKCJuZXQ6IHN0bW1hYzogeGdtYWM6IEZpeCBYR01BQyBzZWxmdGVzdHMiKQpT aWduZWQtb2ZmLWJ5OiBUYW4sIFRlZSBNaW4gPHRlZS5taW4udGFuQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogT25nIEJvb24gTGVvbmcgPGJvb24ubGVvbmcub25nQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYyB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYwppbmRleCA5 ZmI4NWZhYThlZDIuLmU5YmY1NGE1NzlkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfY29yZS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYwpAQCAtNDU4LDcgKzQ1OCw3IEBAIHN0 YXRpYyB2b2lkIGR3eGdtYWMyX3NldF9maWx0ZXIoc3RydWN0IG1hY19kZXZpY2VfaW5mbyAqaHcs CiAKIAkJZm9yIChpID0gMDsgaSA8IFhHTUFDX01BWF9IQVNIX1RBQkxFOyBpKyspCiAJCQl3cml0 ZWwofjB4MCwgaW9hZGRyICsgWEdNQUNfSEFTSF9UQUJMRShpKSk7Ci0JfSBlbHNlIGlmICghbmV0 ZGV2X21jX2VtcHR5KGRldikpIHsKKwl9IGVsc2UgaWYgKCFuZXRkZXZfbWNfZW1wdHkoZGV2KSAm JiAoZGV2LT5mbGFncyAmIElGRl9NVUxUSUNBU1QpKSB7CiAJCXN0cnVjdCBuZXRkZXZfaHdfYWRk ciAqaGE7CiAKIAkJdmFsdWUgfD0gWEdNQUNfRklMVEVSX0hNQzsKLS0gCjIuMjEuMQoKCkZyb20g ZGYzMzQ1ZDhjZDYxNGQwM2NhNzM4NWI5MTEyMjBhZmRmYTBmOTEzMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogVm9vbiBXZWlmZW5nIDx3ZWlmZW5nLnZvb25AaW50ZWwuY29tPgpEYXRl OiBGcmksIDcgRmViIDIwMjAgMTU6MzQ6MjggKzA4MDAKU3ViamVjdDogW1BBVENIIDE5LzMxXSBu ZXQ6IHN0bW1hYzogdXBkYXRlIHBjaSBwbGF0Zm9ybSBkYXRhIHRvIHVzZQogcGh5X2ludGVyZmFj ZQoKWyBVcHN0cmVhbSBjb21taXQgOTA5YzFkZGU2N2M0MzNmMWU0MTIyZjI2MTljYmQ4YWMzNzBm Y2YwYSBdCgpUaGUgcmVjZW50IHBhdGNoIHRvIHN1cHBvcnQgcGFzc2l2ZSBtb2RlIGNvbnZlcnRl ciBkaWQgbm90IHRha2UgY2FyZSB0aGUKcGh5IGludGVyZmFjZSBjb25maWd1cmF0aW9uIGluIFBD SSBwbGF0Zm9ybSBkYXRhLiBIZW5jZSwgY29udmVydGluZyBhbGwKdGhlIFBDSSBwbGF0Zm9ybSBk YXRhIGZyb20gcGxhdC0+aW50ZXJmYWNlIHRvIHBsYXQtPnBoeV9pbnRlcmZhY2UgYXMgdGhlCmRl ZmF1bHQgbW9kZSBpcyBtZWFudCBmb3IgUEhZLgoKRml4ZXM6IDAwNjBjODc4MzMzMCAoIm5ldDog c3RtbWFjOiBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgcGFzc2l2ZSBtb2RlIGNvbnZlcnRlcnMgdmlh IGR0IikKU2lnbmVkLW9mZi1ieTogVm9vbiBXZWlmZW5nIDx3ZWlmZW5nLnZvb25AaW50ZWwuY29t PgpUZXN0ZWQtYnk6IFRhbiwgVGVlIE1pbiA8dGVlLm1pbi50YW5AaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBPbmcgQm9vbiBMZW9uZyA8Ym9vbi5sZW9uZy5vbmdAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jIHwgMTQgKysrKysrKyst LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3Bj aS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jCmlu ZGV4IDgyMzdkYmMzZTk5MS4uZDJiYzA0ZGVkZDdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jCkBAIC05Niw3ICs5Niw3IEBAIHN0YXRp YyBpbnQgc3RtbWFjX2RlZmF1bHRfZGF0YShzdHJ1Y3QgcGNpX2RldiAqcGRldiwKIAogCXBsYXQt PmJ1c19pZCA9IDE7CiAJcGxhdC0+cGh5X2FkZHIgPSAwOwotCXBsYXQtPmludGVyZmFjZSA9IFBI WV9JTlRFUkZBQ0VfTU9ERV9HTUlJOworCXBsYXQtPnBoeV9pbnRlcmZhY2UgPSBQSFlfSU5URVJG QUNFX01PREVfR01JSTsKIAogCXBsYXQtPmRtYV9jZmctPnBibCA9IDMyOwogCXBsYXQtPmRtYV9j ZmctPnBibHg4ID0gdHJ1ZTsKQEAgLTIyMCw3ICsyMjAsOCBAQCBzdGF0aWMgaW50IGVobF9zZ21p aV9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogewogCXBsYXQtPmJ1c19pZCA9IDE7CiAJcGxh dC0+cGh5X2FkZHIgPSAwOwotCXBsYXQtPmludGVyZmFjZSA9IFBIWV9JTlRFUkZBQ0VfTU9ERV9T R01JSTsKKwlwbGF0LT5waHlfaW50ZXJmYWNlID0gUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJOwor CiAJcmV0dXJuIGVobF9jb21tb25fZGF0YShwZGV2LCBwbGF0KTsKIH0KIApAQCAtMjMzLDcgKzIz NCw4IEBAIHN0YXRpYyBpbnQgZWhsX3JnbWlpX2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsCiB7 CiAJcGxhdC0+YnVzX2lkID0gMTsKIAlwbGF0LT5waHlfYWRkciA9IDA7Ci0JcGxhdC0+aW50ZXJm YWNlID0gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJOworCXBsYXQtPnBoeV9pbnRlcmZhY2UgPSBQ SFlfSU5URVJGQUNFX01PREVfUkdNSUk7CisKIAlyZXR1cm4gZWhsX2NvbW1vbl9kYXRhKHBkZXYs IHBsYXQpOwogfQogCkBAIC0yNjEsNyArMjYzLDcgQEAgc3RhdGljIGludCB0Z2xfc2dtaWlfZGF0 YShzdHJ1Y3QgcGNpX2RldiAqcGRldiwKIHsKIAlwbGF0LT5idXNfaWQgPSAxOwogCXBsYXQtPnBo eV9hZGRyID0gMDsKLQlwbGF0LT5pbnRlcmZhY2UgPSBQSFlfSU5URVJGQUNFX01PREVfU0dNSUk7 CisJcGxhdC0+cGh5X2ludGVyZmFjZSA9IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSTsKIAlyZXR1 cm4gdGdsX2NvbW1vbl9kYXRhKHBkZXYsIHBsYXQpOwogfQogCkBAIC0zNjEsNyArMzYzLDcgQEAg c3RhdGljIGludCBxdWFya19kZWZhdWx0X2RhdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAKIAlw bGF0LT5idXNfaWQgPSBwY2lfZGV2X2lkKHBkZXYpOwogCXBsYXQtPnBoeV9hZGRyID0gcmV0Owot CXBsYXQtPmludGVyZmFjZSA9IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJOworCXBsYXQtPnBoeV9p bnRlcmZhY2UgPSBQSFlfSU5URVJGQUNFX01PREVfUk1JSTsKIAogCXBsYXQtPmRtYV9jZmctPnBi bCA9IDE2OwogCXBsYXQtPmRtYV9jZmctPnBibHg4ID0gdHJ1ZTsKQEAgLTQxOCw3ICs0MjAsNyBA QCBzdGF0aWMgaW50IHNucHNfZ21hYzVfZGVmYXVsdF9kYXRhKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LAogCiAJcGxhdC0+YnVzX2lkID0gMTsKIAlwbGF0LT5waHlfYWRkciA9IC0xOwotCXBsYXQtPmlu dGVyZmFjZSA9IFBIWV9JTlRFUkZBQ0VfTU9ERV9HTUlJOworCXBsYXQtPnBoeV9pbnRlcmZhY2Ug PSBQSFlfSU5URVJGQUNFX01PREVfR01JSTsKIAogCXBsYXQtPmRtYV9jZmctPnBibCA9IDMyOwog CXBsYXQtPmRtYV9jZmctPnBibHg4ID0gdHJ1ZTsKLS0gCjIuMjEuMQoKCkZyb20gMWZjZTA0OGVi M2U3NDUzYmM3YmE1N2RlM2E5OWQ3MjkzZGEyYjI1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT4KRGF0 ZTogVGh1LCA2IEZlYiAyMDIwIDEzOjQ2OjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSCAyMC8zMV0g dGFwcmlvOiBGaXggZW5hYmxpbmcgb2ZmbG9hZCB3aXRoIHdyb25nIG51bWJlciBvZgogdHJhZmZp YyBjbGFzc2VzCgpbIFVwc3RyZWFtIGNvbW1pdCA1NjUyZTYzZGYzMzAzYzJhNzAyYmFjMjVmYmY3 MTBiOWNiNjRkZmJhIF0KCklmIHRoZSBkcml2ZXIgaW1wbGVtZW50aW5nIHRhcHJpbyBvZmZsb2Fk aW5nIGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mCnRoZSBuZXR3b3JrIGRldmljZSBudW1iZXIgb2Yg dHJhZmZpYyBjbGFzc2VzIChkZXYtPm51bV90YykgZm9yCndoYXRldmVyIHJlYXNvbiwgaXQgd2Fz IGdvaW5nIHRvIHJlY2VpdmUgdGhlIHZhbHVlIHplcm8uIFRoZSB2YWx1ZSB3YXMKb25seSBzZXQg YWZ0ZXIgdGhlIG9mZmxvYWRpbmcgZnVuY3Rpb24gaXMgY2FsbGVkLgoKU28sIG1vdmluZyBzZXR0 aW5nIHRoZSBudW1iZXIgb2YgdHJhZmZpYyBjbGFzc2VzIHRvIGJlZm9yZSB0aGUKb2ZmbG9hZGlu ZyBmdW5jdGlvbiBpcyBjYWxsZWQgZml4ZXMgdGhpcyBpc3N1ZS4gVGhpcyBpcyBzYWZlIGJlY2F1 c2UKdGhpcyBvbmx5IGhhcHBlbnMgd2hlbiB0YXByaW8gaXMgaW5zdGFudGlhdGVkICh3ZSBkb24n dCBhbGxvdyB0aGlzCmNvbmZpZ3VyYXRpb24gdG8gYmUgY2hhbmdlZCB3aXRob3V0IGZpcnN0IHJl bW92aW5nIHRhcHJpbykuCgpGaXhlczogOWM2NmQxNTY0Njc2ICgidGFwcmlvOiBBZGQgc3VwcG9y dCBmb3IgaGFyZHdhcmUgb2ZmbG9hZGluZyIpClJlcG9ydGVkLWJ5OiBQbyBMaXUgPHBvLmxpdUBu eHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29t ZXNAaW50ZWwuY29tPgpBY2tlZC1ieTogVmxhZGltaXIgT2x0ZWFuIDx2bGFkaW1pci5vbHRlYW5A bnhwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFwcmlvLmMgfCAyNiArKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMgYi9uZXQvc2NoZWQvc2NoX3Rh cHJpby5jCmluZGV4IGM2MDkzNzNjODY2MS4uYWQwZGFkY2ZjZGJhIDEwMDY0NAotLS0gYS9uZXQv c2NoZWQvc2NoX3RhcHJpby5jCisrKyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKQEAgLTE0NDQs NiArMTQ0NCwxOSBAQCBzdGF0aWMgaW50IHRhcHJpb19jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gs IHN0cnVjdCBubGF0dHIgKm9wdCwKIAogCXRhcHJpb19zZXRfcGljb3NfcGVyX2J5dGUoZGV2LCBx KTsKIAorCWlmIChtcXByaW8pIHsKKwkJbmV0ZGV2X3NldF9udW1fdGMoZGV2LCBtcXByaW8tPm51 bV90Yyk7CisJCWZvciAoaSA9IDA7IGkgPCBtcXByaW8tPm51bV90YzsgaSsrKQorCQkJbmV0ZGV2 X3NldF90Y19xdWV1ZShkZXYsIGksCisJCQkJCSAgICBtcXByaW8tPmNvdW50W2ldLAorCQkJCQkg ICAgbXFwcmlvLT5vZmZzZXRbaV0pOworCisJCS8qIEFsd2F5cyB1c2Ugc3VwcGxpZWQgcHJpb3Jp dHkgbWFwcGluZ3MgKi8KKwkJZm9yIChpID0gMDsgaSA8PSBUQ19CSVRNQVNLOyBpKyspCisJCQlu ZXRkZXZfc2V0X3ByaW9fdGNfbWFwKGRldiwgaSwKKwkJCQkJICAgICAgIG1xcHJpby0+cHJpb190 Y19tYXBbaV0pOworCX0KKwogCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRCh0YXByaW9fZmxh Z3MpKQogCQllcnIgPSB0YXByaW9fZW5hYmxlX29mZmxvYWQoZGV2LCBtcXByaW8sIHEsIG5ld19h ZG1pbiwgZXh0YWNrKTsKIAllbHNlCkBAIC0xNDcxLDE5ICsxNDg0LDYgQEAgc3RhdGljIGludCB0 YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJCXEt PmFkdmFuY2VfdGltZXIuZnVuY3Rpb24gPSBhZHZhbmNlX3NjaGVkOwogCX0KIAotCWlmIChtcXBy aW8pIHsKLQkJbmV0ZGV2X3NldF9udW1fdGMoZGV2LCBtcXByaW8tPm51bV90Yyk7Ci0JCWZvciAo aSA9IDA7IGkgPCBtcXByaW8tPm51bV90YzsgaSsrKQotCQkJbmV0ZGV2X3NldF90Y19xdWV1ZShk ZXYsIGksCi0JCQkJCSAgICBtcXByaW8tPmNvdW50W2ldLAotCQkJCQkgICAgbXFwcmlvLT5vZmZz ZXRbaV0pOwotCi0JCS8qIEFsd2F5cyB1c2Ugc3VwcGxpZWQgcHJpb3JpdHkgbWFwcGluZ3MgKi8K LQkJZm9yIChpID0gMDsgaSA8PSBUQ19CSVRNQVNLOyBpKyspCi0JCQluZXRkZXZfc2V0X3ByaW9f dGNfbWFwKGRldiwgaSwKLQkJCQkJICAgICAgIG1xcHJpby0+cHJpb190Y19tYXBbaV0pOwotCX0K LQogCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRCh0YXByaW9fZmxhZ3MpKSB7CiAJCXEtPmRl cXVldWUgPSB0YXByaW9fZGVxdWV1ZV9vZmZsb2FkOwogCQlxLT5wZWVrID0gdGFwcmlvX3BlZWtf b2ZmbG9hZDsKLS0gCjIuMjEuMQoKCkZyb20gMDc4OGJkZGQ4OTJkM2UxNTgxZTA0MTgyNDA2MGVi ODE2NjM0NzFkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmluaWNpdXMgQ29zdGEg R29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT4KRGF0ZTogVGh1LCA2IEZlYiAyMDIwIDEz OjQ2OjA3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAyMS8zMV0gdGFwcmlvOiBGaXggc3RpbGwgYWxs b3dpbmcgY2hhbmdpbmcgdGhlIGZsYWdzIGR1cmluZwogcnVudGltZQoKWyBVcHN0cmVhbSBjb21t aXQgYTlkNjIyNzQzNmYzMjE0MjIwOWY0NDI4ZjJkYzYxNjc2MTQ4NTExMiBdCgpCZWNhdXNlICdx LT5mbGFncycgc3RhcnRzIGFzIHplcm8sIGFuZCB6ZXJvIGlzIGEgdmFsaWQgdmFsdWUsIHdlCmFy ZW4ndCBhYmxlIHRvIGRldGVjdCB0aGUgdHJhbnNpdGlvbiBmcm9tIHplcm8gdG8gc29tZXRoaW5n IGVsc2UKZHVyaW5nICJydW50aW1lIi4KClRoZSBzb2x1dGlvbiBpcyB0byBpbml0aWFsaXplICdx LT5mbGFncycgd2l0aCBhbiBpbnZhbGlkIHZhbHVlLCBzbyB3ZQpjYW4gZGV0ZWN0IGlmICdxLT5m bGFncycgd2FzIHNldCBieSB0aGUgdXNlciBvciBub3QuCgpUbyBiZXR0ZXIgc29saWRpZnkgdGhl IGJlaGF2aW9yLCAnZmxhZ3MnIGhhbmRsaW5nIGlzIG1vdmVkIHRvIGEKc2VwYXJhdGUgZnVuY3Rp b24uIFRoZSBiZWhhdmlvciBpczoKIC0gJ2ZsYWdzJyBpZiB1bnNwZWNpZmllZCBieSB0aGUgdXNl ciwgaXMgYXNzdW1lZCB0byBiZSB6ZXJvOwogLSAnZmxhZ3MnIGNhbm5vdCBjaGFuZ2UgZHVyaW5n ICJydW50aW1lIiAoaS5lLiBhIGNoYW5nZSgpIHJlcXVlc3QKIGNhbm5vdCBtb2RpZnkgaXQpOwoK V2l0aCB0aGlzIG5ldyBmdW5jdGlvbiB3ZSBjYW4gcmVtb3ZlIHRhcHJpb19mbGFncywgd2hpY2gg c2hvdWxkIHJlZHVjZQp0aGUgcmlzayBvZiBmdXR1cmUgYWNjaWRlbnRzLgoKQWxsb3dpbmcgZmxh Z3MgdG8gYmUgY2hhbmdlZCB3YXMgY2F1c2luZyB0aGUgZm9sbG93aW5nIFJDVSBzdGFsbDoKClsg MTczMC41NTgyNDldIHJjdTogSU5GTzogcmN1X3ByZWVtcHQgZGV0ZWN0ZWQgc3RhbGxzIG9uIENQ VXMvdGFza3M6ClsgMTczMC41NTgyNThdIHJjdTogCSAgNi0uLi4wOiAoMTkwIHRpY2tzIHRoaXMg R1ApIGlkbGU9OTIyLzAvMHgxIHNvZnRpcnE9MjU1ODAvMjU1ODIgZnFzPTE2MjUwClsgMTczMC41 NTgyNjRdIAkJICAoZGV0ZWN0ZWQgYnkgMiwgdD02NTAwMiBqaWZmaWVzLCBnPTMzMDE3LCBxPTgx KQpbIDE3MzAuNTU4MjY5XSBTZW5kaW5nIE5NSSBmcm9tIENQVSAyIHRvIENQVXMgNjoKWyAxNzMw LjU1OTI3N10gTk1JIGJhY2t0cmFjZSBmb3IgY3B1IDYKWyAxNzMwLjU1OTI3N10gQ1BVOiA2IFBJ RDogMCBDb21tOiBzd2FwcGVyLzYgVGFpbnRlZDogRyAgICAgICAgICAgIEUgICAgIDUuNS4wLXJj NisgIzM1ClsgMTczMC41NTkyNzhdIEhhcmR3YXJlIG5hbWU6IEdpZ2FieXRlIFRlY2hub2xvZ3kg Q28uLCBMdGQuIFozOTAgQU9SVVMgVUxUUkEvWjM5MCBBT1JVUyBVTFRSQS1DRiwgQklPUyBGNyAw My8xNC8yMDE5ClsgMTczMC41NTkyNzhdIFJJUDogMDAxMDpfX2hydGltZXJfcnVuX3F1ZXVlcysw eGUyLzB4NDQwClsgMTczMC41NTkyNzhdIENvZGU6IDQ4IDhiIDQzIDI4IDRjIDg5IGZmIDQ4IDhi IDc1IGMwIDQ4IDg5IDQ1IGM4IGU4IGY0IGJiIDdjIDAwIDBmIDFmIDQ0IDAwIDAwIDY1IDhiIDA1 IDQwIDMxIGYwIDY4IDg5IGMwIDQ4IDBmIGEzIDA1IDNlIDVjIDI1IDAxIDwwZj4gODIgZmMgMDEg MDAgMDAgNDggOGIgNDUgYzggNDggODkgZGYgZmYgZDAgODkgNDUgYzggMGYgMWYgNDQgMDAKWyAx NzMwLjU1OTI3OV0gUlNQOiAwMDE4OmZmZmY5OTcwODAyZDhmMTAgRUZMQUdTOiAwMDAwMDA4Mwpb IDE3MzAuNTU5Mjc5XSBSQVg6IDAwMDAwMDAwMDAwMDAwMDYgUkJYOiBmZmZmOGIzMTY0NWJmZjM4 IFJDWDogMDAwMDAwMDAwMDAwMDAwMApbIDE3MzAuNTU5MjgwXSBSRFg6IDAwMDAwMDAwMDAwMDAw MDAgUlNJOiBmZmZmZmZmZjk3MTBmMmVjIFJESTogZmZmZmZmZmY5NzhkYWYwZQpbIDE3MzAuNTU5 MjgwXSBSQlA6IGZmZmY5OTcwODAyZDhmNjggUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAw MDAwMDAwMDAwMDAwMApbIDE3MzAuNTU5MjgwXSBSMTA6IDAwMDAwMTgzMzZkNzk0NGUgUjExOiAw MDAwMDAwMDAwMDAwMDAxIFIxMjogZmZmZjhiMzE2ZTM5ZjljMApbIDE3MzAuNTU5MjgxXSBSMTM6 IGZmZmY4YjMxNmUzOWY5NDAgUjE0OiBmZmZmOGIzMTZlMzlmOTk4IFIxNTogZmZmZjhiMzE2ZTM5 ZjdjMApbIDE3MzAuNTU5MjgxXSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjhi MzE2ZTM4MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClsgMTczMC41NTkyODFdIENT OiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKWyAxNzMwLjU1 OTI4MV0gQ1IyOiAwMDAwN2YxMTA1MzAzNzYwIENSMzogMDAwMDAwMDIyNzIxMDAwNSBDUjQ6IDAw MDAwMDAwMDAzNjA2ZTAKWyAxNzMwLjU1OTI4Ml0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTog MDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKWyAxNzMwLjU1OTI4Ml0gRFIz OiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAw MDA0MDAKWyAxNzMwLjU1OTI4Ml0gQ2FsbCBUcmFjZToKWyAxNzMwLjU1OTI4Ml0gIDxJUlE+Clsg MTczMC41NTkyODNdICA/IHRhcHJpb19kZXF1ZXVlX3NvZnQrMHgyZDAvMHgyZDAgW3NjaF90YXBy aW9dClsgMTczMC41NTkyODNdICBocnRpbWVyX2ludGVycnVwdCsweDEwNC8weDIyMApbIDE3MzAu NTU5MjgzXSAgPyBpcnF0aW1lX2FjY291bnRfaXJxKzB4MzQvMHhhMApbIDE3MzAuNTU5MjgzXSAg c21wX2FwaWNfdGltZXJfaW50ZXJydXB0KzB4NmQvMHgyMzAKWyAxNzMwLjU1OTI4NF0gIGFwaWNf dGltZXJfaW50ZXJydXB0KzB4Zi8weDIwClsgMTczMC41NTkyODRdICA8L0lSUT4KWyAxNzMwLjU1 OTI4NF0gUklQOiAwMDEwOmNwdV9pZGxlX3BvbGwrMHgzNS8weDFhMApbIDE3MzAuNTU5Mjg1XSBD b2RlOiA4OCA4MiBmZiA2NSA0NCA4YiAyNSAxMiA3ZCA3MyA2OCAwZiAxZiA0NCAwMCAwMCBlOCA5 MCBjMyA4OSBmZiBmYiA2NSA0OCA4YiAxYyAyNSBjMCA3ZSAwMSAwMCA0OCA4YiAwMyBhOCAwOCA3 NCAwYiBlYiAxYyBmMyA5MCA8NDg+IDhiIDAzIGE4IDA4IDc1IDEzIDhiIDA1IGJlIGE4IGE4IDAw IDg1IGMwIDc1IGVkIGU4IDc1IDQ4IDg0IGZmClsgMTczMC41NTkyODVdIFJTUDogMDAxODpmZmZm OTk3MDgwMTM3ZWE4IEVGTEFHUzogMDAwMDAyMDIgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZmMTMK WyAxNzMwLjU1OTI4NV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAxIFJCWDogZmZmZjhiMzE2YmMzYzU4 MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWyAxNzMwLjU1OTI4Nl0gUkRYOiAwMDAwMDAwMDAwMDAw MDAxIFJTSTogMDAwMDAwMDAyODE5YWFkOSBSREk6IGZmZmZmZmZmOTc4ZGE3MzAKWyAxNzMwLjU1 OTI4Nl0gUkJQOiBmZmZmOTk3MDgwMTM3ZWMwIFIwODogMDAwMDAxODMyNGE2ZDM4NyBSMDk6IDAw MDAwMDAwMDAwMDAwMDAKWyAxNzMwLjU1OTI4Nl0gUjEwOiAwMDAwMDAwMDAwMDAwNDAwIFIxMTog MDAwMDAwMDAwMDAwMDAwMSBSMTI6IDAwMDAwMDAwMDAwMDAwMDYKWyAxNzMwLjU1OTI4Nl0gUjEz OiBmZmZmOGIzMTZiYzNjNTgwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAw MDAwMDAKWyAxNzMwLjU1OTI4N10gID8gY3B1X2lkbGVfcG9sbCsweDIwLzB4MWEwClsgMTczMC41 NTkyODddICA/IGNwdV9pZGxlX3BvbGwrMHgyMC8weDFhMApbIDE3MzAuNTU5Mjg3XSAgZG9faWRs ZSsweDRkLzB4MWYwClsgMTczMC41NTkyODddICA/IGNvbXBsZXRlKzB4NDQvMHg1MApbIDE3MzAu NTU5Mjg4XSAgY3B1X3N0YXJ0dXBfZW50cnkrMHgxYi8weDIwClsgMTczMC41NTkyODhdICBzdGFy dF9zZWNvbmRhcnkrMHgxNDIvMHgxODAKWyAxNzMwLjU1OTI4OF0gIHNlY29uZGFyeV9zdGFydHVw XzY0KzB4YjYvMHhjMApbIDE3NzYuNjg2MzEzXSBudm1lIG52bWUwOiBJL08gOTYgUUlEIDEgdGlt ZW91dCwgY29tcGxldGlvbiBwb2xsZWQKCkZpeGVzOiA0Y2ZkNTc3OWJkNmUgKCJ0YXByaW86IEFk ZCBzdXBwb3J0IGZvciB0eHRpbWUtYXNzaXN0IG1vZGUiKQpTaWduZWQtb2ZmLWJ5OiBWaW5pY2l1 cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF90 YXByaW8uYyB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCmlu ZGV4IGFkMGRhZGNmY2RiYS4uZTJkNDI4M2JlYTZkIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2No X3RhcHJpby5jCisrKyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMKQEAgLTMxLDYgKzMxLDcgQEAg c3RhdGljIERFRklORV9TUElOTE9DSyh0YXByaW9fbGlzdF9sb2NrKTsKIAogI2RlZmluZSBUWFRJ TUVfQVNTSVNUX0lTX0VOQUJMRUQoZmxhZ3MpICgoZmxhZ3MpICYgVENBX1RBUFJJT19BVFRSX0ZM QUdfVFhUSU1FX0FTU0lTVCkKICNkZWZpbmUgRlVMTF9PRkZMT0FEX0lTX0VOQUJMRUQoZmxhZ3Mp ICgoZmxhZ3MpICYgVENBX1RBUFJJT19BVFRSX0ZMQUdfRlVMTF9PRkZMT0FEKQorI2RlZmluZSBU QVBSSU9fRkxBR1NfSU5WQUxJRCBVMzJfTUFYCiAKIHN0cnVjdCBzY2hlZF9lbnRyeSB7CiAJc3Ry dWN0IGxpc3RfaGVhZCBsaXN0OwpAQCAtMTM2Nyw2ICsxMzY4LDMzIEBAIHN0YXRpYyBpbnQgdGFw cmlvX21xcHJpb19jbXAoY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlyZXR1cm4gMDsK IH0KIAorLyogVGhlIHNlbWFudGljcyBvZiB0aGUgJ2ZsYWdzJyBhcmd1bWVudCBpbiByZWxhdGlv biB0byAnY2hhbmdlKCknCisgKiByZXF1ZXN0cywgYXJlIGludGVycHJldGVkIGZvbGxvd2luZyB0 d28gcnVsZXMgKHdoaWNoIGFyZSBhcHBsaWVkIGluCisgKiB0aGlzIG9yZGVyKTogKDEpIGFuIG9t aXR0ZWQgJ2ZsYWdzJyBhcmd1bWVudCBpcyBpbnRlcnByZXRlZCBhcworICogemVybzsgKDIpIHRo ZSAnZmxhZ3MnIG9mIGEgInJ1bm5pbmciIHRhcHJpbyBpbnN0YW5jZSBjYW5ub3QgYmUKKyAqIGNo YW5nZWQuCisgKi8KK3N0YXRpYyBpbnQgdGFwcmlvX25ld19mbGFncyhjb25zdCBzdHJ1Y3Qgbmxh dHRyICphdHRyLCB1MzIgb2xkLAorCQkJICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFj aykKK3sKKwl1MzIgbmV3ID0gMDsKKworCWlmIChhdHRyKQorCQluZXcgPSBubGFfZ2V0X3UzMihh dHRyKTsKKworCWlmIChvbGQgIT0gVEFQUklPX0ZMQUdTX0lOVkFMSUQgJiYgb2xkICE9IG5ldykg eworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAiQ2hhbmdpbmcgJ2ZsYWdzJyBvZiBhIHJ1 bm5pbmcgc2NoZWR1bGUgaXMgbm90IHN1cHBvcnRlZCIpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7 CisJfQorCisJaWYgKCF0YXByaW9fZmxhZ3NfdmFsaWQobmV3KSkgeworCQlOTF9TRVRfRVJSX01T R19NT0QoZXh0YWNrLCAiU3BlY2lmaWVkICdmbGFncycgYXJlIG5vdCB2YWxpZCIpOworCQlyZXR1 cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gbmV3OworfQorCiBzdGF0aWMgaW50IHRhcHJpb19j aGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJCSBzdHJ1Y3Qg bmV0bGlua19leHRfYWNrICpleHRhY2spCiB7CkBAIC0xMzc1LDcgKzE0MDMsNiBAQCBzdGF0aWMg aW50IHRhcHJpb19jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwK IAlzdHJ1Y3QgdGFwcmlvX3NjaGVkICpxID0gcWRpc2NfcHJpdihzY2gpOwogCXN0cnVjdCBuZXRf ZGV2aWNlICpkZXYgPSBxZGlzY19kZXYoc2NoKTsKIAlzdHJ1Y3QgdGNfbXFwcmlvX3FvcHQgKm1x cHJpbyA9IE5VTEw7Ci0JdTMyIHRhcHJpb19mbGFncyA9IDA7CiAJdW5zaWduZWQgbG9uZyBmbGFn czsKIAlrdGltZV90IHN0YXJ0OwogCWludCBpLCBlcnI7CkBAIC0xMzg4LDIxICsxNDE1LDE0IEBA IHN0YXRpYyBpbnQgdGFwcmlvX2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0 ciAqb3B0LAogCWlmICh0YltUQ0FfVEFQUklPX0FUVFJfUFJJT01BUF0pCiAJCW1xcHJpbyA9IG5s YV9kYXRhKHRiW1RDQV9UQVBSSU9fQVRUUl9QUklPTUFQXSk7CiAKLQlpZiAodGJbVENBX1RBUFJJ T19BVFRSX0ZMQUdTXSkgewotCQl0YXByaW9fZmxhZ3MgPSBubGFfZ2V0X3UzMih0YltUQ0FfVEFQ UklPX0FUVFJfRkxBR1NdKTsKLQotCQlpZiAocS0+ZmxhZ3MgIT0gMCAmJiBxLT5mbGFncyAhPSB0 YXByaW9fZmxhZ3MpIHsKLQkJCU5MX1NFVF9FUlJfTVNHX01PRChleHRhY2ssICJDaGFuZ2luZyAn ZmxhZ3MnIG9mIGEgcnVubmluZyBzY2hlZHVsZSBpcyBub3Qgc3VwcG9ydGVkIik7Ci0JCQlyZXR1 cm4gLUVPUE5PVFNVUFA7Ci0JCX0gZWxzZSBpZiAoIXRhcHJpb19mbGFnc192YWxpZCh0YXByaW9f ZmxhZ3MpKSB7Ci0JCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAiU3BlY2lmaWVkICdmbGFn cycgYXJlIG5vdCB2YWxpZCIpOwotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KKwllcnIgPSB0YXBy aW9fbmV3X2ZsYWdzKHRiW1RDQV9UQVBSSU9fQVRUUl9GTEFHU10sCisJCQkgICAgICAgcS0+Zmxh Z3MsIGV4dGFjayk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CiAKLQkJcS0+ZmxhZ3Mg PSB0YXByaW9fZmxhZ3M7Ci0JfQorCXEtPmZsYWdzID0gZXJyOwogCi0JZXJyID0gdGFwcmlvX3Bh cnNlX21xcHJpb19vcHQoZGV2LCBtcXByaW8sIGV4dGFjaywgdGFwcmlvX2ZsYWdzKTsKKwllcnIg PSB0YXByaW9fcGFyc2VfbXFwcmlvX29wdChkZXYsIG1xcHJpbywgZXh0YWNrLCBxLT5mbGFncyk7 CiAJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAKQEAgLTE0NTcsNyArMTQ3Nyw3IEBAIHN0 YXRpYyBpbnQgdGFwcmlvX2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAq b3B0LAogCQkJCQkgICAgICAgbXFwcmlvLT5wcmlvX3RjX21hcFtpXSk7CiAJfQogCi0JaWYgKEZV TExfT0ZGTE9BRF9JU19FTkFCTEVEKHRhcHJpb19mbGFncykpCisJaWYgKEZVTExfT0ZGTE9BRF9J U19FTkFCTEVEKHEtPmZsYWdzKSkKIAkJZXJyID0gdGFwcmlvX2VuYWJsZV9vZmZsb2FkKGRldiwg bXFwcmlvLCBxLCBuZXdfYWRtaW4sIGV4dGFjayk7CiAJZWxzZQogCQllcnIgPSB0YXByaW9fZGlz YWJsZV9vZmZsb2FkKGRldiwgcSwgZXh0YWNrKTsKQEAgLTE0NzcsMTQgKzE0OTcsMTQgQEAgc3Rh dGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpv cHQsCiAJCXEtPnR4dGltZV9kZWxheSA9IG5sYV9nZXRfdTMyKHRiW1RDQV9UQVBSSU9fQVRUUl9U WFRJTUVfREVMQVldKTsKIAl9CiAKLQlpZiAoIVRYVElNRV9BU1NJU1RfSVNfRU5BQkxFRCh0YXBy aW9fZmxhZ3MpICYmCi0JICAgICFGVUxMX09GRkxPQURfSVNfRU5BQkxFRCh0YXByaW9fZmxhZ3Mp ICYmCisJaWYgKCFUWFRJTUVfQVNTSVNUX0lTX0VOQUJMRUQocS0+ZmxhZ3MpICYmCisJICAgICFG VUxMX09GRkxPQURfSVNfRU5BQkxFRChxLT5mbGFncykgJiYKIAkgICAgIWhydGltZXJfYWN0aXZl KCZxLT5hZHZhbmNlX3RpbWVyKSkgewogCQlocnRpbWVyX2luaXQoJnEtPmFkdmFuY2VfdGltZXIs IHEtPmNsb2NraWQsIEhSVElNRVJfTU9ERV9BQlMpOwogCQlxLT5hZHZhbmNlX3RpbWVyLmZ1bmN0 aW9uID0gYWR2YW5jZV9zY2hlZDsKIAl9CiAKLQlpZiAoRlVMTF9PRkZMT0FEX0lTX0VOQUJMRUQo dGFwcmlvX2ZsYWdzKSkgeworCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRChxLT5mbGFncykp IHsKIAkJcS0+ZGVxdWV1ZSA9IHRhcHJpb19kZXF1ZXVlX29mZmxvYWQ7CiAJCXEtPnBlZWsgPSB0 YXByaW9fcGVla19vZmZsb2FkOwogCX0gZWxzZSB7CkBAIC0xNTAxLDcgKzE1MjEsNyBAQCBzdGF0 aWMgaW50IHRhcHJpb19jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9w dCwKIAkJZ290byB1bmxvY2s7CiAJfQogCi0JaWYgKFRYVElNRV9BU1NJU1RfSVNfRU5BQkxFRCh0 YXByaW9fZmxhZ3MpKSB7CisJaWYgKFRYVElNRV9BU1NJU1RfSVNfRU5BQkxFRChxLT5mbGFncykp IHsKIAkJc2V0dXBfdHh0aW1lKHEsIG5ld19hZG1pbiwgc3RhcnQpOwogCiAJCWlmICghb3Blcikg ewpAQCAtMTUyOCw3ICsxNTQ4LDcgQEAgc3RhdGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVjdCBR ZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmcS0+Y3VycmVudF9lbnRyeV9sb2NrLCBmbGFncyk7CiAKLQkJaWYgKEZVTExfT0ZGTE9BRF9J U19FTkFCTEVEKHRhcHJpb19mbGFncykpCisJCWlmIChGVUxMX09GRkxPQURfSVNfRU5BQkxFRChx LT5mbGFncykpCiAJCQl0YXByaW9fb2ZmbG9hZF9jb25maWdfY2hhbmdlZChxKTsKIAl9CiAKQEAg LTE1OTcsNiArMTYxNyw3IEBAIHN0YXRpYyBpbnQgdGFwcmlvX2luaXQoc3RydWN0IFFkaXNjICpz Y2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkgKiBhbmQgZ2V0IHRoZSB2YWxpZCBvbmUgb24gdGFw cmlvX2NoYW5nZSgpLgogCSAqLwogCXEtPmNsb2NraWQgPSAtMTsKKwlxLT5mbGFncyA9IFRBUFJJ T19GTEFHU19JTlZBTElEOwogCiAJc3Bpbl9sb2NrKCZ0YXByaW9fbGlzdF9sb2NrKTsKIAlsaXN0 X2FkZCgmcS0+dGFwcmlvX2xpc3QsICZ0YXByaW9fbGlzdCk7Ci0tIAoyLjIxLjEKCgpGcm9tIDQ0 MWM0ZjcwYjMwNDFhNTIwMjc3ZjAxNzkzODZkNjYzYWQxMDcwYzQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5nb21lc0BpbnRlbC5j b20+CkRhdGU6IFRodSwgNiBGZWIgMjAyMCAxMzo0NjowOCAtMDgwMApTdWJqZWN0OiBbUEFUQ0gg MjIvMzFdIHRhcHJpbzogQWRkIG1pc3NpbmcgcG9saWN5IHZhbGlkYXRpb24gZm9yIGZsYWdzCgpb IFVwc3RyZWFtIGNvbW1pdCA0OWM2ODRkNzljZmRjMzAzMjM0NGJmNmYzZGVlZWE4MWM0ZWZlZGJm IF0KCm5ldGxpbmsgcG9saWN5IHZhbGlkYXRpb24gZm9yIHRoZSAnZmxhZ3MnIGFyZ3VtZW50IHdh cyBtaXNzaW5nLgoKRml4ZXM6IDRjZmQ1Nzc5YmQ2ZSAoInRhcHJpbzogQWRkIHN1cHBvcnQgZm9y IHR4dGltZS1hc3Npc3QgbW9kZSIpClNpZ25lZC1vZmYtYnk6IFZpbmljaXVzIENvc3RhIEdvbWVz IDx2aW5pY2l1cy5nb21lc0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX3RhcHJpby5jIHwgMSAr CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQv c2NoX3RhcHJpby5jIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwppbmRleCBlMmQ0MjgzYmVhNmQu LmI4MmE5NzY5YWI0MCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYworKysgYi9u ZXQvc2NoZWQvc2NoX3RhcHJpby5jCkBAIC03NjcsNiArNzY3LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBubGFfcG9saWN5IHRhcHJpb19wb2xpY3lbVENBX1RBUFJJT19BVFRSX01BWCArIDFdID0g ewogCVtUQ0FfVEFQUklPX0FUVFJfU0NIRURfQ0xPQ0tJRF0gICAgICAgICAgICAgID0geyAudHlw ZSA9IE5MQV9TMzIgfSwKIAlbVENBX1RBUFJJT19BVFRSX1NDSEVEX0NZQ0xFX1RJTUVdICAgICAg ICAgICA9IHsgLnR5cGUgPSBOTEFfUzY0IH0sCiAJW1RDQV9UQVBSSU9fQVRUUl9TQ0hFRF9DWUNM RV9USU1FX0VYVEVOU0lPTl0gPSB7IC50eXBlID0gTkxBX1M2NCB9LAorCVtUQ0FfVEFQUklPX0FU VFJfRkxBR1NdICAgICAgICAgICAgICAgICAgICAgID0geyAudHlwZSA9IE5MQV9VMzIgfSwKIH07 CiAKIHN0YXRpYyBpbnQgZmlsbF9zY2hlZF9lbnRyeShzdHJ1Y3QgbmxhdHRyICoqdGIsIHN0cnVj dCBzY2hlZF9lbnRyeSAqZW50cnksCi0tIAoyLjIxLjEKCgpGcm9tIDYyYTE1MTZkOGVkMDJkY2U3 M2Y0Njc1MjY1N2JmMmEwMDgwZTQ1Y2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZp bmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5nb21lc0BpbnRlbC5jb20+CkRhdGU6IFRodSwg NiBGZWIgMjAyMCAxMzo0NjowOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMjMvMzFdIHRhcHJpbzog VXNlIHRhcHJpb19yZXNldF90YygpIHRvIHJlc2V0IFRyYWZmaWMgQ2xhc3NlcwogY29uZmlndXJh dGlvbgoKWyBVcHN0cmVhbSBjb21taXQgN2MxNjY4MGEwOGVlMWU0NDRhNjdkMjMyYzY3OWNjZjVi MzBmYWQxNiBdCgpXaGVuIGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgdGFwcmlvIGluc3RhbmNlLCB3 aGljaCBjYW4gaGFwcGVuIHdoZW4gdGhlCmNyZWF0aW9uIG9mIG9uZSBmYWlscywgd2Ugc2hvdWxk IHJlc2V0IHRoZSB0cmFmZmljIGNsYXNzIGNvbmZpZ3VyYXRpb24KYmFjayB0byB0aGUgZGVmYXVs dCBzdGF0ZS4KCm5ldGRldl9yZXNldF90YygpIGlzIGEgYmV0dGVyIHdheSBiZWNhdXNlIGluIGFk ZGl0aW9uIHRvIHNldHRpbmcgdGhlCm51bWJlciBvZiB0cmFmZmljIGNsYXNzZXMgdG8gemVybywg aXQgYWxzbyByZXNldHMgdGhlIHByaW9yaXR5IHRvCnRyYWZmaWMgY2xhc3NlcyBtYXBwaW5nIHRv IHRoZSBkZWZhdWx0IHZhbHVlLgoKRml4ZXM6IDVhNzgxY2NiZDE5ZSAoInRjOiBBZGQgc3VwcG9y dCBmb3IgY29uZmlndXJpbmcgdGhlIHRhcHJpbyBzY2hlZHVsZXIiKQpTaWduZWQtb2ZmLWJ5OiBW aW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVk L3NjaF90YXByaW8uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMgYi9uZXQvc2No ZWQvc2NoX3RhcHJpby5jCmluZGV4IGI4MmE5NzY5YWI0MC4uMjFkZjY5MDcxZGYyIDEwMDY0NAot LS0gYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCisrKyBiL25ldC9zY2hlZC9zY2hfdGFwcmlvLmMK QEAgLTE1ODgsNyArMTU4OCw3IEBAIHN0YXRpYyB2b2lkIHRhcHJpb19kZXN0cm95KHN0cnVjdCBR ZGlzYyAqc2NoKQogCX0KIAlxLT5xZGlzY3MgPSBOVUxMOwogCi0JbmV0ZGV2X3NldF9udW1fdGMo ZGV2LCAwKTsKKwluZXRkZXZfcmVzZXRfdGMoZGV2KTsKIAogCWlmIChxLT5vcGVyX3NjaGVkKQog CQljYWxsX3JjdSgmcS0+b3Blcl9zY2hlZC0+cmN1LCB0YXByaW9fZnJlZV9zY2hlZF9jYik7Ci0t IAoyLjIxLjEKCgpGcm9tIDdiZDQ3Njk0YmY3MWFlZjI1NjNlZWQ1OTUzMThlNjY1ZTk2ZTNjZjkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5p Y2l1cy5nb21lc0BpbnRlbC5jb20+CkRhdGU6IFRodSwgNiBGZWIgMjAyMCAxMzo0NjoxMCAtMDgw MApTdWJqZWN0OiBbUEFUQ0ggMjQvMzFdIHRhcHJpbzogRml4IGRyb3BwaW5nIHBhY2tldHMgd2hl biB1c2luZyB0YXByaW8gKyBFVEYKIG9mZmxvYWRpbmcKClsgVXBzdHJlYW0gY29tbWl0IGJmYWJk NDFkYTM0MTgwZDA1MzgyMzEyNTMzYTNhZGMyZTAxMmRlZTAgXQoKV2hlbiB1c2luZyB0YXByaW8g b2ZmbG9hZGluZyB0b2dldGhlciB3aXRoIEVURiBvZmZsb2FkaW5nLCBjb25maWd1cmVkCmxpa2Ug dGhpcywgZm9yIGV4YW1wbGU6CgokIHRjIHFkaXNjIHJlcGxhY2UgZGV2ICRJRkFDRSBwYXJlbnQg cm9vdCBoYW5kbGUgMTAwIHRhcHJpbyBcCiAgCW51bV90YyA0IFwKICAgICAgICBtYXAgMiAyIDEg MCAzIDIgMiAyIDIgMiAyIDIgMiAyIDIgMiBcCglxdWV1ZXMgMUAwIDFAMSAxQDIgMUAzIFwKCWJh c2UtdGltZSAkQkFTRV9USU1FIFwKCXNjaGVkLWVudHJ5IFMgMDEgMTAwMDAwMCBcCglzY2hlZC1l bnRyeSBTIDBlIDEwMDAwMDAgXAoJZmxhZ3MgMHgyCgokIHRjIHFkaXNjIHJlcGxhY2UgZGV2ICRJ RkFDRSBwYXJlbnQgMTAwOjEgZXRmIFwKICAgICAJb2ZmbG9hZCBkZWx0YSAzMDAwMDAgY2xvY2tp ZCBDTE9DS19UQUkKCkR1cmluZyBlbnF1ZXVlLCBpdCB3b3JrcyBvdXQgdGhhdCB0aGUgdmVyaWZp Y2F0aW9uIGFkZGVkIGZvciB0aGUKInR4dGltZSIgYXNzaXN0ZWQgbW9kZSBpcyBydW4gd2hlbiB1 c2luZyB0YXByaW8gKyBFVEYgb2ZmbG9hZGluZywgdGhlCm9ubHkgdGhpbmcgbWlzc2luZyBpcyBp bml0aWFsaXppbmcgdGhlICduZXh0X3R4dGltZScgb2YgYWxsIHRoZSBjeWNsZQplbnRyaWVzLiAo aWYgd2UgZG9uJ3Qgc2V0ICduZXh0X3R4dGltZScgYWxsIHBhY2tldHMgZnJvbSBTT19UWFRJTUUK c29ja2V0cyBhcmUgZHJvcHBlZCkKCkZpeGVzOiA0Y2ZkNTc3OWJkNmUgKCJ0YXByaW86IEFkZCBz dXBwb3J0IGZvciB0eHRpbWUtYXNzaXN0IG1vZGUiKQpTaWduZWQtb2ZmLWJ5OiBWaW5pY2l1cyBD b3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF90YXBy aW8uYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX3RhcHJpby5jIGIvbmV0L3NjaGVkL3Nj aF90YXByaW8uYwppbmRleCAyMWRmNjkwNzFkZjIuLjY2MGZjNDVlZTQwZiAxMDA2NDQKLS0tIGEv bmV0L3NjaGVkL3NjaF90YXByaW8uYworKysgYi9uZXQvc2NoZWQvc2NoX3RhcHJpby5jCkBAIC0x NTIyLDkgKzE1MjIsOSBAQCBzdGF0aWMgaW50IHRhcHJpb19jaGFuZ2Uoc3RydWN0IFFkaXNjICpz Y2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJZ290byB1bmxvY2s7CiAJfQogCi0JaWYgKFRYVElN RV9BU1NJU1RfSVNfRU5BQkxFRChxLT5mbGFncykpIHsKLQkJc2V0dXBfdHh0aW1lKHEsIG5ld19h ZG1pbiwgc3RhcnQpOworCXNldHVwX3R4dGltZShxLCBuZXdfYWRtaW4sIHN0YXJ0KTsKIAorCWlm IChUWFRJTUVfQVNTSVNUX0lTX0VOQUJMRUQocS0+ZmxhZ3MpKSB7CiAJCWlmICghb3Blcikgewog CQkJcmN1X2Fzc2lnbl9wb2ludGVyKHEtPm9wZXJfc2NoZWQsIG5ld19hZG1pbik7CiAJCQllcnIg PSAwOwotLSAKMi4yMS4xCgoKRnJvbSA3MWQ5ZDUzM2EyMzFhMGU4ODNlNjM2ZjUzZWY5NWE5NGFi NGQxYWIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgNyBGZWIgMjAyMCAwNzoxNjozNyAtMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMjUvMzFdIGlwdjYvYWRkcmNvbmY6IGZpeCBwb3RlbnRpYWwgTlVMTCBkZXJl ZiBpbgogaW5ldDZfc2V0X2xpbmtfYWYoKQoKWyBVcHN0cmVhbSBjb21taXQgZGIzZmEyNzEwMjJk YWNiOWY3NDFiOTZlYTQ3MTQ0NjFhODkxMWJiOSBdCgpfX2luNl9kZXZfZ2V0KGRldikgY2FsbGVk IGZyb20gaW5ldDZfc2V0X2xpbmtfYWYoKSBjYW4gcmV0dXJuIE5VTEwuCgpUaGUgbmVlZGVkIGNo ZWNrIGhhcyBiZWVuIHJlY2VudGx5IHJlbW92ZWQsIGxldCdzIGFkZCBpdCBiYWNrLgoKV2hpbGUg ZG9fc2V0bGluaygpIGRvZXMgY2FsbCB2YWxpZGF0ZV9saW5rbXNnKCkgOgouLi4KZXJyID0gdmFs aWRhdGVfbGlua21zZyhkZXYsIHRiKTsgLyogT0sgYXQgdGhpcyBwb2ludCAqLwouLi4KCkl0IGlz IHBvc3NpYmxlIHRoYXQgdGhlIGZvbGxvd2luZyBjYWxsIGhhcHBlbmluZyBiZWZvcmUgdGhlCi0+ c2V0X2xpbmtfYWYoKSByZW1vdmVzIElQdjYgaWYgTVRVIGlzIGxlc3MgdGhhbiAxMjgwIDoKCmlm ICh0YltJRkxBX01UVV0pIHsKICAgIGVyciA9IGRldl9zZXRfbXR1X2V4dChkZXYsIG5sYV9nZXRf dTMyKHRiW0lGTEFfTVRVXSksIGV4dGFjayk7CiAgICBpZiAoZXJyIDwgMCkKICAgICAgICAgIGdv dG8gZXJyb3V0OwogICAgc3RhdHVzIHw9IERPX1NFVExJTktfTU9ESUZJRUQ7Cn0KLi4uCgppZiAo dGJbSUZMQV9BRl9TUEVDXSkgewogICAuLi4KICAgZXJyID0gYWZfb3BzLT5zZXRfbGlua19hZihk ZXYsIGFmKTsKICAgICAgLT5pbmV0Nl9zZXRfbGlua19hZigpIC8vIENSQVNIIGJlY2F1c2UgaWRl diBpcyBOVUxMCgpQbGVhc2Ugbm90ZSB0aGF0IElQdjQgaXMgaW1tdW5lIHRvIHRoZSBidWcgc2lu Y2UgaW5ldF9zZXRfbGlua19hZigpIGRvZXMgOgoKc3RydWN0IGluX2RldmljZSAqaW5fZGV2ID0g X19pbl9kZXZfZ2V0X3JjdShkZXYpOwppZiAoIWluX2RldikKICAgIHJldHVybiAtRUFGTk9TVVBQ T1JUOwoKVGhpcyBwcm9ibGVtIGhhcyBiZWVuIG1lbnRpb25lZCBpbiBjb21taXQgY2Y3YWZiZmVi OGNlICgicnRubDogbWFrZQpsaW5rIGFmLXNwZWNpZmljIHVwZGF0ZXMgYXRvbWljIikgY2hhbmdl bG9nIDoKCiAgICBUaGlzIG1ldGhvZCBpcyBub3QgZmFpbCBwcm9vZiwgd2hpbGUgaXQgaXMgY3Vy cmVudGx5IHN1ZmZpY2llbnQKICAgIHRvIG1ha2Ugc2V0X2xpbmtfYWYoKSBpbmVycmFibGUgYW5k IHRodXMgMTAwJSBhdG9taWMsIHRoZQogICAgdmFsaWRhdGlvbiBmdW5jdGlvbiBtZXRob2Qgd2ls bCBub3QgYmUgYWJsZSB0byBkZXRlY3QgYWxsIGVycm9yCiAgICBzY2VuYXJpb3MgaW4gdGhlIGZ1 dHVyZSwgdGhlcmUgd2lsbCBsaWtlbHkgYWx3YXlzIGJlIGVycm9ycwogICAgZGVwZW5kaW5nIG9u IHN0YXRlcyB3aGljaCBhcmUgZi5lLiBub3QgcHJvdGVjdGVkIGJ5IHJ0bmxfbXV0ZXgKICAgIGFu ZCB0aHVzIG1heSBjaGFuZ2UgYmV0d2VlbiB2YWxpZGF0aW9uIGFuZCBzZXR0aW5nLgoKSVB2Njog QUREUkNPTkYoTkVUREVWX0NIQU5HRSk6IGxvOiBsaW5rIGJlY29tZXMgcmVhZHkKZ2VuZXJhbCBw cm90ZWN0aW9uIGZhdWx0LCBwcm9iYWJseSBmb3Igbm9uLWNhbm9uaWNhbCBhZGRyZXNzIDB4ZGZm ZmZjMDAwMDAwMDA1NjogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCktBU0FOOiBudWxsLXB0 ci1kZXJlZiBpbiByYW5nZSBbMHgwMDAwMDAwMDAwMDAwMmIwLTB4MDAwMDAwMDAwMDAwMDJiN10K Q1BVOiAwIFBJRDogOTY5OCBDb21tOiBzeXotZXhlY3V0b3I3MTIgTm90IHRhaW50ZWQgNS41LjAt c3l6a2FsbGVyICMwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUv R29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExClJJUDogMDAxMDpp bmV0Nl9zZXRfbGlua19hZisweDY2ZS8weGFlMCBuZXQvaXB2Ni9hZGRyY29uZi5jOjU3MzMKQ29k ZTogMzggZDAgN2YgMDggODQgYzAgMGYgODUgMjAgMDMgMDAgMDAgNDggOGQgYmIgYjAgMDIgMDAg MDAgNDUgMGYgYjYgNjQgMjQgMDQgNDggYjggMDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggODkg ZmEgNDggYzEgZWEgMDMgPDBmPiBiNiAwNCAwMiA4NCBjMCA3NCAwOCAzYyAwMyAwZiA4ZSAxYSAw MyAwMCAwMCA0NCA4OSBhMyBiMCAwMiAwMApSU1A6IDAwMTg6ZmZmZmM5MDAwNWIwNmQ0MCBFRkxB R1M6IDAwMDEwMjA2ClJBWDogZGZmZmZjMDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAg UkNYOiBmZmZmZmZmZjg2ZGYzOWE2ClJEWDogMDAwMDAwMDAwMDAwMDA1NiBSU0k6IGZmZmZmZmZm ODZkZjNlNzQgUkRJOiAwMDAwMDAwMDAwMDAwMmIwClJCUDogZmZmZmM5MDAwNWIwNmU3MCBSMDg6 IGZmZmY4ODgwYTJhYzAzODAgUjA5OiBmZmZmYzkwMDA1YjA2ZGIwClIxMDogZmZmZmY1MjAwMGI2 MGRiZSBSMTE6IGZmZmZjOTAwMDViMDZkZjcgUjEyOiAwMDAwMDAwMDAwMDAwMDAwClIxMzogMDAw MDAwMDAwMDAwMDAwMCBSMTQ6IGZmZmY4ODgwYTFmY2M0MjQgUjE1OiBkZmZmZmMwMDAwMDAwMDAw CkZTOiAgMDAwMDAwMDAwMGM0Njg4MCgwMDAwKSBHUzpmZmZmODg4MGFlODAwMDAwKDAwMDApIGtu bEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAw MDAwMDA4MDA1MDAzMwpDUjI6IDAwMDA1NWYwNDk0Y2EwZDAgQ1IzOiAwMDAwMDAwMDllNGFjMDAw IENSNDogMDAwMDAwMDAwMDE0MDZmMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAw MDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2 OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApDYWxsIFRyYWNlOgogZG9f c2V0bGluaysweDJhOWYvMHgzNzIwIG5ldC9jb3JlL3J0bmV0bGluay5jOjI3NTQKIHJ0bmxfZ3Jv dXBfY2hhbmdlbGluayBuZXQvY29yZS9ydG5ldGxpbmsuYzozMTAzIFtpbmxpbmVdCiBfX3J0bmxf bmV3bGluaysweGRkMS8weDE3OTAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MzI1NwogcnRubF9uZXds aW5rKzB4NjkvMHhhMCBuZXQvY29yZS9ydG5ldGxpbmsuYzozMzc3CiBydG5ldGxpbmtfcmN2X21z ZysweDQ1ZS8weGFmMCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1NDM4CiBuZXRsaW5rX3Jjdl9za2Ir MHgxNzcvMHg0NTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI0NzcKIHJ0bmV0bGlua19yY3Yr MHgxZC8weDMwIG5ldC9jb3JlL3J0bmV0bGluay5jOjU0NTYKIG5ldGxpbmtfdW5pY2FzdF9rZXJu ZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMDIgW2lubGluZV0KIG5ldGxpbmtfdW5pY2Fz dCsweDU5ZS8weDdlMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMyOAogbmV0bGlua19zZW5k bXNnKzB4OTFjLzB4ZWEwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRt c2dfbm9zZWMgbmV0L3NvY2tldC5jOjY1MiBbaW5saW5lXQogc29ja19zZW5kbXNnKzB4ZDcvMHgx MzAgbmV0L3NvY2tldC5jOjY3MgogX19fX3N5c19zZW5kbXNnKzB4NzUzLzB4ODgwIG5ldC9zb2Nr ZXQuYzoyMzQzCiBfX19zeXNfc2VuZG1zZysweDEwMC8weDE3MCBuZXQvc29ja2V0LmM6MjM5Nwog X19zeXNfc2VuZG1zZysweDEwNS8weDFkMCBuZXQvc29ja2V0LmM6MjQzMAogX19kb19zeXNfc2Vu ZG1zZyBuZXQvc29ja2V0LmM6MjQzOSBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29j a2V0LmM6MjQzNyBbaW5saW5lXQogX194NjRfc3lzX3NlbmRtc2crMHg3OC8weGIwIG5ldC9zb2Nr ZXQuYzoyNDM3CiBkb19zeXNjYWxsXzY0KzB4ZmEvMHg3OTAgYXJjaC94ODYvZW50cnkvY29tbW9u LmM6Mjk0CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClJJUDogMDAz MzoweDQ0MDJlOQpDb2RlOiAxOCA4OSBkMCBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAw MCAwZiAxZiAwMCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0 ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBmIDgzIGZi IDEzIGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAyYjowMDAwN2Zm ZmQ2MmZiY2Y4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmUKUkFY OiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDQwMDJjOCBSQ1g6IDAwMDAwMDAwMDA0 NDAyZTkKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAyMDAwMDA4MCBSREk6IDAw MDAwMDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAwMDAwNmNhMDE4IFIwODogMDAwMDAwMDAwMDAwMDAw OCBSMDk6IDAwMDAwMDAwMDA0MDAyYzgKUjEwOiAwMDAwMDAwMDAwMDAwMDA1IFIxMTogMDAwMDAw MDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDA0MDFiNzAKUjEzOiAwMDAwMDAwMDAwNDAxYzAwIFIx NDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKTW9kdWxlcyBsaW5rZWQg aW46Ci0tLVsgZW5kIHRyYWNlIGNmYTc2NjRiOGZkY2RmZjMgXS0tLQpSSVA6IDAwMTA6aW5ldDZf c2V0X2xpbmtfYWYrMHg2NmUvMHhhZTAgbmV0L2lwdjYvYWRkcmNvbmYuYzo1NzMzCkNvZGU6IDM4 IGQwIDdmIDA4IDg0IGMwIDBmIDg1IDIwIDAzIDAwIDAwIDQ4IDhkIGJiIGIwIDAyIDAwIDAwIDQ1 IDBmIGI2IDY0IDI0IDA0IDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDg5IGZhIDQ4 IGMxIGVhIDAzIDwwZj4gYjYgMDQgMDIgODQgYzAgNzQgMDggM2MgMDMgMGYgOGUgMWEgMDMgMDAg MDAgNDQgODkgYTMgYjAgMDIgMDAKUlNQOiAwMDE4OmZmZmZjOTAwMDViMDZkNDAgRUZMQUdTOiAw MDAxMDIwNgpSQVg6IGRmZmZmYzAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDog ZmZmZmZmZmY4NmRmMzlhNgpSRFg6IDAwMDAwMDAwMDAwMDAwNTYgUlNJOiBmZmZmZmZmZjg2ZGYz ZTc0IFJESTogMDAwMDAwMDAwMDAwMDJiMApSQlA6IGZmZmZjOTAwMDViMDZlNzAgUjA4OiBmZmZm ODg4MGEyYWMwMzgwIFIwOTogZmZmZmM5MDAwNWIwNmRiMApSMTA6IGZmZmZmNTIwMDBiNjBkYmUg UjExOiBmZmZmYzkwMDA1YjA2ZGY3IFIxMjogMDAwMDAwMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAw MDAwMDAwMDAgUjE0OiBmZmZmODg4MGExZmNjNDI0IFIxNTogZGZmZmZjMDAwMDAwMDAwMApGUzog IDAwMDAwMDAwMDBjNDY4ODAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgwMDAwKSBrbmxHUzow MDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAw ODAwNTAwMzMKQ1IyOiAwMDAwMDAwMDIwMDAwMDA0IENSMzogMDAwMDAwMDA5ZTRhYzAwMCBDUjQ6 IDAwMDAwMDAwMDAxNDA2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAw MDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAw MDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKCkZpeGVzOiA3ZGMyYmNjYWIwZWUg KCJWYWxpZGF0ZSByZXF1aXJlZCBwYXJhbWV0ZXJzIGluIGluZXQ2X3ZhbGlkYXRlX2xpbmtfYWYi KQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkJpc2Vj dGVkLWFuZC1yZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4K Q2M6IE1heGltIE1pa2l0eWFuc2tpeSA8bWF4aW1taUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9h ZGRyY29uZi5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9uZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwppbmRleCAz OWQ4NjFkMDAzNzcuLmNiNDkzZTE1OTU5YyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWRkcmNvbmYu YworKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC01NzE4LDYgKzU3MTgsOSBAQCBzdGF0aWMg aW50IGluZXQ2X3NldF9saW5rX2FmKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVj dCBubGF0dHIgKm5sYSkKIAlzdHJ1Y3QgbmxhdHRyICp0YltJRkxBX0lORVQ2X01BWCArIDFdOwog CWludCBlcnI7CiAKKwlpZiAoIWlkZXYpCisJCXJldHVybiAtRUFGTk9TVVBQT1JUOworCiAJaWYg KG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YiwgSUZMQV9JTkVUNl9NQVgsIG5sYSwgTlVM TCwgTlVMTCkgPCAwKQogCQlCVUcoKTsKIAotLSAKMi4yMS4xCgoKRnJvbSBhZGUyMzMyMjQzNDU3 ZTFjOWI1ZWFjNzUxMWI2M2Y5ZTBiZGZkYzE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBTdWRhcnNhbmEgUmVkZHkgS2FsbHVydSA8c2thbGx1cnVAbWFydmVsbC5jb20+CkRhdGU6IFdl ZCwgNSBGZWIgMjAyMCAwNToxMDo1NSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMjYvMzFdIHFlZDog Rml4IHRpbWVzdGFtcGluZyBpc3N1ZSBmb3IgTDIgdW5pY2FzdCBwdHAgcGFja2V0cy4KClsgVXBz dHJlYW0gY29tbWl0IDAyMDJkMjkzYzJmYWVjYmE3OTFiYTRhZmM1YWVjMDg2MjQ5YzM5M2QgXQoK Y29tbWl0IGNlZGVhYzlkZjRiOCAoInFlZDogQWRkIHN1cHBvcnQgZm9yIFRpbWVzdGFtcGluZyB0 aGUgdW5pY2FzdApQVFAgcGFja2V0cy4iKSBoYW5kbGVzIHRoZSB0aW1lc3RhbXBpbmcgb2YgTDQg cHRwIHBhY2tldHMgb25seS4KVGhpcyBwYXRjaCBhZGRzIGRyaXZlciBjaGFuZ2VzIHRvIGRldGVj dC90aW1lc3RhbXAgYm90aCBMMi9MNCB1bmljYXN0ClBUUCBwYWNrZXRzLgoKRml4ZXM6IGNlZGVh YzlkZjRiOCAoInFlZDogQWRkIHN1cHBvcnQgZm9yIFRpbWVzdGFtcGluZyB0aGUgdW5pY2FzdCBQ VFAgcGFja2V0cy4iKQpTaWduZWQtb2ZmLWJ5OiBTdWRhcnNhbmEgUmVkZHkgS2FsbHVydSA8c2th bGx1cnVAbWFydmVsbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFyaWVsIEVsaW9yIDxhZWxpb3JAbWFy dmVsbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9wdHAuYyB8IDQg KystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9wdHAuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWQvcWVkX3B0cC5jCmluZGV4IDBkYWNmMmMxOGMw OS4uM2U2MTMwNThlMjI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMv cWVkL3FlZF9wdHAuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9w dHAuYwpAQCAtNDQsOCArNDQsOCBAQAogLyogQWRkL3N1YnRyYWN0IHRoZSBBZGp1c3RtZW50X1Zh bHVlIHdoZW4gbWFraW5nIGEgRHJpZnQgYWRqdXN0bWVudCAqLwogI2RlZmluZSBRRURfRFJJRlRf Q05UUl9ESVJFQ1RJT05fU0hJRlQJCTMxCiAjZGVmaW5lIFFFRF9USU1FU1RBTVBfTUFTSwkJCUJJ VCgxNikKLS8qIFBhcmFtIG1hc2sgZm9yIEhhcmR3YXJlIHRvIGRldGVjdC90aW1lc3RhbXAgdGhl IHVuaWNhc3QgUFRQIHBhY2tldHMgKi8KLSNkZWZpbmUgUUVEX1BUUF9VQ0FTVF9QQVJBTV9NQVNL CQkweEYKKy8qIFBhcmFtIG1hc2sgZm9yIEhhcmR3YXJlIHRvIGRldGVjdC90aW1lc3RhbXAgdGhl IEwyL0w0IHVuaWNhc3QgUFRQIHBhY2tldHMgKi8KKyNkZWZpbmUgUUVEX1BUUF9VQ0FTVF9QQVJB TV9NQVNLICAgICAgICAgICAgICAweDcwRgogCiBzdGF0aWMgZW51bSBxZWRfcmVzY19sb2NrIHFl ZF9wdGNkZXZfdG9fcmVzYyhzdHJ1Y3QgcWVkX2h3Zm4gKnBfaHdmbikKIHsKLS0gCjIuMjEuMQoK CkZyb20gYWY4NTdhOTllMzI3NDc2MmIxMDQ2ZWI4N2NhZTUzZTNkNjBmZjM1YyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpE YXRlOiBGcmksIDcgRmViIDIwMjAgMTk6Mjk6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDI3LzMx XSBkcm9wX21vbml0b3I6IERvIG5vdCBjYW5jZWwgdW5pbml0aWFsaXplZCB3b3JrIGl0ZW0KClsg VXBzdHJlYW0gY29tbWl0IGRmYTdmNzA5NTk2YmU1Y2E0NmMwNzBkNGY4YWNiYjM0NDMyMjA1NmEg XQoKRHJvcCBtb25pdG9yIHVzZXMgYSB3b3JrIGl0ZW0gdGhhdCB0YWtlcyBjYXJlIG9mIGNvbnN0 cnVjdGluZyBhbmQKc2VuZGluZyBuZXRsaW5rIG5vdGlmaWNhdGlvbnMgdG8gdXNlciBzcGFjZS4g SW4gY2FzZSBkcm9wIG1vbml0b3IgbmV2ZXIKc3RhcnRlZCB0byBtb25pdG9yLCB0aGVuIHRoZSB3 b3JrIGl0ZW0gaXMgdW5pbml0aWFsaXplZCBhbmQgbm90CmFzc29jaWF0ZWQgd2l0aCBhIGZ1bmN0 aW9uLgoKVGhlcmVmb3JlLCBhIHN0b3AgY29tbWFuZCBmcm9tIHVzZXIgc3BhY2UgcmVzdWx0cyBp biBjYW5jZWxpbmcgYW4KdW5pbml0aWFsaXplZCB3b3JrIGl0ZW0gd2hpY2ggbGVhZHMgdG8gdGhl IGZvbGxvd2luZyB3YXJuaW5nIFsxXS4KCkZpeCB0aGlzIGJ5IG5vdCBwcm9jZXNzaW5nIGEgc3Rv cCBjb21tYW5kIGlmIGRyb3AgbW9uaXRvciBpcyBub3QKY3VycmVudGx5IG1vbml0b3JpbmcuCgpb MV0KWyAgIDMxLjczNTQwMl0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsg ICAzMS43MzY0NzBdIFdBUk5JTkc6IENQVTogMCBQSUQ6IDE0MyBhdCBrZXJuZWwvd29ya3F1ZXVl LmM6MzAzMiBfX2ZsdXNoX3dvcmsrMHg4OWYvMHg5ZjAKLi4uClsgICAzMS43MzgxMjBdIENQVTog MCBQSUQ6IDE0MyBDb21tOiBkd2R1bXAgTm90IHRhaW50ZWQgNS41LjAtY3VzdG9tLTA5NDkxLWcx NmQ0MDc3Nzk2YjggIzcyNwpbICAgMzEuNzQxOTY4XSBSSVA6IDAwMTA6X19mbHVzaF93b3JrKzB4 ODlmLzB4OWYwCi4uLgpbICAgMzEuNzYwNTI2XSBDYWxsIFRyYWNlOgpbICAgMzEuNzcxNjg5XSAg X19jYW5jZWxfd29ya190aW1lcisweDJhNi8weDNiMApbICAgMzEuNzc2ODA5XSAgbmV0X2RtX2Nt ZF90cmFjZSsweDMwMC8weGVmMApbICAgMzEuNzc3NTQ5XSAgZ2VubF9yY3ZfbXNnKzB4NWM2LzB4 ZDUwClsgICAzMS43ODEwMDVdICBuZXRsaW5rX3Jjdl9za2IrMHgxM2IvMHgzYTAKWyAgIDMxLjc4 NDExNF0gIGdlbmxfcmN2KzB4MjkvMHg0MApbICAgMzEuNzg0NzIwXSAgbmV0bGlua191bmljYXN0 KzB4NDlmLzB4NmEwClsgICAzMS43ODcxNDhdICBuZXRsaW5rX3NlbmRtc2crMHg3Y2YvMHhjODAK WyAgIDMxLjc5MDQyNl0gIF9fX19zeXNfc2VuZG1zZysweDYyMC8weDc3MApbICAgMzEuNzkzNDU4 XSAgX19fc3lzX3NlbmRtc2crMHhmZC8weDE3MApbICAgMzEuODAyMjE2XSAgX19zeXNfc2VuZG1z ZysweGRmLzB4MWEwClsgICAzMS44MDYxOTVdICBkb19zeXNjYWxsXzY0KzB4YTAvMHg1NDAKWyAg IDMxLjgwNjg4NV0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKCkZp eGVzOiA4ZTk0YzNiYzkyMmUgKCJkcm9wX21vbml0b3I6IEFsbG93IHVzZXIgdG8gc3RhcnQgbW9u aXRvcmluZyBoYXJkd2FyZSBkcm9wcyIpClNpZ25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRv c2NoQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3gu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2NvcmUvZHJvcF9tb25pdG9yLmMgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kcm9w X21vbml0b3IuYyBiL25ldC9jb3JlL2Ryb3BfbW9uaXRvci5jCmluZGV4IDUzNmUwMzJkOTVjOC4u MjQ2YTI1OGIxZmFjIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kcm9wX21vbml0b3IuYworKysgYi9u ZXQvY29yZS9kcm9wX21vbml0b3IuYwpAQCAtMTAwNCw4ICsxMDA0LDEwIEBAIHN0YXRpYyB2b2lk IG5ldF9kbV9od19tb25pdG9yX3N0b3Aoc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQog ewogCWludCBjcHU7CiAKLQlpZiAoIW1vbml0b3JfaHcpCisJaWYgKCFtb25pdG9yX2h3KSB7CiAJ CU5MX1NFVF9FUlJfTVNHX01PRChleHRhY2ssICJIYXJkd2FyZSBtb25pdG9yaW5nIGFscmVhZHkg ZGlzYWJsZWQiKTsKKwkJcmV0dXJuOworCX0KIAogCW1vbml0b3JfaHcgPSBmYWxzZTsKIAotLSAK Mi4yMS4xCgoKRnJvbSBmYjgxYzhlOTlmMWI2ZWQzMzgxNzQxZDc0ZmMxNzAzMjhiMTExZjNjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYW9yIEdvdHRsaWViIDxtYW9yZ0BtZWxsYW5v eC5jb20+CkRhdGU6IE1vbiwgMjcgSmFuIDIwMjAgMDk6Mjc6NTEgKzAyMDAKU3ViamVjdDogW1BB VENIIDI4LzMxXSBuZXQvbWx4NTogRml4IGRlYWRsb2NrIGluIGZzX2NvcmUKClsgVXBzdHJlYW0g Y29tbWl0IGMxOTQ4MzkwZDc4YjUxODNlZTliN2RkODMxZWZkN2Y2YWM0OTZhYjAgXQoKZnJlZV9t YXRjaF9saXN0IGNvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBmbG93IHRhYmxlIGlzIGFscmVhZHkK bG9ja2VkLiBXZSBuZWVkIHRvIHBhc3MgdGhpcyBub3RhdGlvbiB0byB0cmVlX3B1dF9ub2RlLgoK SXQgZml4ZXMgdGhlIGZvbGxvd2luZyBsb2NrZGVwIHdhcm5uaW5nOgoKWyAxNzk3LjI2ODUzN10g PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWyAxNzk3LjI3Njgz N10gV0FSTklORzogcG9zc2libGUgcmVjdXJzaXZlIGxvY2tpbmcgZGV0ZWN0ZWQKWyAxNzk3LjI4 NTEwMV0gNS41LjAtcmM1KyAjMTAgTm90IHRhaW50ZWQKWyAxNzk3LjI5MTY0MV0gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KWyAxNzk3LjI5OTkxN10gaGFuZGxl cjEwLzkyOTYgaXMgdHJ5aW5nIHRvIGFjcXVpcmUgbG9jazoKWyAxNzk3LjMwNzg4NV0gZmZmZjg4 OWFkMzk5YTBhMCAoJm5vZGUtPmxvY2speysrKyt9LCBhdDoKdHJlZV9wdXRfbm9kZSsweDFkNS8w eDIxMCBbbWx4NV9jb3JlXQpbIDE3OTcuMzE5Njk0XQpbIDE3OTcuMzE5Njk0XSBidXQgdGFzayBp cyBhbHJlYWR5IGhvbGRpbmcgbG9jazoKWyAxNzk3LjMzMDkwNF0gZmZmZjg4OWFkMzk5YTBhMCAo Jm5vZGUtPmxvY2speysrKyt9LCBhdDoKbmVzdGVkX2Rvd25fd3JpdGVfcmVmX25vZGUucGFydC4z MysweDFhLzB4NjAgW21seDVfY29yZV0KWyAxNzk3LjM0NDcwN10KWyAxNzk3LjM0NDcwN10gb3Ro ZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKWyAxNzk3LjM1Njk1Ml0gIFBv c3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgpbIDE3OTcuMzU2OTUyXQpbIDE3OTcuMzY4 MzMzXSAgICAgICAgQ1BVMApbIDE3OTcuMzczMzU3XSAgICAgICAgLS0tLQpbIDE3OTcuMzc4MzY0 XSAgIGxvY2soJm5vZGUtPmxvY2spOwpbIDE3OTcuMzg0MjIyXSAgIGxvY2soJm5vZGUtPmxvY2sp OwpbIDE3OTcuMzkwMDMxXQpbIDE3OTcuMzkwMDMxXSAgKioqIERFQURMT0NLICoqKgpbIDE3OTcu MzkwMDMxXQpbIDE3OTcuNDAzMDAzXSAgTWF5IGJlIGR1ZSB0byBtaXNzaW5nIGxvY2sgbmVzdGlu ZyBub3RhdGlvbgpbIDE3OTcuNDAzMDAzXQpbIDE3OTcuNDE0NjkxXSAzIGxvY2tzIGhlbGQgYnkg aGFuZGxlcjEwLzkyOTY6ClsgMTc5Ny40MjE0NjVdICAjMDogZmZmZjg4OWNmMmM1YTExMCAoJmJs b2NrLT5jYl9sb2NrKXsrKysrfSwgYXQ6CnRjX3NldHVwX2NiX2FkZCsweDcwLzB4MjUwClsgMTc5 Ny40MzI4MTBdICAjMTogZmZmZjg4YTAzMDA4MTQ5MCAoJmNvbXAtPnNlbSl7KysrK30sIGF0Ogpt bHg1X2RldmNvbV9nZXRfcGVlcl9kYXRhKzB4NGMvMHhiMCBbbWx4NV9jb3JlXQpbIDE3OTcuNDQ1 ODI5XSAgIzI6IGZmZmY4ODlhZDM5OWEwYTAgKCZub2RlLT5sb2NrKXsrKysrfSwgYXQ6Cm5lc3Rl ZF9kb3duX3dyaXRlX3JlZl9ub2RlLnBhcnQuMzMrMHgxYS8weDYwIFttbHg1X2NvcmVdClsgMTc5 Ny40NTk5MTNdClsgMTc5Ny40NTk5MTNdIHN0YWNrIGJhY2t0cmFjZToKWyAxNzk3LjQ2OTQzNl0g Q1BVOiAxIFBJRDogOTI5NiBDb21tOiBoYW5kbGVyMTAgS2R1bXA6IGxvYWRlZCBOb3QKdGFpbnRl ZCA1LjUuMC1yYzUrICMxMApbIDE3OTcuNDgwNjQzXSBIYXJkd2FyZSBuYW1lOiBEZWxsIEluYy4g UG93ZXJFZGdlIFI3MzAvMDcyVDZELCBCSU9TCjIuNC4zIDAxLzE3LzIwMTcKWyAxNzk3LjQ5MTQ4 MF0gQ2FsbCBUcmFjZToKWyAxNzk3LjQ5NjcwMV0gIGR1bXBfc3RhY2srMHg5Ni8weGUwClsgMTc5 Ny41MDI4NjRdICBfX2xvY2tfYWNxdWlyZS5jb2xkLjYzKzB4ZjgvMHgyMTIKWyAxNzk3LjUxMDMw MV0gID8gbG9ja2RlcF9oYXJkaXJxc19vbisweDI1MC8weDI1MApbIDE3OTcuNTE3NzAxXSAgPyBt YXJrX2hlbGRfbG9ja3MrMHg1NS8weGEwClsgMTc5Ny41MjQ1NDddICA/IHF1YXJhbnRpbmVfcHV0 KzB4YjcvMHgxNjAKWyAxNzk3LjUzMTQyMl0gID8gbG9ja2RlcF9oYXJkaXJxc19vbisweDE3ZC8w eDI1MApbIDE3OTcuNTM4OTEzXSAgbG9ja19hY3F1aXJlKzB4ZDYvMHgxZjAKWyAxNzk3LjU0NTUy OV0gID8gdHJlZV9wdXRfbm9kZSsweDFkNS8weDIxMCBbbWx4NV9jb3JlXQpbIDE3OTcuNTUzNzAx XSAgZG93bl93cml0ZSsweDk0LzB4MTQwClsgMTc5Ny41NjAyMDZdICA/IHRyZWVfcHV0X25vZGUr MHgxZDUvMHgyMTAgW21seDVfY29yZV0KWyAxNzk3LjU2ODQ2NF0gID8gZG93bl93cml0ZV9raWxs YWJsZV9uZXN0ZWQrMHgxNzAvMHgxNzAKWyAxNzk3LjU3NjkyNV0gID8gZGVsX2h3X2Zsb3dfZ3Jv dXArMHhkZS8weDFmMCBbbWx4NV9jb3JlXQpbIDE3OTcuNTg1NjI5XSAgdHJlZV9wdXRfbm9kZSsw eDFkNS8weDIxMCBbbWx4NV9jb3JlXQpbIDE3OTcuNTkzODkxXSAgPyBmcmVlX21hdGNoX2xpc3Qu cGFydC4yNSsweDE0Ny8weDE3MCBbbWx4NV9jb3JlXQpbIDE3OTcuNjAzMzg5XSAgZnJlZV9tYXRj aF9saXN0LnBhcnQuMjUrMHhlMC8weDE3MCBbbWx4NV9jb3JlXQpbIDE3OTcuNjEyNjU0XSAgX21s eDVfYWRkX2Zsb3dfcnVsZXMrMHgxN2UyLzB4MjBiMCBbbWx4NV9jb3JlXQpbIDE3OTcuNjIxODM4 XSAgPyBsb2NrX2FjcXVpcmUrMHhkNi8weDFmMApbIDE3OTcuNjI5MDI4XSAgPyBlc3dfZ2V0X3By aW9fdGFibGUrMHhiMC8weDNlMCBbbWx4NV9jb3JlXQpbIDE3OTcuNjM3OTgxXSAgPyBhbGxvY19p bnNlcnRfZmxvd19ncm91cCsweDQyMC8weDQyMCBbbWx4NV9jb3JlXQpbIDE3OTcuNjQ3NDU5XSAg PyB0cnlfdG9fd2FrZV91cCsweDRjNy8weGM3MApbIDE3OTcuNjU0ODgxXSAgPyBsb2NrX2Rvd25n cmFkZSsweDM1MC8weDM1MApbIDE3OTcuNjYyMjcxXSAgPyBfX211dGV4X3VubG9ja19zbG93cGF0 aCsweGIxLzB4M2YwClsgMTc5Ny42NzAzOTZdICA/IGZpbmRfaGVsZF9sb2NrKzB4YWMvMHhkMApb IDE3OTcuNjc3NTQwXSAgPyBtbHg1X2FkZF9mbG93X3J1bGVzKzB4ZGMvMHgzNjAgW21seDVfY29y ZV0KWyAxNzk3LjY4NjQ2N10gIG1seDVfYWRkX2Zsb3dfcnVsZXMrMHhkYy8weDM2MCBbbWx4NV9j b3JlXQpbIDE3OTcuNjk1MTM0XSAgPyBfbWx4NV9hZGRfZmxvd19ydWxlcysweDIwYjAvMHgyMGIw IFttbHg1X2NvcmVdClsgMTc5Ny43MDQyNzBdICA/IGlycV9leGl0KzB4YTUvMHgxNzAKWyAxNzk3 LjcxMDc2NF0gID8gcmV0aW50X2tlcm5lbCsweDEwLzB4MTAKWyAxNzk3LjcxNzY5OF0gID8gbWx4 NV9lc3dpdGNoX3NldF9ydWxlX3NvdXJjZV9wb3J0LmlzcmEuOSsweDEyMi8weDIzMApbbWx4NV9j b3JlXQpbIDE3OTcuNzI4NzA4XSAgbWx4NV9lc3dpdGNoX2FkZF9vZmZsb2FkZWRfcnVsZSsweDQ2 NS8weDZkMCBbbWx4NV9jb3JlXQpbIDE3OTcuNzM4NzEzXSAgPyBtbHg1X2Vzd2l0Y2hfZ2V0X3By aW9fcmFuZ2UrMHgzMC8weDMwIFttbHg1X2NvcmVdClsgMTc5Ny43NDgzODRdICA/IG1seDVfZmNf c3RhdHNfd29yaysweDY3MC8weDY3MCBbbWx4NV9jb3JlXQpbIDE3OTcuNzU3NDAwXSAgbWx4NWVf dGNfb2ZmbG9hZF9mZGJfcnVsZXMuaXNyYS4yNysweDI0LzB4OTAgW21seDVfY29yZV0KWyAxNzk3 Ljc2NzY2NV0gIG1seDVlX3RjX2FkZF9mZGJfZmxvdysweGFmOC8weGQ0MCBbbWx4NV9jb3JlXQpb IDE3OTcuNzc2ODg2XSAgPyBtbHg1ZV9lbmNhcF9wdXQrMHhkMC8weGQwIFttbHg1X2NvcmVdClsg MTc5Ny43ODU1NjJdICA/IG1seDVlX2FsbG9jX2Zsb3cuaXNyYS40MysweDE4Yy8weDFjMCBbbWx4 NV9jb3JlXQpbIDE3OTcuNzk1MzUzXSAgX19tbHg1ZV9hZGRfZmRiX2Zsb3crMHgyZTIvMHg0NDAg W21seDVfY29yZV0KWyAxNzk3LjgwNDU1OF0gID8gbWx4NWVfdGNfdXBkYXRlX25laWdoX3VzZWRf dmFsdWUrMHg4YzAvMHg4YzAKW21seDVfY29yZV0KWyAxNzk3LjgxNTA5M10gID8gd2FpdF9mb3Jf Y29tcGxldGlvbisweDI2MC8weDI2MApbIDE3OTcuODIzMjcyXSAgbWx4NWVfY29uZmlndXJlX2Zs b3dlcisweGU5NC8weDE2MjAgW21seDVfY29yZV0KWyAxNzk3LjgzMjc5Ml0gID8gX19tbHg1ZV9h ZGRfZmRiX2Zsb3crMHg0NDAvMHg0NDAgW21seDVfY29yZV0KWyAxNzk3Ljg0MjA5Nl0gID8gZG93 bl9yZWFkKzB4MTFhLzB4MmUwClsgMTc5Ny44NDkwOTBdICA/IGRvd25fd3JpdGUrMHgxNDAvMHgx NDAKWyAxNzk3Ljg1NjE0Ml0gID8gbWx4NWVfcmVwX2luZHJfc2V0dXBfYmxvY2tfY2IrMHhjMC8w eGMwIFttbHg1X2NvcmVdClsgMTc5Ny44NjYwMjddICB0Y19zZXR1cF9jYl9hZGQrMHgxMWEvMHgy NTAKWyAxNzk3Ljg3MzMzOV0gIGZsX2h3X3JlcGxhY2VfZmlsdGVyKzB4MjVlLzB4MzIwIFtjbHNf Zmxvd2VyXQpbIDE3OTcuODgyMzg1XSAgPyBmbF9od19kZXN0cm95X2ZpbHRlcisweDFjMC8weDFj MCBbY2xzX2Zsb3dlcl0KWyAxNzk3Ljg5MTYwN10gIGZsX2NoYW5nZSsweDFkNTQvMHgxZmI2IFtj bHNfZmxvd2VyXQpbIDE3OTcuODk5NzcyXSAgPyBfX3JoYXNodGFibGVfaW5zZXJ0X2Zhc3QuY29u c3Rwcm9wLjUwKzB4OWYwLzB4OWYwCltjbHNfZmxvd2VyXQpbIDE3OTcuOTEwNzI4XSAgPyBsb2Nr X2Rvd25ncmFkZSsweDM1MC8weDM1MApbIDE3OTcuOTE4MTg3XSAgPyBfX3JhZGl4X3RyZWVfbG9v a3VwKzB4YTUvMHgxMzAKWyAxNzk3LjkyNjA0Nl0gID8gZmxfc2V0X2tleSsweDE1OTAvMHgxNTkw IFtjbHNfZmxvd2VyXQpbIDE3OTcuOTM0NjExXSAgPyBfX3JoYXNodGFibGVfaW5zZXJ0X2Zhc3Qu Y29uc3Rwcm9wLjUwKzB4OWYwLzB4OWYwCltjbHNfZmxvd2VyXQpbIDE3OTcuOTQ1NjczXSAgdGNf bmV3X3RmaWx0ZXIrMHhjZDEvMHgxMjQwClsgMTc5Ny45NTMxMzhdICA/IHRjX2RlbF90ZmlsdGVy KzB4YjEwLzB4YjEwClsgMTc5Ny45NjA2ODhdICA/IGF2Y19oYXNfcGVybV9ub2F1ZGl0KzB4OTIv MHgzMjAKWyAxNzk3Ljk2ODcyMV0gID8gYXZjX2hhc19wZXJtX25vYXVkaXQrMHgxZGYvMHgzMjAK WyAxNzk3Ljk3NjgxNl0gID8gYXZjX2hhc19leHRlbmRlZF9wZXJtcysweDk5MC8weDk5MApbIDE3 OTcuOTg1MDkwXSAgPyBtYXJrX2xvY2srMHhhYS8weDllMApbIDE3OTcuOTkxOTg4XSAgPyBtYXRj aF9oZWxkX2xvY2srMHgxYi8weDI0MApbIDE3OTcuOTk5NDU3XSAgPyBtYXRjaF9oZWxkX2xvY2sr MHgxYi8weDI0MApbIDE3OTguMDA2ODU5XSAgPyBmaW5kX2hlbGRfbG9jaysweGFjLzB4ZDAKWyAx Nzk4LjAxNDA0NV0gID8gc3ltYm9sX3B1dF9hZGRyKzB4NDAvMHg0MApbIDE3OTguMDIxMzE3XSAg PyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHhkMC8weGQwClsgMTc5OC4wMjk0NjBdICA/IHRj X2RlbF90ZmlsdGVyKzB4YjEwLzB4YjEwClsgMTc5OC4wMzY4MTBdICBydG5ldGxpbmtfcmN2X21z ZysweDRkNS8weDYyMApbIDE3OTguMDQ0MjM2XSAgPyBydG5sX2JyaWRnZV9nZXRsaW5rKzB4NDYw LzB4NDYwClsgMTc5OC4wNTIwMzRdICA/IGxvY2tkZXBfaGFyZGlycXNfb24rMHgyNTAvMHgyNTAK WyAxNzk4LjA1OTgzN10gID8gbWF0Y2hfaGVsZF9sb2NrKzB4MWIvMHgyNDAKWyAxNzk4LjA2NzE0 Nl0gID8gZmluZF9oZWxkX2xvY2srMHhhYy8weGQwClsgMTc5OC4wNzQyNDZdICBuZXRsaW5rX3Jj dl9za2IrMHhjNi8weDFmMApbIDE3OTguMDgxMzM5XSAgPyBydG5sX2JyaWRnZV9nZXRsaW5rKzB4 NDYwLzB4NDYwClsgMTc5OC4wODkxMDRdICA/IG5ldGxpbmtfYWNrKzB4NDQwLzB4NDQwClsgMTc5 OC4wOTYwNjFdICBuZXRsaW5rX3VuaWNhc3QrMHgyZDQvMHgzYjAKWyAxNzk4LjEwMzE4OV0gID8g bmV0bGlua19hdHRhY2hza2IrMHgzZjAvMHgzZjAKWyAxNzk4LjExMDcyNF0gID8gX2NvcHlfZnJv bV9pdGVyX2Z1bGwrMHhkYS8weDM3MApbIDE3OTguMTE4NDE1XSAgbmV0bGlua19zZW5kbXNnKzB4 M2JhLzB4NmEwClsgMTc5OC4xMjU0NzhdICA/IG5ldGxpbmtfdW5pY2FzdCsweDNiMC8weDNiMApb IDE3OTguMTMyNzA1XSAgPyBuZXRsaW5rX3VuaWNhc3QrMHgzYjAvMHgzYjAKWyAxNzk4LjEzOTg4 MF0gIHNvY2tfc2VuZG1zZysweDk0LzB4YTAKWyAxNzk4LjE0NjMzMl0gIF9fX19zeXNfc2VuZG1z ZysweDM2Yy8weDNmMApbIDE3OTguMTUzMjUxXSAgPyBjb3B5X21zZ2hkcl9mcm9tX3VzZXIrMHgx NjUvMHgyMzAKWyAxNzk4LjE2MDk0MV0gID8ga2VybmVsX3NlbmRtc2crMHgzMC8weDMwClsgMTc5 OC4xNjc3MzhdICBfX19zeXNfc2VuZG1zZysweGViLzB4MTUwClsgMTc5OC4xNzQ0MTFdICA/IHNl bmRtc2dfY29weV9tc2doZHIrMHgzMC8weDMwClsgMTc5OC4xODE2NDldICA/IGxvY2tfZG93bmdy YWRlKzB4MzUwLzB4MzUwClsgMTc5OC4xODg1NTldICA/IHJjdV9yZWFkX2xvY2tfc2NoZWRfaGVs ZCsweGQwLzB4ZDAKWyAxNzk4LjE5NjIzOV0gID8gX19mZ2V0KzB4MjFkLzB4MzIwClsgMTc5OC4y MDIzMzVdICA/IGRvX2R1cDIrMHgyYTAvMHgyYTAKWyAxNzk4LjIwODQ5OV0gID8gbG9ja19kb3du Z3JhZGUrMHgzNTAvMHgzNTAKWyAxNzk4LjIxNTM2Nl0gID8gX19mZ2V0X2xpZ2h0KzB4ZDYvMHhm MApbIDE3OTguMjIxODA4XSAgPyBzeXNjYWxsX3RyYWNlX2VudGVyKzB4MzY5LzB4NWQwClsgMTc5 OC4yMjkxMTJdICBfX3N5c19zZW5kbXNnKzB4ZDMvMHgxNjAKWyAxNzk4LjIzNTUxMV0gID8gX19z eXNfc2VuZG1zZ19zb2NrKzB4NjAvMHg2MApbIDE3OTguMjQyNDc4XSAgPyBzeXNjYWxsX3RyYWNl X2VudGVyKzB4MjMzLzB4NWQwClsgMTc5OC4yNDk3MjFdICA/IHN5c2NhbGxfc2xvd19leGl0X3dv cmsrMHgyODAvMHgyODAKWyAxNzk4LjI1NzIxMV0gID8gZG9fc3lzY2FsbF82NCsweDFlLzB4MmUw ClsgMTc5OC4yNjM2ODBdICBkb19zeXNjYWxsXzY0KzB4NzIvMHgyZTAKWyAxNzk4LjI2OTk1MF0g IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKCkZpeGVzOiBiZDcxYjA4 ZWMyZWUgKCJuZXQvbWx4NTogU3VwcG9ydCBtdWx0aXBsZSB1cGRhdGVzIG9mIHN0ZWVyaW5nIHJ1 bGVzIGluIHBhcmFsbGVsIikKU2lnbmVkLW9mZi1ieTogTWFvciBHb3R0bGllYiA8bWFvcmdAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGFhIEhsZWloZWwgPGFsYWFAbWVsbGFub3guY29t PgpSZXZpZXdlZC1ieTogTWFyayBCbG9jaCA8bWFya2JAbWVsbGFub3guY29tPgpTaWduZWQtb2Zm LWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jIHwgMTUgKysrKysrKystLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3Jl LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jCmlu ZGV4IDhjNWRmNmM3ZDdiNi4uOGFmODdmOTIyZmI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMKQEAgLTE1NTUsMTYgKzE1NTUsMTYg QEAgc3RydWN0IG1hdGNoX2xpc3RfaGVhZCB7CiAJc3RydWN0IG1hdGNoX2xpc3QgZmlyc3Q7CiB9 OwogCi1zdGF0aWMgdm9pZCBmcmVlX21hdGNoX2xpc3Qoc3RydWN0IG1hdGNoX2xpc3RfaGVhZCAq aGVhZCkKK3N0YXRpYyB2b2lkIGZyZWVfbWF0Y2hfbGlzdChzdHJ1Y3QgbWF0Y2hfbGlzdF9oZWFk ICpoZWFkLCBib29sIGZ0X2xvY2tlZCkKIHsKIAlpZiAoIWxpc3RfZW1wdHkoJmhlYWQtPmxpc3Qp KSB7CiAJCXN0cnVjdCBtYXRjaF9saXN0ICppdGVyLCAqbWF0Y2hfdG1wOwogCiAJCWxpc3RfZGVs KCZoZWFkLT5maXJzdC5saXN0KTsKLQkJdHJlZV9wdXRfbm9kZSgmaGVhZC0+Zmlyc3QuZy0+bm9k ZSwgZmFsc2UpOworCQl0cmVlX3B1dF9ub2RlKCZoZWFkLT5maXJzdC5nLT5ub2RlLCBmdF9sb2Nr ZWQpOwogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoaXRlciwgbWF0Y2hfdG1wLCAmaGVhZC0+ bGlzdCwKIAkJCQkJIGxpc3QpIHsKLQkJCXRyZWVfcHV0X25vZGUoJml0ZXItPmctPm5vZGUsIGZh bHNlKTsKKwkJCXRyZWVfcHV0X25vZGUoJml0ZXItPmctPm5vZGUsIGZ0X2xvY2tlZCk7CiAJCQls aXN0X2RlbCgmaXRlci0+bGlzdCk7CiAJCQlrZnJlZShpdGVyKTsKIAkJfQpAQCAtMTU3Myw3ICsx NTczLDggQEAgc3RhdGljIHZvaWQgZnJlZV9tYXRjaF9saXN0KHN0cnVjdCBtYXRjaF9saXN0X2hl YWQgKmhlYWQpCiAKIHN0YXRpYyBpbnQgYnVpbGRfbWF0Y2hfbGlzdChzdHJ1Y3QgbWF0Y2hfbGlz dF9oZWFkICptYXRjaF9oZWFkLAogCQkJICAgIHN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ0LAot CQkJICAgIGNvbnN0IHN0cnVjdCBtbHg1X2Zsb3dfc3BlYyAqc3BlYykKKwkJCSAgICBjb25zdCBz dHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsCisJCQkgICAgYm9vbCBmdF9sb2NrZWQpCiB7CiAJ c3RydWN0IHJobGlzdF9oZWFkICp0bXAsICpsaXN0OwogCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAg Kmc7CkBAIC0xNTk4LDcgKzE1OTksNyBAQCBzdGF0aWMgaW50IGJ1aWxkX21hdGNoX2xpc3Qoc3Ry dWN0IG1hdGNoX2xpc3RfaGVhZCAqbWF0Y2hfaGVhZCwKIAogCQljdXJyX21hdGNoID0ga21hbGxv YyhzaXplb2YoKmN1cnJfbWF0Y2gpLCBHRlBfQVRPTUlDKTsKIAkJaWYgKCFjdXJyX21hdGNoKSB7 Ci0JCQlmcmVlX21hdGNoX2xpc3QobWF0Y2hfaGVhZCk7CisJCQlmcmVlX21hdGNoX2xpc3QobWF0 Y2hfaGVhZCwgZnRfbG9ja2VkKTsKIAkJCWVyciA9IC1FTk9NRU07CiAJCQlnb3RvIG91dDsKIAkJ fQpAQCAtMTc3OCw3ICsxNzc5LDcgQEAgX21seDVfYWRkX2Zsb3dfcnVsZXMoc3RydWN0IG1seDVf Zmxvd190YWJsZSAqZnQsCiAJdmVyc2lvbiA9IGF0b21pY19yZWFkKCZmdC0+bm9kZS52ZXJzaW9u KTsKIAogCS8qIENvbGxlY3QgYWxsIGZncyB3aGljaCBoYXMgYSBtYXRjaGluZyBtYXRjaF9jcml0 ZXJpYSAqLwotCWVyciA9IGJ1aWxkX21hdGNoX2xpc3QoJm1hdGNoX2hlYWQsIGZ0LCBzcGVjKTsK KwllcnIgPSBidWlsZF9tYXRjaF9saXN0KCZtYXRjaF9oZWFkLCBmdCwgc3BlYywgdGFrZV93cml0 ZSk7CiAJaWYgKGVycikgewogCQlpZiAodGFrZV93cml0ZSkKIAkJCXVwX3dyaXRlX3JlZl9ub2Rl KCZmdC0+bm9kZSwgZmFsc2UpOwpAQCAtMTc5Miw3ICsxNzkzLDcgQEAgX21seDVfYWRkX2Zsb3df cnVsZXMoc3RydWN0IG1seDVfZmxvd190YWJsZSAqZnQsCiAKIAlydWxlID0gdHJ5X2FkZF90b19l eGlzdGluZ19mZyhmdCwgJm1hdGNoX2hlYWQubGlzdCwgc3BlYywgZmxvd19hY3QsIGRlc3QsCiAJ CQkJICAgICAgZGVzdF9udW0sIHZlcnNpb24pOwotCWZyZWVfbWF0Y2hfbGlzdCgmbWF0Y2hfaGVh ZCk7CisJZnJlZV9tYXRjaF9saXN0KCZtYXRjaF9oZWFkLCB0YWtlX3dyaXRlKTsKIAlpZiAoIUlT X0VSUihydWxlKSB8fAogCSAgICAoUFRSX0VSUihydWxlKSAhPSAtRU5PRU5UICYmIFBUUl9FUlIo cnVsZSkgIT0gLUVBR0FJTikpIHsKIAkJaWYgKHRha2Vfd3JpdGUpCi0tIAoyLjIxLjEKCgpGcm9t IGE4NDM1YzUxM2MxYzFjY2ExNzRmNGJjNmZkNjliY2QyZTNmZDZiNTMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KRGF0ZTog TW9uLCAyNyBKYW4gMjAyMCAxNDoxODoxNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjkvMzFdIG5l dC9tbHg1OiBEZXByZWNhdGUgdXNhZ2Ugb2YgZ2VuZXJpYyBUTFMgSFcgY2FwYWJpbGl0eQogYml0 CgpbIFVwc3RyZWFtIGNvbW1pdCA2MWMwMGNjYTQxYWVlYWE4ZTUyNjNjMmY4MWYyODUzNGJjMWVm YWZiIF0KCkRlcHJlY2F0ZSB0aGUgZ2VuZXJpYyBUTFMgY2FwIGJpdCwgdXNlIHRoZSBuZXcgVFgt c3BlY2lmaWMKVExTIGNhcCBiaXQgaW5zdGVhZC4KCkZpeGVzOiBhMTJmZjM1ZTBmYjcgKCJuZXQv bWx4NTogSW50cm9kdWNlIFRMUyBUWCBvZmZsb2FkIGhhcmR3YXJlIGJpdHMgYW5kIHN0cnVjdHVy ZXMiKQpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClJl dmlld2VkLWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9hY2NlbC90bHMuaCAgICAgICAgfCAyICst CiAuLi4vbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9hY2NlbC90bHNfcnh0eC5j ICAgIHwgMiArLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Z3LmMg ICAgICAgICAgICAgICB8IDIgKy0KIGluY2x1ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCA3ICsrKystLS0KIDQgZmlsZXMgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9hY2NlbC90bHMuaCBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9hY2NlbC90bHMuaAppbmRleCBkNzg3YmMwYTQxNTUuLmUw OWJjMzg1OGQ1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2FjY2VsL3Rscy5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9hY2NlbC90bHMuaApAQCAtNDUsNyArNDUsNyBAQCB2b2lkIG1seDVfa3Rsc19kZXN0 cm95X2tleShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwgdTMyIGtleV9pZCk7CiAKIHN0YXRp YyBpbmxpbmUgYm9vbCBtbHg1X2FjY2VsX2lzX2t0bHNfZGV2aWNlKHN0cnVjdCBtbHg1X2NvcmVf ZGV2ICptZGV2KQogewotCWlmICghTUxYNV9DQVBfR0VOKG1kZXYsIHRscykpCisJaWYgKCFNTFg1 X0NBUF9HRU4obWRldiwgdGxzX3R4KSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKCFNTFg1X0NB UF9HRU4obWRldiwgbG9nX21heF9kZWspKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2FjY2VsL3Rsc19yeHR4LmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fYWNjZWwvdGxzX3J4dHguYwppbmRleCA3MTM4 NGFkMWE0NDMuLmVmMWVkMTVhNTNiNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuX2FjY2VsL3Rsc19yeHR4LmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2FjY2VsL3Rsc19yeHR4LmMKQEAgLTI2OSw3 ICsyNjksNyBAQCBzdHJ1Y3Qgc2tfYnVmZiAqbWx4NWVfdGxzX2hhbmRsZV90eF9za2Ioc3RydWN0 IG5ldF9kZXZpY2UgKm5ldGRldiwKIAlpbnQgZGF0YWxlbjsKIAl1MzIgc2tiX3NlcTsKIAotCWlm IChNTFg1X0NBUF9HRU4oc3EtPmNoYW5uZWwtPm1kZXYsIHRscykpIHsKKwlpZiAoTUxYNV9DQVBf R0VOKHNxLT5jaGFubmVsLT5tZGV2LCB0bHNfdHgpKSB7CiAJCXNrYiA9IG1seDVlX2t0bHNfaGFu ZGxlX3R4X3NrYihuZXRkZXYsIHNxLCBza2IsIHdxZSwgcGkpOwogCQlnb3RvIG91dDsKIAl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZncuYyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mdy5jCmluZGV4IGExOTc5 MGRlZTdiMi4uMTNlODZmMGI0MmY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZncuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZncuYwpAQCAtMjM5LDcgKzIzOSw3IEBAIGludCBtbHg1X3F1ZXJ5X2hjYV9j YXBzKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpCiAJCQlyZXR1cm4gZXJyOwogCX0KIAotCWlm IChNTFg1X0NBUF9HRU4oZGV2LCB0bHMpKSB7CisJaWYgKE1MWDVfQ0FQX0dFTihkZXYsIHRsc190 eCkpIHsKIAkJZXJyID0gbWx4NV9jb3JlX2dldF9jYXBzKGRldiwgTUxYNV9DQVBfVExTKTsKIAkJ aWYgKGVycikKIAkJCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDUv bWx4NV9pZmMuaCBiL2luY2x1ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oCmluZGV4IDVkNTRmY2Nm ODdmYy4uNTZmMTI0YTZlY2NiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21seDUvbWx4NV9p ZmMuaAorKysgYi9pbmNsdWRlL2xpbnV4L21seDUvbWx4NV9pZmMuaApAQCAtMTQxOCwxNCArMTQx OCwxNSBAQCBzdHJ1Y3QgbWx4NV9pZmNfY21kX2hjYV9jYXBfYml0cyB7CiAKIAl1OCAgICAgICAg IHJlc2VydmVkX2F0XzQ0MFsweDIwXTsKIAotCXU4ICAgICAgICAgdGxzWzB4MV07Ci0JdTggICAg ICAgICByZXNlcnZlZF9hdF80NjFbMHgyXTsKKwl1OCAgICAgICAgIHJlc2VydmVkX2F0XzQ2MFsw eDNdOwogCXU4ICAgICAgICAgbG9nX21heF91Y3R4WzB4NV07CiAJdTggICAgICAgICByZXNlcnZl ZF9hdF80NjhbMHgzXTsKIAl1OCAgICAgICAgIGxvZ19tYXhfdW1lbVsweDVdOwogCXU4ICAgICAg ICAgbWF4X251bV9lcXNbMHgxMF07CiAKLQl1OCAgICAgICAgIHJlc2VydmVkX2F0XzQ4MFsweDNd OworCXU4ICAgICAgICAgcmVzZXJ2ZWRfYXRfNDgwWzB4MV07CisJdTggICAgICAgICB0bHNfdHhb MHgxXTsKKwl1OCAgICAgICAgIHJlc2VydmVkX2F0XzQ4MlsweDFdOwogCXU4ICAgICAgICAgbG9n X21heF9sMl90YWJsZVsweDVdOwogCXU4ICAgICAgICAgcmVzZXJ2ZWRfYXRfNDg4WzB4OF07CiAJ dTggICAgICAgICBsb2dfdWFyX3BhZ2Vfc3pbMHgxMF07Ci0tIAoyLjIxLjEKCgpGcm9tIDExOWQx OGY0NTBhYjk0ZTZkYWZmODIyMzgxYTQzMGZkMDIxOTdhMDQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgNSBGZWIgMjAyMCAyMToyMjo0NiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzAvMzFdIHI4MTY5 OiBmaXggcGVyZm9ybWFuY2UgcmVncmVzc2lvbiByZWxhdGVkIHRvIFBDSWUgbWF4CiByZWFkIHJl cXVlc3Qgc2l6ZQoKWyBVcHN0cmVhbSBjb21taXQgMjFiNWY2NzJmYjJlYjEzNjZkZWRjNGFjOWQz MjQzMTE0NmIzNzhkMyBdCgpJdCB0dXJuZWQgb3V0IHRoYXQgb24gbG93IHBlcmZvcm1hbmNlIHN5 c3RlbXMgdGhlIG9yaWdpbmFsIGNoYW5nZSBjYW4KY2F1c2UgbG93ZXIgdHggcGVyZm9ybWFuY2Uu IE9uIGEgTjM0NTAtYmFzZWQgbWluaS1QQyB0eCBwZXJmb3JtYW5jZQppbiBpcGVyZjMgd2FzIHJl ZHVjZWQgZnJvbSA5NTBNYnBzIHRvIH45MDBNYnBzLiBUaGVyZWZvcmUgZWZmZWN0aXZlbHkKcmV2 ZXJ0IHRoZSBvcmlnaW5hbCBjaGFuZ2UsIGp1c3QgdXNlIHBjaWVfc2V0X3JlYWRycSgpIG5vdyBp bnN0ZWFkIG9mCmNoYW5naW5nIHRoZSBQQ0llIGNhcGFiaWxpdHkgcmVnaXN0ZXIgZGlyZWN0bHku CgpGaXhlczogMmRmNDlkMzY1NDk4ICgicjgxNjk6IHJlbW92ZSBmaWRkbGluZyB3aXRoIHRoZSBQ Q0llIG1heCByZWFkIHJlcXVlc3Qgc2l6ZSIpClNpZ25lZC1vZmYtYnk6IEhlaW5lciBLYWxsd2Vp dCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4 MTY5X21haW4uYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OV9tYWluLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5X21haW4uYwppbmRleCA2N2E0ZDVkNDVl M2EuLjkyYTU5MDE1NGJiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRl ay9yODE2OV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OV9t YWluLmMKQEAgLTM4NjUsMTUgKzM4NjUsMTggQEAgc3RhdGljIHZvaWQgcnRsX2h3X2p1bWJvX2Vu YWJsZShzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCkKIAlzd2l0Y2ggKHRwLT5tYWNfdmVyc2lv bikgewogCWNhc2UgUlRMX0dJR0FfTUFDX1ZFUl8xMjoKIAljYXNlIFJUTF9HSUdBX01BQ19WRVJf MTc6CisJCXBjaWVfc2V0X3JlYWRycSh0cC0+cGNpX2RldiwgNTEyKTsKIAkJcjgxNjhiXzFfaHdf anVtYm9fZW5hYmxlKHRwKTsKIAkJYnJlYWs7CiAJY2FzZSBSVExfR0lHQV9NQUNfVkVSXzE4IC4u LiBSVExfR0lHQV9NQUNfVkVSXzI2OgorCQlwY2llX3NldF9yZWFkcnEodHAtPnBjaV9kZXYsIDUx Mik7CiAJCXI4MTY4Y19od19qdW1ib19lbmFibGUodHApOwogCQlicmVhazsKIAljYXNlIFJUTF9H SUdBX01BQ19WRVJfMjcgLi4uIFJUTF9HSUdBX01BQ19WRVJfMjg6CiAJCXI4MTY4ZHBfaHdfanVt Ym9fZW5hYmxlKHRwKTsKIAkJYnJlYWs7CiAJY2FzZSBSVExfR0lHQV9NQUNfVkVSXzMxIC4uLiBS VExfR0lHQV9NQUNfVkVSXzMzOgorCQlwY2llX3NldF9yZWFkcnEodHAtPnBjaV9kZXYsIDUxMik7 CiAJCXI4MTY4ZV9od19qdW1ib19lbmFibGUodHApOwogCQlicmVhazsKIAlkZWZhdWx0OgpAQCAt MzkwMyw2ICszOTA2LDkgQEAgc3RhdGljIHZvaWQgcnRsX2h3X2p1bWJvX2Rpc2FibGUoc3RydWN0 IHJ0bDgxNjlfcHJpdmF0ZSAqdHApCiAJCWJyZWFrOwogCX0KIAlydGxfbG9ja19jb25maWdfcmVn cyh0cCk7CisKKwlpZiAocGNpX2lzX3BjaWUodHAtPnBjaV9kZXYpICYmIHRwLT5zdXBwb3J0c19n bWlpKQorCQlwY2llX3NldF9yZWFkcnEodHAtPnBjaV9kZXYsIDQwOTYpOwogfQogCiBzdGF0aWMg dm9pZCBydGxfanVtYm9fY29uZmlnKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRwLCBpbnQgbXR1 KQotLSAKMi4yMS4xCgoKRnJvbSA3ZWE2NWNiNzM0NjIzMjcxN2VhMTlmZjVhYWE4MTBjMTUwZTNm MDc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBt ZWxsYW5veC5jb20+CkRhdGU6IFRodSwgOSBKYW4gMjAyMCAxNTo1MzozNyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMzEvMzFdIG5ldC9tbHg1ZTogVFgsIEVycm9yIGNvbXBsZXRpb24gaXMgZm9yIGxh c3QgV1FFIGluCiBiYXRjaAoKWyBVcHN0cmVhbSBjb21taXQgYjU3ZTY2YWQ0MmQwNTFlZDMxMzE5 YzI4ZWQxYjYyYjE5MTI5OWEyOSBdCgpGb3IgYSBjeWNsaWMgd29yayBxdWV1ZSwgd2hlbiBub3Qg cmVxdWVzdGluZyBhIGNvbXBsZXRpb24gcGVyIFdRRSwKYSBzaW5nbGUgQ1FFIG1pZ2h0IGluZGlj YXRlIHRoZSBjb21wbGV0aW9uIG9mIHNldmVyYWwgV1FFcy4KSG93ZXZlciwgaW4gY2FzZSBzb21l IFdRRSBpbiB0aGUgYmF0Y2ggY2F1c2VzIGFuIGVycm9yLCB0aGVuIGFuIGVycm9yCmNvbXBsZXRp b24gaXMgaXNzdWVkLCBicmVha2luZyB0aGUgYmF0Y2gsIGFuZCBwb2ludGluZyB0byB0aGUgb2Zm ZW5kaW5nCldRRSBpbiB0aGUgd3FlX2NvdW50ZXIgZmllbGQuCgpIZW5jZSwgV1FFLXNwZWNpZmlj IGVycm9yIENRRSBoYW5kbGluZyAobGlrZSBwcmludGluZywgYnJlYWtpbmcsIGV0Yy4uLikKc2hv dWxkIGJlIHBlcmZvcm1lZCBvbmx5IGZvciB0aGUgbGFzdCBXUUUgaW4gYmF0Y2guCgpGaXhlczog MTMwYzdiNDZjOTNkICgibmV0L21seDVlOiBUWCwgRHVtcCBXUXMgd3FlIGRlc2NyaXB0b3JzIG9u IENRRSB3aXRoIGVycm9yIGV2ZW50cyIpCkZpeGVzOiBmZDliNGJlODAwMmMgKCJuZXQvbWx4NWU6 IFJYLCBTdXBwb3J0IG11bHRpcGxlIG91dHN0YW5kaW5nIFVNUiBwb3N0cyIpClNpZ25lZC1vZmYt Ynk6IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IEF5YSBM ZXZpbiA8YXlhbEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxz YWVlZG1AbWVsbGFub3guY29tPgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2VuX3J4LmMgICB8IDE2ICsrKysrLS0tLQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fdHguYyAgIHwgMzMgKysrKysrKystLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCAyMyBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jCmluZGV4IDllOTk2MDE0NmU1Yi4u MWMzYWI2OWNiZDk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZW5fcnguYwpAQCAtNjEzLDEzICs2MTMsNiBAQCB2b2lkIG1seDVlX3BvbGxfaWNvX2Nx KHN0cnVjdCBtbHg1ZV9jcSAqY3EpCiAKIAkJd3FlX2NvdW50ZXIgPSBiZTE2X3RvX2NwdShjcWUt PndxZV9jb3VudGVyKTsKIAotCQlpZiAodW5saWtlbHkoZ2V0X2NxZV9vcGNvZGUoY3FlKSAhPSBN TFg1X0NRRV9SRVEpKSB7Ci0JCQluZXRkZXZfV0FSTl9PTkNFKGNxLT5jaGFubmVsLT5uZXRkZXYs Ci0JCQkJCSAiQmFkIE9QIGluIElDT1NRIENRRTogMHgleFxuIiwgZ2V0X2NxZV9vcGNvZGUoY3Fl KSk7Ci0JCQlpZiAoIXRlc3RfYW5kX3NldF9iaXQoTUxYNUVfU1FfU1RBVEVfUkVDT1ZFUklORywg JnNxLT5zdGF0ZSkpCi0JCQkJcXVldWVfd29yayhjcS0+Y2hhbm5lbC0+cHJpdi0+d3EsICZzcS0+ cmVjb3Zlcl93b3JrKTsKLQkJCWJyZWFrOwotCQl9CiAJCWRvIHsKIAkJCXN0cnVjdCBtbHg1ZV9z cV93cWVfaW5mbyAqd2k7CiAJCQl1MTYgY2k7CkBAIC02MjksNiArNjIyLDE1IEBAIHZvaWQgbWx4 NWVfcG9sbF9pY29fY3Eoc3RydWN0IG1seDVlX2NxICpjcSkKIAkJCWNpID0gbWx4NV93cV9jeWNf Y3RyMml4KCZzcS0+d3EsIHNxY2MpOwogCQkJd2kgPSAmc3EtPmRiLmljb193cWVbY2ldOwogCisJ CQlpZiAobGFzdF93cWUgJiYgdW5saWtlbHkoZ2V0X2NxZV9vcGNvZGUoY3FlKSAhPSBNTFg1X0NR RV9SRVEpKSB7CisJCQkJbmV0ZGV2X1dBUk5fT05DRShjcS0+Y2hhbm5lbC0+bmV0ZGV2LAorCQkJ CQkJICJCYWQgT1AgaW4gSUNPU1EgQ1FFOiAweCV4XG4iLAorCQkJCQkJIGdldF9jcWVfb3Bjb2Rl KGNxZSkpOworCQkJCWlmICghdGVzdF9hbmRfc2V0X2JpdChNTFg1RV9TUV9TVEFURV9SRUNPVkVS SU5HLCAmc3EtPnN0YXRlKSkKKwkJCQkJcXVldWVfd29yayhjcS0+Y2hhbm5lbC0+cHJpdi0+d3Es ICZzcS0+cmVjb3Zlcl93b3JrKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQkJaWYgKGxpa2VseSh3 aS0+b3Bjb2RlID09IE1MWDVfT1BDT0RFX1VNUikpIHsKIAkJCQlzcWNjICs9IE1MWDVFX1VNUl9X UUVCQlM7CiAJCQkJd2ktPnVtci5ycS0+bXB3cWUudW1yX2NvbXBsZXRlZCsrOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3R4LmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdHguYwppbmRleCAyNTY1YmE4 NjkyZDkuLmVlNjAzODNhZGM1YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX3R4LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NS9jb3JlL2VuX3R4LmMKQEAgLTQ1MSwzNCArNDUxLDE3IEBAIGJvb2wgbWx4NWVfcG9s bF90eF9jcShzdHJ1Y3QgbWx4NWVfY3EgKmNxLCBpbnQgbmFwaV9idWRnZXQpCiAKIAlpID0gMDsK IAlkbyB7CisJCXN0cnVjdCBtbHg1ZV90eF93cWVfaW5mbyAqd2k7CiAJCXUxNiB3cWVfY291bnRl cjsKIAkJYm9vbCBsYXN0X3dxZTsKKwkJdTE2IGNpOwogCiAJCW1seDVfY3F3cV9wb3AoJmNxLT53 cSk7CiAKIAkJd3FlX2NvdW50ZXIgPSBiZTE2X3RvX2NwdShjcWUtPndxZV9jb3VudGVyKTsKIAot CQlpZiAodW5saWtlbHkoZ2V0X2NxZV9vcGNvZGUoY3FlKSA9PSBNTFg1X0NRRV9SRVFfRVJSKSkg ewotCQkJaWYgKCF0ZXN0X2FuZF9zZXRfYml0KE1MWDVFX1NRX1NUQVRFX1JFQ09WRVJJTkcsCi0J CQkJCSAgICAgICZzcS0+c3RhdGUpKSB7Ci0JCQkJc3RydWN0IG1seDVlX3R4X3dxZV9pbmZvICp3 aTsKLQkJCQl1MTYgY2k7Ci0KLQkJCQljaSA9IG1seDVfd3FfY3ljX2N0cjJpeCgmc3EtPndxLCBz cWNjKTsKLQkJCQl3aSA9ICZzcS0+ZGIud3FlX2luZm9bY2ldOwotCQkJCW1seDVlX2R1bXBfZXJy b3JfY3FlKHNxLAotCQkJCQkJICAgICAoc3RydWN0IG1seDVfZXJyX2NxZSAqKWNxZSk7Ci0JCQkJ bWx4NV93cV9jeWNfd3FlX2R1bXAoJnNxLT53cSwgY2ksIHdpLT5udW1fd3FlYmJzKTsKLQkJCQlx dWV1ZV93b3JrKGNxLT5jaGFubmVsLT5wcml2LT53cSwKLQkJCQkJICAgJnNxLT5yZWNvdmVyX3dv cmspOwotCQkJfQotCQkJc3RhdHMtPmNxZV9lcnIrKzsKLQkJfQotCiAJCWRvIHsKLQkJCXN0cnVj dCBtbHg1ZV90eF93cWVfaW5mbyAqd2k7CiAJCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwotCQkJdTE2 IGNpOwogCQkJaW50IGo7CiAKIAkJCWxhc3Rfd3FlID0gKHNxY2MgPT0gd3FlX2NvdW50ZXIpOwpA QCAtNTE2LDYgKzQ5OSwxOCBAQCBib29sIG1seDVlX3BvbGxfdHhfY3Eoc3RydWN0IG1seDVlX2Nx ICpjcSwgaW50IG5hcGlfYnVkZ2V0KQogCQkJbmFwaV9jb25zdW1lX3NrYihza2IsIG5hcGlfYnVk Z2V0KTsKIAkJfSB3aGlsZSAoIWxhc3Rfd3FlKTsKIAorCQlpZiAodW5saWtlbHkoZ2V0X2NxZV9v cGNvZGUoY3FlKSA9PSBNTFg1X0NRRV9SRVFfRVJSKSkgeworCQkJaWYgKCF0ZXN0X2FuZF9zZXRf Yml0KE1MWDVFX1NRX1NUQVRFX1JFQ09WRVJJTkcsCisJCQkJCSAgICAgICZzcS0+c3RhdGUpKSB7 CisJCQkJbWx4NWVfZHVtcF9lcnJvcl9jcWUoc3EsCisJCQkJCQkgICAgIChzdHJ1Y3QgbWx4NV9l cnJfY3FlICopY3FlKTsKKwkJCQltbHg1X3dxX2N5Y193cWVfZHVtcCgmc3EtPndxLCBjaSwgd2kt Pm51bV93cWViYnMpOworCQkJCXF1ZXVlX3dvcmsoY3EtPmNoYW5uZWwtPnByaXYtPndxLAorCQkJ CQkgICAmc3EtPnJlY292ZXJfd29yayk7CisJCQl9CisJCQlzdGF0cy0+Y3FlX2VycisrOworCQl9 CisKIAl9IHdoaWxlICgoKytpIDwgTUxYNUVfVFhfQ1FfUE9MTF9CVURHRVQpICYmIChjcWUgPSBt bHg1X2Nxd3FfZ2V0X2NxZSgmY3EtPndxKSkpOwogCiAJc3RhdHMtPmNxZXMgKz0gaTsKLS0gCjIu MjEuMQoK ----Next_Part(Sun_Feb__9_22_21_28_2020_495)----