From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id B0BF8940FD9 for ; Tue, 19 Dec 2023 04:04:02 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=lCYRePhSNvsv88nL9hxg7c4eAIhurW/yAiVFJX6y4MI=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1702958641; v=1; b=VSZVbhIdNb5t4YK/v84qU8U89RJYN350oQXf1e9cOh3OpPtvK487HRKAvWiuGck/5ymhtrrX 6zETscURy2QSXHeFUIsbZzBRPT26n45/utG1su5ie7ispDgjBk4jlYlus2wd7cigU/QEUOb0HIy 8DcUf/wsuTk19Fpl6g08Uzys= X-Received: by 127.0.0.2 with SMTP id SoDWYY7687511xu4yxFcKONF; Mon, 18 Dec 2023 20:04:01 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.86]) by mx.groups.io with SMTP id smtpd.web10.5148.1702958640538408744 for ; Mon, 18 Dec 2023 20:04:00 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RpHWw4gvJw4wiRxZktt9KTwDOxar86g+aytEWcWzwmoYmbzRGi3A0/yUPJHsyOAkJd4IdfY+bmuQ0kAcATrxxx3QiS4BbQUgUIVmRw6mAr0g1D9c1stsqwbRtaB8La4twIe8hRuQzJrrIWsLCLnJrenOH7yzNYvBrlbgJo1S42YSaPqNA3TPoFuYSLPHy6v0H6b/VvCCAFdAZptPEPk75iG5aH7UM49T63nPG1hUM/w6iHkUk3AEKgkMDRZkCVPheMNjXwXa00rZbHZfUEd0HemQrZC/2kGvtX+385eIVNllrb2mayPoILWaaBzI+DF4CGp1d+4CrDE27ITXKOdghw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WYbFZ/bW7InWEVmUT7OyOzm9vq5chKqVGdb0k4ulCxU=; b=LjCJgnJ3B/1sz1S2B5wmtpRmhtxA4sKOGxEmaOZAcsCyI6q0/1lFzLJRXvfgfjSn0ZbAlhhOwAcerAv7Ki1GLa5Z/HHSzR1HwLy4WGGp4dXmWS6hCystDPw+gtNuJo/UHjiQdr7iPFRySnCvenLl0Ze7AK+MaBD4Ds2YNnnMlpbQejrjrJe/qOUAUktqEZsu7TFsNq9zA5a38Sdtuvcs3vQQW9cFW3k9lmSdPxJFYHcqHLz2BNZEoVRRXtdhmSzfbMVAZvj/EjI8Yf1u78N1vgr+h3CfK8BZ4gZ6zwIS/7Z32N2lCCY+rGftbD+lFFm8O5I1EedJsloyNLQQ1CNwFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by SA1PR12MB8967.namprd12.prod.outlook.com (2603:10b6:806:38b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.37; Tue, 19 Dec 2023 04:03:57 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%5]) with mapi id 15.20.7091.034; Tue, 19 Dec 2023 04:03:57 +0000 From: "Chang, Abner via groups.io" To: Mike Maslenkin CC: "devel@edk2.groups.io" , "nicklew@nvidia.com" , "igork@ami.com" Subject: Re: [edk2-devel] [PATCH v2 13/14] RedfishDiscoverDxe: handle memory allocation error conditions. Thread-Topic: [PATCH v2 13/14] RedfishDiscoverDxe: handle memory allocation error conditions. Thread-Index: AQHaLuTMjLJrSjialUOoCp8H8hTz1bCuehJggAFpvgCAABqTgA== Date: Tue, 19 Dec 2023 04:03:57 +0000 Message-ID: References: <20231214232458.4636-1-mike.maslenkin@gmail.com> <20231214232458.4636-14-mike.maslenkin@gmail.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=00376da8-dc91-4fb4-acb8-31e41fa77d14;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-12-19T03:47:29Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|SA1PR12MB8967:EE_ x-ms-office365-filtering-correlation-id: 0797e0a1-0c6b-4373-991f-08dc00478658 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: E3pJK8rn6XAmUmU+XCSQ3cZ6IMh0IFNToU81hwR+OioFDVdbsgcbum4o69bJCDW4WsfYnc0z74peg/uu3UCPkTpwM4W3gQ52T0YsiXhynDaGSb8yP/tTo1s687AmVg53Grqy6VOtvCEfV/lXmHfyZJp3GhaoKMe+OvC1gl8YlFGkWcJ4gn9YMkc64pzaYYnW7Q6FVUxKByYuzSaGBLh4ae2yKAAgpHn4B1WDGkvw9u2bxs8db6ZPGdVUzudokoYE64ujWzcnYv5bGZ5TEygtU3gxuLDXkYEpIZrS4VYHaq+0QERRmNazzhrOU6mJrpgkjqZMvQHdDHi/2RjFUUI5A0smCYnBOupclOGULoZAK547/Sm/xLRhtvgY/tO5NyUppsjikw9oeWW2RItzpijK3/IhvrT4VhRI1lx2zy5lyk09P1eXYMnXXZ9tHpckBwlWclEqx8mb3XYL8MBIQbrgDJA5dm8kLCflMCKKEcYzfHFu+GBWxyDEt+aUCpMyMTpJPLfVEXIfzy7SA1pt3j1uSHPzHTU0P5FCKgsu0UIr1/IW5RzAxWXqjBByWqMbkpsGqzqOrewVu54Y4LyKvpQ6IpfbV1PWW8LhLGmzmyA7vUhWVA4UUfc/dzcyBKcRXAtFsIgxB0SCuUpinEcl/pUDjQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UlRRNjlYQ2YvZmV4NlZURlpNSjE0dzRYT0hnZjZrSWFwVXNDeFMzOFNaT1Jl?= =?utf-8?B?TitKOWxkdDdpekgvMlN2ekJ1L2JGZm9mUThFenNXSXl1WEpxTldLeDhrVXNs?= =?utf-8?B?Qm9oRVVwMGtnNWM1U3U1MXU2aTFLOWo4THpWVU02Y3VJVFU0QWxFdTN6WVUv?= =?utf-8?B?Ukl4ZWtyOElZNnBVZmJlMXBrTWZqa2pJQWNUbFd5bXVnMjhDbzllUHVPVzJp?= =?utf-8?B?dVVlOVlCaWNvKzhuWWhZelowazZBR2ZRcGNNMW1LckFnVDlIcUJ4OWFSMlE0?= =?utf-8?B?cXdCRFZXTTBkZHlJekNQYldqMVZRTWMvVzROQ25nY3A1U3VxMjkyaUhpcGtz?= =?utf-8?B?TmF4ZUdMUzFnWU80cGxia1Bicy9YVHhiNkxuK3RTQzMvUDQrOEtES0tERlRO?= =?utf-8?B?Wi9vSDdHK0g3WnY2Yk14eWd6TnVzbGhpYWZPRFc2N3poZHJoSTV2dXJ2Nk95?= =?utf-8?B?bExmcld1R2E2eE1KK1Y3N0VQMTlZVTAyaHcxQzVwWDRHazl6S0RDc2VVQVU3?= =?utf-8?B?NURLNGZCaHNBaVgvWFQ5NGhwR250Q0QwV2lGRFVUYVJFeGxKSmFMZ2lqeFBl?= =?utf-8?B?UTByL245d2x6dzBZa09qOXZLTmZmVzk2YzN3eGVEZ2J5R0IvRWNZR0QrbVh1?= =?utf-8?B?azZmMVJhR1RlckJTWVNLQitCZVpyTXpnYmlneE1KcnRYeG9FNzN5WG5CMExp?= =?utf-8?B?MzNhdXRMaDEyNlhpOENYbGZhUUhkYnhtQlRxNFluNU45Uy9GbXYycHhjM2tz?= =?utf-8?B?Y0NBNEY2dWxZdlE3TjFhcVRjZDJjTmtTa1hURHF6S1llV3JEQW1Xa0ZPbTFQ?= =?utf-8?B?RkhJV3htWUxDN25DUFVZNDZmc21nczlKWktQRm9xSm5aT2VCK2N3UllSQW9P?= =?utf-8?B?QTBzZ09hMnNRdmcybTNhSkZzcVZ2ODFGR2VFajJEbDVVQXhHN2o0V21RcWVv?= =?utf-8?B?eGdhODk0NEdlNEtNdXhiUktjbDNTMllKTklGYmYwb01oOURRd2tpME5SVGNP?= =?utf-8?B?Z2RabThnc2dNWmZGcnpWa2VBNjliNloyY0d0OXhpaTEzVEpSQWlZOWgyd0Vu?= =?utf-8?B?YnBaaHRQNzlsWFZiV0JSWmJ1cmY5NVkxTms5OHdsWTNGUVY3Ylk5YVpLdFRF?= =?utf-8?B?MlBDWWJyS0ZUbTlPanAwUWZxR1VYbTd6SU15ZkRsb0xnaVA1ay9WcWIvcytJ?= =?utf-8?B?dzJsK2p2dzJiRW13OFViV1FaS2U0alVnUXVTYVV3QjU4WTFYaEp5MENMc1Jt?= =?utf-8?B?REptelovT1AzZEVYS1krWHEydXJjMmJMSnJuOEduOXlqNEJtSTM5SzRyR0J2?= =?utf-8?B?aEVNSlplZUtPcXNEc2RnaTVnc2tDcUtXYUt6YTZtdkFhM2xkbk1XNTlZbzg2?= =?utf-8?B?Y09RZENLL1ZPeEhYeURZc3A5MUlHdFNrci82RG1uZWd6aDZmYkFQMEJRaFha?= =?utf-8?B?SkNVTFpjRnJZb0piZS9GNGlkbjU4UkpzZVBkbjM2djZ0VDN1c0QraXdDUyt6?= =?utf-8?B?cEZJS1R5UXViVTMwSlZ5MnFxV1d0aHdNYVUzUVIxSXVGL0pyNlZaclZNVVNs?= =?utf-8?B?dk05NXEwMm1pdEp3MDlUVE1UQ1ozVWNDMUsrVUZHdFFTZ0twVVRSVkgyS29h?= =?utf-8?B?UHhUcmF2UTBCQjQwR1djUWxMNmwzOUkwVUxNUVBzckFiaFE1R2Z6K2Vkdm8y?= =?utf-8?B?TjZvS3lBamNwME9semNGMkRJbGNmWVFqVk94S3JsWjNZVFUzMWhROThDRDE4?= =?utf-8?B?K3RuZk9sU3NCY3pMVi93ZHJHSkFjRVN2RGxFUFJ0VEZER0IzZ3dTY1dMUTJW?= =?utf-8?B?VGtab21PMm9STHN5UldnLzMxaldkR0ViN21ZYnNFbXB1STBSVDNsR2NlMnFD?= =?utf-8?B?M1lrekZrb0hEd3lDV1NMQVVhVWpvKzM0TVlJNUFmR3RvN0hQRVZmZ0ZXbzkr?= =?utf-8?B?YUFBV0xQRHZtZjQvWWV6VUN2RlQ5OSszUEwvY0N1Q2loZkIvUjA1S1J2NVlR?= =?utf-8?B?VGE4SGR3ZUNIV3NuVU9NQTQ2RGM1WGlYUTVKMk91QmFFM3ZTL3huaFNOZGdZ?= =?utf-8?B?YzFoMUhNWittVFRISVBsTnQwL3RXdVVKWm1ac3U0ZTVkOSttQkp0YXkvSm55?= =?utf-8?Q?/DP8=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0797e0a1-0c6b-4373-991f-08dc00478658 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2023 04:03:57.6378 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4fFjFypDZzYusllk9t7vNUmXq0EEfIjvn1wvf/I0DFLS65XgPviDwZaG71rhhmaJsekQOZwa36P5r6qRqgwbew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8967 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: ohbwDy4POiC10p5ygBWXNBqyx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=VSZVbhId; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogTWlrZSBNYXNsZW5raW4gPG1pa2UubWFzbGVua2luQGdtYWlsLmNv bT4NCj4gU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMTksIDIwMjMgMTA6MTIgQU0NCj4gVG86IENo YW5nLCBBYm5lciA8QWJuZXIuQ2hhbmdAYW1kLmNvbT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBuaWNrbGV3QG52aWRpYS5jb207IGlnb3JrQGFtaS5jb20NCj4gU3ViamVjdDogUmU6IFtQ QVRDSCB2MiAxMy8xNF0gUmVkZmlzaERpc2NvdmVyRHhlOiBoYW5kbGUgbWVtb3J5IGFsbG9jYXRp b24NCj4gZXJyb3IgY29uZGl0aW9ucy4NCj4NCj4gQ2F1dGlvbjogVGhpcyBtZXNzYWdlIG9yaWdp bmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXIgY2F1dGlvbg0KPiB3aGVu IG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPg0K Pg0KPiBIaSBBYm5lciwNCj4NCj4gT24gTW9uLCBEZWMgMTgsIDIwMjMgYXQgNzo0N+KAr0FNIENo YW5nLCBBYm5lciA8QWJuZXIuQ2hhbmdAYW1kLmNvbT4NCj4gd3JvdGU6DQo+ID4NCj4gPiBbQU1E IE9mZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF0NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBn bWFpbC5jb20+DQo+ID4gPiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDE1LCAyMDIzIDc6MjUgQU0N Cj4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6IENoYW5nLCBBYm5lciA8 QWJuZXIuQ2hhbmdAYW1kLmNvbT47IG5pY2tsZXdAbnZpZGlhLmNvbTsNCj4gPiA+IGlnb3JrQGFt aS5jb207IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+DQo+ID4gPiBT dWJqZWN0OiBbUEFUQ0ggdjIgMTMvMTRdIFJlZGZpc2hEaXNjb3ZlckR4ZTogaGFuZGxlIG1lbW9y eSBhbGxvY2F0aW9uDQo+ID4gPiBlcnJvciBjb25kaXRpb25zLg0KPiA+ID4NCj4gPiA+IENhdXRp b246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYW4gRXh0ZXJuYWwgU291cmNlLiBVc2Ug cHJvcGVyDQo+IGNhdXRpb24NCj4gPiA+IHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tp bmcgbGlua3MsIG9yIHJlc3BvbmRpbmcuDQo+ID4gPg0KPiA+ID4NCj4gPiA+IENjOiBBYm5lciBD aGFuZyA8YWJuZXIuY2hhbmdAYW1kLmNvbT4NCj4gPiA+IENjOiBOaWNrbGUgV2FuZyA8bmlja2xl d0BudmlkaWEuY29tPg0KPiA+ID4gQ2M6IElnb3IgS3VsY2h5dHNreXkgPGlnb3JrQGFtaS5jb20+ DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNaWtlIE1hc2xlbmtpbiA8bWlrZS5tYXNsZW5raW5AZ21h aWwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgLi4uL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRmaXNo RGlzY292ZXJEeGUuYyAgIHwgODUgKysrKysrKysrKysrKysrKy0tDQo+IC0NCj4gPiA+ICAxIGZp bGUgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ ID4gZGlmZiAtLWdpdCBhL1JlZGZpc2hQa2cvUmVkZmlzaERpc2NvdmVyRHhlL1JlZGZpc2hEaXNj b3ZlckR4ZS5jDQo+ID4gPiBiL1JlZGZpc2hQa2cvUmVkZmlzaERpc2NvdmVyRHhlL1JlZGZpc2hE aXNjb3ZlckR4ZS5jDQo+ID4gPiBpbmRleCAzNDk5YTg1NTU3MGMuLjlkMTY3OGMzNDI5ZSAxMDA2 NDQNCj4gPiA+IC0tLSBhL1JlZGZpc2hQa2cvUmVkZmlzaERpc2NvdmVyRHhlL1JlZGZpc2hEaXNj b3ZlckR4ZS5jDQo+ID4gPiArKysgYi9SZWRmaXNoUGtnL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRm aXNoRGlzY292ZXJEeGUuYw0KPiA+ID4gQEAgLTc0OCwzOCArNzQ4LDEwMyBAQCBJbml0SW5mb3Jt YXRpb25EYXRhICgNCj4gPiA+ICAgIGlmIChSZWRmaXNoTG9jYXRpb24gIT0gTlVMTCkgew0KPiA+ ID4NCj4gPiA+ICAgICAgQWxsb2NhdGlvblNpemUgICAgICAgID0gQXNjaWlTdHJTaXplIChSZWRm aXNoTG9jYXRpb24pICogc2l6ZW9mIChDSEFSMTYpOw0KPiA+ID4NCj4gPiA+ICAgICAgSW5mb3Jt YXRpb24tPkxvY2F0aW9uID0gQWxsb2NhdGVQb29sIChBbGxvY2F0aW9uU2l6ZSk7DQo+ID4gPg0K PiA+ID4gLSAgICBBc2NpaVN0clRvVW5pY29kZVN0clMgKFJlZGZpc2hMb2NhdGlvbiwgSW5mb3Jt YXRpb24tPkxvY2F0aW9uLA0KPiA+ID4gQWxsb2NhdGlvblNpemUpOw0KPiA+ID4NCj4gPiA+IC0g ICAgREVCVUcgKChERUJVR19NQU5BR0VBQklMSVRZLCAiUmVkZmlzaCBzZXJ2aWNlIGxvY2F0aW9u OiAlcy5cbiIsDQo+ID4gPiBJbmZvcm1hdGlvbi0+TG9jYXRpb24pKTsNCj4gPiA+DQo+ID4gPiAr ICAgIGlmIChJbmZvcm1hdGlvbi0+TG9jYXRpb24gIT0gTlVMTCkgew0KPiA+ID4NCj4gPiA+ICsg ICAgICBBc2NpaVN0clRvVW5pY29kZVN0clMgKFJlZGZpc2hMb2NhdGlvbiwgSW5mb3JtYXRpb24t PkxvY2F0aW9uLA0KPiA+ID4gQWxsb2NhdGlvblNpemUpOw0KPiA+ID4NCj4gPiA+ICsgICAgICBE RUJVRyAoKERFQlVHX01BTkFHRUFCSUxJVFksICJSZWRmaXNoIHNlcnZpY2UgbG9jYXRpb246ICVz LlxuIiwNCj4gPiA+IEluZm9ybWF0aW9uLT5Mb2NhdGlvbikpOw0KPiA+ID4NCj4gPiA+ICsgICAg fSBlbHNlIHsNCj4gPiA+DQo+ID4gPiArICAgICAgREVCVUcgKCgNCj4gPiA+DQo+ID4gPiArICAg ICAgICBERUJVR19FUlJPUiwNCj4gPiA+DQo+ID4gPiArICAgICAgICAiJWE6IENhbiBub3QgYWxs b2NhdGUgbWVtb3J5IGZvciBSZWRmaXNoIHNlcnZpY2UgbG9jYXRpb246ICVhLlxuIiwNCj4gPiA+ DQo+ID4gPiArICAgICAgICBfX2Z1bmNfXywNCj4gPiA+DQo+ID4gPiArICAgICAgICBSZWRmaXNo TG9jYXRpb24NCj4gPiA+DQo+ID4gPiArICAgICAgICApKTsNCj4gPiA+DQo+ID4gPiArICAgIH0N Cj4gPiA+DQo+ID4gPiAgICB9DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgICBpZiAoVXVp ZCAhPSBOVUxMKSB7DQo+ID4gPg0KPiA+ID4gICAgICBBbGxvY2F0aW9uU2l6ZSAgICA9IEFzY2lp U3RyU2l6ZSAoVXVpZCkgKiBzaXplb2YgKENIQVIxNik7DQo+ID4gPg0KPiA+ID4gICAgICBJbmZv cm1hdGlvbi0+VXVpZCA9IEFsbG9jYXRlUG9vbCAoQWxsb2NhdGlvblNpemUpOw0KPiA+ID4NCj4g PiA+IC0gICAgQXNjaWlTdHJUb1VuaWNvZGVTdHJTIChVdWlkLCBJbmZvcm1hdGlvbi0+VXVpZCwg QWxsb2NhdGlvblNpemUpOw0KPiA+ID4NCj4gPiA+IC0gICAgREVCVUcgKChERUJVR19NQU5BR0VB QklMSVRZLCAiU2VydmljZSBVVUlEOiAlcy5cbiIsIEluZm9ybWF0aW9uLQ0KPiA+ID4gPlV1aWQp KTsNCj4gPiA+DQo+ID4gPiArICAgIGlmIChJbmZvcm1hdGlvbi0+VXVpZCAhPSBOVUxMKSB7DQo+ ID4gPg0KPiA+ID4gKyAgICAgIEFzY2lpU3RyVG9Vbmljb2RlU3RyUyAoVXVpZCwgSW5mb3JtYXRp b24tPlV1aWQsIEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiArICAgICAgREVCVUcgKChE RUJVR19NQU5BR0VBQklMSVRZLCAiU2VydmljZSBVVUlEOiAlcy5cbiIsDQo+IEluZm9ybWF0aW9u LQ0KPiA+ID4gPlV1aWQpKTsNCj4gPiA+DQo+ID4gPiArICAgIH0gZWxzZSB7DQo+ID4gPg0KPiA+ ID4gKyAgICAgIERFQlVHICgoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgREVCVUdfRVJST1IsDQo+ ID4gPg0KPiA+ID4gKyAgICAgICAgIiVhOiBDYW4gbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgU2Vy dmljZSBVVUlEOiAlYS5cbiIsDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgX19mdW5jX18sDQo+ID4g Pg0KPiA+ID4gKyAgICAgICAgVXVpZA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICkpOw0KPiA+ID4N Cj4gPiA+ICsgICAgfQ0KPiA+ID4NCj4gPiA+ICAgIH0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+ICAgIGlmIChPcyAhPSBOVUxMKSB7DQo+ID4gPg0KPiA+ID4gICAgICBBbGxvY2F0aW9uU2l6 ZSAgPSBBc2NpaVN0clNpemUgKE9zKSAqIHNpemVvZiAoQ0hBUjE2KTsNCj4gPiA+DQo+ID4gPiAg ICAgIEluZm9ybWF0aW9uLT5PcyA9IEFsbG9jYXRlUG9vbCAoQWxsb2NhdGlvblNpemUpOw0KPiA+ ID4NCj4gPiA+IC0gICAgQXNjaWlTdHJUb1VuaWNvZGVTdHJTIChPcywgSW5mb3JtYXRpb24tPk9z LCBBbGxvY2F0aW9uU2l6ZSk7DQo+ID4gPg0KPiA+ID4gKyAgICBpZiAoSW5mb3JtYXRpb24tPk9z ICE9IE5VTEwpIHsNCj4gPiA+DQo+ID4gPiArICAgICAgQXNjaWlTdHJUb1VuaWNvZGVTdHJTIChP cywgSW5mb3JtYXRpb24tPk9zLCBBbGxvY2F0aW9uU2l6ZSk7DQo+ID4gPg0KPiA+ID4gKyAgICB9 IGVsc2Ugew0KPiA+ID4NCj4gPiA+ICsgICAgICBERUJVRyAoKA0KPiA+ID4NCj4gPiA+ICsgICAg ICAgIERFQlVHX0VSUk9SLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICIlYTogQ2FuIG5vdCBhbGxv Y2F0ZSBtZW1vcnkgZm9yIFJlZGZpc2ggc2VydmljZSBPUzogJWEuXG4iLA0KPiA+ID4NCj4gPiA+ ICsgICAgICAgIF9fZnVuY19fLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgIE9zDQo+ID4gPg0KPiA+ ID4gKyAgICAgICAgKSk7DQo+ID4gPg0KPiA+ID4gKyAgICB9DQo+ID4gPg0KPiA+ID4gICAgfQ0K PiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gICAgaWYgKE9zVmVyICE9IE5VTEwpIHsNCj4gPiA+ DQo+ID4gPiAgICAgIEFsbG9jYXRpb25TaXplICAgICAgICAgPSBBc2NpaVN0clNpemUgKE9zVmVy KSAqIHNpemVvZiAoQ0hBUjE2KTsNCj4gPiA+DQo+ID4gPiAgICAgIEluZm9ybWF0aW9uLT5Pc1Zl cnNpb24gPSBBbGxvY2F0ZVBvb2wgKEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiAtICAg IEFzY2lpU3RyVG9Vbmljb2RlU3RyUyAoT3NWZXIsIEluZm9ybWF0aW9uLT5Pc1ZlcnNpb24sIEFs bG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiAtICAgIERFQlVHICgoREVCVUdfTUFOQUdFQUJJ TElUWSwgIlJlZGZpc2ggc2VydmljZSBPUzogJXMsDQo+IFZlcnNpb246JXMuXG4iLA0KPiA+ID4g SW5mb3JtYXRpb24tPk9zLCBJbmZvcm1hdGlvbi0+T3NWZXJzaW9uKSk7DQo+ID4gPg0KPiA+ID4g KyAgICBpZiAoSW5mb3JtYXRpb24tPk9zVmVyc2lvbiAhPSBOVUxMKSB7DQo+ID4gPg0KPiA+ID4g KyAgICAgIEFzY2lpU3RyVG9Vbmljb2RlU3RyUyAoT3NWZXIsIEluZm9ybWF0aW9uLT5Pc1ZlcnNp b24sDQo+IEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiArICAgICAgREVCVUcgKCgNCj4g PiA+DQo+ID4gPiArICAgICAgICBERUJVR19NQU5BR0VBQklMSVRZLA0KPiA+ID4NCj4gPiA+ICsg ICAgICAgICJSZWRmaXNoIHNlcnZpY2UgT1M6ICVzLCBWZXJzaW9uOiVzLlxuIiwNCj4gPg0KPiA+ IEp1cyBhIG5vdGUgaGVyZTogIFdlIGV4cGVjdCB0aGUgZGVidWcgbWVzc2FnZSB3aWxsIGJlIDxu dWxsIHN0cmluZz4gZm9yIHRoZQ0KPiBjYXNlIHdoZW4gSW5mb3JtYXRpb24tPk9zIGlzIE5VTEwu DQo+DQo+IE5vdCBzdXJlIEkgdW5kZXJzdG9vZCByaWdodCwgYnV0IHRoZXJlIGlzIG5vIHByb2Js ZW0gd2l0aCB0aGlzIGF0IHRoaXMgdGltZS4NCj4gQnV0IEkgc2VlIHRoaXMgcGF0Y2ggaXMgYmFk Lg0KPiAxLiBEaWQgb3JpZ2luYWwgY29kZSBwcmludCBPc1ZlciBjb3JyZWN0bHkgYXQgYWxsPw0K Pg0KPiBUaGVyZSB3ZXJlIHR3byBjb25kaXRpb25zOg0KPg0KPiAgICAgaWYgKE9zICE9IE5VTEwp IHsNCj4gICAgICAgRGlzY292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5PcyA9IChDSEFSMTYg KilBbGxvY2F0ZVBvb2wNCj4gKEFzY2lpU3RyU2l6ZSAoKGNvbnN0IENIQVI4ICopT3MpICogc2l6 ZW9mIChDSEFSMTYpKTsNCj4gICAgICAgQXNjaWlTdHJUb1VuaWNvZGVTdHJTICgoY29uc3QgQ0hB UjggKilPcywNCj4gRGlzY292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5PcywgQXNjaWlTdHJT aXplICgoY29uc3QgQ0hBUjggKilPcykgKg0KPiBzaXplb2YgKENIQVIxNikpOw0KPiAgICAgICBE RUJVRyAoKERFQlVHX01BTkFHRUFCSUxJVFksICJSZWRmaXNoIHNlcnZpY2UgT1M6ICVzLA0KPiBW ZXJzaW9uOiVzLlxuIiwgRGlzY292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5PcywNCj4gRGlz Y292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5Pc1ZlcnNpb24pKTsNCj4gICAgIH0NCj4NCj4g ICAgIGlmIChPc1ZlciAhPSBOVUxMKSB7DQo+ICAgICAgIERpc2NvdmVyZWRJbnN0YW5jZS0+SW5m b3JtYXRpb24uT3NWZXJzaW9uID0gKENIQVIxNg0KPiAqKUFsbG9jYXRlUG9vbCAoQXNjaWlTdHJT aXplICgoY29uc3QgQ0hBUjggKilPc1ZlcikgKiBzaXplb2YNCj4gKENIQVIxNikpOw0KPiAgICAg ICBBc2NpaVN0clRvVW5pY29kZVN0clMgKChjb25zdCBDSEFSOCAqKU9zVmVyLA0KPiBEaXNjb3Zl cmVkSW5zdGFuY2UtPkluZm9ybWF0aW9uLk9zVmVyc2lvbiwgQXNjaWlTdHJTaXplICgoY29uc3Qg Q0hBUjgNCj4gKilPc1ZlcikgKiBzaXplb2YgKENIQVIxNikpOw0KPiAgICAgfQ0KPg0KPiBTbywg aW4gc2NvcGUgb2YgdGhlIGZpcnN0IGNvbmRpdGlvbg0KPiBEaXNjb3ZlcmVkSW5zdGFuY2UtPklu Zm9ybWF0aW9uLk9zVmVyc2lvbiBjb3VsZCBiZSBOVUxMLCB1bmxlc3MgaXQgd2FzDQo+IGEgc2Vj b25kIGNhbGwgZm9yICJJbmZvUmVmcmVzaCIuDQo+IEJ1dCBhbnl3YXksIGl0J3Mgbm90IGNsZWFy IHdoeSBvbiBpbmZvIHJlZnJlc2ggT3MgbWF0Y2hlcyB0byB0aGUgb2xkIE9zVmVyLg0KDQpPaywg aGVyZSBpcyB0aGUgaGlzdG9yeSB3aGVuIEkgd2FzIGltcGxlbWVudGVkIHRoaXMgY29kZSB3aXRo IFJlZGZpc2ggZGlzY292ZXJ5IG9uIGJvdGggUmVkZmlzaCBob3N0IGludGVyZmFjZSBhbmQgU1NE UCBpbiBIUEUgbGFiLiBNYW55IFJlZGZpc2ggc2VydmljZXMgd2VyZSBkaXNjb3ZlcmVkIGFuZCBv bmUgb2YgdGhlbSBpcyBhbHNvIGluZGljYXRlZCBieSBSZWRmaXNoIGhvc3QgaW50ZXJmYWNlLiBX ZSBoYXZlIGFuIHVwcGVyIGxheWVyIEVGSSBSZWRmaXNoIGFwcGxpY2F0aW9uIHRvIGRpc2NvdmVy IFJlZGZpc2ggdmlhIGJvdGggbWV0aG9kb2xvZ2llcy4gSG93ZXZlciwgd2UgZGlkbuKAmXQgdXBz dHJlYW0gU1NEUCBjb2RlIHRvIG9wZW5zb3VyY2UuIEkgdGhpbmsgSW5mb1JlZnJlc2ggd2FzIG5v dCByZW1vdmVkIGJhY2sgdG8gdGhhdCBtb21lbnQuDQoNCg0KPiBJIHdvdWxkIHN1Z2dlc3QgdG8g Y2hhbmdlIHRoZSBvcmRlciBvZiB0aGVzZSBjb25kaXRpb25zLg0KSSB0aGluayB0aGUgY29kZSBm b3IgUHJvZHVjdCBhbmQgUHJvZHVjdEluZm8gaXMgbm90IGdvb2QgYWxzby4gIFdlIGNhbiBhbHNv IG1ha2UgaXQgc2ltaWxhciB0byBPcyBhbmQgT3NWZXIuDQoNCj4NCj4gMi4gRnJvbSBzYWlkIGFi b3ZlLCB0aGlzIHBhdGNoIGRvZXNuJ3QgdGFrZSBpbnRvIGFjY291bnQgKGFzIHdlbGwgYXMNCj4g b3JpZ2luYWwgY29kZSkgdGhlIGNhc2Ugb2YgIkluZm9SZWZyZXNoIiB3aGVuIERpc2NvdmVyZWRJ bnN0YW5jZQ0KPiB3YXNuJ3QgYWxsb2NhdGVkIGJ1dCB0YWtlbiBmcm9tIGEgc29tZSBsaXN0IGFu ZCBhbGwgc3RyaW5nIHJlc291cmNlcw0KPiBjb3VsZCBiZSBhbGxvY2F0ZWQgcHJldmlvdXNseS4g SXQgc2VlbXMgdGhlc2UgcmVzb3VyY2UgbXVzdCBiZSBmcmVlZA0KPiBiZWZvcmUgYWxsb2NhdGlu ZyBpdCBhZ2FpbiBmb3IgcmVmcmVzaGVkIHZhbHVlcy4NCj4gSG0uLi4gbm90IGEgZ3JlYXQgdG8g aGF2ZSBzbXRoIGxpa2UgdGhlIGZvbGxvd2luZyBmb3IgZXZlcnkgc3RyaW5nOg0KPiAgaWYgKE9z VmVyICE9IE5VTEwpIHsNCj4gICAgICAgQWxsb2NhdGlvblNpemUgPSBBc2NpaVN0clNpemUgKE9z VmVyKSAqIHNpemVvZiAoQ0hBUjE2KTsNCj4gICAgICAgaWYgKERpc2NvdmVyZWRJbnN0YW5jZS0+ SW5mb3JtYXRpb24uT3NWZXJzaW9uICE9IE5VTEwpIHsNCj4gICAgICAgICBGcmVlUG9vbCAoRGlz Y292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5Pc1ZlcnNpb24pOw0KPiAgICAgICB9DQo+ICAg ICAgIERpc2NvdmVyZWRJbnN0YW5jZS0+SW5mb3JtYXRpb24uT3NWZXJzaW9uID0gQWxsb2NhdGVQ b29sDQo+IChBbGxvY2F0aW9uU2l6ZSk7DQo+ICAgICAgIGlmIChEaXNjb3ZlcmVkSW5zdGFuY2Ut PkluZm9ybWF0aW9uLk9zVmVyc2lvbiAhPSBOVUxMKSB7DQo+ICAgICAgICAgQXNjaWlTdHJUb1Vu aWNvZGVTdHJTIChPc1ZlciwNCj4gRGlzY292ZXJlZEluc3RhbmNlLT5JbmZvcm1hdGlvbi5Pc1Zl cnNpb24sIEFsbG9jYXRpb25TaXplKTsNCj4gICAgICAgfSBlbHNlIHsNCj4gICAgICAgICBERUJV RyAoKA0KPiAgICAgICAgICAgREVCVUdfRVJST1IsDQo+ICAgICAgICAgICAiJWE6IENhbiBub3Qg YWxsb2NhdGUgbWVtb3J5IGZvciBSZWRmaXNoIE9TIFZlcnNpb246JWEuXG4iLA0KPiAgICAgICAg ICAgX19mdW5jX18sDQo+ICAgICAgICAgICBPc1Zlcg0KPiAgICAgICAgICAgKSk7DQo+ICAgICAg IH0NCj4gICB9DQo+DQo+IENhbiBJIGFzc3VtZSB0aGF0IG9uIGluZm8gcmVmcmVzaCBpdCBpcyBw b3NzaWJsZSB0byBkZWFsbG9jYXRlIGFsbA0KPiBzdHJpbmdzIHN0b3JlZCBpbnRvIHRoaXMgSW5m b3JtYXRpb24gc3RydWN0dXJlPw0KSSB0aGluayBoZXJlIHdlIGhhdmUgdHdvIHdheXMsIGhvd2V2 ZXIgSSBwcmVmZXIgdGhlIGxhdHRlci4NCjEuIFJlbW92ZSBJbmZvUmVmcmVzaCwgYnV0IHdlIGhh dmUgdG8gcmV2aXNpdCB0aGUgY2FsbCBpZiBvbmUgZGF5IHNvbWVvbmUgY29udHJpYnV0ZSBTU0RQ LiBJIGJlbGlldmUgSSBjYW7igJl0IHVwc3RyZWFtIHRoYXQgY29kZSBiZWNhdXNlIGxlZ2FsIGlz c3VlIGFzIHdlIGRpZG4ndCBvcGVuc291cmNlIFNTRFAgY29kZSB3aGVuIEkgd2FzIHdpdGggSFBF Lg0KMi4gRGVhbGxvY2F0ZSBtZW1vcnkgd2hlbiBJbmZvUmVmcmVzaC4NCkkgd291bGQgbGVhdmUg dGhpcyB0byB5b3UsIEkgYW0gZmluZSBpZiB5b3UgY2hvb3NlICMxLg0KDQpUaGFua3MNCkFibmVy DQoNCj4gSW4gdGhpcyBjYXNlIGEgc2ltcGxlIGhlbHBlciBmdW5jdGlvbiBkZWFsbG9jYXRpbmcg c3RyaW5ncyBjb3VsZCBiZQ0KPiBpbXBsZW1lbnRlZCBhbmQgdGhlbiBhbHNvIHVzZWQgaGVyZToN Cj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL1JlZGZpc2hQ a2cvUmVkZmlzaERpc2NvdmUNCj4gckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYyNMMTQ2OQ0KPg0K PiA+DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgSW5mb3JtYXRpb24tPk9zLA0KPiA+ID4NCj4gPiA+ ICsgICAgICAgIEluZm9ybWF0aW9uLT5Pc1ZlcnNpb24NCj4gPiA+DQo+ID4gPiArICAgICAgICAp KTsNCj4gPiA+DQo+ID4gPiArICAgIH0gZWxzZSB7DQo+ID4gPg0KPiA+ID4gKyAgICAgIERFQlVH ICgoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgREVCVUdfRVJST1IsDQo+ID4gPg0KPiA+ID4gKyAg ICAgICAgIiVhOiBDYW4gbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgUmVkZmlzaCBPUyBWZXJzaW9u OiVhLlxuIiwNCj4gPiA+DQo+ID4gPiArICAgICAgICBfX2Z1bmNfXywNCj4gPiA+DQo+ID4gPiAr ICAgICAgICBPc1Zlcg0KPiA+ID4NCj4gPiA+ICsgICAgICAgICkpOw0KPiA+ID4NCj4gPiA+ICsg ICAgfQ0KPiA+ID4NCj4gPiA+ICAgIH0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICAgIGlm ICgoUHJvZHVjdCAhPSBOVUxMKSAmJiAoUHJvZHVjdFZlciAhPSBOVUxMKSkgew0KPiA+DQo+ID4g Tm90IGZvciB5b3VyIGNoYW5nZSwgYnV0IGNvdWxkIHlvdSBwbGVhc2UgaGVscCB0byByZW1vdmUg dGhpcyBjaGVjaz8gSSB0aGluaw0KPiB3ZSBjYW4gaGF2ZSBhIGNvbnNpc3RlbnQgY29kZSBhcyBP cy9Pc1ZlciwganVzdCBwcmludCBvdXQgdGhlIHByb2R1Y3QNCj4gaW5mb3JtYXRpb24gc2VwYXJh dGVseS4NCj4gPg0KPg0KPiBPay4NCj4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IEFibmVyDQo+ID4N Cj4gPg0KPiA+ID4NCj4gPiA+ICAgICAgQWxsb2NhdGlvblNpemUgICAgICAgPSBBc2NpaVN0clNp emUgKFByb2R1Y3QpICogc2l6ZW9mIChDSEFSMTYpOw0KPiA+ID4NCj4gPiA+ICAgICAgSW5mb3Jt YXRpb24tPlByb2R1Y3QgPSBBbGxvY2F0ZVBvb2wgKEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ ID4gPiAtICAgIEFzY2lpU3RyVG9Vbmljb2RlU3RyUyAoUHJvZHVjdCwgSW5mb3JtYXRpb24tPlBy b2R1Y3QsIEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiArICAgIGlmIChJbmZvcm1hdGlv bi0+UHJvZHVjdCAhPSBOVUxMKSB7DQo+ID4gPg0KPiA+ID4gKyAgICAgIEFzY2lpU3RyVG9Vbmlj b2RlU3RyUyAoUHJvZHVjdCwgSW5mb3JtYXRpb24tPlByb2R1Y3QsDQo+IEFsbG9jYXRpb25TaXpl KTsNCj4gPiA+DQo+ID4gPiArICAgIH0gZWxzZSB7DQo+ID4gPg0KPiA+ID4gKyAgICAgIERFQlVH ICgoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgREVCVUdfRVJST1IsDQo+ID4gPg0KPiA+ID4gKyAg ICAgICAgIiVhOiBDYW4gbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgUmVkZmlzaCBzZXJ2aWNlIHBy b2R1Y3Q6ICVhLlxuIiwNCj4gPiA+DQo+ID4gPiArICAgICAgICBfX2Z1bmNfXywNCj4gPiA+DQo+ ID4gPiArICAgICAgICBQcm9kdWN0DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgKSk7DQo+ID4gPg0K PiA+ID4gKyAgICB9DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICAgICAgQWxsb2NhdGlv blNpemUgICAgICAgICAgPSBBc2NpaVN0clNpemUgKFByb2R1Y3RWZXIpICogc2l6ZW9mIChDSEFS MTYpOw0KPiA+ID4NCj4gPiA+ICAgICAgSW5mb3JtYXRpb24tPlByb2R1Y3RWZXIgPSBBbGxvY2F0 ZVBvb2wgKEFsbG9jYXRpb25TaXplKTsNCj4gPiA+DQo+ID4gPiAtICAgIEFzY2lpU3RyVG9Vbmlj b2RlU3RyUyAoUHJvZHVjdFZlciwgSW5mb3JtYXRpb24tPlByb2R1Y3RWZXIsDQo+ID4gPiBBbGxv Y2F0aW9uU2l6ZSk7DQo+ID4gPg0KPiA+ID4gLSAgICBERUJVRyAoKERFQlVHX01BTkFHRUFCSUxJ VFksICJSZWRmaXNoIHNlcnZpY2UgcHJvZHVjdDogJXMsDQo+ID4gPiBWZXJzaW9uOiVzLlxuIiwg SW5mb3JtYXRpb24tPlByb2R1Y3QsIEluZm9ybWF0aW9uLT5Qcm9kdWN0VmVyKSk7DQo+ID4gPg0K PiA+ID4gKyAgICBpZiAoSW5mb3JtYXRpb24tPlByb2R1Y3RWZXIgIT0gTlVMTCkgew0KPiA+ID4N Cj4gPiA+ICsgICAgICBBc2NpaVN0clRvVW5pY29kZVN0clMgKFByb2R1Y3RWZXIsIEluZm9ybWF0 aW9uLT5Qcm9kdWN0VmVyLA0KPiA+ID4gQWxsb2NhdGlvblNpemUpOw0KPiA+ID4NCj4gPiA+ICsg ICAgICBERUJVRyAoKA0KPiA+ID4NCj4gPiA+ICsgICAgICAgIERFQlVHX01BTkFHRUFCSUxJVFks DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgIlJlZGZpc2ggc2VydmljZSBwcm9kdWN0OiAlcywgVmVy c2lvbjolcy5cbiIsDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgSW5mb3JtYXRpb24tPlByb2R1Y3Qs DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgSW5mb3JtYXRpb24tPlByb2R1Y3RWZXINCj4gPiA+DQo+ ID4gPiArICAgICAgICApKTsNCj4gPiA+DQo+ID4gPiArICAgIH0gZWxzZSB7DQo+ID4gPg0KPiA+ ID4gKyAgICAgIERFQlVHICgoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgREVCVUdfRVJST1IsDQo+ ID4gPg0KPiA+ID4gKyAgICAgICAgIiVhOiBDYW4gbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgUmVk ZmlzaCBzZXJ2aWNlIHByb2R1Y3QgVmVyc2lvbjoNCj4gPiA+ICVhLlxuIiwNCj4gPiA+DQo+ID4g PiArICAgICAgICBfX2Z1bmNfXywNCj4gPiA+DQo+ID4gPiArICAgICAgICBQcm9kdWN0VmVyDQo+ ID4gPg0KPiA+ID4gKyAgICAgICAgKSk7DQo+ID4gPg0KPiA+ID4gKyAgICB9DQo+ID4gPg0KPiA+ ID4gICAgfQ0KPiA+ID4NCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtLQ0K PiA+ID4gMi4zMi4wIChBcHBsZSBHaXQtMTMyKQ0KPiA+DQo+DQo+IEFzIHlvdSByZXF1ZXN0ZWQs IEkgaGF2ZSBjcmVhdGVkIGEgYnVnIGZvciB0aGlzIGlzc3VlOg0KPiBodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2MjUNCj4NCj4NCj4gUmVnYXJkcywNCj4g TWlrZQ0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVj ZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAo IzExMjY4NCk6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzExMjY4NApN dXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwMzE4MTA1MC83Njg2MTc2Ckdy b3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpVbnN1YnNjcmliZTogaHR0cHM6 Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09 LT0tPS09LT0tPS09LT0tPS0KCg0K