From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web12.29167.1612152085360298038 for ; Sun, 31 Jan 2021 20:01:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=YmGZ4cyb; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=06661bf0a6=abner.chang@hpe.com) Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 1113rUEA026602; Mon, 1 Feb 2021 04:01:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=T1uvU0PrlwAtBNwBDteKFQubc7UqHmvbb5d7reExuKw=; b=YmGZ4cyb5wGYSm41tVMED66Xo6b0eD5JgbXx554v1wyOjr6tB0pkOuHbEkjuv4eXByjT 2T7p02C7y5WJZVUgmjZ9QPiMqBZNRVao+evxo8xpZpJO5Medc/NiCl9JE9iFTjwpnCKl SA8lISPDuq4X237sx95/lNIjw/pw9mftxxpTJtiFN0HPuZqawDfTbp5D+QJU1TWgwqtG Yi0nfHS3q+OmtibX+058hDKCowXXkcy9r3N640xBPs0StGFlT+q/FgKqTv4XaXE/rgww oQaz46jLi8cia/oP3TIDEaVAMsyyTSEX8tfyezs5bRwsyGGRpSXX+/EtGK4SW/QLrD56 Iw== Received: from g4t3426.houston.hpe.com (g4t3426.houston.hpe.com [15.241.140.75]) by mx0b-002e3701.pphosted.com with ESMTP id 36d044sua3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 01 Feb 2021 04:01:05 +0000 Received: from G4W10205.americas.hpqcorp.net (g4w10205.houston.hpecorp.net [16.207.82.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3426.houston.hpe.com (Postfix) with ESMTPS id D7E8766; Mon, 1 Feb 2021 04:01:04 +0000 (UTC) Received: from G9W9209.americas.hpqcorp.net (2002:10dc:429c::10dc:429c) by G4W10205.americas.hpqcorp.net (2002:10cf:520f::10cf:520f) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Feb 2021 04:01:04 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (15.241.52.13) by G9W9209.americas.hpqcorp.net (16.220.66.156) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 1 Feb 2021 04:01:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A4s8mBhRb4i5y7WmKvm71ucJIQZySM+maBUvrI55CqeP7RF5xWtIJHze16Sv7i45CMLjBRY0CS8Kipmg0gFuNUqA9lnC609Y2Yy2zOTdzCubtOoTBmomm5uB2PwNm/PH9miRAPDhtS8/cl4yCL7IbjPcQWmyuEfhznFieCQk2lwISsmiDD0e836kAHdrZ2O+ulSGMSTGUxOhwFJ2MCOqMJgrdVQcpvwT+KfJw1cmdBAzjmMIqnvFJ80a7fyl42TFmqsFUvVm3gvglFudQJpCd8Md2ETg/D9AZOvGuhp20XAk7wc3KhApNBH15pGfoJvmz5NLHSSMJha3dv7XKs47YQ== 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-SenderADCheck; bh=a+lo9q0VaZRAr6r4814aKqxrYwRgurC9jDRx8lwBFEg=; b=n2soZjq5qdc7iZkVai7zEfWOpb6uPJsqrGciSjFX+6Hvz24jk4+P/GU7sx+jyR+sdvD0lFMiiyJ0j36xvfbyddWrOOTwfd+jv93YeyqXSm3Nh3RyRHtYWliQVNb0/ixPJWwyrH0bFImMU+gpVWCIIz6oQM29Hz35DqIvCwrZFr+GZvN/8nUbHMOiqnP3jQjLRICgds2ulzE7OKpYakpzPySwnDSfxFxUySbrqJbhSHzGumztw2ZmX98CbwTuzoP+CE9jU7K+osvRuIW9kOdIOP8uKJ38aH/3KeaWcCnCCFud9+Vjz8qNzOSAb72kkhxmpS6OaNQ6zB/Bxx+bb1vRoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7508::16) by CS1PR8401MB0422.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:750f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Mon, 1 Feb 2021 04:01:02 +0000 Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::adb6:a875:93ca:b54a]) by CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::adb6:a875:93ca:b54a%12]) with mapi id 15.20.3805.025; Mon, 1 Feb 2021 04:01:02 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: 'Dandan Bi' , 'Eric Dong' , "Wang, Nickle (HPS SW)" Subject: Re: [edk2-devel] [PATCH v2 RESEND] MdeModulePkg/Library: Add HiiGetStringEx to UefiHiiLib for EDK2 Redfish Thread-Topic: [edk2-devel] [PATCH v2 RESEND] MdeModulePkg/Library: Add HiiGetStringEx to UefiHiiLib for EDK2 Redfish Thread-Index: AQIbeFVlijVEkZ/+GOzdjTiy+eIdxqm5ixzQgAAgKQA= Date: Mon, 1 Feb 2021 04:01:02 +0000 Message-ID: References: <20210128005840.1692-1-abner.chang@hpe.com> <000701d6f83f$97003690$c500a3b0$@byosoft.com.cn> In-Reply-To: <000701d6f83f$97003690$c500a3b0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=hpe.com; x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 8625ecde-1163-4b57-42ef-08d8c665fde7 x-ms-traffictypediagnostic: CS1PR8401MB0422: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:173; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ciFCHzsi9egf1rt4BnY9MQkdJBNQ/GvhE7KxEGxY+vnI4Q3AbLnZMeyuDKCl9lezakJ7aAZa0lEb07v9Q6iDvq2aYe7a3BbMfSJjhugJbIesqxcwggE6JvjwJDN6NeV4HVjh2s6fJvz7/PTEyBSWONAKgU7Djr5xJcDzjv4kWkSHN/lQ3qvhEJaoRHcUJtkBN4lqLab5X+jDFW3TVQUjlFBi+PZa+4VFNGbvLJPtXxIYBZbD1YFUOdL2FJ8wzZ2QFXaJK+OE6HkoG+HzYTkDaJLBGRLe1XZYC67FnOX3cFIowdBa8fa1iVsM++jzGOR8U5RulKrvLoC3GnrMgtvBFEwNi/W8lNnR7UPvh7y+2RDdEGZewPyW66vZMcj2Zf8+0aodhRbuPbziLUYAXbydAdNUMdawqR5Xe/0eTM81HJtOQyK0zXGMQYsHkLgxS2s03aWx+JW0T8zqSdcqQOx7APB7WfMN8ZL6DchYzDqwxCA+AIeaeVQWHEmidOMxlQBik1vz/cEHwQBWGXPNkjMKIVlRDITucDd9feOQwK+XlDWmedisLz6X/8ZM5CqWZ8WPsY3ujca2v/I5dtwmHBS3Ay61O4neIJQO68c7VBdu+jc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(346002)(136003)(366004)(39860400002)(376002)(186003)(19627235002)(66446008)(66476007)(66556008)(26005)(9686003)(55016002)(8676002)(52536014)(5660300002)(86362001)(4326008)(53546011)(6506007)(110136005)(83380400001)(64756008)(316002)(71200400001)(8936002)(54906003)(76116006)(7696005)(66946007)(478600001)(2906002)(966005)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?cDdMdnEyc202eUt0WUxBSm1FSE1sRlFFeDhwTVY0WElNUUZKc1F0K1dRUHhq?= =?gb2312?B?dEhrTUU3cWk3a1R6NWgvQU12UUMwckw1U2pzQVR5Z3RrWGR5bDdzK2h5NEhU?= =?gb2312?B?WVpyUVdlR0pzVnhLNUNOSE1wUm5FUjhIQnNJRmU2c1prZnpyMGxhOG50YlFX?= =?gb2312?B?S2cwTlNrWldpWkFNY09lcDBkUkIvbnd0V0d1MEZWRU5Oc3k5RE1ad0ZESVBE?= =?gb2312?B?TmlMMFZjUkFJeXlYalAzRCt4Mm9pZy9sM3hhRXBQSlYyVzJBcTA5d0tNdnpO?= =?gb2312?B?dEEyOVIwQk01TUo0T0dIem5yc0Z5dG9BTzRiZk5vNUI4RC9Cc0hWenJQVTRs?= =?gb2312?B?NlorRWt1RjB1eGxtM09RZWRwQldteWpzcUg2STMxd2RFQ05pejhmdVI4b09R?= =?gb2312?B?SVdSdE5tVWFjbDhZS0I3K1VnNWIyWkxrclB2WERDbkVGMjh2aE9wYlR3cStC?= =?gb2312?B?V2E1U0kwd05UZHRWUVNuN2NJQmJjLzJueFI4Ui9kSlFRRmVjS0NNYld4RXlT?= =?gb2312?B?KzVrc09iUWM0c3Y3ajIrMUxRVnAwaVBXa0xzNmdUSU5ML0UyS0dHVGJvQW1B?= =?gb2312?B?L2ttMVdmWnVhNkZWRS9yYWlEM1pmVWwzSSt2M0VzRCs0YVlITFZFaVZFMUxs?= =?gb2312?B?L29ody9XNDRtVnFxYTdPaHpueVBoTXdLTjVsV1RsdE1USURlcGs0RlRXRVF1?= =?gb2312?B?dmdPYk9TS3pyL2FXcStFSFFQODNGcFdmZDBoOEhFaG9WZ0Q5clNtdS9UWkla?= =?gb2312?B?TkN1Q2cxQkVHRVEzRjQ2MnFzdWVWdnlaNVVOMjA0ck5LNkJNWHQybGI2TGFx?= =?gb2312?B?a2ZLLzd2c1YyeVpPNlRNbG1sNGw5ZVBVQzlTZCt5YnVXd0RpbjlVekVpb1cr?= =?gb2312?B?K1dDamtOWnVVby9qUlZkWVMvYk1QUm9pUmRNQ0RDNHNXRFVwR21lVVJpL3FH?= =?gb2312?B?WHdkQmJhcjlzVDZwR1FJam83ZmxKZk96TkwwaDIvZnE5NWFtNWJmVXFKLzFB?= =?gb2312?B?dmdhbStRTE9odFVoNlAralNJbWNJUlIzS0pmWTZYY2cxcG16dnZ2YjliaUdk?= =?gb2312?B?MVVvRUFqMHNoYkxlbSthYmZ1OUVyYkxrdzY3VGJWU0M2MzBhMm1RMGVISENB?= =?gb2312?B?ZUI0UnIrUHhCK2wveEFPcUNuaTZmWkhtdTJQdFd1MjZlN2pDVzNtRzV6eTJ1?= =?gb2312?B?d1pPaEgrcjdxMndrWm9uMVptMG9oQlVUWHJKd2R1bU1ibXFlNVZpUGdRRklw?= =?gb2312?B?dVY5TnA4VW9WSnU4a2h3OWZkWEF6Q1ZJR0M0YjQ0cW9ybWZtM3pCQmlpNnd3?= =?gb2312?B?WSs2RUxkUlN2Z0ZKb2pCcW8xU2dYNjJtV1NSandLb2VoaDJuWVRSTk16bFcz?= =?gb2312?B?Mll0QWwxQ2FOS05GYWR0RXZPRnR1bE14bURjOWVkSlVCN0J1K3Q3QTdUaFlu?= =?gb2312?Q?b/8OxTgB?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 8625ecde-1163-4b57-42ef-08d8c665fde7 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 04:01:02.5443 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cyoW9B+gK8Bfh7ZyMixRPQk6HUvtLd2yFTZ9T1xuyXVhmKpX0yx4DXXselCheSbS7ls2E3sjtTYMVeWaocMI/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0422 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.737 definitions=2021-02-01_02:2021-01-29,2021-02-01 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 clxscore=1015 priorityscore=1501 malwarescore=0 mlxscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102010017 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciBjYXRjaGluZyB0aGlzLiBWMyBzZW50Lg0KDQpBYm5lcg0KDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIFttYWlsdG86 ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBPZg0KPiBnYW9saW1pbmcNCj4gU2VudDog TW9uZGF5LCBGZWJydWFyeSAxLCAyMDIxIDEwOjEyIEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsgQ2hhbmcsIEFibmVyIChIUFMgU1cvRlcgVGVjaG5vbG9naXN0KQ0KPiA8YWJuZXIuY2hh bmdAaHBlLmNvbT4NCj4gQ2M6ICdEYW5kYW4gQmknIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgJ0Vy aWMgRG9uZycgPGVyaWMuZG9uZ0BpbnRlbC5jb20+Ow0KPiBXYW5nLCBOaWNrbGUgKEhQUyBTVykg PG5pY2tsZS53YW5nQGhwZS5jb20+DQo+IFN1YmplY3Q6ILvYuLQ6IFtlZGsyLWRldmVsXSBbUEFU Q0ggdjIgUkVTRU5EXSBNZGVNb2R1bGVQa2cvTGlicmFyeToNCj4gQWRkIEhpaUdldFN0cmluZ0V4 IHRvIFVlZmlIaWlMaWIgZm9yIEVESzIgUmVkZmlzaA0KPiANCj4gQWJuZXI6DQo+ICAgSSBoYXZl IHR3byBjb21tZW50cyBmb3IgdGhpcyBwYXRjaC4NCj4gDQo+IDEuICBQbGVhc2Ugc3BlY2lmeSBu ZXcgQVNTRVJUIGluIHRoZSBmdW5jdGlvbiBoZWFkZXIuDQo+IDIuICBQbGVhc2UgdXBkYXRlIHRo ZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiBmb3IgdGhlIG5ldyBiZWhhdmlvciB3aGVuDQo+IFRyeUJl c3RMYW5ndWFnZSBpcyBGQUxTRS4gSGlpR2V0U3RyaW5nRXgoKSBmdW5jdGlvbiBkZXNjcmlwdGlv biBzaG91bGQgYmUNCj4gZGlmZmVyZW50IGZyb20gSGlpR2V0U3RyaW5nKCkuDQo+IA0KPiBUaGFu a3MNCj4gTGltaW5nDQo+ID4gLS0tLS3Tyrz+1K28/i0tLS0tDQo+ID4gt6K8/sjLOiBib3VuY2Ur Mjc5NTIrNzA4MzIrNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA+IDxib3VuY2UrMjc5NTIr NzA4MzIrNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbz4gtPqx7SBBYm5lciBDaGFuZw0KPiA+ILei y83KsbzkOiAyMDIxxOox1MIyOMjVIDg6NTkNCj4gPiDK1bz+yMs6IGRldmVsQGVkazIuZ3JvdXBz LmlvDQo+ID4gs63LzTogRGFuZGFuIEJpIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgRXJpYyBEb25n IDxlcmljLmRvbmdAaW50ZWwuY29tPjsNCj4gPiBOaWNrbGUgV2FuZyA8bmlja2xlLndhbmdAaHBl LmNvbT4NCj4gPiDW98ziOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIFJFU0VORF0gTWRlTW9kdWxl UGtnL0xpYnJhcnk6IEFkZA0KPiA+IEhpaUdldFN0cmluZ0V4IHRvIFVlZmlIaWlMaWIgZm9yIEVE SzIgUmVkZmlzaA0KPiA+DQo+ID4gQWRkIEhpaUdldFN0cmluZ0V4IGFuZCBsZXZlcmFnZWQgYnkg SGlpR2V0U3RyaW5nIGZ1bmN0aW9uIHRvIHN1cHBvcnQNCj4gPiBnZXR0aW5nIHN0cmluZyB3aXRo IHRoZSBiZXN0IGxhbmd1YWdlIGluIG9wdGlvbmFsbHkuIFRoaXMgYXZvaWRzIHRoZQ0KPiA+IHN0 cmluZyBpbiB4LXVlZmkgbGFuZ3VhZ2UgaXMgbWlzbGVkIHRvIHRoZSBsYW5ndWFnZSBkZWZpbmVk IGJ5DQo+ID4gIlBsYXRmb3JtTGFuZyIgb3IgdGhlICJTdXBwb3J0ZWQgTGFuZ3VhZ2VzIi4gVGhp cyBjaGFuZ2UgaXMgaW50cm9kdWNlZA0KPiA+IHRvIHN1cHBvcnQgeC11ZWZpIGtleXdvcmQgbGFu Z3VhZ2UgZm9yIGNvbmZpZ3VyaW5nIEJJT1Mgc2V0dGluZy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYt Ynk6IEppYXhpbiBXdSA8amlheGluLnd1QGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBT aXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogRmFuIFdh bmcgPGZhbi53YW5nQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBYm5lciBDaGFuZyA8 YWJuZXIuY2hhbmdAaHBlLmNvbT4NCj4gPiBDYzogRGFuZGFuIEJpIDxkYW5kYW4uYmlAaW50ZWwu Y29tPg0KPiA+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IE5p Y2tsZSBXYW5nIDxuaWNrbGUud2FuZ0BocGUuY29tPg0KPiA+IC0tLQ0KPiA+ICBNZGVNb2R1bGVQ a2cvSW5jbHVkZS9MaWJyYXJ5L0hpaUxpYi5oICAgICAgIHwgNDEgKysrKysrKysrKy0NCj4gPiAg TWRlTW9kdWxlUGtnL0xpYnJhcnkvVWVmaUhpaUxpYi9IaWlTdHJpbmcuYyB8IDc5DQo+ID4gKysr KysrKysrKysrKysrKy0tLS0tDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMo KyksIDE5IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9J bmNsdWRlL0xpYnJhcnkvSGlpTGliLmgNCj4gPiBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJh cnkvSGlpTGliLmgNCj4gPiBpbmRleCBjNDc1Y2I3NGExLi4xNGRjYzNiNWI2IDEwMDY0NA0KPiA+ IC0tLSBhL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkvSGlpTGliLmgNCj4gPiArKysgYi9N ZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0hpaUxpYi5oDQo+ID4gQEAgLTEsNyArMSw3IEBA DQo+ID4gIC8qKiBAZmlsZQ0KPiA+ICAgIFB1YmxpYyBpbmNsdWRlIGZpbGUgZm9yIHRoZSBISUkg TGlicmFyeQ0KPiA+DQo+ID4gLUNvcHlyaWdodCAoYykgMjAwNyAtIDIwMTgsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICtDb3B5cmlnaHQgKGMp IDIwMDcgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ICtyZXNlcnZl ZC48QlI+DQo+ID4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ID4NCj4gPiAgKiovDQo+ID4gQEAgLTE1Miw4ICsxNTIsNDMgQEAgSGlpR2V0U3RyaW5nICgN Cj4gPiAgICBJTiBFRklfSElJX0hBTkRMRSAgSGlpSGFuZGxlLA0KPiA+ICAgIElOIEVGSV9TVFJJ TkdfSUQgICBTdHJpbmdJZCwNCj4gPiAgICBJTiBDT05TVCBDSEFSOCAgICAgKkxhbmd1YWdlICBP UFRJT05BTA0KPiA+IC0gICkNCj4gPiAtOw0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4g PiArICBSZXRyaWV2ZXMgYSBzdHJpbmcgZnJvbSBhIHN0cmluZyBwYWNrYWdlIGluIGEgc3BlY2lm aWMgbGFuZ3VhZ2UuDQo+ID4gK0lmDQo+IHRoZQ0KPiA+IGxhbmd1YWdlDQo+ID4gKyAgaXMgbm90 IHNwZWNpZmllZCwgdGhlbiBhIHN0cmluZyBmcm9tIGEgc3RyaW5nIHBhY2thZ2UgaW4gdGhlDQo+ ID4gKyBjdXJyZW50DQo+IHBsYXRmb3JtDQo+ID4gKyAgbGFuZ3VhZ2UgaXMgcmV0cmlldmVkLiAg SWYgdGhlIHN0cmluZyBjYW4gbm90IGJlIHJldHJpZXZlZCB1c2luZw0KPiA+ICsgdGhlDQo+ID4g c3BlY2lmaWVkDQo+ID4gKyAgbGFuZ3VhZ2Ugb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0gbGFuZ3Vh Z2UsIHRoZW4gdGhlIHN0cmluZyBpcw0KPiA+ICsgcmV0cmlldmVkDQo+ID4gZnJvbQ0KPiA+ICsg IHRoZSBzdHJpbmcgcGFja2FnZSBpbiB0aGUgZmlyc3QgbGFuZ3VhZ2UgdGhlIHN0cmluZyBwYWNr YWdlIHN1cHBvcnRzLg0KPiBUaGUNCj4gPiArICByZXR1cm5lZCBzdHJpbmcgaXMgYWxsb2NhdGVk IHVzaW5nIEFsbG9jYXRlUG9vbCgpLiAgVGhlIGNhbGxlciBpcw0KPiByZXNwb25zaWJsZQ0KPiA+ ICsgIGZvciBmcmVlaW5nIHRoZSBhbGxvY2F0ZWQgYnVmZmVyIHVzaW5nIEZyZWVQb29sKCkuDQo+ ID4gKw0KPiA+ICsgIElmIEhpaUhhbmRsZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPiA+ICsg IElmIFN0cmluZ0lkIGlzIDAsIHRoZW4gQVNTRVQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0g IEhpaUhhbmRsZSAgICAgICAgIEEgaGFuZGxlIHRoYXQgd2FzIHByZXZpb3VzbHkNCj4gPiByZWdp c3RlcmVkIGluIHRoZSBISUkgRGF0YWJhc2UuDQo+ID4gKyAgQHBhcmFtW2luXSAgU3RyaW5nSWQg ICAgICAgICAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIHN0cmluZyB0byByZXRyaWV2ZWQNCj4gPiBm cm9tIHRoZSBzdHJpbmcNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNr YWdlIGFzc29jaWF0ZWQgd2l0aCBIaWlIYW5kbGUuDQo+ID4gKyAgQHBhcmFtW2luXSAgTGFuZ3Vh Z2UgICAgICAgICAgVGhlIGxhbmd1YWdlIG9mIHRoZSBzdHJpbmcgdG8gcmV0cmlldmUuDQo+ID4g SWYgdGhpcyBwYXJhbWV0ZXINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp cyBOVUxMLCB0aGVuIHRoZSBjdXJyZW50IHBsYXRmb3JtDQo+ID4gbGFuZ3VhZ2UgaXMgdXNlZC4g IFRoZQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCBvZiBMYW5n dWFnZSBtdXN0IGZvbGxvdyB0aGUNCj4gPiBsYW5ndWFnZSBmb3JtYXQgYXNzdW1lZA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBISUkgRGF0YWJhc2UuDQo+ID4gKyAg QHBhcmFtW2luXSAgVHJ5QmVzdExhbmd1YWdlICAgSWYgVFJVRSwgdHJ5IHRvIGdldCB0aGUgYmVz dCBtYXRjaGluZw0KPiA+IGxhbmd1YWdlIGZyb20gYWxsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3VwcG9ydGVkIGxhbmd1YWdlcy5JZiBGQUxTRSwgdGhlDQo+ID4gTGFu Z3VhZ2UgbXVzdCBiZSBhc3NpZ25lZA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZvciB0aGUgU3RyaW5nSUQuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgTlVMTCAgIFRoZSBz dHJpbmcgc3BlY2lmaWVkIGJ5IFN0cmluZ0lkIGlzIG5vdCBwcmVzZW50IGluIHRoZQ0KPiA+IHN0 cmluZyBwYWNrYWdlLg0KPiA+ICsgIEByZXR2YWwgT3RoZXIgIFRoZSBzdHJpbmcgd2FzIHJldHVy bmVkLg0KPiA+ICsNCj4gPiArKiovDQo+ID4gK0VGSV9TVFJJTkcNCj4gPiArRUZJQVBJDQo+ID4g K0hpaUdldFN0cmluZ0V4ICgNCj4gPiArICBJTiBFRklfSElJX0hBTkRMRSAgSGlpSGFuZGxlLA0K PiA+ICsgIElOIEVGSV9TVFJJTkdfSUQgICBTdHJpbmdJZCwNCj4gPiArICBJTiBDT05TVCBDSEFS OCAgICAgKkxhbmd1YWdlICBPUFRJT05BTCwNCj4gPiArICBJTiBCT09MRUFOICAgICAgICAgVHJ5 QmVzdExhbmd1YWdlDQo+ID4gKyAgKTsNCj4gPg0KPiA+ICAvKioNCj4gPiAgICBSZXRyaWV2ZXMg YSBzdHJpbmcgZnJvbSBhIHN0cmluZyBwYWNrYWdlIG5hbWVkIGJ5IEdVSUQsIGluIHRoZQ0KPiBz cGVjaWZpZWQNCj4gPiBsYW5ndWFnZS4NCj4gPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0xp YnJhcnkvVWVmaUhpaUxpYi9IaWlTdHJpbmcuYw0KPiA+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkv VWVmaUhpaUxpYi9IaWlTdHJpbmcuYw0KPiA+IGluZGV4IDk1MjI5ZjhhOGMuLjJkNmM5OTY4YmEg MTAwNjQ0DQo+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvVWVmaUhpaUxpYi9IaWlTdHJp bmcuYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlIaWlMaWIvSGlpU3RyaW5n LmMNCj4gPiBAQCAtMSw3ICsxLDcgQEANCj4gPiAgLyoqIEBmaWxlDQo+ID4gICAgSElJIExpYnJh cnkgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIERYRSBwcm90b2NvbHMgYW5kIHNlcnZpY2VzLg0K PiA+DQo+ID4gLSAgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDA2 IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiArIHJlc2VydmVkLjxC Uj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiA+DQo+ID4gICoqLw0KPiA+IEBAIC0yMjAsNiArMjIwLDQ1IEBAIEhpaUdldFN0cmluZyAoDQo+ ID4gICAgSU4gRUZJX1NUUklOR19JRCAgIFN0cmluZ0lkLA0KPiA+ICAgIElOIENPTlNUIENIQVI4 ICAgICAqTGFuZ3VhZ2UgIE9QVElPTkFMDQo+ID4gICAgKQ0KPiA+ICt7DQo+ID4gKyAgcmV0dXJu IEhpaUdldFN0cmluZ0V4IChIaWlIYW5kbGUsIFN0cmluZ0lkLCBMYW5ndWFnZSwgVFJVRSk7IH0N Cj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFJldHJpZXZlcyBhIHN0cmluZyBmcm9tIGEgc3RyaW5n IHBhY2thZ2UgaW4gYSBzcGVjaWZpYyBsYW5ndWFnZS4NCj4gPiArSWYNCj4gdGhlDQo+ID4gbGFu Z3VhZ2UNCj4gPiArICBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIGEgc3RyaW5nIGZyb20gYSBzdHJp bmcgcGFja2FnZSBpbiB0aGUNCj4gPiArIGN1cnJlbnQNCj4gcGxhdGZvcm0NCj4gPiArICBsYW5n dWFnZSBpcyByZXRyaWV2ZWQuICBJZiB0aGUgc3RyaW5nIGNhbiBub3QgYmUgcmV0cmlldmVkIHVz aW5nDQo+ID4gKyB0aGUNCj4gPiBzcGVjaWZpZWQNCj4gPiArICBsYW5ndWFnZSBvciB0aGUgY3Vy cmVudCBwbGF0Zm9ybSBsYW5ndWFnZSwgdGhlbiB0aGUgc3RyaW5nIGlzDQo+ID4gKyByZXRyaWV2 ZWQNCj4gPiBmcm9tDQo+ID4gKyAgdGhlIHN0cmluZyBwYWNrYWdlIGluIHRoZSBmaXJzdCBsYW5n dWFnZSB0aGUgc3RyaW5nIHBhY2thZ2Ugc3VwcG9ydHMuDQo+IFRoZQ0KPiA+ICsgIHJldHVybmVk IHN0cmluZyBpcyBhbGxvY2F0ZWQgdXNpbmcgQWxsb2NhdGVQb29sKCkuICBUaGUgY2FsbGVyIGlz DQo+IHJlc3BvbnNpYmxlDQo+ID4gKyAgZm9yIGZyZWVpbmcgdGhlIGFsbG9jYXRlZCBidWZmZXIg dXNpbmcgRnJlZVBvb2woKS4NCj4gPiArDQo+ID4gKyAgSWYgSGlpSGFuZGxlIGlzIE5VTEwsIHRo ZW4gQVNTRVJUKCkuDQo+ID4gKyAgSWYgU3RyaW5nSWQgaXMgMCwgdGhlbiBBU1NFVC4NCj4gPiAr DQo+ID4gKyAgQHBhcmFtW2luXSAgSGlpSGFuZGxlICAgICAgICAgQSBoYW5kbGUgdGhhdCB3YXMg cHJldmlvdXNseQ0KPiA+IHJlZ2lzdGVyZWQgaW4gdGhlIEhJSSBEYXRhYmFzZS4NCj4gPiArICBA cGFyYW1baW5dICBTdHJpbmdJZCAgICAgICAgICBUaGUgaWRlbnRpZmllciBvZiB0aGUgc3RyaW5n IHRvIHJldHJpZXZlZA0KPiA+IGZyb20gdGhlIHN0cmluZw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBhY2thZ2UgYXNzb2NpYXRlZCB3aXRoIEhpaUhhbmRsZS4NCj4gPiAr ICBAcGFyYW1baW5dICBMYW5ndWFnZSAgICAgICAgICBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHN0cmlu ZyB0byByZXRyaWV2ZS4NCj4gPiBJZiB0aGlzIHBhcmFtZXRlcg0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlzIE5VTEwsIHRoZW4gdGhlIGN1cnJlbnQgcGxhdGZvcm0NCj4g PiBsYW5ndWFnZSBpcyB1c2VkLiAgVGhlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZm9ybWF0IG9mIExhbmd1YWdlIG11c3QgZm9sbG93IHRoZQ0KPiA+IGxhbmd1YWdlIGZv cm1hdCBhc3N1bWVkDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEhJ SSBEYXRhYmFzZS4NCj4gPiArICBAcGFyYW1baW5dICBUcnlCZXN0TGFuZ3VhZ2UgICBJZiBUUlVF LCB0cnkgdG8gZ2V0IHRoZSBiZXN0IG1hdGNoaW5nDQo+ID4gbGFuZ3VhZ2UgZnJvbSBhbGwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLklm IEZBTFNFLCB0aGUNCj4gPiBMYW5ndWFnZSBtdXN0IGJlIGFzc2lnbmVkDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBTdHJpbmdJRC4NCj4gPiArDQo+ID4gKyAg QHJldHZhbCBOVUxMICAgVGhlIHN0cmluZyBzcGVjaWZpZWQgYnkgU3RyaW5nSWQgaXMgbm90IHBy ZXNlbnQgaW4gdGhlDQo+ID4gc3RyaW5nIHBhY2thZ2UuDQo+ID4gKyAgQHJldHZhbCBPdGhlciAg VGhlIHN0cmluZyB3YXMgcmV0dXJuZWQuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUUklO Rw0KPiA+ICtFRklBUEkNCj4gPiArSGlpR2V0U3RyaW5nRXggKA0KPiA+ICsgIElOIEVGSV9ISUlf SEFORExFICBIaWlIYW5kbGUsDQo+ID4gKyAgSU4gRUZJX1NUUklOR19JRCAgIFN0cmluZ0lkLA0K PiA+ICsgIElOIENPTlNUIENIQVI4ICAgICAqTGFuZ3VhZ2UgIE9QVElPTkFMLA0KPiA+ICsgIElO IEJPT0xFQU4gICAgICAgICBUcnlCZXN0TGFuZ3VhZ2UNCj4gPiArICApDQo+ID4gIHsNCj4gPiAg ICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ID4gICAgVUlOVE4gICAgICAgU3RyaW5nU2l6ZTsNCj4g PiBAQCAtMjMxLDcgKzI3MCwxMCBAQCBIaWlHZXRTdHJpbmcgKA0KPiA+DQo+ID4gICAgQVNTRVJU IChIaWlIYW5kbGUgIT0gTlVMTCk7DQo+ID4gICAgQVNTRVJUIChTdHJpbmdJZCAhPSAwKTsNCj4g PiAtDQo+ID4gKyAgLy8NCj4gPiArICAvLyBMYW5ndWFnZSBtdXN0IGJlIHNwZWNpZmllZCBpZiBU cnlCZXN0TGFuZ3VhZ2UgPSBGQUxTRS4NCj4gPiArICAvLw0KPiA+ICsgIEFTU0VSVCAoIShUcnlC ZXN0TGFuZ3VhZ2UgPT0gRkFMU0UgJiYgTGFuZ3VhZ2UgPT0gTlVMTCkpOw0KPiA+ICAgIC8vDQo+ ID4gICAgLy8gSW5pdGlhbGl6ZSBhbGwgYWxsb2NhdGVkIGJ1ZmZlcnMgdG8gTlVMTA0KPiA+ICAg IC8vDQo+ID4gQEAgLTI2MSwyMSArMzAzLDI2IEBAIEhpaUdldFN0cmluZyAoDQo+ID4gICAgICBM YW5ndWFnZSA9ICIiOw0KPiA+ICAgIH0NCj4gPg0KPiA+IC0gIC8vDQo+ID4gLSAgLy8gR2V0IHRo ZSBiZXN0IG1hdGNoaW5nIGxhbmd1YWdlIGZyb20gU3VwcG9ydGVkTGFuZ3VhZ2VzDQo+ID4gLSAg Ly8NCj4gPiAtICBCZXN0TGFuZ3VhZ2UgPSBHZXRCZXN0TGFuZ3VhZ2UgKA0KPiA+IC0gICAgICAg ICAgICAgICAgICAgU3VwcG9ydGVkTGFuZ3VhZ2VzLA0KPiA+IC0gICAgICAgICAgICAgICAgICAg RkFMU0UsDQo+ID4gLy8gUkZDIDQ2NDYgbW9kZQ0KPiA+IC0gICAgICAgICAgICAgICAgICAgTGFu Z3VhZ2UsDQo+ID4gLy8gSGlnaGVzdCBwcmlvcml0eQ0KPiA+IC0gICAgICAgICAgICAgICAgICAg UGxhdGZvcm1MYW5ndWFnZSAhPSBOVUxMID8gUGxhdGZvcm1MYW5ndWFnZSA6ICIiLA0KPiA+IC8v IE5leHQgaGlnaGVzdCBwcmlvcml0eQ0KPiA+IC0gICAgICAgICAgICAgICAgICAgU3VwcG9ydGVk TGFuZ3VhZ2VzLA0KPiA+IC8vIExvd2VzdCBwcmlvcml0eQ0KPiA+IC0gICAgICAgICAgICAgICAg ICAgTlVMTA0KPiA+IC0gICAgICAgICAgICAgICAgICAgKTsNCj4gPiAtICBpZiAoQmVzdExhbmd1 YWdlID09IE5VTEwpIHsNCj4gPiAtICAgIGdvdG8gRXJyb3I7DQo+ID4gKyAgaWYgKFRyeUJlc3RM YW5ndWFnZSkgew0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIEdldCB0aGUgYmVzdCBtYXRjaGlu ZyBsYW5ndWFnZSBmcm9tIFN1cHBvcnRlZExhbmd1YWdlcw0KPiA+ICsgICAgLy8NCj4gPiArICAg IEJlc3RMYW5ndWFnZSA9IEdldEJlc3RMYW5ndWFnZSAoDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgIFN1cHBvcnRlZExhbmd1YWdlcywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgRkFMU0Us DQo+ID4gLy8gUkZDIDQ2NDYgbW9kZQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBMYW5ndWFn ZSwNCj4gPiAvLyBIaWdoZXN0IHByaW9yaXR5DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIFBs YXRmb3JtTGFuZ3VhZ2UgIT0gTlVMTCA/IFBsYXRmb3JtTGFuZ3VhZ2UgOg0KPiA+ICIiLCAgLy8g TmV4dCBoaWdoZXN0IHByaW9yaXR5DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIFN1cHBvcnRl ZExhbmd1YWdlcywNCj4gPiAvLyBMb3dlc3QgcHJpb3JpdHkNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgTlVMTA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiA+ICsgICAgaWYgKEJl c3RMYW5ndWFnZSA9PSBOVUxMKSB7DQo+ID4gKyAgICAgIGdvdG8gRXJyb3I7DQo+ID4gKyAgICB9 DQo+ID4gKyAgfSBlbHNlIHsNCj4gPiArICAgIEJlc3RMYW5ndWFnZSA9IChDSEFSOCAqKSBMYW5n dWFnZTsNCj4gPiAgICB9DQo+ID4NCj4gPiArDQo+ID4gICAgLy8NCj4gPiAgICAvLyBSZXRyaWV2 ZSB0aGUgc2l6ZSBvZiB0aGUgc3RyaW5nIGluIHRoZSBzdHJpbmcgcGFja2FnZSBmb3IgdGhlDQo+ ID4gQmVzdExhbmd1YWdlDQo+ID4gICAgLy8NCj4gPiBAQCAtMzM3LDcgKzM4NCw3IEBAIEVycm9y Og0KPiA+ICAgIGlmIChQbGF0Zm9ybUxhbmd1YWdlICE9IE5VTEwpIHsNCj4gPiAgICAgIEZyZWVQ b29sIChQbGF0Zm9ybUxhbmd1YWdlKTsNCj4gPiAgICB9DQo+ID4gLSAgaWYgKEJlc3RMYW5ndWFn ZSAhPSBOVUxMKSB7DQo+ID4gKyAgaWYgKFRyeUJlc3RMYW5ndWFnZSAmJiBCZXN0TGFuZ3VhZ2Ug IT0gTlVMTCkgew0KPiA+ICAgICAgRnJlZVBvb2wgKEJlc3RMYW5ndWFnZSk7DQo+ID4gICAgfQ0K PiA+DQo+ID4gLS0NCj4gPiAyLjE3LjENCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+IA0KPiAN Cj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=