From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (unknown [134.134.136.100]) by mail.toke.dk (Postfix) with ESMTPS id D4FA2A1D727 for ; Mon, 31 Jul 2023 12:56:52 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=nMDJcGnu DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690801017; x=1722337017; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=00r5gllT0Cq4uVi7D4yJV4ySnRJGqb0EL2cKWSfvCac=; b=nMDJcGnuJ7O3nt8fJ5SX8lZOyNv64mkTd+k+XWptLJNPhKx7PwaV+keU 34tBjJUd7PxfWV3HKI3FL7Hzt4AkyfaRo0R6BJfSR/yCJR3qcHVrtzG9A dkHkft6sq78YqCIbtMcdl9NlNxyJJpMaQXimLvdJUU5siZJF/y06qgdyA j4hlazL8Gs9RF1Jf53G4fVEthyZGT9huaxCPrseiUf+7eqzPA27LyXOlQ RaCVO0eIwbEo87nb5ayc40H+Ng7yo2qEfTFXTxE9Fl9gOaVa2ZwKFdUvv ecnIZmcbheahpKacmNPlvknpLBI6+8h1HMXI6gNHDrx0Le53T3O28bgtT w==; X-IronPort-AV: E=McAfee;i="6600,9927,10787"; a="435290650" X-IronPort-AV: E=Sophos;i="6.01,244,1684825200"; d="scan'208";a="435290650" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jul 2023 03:56:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10787"; a="798212302" X-IronPort-AV: E=Sophos;i="6.01,244,1684825200"; d="scan'208";a="798212302" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga004.fm.intel.com with ESMTP; 31 Jul 2023 03:56:48 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 31 Jul 2023 03:56:48 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 31 Jul 2023 03:56:48 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 31 Jul 2023 03:56:48 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 31 Jul 2023 03:56:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VN8pzGw1SyoA9B/Fo1qSk8nAXygtU0FbO2Zvvkc8o2//YtoCGvgQIbGa4ufHYElZlIALPR3FSufkqHPeJBDw4htB+n1vmMvRWc+Cn6P3n0rdTy3au+56smMs5XPV71m/Kfj65E9TQEsMLxrPQay1sI1BKU/W5k/JUVpNLpUxLiJXtiPS46sUgn5mNYcSuEk/9CvIRReDhe1o9EL5Qk36NTAHSqb/sX8idcq+caL9uNL/dGE6AzoELvIYMe5kTGAdnInGaKYOERJnkYwrPYOsKF3Vz2vXm2m8Q1zNU7iDHOsRiPzsVKhlHfJQD5crcL68iUNyL3jnM6FBqKqF8yLBOw== 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=11YOiMFAFajkTdc40rW8zM6e0HnW8WPleUP/+xTJXTc=; b=h0pZ6V+EJ9oYgxgd6MJyrZwLuA++BBtzAyWk46ojydB9xY8RjRzEGt7sdenYU/r1dEI1TyYhnEjq0V4ISmH3kxZaYMfHpjiHedlhazKKels8JaY94tVgM02B8liYcc6KtzK+FpS2mLJhuFAjklVZhJ64B7/OKrqJ0zZqLTOBBtcNDALfvRBd4oMunDidMLFE3jyXj2xLx+dVsvdp7GJiJEx7k3HrElwOWXYHd/Zhwc2v3OD/SP3//Dm2x3VW+FIxvyLXvlTJFzu/A08PfFqup+nFHPpMxAt/xLR16TNamSu1j3sjqFR/EPP2G+XkTTddmVRZhD5za+qrfofy1quO0g== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SN7PR11MB7540.namprd11.prod.outlook.com (2603:10b6:806:340::7) by SJ2PR11MB7714.namprd11.prod.outlook.com (2603:10b6:a03:4fd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Mon, 31 Jul 2023 10:56:46 +0000 Received: from SN7PR11MB7540.namprd11.prod.outlook.com ([fe80::2e3b:2384:e6ce:698a]) by SN7PR11MB7540.namprd11.prod.outlook.com ([fe80::2e3b:2384:e6ce:698a%7]) with mapi id 15.20.6631.026; Mon, 31 Jul 2023 10:56:45 +0000 Date: Mon, 31 Jul 2023 12:52:02 +0200 From: Larysa Zaremba To: Willem de Bruijn , Alexei Starovoitov Message-ID: References: <20230728173923.1318596-1-larysa.zaremba@intel.com> <20230728173923.1318596-13-larysa.zaremba@intel.com> <20230728215340.pf3qcfxh7g4x7s6a@MacBook-Pro-8.local> <64c53b1b29a66_e235c2942d@willemb.c.googlers.com.notmuch> <64c661de227c2_11bfb629493@willemb.c.googlers.com.notmuch> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <64c661de227c2_11bfb629493@willemb.c.googlers.com.notmuch> X-ClientProxiedBy: FR0P281CA0078.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::17) To SN7PR11MB7540.namprd11.prod.outlook.com (2603:10b6:806:340::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB7540:EE_|SJ2PR11MB7714:EE_ X-MS-Office365-Filtering-Correlation-Id: f1286639-b109-4655-032e-08db91b4d460 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zBloti3jujkgaVcZnZVK7O9nykt+5/ez7BZKOk8+/ZVJ/9XeM4cuNjljHxwDDqPB9flsiaIGoJmnfa08V8ybiELnTmkzpsYzYoQydsAabpj/4Kus+fHKkWHcV6N1GIQnPk/oCxjq4T2kDRNBrnM1BpOX35ofsA9MxApe9kEkRbzRnWNgWory3vJaSv94wpyAhMV7Q8+37ibahz3qASOJC0FOp3iF7PvfoUkSCegq5quIHOAIjsyTOx1nTYFDM7eI/WYNMlWWN4Wm/mDKUEYcQD4h+BEkkBy5rZvMRuhe8OlZfyEhn/oSeCpG7Ws3iOB0HEcMcQ/iC/K2nkNT7FbMxajsSORMkDPYN/Txyj+SwGzXS6895ULpI/v/+9379roT5vUWj//aRV5w9+5Oq04WGKw+diD0BUjQ1sTzq0uVNSW1WnAP2mjY881jVpUb+Sc0WeJydCP+pqlfS3ZkGA96g31Iq+ppY4CkjqjsWVlYH3kcl2eC7o386X5B1o4yJuEfzg180rJzIJJZevsQ0ZvoY+rUzHYkVNwzjJp6HfRIoeWXLRvmXbcG9gaWJhdq3OBH8syvvYzoFpkDdilmYzko/09+RHP/mi+TXTXAqdV8FTs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB7540.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(396003)(39860400002)(376002)(366004)(346002)(136003)(451199021)(2906002)(316002)(8676002)(8936002)(7416002)(5660300002)(44832011)(41300700001)(33716001)(86362001)(6512007)(6486002)(6666004)(54906003)(478600001)(82960400001)(53546011)(966005)(26005)(6506007)(186003)(110136005)(9686003)(83380400001)(66946007)(38100700002)(66556008)(4326008)(66476007)(134885004);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NmVic2pkVlFoZmRhQ2w3Q2xDUTR5bFVoUHFFZDc1S29oT1BhQjVvSHpPU0c5?= =?utf-8?B?enF2eGVaMXVVeXVld3ZrWVRrRWZ0Q3dpeE1SQWtFd1UvOUdtaXFLcGl4L2Ro?= =?utf-8?B?VE5DLzk5Sm1IbUhUaG9mRW1sckptcVp6Z3hxSW9aRVdUK0tMSUZRYmJwZEpN?= =?utf-8?B?SVZXWlZ4anROc2txTldqaVo3aEs5dHNlRFZ1aTZ6bE9TWVdNZW1POXQyQm1S?= =?utf-8?B?T3UwRkxJc3owdGpOZElNRjUwajlyV0lWOFczV1Y3eGR0NTZyVTQwdHM1OE5H?= =?utf-8?B?WkVKQmlsUlhhRDNYVFpyQlhLaHBYNStycG5saVQ3aGJzRWRkZnVVYXhFSU9O?= =?utf-8?B?RGk0dG5zbExWSE9GTDlObXR1WHVENFZXMms0a082L3c4Z0hMdGNaMjlzaXF2?= =?utf-8?B?NXY4VGhFYXAyZllWcEtDSVFZOFZlb1FqemM1RFlzQWpKWmtRUXVzcjUyUG55?= =?utf-8?B?RHpLbXBDQ29adnJyTzQ0d0xwY2E4RVUxYWRPMnNZb3JXaFp3SHNpWDJ6T3cw?= =?utf-8?B?UnFwSlJPVTdSSXR0dUw5c242MUU0L2hmbUZCelhsMldTMUlUWTU1YnQzTlpx?= =?utf-8?B?d3lreDNMNmRmNDA4VHJSSmhqMDNqelFWazhhaFFEZ0FWNVBWZ2IvOGZtOEZ2?= =?utf-8?B?ZzRZbnpWRHE5WnNBODNwT2locE02M01ucTBWaXBmc2dxSkNDbmh5L29RTTZk?= =?utf-8?B?ellReGhFNkxzbzh6VlMzWnZIbExNT3Vua2VYYXZvZUpONlVQN1JNNHd2Q24z?= =?utf-8?B?dDdkVDYrTGQvNnI5ZDE4OUgySVFPYkxQMU9Fa0dWZHROaW04KzJHZlBSL1Nw?= =?utf-8?B?bFh2QmFzNko3UndkcDl2c21xU3lJamxLSG5YZ3VpNG1aRC9HSVdsMXBqZGc0?= =?utf-8?B?YTJaY053Mis1SjBaUm16WjFuOHV2UmtDaHdrZndScXI3NUlwOHZ2UitmdUdo?= =?utf-8?B?NUhPc05kcC82ODJlOFNIUXd1eGFESXZURXEveEcraFVIYmtYZHQrYU1KOFpK?= =?utf-8?B?MmtUS2c5RGNJOTVFK1cweC9GNnoweEpqM1lqZXlUUkZpRzk5WEZhK0Q5ZUFH?= =?utf-8?B?R0lmUDI3YjFwa0RoMnpBN0JGU1FnNThZd0dSSmQzQTBvRVpueHZNUW5tN09y?= =?utf-8?B?YnZtaG5ZVHF2bGF5MEVZL21GM0hhUDlrcjNhOHF0YmFQbEtSbGVZZlVIblRk?= =?utf-8?B?aGNFSitXVFBHbTVGVjNFeG5SS1c2SFVrQmJ5anZORHIwbGYwdEFDTkMrR2Zr?= =?utf-8?B?ZndYNzE4WnBiTXVmSmVZQjY4UWtldGwzWW52K0RFRTY3YmgyVVI5VGJSano0?= =?utf-8?B?M2RCNkNBS0JSY1V6YWJRcWQ0UUNLdGFiNkMxMmpCOUIxMStZaTU3SitUbmp5?= =?utf-8?B?SEFOTlQ3cEErTW05T2dqY1dOQkZjYndZaDVLcDJoYVNuc3U0d2lLV3JocThp?= =?utf-8?B?WUN6NUk4U2hIeUMrTUxqWHVTU05RNU50dXF3RlRpNERGaGxFcjd5TUJUdlhw?= =?utf-8?B?S1kyYUg4Yi84Y3ZHR1NtVzk5eXkrazh2dVdJbkgya2xQL3BlanhPTU4rVDhR?= =?utf-8?B?K2hEeUcwWkZDakh2V3B6NVBmQkJMcm84Unh3Y2JqdjhWbjJTZThOcEFUY2pM?= =?utf-8?B?YndDZlZqLzN1SXF6S0ZReTZTRS95WlAwUzJyT1ZjRU1yQ2hMVXFPSmg4Tno0?= =?utf-8?B?WWJSR1o4dUtFbElaZFBBenRlMXNIL0RQaC95YkhudTdlakFNQnJ4M21wR2k4?= =?utf-8?B?ZnV6WWtHVDJzcE4xM2xPd1BLam5xRTdiMTdETFNkRnNmSElIR2syZXplbUhn?= =?utf-8?B?WitVVXdLM1ZTMXQ3enNxblNvWnVBa2pHNmx0VkpjVHhnN2tRam9Pd256QnMv?= =?utf-8?B?UlFVOXhRd0VSb1RUcmIra1BDNDRFVFp0R1lkUlViVElRYnk5NWl3SmRjSWxY?= =?utf-8?B?SDl4NFQ5VVU5eGREY3FmM3pxSHh0VlN5L29kdC84MHo1Nm4zN0JRV0l3dWwy?= =?utf-8?B?Ni8wSjJUMDB0VTJYb2cwd1BMTldNaEJHcmxVdnRMK2QyTmF2ZlJuQ3I1ckdW?= =?utf-8?B?Vy8rYm5kVU9mRmZydEZtcWpsRFhzYVRCQnZ5c2tDNXpPbWRoSUo2NU9iNC9C?= =?utf-8?B?K0V2TFdOMnBBMENzNXhSNFVldWl4MS9OYzl1YXpSZ1h0dDRNcDFEZTJoMjVY?= =?utf-8?B?dUE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: f1286639-b109-4655-032e-08db91b4d460 X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7540.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 10:56:44.9891 (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: mufUyDBusNec49vLg7zOtZ4VL12znujNJs5ysh87aspGTjyUR6JyYhOZqncycctRkA7S+y9kUbnayzpXv4L7OUBHpD73/2wjYlzPn0ZII5E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB7714 X-OriginatorOrg: intel.com Message-ID-Hash: 63UK5H2ROX32SLVHVC4LG44HXTLDYFVM X-Message-ID-Hash: 63UK5H2ROX32SLVHVC4LG44HXTLDYFVM X-MailFrom: larysa.zaremba@intel.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Alexei Starovoitov , bpf , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , David Ahern , Jakub Kicinski , Willem de Bruijn , Jesper Dangaard Brouer , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, Network Development , Simon Horman X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next v4 12/21] xdp: Add checksum hint List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gU3VuLCBKdWwgMzAsIDIwMjMgYXQgMDk6MTM6MDJBTSAtMDQwMCwgV2lsbGVtIGRlIEJydWlq biB3cm90ZToNCj4gQWxleGVpIFN0YXJvdm9pdG92IHdyb3RlOg0KPiA+IE9uIFNhdCwgSnVsIDI5 LCAyMDIzIGF0IDk6MTXigK9BTSBXaWxsZW0gZGUgQnJ1aWpuDQo+ID4gPHdpbGxlbWRlYnJ1aWpu Lmtlcm5lbEBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IEFsZXhlaSBTdGFyb3ZvaXRv diB3cm90ZToNCj4gPiA+ID4gT24gRnJpLCBKdWwgMjgsIDIwMjMgYXQgMDc6Mzk6MTRQTSArMDIw MCwgTGFyeXNhIFphcmVtYmEgd3JvdGU6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArdW5pb24geGRw X2NzdW1faW5mbyB7DQo+ID4gPiA+ID4gKyAgIC8qIENoZWNrc3VtIHJlZmVycmVkIHRvIGJ5IGBg Y3N1bV9zdGFydCArIGNzdW1fb2Zmc2V0YGAgaXMgY29uc2lkZXJlZA0KPiA+ID4gPiA+ICsgICAg KiB2YWxpZCwgYnV0IHdhcyBuZXZlciBjYWxjdWxhdGVkLCBUWCBkZXZpY2UgaGFzIHRvIGRvIHRo aXMsDQo+ID4gPiA+ID4gKyAgICAqIHN0YXJ0aW5nIGZyb20gY3N1bV9zdGFydCBwYWNrZXQgYnl0 ZS4NCj4gPiA+ID4gPiArICAgICogQW55IHByZWNlZGluZyBjaGVja3N1bXMgYXJlIGFsc28gY29u c2lkZXJlZCB2YWxpZC4NCj4gPiA+ID4gPiArICAgICogQXZhaWxhYmxlLCBpZiBgYHN0YXR1cyA9 PSBYRFBfQ0hFQ0tTVU1fUEFSVElBTGBgLg0KPiA+ID4gPiA+ICsgICAgKi8NCj4gPiA+ID4gPiAr ICAgc3RydWN0IHsNCj4gPiA+ID4gPiArICAgICAgICAgICB1MTYgY3N1bV9zdGFydDsNCj4gPiA+ ID4gPiArICAgICAgICAgICB1MTYgY3N1bV9vZmZzZXQ7DQo+ID4gPiA+ID4gKyAgIH07DQo+ID4g PiA+ID4gKw0KPiA+ID4gPg0KPiA+ID4gPiBDSEVDS1NVTV9QQVJUSUFMIG1ha2VzIHNlbnNlIG9u IFRYLCBidXQgdGhpcyBSWC4gSSBkb24ndCBzZWUgaW4gdGhlIGFib3ZlLg0KPiA+ID4NCj4gPiA+ IEl0IGNhbiBiZSBvYnNlcnZlZCBvbiBSWCB3aGVuIHBhY2tldHMgYXJlIGxvb3BlZC4NCj4gPiA+ DQo+ID4gPiBUaGlzIG1heSBiZSBvYnNlcnZlZCBldmVuIGluIFhEUCBvbiB2ZXRoLg0KPiA+IA0K PiA+IHZldGggYW5kIFhEUCBpcyBhIGJyb2tlbiBjb21iaW5hdGlvbi4gR1NPIHBhY2tldHMgY29t aW5nIG91dCBvZiBjb250YWluZXJzDQo+ID4gY2Fubm90IGJlIHBhcnNlZCBwcm9wZXJseSBieSBY RFAuDQo+ID4gSXQgd2FzIGFkZGVkIG1haW5seSBmb3IgdGVzdGluZy4gSnVzdCBsaWtlICJnZW5l cmljIFhEUCIuDQo+ID4gYnBmIHByb2dzIGF0IHNrYiBsYXllciBpcyBtdWNoIGJldHRlciBmaXQg Zm9yIHZldGguDQo+IA0KPiBPay4gU3RpbGwsIHNlZW1zIGZvcndhcmQgbG9va2luZyBhbmQgbGl0 dGxlIGNvc3QgdG8gZGVmaW5lIHRoZQ0KPiBjb25zdGFudD8NCj4NCg0KKzENCkNIRUNLU1VNX1BB UlRJQUwgaXMgbW9zdGx5IGZvciB0ZXN0aW5nIGFuZCByZW1vdmluZy9hZGRpbmcgaXQgZG9lc24n dCBjaGFuZ2UgDQphbnl0aGluZyBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgdXNlciB0aGF0 IGRvZXMgbm90IHVzZSBpdCwgc28gSSB0aGluayBpdCBpcyANCndvcnRoIGhhdmluZy4NCg0KPiA+ ID4gPiA+ICsgICAvKiBDaGVja3N1bSwgY2FsY3VsYXRlZCBvdmVyIHRoZSB3aG9sZSBwYWNrZXQu DQo+ID4gPiA+ID4gKyAgICAqIEF2YWlsYWJsZSwgaWYgYGBzdGF0dXMgJiBYRFBfQ0hFQ0tTVU1f Q09NUExFVEVgYC4NCj4gPiA+ID4gPiArICAgICovDQo+ID4gPiA+ID4gKyAgIHUzMiBjaGVja3N1 bTsNCj4gPiA+ID4NCj4gPiA+ID4gaW1vIFhEUCBSWCBzaG91bGQgb25seSBzdXBwb3J0IFhEUF9D SEVDS1NVTV9DT01QTEVURSB3aXRoIHUzMiBjaGVja3N1bQ0KPiA+ID4gPiBvciBYRFBfQ0hFQ0tT VU1fVU5ORUNFU1NBUlkuDQo+ID4gPiA+DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICtlbnVtIHhkcF9jc3VtX3N0YXR1cyB7DQo+ID4gPiA+ID4gKyAgIC8qIEhXIGhhZCBw YXJzZWQgc2V2ZXJhbCB0cmFuc3BvcnQgaGVhZGVycyBhbmQgdmFsaWRhdGVkIHRoZWlyDQo+ID4g PiA+ID4gKyAgICAqIGNoZWNrc3Vtcywgc2FtZSBhcyBgYENIRUNLU1VNX1VOTkVDRVNTQVJZYGAg aW4gYGBza19idWZmYGAuDQo+ID4gPiA+ID4gKyAgICAqIDMgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0 ZXMgY29udGFpbiBudW1iZXIgb2YgY29uc2VjdXRpdmUgY2hlY2tzdW1zLA0KPiA+ID4gPiA+ICsg ICAgKiBzdGFydGluZyB3aXRoIHRoZSBvdXRlcm1vc3QsIHJlcG9ydGVkIGJ5IGhhcmR3YXJlIGFz IHZhbGlkLg0KPiA+ID4gPiA+ICsgICAgKiBgYHNrX2J1ZmZgYCBjaGVja3N1bSBsZXZlbCAoYGBj c3VtX2xldmVsYGApIG5vdGF0aW9uIGlzIHByb3ZpZGVkDQo+ID4gPiA+ID4gKyAgICAqIGZvciBk cml2ZXIgZGV2ZWxvcGVycy4NCj4gPiA+ID4gPiArICAgICovDQo+ID4gPiA+ID4gKyAgIFhEUF9D SEVDS1NVTV9WQUxJRF9MVkwwICAgICAgICAgPSAxLCAgICAvKiAxIG91dGVybW9zdCBjaGVja3N1 bSAqLw0KPiA+ID4gPiA+ICsgICBYRFBfQ0hFQ0tTVU1fVkFMSURfTFZMMSAgICAgICAgID0gMiwg ICAgLyogMiBvdXRlcm1vc3QgY2hlY2tzdW1zICovDQo+ID4gPiA+ID4gKyAgIFhEUF9DSEVDS1NV TV9WQUxJRF9MVkwyICAgICAgICAgPSAzLCAgICAvKiAzIG91dGVybW9zdCBjaGVja3N1bXMgKi8N Cj4gPiA+ID4gPiArICAgWERQX0NIRUNLU1VNX1ZBTElEX0xWTDMgICAgICAgICA9IDQsICAgIC8q IDQgb3V0ZXJtb3N0IGNoZWNrc3VtcyAqLw0KPiA+ID4gPiA+ICsgICBYRFBfQ0hFQ0tTVU1fVkFM SURfTlVNX01BU0sgICAgID0gR0VOTUFTSygyLCAwKSwNCj4gPiA+ID4gPiArICAgWERQX0NIRUNL U1VNX1ZBTElEICAgICAgICAgICAgICA9IFhEUF9DSEVDS1NVTV9WQUxJRF9OVU1fTUFTSywNCj4g PiA+ID4NCj4gPiA+ID4gSSBkb24ndCBzZWUgd2hhdCBicGYgcHJvZyBzdXBwb3NlIHRvIGRvIHdp dGggdGhlc2UgbGV2ZWxzLg0KPiA+ID4gPiBUaGUgZHJpdmVyIHNob3VsZCBwaWNrIGJldHdlZW4g MzoNCj4gPiA+ID4gWERQX0NIRUNLU1VNX1VOTkVDRVNTQVJZLCBYRFBfQ0hFQ0tTVU1fQ09NUExF VEUsIFhEUF9DSEVDS1NVTV9OT05FLg0KPiA+ID4gPg0KPiA+ID4gPiBObyBsZXZlbHMgYW5kIG5v IGFueXRoaW5nIHBhcnRpYWwuIHBsZWFzZS4NCj4gPiA+DQo+ID4gPiBUaGlzIGxldmVscyBidXNp bmVzcyBpcyBhbiB1bmZvcnR1bmF0ZSBzaWRlIGVmZmVjdCBvZg0KPiA+ID4gQ0hFQ0tTVU1fVU5O RUNFU1NBUlkuIEZvciBhIHBhY2tldCB3aXRoIG11bHRpcGxlIGNoZWNrc3VtIGZpZWxkcywgd2hh dA0KPiA+ID4gZG9lcyB0aGUgYm9vbGVhbiBhY3R1YWxseSBtZWFuPyBXaXRoIHRoZXNlIGxldmVs cywgYXQgbGVhc3QgdGhhdCBpcw0KPiA+ID4gd2VsbCBkZWZpbmVkOiB0aGUgZmlyc3QgTiBjaGVj a3N1bSBmaWVsZHMuDQo+ID4gDQo+ID4gSWYgSSB1bmRlcnN0YW5kIHRoaXMgY29ycmVjdGx5IHRo aXMgaXMgaW50ZWwgc3BlY2lmaWMgZmVhdHVyZSB0aGF0DQo+ID4gb3RoZXIgTklDcyBkb24ndCBo YXZlLiBza2IgbGF5ZXIgYWxzbyBkb2Vzbid0IGhhdmUgc3VjaCBjb25jZXB0Lg0KDQpQbGVhc2Ug bG9vayBpbnRvIGNzdW1fbGV2ZWwgZmllbGQgaW4gc2tfYnVmZi4gSXQgaXMgbm90IHRoZSBtb3N0 IHVzZWQgcHJvcGVydHkgDQppbiB0aGUga2VybmVsIG5ldHdvcmtpbmcgY29kZSwgYnV0IGl0IGlz IGNlcnRhaW5seSAxLiB1c2VkIGJ5IG5ldHdvcmtpbmcgc3RhY2sgDQoyLiBzZXQgdG8gbm9uLXpl cm8gdmFsdWUgYnkgbWFueSB2ZW5kb3JzLg0KDQpTbyB5b3UgZG8gbm90IG5lZWQgdG8gc2VhcmNo IHlvdXJzZWxmLCBJJ2xsIGNvcHktcGFzdGUgdGhlIGRvY3MgZm9yIA0KQ0hFQ0tTVU1fVU5ORUNF U1NBUlkgaGVyZToNCg0KICogICAlQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgaXMgYXBwbGljYWJsZSB0 byBmb2xsb3dpbmcgcHJvdG9jb2xzOg0KICoNCiAqICAgICAtIFRDUDogSVB2NiBhbmQgSVB2NC4N CiAqICAgICAtIFVEUDogSVB2NCBhbmQgSVB2Ni4gQSBkZXZpY2UgbWF5IGFwcGx5IENIRUNLU1VN X1VOTkVDRVNTQVJZIHRvIGENCiAqICAgICAgIHplcm8gVURQIGNoZWNrc3VtIGZvciBlaXRoZXIg SVB2NCBvciBJUHY2LCB0aGUgbmV0d29ya2luZyBzdGFjaw0KICogICAgICAgbWF5IHBlcmZvcm0g ZnVydGhlciB2YWxpZGF0aW9uIGluIHRoaXMgY2FzZS4NCiAqICAgICAtIEdSRTogb25seSBpZiB0 aGUgY2hlY2tzdW0gaXMgcHJlc2VudCBpbiB0aGUgaGVhZGVyLg0KICogICAgIC0gU0NUUDogaW5k aWNhdGVzIHRoZSBDUkMgaW4gU0NUUCBoZWFkZXIgaGFzIGJlZW4gdmFsaWRhdGVkLg0KICogICAg IC0gRkNPRTogaW5kaWNhdGVzIHRoZSBDUkMgaW4gRkMgZnJhbWUgaGFzIGJlZW4gdmFsaWRhdGVk Lg0KICoNCg0KUGxlYXNlLCBsb29rIGF0IHRoaXM6DQoNCiAqICAgJnNrX2J1ZmYuY3N1bV9sZXZl bCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBjaGVja3N1bXMgZm91bmQgaW4N CiAqICAgdGhlIHBhY2tldCBtaW51cyBvbmUgdGhhdCBoYXZlIGJlZW4gdmVyaWZpZWQgYXMgJUNI RUNLU1VNX1VOTkVDRVNTQVJZLg0KICogICBGb3IgaW5zdGFuY2UgaWYgYSBkZXZpY2UgcmVjZWl2 ZXMgYW4gSVB2Ni0+VURQLT5HUkUtPklQdjQtPlRDUCBwYWNrZXQNCiAqICAgYW5kIGEgZGV2aWNl IGlzIGFibGUgdG8gdmVyaWZ5IHRoZSBjaGVja3N1bXMgZm9yIFVEUCAocG9zc2libHkgemVybyks DQogKiAgIEdSRSAoY2hlY2tzdW0gZmxhZyBpcyBzZXQpIGFuZCBUQ1AsICZza19idWZmLmNzdW1f bGV2ZWwgd291bGQgYmUgc2V0IHRvDQogKiAgIHR3by4gSWYgdGhlIGRldmljZSB3ZXJlIG9ubHkg YWJsZSB0byB2ZXJpZnkgdGhlIFVEUCBjaGVja3N1bSBhbmQgbm90DQogKiAgIEdSRSwgZWl0aGVy IGJlY2F1c2UgaXQgZG9lc24ndCBzdXBwb3J0IEdSRSBjaGVja3N1bSBvciBiZWNhdXNlIEdSRQ0K ICogICBjaGVja3N1bSBpcyBiYWQsIHNrYi0+Y3N1bV9sZXZlbCB3b3VsZCBiZSBzZXQgdG8gemVy byAoVENQIGNoZWNrc3VtIGlzDQogKiAgIG5vdCBjb25zaWRlcmVkIGluIHRoaXMgY2FzZSkuDQoN CkZyb206IA0KaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjYuNS1yYzQvc291cmNl L2luY2x1ZGUvbGludXgvc2tidWZmLmgjTDExNQ0KDQo+ID4gVGhlIGRyaXZlciBzaG91bGQgc2F5 IENIRUNLU1VNX1VOTkVDRVNTQVJZIHdoZW4gaXQncyBzdXJlDQo+ID4gb3IgZG9uJ3QgcHJldGVu ZCB0aGF0IGl0IGNoZWNrcyB0aGUgY2hlY2tzdW0gYW5kIGp1c3Qgc2F5IE5PTkUuDQo+IA0KDQpX ZWxsLCBpbiBzdWNoIGNhc2UsIG1vc3Qgb2YgdGhlIE5JQ3MgdGhhdCB1c2UgQ0hFQ0tTVU1fVU5O RUNFU1NBUlkgd291bGQgaGF2ZSB0byANCnJldHVybiBDSEVDS1NVTV9OT05FIGluc3RlYWQsIGJl Y2F1c2UgYmFzZWQgb24gbXkgcXVpY2sgc2VhcmNoLCB0aGV5IG1vc3RseSANCnJldHVybiBjaGVj a3N1bSBsZXZlbCBvZiAwIChubyB0dW5uZWxpbmcgZGV0ZWN0ZWQpIG9yIDEgKHR1bm5lbGluZyBk ZXRlY3RlZCksDQpzbyB0aGV5IG9ubHkgcGFyc2UgaGVhZGVycyB1cCB0byBhIGNlcnRhaW4gZGVw dGgsIG1lYW5pbmcgaXQncyBub3QgcG9zc2libGUNCnRvIHRlbGwgd2hldGhlciB0aGVyZSBpc24n dCBhbm90aGVyIENIRUNLU1VNX1VOTkVDRVNTQVJZLWVsaWdpYmxlIGhlYWRlciBoaWRpbmcNCmlu IHRoZSBwYXlsb2FkLCBzbyB0aG9zZSBOSUMgY2Fubm90IGd1YXJhbnRlZSBBTEwgdGhlIGNoZWNr c3VtcyBwcmVzZW50IGluIHRoZSANCnBhY2tldCBhcmUgY29ycmVjdC4gU28sIGJ5IHlvdXIgbG9n aWMsIHdlIHNob3VsZCBtYWtlIGUuZy4gQUZfWERQIHVzZXIgcmUtY2hlY2sgDQphbHJlYWR5IHZl cmlmaWVkIGNoZWNrc3VtcyB0aGVtc2VsdmVzLCBiZWNhdXNlIEhXICJkb2Vzbid0IHByZXRlbmQg dGhhdCBpdCANCmNoZWNrcyB0aGUgY2hlY2tzdW0gYW5kIGp1c3Qgc2F5cyBOT05FIi4NCg0KPiBJ IGRpZCBub3Qga25vdyBob3cgbXVjaCB0aGlzIHdhcyB1c2VkLCBidXQgcXVpY2sgZ3JlcCBmb3Ig bm9uIGNvbnN0YW50DQo+IGNzdW1fbGV2ZWwgc2hvd3MgZGV2aWNlcyBmcm9tIGF0IGxlYXN0IHNp eCB2ZW5kb3JzLg0KDQpZZXMsIHRoZXJlIGFyZSBzZXZlcmFsIHZlbmRvcnMgdGhhdCBzZXQgdGhl IGNzdW1fbGV2ZWwsIGluY2x1ZGluZyBicm9hZGNvbSANCihibnh0KSBhbmQgbWVsbGFub3ggKG1s eDQgYW5kIG1seDUpLg0KDQpBbHNvLCBDSEVDS1NVTV9VTk5FQ0VTU0FSWSBpcyBmb3VuZCBpbiAx MDArIGRyaXZlcnMvbmV0L2V0aGVybmV0IGZpbGVzLA0Kd2hpbGUgY3N1bV9sZXZlbCBpcyBpbiBs aWtlIDIwLCB3aGljaCBtZWFucyBvdmVyd2hlbG1pbmcgbWFqb3JpdHkgb2YgDQpDSEVDS1NVTV9V Tk5FQ0VTU0FSWSBOSUNzIGFjdHVhbGx5IHN0YXkgd2l0aCB0aGUgZGVmYXVsdCBjaGVja3N1bSBs ZXZlbCBvZiAnMCcNCih0aGV5IGNoZWNrIG9ubHkgdGhlIG91dGVybW9zdCBjaGVja3N1bSAtIGFu eXRoaW5nIGVsc2UgbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgDQp0aGUgbmV0d29ya2luZyBzdGFj aykuDQo=