From nobody Mon Jul 3 14:50:08 2023 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QvpkJ5DlYz4m1m2 for ; Mon, 3 Jul 2023 14:50:16 +0000 (UTC) (envelope-from Josef.Zahner1@swisscom.com) Received: from mail.swisscom.com (mailout110.swisscom.com [138.188.166.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.swisscom.com", Issuer "SwissSign RSA TLS OV ICA 2021 - 1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QvpkH32y3z3x6D; Mon, 3 Jul 2023 14:50:15 +0000 (UTC) (envelope-from Josef.Zahner1@swisscom.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of Josef.Zahner1@swisscom.com designates 138.188.166.110 as permitted sender) smtp.mailfrom=Josef.Zahner1@swisscom.com; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Received: by mail.swisscom.com; Mon, 3 Jul 2023 16:50:13 +0200 List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="----=_Part_86780_1055658193.1688395812746" X-Mailer: Totemo_TrustMail_(Notification) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GhCyZ6I2aAtIlfebFvbFOZydMvqaNwhm0UlSZw98OkzGTIgkL2vAPSCSKnVzghmRMkQBBfafBx5BYgHO59mqhY6AD05TMNCoFm8AVaxJoXq/8LjiWDzBvbLQ0IYwK81/a2Wvwe/KIXkYJUdNDkJxgwXkAteJhdqhsTE5Jf3EVxEQilM9rJgMVJdk7n9ITYZJFAt3R+ADEVOPL/9WSQJ08qhbaZ6heNtDDOvcdUHsA3YnTNuSbcbiRy0Z7zitXbuZuGCIodca2ZMGGbh+fYRFre4+xo6WIHP7cF4jelOFnQl7PYFBXQiCr9EN3oqxjNWSTL0Drt/C74ioet9MyxIL0Q== 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=3gTiJp3SFbH+HV2Mdo5GvrN8pS3cU4kD7eU6PaTYabs=; b=I3sSgGT6y0lLycPaUVunfFksS1AygKh6M+JUzo+t47m+XWOem4gpsaSkS9HTrkxyzX9sTiMQeDhaBmj9kwMAULOQcgoxyuSkbUnujyvm6gfQ78SRzdLap0hBiSVaDzOz7d+BJNqYNsvO7X1uWLGVHdHUQ6XWlmarr0nFBxm/ksaFasZNvFE6YmWM1h3mQ1eSIgHNblMnur1ZVgM+XqF6WymxK6wr5LkBeSoKayYZ24swideUtiruirQpevwPmcrTZSqemm/9fwJuPPAotJvw+ho1NE3/H/su/r7QSXLjuJluSFC/+Yz6bP0euXxqkoNHgXGxRZoenIhZwyWLjMKZ5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=swisscom.com; dmarc=pass action=none header.from=swisscom.com; dkim=pass header.d=swisscom.com; arc=none From: To: CC: Subject: Re: Chelsio NIC with RSS - Traffic distribution to different Queues Thread-Topic: Chelsio NIC with RSS - Traffic distribution to different Queues Thread-Index: AQHZqBPGF/8DZJWBME+vE7NtdY0QYq+eOzWAgAAIwuOAAN8nAIACmRGPgAP6hgCAAl4aG4AAFJ8D Date: Mon, 3 Jul 2023 14:50:08 +0000 Message-ID: References: <8fe00cbc-f218-a587-48d8-1612223ccd49@FreeBSD.org> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_Enabled=True;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_SiteId=364e5b87-c1c7-420d-9bee-c35d19b557a1;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_SetDate=2023-07-03T13:30:07.1239524Z;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_ContentBits=0;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_Method=Standard x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZR0P278MB0757:EE_|GVAP278MB0779:EE_ x-ms-office365-filtering-correlation-id: b810dfb2-cae1-4b20-c70b-08db7bd4cbe8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: A5PqYeIF8jhFzU8w4A8Ll6qhFBg3DYa8xSB9+JPVXDmKUDrykxXhwns3DcebTgXYSnzcAQztas0Sb9W5WV41NQnKiLJFE+0J5MoKy3OJVWrqQA51nzpXvHNPqYPrAi32SexXwXfoBu59+uQkHhudbfxAYoVBJJKlpLXyJGDcLNUUNwe9azoM7+oCgY6M12gWADOek2CSp4HvZiocSjpexUGY438Rg1yC/MqSZb0K/i0bZjsDQ3Y8A4DOf/xwNSONur7HviIppjTU/Jm6cQyUsV4NKAXZmX0578o96X+I5SnL4ZP2BDpWQNtdopWg/SppyXiAw9G/OLcfoflryxgs85qW1Gy+vxsCOvsL2Z9EC0mVveiWETwxfG1dOns3XWF5WPKSXTpHLt99mVoMlDYZPD18LFzMTmQiwO4d1TcDEUcedu21UAiDwZCz5hVfRq/tvCpnHFYc4o0Jjvw9MXvxZzT7XdfUrpDTABoPo7k3g3KcPyygjsn13i1xCPrzIQF1/27hB3lLSA0capVWrx7G/H3LB7m6LX3g5XmaCdY6RiqiTtdTgqNEUyWx7VmTXT+0FA/l8nmFf+39oc8QNRo516Tbg89chSNbh3vICy8ZRNAjN0CwhH1jHgknsMI3GGQm x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR0P278MB0757.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(136003)(346002)(39860400002)(376002)(451199021)(38070700005)(2906002)(41300700001)(5660300002)(52536014)(8676002)(8936002)(33656002)(55016003)(10300500001)(86362001)(10290500003)(2940100002)(186003)(82960400001)(478600001)(26005)(6506007)(9686003)(71200400001)(53546011)(76116006)(7696005)(450100002)(122000001)(316002)(6916009)(4326008)(64756008)(66446008)(66556008)(66946007)(66476007)(38100700002)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?0Ordun24+SJ8m8zvWTSE91tdGRPF5RshJHGmr74xAGFQJMTP9KUNmwtT?= =?Windows-1252?Q?+dxaXiFlQXp+6NFQDWloViF8qt2tVVnym7maA7SBrmLvsm+eC6IKVKKy?= =?Windows-1252?Q?80vGJnE1WMvfSRg78SYkjp6zJkbQ/SKGeAfPopeLBq0m93305TC+5NWy?= =?Windows-1252?Q?SvaVQVRov1bfBzpYZ28UOwcLnG6FBK1E7AC/LoFMuqXmcVc5Xz8vIH3H?= =?Windows-1252?Q?NaBNiOv7So2azKqvFq8TDNyD2e+QTUMYdkM2jXHBvUdBnD5HVihznUFz?= =?Windows-1252?Q?IAbyB8u9XVYUcyf83WVIogBV/8+PO1vagXqMY5NUUIwNk9biase0kffG?= =?Windows-1252?Q?z/JdqSBfvAf4Ej/KNRHdPxGJZ/mAFp43PZRs2NAE2Xei9IHIk5aLqZaC?= =?Windows-1252?Q?3jR071pAQMsAQs/cA7losFVyTxWOXcsimCK+AWgkdP28ZPhWqHRgip11?= =?Windows-1252?Q?yKfQwgOsh8u9y4NpI5rRQIY/Wd02uEJqwgEZbdJGT9EbabVTGWr8d9eF?= =?Windows-1252?Q?YEmV8C7zCxj+omhR+8G8Q3HXdGhM4G6CRrLOwMnKVnQFnRXlz377pT+r?= =?Windows-1252?Q?dr1bajgliUacb3Xd5h8DuYz1SHqcQIfrMULbL18INKwZNXUYYUyPX+aP?= =?Windows-1252?Q?sFle1a91X7A3SQnQQH+Yf1hcb1KxtujdszCigcxveE70fEKegl9yFf2F?= =?Windows-1252?Q?SnYXwnJS/ZSfIlanZgE+B0mUKQxuPtIbwM2+AjsAEU1JkxQqsVG3g5TQ?= =?Windows-1252?Q?TvOxLWJRfpnj9FSZH7AdNJ7p95xiC5zkezI7j8/5aPDIvporg21PYD7A?= =?Windows-1252?Q?tscgJJfvGNJbrnFSHcZ91TZTCba3iE90+Vpa5KZfdMyux/nc8N8GhhIP?= =?Windows-1252?Q?SyUY1jslZJ904HN4cwSzOr8o0NTCc7a51SgcKhKK65k3pYOjjI1hgTUv?= =?Windows-1252?Q?8S6zSFaCxeZQHEKplzNY17hyg29cRtmaEv7P2JSZLpyvUT5o3PyKIkrP?= =?Windows-1252?Q?qPeWcuGhnVzZs1tnbijIsMXkAT3MkeLMsAfVG4HehrWSVH7CtoftPeVq?= =?Windows-1252?Q?g2ldPJFTnX51tDvMYvswPBOFUC9udPUla1huIZXrNiYiFLU2VROv/a5+?= =?Windows-1252?Q?MD0KGv5KVFXe4DyX5fAGLD1/rySofbmH9WRqZWMBlkR4AQTlNxZyXDtf?= =?Windows-1252?Q?BFRbj+QcWpX0+ZvtXE3219ItHMh3rCs9MKBLzlxl+aQjRj87jm1F30TZ?= =?Windows-1252?Q?eYBpSoi41hZIO48VKczIo6klYIoxHmGmlce75u+nEpriyizKm7ABtP6r?= =?Windows-1252?Q?vT4REZ581kb5zmUqzIMZh7qhdrw44K+4JtLO7DCmHClCENu42ubsI+zg?= =?Windows-1252?Q?+F7qmEmA+7JtJAT7hYikMWpTWLnpr5jByA6eYrJHB/MQLG/+TOMEz0mP?= =?Windows-1252?Q?ZwW5WnhK/V2stHuOX8w1W3Xozk30VfkaNtWS/Xg02Lz4S7xYJI2RXRcO?= =?Windows-1252?Q?0c+WxXCmO8rLPWgPFmxKcC3AOmOgtgF/dyqFiUaVWaQSOLLDidM9LN+s?= =?Windows-1252?Q?xoiZOgMJiMAFxqT8xTxt5qkwKXeoCSqwS491Fg9YEXKnpGcdGt9RZnRV?= =?Windows-1252?Q?GfxX7iZHucSxxb0kNhzZa8HquYHkEjBlGtNSydAo6OOYPEXxCnbr5n9O?= =?Windows-1252?Q?7fP5ZHKUEEZkfq5zprBaIoDekIyiKuDexzOc2vS/qFqhvcfUOR5Ic4qY?= =?Windows-1252?Q?9Tnk0qqovKnvz3omRZM=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZR0P278MB0757.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b810dfb2-cae1-4b20-c70b-08db7bd4cbe8 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2023 14:50:08.7342 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 364e5b87-c1c7-420d-9bee-c35d19b557a1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O5yuEc485U3yPe1VSDokdsqsSFJOHPMwwaBh/6UXj0RRERdqnWpL+KpwSiOT3WiZTYkmsyDl9uH9HL8RQR0N8ThYoXu8VubzsCEHFJJQHlQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVAP278MB0779 X-OriginatorOrg: swisscom.com X-CFilter-Loop: Reflected X-Trustmail: processed X-Spamd-Result: default: False [-4.52 / 15.00]; SIGNED_SMIME(-2.00)[]; ARC_REJECT(1.00)[signature check failed: fail, {[1] = sig:microsoft.com:reject}]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; NEURAL_HAM_SHORT(-1.00)[-0.997]; NEURAL_HAM_LONG(-0.94)[-0.938]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; RCVD_IN_DNSWL_MED(-0.20)[138.188.166.110:from]; R_SPF_ALLOW(-0.20)[+ip4:138.188.166.96/27]; XM_UA_NO_VERSION(0.01)[]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; FROM_EQ_ENVFROM(0.00)[]; FROM_NO_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[swisscom.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; HAS_ATTACHMENT(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_DN_NONE(0.00)[]; ASN(0.00)[asn:3303, ipnet:138.188.0.0/16, country:CH] X-Rspamd-Queue-Id: 4QvpkH32y3z3x6D X-Spamd-Bar: ---- X-ThisMailContainsUnwantedMimeParts: N ------=_Part_86780_1055658193.1688395812746 Content-Type: multipart/alternative; boundary="_000_ZR0P278MB0757F40DA0CDC7A041D6AAF9D929AZR0P278MB0757CHEP_" Content-Language: en-GB --_000_ZR0P278MB0757F40DA0CDC7A041D6AAF9D929AZR0P278MB0757CHEP_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Again me, I tried to build the chelsio driver (if_cxgbe) on my machine. root@fw-94:/usr/src/sys/modules/cxgbe # make ; make install -> no errors so= far and I see the new kernel module in /boot/modules: root@fw-94:/usr/src/sys/modules/cxgbe # ls -alh /boot/modules/ total 4584 drwxr-xr-x 2 root wheel 16B Jul 3 16:37 . drwxr-xr-x 15 root wheel 68B Jul 3 16:37 .. -r-xr-xr-x 1 root wheel 46K Jul 3 16:37 ccr.ko -r-xr-xr-x 1 root wheel 47K Jul 3 16:37 cxgbei.ko -r-xr-xr-x 1 root wheel 11K Jul 3 16:37 if_cc.ko -r-xr-xr-x 1 root wheel 11K Jul 3 16:37 if_ccv.ko -r-xr-xr-x 1 root wheel 746K Jul 3 16:37 if_cxgbe.ko -r-xr-xr-x 1 root wheel 41K Jul 3 16:37 if_cxgbev.ko -r-xr-xr-x 1 root wheel 11K Jul 3 16:37 if_cxl.ko -r-xr-xr-x 1 root wheel 11K Jul 3 16:37 if_cxlv.ko -r-xr-xr-x 1 root wheel 154K Jul 3 16:37 iw_cxgbe.ko -rw-r--r-- 1 root wheel 1.3K Jul 3 16:37 linker.hints -r-xr-xr-x 1 root wheel 131K Jul 3 16:37 t4_tom.ko -r-xr-xr-x 1 root wheel 596K Jul 3 16:37 t4fw_cfg.ko -r-xr-xr-x 1 root wheel 725K Jul 3 16:37 t5fw_cfg.ko -r-xr-xr-x 1 root wheel 777K Jul 3 16:37 t6fw_cfg.ko However still the same result, the new sysctl values are not visible. Any h= elp would be appreciated. Btw.: reboot has been done. Cheers Josef From: Zahner Josef, GSA-REP-LI Date: Monday, 3 July 2023 at 15:45 To: Navdeep Parhar Cc: freebsd-net@freebsd.org Subject: Re: Chelsio NIC with RSS - Traffic distribution to different Queue= s Hi Navdeep Nevermind, I found the following command to apply your patch diff: root@fw-94:/sys/dev/cxgbe # patch < /root/chelsio_rss_patch.diff There was an inconsistency with =93adapter.h=94, your change on line 219 wa= s in my case a few lines further below, so I decided to manually edit those= two changes in the file. However I tried to load the new sysctl values like =93hw.cxgbe.rsrv_norssq= =BB in loader.conf, how can I verify that it works as it should? It seems t= hat they don=92t work as the don=92t show up when I try to print out the ne= w sysctl values. You mentioned that I=92ve to patch the kernel, do you mean= execute the patch diff? Or is there anything else I=92ve to do except to e= xecute your patch diff? What about my driver, do I need to change anything = there? Thank you, cheers Josef --_000_ZR0P278MB0757F40DA0CDC7A041D6AAF9D929AZR0P278MB0757CHEP_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

Again me, I tried to build the chelsio driver (if_cx= gbe) on my machine.

 

root@fw-94:/usr/src/sys/modules/cxgbe # make ; make = install -> no errors so far and I see the new kernel module in /boot/mod= ules:

 

root@fw-94:/usr/src/sys/modules/cxgbe # ls -alh /boo= t/modules/

total 4584

drwxr-xr-x   2 root  wheel  = ;  16B Jul  3 16:37 .

drwxr-xr-x  15 root  wheel  &nbs= p; 68B Jul  3 16:37 ..

-r-xr-xr-x   1 root  wheel  = ;  46K Jul  3 16:37 ccr.ko

-r-xr-xr-x   1 root  wheel  = ;  47K Jul  3 16:37 cxgbei.ko

-r-xr-xr-x   1 root  wheel  = ;  11K Jul  3 16:37 if_cc.ko

-r-xr-xr-x   1 root  wheel  = ;  11K Jul  3 16:37 if_ccv.ko

-r-xr-xr-x   1 root  wheel  = ; 746K Jul  3 16:37 if_cxgbe.ko

-r-xr-xr-x   1 root  wheel  = ;  41K Jul  3 16:37 if_cxgbev.ko

-r-xr-xr-x   1 root  wheel  = ;  11K Jul  3 16:37 if_cxl.ko

-r-xr-xr-x   1 root  wheel  = ;  11K Jul  3 16:37 if_cxlv.ko

-r-xr-xr-x   1 root  wheel  = ; 154K Jul  3 16:37 iw_cxgbe.ko

-rw-r--r--   1 root  wheel  = ; 1.3K Jul  3 16:37 linker.hints

-r-xr-xr-x   1 root  wheel  = ; 131K Jul  3 16:37 t4_tom.ko

-r-xr-xr-x   1 root  wheel  = ; 596K Jul  3 16:37 t4fw_cfg.ko

-r-xr-xr-x   1 root  wheel  = ; 725K Jul  3 16:37 t5fw_cfg.ko

-r-xr-xr-x   1 root  wheel  = ; 777K Jul  3 16:37 t6fw_cfg.ko

 

However still the same result, the new sysctl values= are not visible. Any help would be appreciated.

 

Btw.: reboot has been done.

 

Cheers Josef

 

From: Zahner Josef, GSA-R= EP-LI <Josef.Zahner1@swisscom.com>
Date: Monday, 3 July 2023 at 15:45
To: Navdeep Parhar <np@freebsd.org>
Cc: freebsd-net@freebsd.org <freebsd-net@freebsd.org>
Subject: Re: Chelsio NIC with RSS - Traffic distribution to differen= t Queues

Hi N= avdeep

&nbs= p;

Neve= rmind, I found the following command to apply your patch diff:<= /o:p>

root@fw-94:/sys/dev/cxgbe # patch < /roo= t/chelsio_rss_patch.diff

&nbs= p;

Ther= e was an inconsistency with =93adapter.h=94, your change on line 219 was in= my case a few lines further below, so I decided to manually edit those two= changes in the file.

&nbs= p;

Howe= ver I tried to load the new sysctl values like =93hw.cxgbe.rsrv_norssq=BB in loader.conf, how can I verify that it works as it should? It seems that th= ey don=92t work as the don=92t show up when I try to print out the new sysc= tl values. You mentioned that I=92ve to patch the kernel, do you mean execu= te the patch diff? Or is there anything else I=92ve to do except to execute your patch diff? What about my driver,= do I need to change anything there?

&nbs= p;

Than= k you, cheers

Jose= f

&nbs= p;

&nbs= p;

--_000_ZR0P278MB0757F40DA0CDC7A041D6AAF9D929AZR0P278MB0757CHEP_-- ------=_Part_86780_1055658193.1688395812746 Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIIH KzCCBROgAwIBAgIUTx1IzA+W/yTzA5lqYJox9cE9fx0wDQYJKoZIhvcNAQELBQAwUzELMAkGA1UE BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEtMCsGA1UEAxMkU3dpc3NTaWduIFJTQSBTTUlN RSBMQ1AgSUNBIDIwMjEgLSAyMB4XDTIyMDQyOTA5MDMxMloXDTI1MDQyOTA5MDMxMlowgYMxCzAJ BgNVBAYTAkNIMR4wHAYDVQQKExVTd2lzc2NvbSAoU2Nod2VpeikgQUcxKTAnBgkqhkiG9w0BCQEW Gmpvc2VmLnphaG5lcjFAc3dpc3Njb20uY29tMSkwJwYDVQQDEyBTZWN1cmUgTWFpbDogR2F0ZXdh eSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWL60L8MKsvXVrM C2QjifRYKIolHpx2KvKSyk75F6eEFVnz19XTfK+kKbkZzc9BMYL9xK78nYEoC8wPyEPwcxrw4i8l SPmhkZ674JEndHrX6qHJOku5+OyIhbLa550XtSZRJSd7l0NnYQWCFtWUAPL/j/ButDdDgp7sScWN D+BmOZw0/FyveEgqeJBAAcxZ5em8/2Ub/xew8LBdwOXYnzG6VIck+jTHv6RhNZ1+RfOvip+3sOwm TsvRL0oC8QGWC86OAq81+tCeYQPoywrybSjqYCwE+ZRb5djg76DvwgjfrVF8grddF6OSwkdUxSlJ USZ50RB4WO23r6YWjYX272ECAwEAAaOCAsQwggLAMCUGA1UdEQQeMByBGmpvc2VmLnphaG5lcjFA c3dpc3Njb20uY29tMA4GA1UdDwEB/wQEAwIEsDATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4E FgQUNxi5osjEbpfWsyrkPqFhIrG5I9gwHwYDVR0jBBgwFoAU+lTAgqb+lr0Ex1+fX4IMPcOVT0cw gf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0cDovL2NybC5zd2lzc3NpZ24ubmV0L0ZBNTRDMDgyQTZG RTk2QkQwNEM3NUY5RjVGODIwQzNEQzM5NTRGNDcwgaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5 LnN3aXNzc2lnbi5uZXQvQ049RkE1NEMwODJBNkZFOTZCRDA0Qzc1RjlGNUY4MjBDM0RDMzk1NEY0 NyUyQ089U3dpc3NTaWduJTJDQz1DSD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2Jq ZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwZwYDVR0gBGAwXjBSBghghXQBWQIBCzBGMEQG CCsGAQUFBwIBFjhodHRwczovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS9Td2lzc1NpZ25fQ1BT X1NNSU1FLnBkZjAIBgYEAI96AQMwgcYGCCsGAQUFBwEBBIG5MIG2MGQGCCsGAQUFBzAChlhodHRw Oi8vc3dpc3NzaWduLm5ldC9jZ2ktYmluL2F1dGhvcml0eS9kb3dubG9hZC9GQTU0QzA4MkE2RkU5 NkJEMDRDNzVGOUY1RjgyMEMzREMzOTU0RjQ3ME4GCCsGAQUFBzABhkJodHRwOi8vb2NzcC5zd2lz c3NpZ24ubmV0L0ZBNTRDMDgyQTZGRTk2QkQwNEM3NUY5RjVGODIwQzNEQzM5NTRGNDcwDQYJKoZI hvcNAQELBQADggIBAKC/bdS77QzqssisgA9nHbH+E0q2i4Ge2o3BxSlFxp/rzqXW0jpOb4ntgqQ5 /JECExksUdzjwqARiT/grBfZedbpQK40nNe3fKoZDQpmF8P8T34Ngf13EtpIm7+IJOXjhBQ6PYeM 1vLTn/g0EUJK3k9fdw3acOUHVQ4dstKP1q9IB5FGtiAIfUtk0m9RT0aJjMqQG1l33ignJrfGZ+R2 X121LjxJ+6gFzWLKklJIfZtqxDGeLIjm5ixHeOrkj7zYily3W16I3iFJnvYL0t1x9UHFp+fWuNUh HiqMK48mLHDzG/ffw3fSgDrnLunlxd4uHz9Io4IFwOKjiOJNxPzuQ6kfibasoKhv/MTFXarfXR7R fAWpOgl9EhxKBJqQkDLZAfCjYQwCU+mThs1p9Sc/JG1IZ2jI3XD4fCHnejMA/RlbINc5uOrPvRys GGPYo5UmPZ4yj4vJRa+U9udZRO5YZrpIto5J8MxZ3Y+cizKUkovzqIVdg2gLj7+Ij4YSRxK5HnoE dN7EPmbfX3hLnAmsG0cft84/o+r2xMQiMXQOmeTI2ZnGk23MF3vyUExkEhcFtAkVup/XiAjcs9St /kD47K7tVNkZGxN0XnaILJt1R6pAGo6Xj9WfGnRX6Ph3PJ+XguEhMhLVEfuuBUuAGFUWX9hovJuM X8C83YJTkvTzbmNAMIIHRzCCBS+gAwIBAgIPLFqp2VT9squWrRe2X4z0MA0GCSqGSIb3DQEBCwUA MFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNzU2ln biBSU0EgU01JTUUgUm9vdCBDQSAyMDIxIC0gMTAeFw0yMTA4MDQxMjEyNTlaFw0zNjA3MzExMjEy NTlaMFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNz U2lnbiBSU0EgU01JTUUgTENQIElDQSAyMDIxIC0gMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC AgoCggIBAL0FGcjUDXE+AwMQtJMWAOvPI9rAByO7UTw4EtNAdcNyY3jrCyd5X41WiKnZfVlD0YgX duPHRour3+KIqj0SwJ0I7UEQ19zvSeC/MVLWg52Z/PKaIoBmVawQlJChzIuV0NZIXTco3xrtGCXf Q8MhREG8FaWkg4LGIIBSAqiAZgG+btlFlnXQFyB8ZT+BrX2OWEYj3FIn2kI+O9xY8kqmJJsb6zQJ H8zhxdpA871kQVjEifuDis0hgFhnCGwiNw+fk60L3/un/cX/aooD2B+8r8LJDXh89U49Ulo8QK58 yzj61GGHZ52kbHiKtBNpVXzmJVTfCM+mLzhMiBSVHCpRaWiPXnwDmvukZUxwj75KXKreu527fX1a OILnuQCKRUevIL6DALhJQBifQKpf/9wCnH732eYtYCZacZ15pGYcwkKYl9fLcOOLxKdW6CBxdsSu eSvmyazWTKnnCINHthUiR1O6IkekXZ3tZn93kQ5PsoF1L+Trv9eBOtTCRbApHZWb/TRvRmnPc3ge D0VOsE/ncDa5yLZ7st/e9HyEUmKOG7TzMa4KVjsqGf7QEFTnRhI4TYGdhawE57fp13DbjvRwz+Ia 0wxpNecDSuDgyxf1M/S9fiJClZkzCo3CpxiTR7AyrLhEMBjvEfgZc2REZPacmeBRFtBLXCBJwXU0 zNFb6tGtAgMBAAGjggIWMIICEjAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwQw EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU+lTAgqb+lr0Ex1+fX4IMPcOVT0cwHwYDVR0j BBgwFoAUCQy/KqIdBCQMsvlACkHCz1pyqoAwgf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0cDovL2Ny bC5zd2lzc3NpZ24ubmV0LzA5MENCRjJBQTIxRDA0MjQwQ0IyRjk0MDBBNDFDMkNGNUE3MkFBODAw gaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5LnN3aXNzc2lnbi5uZXQvQ049MDkwQ0JGMkFBMjFE MDQyNDBDQjJGOTQwMEE0MUMyQ0Y1QTcyQUE4MCUyQ089U3dpc3NTaWduJTJDQz1DSD9jZXJ0aWZp Y2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQw HwYDVR0gBBgwFjAKBghghXQBWQIBCzAIBgYEAI96AQMwdAYIKwYBBQUHAQEEaDBmMGQGCCsGAQUF BzAChlhodHRwOi8vc3dpc3NzaWduLm5ldC9jZ2ktYmluL2F1dGhvcml0eS9kb3dubG9hZC8wOTBD QkYyQUEyMUQwNDI0MENCMkY5NDAwQTQxQzJDRjVBNzJBQTgwMA0GCSqGSIb3DQEBCwUAA4ICAQAH Dx6XBIV6CZbsgakZM4/C04La3NPAJCJEDZUL8RYYpySTwDcX1D4zYDyVRhWVEom3fWkB7Nxdo/o4 VbTcg+KJdTvRADn3ycapTHPOOfyukWFmAKPpuLwwl3kwfkLZFFgWuGJF5/HqmnjYstzQAUgXVmqR phrW/PQSBM4v1cTeKdd7f23A8uh7etz9/yB+l6b+zU0gmTZrPDLFmfbbphKtJ52/GF7suI3qA6q9 TuHGkLxtdqIhhXLsMhJfAS33TYZz4zhBuFR/zJD4+IrdB7EYhaK6w47jpyfrvd0b/UoLOZr/UuWn 0PFp5QeXGON556v/Za1ZZk0WGgievGlwrnyh1ollExlAnA2WMxvrqAZvk6l5qc3Sy73f9L0atmAm o3qymnXvVrN8y5DNWqP2DEXLrrIh2WuFlxtr9CLELZ4AnGbl8z89mD1ZdnvfsbyMBuy6hEQfVvGy CUvPEAjBuhju5XAiKbplyJ4pvpjLifpPOl6s2aFTlQeJRlInMhD+q70HXhx+HQIAmjX2nt9G/J4X +nsg0MfRx5NVOrmwXyQW0wzVvP7T+xY5M2p2LyQY7sjuKi4Lf5XgMPHgXWwZxqKAVe1SkuaiXkuy z6L01caBYVw8Wt57GgtoF1yQMmAGTrM4cpVjBl2euDYKi8h6/+66YrRbIJruLHX5INyx3Y9fEjCC BoswggRzoAMCAQICEADeTFUg9tz0AhsPEVT3jRAwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMC Q0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEfMB0GA1UEAxMWU3dpc3NTaWduIEdvbGQgQ0EgLSBH MjAeFw0yMTA4MDMxMzE0NTVaFw0zNjEwMjMxMzE0NTVaMFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQK EwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNzU2lnbiBSU0EgU01JTUUgUm9vdCBDQSAyMDIx IC0gMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANayuLQ4jya6N8gBI0UWfr5kOIZy ZmFYjSSKWbMMoSqrfruFfGVmcKfpItvuuzL6q7GGP6tIgbir8yrdN8cuC/ar31WtVCAUOreJRG3n 6D+uiCEYjkdWlQDJ7GVuVkcUTa0uJtLUi2zK8zMt+fCbjreGJoHnC56LDHwFpzx6+fCFkJyJZzl1 EbFjsNQjLH3cHyt27QStuhHJB0kN4ygPLhEU0ray/3i4/lpTgCSsC0i6TjIxUeyq/rtELAvX+X2r jdpsqwjd80E9j/VBQVzGzFHKDkQft2qAdlVpUeZM/ReA+7NU7rBKHTOTBnm5YRGs5A5bs93gsSVc t9TTzfR7ngFUK4KQoeHKQ43wQaQcB8DWMxajRUaPhExp/ZNXndPlb8skDDEtA5jCADlEeSKBbeTq /AtkJm78yp4aA0Ttf01N6RGydr2GfXu7VD9RkEfHi/j/TizyCDCMGcEsRzWevatTpCKunwwhGSm9 npvPhNyO0TVLIhCBG2LtwEvTK5AiSR8tIa6Rxd/x1kFUcg7eyjQQ9cmandVcFuTNJbHHqHFGrPhT hReJqyQaOBgyJHPpVa74gGMDb4Sw36CUtalT8Itq9VR55f9bnKJvIuH/QCllbG+OSGkxPoEbO4tY +lsvO2t9ayTwvPKN5ZrmrHjL2IIrABcdeWoJLtZuds8w+9tZAgMBAAGjggFnMIIBYzAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQJDL8qoh0EJAyy+UAKQcLPWnKqgDAfBgNVHSMEGDAWgBRbJXuW pGVRfrg588B4Zl7oOufw7jAOBgNVHQ8BAf8EBAMCAQYwgf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0 cDovL2NybC5zd2lzc3NpZ24ubmV0LzVCMjU3Qjk2QTQ2NTUxN0VCODM5RjNDMDc4NjY1RUU4M0FF N0YwRUUwgaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5LnN3aXNzc2lnbi5uZXQvQ049NUIyNTdC OTZBNDY1NTE3RUI4MzlGM0MwNzg2NjVFRTgzQUU3RjBFRSUyQ089U3dpc3NTaWduJTJDQz1DSD9j ZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9u UG9pbnQwDQYJKoZIhvcNAQELBQADggIBAAL46l3QisysCAM2VGb/CimG4VSDLDPox2yuEKlUgX8q LYgmraaoNCgPGQapneIClQQyZEwLyvnjfcMTW+iXQI534+OCgYetAWAHw8XhIP23MJc+uhxxdItf Taex/k58CXh6h1/xrKElEZfHLBGckOpyFj0CNam75SPYH1JAt9COXdojvDPpMv24dZ9Dvj1XS4dh 3u2WyHB8frcT4QlAuxkCBw9r3R/SzA5aEhjkwbGcvr4rER7lmsXgoTWx5OGyYq7A6Gx8lof6YN4t iRwUQUA5onfvsBVbAT8ezuYUqZy+gp+xYhffIkO1Mm+3BfwYytp6Q11ltSb+WkGhaXSX8UNRjdx/ 2VeEpx1R8oJtqw5806Pl4MmVBG3yx5134qX4yMW5ZwZvbf3Gf26+xWrbBDbbMG9dvciZ/sRylsy5 y3SLJKkTC3i1Bsr1iyYWc5gdcZWd8/BS6WxVfgUiF9CJPGXtV4B3/NisvbNTjwd7WBN6sefJsPjj yaGR4nTOymgbshvElmCUkNvlCLc+zIh9Z8BV/Chz3hw72s8PHLYI0jM++TySSKBacIgeEBeYenbd YEg+ckU+cGuM60h8WbVWBRIUCkZNAjYJ0WxzIVIn2GvE0nKnTH7bNs7TPctc4u4b3fk6/U0T/w7O UrYWcTOgl8Vf9oIYF7U6m5u2eKsb6/1aMIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3 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 AA== ------=_Part_86780_1055658193.1688395812746--