From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id ECB4921A0290B for ; Thu, 25 May 2017 12:57:50 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP; 25 May 2017 12:57:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,393,1491289200"; d="scan'208";a="91482540" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga004.jf.intel.com with ESMTP; 25 May 2017 12:57:50 -0700 Received: from orsmsx162.amr.corp.intel.com (10.22.240.85) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 May 2017 12:57:50 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.59]) by ORSMSX162.amr.corp.intel.com ([169.254.3.200]) with mapi id 14.03.0319.002; Thu, 25 May 2017 12:57:50 -0700 From: "Kinney, Michael D" To: Laszlo Ersek , Ard Biesheuvel , "Andrew Fish (afish@apple.com)" , "Kinney, Michael D" CC: "Wu, Hao A" , "edk2-devel@lists.01.org" , "Fan, Jeff" Thread-Topic: [edk2] [Patch] SourceLevelDebugPkg/SecPeiDebugAgentLib: Fix duplicate symbol Thread-Index: AQHS1Bvps+cEwgPBI0yVHuet7kPBjKICn1nwgAEC8ICAADNMgP//3r4ggADGhwD//7lQ4IAAE0+AgAFn/4D//6JzgAAP0eKAAA6dj/A= Date: Thu, 25 May 2017 19:57:50 +0000 Message-ID: References: <1495581673-10788-1-git-send-email-michael.d.kinney@intel.com> <60f3303b-c333-101d-b6e5-806ab85075a9@redhat.com> <435e1d65-7710-f548-c591-558307e266bc@redhat.com> In-Reply-To: <435e1d65-7710-f548-c591-558307e266bc@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNWU4ZjNiNDgtNTNmYS00NDE1LTk4MjMtMDRmMjhlY2I3ODcyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6ImhwZTJKWGUxR3Q5Y3N3S29HclFhbVBQRmh5VXNOcXRsN1Q3MVwvYmtnY2xJPSJ9 dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Subject: Re: [Patch] SourceLevelDebugPkg/SecPeiDebugAgentLib: Fix duplicate symbol X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 May 2017 19:57:51 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpJIGhhdmUgdGhlIHNhbWUgY29uY2VybiBvbiBmaW5hbCBpbWFnZSBzaXplcy4g IEkgaGF2ZSBkb25lIHNvbWUNCmV2YWx1YXRpb246DQoNCkdDQzUgT1ZNRiBYNjQgREVCVUcgd2l0 aG91dCAtd2hvbGUtYXJjaGl2ZSANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KRlYgU3BhY2UgSW5mb3JtYXRpb24NClNFQ0ZWIFsxOSVGdWxsXSAyMTI5OTIgdG90 YWwsIDQyMDAwIHVzZWQsIDE3MDk5MiBmcmVlDQpGVk1BSU5fQ09NUEFDVCBbMzMlRnVsbF0gMzQ0 MDY0MCB0b3RhbCwgMTE2Mjc2MCB1c2VkLCAyMjc3ODgwIGZyZWUNCkRYRUZWIFszOCVGdWxsXSAx MDQ4NTc2MCB0b3RhbCwgNDAyNDAyNCB1c2VkLCA2NDYxNzM2IGZyZWUNClBFSUZWIFsxOSVGdWxs XSA5MTc1MDQgdG90YWwsIDE4MDY0OCB1c2VkLCA3MzY4NTYgZnJlZQ0KVG90YWwgdXNlZCA9IDU0 MDk0MzINCg0KR0NDNSBPVk1GIFg2NCBERUJVRyB3aXRoIC13aG9sZS1hcmNoaXZlIA0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpGViBTcGFjZSBJbmZvcm1hdGlvbg0K U0VDRlYgWzE5JUZ1bGxdIDIxMjk5MiB0b3RhbCwgNDE5MzYgdXNlZCwgMTcxMDU2IGZyZWUNCkZW TUFJTl9DT01QQUNUIFszMyVGdWxsXSAzNDQwNjQwIHRvdGFsLCAxMTU4MzA0IHVzZWQsIDIyODIz MzYgZnJlZQ0KRFhFRlYgWzM4JUZ1bGxdIDEwNDg1NzYwIHRvdGFsLCA0MDI5NjU2IHVzZWQsIDY0 NTYxMDQgZnJlZQ0KUEVJRlYgWzE5JUZ1bGxdIDkxNzUwNCB0b3RhbCwgMTgxMzUyIHVzZWQsIDcz NjE1MiBmcmVlDQpUb3RhbCB1c2VkID0gNTQxMTI0OA0KDQpUb3RhbCB1c2VkIGRpZmZlcmVuY2Ug PSAxODE2IGJ5dGVzIGxhcmdlciB3aXRoIC13aG9sZS1hcmNoaXZlDQoNCkkgd2FzIGFsc28gYWJs ZSB0byBkbyBhIE1TRlQgVlMyMDE1IGJ1aWxkIHdpdGggL1dIT0xFQVJDSElWRSBzZXQNCmFuZCBp dCBhbHNvIGNhdGNoZXMgdGhlIHNhbWUgZHVwbGljYXRlIHN5bWJvbCBlcnJvciBub3cuDQoNCmVy cm9yIEMyMjIwOiB3YXJuaW5nIHRyZWF0ZWQgYXMgZXJyb3IgLSBubyAnZXhlY3V0YWJsZScgZmls ZSBnZW5lcmF0ZWQNCndhcm5pbmcgQzQ3NDQ6ICdtTWVtb3J5RGlzY292ZXJlZE5vdGlmeUxpc3Qn IGhhcyBkaWZmZXJlbnQgdHlwZSBpbiAnZDpcd29ya1xnaXRodWJcdGlhbm9jb3JlXGVkazJcbWRl bW9kdWxlcGtnXGNvcmVcZHhlaXBscGVpbVxkeGVsb2FkLmMnIGFuZCAnZDpcd29ya1xnaXRodWJc dGlhbm9jb3JlXGVkazJcc291cmNlbGV2ZWxkZWJ1Z3BrZ1xsaWJyYXJ5XGRlYnVnYWdlbnRcc2Vj cGVpZGVidWdhZ2VudFxzZWNwZWlkZWJ1Z2FnZW50bGliLmMnOiAnc3RydWN0ICgxMiBieXRlcykn IGFuZCAnYXJyYXkgKDEyIGJ5dGVzKScNCkR4ZUlwbC5saWIoRHhlTG9hZC5vYmopIDogZXJyb3Ig TE5LMjAwNTogX21NZW1vcnlEaXNjb3ZlcmVkTm90aWZ5TGlzdCBhbHJlYWR5IGRlZmluZWQgaW4g U2VjUGVpRGVidWdBZ2VudExpYi5saWIoU2VjUGVpRGVidWdBZ2VudExpYi5vYmopDQpkOlx3b3Jr XGdpdGh1Ylx0aWFub2NvcmVcZWRrMlxCdWlsZFxPdm1mSWEzMlxERUJVR19WUzIwMTV4ODZcSUEz MlxNZGVNb2R1bGVQa2dcQ29yZVxEeGVJcGxQZWltXER4ZUlwbFxERUJVR1xEeGVJcGwuZGxsIDog ZmF0YWwgZXJyb3IgTE5LMTE2OTogb25lIG9yIG1vcmUgbXVsdGlwbHkgZGVmaW5lZCBzeW1ib2xz IGZvdW5kDQoNClZTMjAxNSBPVk1GIFg2NCBERUJVRyB3aXRob3V0IC9XSE9MRUFSQ0hJVkUgDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpGViBTcGFjZSBJbmZv cm1hdGlvbg0KU0VDRlYgWzIyJUZ1bGxdIDIxMjk5MiB0b3RhbCwgNDg1NjAgdXNlZCwgMTY0NDMy IGZyZWUNCkZWTUFJTl9DT01QQUNUIFszMyVGdWxsXSAzNDQwNjQwIHRvdGFsLCAxMTQ3NDY0IHVz ZWQsIDIyOTMxNzYgZnJlZQ0KRFhFRlYgWzM5JUZ1bGxdIDEwNDg1NzYwIHRvdGFsLCA0MTYzODg4 IHVzZWQsIDYzMjE4NzIgZnJlZQ0KUEVJRlYgWzIyJUZ1bGxdIDkxNzUwNCB0b3RhbCwgMjA0ODQw IHVzZWQsIDcxMjY2NCBmcmVlDQpUb3RhbCB1c2VkID0gNTU2NDc1Mg0KDQoNClZTMjAxNSBPVk1G IFg2NCBERUJVRyB3aXRoIC9XSE9MRUFSQ0hJVkUgDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQpGViBTcGFjZSBJbmZvcm1hdGlvbg0KU0VDRlYgWzIzJUZ1bGxd IDIxMjk5MiB0b3RhbCwgNTAzODQgdXNlZCwgMTYyNjA4IGZyZWUNCkZWTUFJTl9DT01QQUNUIFsz MyVGdWxsXSAzNDQwNjQwIHRvdGFsLCAxMTQ3NDI0IHVzZWQsIDIyOTMyMTYgZnJlZQ0KRFhFRlYg WzQyJUZ1bGxdIDEwNDg1NzYwIHRvdGFsLCA0NDIyOTkyIHVzZWQsIDYwNjI3NjggZnJlZQ0KUEVJ RlYgWzI3JUZ1bGxdIDkxNzUwNCB0b3RhbCwgMjU1NTI4IHVzZWQsIDY2MTk3NiBmcmVlDQpUb3Rh bCB1c2VkID0gNTg3NTMzOA0KDQpUb3RhbCB1c2VkIGRpZmZlcmVuY2UgPSAzMTA1ODYgYnl0ZXMg bGFyZ2VyIHdpdGggL1dIT0xFQVJDSElWRQ0KDQpGb3IgdG9vbCBjaGFpbnMgdGhhdCBkbyBoYXZl IHNpemUgaW1wYWN0cywgb25lIG9wdGlvbiBpcyB0bw0KaGF2ZSBhICJ0ZXN0IiBidWlsZCB0aGF0 IGVuYWJsZXMgdGhlIGxpbmtlciBmbGFncyB0byBkZXRlY3QNCmR1cGxpY2F0ZSBzeW1ib2xzLiAg Rm9yIGV4YW1wbGUgdGhlIGZvbGxvd2luZyBjb3VsZCBiZSBhZGRlZA0KdG8gYSBEU0MgZmlsZS4g IE1heSB3YW50IHRvIGRpc2FibGUgR2VuRmRzIHN0YWdlIHdoZW4gZG9pbmcNCnRoaXMgdHlwZSBv ZiBidWlsZC4NCg0KW0J1aWxkT3B0aW9uc10NCiFpZmRlZiAkKERFVEVDVF9EVVBMSUNBVEVfU1lN Qk9MUykNCiAgTVNGVDoqX1ZTMjAxNV8qX0RMSU5LX0ZMQUdTID0gL1dIT0xFQVJDSElWRQ0KIWVu ZGlmDQoNCkJlc3QgcmVnYXJkcywNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBT ZW50OiBUaHVyc2RheSwgTWF5IDI1LCAyMDE3IDExOjA3IEFNDQo+IFRvOiBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA8YXJk LmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IEFuZHJldyBGaXNoIChhZmlzaEBhcHBsZS5jb20pIDxh ZmlzaEBhcHBsZS5jb20+DQo+IENjOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnOyBGYW4sIEplZmYNCj4gPGplZmYuZmFuQGludGVsLmNvbT4N Cj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUGF0Y2hdIFNvdXJjZUxldmVsRGVidWdQa2cvU2VjUGVp RGVidWdBZ2VudExpYjogRml4IGR1cGxpY2F0ZQ0KPiBzeW1ib2wNCj4gDQo+IE9uIDA1LzI1LzE3 IDE5OjM4LCBLaW5uZXksIE1pY2hhZWwgRCB3cm90ZToNCj4gPiBMYXN6bG8sDQo+ID4NCj4gPiBJ IHRoaW5rIHRoZSBlcXVpdmFsZW50IGZsYWcgZm9yIEdDQyBidWlsZHMgaXMgLS13aG9sZS1hcmNo aXZlLg0KPiA+DQo+ID4gSSB0cmllZCBhZGRpbmcgdGhhdCBmbGFnIHRvIERMSU5LX0ZMQUdTIGlu IEdDQzUsIGFuZCBJIGdldCB0aGUNCj4gPiBmb2xsb3dpbmcgZXJyb3IgYnVpbGRpbmcgT1ZNRiBm cm9tIGVkazIvbWFzdGVyIHdpdGgNCj4gPiAtRCBTT1VSQ0VfREVCVUdfRU5BQkxFIHNldC4NCj4g Pg0KPiA+IER4ZUxvYWQub2JqIChzeW1ib2wgZnJvbSBwbHVnaW4pOiBJbiBmdW5jdGlvbiBgSW5z dGFsbElwbFBlcm1hbmVudE1lbW9yeVBwaXMnOg0KPiA+ICgudGV4dCsweDApOiBtdWx0aXBsZSBk ZWZpbml0aW9uIG9mIGBtTWVtb3J5RGlzY292ZXJlZE5vdGlmeUxpc3QnDQo+ID4gU2VjUGVpRGVi dWdBZ2VudExpYi5vYmogKHN5bWJvbCBmcm9tIHBsdWdpbik6KC50ZXh0KzB4MCk6IGZpcnN0IGRl ZmluZWQgaGVyZQ0KPiA+IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cw0KPiANCj4gR3JlYXQgZmluZCEgVGhhdCdzIHRoZSBlcnJvciBtZXNzYWdlIHdlIHNob3VsZCBn ZXQuDQo+IA0KPiBVbmZvcnR1bmF0ZWx5LCBhZnRlciByZWFkaW5nIHRoZSAibGQiIG1hbnVhbCBv biAiLS13aG9sZS1hcmNoaXZlIiwgaXQNCj4gc2VlbXMgdGhhdCB0aGUgY29tcGxldGUgb2JqZWN0 IGZpbGVzIHdpbGwgYWN0dWFsbHkgYmUgY29waWVkIGludG8gdGhlDQo+IHJlc3VsdGFudCBiaW5h cnksIGV2ZW4gaWYgc2V2ZXJhbCBvZiB0aGVpciBzeW1ib2xzIHdpbGwgcmVtYWluIHVudXNlZC4g SQ0KPiB0aGluayB0aGF0J3MgcXVpdGUgc3ViLW9wdGltYWwuIChJIGhhdmVuJ3QgdmVyaWZpZWQg dGhpcyB0aG91Z2guKSBXaGF0DQo+IHdlJ2QgbGlrZSB0byBnZXQgaXMgKGEpIHRoZSBmdWxsIHZl cmlmaWNhdGlvbiBhdCBsaW5rIHRpbWUsIGFuZCAoYikNCj4gaW5jbHVzaW9uIG9mICpvbmx5KiB0 aG9zZSBzeW1ib2xzIHRoYXQgYXJlIGFjdHVhbGx5IG5lY2Vzc2FyeS4NCj4gDQo+IEluIHlvdXIg dGVzdGluZywgd2hlbiB5b3UgYnVpbGQgT1ZNRiB3aXRoIGFuZCB3aXRob3V0ICItLXdob2xlLWFy Y2hpdmUiLA0KPiBkbyB5b3Ugc2VlIGEgZGlmZmVyZW5jZSBpbiwgc2F5LCB0aGUgRFhFRlYgZm9v dHByaW50LCB3aGVuIHRoZSBidWlsZA0KPiBjb21wbGV0ZXM/DQo+IA0KPiAoSWYgc28sIHRoZW4g SSB3b25kZXIgaWYgd2Ugc2hvdWxkIGFkZCAiLS13aG9sZS1hcmNoaXZlIiBvbmx5IHRvIHRoZQ0K PiBOT09QVCBidWlsZC4uLiBOb3Qgc3VyZS4pDQo+IA0KPiA+IFZpc3VhbCBTdHVkaW8gMjAxNSBV cGRhdGUgMiBoYXMgYWxzbyBhZGRlZCBhIG5ldyBsaW5rZXIgZmxhZyBjYWxsZWQNCj4gPiAvV0hP TEVBUkNISVZFLiAgSSBhbSB3b3JraW5nIG9uIGV2YWx1YXRpbmcgdGhhdCBmbGFnIHRvIHNlZSBp ZiBpdA0KPiA+IGNhdGNoZXMgdGhlIHNhbWUgaXNzdWUuDQo+IA0KPiBUaGFua3MhDQo+IExhc3ps bw0KPiANCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogTGFzemxv IEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+ID4+IFNlbnQ6IFRodXJzZGF5LCBN YXkgMjUsIDIwMTcgOTowOSBBTQ0KPiA+PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPj4gPGFyZC5iaWVzaGV1dmVs QGxpbmFyby5vcmc+OyBBbmRyZXcgRmlzaCAoYWZpc2hAYXBwbGUuY29tKSA8YWZpc2hAYXBwbGUu Y29tPg0KPiA+PiBDYzogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBlZGsyLWRldmVs QGxpc3RzLjAxLm9yZzsgRmFuLCBKZWZmDQo+ID4+IDxqZWZmLmZhbkBpbnRlbC5jb20+DQo+ID4+ IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BhdGNoXSBTb3VyY2VMZXZlbERlYnVnUGtnL1NlY1BlaURl YnVnQWdlbnRMaWI6IEZpeCBkdXBsaWNhdGUNCj4gPj4gc3ltYm9sDQo+ID4+DQo+ID4+IE9uIDA1 LzI1LzE3IDAzOjQ3LCBLaW5uZXksIE1pY2hhZWwgRCB3cm90ZToNCj4gPj4+IEFuZHJldywNCj4g Pj4+DQo+ID4+PiBJIHRoaW5rIEkgaGF2ZSBmb3VuZCBhbiBhbHRlcm5hdGUgZml4IGZvciB0aGlz IFhDT0RFNSBzcGVjaWZpYw0KPiA+Pj4gYnVpbGQgZmFpbHVyZS4gIFNpbmNlIHRoZXJlIGFwcGVh cnMgdG8gYmUgYSBkaWZmZXJlbmNlIGluIHRoZQ0KPiA+Pj4gbGlua2VyIGJlaGF2aW9yIGJldHdl ZW4gTVNGVC9HQ0MvWENPREUgdG9vbCBjaGFpbnMsIEkgcmV2aWV3ZWQNCj4gPj4+IHRoZSAnbGQn IGNvbW1hbmQgbGluZSBvcHRpb25zIHVzZWQgaW4gWENPREU1IHRvb2wgY2hhaW4gaW4NCj4gPj4+ IHRvb2xzX2RlZi50eHQuDQo+ID4+Pg0KPiA+Pj4gVGhlcmUgaXMgYSBmbGFnIHNldCBjYWxsICct YWxsX2xvYWQnLiAgVGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMNCj4gPj4+IGZsYWcgaXMgJ0xvYWRz IGFsbCBtZW1iZXJzIG9mIHN0YXRpYyBhcmNoaXZlIGxpYnJhcmllcy4nLg0KPiA+Pj4NCj4gPj4+ IEkgdHJpZWQgcmVtb3ZpbmcgdGhpcyBmbGFnIGZyb20gdGhlIFhDT0RFNSBzcGVjaWZpYyBTTElO S19GTEFHUw0KPiA+Pj4gYW5kIERMSU5LX0ZMQUdTIHN0YXRlbWVudHMgaW4gdG9vbHNfZGVmLnR4 dCwgYW5kIHRoZSBkdXBsaWNhdGUNCj4gPj4+IHN5bWJvbCBidWlsZCBmYWlsdXJlIGlzIG5vIGxv bmdlciBwcmVzZW50LiAgSSBhbSBhYmxlIHRvIGJ1aWxkDQo+ID4+PiBhbmQgYm9vdCBPVk1GIHdp dGggWENPREU1IHdpdGggLUQgU09VUkNFX0RFQlVHX0VOQUJMRSBmbGFnIHNldC4NCj4gPj4+DQo+ ID4+PiBUaGlzIHNlZW1zIHRvIG1ha2UgWENPREU1IGxpbmtlciBiZWhhdmlvciBtYXRjaCB0aGUg TVNGVCBhbmQgR0NDDQo+ID4+PiBsaW5rZXIgYmVoYXZpb3IuDQo+ID4+Pg0KPiA+Pj4gRG8geW91 IGtub3cgd2h5ICctYWxsX2xvYWQnIGlzIHVzZWQgaW4gWENPREU1IGFuZCB3aGF0IGltcGFjdHMN Cj4gPj4+IHRoZXJlIG1heSBiZSBmcm9tIHJlbW92aW5nIGl0Pw0KPiA+Pg0KPiA+PiBQbGVhc2Ug ZG9uJ3QgcmVtb3ZlIC1hbGxfbG9hZCBmcm9tIHRoZXJlOyBpbnN0ZWFkIHdlIHNob3VsZCBmaWd1 cmUgb3V0DQo+ID4+IGlmIHRoZSBzYW1lIGNhbiBiZSBicm91Z2h0IHRvIE1TRlQgYW5kIEdDQy4N Cj4gPj4NCj4gPj4gVGhlIGVycm9yIG1lc3NhZ2UgdGhhdCBYQ09ERTUgZW1pdHRlZCBjYXVnaHQg YSByZWFsIGJ1ZyAodW5kZWZpbmVkDQo+ID4+IGJlaGF2aW9yIGFjY29yZGluZyB0byBJU08gQywg c2VlIG15IHByZXZpb3VzIGVtYWlsKSwgYW5kIHNvIHdlIHNob3VsZA0KPiA+PiBrZWVwIHRoYXQg ZGV0ZWN0aW9uIGVuYWJsZWQgKHdlIHNob3VsZCBldmVuIGV4dGVuZCBpdCB0byBvdGhlcg0KPiA+ PiB0b29sY2hhaW5zLCBpZiB0aGF0J3MgcG9zc2libGUpLg0KPiA+Pg0KPiA+PiBBcyBmb3IgZG9j cywgSSBmb3VuZCB0aGlzOg0KPiA+Pg0KPiA+PiBodHRwOi8vd3d3Lm1hbnBhZ2VzLmluZm8vbWFj b3N4L2xkLjEuaHRtbA0KPiA+Pg0KPiA+Pj4gLWFsbF9sb2FkDQo+ID4+PiAgICAgTG9hZHMgYWxs IG1lbWJlcnMgb2Ygc3RhdGljIGFyY2hpdmUgbGlicmFyaWVzLiBUaGlzIG9wdGlvbiBkb2VzDQo+ ID4+PiAgICAgbm90IGFwcGx5IHRvIGR5bmFtaWMgc2hhcmVkIGxpYnJhcmllcy4NCj4gPj4NCj4g Pj4NCj4gPj4gVGhhbmtzDQo+ID4+IExhc3psbw0KDQo=