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 2ADD3A0527; Mon, 20 Jul 2020 16:20:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 095101DBB; Mon, 20 Jul 2020 16:20:36 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id C13431AFB for ; Mon, 20 Jul 2020 16:20:33 +0200 (CEST) IronPort-SDR: cg78lQrFCMNosdcgrGuOxAeuKHa5hZx9XPCVX9eR5+DFayJQ5EGGJuhrDIt4ipUKpgaioFs5ql 1uG4CKZqOqgA== X-IronPort-AV: E=McAfee;i="6000,8403,9687"; a="129996166" X-IronPort-AV: E=Sophos;i="5.75,375,1589266800"; d="scan'208";a="129996166" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2020 07:20:32 -0700 IronPort-SDR: glTqT+XFpgF19RDXyyurxcNnOg4sz5898z2ImZ7DqQpaliGy064vprV1MGrNjTJ0K57K3R3YjE 06Xra9ajdVOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,375,1589266800"; d="scan'208";a="271443361" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga008.fm.intel.com with ESMTP; 20 Jul 2020 07:20:32 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 07:20:31 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX156.amr.corp.intel.com (10.22.240.22) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 07:20:31 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 07:20:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EEy922qB8jmBJfKr0v+jvtn2flvP70TGW1hJjmQ1lEKfiy4WyEVfdFDoiyVrI1GFLRN8H5V7cd0+FByAvPIc5SZosFnNbX2JgWT7TbOtpScXTMmzLEYvcl9iXTDgLhaN5XsdAuLE5oKE6IYdBmvnQjYuuEbeE33PWMxt8EpS9x8TpHnCZXv9aQ2+efbWjZHLPPfW7YRvLG1rlUpCM9OcH8HQc+5lrMk6jN2onlaIwVRxJ85RM2LJWXwcQlZbAuoX3dGhI8B6LOERgLs4lcWJr9Sdf0ZR+lFOo3yVTH17s65VPi4LTtCu0O35J8Po0wlgrT8/rtki0STSQVtrL4Uagw== 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=GldZsvCFmZwgE2fRR2ca/AvUfx63Gh/xwGEaohaFMn0=; b=OvtAvlxR5ICwwQas9YWyBN3zCtQQbhIN8exfatIirfy1YoYc9QHNPvh1suwndmVQz4maqhtTcvVIa1hJMtGcpj5g9cfXJ9r3IL63JrmIw/q3AowrUEzpmSNYrxYIoZfOg1uLH2osj+ygZtY34t5TeYFIzK4asw4PYNUJjnSVJqRuB/4AbKfag1bMGGOfefXJLC/hGPy7xoT5Gx2FRvrScDBP7gUo/zrtmBgIDOOrO3o4eEkdhMlS+au3v9FhHQD5rP0KzxelXslmHYcDrcYHV4yDd2jXiAmJyzMUHpgi1BXMgv5SyR/Vl2v1LMTDcibXVVnDFsye2Dz2j7jE1ruKvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GldZsvCFmZwgE2fRR2ca/AvUfx63Gh/xwGEaohaFMn0=; b=Je/bigY6JziotfnKgXPokbgkq5aPsLJjTlW3E5tqoopTebtcb+6/rAVDs4c/MsP4DR9LzMQjqFRcMDVH5PKjxu5j/Ymshe9jGrpjTTzdl9RHWXz/xlOtX3QSF0EKYb+YlKaNkUbi130ph3Xn5ZQ089JHG75TXm4L1Yarr6GYWgg= Received: from BYAPR11MB3143.namprd11.prod.outlook.com (2603:10b6:a03:92::32) by BYAPR11MB3383.namprd11.prod.outlook.com (2603:10b6:a03:1b::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Mon, 20 Jul 2020 14:20:23 +0000 Received: from BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::9c6b:5ce:b551:8678]) by BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::9c6b:5ce:b551:8678%4]) with mapi id 15.20.3195.023; Mon, 20 Jul 2020 14:20:23 +0000 From: "Van Haaren, Harry" To: Lukasz Wojciechowski , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "igor.romanov@oktetlabs.ru" , "honnappa.nagarahalli@arm.com" , "Yigit, Ferruh" , "nd@arm.com" , "aconole@redhat.com" Thread-Topic: [PATCH] service: fix stop API to wait for service thread Thread-Index: AQHWXo6I/ww/bGWdo0WQaD5tUa2YuKkQa/wAgAADINA= Date: Mon, 20 Jul 2020 14:20:22 +0000 Message-ID: References: <20200720120938.34660-1-harry.van.haaren@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: partner.samsung.com; dkim=none (message not signed) header.d=none;partner.samsung.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [87.198.126.230] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a33ebc19-eea0-4460-dcc5-08d82cb80a3e x-ms-traffictypediagnostic: BYAPR11MB3383: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WHoL8VJvAHe2F0sfY7s3mVyFkE3PdEydf2SG6x8v8GVwz7mo/rOpUJsHclxWzy2BTPDhvuNdv0zn2mchXPk0FT1FqvDXioPhdfmooOH1anr1LLysTS+e1DYoHfAbinqqV+5zx6PPm4SgBnV+D+JGUXd8C5Yveq89mfS/AhpyoASSX35odF9bSOQmT7Q3ICD1NZjgBEdzGnQ5AtoCuXu1tY8T/+hJbAwA+oA8gYNVe+vsZ//Slts/JBiXgq5wC1bw7OysrBfPRAa3G1rhW0+QU2vn5MBq/4fo8vJOXL4yMQeaB87ICqvBNJkcKdfn7auUCzDu0Gk8kL+FP9IeiupOD4xIwO3xom5JWpt8lyjeihDvbCdMO4EIyWKIC+E6nDQ0 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3143.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(39860400002)(376002)(346002)(366004)(136003)(110136005)(52536014)(478600001)(54906003)(5660300002)(33656002)(26005)(4326008)(186003)(53546011)(83380400001)(6506007)(66446008)(71200400001)(7696005)(9686003)(66946007)(66476007)(66556008)(64756008)(76116006)(316002)(2906002)(8676002)(8936002)(86362001)(55016002)(87944003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: VA5kHx1JQkkFDgzUHFdef1CZLmTOuCkDMP4miMarZO/IUK1pDm1uTYo2WYY31wQRGKruEtMwnwsLR2ex6QX3czH+afjlmm17zR9sRsRU3NNmLCAj5+/WxH8kdduDD9/3XIH9zY8VooxNT2y33FNx6d+yYRp+NMKFYrAdgs1Qqw89Au2bZBYWn1h4HRBydBIskY4Y5ClUYrzKsGr2Hnkvwp2TFLHkGOE76yz5cllxiJAMi35et6wNN3nTz/V2i1gu//maeSqkWwlJvFDqddNKhe+kJvpeKL/iTkHMj/QWTW0zx+jS201LoHlBJwSCq7DJq/Wp1X1RFYOQXPbpKy3Tvb5zeehkxn+RscXLhm4UlazzAq2nauzmkLwLAN+4haLDNx88Ngu3PQeTCzccsRAYl9pCe32MyedmHRwPpuJnePqzZVGNBGke8m8LG9672qL5X4kL2iOJEughxBfk5vCh6aMRAky8EgNW2PWGOv/yqF92Cl4LlD6o5lMoRpUp286A Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3143.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a33ebc19-eea0-4460-dcc5-08d82cb80a3e X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jul 2020 14:20:22.9292 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eEUHr/wTrRlA9aIE8H8JC8MOF7vJFWE5V34L7m9ZrWeeNV0T5bpn1RffQThoRCdSuLONhPkS35uHMlt6KExQ5yrpzlu14ipMpzj4HgJX5IY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3383 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] service: fix stop API to wait for service thread 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdWthc3ogV29qY2llY2hvd3Nr aSA8bC53b2pjaWVjaG93QHBhcnRuZXIuc2Ftc3VuZy5jb20+DQo+IFNlbnQ6IE1vbmRheSwgSnVs eSAyMCwgMjAyMCAxOjUyIFBNDQo+IFRvOiBWYW4gSGFhcmVuLCBIYXJyeSA8aGFycnkudmFuLmhh YXJlbkBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IGRhdmlkLm1hcmNoYW5kQHJlZGhh dC5jb207IGlnb3Iucm9tYW5vdkBva3RldGxhYnMucnU7DQo+IGhvbm5hcHBhLm5hZ2FyYWhhbGxp QGFybS5jb207IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiBuZEBh cm0uY29tOyBhY29ub2xlQHJlZGhhdC5jb20NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gc2Vydmlj ZTogZml4IHN0b3AgQVBJIHRvIHdhaXQgZm9yIHNlcnZpY2UgdGhyZWFkDQo+IA0KPiANCj4gVyBk bml1IDIwLjA3LjIwMjAgb8KgMTQ6MDksIEhhcnJ5IHZhbiBIYWFyZW4gcGlzemU6DQo+ID4gVGhp cyBjb21taXQgaW1wcm92ZXMgdGhlIHNlcnZpY2VfbGNvcmVfc3RvcCgpIGltcGxlbWVudGF0aW9u LA0KPiA+IHdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIGNvcmUgaW4gcXVlc3Rpb24gdG8gcmV0dXJu LiBUaGUgc2VydmljZQ0KPiA+IHRocmVhZCBpdHNlbGYgbm93IGhhcyBhIHZhcmlhYmxlIHRvIGlu ZGljYXRlIGlmIGl0cyB0aHJlYWQgaXMNCj4gPiBhY3RpdmUuIFdoZW4gemVybyB0aGUgc2Vydmlj ZSB0aHJlYWQgaGFzIGNvbXBsZXRlZCBpdHMgc2VydmljZSwNCj4gPiBhbmQgaGFzIHJldHVybmVk IGZyb20gdGhlIHNlcnZpY2VfcnVubmVyX2Z1bmMoKSBmdW5jdGlvbi4NCj4gPg0KPiA+IFRoaXMg Zml4ZXMgYSByYWNlIGNvbmRpdGlvbiBvYnNlcnZlZCBpbiB0aGUgRFBESyBDSSwgd2hlcmUgdGhl DQo+ID4gc3RhdGlzdGljcyBvZiB0aGUgc2VydmljZSB3ZXJlIG5vdCBjb25zaXN0ZW50IHdpdGgg dGhlIGV4cGVjdGF0aW9uDQo+ID4gZHVlIHRvIHRoZSBzZXJ2aWNlIHRocmVhZCBzdGlsbCBydW5u aW5nLCBhbmQgaW5jcmVtZW50aW5nIGEgc3RhdA0KPiA+IGFmdGVyIHN0b3Agd2FzIGNhbGxlZC4N Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhhcnJ5IHZhbiBIYWFyZW4gPGhhcnJ5LnZhbi5oYWFy ZW5AaW50ZWwuY29tPg0KPiA+DQo+ID4gLS0tDQo+ID4NCj4gPiBUaGlzIGlzIG9uZSBwb3NzaWJs ZSBzb2x1dGlvbiwgdGhhdCBhdm9pZHMgYSBjbGFzcyBvZiByYWNlLWNvbmRpdGlvbnMNCj4gPiBi YXNlZCBvbiBzdG9wKCkgYXBpIGFuZCBmb2xsb3dpbmcgYmVoYXZpb3Vycy4gV2l0aG91dCBhIGNo YW5nZSBpbg0KPiA+IGltcGxlbWVudGF0aW9uIG9mIHRoZSBzZXJ2aWNlIGNvcmUgdGhyZWFkLCB3 ZSBjb3VsZCBub3QgZGV0ZWN0IHdoZW4NCj4gPiB0aGUgdGhyZWFkIHdhcyBhY3R1YWxseSBmaW5p c2hlZC4gVGhpcyBpcyBub3cgcG9zc2libGUsIGFuZCB0aGUgc3RvcA0KPiA+IGFwaSBtYWtlcyB1 c2Ugb2YgaXQgdG8gd2FpdCBmb3IgMTAwMHggb25lIG1pbGxpc2Vjb25kLCBvciBsb2cgYSB3YXJu aW5nDQo+ID4gdGhhdCBhIHNlcnZpY2UgY29yZSBkaWRuJ3QgcmV0dXJuIHF1aWNrbHkuDQo+ID4N Cj4gPiBUaGFua3MgZm9yIHRoZSBkaXNjdXNzaW9uL2RlYnVnIG9uIGxpc3QgLSBJJ20gbm90IHN1 cmUgaG93IHRvIGFkZA0KPiA+IHJlcG9ydGVkLWJ5L3N1Z2dlc3RlZC1ieSBldGMgdGFnczogYnV0 IEknbGwgcmVzZW5kIGEgVjIgKG9yIGNhbiBhZGQNCj4gPiBvbiBhcHBseSkuDQo+ID4NCj4gPiAt LS0NCj4gPiAgIGxpYi9saWJydGVfZWFsL2NvbW1vbi9ydGVfc2VydmljZS5jIHwgMjQgKysrKysr KysrKysrKysrKysrKysrKysrDQo+ID4gICAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygr KQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZWFsL2NvbW1vbi9ydGVfc2Vydmlj ZS5jDQo+IGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL3J0ZV9zZXJ2aWNlLmMNCj4gPiBpbmRleCA2 YTBlMGZmNjUuLmQyMjU1NTg3ZCAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21t b24vcnRlX3NlcnZpY2UuYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9ydGVfc2Vy dmljZS5jDQo+ID4gQEAgLTY1LDYgKzY1LDcgQEAgc3RydWN0IGNvcmVfc3RhdGUgew0KPiA+ICAg CS8qIG1hcCBvZiBzZXJ2aWNlcyBJRHMgYXJlIHJ1biBvbiB0aGlzIGNvcmUgKi8NCj4gPiAgIAl1 aW50NjRfdCBzZXJ2aWNlX21hc2s7DQo+ID4gICAJdWludDhfdCBydW5zdGF0ZTsgLyogcnVubmlu ZyBvciBzdG9wcGVkICovDQo+ID4gKwl1aW50OF90IHRocmVhZF9hY3RpdmU7IC8qIGluZGljYXRl cyB3aGVuIHRoZSB0aHJlYWQgaXMgaW4gc2VydmljZV9ydW4oKSAqLw0KPiA+ICAgCXVpbnQ4X3Qg aXNfc2VydmljZV9jb3JlOyAvKiBzZXQgaWYgY29yZSBpcyBjdXJyZW50bHkgYSBzZXJ2aWNlIGNv cmUgKi8NCj4gPiAgIAl1aW50OF90IHNlcnZpY2VfYWN0aXZlX29uX2xjb3JlW1JURV9TRVJWSUNF X05VTV9NQVhdOw0KPiA+ICAgCXVpbnQ2NF90IGxvb3BzOw0KPiA+IEBAIC00NTcsNiArNDU4LDgg QEAgc2VydmljZV9ydW5uZXJfZnVuYyh2b2lkICphcmcpDQo+ID4gICAJY29uc3QgaW50IGxjb3Jl ID0gcnRlX2xjb3JlX2lkKCk7DQo+ID4gICAJc3RydWN0IGNvcmVfc3RhdGUgKmNzID0gJmxjb3Jl X3N0YXRlc1tsY29yZV07DQo+ID4NCj4gPiArCV9fYXRvbWljX3N0b3JlX24oJmNzLT50aHJlYWRf YWN0aXZlLCAxLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiArDQo+ID4gICAJLyogcnVuc3RhdGUg YWN0IGFzIHRoZSBndWFyZCB2YXJpYWJsZS4gVXNlIGxvYWQtYWNxdWlyZQ0KPiA+ICAgCSAqIG1l bW9yeSBvcmRlciBoZXJlIHRvIHN5bmNocm9uaXplIHdpdGggc3RvcmUtcmVsZWFzZQ0KPiA+ICAg CSAqIGluIHJ1bnN0YXRlIHVwZGF0ZSBmdW5jdGlvbnMuDQo+ID4gQEAgLTQ3NSw2ICs0NzgsNyBA QCBzZXJ2aWNlX3J1bm5lcl9mdW5jKHZvaWQgKmFyZykNCj4gPiAgIAkJY3MtPmxvb3BzKys7DQo+ ID4gICAJfQ0KPiA+DQo+ID4gKwlfX2F0b21pY19zdG9yZV9uKCZjcy0+dGhyZWFkX2FjdGl2ZSwg MCwgX19BVE9NSUNfUkVMQVhFRCk7DQo+ID4gICAJcmV0dXJuIDA7DQo+ID4gICB9DQo+ID4NCj4g PiBAQCAtNzY1LDYgKzc2OSwyNiBAQCBydGVfc2VydmljZV9sY29yZV9zdG9wKHVpbnQzMl90IGxj b3JlKQ0KPiA+ICAgCV9fYXRvbWljX3N0b3JlX24oJmxjb3JlX3N0YXRlc1tsY29yZV0ucnVuc3Rh dGUsIFJVTlNUQVRFX1NUT1BQRUQsDQo+ID4gICAJCV9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+DQo+ ID4gKwkvKiB3YWl0IGZvciBzZXJ2aWNlIGxjb3JlIHRvIHJldHVybiAqLw0KPiA+ICsJaSA9IDA7 DQo+ID4gKwl1aW50OF90IGFjdGl2ZTsNCj4gPiArCXVpbnQ2NF90IHN0YXJ0ID0gcnRlX3JkdHNj KCk7DQo+ID4gKwlkbyB7DQo+ID4gKwkJYWN0aXZlID0gX19hdG9taWNfbG9hZF9uKCZsY29yZV9z dGF0ZXNbbGNvcmVdLnRocmVhZF9hY3RpdmUsDQo+ID4gKwkJCQkJIF9fQVRPTUlDX1JFTEFYRUQp Ow0KPiA+ICsJCWlmIChhY3RpdmUgPT0gMCkNCj4gPiArCQkJYnJlYWs7DQo+ID4gKwkJcnRlX2Rl bGF5X21zKDEpOw0KPiA+ICsJCWkrKzsNCj4gPiArCX0gd2hpbGUgKGkgPCAxMDAwKTsNCj4gPiAr DQo+ID4gKwlpZiAoYWN0aXZlICE9IDApIHsNCj4gPiArCQl1aW50NjRfdCBlbmQgPSBydGVfcmR0 c2MoKTsNCj4gPiArCQlSVEVfTE9HKFdBUk5JTkcsIEVBTCwNCj4gPiArCQkJInNlcnZpY2UgbGNv cmUgc3RvcCgpIGZhaWxlZCwgd2FpdGVkIGZvciAlbGQgY3ljbGVzXG4iLA0KPiA+ICsJCQllbmQg LSBzdGFydCk7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICAgCXJldHVybiAwOw0KPiA+ICAgfQ0KPiA+ DQo+IEkgZG9uJ3QgbGlrZSB0aGUgaWRlYSBvZiBpbnNlcnRpbmcgdGhpcyBwb2xsaW5nIGxvb3Ag aW5zaWRlIEFQSSBjYWxsLg0KPiBBbmQgSSBkb24ndCBsaWtlIHNldHRpbmcgdXAgYSAxMDAwIGl0 ZXJhdGlvbnMgY29uc3RyYWludC4NCj4gSG93IGFib3V0IGtlZXBpbmcgdGhlIHRocmVhZF9hY3Rp dmUgZmxhZywgYnV0IG1vdmluZyBjaGVja2luZyBzdGF0ZSBvZg0KPiB0aGlzIGZsYWcgdG8gc2Vw YXJhdGUgZnVuY3Rpb24uIFRoaXMgd2F5IHRoZSB1c2VyIG9mIHRoZSBBUEkgd291bGQgYmUNCj4g YWJsZSB0byB3cml0ZSBvd24gbG9vcC4NCj4gTWF5YmUgaGUvc2hlIHdvdWxkIGxpa2UgYSBjdXN0 b20gbG9vcCwgYmVjYXVzZToNCj4gKiB3YWl0aW5nIGZvciBtb3JlIGNvcmVzDQo+ICogd291bGQg bGlrZSB0byB3YWl0IGxvbmdlcg0KPiAqIHdvdWxkIGxpa2UgdG8gY2hlY2sgaWYgc2VydmljZSBp cyBmaW5pc2hlZCBsZXNzIG9mdGVuLi4uDQoNCkFncmVlIC0gZ29vZCBmZWVkYmFjaywgdGhhbmtz LiB2MiBvbiB0aGUgd2F5LCB3aXRoIHRoaXMgYXBwcm9hY2guDQoNCg0K