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 74239A0032; Mon, 11 Jul 2022 05:08:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 164344021F; Mon, 11 Jul 2022 05:08:30 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30048.outbound.protection.outlook.com [40.107.3.48]) by mails.dpdk.org (Postfix) with ESMTP id CDFE34021E for ; Mon, 11 Jul 2022 05:08:28 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ckNkVwV2PzUT/YcVgnwgC+hFn0D2S/UvWqqu95eMtTDNVdZ7sdzaiwbgptgpM5TjMdsgFzd1kZdkyjf5QoZh7sB213kASXXJuyFeM2sgkTyNseSHS8Nvz344zVMI1TNyaphR4/gp75J0O2LPvTWEYrOUeTVC/AZSWbeQD+W8w776B/TrtPpVZ0J21huls55QEWZHsNM8j8lSitHXARgh+KFefPPJrtJ4szdELiozeSXp+nDSXYeyq48t9WvrrwSrZgfjtmNxg5rLfxx8WzlgXwdfzNJudHp4DaGf3w7UXyam/UXikuS8AVWEgAckroXA7vp1+G2Oo8n5tiFL/NiqhQ== ARC-Message-Signature: i=2; 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=XZ+IJDEPf7M6IcsEHa5xJTkzi49/v50MMHmlWdzTkXk=; b=Uqwxc2CY1LuPwNIOS/1d6tol05n3SouS38l8w7Omnd0p2keRdkmkq9oS67f8zcebXvQpYziYvIre5RppHSWaZuWc9Q0w2rZaxJBbI0UOV1cCmfGIxPcElKfXK5+gVKl/TmX92azh5q3lFHI+KDyWDVL3AgATX50rj8e8h0V/vNk4Q8UXpjT+bZ/+cDAnDtSG33171sM6FV8ICAxflGuAlGsi5NFxoDTFxy4/7a1+qMUZwESUTmQe2GemsZXMNLMtdcppC0+orprlXCdnHqmm2T8ym/3JWsoz5RbFTG9PBEtUyEk7bvuzyp6jCGlcrJuWhQ5CgTPWHWM59E4CjHgXpg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=bestguesspass action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XZ+IJDEPf7M6IcsEHa5xJTkzi49/v50MMHmlWdzTkXk=; b=FiMf2/x6UT2w2cVL57kh/4qhD1AquTebd/8fApfOYt5eA+WOX6JKfLloCclcZftYDJy2nk41/MldqArBYWKy+mlzKzFhFLsn6fBAnWPdgiT4cLptNlW6dWi0kWqBVb/FEn0pEsvZSAJCNxygpNLKDVwNgWYSTlxZpicttJ6e/NY= Received: from AM5PR0402CA0016.eurprd04.prod.outlook.com (2603:10a6:203:90::26) by GVXPR08MB7894.eurprd08.prod.outlook.com (2603:10a6:150::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.23; Mon, 11 Jul 2022 03:08:26 +0000 Received: from AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:90:cafe::7c) by AM5PR0402CA0016.outlook.office365.com (2603:10a6:203:90::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.26 via Frontend Transport; Mon, 11 Jul 2022 03:08:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT009.mail.protection.outlook.com (10.152.16.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15 via Frontend Transport; Mon, 11 Jul 2022 03:08:24 +0000 Received: ("Tessian outbound 6f9e7ef31fa8:v122"); Mon, 11 Jul 2022 03:08:24 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1c413d4f8c57a49d X-CR-MTA-TID: 64aa7808 Received: from 6422a72de1cc.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 92B842E4-4760-4C0E-A656-8D5F743F3231.1; Mon, 11 Jul 2022 03:08:13 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6422a72de1cc.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 11 Jul 2022 03:08:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fkca7UR8IbDh4/iDhcuqcbqnDoUl46VMKu7livYZUj8poSjmdnV7w9BYXD00rlZIFFYLHDkdp29CGiS/ntZ6O6QLWjt2z7AHrlZ2iARlUKqSlbxF830a9FQDWFyQpx0cXds23evcpUvRfpUK7yFMu/M6XDE9fSi6wsY2Dq+RtOGQ/8trzLvvbxRUo8TnyZsxZmuZZuDfuqzEOxlrL+wyNydR1VJ2DvuxO0dXpnOUZ4E3Bh4MRZslsKRtGRw3FLteC9DizK9xofLl4er0lj6g2VlVC0YVa+mjkeNjbgpBfZy9Lxl1TVH/3sfptXAbJEIcD6BV8/vPiJaXwdZenZBjNw== 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=XZ+IJDEPf7M6IcsEHa5xJTkzi49/v50MMHmlWdzTkXk=; b=F90EFS0HHGqgpjrA45pwB17dMlVGHwxQfxXL4Na+M4yUgMRLhxQX8jLDt642IhuF453ZnMXIU83dWNDPCENHlBKtVqhlpErNXlXUAkkyvrv14/N7FeYzYn1nCjCOVwUJMo/8BvsRkQGmG+2BbC2ErSYix6jFnMM+NWIhLOH/HJYH2GL6LB7Rqx/SzNU5BszTmyegPs2APmeL+jMoZ4O57P7C9Roz2wglQCF+zBmm7h1nNXCxXE73Ib9/ppOYanyPzdWOyyuU2uPqeDsxSO2HNXYLqM8L14LjjHHO8qsvWxitI9eliEhsOLErac+CZoy6y7aAX22jknMbeBtDRcAQpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XZ+IJDEPf7M6IcsEHa5xJTkzi49/v50MMHmlWdzTkXk=; b=FiMf2/x6UT2w2cVL57kh/4qhD1AquTebd/8fApfOYt5eA+WOX6JKfLloCclcZftYDJy2nk41/MldqArBYWKy+mlzKzFhFLsn6fBAnWPdgiT4cLptNlW6dWi0kWqBVb/FEn0pEsvZSAJCNxygpNLKDVwNgWYSTlxZpicttJ6e/NY= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by HE1PR0802MB2587.eurprd08.prod.outlook.com (2603:10a6:3:de::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.21; Mon, 11 Jul 2022 03:08:10 +0000 Received: from AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::b078:c016:5cf4:be71]) by AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::b078:c016:5cf4:be71%4]) with mapi id 15.20.5417.026; Mon, 11 Jul 2022 03:08:10 +0000 From: Feifei Wang To: Konstantin Ananyev , Yuying Zhang , Beilei Xing , Ruifeng Wang CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , nd , nd , nd Subject: =?utf-8?B?5Zue5aSNOiBbUkZDIFBBVENIIHYxXSBuZXQvaTQwZTogcHV0IG1lbXBvb2wg?= =?utf-8?Q?cache_out_of_API?= Thread-Topic: [RFC PATCH v1] net/i40e: put mempool cache out of API Thread-Index: AQHYfumyTDtAOsF53kCxjZyFnzcQbK1ssKqAgAFdjnCAA0xfgIAHTKoA Date: Mon, 11 Jul 2022 03:08:10 +0000 Message-ID: References: <20220613055136.1949784-1-feifei.wang2@arm.com> <1e082bfe-9b52-86f0-e7fa-279ef8feaf1a@yandex.ru> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 6CCE3ACE469DC54B9D40FC43E8221373.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 8422525a-66d0-43bc-107b-08da62ea9eae x-ms-traffictypediagnostic: HE1PR0802MB2587:EE_|AM5EUR03FT009:EE_|GVXPR08MB7894:EE_ x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 0ot/cVT76asoRT5GDxGYhgPROo6J6xI044Ssh9fXTmt28YG9O6xAMnAO6BKdO7VYeELednuhUzV6INkpQW+tebsrxSx4aPTkqmVDDKh1hagHNbcFEQBa5ZcmnKBQexOw3AnH/YpTrYJzd++oLmMzsXjeNLUxe3Ynmj0DlMkM5b0dpYvfrCA0jqLDnf+bOSEQLg96M6xmEoLiX9ZhIM5s9VAvfxtr80+z+Qq+6DLQu2LLgIQ39vAN4yK6axis8ojuLg2yTMCxrWEhEvAXRKORYW1kBvXzp3zcF28HY7kA9hOr8aR8I3T9OpASJYGQSxf7tfSREDm3NqhOUG4SL9ePHHWKxsYSvKxTi0Ypomf3lGZwTOGiJ/ig4+PCPGK79OZJWHBzYhPq0O/MZe82wjZK//SDK93BrTug3hDhzOk+8bjLr5kKbYEqqyqtmka1vlmsQp+oWgYXdKLznvdMb5GbgPX9i0VKSRmbz3onMgR/Pl7RuF5/Wx0L1SKLz2w0womF4mqzUkPbRoFEo7Zftg6VuXdvPfjbDo1C9rpqzPCh9/p/y1hG6pGx27Y6nC+lbsLUVA2Wn7ef7+DFv1/AISMnYhLEnTdQgy3xHuH+shIrX0q8XBXUyscXh5P9d+Axb2nklER28Jt+xdKeaNyvQWqdb4vXwf072aqfwdXuF3Ef/+XxBUXKv04Hoh27jKjL/HA+oCbr4BT2qAOvElkhrAsifsuf2ONxycbWXAnc1ysaE3Rpq0FDrlU7IqqNveh9E/WqW7PQ3i22VZn3TDoMpd6yceh3vhKuskStc06iyuCSj+bd1D4XwGrRjte9Vx+exz7yk2Okszyrq7h3wSArdefYMgijH/RC0CftGObeXyNzHuI8N+k4/0zb7NuNkbj2UHIJ X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7718.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(136003)(346002)(39860400002)(366004)(396003)(186003)(41300700001)(9686003)(7696005)(66946007)(76116006)(6506007)(83380400001)(478600001)(38100700002)(38070700005)(52536014)(33656002)(224303003)(2906002)(5660300002)(55016003)(71200400001)(54906003)(86362001)(110136005)(316002)(6636002)(66476007)(122000001)(66446008)(66556008)(64756008)(4326008)(8936002)(473944003)(414714003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2587 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6ecce4f1-6c02-4083-19e6-08da62ea95f0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FrJ5pzpSATa6z0zLFtaT8Jr7+axkKeTNbxlXLB0/7D8CNhlQXo4Pf6o5MUrJ1JoobRRnp1DDLDCZlVtxwTsz+GmGqMvxEvaKGoWAOjTK2LVjwGQiRTDUUGNMbW+D+U0hVMwna0mTqHMCzRlUkUiE5Nz+V7Loo3cdLdRukAaHGtDbAerRMnE7AgXlHv6/1IW9B9yum/fpq3Mt5+YEDVJcBrQPNxTzIYv+iVYKhGNkV1J6Q7V1kZoMbwycC5XPufwR0qJiBheiVXgY1CnsTjiLkYcqUK55HQwWbE4dqqf6Uc74fSAL2Rz5Dyt0g5jnwTOlprySvcyUWH64I3R+1g3jNrcyGm4543Sh8B68Iooq6oYKX1aSeRUow9tHIpPxEbsYkdVlQNkKnmQekNrKlj23kKBuVZunDulXcF09ibht3N416/OZkLSAq7IKLpD5aaNo8+ImNKvH/5cQTq3ykWNXO3y95G2SufIQyErwzx4SSQJF7hL2Ab/8QiS9M2KSqUHI5ofwqpuziP3TcxzmcTdeSog29TP9kO3BwluwxLWpo/1qzl/xG5surieFFEMIAXm4IW7coOEw8QEoQ3oAGmlWntA27HYXUEhZ8n1SPc+1opU0WLiAnxH9gJjmdkp5v2HfoEhLAuGCz4KnwhkPmKBdOZCpiknkh7ezPiUkDSsxuEmInTC6V4bQfC1qHyymGaWm4lWXInbxvPXy7m8ToMuZmxXdk9zUp5NFJU8dM7bgx45Ags6b2QOUa5oW9fo0l7IeHa+MpgKcLeTLzExw016wC6hJxLwDAx0I6OfgdNmfA2A/DK9FGqufiaXEj6UUDbFYM4gao/ibf3qeCDZyoH5Qnjd0QA3D1AGF7fWqCoL1lzvfqdRqlAaw3jF3VUuUWo7y X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(346002)(136003)(396003)(376002)(39860400002)(46966006)(36840700001)(33656002)(47076005)(52536014)(8936002)(55016003)(7696005)(478600001)(186003)(40480700001)(36860700001)(70586007)(82310400005)(86362001)(81166007)(54906003)(26005)(356005)(6506007)(82740400003)(2906002)(110136005)(224303003)(9686003)(5660300002)(83380400001)(336012)(316002)(41300700001)(70206006)(6636002)(4326008)(23180200003)(414714003)(473944003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2022 03:08:24.9719 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8422525a-66d0-43bc-107b-08da62ea9eae X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7894 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 DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IEZlaWZlaSBXYW5nDQo+ IOWPkemAgeaXtumXtDogV2VkbmVzZGF5LCBKdWx5IDYsIDIwMjIgNzozNiBQTQ0KPiDmlLbku7bk uro6ICdLb25zdGFudGluIEFuYW55ZXYnIDxrb25zdGFudGluLnYuYW5hbnlldkB5YW5kZXgucnU+ OyAnWXV5aW5nDQo+IFpoYW5nJyA8WXV5aW5nLlpoYW5nQGludGVsLmNvbT47ICdCZWlsZWkgWGlu ZycgPGJlaWxlaS54aW5nQGludGVsLmNvbT47DQo+IFJ1aWZlbmcgV2FuZyA8UnVpZmVuZy5XYW5n QGFybS5jb20+DQo+IOaKhOmAgTogJ2RldkBkcGRrLm9yZycgPGRldkBkcGRrLm9yZz47IG5kIDxu ZEBhcm0uY29tPjsgSG9ubmFwcGENCj4gTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxp QGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kDQo+IDxuZEBhcm0uY29tPg0KPiDkuLvpopg6 IOWbnuWkjTogW1JGQyBQQVRDSCB2MV0gbmV0L2k0MGU6IHB1dCBtZW1wb29sIGNhY2hlIG91dCBv ZiBBUEkNCj4gDQo+IA0KPiANCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu2 5Lq6OiBGZWlmZWkgV2FuZw0KPiA+IOWPkemAgeaXtumXtDogV2VkbmVzZGF5LCBKdWx5IDYsIDIw MjIgNDo1MyBQTQ0KPiA+IOaUtuS7tuS6ujogS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGlu LnYuYW5hbnlldkB5YW5kZXgucnU+OyBZdXlpbmcNCj4gWmhhbmcNCj4gPiA8WXV5aW5nLlpoYW5n QGludGVsLmNvbT47IEJlaWxlaSBYaW5nIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBSdWlmZW5n DQo+ID4gV2FuZyA8UnVpZmVuZy5XYW5nQGFybS5jb20+DQo+ID4g5oqE6YCBOiBkZXZAZHBkay5v cmc7IG5kIDxuZEBhcm0uY29tPjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiA8SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiA+IOS4u+mimDog5Zue5aSN OiBbUkZDIFBBVENIIHYxXSBuZXQvaTQwZTogcHV0IG1lbXBvb2wgY2FjaGUgb3V0IG9mIEFQSQ0K PiA+DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4g5Y+R5Lu2 5Lq6OiBLb25zdGFudGluIEFuYW55ZXYgPGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydT4N Cj4gPiA+IOWPkemAgeaXtumXtDogU3VuZGF5LCBKdWx5IDMsIDIwMjIgODoyMCBQTQ0KPiA+ID4g 5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBZdXlpbmcgWmhh bmcNCj4gPiA+IDxZdXlpbmcuWmhhbmdAaW50ZWwuY29tPjsgQmVpbGVpIFhpbmcgPGJlaWxlaS54 aW5nQGludGVsLmNvbT47DQo+ID4gPiBSdWlmZW5nIFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29t Pg0KPiA+ID4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgSG9ubmFwcGEg TmFnYXJhaGFsbGkNCj4gPiA+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+ID4g 5Li76aKYOiBSZTogW1JGQyBQQVRDSCB2MV0gbmV0L2k0MGU6IHB1dCBtZW1wb29sIGNhY2hlIG91 dCBvZiBBUEkNCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiBSZWZlciB0byAiaTQwZV90eF9mcmVlX2J1 ZnNfYXZ4NTEyIiwgdGhpcyBwYXRjaCBwdXRzIG1lbXBvb2wgY2FjaGUNCj4gPiA+ID4gb3V0IG9m IEFQSSB0byBmcmVlIGJ1ZmZlcnMgZGlyZWN0bHkuIFRoZXJlIGFyZSB0d28gY2hhbmdlcw0KPiA+ ID4gPiBkaWZmZXJlbnQgd2l0aCBwcmV2aW91cyB2ZXJzaW9uOg0KPiA+ID4gPiAxLiBjaGFuZ2Ug dHhlcCBmcm9tICJpNDBlX2VudHJ5IiB0byAiaTQwZV92ZWNfZW50cnkiDQo+ID4gPiA+IDIuIHB1 dCBjYWNoZSBvdXQgb2YgIm1lbXBvb2xfYnVsayIgQVBJIHRvIGNvcHkgYnVmZmVycyBpbnRvIGl0 DQo+ID4gPiA+IGRpcmVjdGx5DQo+ID4gPiA+DQo+ID4gPiA+IFBlcmZvcm1hbmNlIFRlc3Qgd2l0 aCBsM2Z3ZCBuZW9uIHBhdGg6DQo+ID4gPiA+IAkJd2l0aCB0aGlzIHBhdGNoDQo+ID4gPiA+IG4x c2RwOgkJbm8gcGVyZm9yYW1uY2UgY2hhbmdlDQo+ID4gPiA+IGFtcGVyLWFsdHJhOgkrNC4wJQ0K PiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VyIGRldGFpbGVkIGNvbW1l bnRzLg0KPiA+DQo+ID4gPiBUaGFua3MgZm9yIFJGQywgYXBwcmVjaWF0ZSB5b3VyIGVmZm9ydC4N Cj4gPiA+IFNvLCBhcyBJIHVuZGVyc3RhbmQgLSBieXBhc3NpbmcgbWVtcG9vbCBwdXQvZ2V0IGl0 c2VsZiBnaXZlcyBhYm91dA0KPiA+ID4gNy0xMCUgc3BlZWR1cCBmb3IgUlgvVFggb24gQVJNIHBs YXRmb3JtcywgY29ycmVjdD8NCj4gPiBbRmVpZmVpXSBZZXMuDQpbRmVpZmVpXSBTb3JyeSBJIG5l ZWQgdG8gY29ycmVjdCB0aGlzLiBBY3R1YWxseSBhY2NvcmRpbmcgdG8gb3VyIHRlc3QgaW4gZGly ZWN0LXJlYXJtDQpjb3ZlciBsZXR0ZXIsICB0aGUgaW1wcm92ZW1lbnQgaXMgNyUgdG8gMTQlIG9u IE4xU0RQIGFuZCAxNCUgdG8gMTclIG9uIEFtcGVyZQ0KQWx0cmEuDQo+ID4NCj4gPiA+DQo+ID4g PiBBYm91dCBkaXJlY3QtcmVhcm0gUlggYXBwcm9hY2ggeW91IHByb3Bvc2U6DQo+ID4gPiBBZnRl ciBhbm90aGVyIHRob3VnaHQsIHByb2JhYmx5IGl0IGlzIHBvc3NpYmxlIHRvIHJlLWFycmFuZ2Ug aXQgaW4gYQ0KPiA+ID4gd2F5IHRoYXQgd291bGQgaGVscCBhdm9pZCByZWxhdGVkIG5lZ2F0aXZl cy4NCj4gPiA+IFRoZSBiYXNpYyBpZGVhIGFzIGZvbGxvd3M6DQo+ID4gPg0KPiA+ID4gMS4gTWFr ZSBSWFEgc3dfcmluZyB2aXNpYmxlIGFuZCBhY2Nlc3NpYmxlIGJ5ICdhdHRhY2hlZCcgVFggcXVl dWVzLg0KPiA+ID4gICAgIEFsc28gbWFrZSBzd19yaW5nIGRlLWNvdXBsZWQgZnJvbSBSWFEgaXRz ZWxmLCBpLmU6DQo+ID4gPiAgICAgd2hlbiBSWFEgaXMgc3RvcHBlZCBvciBldmVuIGRlc3Ryb3ll ZCwgcmVsYXRlZCBzd19yaW5nIG1heSBzdGlsbA0KPiA+ID4gICAgIGV4aXN0IChwcm9iYWJseSBy ZWYtY291bnRlciBvciBSQ1Ugd291bGQgYmUgc3VmZmljaWVudCBoZXJlKS4NCj4gPiA+ICAgICBB bGwgdGhhdCBtZWFucyB3ZSBuZWVkIGEgY29tbW9uIGxheW91dC9hcGkgZm9yIHJ4cV9zd19yaW5n DQo+ID4gPiAgICAgYW5kIFBNRHMgdGhhdCB3b3VsZCBsaWtlIHRvIHN1cHBvcnQgZGlyZWN0LXJl YXJtaW5nIHdpbGwgaGF2ZSB0bw0KPiA+ID4gICAgIHVzZS9vYmV5IGl0Lg0KPiA+IFtGZWlmZWld IGRlLWNvdXBsZWQgc3ctcmluZyBhbmQgUlhRIG1heSBjYXVzZSBkYW5nZXJvdXMgY2FzZSBkdWUg dG8NCj4gPiBSWFEgaXMgc3RvcHBlZCBidXQgZWxlbWVudHMgb2YgaXQgKHN3LXJpbmcpIGlzIHN0 aWxsIGtlcHQgYW5kIHdlIG1heQ0KPiA+IGZvcmdldCB0byBmcmVlIHRoaXMgc3ctcmluZyBpbiB0 aGUgZW5kLg0KPiA+IEZ1cnRoZXJtb3JlLCAgaWYgd2UgYXBwbHkgdGhpcywgd2UgbmVlZCB0byBz ZXBhcmF0ZSBvcGVyYXRpb24gd2hlbg0KPiA+IGNsb3NpbmcgUlhRIGFuZCBhZGQgUnggc3ctcmlu ZyBmcmVlIG9wZXJhdGlvbiB3aGVuIGNsb3NpbmcgVFhRLiBUaGlzDQo+ID4gd2lsbCBiZSBjb21w bGV4IGFuZCBpdCBpcyBub3QgY29uZHVjaXZlIHRvIHN1YnNlcXVlbnQgbWFpbnRlbmFuY2UgaWYN Cj4gPiBtYWludGFpbmVyIGRvZXMgbm90IHVuZGVyc3RhbmQgZGlyZWN0LXJlYXJtIG1vZGUgdmVy eSB3ZWxsLg0KPiA+DQo+ID4gPg0KPiA+ID4gMi4gTWFrZSBSWFEgc3dfcmluZyAnZGlyZWN0JyBy ZWFybWluZyBkcml2ZW4gYnkgVFhRIGl0c2VsZiwgaS5lOg0KPiA+ID4gICAgIGF0IHR4cV9mcmVl X2J1ZnMoKSB0cnkgdG8gc3RvcmUgcmVsZWFzZWQgbWJ1ZnMgaW5zaWRlIGF0dGFjaGVkDQo+ID4g PiAgICAgc3dfcmluZyBkaXJlY3RseS4gSWYgdGhlcmUgaXMgbm8gYXR0YWNoZWQgc3dfcmluZywg b3Igbm90IGVub3VnaA0KPiA+ID4gICAgIGZyZWUgc3BhY2UgaW4gaXQgLSBjb250aW51ZSB3aXRo IG1lbXBvb2xfcHV0KCkgYXMgdXN1YWwuDQo+ID4gPiAgICAgTm90ZSB0aGF0IGFjdHVhbCBhcm1p bmcgb2YgSFcgUlhEcyBzdGlsbCByZW1haW5zIHJlc3BvbnNpYmlsaXR5DQo+ID4gPiAgICAgb2Yg UlggY29kZS1wYXRoOg0KPiA+ID4gICAgIHJ4cV9yZWFybShyeHEpIHsNCj4gPiA+ICAgICAgIC4u Lg0KPiA+ID4gICAgICAgLSBjaGVjayBhcmUgdGhlcmUgYXJlIE4gYWxyZWFkeSBmaWxsZWQgZW50 cmllcyBpbnNpZGUgcnhxX3N3X3JpbmcuDQo+ID4gPiAgICAgICAgIGlmIG5vdCwgcG9wdWxhdGUg dGhlbSBmcm9tIG1lbXBvb2wgKHVzdWFsIG1lbXBvb2xfZ2V0KCkpLg0KPiA+ID4gICAgICAgLSBh cm0gcmVsYXRlZCBSWERzIGFuZCBtYXJrIHRoZXNlIHN3X3JpbmcgZW50cmllcyBhcyBtYW5hZ2Vk IGJ5IEhXLg0KPiA+ID4gICAgICAgLi4uDQo+ID4gPiAgICAgfQ0KPiA+ID4NCj4gPiBbRmVpZmVp XSBXZSB0cnkgdG8gY3JlYXRlIHR3byBtb2Rlcywgb25lIGlzIGRpcmVjdC1yZWFybSBhbmQgdGhl IG90aGVyDQo+ID4gaXMgZGlyZWN0LWZyZWUgbGlrZSBhYm92ZS4NCj4gPiBBbmQgYnkgcGVyZm9y bWFuY2UgY29tcGFyaXNvbiwgd2Ugc2VsZWN0IGRpcmVjdC1yZWFybSB3aGljaCBpbXByb3ZlDQo+ ID4gcGVyZm9ybWFuY2UgYnkgNyUgLSAxNCUgY29tcGFyZWQgd2l0aCBkaXJlY3QtZnJlZSBieSAz LjYlIC0gNyUgaW4gbjFzZHAuDQo+ID4gRnVydGhlcm1vcmUsIEkgdGhpbmsgcHV0IGRpcmVjdCBt b2RlIGluIFR4IG9yIFJ4IGlzIGVxdWl2YWxlbnQuIEZvcg0KPiA+IGRpcmVjdC0gcmVhcm0sIGlm IHRoZXJlIGlzIG5vIFR4IHN3LXJpbmcsIFJ4IHdpbGwgZ2V0IG1idWZzIGZyb20NCj4gPiBtZW1w b29sLiBGb3IgZGlyZWN0LSBmZWUsIGlmIHRoZXJlIGlzIG5vIFJ4IHN3LXJpbmcsIFR4IHdpbGwg cHV0IG1idWZzDQo+ID4gaW50byBtZW1wb29sLiBBdCBsYXN0LCB3aGF0IGFmZmVjdHMgb3VyIGRl Y2lzaW9uLW1ha2luZyBpcyB0aGUNCj4gaW1wcm92ZW1lbnQgb2YgcGVyZm9ybWFuY2UuDQo+ID4N Cj4gPiA+DQo+ID4gPiBTbyByeHFfc3dfcmluZyB3aWxsIHNlcnZlIHR3byBwdXJwb3NlczoNCj4g PiA+IC0gdHJhY2sgbWJ1ZnMgdGhhdCBhcmUgbWFuYWdlZCBieSBIVyAodGhhdCB3aGF0IGl0IGRv ZXMgbm93KQ0KPiA+ID4gLSBwcml2YXRlIChwZXIgUlhRKSBtYnVmIGNhY2hlDQo+ID4gPg0KPiA+ ID4gTm93LCBpZiBUWFEgaXMgc3RvcHBlZCB3aGlsZSBSWFEgaXMgcnVubmluZyAtIG5vIGV4dHJh DQo+ID4gPiBzeW5jaHJvbml6YXRpb24gaXMgcmVxdWlyZWQsIFJYUSB3b3VsZCBqdXN0IHVzZQ0K PiA+ID4gbWVtcG9vbF9nZXQoKSB0byByZWFybSBpdHMgc3dfcmluZyBpdHNlbGYuDQo+ID4gPg0K PiA+ID4gSWYgUlhRIGlzIHN0b3BwZWQgd2hpbGUgVFhRIGlzIHN0aWxsIHJ1bm5pbmcgLSBUWFEg Y2FuIHN0aWxsDQo+ID4gPiBjb250aW51ZSB0byBwb3B1bGF0ZSByZWxhdGVkIHN3X3JpbmcgdGls bCBpdCBnZXRzIGZ1bGwuDQo+ID4gPiBUaGVuIGl0IHdpbGwgY29udGludWUgd2l0aCBtZW1wb29s X3B1dCgpIGFzIHVzdWFsLg0KPiA+ID4gT2YtY291cnNlIGl0IG1lYW5zIHRoYXQgdXNlciB3aG8g d2FudHMgdG8gdXNlIHRoaXMgZmVhdHVyZSBzaG91bGQNCj4gPiA+IHByb2JhYmx5IGFjY291bnQg c29tZSBleHRyYSBtYnVmcyBmb3Igc3VjaCBjYXNlLCBvciBtaWdodCBiZQ0KPiA+ID4gcnhxX3N3 X3JpbmcgY2FuIGhhdmUgZW5hYmxlL2Rpc2FibGUgZmxhZyB0byBtaXRpZ2F0ZSBzdWNoIHNpdHVh dGlvbi4NCj4gPiA+DQo+ID4gW0ZlaWZlaV0gRm9yIGRpcmVjdC1yZWFybSwgdGhlIGtleSBwb2lu dCBzaG91bGQgYmUgdGhlIGNvbW11bmljYXRpb24NCj4gPiBiZXR3ZWVuIFRYUSBhbmQgUlhRIHdo ZW4gVFhRIGlzIHN0b3BwZWQuIERlLWNvdXBsZWQgc3ctcmluZyBpcw0KPiA+IGNvbXBsZXgsIG1h eWJlIHdlIGNhbiBzaW1wbGlmeSB0aGlzIGFuZCBhc3NpZ24gdGhpcyB0byB0aGUNCj4gPiBhcHBs aWNhdGlvbi4gTXkgdGhvdWdodCBpcyB0aGF0IGlmIGRpcmVjdC1yZWFybSBpcyBlbmFibGVkLCB3 aGVuIHVzZXJzDQo+ID4gd2FudCB0byBjbG9zZSBUWCBwb3J0LCB0aGV5IG11c3QgZmlyc3RseSBj bG9zZSBtYXBwZWQgUlggcG9ydCBhbmQNCj4gPiBkaXNhYmxlIGRpcmVjdC1yZWFybSBmZWF0dXJl LiBUaGVuIHRoZXkgY2FuIHJlc3RhcnQgUlggcG9ydC4NCj4gW0ZlaWZlaV0gSSB0aGluayBoZXJl IHdlIGNhbiByZWZlciB0byAiaGFpcnBpbiBxdWV1ZSIgaW4gJw0KPiBydGVfZXRoX2Rldl90eF9x dWV1ZV9zdG9wICc6DQo+ICcnDQo+IGlmIChydGVfZXRoX2Rldl9pc190eF9oYWlycGluX3F1ZXVl KGRldiwgdHhfcXVldWVfaWQpKSB7DQo+IAkJUlRFX0VUSERFVl9MT0coSU5GTywNCj4gCQkJIkNh bid0IHN0b3AgVHggaGFpcnBpbiBxdWV1ZSAlIlBSSXUxNiIgb2YgZGV2aWNlDQo+IHdpdGggcG9y dF9pZD0lIlBSSXUxNiJcbiIsDQo+IAkJCXR4X3F1ZXVlX2lkLCBwb3J0X2lkKTsNCj4gCQlyZXR1 cm4gLUVJTlZBTDsNCj4gCX0NCj4gIg0KPiA+DQo+ID4gPiBBcyBhbm90aGVyIGJlbmVmaXQgaGVy ZSAtIHN1Y2ggYXBwcm9hY2ggbWFrZXMgcG9zc2libGUgdG8gdXNlDQo+ID4gPiBzZXZlcmFsIFRY UXMgKGV2ZW4gZnJvbSBkaWZmZXJlbnQgZGV2aWNlcykgdG8gcmVhcm0gc2FtZSBSWFEuDQo+ID4g W0ZlaWZlaV0gQWN0dWFsbHksIGZvciBkaXJlY3QtcmVhcm0sIGl0IGNhbiB1c2Ugc2V2ZXJhbCBS WFFzIHRvIHJlYXJtDQo+ID4gc2FtZSBUWFEsIHNvIHRoaXMgaXMgZXF1aXZhbGVudCBmb3IgZGly ZWN0LXJlYXJtIGFuZCBkaXJlY3QtZnJlZS4NCj4gPiBGdXJ0aGVybW9yZSwgSWYgdXNlIG11bHRp cGxlIGNvcmVzLCBJIHRoaW5rIHdlIG5lZWQgdG8gY29uc2lkZXINCj4gPiBzeW5jaHJvbml6YXRp b24gb2YgdmFyaWFibGVzLCBhbmQgbG9jayBpcyBuZWNlc3NhcnkuDQo+ID4NCj4gPiA+DQo+ID4g PiBIYXZlIHRvIHNheSwgdGhhdCBJIGFtIHN0aWxsIG5vdCBzdXJlIHRoYXQgMTAlIFJYL1RYIGlt cHJvdmVtZW50IGlzDQo+ID4gPiB3b3J0aCBieXBhc3NpbmcgbWVtcG9vbCBjb21wbGV0ZWx5IGFu ZCBpbnRyb2R1Y2luZyBhbGwgdGhpcyBleHRyYQ0KPiA+ID4gY29tcGxleGl0eSBpbiBSWC9UWCBw YXRoLg0KPiA+IFtGZWlmZWldIFRodXMgbWF5YmUgd2UgY2FuIGF2b2lkIHRoaXMgY29tcGxleGl0 eSBhcyBtdWNoIGFzIHBvc3NpYmxlLg0KPiA+IFdlIHNob3VsZCBub3QgaW5jcmVhc2UgdGhlIGNv bXBsZXhpdHkgb2YgdGhlIGJvdHRvbSBsYXllciBmb3INCj4gPiBjb252ZW5pZW5jZSwgYnV0IGxl YXZlIGl0IHRvIHRoZSB1c2VyIHRvIGRlY2lkZS4gIElmIHVzZXIgd2FudHMNCj4gPiBwZXJmb3Jt YW5jZSwgaGUgbmVlZHMgdG8gY29uc2lkZXIgYW5kIG9wZXJhdGUgbW9yZS4NCj4gPg0KPiA+ID4g QnV0LCBpZiB3ZSdsbCBzdGlsbCBkZWNpZGUgdG8gZ28gYWhlYWQgd2l0aCBkaXJlY3QtcmVhcm1p bmcsIHRoaXMNCj4gPiA+IHJlLWFycmFuZ2VtZW50LCBJIHRoaW5rLCBzaG91bGQgaGVscCB0byBr ZWVwIHRoaW5ncyBjbGVhciBhbmQgYXZvaWQNCj4gPiA+IGludHJvZHVjaW5nIG5ldyBsaW1pdGF0 aW9ucyBpbiBleGlzdGluZyBmdW5jdGlvbmFsaXR5Lg0KPiA+ID4NCj4gPiA+IFdEWVQ/DQo+ID4g Pg0KPiA+ID4gS29uc3RhbnRpbg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCg0K