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 0CD48A0032; Thu, 14 Jul 2022 18:44:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A35BF42847; Thu, 14 Jul 2022 18:44:25 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id B8D7041156 for ; Thu, 14 Jul 2022 18:44:23 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26ECDKtE009916; Thu, 14 Jul 2022 09:42:20 -0700 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3h9udu626q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Jul 2022 09:42:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kWoQCxySWyoi4Z0W2PeZciLdKpkRL9aUC6axmhvZ3oVlV9XQsgwa2EtzhdXr7k39wlCc4vg5Joh6KlTG2KCfNDGKjh7JIZ19HMkS1vz1j/5ZgXwlRelyzRhPbNJ+/mSXfxHA+cmZjA8SWn1ajQlXV7gc23NnleJE6OUWbkS+/427yJq4/cc9tr6twAQkuH6CnBt5YD+0sj9vb569e3X8nKSCyYL4UiNxB6z17XbJ669aHQ+G7Z1B+Zprxt3oma8OTLZfS1e9PjMll5NVSA3hF5H6sDtOsrxbtWO/3nSUgmRJKBa8TABmdtkj196Ba116tJorN83w0bdHIO6/Rejfbg== 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=e7wFOT79CAjHPFKcGtAGwdczSH54jCkFf06+vlK+Wi8=; b=fL/51ANQbC79SkxfJiykqHJzC0cM489DMZiJJ+lRXONV1QtQ3XMR3pFEwheVvDjpheu0gJK5X9UPEe8olKE4FNSnsEg9Ql3k0yA+9gw14vhdIZNC55/ihg1lt6yCn/MbGzGpzndSa81YwKDSk+YuQx5SzXjFijiP7bRayYrHO/v/mRb+oKl/VdCxnzEDIDl47xo6YipYcJ4K0Ekcki55qcjltiaDNAs+ppbvP/g6LRffMR9uyb45k6j4hpv26xBN4nF7KiMu9nBFHr53jTS7rKyJmmAd5nX2CR83Zc1yqmZUJoRa1yNZTUvxOzKp1jl91m6IREUKZTnKmPnC6/sK/A== 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=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e7wFOT79CAjHPFKcGtAGwdczSH54jCkFf06+vlK+Wi8=; b=NwHNNCUXBZZHvmX/eTSdoujRrKoa0DwzxCCtfeouAlMtIpyiz8Pat6JaddvZV1bshHSH0Y6o2pli+VRzN5A2qlj96p0lS89EDHZySXm0WgvOH3pM8tYRX7eeMrYDS00KlA7u9nrdXp9JpeKYpTJfOel5BWRwLEndJE3EQsh451s= Received: from PH0PR18MB4086.namprd18.prod.outlook.com (2603:10b6:510:3::9) by SN7PR18MB3952.namprd18.prod.outlook.com (2603:10b6:806:10a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Thu, 14 Jul 2022 16:42:17 +0000 Received: from PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::7ceb:2feb:9cee:6b2c]) by PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::7ceb:2feb:9cee:6b2c%4]) with mapi id 15.20.5438.013; Thu, 14 Jul 2022 16:42:17 +0000 From: Pavan Nikhilesh Bhagavatula To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , Thomas Monjalon CC: Jerin Jacob Kollanukkaran , Ray Kinsella , "dev@dpdk.org" , "timothy.mcdaniel@intel.com" , Hemant Agrawal , "sachin.saxena@oss.nxp.com" , "liangma@liangbit.com" , "peter.mccarthy@intel.com" , "harry.van.haaren@intel.com" , "erik.g.carrillo@intel.com" , "abhinandan.gujjar@intel.com" , "jay.jayatheerthan@intel.com" , "anatoly.burakov@intel.com" Subject: RE: [EXT] Re: [PATCH 1/2] doc: add enqueue depth for new event type Thread-Topic: [EXT] Re: [PATCH 1/2] doc: add enqueue depth for new event type Thread-Index: AQHYigxESRqqjtubS0SPoy6gCiF1/q167E4AgAAtPRCAAQKmgIAADVgQgAAmtwCAAS/fsIAASMKAgABPXCA= Date: Thu, 14 Jul 2022 16:42:17 +0000 Message-ID: References: <20220627095702.8047-1-pbhagavatula@marvell.com> <23408979.hYz58flQah@thomas> <8841a754-10d3-f7e2-8ca4-46abc331f295@ericsson.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d8fd1c95-2679-4a1e-6cdf-08da65b7d075 x-ms-traffictypediagnostic: SN7PR18MB3952:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GTM49dazGrSZWegER+X9sfHnPrTDxtXC9GRABytH1ttEg52y1hP/+/YgPfSlHG8Q8LTp1qldx+9ZOihFd1KyGOF0konEpJvFHHsJlWb9TpApfKcyPn54MiAi9lY7tN8xZPQHKjb7a83JmMlrYb8wz+JzHWRSiln6n0InVFgeVqRg6jG1qyrc/bhZiiA4MWFk0UBK54K4adlbZg56TzTlw39LUXMbztPl9C6lCwrZbb2kNARdiIBxfbTFj3KMAiT3LpZsIckOSGU6vLlPk5vysVIiWDcC8vjhP9cFliuh9yLkapgUb4MnrilSeuC37fnfU8fyrx/uVQvbKdAqZgMEXDYaFuGvR7hFwhGtRiRUvx6FUzJFHsUNUq6U/6yN9y9CNziaHbnhNQl2HiRC5d/Eo4umOlEDhrPpgckrf06QC8iXcX5XGZR1Yggd0H9eLrtfnh4kfkhXBq+3GyvRoPVA0lLF3h3xD74AADgW8yjm4BXPSw2j4sGeTVAAhl94Nv4AQNXxNanSBm+qcRpQgVzNH4jYvJGnFAjdXcNk35CO7xsoF1SPw3KkGcaFxcGqDpAA6ojfIW7Y6UJE0Vxv/yD3eZWNgVcV5dABj0t5KiH9k+rGJk6c+LgkaPEyASKAOcq8kdSv/6uQ2htpX7UB860Jbb6mmp2AdLsH6ct8W6kGbNJCYfl4E8q0yXUCK3wINue8XPmM3R5UK4e4NJrBfzMNuy6C8Zv632WY0Tlzrs4H0YEhEDCtDR3ub8As/y6P/MKSlCuPs7c86Ybg4VoTjA63fgyL20P58ij1T8r4SWpBOebT9MCNDOwLrQzxdEz9BESIyORFngxibdwS31wh2MO+/BfcO6P6T0Ha28MZiGX0JMA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4086.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(396003)(376002)(346002)(136003)(39860400002)(2906002)(122000001)(38100700002)(186003)(110136005)(52536014)(5660300002)(8936002)(54906003)(7416002)(33656002)(26005)(66556008)(64756008)(66446008)(66946007)(66476007)(9686003)(966005)(76116006)(55016003)(86362001)(66574015)(83380400001)(8676002)(38070700005)(316002)(4326008)(7696005)(6506007)(71200400001)(478600001)(53546011)(19627235002)(41300700001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NldSaGhFdTA2dGF3cWt1TzBMbGxEZ1NwR2ZwSzlJaWMrTS85dVFpc0NHSGRN?= =?utf-8?B?Q0VLQ1NHbmtsQU1sUzJxN3VGSk9PMFIvMnVwbGY0VThLUFZmRmZMUlZQbnpX?= =?utf-8?B?dS9UTmpyZDB5V1hlVXEyQncyTytEaFBLcXJMQlRqZGh6V0dpeDA1OEVqbTFB?= =?utf-8?B?Y2pQL1htWTJpanFiL3ozMis1VXV0QStrcUpoV2lQK2NEMFE2ZFdLRm53TldU?= =?utf-8?B?YmNJQVRaYitZNXQ2akt2S2N3QVlIdEdNZjJjRnpkNzZ2ZXZCb2VESStWaVlK?= =?utf-8?B?d2VKL1R6NkRiSHZqanRtemUxVW0xck5UcnRVWlFSQjNtTDRnWTZPN2kwOGdN?= =?utf-8?B?YmRBMWIrVjBBWW81WmVWTWlJdSthR2lMZ2NWU3hMbytzTmswNzBmc2JrRHdx?= =?utf-8?B?c3Z5aTh6dFlQeVNCY09ndVR5MDZMblJtZVJvOXdYUXJ0bUNUWWV6RkVzb0dC?= =?utf-8?B?TXBuYVhLOXpiNGd3WWY1WEhPMXBjbmNWRktCUzJvMEhhWlp0VEI1OXZXamZQ?= =?utf-8?B?cGtsNEx5Y2tSQStpdGJ4YXR5QUMyQmIwUjkyYkVMYTY2M1ZVeGNwbDMxaFZh?= =?utf-8?B?ZHJhQklZL05od3Z0MkFaSXh3ZXYzVGREZHl4b2FuNmU4ZFVROFZXWTRnbnF1?= =?utf-8?B?R0NKemhSZnVxUjRNOXhkZGsrb3RWbWQ1N05YNWFZUmJmZFYwZ1RYd2RJbGZ4?= =?utf-8?B?cGRrbnNUNjhOYkFBV2xWaTE2OXVGeSs5Ulk3dmgvejB1WmNTaExRaXRuQjZJ?= =?utf-8?B?SDVUenhPTlU0YWg4WkxoWkw4SXRqazBiQVN1NmhqRmRPWW8zZXQ2dy9uV2Fr?= =?utf-8?B?b21BckpUQWVORXdDWGw4Nk55QWNCMy9WYzdCMStIRHdNU1gzSDZSVWRadjhr?= =?utf-8?B?TnlmZTBDeUVvckpmQ1A4ZkZqOEF3UnVUVkpUWTNDVVJweTZMQTNES0V4ZEsv?= =?utf-8?B?bXZsYU45OExsUmlYSURaZEpOOWNMUHJPdXRLMnNlajc4QW9iY0N6Ukg1WVRX?= =?utf-8?B?enkzZEJ6Ly90RFNNN3FOdWRQbXJWUTNmQTVERXhhbVdCUDVUNjFrTVpuSExm?= =?utf-8?B?bU9tNUZzdHRhS2NWYVF1NVUrZ2VRZjlyVWtXS0t3SllIK00va3lVc3Jaemls?= =?utf-8?B?dUpkbXdIVkNLK2c0RXZFd3AyVFk4Y0tLUFJYQUhtZDFJUXJyOTRkRTZHUjgy?= =?utf-8?B?cnNqcjZ0b3BDMXc5My9RbmtpNktkb2pxM3lDL2tqZFk0Y1YxYlVVR0JyekNK?= =?utf-8?B?MkMrQmNTWnordWVjRGw2bGl1NEFYaFBuRG9BMHVkdnVMc0JVOEFlRFBrbERJ?= =?utf-8?B?Qi90Qm1zZW1zNGI4RG80dWsxVktnREtPOG5qakNZRmozQnVpbEVMeUx5Z1hs?= =?utf-8?B?Unp5MU9CaDRacHdaazBkSnRQczNHaVlVQlJiQmQ0Vmp6QUtvazlCQno5YnM4?= =?utf-8?B?YU5iWTg5dVZkN0pERDQ2MFJINUdqb3ZLdTM3T2hqWWo2RVIwRjVFZ1BkOHRW?= =?utf-8?B?Qlh0ODk5aFhqVUNiZFFTcGoxQkkwaitkNzhGRkIvYXZVaXV1T3IxaldsbHVt?= =?utf-8?B?YXc4ZVVHM1E0SzJYTTM4ZE5YS1QvdzZHd2FpcTZpUjZOdDRwdE16bk1PS3o5?= =?utf-8?B?L2ViWFUxb0lqcy9YYVhnMm5POTZ2SS8vQktiVFZsOVdOYU9RUzdDdkNWa29a?= =?utf-8?B?MnVoSHVMNDM0ZG5aMlBxY3hldHNqQlBxVlEzcWVzZ3B2VTRyUUFtRGpsUTly?= =?utf-8?B?emRHbzR6cEJZK1RNcy9TQ0VwWTdqYVBiNkJYcVZwZldTcFc0UHdzSUtua2ow?= =?utf-8?B?UFF1cHI2OVR6RENTbEdRblpiZ2NzeEU1KzY0bm1uL3EzbU9vVzNNbVN4S3pR?= =?utf-8?B?c0ptNzRZZStuS1RNZVR6VTJnbEt4TW9VcDlEYXloblNQNTZJT3pRQTAydStz?= =?utf-8?B?cWp3RCtFT016ZitBNGc4clgyKy9zclI1NVUyczZxR2I3WEJkWURzQnlUSWNl?= =?utf-8?B?NkplRUVuWkVCS3k4N3FBMXVqQit0WDRQR1llL1NCbTFJZ3BLaXFnc01GT0d2?= =?utf-8?B?WmFlRFRMdUl3R2d6ZjI4SUVFWHlYQnRBTXpydEpFZ2NyUGhDbFN1MkNtQmo2?= =?utf-8?Q?DTx/KCIrtgpLeCGgIL+GvLESy?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4086.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8fd1c95-2679-4a1e-6cdf-08da65b7d075 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jul 2022 16:42:17.6498 (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: OQQYyCGJzxDwUnnK5H1uhK9FX/Ajm933HfrntnO99NUE5n1Oedl0FwVWndDfOPFOzII/ISL4t0jqK/x3/eiFWEJxfokY0gyyAEYr+kX1FpA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR18MB3952 X-Proofpoint-GUID: 2-l4uSykLTEdO02wmZZxvDoChHU4BTal X-Proofpoint-ORIG-GUID: 2-l4uSykLTEdO02wmZZxvDoChHU4BTal X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-14_13,2022-07-14_01,2022-06-22_01 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF0dGlhcyBSw7ZubmJs b20gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSnVs eSAxNCwgMjAyMiA0OjEzIFBNDQo+IFRvOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBi aGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IFRob21hcw0KPiBNb25qYWxvbiA8dGhvbWFzQG1vbmph bG9uLm5ldD4NCj4gQ2M6IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxs LmNvbT47IFJheSBLaW5zZWxsYQ0KPiA8bWRyQGFzaHJvZS5ldT47IGRldkBkcGRrLm9yZzsgdGlt b3RoeS5tY2RhbmllbEBpbnRlbC5jb207IEhlbWFudA0KPiBBZ3Jhd2FsIDxoZW1hbnQuYWdyYXdh bEBueHAuY29tPjsgc2FjaGluLnNheGVuYUBvc3MubnhwLmNvbTsNCj4gbGlhbmdtYUBsaWFuZ2Jp dC5jb207IHBldGVyLm1jY2FydGh5QGludGVsLmNvbTsNCj4gaGFycnkudmFuLmhhYXJlbkBpbnRl bC5jb207IGVyaWsuZy5jYXJyaWxsb0BpbnRlbC5jb207DQo+IGFiaGluYW5kYW4uZ3VqamFyQGlu dGVsLmNvbTsgamF5LmpheWF0aGVlcnRoYW5AaW50ZWwuY29tOw0KPiBhbmF0b2x5LmJ1cmFrb3ZA aW50ZWwuY29tDQo+IFN1YmplY3Q6IFJlOiBbRVhUXSBSZTogW1BBVENIIDEvMl0gZG9jOiBhZGQg ZW5xdWV1ZSBkZXB0aCBmb3IgbmV3IGV2ZW50DQo+IHR5cGUNCj4gDQo+IE9uIDIwMjItMDctMTQg MDg6MzIsIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYSB3cm90ZToNCj4gPg0KPiA+DQo+ID4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IE1hdHRpYXMgUsO2bm5ibG9t IDxtYXR0aWFzLnJvbm5ibG9tQGVyaWNzc29uLmNvbT4NCj4gPj4gU2VudDogV2VkbmVzZGF5LCBK dWx5IDEzLCAyMDIyIDU6NDUgUE0NCj4gPj4gVG86IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVs YSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgVGhvbWFzDQo+ID4+IE1vbmphbG9uIDx0aG9t YXNAbW9uamFsb24ubmV0Pg0KPiA+PiBDYzogSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVy aW5qQG1hcnZlbGwuY29tPjsgUmF5IEtpbnNlbGxhDQo+ID4+IDxtZHJAYXNocm9lLmV1PjsgZGV2 QGRwZGsub3JnOyB0aW1vdGh5Lm1jZGFuaWVsQGludGVsLmNvbTsNCj4gSGVtYW50DQo+ID4+IEFn cmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBzYWNoaW4uc2F4ZW5hQG9zcy5ueHAuY29t Ow0KPiA+PiBsaWFuZ21hQGxpYW5nYml0LmNvbTsgcGV0ZXIubWNjYXJ0aHlAaW50ZWwuY29tOw0K PiA+PiBoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbTsgZXJpay5nLmNhcnJpbGxvQGludGVsLmNv bTsNCj4gPj4gYWJoaW5hbmRhbi5ndWpqYXJAaW50ZWwuY29tOyBqYXkuamF5YXRoZWVydGhhbkBp bnRlbC5jb207DQo+ID4+IGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20NCj4gPj4gU3ViamVjdDog UmU6IFtFWFRdIFJlOiBbUEFUQ0ggMS8yXSBkb2M6IGFkZCBlbnF1ZXVlIGRlcHRoIGZvciBuZXcN Cj4gZXZlbnQNCj4gPj4gdHlwZQ0KPiA+Pg0KPiA+PiBPbiAyMDIyLTA3LTEzIDEyOjQwLCBQYXZh biBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgd3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE1hdHRpYXMgUsO2bm5ibG9tIDxt YXR0aWFzLnJvbm5ibG9tQGVyaWNzc29uLmNvbT4NCj4gPj4+PiBTZW50OiBXZWRuZXNkYXksIEp1 bHkgMTMsIDIwMjIgMjozOSBQTQ0KPiA+Pj4+IFRvOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1 bGEgPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47DQo+IFRob21hcw0KPiA+Pj4+IE1vbmphbG9u IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+Pj4+IENjOiBKZXJpbiBKYWNvYiBLb2xsYW51a2th cmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBSYXkgS2luc2VsbGENCj4gPj4+PiA8bWRyQGFzaHJv ZS5ldT47IGRldkBkcGRrLm9yZzsgdGltb3RoeS5tY2RhbmllbEBpbnRlbC5jb207DQo+ID4+IEhl bWFudA0KPiA+Pj4+IEFncmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBzYWNoaW4uc2F4 ZW5hQG9zcy5ueHAuY29tOw0KPiA+Pj4+IGxpYW5nbWFAbGlhbmdiaXQuY29tOyBwZXRlci5tY2Nh cnRoeUBpbnRlbC5jb207DQo+ID4+Pj4gaGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb207IGVyaWsu Zy5jYXJyaWxsb0BpbnRlbC5jb207DQo+ID4+Pj4gYWJoaW5hbmRhbi5ndWpqYXJAaW50ZWwuY29t OyBqYXkuamF5YXRoZWVydGhhbkBpbnRlbC5jb207DQo+ID4+Pj4gYW5hdG9seS5idXJha292QGlu dGVsLmNvbQ0KPiA+Pj4+IFN1YmplY3Q6IFJlOiBbRVhUXSBSZTogW1BBVENIIDEvMl0gZG9jOiBh ZGQgZW5xdWV1ZSBkZXB0aCBmb3IgbmV3DQo+ID4+IGV2ZW50DQo+ID4+Pj4gdHlwZQ0KPiA+Pj4+ DQo+ID4+Pj4gT24gMjAyMi0wNy0xMiAyMDoxMSwgUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxh IHdyb3RlOg0KPiA+Pj4+PiArQ2MNCj4gPj4+Pj4gdGltb3RoeS5tY2RhbmllbEBpbnRlbC5jb207 DQo+ID4+Pj4+IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207DQo+ID4+Pj4+IHNhY2hpbi5zYXhlbmFA b3NzLm54cC5jb207DQo+ID4+Pj4+IG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tOw0KPiA+ Pj4+PiBqZXJpbmpAbWFydmVsbC5jb207DQo+ID4+Pj4+IGxpYW5nbWFAbGlhbmdiaXQuY29tOw0K PiA+Pj4+PiBwZXRlci5tY2NhcnRoeUBpbnRlbC5jb207DQo+ID4+Pj4+IGhhcnJ5LnZhbi5oYWFy ZW5AaW50ZWwuY29tOw0KPiA+Pj4+PiBlcmlrLmcuY2FycmlsbG9AaW50ZWwuY29tOw0KPiA+Pj4+ PiBhYmhpbmFuZGFuLmd1amphckBpbnRlbC5jb207DQo+ID4+Pj4+IGpheS5qYXlhdGhlZXJ0aGFu QGludGVsLmNvbTsNCj4gPj4+Pj4gbWRyQGFzaHJvZS5ldTsNCj4gPj4+Pj4gYW5hdG9seS5idXJh a292QGludGVsLmNvbTsNCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25q YWxvbi5uZXQ+DQo+ID4+Pj4+PiBTZW50OiBUdWVzZGF5LCBKdWx5IDEyLCAyMDIyIDg6MzEgUE0N Cj4gPj4+Pj4+IFRvOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFnYXZhdHVsYUBt YXJ2ZWxsLmNvbT4NCj4gPj4+Pj4+IENjOiBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJp bmpAbWFydmVsbC5jb20+OyBSYXkgS2luc2VsbGENCj4gPj4+Pj4+IDxtZHJAYXNocm9lLmV1Pjsg ZGV2QGRwZGsub3JnOyBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGENCj4gPj4+Pj4+IDxwYmhh Z2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ID4+Pj4+PiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENI IDEvMl0gZG9jOiBhZGQgZW5xdWV1ZSBkZXB0aCBmb3IgbmV3DQo+IGV2ZW50DQo+ID4+Pj4gdHlw ZQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEV4dGVybmFsIEVtYWlsDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+Pj4+Pj4gSSdtIG5vdCB5b3VyIHRlYWNoZXIsIGJ1dCBwbGVhc2Ug Y29uc2lkZXIgQ2MnaW5nIHBlb3BsZSBvdXRzaWRlIG9mDQo+IHlvdXINCj4gPj4+Pj4+IGNvbXBh bnkuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJIGdlbmVyYWxseSBhZGQgLS10by1jbWQ9 Li9kZXZ0b29scy9nZXQtbWFpbnRhaW5lci5zaCBidXQgbG9va3MgbGlrZQ0KPiBpdCdzDQo+ID4+ Pj4gdXNlbGVzcyBmb3INCj4gPj4+Pj4gc2VuZGluZyBkZXByZWNhdGlvbiBub3RpY2VzLg0KPiA+ Pj4+Pg0KPiA+Pj4+PiBNYXliZSB3ZSBzaG91bGQgdXBkYXRlIGl0IHRvIGluY2x1ZGUgbGliL2Ry aXZlciBtYWludGFpbmVycyB3aGVuIGRpZmYNCj4gPj4gc2Vlcw0KPiA+Pj4+IGRlcHJlY2F0aW9u LnJzdA0KPiA+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IDI3LzA2LzIwMjIgMTE6NTcsIHBiaGFn YXZhdHVsYUBtYXJ2ZWxsLmNvbToNCj4gPj4+Pj4+PiBGcm9tOiBQYXZhbiBOaWtoaWxlc2ggPHBi aGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEEgbmV3IGZpZWxk IGBgbWF4X2V2ZW50X3BvcnRfZW5xdWV1ZV9uZXdfYnVyc3RgYCB3aWxsIGJlDQo+IGFkZGVkDQo+ ID4+IHRvDQo+ID4+Pj4gdGhlDQo+ID4+Pj4+Pj4gc3RydWN0dXJlIGBgcnRlX2V2ZW50X2Rldl9p bmZvYGAuIFRoZSBmaWVsZCBkZWZpbmVzIHRoZSBtYXgNCj4gZW5xdWV1ZQ0KPiA+Pj4+Pj4+IGJ1 cnN0IHNpemUgb2YgbmV3IGV2ZW50cyAoT1BfTkVXKSBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlp bmcNCj4gPj4gZXZlbnQNCj4gPj4+Pj4+PiBkZXZpY2UuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBT aWduZWQtb2ZmLWJ5OiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4N Cj4gPj4+Pj4+PiAtLS0NCj4gPj4+Pj4+PiAgICAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvZGVwcmVj YXRpb24ucnN0IHwgNSArKysrKw0KPiA+Pj4+Pj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl cnRpb25zKCspDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9y ZWxfbm90ZXMvZGVwcmVjYXRpb24ucnN0DQo+ID4+Pj4+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVz L2RlcHJlY2F0aW9uLnJzdA0KPiA+Pj4+Pj4+IGluZGV4IDRlNWIyM2M1M2QuLjA3MTMxN2U4ZTMg MTAwNjQ0DQo+ID4+Pj4+Pj4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvZGVwcmVjYXRpb24u cnN0DQo+ID4+Pj4+Pj4gKysrIGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvZGVwcmVjYXRpb24ucnN0 DQo+ID4+Pj4+Pj4gQEAgLTEyNSwzICsxMjUsOCBAQCBEZXByZWNhdGlvbiBOb3RpY2VzDQo+ID4+ Pj4+Pj4gICAgICAgYXBwbGljYXRpb25zIHNob3VsZCBiZSB1cGRhdGVkIHRvIHVzZSB0aGUgYGBk bWFkZXZgYCBsaWJyYXJ5DQo+ID4+IGluc3RlYWQsDQo+ID4+Pj4+Pj4gICAgICAgd2l0aCB0aGUg dW5kZXJseWluZyBIVy1mdW5jdGlvbmFsaXR5IGJlaW5nIHByb3ZpZGVkIGJ5IHRoZQ0KPiBgYGlv YXRgYA0KPiA+PiBvcg0KPiA+Pj4+Pj4+ICAgICAgIGBgaWR4ZGBgIGRtYSBkcml2ZXJzDQo+ID4+ Pj4+Pj4gKw0KPiA+Pj4+Pj4+ICsqIGV2ZW50ZGV2OiBUaGUgc3RydWN0dXJlIGBgcnRlX2V2ZW50 X2Rldl9pbmZvYGAgd2lsbCBiZQ0KPiBleHRlbmRlZA0KPiA+PiB0bw0KPiA+Pj4+Pj4gaW5jbHVk ZSB0aGUNCj4gPj4+Pj4+PiArICBtYXggZW5xdWV1ZSBidXJzdCBzaXplIG9mIG5ldyBldmVudHMg c3VwcG9ydGVkIGJ5IHRoZQ0KPiA+PiB1bmRlcmx5aW5nDQo+ID4+Pj4+PiBldmVudCBkZXZpY2Uu DQo+ID4+Pj4+Pj4gKyAgQSBuZXcgZmllbGQgYGBtYXhfZXZlbnRfcG9ydF9lbnF1ZXVlX25ld19i dXJzdGBgIHdpbGwgYmUNCj4gPj4gYWRkZWQNCj4gPj4+PiB0bw0KPiA+Pj4+Pj4gdGhlIHN0cnVj dHVyZQ0KPiA+Pj4+Pj4+ICsgIGBgcnRlX2V2ZW50X2Rldl9pbmZvYGAgaW4gRFBESyAyMi4xMS4N Cj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+ Pg0KPiA+Pj4+IFdoeSBpcyB0aGlzIG5lZWRlZCwgb3IgdXNlZnVsPyBXaHkgaXNuJ3QgY2FsbGVk IHNvbWV0aGluZyB3aXRoDQo+ID4+Pj4gImVucXVldWVfZGVwdGgiIGluIGl0LCBsaWtlIHRoZSBh bHJlYWR5LXByZXNlbnQgZmllbGQ/DQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBUaGlzIGlzIGZvciBh IGNhc2Ugd2hlcmUgZW5xdWV1ZXMgd2l0aCBPUF9GT1JXQVJEL09QX1JFTEVBU0Ugb25seQ0KPiA+ PiBzdXBwb3J0cw0KPiA+Pj4gZW5xdWV1ZSBkZXB0aCBvZiAxLg0KPiA+Pg0KPiA+PiBJIGFzc3Vt ZSBpdCdzIGZvciBvdGhlciBjYXNlcyBhcyB3ZWxsPyBBbnkgY2FzZSB3aGVuIHRoZSBldmVudCBk ZXZpY2UNCj4gPj4gaGFzIGEgbWF4IGZvcndhcmQgZW5xdWV1ZSBkZXB0aCAhPSBtYXggbmV3IGVu cXVldWUgZGVwdGg/DQo+ID4+DQo+ID4NCj4gPiBZZXMsIGdlbmVyYWxseSBuZXcgZXZlbnRzIGhh dmUgbXVjaCBtb3JlIGZsZXhpYmlsaXR5IHRoYW4gZm9yd2FyZHMgZXZlbnQuDQo+ID4NCj4gPj4g SSBkb24ndCBzZWUgd2h5IGFuIGV2ZW50IGRldmljZSB3b3VsZCBoYXZlIHN1Y2ggbG93IG1heCBs aW1pdCBvbiB0aGUNCj4gPj4gbnVtYmVyIGV2ZW50cyBlbnF1ZXVlZC4NCj4gPg0KPiA+IEl0IGRl cGVuZHMgb24gdGhlIG51bWJlciBvZiBzY2hlZHVsaW5nIGNvbnRleHRzIGEgZ2l2ZW4gZXZlbnQg cG9ydCBjYW4NCj4gdHJhY2suDQo+IA0KPiBJIGhhdmUgbm8gaWRlYSB3aGF0IGEgInNjaGVkdWxp bmcgY29udGV4dCIgaXMgKGl0J3Mgbm90IHNvbWV0aGluZw0KPiByZWxhdGVkIHRvIHRoZSBFdmVu dGRldiBBUElzKSwgYnV0IGlmIHlvdSBoYXZlIGEgc2hvcnRhZ2Ugb2YgdGhlbSAoZm9yDQo+IHRo ZSBtb21lbnQsIG9yIGFsd2F5cyksIHRoZSBkcml2ZXIgd291bGQganVzdCByZXR1cm4gYSBzaG9y dCBjb3VudCBmcm9tDQo+IHRoZSBlbnF1ZXVlIGJ1cnN0IGZ1bmN0aW9uLiBXaGF0IHVzZSBoYXMg dGhlIGFwcGxpY2F0aW9uIG9mIGtub3dpbmcgdGhhdA0KPiB0aGUgZXZlbnQgZGV2aWNlIGNhbiBh Y2NlcHQgYXQgbW9zdCBhIGNlcnRhaW4gbnVtYmVyIG9mIGV2ZW50cz8NCj4gDQo+ID4gQW55d2F5 IHRoaXMgd291bGQgYWxpZ24gdG8gdGhlIGN1cnJlbnQgZXhpc3RpbmcgZmVhdHVyZSBkZWZpbml0 aW9ucy4gVGhlDQo+IGV4aXN0aW5nDQo+ID4gQVBJIG9ubHkgZGVmaW5lcyB0aGUgZW5xdWV1ZSBz aXplIG9mIGZ3ZCBhbmQgcmVsZWFzZSBldmVudHMgaS5lLg0KPiBzY2hlZHVsaW5nIGNvbnRleHRz DQo+ID4gYWxyZWFkeSB0cmFja2VkIGJ5IGV2ZW50IGRldmljZS4NCj4gDQo+IFRoZSBkb2N1bWVu dGF0aW9uIG9mIG1heF9ldmVudF9wb3J0X2VucXVldWVfZGVwdGggc2F5czoNCj4gIk1heGltdW0g bnVtYmVyIG9mIGV2ZW50cyBjYW4gYmUgZW5xdWV1ZWQgYXQgYSB0aW1lIGZyb20gYW4gZXZlbnQg cG9ydA0KPiBieSB0aGlzIGRldmljZS4iDQo+IA0KPiAgRnJvbSB3aGF0IEkgY2FuIHRlbGwsIGl0 IHNheXMgbm90aGluZyBhYm91dCBuZXcgdmVyc3VzIGZvcndhcmQsIG9yDQo+IHJlbGVhc2UgdHlw ZSBldmVudHMuDQo+IA0KPiA+IE5FVyBpcyBhbHdheXMgYSBzcGVjaWFsIGNhc2UgYXMgd2UgYXJl IGFkZGluZyBuZXcgc2NoZWR1bGluZyBjb250ZXh0cyB0bw0KPiB0aGUgZXZlbnQNCj4gPiBkZXZp Y2UsIHRoZSBpZGVhIG9mIHRoaXMgcGF0Y2ggaXMgdG8gc3BlY2lmeSB0aGF0IE5FVyBldmVudHMg d291bGRu4oCZdCBoYXZlDQo+IHRoZSBzYW1lDQo+ID4gcmVzdHJpY3Rpb25zIG9mIGZ3ZC9yZWxl YXNlIGV2ZW50cy4NCj4gPg0KPiA+IFRoaXMgd291bGQgYWxzbyBhbGxvdyB1cyB0byBjcmFmdCBv cHRpbWl6ZWQgQVBJcyBzdWNoIGFzDQo+ID4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQu Y29tL3YyL3VybD91PWh0dHBzLQ0KPiAzQV9fcHJvdGVjdDIuZmlyZWV5ZS5jb21fdjFfdXJsLTNG ay0zRDMxMzIzMzM0LTJENTAxZDUxMjItMkQzMTMyNzNhZi0NCj4gMkQ0NTQ0NDU1NTU3MzEtMkRl ZjEyZmZhZjRiZGI1NjhmLTI2cS0zRDEtMjZlLTNEZjBhOTJhZDMtMkQxMTY3LQ0KPiAyRDQ0OGQt MkRiZTE0LTJEMDk4N2U5MzlmMDE5LTI2dS0zRGh0dHBzLTI1M0EtMjUyRi0NCj4gMjUyRnBhdGNo ZXMuZHBkay5vcmctMjUyRnByb2plY3QtMjUyRmRwZGstMjUyRnBhdGNoLQ0KPiAyNTJGMjAyMjA2 MjcwOTU3MDIuODA0Ny0yRDItMkRwYmhhZ2F2YXR1bGEtMjU0MG1hcnZlbGwuY29tLQ0KPiAyNTJG JmQ9RHdJR2FRJmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZyPUUzU2dZTWp0S0NNVnNCLQ0KPiBm bXZnR1Yzby1nX2ZqTGhrNVB1cGk5aWpvaHBjJm09aWF6UlF0YnlsSXVHWFJmajJOUHBmX3d3Ry0N Cj4gcHBTd0ZPUEtjbGo1emN3dTJwUUc5YjdvdmVQaVNCbjlrNFBqUVomcz1zVHJFY1dic3Q1OW9L X2pZZTZqWGh5YQ0KPiBDV3dFTGliNllyLTNkOUJjY1F0NCZlPQ0KPiA+DQo+ID4NCj4gPj4gSWYg dGhlIHVuZGVybHlpbmcgaGFyZHdhcmUgaGFzIHNvbWUgbGltaXRhdGlvbnMsDQo+ID4+IHdoeSBu b3QgbGV0IHRoZSBkcml2ZXIgbG9vcCB1bnRpbCBiYWNrIHByZXNzdXJlIG9jY3Vycz8gVGhlbiB5 b3UgY2FuDQo+IA0KPiBZb3UgZGlkbid0IGFuc3dlciB0aGlzIHF1ZXN0aW9uLiBXaHkgbm90IGxl dCB0aGUgZHJpdmVyIGxvb3AsIHVudGlsIHlvdQ0KPiBmb3Igc29tZSByZWFzb24gb3IgdGhlIG90 aGVyIGNhbid0IGFjY2VwdCBtb3JlIGV2ZW50cz8NCg0KQ05YSyBldmVudCBkcml2ZXIgY2Fubm90 IGFjY2VwdCBmb3J3YXJkaW5nKGVucSkgbW9yZSB0aGFuIG9uZSBldmVudCB0aGF0IGhhcw0KYmVl biBkZXF1ZXVlZC4gRW5xdWV1ZWluZyBtb3JlIHRoYW4gb25lIGV2ZW50IGZvciBmb3J3YXJkaW5n L3JlbGVhc2luZyANCmlzIGEgdmlvbGF0aW9uIGZyb20gSFcgcGVyc3BlY3RpdmUsIHRoaXMgaXMg Y3VycmVudGx5IGFubm91bmNlZCBieSBCVVJTVCBjYXBhYmlsaXR5Lg0KQnV0IEl0IGNhbiBlbnF1 ZXVlIGEgYnVyc3QgaWYgbmV3IGV2ZW50cy4NCg0KSWYgeW91IHNlZSB0aGUgY3VycmVudCBleGFt cGxlIGltcGxlbWVudGF0aW9uIHdlIHBpY2sgdGhlIHdvcmtlciBiYXNlZCBvbiANCkJVUlNUIGNh cGFiaWxpdHkgZm9yIG9wdGltaXppbmcgdGhlIGVucXVldWUvZGVxdWV1ZSBieSBwcm92aWRpbmcg YSBoaW50DQp0byB0aGUgZHJpdmVyIGxheWVyLg0KDQpBbHRob3VnaCwgd2UgY291bGQgbGl2ZSB3 aXRoIGFnZ3JlZ2F0aW5nIHRoZSBldmVudHMgYXQgZHJpdmVyIGxheWVyIGJhc2VkIG9uDQpxdWV1 ZS4gV2Ugd291bGQgc3RpbGwgcmVxdWlyZSBhbm5vdW5jZSBidXJzdCBjYXBhYmlsaXR5IGZvciBu ZXcgZXZlbnRzIGkuZS4gDQpjaGFuZ2VzIHRvIHRoZSBpbmZvIHN0cnVjdHVyZS4NCg0KPiANCj4g Pj4gYW1vcnRpemUgdGhlIGZ1bmN0aW9uIGNhbGwgb3ZlcmhlYWQgYW5kIHBvdGVudGlhbGx5IG90 aGVyIHNvZnR3YXJlDQo+ID4+IG9wZXJhdGlvbnMgKGNyZWRpdCBzeXN0ZW0gbWFuYWdlbWVudCBl dGMpIG92ZXIgbXVsdGlwbGUgZXZlbnRzLiBQbHVzLA0KPiA+PiB0aGUgYXBwbGljYXRpb24gZG9l c24ndCBuZWVkIGEgc3BlY2lhbCBjYXNlIGZvciBuZXcgZXZlbnRzIHZlcnN1cw0KPiA+PiBmb3J3 YXJkIHR5cGUgZXZlbnRzLCBvciB0aGlzLXZlcnN1cy10aGF0IGV2ZW50IGRldmljZS4NCj4gPj4N Cj4gPj4+IFdoZXJlIGFzIE9QX05FVyBzdXBwb3J0cyBoaWdoZXIgYnVyc3Qgc2l6ZS4NCj4gPj4+ DQo+ID4+PiBUaGlzIGlzIGFscmVhZHkgdGllZCBpbnRvIGNhcGFiaWxpdHkgZGVzY3JpcHRpb24g Og0KPiA+Pj4NCj4gPj4+ICNkZWZpbmUgUlRFX0VWRU5UX0RFVl9DQVBfQlVSU1RfTU9ERSAgICAg ICAgICAoMVVMTCA8PCA0KQ0KPiA+Pj4gLyoqPCBFdmVudCBkZXZpY2UgaXMgY2FwYWJsZSBvZiBv cGVyYXRpbmcgaW4gYnVyc3QgbW9kZSBmb3INCj4gPj4gZW5xdWV1ZShmb3J3YXJkLA0KPiA+Pj4g ICAgKiByZWxlYXNlKSBhbmQgZGVxdWV1ZSBvcGVyYXRpb24uIElmIHRoaXMgY2FwYWJpbGl0eSBp cyBub3Qgc2V0LA0KPiBhcHBsaWNhdGlvbg0KPiA+Pj4gICAgKiBzdGlsbCB1c2VzIHRoZSBydGVf ZXZlbnRfZGVxdWV1ZV9idXJzdCgpIGFuZA0KPiA+PiBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgp IGJ1dA0KPiA+Pj4gICAgKiBQTUQgYWNjZXB0cyBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUuDQo+ ID4+PiAgICAqDQo+ID4+PiAgICAqIEBzZWUgcnRlX2V2ZW50X2RlcXVldWVfYnVyc3QoKSBydGVf ZXZlbnRfZW5xdWV1ZV9idXJzdCgpDQo+ID4+PiAgICAqLw0KPiA+Pj4NCj4gPj4+PiBJIHRoaW5r IEkgd291bGQgcmF0aGVyIHJlbW92ZSBhbGwgZmllbGRzIHJlbGF0ZWQgdG8gdGhlIG1heA0KPiA+ Pj4+IGVucXVldWUvZGVxdWV1ZSBidXJzdCBzaXplcy4gVGhleSBzZXJ2ZSBubyBwdXJwb3NlLCBh cyBmYXIgYXMgSSBzZWUuDQo+IElmDQo+ID4+Pj4geW91IGhhdmUgc29tZSBIVyBsaW1pdCBvbiB0 aGUgbWF4aW11bSBudW1iZXIgb2YgbmV3IGV2ZW50cyBpdCBjYW4NCj4gPj4+PiBhY2NlcHQsIGhh dmUgdGhlIGRyaXZlciByZXRyeSB1bnRpbCBiYWNrcHJlc3N1cmUgb2NjdXJzLg0KPiA+Pj4NCj4g Pg0KDQo=