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 0849CA0471 for ; Wed, 17 Jul 2019 14:05:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ADCB01B203; Wed, 17 Jul 2019 14:05:28 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id B200414E8 for ; Wed, 17 Jul 2019 14:05:27 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x6HC5OJZ022622; Wed, 17 Jul 2019 05:05:25 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=C2+5qXHSfqQrTHHeHHh3JfK5m77Z22cCa6lrZG3/pbU=; b=CjFJY2irukR+1opmEJL4FZEYJvU5a9vE0T3YLREWzoQb1zzKn60QO5b9yjRVlnLmzRJn mlCYY2LwMbdrX8CVbjkleymBzxANw+eZ33xJ7WJm0tRICoiNPsHR3fHXgyOSw5BhNve+ fGqQbWFX+e6c5Wudib+i23W6fGEwNoYthN8iA3emCgMe2eMQHcjDJ7yrTi8I0nMqQZV+ h1+VPYE/FOetZi1lzNh+pTBdU8Q+KpxgCLpGZFTYqcsBlFeeL6OMxjXJQ8o9V4khpriY TBpY/rNG154u9hYwtREkuY9MisKXuTL0FiRaeUoYS5cosoZ8/YdvWOsFmHQ9bTPZr6VC wg== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0a-0016f401.pphosted.com with ESMTP id 2ts07vg2hr-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 17 Jul 2019 05:05:25 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 17 Jul 2019 05:05:23 -0700 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (104.47.45.58) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 17 Jul 2019 05:04:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AX48I6RDGdZBIqHIYzkzBlnxIMVL34dOdHaqE94k3O0SNy12B9ajJmIO6kiBZGFJT1L+yqSzWrJqlMYnbCdKupjhkbSM11w7H9FtM68i6N+Cc2gbcIhGdNo8moF2IQOAyeBfcSyJbGNWTRIw5l4NAmy3bTSGG+VLe5uo+dc7ypAOEx8b9cLLcRarj+La4AQHuNc7c8Vdp8YMDW96pkMu+MvSVCNptowhH0RAU4QbNs8FOmEvf1ZTodNkaH9ePfJL6UDG4GgfHRFsB1RVaWVC0dEUY2Sgan4cP5ntPVmvhzKarrfDfbtS9DpVGxGPfne/DgW6CDcgO4bQJ08jLWoKiA== 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=C2+5qXHSfqQrTHHeHHh3JfK5m77Z22cCa6lrZG3/pbU=; b=QTAGOz1up4FXZRaMCRCxJnalaO60RX4Iy7LbBgvD7I5u2FXBX2fsk2vNP9/rSyw4Va4gm3Md9ueP/Jr0f7sImLFftuB2WQy4U/ybTi2fB1pV2CpGSqPimvU03tS+6yuj2E/T+U8bM523kGHqpanntjX3CzfvwjgbKquuFOFaMayUQZ0meq9ak9THkCn73S364O34zlIM+eOJjMPbu0rgSDRG1Y6fjJTDP0TuKDRZ4ORkPU/7j2dYoML4c2QSOMJl/H7UyqoEo3A01op39uBkx7k1Fn7rMbwFhynRc9ykXVwdVGqvPMiomApwS+PMXQR+9gITR8clJMxJ+bfRPo48nw== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=marvell.com;dmarc=pass action=none header.from=marvell.com;dkim=pass header.d=marvell.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C2+5qXHSfqQrTHHeHHh3JfK5m77Z22cCa6lrZG3/pbU=; b=rnvVhR2lNfhbfNC1/xpExSuuVtVl+WTYU6hY7S3NFI7GcSYmZacXBCfeU0hIjYOO/ToKOs7AERvF/znUhDAfzfCb2aTkm1Sadp9cmGYWxwdaSMFXmHYUattKoBscPi9FsGdCM0JSOzJrASDhJAkNygYAZnDC/W7Gm9jPgVbB+Wg= Received: from DM6PR18MB2427.namprd18.prod.outlook.com (20.179.104.21) by DM6PR18MB2634.namprd18.prod.outlook.com (20.179.106.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2073.11; Wed, 17 Jul 2019 12:04:53 +0000 Received: from DM6PR18MB2427.namprd18.prod.outlook.com ([fe80::657a:5df9:1fee:f4d4]) by DM6PR18MB2427.namprd18.prod.outlook.com ([fe80::657a:5df9:1fee:f4d4%4]) with mapi id 15.20.2094.011; Wed, 17 Jul 2019 12:04:53 +0000 From: Nithin Kumar Dabilpuram To: Jerin Jacob Kollanukkaran , "Hyong Youb Kim (hyonkim)" , David Marchand , "Thomas Monjalon" , Ferruh Yigit , "Bruce Richardson" CC: "John Daley (johndale)" , Shahed Shaikh , "dev@dpdk.org" Thread-Topic: [RFC PATCH v3 2/3] eal: add mask and unmask interrupt APIs Thread-Index: AQHVPJEj3zUvbdobpEi4JaX8f8MDUabOtn8A Date: Wed, 17 Jul 2019 12:04:53 +0000 Message-ID: References: <20190716164424.16776-2-ndabilpuram@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR01CA0104.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::20) To DM6PR18MB2427.namprd18.prod.outlook.com (2603:10b6:5:180::21) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 624177b3-7c3f-413c-e8b7-08d70aaef9b9 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DM6PR18MB2634; x-ms-traffictypediagnostic: DM6PR18MB2634: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 01018CB5B3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39850400004)(376002)(346002)(366004)(13464003)(189003)(199004)(31696002)(66446008)(66946007)(68736007)(53936002)(66066001)(6506007)(53546011)(81166006)(8676002)(386003)(86362001)(4326008)(31686004)(3846002)(81156014)(66476007)(64756008)(66556008)(476003)(76176011)(6512007)(5660300002)(54906003)(110136005)(6116002)(229853002)(99286004)(102836004)(52116002)(8936002)(478600001)(6486002)(71200400001)(71190400001)(186003)(14444005)(256004)(486006)(446003)(11346002)(2616005)(6436002)(36756003)(7736002)(2906002)(26005)(305945005)(316002)(14454004)(6246003)(25786009)(55236004)(309714004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR18MB2634; H:DM6PR18MB2427.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: B+M5bFw1M3pfHV953Pqz36NYwH/bzRAqYAPnLZdDn69J1VblADqKLgFAvXsjtIQoRSpuaqzFLr28TcXWe+maD3c1SvnO1mtwDH+mjON4HYrxDKajH1crpa1p1HOgHHgN0jbH48zgTm/0A3RtHAPeCnOaPP1WdTRgGiYWKfimrI5NQFJ4uGSrTC+N5k9NjuAgG//i4yudzWzpRH97N+CuDT+/M6dsG3gzwSMbASqTtV+Eel0xQ7ff7y3yJdNLP2Yp7KYL6vU2jFYF7EQIYSwAlC6qaU+CqeUiok+EGBtdax9SeGobzDqY/x0a0FVlSWlwYFQWlVSPVWrPBrIdcZ0Z5ukh2h/U57DFTkjrLmMHBRnalfNAwgLm9QBYCLwAmw3NzEpoZQTm9jpz7wu9RwoEg9ObBFMVggMCgugakJMFKUg= Content-Type: text/plain; charset="utf-8" Content-ID: <01ED10D5A0A20F45A3571B0C33DEBFEC@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 624177b3-7c3f-413c-e8b7-08d70aaef9b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2019 12:04:53.1379 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ndabilpuram@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB2634 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-07-17_04:2019-07-17,2019-07-17 signatures=0 Subject: Re: [dpdk-dev] [RFC PATCH v3 2/3] eal: add mask and unmask interrupt APIs 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" DQpPbiA3LzE3LzIwMTkgNDo0NiBQTSwgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiB3cm90ZToN Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBIeW9uZyBZb3ViIEtpbSAo aHlvbmtpbSkgPGh5b25raW1AY2lzY28uY29tPg0KPj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDE3 LCAyMDE5IDQ6MzYgUE0NCj4+IFRvOiBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJpbmpA bWFydmVsbC5jb20+OyBOaXRoaW4gS3VtYXINCj4+IERhYmlscHVyYW0gPG5kYWJpbHB1cmFtQG1h cnZlbGwuY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29t PjsgVGhvbWFzIE1vbmphbG9uDQo+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdp dCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IEJydWNlDQo+PiBSaWNoYXJkc29uIDxicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbT4NCj4+IENjOiBKb2huIERhbGV5IChqb2huZGFsZSkgPGpvaG5k YWxlQGNpc2NvLmNvbT47IFNoYWhlZCBTaGFpa2gNCj4+IDxzaHNoYWlraEBtYXJ2ZWxsLmNvbT47 IGRldkBkcGRrLm9yZw0KPj4gU3ViamVjdDogUkU6IFtSRkMgUEFUQ0ggdjMgMi8zXSBlYWw6IGFk ZCBtYXNrIGFuZCB1bm1hc2sgaW50ZXJydXB0IEFQSXMNCj4+DQo+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4+PiBGcm9tOiBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJpbmpA bWFydmVsbC5jb20+DQo+Pj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDE3LCAyMDE5IDc6NDQgUE0N Cj4+PiBUbzogSHlvbmcgWW91YiBLaW0gKGh5b25raW0pIDxoeW9ua2ltQGNpc2NvLmNvbT47IE5p dGhpbiBLdW1hcg0KPj4+IERhYmlscHVyYW0gPG5kYWJpbHB1cmFtQG1hcnZlbGwuY29tPjsgRGF2 aWQgTWFyY2hhbmQNCj4+PiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IFRob21hcyBNb25q YWxvbg0KPj4gPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPj4+IEZlcnJ1aCBZaWdpdCA8ZmVycnVo LnlpZ2l0QGludGVsLmNvbT47IEJydWNlIFJpY2hhcmRzb24NCj4+PiA8YnJ1Y2UucmljaGFyZHNv bkBpbnRlbC5jb20+DQo+Pj4gQ2M6IEpvaG4gRGFsZXkgKGpvaG5kYWxlKSA8am9obmRhbGVAY2lz Y28uY29tPjsgU2hhaGVkIFNoYWlraA0KPj4+IDxzaHNoYWlraEBtYXJ2ZWxsLmNvbT47IGRldkBk cGRrLm9yZw0KPj4+IFN1YmplY3Q6IFJFOiBbUkZDIFBBVENIIHYzIDIvM10gZWFsOiBhZGQgbWFz ayBhbmQgdW5tYXNrIGludGVycnVwdA0KPj4+IEFQSXMNCj4+Pg0KPj4+Pj4gSSB0aGluaywgaXQg dmFyeSBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBJUlEgQ2hpcChvciBjb250cm9sbGVyKQ0KPj4+ Pj4gdnMgTklDDQo+Pj4+PiByZWdpc3RlcihTb3VyY2UpIFBvVi4NCj4+Pj4+IFNpbmNlIHRoZSBB UEkgc3RhcnRzIGZyb20gcnRlX2ludHJfKiBpdCBpcyBtb3JlIG9mIGNvbnRyb2xsZXIgc28NCj4+ Pj4+IF9hY2tfIG1ha2Ugc2Vuc2UgT3RoZXIgcmVhc29uIGZvciBhY2s6DQo+Pj4+PiAxKSBJdCB3 aWxsIGVuZm9yY2UgdGhhdCBpdCBuZWVkcyB0byBiZSBjYWxsZWQgZm9ybSBJU1INCj4+Pj4+IDIp IEl0IHdvdWxkIGJlIGhhdmUgYmVlbiByZWFsbHkgY29ycmVjdCB0byB1bm1hc2sgaWYNCj4+Pj4+ IFZGSU8rTVNJeCtMaW51eCBzdXBwb3J0cyBpdA0KPj4+Pj4gMykgaWYgaXQgaXMgYWNrLCBubyBu ZWVkIHRvIGFkZCB1bm1hc2sgY291bnRlcnBhcnQsIHRoZSBfbWFza18gQVBJDQo+Pj4+Pg0KPj4+ PiBKdXN0IGN1cmlvdXMsIHdoYXQgeW91IG1lYW4gYnkgaXJxIGNvbnRyb2xsZXI/IEFjay9tYXNr L3VubWFzayBQSU9zDQo+Pj4+IGFsbA0KPj4+IGdvDQo+Pj4NCj4+PiBQcm9ncmFtbWFibGUgSW50 ZXJydXB0IENvbnRyb2xsZXIuIExpa2UgSW50ZWwgODI1OUEsIEdJQyBmcm9tIEFSTSBldGMNCj4+ PiBUaGUgZHJpdmVycyBpbiBsaW51eC9kcml2ZXJzL2lycWNoaXAvDQo+Pj4NCj4+Pj4gdG8gdGhl IE5JQy4gSXQgaXMgdGhlIE5JQyB0aGF0IGFzc2VydHMvZGUtYXNzZXJ0cyBpcnEuLg0KPj4+Pg0K Pj4+Pj4+IEJlc2lkZXMgdGhlIG5hbWUsIGFyZSB3ZSBhZ3JlZWluZyB0aGF0IHdlIHdhbnQgdGhl c2U/DQo+Pj4+Pj4gLSBVbm1hc2sgaWYgSU5UeA0KPj4+Pj4gWWVzDQo+Pj4+Pg0KPj4+Pj4+IC0g Tm90aGluZyBpZiBNU0kvTVNJLVgNCj4+Pj4+IFllcyBmb3IgTVNJIG92ZXIgVkZJTw0KPj4+Pj4g Tm8gZm9yIE1TSSBvdmVyIFVJTy9pZ2JfdWlvDQo+Pj4+Pg0KPj4+PiBJIGd1ZXNzIEkgd2FzIG5v dCBjbGVhci4gRm9yIE1TSS9NU0ktWCwgd2UgZG8gbm90IHdhbnQgdG8gZG8NCj4+Pj4gbWFzay91 bm1hc2sgcmVnYXJkbGVzcyBvZiB2ZmlvLXBjaS9pZ2JfdWlvLiAgQmVsb3cgaXMgbXkgY29tbWVu dA0KPj4+PiBhYm91dCBsaW51eC93aW5kb3dzL2ZyZWVic2QgZnJvbSBhbiBlYXJsaWVyIGVtYWls LiBEbyB5b3UgZGlzYWdyZWU/DQo+Pj4+IEkgYW0gc3VyZSB0aGVyZSBhcmUgcGxlbnR5IG9mIGtl cm5lbCBOSUMgZHJpdmVyIGd1eXMgaGVyZS4gUGxlYXNlDQo+Pj4+IGNvcnJlY3QgbWUgaWYgSSBh bSBtaXN0YWtlbi4uLg0KPj4+DQo+Pj4gRm9yIHNvbWUgcmVhc29uLCBpZ2JfdWlvIGtlcm5lbCBk cml2ZXIgbWFzayB0aGUgaW50ZXJydXB0IGZvciBNU0l4Lg0KPj4+IFdlIG5lZWQgdG8gYWNrIG9y IHVubWFzayBpZiBuZWVkcyB0byB3b3JrIHdpdGggTVNJWCArIElHQl9VSU8uDQo+Pj4NCj4+PiBT ZWUNCj4+PiBwY2lfdWlvX2FsbG9jX3Jlc291cmNlKCkNCj4+PiAgICAgICAgICBpZiAoZGV2LT5r ZHJ2ID09IFJURV9LRFJWX0lHQl9VSU8pDQo+Pj4gICAgICAgICAgICAgICAgICBkZXYtPmludHJf aGFuZGxlLnR5cGUgPSBSVEVfSU5UUl9IQU5ETEVfVUlPOw0KPj4+ICAgICAgICAgIGVsc2Ugew0K Pj4+ICAgICAgICAgICAgICAgICAgZGV2LT5pbnRyX2hhbmRsZS50eXBlID0gUlRFX0lOVFJfSEFO RExFX1VJT19JTlRYOw0KPj4+DQo+Pj4gaWdidWlvX3BjaV9pcnFjb250cm9sKCkgZm9yIG1hc2tp bmcgaW4ga2VybmVsLg0KPj4+DQo+PiBpZ2JfdWlvIGRvZXMgbm90IGF1dG8tbWFzayBNU0kvTVNJ LVguDQo+IEkgaGF2ZSBub3QgdGVzdGVkIGlnYnVpbyBhcyB3ZSBkb24ndCBzcGVjaWZpYyBOSUMg KyBJR0JfVUlPIHBsYXRmb3JtLg0KPg0KPiBUaGUgb2JzZXJ2YXRpb24gYmFzZWQgb24gZm9sbG93 aW5nIGNvZGUuIHNlZSBjb2RlIHVuZGVyIEhBVkVfUENJX01TSV9NQVNLX0lSUQ0KPg0KPiBzdGF0 aWMgaW50DQo+IGlnYnVpb19wY2lfaXJxY29udHJvbChzdHJ1Y3QgdWlvX2luZm8gKmluZm8sIHMz MiBpcnFfc3RhdGUpDQo+IHsNCj4gICAgICAgICAgc3RydWN0IHJ0ZV91aW9fcGNpX2RldiAqdWRl diA9IGluZm8tPnByaXY7DQo+ICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gdWRldi0+ cGRldjsNCj4NCj4gI2lmZGVmIEhBVkVfUENJX01TSV9NQVNLX0lSUQ0KPiAgICAgICAgICBzdHJ1 Y3QgaXJxX2RhdGEgKmlycSA9IGlycV9nZXRfaXJxX2RhdGEodWRldi0+aW5mby5pcnEpOw0KPiAj ZW5kaWYNCj4NCj4gICAgICAgICAgcGNpX2NmZ19hY2Nlc3NfbG9jayhwZGV2KTsNCj4NCj4gICAg ICAgICAgaWYgKHVkZXYtPm1vZGUgPT0gUlRFX0lOVFJfTU9ERV9NU0lYIHx8IHVkZXYtPm1vZGUg PT0gUlRFX0lOVFJfTU9ERV9NU0kpIHsNCj4gI2lmZGVmIEhBVkVfUENJX01TSV9NQVNLX0lSUQ0K PiAgICAgICAgICAgICAgICAgIGlmIChpcnFfc3RhdGUgPT0gMSkNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgIHBjaV9tc2lfdW5tYXNrX2lycShpcnEpOw0KPiAgICAgICAgICAgICAgICAgIGVs c2UNCj4gICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9tc2lfbWFza19pcnEoaXJxKTsNCj4g I2Vsc2UNCj4gICAgICAgICAgICAgICAgICBpZ2J1aW9fbWFza19pcnEocGRldiwgdWRldi0+bW9k ZSwgaXJxX3N0YXRlKTsNCj4gI2VuZGlmDQo+ICAgICAgICAgIH0NCj4NCj4gICAgICAgICAgaWYg KHVkZXYtPm1vZGUgPT0gUlRFX0lOVFJfTU9ERV9MRUdBQ1kpDQo+ICAgICAgICAgICAgICAgICAg cGNpX2ludHgocGRldiwgISFpcnFfc3RhdGUpOw0KPg0KPiAgICAgICAgICBwY2lfY2ZnX2FjY2Vz c191bmxvY2socGRldik7DQo+DQo+ICAgICAgICAgIHJldHVybiAwOw0KPiB9DQo+DQo+PiBzdGF0 aWMgaXJxcmV0dXJuX3QNCj4+IGlnYnVpb19wY2lfaXJxaGFuZGxlcihpbnQgaXJxLCB2b2lkICpk ZXZfaWQpIHsNCj4+ICAgICAgICAgIHN0cnVjdCBydGVfdWlvX3BjaV9kZXYgKnVkZXYgPSAoc3Ry dWN0IHJ0ZV91aW9fcGNpX2RldiAqKWRldl9pZDsNCj4+ICAgICAgICAgIHN0cnVjdCB1aW9faW5m byAqaW5mbyA9ICZ1ZGV2LT5pbmZvOw0KPj4NCj4+ICAgICAgICAgIC8qIExlZ2FjeSBtb2RlIG5l ZWQgdG8gbWFzayBpbiBoYXJkd2FyZSAqLw0KPj4gICAgICAgICAgaWYgKHVkZXYtPm1vZGUgPT0g UlRFX0lOVFJfTU9ERV9MRUdBQ1kgJiYNCj4+ICAgICAgICAgICAgICAhcGNpX2NoZWNrX2FuZF9t YXNrX2ludHgodWRldi0+cGRldikpDQo+PiAgICAgICAgICAgICAgICAgIHJldHVybiBJUlFfTk9O RTsNCj4+DQo+PiAgICAgICAgICB1aW9fZXZlbnRfbm90aWZ5KGluZm8pOw0KPj4NCj4+ICAgICAg ICAgIC8qIE1lc3NhZ2Ugc2lnbmFsIG1vZGUsIG5vIHNoYXJlIElSUSBhbmQgYXV0b21hc2tlZCAq Lw0KPj4gICAgICAgICAgcmV0dXJuIElSUV9IQU5ETEVEOw0KPj4gfQ0KPj4NCj4+IEFsc28gdGVz dGVkIGp1c3Qgbm93IHdpdGggaWdiX3Vpby4gVGhlIGRyaXZlciBkb2VzIG5vdCBuZWVkIHRvIGNh bGwNCj4+IHJ0ZV9pbnRyX2VuYWJsZSgpLCBhbmQgaXQga2VlcHMgZ2V0dGluZyBpbnRlcnJ1cHRz IHdpdGhvdXQgYW55IGlzc3Vlcy4NCj4gICBJZiB5b3UgYXJlIHN1cmUsIHdlIGNhbiBtYWtlIE1T SVgrSUdCX1VJTyBhcyBOT1AgaW4gcnRlX2ludHJfYWNrKCkNCg0KT2suIEFub3RoZXIgcHJvYmxl bSBpcyB0aGF0IHdlIG1pZ2h0IG5vdCBiZSBhYmxlIHRvIGRpc3Rpbmd1aXNoIGluIGNhc2UgDQpv ZiBJR0JfVUlPDQphdCBydGVfaW50cl9hY2soKSBsZXZlbCBpZiB1bmRlcmx5aW5nIGludGVycnVw dCBpcyBhIElOVHggb3IgTVNJeC4gU2VlIA0KaWdidWlvX3BjaV9lbmFibGVfaW50ZXJydXB0cygp IHRoYXQNCmZpbmRzIGFuZCBzdG9yZXMgdGhhdCBtb2RlIGluIHVpby0+bW9kZS4NCg0KU28gd2Ug dGhpbmsgbGVhdmluZyB0aGUgYmVoYXZpb3IgYXMgZWFybGllciBpcyBuZWVkZWQgYW5kIHNpbXBs ZXIgYXMgaXQgDQptZWV0cyB0aGUgY3VycmVudCBleHBlY3RhdGlvbi4NCg0KPg0KPj4gQW0gSSBt aXNzaW5nIHNvbWV0aGluZz8NCj4+DQo+PiAtSHlvbmcNCj4+DQo+Pj4gU28gaXQgaXMgbW9yZSBv ZiBtYWtpbmcgaW5saW5lIHdpdGggaWdiX3VpbyBrZXJuZWwgZHJpdmVyIEFORCBub3QNCj4+PiBi cmVhayBUaGUgZXhpc3RpbmcgZHJpdmVycyB3aGljaCB3YXMgdXNpbmcgcnRlX2ludHJfZW5hYmxl IGluIElTUiB3aXRoDQo+Pj4gTVNJWCtJR0JfVUlPDQo+Pj4NCj4+PiBJIGRvIGFncmVlIHdpdGgg dGhhdCBmb3IgZWRnZSB0cmlnZ2VkIGludGVycnVwdCBtYXNrIG1heSBub3QgcmVxdWlyZQ0KPj4+ IGZyb20ga2VybmVsLg0KPj4+IEJ1dCBJIGFtIG5vdCBzdXJlIHdoeSBpdCBpcyBhZGRlZCBpbiBp Z2JfdWlvIGtlcm5lbCBkcml2ZXIuIE1heSAgYmUgaXQNCj4+PiBpcyBqdXN0IGxlZ2FjeS4NCj4+ PiBBbnl3YXkgdGhpcyB3b250IGNoYW5nZSBzY2hlbWF0aWNzLCB3aGVuIGlnYl91aW8ga2VucmVs IGZpeGVkIHRoZW4gdGhlDQo+Pj4gY291bnRlciBQYXJ0IGNhbiBiZSBjaGFuZ2VkIGluIHJ0ZV9p bnRyX2FjaygpLiBJZS4gaXQgaXMgdHJhbnNwYXJlbnQNCj4+PiB0byBkcml2ZXJzLg0KPj4+DQo+ Pj4+PiBJIGRvbid0ICBoYXZlIHZlcnkgc3Ryb25nIG9waW5pb24gdW5tYXNrIHZzIGFjay4gSSBw cmVmZXIgdG8gaGF2ZQ0KPj4+Pj4gYWNrIGR1ZSB0aGUgcmVhc29ucyBzdGF0ZWQgYWJvdmUuDQo+ Pj4+PiBJZiB5b3UgcmVhbGx5IGhhdmUgc3Ryb25nIG9waW5pb24gb24gdXNpbmcgdW5tYXNrLCB3 ZSB3aWxsIHN0aWNrDQo+Pj4+PiB3aXRoIHRoYXQgdG8gbWFrZSBmb3J3YXJkIHByb2dyZXNzLg0K Pj4+Pj4gTGV0IHVzIGtub3cuDQo+Pj4+Pg0KPj4+PiBJIGhhdmUgbm8gc3Ryb25nIG9waW5pb24g ZWl0aGVyLg0KPj4+IE9LLiBMZXRzIHN0aWNrIHdpdGggcnRlX2ludHJfYWNrKCkuDQo+Pj4NCj4+ Pj4gVGhhbmtzLi4NCj4+Pj4gLUh5b25nDQo=