/*
 *
 *    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

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_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_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_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_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
