#include "HyperTwistTraining/HyperTwistTrainingValidationBenchmarkLibrary.h"

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationAnaphoraStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationAnaphoraStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationAnaphoraStateLedgerContract& Contract : Bundle.ValidationAnaphoraStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationAnaphoraStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateEpiclesisBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateEpiclesisBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateEpiclesisBoundary& Boundary : Bundle.ValidationOngoingStateEpiclesisBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateEpiclesisBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationSomaStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationSomaStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationSomaStateLedgerContract& Contract : Bundle.ValidationSomaStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationSomaStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateHaimaBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateHaimaBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateHaimaBoundary& Boundary : Bundle.ValidationOngoingStateHaimaBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateHaimaBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationProsphoraStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationProsphoraStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationProsphoraStateLedgerContract& Contract : Bundle.ValidationProsphoraStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationProsphoraStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateAntidoronBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateAntidoronBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateAntidoronBoundary& Boundary : Bundle.ValidationOngoingStateAntidoronBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateAntidoronBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationPotirionStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationPotirionStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationPotirionStateLedgerContract& Contract : Bundle.ValidationPotirionStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationPotirionStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateKoinoniaBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateKoinoniaBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateKoinoniaBoundary& Boundary : Bundle.ValidationOngoingStateKoinoniaBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateKoinoniaBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationStavrosStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationStavrosStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationStavrosStateLedgerContract& Contract : Bundle.ValidationStavrosStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationStavrosStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateProskynesisBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateProskynesisBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateProskynesisBoundary& Boundary : Bundle.ValidationOngoingStateProskynesisBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateProskynesisBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationApolysisStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationApolysisStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationApolysisStateLedgerContract& Contract : Bundle.ValidationApolysisStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationApolysisStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateEulogiaBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateEulogiaBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateEulogiaBoundary& Boundary : Bundle.ValidationOngoingStateEulogiaBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateEulogiaBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationDoxologyStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationDoxologyStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationDoxologyStateLedgerContract& Contract : Bundle.ValidationDoxologyStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationDoxologyStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateTrisagionBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateTrisagionBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateTrisagionBoundary& Boundary : Bundle.ValidationOngoingStateTrisagionBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateTrisagionBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationApostolosStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationApostolosStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationApostolosStateLedgerContract& Contract : Bundle.ValidationApostolosStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationApostolosStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateEvangelionBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateEvangelionBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateEvangelionBoundary& Boundary : Bundle.ValidationOngoingStateEvangelionBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateEvangelionBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationKinonikonStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationKinonikonStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationKinonikonStateLedgerContract& Contract : Bundle.ValidationKinonikonStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationKinonikonStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateMegalynarionBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateMegalynarionBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateMegalynarionBoundary& Boundary : Bundle.ValidationOngoingStateMegalynarionBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateMegalynarionBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationEcteniaStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationEcteniaStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationEcteniaStateLedgerContract& Contract : Bundle.ValidationEcteniaStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationEcteniaStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateSynapteBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateSynapteBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateSynapteBoundary& Boundary : Bundle.ValidationOngoingStateSynapteBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateSynapteBoundary();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationProkeimenonStateLedgerContractById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& ContractId,
	FHyperTwistTrainingValidationProkeimenonStateLedgerContract& OutContract
)
{
	for (const FHyperTwistTrainingValidationProkeimenonStateLedgerContract& Contract : Bundle.ValidationProkeimenonStateLedgerContracts)
	{
		if (Contract.ContractId == ContractId)
		{
			OutContract = Contract;
			return true;
		}
	}

	OutContract = FHyperTwistTrainingValidationProkeimenonStateLedgerContract();
	return false;
}

bool UHyperTwistTrainingValidationBenchmarkLibrary::TryGetValidationOngoingStateAlleluiaBoundaryById(
	const FHyperTwistTrainingValidationBenchmarkReferenceBundle& Bundle,
	const FString& BoundaryId,
	FHyperTwistTrainingValidationOngoingStateAlleluiaBoundary& OutBoundary
)
{
	for (const FHyperTwistTrainingValidationOngoingStateAlleluiaBoundary& Boundary : Bundle.ValidationOngoingStateAlleluiaBoundaries)
	{
		if (Boundary.BoundaryId == BoundaryId)
		{
			OutBoundary = Boundary;
			return true;
		}
	}

	OutBoundary = FHyperTwistTrainingValidationOngoingStateAlleluiaBoundary();
	return false;
}
