From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web12.479.1624402157191819574 for ; Tue, 22 Jun 2021 15:49:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=WA/qG1dS; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: guo.dong@intel.com) IronPort-SDR: bwSS6PFgJEhL8mCNSUK3jGB+0TMvc+8JaGd60WaIQlatvoBLDIjsU66DLC6hhRi/0QUagZuo2w i3i5VlYuncCg== X-IronPort-AV: E=McAfee;i="6200,9189,10023"; a="194296022" X-IronPort-AV: E=Sophos;i="5.83,292,1616482800"; d="scan'208";a="194296022" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2021 15:49:16 -0700 IronPort-SDR: o5UxnDs2NkqC6xAgIgsBQkOtVZA0MXMGPrc8Yh5gZEwRkrsmFO8tKCKLyGKcLqw18uax5D8YKa +zsWh6wbO6Tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,292,1616482800"; d="scan'208";a="487075562" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 22 Jun 2021 15:49:14 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 22 Jun 2021 15:49:14 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 22 Jun 2021 15:49:14 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.175) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Tue, 22 Jun 2021 15:49:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cvFXf94U1zg0rXM9iU8UP7LDwnWCH8LCxR8gMXaYep9X0whj6QFqwM9iWgAuP5sZWcZedCXVOcUbzktuVBSCgwRxNoVlya4LbgSkqx8JLi5kYWH+aeZQn2QrXrqQnI8EiedKhkHI9PwQXSJmx54tIVAoCdQQkg3EsFctPuXgB5+9vmRuOyRbS6dcH9WoYVgBp7NAWTcGNI4wxT1EurKarrB+LsrFonb2JKiY837EXRP13PDXC1kFKyJkX1sVveCP9E/R/Auuc2nX1RV380GLiafPZpLz8WJ4Gl1HkQ8Inj3b6ReFP20Tem2tawCJKllv32xp9bUMDVA2y2floQlZhA== 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=SITKfy1HX7VZ2KZluebRIZQATBsxzEt5dfh+D1nZ/z4=; b=LJDFKdFhFPavFqZrknVN3VwBpL2t264CrqXDT24gaDlQHc1y+dMOPKZ3jw2e+o+VxehDNd4FwZqpNAn+5zWJWWzn2kcSgCLbGe8hg/V6+L7zEC2Z/F8pZjGaAHuXKs7etED3e6mMqLn70y9+2ImNVn8BJQNbl+eK00zVCeEbtIJA4O8GCGLucGwwOiy+zaCHQqTqEUn9FAP8qdIYRu4K23I4F0Lnj2f9JGOkM+ppXHyhPKtaO8Q8XND1DGkElI20xJfWwbN6KfLhoEZNrzh8gFA2ZtkVSNBTGQ6SBGMqfbbgGLhdNjL0OIySpeYg4MDtY9GWvwcW9h7vQTdbfZWP0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SITKfy1HX7VZ2KZluebRIZQATBsxzEt5dfh+D1nZ/z4=; b=WA/qG1dSc5MGuiI0H+9QD9RKSmB9u025HnVgradEWkCFAkeMb4KzHeR7NWiN3TkcQs+G9l7YfcbHILuilCczIGk3NbmNzSMM2EWcemr3vZymv5KBZZ2nIT9H7tRVut48GcGotDSKzf2d0x3LvqlWJUJg/HkkkrZoQeKhs4vrNf8= Received: from BYAPR11MB3622.namprd11.prod.outlook.com (2603:10b6:a03:fe::30) by SJ0PR11MB4960.namprd11.prod.outlook.com (2603:10b6:a03:2ac::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Tue, 22 Jun 2021 22:49:12 +0000 Received: from BYAPR11MB3622.namprd11.prod.outlook.com ([fe80::247b:262c:b8da:710b]) by BYAPR11MB3622.namprd11.prod.outlook.com ([fe80::247b:262c:b8da:710b%7]) with mapi id 15.20.4242.023; Tue, 22 Jun 2021 22:49:12 +0000 From: "Guo Dong" To: "Liu, Zhiguang" , "devel@edk2.groups.io" CC: "Ma, Maurice" , "You, Benjamin" Subject: Re: [PATCH 07/12] UefiPayloadPkg: Fix up UPL Pcd database Thread-Topic: [PATCH 07/12] UefiPayloadPkg: Fix up UPL Pcd database Thread-Index: AQHXZeuURudWcPqWYEySf5xXG9XYmKsgl42w Date: Tue, 22 Jun 2021 22:49:12 +0000 Message-ID: References: <20210620154702.2681-1-zhiguang.liu@intel.com> <20210620154702.2681-8-zhiguang.liu@intel.com> In-Reply-To: <20210620154702.2681-8-zhiguang.liu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [68.104.146.79] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c706498b-60a0-400f-5cfb-08d935cff46c x-ms-traffictypediagnostic: SJ0PR11MB4960: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: K0b/IuRkz0Bp9dV7WUbgTztDUb7EmxE+rWW+z+YLlvztxOQ6JAK4EClOU1xMx/7y4oBmN46N28OdYjmFyezPQNwliycaFnG558SJ196dbwGhEWC/hm9L6WFDFL26ULFhwFs1hSev2nuInUv+oiXQMMaSvp/j5wvtE/N+detOHyCBKcARi4FLZpif8eofBWl1o3veg8H8U0vdkrUSA2pGjfvwBdPee5LYAgcnv0AORWxudNlKTLa0qeKRRXJbGMmX83XX3vi6ZcyoIWwpDgSKoafHGWUQGBuw2aC7te8vEX3X5QJ/KNTYE4aI6UXBcaZj+NnQ4HkM0TBIAc2bkDUQM0uqSyqidIQJMboGEAXnYY3b/BS++TzhZt/M+MYDeMaKGcexN1wIVfveQ2SDULjwDAbxGecNGBMiUnA2Rs9eprvGsg8z0crrjeQvXI90pwnAyrVRazDLBqW+ll/G4sGZ4WSnBFeoxJWO+eA6T+0pDYf6OftmLtZy3AfUPmIAmu4PZf93JgIUPn2ORvL2ApNbaVWG3AyXTyPzsG4z2Rne6ZsRXvG4WvlZIuNsrqrrhlJhYoGt2L+TsBwSxRgYVdnyWcgJ31PAV7u0eN0DB29ys6ruvSrP+HPQYtx6dyZg8Wa2RtLxuyidOof4q2jGrU4f/RLEgohijqtEUoBvs122WBI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3622.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(39860400002)(376002)(346002)(396003)(7696005)(52536014)(122000001)(66446008)(86362001)(8936002)(5660300002)(186003)(8676002)(478600001)(71200400001)(83380400001)(66556008)(66476007)(30864003)(64756008)(26005)(38100700002)(33656002)(6506007)(54906003)(66946007)(110136005)(4326008)(19627235002)(2906002)(107886003)(316002)(9686003)(76116006)(53546011)(55016002)(130980200001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d21PbFlNMjBPR0tSNWRjSTV0TnA0L2ZwUHRVUTZTUWJETTJYUTRFTGRoMUpL?= =?utf-8?B?QUwwWEwvUURtVnJ2Mlg5dW5zeXBORGNVeTRJL2U1dWRWZW9RSTVKY1NWZXZh?= =?utf-8?B?VHdwazZ3WE5HSTRmMmQyR2prVURsdmlmM3pIanpYUEUrV21vVEVDSC8xK3RS?= =?utf-8?B?WXhoakhiQWt1V052ZUZaQ2pjeU9rNXMwbEpXMUZ3aThmTzc4dk9ud2I2WWs2?= =?utf-8?B?RDByQkc1N3NYS2c5SFZFT09XalhRdXRjUE9OZGtUL01qVDh0emJkQkR4dmlG?= =?utf-8?B?STY3MEdvNUVZZ3Rnbml5aDlSVmt4Um5MNzVoSWdZYko3amxFWTBvR005RFov?= =?utf-8?B?bGdLaEdNdFBZUmYvc0pKQmFZVGp3cDJsc25RU0RNeVhCRFFoR1FZNFMvRmc0?= =?utf-8?B?TlZ1bW42VmowcjBYcW5RVlYrTXprKy82emVYUGswWStXdzE1QmNBbCszY1Ni?= =?utf-8?B?ZzUzbXA2YVRyS0JPQmU5R1FKNkhURDVraUptSmRtQzhURWltckFoVjQ2bURQ?= =?utf-8?B?eHg1dmNaVlJJRmRmd3BVRVFMUGdJMWxObXRIcjJ1bG9rSFhvVEdDaTQ1VktK?= =?utf-8?B?bCtrMFd5V1NMeU5HRklNUHYyZ0k1S1ZRc1psdkRDcDhlNmJKN1BxcWJSM0tq?= =?utf-8?B?MlRoV3l4enZBSEdNMEk4eklIcnFFQk1ZSzc4Z1lucG8vM1YyNkRzSC9xNTRt?= =?utf-8?B?aFB6N2ZNc1QvNDFPdkVVaE53Z1VNM1NPS3hSb1BLenNNWTlkbG9HSENka0dJ?= =?utf-8?B?YmVkMmdyMmJpUjR2WTJKd3Z5d2Y0OUtBd3ltd0lETGNFYWcxZVlnd2lKV1N3?= =?utf-8?B?T2FNRngzVkNaTCtKT2NCNU5lN3pzVy9reTA2blhCaFozU0JuTXVLSGJKeXRw?= =?utf-8?B?a3N5NjVZUld4YmhuN0wxZkhmRFREU2VSQ25rMlpFa3NYNUdRUzI1VVJVLzdG?= =?utf-8?B?RDZjQ2tGbVRFdWUwdGx6MWFqajdZcDZ1cFZwdFdnbS9qeTJrc2hmV2J4bWtn?= =?utf-8?B?citBYkREVGZYMDhSRU1naUtTNU84QVBRaVNXR0xJV3VEdHhhSjZ6ZnJHd1gz?= =?utf-8?B?Y3p1ajFaUDlTbmtqdXY3dE1mb0c4QVpaMVhKNlZEOUZKVUkxMnhxZGlUNmpC?= =?utf-8?B?b2xESHVQZEQxcnJHamo2UW9RSG9KcnF4OU81SnJMYk5PMUFzcERSRGdLbVdQ?= =?utf-8?B?MURlbWh6K01vZGxSa3lEQ0pUQlNSS3dkUi9YWS84RXUxSy9Cay92QldoL0Nq?= =?utf-8?B?Ni9sTEdaclVLYkc1RlZ4Q0lJZnRSdEE1TTZKd1BaSlFTMEw0T1pNcmZwU2Yw?= =?utf-8?B?dE5mVGU4bms2SlRiWHEzSWw3emFyNitHQmhNc0d5bDNOZWRXUWdDdkFvL0g0?= =?utf-8?B?S3AyYnFlb0o1eFhPV2I2bHU0NzJJWSs3YjN2QXRDZjkwQVlDNXUzQjhOeEc0?= =?utf-8?B?aEJITG80WURvWFIyamtLR0RqZnZJMlN1N2tKdVhPQjRBWVFqMERNR2xIY3BV?= =?utf-8?B?NWMrVnVCeXgzMjJHQ1B5dTNVUWF6MWYwN056NWJtSklWZnlRWUZmWmQ5ckJI?= =?utf-8?B?a0hIcmZCZEp5R0Q1dzJxRkd0QlRFeDBGYWhjT1E0Rjh0UFZnQlFQMitoK0hv?= =?utf-8?B?RWZicWxpWktnelg2bHZiVi9VMHMyR3haV1pHZUFCbVFpWWR6WHY5Y0NUaXQv?= =?utf-8?B?V2YyTkJ0UlRvanFQZFZUREZ2bWFUV2x6K0JjZlVrSURYaitER0EzRXJKdjY3?= =?utf-8?Q?ZRudbQ0mhrWgdh+JiccdWAQ4RSMg+PiJBi4ztd9?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3622.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c706498b-60a0-400f-5cfb-08d935cff46c X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2021 22:49:12.3401 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: egXXZuX2iJ1P1wchry94bRWWqzJEKLeeTMw52mAGC8UvSj2kQO5WQyBefOyjKJXzUjQumjLrJmieFpH+njUvpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4960 Return-Path: guo.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpQbGVhc2UgdXBkYXRlIHRoZSBiZWxvdyBmdW5jdGlvbiBkZXNjcmlwdGlvbiB0byBtYXRjaCB0 aGUgZnVuY3Rpb24gaW1wbC4NCg0KKy8qKg0KDQorICBGaW5kIERYRSBjb3JlIGZyb20gRlYgYW5k IGJ1aWxkIERYRSBjb3JlIEhPQnMuDQoNCisNCg0KKyAgQHBhcmFtW2luXSAgIEZ2QmFzZSAgICAg ICAgICAgICAgICBGViBiYXNlIHRvIGxvYWQgRFhFIGNvcmUgZnJvbQ0KDQorICBAcGFyYW1bb3V0 XSAgRHhlQ29yZUVudHJ5UG9pbnQgICAgIERYRSBjb3JlIGVudHJ5IHBvaW50DQoNCisNCg0KKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgSWYgaXQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4N Cg0KKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgSWYgaXQgZmFpbGVkIHRvIGxvYWQgRFhF IEZWLg0KDQorKiovDQoNCitFRklfU1RBVFVTDQoNCitGaXhVcFBjZERhdGFiYXNlICgNCg0KKyAg SU4gIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICpEeGVGdg0KDQorICApDQoNCg0KUmVtb3Zl IHRoZSBvcmlnaW5hbCBvbmUgIipGaWxlSGVhZGVyID0gRmlsZTsiIHNpbmNlIGEgbmV3IG9uZSBp cyBhZGRlZCBpbiBHdWlkIGNoZWNrIGNvbmRpdGlvbi4NCg0KPiBAQCAtMTcyLDcgKzE3NSwxMCBA QCBGdkZpbmRGaWxlICgNCj4gICAgICAvLw0KPiANCj4gICAgICBpZiAoRmlsZS0+VHlwZSA9PSBG aWxlVHlwZSkgew0KPiANCj4gICAgICAgICpGaWxlSGVhZGVyID0gRmlsZTsNCj4gDQo+IC0gICAg ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+IA0KPiArICAgICAgaWYgKEd1aWQgPT0gTlVMTCB8fCBD b21wYXJlR3VpZCgmRmlsZS0+TmFtZSwgR3VpZCkpIHsNCj4gDQo+ICsgICAgICAgICpGaWxlSGVh ZGVyID0gRmlsZTsNCj4gDQo+ICsgICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gDQo+ICsg ICAgICB9DQoNClRoYW5rcywNCkd1bw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+IFNlbnQ6IFN1 bmRheSwgSnVuZSAyMCwgMjAyMSA4OjQ3IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiBDYzogTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29tPjsgRG9uZywgR3VvDQo+IDxn dW8uZG9uZ0BpbnRlbC5jb20+OyBZb3UsIEJlbmphbWluIDxiZW5qYW1pbi55b3VAaW50ZWwuY29t Pg0KPiBTdWJqZWN0OiBbUEFUQ0ggMDcvMTJdIFVlZmlQYXlsb2FkUGtnOiBGaXggdXAgVVBMIFBj ZCBkYXRhYmFzZQ0KPiANCj4gRWRrMiBib290bG9hZGVyIHdpbGwgcGFzcyB0aGUgcGVpIHBjZCBk YXRhYmFzZSwgYW5kIFVQTCBhbHNvIGNvbnRhaW4gYQ0KPiBQQ0QgZGF0YWJhc2UuDQo+IER4ZSBQ Q0QgZHJpdmVyIGhhcyB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSB0d28gUENEIGRhdGFiYXNlIGNh biBiZQ0KPiBjYXRlbmF0ZWQgYW5kIHRoZSBsb2NhbCB0b2tlbiBudW1iZXIgc2hvdWxkIGJlIHN1 Y2Nlc3NpdmXjgIINCj4gVGhpcyBwYXRjaCB3aWxsIG1hbnVhbGx5IGZpeCB1cCB0aGUgVVBMIFBD RCBkYXRhYmFzZSB0byBtZWV0IHRoYXQNCj4gYXNzdW1wdGlvbi4NCj4gDQo+IENjOiBNYXVyaWNl IE1hIDxtYXVyaWNlLm1hQGludGVsLmNvbT4NCj4gQ2M6IEd1byBEb25nIDxndW8uZG9uZ0BpbnRl bC5jb20+DQo+IENjOiBCZW5qYW1pbiBZb3UgPGJlbmphbWluLnlvdUBpbnRlbC5jb20+DQo+IFNp Z25lZC1vZmYtYnk6IFpoaWd1YW5nIExpdSA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gLS0t DQo+ICBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0xvYWREeGVDb3JlLmMgICAgICAg ICAgICAgfCAxOA0KPiArKysrKysrKysrKystLS0tLS0NCj4gIFVlZmlQYXlsb2FkUGtnL1VlZmlQ YXlsb2FkRW50cnkvVWVmaVBheWxvYWRFbnRyeS5oICAgICAgICB8IDQ1DQo+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgVWVmaVBheWxvYWRQa2cvVWVm aVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuYyAgIHwgNTUNCj4gKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mIHwgIDIg KysNCj4gIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRlYyAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICsrDQo+ICBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5kc2MgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ICA2IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2Fk UGtnL1VlZmlQYXlsb2FkRW50cnkvTG9hZER4ZUNvcmUuYw0KPiBiL1VlZmlQYXlsb2FkUGtnL1Vl ZmlQYXlsb2FkRW50cnkvTG9hZER4ZUNvcmUuYw0KPiBpbmRleCBmNWQ3MGM1OWY4Li5mOTQzYTI2 MzJjIDEwMDY0NA0KPiAtLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0xvYWRE eGVDb3JlLmMNCj4gKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Mb2FkRHhl Q29yZS5jDQo+IEBAIC0xMTQsMjAgKzExNCwyMyBAQCBMb2FkUGVDb2ZmSW1hZ2UgKA0KPiAgfQ0K PiANCj4gDQo+IA0KPiAgLyoqDQo+IA0KPiAtICBUaGlzIGZ1bmN0aW9uIHNlYXJjaHMgYSBnaXZl biBmaWxlIHR5cGUgd2l0aGluIGEgdmFsaWQgRlYuDQo+IA0KPiArICBUaGlzIGZ1bmN0aW9uIHNl YXJjaHMgYSBnaXZlbiBmaWxlIHR5cGUgd2l0aCBhIGdpdmVuIEd1aWQgd2l0aGluIGEgdmFsaWQg RlYuDQo+IA0KPiArICBJZiBpbnB1dCBHdWlkIGlzIE5VTEwsIHdpbGwgbG9jYXRlIHRoZSBmaXJz dCBzZWN0aW9uIGhhdmluZyB0aGUgZ2l2ZW4gZmlsZSB0eXBlDQo+IA0KPiANCj4gDQo+ICAgIEBw YXJhbSBGdkhlYWRlciAgICAgICAgQSBwb2ludGVyIHRvIGZpcm13YXJlIHZvbHVtZSBoZWFkZXIg dGhhdCBjb250YWlucw0KPiB0aGUgc2V0IG9mIGZpbGVzDQo+IA0KPiAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRvIGJlIHNlYXJjaGVkLg0KPiANCj4gICAgQHBhcmFtIEZpbGVUeXBlICAgICAg ICBGaWxlIHR5cGUgdG8gYmUgc2VhcmNoZWQuDQo+IA0KPiArICBAcGFyYW0gR3VpZCAgICAgICAg ICAgIFdpbGwgaWdub3JlIGlmIGl0IGlzIE5VTEwuDQo+IA0KPiAgICBAcGFyYW0gRmlsZUhlYWRl ciAgICAgIEEgcG9pbnRlciB0byB0aGUgZGlzY292ZXJlZCBmaWxlLCBpZiBzdWNjZXNzZnVsLg0K PiANCj4gDQo+IA0KPiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgIFN1Y2Nlc3NmdWxseSBmb3Vu ZCBGaWxlVHlwZQ0KPiANCj4gICAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICBGaWxlIHR5cGUgY2Fu J3QgYmUgZm91bmQuDQo+IA0KPiAgKiovDQo+IA0KPiAgRUZJX1NUQVRVUw0KPiANCj4gLUZ2Rmlu ZEZpbGUgKA0KPiANCj4gK0Z2RmluZEZpbGVCeVR5cGVHdWlkICgNCj4gDQo+ICAgIElOICBFRklf RklSTVdBUkVfVk9MVU1FX0hFQURFUiAgKkZ2SGVhZGVyLA0KPiANCj4gICAgSU4gIEVGSV9GVl9G SUxFVFlQRSAgICAgICAgICAgICBGaWxlVHlwZSwNCj4gDQo+ICsgIElOICBFRklfR1VJRCAgICAg ICAgICAgICAgICAgICAgKkd1aWQgICAgICAgICAgIE9QVElPTkFMLA0KPiANCj4gICAgT1VUIEVG SV9GRlNfRklMRV9IRUFERVIgICAgICAgICAqKkZpbGVIZWFkZXINCj4gDQo+ICAgICkNCj4gDQo+ ICB7DQo+IA0KPiBAQCAtMTcyLDcgKzE3NSwxMCBAQCBGdkZpbmRGaWxlICgNCj4gICAgICAvLw0K PiANCj4gICAgICBpZiAoRmlsZS0+VHlwZSA9PSBGaWxlVHlwZSkgew0KPiANCj4gICAgICAgICpG aWxlSGVhZGVyID0gRmlsZTsNCj4gDQo+IC0gICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+IA0K PiArICAgICAgaWYgKEd1aWQgPT0gTlVMTCB8fCBDb21wYXJlR3VpZCgmRmlsZS0+TmFtZSwgR3Vp ZCkpIHsNCj4gDQo+ICsgICAgICAgICpGaWxlSGVhZGVyID0gRmlsZTsNCj4gDQo+ICsgICAgICAg IHJldHVybiBFRklfU1VDQ0VTUzsNCj4gDQo+ICsgICAgICB9DQo+IA0KPiAgICAgIH0NCj4gDQo+ ICAgIH0NCj4gDQo+IA0KPiANCj4gQEAgLTI2Niw3ICsyNzIsNyBAQCBMb2FkRHhlQ29yZSAoDQo+ ICAgIC8vDQo+IA0KPiAgICAvLyBEWEUgRlYgaXMgaW5zaWRlIFBheWxvYWQgRlYuIEhlcmUgZmlu ZCBEWEUgRlYgZnJvbSBQYXlsb2FkIEZWDQo+IA0KPiAgICAvLw0KPiANCj4gLSAgU3RhdHVzID0g RnZGaW5kRmlsZSAoUGF5bG9hZEZ2LA0KPiBFRklfRlZfRklMRVRZUEVfRklSTVdBUkVfVk9MVU1F X0lNQUdFLCAmRmlsZUhlYWRlcik7DQo+IA0KPiArICBTdGF0dXMgPSBGdkZpbmRGaWxlQnlUeXBl R3VpZCAoUGF5bG9hZEZ2LA0KPiBFRklfRlZfRklMRVRZUEVfRklSTVdBUkVfVk9MVU1FX0lNQUdF LCBOVUxMLCAmRmlsZUhlYWRlcik7DQo+IA0KPiAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+IA0KPiAgICAgIHJldHVybiBTdGF0dXM7DQo+IA0KPiAgICB9DQo+IA0KPiBAQCAtMjgzLDcg KzI4OSw3IEBAIExvYWREeGVDb3JlICgNCj4gICAgLy8NCj4gDQo+ICAgIC8vIEZpbmQgRFhFIGNv cmUgZmlsZSBmcm9tIERYRSBGVg0KPiANCj4gICAgLy8NCj4gDQo+IC0gIFN0YXR1cyA9IEZ2Rmlu ZEZpbGUgKER4ZUNvcmVGdiwgRUZJX0ZWX0ZJTEVUWVBFX0RYRV9DT1JFLCAmRmlsZUhlYWRlcik7 DQo+IA0KPiArICBTdGF0dXMgPSBGdkZpbmRGaWxlQnlUeXBlR3VpZCAoRHhlQ29yZUZ2LCBFRklf RlZfRklMRVRZUEVfRFhFX0NPUkUsDQo+IE5VTEwsICZGaWxlSGVhZGVyKTsNCj4gDQo+ICAgIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gDQo+ICAgICAgcmV0dXJuIFN0YXR1czsNCj4gDQo+ ICAgIH0NCj4gDQo+IEBAIC0zMzAsNyArMzM2LDcgQEAgVW5pdmVyc2FsTG9hZER4ZUNvcmUgKA0K PiAgICAvLw0KPiANCj4gICAgLy8gRmluZCBEWEUgY29yZSBmaWxlIGZyb20gRFhFIEZWDQo+IA0K PiAgICAvLw0KPiANCj4gLSAgU3RhdHVzID0gRnZGaW5kRmlsZSAoRHhlRnYsIEVGSV9GVl9GSUxF VFlQRV9EWEVfQ09SRSwgJkZpbGVIZWFkZXIpOw0KPiANCj4gKyAgU3RhdHVzID0gRnZGaW5kRmls ZUJ5VHlwZUd1aWQgKER4ZUZ2LCBFRklfRlZfRklMRVRZUEVfRFhFX0NPUkUsIE5VTEwsDQo+ICZG aWxlSGVhZGVyKTsNCj4gDQo+ICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gDQo+ICAg ICAgcmV0dXJuIFN0YXR1czsNCj4gDQo+ICAgIH0NCj4gDQo+IGRpZmYgLS1naXQgYS9VZWZpUGF5 bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VlZmlQYXlsb2FkRW50cnkuaA0KPiBiL1VlZmlQYXls b2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVWVmaVBheWxvYWRFbnRyeS5oDQo+IGluZGV4IDM1MDk4 ZjUxNDEuLjc4YTY3ZmExYTUgMTAwNjQ0DQo+IC0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXls b2FkRW50cnkvVWVmaVBheWxvYWRFbnRyeS5oDQo+ICsrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQ YXlsb2FkRW50cnkvVWVmaVBheWxvYWRFbnRyeS5oDQo+IEBAIC0zNSw2ICszNSw3IEBADQo+ICAj aW5jbHVkZSA8VW5pdmVyc2FsUGF5bG9hZC9BY3BpVGFibGUuaD4NCj4gDQo+ICAjaW5jbHVkZSA8 VW5pdmVyc2FsUGF5bG9hZC9Vbml2ZXJzYWxQYXlsb2FkLmg+DQo+IA0KPiAgI2luY2x1ZGUgPFVu aXZlcnNhbFBheWxvYWQvRXh0cmFEYXRhLmg+DQo+IA0KPiArI2luY2x1ZGUgPEd1aWQvUGNkRGF0 YUJhc2VTaWduYXR1cmVHdWlkLmg+DQo+IA0KPiANCj4gDQo+ICAjZGVmaW5lIExFR0FDWV84MjU5 X01BU0tfUkVHSVNURVJfTUFTVEVSICAweDIxDQo+IA0KPiAgI2RlZmluZSBMRUdBQ1lfODI1OV9N QVNLX1JFR0lTVEVSX1NMQVZFICAgMHhBMQ0KPiANCj4gQEAgLTE0OSw0ICsxNTAsNDggQEAgSGFu ZE9mZlRvRHhlQ29yZSAoDQo+ICAgIElOIEVGSV9QRUlfSE9CX1BPSU5URVJTICAgSG9iTGlzdA0K PiANCj4gICAgKTsNCj4gDQo+IA0KPiANCj4gK0VGSV9TVEFUVVMNCj4gDQo+ICtGaXhVcFBjZERh dGFiYXNlICgNCj4gDQo+ICsgIElOICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAqRHhlRnYN Cj4gDQo+ICsgICk7DQo+IA0KPiArDQo+IA0KPiArLyoqDQo+IA0KPiArICBUaGlzIGZ1bmN0aW9u IHNlYXJjaHMgYSBnaXZlbiBzZWN0aW9uIHR5cGUgd2l0aGluIGEgdmFsaWQgRkZTIGZpbGUuDQo+ IA0KPiArDQo+IA0KPiArICBAcGFyYW0gIEZpbGVIZWFkZXIgICAgICAgICAgICBBIHBvaW50ZXIg dG8gdGhlIGZpbGUgaGVhZGVyIHRoYXQgY29udGFpbnMgdGhlIHNldA0KPiBvZiBzZWN0aW9ucyB0 bw0KPiANCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgc2VhcmNoZWQuDQo+ IA0KPiArICBAcGFyYW0gIFNlYXJjaFR5cGUgICAgICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIHNl Y3Rpb24gdHlwZSB0byBzZWFyY2guDQo+IA0KPiArICBAcGFyYW0gIFNlY3Rpb25EYXRhICAgICAg ICAgICBBIHBvaW50ZXIgdG8gdGhlIGRpc2NvdmVyZWQgc2VjdGlvbiwgaWYNCj4gc3VjY2Vzc2Z1 bC4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBz ZWN0aW9uIHdhcyBmb3VuZC4NCj4gDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAg IFRoZSBzZWN0aW9uIHdhcyBub3QgZm91bmQuDQo+IA0KPiArDQo+IA0KPiArKiovDQo+IA0KPiAr RUZJX1NUQVRVUw0KPiANCj4gK0ZpbGVGaW5kU2VjdGlvbiAoDQo+IA0KPiArICBJTiBFRklfRkZT X0ZJTEVfSEVBREVSICAgICAgICAqRmlsZUhlYWRlciwNCj4gDQo+ICsgIElOIEVGSV9TRUNUSU9O X1RZUEUgICAgICAgICAgIFNlY3Rpb25UeXBlLA0KPiANCj4gKyAgT1VUIFZPSUQgICAgICAgICAg ICAgICAgICAgICAgKipTZWN0aW9uRGF0YQ0KPiANCj4gKyAgKTsNCj4gDQo+ICsNCj4gDQo+ICsv KioNCj4gDQo+ICsgIFRoaXMgZnVuY3Rpb24gc2VhcmNocyBhIGdpdmVuIGZpbGUgdHlwZSB3aXRo IGEgZ2l2ZW4gR3VpZCB3aXRoaW4gYSB2YWxpZCBGVi4NCj4gDQo+ICsgIElmIGlucHV0IEd1aWQg aXMgTlVMTCwgd2lsbCBsb2NhdGUgdGhlIGZpcnN0IHNlY3Rpb24gaGF2aW5nIHRoZSBnaXZlbiBm aWxlIHR5cGUNCj4gDQo+ICsNCj4gDQo+ICsgIEBwYXJhbSBGdkhlYWRlciAgICAgICAgQSBwb2lu dGVyIHRvIGZpcm13YXJlIHZvbHVtZSBoZWFkZXIgdGhhdCBjb250YWlucw0KPiB0aGUgc2V0IG9m IGZpbGVzDQo+IA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIHNlYXJjaGVkLg0K PiANCj4gKyAgQHBhcmFtIEZpbGVUeXBlICAgICAgICBGaWxlIHR5cGUgdG8gYmUgc2VhcmNoZWQu DQo+IA0KPiArICBAcGFyYW0gR3VpZCAgICAgICAgICAgIFdpbGwgaWdub3JlIGlmIGl0IGlzIE5V TEwuDQo+IA0KPiArICBAcGFyYW0gRmlsZUhlYWRlciAgICAgIEEgcG9pbnRlciB0byB0aGUgZGlz Y292ZXJlZCBmaWxlLCBpZiBzdWNjZXNzZnVsLg0KPiANCj4gKw0KPiANCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICBTdWNjZXNzZnVsbHkgZm91bmQgRmlsZVR5cGUNCj4gDQo+ICsgIEByZXR2 YWwgRUZJX05PVF9GT1VORCAgRmlsZSB0eXBlIGNhbid0IGJlIGZvdW5kLg0KPiANCj4gKyoqLw0K PiANCj4gK0VGSV9TVEFUVVMNCj4gDQo+ICtGdkZpbmRGaWxlQnlUeXBlR3VpZCAoDQo+IA0KPiAr ICBJTiAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICpGdkhlYWRlciwNCj4gDQo+ICsgIElO ICBFRklfRlZfRklMRVRZUEUgICAgICAgICAgICAgRmlsZVR5cGUsDQo+IA0KPiArICBJTiAgRUZJ X0dVSUQgICAgICAgICAgICAgICAgICAgICpHdWlkICAgICAgICAgICBPUFRJT05BTCwNCj4gDQo+ ICsgIE9VVCBFRklfRkZTX0ZJTEVfSEVBREVSICAgICAgICAgKipGaWxlSGVhZGVyDQo+IA0KPiAr ICApOw0KPiANCj4gICNlbmRpZg0KPiANCj4gZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1Vl ZmlQYXlsb2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5LmMNCj4gYi9VZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZEVudHJ5L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5jDQo+IGluZGV4IDlkNTk0 NTQ0ODYuLmRjZjc1MGJlZmMgMTAwNjQ0DQo+IC0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXls b2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5LmMNCj4gKysrIGIvVWVmaVBheWxvYWRQa2cv VWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuYw0KPiBAQCAtMjUsNiArMjUs NjAgQEANCj4gDQo+IA0KPiAgZXh0ZXJuIFZPSUQgICptSG9iTGlzdDsNCj4gDQo+IA0KPiANCj4g Ky8qKg0KPiANCj4gKyAgRmluZCBEWEUgY29yZSBmcm9tIEZWIGFuZCBidWlsZCBEWEUgY29yZSBI T0JzLg0KPiANCj4gKw0KPiANCj4gKyAgQHBhcmFtW2luXSAgIEZ2QmFzZSAgICAgICAgICAgICAg ICBGViBiYXNlIHRvIGxvYWQgRFhFIGNvcmUgZnJvbQ0KPiANCj4gKyAgQHBhcmFtW291dF0gIER4 ZUNvcmVFbnRyeVBvaW50ICAgICBEWEUgY29yZSBlbnRyeSBwb2ludA0KPiANCj4gKw0KPiANCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgSWYgaXQgY29tcGxldGVkIHN1Y2Nlc3NmdWxs eS4NCj4gDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgIElmIGl0IGZhaWxlZCB0byBs b2FkIERYRSBGVi4NCj4gDQo+ICsqKi8NCj4gDQo+ICtFRklfU1RBVFVTDQo+IA0KPiArRml4VXBQ Y2REYXRhYmFzZSAoDQo+IA0KPiArICBJTiAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgKkR4 ZUZ2DQo+IA0KPiArICApDQo+IA0KPiArew0KPiANCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAg ICAgICAgIFN0YXR1czsNCj4gDQo+ICsgIEVGSV9GRlNfRklMRV9IRUFERVIgICAgICAgICAqRmls ZUhlYWRlcjsNCj4gDQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAqUGNkUmF3RGF0 YTsNCj4gDQo+ICsgIFBFSV9QQ0RfREFUQUJBU0UgICAgICAgICAgICAqUGVpRGF0YWJhc2U7DQo+ IA0KPiArICBQRUlfUENEX0RBVEFCQVNFICAgICAgICAgICAgKlVwbERhdGFiYXNlOw0KPiANCj4g KyAgRUZJX0hPQl9HVUlEX1RZUEUgICAgICAgICAgICpHdWlkSG9iOw0KPiANCj4gKyAgRFlOQU1J Q0VYX01BUFBJTkcgICAgICAgICAgICpFeE1hcFRhYmxlOw0KPiANCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgIEluZGV4Ow0KPiANCj4gKw0KPiANCj4gKyAgR3VpZEhvYiA9IEdldEZp cnN0R3VpZEhvYiAoJmdQY2REYXRhQmFzZUhvYkd1aWQpOw0KPiANCj4gKyAgaWYgKEd1aWRIb2Ig PT0gTlVMTCkgew0KPiANCj4gKyAgICAvLw0KPiANCj4gKyAgICAvLyBObyBmaXgtdXAgaXMgbmVl ZGVkLg0KPiANCj4gKyAgICAvLw0KPiANCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+IA0K PiArICB9DQo+IA0KPiArICBQZWlEYXRhYmFzZSA9IChQRUlfUENEX0RBVEFCQVNFICopIEdFVF9H VUlEX0hPQl9EQVRBIChHdWlkSG9iKTsNCj4gDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIkZp bmQgdGhlIFBlaSBQQ0QgZGF0YSBiYXNlLCB0aGUgdG90YWwgbG9jYWwgdG9rZW4NCj4gbnVtYmVy IGlzICVkXG4iLCBQZWlEYXRhYmFzZS0+TG9jYWxUb2tlbkNvdW50KSk7DQo+IA0KPiArDQo+IA0K PiArICBTdGF0dXMgPSBGdkZpbmRGaWxlQnlUeXBlR3VpZCAoRHhlRnYsIEVGSV9GVl9GSUxFVFlQ RV9EUklWRVIsDQo+IFBjZEdldFB0ciAoUGNkUGNkRHJpdmVyRmlsZSksICZGaWxlSGVhZGVyKTsN Cj4gDQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+IA0KPiArICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+IA0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+IA0KPiArICB9DQo+ IA0KPiArICBTdGF0dXMgPSBGaWxlRmluZFNlY3Rpb24gKEZpbGVIZWFkZXIsIEVGSV9TRUNUSU9O X1JBVywgJlBjZFJhd0RhdGEpOw0KPiANCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsN Cj4gDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gDQo+ICsgICAgcmV0dXJuIFN0 YXR1czsNCj4gDQo+ICsgIH0NCj4gDQo+ICsNCj4gDQo+ICsgIFVwbERhdGFiYXNlID0gKFBFSV9Q Q0RfREFUQUJBU0UgKikgUGNkUmF3RGF0YTsNCj4gDQo+ICsgIEV4TWFwVGFibGUgID0gKERZTkFN SUNFWF9NQVBQSU5HICopIChVSU5UTikgKChVSU5UTikgUGNkUmF3RGF0YQ0KPiArIFVwbERhdGFi YXNlLT5FeE1hcFRhYmxlT2Zmc2V0KTsNCj4gDQo+ICsNCj4gDQo+ICsgIGZvciAoSW5kZXggPSAw OyBJbmRleCA8IFVwbERhdGFiYXNlLT5FeFRva2VuQ291bnQ7IEluZGV4KyspIHsNCj4gDQo+ICsg ICAgRXhNYXBUYWJsZVtJbmRleF0uVG9rZW5OdW1iZXIgKz0gUGVpRGF0YWJhc2UtPkxvY2FsVG9r ZW5Db3VudDsNCj4gDQo+ICsgIH0NCj4gDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIkZpeCB1 cCBVUEwgUENEIGRhdGFiYXNlIHN1Y2Nlc3NmdWxseVxuIikpOw0KPiANCj4gKyAgcmV0dXJuIEVG SV9TVUNDRVNTOw0KPiANCj4gK30NCj4gDQo+ICsNCj4gDQo+ICAvKioNCj4gDQo+ICAgIEFkZCBI T0IgaW50byBIT0IgbGlzdA0KPiANCj4gDQo+IA0KPiBAQCAtMzMyLDYgKzM4Niw3IEBAIF9Nb2R1 bGVFbnRyeVBvaW50ICgNCj4gICAgU3RhdHVzID0gQnVpbGRIb2JzIChCb290bG9hZGVyUGFyYW1l dGVyLCAmRHhlRnYpOw0KPiANCj4gICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gDQo+ IA0KPiANCj4gKyAgRml4VXBQY2REYXRhYmFzZSAoRHhlRnYpOw0KPiANCj4gICAgU3RhdHVzID0g VW5pdmVyc2FsTG9hZER4ZUNvcmUgKER4ZUZ2LCAmRHhlQ29yZUVudHJ5UG9pbnQpOw0KPiANCj4g ICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gDQo+IA0KPiANCj4gZGlmZiAtLWdpdCBh L1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5Lmlu Zg0KPiBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVu dHJ5LmluZg0KPiBpbmRleCA3N2NkMjVhYWZkLi43NmQ3ZTQ3OTFjIDEwMDY0NA0KPiAtLS0gYS9V ZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5pbmYN Cj4gKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2Fk RW50cnkuaW5mDQo+IEBAIC02Myw2ICs2Myw3IEBADQo+ICAgIGdFZmlBY3BpVGFibGVHdWlkDQo+ IA0KPiAgICBnVWVmaVNlcmlhbFBvcnRJbmZvR3VpZA0KPiANCj4gICAgZ1VuaXZlcnNhbFBheWxv YWRFeHRyYURhdGFHdWlkDQo+IA0KPiArICBnUGNkRGF0YUJhc2VIb2JHdWlkDQo+IA0KPiANCj4g DQo+ICBbRmVhdHVyZVBjZC5JQTMyXQ0KPiANCj4gICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZER4ZUlwbFN3aXRjaFRvTG9uZ01vZGUgICAgICAjIw0KPiBDT05TVU1FUw0KPiAN Cj4gQEAgLTcyLDYgKzczLDcgQEANCj4gDQo+IA0KPiANCj4gDQo+ICBbUGNkLklBMzIsUGNkLlg2 NF0NCj4gDQo+ICsgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjZERyaXZlckZp bGUNCj4gDQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RVc2UxR1BhZ2VU YWJsZSAgICAgICAgICAgICAgICAgICAgICAjIw0KPiBTT01FVElNRVNfQ09OU1VNRVMNCj4gDQo+ IA0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUHRlTWVtb3J5RW5jcnlwdGlv bkFkZHJlc3NPck0NCj4gYXNrICAgICMjIENPTlNVTUVTDQo+IA0KPiANCj4gZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE51bGxQb2ludGVyRGV0ZWN0aW9uUHJvcGVydHlNYXNrDQo+ ICMjIENPTlNVTUVTDQo+IA0KPiBkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxv YWRQa2cuZGVjDQo+IGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZGVjDQo+IGluZGV4 IDEwNWUxZjVhMWMuLmQ4NGY1NjA5OTUgMTAwNjQ0DQo+IC0tLSBhL1VlZmlQYXlsb2FkUGtnL1Vl ZmlQYXlsb2FkUGtnLmRlYw0KPiArKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5k ZWMNCj4gQEAgLTcyLDMgKzcyLDUgQEANCj4gZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQu UGNkTWVtb3J5VHlwZUVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGUNCj4gfDB4ODB8VUlOVDMyfDB4DQo+ IA0KPiANCj4gICMgU2l6ZSBvZiB0aGUgcmVnaW9uIHVzZWQgYnkgVUVGSSBpbiBwZXJtYW5lbnQg bWVtb3J5DQo+IA0KPiANCj4gZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3lzdGVt TWVtb3J5VWVmaVJlZ2lvblNpemV8MHgwMjANCj4gMDAwMDB8VUlOVDMyfDB4MDAwMDAwMTcNCj4g DQo+ICsNCj4gDQo+ICtnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2REcml2ZXJG aWxlfHsgMHg1NywgMHg3MiwgMHhjZiwgMHg4MCwNCj4gMHhhYiwgMHg4NywgMHhmOSwgMHg0Nywg MHhhMywgMHhmZSwgMHhENSwgMHgwQiwgMHg3NiwgMHhkOCwgMHg5NSwNCj4gMHg0MSB9fFZPSUQq fDB4MDAwMDAwMTgNCj4gDQo+IGRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9h ZFBrZy5kc2MNCj4gYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5kc2MNCj4gaW5kZXgg ZDgyNzdlZmNjZC4uZTNkNjY5YTZkNiAxMDA2NDQNCj4gLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVm aVBheWxvYWRQa2cuZHNjDQo+ICsrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRz Yw0KPiBAQCAtMjk4LDYgKzI5OCw3IEBADQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNl R3VpZC5QY2RVc2UxR1BhZ2VUYWJsZXxUUlVFDQo+IA0KPiAgICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkQm9vdE1hbmFnZXJNZW51RmlsZXx7IDB4MjEsDQo+IDB4YWEsIDB4MmMs IDB4NDYsIDB4MTQsIDB4NzYsIDB4MDMsIDB4NDUsIDB4ODMsIDB4NmUsIDB4OGEsIDB4YjYsIDB4 ZjQsIDB4NjYsDQo+IDB4MjMsIDB4MzEgfQ0KPiANCj4gDQo+IA0KPiArICBnVWVmaVBheWxvYWRQ a2dUb2tlblNwYWNlR3VpZC5QY2RQY2REcml2ZXJGaWxlfHsgMHg1NywgMHg3MiwgMHhjZiwNCj4g MHg4MCwgMHhhYiwgMHg4NywgMHhmOSwgMHg0NywgMHhhMywgMHhmZSwgMHhENSwgMHgwQiwgMHg3 NiwgMHhkOCwgMHg5NSwgMHg0MSB9DQo+IA0KPiANCj4gDQo+ICAhaWYgJChTT1VSQ0VfREVCVUdf RU5BQkxFKQ0KPiANCj4gDQo+IGdFZmlTb3VyY2VMZXZlbERlYnVnUGtnVG9rZW5TcGFjZUd1aWQu UGNkRGVidWdMb2FkSW1hZ2VNZXRob2R8MHgNCj4gMg0KPiANCj4gLS0NCj4gMi4xNi4yLndpbmRv d3MuMQ0KDQo=