From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mail.toke.dk (Postfix) with ESMTPS id F0C4D9EA1B8 for ; Thu, 16 Feb 2023 14:29:49 +0100 (CET) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=ZRTocHnm DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676554188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sz//L1El2Opn1dz+ci3fGP9Fc6Go64iupeUlUG/RMd4=; b=ZRTocHnmxirPmjaHOol1S+IFU2Y/P6NwFGtcyaTe85ArMvOxia/JprFnBjc+u+niBZ6BFf V0FNCF40lVXNPR5MTq+lLrRt/YkXYLFeNWTW+hgjEt0oeu1JA8dPHolFA5xxpdcG+qlD8i zoFjBaH9KCtZqRn8K+Ejb5L/y/2QbSU= Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-27-QKQ3UUiQMzmXGu3PyjuBaA-1; Thu, 16 Feb 2023 08:29:46 -0500 X-MC-Unique: QKQ3UUiQMzmXGu3PyjuBaA-1 Received: by mail-ej1-f71.google.com with SMTP id d14-20020a170906c20e00b00889f989d8deso1562090ejz.15 for ; Thu, 16 Feb 2023 05:29:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sz//L1El2Opn1dz+ci3fGP9Fc6Go64iupeUlUG/RMd4=; b=QEB1tiDPEsBlhL7QCJwRw7uTD1ojDaWkMhPgqiHh79qem+DdfzXigehXKz15pKrSdy gafVjAYDDzW51ph18t1njisZtiIaD1CSfk01lmLwdKeN5c6zsLJjvZBqLpwvxOpww96e dJ3Q1Sv5TAQGo2AN0ZlMvIPECJIHB/ZSGsSyp+k7Y2M8jg2L9kiTWi57P7kFLG0rD4x7 cgtXs78Gu9vgXmpSxXuPXyS6G3YP1Jum8s2cDbhDjMFXe0UMnbMkVs9d4KTawjlnCd3k syTjtYA5HuvaiZdv6Pr86W+S21KHxB6Vh/Df+cl6Dd/71Vi4H7JKnzrc+u1QrEbtfNgK S1/g== X-Gm-Message-State: AO0yUKX/rOQ+qGiow+7FJqNi33XN2XTaHe2dyk98U0/PJT7UkS41wAQW zSjX9VlagvPbSEEw5sPYqXBUJcO51RfYtRpICpES78iiJwsXssaHReRXT/wbJs+n46hzMSEwaWt vbeMR6k0FannvJFb4mQee X-Received: by 2002:a17:906:4750:b0:878:42af:aa76 with SMTP id j16-20020a170906475000b0087842afaa76mr6836249ejs.54.1676554185658; Thu, 16 Feb 2023 05:29:45 -0800 (PST) X-Google-Smtp-Source: AK7set/WfnsQWHXHhLv72NFdkNfTntbKlY/vDmqk3nHG/xh7pKFkqClgitPqxQd+pnKHF5dU3t9vKg== X-Received: by 2002:a17:906:4750:b0:878:42af:aa76 with SMTP id j16-20020a170906475000b0087842afaa76mr6836226ejs.54.1676554185350; Thu, 16 Feb 2023 05:29:45 -0800 (PST) Received: from [192.168.42.100] (nat-cgn9-185-107-15-52.static.kviknet.net. [185.107.15.52]) by smtp.gmail.com with ESMTPSA id gz17-20020a170907a05100b00882f9130eb3sm794276ejc.223.2023.02.16.05.29.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Feb 2023 05:29:44 -0800 (PST) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: <88e5c6b2-8acc-6585-100d-7b62320e5555@redhat.com> Date: Thu, 16 Feb 2023 14:29:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 To: Paul Menzel , Alexander Lobakin References: <167604167956.1726972.7266620647404438534.stgit@firesoul> <6a5ded96-2425-ff9b-c1b1-eca1c103164c@molgen.mpg.de> In-Reply-To: <6a5ded96-2425-ff9b-c1b1-eca1c103164c@molgen.mpg.de> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: LRNV535BOVTHP3YMGECJEPG547YMBQYY X-Message-ID-Hash: LRNV535BOVTHP3YMGECJEPG547YMBQYY X-MailFrom: jbrouer@redhat.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: brouer@redhat.com, bpf@vger.kernel.org, xdp-hints@xdp-project.net, martin.lau@kernel.org, daniel@iogearbox.net, netdev@vger.kernel.org, ast@kernel.org, Stanislav Fomichev , yoong.siang.song@intel.com, anthony.l.nguyen@intel.com, intel-wired-lan@lists.osuosl.org X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [Intel-wired-lan] [PATCH bpf-next V1] igc: enable and fix RX hash usage by netstack List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQpPbiAxNC8wMi8yMDIzIDE2LjAwLCBQYXVsIE1lbnplbCB3cm90ZToNCj4gDQo+IFRoYW5rIHlv dSB2ZXJ5IG11Y2ggZm9yIHlvdXIgcGF0Y2guDQoNClRoYW5rcyBmb3IgeW91ciByZXZpZXcgOi0p DQoNCj4gQW0gMTAuMDIuMjMgdW0gMTY6MDcgc2NocmllYiBKZXNwZXIgRGFuZ2FhcmQgQnJvdWVy Og0KPj4gV2hlbiBmdW5jdGlvbiBpZ2NfcnhfaGFzaCgpIHdhcyBpbnRyb2R1Y2VkIGluIHY0LjIw IHZpYSBjb21taXQgDQo+PiAwNTA3ZWY4YTAzNzINCj4+ICgiaWdjOiBBZGQgdHJhbnNtaXQgYW5k IHJlY2VpdmUgZmFzdHBhdGggYW5kIGludGVycnVwdCBoYW5kbGVycyIpLCB0aGUNCj4+IGhhcmR3 YXJlIHdhc24ndCBjb25maWd1cmVkIHRvIHByb3ZpZGUgUlNTIGhhc2gsIHRodXMgaXQgbWFkZSBz ZW5zZSB0byBub3QNCj4+IGVuYWJsZSBuZXRfZGV2aWNlIE5FVElGX0ZfUlhIQVNIIGZlYXR1cmUg Yml0Lg0KPj4NCj4+IFRoZSBOSUMgaGFyZHdhcmUgd2FzIGNvbmZpZ3VyZWQgdG8gZW5hYmxlIFJT UyBoYXNoIGluZm8gaW4gdjUuMiB2aWEgDQo+PiBjb21taXQNCj4+IDIxMjFjMjcxMmY4MiAoImln YzogQWRkIG11bHRpcGxlIHJlY2VpdmUgcXVldWVzIGNvbnRyb2wgc3VwcG9ydGluZyIpLCBidXQN Cj4+IGZvcmdvdCB0byBzZXQgdGhlIE5FVElGX0ZfUlhIQVNIIGZlYXR1cmUgYml0Lg0KPj4NCj4+ IFRoZSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiBvZiBpZ2NfcnhfaGFzaCgpIGRpZG4ndCBleHRy YWN0IHRoZSBhc3NvY2lhdGVkDQo+PiBwa3RfaGFzaF90eXBlLCBidXQgc3RhdGljYWxseSBzZXQg UEtUX0hBU0hfVFlQRV9MMy4gVGhlIGxhcmdlc3QgcG9ydGlvbnMgb2YNCj4+IHRoaXMgcGF0Y2gg YXJlIGFib3V0IGV4dHJhY3RpbmcgdGhlIFJTUyBUeXBlIGZyb20gdGhlIGhhcmR3YXJlIGFuZCBt YXBwaW5nDQo+PiB0aGlzIHRvIGVudW0gcGt0X2hhc2hfdHlwZXMuIFRoaXMgd2VyZSBiYXNlZCBv biBGb3h2aWxsZSBpMjI1IHNvZnR3YXJlIA0KPj4gdXNlcg0KPiANCj4gcy9UaGlzIHdlcmUvVGhp cyB3YXMvDQoNCkZpeGVkIGZvciBWMg0KDQo+PiBtYW51YWwgcmV2LTEuMy4xIGFuZCB0ZXN0ZWQg b24gSW50ZWwgRXRoZXJuZXQgQ29udHJvbGxlciBJMjI1LUxNIChyZXYgDQo+PiAwMykuDQo+Pg0K Pj4gRm9yIFVEUCBpdCdzIHdvcnRoIG5vdGluZyB0aGF0IFJTUyAodHlwZSkgaGFzaGluZyBoYXZl IGJlZW4gZGlzYWJsZWQgYm90aCBmb3INCj4+IElQdjQgYW5kIElQdjYgKHNlZSBJR0NfTVJRQ19S U1NfRklFTERfSVBWNF9VRFAgKyBJR0NfTVJRQ19SU1NfRklFTERfSVBWNl9VRFApDQo+PiBiZWNh dXNlIGhhcmR3YXJlIFJTUyBkb2Vzbid0IGhhbmRsZSBmcmFnbWVudGVkIHBrdHMgd2VsbCB3aGVu IGVuYWJsZWQgDQo+PiAoY2FuIGNhdXNlIG91dC1vZi1vcmRlcikuIFRoaXMgcmVzdWx0IGluIFBL VF9IQVNIX1RZUEVfTDMgZm9yIFVEUCBwYWNrZXRzLCBhbmQNCj4gDQo+IHJlc3VsdCpzKg0KDQpG aXhlZCBmb3IgVjINCg0KPiANCj4+IGhhc2ggdmFsdWUgZG9lc24ndCBpbmNsdWRlIFVEUCBwb3J0 IG51bWJlcnMuIE5vdCBiZWluZyBQS1RfSEFTSF9UWVBFX0w0LCBoYXZlDQo+PiB0aGUgZWZmZWN0 IHRoYXQgbmV0c3RhY2sgd2lsbCBkbyBhIHNvZnR3YXJlIGJhc2VkIGhhc2ggY2FsYyBjYWxsaW5n IGludG8NCj4+IGZsb3dfZGlzc2VjdCwgYnV0IG9ubHkgd2hlbiBjb2RlIGNhbGxzIHNrYl9nZXRf aGFzaCgpLCB3aGljaCBkb2Vzbid0DQo+PiBuZWNlc3NhcnkgaGFwcGVuIGZvciBsb2NhbCBkZWxp dmVyeS4NCj4gDQo+IEV4Y3VzZSBteSBpZ25vcmFuY2UsIGJ1dCBpcyB0aGF0IGJ1ZyB2aXNpYmxl IGluIHByYWN0aWNlIGJ5IHVzZXJzIA0KPiAocGVyZm9ybWFuY2U/KSBvciBpcyB0aGF0IGZpeCBu ZWVkZWQgZm9yIGZ1dHVyZSB3b3JrPw0KPiANCj4+IEZpeGVzOiAyMTIxYzI3MTJmODIgKCJpZ2M6 IEFkZCBtdWx0aXBsZSByZWNlaXZlIHF1ZXVlcyBjb250cm9sIHN1cHBvcnRpbmciKQ0KPj4gU2ln bmVkLW9mZi1ieTogSmVzcGVyIERhbmdhYXJkIEJyb3VlciA8YnJvdWVyQHJlZGhhdC5jb20+DQo+ PiAtLS0NCj4+IMKgIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2lnYy9pZ2MuaMKgwqDCoMKg wqAgfMKgwqAgNTIgDQo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gwqAgZHJp dmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaWdjL2lnY19tYWluLmMgfMKgwqAgMzUgKysrKysrKysr KysrKysrKystLS0NCj4+IMKgIDIgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50 ZWwvaWdjL2lnYy5oIA0KPj4gYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pZ2MvaWdjLmgN Cj4+IGluZGV4IGRmM2UyNmMwY2YwMS4uYTExMmVlYjU5NTI1IDEwMDY0NA0KPj4gLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaWdjL2lnYy5oDQo+PiArKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9pZ2MvaWdjLmgNCj4+IEBAIC0zMTEsNiArMzExLDU4IEBAIGV4dGVybiBj aGFyIGlnY19kcml2ZXJfbmFtZVtdOw0KPj4gwqAgI2RlZmluZSBJR0NfTVJRQ19SU1NfRklFTERf SVBWNF9VRFDCoMKgwqAgMHgwMDQwMDAwMA0KPj4gwqAgI2RlZmluZSBJR0NfTVJRQ19SU1NfRklF TERfSVBWNl9VRFDCoMKgwqAgMHgwMDgwMDAwMA0KPj4gKy8qIFJYLWRlc2MgV3JpdGUtQmFjayBm b3JtYXQgUlNTIFR5cGUncyAqLw0KPj4gK2VudW0gaWdjX3Jzc190eXBlX251bSB7DQo+PiArwqDC oMKgIElHQ19SU1NfVFlQRV9OT19IQVNIwqDCoMKgwqDCoMKgwqAgPSAwLA0KPj4gK8KgwqDCoCBJ R0NfUlNTX1RZUEVfSEFTSF9UQ1BfSVBWNMKgwqDCoCA9IDEsDQo+PiArwqDCoMKgIElHQ19SU1Nf VFlQRV9IQVNIX0lQVjTCoMKgwqDCoMKgwqDCoCA9IDIsDQo+PiArwqDCoMKgIElHQ19SU1NfVFlQ RV9IQVNIX1RDUF9JUFY2wqDCoMKgID0gMywNCj4+ICvCoMKgwqAgSUdDX1JTU19UWVBFX0hBU0hf SVBWNl9FWMKgwqDCoCA9IDQsDQo+PiArwqDCoMKgIElHQ19SU1NfVFlQRV9IQVNIX0lQVjbCoMKg wqDCoMKgwqDCoCA9IDUsDQo+PiArwqDCoMKgIElHQ19SU1NfVFlQRV9IQVNIX1RDUF9JUFY2X0VY wqDCoMKgID0gNiwNCj4+ICvCoMKgwqAgSUdDX1JTU19UWVBFX0hBU0hfVURQX0lQVjTCoMKgwqAg PSA3LA0KPj4gK8KgwqDCoCBJR0NfUlNTX1RZUEVfSEFTSF9VRFBfSVBWNsKgwqDCoCA9IDgsDQo+ PiArwqDCoMKgIElHQ19SU1NfVFlQRV9IQVNIX1VEUF9JUFY2X0VYwqDCoMKgID0gOSwNCj4+ICvC oMKgwqAgSUdDX1JTU19UWVBFX01BWMKgwqDCoMKgwqDCoMKgID0gMTAsDQo+PiArfTsNCj4+ICsj ZGVmaW5lIElHQ19SU1NfVFlQRV9NQVhfVEFCTEXCoMKgwqDCoMKgwqDCoCAxNg0KPj4gKyNkZWZp bmUgSUdDX1JTU19UWVBFX01BU0vCoMKgwqDCoMKgwqDCoCAweEYNCj4+ICsNCj4+ICsvKiBpZ2Nf cnNzX3R5cGUgLSBSeCBkZXNjcmlwdG9yIFJTUyB0eXBlIGZpZWxkICovDQo+PiArc3RhdGljIGlu bGluZSB1OCBpZ2NfcnNzX3R5cGUodW5pb24gaWdjX2Fkdl9yeF9kZXNjICpyeF9kZXNjKQ0KPj4g K3sNCj4+ICvCoMKgwqAgLyogUlNTIFR5cGUgNC1iaXQgbnVtYmVyOiAwLTkgKGFib3ZlIDkgaXMg cmVzZXJ2ZWQpICovDQo+PiArwqDCoMKgIHJldHVybiByeF9kZXNjLT53Yi5sb3dlci5sb19kd29y ZC5oc19yc3MucGt0X2luZm8gJiBJR0NfUlNTX1RZUEVfTUFTSzsNCj4+ICt9DQo+IA0KPiBJcyBp dCBuZWNlc3NhcnkgdG8gc3BlY2ZpY3kgdGhlIGxlbmd0aCBvZiB0aGUgcmV0dXJuIHZhbHVlLCBv ciBjb3VsZCBpdCANCj4gYmUgYHVuc2lnbmVkIGludGAuIFVzaW5nIOKAnG5hdGl2ZeKAnSB0eXBl cyBpcyBub3JtYWxseSBtb3JlIHBlcmZvcm1hbnQgWzFdLiANCj4gYHNjcmlwdHMvYmxvYXQtby1t ZXRlcmAgbWlnaHQgaGVscCB0byB2ZXJpZnkgdGhhdC4NCj4gDQoNClRoYW5rcyBmb3IgdGhlIGxp bmtbMV0uDQpBbGV4L09sZWsgYWxzbyBwb2ludGVkIHRoaXMgb3V0Lg0KDQpUaGUgQWduZXIncyBp bnN0cnVjdGlvbiBsYXRlbmN5IHRhYmxlc1syXSBkbyBpbmRpY2F0ZSB0aGUgbGF0ZW5jeSBpcw0K c2xpZ2h0bHkgaGlnaGVyIGZvciByOCBhbmQgcjE2IChhbmQgbTgvbTE2KS4gIEFuZCB3ZSBsaWtl bHkgbmVlZCB0byBsb29rIA0KYXQgdGhlIHplcm8tZXh0ZW5kIHZhcmlhbnRzIG1vdnp4Lg0KDQpJ IHRoaW5rIHdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB0aGlzIHdpdGggInRvb2wiIGdvZGJvbHQub3Jn IGFzDQpzY3JpcHRzL2Jsb2F0LW8tbWV0ZXIgd2lsbCBvbmx5IHRlbGwgdXMgYWJvdXQgY29kZSBz aXplLg0KSSB3aWxsIGV4cGVyaW1lbnQgYSBiaXQgYW5kIHJlcG9ydCBiYWNrIDotKQ0KDQpbMl0g aHR0cHM6Ly93d3cuYWduZXIub3JnL29wdGltaXplL2luc3RydWN0aW9uX3RhYmxlcy5wZGYNCg0K PiBb4oCmXQ0KPiANCj4+IMKgIHN0YXRpYyBpbmxpbmUgdm9pZCBpZ2NfcnhfaGFzaChzdHJ1Y3Qg aWdjX3JpbmcgKnJpbmcsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHVuaW9uIGlnY19hZHZfcnhfZGVzYyAqcnhfZGVzYywNCj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHNrX2J1ZmYgKnNrYikNCj4+IMKgIHsNCj4+ IC3CoMKgwqAgaWYgKHJpbmctPm5ldGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1JYSEFTSCkNCj4+ IC3CoMKgwqDCoMKgwqDCoCBza2Jfc2V0X2hhc2goc2tiLA0KPj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGxlMzJfdG9fY3B1KHJ4X2Rlc2MtPndiLmxvd2VyLmhpX2R3b3JkLnJz cyksDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUEtUX0hBU0hfVFlQRV9M Myk7DQo+PiArwqDCoMKgIGlmIChyaW5nLT5uZXRkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9SWEhB U0gpIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCB1MzIgcnNzX2hhc2ggPSBsZTMyX3RvX2NwdShyeF9k ZXNjLT53Yi5sb3dlci5oaV9kd29yZC5yc3MpOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHU4wqAgcnNz X3R5cGUgPSBpZ2NfcnNzX3R5cGUocnhfZGVzYyk7DQo+IA0KPiBBbW9uZ3N0IG90aGVycywgYWxz byBoZXJlLg0KDQpEbyBub3RpY2UgSSBleHBlY3QgY29tcGlsZXIgdG8gb3B0aW1pemUgdGhpcywg c3VjaCB0aGF0IGlzIGRvZXNuJ3QgcGxhY2UgDQp0aGlzIHZhcmlhYmxlIG9uIHRoZSBzdGFjay4N Cg0KPj4gK8KgwqDCoMKgwqDCoMKgIGVudW0gcGt0X2hhc2hfdHlwZXMgaGFzaF90eXBlOw0KPj4g Kw0KPj4gK8KgwqDCoMKgwqDCoMKgIGhhc2hfdHlwZSA9IGlnY19yc3NfdHlwZV90YWJsZVtyc3Nf dHlwZV0uaGFzaF90eXBlOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHNrYl9zZXRfaGFzaChza2IsIHJz c19oYXNoLCBoYXNoX3R5cGUpOw0KPj4gK8KgwqDCoCB9DQo+PiDCoCB9DQo+PiDCoCBzdGF0aWMg dm9pZCBpZ2NfcnhfdmxhbihzdHJ1Y3QgaWdjX3JpbmcgKnJ4X3JpbmcsDQo+PiBAQCAtNjUwMSw2 ICs2NTI3LDcgQEAgc3RhdGljIGludCBpZ2NfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsDQo+ PiDCoMKgwqDCoMKgIG5ldGRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9UU087DQo+PiDCoMKgwqDC oMKgIG5ldGRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9UU082Ow0KPj4gwqDCoMKgwqDCoCBuZXRk ZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfVFNPX0VDTjsNCj4+ICvCoMKgwqAgbmV0ZGV2LT5mZWF0 dXJlcyB8PSBORVRJRl9GX1JYSEFTSDsNCj4+IMKgwqDCoMKgwqAgbmV0ZGV2LT5mZWF0dXJlcyB8 PSBORVRJRl9GX1JYQ1NVTTsNCj4+IMKgwqDCoMKgwqAgbmV0ZGV2LT5mZWF0dXJlcyB8PSBORVRJ Rl9GX0hXX0NTVU07DQo+PiDCoMKgwqDCoMKgIG5ldGRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9T Q1RQX0NSQzsNCj4gDQo+IA0KPiBLaW5kIHJlZ2FyZHMsDQo+IA0KPiBQYXVsDQo+IA0KPiANCj4g WzFdOiBodHRwczovL25vdGFicy5vcmcvY29kaW5nL3NtYWxsSW50c0JpZ1BlbmFsdHkuaHRtDQo+ IA0KDQo=