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 E0E2EC54F30 for ; Tue, 27 May 2025 11:47:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJsl8-0005PA-6V; Tue, 27 May 2025 07:46:18 -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 1uJsl2-0005ON-N5; Tue, 27 May 2025 07:46:15 -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 1uJsky-0002xN-0W; Tue, 27 May 2025 07:46:12 -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 54R8G9QU008793; Tue, 27 May 2025 11:46:05 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=9O6mDS l9Wjal8Lwgnp5VkEQudndU1h2ha00u27en56A=; b=N50FW7q/2BuT5manB13Cqc UjCsAhucQS9ycoYdf4a1CCmFh+2IaTa807mMCvRzCYHIBSIwxGhCGR8CwynJc6EC /50wpT7kgkhR7z/ImrBboHVsQPgADTCvJY1obk54vtdxux7Mkil+OEyvRpfZe8FC krKmdPjkM3artNXzrecaYsBsOpEibnjC1bVXv77za/sq/5/I9R5ji+x0AIkXvboK BLQcTtbO7NaDqdS7Ev9Q0lBZWDC/XgPV8qPtQ8k/c4oDo0GqtFAHEDupVVWU+JeI mCjFo2SAJnB8CqiGYffLdogQqbXxtdVcZpPL/zzGdo7tNz32RHsNcoB1nidDxFJA == Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46v0p2hsfs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 May 2025 11:46:04 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54RAvuhV016643; Tue, 27 May 2025 11:46:04 GMT Received: from smtprelay04.dal12v.mail.ibm.com ([172.16.1.6]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 46ureuamgq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 May 2025 11:46:04 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay04.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54RBk3CN23528190 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 27 May 2025 11:46:04 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DBB4E58058; Tue, 27 May 2025 11:46:03 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9147358059; Tue, 27 May 2025 11:46:03 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTP; Tue, 27 May 2025 11:46:03 +0000 (GMT) MIME-Version: 1.0 Date: Tue, 27 May 2025 17:16:03 +0530 From: Avnish Chouhan To: projects@jwo.cz Cc: grub-devel@gnu.org, grub-devel-request@gnu.org, daniel.kiper@oracle.com Subject: Re: [PATCH 1/2] Exporting variables to upper levels In-Reply-To: References: Message-ID: X-Sender: avnish@linux.ibm.com X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Cm-3yk1vYDbPosSXtuvKPV_JAzp47NgR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI3MDA5NCBTYWx0ZWRfXzN3dmz+kHQGY kA0FOk19oDq6A4J6SOZj0Zd7Hk8mbcTLJU6HS/Al2BDB+Z5p/3/2fQL2AotQFBhhdRI1WkPNeAM xeGKpoiFFQEv8hb6MefCZ7Yz7UsVQk5iAA2m9DHy9NFw1ddKSvCDslZP1nD7rXEr4j1BjUH1Iej 1NVV8bQedfzaw7s+mgfJP+TigPPZCPjIHbMOSPnXkNr4cZOffZOB7gZNQP/K1lAGHRbTX2mbJBs psSlLB167cP689z0DY4mRZ4/y86hn3Rh0naiV3x08vJlPVPrtmmZoSFBARQKiH6HtuWJ5iSSK7q pwAP6KwCOGQlcCxRAXCmHvLRoK1vp83xwewRpFvU9ag4c94KSyJFxKDjKMxwzVhEPgen6AYbPc+ yZtvK7jbzbjcNg1VZ7xOWyxPt2EAw2yZFlNOmOVAMgRpcPDd3pgkGHuvErZ1r91jBKSOa8lP X-Authority-Analysis: v=2.4 cv=Q7TS452a c=1 sm=1 tr=0 ts=6835a5fd cx=c_pps a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=mDV3o1hIAAAA:8 a=LokDKzd622TdDQnXP4YA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: Cm-3yk1vYDbPosSXtuvKPV_JAzp47NgR 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-05-27_05,2025-05-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 clxscore=1011 malwarescore=0 adultscore=0 mlxscore=0 impostorscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000 definitions=main-2505270094 Received-SPF: pass client-ip=148.163.158.5; envelope-from=avnish@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_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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 PiBNZXNzYWdlOiA0Cj4gRGF0ZTogTW9uLCAyNiBNYXkgMjAyNSAxOToyMjozOCArMDIwMAo+IEZy b206IEppxZnDrSAnYmluZGlmZicgV29sa2VyIDxwcm9qZWN0c0Bqd28uY3o+Cj4gVG86IGdydWIt ZGV2ZWxAZ251Lm9yZwo+IFN1YmplY3Q6IFtQQVRDSCAxLzJdIEV4cG9ydGluZyB2YXJpYWJsZXMg dG8gdXBwZXIgbGV2ZWxzCj4gTWVzc2FnZS1JRDogPDg1MzQyMWI4LWY1MzQtNDVhOS05YzIxLTA3 NjkxNDhmYzRhNUBqd28uY3o+Cj4gQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04OyBmb3JtYXQ9Zmxvd2VkCj4gCj4gVGhpcyBhZGRzIG5ldyBvcHRpb25zIOKAmC1n4oCZIGFu ZCDigJgtdeKAmSB0byB0aGUg4oCYZXhwb3J04oCZIGNvbW1hbmQuCj4gCj4gQnkgZGVmYXVsdCwg dGhlIOKAmGV4cG9ydOKAmSBjb21tYW5kIGV4cG9ydHMgdGhlIHZhcmlhYmxlcyB0bwo+IGxvd2Vy IGVudmlyb25tZW50IGNvbnRleHQgbmVzdGluZyBsZXZlbHMsIGJ1dCBub3QgdG8gdGhlIHVwcGVy IGxldmVscy4KPiBUaGlzIGJlaGF2aW9yIGlzIGxlZnQgdW5jaGFuZ2VkIGZyb20gdGhlIG9yaWdp bmFsIHZlcnNpb24uCj4gCj4gVXNpbmcgb2YgdGhlIOKAmC1n4oCZIG9wdGlvbiBhbGxvd3MgZXhw b3J0aW5nIG9mIHRoZSBnaXZlbiB2YXJpYWJsZShzKQo+IGV2ZW4gdG8gdGhlIHVwcGVyIGxldmVs cy4KPiAKPiBUaGUg4oCYLXXigJkgb3B0aW9uIGNvbXBsZW1lbnRzIHRoZSBkZWZhdWx0IGJlaGF2 aW9yIG9mIOKAmGV4cG9ydOKAmSBjb21tYW5kOgo+IEl0IGNhdXNlcyB0aGUgdmFyaWFibGUgdG8g YmVjb21lIGxvY2FsLCBpLmUuLCB1bi1leHBvcnRlZC4KPiAtLS0KPiAgIGdydWItY29yZS9rZXJu L2Vudi5jICAgICAgIHwgMTEgKysrKy0tCj4gICBncnViLWNvcmUvbm9ybWFsL2NvbnRleHQuYyB8 IDcwIAo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gICBpbmNsdWRl L2dydWIvZW52LmggICAgICAgICB8IDExICsrKysrLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA3NSBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3Jl L2tlcm4vZW52LmMgYi9ncnViLWNvcmUva2Vybi9lbnYuYwo+IGluZGV4IDc2NDA2ODg5Ni4uNmI2 MGM3MWRlIDEwMDY0NAo+IC0tLSBhL2dydWItY29yZS9rZXJuL2Vudi5jCj4gKysrIGIvZ3J1Yi1j b3JlL2tlcm4vZW52LmMKPiBAQCAtMjMxLDcgKzIzMSw4IEBAIGdydWJfcmVnaXN0ZXJfdmFyaWFi bGVfaG9vayAoY29uc3QgY2hhciAqbmFtZSwKPiAgIH0KPiAgICBncnViX2Vycl90Cj4gLWdydWJf ZW52X2V4cG9ydCAoY29uc3QgY2hhciAqbmFtZSkKPiArZ3J1Yl9lbnZfc2V0X2V4cG9ydF9tb2Rl IChjb25zdCBjaGFyICpuYW1lLAo+ICsJCQkgIGVudW0gZ3J1Yl9lbnZfdmFyX2V4cG9ydCBtb2Rl KQoKSGkgSmnFmcOtLAoKVGhpcyBhYm92ZSBzdGF0ZW1lbnQgd291bGQgYmUgYmV0dGVyIGluIG9u ZSBsaW5lIQoKZ3J1Yl9lbnZfc2V0X2V4cG9ydF9tb2RlIChjb25zdCBjaGFyICpuYW1lLCBlbnVt IGdydWJfZW52X3Zhcl9leHBvcnQgCm1vZGUpCgo+ICAgewo+ICAgICBzdHJ1Y3QgZ3J1Yl9lbnZf dmFyICp2YXI7Cj4gICBAQCAtMjQ1LDcgKzI0NiwxMyBAQCBncnViX2Vudl9leHBvcnQgKGNvbnN0 IGNoYXIgKm5hbWUpCj4gICAJcmV0dXJuIGVycjsKPiAgICAgICAgIHZhciA9IGdydWJfZW52X2Zp bmQgKG5hbWUpOwo+ICAgICAgIH0KPiAtICB2YXItPmdsb2JhbCA9IDE7Cj4gKyAgdmFyLT5nbG9i YWwgPSBtb2RlOwo+ICAgICAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Cj4gICB9Cj4gKwo+ICtncnVi X2Vycl90Cj4gK2dydWJfZW52X2V4cG9ydCAoY29uc3QgY2hhciAqbmFtZSkKPiArewo+ICsgIHJl dHVybiBncnViX2Vudl9zZXRfZXhwb3J0X21vZGUgKG5hbWUsIGdydWJfZW52X3Zhcl9leHBvcnRl ZCk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL25vcm1hbC9jb250ZXh0LmMgYi9ncnVi LWNvcmUvbm9ybWFsL2NvbnRleHQuYwo+IGluZGV4IGJhMTg1ZTkxNS4uOGFiZTUwNjVjIDEwMDY0 NAo+IC0tLSBhL2dydWItY29yZS9ub3JtYWwvY29udGV4dC5jCj4gKysrIGIvZ3J1Yi1jb3JlL25v cm1hbC9jb250ZXh0LmMKPiBAQCAtMjIsNiArMjIsNyBAQAo+ICAgI2luY2x1ZGUgPGdydWIvbWlz Yy5oPgo+ICAgI2luY2x1ZGUgPGdydWIvbW0uaD4KPiAgICNpbmNsdWRlIDxncnViL2NvbW1hbmQu aD4KPiArI2luY2x1ZGUgPGdydWIvZXh0Y21kLmg+Cj4gICAjaW5jbHVkZSA8Z3J1Yi9ub3JtYWwu aD4KPiAgICNpbmNsdWRlIDxncnViL2kxOG4uaD4KPiAgIEBAIC04OCw3ICs4OSw3IEBAIGdydWJf ZW52X25ld19jb250ZXh0IChpbnQgZXhwb3J0X2FsbCkKPiAgIAkJZ3J1Yl9lbnZfY29udGV4dF9j bG9zZSAoKTsKPiAgIAkJcmV0dXJuIGdydWJfZXJybm87Cj4gICAJICAgICAgfQo+IC0JICAgIGdy dWJfZW52X2V4cG9ydCAodmFyLT5uYW1lKTsKPiArCSAgICBncnViX2Vudl9zZXRfZXhwb3J0X21v ZGUgKHZhci0+bmFtZSwgdmFyLT5nbG9iYWwpOwo+ICAgCSAgICBncnViX3JlZ2lzdGVyX3Zhcmlh YmxlX2hvb2sgKHZhci0+bmFtZSwgdmFyLT5yZWFkX2hvb2ssCj4gdmFyLT53cml0ZV9ob29rKTsK PiAgIAkgIH0KPiAgICAgICB9Cj4gQEAgLTExNSwzMSArMTE2LDUyIEBAIGdydWJfZXJyX3QKPiAg IGdydWJfZW52X2NvbnRleHRfY2xvc2UgKHZvaWQpCj4gICB7Cj4gICAgIHN0cnVjdCBncnViX2Vu dl9jb250ZXh0ICpjb250ZXh0Owo+ICsgIHN0cnVjdCBncnViX2Vudl9jb250ZXh0ICpvcmlnaW5h bF9jb250ZXh0Owo+ICAgICBpbnQgaTsKPiAgICAgc3RydWN0IG1lbnVfcG9pbnRlciAqbWVudTsK PiArICBncnViX2Vycl90IGxhc3RfZXJyID0gR1JVQl9FUlJfTk9ORTsKPiAgICAgIGlmICghIGdy dWJfY3VycmVudF9jb250ZXh0LT5wcmV2KQo+ICAgICAgIHJldHVybiBncnViX2Vycm9yIChHUlVC X0VSUl9CQURfQVJHVU1FTlQsCj4gICAJCSAgICAgICAiY2Fubm90IGNsb3NlIHRoZSBpbml0aWFs IGNvbnRleHQiKTsKPiAgIC0gIC8qIEZyZWUgdGhlIHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGgg dGhpcyBjb250ZXh0LiAgKi8KPiArICAvKiBSZXN0b3JlIHRoZSBwcmV2aW91cyBjb250ZXh0LiAg Ki8KPiArICBvcmlnaW5hbF9jb250ZXh0ID0gZ3J1Yl9jdXJyZW50X2NvbnRleHQ7Cj4gKyAgY29u dGV4dCA9IGdydWJfY3VycmVudF9jb250ZXh0LT5wcmV2Owo+ICsgIGdydWJfY3VycmVudF9jb250 ZXh0ID0gY29udGV4dDsKPiArCj4gKyAgLyogUmUtZXhwb3J0IGdsb2JhbCB2YXJpYWJsZXMgdG8g dGhlIHVwcGVyIGNvbnRleHQuICovCj4gKwo+ICAgICBmb3IgKGkgPSAwOyBpIDwgSEFTSFNaOyBp KyspCj4gICAgICAgewo+ICAgICAgICAgc3RydWN0IGdydWJfZW52X3ZhciAqcCwgKnE7Cj4gICAt ICAgICAgZm9yIChwID0gZ3J1Yl9jdXJyZW50X2NvbnRleHQtPnZhcnNbaV07IHA7IHAgPSBxKQo+ ICsgICAgICBmb3IgKHAgPSBvcmlnaW5hbF9jb250ZXh0LT52YXJzW2ldOyBwOyBwID0gcSkKPiAg IAl7Cj4gICAJICBxID0gcC0+bmV4dDsKPiArCj4gKwkgIC8qIENvcHkgZ2xvYmFsIHZhcmlhYmxl cyB0byB0aGUgdXBwZXIgY29udGV4dC4gKi8KPiArCSAgaWYgKHAtPmdsb2JhbCA9PSBncnViX2Vu dl92YXJfZ2xvYmFsKSB7CgpQbGVhc2UgbW92ZSAneycgdG8gbmV4dCBsaW5lIQoKPiArCSAgICBp ZiAoZ3J1Yl9lbnZfc2V0IChwLT5uYW1lLCBwLT52YWx1ZSkgIT0gR1JVQl9FUlJfTk9ORSkKPiAr CSAgICAgIHsKPiArCQlsYXN0X2VyciA9IGdydWJfZXJybm87Cj4gKwkgICAgICB9CgpCcmFja2V0 cyBhcmUgbm90IHJlcXVpcmVkIGhlcmUhCgo+ICsJICAgIGVsc2UKPiArCSAgICAgIHsKPiArCQln cnViX2Vudl9zZXRfZXhwb3J0X21vZGUgKHAtPm5hbWUsIHAtPmdsb2JhbCk7Cj4gKwkJZ3J1Yl9y ZWdpc3Rlcl92YXJpYWJsZV9ob29rIChwLT5uYW1lLCBwLT5yZWFkX2hvb2ssIHAtPndyaXRlX2hv b2spOwo+ICsJICAgICAgfQo+ICsJICB9Cj4gKwo+ICsJICAvKiBGcmVlIHRoZSB2YXJpYWJsZXMg YXNzb2NpYXRlZCB3aXRoIHRoaXMgY29udGV4dC4gICovCj4gICAgICAgICAgICAgZ3J1Yl9mcmVl IChwLT5uYW1lKTsKPiAgIAkgIGdydWJfZnJlZSAocC0+dmFsdWUpOwo+ICAgCSAgZ3J1Yl9mcmVl IChwKTsKPiAgIAl9Cj4gICAgICAgfQo+ICAgLSAgLyogUmVzdG9yZSB0aGUgcHJldmlvdXMgY29u dGV4dC4gICovCj4gLSAgY29udGV4dCA9IGdydWJfY3VycmVudF9jb250ZXh0LT5wcmV2Owo+IC0g IGdydWJfZnJlZSAoZ3J1Yl9jdXJyZW50X2NvbnRleHQpOwo+IC0gIGdydWJfY3VycmVudF9jb250 ZXh0ID0gY29udGV4dDsKPiArICAvKiBGcmVlIHRoZSBwcmV2aW91cyBjb250ZXh0LiAqLwo+ICsg IGdydWJfZnJlZSAob3JpZ2luYWxfY29udGV4dCk7Cj4gICAgICBtZW51ID0gY3VycmVudF9tZW51 LT5wcmV2Owo+ICAgICBpZiAoY3VycmVudF9tZW51LT5tZW51KQo+IEBAIC0xODEsMzQgKzIwMyw1 NCBAQCBncnViX2Vudl9leHRyYWN0b3JfY2xvc2UgKGludCBzb3VyY2UpCj4gICAgIHJldHVybiBl cnI7Cj4gICB9Cj4gICAtc3RhdGljIGdydWJfY29tbWFuZF90IGV4cG9ydF9jbWQ7Cj4gK3N0YXRp YyBncnViX2V4dGNtZF90IGV4cG9ydF9jbWQ7Cj4gICAgc3RhdGljIGdydWJfZXJyX3QKPiAtZ3J1 Yl9jbWRfZXhwb3J0IChzdHJ1Y3QgZ3J1Yl9jb21tYW5kICpjbWQgX19hdHRyaWJ1dGVfXyAoKHVu dXNlZCkpLAo+ICtncnViX2NtZF9leHBvcnQgKGdydWJfZXh0Y21kX2NvbnRleHRfdCBjdHh0LAo+ ICAgCQkgaW50IGFyZ2MsIGNoYXIgKiphcmdzKQo+ICAgewo+ICsgIHN0cnVjdCBncnViX2FyZ19s aXN0ICpzdGF0ZSA9IGN0eHQtPnN0YXRlOwo+ICAgICBpbnQgaTsKPiAgICsgIGVudW0gZ3J1Yl9l bnZfdmFyX2V4cG9ydCBtb2RlID0gZ3J1Yl9lbnZfdmFyX2V4cG9ydGVkOwo+ICsgIGlmIChzdGF0 ZVswXS5zZXQpCj4gKyAgICBtb2RlID0gZ3J1Yl9lbnZfdmFyX2xvY2FsOwo+ICsgIGlmIChzdGF0 ZVsxXS5zZXQpCj4gKyAgICBtb2RlID0gZ3J1Yl9lbnZfdmFyX2dsb2JhbDsKPiArICBpZiAoc3Rh dGVbMF0uc2V0ICYmIHN0YXRlWzFdLnNldCkKPiArICAgIHJldHVybiBncnViX2Vycm9yIChHUlVC X0VSUl9CQURfQVJHVU1FTlQsCj4gKwkJICAgICAgIE5fKCJjYW5vdCB1c2UgYm90aCAtdSBhbmQg LWEgYXQgb25jZSIpKTsKCkluZGVudGlvbiBzZWVtcyBvZmYgaGVyZSEKCnJldHVybiBncnViX2Vy cm9yIChHUlVCX0VSUl9CQURfQVJHVU1FTlQsCiAgICAgICAgICAgICAgICAgICAgTl8oImNhbm90 IHVzZSBib3RoIC11IGFuZCAtYSBhdCBvbmNlIikpOwoKPiArCj4gICAgIGlmIChhcmdjIDwgMSkK PiAgICAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX0FSR1VNRU5ULAo+ICAgCQkg ICAgICAgTl8oIm9uZSBhcmd1bWVudCBleHBlY3RlZCIpKTsKPiAgICAgIGZvciAoaSA9IDA7IGkg PCBhcmdjOyBpKyspCj4gLSAgICBncnViX2Vudl9leHBvcnQgKGFyZ3NbaV0pOwo+ICsgICAgZ3J1 Yl9lbnZfc2V0X2V4cG9ydF9tb2RlIChhcmdzW2ldLCBtb2RlKTsKPiAgICAgIHJldHVybiAwOwo+ ICAgfQo+ICAgK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZ3J1Yl9hcmdfb3B0aW9uIGV4cG9ydF9vcHRp b25zW10gPQo+ICsgIHsKPiArICAgIHsidW5leHBvcnQiLCAndScsIDAsIE5fKCJVbmRvIGV4cG9y dGluZyB0aGUgdmFyaWFibGUuIiksIDAsIDB9LAo+ICsgICAgeyJnbG9iYWwiLCAnZycsIDAsIE5f KCJFeHBvcnQgYWxzbyB0byBwYXJlbnQgY29udGV4dHMuIiksIDAsIDB9LAo+ICsgICAgezAsIDAs IDAsIDAsIDAsIDB9Cj4gKyAgfTsKPiArCj4gICB2b2lkCj4gICBncnViX2NvbnRleHRfaW5pdCAo dm9pZCkKPiAgIHsKPiAtICBleHBvcnRfY21kID0gZ3J1Yl9yZWdpc3Rlcl9jb21tYW5kICgiZXhw b3J0IiwgZ3J1Yl9jbWRfZXhwb3J0LAo+IC0JCQkJICAgICAgTl8oIkVOVlZBUiBbRU5WVkFSXSAu Li4iKSwKPiAtCQkJCSAgICAgIE5fKCJFeHBvcnQgdmFyaWFibGVzLiIpKTsKPiArICBleHBvcnRf Y21kID0gZ3J1Yl9yZWdpc3Rlcl9leHRjbWQgKCJleHBvcnQiLCBncnViX2NtZF9leHBvcnQsCj4g KwkJCQkgICAgIEdSVUJfQ09NTUFORF9BQ0NFUFRfREFTSAo+ICsJCQkJICAgICB8IEdSVUJfQ09N TUFORF9PUFRJT05TX0FUX1NUQVJULAo+ICsJCQkJICAgICBOXygiWy11fC1nXSBFTlZWQVIgW0VO VlZBUl0gLi4uIiksCj4gKwkJCQkgICAgIE5fKCJFeHBvcnQgdmFyaWFibGVzLiIpLAo+ICsJCQkJ ICAgICBleHBvcnRfb3B0aW9ucyk7CgpTYW1lIGFzIG1lbnRpb25lZCBhYm92ZSEKCj4gICB9Cj4g ICAgdm9pZAo+ICAgZ3J1Yl9jb250ZXh0X2ZpbmkgKHZvaWQpCj4gICB7Cj4gLSAgZ3J1Yl91bnJl Z2lzdGVyX2NvbW1hbmQgKGV4cG9ydF9jbWQpOwo+ICsgIGdydWJfdW5yZWdpc3Rlcl9leHRjbWQg KGV4cG9ydF9jbWQpOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2dydWIvZW52LmggYi9p bmNsdWRlL2dydWIvZW52LmgKPiBpbmRleCA2YjkzNzlhMzAuLjQ2MzRjMDlkMyAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2dydWIvZW52LmgKPiArKysgYi9pbmNsdWRlL2dydWIvZW52LmgKPiBAQCAt MzEsNiArMzEsMTMgQEAgdHlwZWRlZiBjb25zdCBjaGFyICooKmdydWJfZW52X3JlYWRfaG9va190 KSAoc3RydWN0Cj4gZ3J1Yl9lbnZfdmFyICp2YXIsCj4gICB0eXBlZGVmIGNoYXIgKigqZ3J1Yl9l bnZfd3JpdGVfaG9va190KSAoc3RydWN0IGdydWJfZW52X3ZhciAqdmFyLAo+ICAgCQkJCQljb25z dCBjaGFyICp2YWwpOwo+ICAgK2VudW0gZ3J1Yl9lbnZfdmFyX2V4cG9ydAo+ICt7Cj4gKyAgZ3J1 Yl9lbnZfdmFyX2xvY2FsICAgID0gMCwKPiArICBncnViX2Vudl92YXJfZXhwb3J0ZWQgPSAxLAo+ ICsgIGdydWJfZW52X3Zhcl9nbG9iYWwgICA9IDIsCj4gK307Cj4gKwo+ICAgc3RydWN0IGdydWJf ZW52X3Zhcgo+ICAgewo+ICAgICBjaGFyICpuYW1lOwo+IEBAIC00MCw3ICs0Nyw3IEBAIHN0cnVj dCBncnViX2Vudl92YXIKPiAgICAgc3RydWN0IGdydWJfZW52X3ZhciAqbmV4dDsKPiAgICAgc3Ry dWN0IGdydWJfZW52X3ZhciAqKnByZXZwOwo+ICAgICBzdHJ1Y3QgZ3J1Yl9lbnZfdmFyICpzb3J0 ZWRfbmV4dDsKPiAtICBpbnQgZ2xvYmFsOwo+ICsgIGVudW0gZ3J1Yl9lbnZfdmFyX2V4cG9ydCBn bG9iYWw7Cj4gICB9Owo+ICAgIGdydWJfZXJyX3QgRVhQT1JUX0ZVTkMoZ3J1Yl9lbnZfc2V0KSAo Y29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAKPiAqdmFsKTsKPiBAQCAtNTgsNiArNjUsOCBA QCBncnViX2Vycl90IEVYUE9SVF9GVU5DKGdydWJfcmVnaXN0ZXJfdmFyaWFibGVfaG9vaykKPiAo Y29uc3QgY2hhciAqbmFtZSwKPiAgIGdydWJfZXJyX3QgZ3J1Yl9lbnZfY29udGV4dF9vcGVuICh2 b2lkKTsKPiAgIGdydWJfZXJyX3QgZ3J1Yl9lbnZfY29udGV4dF9jbG9zZSAodm9pZCk7Cj4gICBn cnViX2Vycl90IEVYUE9SVF9GVU5DKGdydWJfZW52X2V4cG9ydCkgKGNvbnN0IGNoYXIgKm5hbWUp Owo+ICtncnViX2Vycl90IEVYUE9SVF9GVU5DKGdydWJfZW52X3NldF9leHBvcnRfbW9kZSkgKGNv bnN0IGNoYXIgKm5hbWUsCj4gKwkJCQkJCSAgZW51bSBncnViX2Vudl92YXJfZXhwb3J0IG1vZGUp OwoKU2FtZSBhcyBtZW50aW9uZWQgYWJvdmUhCgpUaGFuayB5b3UhCgpSZWdhcmRzLApBdm5pc2gg Q2hvdWhhbgoKCj4gICAgdm9pZCBncnViX2Vudl91bnNldF9tZW51ICh2b2lkKTsKPiAgIGdydWJf bWVudV90IGdydWJfZW52X2dldF9tZW51ICh2b2lkKTsKPiAtLQo+IDIuNDUuMwo+IAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWls aW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL2dydWItZGV2ZWwK