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 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 87B59C5B552 for ; Tue, 10 Jun 2025 17:37:45 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uP2uJ-0003yQ-7a; Tue, 10 Jun 2025 13:37:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uP2uH-0003yF-Aw for grub-devel@gnu.org; Tue, 10 Jun 2025 13:37:05 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uP2uD-0005n5-EY for grub-devel@gnu.org; Tue, 10 Jun 2025 13:37:04 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55AFegKS031658; Tue, 10 Jun 2025 17:36:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=lIOy8B rQ/5hyK3lh6DP4kQUZYJrYl8bivRuXaAIPnQ8=; b=Si0VlPu7j/b7cwlmnpHDPb G3yUhm7vLMozv5mdeLH4K3TCs/aCMiSmoGDpyyRdsNynQsF4GIFVckDcQsoY00iV cEIWg5vlGL3dVaEH6BKa8egi06QmaiRV+ryjZROa4zjTccwdCdi90MHO3gAx65r4 MbL6wV07Wn2YcAoCs6pjbDp2NZqj0rcCx/MPDY+BdD4RZ4Y582UtQkRhx5iYsFAW CF1g6D5uL0AQ39jmQLB3sOP8Jklh0oHsMUNJu/EkQRSSmD3tYarXTi6XHIkBGCyw lZs/m1GbERKo3cObUks34WqM0MGnzn/qSdygkys4qyWsttteGcOJmMIBYkaNwWIw == Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 474x4m508r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 10 Jun 2025 17:36:58 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 55AEpn95019594; Tue, 10 Jun 2025 17:36:58 GMT Received: from smtprelay04.wdc07v.mail.ibm.com ([172.16.1.71]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4752f2b94e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 10 Jun 2025 17:36:58 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay04.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 55AHavVQ34734822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jun 2025 17:36:57 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F162858058; Tue, 10 Jun 2025 17:36:56 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id AD4F658057; Tue, 10 Jun 2025 17:36:56 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTP; Tue, 10 Jun 2025 17:36:56 +0000 (GMT) MIME-Version: 1.0 Date: Tue, 10 Jun 2025 23:06:56 +0530 From: sudhakar To: The development of GNU GRUB Cc: =?UTF-8?Q?Renaud_M=C3=A9trich?= , dkiper@net-space.pl Subject: Re: [PATCH v7] efi: new 'connectefi' command In-Reply-To: <20250610095425.94193-1-rmetrich@redhat.com> References: <20250610095425.94193-1-rmetrich@redhat.com> Message-ID: <210f20e9d64b87ca2daf4d262d8174fa@linux.ibm.com> X-Sender: sudhakar@linux.ibm.com X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=Y4X4sgeN c=1 sm=1 tr=0 ts=68486d3a cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=mDV3o1hIAAAA:8 a=20KFwNOVAAAA:8 a=tVho-nWiykhT8Xx81DIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: EfRMCOeMOR3EDHXMKAEu9g3daHdSRAg3 X-Proofpoint-ORIG-GUID: EfRMCOeMOR3EDHXMKAEu9g3daHdSRAg3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjEwMDE0MCBTYWx0ZWRfX5uVAHCUORoyp 0+PUQiugf6D0lYpnH3MMoGXScivDJMptbVzbDUeEQtrJXHWmi3MZRjx0edhs6l++ba+VmLoSid4 jkfjTCBKwqu8gGEi4fm/4L+GJrL1A+VyC2LsgkyqEVMo+3LYyLdBFZw50KqPRs2TSMVYLLhJwAC ZDU+FnFZ3IS8QRRxA8GJtdsZ1QiaVpFwppddTnfA/ggkahisiafB8u6u+yrE4Ojba1S5cUb6So1 IY5PvpMKCgAqWFcpSug5J4po9p8iyGPhN2RM2NG1O/8N7NfDqJLXhmoqZFO0RCrsRAlvaYYhTqe uOY3cP1kQx5+ED9hlZI5DBxMDGBYl2oDbhLQC3/h0XcIUUm34KYK3VI86NMKpVO8AdTic/p0cbA dEaW3mbyo+L/dk/Iv5Vdk1/YpbVmc8QgKRme1wbQBWrFT7dwkyAlAREKGjEKCICt/2eo177/ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-10_08,2025-06-10_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 spamscore=0 clxscore=1011 lowpriorityscore=0 malwarescore=0 bulkscore=0 adultscore=0 impostorscore=0 suspectscore=0 phishscore=0 mlxscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506100140 Received-SPF: pass client-ip=148.163.158.5; envelope-from=sudhakar@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org T24gMjAyNS0wNi0xMCAxNToyNCwgUmVuYXVkIE3DqXRyaWNoIHZpYSBHcnViLWRldmVsIHdyb3Rl Ogo+IFdoZW4gbmV0d29yayBib290aW5nIGlzIHVzZWQsIHRyeWluZyB0byBjaGFpbmxvYWQgdG8g dGhlIGxvY2FsIGRpc2sKPiAod2hpY2ggaXMgdXNlZCBpbiBkZXBsb3ltZW50IHRvb2xzIHN1Y2gg YXMgUmVkIEhhdCBTYXRlbGxpdGUpIG1heSBmYWlsCj4gd2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBi b290IGxvYWRlciwgZS5nLiAvRUZJL3JlZGhhdC9zaGlteDY0LmVmaToKPiB0aGUgYm9vdCBsb2Fk ZXIgZmlsZSBpcyBsaXN0ZWQsIGJ1dCBub3QgcmVhZGFibGUsIGJlY2F1c2UgVUVGSSBESVNLIEkv Two+IGFuZC9vciBTQ1NJIERJU0sgSS9PIGRldmljZXMgYXJlIG5vdCBjb25uZWN0ZWQuCj4gU29t ZXRpbWVzIGRldmljZXMgYXJlIGNvbm5lY3RlZCBidXQgbm90IHRoZSBwYXJ0aXRpb24gb2YgdGhl IGRpc2sKPiBtYXRjaGluZyAkcHJlZml4LCBjYXVzaW5nIHBhcnRpdGlvbiB0byBub3QgYmUgZm91 bmQgYnkiY2hhaW5sb2FkZXIiLgo+IAo+IFRoaXMgaXNzdWUgd2FzIHNlZW4gYWxyZWFkeSBvbjoK PiAtIFZNV2FyZSBzeXN0ZW1zIHdpdGggZWZpLnF1aWNrYm9vdCBlbmFibGVkICh3aGljaCBpcyB0 aGUgZGVmYXVsdCkKPiAtIFFFTVUvS1ZNIHdoZW4gbmV0d29yayBib290aW5nIGFuZCBub3QgZW5h YmxpbmcgYW55IGRpc2sKPiAtIFBoeXNpY2FsIGhhcmR3YXJlIHN1Y2ggYXMgQ2lzY28gYW5kIEhQ RSBzeXN0ZW1zCj4gCj4gVHlwaWNhbCBjaGFpbmxvYWQgY29uZmlndXJhdGlvbiB1c2VkOgo+IC0t LS0tLS0tIDg8IC0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLSA4PCAtLS0tLS0t LQo+IHVuc2V0IHByZWZpeAo+IHNlYXJjaCAtLWZpbGUgLS1zZXQ9cHJlZml4IC9FRkkvcmVkaGF0 L3NoaW14NjQuZWZpCj4gaWYgWyAtbiAiJHByZWZpeCIgXTsgdGhlbgo+ICAgY2hhaW5sb2FkZXIg KCRwcmVmaXgpL0VGSS9yZWRoYXQvc2hpbXg2NC5lZmkKPiAuLi4KPiAtLS0tLS0tLSA4PCAtLS0t LS0tLS0tLS0tLS0tIDg8IC0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0KPiAKPiBUaGlzIHBh dGNoIGludHJvZHVjZXMgYSBuZXcgImNvbm5lY3RlZmkgcGNpcm9vdHxkaXNrfGFsbCIgY29tbWFu ZCB3aGljaAo+IHJlY3Vyc2l2ZWx5IGNvbm5lY3RzIGFsbCBFRkkgZGV2aWNlcyBzdGFydGluZyBm cm9tIGEgZ2l2ZW4gY29udHJvbGxlcgo+IHR5cGU6Cj4gLSBpZiAncGNpcm9vdCcgaXMgc3BlY2lm aWVkLCByZWN1cnNpb24gaXMgcGVyZm9ybWVkIGZvciBhbGwgUENJIHJvb3QKPiAgIGhhbmRsZXMK PiAtIGlmICdkaXNrJyBpcyBzcGVjaWZpZWQsIHJlY3Vyc2lvbiBpcyBwZXJmb3JtZWQgZm9yIGFs bCBTQ1NJIGFuZCBESVNLCj4gICBJL08gaGFuZGxlcyAocmVjb21tZW5kZWQgdXNhZ2UgdG8gYXZv aWQgY29ubmVjdGluZyB1bndhbnRlZCBoYW5kbGVzCj4gICB3aGljaCBtYXkgaW1wYWN0IEdydWIg cGVyZm9ybWFuY2VzKQo+IC0gaWYgJ2FsbCcgaXMgc3BlY2lmaWVkLCByZWN1cnNpb24gaXMgcGVy Zm9ybWVkIG9uIGFsbCBoYW5kbGVzIChub3QKPiAgIHJlY29tbWVuZGVkIHNpbmNlIGl0IG1heSBo ZWF2aWx5IGltcGFjdCBHcnViIHBlcmZvcm1hbmNlcykKPiAKPiBUeXBpY2FsIGdydWIuY2ZnIHNu aXBwZXQgd291bGQgdGhlbiBiZToKPiAtLS0tLS0tLSA4PCAtLS0tLS0tLS0tLS0tLS0tIDg8IC0t LS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0KPiBjb25uZWN0ZWZpIGRpc2sKPiB1bnNldCBwcmVm aXgKPiBzZWFyY2ggLS1maWxlIC0tc2V0PXByZWZpeCAvRUZJL3JlZGhhdC9zaGlteDY0LmVmaQo+ IGlmIFsgLW4gIiRwcmVmaXgiIF07IHRoZW4KPiAgIGNoYWlubG9hZGVyICgkcHJlZml4KS9FRkkv cmVkaGF0L3NoaW14NjQuZWZpCj4gLi4uCj4gLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLSA4 PCAtLS0tLS0tLS0tLS0tLS0tIDg8IC0tLS0tLS0tCj4gCj4gVGhlIGNvZGUgaXMgZWFzaWx5IGV4 dGVuc2libGUgdG8gaGFuZGxlIG90aGVyIGFyZ3VtZW50cyBpbiB0aGUgZnV0dXJlIAo+IGlmCj4g bmVlZGVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFJlbmF1ZCBNw6l0cmljaCA8cm1ldHJpY2hAcmVk aGF0LmNvbT4KPiAtLS0KPiAgZG9jcy9ncnViLnRleGkgICAgICAgICAgICAgICAgICAgICAgfCAg MzMgKysrKwo+ICBncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYgICAgICAgICB8ICAgNiArCj4g IGdydWItY29yZS9jb21tYW5kcy9lZmkvY29ubmVjdGVmaS5jIHwgMjMzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiAgZ3J1Yi1jb3JlL2NvbW1hbmRzL2VmaS9sc2VmaS5jICAgICAgfCAg IDUgKy0KPiAgZ3J1Yi1jb3JlL2Rpc2svZWZpL2VmaWRpc2suYyAgICAgICAgfCAgMTUgKy0KPiAg Z3J1Yi1jb3JlL2tlcm4vZWZpL2VmaS5jICAgICAgICAgICAgfCAgIDIgKy0KPiAgaW5jbHVkZS9n cnViL2VmaS9hcGkuaCAgICAgICAgICAgICAgfCAgIDIgKy0KPiAgaW5jbHVkZS9ncnViL2VmaS9k aXNrLmggICAgICAgICAgICAgfCAgIDIgKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDI5MyBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2Nv bW1hbmRzL2VmaS9jb25uZWN0ZWZpLmMKPiAKPiBkaWZmIC0tZ2l0IGEvZG9jcy9ncnViLnRleGkg Yi9kb2NzL2dydWIudGV4aQo+IGluZGV4IDM0YjM0ODRkYy4uM2I4YjA1ZmNhIDEwMDY0NAo+IC0t LSBhL2RvY3MvZ3J1Yi50ZXhpCj4gKysrIGIvZG9jcy9ncnViLnRleGkKPiBAQCAtMzkxOCw2ICsz OTE4LDcgQEAgTW9kdWxlcyBjYW4gYmUgbG9hZGVkIHZpYSB0aGUgQGNvbW1hbmR7aW5zbW9kfQo+ IChAcHhyZWZ7aW5zbW9kfSkgY29tbWFuZC4KPiAgKiBjbXBfbW9kdWxlOjoKPiAgKiBjbXBfdGVz dF9tb2R1bGU6Ogo+ICAqIGNvbmZpZ2ZpbGVfbW9kdWxlOjoKPiArKiBjb25uZWN0ZWZpX21vZHVs ZTo6Cj4gICogY3Bpb19tb2R1bGU6Ogo+ICAqIGNwaW9fYmVfbW9kdWxlOjoKPiAgKiBjcHVpZF9t b2R1bGU6Ogo+IEBAIC00NDEzLDYgKzQ0MTQsMTQgQEAgVGhpcyBtb2R1bGUgcHJvdmlkZXMgc3Vw cG9ydCBmb3IgdGhlIGNvbW1hbmRzOgo+IEBjb21tYW5ke2NvbmZpZ2ZpbGV9LAo+ICBAY29tbWFu ZHtleHRyYWN0X2VudHJpZXNfY29uZmlnZmlsZX0sIEBjb21tYW5key59IChkb3QgY29tbWFuZCku Cj4gIEB4cmVme2NvbmZpZ2ZpbGV9IC8gQHB4cmVme3NvdXJjZX0uCj4gCj4gK0Bub2RlIGNvbm5l Y3RlZmlfbW9kdWxlCj4gK0BzZWN0aW9uIGNvbm5lY3RlZmkKPiArVGhpcyBtb2R1bGUgcHJvdmlk ZXMgc3VwcG9ydCBmb3IgdGhlIEBjb21tYW5ke2Nvbm5lY3RlZml9IGNvbW1hbmQuIAo+IFRoaXMg Y29tbWFuZAo+ICtjYW4gYmUgdXNlZCBvbiBFRkkgcGxhdGZvcm1zIHRvIGNvbm5lY3QgU0NTSSBJ L08gYW5kIERJU0sgSS9PIEVGSSAKPiBoYW5kbGVzLAo+ICt3aGljaCBtYXkgYmUgcmVxdWlyZWQg d2hlbiBjaGFpbmxvYWRpbmcgdG8gdGhlIGRpc2sgYWZ0ZXIgYm9vdGluZyBmcm9tIAo+IHRoZQo+ ICtuZXR3b3JrLCBvciBmcm9tIG9uZSBkaXNrIHRvIGFub3RoZXIgZm9yIGV4YW1wbGUuCj4gK0Bw eHJlZntjaGFpbmxvYWRlcn0gLyBAcHhyZWZ7Y29ubmVjdGVmaX0gZm9yIG1vcmUgaW5mb3JtYXRp b24uCj4gKwo+ICBAbm9kZSBjcGlvX21vZHVsZQo+ICBAc2VjdGlvbiBjcGlvCj4gIFRoaXMgbW9k dWxlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBDUElPIGFyY2hpdmUgZmlsZSBmb3JtYXQuIFRo aXMgCj4gbW9kdWxlIGlzCj4gQEAgLTYxNDcsNiArNjE1NiwxMSBAQCBpbWFnZS4KPiAgSWYgeW91 IHNwZWNpZnkgdGhlIG9wdGlvbiBAb3B0aW9uey0tZm9yY2V9LCB0aGVuIGxvYWQgQHZhcntmaWxl fSAKPiBmb3JjaWJseSwKPiAgd2hldGhlciBpdCBoYXMgYSBjb3JyZWN0IHNpZ25hdHVyZSBvciBu b3QuIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiB5b3UgCj4gd2FudCB0bwo+ICBsb2FkIGEgZGVmZWN0 aXZlIGJvb3QgbG9hZGVyLCBzdWNoIGFzIFNDTyBVbml4V2FyZSA3LjEuCj4gKwo+ICtPbiBFRkkg cGxhdGZvcm1zLCB3aGVuIGluaXRpYWxseSBuZXR3b3JrIGJvb3RpbmcsIG9yIGJvb3RpbmcgZnJv bSAKPiBhbm90aGVyIGRpc2ssCj4gK2l0IG1heSBiZSByZXF1aXJlZCB0byBjb25uZWN0IHRoZSBF RkkgZGV2aWNlcyB1c2luZyAKPiBAY29tbWFuZHtjb25uZWN0ZWZpfQo+ICtjb21tYW5kIChAcHhy ZWZ7Y29ubmVjdGVmaX0pIHByaW9yIHRvIGNoYWlubG9hZGluZyB0byB0aGUgZGlzaywgCj4gb3Ro ZXJ3aXNlIG5vCj4gK2Rpc2sgbWF5IHNob3cgdXAgb3IgdGhlIEVGSSBwYXJ0aXRpb24gb24gdGhl IGRpc2sgbWF5IG5vdCBiZSByZWFkYWJsZS4KPiAgQGVuZCBkZWZmbgo+IAo+IAo+IEBAIC02NzE1 LDYgKzY3MjksMjUgQEAgYWZ0ZXIgQGNvbW1hbmR7Y29uZmlnZmlsZX0gcmV0dXJucy4KPiAgQGVu ZCBkZWZmbgo+IAo+IAo+ICtAbm9kZSBjb25uZWN0ZWZpCj4gK0BzdWJzZWN0aW9uIGNvbm5lY3Rl ZmkKPiArCj4gK0BkZWZmbiBDb21tYW5kIGNvbm5lY3RlZmkgcGNpcm9vdHxkaXNrfGFsbAo+ICtX aGVuIHVzZWQgd2l0aCBAc2FtcHtwY2lyb290fSBwYXJhbWV0ZXIsIGFsbCBQQ0kgZGV2aWNlcyBh cmUgCj4gcmVjdXJzaXZlbHkKPiArY29ubmVjdGVkLCB3aGljaCBtYXkgYmUgYSBzbG93IG9wZXJh dGlvbiwgZGVwZW5kaW5nIG9uIHRoZSBoYXJkd2FyZS4KPiArCj4gK1doZW4gdXNlZCB3aXRoIEBz YW1we2Rpc2t9IHBhcmFtZXRlciwgb25seSBTQ1NJIEkvTyBhbmQgRElTSyBJL08gCj4gZGV2aWNl cyBhcmUKPiArY29ubmVjdGVkOyB0aGlzIGlzIHRoZSByZWNvbW1lbmRlZCB1c2FnZSB3aGVuIGNo YWlubG9hZGluZyB0byBpbnRlcm5hbCAKPiBkaXNrLAo+ICt1bmxlc3Mgc29tZSBkaXNrcyBhcmUg bm90IGRldGVjdGVkIGFueXdheSwgaW4gc3VjaCBjYXNlIEBzYW1we2FsbH0gbWF5IAo+IGJlIHVz ZWQKPiArYW5kIGEgYnVnIGJlIHJlcG9ydGVkIHRvIGVuaGFuY2UgdGhlIGltcGxlbWVudGF0aW9u Lgo+ICsKPiArV2hlbiB1c2VkIHdpdGggQHNhbXB7YWxsfSBwYXJhbWV0ZXIsIGFsbCBFRkkgZGV2 aWNlcyBhcmUgcmVjdXJzaXZlbHkgCj4gY29ubmVjdGVkLAo+ICt3aGljaCBtYXkgYmUgYW4gZXh0 cmVtZWx5IHNsb3cgb3BlcmF0aW9uLCBkZXBlbmRpbmcgb24gdGhlIGhhcmR3YXJlLgo+ICsKPiAr Tm90ZTogVGhpcyBjb21tYW5kIGlzIG9ubHkgYXZhaWxhYmxlIG9uIEVGSSBwbGF0Zm9ybXMuCj4g K0BlbmQgZGVmZm4KPiArCj4gKwo+ICBAbm9kZSBjcHVpZAo+ICBAc3Vic2VjdGlvbiBjcHVpZAo+ IAo+IGRpZmYgLS1naXQgYS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYgYi9ncnViLWNvcmUv TWFrZWZpbGUuY29yZS5kZWYKPiBpbmRleCAyNGU4Yzg0MzcuLmRmYmQ2YzIyMSAxMDA2NDQKPiAt LS0gYS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYKPiArKysgYi9ncnViLWNvcmUvTWFrZWZp bGUuY29yZS5kZWYKPiBAQCAtODQwLDYgKzg0MCwxMiBAQCBtb2R1bGUgPSB7Cj4gICAgZW5hYmxl ID0gZWZpOwo+ICB9Owo+IAo+ICttb2R1bGUgPSB7Cj4gKyAgbmFtZSA9IGNvbm5lY3RlZmk7Cj4g KyAgZWZpID0gY29tbWFuZHMvZWZpL2Nvbm5lY3RlZmkuYzsKPiArICBlbmFibGUgPSBlZmk7Cj4g K307Cj4gKwo+ICBtb2R1bGUgPSB7Cj4gICAgbmFtZSA9IGJsb2NrbGlzdDsKPiAgICBjb21tb24g PSBjb21tYW5kcy9ibG9ja2xpc3QuYzsKPiBkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2NvbW1hbmRz L2VmaS9jb25uZWN0ZWZpLmMKPiBiL2dydWItY29yZS9jb21tYW5kcy9lZmkvY29ubmVjdGVmaS5j Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAuLjc4YzU4MTk0Ygo+IC0t LSAvZGV2L251bGwKPiArKysgYi9ncnViLWNvcmUvY29tbWFuZHMvZWZpL2Nvbm5lY3RlZmkuYwo+ IEBAIC0wLDAgKzEsMjMzIEBACj4gKy8qCj4gKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmllZCBC b290bG9hZGVyCj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMjUgIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgo+ICsgKgo+ICsgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCAKPiBieQo+ICsgKiAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKPiArICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gKyAq Cj4gKyAqICBHUlVCIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ICsgKiAgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiArICoKPiArICogIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gKyAqICBh bG9uZyB3aXRoIEdSVUIuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGdydWIvdHlwZXMuaD4KPiArI2luY2x1ZGUgPGdy dWIvbW0uaD4KPiArI2luY2x1ZGUgPGdydWIvbWlzYy5oPgo+ICsjaW5jbHVkZSA8Z3J1Yi9lZmkv YXBpLmg+Cj4gKyNpbmNsdWRlIDxncnViL2VmaS9wY2kuaD4KPiArI2luY2x1ZGUgPGdydWIvZWZp L2VmaS5oPgo+ICsjaW5jbHVkZSA8Z3J1Yi9jb21tYW5kLmg+Cj4gKyNpbmNsdWRlIDxncnViL2Vy ci5oPgo+ICsjaW5jbHVkZSA8Z3J1Yi9pMThuLmg+Cj4gKwo+ICtHUlVCX01PRF9MSUNFTlNFICgi R1BMdjMrIik7Cj4gKwo+ICtncnViX2VmaV9zdGF0dXNfdAo+ICtncnViX2VmaV9jb25uZWN0X2Nv bnRyb2xsZXIgKGdydWJfZWZpX2hhbmRsZV90IGNvbnRyb2xsZXJfaGFuZGxlLAo+ICsJCQkgICAg IGdydWJfZWZpX2hhbmRsZV90ICpkcml2ZXJfaW1hZ2VfaGFuZGxlLAo+ICsJCQkgICAgIGdydWJf ZWZpX2RldmljZV9wYXRoX3Byb3RvY29sX3QgKnJlbWFpbmluZ19kZXZpY2VfcGF0aCwKPiArCQkJ ICAgICBncnViX2VmaV9ib29sZWFuX3QgcmVjdXJzaXZlKQoKSGkgUmVuYXVkIE3DqXRyaWNoLAoK cGxlYXNlIGZpeCB0aGUgaW5kZW50YXRpb24gaXNzdWUgaGVyZS4gU29tZXRoaW5nIGxpa2UgdGhp cyBiZWxvdy4KCmdydWJfZWZpX2Nvbm5lY3RfY29udHJvbGxlciAoZ3J1Yl9lZmlfaGFuZGxlX3Qg Y29udHJvbGxlcl9oYW5kbGUsCgkJCSAgICAgZ3J1Yl9lZmlfaGFuZGxlX3QgKmRyaXZlcl9pbWFn ZV9oYW5kbGUsCgkJCSAgICAgZ3J1Yl9lZmlfZGV2aWNlX3BhdGhfcHJvdG9jb2xfdCAqcmVtYWlu aW5nX2RldmljZV9wYXRoLAoJCQkgICAgIGdydWJfZWZpX2Jvb2xlYW5fdCByZWN1cnNpdmUpCgo+ ICt7Cj4gKyAgZ3J1Yl9lZmlfYm9vdF9zZXJ2aWNlc190ICpiOwo+ICsKPiArICBiID0gZ3J1Yl9l Zmlfc3lzdGVtX3RhYmxlLT5ib290X3NlcnZpY2VzOwo+ICsgIHJldHVybiBlZmlfY2FsbF80IChi LT5jb25uZWN0X2NvbnRyb2xsZXIsIGNvbnRyb2xsZXJfaGFuZGxlLAo+ICsJCSAgICAgZHJpdmVy X2ltYWdlX2hhbmRsZSwgcmVtYWluaW5nX2RldmljZV9wYXRoLCByZWN1cnNpdmUpOwoKU29tZXRo aW5nIGxpa2UKCnJldHVybiBlZmlfY2FsbF80IChiLT5jb25uZWN0X2NvbnRyb2xsZXIsIGNvbnRy b2xsZXJfaGFuZGxlLAogICAgICAgICAgICAgICAgICAgIGRyaXZlcl9pbWFnZV9oYW5kbGUsIHJl bWFpbmluZ19kZXZpY2VfcGF0aCwgCnJlY3Vyc2l2ZSk7Cgo+ICt9Cj4gKwo+ICtzdHJ1Y3QgZ3J1 Yl9lZmlfaGFuZGxlX2xpc3QKPiArewo+ICsgIHN0cnVjdCBncnViX2VmaV9oYW5kbGVfbGlzdCAq bmV4dDsKPiArICBzdHJ1Y3QgZ3J1Yl9lZmlfaGFuZGxlX2xpc3QgKipwcmV2Owo+ICsgIGdydWJf ZWZpX2hhbmRsZV90IGhhbmRsZTsKPiArfTsKPiArCj4gK3R5cGVkZWYgc3RydWN0IGdydWJfZWZp X2hhbmRsZV9saXN0IGdydWJfZWZpX2hhbmRsZV9saXN0X3Q7Cj4gKwo+ICtzdGF0aWMgYm9vbAo+ ICtpc19pbl9saXN0IChncnViX2VmaV9oYW5kbGVfdCBoYW5kbGUsIGdydWJfZWZpX2hhbmRsZV9s aXN0X3QgKmhhbmRsZXMpCj4gK3sKPiArICBncnViX2VmaV9oYW5kbGVfbGlzdF90ICplOwo+ICsK PiArICBGT1JfTElTVF9FTEVNRU5UUyAoZSwgaGFuZGxlcykKPiArICAgIGlmIChlLT5oYW5kbGUg PT0gaGFuZGxlKQo+ICsgICAgICByZXR1cm4gdHJ1ZTsKPiArCj4gKyAgcmV0dXJuIGZhbHNlOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtmcmVlX2hhbmRsZV9saXN0IChncnViX2VmaV9oYW5k bGVfbGlzdF90ICoqaGFuZGxlc19wKQo+ICt7Cj4gKyAgZ3J1Yl9lZmlfaGFuZGxlX2xpc3RfdCAq ZTsKPiArCj4gKyAgd2hpbGUgKChlID0gKmhhbmRsZXNfcCkgIT0gTlVMTCkKPiArICAgIHsKPiAr ICAgICAgKmhhbmRsZXNfcCA9IGUtPm5leHQ7Cj4gKyAgICAgIGdydWJfZnJlZSAoZSk7Cj4gKyAg ICB9Cj4gK30KPiArCj4gK2VudW0gc2VhcmNoZWRfaXRlbV9mbGFnCj4gK3sKPiArICBTRUFSQ0hF RF9JVEVNX0ZMQUdfTE9PUCA9IDEsCj4gKyAgU0VBUkNIRURfSVRFTV9GTEFHX1JFQ1VSU0lWRSA9 IDIKPiArfTsKPiArCj4gK3R5cGVkZWYgZW51bSBzZWFyY2hlZF9pdGVtX2ZsYWcgc2VhcmNoZWRf aXRlbV9mbGFnX3Q7Cj4gKwo+ICtzdHJ1Y3Qgc2VhcmNoZWRfaXRlbQo+ICt7Cj4gKyAgZ3J1Yl9l ZmlfZ3VpZF90IGd1aWQ7Cj4gKyAgY29uc3QgY2hhciAqbmFtZTsKPiArICBzZWFyY2hlZF9pdGVt X2ZsYWdfdCBmbGFnczsKPiArfTsKPiArCj4gK3R5cGVkZWYgc3RydWN0IHNlYXJjaGVkX2l0ZW0g c2VhcmNoZWRfaXRlbV90Owo+ICsKPiArc3RhdGljIGdydWJfZXJyX3QKPiArZ3J1Yl9jbWRfY29u bmVjdGVmaSAoZ3J1Yl9jb21tYW5kX3QgY21kIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKPiAr CQkgICAgIGludCBhcmdjLCBjaGFyICoqYXJncykKCmZpeCB0aGUgSW5kZW50YXRpb24gaXNzdWUg aGVyZQoKPiArewo+ICsgIGludCBzOwo+ICsgIHNlYXJjaGVkX2l0ZW1fdCBwY2lyb290X2l0ZW1z W10gPQo+ICsgICAgewo+ICsgICAgICB7IEdSVUJfRUZJX1BDSV9ST09UX0lPX0dVSUQsICJQQ0kg cm9vdCIsIAo+IFNFQVJDSEVEX0lURU1fRkxBR19SRUNVUlNJVkUgfQo+ICsgICAgfTsKPiArICBz ZWFyY2hlZF9pdGVtX3QgZGlza19pdGVtc1tdID0KPiArICAgIHsKPiArICAgICAgeyBHUlVCX0VG SV9QQ0lfUk9PVF9JT19HVUlELCAiUENJIHJvb3QiLCAwIH0sCj4gKyAgICAgIHsgR1JVQl9FRklf UENJX0lPX0dVSUQsICJQQ0kiLCBTRUFSQ0hFRF9JVEVNX0ZMQUdfTE9PUCB9LAo+ICsgICAgICB7 IEdSVUJfRUZJX1NDU0lfSU9fUFJPVE9DT0xfR1VJRCwgIlNDU0kgSS9PIiwKPiBTRUFSQ0hFRF9J VEVNX0ZMQUdfUkVDVVJTSVZFIH0sCj4gKyAgICAgIHsgR1JVQl9FRklfRElTS19JT19QUk9UT0NP TF9HVUlELCAiRElTSyBJL08iLAo+IFNFQVJDSEVEX0lURU1fRkxBR19SRUNVUlNJVkUgfQo+ICsg ICAgfTsKPiArICBzZWFyY2hlZF9pdGVtX3QgKml0ZW1zID0gTlVMTDsKPiArICBpbnQgbml0ZW1z ID0gMDsKPiArICBncnViX2Vycl90IGdydWJfZXJyID0gR1JVQl9FUlJfTk9ORTsKPiArICBib29s IGNvbm5lY3RlZF9kZXZpY2VzID0gZmFsc2U7Cj4gKyAgZ3J1Yl9lZmlfaGFuZGxlX2xpc3RfdCAq YWxyZWFkeV9oYW5kbGVkID0gTlVMTDsKPiArCj4gKyAgaWYgKGFyZ2MgIT0gMSkKPiArICAgIHJl dHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJHVU1FTlQsIE5fKCJvbmUgYXJndW1lbnQg Cj4gZXhwZWN0ZWQiKSk7Cj4gKwo+ICsgIGlmIChncnViX3N0cmNtcCAoYXJnc1swXSwgInBjaXJv b3QiKSA9PSAwKQo+ICsgICAgewo+ICsgICAgICBpdGVtcyA9IHBjaXJvb3RfaXRlbXM7Cj4gKyAg ICAgIG5pdGVtcyA9IEFSUkFZX1NJWkUgKHBjaXJvb3RfaXRlbXMpOwo+ICsgICAgfQo+ICsgIGVs c2UgaWYgKGdydWJfc3RyY21wIChhcmdzWzBdLCAiZGlzayIpID09IDApCj4gKyAgICB7Cj4gKyAg ICAgIGl0ZW1zID0gZGlza19pdGVtczsKPiArICAgICAgbml0ZW1zID0gQVJSQVlfU0laRSAoZGlz a19pdGVtcyk7Cj4gKyAgICB9Cj4gKyAgZWxzZSBpZiAoZ3J1Yl9zdHJjbXAgKGFyZ3NbMF0sICJh bGwiKSA9PSAwKQo+ICsgICAgewo+ICsgICAgICBpdGVtcyA9IE5VTEw7Cj4gKyAgICAgIG5pdGVt cyA9IDE7Cj4gKyAgICB9Cj4gKyAgZWxzZQo+ICsgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJf RVJSX0JBRF9BUkdVTUVOVCwKPiArCQkgICAgICAgTl8oInVuZXhwZWN0ZWQgYXJndW1lbnQ6IGAl cyciKSwgYXJnc1swXSk7CgpzYW1lIGFzIGFib3ZlCgo+ICsKCj4gKyAgZm9yIChzID0gMDsgcyA8 IG5pdGVtczsgcysrKQo+ICsgICAgewo+ICsgICAgICBncnViX2VmaV9oYW5kbGVfdCAqaGFuZGxl czsKPiArICAgICAgZ3J1Yl9lZmlfdWludG5fdCBudW1faGFuZGxlczsKPiArICAgICAgaW50IGks IGxvb3AgPSAwOwo+ICsgICAgICBib29sIGNvbm5lY3RlZCA9IGZhbHNlOwo+ICsKPiArbG9vcDoK Ck1pc3Npbmcgc3BhY2UgYmVmb3JlIGxhYmVsLgoKPiArICAgICAgbG9vcCsrOwo+ICsgICAgICBp ZiAoaXRlbXMgIT0gTlVMTCkKPiArCXsKPiArCSAgZ3J1Yl9kcHJpbnRmICgiZWZpIiwgInN0ZXAg JyVzJyBsb29wICVkOlxuIiwgaXRlbXNbc10ubmFtZSwgbG9vcCk7Cj4gKwkgIGhhbmRsZXMgPSBn cnViX2VmaV9sb2NhdGVfaGFuZGxlIChHUlVCX0VGSV9CWV9QUk9UT0NPTCwKPiArCQkJCQkgICAg Jml0ZW1zW3NdLmd1aWQsIDAsICZudW1faGFuZGxlcyk7Cj4gKwl9CgpmaXggdGhlIEluZGVudGF0 aW9uIGlzc3VlIGhlcmUKCj4gKyAgICAgIGVsc2UKPiArCWhhbmRsZXMgPSBncnViX2VmaV9sb2Nh dGVfaGFuZGxlIChHUlVCX0VGSV9BTExfSEFORExFUywKPiArCQkJCQkgIE5VTEwsIE5VTEwsICZu dW1faGFuZGxlcyk7CgpmaXggdGhlIEluZGVudGF0aW9uIGlzc3VlIGhlcmUKCj4gKwo+ICsgICAg ICBpZiAoIWhhbmRsZXMpCj4gKwljb250aW51ZTsKCnNvbWV0aGluZyBsaWtlCgogIGlmIChoYW5k bGVzID09IE5VTEwpCiAgICBjb250aW51ZTsKCj4gKwo+ICsgICAgICBmb3IgKGkgPSAwOyBpIDwg bnVtX2hhbmRsZXM7IGkrKykKPiArCXsKPiArCSAgZ3J1Yl9lZmlfaGFuZGxlX3QgaGFuZGxlID0g aGFuZGxlc1tpXTsKPiArCSAgZ3J1Yl9lZmlfc3RhdHVzX3Qgc3RhdHVzOwo+ICsJICBpbnQgajsK PiArCj4gKwkgIC8qIFNraXAgYWxyZWFkeSBoYW5kbGVkIGhhbmRsZXMgICovCj4gKwkgIGlmIChp c19pbl9saXN0IChoYW5kbGUsIGFscmVhZHlfaGFuZGxlZCkpCj4gKwkgICAgewo+ICsJICAgICAg Z3J1Yl9kcHJpbnRmICgiZWZpIiwgIiAgaGFuZGxlICVwOiBhbHJlYWR5IHByb2Nlc3NlZFxuIiwK PiArCQkJCSAgIGhhbmRsZSk7Cgptb3ZlIGl0IHRvIHNpbmdsZSBsaW5lLiBzb21ldGhpbmcgbGlr ZQoKZ3J1Yl9kcHJpbnRmICgiZWZpIiwgIiAgaGFuZGxlICVwOiBhbHJlYWR5IHByb2Nlc3NlZFxu IiwgaGFuZGxlKTsKCj4gKwkgICAgICBjb250aW51ZTsKPiArCSAgICB9Cj4gKwo+ICsJICBzdGF0 dXMgPSBncnViX2VmaV9jb25uZWN0X2NvbnRyb2xsZXIgKGhhbmRsZSwgTlVMTCwgTlVMTCwKPiAr CQkJIWl0ZW1zIHx8IGl0ZW1zW3NdLmZsYWdzICYgU0VBUkNIRURfSVRFTV9GTEFHX1JFQ1VSU0lW RSA/IDEgOiAwKTsKCmZpeCB0aGUgSW5kZW50YXRpb24gaXNzdWUgaGVyZQoKPiArCSAgaWYgKHN0 YXR1cyA9PSBHUlVCX0VGSV9TVUNDRVNTKQo+ICsJICAgIHsKPiArCSAgICAgIGNvbm5lY3RlZCA9 IHRydWU7Cj4gKwkgICAgICBjb25uZWN0ZWRfZGV2aWNlcyA9IHRydWU7Cj4gKwkgICAgICBncnVi X2RwcmludGYgKCJlZmkiLCAiICBoYW5kbGUgJXA6IGNvbm5lY3RlZFxuIiwgaGFuZGxlKTsKPiAr CSAgICB9Cj4gKwkgIGVsc2UKPiArCSAgICBncnViX2RwcmludGYgKCJlZmkiLCAiICBoYW5kbGUg JXA6IGZhaWxlZCB0byBjb25uZWN0ICgiCj4gKwkJCSAgUFJJdUdSVUJfRUZJX1VJTlROX1QgIilc biIsIGhhbmRsZSwgc3RhdHVzKTsKPiArCj4gKwkgIGdydWJfZWZpX2hhbmRsZV9saXN0X3QgKml0 ZW07Cj4gKwkgIGl0ZW0gPSBncnViX21hbGxvYyAoc2l6ZW9mICgqaXRlbSkpOwo+ICsJICBpZiAo aXRlbSA9PSBOVUxMKQo+ICsJICAgIGJyZWFrOyAvKiBmYXRhbCAgKi8KPiArCSAgZ3J1Yl9saXN0 X3B1c2ggKEdSVUJfQVNfTElTVF9QICgmYWxyZWFkeV9oYW5kbGVkKSwgR1JVQl9BU19MSVNUIAo+ IChpdGVtKSk7Cj4gKwkgIGl0ZW0tPmhhbmRsZSA9IGhhbmRsZTsKPiArCX0KPiArCj4gKyAgICAg IGdydWJfZnJlZSAoaGFuZGxlcyk7Cj4gKyAgICAgIGlmIChncnViX2VyciAhPSBHUlVCX0VSUl9O T05FKQo+ICsJYnJlYWs7IC8qIGZhdGFsICAqLwoKZml4IHRoZSBJbmRlbnRhdGlvbiBpc3N1ZSBo ZXJlCgo+ICsKPiArICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zW3NdLmZsYWdzICYgU0VBUkNIRURf SVRFTV9GTEFHX0xPT1AgJiYgCj4gY29ubmVjdGVkKQo+ICsJewo+ICsJICBjb25uZWN0ZWQgPSBm YWxzZTsKPiArCSAgZ290byBsb29wOwo+ICsJfQoKZml4IHRoZSBJbmRlbnRhdGlvbiBpc3N1ZSBo ZXJlCgo+ICsKPiArICAgICAgZnJlZV9oYW5kbGVfbGlzdCAoJmFscmVhZHlfaGFuZGxlZCk7Cj4g KyAgICB9Cj4gKwo+ICsgIGZyZWVfaGFuZGxlX2xpc3QgKCZhbHJlYWR5X2hhbmRsZWQpOwo+ICsK PiArICBpZiAoY29ubmVjdGVkX2RldmljZXMpCj4gKyAgICBncnViX2VmaWRpc2tfcmVlbnVtZXJh dGVfZGlza3MgKCk7Cj4gKwo+ICsgIHJldHVybiBncnViX2VycjsKPiArfQo+ICsKPiArc3RhdGlj IGdydWJfY29tbWFuZF90IGNtZDsKPiArCj4gK0dSVUJfTU9EX0lOSVQoY29ubmVjdGVmaSkKPiAr ewo+ICsgIGNtZCA9IGdydWJfcmVnaXN0ZXJfY29tbWFuZCAoImNvbm5lY3RlZmkiLCBncnViX2Nt ZF9jb25uZWN0ZWZpLAo+ICsJCQkgICAgICAgInBjaXJvb3R8ZGlza3xhbGwiLAo+ICsJCQkgICAg ICAgTl8oIkNvbm5lY3QgRUZJIGhhbmRsZXMuIgo+ICsJCQkJICAiIElmICdwY2lyb290JyBpcyBz cGVjaWZpZWQsIGNvbm5lY3QgUENJIgo+ICsJCQkJICAiIHJvb3QgRUZJIGhhbmRsZXMgcmVjdXJz aXZlbHkuIgo+ICsJCQkJICAiIElmICdkaXNrJyBpcyBzcGVjaWZpZWQsIGNvbm5lY3QgU0NTSSIK PiArCQkJCSAgIiBhbmQgRElTSyBJL08gRUZJIGhhbmRsZXMgcmVjdXJzaXZlbHkuIgo+ICsJCQkJ ICAiIElmICdhbGwnIGlzIHNwZWNpZmllZCwgY29ubmVjdCBhbGwiCj4gKwkJCQkgICIgRUZJIGhh bmRsZXMgcmVjdXJzaXZlbHkuIikpOwoKZml4IHRoZSBJbmRlbnRhdGlvbiBpc3N1ZSBoZXJlCgp0 aGFua3MsClN1ZGhha2FyCgo+ICt9Cj4gKwo+ICtHUlVCX01PRF9GSU5JKGNvbm5lY3RlZmkpCj4g K3sKPiArICBncnViX3VucmVnaXN0ZXJfY29tbWFuZCAoY21kKTsKPiArfQo+IGRpZmYgLS1naXQg YS9ncnViLWNvcmUvY29tbWFuZHMvZWZpL2xzZWZpLmMgCj4gYi9ncnViLWNvcmUvY29tbWFuZHMv ZWZpL2xzZWZpLmMKPiBpbmRleCBiZGEyNWEzYTkuLmVjODQ1YjdmZCAxMDA2NDQKPiAtLS0gYS9n cnViLWNvcmUvY29tbWFuZHMvZWZpL2xzZWZpLmMKPiArKysgYi9ncnViLWNvcmUvY29tbWFuZHMv ZWZpL2xzZWZpLmMKPiBAQCAtMSw2ICsxLDYgQEAKPiAgLyoKPiAgICogIEdSVUIgIC0tICBHUmFu ZCBVbmlmaWVkIEJvb3Rsb2FkZXIKPiAtICogIENvcHlyaWdodCAoQykgMjAxMiAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMjUgIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgo+ICAgKgo+ICAgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJl OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gICAqICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCAK PiBieQo+IEBAIC0xOSw2ICsxOSw3IEBACj4gICNpbmNsdWRlIDxncnViL21tLmg+Cj4gICNpbmNs dWRlIDxncnViL21pc2MuaD4KPiAgI2luY2x1ZGUgPGdydWIvZWZpL2FwaS5oPgo+ICsjaW5jbHVk ZSA8Z3J1Yi9lZmkvZGlzay5oPgo+ICAjaW5jbHVkZSA8Z3J1Yi9lZmkvZWRpZC5oPgo+ICAjaW5j bHVkZSA8Z3J1Yi9lZmkvcGNpLmg+Cj4gICNpbmNsdWRlIDxncnViL2VmaS9lZmkuaD4KPiBAQCAt MzUsNyArMzYsNyBAQCBzdGF0aWMgc3RydWN0IGtub3duX3Byb3RvY29sCj4gICAgY29uc3QgY2hh ciAqbmFtZTsKPiAgfSBrbm93bl9wcm90b2NvbHNbXSA9Cj4gICAgewo+IC0gICAgeyBHUlVCX0VG SV9ESVNLX0lPX0dVSUQsICJkaXNrIiB9LAo+ICsgICAgeyBHUlVCX0VGSV9ESVNLX0lPX1BST1RP Q09MX0dVSUQsICJkaXNrIiB9LAo+ICAgICAgeyBHUlVCX0VGSV9CTE9DS19JT19HVUlELCAiYmxv Y2siIH0sCj4gICAgICB7IEdSVUJfRUZJX1NFUklBTF9JT19HVUlELCAic2VyaWFsIiB9LAo+ICAg ICAgeyBHUlVCX0VGSV9TSU1QTEVfTkVUV09SS19HVUlELCAibmV0d29yayIgfSwKPiBkaWZmIC0t Z2l0IGEvZ3J1Yi1jb3JlL2Rpc2svZWZpL2VmaWRpc2suYyAKPiBiL2dydWItY29yZS9kaXNrL2Vm aS9lZmlkaXNrLmMKPiBpbmRleCAzYjVlZDU2OTEuLmMxNjZmYjAxZSAxMDA2NDQKPiAtLS0gYS9n cnViLWNvcmUvZGlzay9lZmkvZWZpZGlzay5jCj4gKysrIGIvZ3J1Yi1jb3JlL2Rpc2svZWZpL2Vm aWRpc2suYwo+IEBAIC0xLDYgKzEsNiBAQAo+ICAvKgo+ICAgKiAgR1JVQiAgLS0gIEdSYW5kIFVu aWZpZWQgQm9vdGxvYWRlcgo+IC0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LDIwMDcsMjAwOCAgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMjUgIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgo+ICAgKgo+ICAgKiAgR1JVQiBpcyBmcmVlIHNv ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gICAqICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCAKPiBieQo+IEBAIC0zOTYsNiArMzk2LDE5IEBAIGVudW1lcmF0ZV9kaXNrcyAodm9pZCkK PiAgICBmcmVlX2RldmljZXMgKGRldmljZXMpOwo+ICB9Cj4gCj4gK3ZvaWQKPiArZ3J1Yl9lZmlk aXNrX3JlZW51bWVyYXRlX2Rpc2tzICh2b2lkKQo+ICt7Cj4gKyAgZnJlZV9kZXZpY2VzIChmZF9k ZXZpY2VzKTsKPiArICBmcmVlX2RldmljZXMgKGhkX2RldmljZXMpOwo+ICsgIGZyZWVfZGV2aWNl cyAoY2RfZGV2aWNlcyk7Cj4gKyAgZmRfZGV2aWNlcyA9IE5VTEw7Cj4gKyAgaGRfZGV2aWNlcyA9 IE5VTEw7Cj4gKyAgY2RfZGV2aWNlcyA9IE5VTEw7Cj4gKwo+ICsgIGVudW1lcmF0ZV9kaXNrcyAo KTsKPiArfQo+ICsKPiAgc3RhdGljIGludAo+ICBncnViX2VmaWRpc2tfaXRlcmF0ZSAoZ3J1Yl9k aXNrX2Rldl9pdGVyYXRlX2hvb2tfdCBob29rLCB2b2lkIAo+ICpob29rX2RhdGEsCj4gIAkJICAg ICAgZ3J1Yl9kaXNrX3B1bGxfdCBwdWxsKQo+IGRpZmYgLS1naXQgYS9ncnViLWNvcmUva2Vybi9l ZmkvZWZpLmMgYi9ncnViLWNvcmUva2Vybi9lZmkvZWZpLmMKPiBpbmRleCBiOTNhZTNhYmEuLmZh ZjI5M2RhNyAxMDA2NDQKPiAtLS0gYS9ncnViLWNvcmUva2Vybi9lZmkvZWZpLmMKPiArKysgYi9n cnViLWNvcmUva2Vybi9lZmkvZWZpLmMKPiBAQCAtMSw3ICsxLDcgQEAKPiAgLyogZWZpLmMgLSBn ZW5lcmljIEVGSSBzdXBwb3J0ICovCj4gIC8qCj4gICAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmll ZCBCb290bG9hZGVyCj4gLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsMjAwNywyMDA4LDIwMDksMjAx MCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCAKPiBJbmMuCj4gKyAqICBDb3B5cmlnaHQgKEMp IDIwMjUgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgo+ICAgKgo+ICAgKiAgR1JVQiBp cyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4g ICAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCAKPiBieQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2dydWIvZWZpL2FwaS5o IGIvaW5jbHVkZS9ncnViL2VmaS9hcGkuaAo+IGluZGV4IGI2ODZlOGFmZS4uZDczYTEwYzI4IDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvZ3J1Yi9lZmkvYXBpLmgKPiArKysgYi9pbmNsdWRlL2dydWIv ZWZpL2FwaS5oCj4gQEAgLTc5LDcgKzc5LDcgQEAKPiAgICAgIHsgMHg4ZSwgMHgzZiwgMHgwMCwg MHhhMCwgMHhjOSwgMHg2OSwgMHg3MiwgMHgzYiB9IFwKPiAgICB9Cj4gCj4gLSNkZWZpbmUgR1JV Ql9FRklfRElTS19JT19HVUlECVwKPiArI2RlZmluZSBHUlVCX0VGSV9ESVNLX0lPX1BST1RPQ09M X0dVSUQJXAo+ICAgIHsgMHhjZTM0NTE3MSwgMHhiYTBiLCAweDExZDIsIFwKPiAgICAgIHsgMHg4 ZSwgMHg0ZiwgMHgwMCwgMHhhMCwgMHhjOSwgMHg2OSwgMHg3MiwgMHgzYiB9IFwKPiAgICB9Cj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi9lZmkvZGlzay5oIGIvaW5jbHVkZS9ncnViL2VmaS9k aXNrLmgKPiBpbmRleCAyNTQ0NzVjODQuLjY4NDVjMmYxZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2dydWIvZWZpL2Rpc2suaAo+ICsrKyBiL2luY2x1ZGUvZ3J1Yi9lZmkvZGlzay5oCj4gQEAgLTI3 LDYgKzI3LDggQEAgZ3J1Yl9lZmlfaGFuZGxlX3QKPiAgRVhQT1JUX0ZVTkMoZ3J1Yl9lZmlkaXNr X2dldF9kZXZpY2VfaGFuZGxlKSAoZ3J1Yl9kaXNrX3QgZGlzayk7Cj4gIGNoYXIgKkVYUE9SVF9G VU5DKGdydWJfZWZpZGlza19nZXRfZGV2aWNlX25hbWUpIChncnViX2VmaV9oYW5kbGVfdCAKPiAq aGFuZGxlKTsKPiAKPiArdm9pZCBFWFBPUlRfRlVOQyhncnViX2VmaWRpc2tfcmVlbnVtZXJhdGVf ZGlza3MpICh2b2lkKTsKPiArCj4gIHZvaWQgZ3J1Yl9lZmlkaXNrX2luaXQgKHZvaWQpOwo+ICB2 b2lkIGdydWJfZWZpZGlza19maW5pICh2b2lkKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxA Z251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVs Cg==