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 47A4442ACB; Wed, 10 May 2023 19:17:11 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 04A4C40697; Wed, 10 May 2023 19:17:10 +0200 (CEST) Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by mails.dpdk.org (Postfix) with ESMTP id 1F48540695 for ; Wed, 10 May 2023 19:17:08 +0200 (CEST) Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-643aad3bc41so6484467b3a.0 for ; Wed, 10 May 2023 10:17:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1683739027; x=1686331027; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ewHcnowGgZCztoa8RODNaDE+DdPKQLIOzVPp5o1W8Gg=; b=UTJG0eQD3cqoPnV2P1QME2OexaEyLb1byABbFLPPlZGrVtOlVnvekjs04DO+NnsOrj mEwsZKpGzyfzGpcRNXxccjka4aVyTdMjK36yCqVTDNtLKnziWQSIXbB9PHUXTPmLc/jt S9mYZQ0YkiRbUdgl3TnkNPth0TdcOA7K4xH9o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683739027; x=1686331027; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ewHcnowGgZCztoa8RODNaDE+DdPKQLIOzVPp5o1W8Gg=; b=ehPQlXyXPZEJKIMmP9fOZXzNjH2XK3sgxU54CC/uGq6FQluBtoQsMv2qdtpsA/TnVb 4cfIFpH6jX7Av6PU9d4KiBegUXfFchKqfiBFRk7sJC0nNstCFQSeVYfdojLso30+Q7lv NqouFW7pwEs6uy1XiOeydFnH5vY4Ex5wk1fU5cV0AqkKeJTIuNFQacQRzFnW1ByabdVl k2ErkOOoindR9FavNvYxIM8ohpmBUj9fLHFcyhtW04yV1efFXESUFMX4KVRfsMaIs6g1 O6xizQLe0nxreDlXkolHFaCdV2+Ce+w5seopo+u0F0fIyDTMF3NtB9iNTe7zZpJPr0JM XqZQ== X-Gm-Message-State: AC+VfDy5D40aXwQS56SsK4LGTFqvO5m942CLaQ4LjV0T6xn3YGYZ2UHg Qh03QMWKM6SD349BmOMgr1khAMKvQSayjYaYXPtpkQQsRsmZWebQA/E= X-Google-Smtp-Source: ACHHUZ4z3x1LcniiHMYxHBDM8jOPnsTILsxqLfGgDBwHhiM8mdqxUF9HuoQhp636z69P8m/ngCkpCSmnfD1OcVMDk/Q= X-Received: by 2002:a17:903:2289:b0:1a6:84be:a08f with SMTP id b9-20020a170903228900b001a684bea08fmr22458514plh.64.1683739026545; Wed, 10 May 2023 10:17:06 -0700 (PDT) MIME-Version: 1.0 References: <20230504173612.17696-1-ajit.khaparde@broadcom.com> In-Reply-To: <20230504173612.17696-1-ajit.khaparde@broadcom.com> From: Ajit Khaparde Date: Wed, 10 May 2023 10:16:50 -0700 Message-ID: Subject: Re: [PATCH v3 00/11] sync Truflow support with latest release To: dev@dpdk.org Cc: Ferruh Yigit Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000009a0fae05fb5a0a42" 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 --0000000000009a0fae05fb5a0a42 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, May 4, 2023 at 10:36=E2=80=AFAM Ajit Khaparde wrote: > > Update Truflow support to latest release, deprecating code, updating > the copyright date and hsi structure, syncing the truflow core, > adding ULP shared session support, RSS action support, Queue > action support, rte meter support, and more. > > Please apply. > > v2->v3: > - update some commit messages > - removed some empty lines in the patches > - removed some dead and unnecessary code > - fixed some checkpatch errors > > Version 2 fixes: > - misspellings > - whitespace issues > - signed off issues Patchset applied to dpdk-next-net-brcm for-next-net branch. Thanks. > > > Kishore Padmanabha (1): > net/bnxt: fix multi-root card support > > Randy Schacher (8): > net/bnxt: remove deprecated features > net/bnxt: update bnxt hsi structure > net/bnxt: update copyright date and cleanup whitespace > net/bnxt: update Truflow core > net/bnxt: update ULP shared session support > net/bnxt: add RSS and Queue action in TruFLow > net/bnxt: add support for rte meter > net/bnxt: add support for eCPRI packet parsing > > Shuanglin Wang (1): > net/bnxt: set RSS config based on RSS mode > > Somnath Kotur (1): > net/bnxt: update PTP support on Thor > > .mailmap | 1 + > doc/guides/nics/features/bnxt.ini | 3 + > drivers/net/bnxt/bnxt.h | 66 +- > drivers/net/bnxt/bnxt_cpr.c | 2 +- > drivers/net/bnxt/bnxt_cpr.h | 2 +- > drivers/net/bnxt/bnxt_ethdev.c | 209 +- > drivers/net/bnxt/bnxt_filter.c | 2 +- > drivers/net/bnxt/bnxt_filter.h | 6 +- > drivers/net/bnxt/bnxt_flow.c | 75 +- > drivers/net/bnxt/bnxt_hwrm.c | 272 +- > drivers/net/bnxt/bnxt_hwrm.h | 40 +- > drivers/net/bnxt/bnxt_irq.c | 2 +- > drivers/net/bnxt/bnxt_irq.h | 3 +- > drivers/net/bnxt/bnxt_nvm_defs.h | 3 +- > drivers/net/bnxt/bnxt_reps.c | 4 +- > drivers/net/bnxt/bnxt_reps.h | 2 +- > drivers/net/bnxt/bnxt_ring.c | 7 +- > drivers/net/bnxt/bnxt_ring.h | 3 +- > drivers/net/bnxt/bnxt_rxq.c | 159 +- > drivers/net/bnxt/bnxt_rxq.h | 2 +- > drivers/net/bnxt/bnxt_rxr.c | 15 +- > drivers/net/bnxt/bnxt_rxr.h | 3 +- > drivers/net/bnxt/bnxt_rxtx_vec_avx2.c | 2 +- > drivers/net/bnxt/bnxt_rxtx_vec_common.h | 2 +- > drivers/net/bnxt/bnxt_rxtx_vec_neon.c | 2 +- > drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 2 +- > drivers/net/bnxt/bnxt_stats.c | 2 +- > drivers/net/bnxt/bnxt_stats.h | 2 +- > drivers/net/bnxt/bnxt_txq.c | 3 +- > drivers/net/bnxt/bnxt_txq.h | 2 +- > drivers/net/bnxt/bnxt_txr.c | 55 +- > drivers/net/bnxt/bnxt_txr.h | 4 +- > drivers/net/bnxt/bnxt_util.c | 2 +- > drivers/net/bnxt/bnxt_util.h | 3 +- > drivers/net/bnxt/bnxt_vnic.c | 974 +- > drivers/net/bnxt/bnxt_vnic.h | 80 +- > drivers/net/bnxt/hsi_struct_def_dpdk.h | 5723 ++- > drivers/net/bnxt/meson.build | 5 +- > drivers/net/bnxt/rte_pmd_bnxt.c | 2 +- > drivers/net/bnxt/rte_pmd_bnxt.h | 2 +- > drivers/net/bnxt/tf_core/bitalloc.c | 3 +- > drivers/net/bnxt/tf_core/bitalloc.h | 3 +- > drivers/net/bnxt/tf_core/cfa_resource_types.h | 5 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 2116 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr.h | 523 + > .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 101 + > .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.c | 201 + > .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.h | 28 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 921 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h | 20 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 926 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.h | 20 + > drivers/net/bnxt/tf_core/cfa_tcam_mgr_sbmp.h | 126 + > .../net/bnxt/tf_core/cfa_tcam_mgr_session.c | 377 + > .../net/bnxt/tf_core/cfa_tcam_mgr_session.h | 54 + > drivers/net/bnxt/tf_core/dpool.c | 3 +- > drivers/net/bnxt/tf_core/dpool.h | 3 +- > drivers/net/bnxt/tf_core/ll.c | 2 +- > drivers/net/bnxt/tf_core/ll.h | 2 +- > drivers/net/bnxt/tf_core/lookup3.h | 1 - > drivers/net/bnxt/tf_core/meson.build | 38 +- > drivers/net/bnxt/tf_core/rand.c | 2 +- > drivers/net/bnxt/tf_core/rand.h | 3 +- > drivers/net/bnxt/tf_core/stack.c | 2 +- > drivers/net/bnxt/tf_core/stack.h | 3 +- > drivers/net/bnxt/tf_core/tf_common.h | 3 +- > drivers/net/bnxt/tf_core/tf_core.c | 56 +- > drivers/net/bnxt/tf_core/tf_core.h | 189 +- > drivers/net/bnxt/tf_core/tf_device.c | 53 +- > drivers/net/bnxt/tf_core/tf_device.h | 9 +- > drivers/net/bnxt/tf_core/tf_device_p4.c | 24 +- > drivers/net/bnxt/tf_core/tf_device_p4.h | 3 +- > drivers/net/bnxt/tf_core/tf_device_p58.c | 94 +- > drivers/net/bnxt/tf_core/tf_device_p58.h | 2 +- > drivers/net/bnxt/tf_core/tf_em.h | 3 +- > drivers/net/bnxt/tf_core/tf_em_common.c | 10 +- > drivers/net/bnxt/tf_core/tf_em_common.h | 4 +- > .../net/bnxt/tf_core/tf_em_hash_internal.c | 2 +- > drivers/net/bnxt/tf_core/tf_em_host.c | 3 +- > drivers/net/bnxt/tf_core/tf_em_internal.c | 13 +- > drivers/net/bnxt/tf_core/tf_ext_flow_handle.h | 4 +- > drivers/net/bnxt/tf_core/tf_global_cfg.c | 2 +- > drivers/net/bnxt/tf_core/tf_global_cfg.h | 3 +- > drivers/net/bnxt/tf_core/tf_hash.c | 2 +- > drivers/net/bnxt/tf_core/tf_hash.h | 3 +- > drivers/net/bnxt/tf_core/tf_identifier.c | 111 +- > drivers/net/bnxt/tf_core/tf_identifier.h | 7 +- > drivers/net/bnxt/tf_core/tf_if_tbl.c | 59 +- > drivers/net/bnxt/tf_core/tf_if_tbl.h | 11 +- > drivers/net/bnxt/tf_core/tf_msg.c | 217 +- > drivers/net/bnxt/tf_core/tf_msg.h | 38 +- > drivers/net/bnxt/tf_core/tf_msg_common.h | 3 +- > drivers/net/bnxt/tf_core/tf_project.h | 3 +- > drivers/net/bnxt/tf_core/tf_resources.h | 3 +- > drivers/net/bnxt/tf_core/tf_rm.c | 135 +- > drivers/net/bnxt/tf_core/tf_rm.h | 6 +- > drivers/net/bnxt/tf_core/tf_session.c | 121 +- > drivers/net/bnxt/tf_core/tf_session.h | 80 +- > .../net/bnxt/tf_core/tf_shadow_identifier.c | 190 - > .../net/bnxt/tf_core/tf_shadow_identifier.h | 229 - > drivers/net/bnxt/tf_core/tf_shadow_tcam.c | 837 - > drivers/net/bnxt/tf_core/tf_shadow_tcam.h | 195 - > drivers/net/bnxt/tf_core/tf_sram_mgr.c | 117 +- > drivers/net/bnxt/tf_core/tf_sram_mgr.h | 23 +- > drivers/net/bnxt/tf_core/tf_tbl.c | 8 +- > drivers/net/bnxt/tf_core/tf_tbl.h | 4 +- > drivers/net/bnxt/tf_core/tf_tbl_sram.c | 25 +- > drivers/net/bnxt/tf_core/tf_tbl_sram.h | 6 +- > drivers/net/bnxt/tf_core/tf_tcam.c | 451 +- > drivers/net/bnxt/tf_core/tf_tcam.h | 41 +- > drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c | 286 + > drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h | 49 + > drivers/net/bnxt/tf_core/tf_tcam_shared.c | 1146 +- > drivers/net/bnxt/tf_core/tf_tcam_shared.h | 4 +- > drivers/net/bnxt/tf_core/tf_util.c | 5 +- > drivers/net/bnxt/tf_core/tf_util.h | 3 +- > drivers/net/bnxt/tf_core/tfp.c | 2 +- > drivers/net/bnxt/tf_core/tfp.h | 4 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 3 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 251 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h | 37 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 850 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 121 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 280 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 909 + > .../bnxt/tf_ulp/generic_templates/meson.build | 18 +- > .../generic_templates/ulp_template_db_act.c | 7000 +++- > .../generic_templates/ulp_template_db_class.c | 33556 +++++++++++----- > .../generic_templates/ulp_template_db_enum.h | 4366 +- > .../generic_templates/ulp_template_db_field.h | 689 +- > .../generic_templates/ulp_template_db_tbl.c | 16055 ++++++-- > .../ulp_template_db_thor_act.c | 8714 ++-- > .../ulp_template_db_thor_class.c | 10746 +++-- > .../ulp_template_db_wh_plus_act.c | 1157 +- > .../ulp_template_db_wh_plus_class.c | 288 +- > drivers/net/bnxt/tf_ulp/meson.build | 26 +- > drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 16 +- > drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 26 +- > drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 8 +- > drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 29 +- > drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 14 +- > drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- > drivers/net/bnxt/tf_ulp/ulp_gen_hash.h | 3 +- > drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 37 +- > drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 5 +- > drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c | 131 +- > drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h | 6 +- > drivers/net/bnxt/tf_ulp/ulp_mapper.c | 726 +- > drivers/net/bnxt/tf_ulp/ulp_mapper.h | 4 +- > drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 2 +- > drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h | 3 +- > drivers/net/bnxt/tf_ulp/ulp_matcher.c | 14 +- > drivers/net/bnxt/tf_ulp/ulp_matcher.h | 3 +- > drivers/net/bnxt/tf_ulp/ulp_port_db.c | 64 +- > drivers/net/bnxt/tf_ulp/ulp_port_db.h | 35 +- > drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 30 +- > drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 504 +- > drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 46 +- > drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 25 +- > drivers/net/bnxt/tf_ulp/ulp_tun.c | 2 +- > drivers/net/bnxt/tf_ulp/ulp_tun.h | 3 +- > drivers/net/bnxt/tf_ulp/ulp_utils.c | 2 +- > drivers/net/bnxt/tf_ulp/ulp_utils.h | 3 +- > 163 files changed, 79517 insertions(+), 25424 deletions(-) > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr.c > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.c > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_sbmp.h > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_session.c > create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_session.h > delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_identifier.c > delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_identifier.h > delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.c > delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.h > create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c > create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c > > -- > 2.39.2 (Apple Git-143) > --0000000000009a0fae05fb5a0a42 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 pZEyqKnwS1lKCzjX7mV5W955rFsFxChdAKfw0HilwtqdY24mhy62+GeaEkD0gYIj1tCmw9gnQToc K+0s7xEunfR9pBrzmOwS3OQbcP0nJ8SmQ8R+reroH6LYuFpaqK1rgQIDAQABo4IB2zCCAdcwDgYD VR0PAQH/BAQDAgWgMIGjBggrBgEFBQcBAQSBljCBkzBOBggrBgEFBQcwAoZCaHR0cDovL3NlY3Vy ZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3J0MEEG CCsGAQUFBzABhjVodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWdu MmNhMjAyMDBNBgNVHSAERjBEMEIGCisGAQQBoDIBKAowNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93 d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCQYDVR0TBAIwADBJBgNVHR8EQjBAMD6gPKA6 hjhodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNy bDAlBgNVHREEHjAcgRphaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEF BQcDBDAfBgNVHSMEGDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUbrcTuh0mr2qP xYdtyDgFeRIiE/gwDQYJKoZIhvcNAQELBQADggEBALrc1TljKrDhXicOaZlzIQyqOEkKAZ324i8X OwzA0n2EcPGmMZvgARurvanSLD3mLeeuyq1feCcjfGM1CJFh4+EY7EkbFbpVPOIdstSBhbnAJnOl aC/q0wTndKoC/xXBhXOZB8YL/Zq4ZclQLMUO6xi/fFRyHviI5/IrosdrpniXFJ9ukJoOXtvdrEF+ KlMYg/Deg9xo3wddCqQIsztHSkR4XaANdn+dbLRQpctZ13BY1lim4uz5bYn3M0IxyZWkQ1JuPHCK aRJv0SfR88PoI4RB7NCEHqFwARTj1KvFPQi8pK/YISFydZYbZrxQdyWDidqm4wSuJfpE6i0cWvCd u50xggJtMIICaQIBATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh MTEwLwYDVQQDEyhHbG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwM2Vrj 4nZK0WWosNswDQYJYIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIDIe+cHvTMMoQb9TFZbJ uJdejVqvbR/BLll45kg5hTTDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkF MQ8XDTIzMDUxMDE3MTcwN1owaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUD BAEWMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsG CWCGSAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQB2ytjhzJFEeD/QE/X2ovzvSIKD5sq9CXQFfwfF 4eF1TSiFM9sbql0M5rajjD0ArD3aAMNFhs+bLHl9/R2uwH2l+7elyKwaxC+RCifUwGGFogiCFz0Z 61hvbWH1hZd5j106t6RGqZ2TlJGRJAiwJGt/IbmspCIxkvsugty+iCAVbbKuKC6z2TmtLVrCWeFc vwRK7HO9ZY2cpyDajOIeTEhRzEcSnwG5Pq2AS6uFEu42P3YzUJahNJdb1xklBmNXmPphydisXtXX SKVZZtxuIPWnS8YzE8co/mAIgM2+6DgkZMuEBt+EJ85s4OP89ZxPlOyBh5Fxvny3oiGvrAj8VviL --0000000000009a0fae05fb5a0a42--