From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 76F01A00C3; Mon, 3 Oct 2022 16:37:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 672ED40DFB; Mon, 3 Oct 2022 16:37:23 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2076.outbound.protection.outlook.com [40.107.104.76]) by mails.dpdk.org (Postfix) with ESMTP id 4F8C240695 for ; Mon, 3 Oct 2022 16:37:22 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TVhAfED791xG1ZwaPeqV3tpg0mSXVDO2spwHnJtx9n+jv2fvVo3vo14yKxTqCYP7MXHvxBkX46WK071gcCzmRXhIOakMMmCEQyfN7GpcxR6pKlDUHebDKkkkMRy8zV+3iXnDB2OOyiKhYu+SITHfqBprFI8MVD4DYq8Gkmtdt7Wt5WQBpc5IaRyn7/C2B7IKv9XXlKW6K1dgI4g8Fkul59noIus05WeXKkRcpvWoyVuQIXt0boWsVK7X+pJH2JnVdmC60VTrLAGdAwDVO2Exww4C5Vjkryp7a/2HO3YxSSDDjTCnJHLWFrt0mHp2qf/OZdtVt0VlKQD4PqnkqBeYAw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QuQEOMESZC/bxvrFVjBY3rwLc9INd44qLXtJeoR+I8I=; b=bEQuLIkIlU0lL2IW2vUCFTG1vVVjONxnXGz+aayKKIuJ9+vADMW+yP7zKG0GwjApFOIvlxDr7lI+zWd0gICRxz9/oBb1n9jbkbEFlKbcmW4CLf27FR7Q5cbGZuVRX8EKvdrnKeYWUPGQQKYU2LBEBh77BOk5+n7Z8JJdNhrqiUUiaLaOiVTnQMKW6KvQvoep6ujDFoJMtyjf3EL/3gzBouY9oSd1sLC8LOsKLWTL2Mrm/iN7Cho/jdabeg9KcZCJ5MSOsdiJ9ls7RMg1J2sembrTOM1zcShQdLCrX4Apy857j8fODv5ADGZa4is6qN5bK5OOawAlt2CggQofBd/Gbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QuQEOMESZC/bxvrFVjBY3rwLc9INd44qLXtJeoR+I8I=; b=d91VlBt3EIqutFANVq03YhJlxPTVthVunPPUhTvudRPpZz8EclNHpxrEVIWPBFMD/433ChM9JQ36zbMeAfbvTynYfAgLgFknscUfoXhZ1BskTrq14JrKez+mbBh9Du8frGbhHLx7MvvDeRO07riJ2+eC0jFKotBUnZETDnHgRyE= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by GV2PR07MB9057.eurprd07.prod.outlook.com (2603:10a6:150:bd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Mon, 3 Oct 2022 14:37:21 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::2dd7:4526:a20a:29a2]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::2dd7:4526:a20a:29a2%7]) with mapi id 15.20.5709.008; Mon, 3 Oct 2022 14:37:21 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: "Van Haaren, Harry" CC: "dev@dpdk.org" , Honnappa Nagarahalli , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , nd Subject: Re: [PATCH 1/6] service: reduce statistics overhead for parallel services Thread-Topic: [PATCH 1/6] service: reduce statistics overhead for parallel services Thread-Index: AQHYwgwV3BOD8gxpgUCKMxkvCI6hOq381X2AgAARswA= Date: Mon, 3 Oct 2022 14:37:20 +0000 Message-ID: <8238eb97-a2ee-4d47-d278-fc5001efd78b@ericsson.com> References: <20220708125645.3141464-2-harry.van.haaren@intel.com> <20220906161352.296110-1-mattias.ronnblom@ericsson.com> In-Reply-To: Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB5978:EE_|GV2PR07MB9057:EE_ x-ms-office365-filtering-correlation-id: 36ec07cf-50d7-4e83-32ab-08daa54cc78d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8Y64hIiDcHadPHUYncHQTlWl818VOG7082IXUpcBBTWG3cS8QDH9kaVorNbQRFhy+1T6xHo+fjxR4/SlyZNDHUAHPRd2nCdX2tmbbixdchd85UMq1qFv9mvIbVcwMykDtBS/wnM9a5wTiVDI9w9C9zqhII2PaKkzPqbdvGCR1Vbz5YgLaw0iEN4/Ex6WhcuBDPOzpM+9PIyaO303pIILX4YG8b+DHUTYCwDHdceBe3/BUIpafCTuIfgGaNXgXYC8d3t9PS3ZDYJu+8bO0bqHjsJTP99u2P/HuEVaMGLkhzj0ZugdM9Txur0MI3R9/GaoOCMcNvm4jh0yHuCU3cvDqTeez4YLx/CnkgqdrxYYS7Suo1e1GQwp/ShrMwH/cxO4iZOOwuHc29z+bfeHghmd8+//DMxloeypVHT9Fm3QFZ9V2MFKd2/ZxLlaHkEe+bGitlnw5VoX1ViMxphcmywawHIYT2NZSGa1hlfPLLanf1DCmPI7f/UxSxCB2Hn8r1nVRQJH2oeqaZffe525G7+KxacZHzqiV2eoZv2+AyYFBRq6FyrIjxS8TjLwKgtqaaGJ5opTHs0yknPVgG3bdOzXBVIgjCUT3c/oOEGWtZldFNAtNDDoKujrfItYyUDSVk9TM4u5Q8BaP7Cw+nv8M4ovfq8TEHpR7PmBz04/WKanlFMaSzUXMVV7/z3vyKNgRR7kSquyF+5CI/SG918qS5q9yphjadUIH0CtznNWQM8nKgaqc/VG7isTRCxdmFAPZMdQ2X+e9rpKHTICEyQUlW8tulxxRA83jTLl1MIPMe6LmydRFJDhWwABH37ZR7hP23I04U21fVqOe3uy3zpaenHU8rPvfUiAOzWMGAi0JvPbacc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(366004)(136003)(376002)(39860400002)(396003)(346002)(451199015)(6486002)(38070700005)(31686004)(71200400001)(82960400001)(316002)(478600001)(54906003)(6916009)(38100700002)(66446008)(64756008)(8676002)(91956017)(66476007)(122000001)(66556008)(66946007)(76116006)(4326008)(36756003)(83380400001)(85202003)(8936002)(53546011)(41300700001)(6506007)(2616005)(85182001)(86362001)(31696002)(6512007)(26005)(5660300002)(186003)(2906002)(45980500001)(43740500002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S1M0dVVRVi9HYTZRZDJuREJzMVJBajFFMm1vditKS0lPajMyNWd0djRsdW1V?= =?utf-8?B?ZXRsVG42MkxvWlFwdktpRmNpU3VjcVFCMnNKdllHWUdEOTVGOUpYZnhoeGFV?= =?utf-8?B?eEhPNUN4eHIyUlhZVUYzamU3TEE4aStMSGc2ZURKUzhOTlpXNGRQMzN6ZVdI?= =?utf-8?B?ZmRNSmxjRmVkcStHZDYyNGFTbGRsTjd5ZVVZWjc3OUpNL005eDJXOFV3MDR4?= =?utf-8?B?NkNLOFhpb0lwYWtoNDkrNnRMR2hheVFhNmFEU21pNFNUblVWU0ZJU1lueUxo?= =?utf-8?B?dVVOSi9jaitwWXpLVXRLR0QyTm45UUhGbDJXeFNLcXgxamUvNWpBM2JCd2xV?= =?utf-8?B?MnZQbkFPeHVrUFpFcTRMbjhUOVFONkFiZzhVdnp4Z1k0WE5SZVVmR2gvZk5l?= =?utf-8?B?RW50WW03UkVFcTdFWHJORkNlT1ZjMFZEdzlqWTMvdmp0RCtSemt3d29Wc250?= =?utf-8?B?SkNYajJYT2JwdVJRdjQva3dRTzVqYjlmRGZ0ZzIySzBJRW8xcUlUek0zV2dD?= =?utf-8?B?UG5jcWNROUJpYlZSa2xCckU2NGtGRlZ1d0FoUk9uUTBXdGZFWWFCTndIZ0Ev?= =?utf-8?B?eGxaWEpmZlU4aFNPWkhKNzUwNWx4ZHYzenYwYU51NnFtZmM1Z2VjV2RhL1pE?= =?utf-8?B?dm5wdU5DNTZ4S21ETjFCUThwaHZjL0JsTjZGbmFsRHQ2TURtYlppNGx0bGp2?= =?utf-8?B?ZnBiU1JQRHk5ZkdDNDFVU3paanJONWN3L3dhcy83QlB2WDQyaTh3TC9Ga3BT?= =?utf-8?B?cnZIQURrTHlORUFTK3pWc3pONHg2R0tiU1RhcmlheENZbEFnOE84U1dMazZJ?= =?utf-8?B?SkhsQjZJeTcxdkVodFJOR2JoWDJqd2tYYWRzMXp2RkpKdlh5MHNGYWVTSU54?= =?utf-8?B?NE82YUtySC9BNWVZa0NMZVdLdGhhWWJOTEtmQzJva0pYWjltWjY2VkgyQmt3?= =?utf-8?B?ay9ycUd1OWVRelVPc1lrbit0dUZWVnpwRzdIcE9kR2NxZmVrUVdXSmM3aWs0?= =?utf-8?B?ZEZUZFFDL0dXbUFWRkZOWHR2dEE1anl4N2pPcHVXV1F0NkNGWlI5cjRqSDFi?= =?utf-8?B?bHNHa1NvaWdLN0hUdmxBMFpZVERRTE5tU29HUTdwOGM0RHltbnkrUkVwZFpw?= =?utf-8?B?dG9vRCtwRFZwYytHdGRJY2QreGo0YVp6c3E2bHQxT2hia0hMS1JlMEkzVDVx?= =?utf-8?B?UG43WHlBblc5dFB3N2RCb3hCVklsbk1JSkJrYWxLT0VmREpCK2FOUlI3ZWxo?= =?utf-8?B?a0pBYTVrWTVRQ3BhUFh1K0RxbHc5OXk3SG1xZVM3c0k3aitOdC9xZURReGhN?= =?utf-8?B?V1l2b0hoN0dObEdiZlUxV2NYMkltazF1WVBiclR5Nk9ZN0s5ZExZRTJkajB3?= =?utf-8?B?S2srN2puTEhKVFZscjVCdC95WHRJdVpLcVVtbWxSTVFLdCtwZXFobWIya0lJ?= =?utf-8?B?bkxUNlNNOWpvV3Z3QW0ybVA5T0ZQMC83SGpMYmVsM0lkK1dUWkhMZlR5ZXVm?= =?utf-8?B?QlVURFZHZTd6Wkg4VWJtd2g1YjVZY01WaFFRSVJmUk9SVUlsWnRXTDBMWUZW?= =?utf-8?B?Snk2cjljbGQyaEIyY0hHdFFLRUVyYVpnQWtIajhTNzkrOVZOQ2JtdUlOV3Uv?= =?utf-8?B?R0R2RkhXUjhYUVFmellLbUxDSmZKUkpVWXlqV1FINXBuUWhjUittRU1TTVpG?= =?utf-8?B?NUV4NzZ1VEk1bDdaWnJDR254UUtHRHpLRTZIZW5YUUNiYkRWTlZvVVN2MFRm?= =?utf-8?B?RmJFVkdWZ1ZXcG4yN1hHVjc5Ry9aK00wR3NJMHpuMEpJVmZPMHgxcUErZ2pJ?= =?utf-8?B?ZmsvSU05aHBYd21RcjdqbEh1T25LaHY1c212SFlwU2hGYTFkcG1QUXpvTFhY?= =?utf-8?B?ZWxPSFRBeTIvMmNMY0h5Z2Q4bk15WHF5ZG1abnlHL0tVVE5vak14K0ZtNXV1?= =?utf-8?B?d2t2clgxRGZ6emRqejAzTzBmYW55a0xUZ0FBZTZxY3AyWmtaS2I4ZEhjOGZR?= =?utf-8?B?WkJjdFhBM0pCWEMrWWtmcUxhL0RnZVE4bktteTF0em9keWRhR3VGUFF4QnpP?= =?utf-8?B?K3NWRXMvU1dJQjgwMkszcEF6Y3NBcGRLQTFwbUlhRXlXYk81bGRnZjN3dnZP?= =?utf-8?B?VzlCY2pJSHFWcmYzSEFMclQzdy9xK1QzOXpKdEZwRGVkRzJDUlNkSDFaZk9Y?= =?utf-8?B?TkE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36ec07cf-50d7-4e83-32ab-08daa54cc78d X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2022 14:37:20.9738 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FlkrTer4PDqFBLehFI43D1F2K+f7yCY2Gtn6BjZ2b0Zbn1CPZGfcLU9VlpWzO2UdNQWq1EZOk48653QYdWq4a5tCrhuIkck68OHmvL36+kk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR07MB9057 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org T24gMjAyMi0xMC0wMyAxNTozMywgVmFuIEhhYXJlbiwgSGFycnkgd3JvdGU6DQo+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gRnJvbTogTWF0dGlhcyBSw7ZubmJsb20gPG1hdHRpYXMu cm9ubmJsb21AZXJpY3Nzb24uY29tPg0KPj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDYsIDIw MjIgNToxNCBQTQ0KPj4gVG86IFZhbjsgSGFhcmVuOyBWYW4gSGFhcmVuLCBIYXJyeSA8aGFycnku dmFuLmhhYXJlbkBpbnRlbC5jb20+DQo+PiBDYzogZGV2QGRwZGsub3JnOyBIb25uYXBwYSBOYWdh cmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47DQo+PiBNb3J0ZW4gQnLDuHJ1 cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPjsgbmQgPG5kQGFybS5jb20+Ow0KPj4gbWF0dGlh cy5yb25uYmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+PiBTdWJqZWN0OiBb UEFUQ0ggMS82XSBzZXJ2aWNlOiByZWR1Y2Ugc3RhdGlzdGljcyBvdmVyaGVhZCBmb3IgcGFyYWxs ZWwgc2VydmljZXMNCj4+DQo+PiBNb3ZlIHRoZSBzdGF0aXN0aWNzIGZyb20gdGhlIHNlcnZpY2Ug ZGF0YSBzdHJ1Y3R1cmUgdG8gdGhlIHBlci1sY29yZQ0KPj4gc3RydWN0LiBUaGlzIGVsaW1pbmF0 ZXMgY29udGVudGlvbiBmb3IgdGhlIGNvdW50ZXIgY2FjaGUgbGluZXMsIHdoaWNoDQo+PiBkZWNy ZWFzZXMgdGhlIHByb2R1Y2VyLXNpZGUgc3RhdGlzdGljcyBvdmVyaGVhZCBmb3Igc2VydmljZXMg ZGVwbG95ZWQNCj4+IGFjcm9zcyBtYW55IGxjb3Jlcy4NCj4gDQo+IEFncmVlIHdpdGggdGhlIGFw cHJvYWNoLCBnb29kIHN0dWZmLiBPbmUgY29tbWVudCBiZWxvdywgYnV0IG5vIGNoYW5nZXMNCj4g bmVjZXNzYXJ5Lg0KPiANCj4+IFByaW9yIHRvIHRoaXMgcGF0Y2gsIGVuYWJsaW5nIHN0YXRpc3Rp Y3MgZm9yIGEgc2VydmljZSB3aXRoIGENCj4+IHBlci1zZXJ2aWNlIGZ1bmN0aW9uIGNhbGwgbGF0 ZW5jeSBvZiAxMDAwIGNsb2NrIGN5Y2xlcyBkZXBsb3llZCBhY3Jvc3MNCj4+IDE2IGNvcmVzIG9u IGEgSW50ZWwgWGVvbiA2MjMwTiBAIDIsMyBHSHogd291bGQgaW5jdXIgYSBjb3N0IG9mIH4xMDAw MA0KPj4gY29yZSBjbG9jayBjeWNsZXMgcGVyIHNlcnZpY2UgY2FsbC4gQWZ0ZXIgdGhpcyBwYXRj aCwgdGhlIHN0YXRpc3RpY3MNCj4+IG92ZXJoZWFkIGlzIHJlZHVjZSB0byAyMiBjbG9jayBjeWNs ZXMgcGVyIGNhbGwuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogTWF0dGlhcyBSw7ZubmJsb20gPG1h dHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPg0KPiANCj4gVGVzdGVkIGJ5IGFwcGx5aW5nIHRo ZSB0d28gcGF0Y2ggZml4ZXMgZmlyc3QgKGh0dHBzOi8vcHJvdGVjdDIuZmlyZWV5ZS5jb20vdjEv dXJsP2s9MzEzMjMzMzQtNTAxZDUxMjItMzEzMjczYWYtNDU0NDQ1NTU1NzMxLTczM2NiMzJkNzk2 NWZiMTUmcT0xJmU9MmE1ZDgwYWQtYzRlYy00MGNhLWI2NmQtMWI1NDY0MzUyODhkJnU9aHR0cCUz QSUyRiUyRnBhdGNoZXMuZHBkay5vcmclMkZwcm9qZWN0JTJGZHBkayUyRmxpc3QlMkYlM0ZzZXJp ZXMlM0QyMzk1OSkNCj4gYW5kIHRoaXMgcGF0Y2hzZXQgZnJvbSBNYXR0aWFzLg0KPiANCj4gQWNr ZWQtYnk6IEhhcnJ5IHZhbiBIYWFyZW4gPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPg0KPiAN Cj4gPHNuaXA+DQo+IA0KPj4gICBzdGF0aWMgdWludDMyX3QgcnRlX3NlcnZpY2VfY291bnQ7DQo+ PiBAQCAtMTM4LDEzICsxMzAsMTYgQEAgcnRlX3NlcnZpY2VfZmluYWxpemUodm9pZCkNCj4+ICAg CXJ0ZV9zZXJ2aWNlX2xpYnJhcnlfaW5pdGlhbGl6ZWQgPSAwOw0KPj4gICB9DQo+Pg0KPj4gLS8q IHJldHVybnMgMSBpZiBzZXJ2aWNlIGlzIHJlZ2lzdGVyZWQgYW5kIGhhcyBub3QgYmVlbiB1bnJl Z2lzdGVyZWQNCj4+IC0gKiBSZXR1cm5zIDAgaWYgc2VydmljZSBuZXZlciByZWdpc3RlcmVkLCBv ciBoYXMgYmVlbiB1bnJlZ2lzdGVyZWQNCj4+IC0gKi8NCj4+IC1zdGF0aWMgaW5saW5lIGludA0K Pj4gK3N0YXRpYyBpbmxpbmUgYm9vbA0KPj4gK3NlcnZpY2VfcmVnaXN0ZXJlZCh1aW50MzJfdCBp ZCkNCj4+ICt7DQo+PiArCXJldHVybiBydGVfc2VydmljZXNbaWRdLmludGVybmFsX2ZsYWdzICYg U0VSVklDRV9GX1JFR0lTVEVSRUQ7DQo+PiArfQ0KPiANCj4gQmVmb3JlIHdlIGhhZCBhICEhIHRv IGZsaXAgYW55IHZhbHVlIChlLmcuIGJpbmFyeSAxMDAgdG8ganVzdCBiaW5hcnkgMSkuDQo+IFNF UlZJQ0VfRl9SRUdJU1RFUkVEIGlzIGJpbmFyeSAxLGFuZCBpbnRlcm5hbF9mbGFncyBpcyB1OCwg c28gaXRzIGZpbmUgYXMgaXMuDQo+IA0KPiA8c25pcD4NCj4gDQoNClNpbmNlIHRoZSBmdW5jdGlv biBub3cgcmV0dXJucyBhIGJvb2wsIGl0IGRvZXMgbm90IG1hdHRlciB3aGF0IHNpemUgdGhlIA0K aW50ZXJuYWxfZmxhZ3MgZmllbGQgaGFzIG9yIHdoaWNoIG9mIGl0cyBiaXRzIFNFUlZJQ0VfRl9S RUdJU1RFUkVEIA0KcmVmZXJzIHRvLg0KDQoNCg==