From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130057.outbound.protection.outlook.com [40.107.13.57]) by dpdk.org (Postfix) with ESMTP id F05571B452 for ; Fri, 4 Jan 2019 07:37:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZjKbw4sWl0p/hPdbQpXPLgkuPWeruxJU+Hbe3hiedJs=; b=Zlb6mXiihRzMW2iRAyRuk8r0QICv7sA+n1OErUX6hRpOU5Up/zDX8A28TRZQiWSJpOmcnUyL6s9+hbp0nR+o03nygGb2pMD0HlxG5/ykrTK2W7VcTlFfzCOivGDkkx9Mijdd33aiiLAqC4Mi7dsnbsemS/9An4Qdg7daXINXhng= Received: from VI1PR04MB4688.eurprd04.prod.outlook.com (20.177.56.80) by VI1PR04MB5455.eurprd04.prod.outlook.com (20.178.121.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1495.9; Fri, 4 Jan 2019 06:37:37 +0000 Received: from VI1PR04MB4688.eurprd04.prod.outlook.com ([fe80::b1eb:7e7e:7b90:7b4]) by VI1PR04MB4688.eurprd04.prod.outlook.com ([fe80::b1eb:7e7e:7b90:7b4%3]) with mapi id 15.20.1495.005; Fri, 4 Jan 2019 06:37:37 +0000 From: Shreyansh Jain To: Vipin Varghese CC: "dev@dpdk.org" , "thomas@monjalon.net" , "marko.kovacevic@intel.com" , "honnappa.nagarahalli@arm.com" , "cristian.dumitrescu@intel.com" , "anatoly.burakov@intel.com" , "bruce.richardson@intel.com" , "olivier.matz@6wind.com" , "john.mcnamara@intel.com" , "amol.patel@intel.com" Thread-Topic: [dpdk-dev] [PATCH v3 2/2] doc: add guide for debug and troubleshoot Thread-Index: AQHUhVdZCIlWzNG2oEW85AjGz9JeK6We5TSA Date: Fri, 4 Jan 2019 06:37:37 +0000 Message-ID: References: <20181126070815.37501-1-vipin.varghese@intel.com> <20181126070815.37501-2-vipin.varghese@intel.com> In-Reply-To: <20181126070815.37501-2-vipin.varghese@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.143.254.130] x-clientproxiedby: BMXPR01CA0027.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:c::13) To VI1PR04MB4688.eurprd04.prod.outlook.com (2603:10a6:803:71::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=shreyansh.jain@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5455; 6:Rl0P4evY7eikSyDIpg1c4Uw9+Gzhes6Nk0RQ0e5RBACeIxLk7HwjU+R0yHslXsPimS6O7mxerywg3psJqpAXCqS/Q6k6spvAsSjeh0c/2/Xg8g0cGms9qapaBqjZ1DEt+bqqzFkyKEJU20WAEG941kZS9JMNJmQ7yp/YOD3hpyz6cmjYXLaG784/gNNy4htApRRn4vgHgDOT80ZJrK2uQ8xXcVkN3ptq7lyz9PzuRkaGZWCsmvBTpaHu1Gy4fkN1eAJxl3tTODEvH7cJ16gzZuyh4tc4yr1mPUCODSrMRZZB4RcT/g1YTUy6l3qj8apzFcKoWQzPdFi+d6glA3hqYfgKOQlvDXyOFxAI8lUcWs+h4wBEmxvN/nPYBs/NzQ9M6KLHYu2Js1Vz6AvjBPJ3fEGPKVQwvqyFAV+b+ksLbYbyeRf2qQS9Ksefhn+cw7ArczxkqzJDx5CySoiGqEHdmA==; 5:0uPgZ5ZNuc0b+nLSJduwYBe9tfk74r8GlkWcRrIYNJ9yUx1NRxDzi9Qe+Vxol/Fr8QDMm+kzJB8KlMHHtZtzQpLeCX7QaNDNw1Xb855krr+i9t5W7Mvzehius0tt7Ks6gyzeOBAE12KqCH2BI+qR1Sd8o1H7QUQXpuDJVLy2cKEIzBki3P7O1Iamny29j0ouZohb0RrNgNaNyT426IfhbA==; 7:ufZycf/sBd2Mn4bOIybLVmHnH6IGGFrTEecWtueFlVjYl1xUFBp5FSZyulTzG4klSMqsfOCgHD1D4hdHWFSXeBdLEBPwGIv71n7EhlGIrTJnaIoUHgAav41l+HDjfgjN3Zf+n9UFqCQbeggdCZNdeQ== x-ms-office365-filtering-correlation-id: 1c621dec-56f9-4353-aa5c-08d6720f1dc8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5455; x-ms-traffictypediagnostic: VI1PR04MB5455: x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(908002)(999002)(5005026)(6040522)(8220060)(2401047)(8121501046)(10201501046)(93006095)(93001095)(3231475)(944501520)(52105112)(3002001)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5455; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5455; x-forefront-prvs: 0907F58A24 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39860400002)(376002)(366004)(136003)(51444003)(199004)(189003)(53936002)(186003)(97736004)(486006)(68736007)(76176011)(44832011)(7416002)(25786009)(26005)(7736002)(305945005)(86362001)(52116002)(478600001)(31696002)(5660300001)(53946003)(81156014)(81166006)(8676002)(8936002)(256004)(14444005)(6512007)(66066001)(71190400001)(71200400001)(4744004)(4326008)(2906002)(36756003)(6116002)(99286004)(3846002)(78486014)(229853002)(102836004)(31686004)(54906003)(316002)(105586002)(106356001)(6436002)(2616005)(14454004)(446003)(55236004)(6246003)(386003)(476003)(6916009)(6506007)(6486002)(11346002)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5455; H:VI1PR04MB4688.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: WMB5wxVHZ/DzAJ+srpAjS5G45g28nEjyvutBcbrvJhIRPgLOvUoqEoQJ8hWmRDZ517q5ubDm7RVwj2rT1PQLPsBustfcijH1gZZTV6mxFGK9KCeKFAb5CfdDnx3r5ND9zs6DZ2na4zyF/6fUbVr9NwagdQZEBL1PNRMm+DBeTlNSPWF9s2jErPnOLQhf4CXg1LUMUitApdmOABb5K/3tSBn+yfbFCG58uSGzF31ICdgmU7GvJUAfccujQlLRVAzzsCMOrAqaMCUnUSap39KhORSj6N9461KUkpYq3mZpmFDMMH64RdnnKGmwi70+zeW4 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <60E836BCFA252D4A8D4EDD8374EDA409@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c621dec-56f9-4353-aa5c-08d6720f1dc8 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2019 06:37:34.7862 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5455 Subject: Re: [dpdk-dev] [PATCH v3 2/2] doc: add guide for debug and troubleshoot X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 06:37:40 -0000 SGVsbG8gVmlwaW4sDQoNClNvbWUgY29tbWVudHMgYW5kIGxvdHMgb2Ygbml0cGlja3MgaW5saW5l ZC4NCihJIGtub3cgdGhpcyBjb21lcyBtb250aHMgbGF0ZSAtIGFwb2xvZ2llcywganVzdCBkaWRu J3Qgc3R1bWJsZSBvbiB0aGlzIA0KZWFybGllcikuDQoNCk9uIE1vbmRheSAyNiBOb3ZlbWJlciAy MDE4IDEyOjM4IFBNLCBWaXBpbiBWYXJnaGVzZSB3cm90ZToNCj4gQWRkIHVzZXIgZ3VpZGUgb24g ZGVidWcgYW5kIHRyb3VibGVzaG9vdCBmb3IgY29tbW9uIGlzc3VlcyBhbmQgYm90dGxlbmVjaw0K PiBmb3VuZCBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIG1vZGVscyBydW5uaW5nIG9uIHNpbmdsZSBv ciBtdWx0aSBzdGFnZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaXBpbiBWYXJnaGVzZSA8dmlw aW4udmFyZ2hlc2VAaW50ZWwuY29tPg0KPiBBY2tlZC1ieTogTWFya28gS292YWNldmljIDxtYXJr by5rb3ZhY2V2aWNAaW50ZWwuY29tPg0KPiAtLS0NCj4gDQo+IFYzOg0KPiAgIC0gcmVvcmRlciBm b3IgcmVtb3Zpbmcgd2FybmluZyBpbiAnbWFrZSBkb2MtZ3VpZGVzLWh0bWwnIC0gVGhvbWFzIE1v bmphbG9uDQo+IA0KPiBWMjoNCj4gICAtIGFkZCBvZmZsb2FkIGZsYWcgY2hlY2sgLSBWaXBpbiBW YXJnaGVzZQ0KPiAgIC0gY2hhbmdlIHRhYiB0byBzcGFjZSAtIE1hcmtvIEtvdmFjZXZpYw0KPiAg IC0gc3BlbGxpbmcgY29ycmVjdGlvbiAtIE1hcmtvIEtvdmFjZXZpYw0KPiAgIC0gcmVtb3ZlIGV4 dHJhIGNoYXJhY3RlcnMgLSBNYXJrbyBLb3ZhY2V2aWMNCj4gICAtIGFkZCBBQ0sgYnkgTWFya28g LSBWaXBuIFZhcmdoZXNlDQo+IC0tLQ0KPiAgIGRvYy9ndWlkZXMvaG93dG8vZGVidWdfdHJvdWJs ZXNob290X2d1aWRlLnJzdCB8IDM1MSArKysrKysrKysrKysrKysrKysNCj4gICBkb2MvZ3VpZGVz L2hvd3RvL2luZGV4LnJzdCAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAgIDIgZmlsZXMg Y2hhbmdlZCwgMzUyIGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL2d1 aWRlcy9ob3d0by9kZWJ1Z190cm91Ymxlc2hvb3RfZ3VpZGUucnN0DQo+IA0KPiBkaWZmIC0tZ2l0 IGEvZG9jL2d1aWRlcy9ob3d0by9kZWJ1Z190cm91Ymxlc2hvb3RfZ3VpZGUucnN0IGIvZG9jL2d1 aWRlcy9ob3d0by9kZWJ1Z190cm91Ymxlc2hvb3RfZ3VpZGUucnN0DQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMC4uNTU1ODkwODVlDQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvZG9jL2d1aWRlcy9ob3d0by9kZWJ1Z190cm91Ymxlc2hvb3RfZ3VpZGUucnN0DQo+IEBA IC0wLDAgKzEsMzUxIEBADQo+ICsuLiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNs YXVzZQ0KPiArICAgIENvcHlyaWdodChjKSAyMDE4IEludGVsIENvcnBvcmF0aW9uLg0KPiArDQo+ ICsuLiBfZGVidWdfdHJvdWJsZXNob290X3ZpYV9wbWQ6DQo+ICsNCj4gK0RlYnVnICYgVHJvdWJs ZXNob290IGd1aWRlIHZpYSBQTUQNCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gKw0KPiArRFBESyBhcHBsaWNhdGlvbnMgY2FuIGJlIGRlc2lnbmVkIHRvIHJ1biBhcyBz aW5nbGUgdGhyZWFkIHNpbXBsZSBzdGFnZSB0bw0KPiArbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGNv bXBsZXggcGlwZWxpbmUgc3RhZ2VzLiBUaGVzZSBhcHBsaWNhdGlvbiBjYW4gdXNlIHBvbGwNCj4g K21vZGUgZGV2aWNlcyB3aGljaCBoZWxwcyBpbiBvZmZsb2FkaW5nIENQVSBjeWNsZXMuIEEgZmV3 IG1vZGVscyBhcmUNCj4gKw0KPiArICAqICBzaW5nbGUgcHJpbWFyeQ0KPiArICAqICBtdWx0aXBs ZSBwcmltYXJ5DQo+ICsgICogIHNpbmdsZSBwcmltYXJ5IHNpbmdsZSBzZWNvbmRhcnkNCj4gKyAg KiAgc2luZ2xlIHByaW1hcnkgbXVsdGlwbGUgc2Vjb25kYXJ5DQo+ICsNCj4gK0luIGFsbCB0aGUg YWJvdmUgY2FzZXMsIGl0IGlzIGEgdGVkaW91cyB0YXNrIHRvIGlzb2xhdGUsIGRlYnVnIGFuZCB1 bmRlcnN0YW5kDQo+ICtvZGQgYmVoYXZpb3VyIHdoaWNoIGNhbiBvY2N1cnJpbmcgcmFuZG9tIG9y IHBlcmlvZGljLiBUaGUgZ29hbCBvZiBndWlkZSBpcyB0bw0KICAgICAgICAgICAgICAgICAgXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eDQogICAg ZWl0aGVyIG9mOiB3aGljaCBjYW4gb2NjdXIgcmFuZG9tbHkgb3IgcGVyaW9kaWNhbGx5IC4uLiAg ICAgICAgdGhpcw0KICAgICAgICAgICAgICAgd2hpY2ggb2NjdXJzIHJhbmRvbWx5IG9yIHBlcmlv ZGljYWxseQ0KDQo+ICtzaGFyZSBhbmQgZXhwbG9yZSBhIGZldyBjb21tb25seSBzZWVuIHBhdHRl cm5zIGFuZCBiZWhhdmlvdXIuIFRoZW4gaXNvbGF0ZSBhbmQNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIgbml0cGljazogICAgICAgICAg VGhlbiwgaXNvbGF0ZQ0KDQo+ICtpZGVudGlmeSB0aGUgcm9vdCBjYXVzZSB2aWEgc3RlcCBieSBz dGVwIGRlYnVnIGF0IHZhcmlvdXMgcHJvY2Vzc2luZyBzdGFnZXMuDQo+ICsNCj4gK0FwcGxpY2F0 aW9uIE92ZXJ2aWV3DQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICtMZXQgdXMgdGFr ZSB1cCBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIGFzIHJlZmVyZW5jZSBmb3IgZXhwbGFpbmluZyBp c3N1ZXMgYW5kDQo+ICtwYXR0ZXJucyBjb21tb25seSBzZWVuLiBUaGUgc2FtcGxlIGFwcGxpY2F0 aW9uIGluIGRpc2N1c3Npb24gbWFrZXMgdXNlIG9mDQo+ICtzaW5nbGUgcHJpbWFyeSBtb2RlbCB3 aXRoIHZhcmlvdXMgcGlwZWxpbmUgc3RhZ2VzLiBUaGUgYXBwbGljYXRpb24gdXNlcyBQTUQNCj4g K2FuZCBsaWJyYXJpZXMgc3VjaCBhcyBzZXJ2aWNlIGNvcmVzLCBtZW1wb29sLCBwa3QgbWJ1Ziwg ZXZlbnQsIGNyeXB0bywgUW9TDQo+ICthbmQgZXRoLg0KPiArDQo+ICtUaGUgb3ZlcnZpZXcgb2Yg YW4gYXBwbGljYXRpb24gbW9kZWxlZCB1c2luZyBQTUQgaXMgc2hvd24gaW4NCj4gKzpudW1yZWY6 YGR0Z19zYW1wbGVfYXBwX21vZGVsYC4NCj4gKw0KPiArLi4gX2R0Z19zYW1wbGVfYXBwX21vZGVs Og0KPiArDQo+ICsuLiBmaWd1cmU6OiBpbWcvZHRnX3NhbXBsZV9hcHBfbW9kZWwuKg0KPiArDQo+ ICsgICBPdmVydmlldyBvZiBwaXBlbGluZSBzdGFnZSBvZiBhbiBhcHBsaWNhdGlvbg0KPiArDQo+ ICtCb3R0bGVuZWNrIEFuYWx5c2lzDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gK1Rv IGRlYnVnIHRoZSBib3R0bGVuZWNrIGFuZCBwZXJmb3JtYW5jZSBpc3N1ZXMgdGhlIGRlc2lyZWQg YXBwbGljYXRpb24NCj4gK2lzIG1hZGUgdG8gcnVuIGluIGFuIGVudmlyb25tZW50IG1hdGNoaW5n IGFzIGJlbG93DQo+ICsNCj4gKyMuIExpbnV4IDY0LWJpdHwzMi1iaXQNCj4gKyMuIERQREsgUE1E IGFuZCBsaWJyYXJpZXMgYXJlIHVzZWQNCj4gKyMuIExpYnJhcmllcyBhbmQgUE1EIGFyZSBlaXRo ZXIgc3RhdGljIG9yIHNoYXJlZC4gQnV0IG5vdCBib3RoDQo+ICsjLiBNYWNoaW5lIGZsYWcgb3B0 aW1pemF0aW9ucyBvZiBnY2Mgb3IgY29tcGlsZXIgYXJlIG1hZGUgY29uc3RhbnQNCj4gKw0KPiAr SXMgdGhlcmUgbWlzbWF0Y2ggaW4gcGFja2V0IHJhdGUgKHJlY2VpdmVkIDwgc2VuZCk/DQo+ICt+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gKw0K PiArUlggUG9ydCBhbmQgYXNzb2NpYXRlZCBjb3JlIDpudW1yZWY6YGR0Z19yeF9yYXRlYC4NCj4g Kw0KPiArLi4gX2R0Z19yeF9yYXRlOg0KPiArDQo+ICsuLiBmaWd1cmU6OiBpbWcvZHRnX3J4X3Jh dGUuKg0KPiArDQo+ICsgICBSWCBzZW5kIHJhdGUgY29tcGFyZWQgYWdhaW5zdCBSZWNlaXZlZCBy YXRlDQo+ICsNCj4gKyMuIGFyZSBnZW5lcmljIGNvbmZpZ3VyYXRpb24gY29ycmVjdD8NCj4gKyAg ICAtICBXaGF0IGlzIHBvcnQgU3BlZWQsIER1cGxleD8gcnRlX2V0aF9saW5rX2dldCgpDQo+ICsg ICAgLSAgSXMgcGFja2V0IG9mIGhpZ2hlciBzaXplcyBhcmUgZHJvcHBlZD8gcnRlX2V0aF9nZXRf bXR1KCkNCiAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXg0K ICAgICAgICAgICBBcmUgcGFja2V0cyBvZiBoaWdoZXIgc2l6ZSBkcm9wcGVkPw0KDQo+ICsgICAg LSAgQXJlIG9ubHkgc3BlY2lmaWMgTUFDIGFyZSByZWNlaXZlZD8gcnRlX2V0aF9wcm9taXNjdW91 c19nZXQoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eDQogICAgICAg ICAgICAgICAgICAgICAgICAgICBjYW4gYmUgcmVtb3ZlZA0KDQpXaGF0IGFib3V0IGNoZWNraW5n IHZsYW4tZmlsdGVycywgaWYgYW55PyAtIHRoYXQgaXMsIGlmIHBhY2tldHMgaGF2ZSANCnNvbWUg dmxhbiBzdGFtcGVkIGFuZCBoYXJkd2FyZSBpcyBjb25maWd1cmVkIHRvIGZpbHRlciB0aGF0Lg0K DQo+ICsNCj4gKyMuIGFyZSB0aGVyZSBOSUMgc3BlY2lmaWMgZHJvcHM/DQo+ICsgICAgLSAgQ2hl Y2sgcnRlX2V0aF9yeF9xdWV1ZV9pbmZvX2dldCgpIGZvciBuYl9kZXNjLCBzY2F0dGVyZWRfcngs DQo+ICsgICAgLSAgQ2hlY2sgcnRlX2V0aF9kZXZfc3RhdHMoKSBmb3IgU3RhdHMgcGVyIHF1ZXVl DQo+ICsgICAgLSAgSXMgc3RhdHMgb2Ygb3RoZXIgcXVldWVzIHNob3dzIG5vIGNoYW5nZSB2aWEN Cj4gKyAgICAgICBydGVfZXRoX2Rldl9kZXZfcnNzX2hhc2hfY29uZl9nZXQoKQ0KDQogICAgICAg ICAgIERvZXMgc3RhdCBmb3Igb3RoZXIgcXVldWVzIHNob3dzIG5vIGNoYW5nZSB2aWEgLi4uDQpP ciwgbWF5YmUgeW91IGludGVuZCB0byBzYXkgLSBjaGVjayBzdGF0cyBmb3IgYWxsIHF1ZXVlcyBp biBjYXNlIFJTUyBpcyANCmNvbmZpZ3VyZWQgYW5kIHBhY2tldHMgYXJlIGJlaW5nIGRpc3RyaWJ1 dGVkIHRvIGEgcXVldWUgbm90IGJlaW5nIA0KbGlzdGVuZWQgdG8uDQoNCj4gKyAgICAtICBDaGVj ayBpZiBwb3J0IG9mZmxvYWQgYW5kIHF1ZXVlIG9mZmxvYWQgbWF0Y2hlcy4NCj4gKw0KPiArIy4g SWYgcHJvYmxlbSBzdGlsbCBwZXJzaXN0cywgdGhpcyBtaWdodCBiZSBhdCBSWCBsY29yZSB0aHJl YWQNCj4gKyAgICAtICBDaGVjayBpZiBSWCB0aHJlYWQsIGRpc3RyaWJ1dG9yIG9yIGV2ZW50IHJ4 IGFkYXB0ZXIgaXMgaG9sZGluZyBvcg0KPiArICAgICAgIHByb2Nlc3NpbmcgbW9yZSB0aGFuIHJl cXVpcmVkDQogICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXg0KICAgIERpZCB5b3UgbWVh biB0byBzYXkgIi4uLnByb2Nlc3NpbmcgbGVzcyB0aGF0IHJlcXVpcmVkLi4iPyBCZWNhdXNlIGlm IA0KUnggZG9lc24ndCBtYXRjaCBUeCAoZnJvbSBhIGdlbmVyYXRvciksIGl0IHdvdWxkIGJlIGxl c3MgcHJvY2Vzc2luZy4NCg0KPiArICAgIC0gIHRyeSB1c2luZyBydGVfcHJlZmV0Y2hfbm9uX3Rl bXBvcmFsKCkgdG8gaW50aW1hdGUgdGhlIG1idWYgaW4gcHVsbGVkDQo+ICsgICAgICAgdG8gY2Fj aGUgZm9yIHRlbXBvcmFyeQ0KICAgICAgICAgXl5eXl5eXg0KTWF5YmUgdGhpcyBzdGF0ZW1lbnQg aXMgaW5jb21wbGV0ZSAtIG9yLCBuZWVkIHJlcGhyYXNpbmcuDQoNCj4gKw0KPiArDQo+ICtBcmUg dGhlcmUgcGFja2V0IGRyb3BzIChyZWNlaXZlfHRyYW5zbWl0KT8NCj4gK35+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtSWC1UWCBQb3J0IGFuZCBhc3Nv Y2lhdGVkIGNvcmVzIDpudW1yZWY6YGR0Z19yeF90eF9kcm9wYC4NCj4gKw0KPiArLi4gX2R0Z19y eF90eF9kcm9wOg0KPiArDQo+ICsuLiBmaWd1cmU6OiBpbWcvZHRnX3J4X3R4X2Ryb3AuKg0KPiAr DQo+ICsgICBSWC1UWCBkcm9wcw0KPiArDQo+ICsjLiBhdCBSWA0KPiArICAgIC0gIEdldCB0aGUg cnggcXVldWVzIGJ5IHJ0ZV9ldGhfZGV2X2luZm9fZ2V0KCkgZm9yIG5iX3J4X3F1ZXVlcw0KICAg ICAgICAgICBeXl5eDQpPciwgeW91IG1lYW50IHRvIHdyaXRlICJHZXQgdGhlIFJ4IHF1ZXVlIGlu Zm8gdXNpbmcgDQpydGVfZXRoX2Rldl9pbmZvX2dldCgpIi4gT3IgbWF5YmUgIkdldCBSeCBxdWV1 ZSBjb3VudCB1c2luZyBpbmZvIGZyb20gDQpydGVfZXRoX2Rldl9pbmZvX2dldCgpIg0KDQo+ICsg ICAgLSAgQ2hlY2sgZm9yIG1pc3MsIGVycm9ycywgcWVycm9zIGJ5IHJ0ZV9ldGhfZGV2X3N0YXRz KCkgZm9yIGltaXNzZWQsDQo+ICsgICAgICAgaWVycm9ycywgcV9lcnJvcywgcnhfbm9tYnVmLCBy dGVfbWJ1Zl9yZWZfY291bnQNCj4gKw0KPiArIy4gYXQgVFgNCj4gKyAgICAtICBBcmUgd2UgZG9p bmcgaW4gYnVsayB0byByZWR1Y2UgdGhlIFRYIGRlc2NyaXB0b3Igb3ZlcmhlYWQ/DQogICAgICAg ICAgICBeXl5eXl4NCkFzc3VtaW5nIGFsbCB5b3VyIGNvbnZlcnNhdGlvbiB1bnRpbCBub3cgaXMg c2Vjb25kIHBlcnNvbiwgJ3lvdScuDQoNCj4gKyAgICAtICBDaGVjayBydGVfZXRoX2Rldl9zdGF0 cygpIGZvciBvZXJyb3JzLCBxZXJyb3MsIHJ0ZV9tYnVmX3JlZl9jb3VudA0KPiArICAgIC0gIElz IHRoZSBwYWNrZXQgbXVsdGkgc2VnbWVudGVkPyBDaGVjayBpZiBwb3J0IGFuZCBxdWV1ZSBvZmZs YW9kIGlzIHNldC4NCj4gKw0KPiArQXJlIHRoZXJlIG9iamVjdCBkcm9wcyBpbiBwcm9kdWNlciBw b2ludCBmb3IgcmluZz8NCj4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+DQo+ICsNCj4gK1Byb2R1Y2VyIHBvaW50IGZvciByaW5nIDpudW1yZWY6YGR0 Z19wcm9kdWNlcl9yaW5nYC4NCj4gKw0KPiArLi4gX2R0Z19wcm9kdWNlcl9yaW5nOg0KPiArDQo+ ICsuLiBmaWd1cmU6OiBpbWcvZHRnX3Byb2R1Y2VyX3JpbmcuKg0KPiArDQo+ICsgICBQcm9kdWNl ciBwb2ludCBmb3IgUmluZ3MNCj4gKw0KPiArIy4gUGVyZm9ybWFuY2UgZm9yIFByb2R1Y2VyDQo+ ICsgICAgLSAgRmV0Y2ggdGhlIHR5cGUgb2YgUklORyAncnRlX3JpbmdfZHVtcCgpJyBmb3IgZmxh Z3MgKFJJTkdfRl9TUF9FTlEpDQo+ICsgICAgLSAgSWYgJyhidXJzdCBlbnF1ZXVlIC0gYWN0dWFs IGVucXVldWUpID4gMCcgY2hlY2sgcnRlX3JpbmdfY291bnQoKSBvcg0KPiArICAgICAgIHJ0ZV9y aW5nX2ZyZWVfY291bnQoKQ0KPiArICAgIC0gIElmICdidXJzdCBvciBzaW5nbGUgZW5xdWV1ZSBp cyAwJywgdGhlbiB0aGVyZSBpcyBubyBtb3JlIHNwYWNlIGNoZWNrDQo+ICsgICAgICAgcnRlX3Jp bmdfZnVsbCgpIG9yIG5vdA0KICAgICAgICAgXl5eXl5eDQpUaGlzIGxpbmUgbmVlZHMgcmVwaHJh c2U7IG1heWJlIGxpa2U6IElmICdidXJzdCBvciBzaW5nbGUgZW5xdWV1ZSBpcyAwJywgDQp0aGVu LCBpZiB0aGVyZSBpcyBubyBtb3JlIHNwYWNlLCBjaGVjayBydGVfcmluZ19mdWxsKCkuDQpPcg0K Li4uIHRoZW4sIGNoZWNrIGlmIHRoZSByaW5nIGlzIGZ1bGwgb3Igbm90IHVzaW5nIHJ0ZV9yaW5n X2Z1bGwoKQ0KKE9yLCB5b3VyIHNpbWlsYXIgc3RhdGVtZW50IGZvciBydGVfcmluZ19lbXB0eSgp LCBiZWxvdywgbG9va3MgYmV0dGVyKQ0KDQo+ICsNCj4gK0FyZSB0aGVyZSBvYmplY3QgZHJvcHMg aW4gY29uc3VtZXIgcG9pbnQgZm9yIHJpbmc/DQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtDb25zdW1lciBwb2ludCBmb3Igcmlu ZyA6bnVtcmVmOmBkdGdfY29uc3VtZXJfcmluZ2AuDQo+ICsNCj4gKy4uIF9kdGdfY29uc3VtZXJf cmluZzoNCj4gKw0KPiArLi4gZmlndXJlOjogaW1nL2R0Z19jb25zdW1lcl9yaW5nLioNCj4gKw0K PiArICAgQ29uc3VtZXIgcG9pbnQgZm9yIFJpbmdzDQo+ICsNCj4gKyMuIFBlcmZvcm1hbmNlIGZv ciBDb25zdW1lcg0KPiArICAgIC0gIEZldGNoIHRoZSB0eXBlIG9mIFJJTkcg4oCTIHJ0ZV9yaW5n X2R1bXAoKSBmb3IgZmxhZ3MgKFJJTkdfRl9TQ19ERVEpDQo+ICsgICAgLSAgSWYgJyhidXJzdCBk ZXF1ZXVlIC0gYWN0dWFsIGRlcXVldWUpID4gMCcgZm9yIHJ0ZV9yaW5nX2ZyZWVfY291bnQoKQ0K PiArICAgIC0gIElmICdidXJzdCBvciBzaW5nbGUgZW5xdWV1ZScgYWx3YXlzIHJlc3VsdHMgMCBj aGVjayB0aGUgcmluZyBpcyBlbXB0eQ0KPiArICAgICAgIHZpYSBydGVfcmluZ19lbXB0eSgpDQo+ ICsNCj4gK0lzIHBhY2tldHMgb3Igb2JqZWN0cyBhcmUgbm90IHByb2Nlc3NlZCBhdCBkZXNpcmVk IHJhdGU/DQogICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQogICAgQXJlIHBhY2tldHMg b3Igb2JqZWN0cyBub3QgcHJvY2Vzc2VkIGF0IGRlc2lyZWQgcmF0ZT8NCj4gK35+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ICsNCj4gK01l bW9yeSBvYmplY3RzIGNsb3NlIHRvIE5VTUEgOm51bXJlZjpgZHRnX21lbXBvb2xgLg0KPiArDQo+ ICsuLiBfZHRnX21lbXBvb2w6DQo+ICsNCj4gKy4uIGZpZ3VyZTo6IGltZy9kdGdfbWVtcG9vbC4q DQo+ICsNCj4gKyAgIE1lbW9yeSBvYmplY3RzIGhhcyB0byBiZSBjbG9zZSB0byBkZXZpY2UgcGVy IE5VTUENCj4gKw0KPiArIy4gSXMgdGhlIHBlcmZvcm1hbmNlIGxvdz8NCj4gKyAgICAtICBBcmUg cGFja2V0cyByZWNlaXZlZCBmcm9tIG11bHRpcGxlIE5JQz8gcnRlX2V0aF9kZXZfY291bnRfYWxs KCkNCj4gKyAgICAtICBBcmUgTklDIGludGVyZmFjZXMgb24gZGlmZmVyZW50IHNvY2tldD8gdXNl IHJ0ZV9ldGhfZGV2X3NvY2tldF9pZCgpDQo+ICsgICAgLSAgSXMgbWVtcG9vbCBjcmVhdGVkIHdp dGggcmlnaHQgc29ja2V0PyBydGVfbWVtcG9vbF9jcmVhdGUoKSBvcg0KPiArICAgICAgIHJ0ZV9w a3RtYnVmX3Bvb2xfY3JlYXRlKCkNCj4gKyAgICAtICBBcmUgd2Ugc2VlaW5nIGRyb3Agb24gc3Bl Y2lmaWMgc29ja2V0PyBJdCBtaWdodCByZXF1aXJlIG1vcmUNCiAgICAgICAgICAgICBeXl5eXg0K SnVzdCBsaWtlIGFib3ZlLCBhcyB5b3VyIHBlcnNwZWN0aXZlIGhhcyBiZWVuIHNlY29uZCBwZXJz b24sICd5b3UnLg0KPiArICAgICAgIG1lbXBvb2wgb2JqZWN0czsgdHJ5IGFsbG9jYXRpbmcgbW9y ZSBvYmplY3QNCg0KU28sIE9yIGNoZWNrIGlmIG1lbXBvb2wgZGVwbGV0aW9uIGxldmVscyBhcmUg bm90IGJlaW5nIHJlYWNoZWQgdXNpbmcgDQoicnRlX21lbXBvb2xfZ2V0X2NvdW50KCkiIG9yICJy dGVfbWVtcG9vbF9hdmFpbF9jb3VudCgpIi4gVGhhdCBtaWdodCANCmhlbHAgaWYgbWVtcG9vbCBv YmplY3RzIGFyZSBmYWxsaW5nIHNob3J0Lg0KQW5kLCB0aGlzIG1pZ2h0IGFjdHVhbGx5IGxlYWRz IHRvIGRyb3BzIHJhdGhlciB0aGFuIGRyb3AgaW4gZGVzaXJlZCByYXRlIA0KKHdoaWNoIGlzIGEg Y29uc2VxdWVuY2UpDQoNCihJIGRvIG5vdGljZSB0aGF0IHlvdSBoYXZlIG1lbnRpb25lZCB0aGlz IGJlbG93IC0gYnV0IEkgdGhpbmsgdGhhdCBpcyANCnRoZSBmaXJzdCB0aGluZyB0byBjaGVjay4g VGhhdHMganVzdCBteSBvcGluaW9uIC0gc28sIGZlZWwgZnJlZSB0byBpZ25vcmUpDQoNCg0KPiAr ICAgIC0gIElzIHRoZXJlIHNpbmdsZSBSWCB0aHJlYWQgZm9yIG11bHRpcGxlIE5JQz8gdHJ5IGhh dmluZyBtdWx0aXBsZQ0KPiArICAgICAgIGxjb3JlIHRvIHJlYWQgZnJvbSBmaXhlZCBpbnRlcmZh Y2Ugb3Igd2UgbWlnaHQgYmUgaGl0dGluZyBjYWNoZQ0KPiArICAgICAgIGxpbWl0LCBzbyBJbmNy ZWFzZSBjYWNoZV9zaXplIGZvciBwb29sX2NyZWF0ZSgpDQogICAgICAgICAgICAgICAgICAgIF5e Xg0KICAgICAgICAgICAgICAgIFNtYWxsICdpJw0KPiArDQo+ICsjLiBBcmUgd2UgYXJlIHN0aWxs IHNlZWluZyBsb3cgcGVyZm9ybWFuY2UNCj4gKyAgICAtICBDaGVjayBpZiBzdWZmaWNpZW50IG9i amVjdHMgaW4gbWVtcG9vbCBieSBydGVfbWVtcG9vbF9hdmFpbF9jb3VudCgpDQo+ICsgICAgLSAg SXMgZmFpbHVyZSBpbiBzb21lIHBrdD8gd2UgbWlnaHQgYmUgZ2V0dGluZyBwa3RzIHdpdGggc2l6 ZSA+IG1idWYNCiAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXg0KMSkgVXNl IHBhY2tldHMgcmF0aGVyIHRoYW4gcGt0cyBvciBwa3QNCjIpIERpZCB5b3UgbWVhbiAiSXMgdGhl cmUgZmFpbHVyZSBpbiBSeCBvZiBwYWNrZXRzPyIgT3IsICJQYWNrZXQgZHJvcHMgDQpiZWluZyBv YnNlcnZlZD8iDQo+ICsgICAgICAgZGF0YSBzaXplLiBDaGVjayBydGVfcGt0bWJ1Zl9pc19jb250 aW5ndW91cygpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl4NCkkgdGhpbmsgeW91IGludGVuZGVkOiBydGVfcGt0bWJ1Zl9pc19jb250aWd1b3Vz KCkNCg0KPiArICAgIC0gIElmIHVzZXIgcHRocmVhZCBpcyB1c2VkIHRvIGFjY2VzcyBvYmplY3Qg YWNjZXNzDQo+ICsgICAgICAgcnRlX21lbXBvb2xfY2FjaGVfY3JlYXRlKCkNCg0KTWF5YmUgSSBk aWRuJ3QgZ2V0IHRoZSBwb2ludCAtIGJ1dCwgd2h5IHVzaW5nIHJ0ZV9tZW1wb29sX2NhY2hlX2Ny ZWF0ZSANCmhlbHBzIGluIGNhc2Ugb2YgZXh0ZXJuYWwgcHRocmVhZHM/IFVzaW5nIGNhY2hlIHdv dWxkIGJlIGFwcGxpY2FibGUgaW4gDQphbGwgY2FzZXMgKGFzc3VtaW5nIG1lbXBvb2xfY3JlYXRl KC4uY2FjaGVfc2l6ZT0wLi4pLg0KDQo+ICsgICAgLSAgVHJ5IHVzaW5nIDFHQiBodWdlIHBhZ2Vz IGluc3RlYWQgb2YgMk1CLiBJZiB0aGVyZSBpcyBkaWZmZXJlbmNlLA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eDQogICAgICAgICAg ICAgIElmIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBvciBpZiB0aGVyZSBpcyBubyBkaWZmZXJlbmNl Pw0KPiArICAgICAgIHRyeSB0aGVuIHJ0ZV9tZW1fbG9ja19wYWdlKCkgZm9yIDJNQiBwYWdlcw0K ICAgICAgICAgIF5eXl5eDQpTaG91bGQgYmU6ICd0aGVuIHRyeSAuLi4nDQoNCj4gKw0KPiArLi4g bm90ZTo6DQo+ICsgIFN0YWxsIGluIHJlbGVhc2Ugb2YgTUJVRiBjYW4gYmUgYmVjYXVzZQ0KPiAr DQo+ICsgICogIFByb2Nlc3NpbmcgcGlwZWxpbmUgaXMgdG9vIGhlYXZ5DQo+ICsgICogIE51bWJl ciBvZiBzdGFnZXMgYXJlIHRvbyBtYW55DQo+ICsgICogIFRYIGlzIG5vdCB0cmFuc2ZlcnJlZCBh dCBkZXNpcmVkIHJhdGUNCj4gKyAgKiAgTXVsdGkgc2VnbWVudCBpcyBub3Qgb2ZmbG9hZGVkIGF0 IFRYIGRldmljZS4NCj4gKyAgKiAgQXBwbGljYXRpb24gbWlzdXNlIHNjZW5hcmlvcyBjYW4gYmUN Cj4gKyAgICAgIC0gIG5vdCBmcmVlaW5nIHBhY2tldHMNCj4gKyAgICAgIC0gIGludmFsaWQgcnRl X3BrdG1idWZfcmVmY250X3NldA0KPiArICAgICAgLSAgaW52YWxpZCBydGVfcGt0bWJ1Zl9wcmVm cmVlX3NlZw0KPiArDQo+ICtJcyB0aGVyZSBkaWZmZXJlbmNlIGluIHBlcmZvcm1hbmNlIGZvciBj cnlwdG8/DQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ DQo+ICsNCj4gK0NyeXB0byBkZXZpY2UgYW5kIFBNRCA6bnVtcmVmOmBkdGdfY3J5cHRvYC4NCj4g Kw0KPiArLi4gX2R0Z19jcnlwdG86DQo+ICsNCj4gKy4uIGZpZ3VyZTo6IGltZy9kdGdfY3J5cHRv LioNCj4gKw0KPiArICAgQ1JZUFRPIGFuZCBpbnRlcmFjdGlvbiB3aXRoIFBNRCBkZXZpY2UNCj4g Kw0KPiArIy4gYXJlIGdlbmVyaWMgY29uZmlndXJhdGlvbiBjb3JyZWN0Pw0KPiArICAgIC0gIEdl dCB0b3RhbCBjcnlwdG8gZGV2aWNlcyDigJMgcnRlX2NyeXB0b2Rldl9jb3VudCgpDQo+ICsgICAg LSAgQ3Jvc3MgY2hlY2sgU1cgb3IgSFcgZmxhZ3MgYXJlIGNvbmZpZ3VyZWQgcHJvcGVybHkNCj4g KyAgICAgICBydGVfY3J5cHRvZGV2X2luZm9fZ2V0KCkgZm9yIGZlYXR1cmVfZmxhZ3MNCj4gKw0K PiArIy4gSWYgZW5xdWV1ZSByZXF1ZXN0ID4gYWN0dWFsIGVucXVldWUgKGRyb3BzKT8NCj4gKyAg ICAtICBJcyB0aGUgcXVldWUgcGFpciBzZXR1cCBmb3IgcHJvcGVyIG5vZGUNCj4gKyAgICAgICBy dGVfY3J5cHRvZGV2X3F1ZXVlX3BhaXJfc2V0dXAoKSBmb3Igc29ja2V0X2lkDQo+ICsgICAgLSAg SXMgdGhlIHNlc3Npb25fcG9vbCBjcmVhdGVkIGZyb20gc2FtZSBzb2NrZXRfaWQgYXMgcXVldWUg cGFpcj8NCj4gKyAgICAtICBJcyBlbnF1ZXVlIHRocmVhZCBzYW1lIHNvY2tldF9pZD8gICAgICAg ICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXg0KICAgICAgICAgICAgICAgICAgLi4uIHRocmVh ZCBvbiBzYW1lIC4uLg0KDQo+ICsgICAgLSAgcnRlX2NyeXB0b2Rldl9zdGF0cygpIGZvciBkcm9w cyBlcnJfY291bnQgZm9yIGVucXVldWUgb3IgZGVxdWV1ZQ0KPiArICAgIC0gIEFyZSB0aGVyZSBt dWx0aXBsZSB0aHJlYWRzIGVucXVldWUgb3IgZGVxdWV1ZSBmcm9tIHNhbWUgcXVldWUgcGFpcj8N CiAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQpJIHRoaW5rIHlv dSBtZWFudDoNCkFyZSB0aGVyZSBtdWx0aXBsZSB0aHJlYWRzIGVucXVldWluZy9kZXF1ZXVpbmcg ZnJvbSBzYW1lLi4uDQpPcg0KRG8gbXVsdGlwbGUgdGhyZWFkcyBlbnF1ZXVlIG9yIGRlcXVldWUg ZnJvbSBzYW1lIC4uLi4NCg0KPiArDQo+ICsjLiBJZiBlbnF1ZXVlIHJhdGUgPiBkZXF1ZXVlIHJh dGU/DQo+ICsgICAgLSAgSXMgZGVxdWV1ZSBsY29yZSB0aHJlYWQgaXMgc2FtZSBzb2NrZXRfaWQ/ DQogICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQpEbyB5b3Ug bWVhbiBkZXF1ZXVlIGxjb3JlIHRocmVhZHMgaGFzIHNhbWUgc29ja2V0IGFzIGVucXVldWUgbGNv cmUgDQp0aHJlYWQ/IElmIHNvLCBjYW4geW91IGVsYWJvcmF0ZQ0KDQo+ICsgICAgLSAgSWYgU1cg Y3J5cHRvIGlzIGluIHVzZSwgY2hlY2sgaWYgdGhlIENSWVBUTyBMaWJyYXJ5IGJ1aWxkIHdpdGgN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXl5eXl5eXl5eDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLi4uaXMgYnVpbHQgd2l0aC4uLg0KPiArICAgICAgIHJpZ2h0IChTSU1EKSBmbGFncyBPciBj aGVjayBpZiB0aGUgcXVldWUgcGFpciB1c2luZyBDUFUgSVNBIGJ5DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5eXl4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3INCj4gKyAg ICAgICBydGVfY3J5cHRvZGV2X2luZm9fZ2V0KCkgZm9yIGZlYXR1cmVfZmxhZ3MgZm9yIEFWWHxT U0UNCj4gKyAgICAtICBJZiB3ZSBhcmUgdXNpbmcgSFcgY3J5cHRvIOKAkyBJcyB0aGUgY2FyZCBv biBzYW1lIE5VTUEgc29ja2V0IGFzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXl5eXl5eXl5eXl5eXg0KQnkgJ2NhcmQnLCB5b3UgbWVhbiB0aGUgaGFyZHdhcmUgYmxv Y2s/IFNvLCBzb21lIGZvcm0gZmFjdG9ycyBvZiBTb0MgDQptaWdodCBub3QgZXZlbiBoYXZlICdj YXJkcycuIE1heWJlLCAiSXMgaGFyZHdhcmUgY3J5cHRvIGJsb2NrIGFmZmluZWQgdG8gDQpjb3Jy ZWN0IE5VTUEgc29ja2V0IGFzIHBlciBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIiBjYW4gYmUg YSBiZXR0ZXIgY2hlY2suDQoNCj4gKyAgICAgICBxdWV1ZSBwYWlyIGFuZCBzZXNzaW9uIHBvb2w/ DQo+ICsNCj4gK3dvcmtlciBmdW5jdGlvbnMgbm90IGdpdmluZyBwZXJmb3JtYW5jZT8NCl5eXl5e DQonVycgaW4gcGxhY2Ugb2YgJ3cnDQoNCj4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4NCj4gKw0KPiArQ3VzdG9tIHdvcmtlciBmdW5jdGlvbiA6bnVtcmVmOmBkdGdf ZGlzdHJpYnV0b3Jfd29ya2VyYC4NCj4gKw0KPiArLi4gX2R0Z19kaXN0cmlidXRvcl93b3JrZXI6 DQo+ICsNCj4gKy4uIGZpZ3VyZTo6IGltZy9kdGdfZGlzdHJpYnV0b3Jfd29ya2VyLioNCj4gKw0K PiArICAgQ3VzdG9tIHdvcmtlciBmdW5jdGlvbiBwZXJmb3JtYW5jZSBkcm9wcw0KPiArDQo+ICsj LiBQZXJmb3JtYW5jZQ0KPiArICAgIC0gIFRocmVhZHMgY29udGV4dCBzd2l0Y2hlcyBtb3JlIGZy ZXF1ZW50bHk/IElkZW50aWZ5IGxjb3JlIHdpdGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXl5eXl5eXl5eXl4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZnJlcXVlbnQNCg0KPiArICAgICAgIHJ0ZV9sY29yZSgpIGFuZCBsY29yZSBp bmRleCBtYXBwaW5nIHdpdGggcnRlX2xjb3JlX2luZGV4KCkuIEJlc3QNCj4gKyAgICAgICBwZXJm b3JtYW5jZSB3aGVuIG1hcHBpbmcgb2YgdGhyZWFkIGFuZCBjb3JlIGlzIDE6MS4NCj4gKyAgICAt ICBDaGVjayBsY29yZSByb2xlIHR5cGUgYW5kIHN0YXRlPyBydGVfZWFsX2xjb3JlX3JvbGUgZm9y DQogICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQpUaGlzIGlzIGEg c3VnZ2VzdGlvbiwgbm90IGEgcXVlc3Rpb24sIHNvIHRoZSAnPycgc2hvdWxkIGJlIHJlbW92ZWQu DQoNCj4gKyAgICAgICBydGUsIG9mZiBhbmQgc2VydmljZS4gVXNlciBmdW5jdGlvbiBvbiBzZXJ2 aWNlIGNvcmUgbWlnaHQgYmUNCiAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQpJIHRo aW5rIHlvdSBtZWFuOiBVc2UgcnRlX2VhbF9sY29yZV9yb2xlIGZvciBpZGVudGlmeWluZyByb2xl IG9mIGNvcmUgYXMgDQplaXRoZXIgb2YgUlRFLCBTRVJWSUNFIG9yIE9GRi4gT3RoZXJ3aXNlLCBp dCBsb29rcyBtb3JlIGxpa2Ugbm90ZXMgdGhhbiANCmEgc3VnZ2VzdGlvbi9oaW50Lg0KDQo+ICsg ICAgICAgc2hhcmluZyB0aW1lc2xvdHMgd2l0aCBvdGhlciBmdW5jdGlvbnMuDQo+ICsgICAgLSAg Q2hlY2sgdGhlIGNwdSBjb3JlPyBjaGVjayBydGVfdGhyZWFkX2dldF9hZmZpbml0eSgpIGFuZA0K ICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eDQpUaGlzIGlzIG5vdCBhIHF1ZXN0aW9uIC0g YSBzdWdnZXN0aW9uLCBzbyAnPycgc2hvdWxkIGJlIHJlbW92ZWQuDQoNCj4gKyAgICAgICBydGVf ZWFsX2dldF9sY29yZV9zdGF0ZSgpIGZvciBydW4gc3RhdGUuDQo+ICsNCj4gKyMuIERlYnVnDQo+ ICsgICAgLSAgTW9kZSBvZiBvcGVyYXRpb24/IHJ0ZV9lYWxfZ2V0X2NvbmZpZ3VyYXRpb24oKSBm b3IgbWFzdGVyLCBmZXRjaA0KICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQoiQ2hlY2sg bW9kZSBvZiBvcGVyYXRpb24iIG9yICJXaGF0IGlzIHRoZSBtb2RlIG9mIG9wZXJhdGlvbj8iDQoN Cj4gKyAgICAgICBsY29yZXxzZXJ2aWNlfG51bWEgY291bnQsIHByb2Nlc3NfdHlwZS4NCj4gKyAg ICAtICBDaGVjayBsY29yZSBydW4gbW9kZT8gcnRlX2VhbF9sY29yZV9yb2xlKCkgZm9yIHJ0ZSwg b2ZmLCBzZXJ2aWNlLg0KICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl4NClNhbWUgYXMg YWJvdmUgLSBpdCBsb29rcyBtb3JlIGxpa2Ugbm90ZXMgdGhhbiBhIHRyb3VibGVzaG9vdGluZyBz dGVwLg0KDQo+ICsgICAgLSAgcHJvY2VzcyBkZXRhaWxzPyBydGVfZHVtcF9zdGFjaygpLCBydGVf ZHVtcF9yZWdpc3RlcnMoKSBhbmQNCiAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXg0KU2FtZSBh cyBhYm92ZS4NCg0KPiArICAgICAgIHJ0ZV9tZW1kdW1wKCkgd2lsbCBnaXZlIGluc2lnaHRzLg0K PiArDQo+ICtzZXJ2aWNlIGZ1bmN0aW9ucyBhcmUgbm90IGZyZXF1ZW50IGVub3VnaD8NCl5eXl5e Xg0KJ1MnDQoNCj4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0K PiArDQo+ICtzZXJ2aWNlIGZ1bmN0aW9ucyBvbiBzZXJ2aWNlIGNvcmVzIDpudW1yZWY6YGR0Z19z ZXJ2aWNlYC4NCj4gKw0KPiArLi4gX2R0Z19zZXJ2aWNlOg0KPiArDQo+ICsuLiBmaWd1cmU6OiBp bWcvZHRnX3NlcnZpY2UuKg0KPiArDQo+ICsgICBmdW5jdGlvbnMgcnVubmluZyBvbiBzZXJ2aWNl IGNvcmVzDQo+ICsNCj4gKyMuIFBlcmZvcm1hbmNlDQo+ICsgICAgLSAgR2V0IHNlcnZpY2UgY29y ZSBjb3VudD8gcnRlX3NlcnZpY2VfbGNvcmVfY291bnQoKSBhbmQgY29tcGFyZSB3aXRoDQogICAg ICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXg0KQWdhaW4sIHRoaXMgaXMgbm90IGEgcXVl c3Rpb24sIGJ1dCBhIHN1Z2dlc3Rpb24gYW5kIHNob3VsZCBiZSB3aXRob3V0IA0KJz8nLiBBbmQg dGhlIHN0YXRlbWVudCBpcyBpbmNvaGVyZW50IC0gIkdldCB0aGUgc2VydmljZSBjb3JlIGNvdW50 IHVzaW5nIA0KcnRlX3NlcnZpY2VfbGNvcmVfY291bnQoKSBBUEkgYW5kIGNvbXBhcmUgd2l0aCBy ZXN1bHQgb2YgLi4uIiBtYXliZSBiZSANCmJldHRlci4NCg0KPiArICAgICAgIHJlc3VsdCBvZiBy dGVfZWFsX2dldF9jb25maWd1cmF0aW9uKCkNCj4gKyAgICAtICBDaGVjayBpZiByZWdpc3RlcmVk IHNlcnZpY2UgaXMgYXZhaWxhYmxlPw0KICAgICAgICAgICBeXl5eXl5eDQpTdWdnZXN0aW9uLCBu b3QgYSBxdWVzdGlvbi4NCg0KPiArICAgICAgIHJ0ZV9zZXJ2aWNlX2dldF9ieV9uYW1lKCksIHJ0 ZV9zZXJ2aWNlX2dldF9jb3VudCgpIGFuZA0KPiArICAgICAgIHJ0ZV9zZXJ2aWNlX2dldF9uYW1l KCkNCj4gKyAgICAtICBJcyBnaXZlbiBzZXJ2aWNlIHJ1bm5pbmcgcGFyYWxsZWwgb24gbXVsdGlw bGUgbGNvcmVzPw0KPiArICAgICAgIHJ0ZV9zZXJ2aWNlX3Byb2JlX2NhcGFiaWxpdHkoKSBhbmQg cnRlX3NlcnZpY2VfbWFwX2xjb3JlX2dldCgpDQo+ICsgICAgLSAgSXMgc2VydmljZSBydW5uaW5n PyBydGVfc2VydmljZV9ydW5zdGF0ZV9nZXQoKQ0KPiArDQo+ICsjLiBEZWJ1Zw0KPiArICAgIC0g IEZpbmQgaG93IG1hbnkgc2VydmljZXMgYXJlIHJ1bm5pbmcgb24gc3BlY2lmaWMgc2VydmljZSBs Y29yZSBieQ0KPiArICAgICAgIHJ0ZV9zZXJ2aWNlX2xjb3JlX2NvdW50X3NlcnZpY2VzKCkNCj4g KyAgICAtICBHZW5lcmljIGRlYnVnIHZpYSBydGVfc2VydmljZV9kdW1wKCkNCj4gKw0KPiArSXMg dGhlcmUgYm90dGxlbmVjayBpbiBldmVudGRldj8NCj4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+DQo+ICsNCj4gKyMuIGFyZSBnZW5lcmljIGNvbmZpZ3VyYXRpb24gY29ycmVjdD8N Cj4gKyAgICAtICBHZXQgZXZlbnRfZGV2IGRldmljZXM/IHJ0ZV9ldmVudF9kZXZfY291bnQoKQ0K PiArICAgIC0gIEFyZSB0aGV5IGNyZWF0ZWQgb24gY29ycmVjdCBzb2NrZXRfaWQ/IC0gcnRlX2V2 ZW50X2Rldl9zb2NrZXRfaWQoKQ0KPiArICAgIC0gIENoZWNrIGlmIEhXIG9yIFNXIGNhcGFiaWxp dGllcz8gLSBydGVfZXZlbnRfZGV2X2luZm9fZ2V0KCkgZm9yDQo+ICsgICAgICAgZXZlbnRfcW9z LCBxdWV1ZV9hbGxfdHlwZXMsIGJ1cnN0X21vZGUsIG11bHRpcGxlX3F1ZXVlX3BvcnQsDQo+ICsg ICAgICAgbWF4X2V2ZW50X3F1ZXVlfGRlcXVldWVfZGVwdGgNCj4gKyAgICAtICBJcyBwYWNrZXQg c3R1Y2sgaW4gcXVldWU/IGNoZWNrIGZvciBzdGFnZXMgKGV2ZW50IHFldWV1ZSkgd2hlcmUNCj4g KyAgICAgICBwYWNrZXRzIGFyZSBsb29wZWQgYmFjayB0byBzYW1lIG9yIHByZXZpb3VzIHN0YWdl cy4NCj4gKw0KPiArIy4gUGVyZm9ybWFuY2UgZHJvcHMgaW4gZW5xdWV1ZSAoZXZlbnQgY291bnQg PiBhY3R1YWwgZW5xdWV1ZSk/DQo+ICsgICAgLSAgRHVtcCB0aGUgZXZlbnRfZGV2IGluZm9ybWF0 aW9uPyBydGVfZXZlbnRfZGV2X2R1bXAoKQ0KPiArICAgIC0gIENoZWNrIHN0YXRzIGZvciBxdWV1 ZSBhbmQgcG9ydCBmb3IgZXZlbnRkZXYNCj4gKyAgICAtICBDaGVjayB0aGUgaW5mbGlnaHQsIGN1 cnJlbnQgcXVldWUgZWxlbWVudCBmb3IgZW5xdWV1ZXxkZXFldWUNCj4gKw0KPiArSG93IHRvIGRl YnVnIFFvUyB2aWEgVE0/DQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gKw0KPiArVE0g b24gVFggaW50ZXJmYWNlIDpudW1yZWY6YGR0Z19xb3NfdHhgLg0KPiArDQo+ICsuLiBfZHRnX3Fv c190eDoNCj4gKw0KPiArLi4gZmlndXJlOjogaW1nL2R0Z19xb3NfdHguKg0KPiArDQo+ICsgICBU cmFmZmljIE1hbmFnZXIganVzdCBiZWZvcmUgVFgNCj4gKw0KPiArIy4gSXMgY29uZmlndXJhdGlv biByaWdodD8NCj4gKyAgICAtICBHZXQgY3VycmVudCBjYXBhYmlsaXRpZXMgZm9yIERQREsgcG9y dCBydGVfdG1fY2FwYWJpbGl0aWVzX2dldCgpDQo+ICsgICAgICAgZm9yIG1heCBub2RlcywgbGV2 ZWwsIHNoYXBlcl9wcml2YXRlLCBzaGFwZXJfc2hhcmVkLCBzY2hlZF9uX2NoaWxkcmVuDQo+ICsg ICAgICAgYW5kIHN0YXRzX21hc2sNCj4gKyAgICAtICBDaGVjayBpZiBjdXJyZW50IGxlYWYgYXJl IGNvbmZpZ3VyZWQgaWRlbnRpY2FsbHkgcnRlX3RtX2NhcGFiaWxpdGllc19nZXQoKQ0KPiArICAg ICAgIGZvciBsZWFkX25vZGVzX2lkZW50aWNpYWwNCiAgICAgICAgICAgICAgICAgICAgICAgIF5e Xl5eXl5eXl5eXl5eDQogICAgICAgICAgICAgICAgICAgICAgICBpZGVudGljYWwNCg0KPiArICAg IC0gIEdldCBsZWFmIG5vZGVzIGZvciBhIGRwZGsgcG9ydCAtIHJ0ZV90bl9nZXRfbnVtYmVyX29m X2xlYWZfbm9kZSgpDQo+ICsgICAgLSAgQ2hlY2sgbGV2ZWwgY2FwYWJpbGl0aWVzIGJ5IHJ0ZV90 bV9sZXZlbF9jYXBhYmlsaXRpZXNfZ2V0IGZvciBuX25vZGVzDQo+ICsgICAgICAgIC0gIE1heCwg bm9ubGVhZl9tYXgsIGxlYWZfbWF4DQo+ICsgICAgICAgIC0gIGlkZW50aWNhbCwgbm9uX2lkZW50 aWNhbA0KPiArICAgICAgICAtICBTaGFwZXJfcHJpdmF0ZV9zdXBwb3J0ZWQNCj4gKyAgICAgICAg LSAgU3RhdHNfbWFzaw0KPiArICAgICAgICAtICBDbWFuIHdyZWQgcGFja2V0fGJ5dGUgc3VwcG9y dGVkDQo+ICsgICAgICAgIC0gIENtYW4gaGVhZCBkcm9wIHN1cHBvcnRlZA0KPiArICAgIC0gIENo ZWNrIG5vZGUgY2FwYWJpbGl0aWVzIGJ5IHJ0ZV90bV9ub2RlX2NhcGFiaWxpdGllc19nZXQgZm9y IG5fbm9kZXMNCj4gKyAgICAgICAgLSAgU2hhcGVyX3ByaXZhdGVfc3VwcG9ydGVkDQo+ICsgICAg ICAgIC0gIFN0YXRzX21hc2sNCj4gKyAgICAgICAgLSAgQ21hbiB3cmVkIHBhY2tldHxieXRlIHN1 cHBvcnRlZA0KPiArICAgICAgICAtICBDbWFuIGhlYWQgZHJvcCBzdXBwb3J0ZWQNCj4gKyAgICAt ICBEZWJ1ZyB2aWEgc3RhdHMgLSBydGVfdG1fc3RhdHNfdXBkYXRlKCkgYW5kIHJ0ZV90bV9ub2Rl X3N0YXRzX3JlYWQoKQ0KPiArDQo+ICtQYWNrZXQgaXMgbm90IG9mIHJpZ2h0IGZvcm1hdD8NCj4g K35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtQYWNrZXQgY2FwdHVyZSBi ZWZvcmUgYW5kIGFmdGVyIHByb2Nlc3NpbmcgOm51bXJlZjpgZHRnX3BkdW1wYC4NCj4gKw0KPiAr Li4gX2R0Z19wZHVtcDoNCj4gKw0KPiArLi4gZmlndXJlOjogaW1nL2R0Z19wZHVtcC4qDQo+ICsN Cj4gKyAgIENhcHR1cmUgcG9pbnRzIG9mIFRyYWZmaWMgYXQgUlgtVFgNCj4gKw0KPiArIy4gIHdp dGggcHJpbWFyeSBlbmFibGluZyB0aGVuIHNlY29uZGFyeSBjYW4gYWNjZXNzLiBDb3BpZXMgcGFj a2V0cyBmcm9tDQo+ICsgICAgc3BlY2lmaWMgUlggb3IgVFggcXVldWVzIHRvIHNlY29uZGFyeSBw cm9jZXNzIHJpbmcgYnVmZmVycy4NCg0KVGhlIHN0YXRlbWVudCBhYm92ZSB3b3VsZCBiZSBjbGVh cmVyIHdpdGggYSByZXBocmFzZS4gRm9yIGV4YW1wbGUgJ3dpdGggDQpwcmltYXJ5IGVuYWJsaW5n IHRoZW4gc2Vjb25kYXJ5IGNhbiBhY2Nlc3MnIGlzIGluY29tcGxldGUgKGVuYWJsZSB3aGF0IA0K YW5kIGFjY2VzcyB3aGF0PykNCg0KPiArDQo+ICsuLiBub3RlOjoNCj4gKyAgTmVlZCB0byBleHBs b3JlOg0KDQpJcyB0aGlzIHNlY3Rpb24gZm9yIHVzZXIgdG8gZXhwbG9yZT8gT3IsIG1heWJlIGl0 IGlzIGEgcmVzaWR1YWwgZnJvbSANCnlvdXIgbm90ZXM/DQoNCj4gKyAgICAqICBpZiBzZWNvbmRh cnkgc2hhcmVzIHNhbWUgaW50ZXJmYWNlIGNhbiB3ZSBlbmFibGUgZnJvbSBzZWNvbmRhcnkNCj4g KyAgICAgICBmb3Igcnh8dHggaGFwcGVuaW5nIG9uIHByaW1hcnkNCj4gKyAgICAqICBTcGVjaWZp YyBQTUQgcHJpdmF0ZSBkYXRhIGR1bXAgdGhlIGRldGFpbHMNCj4gKyAgICAqICBVc2VyIHByaXZh dGUgZGF0YSBpZiBwcmVzZW50LCBkdW1wIHRoZSBkZXRhaWxzDQo+ICsNCj4gK0hvdyB0byBkZXZl bG9wIGN1c3RvbSBjb2RlIHRvIGRlYnVnPw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ICsNCj4gKy0gIEZvciBzaW5nbGUgcHJvY2VzcyAtIHRoZSBkZWJ1ZyBmdW5j dGlvbmFsaXR5IGlzIHRvIGJlIGFkZGVkIGluIHNhbWUNCj4gKyAgIHByb2Nlc3MNCj4gKy0gIEZv ciBtdWx0aXBsZSBwcm9jZXNzIC0gdGhlIGRlYnVnIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIGFkZGVk IHRvDQo+ICsgICBzZWNvbmRhcnkgbXVsdGkgcHJvY2Vzcw0KPiArDQo+ICsuLiBub3RlOjoNCj4g Kw0KPiArICBQcmltYXJ5J3MgRGVidWcgZnVuY3Rpb25zIGludm9rZWQgdmlhDQo+ICsgICAgIy4g VGltZXIgY2FsbC1iYWNrDQo+ICsgICAgIy4gU2VydmljZSBmdW5jdGlvbiB1bmRlciBzZXJ2aWNl IGNvcmUNCj4gKyAgICAjLiBVU1IxIG9yIFVTUjIgc2lnbmFsIGhhbmRsZXINCj4gKw0KPiBkaWZm IC0tZ2l0IGEvZG9jL2d1aWRlcy9ob3d0by9pbmRleC5yc3QgYi9kb2MvZ3VpZGVzL2hvd3RvL2lu ZGV4LnJzdA0KPiBpbmRleCBhNjQyYTJiZTEuLjk1MjdmYTg0ZCAxMDA2NDQNCj4gLS0tIGEvZG9j L2d1aWRlcy9ob3d0by9pbmRleC5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9ob3d0by9pbmRleC5y c3QNCj4gQEAgLTE4LDMgKzE4LDQgQEAgSG93VG8gR3VpZGVzDQo+ICAgICAgIHZpcnRpb191c2Vy X2FzX2V4Y2VwdGlvbmFsX3BhdGgNCj4gICAgICAgcGFja2V0X2NhcHR1cmVfZnJhbWV3b3JrDQo+ ICAgICAgIHRlbGVtZXRyeQ0KPiArICAgIGRlYnVnX3Ryb3VibGVzaG9vdF9ndWlkZQ0KPiANCg0K DQpGcmFua2x5LCBpdCBpcyBhIGdvb2QgYXR0ZW1wdCwgYnV0IEkgdGhpbmsgdGhpcyBpcyBtb3Jl IGluIHNoYXBlIG9mIA0Kbm90ZXMgcmlnaHQgbm93Lg0KDQpJIGRvIHVuZGVyc3RhbmQgdGhhdCBp dCBpcyBuZXZlciBnb2luZyB0byBiZSBhbiBlYXN5IHRhc2sgdG8gbGlzdCANCnRyb3VibGVzaG9v dGluZyBzdGVwcyAtIHRoYXQgaXMgZmFpcmx5IGRlcGVuZGVudCBvbiBlbnYgYW5kIHVzZS1jYXNl LiANCkJ1dCwgaWYgbWF5YmUgeW91IGNhbiByZXBocmFzZSBhbmQgYWRkIHNvbWUgY29udGV4dCB0 byBzb21lIHNlY3Rpb25zLCBpdCANCndvdWxkIGdpdmUgcmVhbCBuaWNlIGlucHV0cy9oaW50cyBh cyBhIHBvaW50IHRvIHN0YXJ0IHdpdGguDQoNCkFnYWluIC0ganVzdCBteSB0YWtlLiBBbmQgYmVp bmcgc28gZGVsYXllZCwgZmVlbCBmcmVlIHRvIGlnbm9yZS4NCg0KLQ0KU2hyZXlhbnNoDQo=