From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E8549A2EDB for ; Wed, 2 Oct 2019 05:08:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B7481343C; Wed, 2 Oct 2019 05:08:20 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60068.outbound.protection.outlook.com [40.107.6.68]) by dpdk.org (Postfix) with ESMTP id 7BD36322C for ; Wed, 2 Oct 2019 05:08:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AU7bBIyfrQtmNvMS99GliINqSur+T9OfjCLEzwnET5MRdBVMcQhO5MfvDzXOFxTQ+7wn7HBbhkZVU/oFteC9qrs7u5BqRQK1cJ47FG5aPYr7DfpNrF5Y0xrVJrXoDbdaFHeQ1BtgyIEa+rCQi21aBc+1noBS8NCzUb7cQyUpedri/opWX7mIHfQsbfWeF/2bGGixYaK+IQC2SrjMmYc02VJJMBZLDIxow2epoUmjK9hyrb4tD8kx2aH6weFFcy4kabG0pixFf+0AzrjUsaRaNdzRru8EvDktr2b00/XaHYbMs1UN4pHMLQTYvmFMAmrck2yXMzl63lVymfpIFV5Z3w== 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=jU4t70bV9M5KUKHGWOJzBpZ1XF04xcCWiZl2z8aToFs=; b=CXO5aj82A8GGPQ6rYc3M8vqv3RGprL7LxG9gY3ty0nHF9Od4jxTGIxc4XvpMlEfAPfnMKP64vxz+/6thXG0S6TEbeygpNk6TCrNRRTdq2RqKV/RiUIvsm7AS+GtzoMPviKf2VDDtNdSvTRyTN/UMEGr8mGDUZoqSnYVecBcmGb95vPfa8Tuc7jswLI8RKJvkEuIm5BiATiBDeJ5r8fEAH53vD4LD1AjAkmuUTgrEP4gXy/1EHBDctxNZ3pQOb3XtQ2/GWugRBgg1uZ+FdiBKOJ9c1sP8HlKPwPh/KZoHUHNsUZ6T8D8E7cXbszj0vH6Y8AWFjR3poc0C0WeQRzc77w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jU4t70bV9M5KUKHGWOJzBpZ1XF04xcCWiZl2z8aToFs=; b=X/xmv4gNAhzeHBAytms4PJxsgxK7hDO3cr7498o3xcjqytBUBicp7lrE+Q+nD6fVxIDIlMHO9VzJd58YyBEA6QGn16eCUEMBIL8MB3NMkGAV1ccPuwRUesOjfy09IuL+LCwDTfMzlL/1iRrJjcjEvwpv2fAGiSsQa7os9NzY/UI= Received: from VI1PR0401MB2541.eurprd04.prod.outlook.com (10.168.62.139) by VI1PR0401MB2255.eurprd04.prod.outlook.com (10.169.133.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Wed, 2 Oct 2019 03:08:17 +0000 Received: from VI1PR0401MB2541.eurprd04.prod.outlook.com ([fe80::4103:5f1e:64f9:50df]) by VI1PR0401MB2541.eurprd04.prod.outlook.com ([fe80::4103:5f1e:64f9:50df%8]) with mapi id 15.20.2305.023; Wed, 2 Oct 2019 03:08:17 +0000 From: Hemant Agrawal To: Jerin Jacob , Nipun Gupta CC: Jerin Jacob , dpdk-dev , Pavan Nikhilesh , Sunil Kumar Kori , "Richardson, Bruce" , Marko Kovacevic , Ori Kam , Radu Nicolau , Tomasz Kantecki , "Van Haaren, Harry" , "nikhil.rao@intel.com" Thread-Topic: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue Thread-Index: AQHVeCwMBGAWSfL2cEe8AIFJpgWGH6dFqeuAgAAYrQCAAA6wAIAABRSAgAAM64CAAAg2AIAAu8Lg Date: Wed, 2 Oct 2019 03:08:17 +0000 Message-ID: References: <20191001064641.28404-1-nipun.gupta@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=hemant.agrawal@nxp.com; x-originating-ip: [182.69.100.14] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a69e7e0b-e71a-4f3c-2280-08d746e5c5cf x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: VI1PR0401MB2255:|VI1PR0401MB2255: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0178184651 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(396003)(376002)(346002)(366004)(52314003)(13464003)(199004)(189003)(66446008)(6436002)(2906002)(11346002)(52536014)(54906003)(76116006)(7416002)(256004)(86362001)(66556008)(71200400001)(6506007)(53546011)(14444005)(33656002)(66476007)(66946007)(30864003)(64756008)(71190400001)(81156014)(81166006)(66066001)(55016002)(110136005)(6116002)(3846002)(446003)(316002)(76176011)(229853002)(26005)(8676002)(14454004)(99286004)(25786009)(8936002)(102836004)(478600001)(74316002)(4326008)(7696005)(305945005)(7736002)(476003)(6636002)(9686003)(6246003)(486006)(186003)(5660300002)(44832011)(559001)(579004)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB2255; H:VI1PR0401MB2541.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: BCL:0; x-microsoft-antispam-message-info: k1gVC2tgAXoW7haVPRWOtJ7z31nnmn2knkZMSz+a3Iw19WkUEd6agiF0SQncMkl50MFk1UL/HI5GDgSb7SVYSBf2drY2qGIS/NRpAAu2IbHyG3ToUabjFevGkzEwBco42pcqQt0RqjhDGysqBZjM5V77cTjafObzrgYDUhea69F82zlJkciFw+lg+75h7JyVr2zrt7gaiy4YukeTQYcd+vSpz0qT4hPtPmsPoa8JpSKhxUJZ/cE+t/ytQRE6PxXe/9Dd1n9+eWzMpy4DfPhlN/ZcCRW64QffPum0AnsZJVSZW7NZd5g9DXqzVSjFFMu7ZH4WfT9pY8hz5fZ3GtQhxtWS/27v86cnXIdzzeeEBPxDZOVlCblz4UUAaM4mA+gANqXNJXXw88meSOFhQdQVtufEb+qrhQhBwh3FI14499M= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a69e7e0b-e71a-4f3c-2280-08d746e5c5cf X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2019 03:08:17.4876 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mZnHOIU+hN8WrK76EXoJUceduu3XPEjYFCd54pbmaRtsUlyxFnIH3aEFqUlbRmoigdZcmOCHcWsTylTRE7rLQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2255 Subject: Re: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgSmVyaW4sDQo+IE9uIFR1ZSwgT2N0IDEsIDIwMTkgYXQgODozNiBQTSBOaXB1biBHdXB0YSA8 bmlwdW4uZ3VwdGFAbnhwLmNvbT4gd3JvdGU6DQo+ID4NCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2Jr QGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMSwgMjAxOSA3OjUwIFBN DQo+ID4gPiBUbzogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54cC5jb20+DQo+ID4gPiBDYzog SmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+ OyBQYXZhbg0KPiA+ID4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+OyBTdW5p bCBLdW1hciBLb3JpDQo+ID4gPiA8c2tvcmlAbWFydmVsbC5jb20+OyBIZW1hbnQgQWdyYXdhbCA8 aGVtYW50LmFncmF3YWxAbnhwLmNvbT47DQo+ID4gPiBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2Uu cmljaGFyZHNvbkBpbnRlbC5jb20+OyBNYXJrbyBLb3ZhY2V2aWMNCj4gPiA+IDxtYXJrby5rb3Zh Y2V2aWNAaW50ZWwuY29tPjsgT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsgUmFkdQ0KPiA+ ID4gTmljb2xhdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFRvbWFzeiBLYW50ZWNraQ0KPiA+ ID4gPHRvbWFzei5rYW50ZWNraUBpbnRlbC5jb20+OyBWYW4gSGFhcmVuLCBIYXJyeQ0KPiA+ID4g PGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgbmlraGlsLnJhb0BpbnRlbC5jb20NCj4gPiA+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gZXZlbnRkZXY6IGZsYWcgdG8gaWRlbnRp Znkgc2FtZQ0KPiA+ID4gZGVzdGluZWQgcGFja2V0cyBlbnF1ZXVlDQo+ID4gPg0KPiA+ID4gT24g VHVlLCBPY3QgMSwgMjAxOSBhdCA3OjMyIFBNIE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAu Y29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJp bmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiA+ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxLCAy MDE5IDY6NDAgUE0NCj4gPiA+ID4gPiBUbzogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54cC5j b20+DQo+ID4gPiA+ID4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBKZXJpbiBKYWNvYiA8 amVyaW5qQG1hcnZlbGwuY29tPjsNCj4gPiA+ID4gPiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZh dHVsYUBtYXJ2ZWxsLmNvbT47IFN1bmlsIEt1bWFyIEtvcmkNCj4gPiA+ID4gPiA8c2tvcmlAbWFy dmVsbC5jb20+OyBIZW1hbnQgQWdyYXdhbA0KPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47DQo+ ID4gPiA+ID4gUmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsg TWFya28gS292YWNldmljDQo+ID4gPiA+ID4gPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBP cmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+Ow0KPiBSYWR1DQo+ID4gPiA+ID4gTmljb2xhdSA8 cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFRvbWFzeiBLYW50ZWNraQ0KPiA+ID4gPiA+IDx0b21h c3oua2FudGVja2lAaW50ZWwuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPiA+ID4gPiA8aGFy cnkudmFuLmhhYXJlbkBpbnRlbC5jb20+OyBuaWtoaWwucmFvQGludGVsLmNvbQ0KPiA+ID4gPiA+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gZXZlbnRkZXY6IGZsYWcgdG8gaWRlbnRp Znkgc2FtZQ0KPiA+ID4gZGVzdGluZWQNCj4gPiA+ID4gPiBwYWNrZXRzIGVucXVldWUNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IE9uIFR1ZSwgT2N0IDEsIDIwMTkgYXQgNToxMSBQTSBOaXB1biBHdXB0 YSA8bmlwdW4uZ3VwdGFAbnhwLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+ID4gPiA+ID4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwu Y29tPg0KPiA+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDEsIDIwMTkgMToxNCBQ TQ0KPiA+ID4gPiA+ID4gPiBUbzogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54cC5jb20+DQo+ ID4gPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgSmVyaW4gSmFjb2INCj4g PiA+ID4gPiA+ID4gPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+ID4gPiBQYXZhbg0KPiA+ID4gPiA+ ID4gPiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IFN1bmlsIEt1bWFyIEtv cmkNCj4gPiA+ID4gPiA8c2tvcmlAbWFydmVsbC5jb20+Ow0KPiA+ID4gPiA+ID4gPiBIZW1hbnQg QWdyYXdhbCA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IFJpY2hhcmRzb24sIEJydWNlDQo+ID4g PiA+ID4gPiA+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IE1hcmtvIEtvdmFjZXZpYw0K PiA+ID4gPiA+ID4gPiA8bWFya28ua292YWNldmljQGludGVsLmNvbT47IE9yaSBLYW0gPG9yaWth QG1lbGxhbm94LmNvbT47DQo+ID4gPiBSYWR1DQo+ID4gPiA+ID4gTmljb2xhdQ0KPiA+ID4gPiA+ ID4gPiA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFRvbWFzeiBLYW50ZWNraQ0KPiA+ID4gPiA+ IDx0b21hc3oua2FudGVja2lAaW50ZWwuY29tPjsgVmFuDQo+ID4gPiA+ID4gPiA+IEhhYXJlbiwg SGFycnkgPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsNCj4gPiA+ID4gPiA+ID4gbmlraGls LnJhb0BpbnRlbC5jb20NCj4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BB VENIXSBldmVudGRldjogZmxhZyB0byBpZGVudGlmeQ0KPiA+ID4gPiA+ID4gPiBzYW1lDQo+ID4g PiA+ID4gZGVzdGluZWQNCj4gPiA+ID4gPiA+ID4gcGFja2V0cyBlbnF1ZXVlDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgT2N0IDEsIDIwMTkgYXQgMTI6MzIgUE0gTmlwdW4g R3VwdGENCj4gPiA+ID4gPiA+ID4gPG5pcHVuLmd1cHRhQG54cC5jb20+DQo+ID4gPiA+ID4gd3Jv dGU6DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGlzIHBhdGNoIGludHJvZHVj ZXMgYSBgZmxhZ2AgaW4gdGhlIEV0aCBUWCBhZGFwdGVyIGVucXVldWUgQVBJLg0KPiA+ID4gPiA+ ID4gPiA+IFNvbWUgZHJpdmVycyBtYXkgc3VwcG9ydCBidXJzdCBmdW5jdGlvbmFsaXR5IG9ubHkg d2l0aCB0aGUNCj4gPiA+ID4gPiA+ID4gPiBwYWNrZXRzIGhhdmluZyBzYW1lIGRlc3RpbmF0aW9u IGRldmljZSBhbmQgcXVldWUuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGUg ZmxhZyBgUlRFX0VWRU5UX0VUSF9UWF9BREFQVEVSX0VOUVVFVUVfU0FNRV9ERVNUYA0KPiA+ID4g Y2FuDQo+ID4gPiA+ID4gYmUgdXNlZA0KPiA+ID4gPiA+ID4gPiA+IHRvIGluZGljYXRlIHRoaXMg c28gdGhlIHVuZGVybHlpbmcgZHJpdmVyLCBmb3IgZHJpdmVycyB0bw0KPiA+ID4gPiA+ID4gPiA+ IHV0aWxpemUgYnVyc3QgZnVuY3Rpb25hbGl0eSBhcHByb3ByaWF0ZWx5Lg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBJIHVuZGVyc3RhbmQgdGhlIGNvc3Qgb2YgYWdncmVnYXRpbmcgcGFj a2V0cyBiYXNlZCBvbiBwb3J0DQo+ID4gPiA+ID4gPiA+IGFuZA0KPiA+ID4gcXVldWUNCj4gPiA+ ID4gPiA+ID4gdG8gbWFrZSBpdCBidXJzdC4NCj4gPiA+ID4gPiA+ID4gQnV0LCBDb3VsZCB5b3Ug c2hhcmUgdGhlIHVzZSBjYXNlIHdoZXJlIGhvdyBkbyB5b3Ugd2FudCB0bw0KPiA+ID4gPiA+ID4g PiB1c2UgdGhpcyBmbGFnPyBJIHNlZSB0d28gcG9zc2liaWxpdGllcyBpbiBldmVudGRldiBjb250 ZXh0Lg0KPiA+ID4gPiA+ID4gPiAoV2hlcmUgZGVxdWV1ZSBjYW4gYmUgZnJvbSBhbnkgZXRoZGV2 IHBvcnQpDQo+ID4gPiA+ID4gPiA+IGEpIFRoZSBhcHBsaWNhdGlvbiBkb2VzIHRoZSBhZ2dyZWdh dGlvbi4gSWYgc28sIHdoYXQgd291bGQNCj4gPiA+ID4gPiA+ID4gdGhlIGRpZmZlcmVuY2UgYmUg aW4gZG9pbmcgZHJpdmVyIG9yIGFwcGxpY2F0aW9uPw0KPiA+ID4gPiA+ID4gPiBiKSBXZSBtYXkg dXNlIHRoaXMgZmxhZyB3aGVuIHRoZSBzeXN0ZW0gaGFzIG9ubHkgb25lIHBvcnQNCj4gPiA+ID4g PiA+ID4gYW5kIG9uZQ0KPiA+ID4gPiA+IHF1ZXVlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiBDb3VsZCB5b3Ugc2hhcmUgaG93IGRvIHlvdSB3YW50IHRvIHVzZSB0aGlzIGZsYWc/DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSSB3b3VsZCBzYXkgYm90aCB0aGUgY2FzZXMgeW91IG1l bnRpb25lZC4gSSBwcmVmZXIgdGhpcyB0bw0KPiA+ID4gPiA+ID4gZGVwZW5kIG9uDQo+ID4gPiB0 aGUNCj4gPiA+ID4gPiBzbWFydG5lc3Mgb2YNCj4gPiA+ID4gPiA+IHRoZSBhcHBsaWNhdGlvbiwg YXMgaXQgaXMgYXdhcmUgb2YgdGhlIG51bWJlciBvZiBldGgNCj4gPiA+ID4gPiA+IGRldmljZXMv cXVldWVzIGl0IGlzDQo+ID4gPiA+ID4gdXNpbmcuDQo+ID4gPiA+ID4gPiBUaGlzIGlzIHRoZSBy ZWFzb24gdG8gYXZvaWQgaW4gdGhlIGRyaXZlci4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBB IHVzZXIgY2FuIGFsc28gdXNlIHNlcGFyYXRlIGV2ZW50IHBvcnRzIGZvciBzZXBhcmF0ZSBvciBh DQo+ID4gPiA+ID4gPiBncm91cCBvZg0KPiA+ID4gPiA+IEV0aGVybmV0DQo+ID4gPiA+ID4gPiBk ZXZpY2VzL3F1ZXVlcywgdG8gY3JlYXRlIGVhc3kgc2VncmVnYXRpb24uDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBJZiBpdCBpcyBzcGVjaWZpYyB0byBfdmVyeV8gc3RhdGljIGNvbmZpZ3VyYXRpb24s IHlvdSBjYW4gYXNzdW1lDQo+ID4gPiA+ID4gYWxsIHRoZSBldmVudHMgY29tZXMgZnJvbSBhIHNw ZWNpZmljIGV2ZW50ZGV2IHBvcnQsIGNvbWVzIG9ubHkNCj4gPiA+ID4gPiBmcm9tIGEgc3BlY2lm aWMgZXRoZGV2IHBvcnQuDQo+ID4gPiA+DQo+ID4gPiA+IEhpIEplcmluLA0KPiA+ID4gPg0KPiA+ ID4gPiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5IHRoaXMgYXNzdW1wdGlvbiB3b3VsZCBiZSBt YWRlIGluIHRoZSBkcml2ZXI/DQo+ID4gPiA+IEJ1dCB0aGVuIGFwcGxpY2F0aW9ucyBsaWtlIGwy ZndkLWV2ZW50IHdpbGwgYnJlYWsuDQo+ID4gPg0KPiA+ID4gWWVzLiBXaGF0IEkgbWVhbnQgaXMg YSBzcGVjaWZpYyBzdGF0aWMgY29uZmlndXJhdGlvbiBvbmx5IHRoaXMgc2NoZW1lIGNhbg0KPiB1 c2UuDQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEFsc28gdGhlIGRyYXdiYWNrIG9mIGltcGxlbWVudGluZyBpbiB0aGUgZHJpdmVyLCBj YW4gYmUgdGhhdA0KPiA+ID4gPiA+ID4gd2hlbiB0aGUNCj4gPiA+ID4gPiBldmVudHMgdG8NCj4g PiA+ID4gPiA+IFNlcGFyYXRlIGRldmljZXMgYW5kIHF1ZXVlcyBhcmUgc28gbWl4ZWQgdXAsIHRo YXQgc2VncmVnYXRpb24NCj4gPiA+ID4gPiA+IGRvZXMNCj4gPiA+IG5vdA0KPiA+ID4gPiA+IG1h a2UNCj4gPiA+ID4gPiA+IHNlbnNlLCBpdCBzaGFsbCBiZSBvdmVyaGVhZCBmb3IgdGhlIGRyaXZl ciB0byBzY2FuIGFsbCB0aGUgZXZlbnRzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSW4gdGhlIHdv cnN0IGNhc2UsIGJvdGgsIGFwcGxpY2F0aW9ucyBuZWVkIHRvIHNjYW4gYW5kIGRyaXZlcg0KPiA+ ID4gPiA+IG5lZWQgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgZXZlbnRzLg0KPiA+ID4gPg0KPiA+ ID4gPiBBZ3JlZSwgdGhpcyBpcyB3aGF0IHdlIHdhbnQgdG8gYXZvaWQuDQo+ID4gPiA+DQo+ID4g PiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEluIGdlbmVyaWMgbDJmd2QtZXZlbnRkZXYgYXBw bGljYXRpb25zIGV0YywgcTAgd2lsbCBiZSBjb25uZWN0ZWQNCj4gPiA+ID4gPiBwMCBhbmQNCj4g PiA+IHAxDQo+ID4gPiA+ID4gZXRjLg0KPiA+ID4gPiA+IFRoaXMgZmxhZyB3aWxsIGJlIHplcm8u DQo+ID4gPiA+DQo+ID4gPiA+IE9rYXkuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBC dXQsIElmIHlvdSB0aGluaywgdGhlcmUgaXMgYSBzcGVjaWZpYyB1c2UgY2FzZSBmb3IgaXQgd2Ug Y2FuIGFkZCB0aGlzIGZsYWcuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IEEgZmxhZyB3b3VsZCBoZWxwIGluIHByb3ZpZGluZyB0aGUgZGVjaXNpb24gZmxl eGliaWxpdHkgdG8gdGhlDQo+IGFwcGxpY2F0aW9ucy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IEFuZCBhbm90aGVyIHBvaW50IGlzLCB0eCBhZGFwdGVyIGlzIE5P VCBleHBlcmltZW50YWwgbm93LCBXZQ0KPiA+ID4gPiA+ID4gPiBuZWVkIGRlcHJlY2lhdGlvbiBu b3RpY2UgZm9yIEFCSSBjaGFuZ2UuDQo+ID4gPiA+ID4gPiA+IElmIHlvdSBzaGFyZSB0aGUgZXhh Y3QgdXNlIGNhc2UsIHRoZW4gd2UgY291bGQgdGhpbmsgb2YNCj4gPiA+ID4gPiA+ID4gYWRkaW5n IGEgbmV3IHN5bWJvbCBpbnN0ZWFkIG9mIGJyZWFraW5nIEFCSSBhbmQgYWRkIGl0IGZvcg0KPiA+ ID4gPiA+ID4gPiBuZXh0IHJlbGVhc2UuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSSBoYXZl IGhlYXJkIHRoZSBkaXNjdXNzaW9uIHRoYXQgd2UgbWF5IGdldCBzb21lIGV4Y2VwdGlvbnMgdG8N Cj4gPiA+ID4gPiBkZXByZWNhdGlvbg0KPiA+ID4gPiA+ID4gcHJvY2VzcyBmb3IgMTkuMTEgYXMg dGhlIEFQSXMgd2lsbCBmcmVlemUgb2YgMSB5ZWFyIHBvc3QgaXQuDQo+ID4gPiA+ID4gPiBBbnl3 YXksIGlmIHlvdSBoYXZlIGEgYmV0dGVyIHdheSB3aXRoIHN5bWJvbCwgcGxlYXNlIHN1Z2dlc3Qu DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uZSBvcHRpb24gY291bGQgYmUgKG5v dCBhcyBiYWQgYXMgY2hhbmdpbmcgdGhlIGVucXVldWUNCj4gPiA+ID4gPiBwcm90b3R5cGUpIHRv IGFkZCBuZXcgZmllbGQgaW4gc3RydWN0IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9jb25mLg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gU2luY2UgdGhpcyBzY2hlbWUgY2FuIGJlIHVzZWQgT05MWSBv biB0aGUgc3RhdGljIGNvbmZpZ3VyYXRpb24sDQo+ID4gPiA+ID4gYWRkaW5nIGEgZmV3IGZpZWxk cyBmb3IgVHggYWRhcHRlciBjb25maWd1cmF0aW9uIHdvdWxkIGhlbHAuDQo+ID4gPiA+ID4gSWYg dGhhdCBmaWVsZCBpcyBzZXQgeW91IGNhbiBjaG9vc2UgZGV2LT50eGFfZW5xdWV1ZSBsaWdodA0K PiA+ID4gPiA+IHdlaWdodCBlbnF1ZXVlIGZ1bmN0aW9uIGlmIG5vdCwgdGhlIGRyaXZlciBjYW4g YWdncmVnYXRlIHRoZQ0KPiA+ID4gPiA+IGJ1ZmZlcnMgYW5kIHNlbmQgdGhlbS4NCj4gPiA+ID4N Cj4gPiA+ID4gVGhhbmtzIGZvciBzdWdnZXN0aW5nIHRoaXMsIHdlIGFsc28gdGhvdWdodCBvZiBp dCwgYnV0IHdvdWxkDQo+ID4gPiA+IHByZWZlciBoYXZpbmcNCj4gPiA+IHRoaXMgYXMgYQ0KPiA+ ID4gPiBydW50aW1lIG9wdGlvbiByYXRoZXIgdGhhbiBzdGF0aWMgb3B0aW9uLg0KPiA+ID4gPiBX ZSB3b3VsZCBub3QgbGlrZSB0byBoYXZlIG9uZSB0aW1lIGNvbmZpZ3VyYXRpb24gcmVzdHJpY3Rp b24uDQo+ID4gPg0KPiA+ID4gTm90IHN1cmUgaG93IGl0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUu IElmIHEwIGlzIGNvbm5lY3RlZCBwMCBhbmQgcDENCj4gPiA+IGFuZCB0aGVuIGl0IGZsYWcgaGFz IHRvIGJlIGNsZWFyZWQuIGlmIHEwIGlzIG9ubHkgY29ubmVjdGVkIHRvIHAwDQo+ID4gPiB0aGVu IHdlIGNhbiB1c2UgdGhpcyBzY2hlbWUuDQo+ID4gPiBTbyBpdCBpcyBwcmV0dHkgbXVjaCBzdGF0 aWMgaW4gbmF0dXJlLg0KPiA+ID4NCj4gPiA+IEhvdyBkbyB5b3UgdGhpbmssIGl0IGNhbiBiZSB1 c2VkIGluIHJ1bnRpbWUuDQo+ID4gPg0KPiA+ID4gSWYgd2UgdGhpbmssIElmIHdlIGFyZSBwbGFu bmluZyB0byB1c2UgbGlrZSBiZWxvdyBpbiBhcHBsaWNhdGlvbiwgaXQNCj4gPiA+IHdvdWxkIGJl IHJlYWxseSBiYWQgaW4gdGhlIHdvcnN0IGNhc2UuKG1idWYgY2FjaGUgbWlzc2VzIGluLWFwcCBh bmQNCj4gPiA+IGRyaXZlcikNCj4gPiA+DQo+ID4gPiBJbiBhcHA6DQo+ID4gPiBjb25zdCBwb3J0 ID0gZXZlbnRbMF0ubWJ1Zi5wb3J0Ow0KPiA+ID4gY29uc3QgcXVldWUgPSBldmVudFswXS5tYnVm LnF1ZXVlOw0KPiA+ID4gZm9yIChpID0gaTsgaSA8IG5iX2V2ZW50czsgaSsrKSB7DQo+ID4gPiAg ICAgICAgICAgaWYgKHBvcnQgIT0gZXZlbnRbaV0ubWJ1Zi5wb3J0IHx8IHF1ZXVlICE9IGV2ZW50 W2ldLm1idWYucXVldWUpDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gPiB9 DQo+ID4gPiBpZiAoaSA9PSBuYl9ldmVudHMpDQo+ID4gPiAgICAgICAgICBmbGFnID0gMTsNCj4g PiA+IGVsc2UNCj4gPiA+ICAgICAgICAgZmxhZyA9IDA7DQo+ID4gPg0KPiA+DQo+ID4gSW4gc3Vj aCBjYXNlIGlmIGNhY2hlIG1pc3NlcyBhcmUgb2JzZXJ2ZWQgd2hpY2ggaXMgbW9yZSB0aGFuIHdo YXQNCj4gPiBzZW5kaW5nIGJ1cnN0IG9mIHRyYWZmaWMgaXMgaW4gdGhlIGFwcGxpY2F0aW9ucyB1 c2UtY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHNoYWxsDQo+IHNpbXBseSBub3QgdXNlIHRoZSBmbGFn Lg0KPiA+DQo+ID4gQnV0IGFnYWluIEkgdGhpbmsgdGhpcyBpcyB0byBiZSBnb3Zlcm5lZCBieSB0 aGUgYXBwbGljYXRpb24gd2hpY2ggaXMNCj4gPiB0aGUgdXNlciBvZiB0aGUgZXZlbnQgZGV2aWNl LCBvbiB0aGUgYmFzaXMgb24gdGhlIGNvbmZpZ3VyYXRpb24gYW5kDQo+ID4gdGhlIG1lbW9yeSBm b290cHJpbnQvdXRpbGl6YXRpb247IGFuZCBtb3JlIHRoYW4gdGhhdCBpdHMgcGVyZm9ybWFuY2UN Cj4gYmVuY2htYXJraW5nLg0KPiA+DQo+ID4gPiBtb3JlIG92ZXIgdGhlIHN0YXRpYyBzY2hlbWUg ZG9lcyBub3QgbWFrZSBhbnkgY2hhbmdlIGluIG90aGVyIGRyaXZlcnMuDQo+ID4gPiBJZiB5b3Ug aGF2ZSB0aGUgdXNlY2FzZSBmb3IgdGhlIGR5bmFtaWMgc2NoZW1lIHRoZW4gbGV0IHVzIGtub3cg dGhlbg0KPiA+ID4gd2UgYWRkIGR5bmFtaWMgZmxhZyBicmVha2luZyB0aGUgQUJJLg0KPiA+DQo+ ID4gSSB1bmRlcnN0YW5kIHlvdXIgY29uY2VybiB0aGF0IHRoaXMgc2hhbGwgbm90IGJlIHZhbGlk IG9uIGEgZ2VuZXJhbCBjYXNlcy4NCj4gPg0KPiA+IFRoZXJlIGFyZSBjZXJ0YWluIHVzZS1jYXNl IChOWFAgaW50ZXJuYWwpIG9mIERQREsgZXZlbnQgd2hpY2ggaGF2ZQ0KPiA+IHNlcGFyYXRlIGV2 ZW50IHBvcnRzL2NvcmVzIGRlZGljYXRlZCBmb3IgY2VydGFpbiB0YXNrcyAtIGFuZCBjYW4gdXNl DQo+ID4gdGhlIGJ1cnN0IGZ1bmN0aW9uYWxpdHkgZm9yIHBlcmZvcm1hbmNlIGFjY29yZGluZyB0 byB0aGUgZXZlbnQgcG9ydHMNCj4gPiB3aGljaCBhcmUgdXNlZC4gTm90IGhhdmluZyB0aGlzIGF0 IHJ1bnRpbWUgd2lsbCBsaW1pdCB0aGUgZmxleGliaWxpdHkgZm9yIHN1Y2gNCj4gYXBwbGljYXRp b25zLg0KPiANCj4gSWYgaXQgaXMgc3BlY2lmaWMgdG8gTlhQIGludGVybmFsIHVzZSBjYXNlIHRo ZW4gbm8gbW9yZSBjb21tZW50cyBvbiBkeW5hbWljDQo+IHZzIHN0YXRpYy4NCj4gDQo+IEAgTmlr aGlsIFJhbyBhbnkgY29tbWVudHMuDQo+IA0KPiBPbmUgb3B0aW9uIGNvdWxkIGJlIHRvIGluY29y cG9yYXRlIE5YUCBpbnRlcm5hbCB1c2UgY2FzZSB3aWxsIGJlIGludHJvZHVjaW5nDQo+IGEgbmV3 IEFQSSwgcGFyYWxsZWwgdG8gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUgYXMNCj4g cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWVfc2FtZV9kZXN0KCkNCj4gb3Igc29tZXRo aW5nLg0KPiANCj4gVHdvIGFkdmFudGFnZToNCj4gIyBOb3QgYSBtYWpvciBBQkkgYnJlYWthZ2Uu IE9ubHkgbmVlZCB0byBhZGQgbmV3IGZhc3QtcGF0aCBmdW5jdGlvbiBpbg0KPiBydGVfZXZlbnRk ZXYuDQo+ICMgRXZlbiB0aG91Z2ggd2UgYWRkICd6ZXJvJyBpbiBBUEkgYWxsIHRoZSB0aW1lLCB0 aGUgQ29tcGlsZXIgcHJvbG9ndWUgbmVlZHMNCj4gdG8gcHVzaCB0byBzdGFjayBvciBtb3ZlIHRo ZSB2YWx1ZSB0byBhcmd1bWVudCByZWdpc3RlciBhcyB0aGVyZSBpcyBmdW5jdGlvbg0KPiBwb2lu dGVyIGluZGlyZWN0aW9uLiBzbyBuZXcgQVBJIHdpbGwgaGF2ZSB6ZXJvIHBlcmZvcm1hbmNlIGlt cGFjdCBmb3Igbm9ybWFsDQo+IGNhc2VzLg0KPiANCj4gTm90IHN1cmUgYWJvdXQgbWlub3IgQUJJ IGJyZWFrYWdlIGluIHJ0ZV9ldmVudGRldihhZGRpbmcgYSBuZXcgZmFzdHBhdGgNCj4gZnVuY3Rp b24pLiBJZiBldmVyeW9uZSBpcyBPSyBhcyB0aGUgZXhjZXB0aW9uIGZvciAxOS4xMSB0aGVuIHdl IGNhbiBpbnRyb2R1Y2UNCj4gYSBuZXcgQVBJLg0KDQpbSGVtYW50XSBUaGVyZSBhcmUgYWxyZWFk eSB0b28gbWFueSBBUElzIGFuZCBtb2RlIGluIGV2ZW50ZGV2LiBNeSBzdWdnZXN0aW9uIGlzIHRv IG1pbmltaXplIHRoZSBuZXcgQVBJcy4gRWxzZSB3cml0aW5nIGdlbmVyaWMgYXBwbGljYXRpb25z IHdpbGwgYmUgcmVhbGx5IGRpZmZpY3VsdCBhbmQgaXQgd2lsbCBub3QgYmUgZWFzeSB0byBhZGFw dCBieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVycy4gDQpJbiB0aGlzIHBhcnRpY3VsYXIgY2Fz ZSwgaXQgaXMgYmV0dGVyIGZvciBOWFAgdG8gZ28gd2l0aCBkaXJlY3QgZXRoIGVucXVlIG1vZGUg cmF0aGVyIHRoYW4gVFggYWRhcHRlci4gTm90ZSB0aGF0IGNyeXB0byBhZGFwdGVyIGFscmVhZHkg cHJvdmlkZSB0aGF0IG1vZGUuICBIb3dldmVyIHdlIGFyZSB0cnlpbmcgdG8gYWRqdXN0IHNvIHRo YXQgYXBwbGljYXRpb25zIGRvIG5vdCBiZWNvbWUgY29tcGxleC4gDQoNCkluIHRoZSBleGlzdGlu ZyBjb2RlIGFsc28gd2UgaGF2ZSB0d28gbW9kZXMgaW4gdGhlIGFwcGxpY2F0aW9uIHRvIHNlbmQg dGhlIHBhY2tldHMgb3V0IC0gb25lIGlzICdydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCcgYW5kIG90 aGVyIGlzICdydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZScuDQpJdCBpcyBzdGlsbCBj dW1iZXJzb21lIGZvciB0aGUgYXBwbGljYXRpb24gdG8gbWFpbnRhaW4gc2VwYXJhdGUgbW9kZXMu IFRoaXMgaW5jcmVhc2VzIHdoZW4gY3J5cHRvL3RpbWVyIGlzIGFsc28gYmVpbmcgdXNlZCBpbiBl dmVudCBtb2RlLg0KDQpXaHkgZG8gd2Ugbm90IHVzZWQgdGhlICdydGVfZXZlbnQtPmV2ZW50X3R5 cGUnIGZvciBUWCBhcyB3ZWxsLCBhbmQgJ3J0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0JywgQVBJIHRv IGludGVybmFsbHkgKGluIHJlc3BlY3RpdmUgZXZlbnQgZHJpdmVyKSBzZW5kIHRoZSBwYWNrZXQg dG8gdGhlIHJlc3BlY3RpdmUgZXRoL2NyeXB0by90aW1lciBUeCBmdW5jdGlvbj8gSXQgbWFrZXMg bW9yZSBzZW5zZSB0byBoYXZlIGEgY29tbW9uIGZyYW1ld29yayB0byBzZW5kIHBhY2tldHMsIHJh dGhlciB0aGFuIGhhdmluZyBtdWx0aXBsZSBBUEkncz8NCg0KDQo+IA0KPiANCj4gDQo+ID4NCj4g PiBSZWdhcmRzLA0KPiA+IE5pcHVuDQo+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBOaXB1biBHdXB0YSA8bmlwdW4uZ3VwdGFAbnhwLmNvbT4NCj4gPiA+ ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gPiAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9w aXBlbGluZV9jb21tb24uaCAgICAgICAgICB8ICA2ICsrKy0tLQ0KPiA+ID4gPiA+ID4gPiA+ICAu Li4vcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVyLnJzdCAgICAgIHwgIDMgKyst DQo+ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuaCAg ICAgICAgICAgICAgfCAgMiArLQ0KPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2V2ZW50L29jdGVv bnR4L3Nzb3ZmX3dvcmtlci5jICAgICAgICAgICAgIHwgIDMgKystDQo+ID4gPiA+ID4gPiA+ID4g IGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfZXZkZXYuaCAgICAgICAgICAgICAgfCAxMiAr KysrKysrKy0tLS0NCj4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4 Ml93b3JrZXIuYyAgICAgICAgICAgICB8ICA4ICsrKysrKy0tDQo+ID4gPiA+ID4gPiA+ID4gIGRy aXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyX2R1YWwuYyAgICAgICAgfCAgOCArKysr KystLQ0KPiA+ID4gPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhf dHhfYWRhcHRlci5oICAgIHwgMTUNCj4gPiA+ID4gPiArKysrKysrKysrKysrLS0NCj4gPiA+ID4g PiA+ID4gPiAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYyAgICAgICAgICAgICAg ICB8ICAzICsrLQ0KPiA+ID4gPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVu dGRldi5oICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gPiA+ID4gPiA+ID4gPiAgMTAgZmlsZXMg Y2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9w aXBlbGluZV9jb21tb24uaA0KPiA+ID4gYi9hcHAvdGVzdC0NCj4gPiA+ID4gPiA+ID4gZXZlbnRk ZXYvdGVzdF9waXBlbGluZV9jb21tb24uaA0KPiA+ID4gPiA+ID4gPiA+IGluZGV4IDA0NDBiOWUy OS4uNmU3M2M2YWIyIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2FwcC90ZXN0LWV2ZW50 ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmgNCj4gPiA+ID4gPiA+ID4gPiArKysgYi9hcHAvdGVz dC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5oDQo+ID4gPiA+ID4gPiA+ID4gQEAgLTEw Niw3ICsxMDYsNyBAQCBwaXBlbGluZV9ldmVudF90eChjb25zdCB1aW50OF90IGRldiwNCj4gPiA+ ID4gPiA+ID4gPiBjb25zdA0KPiA+ID4gPiA+IHVpbnQ4X3QNCj4gPiA+ID4gPiA+ID4gcG9ydCwN Cj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCAqIGNvbnN0 IGV2KSAgew0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVy X3R4cV9zZXQoZXYtPm1idWYsIDApOw0KPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgd2hpbGUgKCFy dGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXYsIHBvcnQsIGV2LA0KPiAxKSkNCj4g PiA+ID4gPiA+ID4gPiArICAgICAgIHdoaWxlICghcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2Vu cXVldWUoZGV2LA0KPiA+ID4gPiA+ID4gPiA+ICsgcG9ydCwgZXYsIDEsDQo+ID4gPiAwKSkNCj4g PiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgcnRlX3BhdXNlKCk7ICB9DQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTE2LDEwICsxMTYsMTAgQEAgcGlwZWxpbmVfZXZl bnRfdHhfYnVyc3QoY29uc3QNCj4gPiA+ID4gPiA+ID4gPiB1aW50OF90DQo+ID4gPiBkZXYsDQo+ ID4gPiA+ID4gY29uc3QNCj4gPiA+ID4gPiA+ID4gdWludDhfdCBwb3J0LA0KPiA+ID4gPiA+ID4g PiA+ICB7DQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50MTZfdCBlbnE7DQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAtICAgICAgIGVucSA9IHJ0ZV9ldmVudF9ldGhfdHhfYWRh cHRlcl9lbnF1ZXVlKGRldiwgcG9ydCwgZXYsDQo+ID4gPiBuYl9yeCk7DQo+ID4gPiA+ID4gPiA+ ID4gKyAgICAgICBlbnEgPSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXYsIHBv cnQsDQo+ID4gPiA+ID4gPiA+ID4gKyBldiwNCj4gPiA+IG5iX3J4LA0KPiA+ID4gPiA+IDApOw0K PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgd2hpbGUgKGVucSA8IG5iX3J4KSB7DQo+ID4gPiA+ID4g PiA+ID4gICAgICAgICAgICAgICAgIGVucSArPSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5x dWV1ZShkZXYsIHBvcnQsDQo+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBldiArIGVucSwgbmJfcnggLSBlbnEpOw0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZXYgKyBlbnEsIG5iX3J4IC0gZW5xLCAwKTsNCj4gPiA+ ID4gPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+IGEvZG9jL2d1aWRl cy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0DQo+ID4gPiA+ID4gPiA+ IGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0DQo+ ID4gPiA+ID4gPiA+ID4gaW5kZXggMTkyZjllMWNmLi5hOGMxM2UxMzYgMTAwNjQ0DQo+ID4gPiA+ ID4gPiA+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3R4X2Fk YXB0ZXIucnN0DQo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2V2 ZW50X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0DQo+ID4gPiA+ID4gPiA+ID4gQEAgLTEzNywxMSAr MTM3LDEyIEBAIHNob3VsZCB1c2UgdGhlDQo+ID4gPiA+ID4gYGBydGVfZXZlbnRfZW5xdWV1ZV9i dXJzdCgpYGANCj4gPiA+ID4gPiA+ID4gZnVuY3Rpb24uDQo+ID4gPiA+ID4gPiA+ID4gICAgICAg ICBpZiAoY2FwICYNCj4gPiA+ID4gPiA+ID4gPiBSVEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfQ0FQ X0lOVEVSTkFMX1BPUlQpDQo+ID4gPiB7DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgZXZlbnQubWJ1ZiA9IG07DQo+ID4gPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgIGVxX2ZsYWdzID0gMDsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgICAgICAgICBtLT5wb3J0ID0gdHhfcG9ydDsNCj4gPiA+ID4gPiA+ID4gPiAgICAg ICAgICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQobSwNCj4gPiA+ID4g PiA+ID4gPiB0eF9xdWV1ZV9pZCk7DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAt ICAgICAgICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUoZGV2X2lkLCBl dl9wb3J0LA0KPiA+ID4gJmV2ZW50LA0KPiA+ID4gPiA+IDEpOw0KPiA+ID4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXZfaWQsDQo+ ID4gPiA+ID4gPiA+ID4gKyBldl9wb3J0LA0KPiA+ID4gPiA+ICZldmVudCwgMSwNCj4gPiA+ID4g PiA+ID4gZXFfZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgfSBlbHNlIHsNCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBldmVudC5xdWV1ZV9p ZCA9IHFpZDsgLyogZXZlbnQgcXVldWUNCj4gPiA+ID4gPiA+ID4gPiBsaW5rZWQgdG8gYWRhcHRl cg0KPiA+ID4gcG9ydCAqLw0KPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2 ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmgNCj4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2V2ZW50 L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiBpbmRleCAwZTYyMjE1MmMu LjFiMTU2ZWRhYiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2V2ZW50L29j dGVvbnR4L3Nzb3ZmX2V2ZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2V2ZW50 L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTgxLDcgKzE4MSw3 IEBAIHZvaWQgc3Nvd3NfZmx1c2hfZXZlbnRzKHN0cnVjdCBzc293cw0KPiA+ID4gPiA+ID4gPiA+ ICp3cywNCj4gPiA+ID4gPiB1aW50OF90DQo+ID4gPiA+ID4gPiA+IHF1ZXVlX2lkLA0KPiA+ID4g PiA+ID4gPiA+ICAgICAgICAgICAgICAgICBzc293c19oYW5kbGVfZXZlbnRfdCBmbiwgdm9pZCAq YXJnKTsgIHZvaWQNCj4gPiA+ID4gPiA+ID4gPiBzc293c19yZXNldChzdHJ1Y3Qgc3Nvd3MgKndz KTsgIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gc3NvX2V2ZW50X3R4X2FkYXB0ZXJfZW5xdWV1 ZSh2b2lkICpwb3J0LA0KPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgcnRl X2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzLA0KPiA+ ID4gPiA+ID4gPiA+ICsgdWludDhfdA0KPiA+ID4gZXFfZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ ICBpbnQgc3NvdmZfaW5mbyhzdHJ1Y3Qgc3NvdmZfaW5mbyAqaW5mbyk7ICB2b2lkDQo+ID4gPiA+ ID4gPiA+ID4gKnNzb3ZmX2JhcihlbnVtIHNzb3ZmX3R5cGUsIHVpbnQ4X3QgaWQsIHVpbnQ4X3Qg YmFyKTsgIGludA0KPiA+ID4gPiA+ID4gPiA+IHRlc3RfZXZlbnRkZXZfb2N0ZW9udHgodm9pZCk7 IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3Nv dmZfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3Zm X3dvcmtlci5jDQo+ID4gPiA+ID4gPiA+ID4gaW5kZXggZDk0MGI1ZGQ2Li4xZDA0NjdhZjMgMTAw NjQ0DQo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl93 b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3Nv dmZfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMjY0LDcgKzI2NCw3IEBAIHNzb3dzX3Jl c2V0KHN0cnVjdCBzc293cyAqd3MpDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAg dWludDE2X3QNCj4gPiA+ID4gPiA+ID4gPiAgc3NvX2V2ZW50X3R4X2FkYXB0ZXJfZW5xdWV1ZSh2 b2lkICpwb3J0LA0KPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMsDQo+ID4gPiA+ ID4gPiA+ID4gKyB1aW50OF90IGVxX2ZsYWdzKQ0KPiA+ID4gPiA+ID4gPiA+ICB7DQo+ID4gPiA+ ID4gPiA+ID4gICAgICAgICB1aW50MTZfdCBwb3J0X2lkOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAg ICAgdWludDE2X3QgcXVldWVfaWQ7IEBAIC0yNzUsNiArMjc1LDcgQEANCj4gPiA+ID4gPiA+ID4g PiBzc29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKnBvcnQsDQo+ID4gPiA+ID4gPiA+ ID4gICAgICAgICBvY3Rlb250eF9kcV90ICpkcTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ICAgICAgICAgUlRFX1NFVF9VU0VEKG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiA+ID4g KyAgICAgICBSVEVfU0VUX1VTRUQoZXFfZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAg c3dpdGNoIChldi0+c2NoZWRfdHlwZSkgew0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgY2FzZSBT U09fU1lOQ19PUkRFUkVEOg0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBzc293c19z d3RhZ19ub3JtKHdzLCBldi0+ZXZlbnQsDQo+ID4gPiA+ID4gPiA+ID4gU1NPX1NZTkNfQVRPTUlD KTsgZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9ldmVudC9vY3Rlb250eDIv b3R4Ml9ldmRldi5oDQo+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4 Ml9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gaW5kZXggNWNkODBlM2IyLi43NGI3NDlhMTUgMTAw NjQ0DQo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml9l dmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4 Ml9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gQEAgLTMzMywxNiArMzMzLDIwIEBADQo+IFNTT19S WF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gICNkZWZpbmUgVChuYW1lLCBmNCwgZjMsIGYyLCBmMSwgZjAsIHN6LCBmbGFncykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJf c3NvZ3dzX3R4X2FkcHRyX2VucV8gIyMgbmFtZSh2b2lkICpwb3J0LA0KPiA+ID4gPiA+ID4gPiA+ IHN0cnVjdA0KPiA+ID4gPiA+IHJ0ZV9ldmVudA0KPiA+ID4gPiA+ID4gPiBldltdLFwNCj4gPiA+ ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDE2X3QgbmJfZXZlbnRzKTsgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgICAgICAgICAgIFwNCj4g PiA+ID4gPiA+ID4gPiAgdWludDE2X3Qgb3R4Ml9zc29nd3NfdHhfYWRwdHJfZW5xX3NlZ18gIyMg bmFtZSh2b2lkDQo+ID4gPiA+ID4gPiA+ID4gKnBvcnQsDQo+ID4gPiA+ID4gXA0KPiA+ID4gPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudCBldltdLCAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKTsg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICAgXA0KPiA+ID4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDhfdCBlcV9mbGFncyk7ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZf dCBvdHgyX3Nzb2d3c19kdWFsX3R4X2FkcHRyX2VucV8gIyMgbmFtZSh2b2lkDQo+ID4gPiA+ID4g PiA+ID4gKnBvcnQsDQo+ID4gPiA+ID4gXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwg ICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cyk7ICAgICAgICAgXA0KPiA+ID4gPiA+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQxNl90IG5iX2V2ZW50cywgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpOyAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBvdHgyX3Nzb2d3c19kdWFsX3R4 X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZA0KPiA+ID4gKnBvcnQsDQo+ID4gPiA+ID4gPiA+ IFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCAgIFwNCj4gPiA+ID4gPiA+ID4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDE2X3QgbmJfZXZlbnRzKTsgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAg ICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICBTU09fVFhfQURQVFJfRU5RX0ZBU1RQQVRIX0ZVTkMgICN1 bmRlZiBUIGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9u dHgyL290eDJfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4 Mi9vdHgyX3dvcmtlci5jDQo+ID4gPiA+ID4gPiA+ID4gaW5kZXggY2QxNGNkM2QyLi4xMDBlMjE2 NjkgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rlb250eDIv b3R4Ml93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9u dHgyL290eDJfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMjcwLDEyICsyNzAsMTQgQEAg b3R4Ml9zc29nd3NfZW5xX2Z3ZF9idXJzdCh2b2lkDQo+ID4gPiA+ID4gPiA+ID4gKnBvcnQsDQo+ ID4gPiA+ID4gY29uc3QNCj4gPiA+ID4gPiA+ID4gc3RydWN0IHJ0ZV9ldmVudCBldltdLA0KPiA+ ID4gPiA+ID4gPiA+ICAjZGVmaW5lIFQobmFtZSwgZjQsIGYzLCBmMiwgZjEsIGYwLCBzeiwgZmxh Z3MpICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgdWludDE2X3Qg X19ob3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gIG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV8gIyMgbmFt ZSh2b2lkICpwb3J0LCBzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnQNCj4gPiA+ID4g PiBldltdLCAgIFwNCj4gPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDE2X3QgbmJfZXZlbnRzKSAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50 cywgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50OF90IGVxX2ZsYWdzKSAgICAgICAgICAgICAgICAgICAgIFwN Cj4gPiA+ID4gPiA+ID4gPiAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAg ICBzdHJ1Y3Qgb3R4Ml9zc29nd3MgKndzID0gcG9ydDsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDY0X3QgY21kW3N6XTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICBSVEVfU0VUX1VT RUQobmJfZXZlbnRzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gPiA+ICsgICAgICAgUlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAg IHJldHVybiBvdHgyX3Nzb2d3c19ldmVudF90eCh3cywgZXYsIGNtZCwgZmxhZ3MpOyAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiAgU1NPX1RYX0FE UFRSX0VOUV9GQVNUUEFUSF9GVU5DIEBAIC0yODQsMTIgKzI4NiwxNA0KPiBAQA0KPiA+ID4gPiA+ ID4gPiA+IFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gPiA+ICAj ZGVmaW5lIFQobmFtZSwgZjQsIGYzLCBmMiwgZjEsIGYwLCBzeiwgZmxhZ3MpICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgdWludDE2X3QgX19ob3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ ID4gPiA+ID4gIG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZCAqcG9y dCwgc3RydWN0DQo+ID4gPiA+ID4gcnRlX2V2ZW50IGV2W10sXA0KPiA+ID4gPiA+ID4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKSAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAgICAgICAgICAgICBcDQo+ID4gPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVx X2ZsYWdzKSAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqd3MgPSBwb3J0 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAg ICAgICB1aW50NjRfdCBjbWRbKHN6KSArIE5JWF9UWF9NU0VHX1NHX0RXT1JEUyAtIDJdOw0KPiBc DQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAg ICAgUlRFX1NFVF9VU0VEKG5iX2V2ZW50cyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgIFJURV9TRVRfVVNFRChlcV9mbGFn cyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4g PiA+ID4gICAgICAgICByZXR1cm4gb3R4Ml9zc29nd3NfZXZlbnRfdHgod3MsIGV2LCBjbWQsIChm bGFncykgfCAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5JWF9UWF9NVUxUSV9TRUdfRik7ICAgICAgICAgICAgICAgIFwN Cj4gPiA+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4gYi9kcml2 ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4gPiBp bmRleCAzN2MyNzRhNTQuLmMzZTQ4ZGE0MiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiAtLS0gYS9k cml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4g PiArKysgYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ ID4gPiA+ID4gPiBAQCAtMzEwLDcgKzMxMCw4IEBAIFNTT19SWF9BRFBUUl9FTlFfRkFTVFBBVEhf RlVOQw0KPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBfX2hvdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAg b3R4Ml9zc29nd3NfZHVhbF90eF9hZHB0cl9lbnFfICMjIG5hbWUodm9pZCAqcG9ydCwNCj4gXA0K PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBydGVfZXZlbnQgZXZbXSwgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXFfZmxh Z3MpICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3NfZHVhbCAqd3MgPSBwb3J0 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAg c3RydWN0IG90eDJfc3NvZ3dzICp2d3MgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMzE4LDYgKzMxOSw3IEBAIG90eDJfc3NvZ3dz X2R1YWxfdHhfYWRwdHJfZW5xXyAjIw0KPiA+ID4gPiA+IG5hbWUodm9pZCAqcG9ydCwNCj4gPiA+ ID4gPiA+ID4gXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDY0X3QgY21kW3N6XTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICBSVEVfU0VUX1VT RUQobmJfZXZlbnRzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gPiA+ICsgICAgICAgUlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAg IHJldHVybiBvdHgyX3Nzb2d3c19ldmVudF90eCh2d3MsIGV2LCBjbWQsIGZsYWdzKTsgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiAgU1NPX1RYX0FE UFRSX0VOUV9GQVNUUEFUSF9GVU5DIEBAIC0zMjcsNyArMzI5LDggQEANCj4gPiA+ID4gPiA+ID4g PiBTU09fVFhfQURQVFJfRU5RX0ZBU1RQQVRIX0ZVTkMNCj4gPiA+ID4gPiA+ID4gPiAgdWludDE2 X3QgX19ob3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gIG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5x X3NlZ18gIyMgbmFtZSh2b2lkICpwb3J0LA0KPiA+ID4gXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2 W10sICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKSAgICAgICAgICBcDQo+ID4gPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90 IG5iX2V2ZW50cywgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVxX2ZsYWdzKSAgICAgICAgICAgIFwN Cj4gPiA+ID4gPiA+ID4gPiAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAg ICBzdHJ1Y3Qgb3R4Ml9zc29nd3NfZHVhbCAqd3MgPSBwb3J0OyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IG90eDJfc3NvZ3dzICp2 d3MgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiBAQCAtMzM1LDYgKzMzOCw3IEBAIG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5xX3Nl Z18NCj4gIyMNCj4gPiA+ID4gPiBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ID4gKnBvcnQsICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ2NF90IGNtZFso c3opICsgTklYX1RYX01TRUdfU0dfRFdPUkRTIC0gMl07DQo+IFwNCj4gPiA+ID4gPiA+ID4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICBSVEVfU0VUX1VTRUQobmJf ZXZlbnRzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4g PiA+ID4gPiA+ICsgICAgICAgUlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHJldHVy biBvdHgyX3Nzb2d3c19ldmVudF90eCh2d3MsIGV2LCBjbWQsIChmbGFncykgfCAgICAgICAgICAg ICBcDQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TklYX1RYX01VTFRJX1NFR19GKTsgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ICB9 DQo+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+IGEvbGliL2xpYnJ0 ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaA0KPiA+ID4gPiA+ID4gPiBiL2xp Yi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmgNCj4gPiA+ID4gPiA+ ID4gPiBpbmRleCBjODQ4MjYxYzQuLjk4YmU3NzU2OCAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiAt LS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oDQo+ID4g PiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXIuaA0KPiA+ID4gPiA+ID4gPiA+IEBAIC0zMDAsNiArMzAwLDExIEBADQo+ID4gPiA+ID4g PiA+ID4gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9nZXQoc3RydWN0DQo+ID4gPiA+ID4g cnRlX21idWYNCj4gPiA+ID4gPiA+ID4gKnBrdCkNCj4gPiA+ID4gPiA+ID4gPiAgaW50DQo+ID4g PiA+ID4gPiA+ID4gIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCh1aW50 OF90IGlkLA0KPiA+ID4gPiA+ID4gPiA+IHVpbnQ4X3QNCj4gPiA+ID4gPiA+ID4gKmV2ZW50X3Bv cnRfaWQpOw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gKyNkZWZpbmUgUlRFX0VW RU5UX0VUSF9UWF9BREFQVEVSX0VOUVVFVUVfU0FNRV9ERVNUDQo+ID4gPiAweDENCj4gPiA+ID4g PiA+ID4gPiArLyoqPCBUaGlzIGZsYWcgaXMgdXNlZCB3aGVuIGFsbCB0aGUgcGFja2V0cyBlbnF1 ZXVlZCBpbg0KPiA+ID4gPiA+ID4gPiA+ICt0aGUgdHgNCj4gPiA+IGFkYXB0ZXINCj4gPiA+ID4g PiBhcmUNCj4gPiA+ID4gPiA+ID4gPiArICogZGVzdGluZWQgZm9yIHRoZSBzYW1lIEV0aGVybmV0 IGRldmljZSwgcXVldWUgcGFpci4NCj4gPiA+ID4gPiA+ID4gPiArICovDQo+ID4gPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4gPiA+ICAvKioNCj4gPiA+ID4gPiA+ID4gPiAgICogRW5xdWV1ZSBh IGJ1cnN0IG9mIGV2ZW50cyBvYmplY3RzIG9yIGFuIGV2ZW50IG9iamVjdA0KPiA+ID4gPiA+ID4g PiA+IHN1cHBsaWVkIGluDQo+ID4gPiA+ID4gPiA+ICpydGVfZXZlbnQqDQo+ID4gPiA+ID4gPiA+ ID4gICAqIHN0cnVjdHVyZSBvbiBhbiAgZXZlbnQgZGV2aWNlIGRlc2lnbmF0ZWQgYnkgaXRzDQo+ ID4gPiA+ID4gPiA+ID4gKmRldl9pZCogdGhyb3VnaA0KPiA+ID4gPiA+IHRoZSBldmVudA0KPiA+ ID4gPiA+ID4gPiA+IEBAIC0zMjQsNiArMzI5LDEwIEBADQo+ID4gPiA+ID4gcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyX2V2ZW50X3BvcnRfZ2V0KHVpbnQ4X3QNCj4gPiA+ID4gPiA+ID4gaWQsIHVp bnQ4X3QgKmV2ZW50X3BvcnRfaWQpOw0KPiA+ID4gPiA+ID4gPiA+ICAgKiAgVGhlIG51bWJlciBv ZiBldmVudCBvYmplY3RzIHRvIGVucXVldWUsIHR5cGljYWxseSBudW1iZXIgb2YNCj4gPiA+ID4g PiA+ID4gPiAgICoNCj4gPiA+IHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KC4uLlJURV9FVkVOVF9Q T1JUX0FUVFJfRU5RX0RFUFRILi4uKQ0KPiA+ID4gPiA+ID4gPiA+ICAgKiAgYXZhaWxhYmxlIGZv ciB0aGlzIHBvcnQuDQo+ID4gPiA+ID4gPiA+ID4gKyAqIEBwYXJhbSBmbGFncw0KPiA+ID4gPiA+ ID4gPiA+ICsgKiAgU2VlIFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFXyBmbGFncy4N Cj4gPiA+ID4gPiA+ID4gPiArICogICNSVEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfRU5RVUVVRV9T QU1FX0RFU1QNCj4gPiA+IHNpZ25pZmllcw0KPiA+ID4gPiA+IHRoYXQgYWxsDQo+ID4gPiA+ID4g PiA+IHRoZSBwYWNrZXRzDQo+ID4gPiA+ID4gPiA+ID4gKyAqICB3aGljaCBhcmUgZW5xdWV1ZWQg YXJlIGRlc3RpbmVkIGZvciB0aGUgc2FtZSBFdGhlcm5ldA0KPiA+ID4gPiA+ID4gPiA+ICsgZGV2 aWNlLA0KPiA+ID4gPiA+IHF1ZXVlIHBhaXIuDQo+ID4gPiA+ID4gPiA+ID4gICAqDQo+ID4gPiA+ ID4gPiA+ID4gICAqIEByZXR1cm4NCj4gPiA+ID4gPiA+ID4gPiAgICogICBUaGUgbnVtYmVyIG9m IGV2ZW50IG9iamVjdHMgYWN0dWFsbHkgZW5xdWV1ZWQgb24gdGhlIGV2ZW50DQo+ID4gPiA+ID4g ZGV2aWNlLiBUaGUNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMzQzLDcgKzM1Miw4IEBAIHN0YXRpYyBp bmxpbmUgdWludDE2X3QNCj4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJf ZW5xdWV1ZSh1aW50OF90IGRldl9pZCwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4gPiA+ID4g PiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50 cykNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IG5iX2V2ZW50cywNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ4X3QgZmxhZ3MpDQo+ID4gPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ID4g PiAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiA9DQo+ID4gPiA+ID4gPiA+ ID4gJnJ0ZV9ldmVudGRldnNbZGV2X2lkXTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+IEBAIC0zNTksNyArMzY5LDggQEANCj4gPiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9l bnF1ZXVlKHVpbnQ4X3QNCj4gPiA+ID4gPiBkZXZfaWQsDQo+ID4gPiA+ID4gPiA+ID4gICAgICAg ICAgICAgICAgIHJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgfQ0KPiA+ID4gPiA+ ID4gPiA+ICAjZW5kaWYNCj4gPiA+ID4gPiA+ID4gPiAtICAgICAgIHJldHVybiBkZXYtPnR4YV9l bnF1ZXVlKGRldi0+ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2LA0KPiA+ID4gPiA+IG5iX2V2ZW50 cyk7DQo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICByZXR1cm4gZGV2LT50eGFfZW5xdWV1ZShkZXYt PmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5iX2V2ZW50cywgZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ICB9 DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgLyoqDQo+ID4gPiA+ID4gPiA+ID4g ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiA+ID4g PiA+ID4gYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jDQo+ID4gPiA+ID4gPiA+ ID4gaW5kZXggZjQ0Yzg2OWNiLi4zYmY5ZDcxMTUgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gLS0t IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0KPiA+ID4gPiA+ID4gPiA+ICsr KyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiA+ID4gPiA+ID4gPiBA QCAtMTMyNCw3ICsxMzI0LDggQEANCj4gPiA+IHJ0ZV9ldmVudGRldl9maW5kX2ZyZWVfZGV2aWNl X2luZGV4KHZvaWQpDQo+ID4gPiA+ID4gPiA+ID4gIHN0YXRpYyB1aW50MTZfdA0KPiA+ID4gPiA+ ID4gPiA+ICBydGVfZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKF9fcnRlX3VudXNlZCB2b2lkICpw b3J0LA0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIF9fcnRlX3VudXNl ZCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgX19ydGVfdW51c2VkIHVpbnQxNl90IG5iX2V2ZW50cykNCj4gPiA+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICBfX3J0ZV91bnVzZWQgdWludDE2X3QgbmJfZXZlbnRz LA0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fcnRlX3VudXNlZCB1 aW50OF90IGZsYWdzKQ0KPiA+ID4gPiA+ID4gPiA+ICB7DQo+ID4gPiA+ID4gPiA+ID4gICAgICAg ICBydGVfZXJybm8gPSBFTk9UU1VQOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIDA7 DQo+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2LmgNCj4gPiA+ID4gPiA+ID4gYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRl di5oDQo+ID4gPiA+ID4gPiA+ID4gaW5kZXggNTA0NGExM2QwLi4yYTU2NDNkYTMgMTAwNjQ0DQo+ ID4gPiA+ID4gPiA+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0K PiA+ID4gPiA+ID4gPiA+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgN Cj4gPiA+ID4gPiA+ID4gPiBAQCAtMTIyNyw3ICsxMjI3LDcgQEAgdHlwZWRlZiB1aW50MTZfdA0K PiA+ID4gPiA+ICgqZXZlbnRfZGVxdWV1ZV9idXJzdF90KSh2b2lkDQo+ID4gPiA+ID4gPiA+ICpw b3J0LCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4gIC8qKjwgQGludGVy bmFsIERlcXVldWUgYnVyc3Qgb2YgZXZlbnRzIGZyb20gcG9ydCBvZiBhDQo+ID4gPiA+ID4gPiA+ ID4gZGV2aWNlICovDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgdHlwZWRlZiB1 aW50MTZfdCAoKmV2ZW50X3R4X2FkYXB0ZXJfZW5xdWV1ZSkodm9pZCAqcG9ydCwNCj4gPiA+ID4g PiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQg ZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMsDQo+ID4gPiA+ID4g PiA+ID4gKyB1aW50OF90IGZsYWdzKTsNCj4gPiA+ID4gPiA+ID4gPiAgLyoqPCBAaW50ZXJuYWwg RW5xdWV1ZSBidXJzdCBvZiBldmVudHMgb24gcG9ydCBvZiBhDQo+ID4gPiA+ID4gPiA+ID4gZGV2 aWNlICovDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBSVEVfRVZF TlRERVZfTkFNRV9NQVhfTEVOICAgICAgKDY0KQ0KPiA+ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ ID4gPiA+ID4gMi4xNy4xDQo+ID4gPiA+ID4gPiA+ID4NCg==