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 88CC4C2D0C6 for ; Sat, 28 Dec 2019 08:14:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2A3D520722 for ; Sat, 28 Dec 2019 08:14:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725962AbfL1IOv (ORCPT ); Sat, 28 Dec 2019 03:14:51 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:55754 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725857AbfL1IOv (ORCPT ); Sat, 28 Dec 2019 03:14:51 -0500 Received: from localhost (unknown [IPv6:2601:601:9f00:1c3::3d5]) (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 ECFA71510FBA9 for ; Sat, 28 Dec 2019 00:14:44 -0800 (PST) Date: Sat, 28 Dec 2019 00:14:42 -0800 (PST) Message-Id: <20191228.001442.1023398124730683590.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sat_Dec_28_00_14_42_2019_334)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Sat, 28 Dec 2019 00:14:45 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sat_Dec_28_00_14_42_2019_334)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.4 -stable, respectively. Thanks! ----Next_Part(Sat_Dec_28_00_14_42_2019_334)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSBlNWVmODViNjM3ZGYwYmFjMGZlNmUzOGRhY2NlYWFhMjA1Y2M5MTViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYW8gV2VuYW4gPG1hb3dlbmFuQGh1YXdlaS5jb20+CkRhdGU6 IE1vbiwgOSBEZWMgMjAxOSAyMTozMToyNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTNdIGFm X3BhY2tldDogc2V0IGRlZmF1bGUgdmFsdWUgZm9yIHRtbwoKWyBVcHN0cmVhbSBjb21taXQgYjQz ZDFmOWY3MDY3YzY3NTliMTA1MWU4ZWNiODRlODJjZWY1NjlmZSBdCgpUaGVyZSBpcyBzb2Z0bG9j a3VwIHdoZW4gdXNpbmcgVFBBQ0tFVF9WMzoKLi4uCk5NSSB3YXRjaGRvZzogQlVHOiBzb2Z0IGxv Y2t1cCAtIENQVSMyIHN0dWNrIGZvciA2MDAxMG1zIQooX19pcnFfc3ZjKSBmcm9tIFs8YzA1NThh MGM+XSAoX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NDQvMHg1NCkKKF9yYXdfc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSkgZnJvbSBbPGMwMjdiN2U4Pl0gKG1vZF90aW1lcisweDIxMC8weDI1 YykKKG1vZF90aW1lcikgZnJvbSBbPGMwNTQ5YzMwPl0KKHByYl9yZXRpcmVfcnhfYmxrX3RpbWVy X2V4cGlyZWQrMHg2OC8weDExYykKKHByYl9yZXRpcmVfcnhfYmxrX3RpbWVyX2V4cGlyZWQpIGZy b20gWzxjMDI3YTdhYz5dCihjYWxsX3RpbWVyX2ZuKzB4OTAvMHgxN2MpCihjYWxsX3RpbWVyX2Zu KSBmcm9tIFs8YzAyN2FiNmM+XSAocnVuX3RpbWVyX3NvZnRpcnErMHgyZDQvMHgyZmMpCihydW5f dGltZXJfc29mdGlycSkgZnJvbSBbPGMwMjFlYWY0Pl0gKF9fZG9fc29mdGlycSsweDIxOC8weDMx OCkKKF9fZG9fc29mdGlycSkgZnJvbSBbPGMwMjFlZWEwPl0gKGlycV9leGl0KzB4ODgvMHhhYykK KGlycV9leGl0KSBmcm9tIFs8YzAyNDAxMzA+XSAobXNhX2lycV9leGl0KzB4MTFjLzB4MWQ0KQoo bXNhX2lycV9leGl0KSBmcm9tIFs8YzAyMDljZjA+XSAoaGFuZGxlX0lQSSsweDY1MC8weDdmNCkK KGhhbmRsZV9JUEkpIGZyb20gWzxjMDIwMTViYz5dIChnaWNfaGFuZGxlX2lycSsweDEwOC8weDEx OCkKKGdpY19oYW5kbGVfaXJxKSBmcm9tIFs8YzA1NThlZTQ+XSAoX19pcnFfdXNyKzB4NDQvMHg1 YykKLi4uCgpJZiBfX2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdzKCkgaXMgZmFpbGVkIGluCnBy Yl9jYWxjX3JldGlyZV9ibGtfdG1vKCksIG1zZWMgYW5kIHRtbyB3aWxsIGJlIHplcm8sIHNvIHRv dl9pbl9qaWZmaWVzCmlzIHplcm8gYW5kIHRoZSB0aW1lciBleHBpcmUgZm9yIHJldGlyZV9ibGtf dGltZXIgaXMgdHVybiB0bwptb2RfdGltZXIoJnBrYy0+cmV0aXJlX2Jsa190aW1lciwgamlmZmll cyArIDApLAp3aGljaCB3aWxsIHRyaWdnZXIgY3B1IHVzYWdlIG9mIHNvZnRpcnEgaXMgMTAwJS4K CkZpeGVzOiBmNmZiOGYxMDBiODAgKCJhZi1wYWNrZXQ6IFRQQUNLRVRfVjMgZmxleGlibGUgYnVm ZmVyIGltcGxlbWVudGF0aW9uLiIpClRlc3RlZC1ieTogWGlhbyBKaWFuZ2ZlbmcgPHhpYW9qaWFu Z2ZlbmdAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFvIFdlbmFuIDxtYW93ZW5hbkBodWF3 ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L3BhY2tldC9hZl9wYWNrZXQuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3BhY2tldC9h Zl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKaW5kZXggNzIwNGU3YmJlYmIwLi5h YzY1ZTY2ZDFkNzIgMTAwNjQ0Ci0tLSBhL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKKysrIGIvbmV0 L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtNTUyLDcgKzU1Miw4IEBAIHN0YXRpYyBpbnQgcHJiX2Nh bGNfcmV0aXJlX2Jsa190bW8oc3RydWN0IHBhY2tldF9zb2NrICpwbywKIAkJCW1zZWMgPSAxOwog CQkJZGl2ID0gZWNtZC5iYXNlLnNwZWVkIC8gMTAwMDsKIAkJfQotCX0KKwl9IGVsc2UKKwkJcmV0 dXJuIERFRkFVTFRfUFJCX1JFVElSRV9UT1Y7CiAKIAltYml0cyA9IChibGtfc2l6ZV9pbl9ieXRl cyAqIDgpIC8gKDEwMjQgKiAxMDI0KTsKIAotLSAKMi4yMC4xCgoKRnJvbSBhMThlMzJhMTI1NjBk MmVkM2E3Y2E4ZGRhMmE2OGQ0YmRiYjNiZWY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBDaHVob25nIFl1YW4gPGhzbGVzdGVyOTZAZ21haWwuY29tPgpEYXRlOiBUdWUsIDEwIERlYyAy MDE5IDAwOjIyOjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwMi8xM10gZmplczogZml4IG1pc3Nl ZCBjaGVjayBpbiBmamVzX2FjcGlfYWRkCgpbIFVwc3RyZWFtIGNvbW1pdCBhMjg4ZjEwNWEwM2E3 ZTBlNjI5YThkYTJiMzFmMzRlYmYwMzQzZWUyIF0KCmZqZXNfYWNwaV9hZGQoKSBtaXNzZXMgYSBj aGVjayBmb3IgcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgpLgpBZGQgYSBjaGVjayB0 byBmaXggaXQuCgpGaXhlczogNjU4ZDQzOWIyMjkyICgiZmplczogSW50cm9kdWNlIEZVSklUU1Ug RXh0ZW5kZWQgU29ja2V0IE5ldHdvcmsgRGV2aWNlIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IENo dWhvbmcgWXVhbiA8aHNsZXN0ZXI5NkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9mamVzL2ZqZXNf bWFpbi5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9mamVzL2ZqZXNfbWFpbi5jIGIvZHJpdmVycy9uZXQvZmplcy9mamVz X21haW4uYwppbmRleCA2MWE5ODQzMzQ2YWQuLjE5NzlmOGY4ZGFjNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZmplcy9mamVzX21haW4uYworKysgYi9kcml2ZXJzL25ldC9mamVzL2ZqZXNfbWFp bi5jCkBAIC0xODEsNiArMTgxLDkgQEAgc3RhdGljIGludCBmamVzX2FjcGlfYWRkKHN0cnVjdCBh Y3BpX2RldmljZSAqZGV2aWNlKQogCS8qIGNyZWF0ZSBwbGF0Zm9ybV9kZXZpY2UgKi8KIAlwbGF0 X2RldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoRFJWX05BTUUsIDAsIGZqZXNf cmVzb3VyY2UsCiAJCQkJCQkgICBBUlJBWV9TSVpFKGZqZXNfcmVzb3VyY2UpKTsKKwlpZiAoSVNf RVJSKHBsYXRfZGV2KSkKKwkJcmV0dXJuIFBUUl9FUlIocGxhdF9kZXYpOworCiAJZGV2aWNlLT5k cml2ZXJfZGF0YSA9IHBsYXRfZGV2OwogCiAJcmV0dXJuIDA7Ci0tIAoyLjIwLjEKCgpGcm9tIDA5 MmQxNWZhZWI5YWQyMTEzMTQzNWQxOTdkNTUzNzEyMmY3MzhkMjIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+CkRh dGU6IFRodSwgMTkgRGVjIDIwMTkgMjM6MjQ6NDcgKzAwMDAKU3ViamVjdDogW1BBVENIIDAzLzEz XSBtb2RfZGV2aWNldGFibGU6IGZpeCBQSFkgbW9kdWxlIGZvcm1hdAoKWyBVcHN0cmVhbSBjb21t aXQgZDJlZDQ5Y2Y2YzEzZTM3OWM1ODE5YWE1YWMyMGUxZjk2NzRlYmM4OSBdCgpXaGVuIGEgUEhZ IGlzIHByb2JlZCwgaWYgdGhlIHRvcCBiaXQgaXMgc2V0LCB3ZSBlbmQgdXAgcmVxdWVzdGluZyBh Cm1vZHVsZSB3aXRoIHRoZSBzdHJpbmcgIm1kaW86LTEwMTAxMTEwMDAwMDAwMTAwMTAxMDAwMTAx MDEwMDAxIiAtCnRoZSB0b3AgYml0IGlzIHByaW50ZWQgdG8gYSBzaWduZWQgLTEgdmFsdWUuIFRo aXMgbGVhZHMgdG8gdGhlIG1vZHVsZQpub3QgYmVpbmcgbG9hZGVkLgoKRml4IHRoZSBtb2R1bGUg Zm9ybWF0IHN0cmluZyBhbmQgdGhlIG1hY3JvIGdlbmVyYXRpbmcgdGhlIHZhbHVlcyBmb3IKaXQg dG8gZW5zdXJlIHRoYXQgd2Ugb25seSBwcmludCB1bnNpZ25lZCB0eXBlcyBhbmQgdGhlIHRvcCBi aXQgaXMKYWx3YXlzIDAvMS4gV2UgY29ycmVjdGx5IGVuZCB1cCB3aXRoCiJtZGlvOjEwMTAxMTEw MDAwMDAwMTAwMTAxMDAwMTAxMDEwMDAxIi4KCkZpeGVzOiA4NjI2ZDNiNDMyODAgKCJwaHlsaWI6 IFN1cHBvcnQgcGh5IG1vZHVsZSBhdXRvbG9hZGluZyIpClJldmlld2VkLWJ5OiBBbmRyZXcgTHVu biA8YW5kcmV3QGx1bm4uY2g+ClNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5l bEBhcm1saW51eC5vcmcudWs+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5l bGxpQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmggfCA0ICsrLS0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaCBiL2luY2x1ZGUvbGludXgvbW9k X2RldmljZXRhYmxlLmgKaW5kZXggMDE3OTdjYjQ1ODdlLi44NjdkYjliOTM4NGMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9t b2RfZGV2aWNldGFibGUuaApAQCAtNTUxLDkgKzU1MSw5IEBAIHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2VfaWQgewogI2RlZmluZSBNRElPX05BTUVfU0laRQkJMzIKICNkZWZpbmUgTURJT19NT0RVTEVf UFJFRklYCSJtZGlvOiIKIAotI2RlZmluZSBNRElPX0lEX0ZNVCAiJWQlZCVkJWQlZCVkJWQlZCVk JWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCIKKyNkZWZpbmUg TURJT19JRF9GTVQgIiV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1 JXUldSV1JXUldSV1JXUldSV1JXUiCiAjZGVmaW5lIE1ESU9fSURfQVJHUyhfaWQpIFwKLQkoX2lk KT4+MzEsICgoX2lkKT4+MzApICYgMSwgKChfaWQpPj4yOSkgJiAxLCAoKF9pZCk+PjI4KSAmIDEs CVwKKwkoKF9pZCk+PjMxKSAmIDEsICgoX2lkKT4+MzApICYgMSwgKChfaWQpPj4yOSkgJiAxLCAo KF9pZCk+PjI4KSAmIDEsIFwKIAkoKF9pZCk+PjI3KSAmIDEsICgoX2lkKT4+MjYpICYgMSwgKChf aWQpPj4yNSkgJiAxLCAoKF9pZCk+PjI0KSAmIDEsIFwKIAkoKF9pZCk+PjIzKSAmIDEsICgoX2lk KT4+MjIpICYgMSwgKChfaWQpPj4yMSkgJiAxLCAoKF9pZCk+PjIwKSAmIDEsIFwKIAkoKF9pZCk+ PjE5KSAmIDEsICgoX2lkKT4+MTgpICYgMSwgKChfaWQpPj4xNykgJiAxLCAoKF9pZCk+PjE2KSAm IDEsIFwKLS0gCjIuMjAuMQoKCkZyb20gNDFkZTE3NGNlYTJjODc2ZDkwZjcwMTgyODU5NGIxZWM5 ZWRlOTM1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR2VlcnQgVXl0dGVyaG9ldmVu IDxnZWVydEBsaW51eC1tNjhrLm9yZz4KRGF0ZTogRnJpLCAyMCBEZWMgMjAxOSAxNDozMTo0MCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTNdIG5ldDogZHN0OiBGb3JjZSA0LWJ5dGUgYWxpZ25t ZW50IG9mIGRzdF9tZXRyaWNzCgpbIFVwc3RyZWFtIGNvbW1pdCAyNThhOTgwZDFlYzIzZTJjNzg2 ZTk1MzZhN2RkMjYwYmVhNzRiYWU2IF0KCldoZW4gc3RvcmluZyBhIHBvaW50ZXIgdG8gYSBkc3Rf bWV0cmljcyBzdHJ1Y3R1cmUgaW4gZHN0X2VudHJ5Ll9tZXRyaWNzLAp0d28gZmxhZ3MgYXJlIGFk ZGVkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBwb2ludGVyIHZhbHVlLgpI ZW5jZSB0aGlzIGFzc3VtZXMgYWxsIHBvaW50ZXJzIHRvIGRzdF9tZXRyaWNzIHN0cnVjdHVyZXMg aGF2ZSBhdCBsZWFzdAo0LWJ5dGUgYWxpZ25tZW50LgoKSG93ZXZlciwgb24gbTY4aywgdGhlIG1p bmltdW0gYWxpZ25tZW50IG9mIDMyLWJpdCB2YWx1ZXMgaXMgMiBieXRlcywgbm90CjQgYnl0ZXMu ICBIZW5jZSBpbiBzb21lIGtlcm5lbCBidWlsZHMsIGRzdF9kZWZhdWx0X21ldHJpY3MgbWF5IGJl IG9ubHkKMi1ieXRlIGFsaWduZWQsIGxlYWRpbmcgdG8gb2JzY3VyZSBib290IHdhcm5pbmdzIGxp a2U6CgogICAgV0FSTklORzogQ1BVOiAwIFBJRDogNyBhdCBsaWIvcmVmY291bnQuYzoyOCByZWZj b3VudF93YXJuX3NhdHVyYXRlKzB4NDQvMHg5YQogICAgcmVmY291bnRfdDogdW5kZXJmbG93OyB1 c2UtYWZ0ZXItZnJlZS4KICAgIE1vZHVsZXMgbGlua2VkIGluOgogICAgQ1BVOiAwIFBJRDogNyBD b21tOiBrc29mdGlycWQvMCBUYWludGVkOiBHICAgICAgICBXICAgICAgICAgNS41LjAtcmMyLWF0 YXJpLTAxNDQ4LWcxMTRhMWExMDM4YWY4OTFkLWRpcnR5ICMyNjEKICAgIFN0YWNrIGZyb20gMTA4 MzVlNmM6CgkgICAgMTA4MzVlNmMgMDAzODEzNGYgMDAwMjNmYTYgMDAzOTRiMGYgMDAwMDAwMWMg MDAwMDAwMDkgMDAzMjE1NjAgMDAwMjNmZWEKCSAgICAwMDM5NGIwZiAwMDAwMDAxYyAwMDFhNzBm OCAwMDAwMDAwOSAwMDAwMDAwMCAxMDgzNWViNCAwMDAwMDAwMSAwMDAwMDAwMAoJICAgIDA0MjA4 MDQwIDAwMDAwMDBhIDAwMzk0YjRhIDEwODM1ZWQ0IDAwMDQzYWE4IDAwMWE3MGY4IDAwMzk0YjBm IDAwMDAwMDFjCgkgICAgMDAwMDAwMDkgMDAzOTRiNGEgMDAyNmFiYTggMDAzMjE1YTQgMDAwMDAw MDMgMDAwMDAwMDAgMDAyNmQ1YTggMDAwMDAwMDEKCSAgICAwMDMyMTVhNCAwMDNhNDM2MSAwMDMy MzhkNiAwMDAwMDFmMCAwMDAwMDAwMCAwMDMyMTVhNCAxMGFhM2IwMCAwMDAyNWU4NAoJICAgIDAw M2RkYjAwIDEwODM0MDAwIDAwMjQxNmE4IDEwYWEzYjAwIDAwMDAwMDAwIDAwMDAwMDgwIDAwMGFh MDM4IDAwMDQ4NTRhCiAgICBDYWxsIFRyYWNlOiBbPDAwMDIzZmE2Pl0gX193YXJuKzB4YjIvMHhi NAogICAgIFs8MDAwMjNmZWE+XSB3YXJuX3Nsb3dwYXRoX2ZtdCsweDQyLzB4NjQKICAgICBbPDAw MWE3MGY4Pl0gcmVmY291bnRfd2Fybl9zYXR1cmF0ZSsweDQ0LzB4OWEKICAgICBbPDAwMDQzYWE4 Pl0gcHJpbnRrKzB4MC8weDE4CiAgICAgWzwwMDFhNzBmOD5dIHJlZmNvdW50X3dhcm5fc2F0dXJh dGUrMHg0NC8weDlhCiAgICAgWzwwMDI2YWJhOD5dIHJlZmNvdW50X3N1Yl9hbmRfdGVzdC5jb25z dHByb3AuNzMrMHgzOC8weDNlCiAgICAgWzwwMDI2ZDVhOD5dIGlwdjRfZHN0X2Rlc3Ryb3krMHg1 ZS8weDdlCiAgICAgWzwwMDAyNWU4ND5dIF9fbG9jYWxfYmhfZW5hYmxlX2lwKzB4MC8weDhlCiAg ICAgWzwwMDI0MTZhOD5dIGRzdF9kZXN0cm95KzB4NDAvMHhhZQoKRml4IHRoaXMgYnkgZm9yY2lu ZyA0LWJ5dGUgYWxpZ25tZW50IG9mIGFsbCBkc3RfbWV0cmljcyBzdHJ1Y3R1cmVzLgoKRml4ZXM6 IGU1ZmQzODdhZDViMzBjYTMgKCJpcHY2OiBkbyBub3Qgb3ZlcndyaXRlIGluZXRwZWVyIG1ldHJp Y3MgcHJlbWF0dXJlbHkiKQpTaWduZWQtb2ZmLWJ5OiBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0 QGxpbnV4LW02OGsub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvZHN0LmggfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25l dC9kc3QuaCBiL2luY2x1ZGUvbmV0L2RzdC5oCmluZGV4IGZmYzhlZTBlYTVlNS4uODUxY2YxMTI0 MjQwIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9kc3QuaAorKysgYi9pbmNsdWRlL25ldC9kc3Qu aApAQCAtOTMsNyArOTMsNyBAQCBzdHJ1Y3QgZHN0X2VudHJ5IHsKIHN0cnVjdCBkc3RfbWV0cmlj cyB7CiAJdTMyCQltZXRyaWNzW1JUQVhfTUFYXTsKIAlyZWZjb3VudF90CXJlZmNudDsKLX07Cit9 IF9fYWxpZ25lZCg0KTsJCS8qIExvdyBwb2ludGVyIGJpdHMgY29udGFpbiBEU1RfTUVUUklDU19G TEFHUyAqLwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkc3RfbWV0cmljcyBkc3RfZGVmYXVsdF9tZXRy aWNzOwogCiB1MzIgKmRzdF9jb3dfbWV0cmljc19nZW5lcmljKHN0cnVjdCBkc3RfZW50cnkgKmRz dCwgdW5zaWduZWQgbG9uZyBvbGQpOwotLSAKMi4yMC4xCgoKRnJvbSAzYzk4NTg4MWVjYjFlNGRh YWMxMjZkODhhZjU3MzUzOTIzZjhjMzkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBO YXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTQg RGVjIDIwMTkgMTk6MTA6NDQgLTA2MDAKU3ViamVjdDogW1BBVENIIDA1LzEzXSBuZXQ6IGdlbWlu aTogRml4IG1lbW9yeSBsZWFrIGluIGdtYWNfc2V0dXBfdHhxcwoKWyBVcHN0cmVhbSBjb21taXQg ZjM3ZjcxMDM1MzY3NzYzOWJjNWQzN2VlNzg1MzM1OTk0YWRmMjUyOSBdCgpJbiB0aGUgaW1wbGVt ZW50YXRpb24gb2YgZ21hY19zZXR1cF90eHFzKCkgdGhlIGFsbG9jYXRlZCBkZXNjX3JpbmcgaXMK bGVha2VkIGlmIFRYIHF1ZXVlIGJhc2UgaXMgbm90IGFsaWduZWQuIFJlbGVhc2UgaXQgdmlhCmRt YV9mcmVlX2NvaGVyZW50LgoKRml4ZXM6IDRkNWFlMzJmNWUxZSAoIm5ldDogZXRoZXJuZXQ6IEFk ZCBhIGRyaXZlciBmb3IgR2VtaW5pIGdpZ2FiaXQgZXRoZXJuZXQiKQpTaWduZWQtb2ZmLWJ5OiBO YXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBM aW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9jb3J0aW5hL2dlbWluaS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NvcnRpbmEvZ2VtaW5pLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jb3J0aW5hL2dlbWluaS5jCmluZGV4IDRhZjc4ZGUwZTA3 Ny4uMDFhMjEyMDk3ODM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jb3J0aW5h L2dlbWluaS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NvcnRpbmEvZ2VtaW5pLmMKQEAg LTU3Nyw2ICs1NzcsOCBAQCBzdGF0aWMgaW50IGdtYWNfc2V0dXBfdHhxcyhzdHJ1Y3QgbmV0X2Rl dmljZSAqbmV0ZGV2KQogCiAJaWYgKHBvcnQtPnR4cV9kbWFfYmFzZSAmIH5ETUFfUV9CQVNFX01B U0spIHsKIAkJZGV2X3dhcm4oZ2V0aC0+ZGV2LCAiVFggcXVldWUgYmFzZSBpcyBub3QgYWxpZ25l ZFxuIik7CisJCWRtYV9mcmVlX2NvaGVyZW50KGdldGgtPmRldiwgbGVuICogc2l6ZW9mKCpkZXNj X3JpbmcpLAorCQkJCSAgZGVzY19yaW5nLCBwb3J0LT50eHFfZG1hX2Jhc2UpOwogCQlrZnJlZShz a2JfdGFiKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotLSAKMi4yMC4xCgoKRnJvbSAwYzQ4ODk5 MWE5NTk1ZTc4NzcyMWZiYWIxNDljN2FhNzc5MWRkMGI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKaWFuZ2ZlbmcgWGlhbyA8eGlhb2ppYW5nZmVuZ0BodWF3ZWkuY29tPgpEYXRlOiBU aHUsIDE5IERlYyAyMDE5IDEwOjA4OjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNi8xM10gbmV0 OiBoaXNpbGljb246IEZpeCBhIEJVRyB0cmlnZXJlZCBieSB3cm9uZyBieXRlc19jb21wbAoKWyBV cHN0cmVhbSBjb21taXQgOTBiM2IzMzkzNjRjNzZiYWEyNDM2NDQ1NDAxZWE5YWRlMDQwYzIxNiBd CgpXaGVuIGRvaW5nIHN0cmVzcyB0ZXN0LCB3ZSBnZXQgdGhlIGZvbGxvd2luZyB0cmFjZToKa2Vy bmVsIEJVRyBhdCBsaWIvZHluYW1pY19xdWV1ZV9saW1pdHMuYzoyNiEKSW50ZXJuYWwgZXJyb3I6 IE9vcHMgLSBCVUc6IDAgWyMxXSBTTVAgQVJNCk1vZHVsZXMgbGlua2VkIGluOiBoaXAwNF9ldGgK Q1BVOiAwIFBJRDogMjAwMyBDb21tOiB0RGJsU3RhY2tQY2FwMCBUYWludGVkOiBHICAgICAgICAg ICBPIEwgIDQuNC4xOTcgIzEKSGFyZHdhcmUgbmFtZTogSGlzaWxpY29uIEExNQp0YXNrOiBjMzYz NzY2OCB0YXNrLnN0YWNrOiBkZTNiYzAwMApQQyBpcyBhdCBkcWxfY29tcGxldGVkKzB4MTgvMHgx NTQKTFIgaXMgYXQgaGlwMDRfdHhfcmVjbGFpbSsweDExMC8weDE3NCBbaGlwMDRfZXRoXQpwYyA6 IFs8YzA0MWFiZmM+XSAgICBsciA6IFs8YmYwMDAzYTg+XSAgICBwc3I6IDgwMGYwMzEzCnNwIDog ZGUzYmRjMmMgIGlwIDogMDAwMDAwMDAgIGZwIDogYzAyMGZiMTAKcjEwOiAwMDAwMDAwMCAgcjkg OiBjMzliNDIyNCAgcjggOiAwMDAwMDAwMQpyNyA6IDAwMDAwMDQ2ICByNiA6IGMzOWI0MDAwICBy NSA6IDAwNzhmMzkyICByNCA6IDAwNzhmMzkyCnIzIDogMDAwMDAwNDcgIHIyIDogMDAwMDAwMDAg IHIxIDogMDAwMDAwNDYgIHIwIDogZGY1ZDVjODAKRmxhZ3M6IE56Y3YgIElSUXMgb24gIEZJUXMg b24gIE1vZGUgU1ZDXzMyICBJU0EgQVJNICBTZWdtZW50IHVzZXIKQ29udHJvbDogMzJjNTM4N2Qg IFRhYmxlOiAxZTE4OWI4MCAgREFDOiA1NTU1NTU1NQpQcm9jZXNzIHREYmxTdGFja1BjYXAwIChw aWQ6IDIwMDMsIHN0YWNrIGxpbWl0ID0gMHhkZTNiYzE5MCkKU3RhY2s6ICgweGRlM2JkYzJjIHRv IDB4ZGUzYmUwMDApCls8YzA0MWFiZmM+XSAoZHFsX2NvbXBsZXRlZCkgZnJvbSBbPGJmMDAwM2E4 Pl0gKGhpcDA0X3R4X3JlY2xhaW0rMHgxMTAvMHgxNzQgW2hpcDA0X2V0aF0pCls8YmYwMDAzYTg+ XSAoaGlwMDRfdHhfcmVjbGFpbSBbaGlwMDRfZXRoXSkgZnJvbSBbPGJmMDAxMmMwPl0gKGhpcDA0 X3J4X3BvbGwrMHgyMC8weDM4OCBbaGlwMDRfZXRoXSkKWzxiZjAwMTJjMD5dIChoaXAwNF9yeF9w b2xsIFtoaXAwNF9ldGhdKSBmcm9tIFs8YzA0YzhkOWM+XSAobmV0X3J4X2FjdGlvbisweDEyMC8w eDM3NCkKWzxjMDRjOGQ5Yz5dIChuZXRfcnhfYWN0aW9uKSBmcm9tIFs8YzAyMWVhZjQ+XSAoX19k b19zb2Z0aXJxKzB4MjE4LzB4MzE4KQpbPGMwMjFlYWY0Pl0gKF9fZG9fc29mdGlycSkgZnJvbSBb PGMwMjFlZWEwPl0gKGlycV9leGl0KzB4ODgvMHhhYykKWzxjMDIxZWVhMD5dIChpcnFfZXhpdCkg ZnJvbSBbPGMwMjQwMTMwPl0gKG1zYV9pcnFfZXhpdCsweDExYy8weDFkNCkKWzxjMDI0MDEzMD5d IChtc2FfaXJxX2V4aXQpIGZyb20gWzxjMDI2N2JhOD5dIChfX2hhbmRsZV9kb21haW5faXJxKzB4 MTEwLzB4MTQ4KQpbPGMwMjY3YmE4Pl0gKF9faGFuZGxlX2RvbWFpbl9pcnEpIGZyb20gWzxjMDIw MTU4OD5dIChnaWNfaGFuZGxlX2lycSsweGQ0LzB4MTE4KQpbPGMwMjAxNTg4Pl0gKGdpY19oYW5k bGVfaXJxKSBmcm9tIFs8YzA1NTgzNjA+XSAoX19pcnFfc3ZjKzB4NDAvMHg1OCkKRXhjZXB0aW9u IHN0YWNrKDB4ZGUzYmRkZTAgdG8gMHhkZTNiZGUyOCkKZGRlMDogMDAwMDAwMDAgMDAwMDgwMDEg YzM2Mzc2NjggMDAwMDAwMDAgMDAwMDAwMDAgYTAwZjAyMTMgZGQzNjI3YTAgYzBhZjYzODAKZGUw MDogYzA4NmQzODAgYTAwZjAyMTMgYzBhMjJhNTAgZGUzYmRlNmMgMDAwMDAwMDIgZGUzYmRlMzAg YzA1NTgxMzggYzA1NTgxM2MKZGUyMDogNjAwZjAyMTMgZmZmZmZmZmYKWzxjMDU1ODM2MD5dIChf X2lycV9zdmMpIGZyb20gWzxjMDU1ODEzYz5dIChfcmF3X3NwaW5fdW5sb2NrX2lycXJlc3RvcmUr MHg0NC8weDU0KQpLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGlu IGludGVycnVwdAoKUHJlLW1vZGlmaWNhdGlvbiBjb2RlOgppbnQgaGlwMDRfbWFjX3N0YXJ0X3ht aXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpCnsKWy4uLl0K WzFdCXByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQpOwpbMl0JY291bnQrKzsKWzNdCW5l dGRldl9zZW50X3F1ZXVlKG5kZXYsIHNrYi0+bGVuKTsKWy4uLl0KfQpBbiByeCBpbnRlcnJ1cHQg b2NjdXJzIGlmIGhpcDA0X21hY19zdGFydF94bWl0IGp1c3QgZXhlY3V0ZXMgdG8gdGhlIGxpbmUg MiwKdHhfaGVhZCBoYXMgYmVlbiB1cGRhdGVkLCBidXQgY29ycmVzcG9uZGluZyAnc2tiLT5sZW4n IGhhcyBub3QgYmVlbgphZGRlZCB0byBkcWxfcXVldWUuCgpBbmQgdGhlbgpoaXAwNF9tYWNfaW50 ZXJydXB0LT5fX25hcGlfc2NoZWR1bGUtPmhpcDA0X3J4X3BvbGwtPmhpcDA0X3R4X3JlY2xhaW0K CkluIGhpcDA0X3R4X3JlY2xhaW0sIGJlY2F1c2UgdHhfaGVhZCBoYXMgYmVlbiB1cGRhdGVkLApi eXRlc19jb21wbCB3aWxsIHBsdXMgYW4gYWRkaXRpb25hbCAic2tiLT4gbGVuIgp3aGljaCBoYXMg bm90IGJlZW4gYWRkZWQgdG8gZHFsX3F1ZXVlLiBBbmQgdGhlbgp0cmlnZ2VyIHRoZSBCVUdfT04o Ynl0ZXNfY29tcGwgPiBudW1fcXVldWVkIC0gZHFsLT5udW1fY29tcGxldGVkKS4KClRvIHNvbHZl IHRoZSBwcm9ibGVtIGRlc2NyaWJlZCBhYm92ZSwgd2UgcHV0CiJuZXRkZXZfc2VudF9xdWV1ZShu ZGV2LCBza2ItPmxlbik7IgpiZWZvcmUKInByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQp OyIKCkZpeGVzOiBhNDFlYTQ2YTlhMTIgKCJuZXQ6IGhpc2lsaWNvbjogbmV3IGhpcDA0IGV0aGVy bmV0IGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEppYW5nZmVuZyBYaWFvIDx4aWFvamlhbmdmZW5n QGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMKaW5kZXggZTg5MzZhZTQ2 YWRkLi43MThhZmE0YmUyYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2ls aWNvbi9oaXAwNF9ldGguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlw MDRfZXRoLmMKQEAgLTQ1Niw5ICs0NTYsOSBAQCBoaXAwNF9tYWNfc3RhcnRfeG1pdChzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldikKIAlza2JfdHhfdGltZXN0YW1w KHNrYik7CiAKIAloaXAwNF9zZXRfeG1pdF9kZXNjKHByaXYsIHBoeXMpOwotCXByaXYtPnR4X2hl YWQgPSBUWF9ORVhUKHR4X2hlYWQpOwogCWNvdW50Kys7CiAJbmV0ZGV2X3NlbnRfcXVldWUobmRl diwgc2tiLT5sZW4pOworCXByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQpOwogCiAJc3Rh dHMtPnR4X2J5dGVzICs9IHNrYi0+bGVuOwogCXN0YXRzLT50eF9wYWNrZXRzKys7Ci0tIAoyLjIw LjEKCgpGcm9tIDQwNDBmNmEzNTllY2JiOTZkNmQ2ODA0MjgyM2E1ZWIxMjkyMDc1YTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYS1KdSBCYWkgPGJhaWppYWp1MTk5MEBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTggRGVjIDIwMTkgMTc6MjE6NTUgKzA4MDAKU3ViamVjdDogW1BBVENI IDA3LzEzXSBuZXQ6IG5mYzogbmNpOiBmaXggYSBwb3NzaWJsZSBzbGVlcC1pbi1hdG9taWMtY29u dGV4dAogYnVnIGluIG5jaV91YXJ0X3R0eV9yZWNlaXZlKCkKClsgVXBzdHJlYW0gY29tbWl0IGI3 YWM4OTM2NTJjYWZhZGNmNjY5Zjc4NDUyMzI5NzI3ZTRlMjU1Y2MgXQoKVGhlIGtlcm5lbCBtYXkg c2xlZXAgd2hpbGUgaG9sZGluZyBhIHNwaW5sb2NrLgpUaGUgZnVuY3Rpb24gY2FsbCBwYXRoIChm cm9tIGJvdHRvbSB0byB0b3ApIGluIExpbnV4IDQuMTkgaXM6CgpuZXQvbmZjL25jaS91YXJ0LmMs IDM0OToKCW5jaV9za2JfYWxsb2MgaW4gbmNpX3VhcnRfZGVmYXVsdF9yZWN2X2J1ZgpuZXQvbmZj L25jaS91YXJ0LmMsIDI1NToKCShGVU5DX1BUUiluY2lfdWFydF9kZWZhdWx0X3JlY3ZfYnVmIGlu IG5jaV91YXJ0X3R0eV9yZWNlaXZlCm5ldC9uZmMvbmNpL3VhcnQuYywgMjU0OgoJc3Bpbl9sb2Nr IGluIG5jaV91YXJ0X3R0eV9yZWNlaXZlCgpuY2lfc2tiX2FsbG9jKEdGUF9LRVJORUwpIGNhbiBz bGVlcCBhdCBydW50aW1lLgooRlVOQ19QVFIpIG1lYW5zIGEgZnVuY3Rpb24gcG9pbnRlciBpcyBj YWxsZWQuCgpUbyBmaXggdGhpcyBidWcsIEdGUF9LRVJORUwgaXMgcmVwbGFjZWQgd2l0aCBHRlBf QVRPTUlDIGZvcgpuY2lfc2tiX2FsbG9jKCkuCgpUaGlzIGJ1ZyBpcyBmb3VuZCBieSBhIHN0YXRp YyBhbmFseXNpcyB0b29sIFNUQ2hlY2sgd3JpdHRlbiBieSBteXNlbGYuCgpTaWduZWQtb2ZmLWJ5 OiBKaWEtSnUgQmFpIDxiYWlqaWFqdTE5OTBAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L25mYy9uY2kvdWFydC5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L25mYy9uY2kvdWFydC5jIGIvbmV0L25mYy9uY2kvdWFydC5jCmluZGV4 IGE2NmYxMDJjNmMwMS4uMDQwNTc2ZGQ3M2JiIDEwMDY0NAotLS0gYS9uZXQvbmZjL25jaS91YXJ0 LmMKKysrIGIvbmV0L25mYy9uY2kvdWFydC5jCkBAIC0zNDgsNyArMzQ4LDcgQEAgc3RhdGljIGlu dCBuY2lfdWFydF9kZWZhdWx0X3JlY3ZfYnVmKHN0cnVjdCBuY2lfdWFydCAqbnUsIGNvbnN0IHU4 ICpkYXRhLAogCQkJbnUtPnJ4X3BhY2tldF9sZW4gPSAtMTsKIAkJCW51LT5yeF9za2IgPSBuY2lf c2tiX2FsbG9jKG51LT5uZGV2LAogCQkJCQkJICAgTkNJX01BWF9QQUNLRVRfU0laRSwKLQkJCQkJ CSAgIEdGUF9LRVJORUwpOworCQkJCQkJICAgR0ZQX0FUT01JQyk7CiAJCQlpZiAoIW51LT5yeF9z a2IpCiAJCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KLS0gCjIuMjAuMQoKCkZyb20gNDExYTVkMDli OWQ4NDY1MDBjNTQ4NTgxOWUxYzlkMTdhZDZjYzdhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogQmVuIEh1dGNoaW5ncyA8YmVuQGRlY2FkZW50Lm9yZy51az4KRGF0ZTogVHVlLCAxNyBE ZWMgMjAxOSAwMTo1Nzo0MCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTNdIG5ldDogcWxvZ2lj OiBGaXggZXJyb3IgcGF0aHMgaW4KIHFsX2FsbG9jX2xhcmdlX2J1ZmZlcnMoKQoKWyBVcHN0cmVh bSBjb21taXQgY2FkNDYwMzllNGM5OTgxMmRiMDY3YzhhYzIyYTg2NDk2MGU3YWNjNCBdCgpxbF9h bGxvY19sYXJnZV9idWZmZXJzKCkgaGFzIHRoZSB1c3VhbCBSWCBidWZmZXIgYWxsb2NhdGlvbgps b29wIHdoZXJlIGl0IGFsbG9jYXRlcyBza2JzIGFuZCBtYXBzIHRoZW0gZm9yIERNQS4gIEl0IGFs c28KdHJlYXRzIGZhaWx1cmUgYXMgYSBmYXRhbCBlcnJvci4KClRoZXJlIGFyZSAoYXQgbGVhc3Qp IHRocmVlIGJ1Z3MgaW4gdGhlIGVycm9yIHBhdGhzOgoKMS4gcWxfZnJlZV9sYXJnZV9idWZmZXJz KCkgYXNzdW1lcyB0aGF0IHRoZSBscmdfYnVmW10gZW50cnkgZm9yIHRoZQpmaXJzdCBidWZmZXIg dGhhdCBjb3VsZG4ndCBiZSBhbGxvY2F0ZWQgd2lsbCBoYXZlIC5za2IgPT0gTlVMTC4KQnV0IHRo ZSBxbGFfYnVmW10gYXJyYXkgaXMgbm90IHplcm8taW5pdGlhbGlzZWQuCgoyLiBxbF9mcmVlX2xh cmdlX2J1ZmZlcnMoKSBETUEtdW5tYXBzIGFsbCBza2JzIGluIGxyZ19idWZbXS4gIFRoaXMgaXMK aW5jb3JyZWN0IGZvciB0aGUgbGFzdCBhbGxvY2F0ZWQgc2tiLCBpZiBETUEgbWFwcGluZyBmYWls ZWQuCgozLiBDb21taXQgMWFjYjhmMmE3YTlmICgibmV0OiBxbG9naWM6IEZpeCBtZW1vcnkgbGVh ayBpbgpxbF9hbGxvY19sYXJnZV9idWZmZXJzIikgYWRkZWQgYSBkaXJlY3QgY2FsbCB0byBkZXZf a2ZyZWVfc2tiX2FueSgpCmFmdGVyIHRoZSBza2IgaXMgcmVjb3JkZWQgaW4gbHJnX2J1ZltdLCBz byBxbF9mcmVlX2xhcmdlX2J1ZmZlcnMoKQp3aWxsIGRvdWJsZS1mcmVlIGl0LgoKVGhlIGJ1Z3Mg YXJlIHNvbWV3aGF0IGludGVyLXR3aW5lZCwgc28gZml4IHRoZW0gYWxsIGF0IG9uY2U6CgoqIENs ZWFyIGVhY2ggZW50cnkgaW4gcWxhX2J1ZltdIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGFsbG9jYXRl CiAgYW4gc2tiIGZvciBpdC4gIFRoaXMgZ29lcyBoYWxmLXdheSB0byBmaXhpbmcgYnVnIDEuCiog U2V0IHRoZSAuc2tiIGZpZWxkIG9ubHkgYWZ0ZXIgdGhlIHNrYiBpcyBETUEtbWFwcGVkLiAgVGhp cwogIGZpeGVzIHRoZSByZXN0LgoKRml4ZXM6IDEzNTdiZmNmNzEwNiAoInFsYTN4eHg6IER5bmFt aWNhbGx5IHNpemUgdGhlIHJ4IGJ1ZmZlciBxdWV1ZSAuLi4iKQpGaXhlczogMGY4YWI4OWU4MjVm ICgicWxhM3h4eDogQ2hlY2sgcmV0dXJuIGNvZGUgZnJvbSBwY2lfbWFwX3NpbmdsZSgpIC4uLiIp CkZpeGVzOiAxYWNiOGYyYTdhOWYgKCJuZXQ6IHFsb2dpYzogRml4IG1lbW9yeSBsZWFrIGluIHFs X2FsbG9jX2xhcmdlX2J1ZmZlcnMiKQpTaWduZWQtb2ZmLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW5A ZGVjYWRlbnQub3JnLnVrPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsYTN4eHguYyB8 IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsYTN4eHguYyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGEzeHh4LmMKaW5kZXggNzgzZWU2YTMyYjVk Li4xYjVlMDk4YjIzNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9x bGEzeHh4LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsYTN4eHguYwpAQCAt Mjc1Nyw2ICsyNzU3LDkgQEAgc3RhdGljIGludCBxbF9hbGxvY19sYXJnZV9idWZmZXJzKHN0cnVj dCBxbDNfYWRhcHRlciAqcWRldikKIAlpbnQgZXJyOwogCiAJZm9yIChpID0gMDsgaSA8IHFkZXYt Pm51bV9sYXJnZV9idWZmZXJzOyBpKyspIHsKKwkJbHJnX2J1Zl9jYiA9ICZxZGV2LT5scmdfYnVm W2ldOworCQltZW1zZXQobHJnX2J1Zl9jYiwgMCwgc2l6ZW9mKHN0cnVjdCBxbF9yY3ZfYnVmX2Ni KSk7CisKIAkJc2tiID0gbmV0ZGV2X2FsbG9jX3NrYihxZGV2LT5uZGV2LAogCQkJCSAgICAgICBx ZGV2LT5scmdfYnVmZmVyX2xlbik7CiAJCWlmICh1bmxpa2VseSghc2tiKSkgewpAQCAtMjc2Nywx MSArMjc3MCw3IEBAIHN0YXRpYyBpbnQgcWxfYWxsb2NfbGFyZ2VfYnVmZmVycyhzdHJ1Y3QgcWwz X2FkYXB0ZXIgKnFkZXYpCiAJCQlxbF9mcmVlX2xhcmdlX2J1ZmZlcnMocWRldik7CiAJCQlyZXR1 cm4gLUVOT01FTTsKIAkJfSBlbHNlIHsKLQotCQkJbHJnX2J1Zl9jYiA9ICZxZGV2LT5scmdfYnVm W2ldOwotCQkJbWVtc2V0KGxyZ19idWZfY2IsIDAsIHNpemVvZihzdHJ1Y3QgcWxfcmN2X2J1Zl9j YikpOwogCQkJbHJnX2J1Zl9jYi0+aW5kZXggPSBpOwotCQkJbHJnX2J1Zl9jYi0+c2tiID0gc2ti OwogCQkJLyoKIAkJCSAqIFdlIHNhdmUgc29tZSBzcGFjZSB0byBjb3B5IHRoZSBldGhoZHIgZnJv bSBmaXJzdAogCQkJICogYnVmZmVyCkBAIC0yNzkzLDYgKzI3OTIsNyBAQCBzdGF0aWMgaW50IHFs X2FsbG9jX2xhcmdlX2J1ZmZlcnMoc3RydWN0IHFsM19hZGFwdGVyICpxZGV2KQogCQkJCXJldHVy biAtRU5PTUVNOwogCQkJfQogCisJCQlscmdfYnVmX2NiLT5za2IgPSBza2I7CiAJCQlkbWFfdW5t YXBfYWRkcl9zZXQobHJnX2J1Zl9jYiwgbWFwYWRkciwgbWFwKTsKIAkJCWRtYV91bm1hcF9sZW5f c2V0KGxyZ19idWZfY2IsIG1hcGxlbiwKIAkJCQkJICBxZGV2LT5scmdfYnVmZmVyX2xlbiAtCi0t IAoyLjIwLjEKCgpGcm9tIGY1MmU2YzkzM2Q3OTI4NmI0YmExY2IwZjE0ZDk1NjgwOTkyMzU5ZDIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENyaXN0aWFuIEJpcnNhbiA8Y3Jpc3RpYW4u Ymlyc2FuQG1pY3JvY2hpcC5jb20+CkRhdGU6IFRodSwgMTIgRGVjIDIwMTkgMTM6NTI6NDcgKzAy MDAKU3ViamVjdDogW1BBVENIIDA5LzEzXSBuZXQ6IHVzYjogbGFuNzh4eDogRml4IHN1c3BlbmQv cmVzdW1lIFBIWSByZWdpc3RlcgogYWNjZXNzIGVycm9yCgpbIFVwc3RyZWFtIGNvbW1pdCAyMDAz MmI2MzU4NmFjNmMyOGM5MzZkZmY2OTY5ODExNTk5MTNhMTNmIF0KCkxhbjc4eHggZHJpdmVyIGFj Y2Vzc2VzIHRoZSBQSFkgcmVnaXN0ZXJzIHRocm91Z2ggTURJTyBidXMgb3ZlciBVU0IKY29ubmVj dGlvbi4gV2hlbiBwZXJmb3JtaW5nIGEgc3VzcGVuZC9yZXN1bWUsIHRoZSBQSFkgcmVnaXN0ZXJz IGNhbiBiZQphY2Nlc3NlZCBiZWZvcmUgdGhlIFVTQiBjb25uZWN0aW9uIGlzIHJlc3VtZWQuIFRo aXMgd2lsbCBnZW5lcmF0ZSBhbgplcnJvciBhbmQgd2lsbCBwcmV2ZW50IHRoZSBkZXZpY2UgdG8g cmVzdW1lIGNvcnJlY3RseS4KVGhpcyBwYXRjaCBhZGRzIHRoZSBkZXBlbmRlbmN5IGJldHdlZW4g dGhlIE1ESU8gYnVzIGFuZCBVU0IgZGV2aWNlIHRvCmFsbG93IGNvcnJlY3QgaGFuZGxpbmcgb2Yg c3VzcGVuZC9yZXN1bWUuCgpGaXhlczogY2U4NWUxM2FkNmVmICgibGFuNzh4eDogVXBkYXRlIHRv IHVzZSBwaHlsaWIgaW5zdGVhZCBvZiBtaWlfaWZfaW5mby4iKQpTaWduZWQtb2ZmLWJ5OiBDcmlz dGlhbiBCaXJzYW4gPGNyaXN0aWFuLmJpcnNhbkBtaWNyb2NoaXAuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv dXNiL2xhbjc4eHguYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43 OHh4LmMKaW5kZXggNTBiZjRiMjA4MGQ1Li42ZGQyNGExY2ExMGQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L3VzYi9sYW43OHh4LmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYwpAQCAt MTgyMyw2ICsxODIzLDcgQEAgc3RhdGljIGludCBsYW43OHh4X21kaW9faW5pdChzdHJ1Y3QgbGFu Nzh4eF9uZXQgKmRldikKIAlkZXYtPm1kaW9idXMtPnJlYWQgPSBsYW43OHh4X21kaW9idXNfcmVh ZDsKIAlkZXYtPm1kaW9idXMtPndyaXRlID0gbGFuNzh4eF9tZGlvYnVzX3dyaXRlOwogCWRldi0+ bWRpb2J1cy0+bmFtZSA9ICJsYW43OHh4LW1kaW9idXMiOworCWRldi0+bWRpb2J1cy0+cGFyZW50 ID0gJmRldi0+dWRldi0+ZGV2OwogCiAJc25wcmludGYoZGV2LT5tZGlvYnVzLT5pZCwgTUlJX0JV U19JRF9TSVpFLCAidXNiLSUwM2Q6JTAzZCIsCiAJCSBkZXYtPnVkZXYtPmJ1cy0+YnVzbnVtLCBk ZXYtPnVkZXYtPmRldm51bSk7Ci0tIAoyLjIwLjEKCgpGcm9tIDYyYWQwMzY0MmVlMGUxYmJhMjlh ZmI4ODA0OWJjZGMxNDRkOWVjZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hbmlz aCBDaG9wcmEgPG1hbmlzaGNAbWFydmVsbC5jb20+CkRhdGU6IFRodSwgMTkgRGVjIDIwMTkgMTA6 MzU6MTYgLTA4MDAKU3ViamVjdDogW1BBVENIIDEwLzEzXSBxZWRlOiBEaXNhYmxlIGhhcmR3YXJl IGdybyB3aGVuIHhkcCBwcm9nIGlzIGluc3RhbGxlZAoKWyBVcHN0cmVhbSBjb21taXQgNGM4ZGMw MDUwM2RiMjRkZWFmMGI4OWRkZGZhODRiN2NiYTdjZDRjZSBdCgpjb21taXQgMThjNjAyZGVlNDcy ICgicWVkZTogVXNlIE5FVElGX0ZfR1JPX0hXLiIpIGludHJvZHVjZWQKYSByZWdyZXNzaW9uIGlu IGRyaXZlciB0aGF0IHdoZW4geGRwIHByb2dyYW0gaXMgaW5zdGFsbGVkIG9uCnFlZGUgZGV2aWNl LCBkZXZpY2UncyBhZ2dyZWdhdGlvbiBmZWF0dXJlIChoYXJkd2FyZSBHUk8pIGlzIG5vdApnZXR0 aW5nIGRpc2FibGVkLCB3aGljaCBpcyB1bmV4cGVjdGVkIHdpdGggeGRwLgoKRml4ZXM6IDE4YzYw MmRlZTQ3MiAoInFlZGU6IFVzZSBORVRJRl9GX0dST19IVy4iKQpTaWduZWQtb2ZmLWJ5OiBNYW5p c2ggQ2hvcHJhIDxtYW5pc2hjQG1hcnZlbGwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcmllbCBFbGlv ciA8YWVsaW9yQG1hcnZlbGwuY29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBDaGFuIDxtaWNoYWVs LmNoYW5AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVk ZV9tYWluLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUv cWVkZV9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkZS9xZWRlX21haW4u YwppbmRleCA2MzBiMTNhOWMzZDUuLjBkOGUzOWZmYmNkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9tYWluLmMKQEAgLTEzNjIsNiArMTM2Miw3IEBAIHN0YXRp YyBpbnQgcWVkZV9hbGxvY19tZW1fcnhxKHN0cnVjdCBxZWRlX2RldiAqZWRldiwgc3RydWN0IHFl ZGVfcnhfcXVldWUgKnJ4cSkKIAkJcnhxLT5yeF9idWZfc2VnX3NpemUgPSByb3VuZHVwX3Bvd19v Zl90d28oc2l6ZSk7CiAJfSBlbHNlIHsKIAkJcnhxLT5yeF9idWZfc2VnX3NpemUgPSBQQUdFX1NJ WkU7CisJCWVkZXYtPm5kZXYtPmZlYXR1cmVzICY9IH5ORVRJRl9GX0dST19IVzsKIAl9CiAKIAkv KiBBbGxvY2F0ZSB0aGUgcGFyYWxsZWwgZHJpdmVyIHJpbmcgZm9yIFJ4IGJ1ZmZlcnMgKi8KQEAg LTE0MDYsNiArMTQwNyw3IEBAIHN0YXRpYyBpbnQgcWVkZV9hbGxvY19tZW1fcnhxKHN0cnVjdCBx ZWRlX2RldiAqZWRldiwgc3RydWN0IHFlZGVfcnhfcXVldWUgKnJ4cSkKIAkJfQogCX0KIAorCWVk ZXYtPmdyb19kaXNhYmxlID0gIShlZGV2LT5uZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfR1JPX0hX KTsKIAlpZiAoIWVkZXYtPmdyb19kaXNhYmxlKQogCQlxZWRlX3NldF90cGFfcGFyYW0ocnhxKTsK IGVycjoKQEAgLTE2MDYsOCArMTYwOCw2IEBAIHN0YXRpYyB2b2lkIHFlZGVfaW5pdF9mcChzdHJ1 Y3QgcWVkZV9kZXYgKmVkZXYpCiAJCXNucHJpbnRmKGZwLT5uYW1lLCBzaXplb2YoZnAtPm5hbWUp LCAiJXMtZnAtJWQiLAogCQkJIGVkZXYtPm5kZXYtPm5hbWUsIHF1ZXVlX2lkKTsKIAl9Ci0KLQll ZGV2LT5ncm9fZGlzYWJsZSA9ICEoZWRldi0+bmRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0dST19I Vyk7CiB9CiAKIHN0YXRpYyBpbnQgcWVkZV9zZXRfcmVhbF9udW1fcXVldWVzKHN0cnVjdCBxZWRl X2RldiAqZWRldikKLS0gCjIuMjAuMQoKCkZyb20gZWNiODc0OWZiZTI5ZjFkMTg3ZTlkODYzOTYx NzExMzhlODZhMzIzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFuaXNoIENob3By YSA8bWFuaXNoY0BtYXJ2ZWxsLmNvbT4KRGF0ZTogVGh1LCAxMiBEZWMgMjAxOSAwNjo0OToyOCAt MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTNdIHFlZGU6IEZpeCBtdWx0aWNhc3QgbWFjIGNvbmZp Z3VyYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDBhZjY3ZTQ5YjAxOGU3MjgwYTQyMjdiZmU3YjYw MDViYzlkM2U0NDIgXQoKRHJpdmVyIGRvZXNuJ3QgYWNjb21tb2RhdGUgdGhlIGNvbmZpZ3VyYXRp b24gZm9yIG1heCBudW1iZXIKb2YgbXVsdGljYXN0IG1hYyBhZGRyZXNzZXMsIGluIHN1Y2ggcGFy dGljdWxhciBjYXNlIGl0IGxlYXZlcwp0aGUgZGV2aWNlIHdpdGggaW1wcm9wZXIvaW52YWxpZCBt dWx0aWNhc3QgY29uZmlndXJhdGlvbiBzdGF0ZSwKY2F1c2luZyBjb25uZWN0aXZpdHkgaXNzdWVz IChpbiBsYWNwIGJvbmRpbmcgbGlrZSBzY2VuYXJpb3MpLgoKU2lnbmVkLW9mZi1ieTogTWFuaXNo IENob3ByYSA8bWFuaXNoY0BtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJpZWwgRWxpb3Ig PGFlbGlvckBtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWRlL3Fl ZGVfZmlsdGVyLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkZS9x ZWRlX2ZpbHRlci5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9maWx0 ZXIuYwppbmRleCBiMTZjZTdkOTNjYWYuLmMzZDVkNDBhZmVjMCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9maWx0ZXIuYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9xbG9naWMvcWVkZS9xZWRlX2ZpbHRlci5jCkBAIC0xMjMwLDcgKzEyMzAsNyBA QCBxZWRlX2NvbmZpZ3VyZV9tY2FzdF9maWx0ZXJpbmcoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYs CiAJbmV0aWZfYWRkcl9sb2NrX2JoKG5kZXYpOwogCiAJbWNfY291bnQgPSBuZXRkZXZfbWNfY291 bnQobmRldik7Ci0JaWYgKG1jX2NvdW50IDwgNjQpIHsKKwlpZiAobWNfY291bnQgPD0gNjQpIHsK IAkJbmV0ZGV2X2Zvcl9lYWNoX21jX2FkZHIoaGEsIG5kZXYpIHsKIAkJCWV0aGVyX2FkZHJfY29w eSh0ZW1wLCBoYS0+YWRkcik7CiAJCQl0ZW1wICs9IEVUSF9BTEVOOwotLSAKMi4yMC4xCgoKRnJv bSBmMDA4NWMzMjViMGU2NjA5MmM0ZWM5ODc1OGI5NGE0NDlkYmQyMjgzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IE1v biwgOSBEZWMgMjAxOSAxMzo0NTo1NCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMTNdIHNjdHA6 IGZ1bGx5IGluaXRpYWxpemUgdjQgYWRkciBpbiBzb21lIGZ1bmN0aW9ucwoKWyBVcHN0cmVhbSBj b21taXQgYjZmMzMyMGIxZDUyNjdlN2I1ODNhNmQwYzg4ZGRhNTE4MTAxNzQwYyBdCgpTeXpib3Qg Zm91bmQgYSBjcmFzaDoKCiAgQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGNyYzMyX2JvZHkg bGliL2NyYzMyLmM6MTEyIFtpbmxpbmVdCiAgQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGNy YzMyX2xlX2dlbmVyaWMgbGliL2NyYzMyLmM6MTc5IFtpbmxpbmVdCiAgQlVHOiBLTVNBTjogdW5p bml0LXZhbHVlIGluIF9fY3JjMzJjX2xlX2Jhc2UrMHg0ZmEvMHhkMzAgbGliL2NyYzMyLmM6MjAy CiAgQ2FsbCBUcmFjZToKICAgIGNyYzMyX2JvZHkgbGliL2NyYzMyLmM6MTEyIFtpbmxpbmVdCiAg ICBjcmMzMl9sZV9nZW5lcmljIGxpYi9jcmMzMi5jOjE3OSBbaW5saW5lXQogICAgX19jcmMzMmNf bGVfYmFzZSsweDRmYS8weGQzMCBsaWIvY3JjMzIuYzoyMDIKICAgIGNoa3N1bV91cGRhdGUrMHhi Mi8weDExMCBjcnlwdG8vY3JjMzJjX2dlbmVyaWMuYzo5MAogICAgY3J5cHRvX3NoYXNoX3VwZGF0 ZSsweDRjNS8weDUzMCBjcnlwdG8vc2hhc2guYzoxMDcKICAgIGNyYzMyYysweDE1MC8weDIyMCBs aWIvbGliY3JjMzJjLmM6NDcKICAgIHNjdHBfY3N1bV91cGRhdGUrMHg4OS8weGEwIGluY2x1ZGUv bmV0L3NjdHAvY2hlY2tzdW0uaDozNgogICAgX19za2JfY2hlY2tzdW0rMHgxMjk3LzB4MTJhMCBu ZXQvY29yZS9za2J1ZmYuYzoyNjQwCiAgICBzY3RwX2NvbXB1dGVfY2tzdW0gaW5jbHVkZS9uZXQv c2N0cC9jaGVja3N1bS5oOjU5IFtpbmxpbmVdCiAgICBzY3RwX3BhY2tldF9wYWNrIG5ldC9zY3Rw L291dHB1dC5jOjUyOCBbaW5saW5lXQogICAgc2N0cF9wYWNrZXRfdHJhbnNtaXQrMHg0MGZiLzB4 NDI1MCBuZXQvc2N0cC9vdXRwdXQuYzo1OTcKICAgIHNjdHBfb3V0cV9mbHVzaF90cmFuc3BvcnRz IG5ldC9zY3RwL291dHF1ZXVlLmM6MTE0NiBbaW5saW5lXQogICAgc2N0cF9vdXRxX2ZsdXNoKzB4 MTgyMy8weDVkODAgbmV0L3NjdHAvb3V0cXVldWUuYzoxMTk0CiAgICBzY3RwX291dHFfdW5jb3Jr KzB4ZDAvMHhmMCBuZXQvc2N0cC9vdXRxdWV1ZS5jOjc1NwogICAgc2N0cF9jbWRfaW50ZXJwcmV0 ZXIgbmV0L3NjdHAvc21fc2lkZWVmZmVjdC5jOjE3ODEgW2lubGluZV0KICAgIHNjdHBfc2lkZV9l ZmZlY3RzIG5ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYzoxMTg0IFtpbmxpbmVdCiAgICBzY3RwX2Rv X3NtKzB4OGZlMS8weDk3MjAgbmV0L3NjdHAvc21fc2lkZWVmZmVjdC5jOjExNTUKICAgIHNjdHBf cHJpbWl0aXZlX1JFUVVFU1RIRUFSVEJFQVQrMHgxNzUvMHgxYTAgbmV0L3NjdHAvcHJpbWl0aXZl LmM6MTg1CiAgICBzY3RwX2FwcGx5X3BlZXJfYWRkcl9wYXJhbXMrMHgyMTIvMHgxZDQwIG5ldC9z Y3RwL3NvY2tldC5jOjI0MzMKICAgIHNjdHBfc2V0c29ja29wdF9wZWVyX2FkZHJfcGFyYW1zIG5l dC9zY3RwL3NvY2tldC5jOjI2ODYgW2lubGluZV0KICAgIHNjdHBfc2V0c29ja29wdCsweDE4OWJi LzB4MTkwOTAgbmV0L3NjdHAvc29ja2V0LmM6NDY3MgoKVGhlIGlzc3VlIHdhcyBjYXVzZWQgYnkg dHJhbnNwb3J0LT5pcGFkZHIgc2V0IHdpdGggdW5pbml0IGFkZHIgcGFyYW0sIHdoaWNoCndhcyBw YXNzZWQgYnk6CgogIHNjdHBfdHJhbnNwb3J0X2luaXQgbmV0L3NjdHAvdHJhbnNwb3J0LmM6NDcg W2lubGluZV0KICBzY3RwX3RyYW5zcG9ydF9uZXcrMHgyNDgvMHhhMDAgbmV0L3NjdHAvdHJhbnNw b3J0LmM6MTAwCiAgc2N0cF9hc3NvY19hZGRfcGVlcisweDViYS8weDIwMzAgbmV0L3NjdHAvYXNz b2Npb2xhLmM6NjExCiAgc2N0cF9wcm9jZXNzX3BhcmFtIG5ldC9zY3RwL3NtX21ha2VfY2h1bmsu YzoyNTI0IFtpbmxpbmVdCgp3aGVyZSAnYWRkcicgaXMgc2V0IGJ5IHNjdHBfdjRfZnJvbV9hZGRy X3BhcmFtKCksIGFuZCBpdCBkb2Vzbid0IGluaXRpYWxpemUKdGhlIHBhZGRpbmcgb2YgYWRkci0+ djQuCgpMYXRlciB3aGVuIGNhbGxpbmcgc2N0cF9tYWtlX2hlYXJ0YmVhdCgpLCBoYmluZm8uZGFk ZHIoPXRyYW5zcG9ydC0+aXBhZGRyKQp3aWxsIGJlY29tZSB0aGUgcGFydCBvZiBza2IsIGFuZCB0 aGUgaXNzdWUgb2NjdXJzLgoKVGhpcyBwYXRjaCBpcyB0byBmaXggaXQgYnkgaW5pdGlhbGl6aW5n IHRoZSBwYWRkaW5nIG9mIGFkZHItPnY0IGluCnNjdHBfdjRfZnJvbV9hZGRyX3BhcmFtKCksIGFz IHdlbGwgYXMgb3RoZXIgZnVuY3Rpb25zIHRoYXQgZG8gdGhlIHNpbWlsYXIKdGhpbmcsIGFuZCB0 aGVzZSBmdW5jdGlvbnMgc2hvdWxkbid0IHRydXN0IHRoYXQgdGhlIGNhbGxlciBpbml0aWFsaXpl cyB0aGUKbWVtb3J5LCBhcyBNYXJjZWxvIHN1Z2dlc3RlZC4KClJlcG9ydGVkLWJ5OiBzeXpib3Qr NmRjYmZlYTgxY2QzZDRkZDBiMDJAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2Zm LWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOZWlsIEhvcm1h biA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvcHJvdG9jb2wuYyB8IDUgKysrKysK IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9w cm90b2NvbC5jIGIvbmV0L3NjdHAvcHJvdG9jb2wuYwppbmRleCA2ZDM2Zjc0YWQyOTUuLjI2OWI1 MjhlNTBiOSAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvcHJvdG9jb2wuYworKysgYi9uZXQvc2N0cC9w cm90b2NvbC5jCkBAIC0yNDIsNiArMjQyLDcgQEAgc3RhdGljIHZvaWQgc2N0cF92NF9mcm9tX3Nr Yih1bmlvbiBzY3RwX2FkZHIgKmFkZHIsIHN0cnVjdCBza19idWZmICpza2IsCiAJCXNhLT5zaW5f cG9ydCA9IHNoLT5kZXN0OwogCQlzYS0+c2luX2FkZHIuc19hZGRyID0gaXBfaGRyKHNrYiktPmRh ZGRyOwogCX0KKwltZW1zZXQoc2EtPnNpbl96ZXJvLCAwLCBzaXplb2Yoc2EtPnNpbl96ZXJvKSk7 CiB9CiAKIC8qIEluaXRpYWxpemUgYW4gc2N0cF9hZGRyIGZyb20gYSBzb2NrZXQuICovCkBAIC0y NTAsNiArMjUxLDcgQEAgc3RhdGljIHZvaWQgc2N0cF92NF9mcm9tX3NrKHVuaW9uIHNjdHBfYWRk ciAqYWRkciwgc3RydWN0IHNvY2sgKnNrKQogCWFkZHItPnY0LnNpbl9mYW1pbHkgPSBBRl9JTkVU OwogCWFkZHItPnY0LnNpbl9wb3J0ID0gMDsKIAlhZGRyLT52NC5zaW5fYWRkci5zX2FkZHIgPSBp bmV0X3NrKHNrKS0+aW5ldF9yY3Zfc2FkZHI7CisJbWVtc2V0KGFkZHItPnY0LnNpbl96ZXJvLCAw LCBzaXplb2YoYWRkci0+djQuc2luX3plcm8pKTsKIH0KIAogLyogSW5pdGlhbGl6ZSBzay0+c2tf cmN2X3NhZGRyIGZyb20gc2N0cF9hZGRyLiAqLwpAQCAtMjcyLDYgKzI3NCw3IEBAIHN0YXRpYyB2 b2lkIHNjdHBfdjRfZnJvbV9hZGRyX3BhcmFtKHVuaW9uIHNjdHBfYWRkciAqYWRkciwKIAlhZGRy LT52NC5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKIAlhZGRyLT52NC5zaW5fcG9ydCA9IHBvcnQ7CiAJ YWRkci0+djQuc2luX2FkZHIuc19hZGRyID0gcGFyYW0tPnY0LmFkZHIuc19hZGRyOworCW1lbXNl dChhZGRyLT52NC5zaW5femVybywgMCwgc2l6ZW9mKGFkZHItPnY0LnNpbl96ZXJvKSk7CiB9CiAK IC8qIEluaXRpYWxpemUgYW4gYWRkcmVzcyBwYXJhbWV0ZXIgZnJvbSBhIHNjdHBfYWRkciBhbmQg cmV0dXJuIHRoZSBsZW5ndGgKQEAgLTI5Niw2ICsyOTksNyBAQCBzdGF0aWMgdm9pZCBzY3RwX3Y0 X2RzdF9zYWRkcih1bmlvbiBzY3RwX2FkZHIgKnNhZGRyLCBzdHJ1Y3QgZmxvd2k0ICpmbDQsCiAJ c2FkZHItPnY0LnNpbl9mYW1pbHkgPSBBRl9JTkVUOwogCXNhZGRyLT52NC5zaW5fcG9ydCA9IHBv cnQ7CiAJc2FkZHItPnY0LnNpbl9hZGRyLnNfYWRkciA9IGZsNC0+c2FkZHI7CisJbWVtc2V0KHNh ZGRyLT52NC5zaW5femVybywgMCwgc2l6ZW9mKHNhZGRyLT52NC5zaW5femVybykpOwogfQogCiAv KiBDb21wYXJlIHR3byBhZGRyZXNzZXMgZXhhY3RseS4gKi8KQEAgLTMxOCw2ICszMjIsNyBAQCBz dGF0aWMgdm9pZCBzY3RwX3Y0X2luYWRkcl9hbnkodW5pb24gc2N0cF9hZGRyICphZGRyLCBfX2Jl MTYgcG9ydCkKIAlhZGRyLT52NC5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKIAlhZGRyLT52NC5zaW5f YWRkci5zX2FkZHIgPSBodG9ubChJTkFERFJfQU5ZKTsKIAlhZGRyLT52NC5zaW5fcG9ydCA9IHBv cnQ7CisJbWVtc2V0KGFkZHItPnY0LnNpbl96ZXJvLCAwLCBzaXplb2YoYWRkci0+djQuc2luX3pl cm8pKTsKIH0KIAogLyogSXMgdGhpcyBhIHdpbGRjYXJkIGFkZHJlc3M/ICovCi0tIAoyLjIwLjEK CgpGcm9tIDdhYmRhZGEyYzhmMDdhODk4Y2YyMThmMjAxZTVjNDIyY2MzZGZkNTMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4K RGF0ZTogTW9uLCA5IERlYyAyMDE5IDA4OjU2OjM0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMy8x M10gc2VsZnRlc3RzOiBmb3J3YXJkaW5nOiBEZWxldGUgSVB2NiBhZGRyZXNzIGF0IHRoZSBlbmQK ClsgVXBzdHJlYW0gY29tbWl0IDY1Y2IxMzk4NjIyOWNlYzAyNjM1YTFlY2JjZDFlMmRkMTgzNTMy MDEgXQoKV2hlbiBjcmVhdGluZyB0aGUgc2Vjb25kIGhvc3QgaW4gaDJfY3JlYXRlKCksIHR3byBh ZGRyZXNzZXMgYXJlIGFzc2lnbmVkCnRvIHRoZSBpbnRlcmZhY2UsIGJ1dCBvbmx5IG9uZSBpcyBk ZWxldGVkLiBXaGVuIHJ1bm5pbmcgdGhlIHRlc3QgdHdpY2UKaW4gYSByb3cgdGhlIGZvbGxvd2lu ZyBlcnJvciBpcyBvYnNlcnZlZDoKCiQgLi9yb3V0ZXJfYnJpZGdlX3ZsYW4uc2gKVEVTVDogcGlu ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KVEVTVDogcGluZzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KVEVTVDogdmxhbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KJCAuL3JvdXRlcl9i cmlkZ2Vfdmxhbi5zaApSVE5FVExJTksgYW5zd2VyczogRmlsZSBleGlzdHMKVEVTVDogcGluZyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KVEVTVDogcGluZzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbIE9LIF0KVEVTVDogdmxhbiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KCkZpeCB0aGlzIGJ5IGRl bGV0aW5nIHRoZSBhZGRyZXNzIGR1cmluZyBjbGVhbnVwLgoKRml4ZXM6IDViMWU3ZjllYmQ1NiAo InNlbGZ0ZXN0czogZm9yd2FyZGluZzogVGVzdCByb3V0ZWQgYnJpZGdlIGludGVyZmFjZSIpClNp Z25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIHRvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL25ldC9mb3J3YXJkaW5nL3JvdXRlcl9icmlkZ2Vfdmxhbi5zaCB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9mb3J3YXJkaW5nL3JvdXRlcl9icmlk Z2Vfdmxhbi5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9mb3J3YXJkaW5nL3JvdXRl cl9icmlkZ2Vfdmxhbi5zaAppbmRleCBmZWY4OGViNGI4NzMuLmZhNmE4OGM1MDc1MCAxMDA3NTUK LS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZvcndhcmRpbmcvcm91dGVyX2JyaWRn ZV92bGFuLnNoCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9mb3J3YXJkaW5nL3Jv dXRlcl9icmlkZ2Vfdmxhbi5zaApAQCAtMzYsNyArMzYsNyBAQCBoMl9kZXN0cm95KCkKIHsKIAlp cCAtNiByb3V0ZSBkZWwgMjAwMTpkYjg6MTo6LzY0IHZyZiB2JGgyCiAJaXAgLTQgcm91dGUgZGVs IDE5Mi4wLjIuMC8yOCB2cmYgdiRoMgotCXNpbXBsZV9pZl9maW5pICRoMiAxOTIuMC4yLjEzMC8y OAorCXNpbXBsZV9pZl9maW5pICRoMiAxOTIuMC4yLjEzMC8yOCAyMDAxOmRiODoyOjoyLzY0CiB9 CiAKIHJvdXRlcl9jcmVhdGUoKQotLSAKMi4yMC4xCgo= ----Next_Part(Sat_Dec_28_00_14_42_2019_334)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_54.mbox" RnJvbSA4MzVmNDk5YzMxY2M0MTlmYTFlNWUwYWIwOTcwOGIxNTFiNzc0MTczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYW8gV2VuYW4gPG1hb3dlbmFuQGh1YXdlaS5jb20+CkRhdGU6 IE1vbiwgOSBEZWMgMjAxOSAyMTozMToyNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjddIGFm X3BhY2tldDogc2V0IGRlZmF1bGUgdmFsdWUgZm9yIHRtbwoKWyBVcHN0cmVhbSBjb21taXQgYjQz ZDFmOWY3MDY3YzY3NTliMTA1MWU4ZWNiODRlODJjZWY1NjlmZSBdCgpUaGVyZSBpcyBzb2Z0bG9j a3VwIHdoZW4gdXNpbmcgVFBBQ0tFVF9WMzoKLi4uCk5NSSB3YXRjaGRvZzogQlVHOiBzb2Z0IGxv Y2t1cCAtIENQVSMyIHN0dWNrIGZvciA2MDAxMG1zIQooX19pcnFfc3ZjKSBmcm9tIFs8YzA1NThh MGM+XSAoX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NDQvMHg1NCkKKF9yYXdfc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSkgZnJvbSBbPGMwMjdiN2U4Pl0gKG1vZF90aW1lcisweDIxMC8weDI1 YykKKG1vZF90aW1lcikgZnJvbSBbPGMwNTQ5YzMwPl0KKHByYl9yZXRpcmVfcnhfYmxrX3RpbWVy X2V4cGlyZWQrMHg2OC8weDExYykKKHByYl9yZXRpcmVfcnhfYmxrX3RpbWVyX2V4cGlyZWQpIGZy b20gWzxjMDI3YTdhYz5dCihjYWxsX3RpbWVyX2ZuKzB4OTAvMHgxN2MpCihjYWxsX3RpbWVyX2Zu KSBmcm9tIFs8YzAyN2FiNmM+XSAocnVuX3RpbWVyX3NvZnRpcnErMHgyZDQvMHgyZmMpCihydW5f dGltZXJfc29mdGlycSkgZnJvbSBbPGMwMjFlYWY0Pl0gKF9fZG9fc29mdGlycSsweDIxOC8weDMx OCkKKF9fZG9fc29mdGlycSkgZnJvbSBbPGMwMjFlZWEwPl0gKGlycV9leGl0KzB4ODgvMHhhYykK KGlycV9leGl0KSBmcm9tIFs8YzAyNDAxMzA+XSAobXNhX2lycV9leGl0KzB4MTFjLzB4MWQ0KQoo bXNhX2lycV9leGl0KSBmcm9tIFs8YzAyMDljZjA+XSAoaGFuZGxlX0lQSSsweDY1MC8weDdmNCkK KGhhbmRsZV9JUEkpIGZyb20gWzxjMDIwMTViYz5dIChnaWNfaGFuZGxlX2lycSsweDEwOC8weDEx OCkKKGdpY19oYW5kbGVfaXJxKSBmcm9tIFs8YzA1NThlZTQ+XSAoX19pcnFfdXNyKzB4NDQvMHg1 YykKLi4uCgpJZiBfX2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdzKCkgaXMgZmFpbGVkIGluCnBy Yl9jYWxjX3JldGlyZV9ibGtfdG1vKCksIG1zZWMgYW5kIHRtbyB3aWxsIGJlIHplcm8sIHNvIHRv dl9pbl9qaWZmaWVzCmlzIHplcm8gYW5kIHRoZSB0aW1lciBleHBpcmUgZm9yIHJldGlyZV9ibGtf dGltZXIgaXMgdHVybiB0bwptb2RfdGltZXIoJnBrYy0+cmV0aXJlX2Jsa190aW1lciwgamlmZmll cyArIDApLAp3aGljaCB3aWxsIHRyaWdnZXIgY3B1IHVzYWdlIG9mIHNvZnRpcnEgaXMgMTAwJS4K CkZpeGVzOiBmNmZiOGYxMDBiODAgKCJhZi1wYWNrZXQ6IFRQQUNLRVRfVjMgZmxleGlibGUgYnVm ZmVyIGltcGxlbWVudGF0aW9uLiIpClRlc3RlZC1ieTogWGlhbyBKaWFuZ2ZlbmcgPHhpYW9qaWFu Z2ZlbmdAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFvIFdlbmFuIDxtYW93ZW5hbkBodWF3 ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L3BhY2tldC9hZl9wYWNrZXQuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3BhY2tldC9h Zl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKaW5kZXggODJhNTBlODUwMjQ1Li41 MjlkNGNlOTQ1ZGIgMTAwNjQ0Ci0tLSBhL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKKysrIGIvbmV0 L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtNTQ0LDcgKzU0NCw4IEBAIHN0YXRpYyBpbnQgcHJiX2Nh bGNfcmV0aXJlX2Jsa190bW8oc3RydWN0IHBhY2tldF9zb2NrICpwbywKIAkJCW1zZWMgPSAxOwog CQkJZGl2ID0gZWNtZC5iYXNlLnNwZWVkIC8gMTAwMDsKIAkJfQotCX0KKwl9IGVsc2UKKwkJcmV0 dXJuIERFRkFVTFRfUFJCX1JFVElSRV9UT1Y7CiAKIAltYml0cyA9IChibGtfc2l6ZV9pbl9ieXRl cyAqIDgpIC8gKDEwMjQgKiAxMDI0KTsKIAotLSAKMi4yMC4xCgoKRnJvbSAwOGE5MTg4NjNiZWRi MjM5OTRmYTM3NTIwOTY4ZWI5OTk2ZmJkY2I2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBDaHVob25nIFl1YW4gPGhzbGVzdGVyOTZAZ21haWwuY29tPgpEYXRlOiBUdWUsIDEwIERlYyAy MDE5IDAwOjIyOjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwMi8yN10gZmplczogZml4IG1pc3Nl ZCBjaGVjayBpbiBmamVzX2FjcGlfYWRkCgpbIFVwc3RyZWFtIGNvbW1pdCBhMjg4ZjEwNWEwM2E3 ZTBlNjI5YThkYTJiMzFmMzRlYmYwMzQzZWUyIF0KCmZqZXNfYWNwaV9hZGQoKSBtaXNzZXMgYSBj aGVjayBmb3IgcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgpLgpBZGQgYSBjaGVjayB0 byBmaXggaXQuCgpGaXhlczogNjU4ZDQzOWIyMjkyICgiZmplczogSW50cm9kdWNlIEZVSklUU1Ug RXh0ZW5kZWQgU29ja2V0IE5ldHdvcmsgRGV2aWNlIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IENo dWhvbmcgWXVhbiA8aHNsZXN0ZXI5NkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9mamVzL2ZqZXNf bWFpbi5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9mamVzL2ZqZXNfbWFpbi5jIGIvZHJpdmVycy9uZXQvZmplcy9mamVz X21haW4uYwppbmRleCBiNTE3YzFhZjlkZTAuLjkxYTEwNTk1MTdmNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZmplcy9mamVzX21haW4uYworKysgYi9kcml2ZXJzL25ldC9mamVzL2ZqZXNfbWFp bi5jCkBAIC0xNjYsNiArMTY2LDkgQEAgc3RhdGljIGludCBmamVzX2FjcGlfYWRkKHN0cnVjdCBh Y3BpX2RldmljZSAqZGV2aWNlKQogCS8qIGNyZWF0ZSBwbGF0Zm9ybV9kZXZpY2UgKi8KIAlwbGF0 X2RldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoRFJWX05BTUUsIDAsIGZqZXNf cmVzb3VyY2UsCiAJCQkJCQkgICBBUlJBWV9TSVpFKGZqZXNfcmVzb3VyY2UpKTsKKwlpZiAoSVNf RVJSKHBsYXRfZGV2KSkKKwkJcmV0dXJuIFBUUl9FUlIocGxhdF9kZXYpOworCiAJZGV2aWNlLT5k cml2ZXJfZGF0YSA9IHBsYXRfZGV2OwogCiAJcmV0dXJuIDA7Ci0tIAoyLjIwLjEKCgpGcm9tIDhj OTMwOThkN2YwYjk1NmE5OTc4OTczNGRjYjBiYTgwOTNmNGNjNWMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+CkRh dGU6IFRodSwgMTkgRGVjIDIwMTkgMjM6MjQ6NDcgKzAwMDAKU3ViamVjdDogW1BBVENIIDAzLzI3 XSBtb2RfZGV2aWNldGFibGU6IGZpeCBQSFkgbW9kdWxlIGZvcm1hdAoKWyBVcHN0cmVhbSBjb21t aXQgZDJlZDQ5Y2Y2YzEzZTM3OWM1ODE5YWE1YWMyMGUxZjk2NzRlYmM4OSBdCgpXaGVuIGEgUEhZ IGlzIHByb2JlZCwgaWYgdGhlIHRvcCBiaXQgaXMgc2V0LCB3ZSBlbmQgdXAgcmVxdWVzdGluZyBh Cm1vZHVsZSB3aXRoIHRoZSBzdHJpbmcgIm1kaW86LTEwMTAxMTEwMDAwMDAwMTAwMTAxMDAwMTAx MDEwMDAxIiAtCnRoZSB0b3AgYml0IGlzIHByaW50ZWQgdG8gYSBzaWduZWQgLTEgdmFsdWUuIFRo aXMgbGVhZHMgdG8gdGhlIG1vZHVsZQpub3QgYmVpbmcgbG9hZGVkLgoKRml4IHRoZSBtb2R1bGUg Zm9ybWF0IHN0cmluZyBhbmQgdGhlIG1hY3JvIGdlbmVyYXRpbmcgdGhlIHZhbHVlcyBmb3IKaXQg dG8gZW5zdXJlIHRoYXQgd2Ugb25seSBwcmludCB1bnNpZ25lZCB0eXBlcyBhbmQgdGhlIHRvcCBi aXQgaXMKYWx3YXlzIDAvMS4gV2UgY29ycmVjdGx5IGVuZCB1cCB3aXRoCiJtZGlvOjEwMTAxMTEw MDAwMDAwMTAwMTAxMDAwMTAxMDEwMDAxIi4KCkZpeGVzOiA4NjI2ZDNiNDMyODAgKCJwaHlsaWI6 IFN1cHBvcnQgcGh5IG1vZHVsZSBhdXRvbG9hZGluZyIpClJldmlld2VkLWJ5OiBBbmRyZXcgTHVu biA8YW5kcmV3QGx1bm4uY2g+ClNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5l bEBhcm1saW51eC5vcmcudWs+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5l bGxpQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmggfCA0ICsrLS0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaCBiL2luY2x1ZGUvbGludXgvbW9k X2RldmljZXRhYmxlLmgKaW5kZXggNTcxNGZkMzVhODNjLi5lMzU5NmRiMDc3ZGMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9t b2RfZGV2aWNldGFibGUuaApAQCAtNTg3LDkgKzU4Nyw5IEBAIHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2VfaWQgewogI2RlZmluZSBNRElPX05BTUVfU0laRQkJMzIKICNkZWZpbmUgTURJT19NT0RVTEVf UFJFRklYCSJtZGlvOiIKIAotI2RlZmluZSBNRElPX0lEX0ZNVCAiJWQlZCVkJWQlZCVkJWQlZCVk JWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCIKKyNkZWZpbmUg TURJT19JRF9GTVQgIiV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1JXUldSV1 JXUldSV1JXUldSV1JXUldSV1JXUiCiAjZGVmaW5lIE1ESU9fSURfQVJHUyhfaWQpIFwKLQkoX2lk KT4+MzEsICgoX2lkKT4+MzApICYgMSwgKChfaWQpPj4yOSkgJiAxLCAoKF9pZCk+PjI4KSAmIDEs CVwKKwkoKF9pZCk+PjMxKSAmIDEsICgoX2lkKT4+MzApICYgMSwgKChfaWQpPj4yOSkgJiAxLCAo KF9pZCk+PjI4KSAmIDEsIFwKIAkoKF9pZCk+PjI3KSAmIDEsICgoX2lkKT4+MjYpICYgMSwgKChf aWQpPj4yNSkgJiAxLCAoKF9pZCk+PjI0KSAmIDEsIFwKIAkoKF9pZCk+PjIzKSAmIDEsICgoX2lk KT4+MjIpICYgMSwgKChfaWQpPj4yMSkgJiAxLCAoKF9pZCk+PjIwKSAmIDEsIFwKIAkoKF9pZCk+ PjE5KSAmIDEsICgoX2lkKT4+MTgpICYgMSwgKChfaWQpPj4xNykgJiAxLCAoKF9pZCk+PjE2KSAm IDEsIFwKLS0gCjIuMjAuMQoKCkZyb20gZmFmYTE3MGU2YWI4MDJkMWI2ZTk3NGM5ZTczZDkyMTVm ZGRlYjlmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR2VlcnQgVXl0dGVyaG9ldmVu IDxnZWVydEBsaW51eC1tNjhrLm9yZz4KRGF0ZTogRnJpLCAyMCBEZWMgMjAxOSAxNDozMTo0MCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjddIG5ldDogZHN0OiBGb3JjZSA0LWJ5dGUgYWxpZ25t ZW50IG9mIGRzdF9tZXRyaWNzCgpbIFVwc3RyZWFtIGNvbW1pdCAyNThhOTgwZDFlYzIzZTJjNzg2 ZTk1MzZhN2RkMjYwYmVhNzRiYWU2IF0KCldoZW4gc3RvcmluZyBhIHBvaW50ZXIgdG8gYSBkc3Rf bWV0cmljcyBzdHJ1Y3R1cmUgaW4gZHN0X2VudHJ5Ll9tZXRyaWNzLAp0d28gZmxhZ3MgYXJlIGFk ZGVkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBwb2ludGVyIHZhbHVlLgpI ZW5jZSB0aGlzIGFzc3VtZXMgYWxsIHBvaW50ZXJzIHRvIGRzdF9tZXRyaWNzIHN0cnVjdHVyZXMg aGF2ZSBhdCBsZWFzdAo0LWJ5dGUgYWxpZ25tZW50LgoKSG93ZXZlciwgb24gbTY4aywgdGhlIG1p bmltdW0gYWxpZ25tZW50IG9mIDMyLWJpdCB2YWx1ZXMgaXMgMiBieXRlcywgbm90CjQgYnl0ZXMu ICBIZW5jZSBpbiBzb21lIGtlcm5lbCBidWlsZHMsIGRzdF9kZWZhdWx0X21ldHJpY3MgbWF5IGJl IG9ubHkKMi1ieXRlIGFsaWduZWQsIGxlYWRpbmcgdG8gb2JzY3VyZSBib290IHdhcm5pbmdzIGxp a2U6CgogICAgV0FSTklORzogQ1BVOiAwIFBJRDogNyBhdCBsaWIvcmVmY291bnQuYzoyOCByZWZj b3VudF93YXJuX3NhdHVyYXRlKzB4NDQvMHg5YQogICAgcmVmY291bnRfdDogdW5kZXJmbG93OyB1 c2UtYWZ0ZXItZnJlZS4KICAgIE1vZHVsZXMgbGlua2VkIGluOgogICAgQ1BVOiAwIFBJRDogNyBD b21tOiBrc29mdGlycWQvMCBUYWludGVkOiBHICAgICAgICBXICAgICAgICAgNS41LjAtcmMyLWF0 YXJpLTAxNDQ4LWcxMTRhMWExMDM4YWY4OTFkLWRpcnR5ICMyNjEKICAgIFN0YWNrIGZyb20gMTA4 MzVlNmM6CgkgICAgMTA4MzVlNmMgMDAzODEzNGYgMDAwMjNmYTYgMDAzOTRiMGYgMDAwMDAwMWMg MDAwMDAwMDkgMDAzMjE1NjAgMDAwMjNmZWEKCSAgICAwMDM5NGIwZiAwMDAwMDAxYyAwMDFhNzBm OCAwMDAwMDAwOSAwMDAwMDAwMCAxMDgzNWViNCAwMDAwMDAwMSAwMDAwMDAwMAoJICAgIDA0MjA4 MDQwIDAwMDAwMDBhIDAwMzk0YjRhIDEwODM1ZWQ0IDAwMDQzYWE4IDAwMWE3MGY4IDAwMzk0YjBm IDAwMDAwMDFjCgkgICAgMDAwMDAwMDkgMDAzOTRiNGEgMDAyNmFiYTggMDAzMjE1YTQgMDAwMDAw MDMgMDAwMDAwMDAgMDAyNmQ1YTggMDAwMDAwMDEKCSAgICAwMDMyMTVhNCAwMDNhNDM2MSAwMDMy MzhkNiAwMDAwMDFmMCAwMDAwMDAwMCAwMDMyMTVhNCAxMGFhM2IwMCAwMDAyNWU4NAoJICAgIDAw M2RkYjAwIDEwODM0MDAwIDAwMjQxNmE4IDEwYWEzYjAwIDAwMDAwMDAwIDAwMDAwMDgwIDAwMGFh MDM4IDAwMDQ4NTRhCiAgICBDYWxsIFRyYWNlOiBbPDAwMDIzZmE2Pl0gX193YXJuKzB4YjIvMHhi NAogICAgIFs8MDAwMjNmZWE+XSB3YXJuX3Nsb3dwYXRoX2ZtdCsweDQyLzB4NjQKICAgICBbPDAw MWE3MGY4Pl0gcmVmY291bnRfd2Fybl9zYXR1cmF0ZSsweDQ0LzB4OWEKICAgICBbPDAwMDQzYWE4 Pl0gcHJpbnRrKzB4MC8weDE4CiAgICAgWzwwMDFhNzBmOD5dIHJlZmNvdW50X3dhcm5fc2F0dXJh dGUrMHg0NC8weDlhCiAgICAgWzwwMDI2YWJhOD5dIHJlZmNvdW50X3N1Yl9hbmRfdGVzdC5jb25z dHByb3AuNzMrMHgzOC8weDNlCiAgICAgWzwwMDI2ZDVhOD5dIGlwdjRfZHN0X2Rlc3Ryb3krMHg1 ZS8weDdlCiAgICAgWzwwMDAyNWU4ND5dIF9fbG9jYWxfYmhfZW5hYmxlX2lwKzB4MC8weDhlCiAg ICAgWzwwMDI0MTZhOD5dIGRzdF9kZXN0cm95KzB4NDAvMHhhZQoKRml4IHRoaXMgYnkgZm9yY2lu ZyA0LWJ5dGUgYWxpZ25tZW50IG9mIGFsbCBkc3RfbWV0cmljcyBzdHJ1Y3R1cmVzLgoKRml4ZXM6 IGU1ZmQzODdhZDViMzBjYTMgKCJpcHY2OiBkbyBub3Qgb3ZlcndyaXRlIGluZXRwZWVyIG1ldHJp Y3MgcHJlbWF0dXJlbHkiKQpTaWduZWQtb2ZmLWJ5OiBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0 QGxpbnV4LW02OGsub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvZHN0LmggfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25l dC9kc3QuaCBiL2luY2x1ZGUvbmV0L2RzdC5oCmluZGV4IGZlNjJmZTJlYjc4MS4uODIyNGRhZDJh ZTk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9kc3QuaAorKysgYi9pbmNsdWRlL25ldC9kc3Qu aApAQCAtODIsNyArODIsNyBAQCBzdHJ1Y3QgZHN0X2VudHJ5IHsKIHN0cnVjdCBkc3RfbWV0cmlj cyB7CiAJdTMyCQltZXRyaWNzW1JUQVhfTUFYXTsKIAlyZWZjb3VudF90CXJlZmNudDsKLX07Cit9 IF9fYWxpZ25lZCg0KTsJCS8qIExvdyBwb2ludGVyIGJpdHMgY29udGFpbiBEU1RfTUVUUklDU19G TEFHUyAqLwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkc3RfbWV0cmljcyBkc3RfZGVmYXVsdF9tZXRy aWNzOwogCiB1MzIgKmRzdF9jb3dfbWV0cmljc19nZW5lcmljKHN0cnVjdCBkc3RfZW50cnkgKmRz dCwgdW5zaWduZWQgbG9uZyBvbGQpOwotLSAKMi4yMC4xCgoKRnJvbSAzNzg1M2YxM2I2YWZlYWMy ZGNmYjRkZjRjNGYwMDEzODVjZDI2ZmQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBO YXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTQg RGVjIDIwMTkgMTk6MTA6NDQgLTA2MDAKU3ViamVjdDogW1BBVENIIDA1LzI3XSBuZXQ6IGdlbWlu aTogRml4IG1lbW9yeSBsZWFrIGluIGdtYWNfc2V0dXBfdHhxcwoKWyBVcHN0cmVhbSBjb21taXQg ZjM3ZjcxMDM1MzY3NzYzOWJjNWQzN2VlNzg1MzM1OTk0YWRmMjUyOSBdCgpJbiB0aGUgaW1wbGVt ZW50YXRpb24gb2YgZ21hY19zZXR1cF90eHFzKCkgdGhlIGFsbG9jYXRlZCBkZXNjX3JpbmcgaXMK bGVha2VkIGlmIFRYIHF1ZXVlIGJhc2UgaXMgbm90IGFsaWduZWQuIFJlbGVhc2UgaXQgdmlhCmRt YV9mcmVlX2NvaGVyZW50LgoKRml4ZXM6IDRkNWFlMzJmNWUxZSAoIm5ldDogZXRoZXJuZXQ6IEFk ZCBhIGRyaXZlciBmb3IgR2VtaW5pIGdpZ2FiaXQgZXRoZXJuZXQiKQpTaWduZWQtb2ZmLWJ5OiBO YXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBM aW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9jb3J0aW5hL2dlbWluaS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NvcnRpbmEvZ2VtaW5pLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jb3J0aW5hL2dlbWluaS5jCmluZGV4IGE4ZjRjNjkyNTJm Zi4uMjgxNGI5Njc1MWI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jb3J0aW5h L2dlbWluaS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NvcnRpbmEvZ2VtaW5pLmMKQEAg LTU3Niw2ICs1NzYsOCBAQCBzdGF0aWMgaW50IGdtYWNfc2V0dXBfdHhxcyhzdHJ1Y3QgbmV0X2Rl dmljZSAqbmV0ZGV2KQogCiAJaWYgKHBvcnQtPnR4cV9kbWFfYmFzZSAmIH5ETUFfUV9CQVNFX01B U0spIHsKIAkJZGV2X3dhcm4oZ2V0aC0+ZGV2LCAiVFggcXVldWUgYmFzZSBpcyBub3QgYWxpZ25l ZFxuIik7CisJCWRtYV9mcmVlX2NvaGVyZW50KGdldGgtPmRldiwgbGVuICogc2l6ZW9mKCpkZXNj X3JpbmcpLAorCQkJCSAgZGVzY19yaW5nLCBwb3J0LT50eHFfZG1hX2Jhc2UpOwogCQlrZnJlZShz a2JfdGFiKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotLSAKMi4yMC4xCgoKRnJvbSBmMzQ3OTEy YWZhY2Y1NzZkMGFjZjYwNDQwM2NkODg0MDVkYTNhZDM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKaWFuZ2ZlbmcgWGlhbyA8eGlhb2ppYW5nZmVuZ0BodWF3ZWkuY29tPgpEYXRlOiBU aHUsIDE5IERlYyAyMDE5IDEwOjA4OjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNi8yN10gbmV0 OiBoaXNpbGljb246IEZpeCBhIEJVRyB0cmlnZXJlZCBieSB3cm9uZyBieXRlc19jb21wbAoKWyBV cHN0cmVhbSBjb21taXQgOTBiM2IzMzkzNjRjNzZiYWEyNDM2NDQ1NDAxZWE5YWRlMDQwYzIxNiBd CgpXaGVuIGRvaW5nIHN0cmVzcyB0ZXN0LCB3ZSBnZXQgdGhlIGZvbGxvd2luZyB0cmFjZToKa2Vy bmVsIEJVRyBhdCBsaWIvZHluYW1pY19xdWV1ZV9saW1pdHMuYzoyNiEKSW50ZXJuYWwgZXJyb3I6 IE9vcHMgLSBCVUc6IDAgWyMxXSBTTVAgQVJNCk1vZHVsZXMgbGlua2VkIGluOiBoaXAwNF9ldGgK Q1BVOiAwIFBJRDogMjAwMyBDb21tOiB0RGJsU3RhY2tQY2FwMCBUYWludGVkOiBHICAgICAgICAg ICBPIEwgIDQuNC4xOTcgIzEKSGFyZHdhcmUgbmFtZTogSGlzaWxpY29uIEExNQp0YXNrOiBjMzYz NzY2OCB0YXNrLnN0YWNrOiBkZTNiYzAwMApQQyBpcyBhdCBkcWxfY29tcGxldGVkKzB4MTgvMHgx NTQKTFIgaXMgYXQgaGlwMDRfdHhfcmVjbGFpbSsweDExMC8weDE3NCBbaGlwMDRfZXRoXQpwYyA6 IFs8YzA0MWFiZmM+XSAgICBsciA6IFs8YmYwMDAzYTg+XSAgICBwc3I6IDgwMGYwMzEzCnNwIDog ZGUzYmRjMmMgIGlwIDogMDAwMDAwMDAgIGZwIDogYzAyMGZiMTAKcjEwOiAwMDAwMDAwMCAgcjkg OiBjMzliNDIyNCAgcjggOiAwMDAwMDAwMQpyNyA6IDAwMDAwMDQ2ICByNiA6IGMzOWI0MDAwICBy NSA6IDAwNzhmMzkyICByNCA6IDAwNzhmMzkyCnIzIDogMDAwMDAwNDcgIHIyIDogMDAwMDAwMDAg IHIxIDogMDAwMDAwNDYgIHIwIDogZGY1ZDVjODAKRmxhZ3M6IE56Y3YgIElSUXMgb24gIEZJUXMg b24gIE1vZGUgU1ZDXzMyICBJU0EgQVJNICBTZWdtZW50IHVzZXIKQ29udHJvbDogMzJjNTM4N2Qg IFRhYmxlOiAxZTE4OWI4MCAgREFDOiA1NTU1NTU1NQpQcm9jZXNzIHREYmxTdGFja1BjYXAwIChw aWQ6IDIwMDMsIHN0YWNrIGxpbWl0ID0gMHhkZTNiYzE5MCkKU3RhY2s6ICgweGRlM2JkYzJjIHRv IDB4ZGUzYmUwMDApCls8YzA0MWFiZmM+XSAoZHFsX2NvbXBsZXRlZCkgZnJvbSBbPGJmMDAwM2E4 Pl0gKGhpcDA0X3R4X3JlY2xhaW0rMHgxMTAvMHgxNzQgW2hpcDA0X2V0aF0pCls8YmYwMDAzYTg+ XSAoaGlwMDRfdHhfcmVjbGFpbSBbaGlwMDRfZXRoXSkgZnJvbSBbPGJmMDAxMmMwPl0gKGhpcDA0 X3J4X3BvbGwrMHgyMC8weDM4OCBbaGlwMDRfZXRoXSkKWzxiZjAwMTJjMD5dIChoaXAwNF9yeF9w b2xsIFtoaXAwNF9ldGhdKSBmcm9tIFs8YzA0YzhkOWM+XSAobmV0X3J4X2FjdGlvbisweDEyMC8w eDM3NCkKWzxjMDRjOGQ5Yz5dIChuZXRfcnhfYWN0aW9uKSBmcm9tIFs8YzAyMWVhZjQ+XSAoX19k b19zb2Z0aXJxKzB4MjE4LzB4MzE4KQpbPGMwMjFlYWY0Pl0gKF9fZG9fc29mdGlycSkgZnJvbSBb PGMwMjFlZWEwPl0gKGlycV9leGl0KzB4ODgvMHhhYykKWzxjMDIxZWVhMD5dIChpcnFfZXhpdCkg ZnJvbSBbPGMwMjQwMTMwPl0gKG1zYV9pcnFfZXhpdCsweDExYy8weDFkNCkKWzxjMDI0MDEzMD5d IChtc2FfaXJxX2V4aXQpIGZyb20gWzxjMDI2N2JhOD5dIChfX2hhbmRsZV9kb21haW5faXJxKzB4 MTEwLzB4MTQ4KQpbPGMwMjY3YmE4Pl0gKF9faGFuZGxlX2RvbWFpbl9pcnEpIGZyb20gWzxjMDIw MTU4OD5dIChnaWNfaGFuZGxlX2lycSsweGQ0LzB4MTE4KQpbPGMwMjAxNTg4Pl0gKGdpY19oYW5k bGVfaXJxKSBmcm9tIFs8YzA1NTgzNjA+XSAoX19pcnFfc3ZjKzB4NDAvMHg1OCkKRXhjZXB0aW9u IHN0YWNrKDB4ZGUzYmRkZTAgdG8gMHhkZTNiZGUyOCkKZGRlMDogMDAwMDAwMDAgMDAwMDgwMDEg YzM2Mzc2NjggMDAwMDAwMDAgMDAwMDAwMDAgYTAwZjAyMTMgZGQzNjI3YTAgYzBhZjYzODAKZGUw MDogYzA4NmQzODAgYTAwZjAyMTMgYzBhMjJhNTAgZGUzYmRlNmMgMDAwMDAwMDIgZGUzYmRlMzAg YzA1NTgxMzggYzA1NTgxM2MKZGUyMDogNjAwZjAyMTMgZmZmZmZmZmYKWzxjMDU1ODM2MD5dIChf X2lycV9zdmMpIGZyb20gWzxjMDU1ODEzYz5dIChfcmF3X3NwaW5fdW5sb2NrX2lycXJlc3RvcmUr MHg0NC8weDU0KQpLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGlu IGludGVycnVwdAoKUHJlLW1vZGlmaWNhdGlvbiBjb2RlOgppbnQgaGlwMDRfbWFjX3N0YXJ0X3ht aXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpCnsKWy4uLl0K WzFdCXByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQpOwpbMl0JY291bnQrKzsKWzNdCW5l dGRldl9zZW50X3F1ZXVlKG5kZXYsIHNrYi0+bGVuKTsKWy4uLl0KfQpBbiByeCBpbnRlcnJ1cHQg b2NjdXJzIGlmIGhpcDA0X21hY19zdGFydF94bWl0IGp1c3QgZXhlY3V0ZXMgdG8gdGhlIGxpbmUg MiwKdHhfaGVhZCBoYXMgYmVlbiB1cGRhdGVkLCBidXQgY29ycmVzcG9uZGluZyAnc2tiLT5sZW4n IGhhcyBub3QgYmVlbgphZGRlZCB0byBkcWxfcXVldWUuCgpBbmQgdGhlbgpoaXAwNF9tYWNfaW50 ZXJydXB0LT5fX25hcGlfc2NoZWR1bGUtPmhpcDA0X3J4X3BvbGwtPmhpcDA0X3R4X3JlY2xhaW0K CkluIGhpcDA0X3R4X3JlY2xhaW0sIGJlY2F1c2UgdHhfaGVhZCBoYXMgYmVlbiB1cGRhdGVkLApi eXRlc19jb21wbCB3aWxsIHBsdXMgYW4gYWRkaXRpb25hbCAic2tiLT4gbGVuIgp3aGljaCBoYXMg bm90IGJlZW4gYWRkZWQgdG8gZHFsX3F1ZXVlLiBBbmQgdGhlbgp0cmlnZ2VyIHRoZSBCVUdfT04o Ynl0ZXNfY29tcGwgPiBudW1fcXVldWVkIC0gZHFsLT5udW1fY29tcGxldGVkKS4KClRvIHNvbHZl IHRoZSBwcm9ibGVtIGRlc2NyaWJlZCBhYm92ZSwgd2UgcHV0CiJuZXRkZXZfc2VudF9xdWV1ZShu ZGV2LCBza2ItPmxlbik7IgpiZWZvcmUKInByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQp OyIKCkZpeGVzOiBhNDFlYTQ2YTlhMTIgKCJuZXQ6IGhpc2lsaWNvbjogbmV3IGhpcDA0IGV0aGVy bmV0IGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEppYW5nZmVuZyBYaWFvIDx4aWFvamlhbmdmZW5n QGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlwMDRfZXRoLmMKaW5kZXggNDYwNmE3ZTRh NmQxLi4yZmZlMDM1ZTk2ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2ls aWNvbi9oaXAwNF9ldGguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaGlw MDRfZXRoLmMKQEAgLTU0Myw5ICs1NDMsOSBAQCBoaXAwNF9tYWNfc3RhcnRfeG1pdChzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldikKIAlza2JfdHhfdGltZXN0YW1w KHNrYik7CiAKIAloaXAwNF9zZXRfeG1pdF9kZXNjKHByaXYsIHBoeXMpOwotCXByaXYtPnR4X2hl YWQgPSBUWF9ORVhUKHR4X2hlYWQpOwogCWNvdW50Kys7CiAJbmV0ZGV2X3NlbnRfcXVldWUobmRl diwgc2tiLT5sZW4pOworCXByaXYtPnR4X2hlYWQgPSBUWF9ORVhUKHR4X2hlYWQpOwogCiAJc3Rh dHMtPnR4X2J5dGVzICs9IHNrYi0+bGVuOwogCXN0YXRzLT50eF9wYWNrZXRzKys7Ci0tIAoyLjIw LjEKCgpGcm9tIDM1MWE4YjU4MTE1OWRmNjIyODYzNjIwNmU3NTUxNjUyMDZiMDA5MjMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYS1KdSBCYWkgPGJhaWppYWp1MTk5MEBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTggRGVjIDIwMTkgMTc6MjE6NTUgKzA4MDAKU3ViamVjdDogW1BBVENI IDA3LzI3XSBuZXQ6IG5mYzogbmNpOiBmaXggYSBwb3NzaWJsZSBzbGVlcC1pbi1hdG9taWMtY29u dGV4dAogYnVnIGluIG5jaV91YXJ0X3R0eV9yZWNlaXZlKCkKClsgVXBzdHJlYW0gY29tbWl0IGI3 YWM4OTM2NTJjYWZhZGNmNjY5Zjc4NDUyMzI5NzI3ZTRlMjU1Y2MgXQoKVGhlIGtlcm5lbCBtYXkg c2xlZXAgd2hpbGUgaG9sZGluZyBhIHNwaW5sb2NrLgpUaGUgZnVuY3Rpb24gY2FsbCBwYXRoIChm cm9tIGJvdHRvbSB0byB0b3ApIGluIExpbnV4IDQuMTkgaXM6CgpuZXQvbmZjL25jaS91YXJ0LmMs IDM0OToKCW5jaV9za2JfYWxsb2MgaW4gbmNpX3VhcnRfZGVmYXVsdF9yZWN2X2J1ZgpuZXQvbmZj L25jaS91YXJ0LmMsIDI1NToKCShGVU5DX1BUUiluY2lfdWFydF9kZWZhdWx0X3JlY3ZfYnVmIGlu IG5jaV91YXJ0X3R0eV9yZWNlaXZlCm5ldC9uZmMvbmNpL3VhcnQuYywgMjU0OgoJc3Bpbl9sb2Nr IGluIG5jaV91YXJ0X3R0eV9yZWNlaXZlCgpuY2lfc2tiX2FsbG9jKEdGUF9LRVJORUwpIGNhbiBz bGVlcCBhdCBydW50aW1lLgooRlVOQ19QVFIpIG1lYW5zIGEgZnVuY3Rpb24gcG9pbnRlciBpcyBj YWxsZWQuCgpUbyBmaXggdGhpcyBidWcsIEdGUF9LRVJORUwgaXMgcmVwbGFjZWQgd2l0aCBHRlBf QVRPTUlDIGZvcgpuY2lfc2tiX2FsbG9jKCkuCgpUaGlzIGJ1ZyBpcyBmb3VuZCBieSBhIHN0YXRp YyBhbmFseXNpcyB0b29sIFNUQ2hlY2sgd3JpdHRlbiBieSBteXNlbGYuCgpTaWduZWQtb2ZmLWJ5 OiBKaWEtSnUgQmFpIDxiYWlqaWFqdTE5OTBAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L25mYy9uY2kvdWFydC5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L25mYy9uY2kvdWFydC5jIGIvbmV0L25mYy9uY2kvdWFydC5jCmluZGV4 IDc4ZmU2MjJlYmE2NS4uMTFiNTU0Y2UwN2ZmIDEwMDY0NAotLS0gYS9uZXQvbmZjL25jaS91YXJ0 LmMKKysrIGIvbmV0L25mYy9uY2kvdWFydC5jCkBAIC0zNDYsNyArMzQ2LDcgQEAgc3RhdGljIGlu dCBuY2lfdWFydF9kZWZhdWx0X3JlY3ZfYnVmKHN0cnVjdCBuY2lfdWFydCAqbnUsIGNvbnN0IHU4 ICpkYXRhLAogCQkJbnUtPnJ4X3BhY2tldF9sZW4gPSAtMTsKIAkJCW51LT5yeF9za2IgPSBuY2lf c2tiX2FsbG9jKG51LT5uZGV2LAogCQkJCQkJICAgTkNJX01BWF9QQUNLRVRfU0laRSwKLQkJCQkJ CSAgIEdGUF9LRVJORUwpOworCQkJCQkJICAgR0ZQX0FUT01JQyk7CiAJCQlpZiAoIW51LT5yeF9z a2IpCiAJCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KLS0gCjIuMjAuMQoKCkZyb20gOWE0MDljOTgw MGYxNTdhY2UyY2E2MjQ3NDc2OWUwNzcwODE1YWRjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybWxpbnV4Lm9yZy51az4KRGF0ZTogVGh1 LCAxOSBEZWMgMjAxOSAyMzoyNDo1MiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjddIG5ldDog cGh5OiBlbnN1cmUgdGhhdCBwaHkgSURzIGFyZSBjb3JyZWN0bHkgdHlwZWQKClsgVXBzdHJlYW0g Y29tbWl0IDdkNDlhMzJhNjZkMjIxNWM1YjNiZjliYzY3YzkwMzZlYTk5MDQxMTEgXQoKUEhZIElE cyBhcmUgMzItYml0IHVuc2lnbmVkIHF1YW50aXRpZXMuIEVuc3VyZSB0aGF0IHRoZXkgYXJlIGFs d2F5cwp0cmVhdGVkIGFzIHN1Y2gsIGFuZCBub3QgcGFzc2VkIGFyb3VuZCBhcyAiaW50InMuCgpG aXhlczogMTNkMGFiNjc1MGIyICgibmV0OiBwaHk6IGNoZWNrIHJldHVybiBjb2RlIHdoZW4gcmVx dWVzdGluZyBQSFkgZHJpdmVyIG1vZHVsZSIpClNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyA8 cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxp IDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdA bHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMgfCA4ICsrKystLS0tCiBpbmNs dWRlL2xpbnV4L3BoeS5oICAgICAgICAgIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L3Bo eV9kZXZpY2UuYyBiL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMKaW5kZXggYWRiNjZhMmZh ZTE4Li4xZjI0MDgzMDA3YjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNl LmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYwpAQCAtNTUyLDcgKzU1Miw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2aWNlX3R5cGUgbWRpb19idXNfcGh5X3R5cGUgPSB7CiAJ LnBtID0gTURJT19CVVNfUEhZX1BNX09QUywKIH07CiAKLXN0YXRpYyBpbnQgcGh5X3JlcXVlc3Rf ZHJpdmVyX21vZHVsZShzdHJ1Y3QgcGh5X2RldmljZSAqZGV2LCBpbnQgcGh5X2lkKQorc3RhdGlj IGludCBwaHlfcmVxdWVzdF9kcml2ZXJfbW9kdWxlKHN0cnVjdCBwaHlfZGV2aWNlICpkZXYsIHUz MiBwaHlfaWQpCiB7CiAJaW50IHJldDsKIApAQCAtNTY0LDE1ICs1NjQsMTUgQEAgc3RhdGljIGlu dCBwaHlfcmVxdWVzdF9kcml2ZXJfbW9kdWxlKHN0cnVjdCBwaHlfZGV2aWNlICpkZXYsIGludCBw aHlfaWQpCiAJICogdGhlbiBtb2Rwcm9iZSBpc24ndCBhdmFpbGFibGUuCiAJICovCiAJaWYgKElT X0VOQUJMRUQoQ09ORklHX01PRFVMRVMpICYmIHJldCA8IDAgJiYgcmV0ICE9IC1FTk9FTlQpIHsK LQkJcGh5ZGV2X2VycihkZXYsICJlcnJvciAlZCBsb2FkaW5nIFBIWSBkcml2ZXIgbW9kdWxlIGZv ciBJRCAweCUwOHhcbiIsCi0JCQkgICByZXQsIHBoeV9pZCk7CisJCXBoeWRldl9lcnIoZGV2LCAi ZXJyb3IgJWQgbG9hZGluZyBQSFkgZHJpdmVyIG1vZHVsZSBmb3IgSUQgMHglMDhseFxuIiwKKwkJ CSAgIHJldCwgKHVuc2lnbmVkIGxvbmcpcGh5X2lkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKIAly ZXR1cm4gMDsKIH0KIAotc3RydWN0IHBoeV9kZXZpY2UgKnBoeV9kZXZpY2VfY3JlYXRlKHN0cnVj dCBtaWlfYnVzICpidXMsIGludCBhZGRyLCBpbnQgcGh5X2lkLAorc3RydWN0IHBoeV9kZXZpY2Ug KnBoeV9kZXZpY2VfY3JlYXRlKHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBhZGRyLCB1MzIgcGh5 X2lkLAogCQkJCSAgICAgYm9vbCBpc19jNDUsCiAJCQkJICAgICBzdHJ1Y3QgcGh5X2M0NV9kZXZp Y2VfaWRzICpjNDVfaWRzKQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9waHkuaCBiL2lu Y2x1ZGUvbGludXgvcGh5LmgKaW5kZXggOWEwZTk4MWRmNTAyLi4zZDVkNTMzMTNlNmMgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvbGludXgvcGh5LmgKKysrIGIvaW5jbHVkZS9saW51eC9waHkuaApAQCAt OTkzLDcgKzk5Myw3IEBAIGludCBwaHlfbW9kaWZ5X3BhZ2VkX2NoYW5nZWQoc3RydWN0IHBoeV9k ZXZpY2UgKnBoeWRldiwgaW50IHBhZ2UsIHUzMiByZWdudW0sCiBpbnQgcGh5X21vZGlmeV9wYWdl ZChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LCBpbnQgcGFnZSwgdTMyIHJlZ251bSwKIAkJICAg ICB1MTYgbWFzaywgdTE2IHNldCk7CiAKLXN0cnVjdCBwaHlfZGV2aWNlICpwaHlfZGV2aWNlX2Ny ZWF0ZShzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgYWRkciwgaW50IHBoeV9pZCwKK3N0cnVjdCBw aHlfZGV2aWNlICpwaHlfZGV2aWNlX2NyZWF0ZShzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgYWRk ciwgdTMyIHBoeV9pZCwKIAkJCQkgICAgIGJvb2wgaXNfYzQ1LAogCQkJCSAgICAgc3RydWN0IHBo eV9jNDVfZGV2aWNlX2lkcyAqYzQ1X2lkcyk7CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfUEhZTElC KQotLSAKMi4yMC4xCgoKRnJvbSA2MjY3ZDc5NWI0MzhkOGI3MDA4OTU5OTk4MjJkMzU0ZDcwNjNl NTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVj YWRlbnQub3JnLnVrPgpEYXRlOiBUdWUsIDE3IERlYyAyMDE5IDAxOjU3OjQwICswMDAwClN1Ympl Y3Q6IFtQQVRDSCAwOS8yN10gbmV0OiBxbG9naWM6IEZpeCBlcnJvciBwYXRocyBpbgogcWxfYWxs b2NfbGFyZ2VfYnVmZmVycygpCgpbIFVwc3RyZWFtIGNvbW1pdCBjYWQ0NjAzOWU0Yzk5ODEyZGIw NjdjOGFjMjJhODY0OTYwZTdhY2M0IF0KCnFsX2FsbG9jX2xhcmdlX2J1ZmZlcnMoKSBoYXMgdGhl IHVzdWFsIFJYIGJ1ZmZlciBhbGxvY2F0aW9uCmxvb3Agd2hlcmUgaXQgYWxsb2NhdGVzIHNrYnMg YW5kIG1hcHMgdGhlbSBmb3IgRE1BLiAgSXQgYWxzbwp0cmVhdHMgZmFpbHVyZSBhcyBhIGZhdGFs IGVycm9yLgoKVGhlcmUgYXJlIChhdCBsZWFzdCkgdGhyZWUgYnVncyBpbiB0aGUgZXJyb3IgcGF0 aHM6CgoxLiBxbF9mcmVlX2xhcmdlX2J1ZmZlcnMoKSBhc3N1bWVzIHRoYXQgdGhlIGxyZ19idWZb XSBlbnRyeSBmb3IgdGhlCmZpcnN0IGJ1ZmZlciB0aGF0IGNvdWxkbid0IGJlIGFsbG9jYXRlZCB3 aWxsIGhhdmUgLnNrYiA9PSBOVUxMLgpCdXQgdGhlIHFsYV9idWZbXSBhcnJheSBpcyBub3QgemVy by1pbml0aWFsaXNlZC4KCjIuIHFsX2ZyZWVfbGFyZ2VfYnVmZmVycygpIERNQS11bm1hcHMgYWxs IHNrYnMgaW4gbHJnX2J1ZltdLiAgVGhpcyBpcwppbmNvcnJlY3QgZm9yIHRoZSBsYXN0IGFsbG9j YXRlZCBza2IsIGlmIERNQSBtYXBwaW5nIGZhaWxlZC4KCjMuIENvbW1pdCAxYWNiOGYyYTdhOWYg KCJuZXQ6IHFsb2dpYzogRml4IG1lbW9yeSBsZWFrIGluCnFsX2FsbG9jX2xhcmdlX2J1ZmZlcnMi KSBhZGRlZCBhIGRpcmVjdCBjYWxsIHRvIGRldl9rZnJlZV9za2JfYW55KCkKYWZ0ZXIgdGhlIHNr YiBpcyByZWNvcmRlZCBpbiBscmdfYnVmW10sIHNvIHFsX2ZyZWVfbGFyZ2VfYnVmZmVycygpCndp bGwgZG91YmxlLWZyZWUgaXQuCgpUaGUgYnVncyBhcmUgc29tZXdoYXQgaW50ZXItdHdpbmVkLCBz byBmaXggdGhlbSBhbGwgYXQgb25jZToKCiogQ2xlYXIgZWFjaCBlbnRyeSBpbiBxbGFfYnVmW10g YmVmb3JlIGF0dGVtcHRpbmcgdG8gYWxsb2NhdGUKICBhbiBza2IgZm9yIGl0LiAgVGhpcyBnb2Vz IGhhbGYtd2F5IHRvIGZpeGluZyBidWcgMS4KKiBTZXQgdGhlIC5za2IgZmllbGQgb25seSBhZnRl ciB0aGUgc2tiIGlzIERNQS1tYXBwZWQuICBUaGlzCiAgZml4ZXMgdGhlIHJlc3QuCgpGaXhlczog MTM1N2JmY2Y3MTA2ICgicWxhM3h4eDogRHluYW1pY2FsbHkgc2l6ZSB0aGUgcnggYnVmZmVyIHF1 ZXVlIC4uLiIpCkZpeGVzOiAwZjhhYjg5ZTgyNWYgKCJxbGEzeHh4OiBDaGVjayByZXR1cm4gY29k ZSBmcm9tIHBjaV9tYXBfc2luZ2xlKCkgLi4uIikKRml4ZXM6IDFhY2I4ZjJhN2E5ZiAoIm5ldDog cWxvZ2ljOiBGaXggbWVtb3J5IGxlYWsgaW4gcWxfYWxsb2NfbGFyZ2VfYnVmZmVycyIpClNpZ25l ZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9xbG9naWMvcWxhM3h4eC5jIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9xbG9naWMvcWxhM3h4eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2lj L3FsYTN4eHguYwppbmRleCBiNGI4YmEwMGVlMDEuLjk4NmYyNjU3OGQzNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsYTN4eHguYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9xbG9naWMvcWxhM3h4eC5jCkBAIC0yNzU2LDYgKzI3NTYsOSBAQCBzdGF0aWMgaW50 IHFsX2FsbG9jX2xhcmdlX2J1ZmZlcnMoc3RydWN0IHFsM19hZGFwdGVyICpxZGV2KQogCWludCBl cnI7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcWRldi0+bnVtX2xhcmdlX2J1ZmZlcnM7IGkrKykgewor CQlscmdfYnVmX2NiID0gJnFkZXYtPmxyZ19idWZbaV07CisJCW1lbXNldChscmdfYnVmX2NiLCAw LCBzaXplb2Yoc3RydWN0IHFsX3Jjdl9idWZfY2IpKTsKKwogCQlza2IgPSBuZXRkZXZfYWxsb2Nf c2tiKHFkZXYtPm5kZXYsCiAJCQkJICAgICAgIHFkZXYtPmxyZ19idWZmZXJfbGVuKTsKIAkJaWYg KHVubGlrZWx5KCFza2IpKSB7CkBAIC0yNzY2LDExICsyNzY5LDcgQEAgc3RhdGljIGludCBxbF9h bGxvY19sYXJnZV9idWZmZXJzKHN0cnVjdCBxbDNfYWRhcHRlciAqcWRldikKIAkJCXFsX2ZyZWVf bGFyZ2VfYnVmZmVycyhxZGV2KTsKIAkJCXJldHVybiAtRU5PTUVNOwogCQl9IGVsc2UgewotCi0J CQlscmdfYnVmX2NiID0gJnFkZXYtPmxyZ19idWZbaV07Ci0JCQltZW1zZXQobHJnX2J1Zl9jYiwg MCwgc2l6ZW9mKHN0cnVjdCBxbF9yY3ZfYnVmX2NiKSk7CiAJCQlscmdfYnVmX2NiLT5pbmRleCA9 IGk7Ci0JCQlscmdfYnVmX2NiLT5za2IgPSBza2I7CiAJCQkvKgogCQkJICogV2Ugc2F2ZSBzb21l IHNwYWNlIHRvIGNvcHkgdGhlIGV0aGhkciBmcm9tIGZpcnN0CiAJCQkgKiBidWZmZXIKQEAgLTI3 OTIsNiArMjc5MSw3IEBAIHN0YXRpYyBpbnQgcWxfYWxsb2NfbGFyZ2VfYnVmZmVycyhzdHJ1Y3Qg cWwzX2FkYXB0ZXIgKnFkZXYpCiAJCQkJcmV0dXJuIC1FTk9NRU07CiAJCQl9CiAKKwkJCWxyZ19i dWZfY2ItPnNrYiA9IHNrYjsKIAkJCWRtYV91bm1hcF9hZGRyX3NldChscmdfYnVmX2NiLCBtYXBh ZGRyLCBtYXApOwogCQkJZG1hX3VubWFwX2xlbl9zZXQobHJnX2J1Zl9jYiwgbWFwbGVuLAogCQkJ CQkgIHFkZXYtPmxyZ19idWZmZXJfbGVuIC0KLS0gCjIuMjAuMQoKCkZyb20gM2ZhMjQyNGJjZGRi Mzg0ZmMxNTNkYTZiNDdhMjY3M2RlY2Q5N2QzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSm91bmkgSG9nYW5kZXIgPGpvdW5pLmhvZ2FuZGVyQHVuaWtpZS5jb20+CkRhdGU6IFR1ZSwg MTcgRGVjIDIwMTkgMTM6NDY6MzQgKzAyMDAKU3ViamVjdDogW1BBVENIIDEwLzI3XSBuZXQtc3lz ZnM6IENhbGwgZGV2X2hvbGQgYWx3YXlzIGluIHJ4X3F1ZXVlX2FkZF9rb2JqZWN0CgpbIFVwc3Ry ZWFtIGNvbW1pdCBkZGQ5YjVlM2U3NjVkOGVkNWEzNTc4NmE2Y2IwMDExMTcxM2ZlMTYxIF0KCkRl dl9ob2xkIGhhcyB0byBiZSBjYWxsZWQgYWx3YXlzIGluIHJ4X3F1ZXVlX2FkZF9rb2JqZWN0LgpP dGhlcndpc2UgdXNhZ2UgY291bnQgZHJvcHMgYmVsb3cgMCBpbiBjYXNlIG9mIGZhaWx1cmUgaW4K a29iamVjdF9pbml0X2FuZF9hZGQuCgpGaXhlczogYjhlYjcxODM0OGI4ICgibmV0LXN5c2ZzOiBG aXggcmVmZXJlbmNlIGNvdW50IGxlYWsgaW4gcnh8bmV0ZGV2X3F1ZXVlX2FkZF9rb2JqZWN0IikK UmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6Ym90KzMwMjA5ZWEyOTljMDlkODc4NWM5QHN5emthbGxl ci5hcHBzcG90bWFpbC5jb20+CkNjOiBUZXRzdW8gSGFuZGEgPHBlbmd1aW4ta2VybmVsQEktbG92 ZS5TQUtVUkEubmUuanA+CkNjOiBEYXZpZCBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNj OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog Sm91bmkgSG9nYW5kZXIgPGpvdW5pLmhvZ2FuZGVyQHVuaWtpZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9uZXQt c3lzZnMuYyB8IDcgKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9uZXQtc3lzZnMuYyBiL25ldC9jb3Jl L25ldC1zeXNmcy5jCmluZGV4IGFlM2JjYjE1NDBlYy4uYjRkYjY4ZTVjYWE5IDEwMDY0NAotLS0g YS9uZXQvY29yZS9uZXQtc3lzZnMuYworKysgYi9uZXQvY29yZS9uZXQtc3lzZnMuYwpAQCAtOTE5 LDE0ICs5MTksMTcgQEAgc3RhdGljIGludCByeF9xdWV1ZV9hZGRfa29iamVjdChzdHJ1Y3QgbmV0 X2RldmljZSAqZGV2LCBpbnQgaW5kZXgpCiAJc3RydWN0IGtvYmplY3QgKmtvYmogPSAmcXVldWUt PmtvYmo7CiAJaW50IGVycm9yID0gMDsKIAorCS8qIEtvYmplY3RfcHV0IGxhdGVyIHdpbGwgdHJp Z2dlciByeF9xdWV1ZV9yZWxlYXNlIGNhbGwgd2hpY2gKKwkgKiBkZWNyZWFzZXMgZGV2IHJlZmNv dW50OiBUYWtlIHRoYXQgcmVmZXJlbmNlIGhlcmUKKwkgKi8KKwlkZXZfaG9sZChxdWV1ZS0+ZGV2 KTsKKwogCWtvYmotPmtzZXQgPSBkZXYtPnF1ZXVlc19rc2V0OwogCWVycm9yID0ga29iamVjdF9p bml0X2FuZF9hZGQoa29iaiwgJnJ4X3F1ZXVlX2t0eXBlLCBOVUxMLAogCQkJCSAgICAgInJ4LSV1 IiwgaW5kZXgpOwogCWlmIChlcnJvcikKIAkJZ290byBlcnI7CiAKLQlkZXZfaG9sZChxdWV1ZS0+ ZGV2KTsKLQogCWlmIChkZXYtPnN5c2ZzX3J4X3F1ZXVlX2dyb3VwKSB7CiAJCWVycm9yID0gc3lz ZnNfY3JlYXRlX2dyb3VwKGtvYmosIGRldi0+c3lzZnNfcnhfcXVldWVfZ3JvdXApOwogCQlpZiAo ZXJyb3IpCi0tIAoyLjIwLjEKCgpGcm9tIGE3NWM4NTgyZTZkMGRkNjhiYTM0ZjEzZGY3MjE3ZDA2 MzhhYTUzYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENyaXN0aWFuIEJpcnNhbiA8 Y3Jpc3RpYW4uYmlyc2FuQG1pY3JvY2hpcC5jb20+CkRhdGU6IFRodSwgMTIgRGVjIDIwMTkgMTM6 NTI6NDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzI3XSBuZXQ6IHVzYjogbGFuNzh4eDogRml4 IHN1c3BlbmQvcmVzdW1lIFBIWSByZWdpc3RlcgogYWNjZXNzIGVycm9yCgpbIFVwc3RyZWFtIGNv bW1pdCAyMDAzMmI2MzU4NmFjNmMyOGM5MzZkZmY2OTY5ODExNTk5MTNhMTNmIF0KCkxhbjc4eHgg ZHJpdmVyIGFjY2Vzc2VzIHRoZSBQSFkgcmVnaXN0ZXJzIHRocm91Z2ggTURJTyBidXMgb3ZlciBV U0IKY29ubmVjdGlvbi4gV2hlbiBwZXJmb3JtaW5nIGEgc3VzcGVuZC9yZXN1bWUsIHRoZSBQSFkg cmVnaXN0ZXJzIGNhbiBiZQphY2Nlc3NlZCBiZWZvcmUgdGhlIFVTQiBjb25uZWN0aW9uIGlzIHJl c3VtZWQuIFRoaXMgd2lsbCBnZW5lcmF0ZSBhbgplcnJvciBhbmQgd2lsbCBwcmV2ZW50IHRoZSBk ZXZpY2UgdG8gcmVzdW1lIGNvcnJlY3RseS4KVGhpcyBwYXRjaCBhZGRzIHRoZSBkZXBlbmRlbmN5 IGJldHdlZW4gdGhlIE1ESU8gYnVzIGFuZCBVU0IgZGV2aWNlIHRvCmFsbG93IGNvcnJlY3QgaGFu ZGxpbmcgb2Ygc3VzcGVuZC9yZXN1bWUuCgpGaXhlczogY2U4NWUxM2FkNmVmICgibGFuNzh4eDog VXBkYXRlIHRvIHVzZSBwaHlsaWIgaW5zdGVhZCBvZiBtaWlfaWZfaW5mby4iKQpTaWduZWQtb2Zm LWJ5OiBDcmlzdGlhbiBCaXJzYW4gPGNyaXN0aWFuLmJpcnNhbkBtaWNyb2NoaXAuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJp dmVycy9uZXQvdXNiL2xhbjc4eHguYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0 L3VzYi9sYW43OHh4LmMKaW5kZXggZjI0YTFiMGI4MDFmLi4wYmVjYzc5ZmQ0MzEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4 eHguYwpAQCAtMTgwOCw2ICsxODA4LDcgQEAgc3RhdGljIGludCBsYW43OHh4X21kaW9faW5pdChz dHJ1Y3QgbGFuNzh4eF9uZXQgKmRldikKIAlkZXYtPm1kaW9idXMtPnJlYWQgPSBsYW43OHh4X21k aW9idXNfcmVhZDsKIAlkZXYtPm1kaW9idXMtPndyaXRlID0gbGFuNzh4eF9tZGlvYnVzX3dyaXRl OwogCWRldi0+bWRpb2J1cy0+bmFtZSA9ICJsYW43OHh4LW1kaW9idXMiOworCWRldi0+bWRpb2J1 cy0+cGFyZW50ID0gJmRldi0+dWRldi0+ZGV2OwogCiAJc25wcmludGYoZGV2LT5tZGlvYnVzLT5p ZCwgTUlJX0JVU19JRF9TSVpFLCAidXNiLSUwM2Q6JTAzZCIsCiAJCSBkZXYtPnVkZXYtPmJ1cy0+ YnVzbnVtLCBkZXYtPnVkZXYtPmRldm51bSk7Ci0tIAoyLjIwLjEKCgpGcm9tIGU3MzczODc4N2I1 MGIwZTBmNTBlYjA3OTFhMWMyZmYyZDU1YzExNjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEpvaG4gSHVybGV5IDxqb2huLmh1cmxleUBuZXRyb25vbWUuY29tPgpEYXRlOiBUdWUsIDE3 IERlYyAyMDE5IDExOjI4OjU2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxMi8yN10gbmZwOiBmbG93 ZXI6IGZpeCBzdGF0cyBpZCBhbGxvY2F0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCAzOWYxNGMwMGIx M2M0NzE4NjczOWE0Y2JjN2ExNmUwNGQ3ZmRiYjYwIF0KCkFzIGZsb3dlciBydWxlcyBhcmUgYWRk ZWQsIHRoZXkgYXJlIGdpdmVuIGEgc3RhdHMgSUQgYmFzZWQgb24gdGhlIG51bWJlcgpvZiBydWxl cyB0aGF0IGNhbiBiZSBzdXBwb3J0ZWQgaW4gZmlybXdhcmUuIE9ubHkgYWZ0ZXIgdGhlIGluaXRp YWwKYWxsb2NhdGlvbiBvZiBhbGwgYXZhaWxhYmxlIElEcyBkb2VzIHRoZSBkcml2ZXIgYmVnaW4g dG8gcmV1c2UgdGhvc2UgdGhhdApoYXZlIGJlZW4gcmVsZWFzZWQuCgpUaGUgaW5pdGlhbCBhbGxv Y2F0aW9uIG9mIElEcyB3YXMgbW9kaWZpZWQgdG8gYWNjb3VudCBmb3IgbXVsdGlwbGUgbWVtb3J5 CnVuaXRzIG9uIHRoZSBvZmZsb2FkZWQgZGV2aWNlLiBIb3dldmVyLCB0aGlzIGludHJvZHVjZWQg YSBidWcgd2hlcmVieSB0aGUKY291bnRlciB0aGF0IGNvbnRyb2xzIHRoZSBJRHMgY291bGQgYmUg ZGVjcmVtZW50ZWQgYmVmb3JlIHRoZSBJRCB3YXMKYXNzaWduZWQgKHdoZXJlIGl0IGlzIGZ1cnRo ZXIgZGVjcmVtZW50ZWQpLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHN0YXRzIElECmNvdWxkIGJlIGFz c2lnbmVkIGFzIC0xLzB4ZmZmZmZmZiB3aGljaCBpcyBvdXQgb2YgcmFuZ2UuCgpGaXggdGhpcyBi eSBvbmx5IGRlY3JlbWVudGluZyB0aGUgbWFpbiBjb3VudGVyIGFmdGVyIHRoZSBjdXJyZW50IElE IGhhcwpiZWVuIGFzc2lnbmVkLgoKRml4ZXM6IDQ2NzMyMmUyNjI3ZiAoIm5mcDogZmxvd2VyOiBz dXBwb3J0IG11bHRpcGxlIG1lbW9yeSB1bml0cyBmb3IgZmlsdGVyIG9mZmxvYWRzIikKU2lnbmVk LW9mZi1ieTogSm9obiBIdXJsZXkgPGpvaG4uaHVybGV5QG5ldHJvbm9tZS5jb20+ClJldmlld2Vk LWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21ldGFkYXRhLmMgfCAxMiArKysr KystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIv bWV0YWRhdGEuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21l dGFkYXRhLmMKaW5kZXggN2M0YTE1ZTk2N2RmLi41ZGVmZDMxZDQ4MWMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21ldGFkYXRhLmMKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWV0YWRhdGEuYwpAQCAt NjUsMTcgKzY1LDE3IEBAIHN0YXRpYyBpbnQgbmZwX2dldF9zdGF0c19lbnRyeShzdHJ1Y3QgbmZw X2FwcCAqYXBwLCB1MzIgKnN0YXRzX2NvbnRleHRfaWQpCiAJZnJlZWRfc3RhdHNfaWQgPSBwcml2 LT5zdGF0c19yaW5nX3NpemU7CiAJLyogQ2hlY2sgZm9yIHVuYWxsb2NhdGVkIGVudHJpZXMgZmly c3QuICovCiAJaWYgKHByaXYtPnN0YXRzX2lkcy5pbml0X3VuYWxsb2MgPiAwKSB7Ci0JCWlmIChw cml2LT5hY3RpdmVfbWVtX3VuaXQgPT0gcHJpdi0+dG90YWxfbWVtX3VuaXRzKSB7Ci0JCQlwcml2 LT5zdGF0c19pZHMuaW5pdF91bmFsbG9jLS07Ci0JCQlwcml2LT5hY3RpdmVfbWVtX3VuaXQgPSAw OwotCQl9Ci0KIAkJKnN0YXRzX2NvbnRleHRfaWQgPQogCQkJRklFTERfUFJFUChORlBfRkxfU1RB VF9JRF9TVEFULAogCQkJCSAgIHByaXYtPnN0YXRzX2lkcy5pbml0X3VuYWxsb2MgLSAxKSB8CiAJ CQlGSUVMRF9QUkVQKE5GUF9GTF9TVEFUX0lEX01VX05VTSwKIAkJCQkgICBwcml2LT5hY3RpdmVf bWVtX3VuaXQpOwotCQlwcml2LT5hY3RpdmVfbWVtX3VuaXQrKzsKKworCQlpZiAoKytwcml2LT5h Y3RpdmVfbWVtX3VuaXQgPT0gcHJpdi0+dG90YWxfbWVtX3VuaXRzKSB7CisJCQlwcml2LT5zdGF0 c19pZHMuaW5pdF91bmFsbG9jLS07CisJCQlwcml2LT5hY3RpdmVfbWVtX3VuaXQgPSAwOworCQl9 CisKIAkJcmV0dXJuIDA7CiAJfQogCi0tIAoyLjIwLjEKCgpGcm9tIDJhZGM5M2MzMDcyMjY2NTEx YzZiMWQ2ZTc1MGM1NmQ3MThlYjIyNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1h bmlzaCBDaG9wcmEgPG1hbmlzaGNAbWFydmVsbC5jb20+CkRhdGU6IFRodSwgMTkgRGVjIDIwMTkg MTA6MzU6MTYgLTA4MDAKU3ViamVjdDogW1BBVENIIDEzLzI3XSBxZWRlOiBEaXNhYmxlIGhhcmR3 YXJlIGdybyB3aGVuIHhkcCBwcm9nIGlzIGluc3RhbGxlZAoKWyBVcHN0cmVhbSBjb21taXQgNGM4 ZGMwMDUwM2RiMjRkZWFmMGI4OWRkZGZhODRiN2NiYTdjZDRjZSBdCgpjb21taXQgMThjNjAyZGVl NDcyICgicWVkZTogVXNlIE5FVElGX0ZfR1JPX0hXLiIpIGludHJvZHVjZWQKYSByZWdyZXNzaW9u IGluIGRyaXZlciB0aGF0IHdoZW4geGRwIHByb2dyYW0gaXMgaW5zdGFsbGVkIG9uCnFlZGUgZGV2 aWNlLCBkZXZpY2UncyBhZ2dyZWdhdGlvbiBmZWF0dXJlIChoYXJkd2FyZSBHUk8pIGlzIG5vdApn ZXR0aW5nIGRpc2FibGVkLCB3aGljaCBpcyB1bmV4cGVjdGVkIHdpdGggeGRwLgoKRml4ZXM6IDE4 YzYwMmRlZTQ3MiAoInFlZGU6IFVzZSBORVRJRl9GX0dST19IVy4iKQpTaWduZWQtb2ZmLWJ5OiBN YW5pc2ggQ2hvcHJhIDxtYW5pc2hjQG1hcnZlbGwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcmllbCBF bGlvciA8YWVsaW9yQG1hcnZlbGwuY29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBDaGFuIDxtaWNo YWVsLmNoYW5AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUv cWVkZV9tYWluLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3Fl ZGUvcWVkZV9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkZS9xZWRlX21h aW4uYwppbmRleCBhMjIwY2M3Yzk0N2EuLmJhNTM2MTJhZTBkZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9tYWluLmMKQEAgLTE0MDYsNiArMTQwNiw3IEBAIHN0 YXRpYyBpbnQgcWVkZV9hbGxvY19tZW1fcnhxKHN0cnVjdCBxZWRlX2RldiAqZWRldiwgc3RydWN0 IHFlZGVfcnhfcXVldWUgKnJ4cSkKIAkJcnhxLT5yeF9idWZfc2VnX3NpemUgPSByb3VuZHVwX3Bv d19vZl90d28oc2l6ZSk7CiAJfSBlbHNlIHsKIAkJcnhxLT5yeF9idWZfc2VnX3NpemUgPSBQQUdF X1NJWkU7CisJCWVkZXYtPm5kZXYtPmZlYXR1cmVzICY9IH5ORVRJRl9GX0dST19IVzsKIAl9CiAK IAkvKiBBbGxvY2F0ZSB0aGUgcGFyYWxsZWwgZHJpdmVyIHJpbmcgZm9yIFJ4IGJ1ZmZlcnMgKi8K QEAgLTE0NTAsNiArMTQ1MSw3IEBAIHN0YXRpYyBpbnQgcWVkZV9hbGxvY19tZW1fcnhxKHN0cnVj dCBxZWRlX2RldiAqZWRldiwgc3RydWN0IHFlZGVfcnhfcXVldWUgKnJ4cSkKIAkJfQogCX0KIAor CWVkZXYtPmdyb19kaXNhYmxlID0gIShlZGV2LT5uZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfR1JP X0hXKTsKIAlpZiAoIWVkZXYtPmdyb19kaXNhYmxlKQogCQlxZWRlX3NldF90cGFfcGFyYW0ocnhx KTsKIGVycjoKQEAgLTE3MDIsOCArMTcwNCw2IEBAIHN0YXRpYyB2b2lkIHFlZGVfaW5pdF9mcChz dHJ1Y3QgcWVkZV9kZXYgKmVkZXYpCiAJCXNucHJpbnRmKGZwLT5uYW1lLCBzaXplb2YoZnAtPm5h bWUpLCAiJXMtZnAtJWQiLAogCQkJIGVkZXYtPm5kZXYtPm5hbWUsIHF1ZXVlX2lkKTsKIAl9Ci0K LQllZGV2LT5ncm9fZGlzYWJsZSA9ICEoZWRldi0+bmRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0dS T19IVyk7CiB9CiAKIHN0YXRpYyBpbnQgcWVkZV9zZXRfcmVhbF9udW1fcXVldWVzKHN0cnVjdCBx ZWRlX2RldiAqZWRldikKLS0gCjIuMjAuMQoKCkZyb20gNWUzYzE2ZTY2OGRhOWNiNjVlMjc2ZDJk MjkzZGQ4ODJjZGUzMzQxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFuaXNoIENo b3ByYSA8bWFuaXNoY0BtYXJ2ZWxsLmNvbT4KRGF0ZTogVGh1LCAxMiBEZWMgMjAxOSAwNjo0OToy OCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjddIHFlZGU6IEZpeCBtdWx0aWNhc3QgbWFjIGNv bmZpZ3VyYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDBhZjY3ZTQ5YjAxOGU3MjgwYTQyMjdiZmU3 YjYwMDViYzlkM2U0NDIgXQoKRHJpdmVyIGRvZXNuJ3QgYWNjb21tb2RhdGUgdGhlIGNvbmZpZ3Vy YXRpb24gZm9yIG1heCBudW1iZXIKb2YgbXVsdGljYXN0IG1hYyBhZGRyZXNzZXMsIGluIHN1Y2gg cGFydGljdWxhciBjYXNlIGl0IGxlYXZlcwp0aGUgZGV2aWNlIHdpdGggaW1wcm9wZXIvaW52YWxp ZCBtdWx0aWNhc3QgY29uZmlndXJhdGlvbiBzdGF0ZSwKY2F1c2luZyBjb25uZWN0aXZpdHkgaXNz dWVzIChpbiBsYWNwIGJvbmRpbmcgbGlrZSBzY2VuYXJpb3MpLgoKU2lnbmVkLW9mZi1ieTogTWFu aXNoIENob3ByYSA8bWFuaXNoY0BtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJpZWwgRWxp b3IgPGFlbGlvckBtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWRl L3FlZGVfZmlsdGVyLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVk ZS9xZWRlX2ZpbHRlci5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9m aWx0ZXIuYwppbmRleCA5YTZhOWEwMDg3MTQuLmM4YmRiZjA1N2Q1YSAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9maWx0ZXIuYworKysgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9xbG9naWMvcWVkZS9xZWRlX2ZpbHRlci5jCkBAIC0xMjMwLDcgKzEyMzAs NyBAQCBxZWRlX2NvbmZpZ3VyZV9tY2FzdF9maWx0ZXJpbmcoc3RydWN0IG5ldF9kZXZpY2UgKm5k ZXYsCiAJbmV0aWZfYWRkcl9sb2NrX2JoKG5kZXYpOwogCiAJbWNfY291bnQgPSBuZXRkZXZfbWNf Y291bnQobmRldik7Ci0JaWYgKG1jX2NvdW50IDwgNjQpIHsKKwlpZiAobWNfY291bnQgPD0gNjQp IHsKIAkJbmV0ZGV2X2Zvcl9lYWNoX21jX2FkZHIoaGEsIG5kZXYpIHsKIAkJCWV0aGVyX2FkZHJf Y29weSh0ZW1wLCBoYS0+YWRkcik7CiAJCQl0ZW1wICs9IEVUSF9BTEVOOwotLSAKMi4yMC4xCgoK RnJvbSA1YTdiMTczZjExMDkyMGUxNmU0MjlkNGRjMGIxZTU2ZjA5YmI4NWNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0 bmVyQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAxNiBEZWMgMjAxOSAyMjowMToxNiAtMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMTUvMjddIHNjdHA6IGZpeCBtZW1sZWFrIG9uIGVyciBoYW5kbGluZyBvZiBz dHJlYW0KIGluaXRpYWxpemF0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA5NTFjNmRiOTU0YTFhZGVm YWI0OTJmNmRhODA1ZGVjYWNhYmJkMWE3IF0KCnN5emJvdCByZXBvcnRlZCBhIG1lbW9yeSBsZWFr IHdoZW4gYW4gYWxsb2NhdGlvbiBmYWlscyB3aXRoaW4KZ2VucmFkaXhfcHJlYWxsb2MoKSBmb3Ig b3V0cHV0IHN0cmVhbXMuIFRoYXQncyBiZWNhdXNlCmdlbnJhZGl4X3ByZWFsbG9jKCkgbGVhdmVz IGluaXRpYWxpemVkIG1lbWJlcnMgaW5pdGlhbGl6ZWQgd2hlbiB0aGUKaXNzdWUgaGFwcGVucyBh bmQgU0NUUCBzdGFjayB3aWxsIGFib3J0IHRoZSBjdXJyZW50IGluaXRpYWxpemF0aW9uIGJ1dAp3 aXRob3V0IGNsZWFuaW5nIHVwIHN1Y2ggbWVtYmVycy4KClRoZSBmaXggaGVyZSBpcyB0byBhbHdh eXMgY2FsbCBnZW5yYWRpeF9mcmVlKCkgd2hlbiBnZW5yYWRpeF9wcmVhbGxvYygpCmZhaWxzLCBm b3Igb3V0cHV0IGFuZCBhbHNvIGlucHV0IHN0cmVhbXMsIGFzIGl0IHN1ZmZlcnMgZnJvbSB0aGUg c2FtZQppc3N1ZS4KClJlcG9ydGVkLWJ5OiBzeXpib3QrNzcyZDllMzZjNDkwYjE4ZDUxZDFAc3l6 a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpGaXhlczogMjA3NWU1MGNhZjVlICgic2N0cDogY29udmVy dCB0byBnZW5yYWRpeCIpClNpZ25lZC1vZmYtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxt YXJjZWxvLmxlaXRuZXJAZ21haWwuY29tPgpUZXN0ZWQtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGlu QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9zY3RwL3N0cmVhbS5jIHwgOCArKysrKystLQogMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0 cC9zdHJlYW0uYyBiL25ldC9zY3RwL3N0cmVhbS5jCmluZGV4IGU4M2NkYWEyYWI3Ni4uNmEzMDM5 MjA2OGEwIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zdHJlYW0uYworKysgYi9uZXQvc2N0cC9zdHJl YW0uYwpAQCAtODQsOCArODQsMTAgQEAgc3RhdGljIGludCBzY3RwX3N0cmVhbV9hbGxvY19vdXQo c3RydWN0IHNjdHBfc3RyZWFtICpzdHJlYW0sIF9fdTE2IG91dGNudCwKIAkJcmV0dXJuIDA7CiAK IAlyZXQgPSBnZW5yYWRpeF9wcmVhbGxvYygmc3RyZWFtLT5vdXQsIG91dGNudCwgZ2ZwKTsKLQlp ZiAocmV0KQorCWlmIChyZXQpIHsKKwkJZ2VucmFkaXhfZnJlZSgmc3RyZWFtLT5vdXQpOwogCQly ZXR1cm4gcmV0OworCX0KIAogCXN0cmVhbS0+b3V0Y250ID0gb3V0Y250OwogCXJldHVybiAwOwpA QCAtMTAwLDggKzEwMiwxMCBAQCBzdGF0aWMgaW50IHNjdHBfc3RyZWFtX2FsbG9jX2luKHN0cnVj dCBzY3RwX3N0cmVhbSAqc3RyZWFtLCBfX3UxNiBpbmNudCwKIAkJcmV0dXJuIDA7CiAKIAlyZXQg PSBnZW5yYWRpeF9wcmVhbGxvYygmc3RyZWFtLT5pbiwgaW5jbnQsIGdmcCk7Ci0JaWYgKHJldCkK KwlpZiAocmV0KSB7CisJCWdlbnJhZGl4X2ZyZWUoJnN0cmVhbS0+aW4pOwogCQlyZXR1cm4gcmV0 OworCX0KIAogCXN0cmVhbS0+aW5jbnQgPSBpbmNudDsKIAlyZXR1cm4gMDsKLS0gCjIuMjAuMQoK CkZyb20gNzMxMzJiZWIyZGNmYzIwMDA5YTFkMzg2MjMwYWY0NzI0ZmJhZTExMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRl OiBNb24sIDkgRGVjIDIwMTkgMTM6NDU6NTQgKzA4MDAKU3ViamVjdDogW1BBVENIIDE2LzI3XSBz Y3RwOiBmdWxseSBpbml0aWFsaXplIHY0IGFkZHIgaW4gc29tZSBmdW5jdGlvbnMKClsgVXBzdHJl YW0gY29tbWl0IGI2ZjMzMjBiMWQ1MjY3ZTdiNTgzYTZkMGM4OGRkYTUxODEwMTc0MGMgXQoKU3l6 Ym90IGZvdW5kIGEgY3Jhc2g6CgogIEJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBpbiBjcmMzMl9i b2R5IGxpYi9jcmMzMi5jOjExMiBbaW5saW5lXQogIEJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBp biBjcmMzMl9sZV9nZW5lcmljIGxpYi9jcmMzMi5jOjE3OSBbaW5saW5lXQogIEJVRzogS01TQU46 IHVuaW5pdC12YWx1ZSBpbiBfX2NyYzMyY19sZV9iYXNlKzB4NGZhLzB4ZDMwIGxpYi9jcmMzMi5j OjIwMgogIENhbGwgVHJhY2U6CiAgICBjcmMzMl9ib2R5IGxpYi9jcmMzMi5jOjExMiBbaW5saW5l XQogICAgY3JjMzJfbGVfZ2VuZXJpYyBsaWIvY3JjMzIuYzoxNzkgW2lubGluZV0KICAgIF9fY3Jj MzJjX2xlX2Jhc2UrMHg0ZmEvMHhkMzAgbGliL2NyYzMyLmM6MjAyCiAgICBjaGtzdW1fdXBkYXRl KzB4YjIvMHgxMTAgY3J5cHRvL2NyYzMyY19nZW5lcmljLmM6OTAKICAgIGNyeXB0b19zaGFzaF91 cGRhdGUrMHg0YzUvMHg1MzAgY3J5cHRvL3NoYXNoLmM6MTA3CiAgICBjcmMzMmMrMHgxNTAvMHgy MjAgbGliL2xpYmNyYzMyYy5jOjQ3CiAgICBzY3RwX2NzdW1fdXBkYXRlKzB4ODkvMHhhMCBpbmNs dWRlL25ldC9zY3RwL2NoZWNrc3VtLmg6MzYKICAgIF9fc2tiX2NoZWNrc3VtKzB4MTI5Ny8weDEy YTAgbmV0L2NvcmUvc2tidWZmLmM6MjY0MAogICAgc2N0cF9jb21wdXRlX2Nrc3VtIGluY2x1ZGUv bmV0L3NjdHAvY2hlY2tzdW0uaDo1OSBbaW5saW5lXQogICAgc2N0cF9wYWNrZXRfcGFjayBuZXQv c2N0cC9vdXRwdXQuYzo1MjggW2lubGluZV0KICAgIHNjdHBfcGFja2V0X3RyYW5zbWl0KzB4NDBm Yi8weDQyNTAgbmV0L3NjdHAvb3V0cHV0LmM6NTk3CiAgICBzY3RwX291dHFfZmx1c2hfdHJhbnNw b3J0cyBuZXQvc2N0cC9vdXRxdWV1ZS5jOjExNDYgW2lubGluZV0KICAgIHNjdHBfb3V0cV9mbHVz aCsweDE4MjMvMHg1ZDgwIG5ldC9zY3RwL291dHF1ZXVlLmM6MTE5NAogICAgc2N0cF9vdXRxX3Vu Y29yaysweGQwLzB4ZjAgbmV0L3NjdHAvb3V0cXVldWUuYzo3NTcKICAgIHNjdHBfY21kX2ludGVy cHJldGVyIG5ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYzoxNzgxIFtpbmxpbmVdCiAgICBzY3RwX3Np ZGVfZWZmZWN0cyBuZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmM6MTE4NCBbaW5saW5lXQogICAgc2N0 cF9kb19zbSsweDhmZTEvMHg5NzIwIG5ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYzoxMTU1CiAgICBz Y3RwX3ByaW1pdGl2ZV9SRVFVRVNUSEVBUlRCRUFUKzB4MTc1LzB4MWEwIG5ldC9zY3RwL3ByaW1p dGl2ZS5jOjE4NQogICAgc2N0cF9hcHBseV9wZWVyX2FkZHJfcGFyYW1zKzB4MjEyLzB4MWQ0MCBu ZXQvc2N0cC9zb2NrZXQuYzoyNDMzCiAgICBzY3RwX3NldHNvY2tvcHRfcGVlcl9hZGRyX3BhcmFt cyBuZXQvc2N0cC9zb2NrZXQuYzoyNjg2IFtpbmxpbmVdCiAgICBzY3RwX3NldHNvY2tvcHQrMHgx ODliYi8weDE5MDkwIG5ldC9zY3RwL3NvY2tldC5jOjQ2NzIKClRoZSBpc3N1ZSB3YXMgY2F1c2Vk IGJ5IHRyYW5zcG9ydC0+aXBhZGRyIHNldCB3aXRoIHVuaW5pdCBhZGRyIHBhcmFtLCB3aGljaAp3 YXMgcGFzc2VkIGJ5OgoKICBzY3RwX3RyYW5zcG9ydF9pbml0IG5ldC9zY3RwL3RyYW5zcG9ydC5j OjQ3IFtpbmxpbmVdCiAgc2N0cF90cmFuc3BvcnRfbmV3KzB4MjQ4LzB4YTAwIG5ldC9zY3RwL3Ry YW5zcG9ydC5jOjEwMAogIHNjdHBfYXNzb2NfYWRkX3BlZXIrMHg1YmEvMHgyMDMwIG5ldC9zY3Rw L2Fzc29jaW9sYS5jOjYxMQogIHNjdHBfcHJvY2Vzc19wYXJhbSBuZXQvc2N0cC9zbV9tYWtlX2No dW5rLmM6MjUyNCBbaW5saW5lXQoKd2hlcmUgJ2FkZHInIGlzIHNldCBieSBzY3RwX3Y0X2Zyb21f YWRkcl9wYXJhbSgpLCBhbmQgaXQgZG9lc24ndCBpbml0aWFsaXplCnRoZSBwYWRkaW5nIG9mIGFk ZHItPnY0LgoKTGF0ZXIgd2hlbiBjYWxsaW5nIHNjdHBfbWFrZV9oZWFydGJlYXQoKSwgaGJpbmZv LmRhZGRyKD10cmFuc3BvcnQtPmlwYWRkcikKd2lsbCBiZWNvbWUgdGhlIHBhcnQgb2Ygc2tiLCBh bmQgdGhlIGlzc3VlIG9jY3Vycy4KClRoaXMgcGF0Y2ggaXMgdG8gZml4IGl0IGJ5IGluaXRpYWxp emluZyB0aGUgcGFkZGluZyBvZiBhZGRyLT52NCBpbgpzY3RwX3Y0X2Zyb21fYWRkcl9wYXJhbSgp LCBhcyB3ZWxsIGFzIG90aGVyIGZ1bmN0aW9ucyB0aGF0IGRvIHRoZSBzaW1pbGFyCnRoaW5nLCBh bmQgdGhlc2UgZnVuY3Rpb25zIHNob3VsZG4ndCB0cnVzdCB0aGF0IHRoZSBjYWxsZXIgaW5pdGlh bGl6ZXMgdGhlCm1lbW9yeSwgYXMgTWFyY2VsbyBzdWdnZXN0ZWQuCgpSZXBvcnRlZC1ieTogc3l6 Ym90KzZkY2JmZWE4MWNkM2Q0ZGQwYjAyQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVk LW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tlZC1ieTogTmVpbCBI b3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY3RwL3Byb3RvY29sLmMgfCA1ICsr KysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3Nj dHAvcHJvdG9jb2wuYyBiL25ldC9zY3RwL3Byb3RvY29sLmMKaW5kZXggMDhkMTRkODZlY2ZiLi42 ODFmZmIzNTQ1ZGIgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3Byb3RvY29sLmMKKysrIGIvbmV0L3Nj dHAvcHJvdG9jb2wuYwpAQCAtMjI3LDYgKzIyNyw3IEBAIHN0YXRpYyB2b2lkIHNjdHBfdjRfZnJv bV9za2IodW5pb24gc2N0cF9hZGRyICphZGRyLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQlzYS0+ c2luX3BvcnQgPSBzaC0+ZGVzdDsKIAkJc2EtPnNpbl9hZGRyLnNfYWRkciA9IGlwX2hkcihza2Ip LT5kYWRkcjsKIAl9CisJbWVtc2V0KHNhLT5zaW5femVybywgMCwgc2l6ZW9mKHNhLT5zaW5femVy bykpOwogfQogCiAvKiBJbml0aWFsaXplIGFuIHNjdHBfYWRkciBmcm9tIGEgc29ja2V0LiAqLwpA QCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyB2b2lkIHNjdHBfdjRfZnJvbV9zayh1bmlvbiBzY3Rw X2FkZHIgKmFkZHIsIHN0cnVjdCBzb2NrICpzaykKIAlhZGRyLT52NC5zaW5fZmFtaWx5ID0gQUZf SU5FVDsKIAlhZGRyLT52NC5zaW5fcG9ydCA9IDA7CiAJYWRkci0+djQuc2luX2FkZHIuc19hZGRy ID0gaW5ldF9zayhzayktPmluZXRfcmN2X3NhZGRyOworCW1lbXNldChhZGRyLT52NC5zaW5femVy bywgMCwgc2l6ZW9mKGFkZHItPnY0LnNpbl96ZXJvKSk7CiB9CiAKIC8qIEluaXRpYWxpemUgc2st PnNrX3Jjdl9zYWRkciBmcm9tIHNjdHBfYWRkci4gKi8KQEAgLTI1Nyw2ICsyNTksNyBAQCBzdGF0 aWMgdm9pZCBzY3RwX3Y0X2Zyb21fYWRkcl9wYXJhbSh1bmlvbiBzY3RwX2FkZHIgKmFkZHIsCiAJ YWRkci0+djQuc2luX2ZhbWlseSA9IEFGX0lORVQ7CiAJYWRkci0+djQuc2luX3BvcnQgPSBwb3J0 OwogCWFkZHItPnY0LnNpbl9hZGRyLnNfYWRkciA9IHBhcmFtLT52NC5hZGRyLnNfYWRkcjsKKwlt ZW1zZXQoYWRkci0+djQuc2luX3plcm8sIDAsIHNpemVvZihhZGRyLT52NC5zaW5femVybykpOwog fQogCiAvKiBJbml0aWFsaXplIGFuIGFkZHJlc3MgcGFyYW1ldGVyIGZyb20gYSBzY3RwX2FkZHIg YW5kIHJldHVybiB0aGUgbGVuZ3RoCkBAIC0yODEsNiArMjg0LDcgQEAgc3RhdGljIHZvaWQgc2N0 cF92NF9kc3Rfc2FkZHIodW5pb24gc2N0cF9hZGRyICpzYWRkciwgc3RydWN0IGZsb3dpNCAqZmw0 LAogCXNhZGRyLT52NC5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKIAlzYWRkci0+djQuc2luX3BvcnQg PSBwb3J0OwogCXNhZGRyLT52NC5zaW5fYWRkci5zX2FkZHIgPSBmbDQtPnNhZGRyOworCW1lbXNl dChzYWRkci0+djQuc2luX3plcm8sIDAsIHNpemVvZihzYWRkci0+djQuc2luX3plcm8pKTsKIH0K IAogLyogQ29tcGFyZSB0d28gYWRkcmVzc2VzIGV4YWN0bHkuICovCkBAIC0zMDMsNiArMzA3LDcg QEAgc3RhdGljIHZvaWQgc2N0cF92NF9pbmFkZHJfYW55KHVuaW9uIHNjdHBfYWRkciAqYWRkciwg X19iZTE2IHBvcnQpCiAJYWRkci0+djQuc2luX2ZhbWlseSA9IEFGX0lORVQ7CiAJYWRkci0+djQu c2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7CiAJYWRkci0+djQuc2luX3BvcnQg PSBwb3J0OworCW1lbXNldChhZGRyLT52NC5zaW5femVybywgMCwgc2l6ZW9mKGFkZHItPnY0LnNp bl96ZXJvKSk7CiB9CiAKIC8qIElzIHRoaXMgYSB3aWxkY2FyZCBhZGRyZXNzPyAqLwotLSAKMi4y MC4xCgoKRnJvbSBmMTU2OTUwN2Y3ZTIyZTZmYWRhYWJjYjIwODVmMGJkYmQ5ZjE4ZmMwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5j b20+CkRhdGU6IE1vbiwgOSBEZWMgMjAxOSAwODo1NjozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTcvMjddIHNlbGZ0ZXN0czogZm9yd2FyZGluZzogRGVsZXRlIElQdjYgYWRkcmVzcyBhdCB0aGUg ZW5kCgpbIFVwc3RyZWFtIGNvbW1pdCA2NWNiMTM5ODYyMjljZWMwMjYzNWExZWNiY2QxZTJkZDE4 MzUzMjAxIF0KCldoZW4gY3JlYXRpbmcgdGhlIHNlY29uZCBob3N0IGluIGgyX2NyZWF0ZSgpLCB0 d28gYWRkcmVzc2VzIGFyZSBhc3NpZ25lZAp0byB0aGUgaW50ZXJmYWNlLCBidXQgb25seSBvbmUg aXMgZGVsZXRlZC4gV2hlbiBydW5uaW5nIHRoZSB0ZXN0IHR3aWNlCmluIGEgcm93IHRoZSBmb2xs b3dpbmcgZXJyb3IgaXMgb2JzZXJ2ZWQ6CgokIC4vcm91dGVyX2JyaWRnZV92bGFuLnNoClRFU1Q6 IHBpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdClRFU1Q6IHBpbmc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdClRFU1Q6IHZsYW4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiQgLi9yb3V0 ZXJfYnJpZGdlX3ZsYW4uc2gKUlRORVRMSU5LIGFuc3dlcnM6IEZpbGUgZXhpc3RzClRFU1Q6IHBp bmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdClRFU1Q6IHBpbmc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdClRFU1Q6IHZsYW4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCgpGaXggdGhpcyBi eSBkZWxldGluZyB0aGUgYWRkcmVzcyBkdXJpbmcgY2xlYW51cC4KCkZpeGVzOiA1YjFlN2Y5ZWJk NTYgKCJzZWxmdGVzdHM6IGZvcndhcmRpbmc6IFRlc3Qgcm91dGVkIGJyaWRnZSBpbnRlcmZhY2Ui KQpTaWduZWQtb2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiB0b29s cy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZm9yd2FyZGluZy9yb3V0ZXJfYnJpZGdlX3ZsYW4uc2gg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZm9yd2FyZGluZy9yb3V0ZXJf YnJpZGdlX3ZsYW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZm9yd2FyZGluZy9y b3V0ZXJfYnJpZGdlX3ZsYW4uc2gKaW5kZXggZmVmODhlYjRiODczLi5mYTZhODhjNTA3NTAgMTAw NzU1Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9mb3J3YXJkaW5nL3JvdXRlcl9i cmlkZ2Vfdmxhbi5zaAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZm9yd2FyZGlu Zy9yb3V0ZXJfYnJpZGdlX3ZsYW4uc2gKQEAgLTM2LDcgKzM2LDcgQEAgaDJfZGVzdHJveSgpCiB7 CiAJaXAgLTYgcm91dGUgZGVsIDIwMDE6ZGI4OjE6Oi82NCB2cmYgdiRoMgogCWlwIC00IHJvdXRl IGRlbCAxOTIuMC4yLjAvMjggdnJmIHYkaDIKLQlzaW1wbGVfaWZfZmluaSAkaDIgMTkyLjAuMi4x MzAvMjgKKwlzaW1wbGVfaWZfZmluaSAkaDIgMTkyLjAuMi4xMzAvMjggMjAwMTpkYjg6Mjo6Mi82 NAogfQogCiByb3V0ZXJfY3JlYXRlKCkKLS0gCjIuMjAuMQoKCkZyb20gNDBlZDc3NWM4MjgxMGNi ODA2NTg4ZGU4ODUwZWYzYWUyY2I2NDdkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog RXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBTYXQsIDcgRGVjIDIwMTkg MTI6MjM6MjEgLTA4MDAKU3ViamVjdDogW1BBVENIIDE4LzI3XSBuZWlnaGJvdXI6IHJlbW92ZSBu ZWlnaF9jbGVhbnVwKCkgbWV0aG9kCgpbIFVwc3RyZWFtIGNvbW1pdCBmMzk0NzIyZmIwZDBmNzAx MTE5MzY4OTU5ZDdjZDBlY2JjNDYzNjNhIF0KCm5laWdoX2NsZWFudXAoKSBoYXMgbm90IGJlZW4g dXNlZCBmb3Igc2V2ZW4geWVhcnMsIGFuZCB3YXMgYSB3cm9uZyBkZXNpZ24uCgpNZXNzaW5nIHdp dGggc2hhcmVkIHBvaW50ZXIgaW4gYm9uZF9uZWlnaF9pbml0KCkgd2l0aG91dCBwcm9wZXIKbWVt b3J5IGJhcnJpZXJzIHdvdWxkIGF0IGxlYXN0IHRyaWdnZXIgc3l6Ym90IGNvbXBsYWlucyBldmVu dHVhbGx5LgoKSXQgaXMgdGltZSB0byByZW1vdmUgdGhpcyBzdHVmZi4KCkZpeGVzOiBiNjNiNzBk ODc3NDEgKCJJUG9JQjogVXNlIGEgcHJpdmF0ZSBoYXNoIHRhYmxlIGZvciBwYXRoIGxvb2t1cCBp biB4bWl0IHBhdGgiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jIHwgOCAtLS0tLS0tLQogaW5j bHVkZS9uZXQvbmVpZ2hib3VyLmggICAgICAgICB8IDEgLQogbmV0L2NvcmUvbmVpZ2hib3VyLmMg ICAgICAgICAgICB8IDMgLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMgYi9kcml2ZXJzL25ldC9i b25kaW5nL2JvbmRfbWFpbi5jCmluZGV4IDYyZjY1NTczZWIwNC4uM2E2M2E0ZTRmNjJiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0 L2JvbmRpbmcvYm9uZF9tYWluLmMKQEAgLTM2MjIsMTggKzM2MjIsMTAgQEAgc3RhdGljIGludCBi b25kX25laWdoX2luaXQoc3RydWN0IG5laWdoYm91ciAqbikKIAkJcmV0dXJuIDA7CiAKIAlwYXJt cy5uZWlnaF9zZXR1cCA9IE5VTEw7Ci0JcGFybXMubmVpZ2hfY2xlYW51cCA9IE5VTEw7CiAJcmV0 ID0gc2xhdmVfb3BzLT5uZG9fbmVpZ2hfc2V0dXAoc2xhdmUtPmRldiwgJnBhcm1zKTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCi0JLyogQXNzaWduIHNsYXZlJ3MgbmVpZ2hfY2xlYW51cCB0 byBuZWlnaGJvdXIgaW4gY2FzZSBjbGVhbnVwIGlzIGNhbGxlZAotCSAqIGFmdGVyIHRoZSBsYXN0 IHNsYXZlIGhhcyBiZWVuIGRldGFjaGVkLiAgQXNzdW1lcyB0aGF0IGFsbCBzbGF2ZXMKLQkgKiB1 dGlsaXplIHRoZSBzYW1lIG5laWdoX2NsZWFudXAgKHRydWUgYXQgdGhpcyB3cml0aW5nIGFzIG9u bHkgdXNlcgotCSAqIGlzIGlwb2liKS4KLQkgKi8KLQluLT5wYXJtcy0+bmVpZ2hfY2xlYW51cCA9 IHBhcm1zLm5laWdoX2NsZWFudXA7Ci0KIAlpZiAoIXBhcm1zLm5laWdoX3NldHVwKQogCQlyZXR1 cm4gMDsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmggYi9pbmNsdWRlL25l dC9uZWlnaGJvdXIuaAppbmRleCBiODQ1MmNjMGUwNTkuLjVlNjc5YzhkYWUwYiAxMDA2NDQKLS0t IGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKKysrIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgK QEAgLTcyLDcgKzcyLDYgQEAgc3RydWN0IG5laWdoX3Bhcm1zIHsKIAlzdHJ1Y3QgbmV0X2Rldmlj ZSAqZGV2OwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKIAlpbnQJKCpuZWlnaF9zZXR1cCkoc3Ry dWN0IG5laWdoYm91ciAqKTsKLQl2b2lkCSgqbmVpZ2hfY2xlYW51cCkoc3RydWN0IG5laWdoYm91 ciAqKTsKIAlzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibDsKIAogCXZvaWQJKnN5c2N0bF90YWJsZTsK ZGlmZiAtLWdpdCBhL25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmMK aW5kZXggNTQ4MGVkZmYwYzg2Li4wOGViYzNhYzUzNDMgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL25l aWdoYm91ci5jCisrKyBiL25ldC9jb3JlL25laWdoYm91ci5jCkBAIC05OCw5ICs5OCw2IEBAIHN0 YXRpYyBpbnQgbmVpZ2hfYmxhY2tob2xlKHN0cnVjdCBuZWlnaGJvdXIgKm5laWdoLCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiKQogCiBzdGF0aWMgdm9pZCBuZWlnaF9jbGVhbnVwX2FuZF9yZWxlYXNlKHN0 cnVjdCBuZWlnaGJvdXIgKm5laWdoKQogewotCWlmIChuZWlnaC0+cGFybXMtPm5laWdoX2NsZWFu dXApCi0JCW5laWdoLT5wYXJtcy0+bmVpZ2hfY2xlYW51cChuZWlnaCk7Ci0KIAl0cmFjZV9uZWln aF9jbGVhbnVwX2FuZF9yZWxlYXNlKG5laWdoLCAwKTsKIAlfX25laWdoX25vdGlmeShuZWlnaCwg UlRNX0RFTE5FSUdILCAwLCAwKTsKIAljYWxsX25ldGV2ZW50X25vdGlmaWVycyhORVRFVkVOVF9O RUlHSF9VUERBVEUsIG5laWdoKTsKLS0gCjIuMjAuMQoKCkZyb20gMDVmZjQ5OWJhMDcwZTU4NmQ1 YjBiZWYzMzdiNTRjNzRjYjhmODk0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJp YyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBTYXQsIDcgRGVjIDIwMTkgMTQ6 MTA6MzQgLTA4MDAKU3ViamVjdDogW1BBVENIIDE5LzI3XSBib25kaW5nOiBmaXggYm9uZF9uZWln aF9pbml0KCkKClsgVXBzdHJlYW0gY29tbWl0IDllOTliZmVmZGJjZTJlMjNlZjM3NDg3YTNiY2I0 YWRmOTBhNzkxZDEgXQoKMSkgc3l6Ym90IHJlcG9ydGVkIGFuIHVuaW5pdC12YWx1ZSBpbiBib25k X25laWdoX3NldHVwKCkgWzFdCgogYm9uZF9uZWlnaF9zZXR1cCgpIHVzZXMgYSB0ZW1wb3Jhcnkg b24tc3RhY2sgJ3N0cnVjdCBuZWlnaF9wYXJtcyBwYXJtcycsCiBidXQgb25seSBjbGVhcnMgcGFy bXMubmVpZ2hfc2V0dXAgZmllbGQuCgogQSBzdGFja2VkIGJvbmRpbmcgZGV2aWNlIHdvdWxkIHRo ZW4gZW50ZXIgYm9uZF9uZWlnaF9zZXR1cCgpCiBhbmQgcmVhZCBnYXJiYWdlIGZyb20gcGFybXMt PmRldi4KCiBJZiB3ZSBnZXQgcmVhbGx5IHVubHVja3kgYW5kIGdhcmJhZ2UgaXMgbWF0Y2hpbmcg QGRldiwgdGhlbiB3ZQogY291bGQgcmVjdXJzZSBhbmQgZXZlbnR1YWxseSBjcmFzaC4KCiBMZXQn cyBtYWtlIHN1cmUgdGhlIHdob2xlIHN0cnVjdHVyZSBpcyBjbGVhcmVkIHRvIGF2b2lkIHN1cnBy aXNlcy4KCjIpIGJvbmRfbmVpZ2hfc2V0dXAoKSBjYW4gYmUgY2FsbGVkIHdoaWxlIGFub3RoZXIg Y3B1IG1hbmlwdWxhdGVzCiB0aGUgbWFzdGVyIGRldmljZSwgcmVtb3Zpbmcgb3IgYWRkaW5nIGEg c2xhdmUuCiBXZSBuZWVkIGF0IGxlYXN0IHJjdSBwcm90ZWN0aW9uIHRvIHByZXZlbnQgdXNlLWFm dGVyLWZyZWUuCgpOb3RlOiBQcmlvciBjb2RlIGRvZXMgbm90IHN1cHBvcnQgYSBzdGFjayBvZiBi b25kaW5nIGRldmljZXMsCiAgICAgIHRoaXMgcGF0Y2ggZG9lcyBub3QgYXR0ZW1wdCB0byBmaXgg dGhpcywgYW5kIGxlYXZlIGEgY29tbWVudCBpbnN0ZWFkLgoKWzFdCgpCVUc6IEtNU0FOOiB1bmlu aXQtdmFsdWUgaW4gYm9uZF9uZWlnaF9zZXR1cCsweGE0LzB4MTEwIGRyaXZlcnMvbmV0L2JvbmRp bmcvYm9uZF9tYWluLmM6MzY1NQpDUFU6IDAgUElEOiAxMTI1NiBDb21tOiBzeXotZXhlY3V0b3Iu MCBOb3QgdGFpbnRlZCA1LjQuMC1yYzgtc3l6a2FsbGVyICMwCkhhcmR3YXJlIG5hbWU6IEdvb2ds ZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2ds ZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiA8SVJRPgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0 YWNrLmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxYzkvMHgyMjAgbGliL2R1bXBfc3RhY2su YzoxMTgKIGttc2FuX3JlcG9ydCsweDEyOC8weDIyMCBtbS9rbXNhbi9rbXNhbl9yZXBvcnQuYzox MDgKIF9fbXNhbl93YXJuaW5nKzB4NTcvMHhhMCBtbS9rbXNhbi9rbXNhbl9pbnN0ci5jOjI0NQog Ym9uZF9uZWlnaF9zZXR1cCsweGE0LzB4MTEwIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWlu LmM6MzY1NQogYm9uZF9uZWlnaF9pbml0KzB4MjE2LzB4NGIwIGRyaXZlcnMvbmV0L2JvbmRpbmcv Ym9uZF9tYWluLmM6MzYyNgogX19fbmVpZ2hfY3JlYXRlKzB4MTY5ZS8weDJjNDAgbmV0L2NvcmUv bmVpZ2hib3VyLmM6NjEzCiBfX25laWdoX2NyZWF0ZSsweGJkLzB4ZDAgbmV0L2NvcmUvbmVpZ2hi b3VyLmM6Njc0CiBpcDZfZmluaXNoX291dHB1dDIrMHgxNDlhLzB4MjY3MCBuZXQvaXB2Ni9pcDZf b3V0cHV0LmM6MTEzCiBfX2lwNl9maW5pc2hfb3V0cHV0KzB4ODNkLzB4OGYwIG5ldC9pcHY2L2lw Nl9vdXRwdXQuYzoxNDIKIGlwNl9maW5pc2hfb3V0cHV0KzB4MmRiLzB4NDIwIG5ldC9pcHY2L2lw Nl9vdXRwdXQuYzoxNTIKIE5GX0hPT0tfQ09ORCBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI5 NCBbaW5saW5lXQogaXA2X291dHB1dCsweDVkMy8weDcyMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6 MTc1CiBkc3Rfb3V0cHV0IGluY2x1ZGUvbmV0L2RzdC5oOjQzNiBbaW5saW5lXQogTkZfSE9PSyBp bmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjMwNSBbaW5saW5lXQogbWxkX3NlbmRwYWNrKzB4ZWJk LzB4MTNkMCBuZXQvaXB2Ni9tY2FzdC5jOjE2ODIKIG1sZF9zZW5kX2NyIG5ldC9pcHY2L21jYXN0 LmM6MTk3OCBbaW5saW5lXQogbWxkX2lmY190aW1lcl9leHBpcmUrMHgxMTZiLzB4MTY4MCBuZXQv aXB2Ni9tY2FzdC5jOjI0NzcKIGNhbGxfdGltZXJfZm4rMHgyMzIvMHg1MzAga2VybmVsL3RpbWUv dGltZXIuYzoxNDA0CiBleHBpcmVfdGltZXJzIGtlcm5lbC90aW1lL3RpbWVyLmM6MTQ0OSBbaW5s aW5lXQogX19ydW5fdGltZXJzKzB4ZDYwLzB4MTI3MCBrZXJuZWwvdGltZS90aW1lci5jOjE3NzMK IHJ1bl90aW1lcl9zb2Z0aXJxKzB4MmQvMHg1MCBrZXJuZWwvdGltZS90aW1lci5jOjE3ODYKIF9f ZG9fc29mdGlycSsweDRhMS8weDgzYSBrZXJuZWwvc29mdGlycS5jOjI5MwogaW52b2tlX3NvZnRp cnEga2VybmVsL3NvZnRpcnEuYzozNzUgW2lubGluZV0KIGlycV9leGl0KzB4MjMwLzB4MjgwIGtl cm5lbC9zb2Z0aXJxLmM6NDE2CiBleGl0aW5nX2lycSsweGUvMHgxMCBhcmNoL3g4Ni9pbmNsdWRl L2FzbS9hcGljLmg6NTM2CiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQrMHg0OC8weDcwIGFyY2gv eDg2L2tlcm5lbC9hcGljL2FwaWMuYzoxMTM4CiBhcGljX3RpbWVyX2ludGVycnVwdCsweDJlLzB4 NDAgYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzo4MzUKIDwvSVJRPgpSSVA6IDAwMTA6a21zYW5f ZnJlZV9wYWdlKzB4MThkLzB4MWMwIG1tL2ttc2FuL2ttc2FuX3NoYWRvdy5jOjQzOQpDb2RlOiA0 YyA4OSBmZiA0NCA4OSBmNiBlOCA4MiAwZCBlZSBmZiA2NSBmZiAwZCA5ZiAyNiAzYiA2MCA2NSA4 YiAwNSA5OCAyNiAzYiA2MCA4NSBjMCA3NSAyNCBlOCA1YiBmNiAzNSBmZiA0YyA4OSA2ZCBkMCBm ZiA3NSBkMCA5ZCA8NDg+IDgzIGM0IDEwIDViIDQxIDVjIDQxIDVkIDQxIDVlIDQxIDVmIDVkIGMz IDBmIDBiIDBmIDBiIDBmIDBiIDBmClJTUDogMDAxODpmZmZmYjMyODAzNGFmODE4IEVGTEFHUzog MDAwMDAyNDYgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZmMTMKUkFYOiAwMDAwMDAwMDAwMDAwMDAw IFJCWDogZmZmZmUyZDc0NzFmODM2MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKUkRYOiBmZmZmZmZm ZmFkZWE3MDAwIFJTSTogMDAwMDAwMDAwMDAwMDAwNCBSREk6IGZmZmY5MzQ5NmZjZGExMDQKUkJQ OiBmZmZmYjMyODAzNGFmODUwIFIwODogZmZmZjkzNGE0N2U4NmQwMCBSMDk6IGZmZmY5MzQ5NmZj NDE5MDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAw MDAwMDAwMDAwMDAwMDEKUjEzOiAwMDAwMDAwMDAwMDAwMjQ2IFIxNDogMDAwMDAwMDAwMDAwMDAw MCBSMTU6IGZmZmZlMmQ3NDcyMjI1YzAKIGZyZWVfcGFnZXNfcHJlcGFyZSBtbS9wYWdlX2FsbG9j LmM6MTEzOCBbaW5saW5lXQogZnJlZV9wY3BfcHJlcGFyZSBtbS9wYWdlX2FsbG9jLmM6MTIzMCBb aW5saW5lXQogZnJlZV91bnJlZl9wYWdlX3ByZXBhcmUrMHgxZDkvMHg3NzAgbW0vcGFnZV9hbGxv Yy5jOjMwMjUKIGZyZWVfdW5yZWZfcGFnZSBtbS9wYWdlX2FsbG9jLmM6MzA3NCBbaW5saW5lXQog ZnJlZV90aGVfcGFnZSBtbS9wYWdlX2FsbG9jLmM6NDgzMiBbaW5saW5lXQogX19mcmVlX3BhZ2Vz KzB4MTU0LzB4MjMwIG1tL3BhZ2VfYWxsb2MuYzo0ODQwCiBfX3Z1bm1hcCsweGRhYy8weGYyMCBt bS92bWFsbG9jLmM6MjI3NwogX192ZnJlZSBtbS92bWFsbG9jLmM6MjMyNSBbaW5saW5lXQogdmZy ZWUrMHg3Yy8weDE3MCBtbS92bWFsbG9jLmM6MjM1NQogY29weV9lbnRyaWVzX3RvX3VzZXIgbmV0 L2lwdjYvbmV0ZmlsdGVyL2lwNl90YWJsZXMuYzo4ODMgW2lubGluZV0KIGdldF9lbnRyaWVzIG5l dC9pcHY2L25ldGZpbHRlci9pcDZfdGFibGVzLmM6MTA0MSBbaW5saW5lXQogZG9faXA2dF9nZXRf Y3RsKzB4ZmE0LzB4MTAzMCBuZXQvaXB2Ni9uZXRmaWx0ZXIvaXA2X3RhYmxlcy5jOjE3MDkKIG5m X3NvY2tvcHQgbmV0L25ldGZpbHRlci9uZl9zb2Nrb3B0LmM6MTA0IFtpbmxpbmVdCiBuZl9nZXRz b2Nrb3B0KzB4NDgxLzB4NGUwIG5ldC9uZXRmaWx0ZXIvbmZfc29ja29wdC5jOjEyMgogaXB2Nl9n ZXRzb2Nrb3B0KzB4MjY0LzB4NTEwIG5ldC9pcHY2L2lwdjZfc29ja2dsdWUuYzoxNDAwCiB0Y3Bf Z2V0c29ja29wdCsweDFjNi8weDFmMCBuZXQvaXB2NC90Y3AuYzozNjg4CiBzb2NrX2NvbW1vbl9n ZXRzb2Nrb3B0KzB4MTNmLzB4MTgwIG5ldC9jb3JlL3NvY2suYzozMTEwCiBfX3N5c19nZXRzb2Nr b3B0KzB4NTMzLzB4N2IwIG5ldC9zb2NrZXQuYzoyMTI5CiBfX2RvX3N5c19nZXRzb2Nrb3B0IG5l dC9zb2NrZXQuYzoyMTQ0IFtpbmxpbmVdCiBfX3NlX3N5c19nZXRzb2Nrb3B0KzB4ZTEvMHgxMDAg bmV0L3NvY2tldC5jOjIxNDEKIF9feDY0X3N5c19nZXRzb2Nrb3B0KzB4NjIvMHg4MCBuZXQvc29j a2V0LmM6MjE0MQogZG9fc3lzY2FsbF82NCsweGI2LzB4MTYwIGFyY2gveDg2L2VudHJ5L2NvbW1v bi5jOjI5MQogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQpSSVA6IDAw MzM6MHg0NWQyMGEKQ29kZTogYjggMzQgMDEgMDAgMDAgMGYgMDUgNDggM2QgMDEgZjAgZmYgZmYg MGYgODMgOGQgOGIgZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAg NDkgODkgY2EgYjggMzcgMDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyA2 YSA4YiBmYiBmZiBjMyA2NiAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDAw MDAwMGE2ZjYxOCBFRkxBR1M6IDAwMDAwMjEyIE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDM3ClJB WDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDBhNmY2NDAgUkNYOiAwMDAwMDAwMDAw NDVkMjBhClJEWDogMDAwMDAwMDAwMDAwMDA0MSBSU0k6IDAwMDAwMDAwMDAwMDAwMjkgUkRJOiAw MDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAwMDAwMDcxN2NjMCBSMDg6IDAwMDAwMDAwMDBhNmY2 M2MgUjA5OiAwMDAwMDAwMDAwMDA0MDAwClIxMDogMDAwMDAwMDAwMGE2Zjc0MCBSMTE6IDAwMDAw MDAwMDAwMDAyMTIgUjEyOiAwMDAwMDAwMDAwMDAwMDAzClIxMzogMDAwMDAwMDAwMDAwMDAwMCBS MTQ6IDAwMDAwMDAwMDAwMDAwMjkgUjE1OiAwMDAwMDAwMDAwNzE1YjAwCgpMb2NhbCB2YXJpYWJs ZSBkZXNjcmlwdGlvbjogLS0tLXBhcm1zQGJvbmRfbmVpZ2hfaW5pdApWYXJpYWJsZSB3YXMgY3Jl YXRlZCBhdDoKIGJvbmRfbmVpZ2hfaW5pdCsweDhjLzB4NGIwIGRyaXZlcnMvbmV0L2JvbmRpbmcv Ym9uZF9tYWluLmM6MzYxNwogYm9uZF9uZWlnaF9pbml0KzB4OGMvMHg0YjAgZHJpdmVycy9uZXQv Ym9uZGluZy9ib25kX21haW4uYzozNjE3CgpGaXhlczogOTkxOGQ1YmYzMjlkICgiYm9uZGluZzog bW9kaWZ5IG9ubHkgbmVpZ2hfcGFybXMgb3duZWQgYnkgdXMiKQpGaXhlczogMjM0YmNmOGE0OTll ICgibmV0L2JvbmRpbmc6IGNvcnJlY3RseSBwcm94eSBzbGF2ZSBuZWlnaCBwYXJhbSBzZXR1cCBu ZG8gZnVuY3Rpb24iKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpD YzogSmF5IFZvc2J1cmdoIDxqLnZvc2J1cmdoQGdtYWlsLmNvbT4KQ2M6IFZlYWNlc2xhdiBGYWxp Y28gPHZmYWxpY29AZ21haWwuY29tPgpDYzogQW5keSBHb3Nwb2RhcmVrIDxhbmR5QGdyZXlob3Vz ZS5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jIHwgMzEgKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWlu LmMgYi9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCmluZGV4IDNhNjNhNGU0ZjYyYi4u ZmFjZTAwYzYyMmVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5j CisrKyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMKQEAgLTM2MTIsMjQgKzM2MTIs MzUgQEAgc3RhdGljIGludCBib25kX25laWdoX2luaXQoc3RydWN0IG5laWdoYm91ciAqbikKIAlj b25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgKnNsYXZlX29wczsKIAlzdHJ1Y3QgbmVpZ2hfcGFy bXMgcGFybXM7CiAJc3RydWN0IHNsYXZlICpzbGF2ZTsKLQlpbnQgcmV0OworCWludCByZXQgPSAw OwogCi0Jc2xhdmUgPSBib25kX2ZpcnN0X3NsYXZlKGJvbmQpOworCXJjdV9yZWFkX2xvY2soKTsK KwlzbGF2ZSA9IGJvbmRfZmlyc3Rfc2xhdmVfcmN1KGJvbmQpOwogCWlmICghc2xhdmUpCi0JCXJl dHVybiAwOworCQlnb3RvIG91dDsKIAlzbGF2ZV9vcHMgPSBzbGF2ZS0+ZGV2LT5uZXRkZXZfb3Bz OwogCWlmICghc2xhdmVfb3BzLT5uZG9fbmVpZ2hfc2V0dXApCi0JCXJldHVybiAwOworCQlnb3Rv IG91dDsKIAotCXBhcm1zLm5laWdoX3NldHVwID0gTlVMTDsKKwkvKiBUT0RPOiBmaW5kIGFub3Ro ZXIgd2F5IFsxXSB0byBpbXBsZW1lbnQgdGhpcy4KKwkgKiBQYXNzaW5nIGEgemVyb2VkIHN0cnVj dHVyZSBpcyBmcmFnaWxlLAorCSAqIGJ1dCBhdCBsZWFzdCB3ZSBkbyBub3QgcGFzcyBnYXJiYWdl LgorCSAqCisJICogWzFdIE9uZSB3YXkgd291bGQgYmUgdGhhdCBuZG9fbmVpZ2hfc2V0dXAoKSBu ZXZlciB0b3VjaAorCSAqICAgICBzdHJ1Y3QgbmVpZ2hfcGFybXMsIGJ1dCBwcm9wYWdhdGUgdGhl IG5ldyBuZWlnaF9zZXR1cCgpCisJICogICAgIGJhY2sgdG8gX19fbmVpZ2hfY3JlYXRlKCkgLyBu ZWlnaF9wYXJtc19hbGxvYygpCisJICovCisJbWVtc2V0KCZwYXJtcywgMCwgc2l6ZW9mKHBhcm1z KSk7CiAJcmV0ID0gc2xhdmVfb3BzLT5uZG9fbmVpZ2hfc2V0dXAoc2xhdmUtPmRldiwgJnBhcm1z KTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwogCi0JaWYgKCFwYXJtcy5uZWlnaF9zZXR1cCkK LQkJcmV0dXJuIDA7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CiAKLQlyZXR1cm4gcGFybXMubmVp Z2hfc2V0dXAobik7CisJaWYgKHBhcm1zLm5laWdoX3NldHVwKQorCQlyZXQgPSBwYXJtcy5uZWln aF9zZXR1cChuKTsKK291dDoKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlyZXR1cm4gcmV0OwogfQog CiAvKiBUaGUgYm9uZGluZyBuZG9fbmVpZ2hfc2V0dXAgaXMgY2FsbGVkIGF0IGluaXQgdGltZSBi ZW9mcmUgYW55Ci0tIAoyLjIwLjEKCgpGcm9tIGRhZDA5YzkzOWU1Yjk3YTY4NjEzYjI3MTBmOTY1 ZWUxMmFkZjRmMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFydGh1ciBLaXlhbm92 c2tpIDxha2l5YW5vQGFtYXpvbi5jb20+CkRhdGU6IFRodSwgMTkgRGVjIDIwMTkgMTc6NDA6NTUg KzAyMDAKU3ViamVjdDogW1BBVENIIDIwLzI3XSBuZXQ6IGVuYTogZml4IGRlZmF1bHQgdHggaW50 ZXJydXB0IG1vZGVyYXRpb24gaW50ZXJ2YWwKClsgVXBzdHJlYW0gY29tbWl0IDA1Nzg1YWRmNmU1 NzBhMDY4YWRmMDUwMmI2MWZlMmI1MjFkN2YwY2EgXQoKQ3VycmVudCBkZWZhdWx0IG5vbi1hZGFw dGl2ZSB0eCBpbnRlcnJ1cHQgbW9kZXJhdGlvbiBpbnRlcnZhbCBpcyAxOTYgdXMuClRoaXMgdmFs dWUgaXMgdG9vIGhpZ2ggYW5kIG1pZ2h0IGNhdXNlIHRoZSB0eCBxdWV1ZSB0byBmaWxsIHVwLgoK SW4gdGhpcyBjb21taXQgd2Ugc2V0IHRoZSBkZWZhdWx0IG5vbi1hZGFwdGl2ZSB0eCBpbnRlcnJ1 cHQgbW9kZXJhdGlvbgppbnRlcnZhbCB0byA2NCB1cyBpbiBvcmRlciB0bzoKMS4gUmVkdWNlIHRo ZSBwcm9iYWJpbGl0eSBvZiB0aGUgcXVldWUgZmlsbGluZy11cCAod2hlbiBjb21wYXJlZCB0byB0 aGUKICAgY3VycmVudCBkZWZhdWx0IHZhbHVlIG9mIDE5NiB1cykuCjIuIFJlZHVjZSB1bm5lY2Vz c2FyeSB0eCBpbnRlcnJ1cHQgb3ZlcmhlYWQgKHdoaWNoIGhhcHBlbnMgaWYgd2Ugc2V0IHRoZQog ICBkZWZhdWx0IHR4IGludGVydmFsIHRvIDApLgogICBXZSBkZXRlcm1pbmVkIGV4cGVyaW1lbnRh bGx5IHRoYXQgNjQgdXMgaXMgYW4gb3B0aW1hbCB2YWx1ZSB0aGF0CiAgIHJlZHVjZXMgaW50ZXJy dXB0IHJhdGUgYnkgbW9yZSB0aGFuIDIwJSB3aXRob3V0IGFmZmVjdGluZyBwZXJmb3JtYW5jZS4K CkZpeGVzOiAxNzM4Y2QzZWQzNDIgKCJuZXQ6IGVuYTogQWRkIGEgZHJpdmVyIGZvciBBbWF6b24g RWxhc3RpYyBOZXR3b3JrIEFkYXB0ZXJzIChFTkEpIikKU2lnbmVkLW9mZi1ieTogQXJ0aHVyIEtp eWFub3Zza2kgPGFraXlhbm9AYW1hem9uLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2FtYXpv bi9lbmEvZW5hX2NvbS5oIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1hem9uL2Vu YS9lbmFfY29tLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWF6b24vZW5hL2VuYV9jb20uaApp bmRleCA3Yzk0MWViYTBiYzkuLjBjZTM3ZDU0ZWQxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYW1hem9uL2VuYS9lbmFfY29tLmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv YW1hem9uL2VuYS9lbmFfY29tLmgKQEAgLTcyLDcgKzcyLDcgQEAKIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KIC8qIEVOQSBhZGFwdGl2ZSBpbnRlcnJ1cHQgbW9kZXJhdGlvbiBzZXR0aW5ncyAqLwog Ci0jZGVmaW5lIEVOQV9JTlRSX0lOSVRJQUxfVFhfSU5URVJWQUxfVVNFQ1MJCTE5NgorI2RlZmlu ZSBFTkFfSU5UUl9JTklUSUFMX1RYX0lOVEVSVkFMX1VTRUNTCQk2NAogI2RlZmluZSBFTkFfSU5U Ul9JTklUSUFMX1JYX0lOVEVSVkFMX1VTRUNTCQkwCiAjZGVmaW5lIEVOQV9ERUZBVUxUX0lOVFJf REVMQVlfUkVTT0xVVElPTgkJMQogCi0tIAoyLjIwLjEKCgpGcm9tIDgyMWZlZDY3MTg0N2VkMjEx N2MyMGVmZjkwZThkNzBmYzkxZGVjODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFy dGh1ciBLaXlhbm92c2tpIDxha2l5YW5vQGFtYXpvbi5jb20+CkRhdGU6IFRodSwgMTkgRGVjIDIw MTkgMTc6NDA6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzI3XSBuZXQ6IGVuYTogZml4IGlz c3VlcyBpbiBzZXR0aW5nIGludGVycnVwdCBtb2RlcmF0aW9uCiBwYXJhbXMgaW4gZXRodG9vbAoK WyBVcHN0cmVhbSBjb21taXQgNDFjNTNjYWE1YTYxZWJjOTIyMWI3MWNjMzdmNGE5MDU0OWYxMTIx ZCBdCgpJc3N1ZSAxOgotLS0tLS0tLQpSZXByb2R1Y3Rpb24gc3RlcHM6CjEuIHN1ZG8gZXRodG9v bCAtQyBldGgwIHJ4LXVzZWNzIDEyOAoyLiBzdWRvIGV0aHRvb2wgLUMgZXRoMCBhZGFwdGl2ZS1y eCBvbgozLiBzdWRvIGV0aHRvb2wgLUMgZXRoMCBhZGFwdGl2ZS1yeCBvZmYKNC4gZXRodG9vbCAt YyBldGgwCgpleHBlY3RlZCBvdXRwdXQ6IHJ4LXVzZWNzIDEyOAphY3R1YWwgb3V0cHV0OiByeC11 c2VjcyAwCgpSZWFzb24gZm9yIGlzc3VlOgpJbiBzdGFnZSAzLCBldGh0b29sIHVzZXJzcGFjZSBj YWxscyBmaXJzdCB0aGUgZW5hX2dldF9jb2FsZXNjZSgpIGhhbmRsZXIKdG8gZ2V0IHRoZSBjdXJy ZW50IHZhbHVlIG9mIGFsbCBwcm9wZXJ0aWVzLCBhbmQgdGhlbiB0aGUgZW5hX3NldF9jb2FsZXNj ZSgpCmhhbmRsZXIuIFdoZW4gZW5hX2dldF9jb2FsZXNjZSgpIGlzIGNhbGxlZCB0aGUgYWRhcHRp dmUgaW50ZXJydXB0Cm1vZGVyYXRpb24gaXMgc3RpbGwgb24uIFRoZXJlIGlzIGFuIGlmIGluIHRo ZSBjb2RlIHRoYXQgcmV0dXJucyB0aGUKcnhfY29hbGVzY2VfdXNlY3Mgb25seSBpZiB0aGUgYWRh cHRpdmUgaW50ZXJydXB0IG1vZGVyYXRpb24gaXMgb2ZmLgpBbmQgc2luY2UgaXQgaXMgc3RpbGwg b24sIHJ4X2NvYWxlc2NlX3VzZWNzIGlzIG5vdCBzZXQsIG1lYW5pbmcgaXQKc3RheXMgMC4KClNv bHV0aW9uIHRvIGlzc3VlOgpSZW1vdmUgdGhpcyBpZiBzdGF0aWMgaW50ZXJydXB0IG1vZGVyYXRp b24gaW50ZXJ2YWxzIGhhdmUgbm90aGluZyB0byBkbwp3aXRoIGR5bmFtaWMgb25lcy4KCklzc3Vl IDI6Ci0tLS0tLS0tClJlcHJvZHVjdGlvbiBzdGVwczoKMS4gc3VkbyBldGh0b29sIC1DIGV0aDAg YWRhcHRpdmUtcnggb24KMi4gc3VkbyBldGh0b29sIC1DIGV0aDAgcngtdXNlY3MgMTI4CjMuIGV0 aHRvb2wgLWMgZXRoMAoKZXhwZWN0ZWQgb3V0cHV0OiByeC11c2VjcyAxMjgKYWN0dWFsIG91dHB1 dDogcngtdXNlY3MgMAoKUmVhc29uIGZvciBpc3N1ZToKSW4gc3RhZ2UgMiwgd2hlbiBlbmFfc2V0 X2NvYWxlc2NlKCkgaXMgY2FsbGVkLCB0aGUgaGFuZGxlciB0ZXN0cyBpZgpyeCBhZGFwdGl2ZSBp bnRlcnJ1cHQgbW9kZXJhdGlvbiBpcyBvbiwgYW5kIGlmIGl0IGlzLCBpdCByZXR1cm5zIGJlZm9y ZQpnZXR0aW5nIHRvIHRoZSBwYXJ0IGluIHRoZSBmdW5jdGlvbiB0aGF0IHNldHMgdGhlIHJ4IG5v bi1hZGFwdGl2ZQppbnRlcnJ1cHQgbW9kZXJhdGlvbiBpbnRlcnZhbC4KClNvbHV0aW9uIHRvIGlz c3VlOgpSZW1vdmUgdGhlIHJldHVybiBmcm9tIHRoZSBmdW5jdGlvbiB3aGVuIHJ4IGFkYXB0aXZl IGludGVycnVwdCBtb2RlcmF0aW9uCmlzIG9uLgoKQWxzbyBjbGVhbmVkIHVwIHRoZSBmaXhlZCBj b2RlIGluIGVuYV9zZXRfY29hbGVzY2UgYnkgZ3JvdXBpbmcgdG9nZXRoZXIKYWRhcHRpdmUgaW50 ZXJydXB0IG1vZGVyYXRpb24gdG9nZ2xpbmcsIGFuZCB1c2luZyAmJiBpbnN0ZWFkIG9mIG5lc3Rl ZAppZnMuCgpGaXhlczogYjNkYjg2ZGM0YjgyICgibmV0OiBlbmE6IHJlaW1wbGVtZW50IHNldC9n ZXRfY29hbGVzY2UoKSIpCkZpeGVzOiAwZWRhODQ3OTUzZDggKCJuZXQ6IGVuYTogZml4IHJldHJp ZXZhbCBvZiBub25hZGFwdGl2ZSBpbnRlcnJ1cHQgbW9kZXJhdGlvbiBpbnRlcnZhbHMiKQpGaXhl czogMTczOGNkM2VkMzQyICgibmV0OiBlbmE6IEFkZCBhIGRyaXZlciBmb3IgQW1hem9uIEVsYXN0 aWMgTmV0d29yayBBZGFwdGVycyAoRU5BKSIpClNpZ25lZC1vZmYtYnk6IEFydGh1ciBLaXlhbm92 c2tpIDxha2l5YW5vQGFtYXpvbi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9hbWF6b24vZW5h L2VuYV9ldGh0b29sLmMgfCAyNCArKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTAgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYW1hem9uL2VuYS9lbmFfZXRodG9vbC5jIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYW1hem9uL2VuYS9lbmFfZXRodG9vbC5jCmluZGV4IDE2NTUzZDkyZmFkMi4uOGMxYzczYjBj ZWQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWF6b24vZW5hL2VuYV9ldGh0 b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1hem9uL2VuYS9lbmFfZXRodG9vbC5j CkBAIC0zMTUsMTAgKzMxNSw5IEBAIHN0YXRpYyBpbnQgZW5hX2dldF9jb2FsZXNjZShzdHJ1Y3Qg bmV0X2RldmljZSAqbmV0X2RldiwKIAkJZW5hX2NvbV9nZXRfbm9uYWRhcHRpdmVfbW9kZXJhdGlv bl9pbnRlcnZhbF90eChlbmFfZGV2KSAqCiAJCQllbmFfZGV2LT5pbnRyX2RlbGF5X3Jlc29sdXRp b247CiAKLQlpZiAoIWVuYV9jb21fZ2V0X2FkYXB0aXZlX21vZGVyYXRpb25fZW5hYmxlZChlbmFf ZGV2KSkKLQkJY29hbGVzY2UtPnJ4X2NvYWxlc2NlX3VzZWNzID0KLQkJCWVuYV9jb21fZ2V0X25v bmFkYXB0aXZlX21vZGVyYXRpb25faW50ZXJ2YWxfcngoZW5hX2RldikKLQkJCSogZW5hX2Rldi0+ aW50cl9kZWxheV9yZXNvbHV0aW9uOworCWNvYWxlc2NlLT5yeF9jb2FsZXNjZV91c2VjcyA9CisJ CWVuYV9jb21fZ2V0X25vbmFkYXB0aXZlX21vZGVyYXRpb25faW50ZXJ2YWxfcngoZW5hX2RldikK KwkJKiBlbmFfZGV2LT5pbnRyX2RlbGF5X3Jlc29sdXRpb247CiAKIAljb2FsZXNjZS0+dXNlX2Fk YXB0aXZlX3J4X2NvYWxlc2NlID0KIAkJZW5hX2NvbV9nZXRfYWRhcHRpdmVfbW9kZXJhdGlvbl9l bmFibGVkKGVuYV9kZXYpOwpAQCAtMzY3LDEyICszNjYsNiBAQCBzdGF0aWMgaW50IGVuYV9zZXRf Y29hbGVzY2Uoc3RydWN0IG5ldF9kZXZpY2UgKm5ldF9kZXYsCiAKIAllbmFfdXBkYXRlX3R4X3Jp bmdzX2ludHJfbW9kZXJhdGlvbihhZGFwdGVyKTsKIAotCWlmIChjb2FsZXNjZS0+dXNlX2FkYXB0 aXZlX3J4X2NvYWxlc2NlKSB7Ci0JCWlmICghZW5hX2NvbV9nZXRfYWRhcHRpdmVfbW9kZXJhdGlv bl9lbmFibGVkKGVuYV9kZXYpKQotCQkJZW5hX2NvbV9lbmFibGVfYWRhcHRpdmVfbW9kZXJhdGlv bihlbmFfZGV2KTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJcmMgPSBlbmFfY29tX3VwZGF0ZV9ub25h ZGFwdGl2ZV9tb2RlcmF0aW9uX2ludGVydmFsX3J4KGVuYV9kZXYsCiAJCQkJCQkJICAgICAgIGNv YWxlc2NlLT5yeF9jb2FsZXNjZV91c2Vjcyk7CiAJaWYgKHJjKQpAQCAtMzgwLDEwICszNzMsMTMg QEAgc3RhdGljIGludCBlbmFfc2V0X2NvYWxlc2NlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRfZGV2 LAogCiAJZW5hX3VwZGF0ZV9yeF9yaW5nc19pbnRyX21vZGVyYXRpb24oYWRhcHRlcik7CiAKLQlp ZiAoIWNvYWxlc2NlLT51c2VfYWRhcHRpdmVfcnhfY29hbGVzY2UpIHsKLQkJaWYgKGVuYV9jb21f Z2V0X2FkYXB0aXZlX21vZGVyYXRpb25fZW5hYmxlZChlbmFfZGV2KSkKLQkJCWVuYV9jb21fZGlz YWJsZV9hZGFwdGl2ZV9tb2RlcmF0aW9uKGVuYV9kZXYpOwotCX0KKwlpZiAoY29hbGVzY2UtPnVz ZV9hZGFwdGl2ZV9yeF9jb2FsZXNjZSAmJgorCSAgICAhZW5hX2NvbV9nZXRfYWRhcHRpdmVfbW9k ZXJhdGlvbl9lbmFibGVkKGVuYV9kZXYpKQorCQllbmFfY29tX2VuYWJsZV9hZGFwdGl2ZV9tb2Rl cmF0aW9uKGVuYV9kZXYpOworCisJaWYgKCFjb2FsZXNjZS0+dXNlX2FkYXB0aXZlX3J4X2NvYWxl c2NlICYmCisJICAgIGVuYV9jb21fZ2V0X2FkYXB0aXZlX21vZGVyYXRpb25fZW5hYmxlZChlbmFf ZGV2KSkKKwkJZW5hX2NvbV9kaXNhYmxlX2FkYXB0aXZlX21vZGVyYXRpb24oZW5hX2Rldik7CiAK IAlyZXR1cm4gMDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gZjhhZWVhYjcxZjQ4NzhiMGI4NTgwZGI3 MzkzNzIzZjNjMmI5NDAxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSW9hbmEgQ2lv cm5laSA8aW9hbmEuY2lvcm5laUBueHAuY29tPgpEYXRlOiBNb24sIDE2IERlYyAyMDE5IDE3OjMy OjMwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMi8yN10gZHBhYTItcHRwOiBmaXggZG91YmxlIGZy ZWUgb2YgdGhlIHB0cF9xb3JpcSBJUlEKClsgVXBzdHJlYW0gY29tbWl0IGRhYTZlYjVhMTQ5NTE5 NTgzYzhhOGNiMzE5NDVmMDY0MTdkMjE5MDIgXQoKVXBvbiByZXVzaW5nIHRoZSBwdHBfcW9yaXEg ZHJpdmVyLCB0aGUgcHRwX3FvcmlxX2ZyZWUoKSBmdW5jdGlvbiB3YXMKdXNlZCBvbiB0aGUgcmVt b3ZlIHBhdGggdG8gZnJlZSBhbnkgYWxsb2NhdGVkIHJlc291cmNlcy4KVGhlIHB0cF9xb3JpcSBJ UlEgaXMgYW1vbmcgdGhlc2UgcmVzb3VyY2VzIHRoYXQgYXJlIGZyZWVkIGluCnB0cF9xb3JpcV9m cmVlKCkgZXZlbiB0aG91Z2ggaXQgaXMgYWxzbyBhIG1hbmFnZWQgb25lIChhbGxvY2F0ZWQgdXNp bmcKZGV2bV9yZXF1ZXN0X3RocmVhZGVkX2lycSkuCgpEcm9wIHRoZSByZXNvdXJjZSBtYW5hZ2Vk IHZlcnNpb24gb2YgcmVxdWVzdGluZyB0aGUgSVJRIGluIG9yZGVyIHRvIG5vdAp0cmlnZ2VyIGEg ZG91YmxlIGZyZWUgb2YgdGhlIGludGVycnVwdCBhcyBiZWxvdzoKClsgIDIyNi43MzEwMDVdIFRy eWluZyB0byBmcmVlIGFscmVhZHktZnJlZSBJUlEgMTI2ClsgIDIyNi43MzU1MzNdIFdBUk5JTkc6 IENQVTogNiBQSUQ6IDc0OSBhdCBrZXJuZWwvaXJxL21hbmFnZS5jOjE3MDcKX19mcmVlX2lycSsw eDljLzB4MmI4ClsgIDIyNi43NDM0MzVdIE1vZHVsZXMgbGlua2VkIGluOgpbICAyMjYuNzQ2NDgw XSBDUFU6IDYgUElEOiA3NDkgQ29tbTogYmFzaCBUYWludGVkOiBHICAgICAgICBXCjUuNC4wLTAz NjI5LWdmZDcxMDJjMzJiMmMtZGlydHkgIzkxMgpbICAyMjYuNzU1ODU3XSBIYXJkd2FyZSBuYW1l OiBOWFAgTGF5ZXJzY2FwZSBMWDIxNjBBUkRCIChEVCkKWyAgMjI2Ljc2MTI0NF0gcHN0YXRlOiA0 MDAwMDA4NSAoblpjdiBkYUlmIC1QQU4gLVVBTykKWyAgMjI2Ljc2NjAyMl0gcGMgOiBfX2ZyZWVf aXJxKzB4OWMvMHgyYjgKWyAgMjI2Ljc2OTc1OF0gbHIgOiBfX2ZyZWVfaXJxKzB4OWMvMHgyYjgK WyAgMjI2Ljc3MzQ5M10gc3AgOiBmZmZmODAwMDEyNTAzOWYwCiguLi4pClsgIDIyNi44NTYyNzVd IENhbGwgdHJhY2U6ClsgIDIyNi44NTg3MTBdICBfX2ZyZWVfaXJxKzB4OWMvMHgyYjgKWyAgMjI2 Ljg2MjA5OF0gIGZyZWVfaXJxKzB4MzAvMHg3MApbICAyMjYuODY1MjI5XSAgZGV2bV9pcnFfcmVs ZWFzZSsweDE0LzB4MjAKWyAgMjI2Ljg2OTA1NF0gIHJlbGVhc2Vfbm9kZXMrMHgxYjAvMHgyMjAK WyAgMjI2Ljg3Mjc5MF0gIGRldnJlc19yZWxlYXNlX2FsbCsweDM0LzB4NTAKWyAgMjI2Ljg3Njc5 MF0gIGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbCsweDEwMC8weDFjMAoKRml4ZXM6IGQz NDZjOWU4NmQ4NiAoImRwYWEyLXB0cDogcmV1c2UgcHRwX3FvcmlxIGRyaXZlciIpCkNjOiBZYW5n Ym8gTHUgPHlhbmdiby5sdUBueHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBJb2FuYSBDaW9ybmVpIDxp b2FuYS5jaW9ybmVpQG54cC5jb20+ClJldmlld2VkLWJ5OiBZYW5nYm8gTHUgPHlhbmdiby5sdUBu eHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLXB0cC5j IHwgMTQgKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxl L2RwYWEyL2RwYWEyLXB0cC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEy L2RwYWEyLXB0cC5jCmluZGV4IGE5NTAzYWVhNTI3Zi4uNjQzN2ZlNmI5YWJmIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItcHRwLmMKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLXB0cC5jCkBAIC0xNjAs MTAgKzE2MCwxMCBAQCBzdGF0aWMgaW50IGRwYWEyX3B0cF9wcm9iZShzdHJ1Y3QgZnNsX21jX2Rl dmljZSAqbWNfZGV2KQogCWlycSA9IG1jX2Rldi0+aXJxc1swXTsKIAlwdHBfcW9yaXEtPmlycSA9 IGlycS0+bXNpX2Rlc2MtPmlycTsKIAotCWVyciA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEo ZGV2LCBwdHBfcW9yaXEtPmlycSwgTlVMTCwKLQkJCQkJZHBhYTJfcHRwX2lycV9oYW5kbGVyX3Ro cmVhZCwKLQkJCQkJSVJRRl9OT19TVVNQRU5EIHwgSVJRRl9PTkVTSE9ULAotCQkJCQlkZXZfbmFt ZShkZXYpLCBwdHBfcW9yaXEpOworCWVyciA9IHJlcXVlc3RfdGhyZWFkZWRfaXJxKHB0cF9xb3Jp cS0+aXJxLCBOVUxMLAorCQkJCSAgIGRwYWEyX3B0cF9pcnFfaGFuZGxlcl90aHJlYWQsCisJCQkJ ICAgSVJRRl9OT19TVVNQRU5EIHwgSVJRRl9PTkVTSE9ULAorCQkJCSAgIGRldl9uYW1lKGRldiks IHB0cF9xb3JpcSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2VycihkZXYsICJkZXZtX3JlcXVl c3RfdGhyZWFkZWRfaXJxKCk6ICVkXG4iLCBlcnIpOwogCQlnb3RvIGVycl9mcmVlX21jX2lycTsK QEAgLTE3MywxOCArMTczLDIwIEBAIHN0YXRpYyBpbnQgZHBhYTJfcHRwX3Byb2JlKHN0cnVjdCBm c2xfbWNfZGV2aWNlICptY19kZXYpCiAJCQkJICAgRFBSVENfSVJRX0lOREVYLCAxKTsKIAlpZiAo ZXJyIDwgMCkgewogCQlkZXZfZXJyKGRldiwgImRwcnRjX3NldF9pcnFfZW5hYmxlKCk6ICVkXG4i LCBlcnIpOwotCQlnb3RvIGVycl9mcmVlX21jX2lycTsKKwkJZ290byBlcnJfZnJlZV90aHJlYWRl ZF9pcnE7CiAJfQogCiAJZXJyID0gcHRwX3FvcmlxX2luaXQocHRwX3FvcmlxLCBiYXNlLCAmZHBh YTJfcHRwX2NhcHMpOwogCWlmIChlcnIpCi0JCWdvdG8gZXJyX2ZyZWVfbWNfaXJxOworCQlnb3Rv IGVycl9mcmVlX3RocmVhZGVkX2lycTsKIAogCWRwYWEyX3BoY19pbmRleCA9IHB0cF9xb3JpcS0+ cGhjX2luZGV4OwogCWRldl9zZXRfZHJ2ZGF0YShkZXYsIHB0cF9xb3JpcSk7CiAKIAlyZXR1cm4g MDsKIAorZXJyX2ZyZWVfdGhyZWFkZWRfaXJxOgorCWZyZWVfaXJxKHB0cF9xb3JpcS0+aXJxLCBw dHBfcW9yaXEpOwogZXJyX2ZyZWVfbWNfaXJxOgogCWZzbF9tY19mcmVlX2lycXMobWNfZGV2KTsK IGVycl91bm1hcDoKLS0gCjIuMjAuMQoKCkZyb20gYjQzMzY1OGU0YjQ0Y2NlYThkMWMzNjQ1OGRi ZjhjNzg5MzM1OTA4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSWRvIFNjaGltbWVs IDxpZG9zY2hAbWVsbGFub3guY29tPgpEYXRlOiBNb24sIDkgRGVjIDIwMTkgMDg6NTU6MjAgKzAy MDAKU3ViamVjdDogW1BBVENIIDIzLzI3XSBtbHhzdzogc3BlY3RydW1fcm91dGVyOiBSZW1vdmUg dW5saWtlbHkKIHVzZXItdHJpZ2dlcmFibGUgd2FybmluZwoKWyBVcHN0cmVhbSBjb21taXQgNjIy MDFjMDBjNDY3OWFkOGYwNzMwZDZkOTI1YTVkMjM2NTFkZmFkMiBdCgpJbiBjYXNlIHRoZSBkcml2 ZXIgdmV0b2VzIHRoZSBhZGRpdGlvbiBvZiBhbiBJUHY2IG11bHRpcGF0aCByb3V0ZSwgdGhlCklQ djYgc3RhY2sgd2lsbCBlbWl0IGRlbGV0ZSBub3RpZmljYXRpb25zIGZvciB0aGUgc2libGluZyBy b3V0ZXMgdGhhdAp3ZXJlIGFscmVhZHkgYWRkZWQgdG8gdGhlIEZJQiB0cmllLiBTaW5jZSB0aGVz ZSBzaWJsaW5ncyBhcmUgbm90IHByZXNlbnQKaW4gaGFyZHdhcmUsIGEgd2FybmluZyB3aWxsIGJl IGdlbmVyYXRlZC4KCkhhdmUgdGhlIGRyaXZlciBpZ25vcmUgbm90aWZpY2F0aW9ucyBmb3Igcm91 dGVzIGl0IGRvZXMgbm90IGhhdmUuCgpGaXhlczogZWJlZTNjYWQ4MzVmICgiaXB2NjogQWRkIElQ djYgbXVsdGlwYXRoIG5vdGlmaWNhdGlvbnMgZm9yIGFkZCAvIHJlcGxhY2UiKQpTaWduZWQtb2Zm LWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBp cmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eHN3L3NwZWN0cnVtX3JvdXRlci5jIHwgNyArKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9yb3V0ZXIuYwppbmRleCAzOWQ2MDBjOGI5MmQuLjIx MGViYzkxZDNkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 c3cvc3BlY3RydW1fcm91dGVyLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4c3cvc3BlY3RydW1fcm91dGVyLmMKQEAgLTU2MzcsOCArNTYzNywxMyBAQCBzdGF0aWMgdm9p ZCBtbHhzd19zcF9yb3V0ZXJfZmliNl9kZWwoc3RydWN0IG1seHN3X3NwICptbHhzd19zcCwKIAlp ZiAobWx4c3dfc3BfZmliNl9ydF9zaG91bGRfaWdub3JlKHJ0KSkKIAkJcmV0dXJuOwogCisJLyog TXVsdGlwYXRoIHJvdXRlcyBhcmUgZmlyc3QgYWRkZWQgdG8gdGhlIEZJQiB0cmllIGFuZCBvbmx5 IHRoZW4KKwkgKiBub3RpZmllZC4gSWYgd2UgdmV0b2VkIHRoZSBhZGRpdGlvbiwgd2Ugd2lsbCBn ZXQgYSBkZWxldGUKKwkgKiBub3RpZmljYXRpb24gZm9yIGEgcm91dGUgd2UgZG8gbm90IGhhdmUu IFRoZXJlZm9yZSwgZG8gbm90IHdhcm4gaWYKKwkgKiByb3V0ZSB3YXMgbm90IGZvdW5kLgorCSAq LwogCWZpYjZfZW50cnkgPSBtbHhzd19zcF9maWI2X2VudHJ5X2xvb2t1cChtbHhzd19zcCwgcnQp OwotCWlmIChXQVJOX09OKCFmaWI2X2VudHJ5KSkKKwlpZiAoIWZpYjZfZW50cnkpCiAJCXJldHVy bjsKIAogCS8qIElmIG5vdCBhbGwgdGhlIG5leHRob3BzIGFyZSBkZWxldGVkLCB0aGVuIG9ubHkg cmVkdWNlIHRoZSBuZXh0aG9wCi0tIAoyLjIwLjEKCgpGcm9tIDk1YjUzM2ZiMmI4YzRiZDJiYzYz Yjc1NWQ5Njc3ZDQyMTkwNjQwY2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEdyeWdv cmlpIFN0cmFzaGtvIDxncnlnb3JpaS5zdHJhc2hrb0B0aS5jb20+CkRhdGU6IE1vbiwgOSBEZWMg MjAxOSAxMzoxOToyNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMjddIG5ldDogZXRoZXJuZXQ6 IHRpOiBkYXZpbmNpX2NwZG1hOiBmaXggd2FybmluZyAiZGV2aWNlCiBkcml2ZXIgZnJlZXMgRE1B IG1lbW9yeSB3aXRoIGRpZmZlcmVudCBzaXplIgoKWyBVcHN0cmVhbSBjb21taXQgOGEyYjIyMjAz Zjg1OTY3MjljNTRlYmEyMjFiNDA0NDM1MWJmZTE2NyBdCgpUaGUgVEkgQ1BTVyhzKSBkcml2ZXIg cHJvZHVjZXMgd2FybmluZyB3aXRoIERNQSBBUEkgZGVidWcgb3B0aW9ucyBlbmFibGVkOgoKV0FS TklORzogQ1BVOiAwIFBJRDogMTAzMyBhdCBrZXJuZWwvZG1hL2RlYnVnLmM6MTAyNSBjaGVja191 bm1hcCsweDRhOC8weDk2OApETUEtQVBJOiBjcHN3IDQ4NDg0MDAwLmV0aGVybmV0OiBkZXZpY2Ug ZHJpdmVyIGZyZWVzIERNQSBtZW1vcnkgd2l0aCBkaWZmZXJlbnQgc2l6ZQogW2RldmljZSBhZGRy ZXNzPTB4MDAwMDAwMDBhYmM2YWEwMl0gW21hcCBzaXplPTY0IGJ5dGVzXSBbdW5tYXAgc2l6ZT00 MiBieXRlc10KQ1BVOiAwIFBJRDogMTAzMyBDb21tOiBwaW5nIE5vdCB0YWludGVkIDUuMy4wLWRp cnR5ICM0MQpIYXJkd2FyZSBuYW1lOiBHZW5lcmljIERSQTcyWCAoRmxhdHRlbmVkIERldmljZSBU cmVlKQpbPGMwMTEyYzYwPl0gKHVud2luZF9iYWNrdHJhY2UpIGZyb20gWzxjMDEwZDI3MD5dIChz aG93X3N0YWNrKzB4MTAvMHgxNCkKWzxjMDEwZDI3MD5dIChzaG93X3N0YWNrKSBmcm9tIFs8YzA5 YmM1NjQ+XSAoZHVtcF9zdGFjaysweGQ4LzB4MTEwKQpbPGMwOWJjNTY0Pl0gKGR1bXBfc3RhY2sp IGZyb20gWzxjMDEzYjkzYz5dIChfX3dhcm4rMHhlMC8weDEwYykKWzxjMDEzYjkzYz5dIChfX3dh cm4pIGZyb20gWzxjMDEzYjlhYz5dICh3YXJuX3Nsb3dwYXRoX2ZtdCsweDQ0LzB4NmMpCls8YzAx M2I5YWM+XSAod2Fybl9zbG93cGF0aF9mbXQpIGZyb20gWzxjMDFlMDM2OD5dIChjaGVja191bm1h cCsweDRhOC8weDk2OCkKWzxjMDFlMDM2OD5dIChjaGVja191bm1hcCkgZnJvbSBbPGMwMWUwOGE4 Pl0gKGRlYnVnX2RtYV91bm1hcF9wYWdlKzB4ODAvMHg5MCkKWzxjMDFlMDhhOD5dIChkZWJ1Z19k bWFfdW5tYXBfcGFnZSkgZnJvbSBbPGMwNzUyNDE0Pl0gKF9fY3BkbWFfY2hhbl9mcmVlKzB4MTE0 LzB4MTZjKQpbPGMwNzUyNDE0Pl0gKF9fY3BkbWFfY2hhbl9mcmVlKSBmcm9tIFs8YzA3NTI1YzQ+ XSAoX19jcGRtYV9jaGFuX3Byb2Nlc3MrMHgxNTgvMHgxN2MpCls8YzA3NTI1YzQ+XSAoX19jcGRt YV9jaGFuX3Byb2Nlc3MpIGZyb20gWzxjMDc1MzY5MD5dIChjcGRtYV9jaGFuX3Byb2Nlc3MrMHgz Yy8weDVjKQpbPGMwNzUzNjkwPl0gKGNwZG1hX2NoYW5fcHJvY2VzcykgZnJvbSBbPGMwNzU4NjYw Pl0gKGNwc3dfdHhfbXFfcG9sbCsweDQ4LzB4OTQpCls8YzA3NTg2NjA+XSAoY3Bzd190eF9tcV9w b2xsKSBmcm9tIFs8YzA4MDMwMTg+XSAobmV0X3J4X2FjdGlvbisweDEwOC8weDRlNCkKWzxjMDgw MzAxOD5dIChuZXRfcnhfYWN0aW9uKSBmcm9tIFs8YzAxMDIzMGM+XSAoX19kb19zb2Z0aXJxKzB4 ZWMvMHg1OTgpCls8YzAxMDIzMGM+XSAoX19kb19zb2Z0aXJxKSBmcm9tIFs8YzAxNDM5MTQ+XSAo ZG9fc29mdGlycS5wYXJ0LjQrMHg2OC8weDc0KQpbPGMwMTQzOTE0Pl0gKGRvX3NvZnRpcnEucGFy dC40KSBmcm9tIFs8YzAxNDNhNDQ+XSAoX19sb2NhbF9iaF9lbmFibGVfaXArMHgxMjQvMHgxN2Mp Cls8YzAxNDNhNDQ+XSAoX19sb2NhbF9iaF9lbmFibGVfaXApIGZyb20gWzxjMDg3MTU5MD5dIChp cF9maW5pc2hfb3V0cHV0MisweDI5NC8weGI3YykKWzxjMDg3MTU5MD5dIChpcF9maW5pc2hfb3V0 cHV0MikgZnJvbSBbPGMwODc1NDQwPl0gKGlwX291dHB1dCsweDIxMC8weDM2NCkKWzxjMDg3NTQ0 MD5dIChpcF9vdXRwdXQpIGZyb20gWzxjMDg3NWUyYz5dIChpcF9zZW5kX3NrYisweDFjLzB4Zjgp Cls8YzA4NzVlMmM+XSAoaXBfc2VuZF9za2IpIGZyb20gWzxjMDhhN2ZkND5dIChyYXdfc2VuZG1z ZysweDlhOC8weGM3NCkKWzxjMDhhN2ZkND5dIChyYXdfc2VuZG1zZykgZnJvbSBbPGMwN2Q2Yjkw Pl0gKHNvY2tfc2VuZG1zZysweDE0LzB4MjQpCls8YzA3ZDZiOTA+XSAoc29ja19zZW5kbXNnKSBm cm9tIFs8YzA3ZDgyNjA+XSAoX19zeXNfc2VuZHRvKzB4YmMvMHgxMDApCls8YzA3ZDgyNjA+XSAo X19zeXNfc2VuZHRvKSBmcm9tIFs8YzAxMDExYWM+XSAoX19zeXNfdHJhY2VfcmV0dXJuKzB4MC8w eDE0KQpFeGNlcHRpb24gc3RhY2soMHhlYTlhN2ZhOCB0byAweGVhOWE3ZmYwKQouLi4KClRoZSBy ZWFzb24gaXMgdGhhdCBjcGRtYV9jaGFuX3N1Ym1pdF9zaSgpIG5vdyBzdG9yZXMgb3JpZ2luYWwg YnVmZmVyIGxlbmd0aAooc3dfbGVuKSBpbiBDUERNQSBkZXNjcmlwdG9yIGluc3RlYWQgb2YgYWRq dXN0ZWQgYnVmZmVyIGxlbmd0aCAoaHdfbGVuKQp1c2VkIHRvIG1hcCB0aGUgYnVmZmVyLgoKSGVu Y2UsIGZpeCBhbiBpc3N1ZSBieSBwYXNzaW5nIGNvcnJlY3QgYnVmZmVyIGxlbmd0aCBpbiBDUERN QSBkZXNjcmlwdG9yLgoKQ2M6IEl2YW4gS2hvcm9uemh1ayA8aXZhbi5raG9yb256aHVrQGxpbmFy by5vcmc+CkZpeGVzOiA2NjcwYWNhY2Q1OWUgKCJuZXQ6IGV0aGVybmV0OiB0aTogZGF2aW5jaV9j cGRtYTogYWRkIGRtYSBtYXBwZWQgc3VibWl0IikKU2lnbmVkLW9mZi1ieTogR3J5Z29yaWkgU3Ry YXNoa28gPGdyeWdvcmlpLnN0cmFzaGtvQHRpLmNvbT4KUmV2aWV3ZWQtYnk6IEl2YW4gS2hvcm9u emh1ayA8aXZhbi5raG9yb256aHVrQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC90 aS9kYXZpbmNpX2NwZG1hLmMgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Rp L2RhdmluY2lfY3BkbWEuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2RhdmluY2lfY3BkbWEu YwppbmRleCAzN2JhNzA4YWM3ODEuLjY2MTRmYTMwODliMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvdGkvZGF2aW5jaV9jcGRtYS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3RpL2RhdmluY2lfY3BkbWEuYwpAQCAtMTAxOCw3ICsxMDE4LDYgQEAgc3RhdGljIGludCBjcGRt YV9jaGFuX3N1Ym1pdF9zaShzdHJ1Y3Qgc3VibWl0X2luZm8gKnNpKQogCXN0cnVjdCBjcGRtYV9j aGFuCQkqY2hhbiA9IHNpLT5jaGFuOwogCXN0cnVjdCBjcGRtYV9jdGxyCQkqY3RsciA9IGNoYW4t PmN0bHI7CiAJaW50CQkJCWxlbiA9IHNpLT5sZW47Ci0JaW50CQkJCXN3bGVuID0gbGVuOwogCXN0 cnVjdCBjcGRtYV9kZXNjIF9faW9tZW0JKmRlc2M7CiAJZG1hX2FkZHJfdAkJCWJ1ZmZlcjsKIAl1 MzIJCQkJbW9kZTsKQEAgLTEwNDYsNyArMTA0NSw2IEBAIHN0YXRpYyBpbnQgY3BkbWFfY2hhbl9z dWJtaXRfc2koc3RydWN0IHN1Ym1pdF9pbmZvICpzaSkKIAlpZiAoc2ktPmRhdGFfZG1hKSB7CiAJ CWJ1ZmZlciA9IHNpLT5kYXRhX2RtYTsKIAkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY3Rs ci0+ZGV2LCBidWZmZXIsIGxlbiwgY2hhbi0+ZGlyKTsKLQkJc3dsZW4gfD0gQ1BETUFfRE1BX0VY VF9NQVA7CiAJfSBlbHNlIHsKIAkJYnVmZmVyID0gZG1hX21hcF9zaW5nbGUoY3Rsci0+ZGV2LCBz aS0+ZGF0YV92aXJ0LCBsZW4sIGNoYW4tPmRpcik7CiAJCXJldCA9IGRtYV9tYXBwaW5nX2Vycm9y KGN0bHItPmRldiwgYnVmZmVyKTsKQEAgLTEwNjUsNyArMTA2Myw4IEBAIHN0YXRpYyBpbnQgY3Bk bWFfY2hhbl9zdWJtaXRfc2koc3RydWN0IHN1Ym1pdF9pbmZvICpzaSkKIAl3cml0ZWxfcmVsYXhl ZChtb2RlIHwgbGVuLCAmZGVzYy0+aHdfbW9kZSk7CiAJd3JpdGVsX3JlbGF4ZWQoKHVpbnRwdHJf dClzaS0+dG9rZW4sICZkZXNjLT5zd190b2tlbik7CiAJd3JpdGVsX3JlbGF4ZWQoYnVmZmVyLCAm ZGVzYy0+c3dfYnVmZmVyKTsKLQl3cml0ZWxfcmVsYXhlZChzd2xlbiwgJmRlc2MtPnN3X2xlbik7 CisJd3JpdGVsX3JlbGF4ZWQoc2ktPmRhdGFfZG1hID8gbGVuIHwgQ1BETUFfRE1BX0VYVF9NQVAg OiBsZW4sCisJCSAgICAgICAmZGVzYy0+c3dfbGVuKTsKIAlkZXNjX3JlYWQoZGVzYywgc3dfbGVu KTsKIAogCV9fY3BkbWFfY2hhbl9zdWJtaXQoY2hhbiwgZGVzYyk7Ci0tIAoyLjIwLjEKCgpGcm9t IGNiZjRlNGQzZGIwMWFhNWFiMjdkMWViNDEwMWM4YWUyZjcyNmMxZDMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IFBhZG1hbmFiaGFuIFJhamFuYmFidSA8cC5yYWphbmJhYnVAc2Ftc3Vu Zy5jb20+CkRhdGU6IFRodSwgMTkgRGVjIDIwMTkgMTU6NDc6MDEgKzA1MzAKU3ViamVjdDogW1BB VENIIDI1LzI3XSBuZXQ6IHN0bW1hYzogcGxhdGZvcm06IEZpeCBNRElPIGluaXQgZm9yIHBsYXRm b3Jtcwogd2l0aG91dCBQSFkKClsgVXBzdHJlYW0gY29tbWl0IGQzZTAxNGVjN2Q1ZWJlOTY0NGI1 NDg2YmM1MzBiOTFlNjJiYmY2MjQgXQoKVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgInN0 bW1hY19kdF9waHkiIGZ1bmN0aW9uIGluaXRpYWxpemVzCnRoZSBNRElPIHBsYXRmb3JtIGJ1cyBk YXRhLCBldmVuIGluIHRoZSBhYnNlbmNlIG9mIFBIWS4gVGhpcyBmaXgKd2lsbCBza2lwIE1ESU8g aW5pdGlhbGl6YXRpb24gaWYgdGhlcmUgaXMgbm8gUEhZIHByZXNlbnQuCgpGaXhlczogNzQzNzEy NyAoIm5ldDogc3RtbWFjOiBDb252ZXJ0IHRvIHBoeWxpbmsgYW5kIHJlbW92ZSBwaHlsaWIgbG9n aWMiKQpBY2tlZC1ieTogSmF5YXRpIFNhaHUgPGpheWF0aS5zYWh1QHNhbXN1bmcuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTcmlyYW0gRGFzaCA8c3JpcmFtLmRhc2hAc2Ftc3VuZy5jb20+ClNpZ25lZC1v ZmYtYnk6IFBhZG1hbmFiaGFuIFJhamFuYmFidSA8cC5yYWphbmJhYnVAc2Ftc3VuZy5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGxhdGZvcm0uYyB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wbGF0Zm9y bS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BsYXRmb3Jt LmMKaW5kZXggMTcwYzNhMDUyYjE0Li4xZjIzMGJkODU0YzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wbGF0Zm9ybS5jCisrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wbGF0Zm9ybS5jCkBAIC0zMjAs NyArMzIwLDcgQEAgc3RhdGljIGludCBzdG1tYWNfbXRsX3NldHVwKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYsCiBzdGF0aWMgaW50IHN0bW1hY19kdF9waHkoc3RydWN0IHBsYXRfc3RtbWFj ZW5ldF9kYXRhICpwbGF0LAogCQkJIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIHN0cnVjdCBkZXZp Y2UgKmRldikKIHsKLQlib29sIG1kaW8gPSB0cnVlOworCWJvb2wgbWRpbyA9IGZhbHNlOwogCXN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG5lZWRfbWRpb19pZHNbXSA9IHsKIAkJeyAu Y29tcGF0aWJsZSA9ICJzbnBzLGR3Yy1xb3MtZXRoZXJuZXQtNC4xMCIgfSwKIAkJe30sCi0tIAoy LjIwLjEKCgpGcm9tIDgzMzgyZjUzMmMyMzE2ZjhkMWE2Y2U5N2Q4ZTk4YTYzZmZkMjY4NTMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlA Z21haWwuY29tPgpEYXRlOiBGcmksIDEzIERlYyAyMDE5IDEyOjAwOjI3IC0wODAwClN1YmplY3Q6 IFtQQVRDSCAyNi8yN10gbmV0OiBkc2E6IGI1MzogRml4IGVncmVzcyBmbG9vZGluZyBzZXR0aW5n cwoKWyBVcHN0cmVhbSBjb21taXQgNjNjYzU0YTZmMDczNmE0MzJiMDQzMDhhNzQ2NzdhYjBiYThh NThlZSBdCgpUaGVyZSB3ZXJlIHNldmVyYWwgaXNzdWVzIHdpdGggNTM1Njg0MzhlMzgxICgibmV0 OiBkc2E6IGI1MzogQWRkIHN1cHBvcnQgZm9yIHBvcnRfZWdyZXNzX2Zsb29kcyBjYWxsYmFjayIp IHRoYXQgcmVzdWx0ZWQgaW4gYnJlYWtpbmcgY29ubmVjdGl2aXR5IGZvciBzdGFuZGFsb25lIHBv cnRzOgoKLSBib3RoIHVzZXIgYW5kIENQVSBwb3J0cyBtdXN0IGFsbG93IHVuaWNhc3QgYW5kIG11 bHRpY2FzdCBmb3J3YXJkaW5nIGJ5CiAgZGVmYXVsdCBvdGhlcndpc2UgdGhpcyBqdXN0IGZsYXQg b3V0IGJyZWFrcyBjb25uZWN0aXZpdHkgZm9yCiAgc3RhbmRhbG9uZSBEU0EgcG9ydHMKLSBJUCBt dWx0aWNhc3QgaXMgdHJlYXRlZCBzaW1pbGFybHkgYXMgbXVsdGljYXN0LCBidXQgaGFzIHNlcGFy YXRlCiAgY29udHJvbCByZWdpc3RlcnMKLSB0aGUgVUMsIE1DIGFuZCBJUE1DIGxvb2t1cCBmYWls dXJlIHJlZ2lzdGVyIG9mZnNldHMgd2VyZSB3cm9uZywgYW5kCiAgaW5zdGVhZCB1c2VkIGJpdCB2 YWx1ZXMgdGhhdCBhcmUgbWVhbmluZ2Z1bCBmb3IgdGhlCiAgQjUzX0lQX01VTFRJQ0FTVF9DVFJM IHJlZ2lzdGVyCgpGaXhlczogNTM1Njg0MzhlMzgxICgibmV0OiBkc2E6IGI1MzogQWRkIHN1cHBv cnQgZm9yIHBvcnRfZWdyZXNzX2Zsb29kcyBjYWxsYmFjayIpClNpZ25lZC1vZmYtYnk6IEZsb3Jp YW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogVml2aWVuIERp ZGVsb3QgPHZpdmllbi5kaWRlbG90QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9iNTMvYjUz X2NvbW1vbi5jIHwgMjEgKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9k c2EvYjUzL2I1M19jb21tb24uYyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2NvbW1vbi5jCmlu ZGV4IGNjMzUzNjMxNWVmZi4uYTcxMzJjMTU5M2MzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9k c2EvYjUzL2I1M19jb21tb24uYworKysgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21tb24u YwpAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRpYyB2b2lkIGI1M19zZXRfZm9yd2FyZGluZyhzdHJ1 Y3QgYjUzX2RldmljZSAqZGV2LCBpbnQgZW5hYmxlKQogCSAqIGZyYW1lcyBzaG91bGQgYmUgZmxv b2RlZCBvciBub3QuCiAJICovCiAJYjUzX3JlYWQ4KGRldiwgQjUzX0NUUkxfUEFHRSwgQjUzX0lQ X01VTFRJQ0FTVF9DVFJMLCAmbWdtdCk7Ci0JbWdtdCB8PSBCNTNfVUNfRldEX0VOIHwgQjUzX01D X0ZXRF9FTjsKKwltZ210IHw9IEI1M19VQ19GV0RfRU4gfCBCNTNfTUNfRldEX0VOIHwgQjUzX0lQ TUNfRldEX0VOOwogCWI1M193cml0ZTgoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfSVBfTVVMVElD QVNUX0NUUkwsIG1nbXQpOwogfQogCkBAIC01MjYsNiArNTI2LDggQEAgaW50IGI1M19lbmFibGVf cG9ydChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCBzdHJ1Y3QgcGh5X2RldmljZSAq cGh5KQogCiAJY3B1X3BvcnQgPSBkcy0+cG9ydHNbcG9ydF0uY3B1X2RwLT5pbmRleDsKIAorCWI1 M19icl9lZ3Jlc3NfZmxvb2RzKGRzLCBwb3J0LCB0cnVlLCB0cnVlKTsKKwogCWlmIChkZXYtPm9w cy0+aXJxX2VuYWJsZSkKIAkJcmV0ID0gZGV2LT5vcHMtPmlycV9lbmFibGUoZGV2LCBwb3J0KTsK IAlpZiAocmV0KQpAQCAtNjQxLDYgKzY0Myw4IEBAIHN0YXRpYyB2b2lkIGI1M19lbmFibGVfY3B1 X3BvcnQoc3RydWN0IGI1M19kZXZpY2UgKmRldiwgaW50IHBvcnQpCiAJYjUzX3dyaXRlOChkZXYs IEI1M19DVFJMX1BBR0UsIEI1M19QT1JUX0NUUkwocG9ydCksIHBvcnRfY3RybCk7CiAKIAliNTNf YnJjbV9oZHJfc2V0dXAoZGV2LT5kcywgcG9ydCk7CisKKwliNTNfYnJfZWdyZXNzX2Zsb29kcyhk ZXYtPmRzLCBwb3J0LCB0cnVlLCB0cnVlKTsKIH0KIAogc3RhdGljIHZvaWQgYjUzX2VuYWJsZV9t aWIoc3RydWN0IGI1M19kZXZpY2UgKmRldikKQEAgLTE3NjYsMTkgKzE3NzAsMjYgQEAgaW50IGI1 M19icl9lZ3Jlc3NfZmxvb2RzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCiAJc3Ry dWN0IGI1M19kZXZpY2UgKmRldiA9IGRzLT5wcml2OwogCXUxNiB1YywgbWM7CiAKLQliNTNfcmVh ZDE2KGRldiwgQjUzX0NUUkxfUEFHRSwgQjUzX1VDX0ZXRF9FTiwgJnVjKTsKKwliNTNfcmVhZDE2 KGRldiwgQjUzX0NUUkxfUEFHRSwgQjUzX1VDX0ZMT09EX01BU0ssICZ1Yyk7CiAJaWYgKHVuaWNh c3QpCiAJCXVjIHw9IEJJVChwb3J0KTsKIAllbHNlCiAJCXVjICY9IH5CSVQocG9ydCk7Ci0JYjUz X3dyaXRlMTYoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfVUNfRldEX0VOLCB1Yyk7CisJYjUzX3dy aXRlMTYoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfVUNfRkxPT0RfTUFTSywgdWMpOworCisJYjUz X3JlYWQxNihkZXYsIEI1M19DVFJMX1BBR0UsIEI1M19NQ19GTE9PRF9NQVNLLCAmbWMpOworCWlm IChtdWx0aWNhc3QpCisJCW1jIHw9IEJJVChwb3J0KTsKKwllbHNlCisJCW1jICY9IH5CSVQocG9y dCk7CisJYjUzX3dyaXRlMTYoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfTUNfRkxPT0RfTUFTSywg bWMpOwogCi0JYjUzX3JlYWQxNihkZXYsIEI1M19DVFJMX1BBR0UsIEI1M19NQ19GV0RfRU4sICZt Yyk7CisJYjUzX3JlYWQxNihkZXYsIEI1M19DVFJMX1BBR0UsIEI1M19JUE1DX0ZMT09EX01BU0ss ICZtYyk7CiAJaWYgKG11bHRpY2FzdCkKIAkJbWMgfD0gQklUKHBvcnQpOwogCWVsc2UKIAkJbWMg Jj0gfkJJVChwb3J0KTsKLQliNTNfd3JpdGUxNihkZXYsIEI1M19DVFJMX1BBR0UsIEI1M19NQ19G V0RfRU4sIG1jKTsKKwliNTNfd3JpdGUxNihkZXYsIEI1M19DVFJMX1BBR0UsIEI1M19JUE1DX0ZM T09EX01BU0ssIG1jKTsKIAogCXJldHVybiAwOwogCi0tIAoyLjIwLjEKCgpGcm9tIDcxNmI0OWU5 YjkwZjNhM2IwMTRhYTkwYjAzOWI1MDdmMmRmOGE1NmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFN0ZXBoYW4gR2VyaG9sZCA8c3RlcGhhbkBnZXJob2xkLm5ldD4KRGF0ZTogTW9uLCA5 IERlYyAyMDE5IDE5OjUzOjQzICswMTAwClN1YmplY3Q6IFtQQVRDSCAyNy8yN10gTkZDOiBueHAt bmNpOiBGaXggcHJvYmluZyB3aXRob3V0IEFDUEkKClsgVXBzdHJlYW0gY29tbWl0IDg2OGFmYmFj YTFlMmE3OTIzZTQ4YjVlOGMwN2JlMzQ2NjA1MjVkYjUgXQoKZGV2bV9hY3BpX2Rldl9hZGRfZHJp dmVyX2dwaW9zKCkgcmV0dXJucyAtRU5YSU8gaWYgQ09ORklHX0FDUEkKaXMgZGlzYWJsZWQgKGUu Zy4gb24gZGV2aWNlIHRyZWUgcGxhdGZvcm1zKS4KSW4gdGhpcyBjYXNlLCBueHAtbmNpIHdpbGwg c2lsZW50bHkgZmFpbCB0byBwcm9iZS4KClRoZSBvdGhlciBORkMgZHJpdmVycyBvbmx5IGxvZyBh IGRlYnVnIG1lc3NhZ2UgaWYKZGV2bV9hY3BpX2Rldl9hZGRfZHJpdmVyX2dwaW9zKCkgZmFpbHMu CkRvIHRoZSBzYW1lIGluIG54cC1uY2kgdG8gZml4IHRoaXMgcHJvYmxlbS4KCkZpeGVzOiBhZDBh Y2ZkNjlhZGQgKCJORkM6IG54cC1uY2k6IEdldCByaWQgb2YgY29kZSBkdXBsaWNhdGlvbiBpbiAt PnByb2JlKCkiKQpDYzogQW5keSBTaGV2Y2hlbmtvIDxhbmRyaXkuc2hldmNoZW5rb0BsaW51eC5p bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZXBoYW4gR2VyaG9sZCA8c3RlcGhhbkBnZXJob2xk Lm5ldD4KQWNrZWQtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmZjL254cC1uY2kvaTJjLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25mYy9ueHAt bmNpL2kyYy5jIGIvZHJpdmVycy9uZmMvbnhwLW5jaS9pMmMuYwppbmRleCA0ZDE5MDlhZWNkNmMu LjlmNjBlNGRjNWE5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZmMvbnhwLW5jaS9pMmMuYworKysg Yi9kcml2ZXJzL25mYy9ueHAtbmNpL2kyYy5jCkBAIC0yNzgsNyArMjc4LDcgQEAgc3RhdGljIGlu dCBueHBfbmNpX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogCiAJciA9IGRl dm1fYWNwaV9kZXZfYWRkX2RyaXZlcl9ncGlvcyhkZXYsIGFjcGlfbnhwX25jaV9ncGlvcyk7CiAJ aWYgKHIpCi0JCXJldHVybiByOworCQlkZXZfZGJnKGRldiwgIlVuYWJsZSB0byBhZGQgR1BJTyBt YXBwaW5nIHRhYmxlXG4iKTsKIAogCXBoeS0+Z3Bpb2RfZW4gPSBkZXZtX2dwaW9kX2dldChkZXYs ICJlbmFibGUiLCBHUElPRF9PVVRfTE9XKTsKIAlpZiAoSVNfRVJSKHBoeS0+Z3Bpb2RfZW4pKSB7 Ci0tIAoyLjIwLjEKCg== ----Next_Part(Sat_Dec_28_00_14_42_2019_334)----