/*
 *
 *    Copyright (c) 2021-2022 Project CHIP Authors
 *    All rights reserved.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

#pragma once

#include <lib/support/Span.h>

namespace chip {
namespace TestCerts {

extern const ByteSpan sTestCert_DAC_FFF1_8000_0000_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0000_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0000_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0000_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0001_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0001_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0001_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0001_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0002_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0002_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0002_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0002_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0003_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0003_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0003_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0003_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0004_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0004_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0004_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0004_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0005_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0005_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0005_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0005_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0006_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0006_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0006_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0006_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF1_8000_0007_Cert;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0007_SKID;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0007_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF1_8000_0007_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_0008_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0008_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0008_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0008_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_0009_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0009_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0009_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_0009_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000A_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000A_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000A_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000A_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000B_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000B_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000B_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000B_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000C_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000C_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000C_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000C_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000D_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000D_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000D_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000D_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000E_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000E_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000E_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000E_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8001_000F_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000F_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000F_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8001_000F_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0010_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0010_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0010_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0010_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0011_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0011_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0011_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0011_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0012_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0012_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0012_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0012_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0013_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0013_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0013_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0013_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0014_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0014_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0014_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0014_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0015_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0015_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0015_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0015_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0016_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0016_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0016_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0016_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8002_0017_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0017_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0017_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8002_0017_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8004_0030_Val1SecBefore_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0030_Val1SecBefore_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0030_Val1SecBefore_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8004_0030_Val1SecBefore_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8005_0032_Val1SecBefore_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0032_Val1SecBefore_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0032_Val1SecBefore_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0032_Val1SecBefore_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8005_0033_Val1SecBefore_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0033_Val1SecBefore_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0033_Val1SecBefore_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8005_0033_Val1SecBefore_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8006_0034_ValInFuture_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0034_ValInFuture_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0034_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0034_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_DAC_FFF2_8006_0035_Val1SecBefore_Cert;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0035_Val1SecBefore_SKID;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0035_Val1SecBefore_PublicKey;
extern const ByteSpan sTestCert_DAC_FFF2_8006_0035_Val1SecBefore_PrivateKey;

extern const ByteSpan sTestCert_PAA_FFF1_Cert;
extern const ByteSpan sTestCert_PAA_FFF1_SKID;
extern const ByteSpan sTestCert_PAA_FFF1_PublicKey;
extern const ByteSpan sTestCert_PAA_FFF1_PrivateKey;

extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_Cert;
extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_SKID;
extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_Cert;
extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_SKID;
extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PublicKey;
extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_PAA_NoVID_Cert;
extern const ByteSpan sTestCert_PAA_NoVID_SKID;
extern const ByteSpan sTestCert_PAA_NoVID_PublicKey;
extern const ByteSpan sTestCert_PAA_NoVID_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF1_8000_Cert;
extern const ByteSpan sTestCert_PAI_FFF1_8000_SKID;
extern const ByteSpan sTestCert_PAI_FFF1_8000_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF1_8000_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8001_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8001_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8001_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8001_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8005_Val1SecBefore_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8005_Val1SecBefore_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8005_Val1SecBefore_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8005_Val1SecBefore_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_NoPID_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_PrivateKey;

extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_Cert;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_SKID;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_PublicKey;
extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_PrivateKey;

} // namespace TestCerts
} // namespace chip
