From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.13409.1669253580513002766 for ; Wed, 23 Nov 2022 17:33:00 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=JTnb+HIf; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669253580; x=1700789580; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PGXkmIwzTUEYud7s/QE7WiDpIczEvHe0ZsoUjllRtG8=; b=JTnb+HIfCv92ayv8kv+KHvh/jY8dI9Ek21HLFywnfcwyY915w3wZ7ypy QRe6tOBq0r58GgdxI2XVbhHU89HS4MvDIiYKJRc/NM28y5Kmu90TN79UY Qfgn1mB0dYGVrEy032+fCuj8MJ2dvsj3CeGZB3r9eFWoFvI2lQFQSg8Jc /lJqIJXcsw+zasXBcJ7PTCVOcVPdhOLi4S8C85coq8EkQKFE7Zj/bN2gK 5zump272ykxHs1+CpfmXHw6Z4hf8vpSFjVLPw138HkFSwUd27pwT7GMzc DPPvxvkKOlf/UqxspwftQu2hGPiGjJVed42iUgCgFzfvMP5aGPtn88chY Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10540"; a="312893027" X-IronPort-AV: E=Sophos;i="5.96,189,1665471600"; d="scan'208";a="312893027" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2022 17:32:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10540"; a="705564685" X-IronPort-AV: E=Sophos;i="5.96,189,1665471600"; d="scan'208";a="705564685" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 23 Nov 2022 17:32:50 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 23 Nov 2022 17:32:50 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 23 Nov 2022 17:32:49 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 23 Nov 2022 17:32:49 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 23 Nov 2022 17:32:49 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iM0gblEWevH2obQv3dNk2fYzHkbnOBVEcrASWMttSBajQmrtytcth3wIO8doo9X73Xa2BvDZKYRAHR4UG+7JoCDSWwxMFnXya36NjnnjidTctTUdRGyXubWSqzQ3lLOuhBPGdqgxYvTNH37EC69epii9/qlVF8WaUs6PNZ6dgcE+dZ5aEo61YB2P4rlaV0ou3egeNeHcaJkNENz+zglXE/GgkBzwVSCXPNiZiGxqGVRx3wDrYLIr/Y8Sy5HJIGO982FZveLZKDo2EOXjTOj9LKBh722d98IsURIkCIts8hqOp+ONVXxzVq/v73koxtV911LR4h0A0RShD/AUJWp5aw== 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=PGXkmIwzTUEYud7s/QE7WiDpIczEvHe0ZsoUjllRtG8=; b=Fny3VnSPoqUjOKXZhrxAq8juohmbyKOjCB92db0vntbTVQFydIESPwkIGhPFLDROkNDLG1FY2TXB4Y6+ARlDwz1EfJRigAUUToL1sC/UQjhR+LE88TkO8b1B3BqJYvwk8bh9KXhPalokHjTtguhGjw0AoGcBlbvW/N7PNK6peKIYEmwORfj/PFwI9P3P/x+L2fOxNWDFbNUsaMhRmt/Y+SptcTAwo2n7QqyoJ6bSmvAZCvUyqkw99qwxPDQrKnNTB0ybisz3eIsk+3oOerf+gPLSllSrIhQFlm+I3WQm5GYrKEUzM5OFvPVpgA+7RMMePduTaLwy+2pi9yhtvRzN6g== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by PH0PR11MB4773.namprd11.prod.outlook.com (2603:10b6:510:33::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Thu, 24 Nov 2022 01:32:46 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b%6]) with mapi id 15.20.5834.015; Thu, 24 Nov 2022 01:32:46 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "Kinney, Michael D" CC: "Feng, Bob C" , "Gao, Liming" , Sean Brogan , "Chen, Christine" Subject: Re: [edk2-devel] [PATCH v1 03/12] BaseTools/VfrCompile: Fix potential buffer overwrites Thread-Topic: [edk2-devel] [PATCH v1 03/12] BaseTools/VfrCompile: Fix potential buffer overwrites Thread-Index: AQHY9GHmlGCJxW2Ook6UWVfJS0FhLa5NYHGw Date: Thu, 24 Nov 2022 01:32:46 +0000 Message-ID: References: <20221109173246.174-1-mikuback@linux.microsoft.com> <20221109173246.174-4-mikuback@linux.microsoft.com> In-Reply-To: <20221109173246.174-4-mikuback@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|PH0PR11MB4773:EE_ x-ms-office365-filtering-correlation-id: bf405f7c-02d3-459c-53b6-08dacdbbca6d x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V4dxfrLrGQx2Fi94sgvSUJun1lgtR5Bt+BOA430/vBatyrMYNzX5cudZNMhr564P3sH2jJJI82NzyvGXVfORirHnlDKP2ouuX5mqqMViIddZV+E/rtF/A/NYhMr+nVUr2niuXZYSrgm8hZA5HTQwJL8MMoDZ9jJAXfohsUjPMvOUBPDGj2gM9nILKaO/5lg8VPbMPzXf/uRWyc0RmTBTpND3BJ8FC0D9Q5McLq2FE3vRiCAkRH7LsIUME67PxnN4dhDuQxPxlVLL3hU3RqesofbgdZqtQu2P8qUSThkJcc8QIkLy+jM7XwdOhNGhxNoHlzzYikbddlH75dz7qfdkw/VpayABWxpvwKSlSfExL9tcFq3kt5OdgzKsY2cXXrCkh7rK0XjRff5GCUb9SkXBm3gHzBgLxfF/4SPKjpA8Cpuh7VWbjFTn29fCG8e5dlv1fwmqy86XiFPvSGSdtwQ3n8jNbG5oVw5wr4Ape0paDmtU2aqa46UTP2IEpK8otEcgNRmS9AVXZ1iPafTGSQdC4IOsvrWBc7hbmzY8N8P2WnSswipN1d2zbIgKe/xhzAKAK2WX/z9CwfNH7VN6pWIJnGpBggrmcb3KagIfduKQfOVBZLMjuZBv2AgrRYttSZS7LN2U8tnhYQu4sKCXNg+YAn9ARUd2xO6q4YJTTFd62bj6jU+xJu7bw8p9L3fIx2nAD4zNY+voYfdzvfYkNiHm8T7V7bUQxn1RY5X0+QwepxQXlALlBqWSYKHLXTqIwR7kyOPSz62PFkvDmUel6VAhRw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199015)(33656002)(66899015)(86362001)(186003)(5660300002)(55016003)(9686003)(26005)(83380400001)(38070700005)(122000001)(82960400001)(38100700002)(2906002)(71200400001)(478600001)(53546011)(107886003)(966005)(8936002)(41300700001)(54906003)(52536014)(316002)(76116006)(6506007)(66556008)(64756008)(8676002)(66946007)(4326008)(7696005)(66476007)(110136005)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3ZQNFlOeVVqeUpMdm1lK1JWZTdqVVBjQlB5Kys0VHpIUHdlcmlVaHVINzAv?= =?utf-8?B?Z2tTQjhTNk5hVFlTeXdvbEF3NU54TEVORm1qeUUxYnFqSzBKT21QK0V6R3FJ?= =?utf-8?B?bHVlM0J3UFpZWWU4cTNZM0JxaUhheXN4OFFEZjJhSElWeElHOURpZnJhcnBY?= =?utf-8?B?eVk4U2ZZL3RxV2NOU0RqM1JvaEFjVkd2SU0yVGlWZW9zUHhvRGptNnMrNUQv?= =?utf-8?B?RGlMQ2c5dlZqTXBFcm91MGNuTTdXOEZ1cHdoU1hjMnZ6aktQYUwxUGx1MUNo?= =?utf-8?B?V2gyVGlISUZpd0FhSlVjcEFpVW10bkNoOFFML2NqVHJUQUtiK1ROSFJBTksv?= =?utf-8?B?cXVMdkVhMDZEaFFnR3U3TlFBdFo4cmhqdmZ3SVloR1ZKMC95SDkwcXppSFU5?= =?utf-8?B?eFliam8zZ29ndGlRMjBmdFNRaVlDVVAvOVNFWEZId1pDZXc3R3ZDekpxd0F4?= =?utf-8?B?WHc4Q2QrOUFjcWFrUEsra2pCaEhjeVcwRmNrenkwdmJ0Y0w3RFBMaEc2RldB?= =?utf-8?B?V3pwWG9Yend4YmhVMWFsOVhUOGNJa1lKalY1MmkxWEFNbmJrbGpjQmttbmxr?= =?utf-8?B?N3kyMllKQ25yb3NmcHh6ZFZFcllxUk9jRlUwQklXeENCY3Fsc01qU0FrTlFS?= =?utf-8?B?Rkd2Q3RvZlEraGdma0lDUlFzcFI4aUoyOEl4TUhnekFQbHpwazBadldudGJp?= =?utf-8?B?NmZtVllMaUhoUEI1S1QraVdWMnk0bzVnWUtveUkrNlp6b1IyaFc3RnBJMHFL?= =?utf-8?B?RjlHYUNQbnorU05DQUphU3JNSFkyTTdKcFBWQkhjeVNlWUtQZ3RDeHpPclpz?= =?utf-8?B?S2ptcGNLdE1xK2VuNTAxVjQ4ckc2MDQybHU4aGtmYXZWeDRxcjBaNHZLSUN5?= =?utf-8?B?a2FhR0VRanVDYWhpNG82VGQwWVM2bnp0QnVHa1VxWGN2cDh3RHVPRzVwd245?= =?utf-8?B?SHRrWjhQMW9icFRtbis0d1hFYWpZaENPaUk5c29EYzJCbCtFV05QUUNrc3JM?= =?utf-8?B?YzZSR1FGVEJQd1hUbDI5bm0xSTFmYllKY0FYK2VvOGh2ejRLSkMrbmV0bDJl?= =?utf-8?B?eDg0SElMTzZrQzNLTUs0Witzc2hVTGpXbTRDeHNZdGJ1UDA4alRBQkVMVlo4?= =?utf-8?B?ekVBU0l2V29ZTjVjTjI4NHBXQ1hZSG1ZOWhHa1EySDEwZmNqRTExWEhabVFR?= =?utf-8?B?RmZPR1cwM3d3b3Jyby84YWpXSkI1Qnd0TFk1TDlYSmV5YStnS2trS0w4QXlJ?= =?utf-8?B?R3MrczMyWFZDZ2UrNDV6dGw3MzR6dDY0SkgxSjkxWTIwRTRVaVk5czJyNmFD?= =?utf-8?B?TVNZTHZzNDN5akFycVhxNmZ1SFlYeGtxYjJXYUd5OVErSDBLK2R1Rm04N3NV?= =?utf-8?B?SlRNK1ZwRVF4bHRiblNRbGtsUzQ5bnZTclZqTVhWVlhqRFRXcFBFU1lWemxr?= =?utf-8?B?MTU5UERlK0JXanh3REdMQnljNzM3T2lxZlhzRW96STZmSVF5VFpPK2ZFZnVm?= =?utf-8?B?SDNxdVEyZXpFV3pZOGRTVU9xZ05yR244KzFST1dkMTc5ckpUNEtUREorbkQr?= =?utf-8?B?L0dyMDVZWU5HZlhoaGZWWVRHVURRbStQUWJLYnFOaUJwK2Z2dy9pNzhXZGNp?= =?utf-8?B?ck9uZEVGRnBxdGRFZnpMYm1jWGI5WmZ2RDZsbm5mSHB1SUJ5SVFuWDdCRmRu?= =?utf-8?B?SS9XOU5RV3VhWi9qcEZlaUFBa3pQOHRQTVU1S3BTckNZZ3RTTXJFVEJUYmRz?= =?utf-8?B?NG92UzRVOFZKbTl2OUxQakNuRmFKT3hSdTlYeUlpZEZtcWNnUkJCR1U5Ym04?= =?utf-8?B?Qnk5WndqQnFHL3hlWnV3UTBsRnZoYlNSRkJ4cjlMS093dWdBT0oyMWl3dzkw?= =?utf-8?B?OEExRUFLR0R6aXo0NWs3VEd0YkN4c2ltTG85aEYxb2FaclJkN2FzRlEvaGxT?= =?utf-8?B?ajNnbEJ0bHpxRk00L0VVdEJIMWpWVkdrN1IxcTBKM0k3ajR0OFVKbnZyRWhR?= =?utf-8?B?dEVzSi9WbG8xN24xQjZ0c0hPVjNCRXlDMUk3amFyVHZuLzY2ZFlWeklZNk96?= =?utf-8?B?R0tnTFRkUFJ3bDlhdHY2YklvRzZwZTd4MjVVN3ZHU1REbDlzdHUrY3JwQXc0?= =?utf-8?B?Y3JBUXFYVk0vejJrdEwrRE00K1lLeG8zWjNqK09QWHp4VEFGcXM5ejVqeUhw?= =?utf-8?B?aGc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf405f7c-02d3-459c-53b6-08dacdbbca6d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2022 01:32:46.4774 (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: DyXfBsUiW19GvU5cVpy4+p7/tWEVvu7ZthqET7xjiebgkf5OrLAb0EzuOXom0tqftjvtgniKQMaz6V9gxNwEmgMk5SXb2+iMbPUyIN1W36c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4773 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWljaGFlbCBLdWJh Y2tpDQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgOSwgMjAyMiA5OjMzIEFNDQo+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwu Y29tPjsgR2FvLCBMaW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IEtpbm5leSwgTWlj aGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFNlYW4gQnJvZ2FuIDxzZWFu LmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgQ2hlbiwgQ2hyaXN0aW5lIDx5dXdlaS5jaGVuQGludGVs LmNvbT4NCj4gU3ViamVjdDogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAwMy8xMl0gQmFzZVRvb2xz L1ZmckNvbXBpbGU6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJ3cml0ZXMNCj4gDQo+IEZyb206 IE1pY2hhZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+IA0KPiBX aGlsZSBtb3JlIHBvcnRhYmxlIG1ldGhvZHMgZXhpc3QgdG8gaGFuZGxlIHRoZXNlIGNhc2VzLCB0 aGlzIGNoYW5nZQ0KPiBkb2VzIG5vdCBhdHRlbXB0IHRvIGRvIG1vcmUgdGhhbiBmaXggdGhlIGlt bWVkaWF0ZSBwcm9ibGVtIGFuZA0KPiBmb2xsb3cgdGhlIGNvbnZlbnRpb25zIGFscmVhZHkgZXN0 YWJsaXNoZWQgaW4gdGhpcyBjb2RlLg0KPiANCj4gYHNucHJpbnRmKClgIGlzIGludHJvZHVjZWQg YXMgdGhlIG1pbmltdW0gaW1wcm92ZW1lbnQgYXBhcnQgZnJvbQ0KPiBtYWtpbmcgdGhlIGJ1ZmZl cnMgbGFyZ2VyLg0KPiANCj4gRml4ZXMgdGhlIGZvbGxvd2luZyBDb2RlUUwgYWxlcnRzOg0KPiAN Cj4gMS4gRmFpbHVyZSBvbiBsaW5lIDIzMzkgaW4NCj4gICAgQmFzZVRvb2xzL1NvdXJjZS9DL1Zm ckNvbXBpbGUvUGNjdHMvYW50bHIvZ2VuLmMNCj4gDQo+ICAgIC0gVHlwZTogUG90ZW50aWFsbHkg b3ZlcnJ1bm5pbmcgd3JpdGUNCj4gICAgLSBTZXZlcml0eTogQ3JpdGljYWwNCj4gICAgLSBQcm9i bGVtOiBUaGlzICdjYWxsIHRvIHNwcmludGYnIG9wZXJhdGlvbiByZXF1aXJlcyAxNyBieXRlcyBi dXQNCj4gICAgICB0aGUgZGVzdGluYXRpb24gaXMgb25seSAxNiBieXRlcy4NCj4gDQo+IDIuIEZh aWx1cmUgb24gbGluZSAyMzQxIGluDQo+ICAgIEJhc2VUb29scy9Tb3VyY2UvQy9WZnJDb21waWxl L1BjY3RzL2FudGxyL2dlbi5jDQo+IA0KPiAgICAtIFR5cGU6IFBvdGVudGlhbGx5IG92ZXJydW5u aW5nIHdyaXRlDQo+ICAgIC0gU2V2ZXJpdHk6IENyaXRpY2FsDQo+ICAgIC0gUHJvYmxlbTogVGhp cyAnY2FsbCB0byBzcHJpbnRmJyBvcGVyYXRpb24gcmVxdWlyZXMgMTcgYnl0ZXMgYnV0DQo+ICAg ICAgdGhlIGRlc3RpbmF0aW9uIGlzIG9ubHkgMTYgYnl0ZXMuDQo+IA0KPiAzLiBGYWlsdXJlIG9u IGxpbmUgMTMwOSBpbg0KPiAgICBCYXNlVG9vbHMvU291cmNlL0MvVmZyQ29tcGlsZS9QY2N0cy9h bnRsci9tYWluLmMNCj4gDQo+ICAgIC0gVHlwZTogUG90ZW50aWFsbHkgb3ZlcnJ1bm5pbmcgd3Jp dGUNCj4gICAgLSBTZXZlcml0eTogQ3JpdGljYWwNCj4gICAgLSBQcm9ibGVtOiBUaGlzICdjYWxs IHRvIHNwcmludGYnIG9wZXJhdGlvbiByZXF1aXJlcyAyNSBieXRlcyBidXQNCj4gICAgICB0aGUg ZGVzdGluYXRpb24gaXMgb25seSAyMCBieXRlcy4NCj4gDQo+IENjOiBCb2IgRmVuZyA8Ym9iLmMu ZmVuZ0BpbnRlbC5jb20+DQo+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+DQo+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPg0KPiBDYzogWXV3 ZWkgQ2hlbiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg S3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+IC0tLQ0KPiAgQmFzZVRv b2xzL1NvdXJjZS9DL1ZmckNvbXBpbGUvUGNjdHMvYW50bHIvZ2VuLmMgIHwgMTAgKysrKystLS0t LQ0KPiAgQmFzZVRvb2xzL1NvdXJjZS9DL1ZmckNvbXBpbGUvUGNjdHMvYW50bHIvbWFpbi5jIHwg IDQgKystLQ0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25z KC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9DL1ZmckNvbXBpbGUvUGNj dHMvYW50bHIvZ2VuLmMgYi9CYXNlVG9vbHMvU291cmNlL0MvVmZyQ29tcGlsZS9QY2N0cy9hbnRs ci9nZW4uYw0KPiBpbmRleCA4ZTQxMjM5ZjQ3NTEuLjMzZDljYWM0YzdkZSAxMDA2NDQNCj4gLS0t IGEvQmFzZVRvb2xzL1NvdXJjZS9DL1ZmckNvbXBpbGUvUGNjdHMvYW50bHIvZ2VuLmMNCj4gKysr IGIvQmFzZVRvb2xzL1NvdXJjZS9DL1ZmckNvbXBpbGUvUGNjdHMvYW50bHIvZ2VuLmMNCj4gQEAg LTIzMzEsMTQgKzIzMzEsMTQgQEAgVG9rTm9kZSAqcDsNCj4gIAkJCXNldF9uYW1lRXJyU2V0ID0g YnVmRXJyU2V0OwkJCQkJCQkJLyogTVIyMyAqLw0KPiAgCQl9DQo+ICAJCWVsc2UgewkJCQkJLyog d2lsZCBjYXJkICovDQo+IC0JCQlzdGF0aWMgY2hhciBidWZbc2l6ZW9mKCJ6emVyciIpKzEwXTsN Cj4gLQkJCXN0YXRpYyBjaGFyIGJ1ZkVyclNldFtzaXplb2YoInp6ZXJyIikrMTBdOw0KPiArCQkJ c3RhdGljIGNoYXIgYnVmW3NpemVvZigienplcnIiKSsxMV07DQo+ICsJCQlzdGF0aWMgY2hhciBi dWZFcnJTZXRbc2l6ZW9mKCJ6emVyciIpKzExXTsNCj4gIAkJCWludCBuID0gRGVmRXJyU2V0KCAm YiwgMCwgTlVMTCApOw0KPiAgCQkJaW50IG5FcnJTZXQgPSBEZWZFcnJTZXRXaXRoU3VmZml4KDAs ICZiRXJyU2V0LCAxLCBOVUxMLCAiX3NldCIpOw0KPiAtCQkJaWYgKCBHZW5DQyApIHNwcmludGYo YnVmLCAiZXJyJWQiLCBuKTsNCj4gLQkJCWVsc2Ugc3ByaW50ZihidWYsICJ6emVyciVkIiwgbik7 DQo+ICsJCQlpZiAoIEdlbkNDICkgc25wcmludGYoYnVmLCAxMSwgImVyciVkIiwgbik7DQo+ICsJ CQllbHNlIHNucHJpbnRmKGJ1ZiwgMTEsICJ6emVyciVkIiwgbik7DQo+ICAJCQlpZiAoIEdlbkND ICkgc3ByaW50ZihidWZFcnJTZXQsICJlcnIlZCIsIG5FcnJTZXQpOw0KPiAtCQkJZWxzZSBzcHJp bnRmKGJ1ZkVyclNldCwgInp6ZXJyJWQiLCBuRXJyU2V0KTsNCj4gKwkJCWVsc2Ugc25wcmludGYo YnVmRXJyU2V0LCAxMSwgInp6ZXJyJWQiLCBuRXJyU2V0KTsNCj4gIAkJCXNldF9uYW1lID0gYnVm Ow0KPiAgCQkJc2V0X25hbWVFcnJTZXQgPSBidWZFcnJTZXQ7DQo+ICAJCX0NCj4gZGlmZiAtLWdp dCBhL0Jhc2VUb29scy9Tb3VyY2UvQy9WZnJDb21waWxlL1BjY3RzL2FudGxyL21haW4uYyBiL0Jh c2VUb29scy9Tb3VyY2UvQy9WZnJDb21waWxlL1BjY3RzL2FudGxyL21haW4uYw0KPiBpbmRleCAw NTFlZTRlYzVkMjguLjQ4OGI0YjkwNDYxYyAxMDA2NDQNCj4gLS0tIGEvQmFzZVRvb2xzL1NvdXJj ZS9DL1ZmckNvbXBpbGUvUGNjdHMvYW50bHIvbWFpbi5jDQo+ICsrKyBiL0Jhc2VUb29scy9Tb3Vy Y2UvQy9WZnJDb21waWxlL1BjY3RzL2FudGxyL21haW4uYw0KPiBAQCAtMTI5NSw3ICsxMjk1LDcg QEAgaW50IHRva2VuOw0KPiAgI2VuZGlmDQo+ICB7DQo+ICAJaW50ICAgICBqOw0KPiAtICAgICAg ICBzdGF0aWMgICAgY2hhciAgICBpbWFnX25hbWVbMjBdOw0KPiArICAgICAgICBzdGF0aWMgICAg Y2hhciAgICBpbWFnX25hbWVbMjVdOw0KPiANCj4gIAkvKiBsb29rIGluIGFsbCBsZXhjbGFzc2Vz IGZvciB0aGUgdG9rZW4gKi8NCj4gIAlpZiAoIFRva2VuU3RyaW5nKHRva2VuKSAhPSBOVUxMICkg cmV0dXJuIFRva2VuU3RyaW5nKHRva2VuKTsNCj4gQEAgLTEzMDYsNyArMTMwNiw3IEBAIGludCB0 b2tlbjsNCj4gIAl9DQo+IA0KPiAgICAgIGlmICgxKSB7DQo+IC0gICAgICBzcHJpbnRmKGltYWdf bmFtZSwiVW5rbm93blRva2VuIyVkIix0b2tlbik7ICAgICAgICAgICAvKiBNUjEzICovDQo+ICsg ICAgICBzbnByaW50ZihpbWFnX25hbWUsIDI1LCAiVW5rbm93blRva2VuIyVkIiwgdG9rZW4pOyAg ICAvKiBNUjEzICovDQo+ICAgICAgICByZXR1cm4gaW1hZ19uYW1lOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBNUjEzICovDQo+ICAgICAgfQ0KPiANCj4gLS0NCj4gMi4y OC4wLndpbmRvd3MuMQ0KPiANCj4gDQo+IA0KPiAtPS09LT0tPS09LT0NCj4gR3JvdXBzLmlvIExp bmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiBWaWV3 L1JlcGx5IE9ubGluZSAoIzk2MTQ5KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21l c3NhZ2UvOTYxNDkNCj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC85NDkx ODA4Ny8xNjQzNDk2DQo+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0K PiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFttaWNo YWVsLmQua2lubmV5QGludGVsLmNvbV0NCj4gLT0tPS09LT0tPS09DQo+IA0KDQo=