From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web10.8849.1611760218096560770 for ; Wed, 27 Jan 2021 07:10:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=aq8kFcFc; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=06618270ea=abner.chang@hpe.com) Received: from pps.filterd (m0134422.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 10REwMC4018218; Wed, 27 Jan 2021 15:09:39 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=2zPXExDikAKAhr1vM1tH6SGSrqAULqXvxEG+3EKONMA=; b=aq8kFcFcr1Xbuv55OtN9ajOsXiPtC/2iLG7TjZIg2wYvjhwjOF9mLcnOeLdvULu4ioft WelJW4e4yMN5sq+M/nA2kERTbhJyDsQer0tCpyTJkhpMAX67OQWAFR0Rnc4BIlK0RIcp Z6SYM2i/o1g2Ajq8U2JjT64N2AUPc34Vtc+gJ2xQvXXXmnDJcbwiQg2bj+A8nt3S0ovb bfUH4orU8gd9VGARkA7tLPF5LP0vcdo+zgYs1tOZg2IDMUxO9aInmnz24ZB8yVLq4GLi 8kURLQs3I2ulx25nbeP6Zgq4zzsIRRfb0eDGUQUgVQ8zTC3ry/w45CrwcKZPloCMERlD NA== Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0b-002e3701.pphosted.com with ESMTP id 36b0x7mayn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 27 Jan 2021 15:09:38 +0000 Received: from G4W9121.americas.hpqcorp.net (exchangepmrr1.us.hpecorp.net [16.210.21.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g2t2354.austin.hpe.com (Postfix) with ESMTPS id D31A191; Wed, 27 Jan 2021 15:09:37 +0000 (UTC) Received: from G4W9121.americas.hpqcorp.net (2002:10d2:1510::10d2:1510) by G4W9121.americas.hpqcorp.net (2002:10d2:1510::10d2:1510) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 27 Jan 2021 15:09:36 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (15.241.52.13) by G4W9121.americas.hpqcorp.net (16.210.21.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 27 Jan 2021 15:09:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SVepog6OqY/tSXRZO9Bl7mSFFMTnzzqrk+4MXmQkQ3BHd2uCquQ9/KwAgUEjf2LuG4XMyfVbic7HMQ5V5RxezDyFwkfM3dqg8R1qzEAszWqJwFo0QcQ1JBGYooZP35XAK0XBWIaFGD24nXcwZaW4A743+NsJDsVDV/aeY8XFB2OK15UA609Oz7gPtjqSGxDThQB5+LsOZm/TvipHi+/mKoVBOQgz2g2Pebo/5BeaImeuzvy6/nBR5OFPaJI4UIlGqGDqyYmQU2qEwN4kn+Jt1Gj6Odim+M8lenV7Zcy3meoIXlB8LPmiRZZHuwivx7EbzcSOorpSsv/mnFy9QYrRRQ== 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=ZzMDdk+ZN+zrV2EIOctYn7OqanOn2HsFG+ZZ9GXhJMM=; b=FXnVfVway6NBwaWq1xEhCMGR5QJ4jEbdMzhWOxTL/ol3V70eWuOUhAtVEZYitAR+KQTyXka63b4wRrqaqV6LxvcFip616LDdnnSuuhgIP/fLHCzARnWT2E/x4Thz00aQn95jao9FiQPqa9r61HlUHdmhP/PdwrC09inZYaoPXwsU696HcDCKeyFM01ctyFLgKsbCT7hgFdodHypSdB7JXr5pOip/Wkfy2O5KyZVNliSdlB4cVOnn+FYX8qZULEksg/PuyxcxZe9bZJ2ZEwiycxha7g6rKq5CxXwt65uwQ5Oy7oHZwrDRFY8SRhXiqzZQ8fu9yThE4r8zUuV13tRB3w== 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 CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7507::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.16; Wed, 27 Jan 2021 15:09:35 +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.3784.019; Wed, 27 Jan 2021 15:09:35 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: 'Dandan Bi' , 'Eric Dong' , "Wang, Nickle (HPS SW)" , 'Michael D Kinney' Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/Library: Add HiiGetStringEx to UefiHiiLib for EDK2 Redfish Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/Library: Add HiiGetStringEx to UefiHiiLib for EDK2 Redfish Thread-Index: AQHT4eaQhHYErCem54zJIDUydZmqNao/RQBQgAJz9JA= Date: Wed, 27 Jan 2021 15:09:34 +0000 Message-ID: References: <20210122031525.30972-1-abner.chang@hpe.com> <010101d6f385$a15c29a0$e4147ce0$@byosoft.com.cn> In-Reply-To: <010101d6f385$a15c29a0$e4147ce0$@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: [165.225.116.142] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 2474e511-34c4-4d53-d805-08d8c2d58eaa x-ms-traffictypediagnostic: CS1PR8401MB1192: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:186; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gs7gokBeZQS3QMjVFwRS6sAS8ZI6ZGBp/4rnq+n6srRCm7IlZRJ4ta5pk9Cr6UjIhY6ta0O6RJtwsVdjAKlh9DPj5G5APlaMyMPU6SAA4241Ap30dCleVtt/cDnrVq7T/cEdNPBcXV8TUpcsBdpbRrtzLyQJ0J9lk5NevrfNARdK6milq1UOTwibigiSDWpVD4aavzI8znxpzdvPD4lZnXQBXiHKaGk+kSCRR8EPMFicBgT7JvkKGfRfjxrj7QxuCklrj16qF1xN2DGaddU+oaBHWLwK6B88sEy/aqdYVeaebun/ffpGD+QaOrEvrF9A9GjeqxUdjtecSo3B29csHkkJjA0fItksO3wqEOKRnDee+jEsLWf5XSsxWRaHMxfyhBsIonyoR7ay/tlfFjbZbIqJg3Dkh+nqhHzqxGE6J+nHIZhD0SOtOlV88J03hDGpx7Ex/uJc2LTI2LkBG+wCqQ== 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:(136003)(396003)(376002)(346002)(366004)(39860400002)(76116006)(66946007)(55236004)(54906003)(86362001)(53546011)(316002)(66556008)(64756008)(4326008)(66476007)(186003)(66446008)(52536014)(5660300002)(8676002)(2906002)(6506007)(7696005)(8936002)(83380400001)(110136005)(19627235002)(71200400001)(26005)(55016002)(478600001)(33656002)(966005)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?YVJHaWI5VzV1b3Zpd0Ztbi8xU1M2KzU3cXhGNk5pR2EwU2VvMHRxT2RuODkx?= =?gb2312?B?NFpYeFQ1bWtEemlpd3FWbFJTYXlrVDNmZmRmZWc2L3R3Y2NMeFl5Nm5jbCtY?= =?gb2312?B?Tk1sMWVXa2daZ2ZtOHl6TEtGZ0hLTGpFbXgzQ1QycStNbk8yNGZyL2xRY2VV?= =?gb2312?B?aFc4TU8vQjNXRlVGUkdDUXVlNTRoSlFpQXpzRzdONXhOTHV6Q3BNOEhJdDZZ?= =?gb2312?B?bWhjeVJJOGNRWWxoYlVvMkl4emZ4Mk81eUJVdUJSOFd5aTd0V2VpMUZPQTY0?= =?gb2312?B?cmRKdHQrcFhiV2oxZ1Rsckdpd2hNd29CNzNkVDBiU1UyelNNTWhxa1B2OEVv?= =?gb2312?B?bFgxSnNDc21ITk9oTklJZWk5UjE5UEd2S2tiL3NOUm1HUW5mMU56YVBOVzh4?= =?gb2312?B?NzZrWERzWGkrbHBYQkl6c2FaQjNWd1pUeU1nZmk0LytnYUVHWGg5N2NxeUp5?= =?gb2312?B?Q24xTitTYXVoeVRMMFJpbStpeklVUElnWHk4THJnRVZCVWtxU1FmMDRKQU05?= =?gb2312?B?b09EOXluZXBEQytWM2taNWdVTUNweCtGVUpBcjlDQy93Q1krdXVPckhQODY2?= =?gb2312?B?MmIvc1NNdWdEWEcxRHJuam0wNXhaUGdKLzJuZnNkbUkyWjduWUpSVUYyOFZS?= =?gb2312?B?REg5VFlNbDZKNUQ5TnltQ2xzOGJMTEF1c3hSZE1mOFpJSnF2TEtMZUhuNWVT?= =?gb2312?B?VHBSSTFJYWl5NlhZVnU2akw3Ny9DNkVIaU1oTEkzK0hZZUtVSGVhdWlJOVk0?= =?gb2312?B?TkliSUxna29sYUpEZ0Q2VUZSY3ZTVFhsV0J2ekl4dWJMeW9qUnRFUSs4YkY5?= =?gb2312?B?U2UwRlhGeXN2YkFGUmtjdkE4RnFHeVhOclNidzkrMFdnU3k3TThkVHp4MUJ5?= =?gb2312?B?RWhiZjVYNldlWWN5dHB6WDVsZFNCemR4OW14MXNFV2tLaXZYK0NBT2lyVGlK?= =?gb2312?B?UFMzY3g4TkpnMzhPdTB2Ym80MXdoS2pXZWtLU3R1bnF6OGZFRXF3YkxmNWs2?= =?gb2312?B?NFpFV2c5QTNUd0d6WjRQTXFJbFRiVlJQRWY2SWV2YVVWcVBreTBMa3V2Z0lu?= =?gb2312?B?b3BUenN1cTVYK1VrRElLdzN3ZThsdGVTSE5xNTNhSjhWNFJjd3diTlFuK0xT?= =?gb2312?B?U3FGVzJ0ODRHQ0tzMjUzdXVUcW5CbU4zbXkrbWQ2UVQraVVDM21tN1dzbERs?= =?gb2312?B?TkJtNjE5blhCd3ZyOXJobUJiWFBEanRCZC9rY2RBN3dEZWYra0oyMXdhNTYw?= =?gb2312?B?ZTIzUjJRc3MybjQrV3NhTkJDUElYS0poc0VSdHJId1hkckdFdGdjOXhsbytO?= =?gb2312?B?OEZwcnMzaCtCdUdod1AwN3JUVGxjdjYwWHJwTWpZbVVOZEFWbm9sc2hUeUR0?= =?gb2312?B?ajRTd3pOdDJLQWhrRzlKTkVPaXNLVDdwMklvMllRK0RHSDRVWUVvbm5qWG5z?= =?gb2312?Q?G5G0eTXR?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 2474e511-34c4-4d53-d805-08d8c2d58eaa X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2021 15:09:34.9119 (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: yaOXnVutKbdUYS+qQnCco3FvaohH4idsJpk1T4bXI2kHRmkqbvdLje9/ZVeWnIUZKlFiNz3oLZOpapV5Ff5wEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB1192 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.343,18.0.737 definitions=2021-01-27_05:2021-01-27,2021-01-27 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 spamscore=0 priorityscore=1501 adultscore=0 bulkscore=0 mlxscore=0 clxscore=1015 suspectscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101270083 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RG9uZSBhbmQgdjIgc2VudC4NClRoYW5rcw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMu aW9dIE9uIEJlaGFsZiBPZg0KPiBnYW9saW1pbmcNCj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAy NiwgMjAyMSA5OjUxIEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQ2hhbmcsIEFibmVy IChIUFMgU1cvRlcgVGVjaG5vbG9naXN0KQ0KPiA8YWJuZXIuY2hhbmdAaHBlLmNvbT4NCj4gQ2M6 ICdEYW5kYW4gQmknIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgJ0VyaWMgRG9uZycgPGVyaWMuZG9u Z0BpbnRlbC5jb20+Ow0KPiBXYW5nLCBOaWNrbGUgKEhQUyBTVykgPG5pY2tsZS53YW5nQGhwZS5j b20+OyAnTWljaGFlbCBEIEtpbm5leScNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0K PiBTdWJqZWN0OiC72Li0OiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1bGVQa2cvTGlicmFy eTogQWRkDQo+IEhpaUdldFN0cmluZ0V4IHRvIFVlZmlIaWlMaWIgZm9yIEVESzIgUmVkZmlzaA0K PiANCj4gQWJuZXI6DQo+ICBJIGFncmVlIHRoaXMgcmVxdWVzdCBpcyByZWFzb25hYmxlLiBOZXcg QVBJIG5hbWUgSGlpR2V0U3RyaW5nRXggaXMgT0sgdG8gbWUuDQo+IEkgaGF2ZSBzb21lIGNvbW1l bnRzIG9uIHRoZSBkZXRhaWwgb2YgdGhpcyBBUEkuDQo+IA0KPiAxLiBQbGVhc2UgZGVzY3JpYmUg dGhlIGJlaGF2aW9yIGluIGZ1bmN0aW9uIGhlYWRlciB3aGVuIFRyeUJlc3RMYW5ndWFnZSBpcw0K PiBGQVNMRS4NCj4gMi4gV2hlbiBUcnlCZXN0TGFuZ3VhZ2UgaXMgRkFMU0UsIHRoZSBpbnB1dCBM YW5ndWFnZSBjYW4ndCBiZSBOVUxMLiBJZg0KPiBMYW5ndWFnZSBpcyBOVUxMLCB0aGUgZnVuY3Rp b24gc2hvdWxkIHJldHVybiB0aGUgaW52YWxpZCBwYXJhbWV0ZXIuDQo+IA0KPiBUaGFua3MNCj4g TGltaW5nDQo+ID4gLS0tLS3Tyrz+1K28/i0tLS0tDQo+ID4gt6K8/sjLOiBib3VuY2UrMjc5NTIr NzA2NjErNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA+IDxib3VuY2UrMjc5NTIrNzA2NjEr NDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbz4gtPqx7SBBYm5lciBDaGFuZw0KPiA+ILeiy83Ksbzk OiAyMDIxxOox1MIyMsjVIDExOjE1DQo+ID4gytW8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiA+ILOty806IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGludGVsLmNvbT47IEVyaWMgRG9uZyA8ZXJp Yy5kb25nQGludGVsLmNvbT47DQo+ID4gTmlja2xlIFdhbmcgPG5pY2tsZS53YW5nQGhwZS5jb20+ DQo+ID4g1vfM4jogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0xpYnJhcnk6IEFk ZCBIaWlHZXRTdHJpbmdFeCB0bw0KPiA+IFVlZmlIaWlMaWIgZm9yIEVESzIgUmVkZmlzaA0KPiA+ DQo+ID4gQWRkIEhpaUdldFN0cmluZ0V4IGFuZCBsZXZlcmFnZWQgYnkgSGlpR2V0U3RyaW5nIGZ1 bmN0aW9uIHRvIHN1cHBvcnQNCj4gPiBnZXR0aW5nIHN0cmluZyB3aXRoIHRoZSBiZXN0IGxhbmd1 YWdlIGluIG9wdGlvbmFsbHkuIFRoaXMgYXZvaWRzIHRoZQ0KPiA+IHN0cmluZyBpbiB4LXVlZmkg bGFuZ3VhZ2UgaXMgbWlzbGVkIHRvIHRoZSBsYW5ndWFnZSBkZWZpbmVkIGJ5DQo+ID4gIlBsYXRm b3JtTGFuZyIgb3IgdGhlICJTdXBwb3J0ZWQgTGFuZ3VhZ2VzIi4gVGhpcyBjaGFuZ2UgaXMgaW50 cm9kdWNlZA0KPiA+IHRvIHN1cHBvcnQgeC11ZWZpIGtleXdvcmQgbGFuZ3VhZ2UgZm9yIGNvbmZp Z3VyaW5nIEJJT1Mgc2V0dGluZy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEppYXhpbiBXdSA8 amlheGluLnd1QGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBTaXl1YW4gRnUgPHNpeXVh bi5mdUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogRmFuIFdhbmcgPGZhbi53YW5nQGlu dGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBYm5lciBDaGFuZyA8YWJuZXIuY2hhbmdAaHBl LmNvbT4NCj4gPiBDYzogRGFuZGFuIEJpIDxkYW5kYW4uYmlAaW50ZWwuY29tPg0KPiA+IENjOiBF cmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IE5pY2tsZSBXYW5nIDxuaWNr bGUud2FuZ0BocGUuY29tPg0KPiA+IC0tLQ0KPiA+ICBNZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJy YXJ5L0hpaUxpYi5oICAgICAgIHwgNDEgKysrKysrKysrKystDQo+ID4gIE1kZU1vZHVsZVBrZy9M aWJyYXJ5L1VlZmlIaWlMaWIvSGlpU3RyaW5nLmMgfCA3Mw0KPiA+ICsrKysrKysrKysrKysrKyst LS0tLQ0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9u cygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkv SGlpTGliLmgNCj4gPiBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkvSGlpTGliLmgNCj4g PiBpbmRleCBjNDc1Y2I3NGExLi42NmM2NTRkY2QzIDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVs ZVBrZy9JbmNsdWRlL0xpYnJhcnkvSGlpTGliLmgNCj4gPiArKysgYi9NZGVNb2R1bGVQa2cvSW5j bHVkZS9MaWJyYXJ5L0hpaUxpYi5oDQo+ID4gQEAgLTEsNyArMSw3IEBADQo+ID4gIC8qKiBAZmls ZQ0KPiA+ICAgIFB1YmxpYyBpbmNsdWRlIGZpbGUgZm9yIHRoZSBISUkgTGlicmFyeQ0KPiA+DQo+ ID4gLUNvcHlyaWdodCAoYykgMjAwNyAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICtDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDIxLCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPiAgKiov DQo+ID4gQEAgLTE1Miw4ICsxNTIsNDMgQEAgSGlpR2V0U3RyaW5nICgNCj4gPiAgICBJTiBFRklf SElJX0hBTkRMRSAgSGlpSGFuZGxlLA0KPiA+ICAgIElOIEVGSV9TVFJJTkdfSUQgICBTdHJpbmdJ ZCwNCj4gPiAgICBJTiBDT05TVCBDSEFSOCAgICAgKkxhbmd1YWdlICBPUFRJT05BTA0KPiA+IC0g ICkNCj4gPiAtOw0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBSZXRyaWV2ZXMg YSBzdHJpbmcgZnJvbSBhIHN0cmluZyBwYWNrYWdlIGluIGEgc3BlY2lmaWMgbGFuZ3VhZ2UuDQo+ ID4gK0lmDQo+IHRoZQ0KPiA+IGxhbmd1YWdlDQo+ID4gKyAgaXMgbm90IHNwZWNpZmllZCwgdGhl biBhIHN0cmluZyBmcm9tIGEgc3RyaW5nIHBhY2thZ2UgaW4gdGhlDQo+ID4gKyBjdXJyZW50DQo+ IHBsYXRmb3JtDQo+ID4gKyAgbGFuZ3VhZ2UgaXMgcmV0cmlldmVkLiAgSWYgdGhlIHN0cmluZyBj YW4gbm90IGJlIHJldHJpZXZlZCB1c2luZw0KPiA+ICsgdGhlDQo+ID4gc3BlY2lmaWVkDQo+ID4g KyAgbGFuZ3VhZ2Ugb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0gbGFuZ3VhZ2UsIHRoZW4gdGhlIHN0 cmluZyBpcw0KPiA+ICsgcmV0cmlldmVkDQo+ID4gZnJvbQ0KPiA+ICsgIHRoZSBzdHJpbmcgcGFj a2FnZSBpbiB0aGUgZmlyc3QgbGFuZ3VhZ2UgdGhlIHN0cmluZyBwYWNrYWdlIHN1cHBvcnRzLg0K PiBUaGUNCj4gPiArICByZXR1cm5lZCBzdHJpbmcgaXMgYWxsb2NhdGVkIHVzaW5nIEFsbG9jYXRl UG9vbCgpLiAgVGhlIGNhbGxlciBpcw0KPiByZXNwb25zaWJsZQ0KPiA+ICsgIGZvciBmcmVlaW5n IHRoZSBhbGxvY2F0ZWQgYnVmZmVyIHVzaW5nIEZyZWVQb29sKCkuDQo+ID4gKw0KPiA+ICsgIElm IEhpaUhhbmRsZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPiA+ICsgIElmIFN0cmluZ0lkIGlz IDAsIHRoZW4gQVNTRVQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gIEhpaUhhbmRsZSAgICAg ICAgIEEgaGFuZGxlIHRoYXQgd2FzIHByZXZpb3VzbHkNCj4gPiByZWdpc3RlcmVkIGluIHRoZSBI SUkgRGF0YWJhc2UuDQo+ID4gKyAgQHBhcmFtW2luXSAgU3RyaW5nSWQgICAgICAgICAgVGhlIGlk ZW50aWZpZXIgb2YgdGhlIHN0cmluZyB0byByZXRyaWV2ZWQNCj4gPiBmcm9tIHRoZSBzdHJpbmcN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlIGFzc29jaWF0ZWQg d2l0aCBIaWlIYW5kbGUuDQo+ID4gKyAgQHBhcmFtW2luXSAgTGFuZ3VhZ2UgICAgICAgICAgVGhl IGxhbmd1YWdlIG9mIHRoZSBzdHJpbmcgdG8gcmV0cmlldmUuDQo+ID4gSWYgdGhpcyBwYXJhbWV0 ZXINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBOVUxMLCB0aGVuIHRo ZSBjdXJyZW50IHBsYXRmb3JtDQo+ID4gbGFuZ3VhZ2UgaXMgdXNlZC4gIFRoZQ0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCBvZiBMYW5ndWFnZSBtdXN0IGZvbGxv dyB0aGUNCj4gPiBsYW5ndWFnZSBmb3JtYXQgYXNzdW1lZA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRoZSBISUkgRGF0YWJhc2UuDQo+ID4gKyAgQHBhcmFtW2luXSAgVHJ5 QmVzdExhbmd1YWdlICAgSWYgVFJVRSwgdHJ5IHRvIGdldCB0aGUgYmVzdCBtYXRjaGluZw0KPiA+ IGxhbmd1YWdlIGZyb20gYWxsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3VwcG9ydGVkIGxhbmd1YWdlcy4NCj4gPiArDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgTlVMTCAg IFRoZSBzdHJpbmcgc3BlY2lmaWVkIGJ5IFN0cmluZ0lkIGlzIG5vdCBwcmVzZW50IGluIHRoZQ0K PiA+IHN0cmluZyBwYWNrYWdlLg0KPiA+ICsgIEByZXR2YWwgT3RoZXIgIFRoZSBzdHJpbmcgd2Fz IHJldHVybmVkLg0KPiA+ICsNCj4gPiArKiovDQo+ID4gK0VGSV9TVFJJTkcNCj4gPiArRUZJQVBJ DQo+ID4gK0hpaUdldFN0cmluZ0V4ICgNCj4gPiArICBJTiBFRklfSElJX0hBTkRMRSAgSGlpSGFu ZGxlLA0KPiA+ICsgIElOIEVGSV9TVFJJTkdfSUQgICBTdHJpbmdJZCwNCj4gPiArICBJTiBDT05T VCBDSEFSOCAgICAgKkxhbmd1YWdlICBPUFRJT05BTCwNCj4gPiArICBJTiBCT09MRUFOICAgICAg ICAgVHJ5QmVzdExhbmd1YWdlDQo+ID4gKyAgKTsNCj4gPg0KPiA+ICAvKioNCj4gPiAgICBSZXRy aWV2ZXMgYSBzdHJpbmcgZnJvbSBhIHN0cmluZyBwYWNrYWdlIG5hbWVkIGJ5IEdVSUQsIGluIHRo ZQ0KPiBzcGVjaWZpZWQNCj4gPiBsYW5ndWFnZS4NCj4gPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxl UGtnL0xpYnJhcnkvVWVmaUhpaUxpYi9IaWlTdHJpbmcuYw0KPiA+IGIvTWRlTW9kdWxlUGtnL0xp YnJhcnkvVWVmaUhpaUxpYi9IaWlTdHJpbmcuYw0KPiA+IGluZGV4IDk1MjI5ZjhhOGMuLmYzYzUy YWNlNTYgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvVWVmaUhpaUxpYi9I aWlTdHJpbmcuYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlIaWlMaWIvSGlp U3RyaW5nLmMNCj4gPiBAQCAtMSw3ICsxLDcgQEANCj4gPiAgLyoqIEBmaWxlDQo+ID4gICAgSElJ IExpYnJhcnkgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIERYRSBwcm90b2NvbHMgYW5kIHNlcnZp Y2VzLg0KPiA+DQo+ID4gLSAgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4gKyAgQ29weXJpZ2h0IChj KSAyMDA2IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiArIHJlc2Vy dmVkLjxCUj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiA+DQo+ID4gICoqLw0KPiA+IEBAIC0yMjAsNiArMjIwLDQ0IEBAIEhpaUdldFN0cmlu ZyAoDQo+ID4gICAgSU4gRUZJX1NUUklOR19JRCAgIFN0cmluZ0lkLA0KPiA+ICAgIElOIENPTlNU IENIQVI4ICAgICAqTGFuZ3VhZ2UgIE9QVElPTkFMDQo+ID4gICAgKQ0KPiA+ICt7DQo+ID4gKyAg cmV0dXJuIEhpaUdldFN0cmluZ0V4IChIaWlIYW5kbGUsIFN0cmluZ0lkLCBMYW5ndWFnZSwgVFJV RSk7IH0NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFJldHJpZXZlcyBhIHN0cmluZyBmcm9tIGEg c3RyaW5nIHBhY2thZ2UgaW4gYSBzcGVjaWZpYyBsYW5ndWFnZS4NCj4gPiArSWYNCj4gdGhlDQo+ ID4gbGFuZ3VhZ2UNCj4gPiArICBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIGEgc3RyaW5nIGZyb20g YSBzdHJpbmcgcGFja2FnZSBpbiB0aGUNCj4gPiArIGN1cnJlbnQNCj4gcGxhdGZvcm0NCj4gPiAr ICBsYW5ndWFnZSBpcyByZXRyaWV2ZWQuICBJZiB0aGUgc3RyaW5nIGNhbiBub3QgYmUgcmV0cmll dmVkIHVzaW5nDQo+ID4gKyB0aGUNCj4gPiBzcGVjaWZpZWQNCj4gPiArICBsYW5ndWFnZSBvciB0 aGUgY3VycmVudCBwbGF0Zm9ybSBsYW5ndWFnZSwgdGhlbiB0aGUgc3RyaW5nIGlzDQo+ID4gKyBy ZXRyaWV2ZWQNCj4gPiBmcm9tDQo+ID4gKyAgdGhlIHN0cmluZyBwYWNrYWdlIGluIHRoZSBmaXJz dCBsYW5ndWFnZSB0aGUgc3RyaW5nIHBhY2thZ2Ugc3VwcG9ydHMuDQo+IFRoZQ0KPiA+ICsgIHJl dHVybmVkIHN0cmluZyBpcyBhbGxvY2F0ZWQgdXNpbmcgQWxsb2NhdGVQb29sKCkuICBUaGUgY2Fs bGVyIGlzDQo+IHJlc3BvbnNpYmxlDQo+ID4gKyAgZm9yIGZyZWVpbmcgdGhlIGFsbG9jYXRlZCBi dWZmZXIgdXNpbmcgRnJlZVBvb2woKS4NCj4gPiArDQo+ID4gKyAgSWYgSGlpSGFuZGxlIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+ID4gKyAgSWYgU3RyaW5nSWQgaXMgMCwgdGhlbiBBU1NFVC4N Cj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSAgSGlpSGFuZGxlICAgICAgICAgQSBoYW5kbGUgdGhh dCB3YXMgcHJldmlvdXNseQ0KPiA+IHJlZ2lzdGVyZWQgaW4gdGhlIEhJSSBEYXRhYmFzZS4NCj4g PiArICBAcGFyYW1baW5dICBTdHJpbmdJZCAgICAgICAgICBUaGUgaWRlbnRpZmllciBvZiB0aGUg c3RyaW5nIHRvIHJldHJpZXZlZA0KPiA+IGZyb20gdGhlIHN0cmluZw0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UgYXNzb2NpYXRlZCB3aXRoIEhpaUhhbmRsZS4N Cj4gPiArICBAcGFyYW1baW5dICBMYW5ndWFnZSAgICAgICAgICBUaGUgbGFuZ3VhZ2Ugb2YgdGhl IHN0cmluZyB0byByZXRyaWV2ZS4NCj4gPiBJZiB0aGlzIHBhcmFtZXRlcg0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlzIE5VTEwsIHRoZW4gdGhlIGN1cnJlbnQgcGxhdGZv cm0NCj4gPiBsYW5ndWFnZSBpcyB1c2VkLiAgVGhlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZm9ybWF0IG9mIExhbmd1YWdlIG11c3QgZm9sbG93IHRoZQ0KPiA+IGxhbmd1 YWdlIGZvcm1hdCBhc3N1bWVkDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dGhlIEhJSSBEYXRhYmFzZS4NCj4gPiArICBAcGFyYW1baW5dICBUcnlCZXN0TGFuZ3VhZ2UgICBJ ZiBUUlVFLCB0cnkgdG8gZ2V0IHRoZSBiZXN0IG1hdGNoaW5nDQo+ID4gbGFuZ3VhZ2UgZnJvbSBh bGwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgbGFuZ3Vh Z2VzLg0KPiA+ICsNCj4gPiArICBAcmV0dmFsIE5VTEwgICBUaGUgc3RyaW5nIHNwZWNpZmllZCBi eSBTdHJpbmdJZCBpcyBub3QgcHJlc2VudCBpbiB0aGUNCj4gPiBzdHJpbmcgcGFja2FnZS4NCj4g PiArICBAcmV0dmFsIE90aGVyICBUaGUgc3RyaW5nIHdhcyByZXR1cm5lZC4NCj4gPiArDQo+ID4g KyoqLw0KPiA+ICtFRklfU1RSSU5HDQo+ID4gK0VGSUFQSQ0KPiA+ICtIaWlHZXRTdHJpbmdFeCAo DQo+ID4gKyAgSU4gRUZJX0hJSV9IQU5ETEUgIEhpaUhhbmRsZSwNCj4gPiArICBJTiBFRklfU1RS SU5HX0lEICAgU3RyaW5nSWQsDQo+ID4gKyAgSU4gQ09OU1QgQ0hBUjggICAgICpMYW5ndWFnZSAg T1BUSU9OQUwsDQo+ID4gKyAgSU4gQk9PTEVBTiAgICAgICAgIFRyeUJlc3RMYW5ndWFnZQ0KPiA+ ICsgICkNCj4gPiAgew0KPiA+ICAgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gPiAgICBVSU5UTiAg ICAgICBTdHJpbmdTaXplOw0KPiA+IEBAIC0yNjEsMjEgKzI5OSwyNiBAQCBIaWlHZXRTdHJpbmcg KA0KPiA+ICAgICAgTGFuZ3VhZ2UgPSAiIjsNCj4gPiAgICB9DQo+ID4NCj4gPiAtICAvLw0KPiA+ IC0gIC8vIEdldCB0aGUgYmVzdCBtYXRjaGluZyBsYW5ndWFnZSBmcm9tIFN1cHBvcnRlZExhbmd1 YWdlcw0KPiA+IC0gIC8vDQo+ID4gLSAgQmVzdExhbmd1YWdlID0gR2V0QmVzdExhbmd1YWdlICgN Cj4gPiAtICAgICAgICAgICAgICAgICAgIFN1cHBvcnRlZExhbmd1YWdlcywNCj4gPiAtICAgICAg ICAgICAgICAgICAgIEZBTFNFLA0KPiA+IC8vIFJGQyA0NjQ2IG1vZGUNCj4gPiAtICAgICAgICAg ICAgICAgICAgIExhbmd1YWdlLA0KPiA+IC8vIEhpZ2hlc3QgcHJpb3JpdHkNCj4gPiAtICAgICAg ICAgICAgICAgICAgIFBsYXRmb3JtTGFuZ3VhZ2UgIT0gTlVMTCA/IFBsYXRmb3JtTGFuZ3VhZ2Ug OiAiIiwNCj4gPiAvLyBOZXh0IGhpZ2hlc3QgcHJpb3JpdHkNCj4gPiAtICAgICAgICAgICAgICAg ICAgIFN1cHBvcnRlZExhbmd1YWdlcywNCj4gPiAvLyBMb3dlc3QgcHJpb3JpdHkNCj4gPiAtICAg ICAgICAgICAgICAgICAgIE5VTEwNCj4gPiAtICAgICAgICAgICAgICAgICAgICk7DQo+ID4gLSAg aWYgKEJlc3RMYW5ndWFnZSA9PSBOVUxMKSB7DQo+ID4gLSAgICBnb3RvIEVycm9yOw0KPiA+ICsg IGlmIChUcnlCZXN0TGFuZ3VhZ2UpIHsNCj4gPiArICAgIC8vDQo+ID4gKyAgICAvLyBHZXQgdGhl IGJlc3QgbWF0Y2hpbmcgbGFuZ3VhZ2UgZnJvbSBTdXBwb3J0ZWRMYW5ndWFnZXMNCj4gPiArICAg IC8vDQo+ID4gKyAgICBCZXN0TGFuZ3VhZ2UgPSBHZXRCZXN0TGFuZ3VhZ2UgKA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICBTdXBwb3J0ZWRMYW5ndWFnZXMsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgIEZBTFNFLA0KPiA+IC8vIFJGQyA0NjQ2IG1vZGUNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgTGFuZ3VhZ2UsDQo+ID4gLy8gSGlnaGVzdCBwcmlvcml0eQ0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICBQbGF0Zm9ybUxhbmd1YWdlICE9IE5VTEwgPyBQbGF0Zm9ybUxhbmd1YWdlIDoN Cj4gPiAiIiwgIC8vIE5leHQgaGlnaGVzdCBwcmlvcml0eQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICBTdXBwb3J0ZWRMYW5ndWFnZXMsDQo+ID4gLy8gTG93ZXN0IHByaW9yaXR5DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgKTsNCj4g PiArICAgIGlmIChCZXN0TGFuZ3VhZ2UgPT0gTlVMTCkgew0KPiA+ICsgICAgICBnb3RvIEVycm9y Ow0KPiA+ICsgICAgfQ0KPiA+ICsgIH0gZWxzZSB7DQo+ID4gKyAgICBCZXN0TGFuZ3VhZ2UgPSAo Q0hBUjggKikgTGFuZ3VhZ2U7DQo+ID4gICAgfQ0KPiA+DQo+ID4gKw0KPiA+ICAgIC8vDQo+ID4g ICAgLy8gUmV0cmlldmUgdGhlIHNpemUgb2YgdGhlIHN0cmluZyBpbiB0aGUgc3RyaW5nIHBhY2th Z2UgZm9yIHRoZQ0KPiA+IEJlc3RMYW5ndWFnZQ0KPiA+ICAgIC8vDQo+ID4gQEAgLTMzNyw3ICsz ODAsNyBAQCBFcnJvcjoNCj4gPiAgICBpZiAoUGxhdGZvcm1MYW5ndWFnZSAhPSBOVUxMKSB7DQo+ ID4gICAgICBGcmVlUG9vbCAoUGxhdGZvcm1MYW5ndWFnZSk7DQo+ID4gICAgfQ0KPiA+IC0gIGlm IChCZXN0TGFuZ3VhZ2UgIT0gTlVMTCkgew0KPiA+ICsgIGlmIChUcnlCZXN0TGFuZ3VhZ2UgJiYg QmVzdExhbmd1YWdlICE9IE5VTEwpIHsNCj4gPiAgICAgIEZyZWVQb29sIChCZXN0TGFuZ3VhZ2Up Ow0KPiA+ICAgIH0NCj4gPg0KPiA+IC0tDQo+ID4gMi4xNy4xDQo+ID4NCj4gPg0KPiA+DQo+ID4N Cj4gPg0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K