#pragma once

#include "CoreMinimal.h"
#include "HyperTwistCore/HyperTwistCoreTypes.h"
#include "HyperTwistRecognition/HyperTwistRecognitionTypes.h"
#include "HyperTwistReplay/HyperTwistReplayTypes.h"
#include "HyperTwistTrainingTypes.generated.h"

UENUM(BlueprintType)
enum class EHyperTwistTrainingDeliveryMode : uint8
{
	Timer UMETA(DisplayName = "Timer"),
	VirtualCube UMETA(DisplayName = "Virtual Cube"),
	SmartDevice UMETA(DisplayName = "Smart Device"),
	RecognitionAssisted UMETA(DisplayName = "Recognition Assisted"),
	CoachReviewed UMETA(DisplayName = "Coach Reviewed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSelectionPolicy : uint8
{
	Uniform UMETA(DisplayName = "Uniform"),
	Weighted UMETA(DisplayName = "Weighted"),
	Spaced UMETA(DisplayName = "Spaced"),
	Scripted UMETA(DisplayName = "Scripted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGuidanceLane : uint8
{
	None UMETA(DisplayName = "None"),
	Recommended UMETA(DisplayName = "Recommended"),
	FollowUp UMETA(DisplayName = "Follow-Up")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingQueueRecoveryAction : uint8
{
	None UMETA(DisplayName = "None"),
	PromoteDeferred UMETA(DisplayName = "Promote Deferred"),
	LaunchRecovery UMETA(DisplayName = "Launch Recovery")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachQueuePostureKind : uint8
{
	None UMETA(DisplayName = "None"),
	Continue UMETA(DisplayName = "Continue"),
	Defer UMETA(DisplayName = "Defer"),
	Promote UMETA(DisplayName = "Promote")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachHandoffKind : uint8
{
	None UMETA(DisplayName = "None"),
	Queue UMETA(DisplayName = "Queue"),
	FollowUp UMETA(DisplayName = "Follow-Up"),
	Recommended UMETA(DisplayName = "Recommended")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachEligibilityKind : uint8
{
	None UMETA(DisplayName = "None"),
	PrimaryAction UMETA(DisplayName = "Primary Action"),
	Promote UMETA(DisplayName = "Promote"),
	Defer UMETA(DisplayName = "Defer"),
	ActiveRunBlocked UMETA(DisplayName = "Active Run Blocked"),
	QueueSuppressed UMETA(DisplayName = "Queue Suppressed"),
	NoEligibleAction UMETA(DisplayName = "No Eligible Action")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGeneratedModeOptionDispatchKind : uint8
{
	None UMETA(DisplayName = "None"),
	DirectCaseLaunch UMETA(DisplayName = "Direct Case Launch"),
	ApplyGeneratedChoice UMETA(DisplayName = "Apply Generated Choice"),
	Unavailable UMETA(DisplayName = "Unavailable")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGeneratedModeOptionExecutionImpactKind : uint8
{
	None UMETA(DisplayName = "None"),
	ImmediateOwnedCaseStart UMETA(DisplayName = "Immediate Owned Case Start"),
	ExecuteFromStoredRequest UMETA(DisplayName = "Execute From Stored Request"),
	ExecutePostureUnchanged UMETA(DisplayName = "Execute Posture Unchanged"),
	LaunchRequestRefreshRequired UMETA(DisplayName = "Launch-Request Refresh Required"),
	ExecuteBlocked UMETA(DisplayName = "Execute Blocked"),
	Unavailable UMETA(DisplayName = "Unavailable")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGeneratedModeOptionRequestAlignmentKind : uint8
{
	None UMETA(DisplayName = "None"),
	DirectOwnedCaseStart UMETA(DisplayName = "Direct Owned Case Start"),
	StoredRequestAligned UMETA(DisplayName = "Stored Request Aligned"),
	LaunchRequestRefreshRequired UMETA(DisplayName = "Launch-Request Refresh Required"),
	UnresolvedAfterChoice UMETA(DisplayName = "Unresolved After Choice"),
	Unavailable UMETA(DisplayName = "Unavailable")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGeneratedModeOptionStoredRequestDeltaKind : uint8
{
	None UMETA(DisplayName = "None"),
	DirectOwnedCaseStart UMETA(DisplayName = "Direct Owned Case Start"),
	NoSelectorDelta UMETA(DisplayName = "No Selector Delta"),
	CurrentDeltaOnly UMETA(DisplayName = "Current Delta Only"),
	StoredRequestDeltaOnly UMETA(DisplayName = "Stored-Request Delta Only"),
	CurrentAndStoredDelta UMETA(DisplayName = "Current And Stored Delta"),
	UnresolvedAfterChoice UMETA(DisplayName = "Unresolved After Choice"),
	Unavailable UMETA(DisplayName = "Unavailable")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind : uint8
{
	None UMETA(DisplayName = "None"),
	DirectOwnedCaseStart UMETA(DisplayName = "Direct Owned Case Start"),
	StoredRequestReusable UMETA(DisplayName = "Stored Request Reusable"),
	RefreshRequired UMETA(DisplayName = "Refresh Required"),
	UnresolvedAfterChoice UMETA(DisplayName = "Unresolved After Choice"),
	PayloadUnavailable UMETA(DisplayName = "Payload Unavailable"),
	Unavailable UMETA(DisplayName = "Unavailable")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingPromptKind : uint8
{
	Algorithm UMETA(DisplayName = "Algorithm"),
	State UMETA(DisplayName = "State"),
	Recognition UMETA(DisplayName = "Recognition"),
	Memo UMETA(DisplayName = "Memo"),
	Sequence UMETA(DisplayName = "Sequence")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSessionState : uint8
{
	Created UMETA(DisplayName = "Created"),
	Ready UMETA(DisplayName = "Ready"),
	Active UMETA(DisplayName = "Active"),
	Paused UMETA(DisplayName = "Paused"),
	Reviewing UMETA(DisplayName = "Reviewing"),
	Completed UMETA(DisplayName = "Completed"),
	Aborted UMETA(DisplayName = "Aborted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSessionKind : uint8
{
	None UMETA(DisplayName = "None"),
	DirectRun UMETA(DisplayName = "Direct Run"),
	ReviewRun UMETA(DisplayName = "Review Run"),
	CoachRecommended UMETA(DisplayName = "Coach Recommended"),
	CoachFollowUp UMETA(DisplayName = "Coach Follow-Up"),
	CoachQueue UMETA(DisplayName = "Coach Queue"),
	TemplateLaunch UMETA(DisplayName = "Template Launch"),
	MethodDrillFollowUp UMETA(DisplayName = "Method Drill Follow-Up")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingAttemptResult : uint8
{
	Success UMETA(DisplayName = "Success"),
	Failure UMETA(DisplayName = "Failure"),
	Timeout UMETA(DisplayName = "Timeout"),
	DNF UMETA(DisplayName = "DNF"),
	Aborted UMETA(DisplayName = "Aborted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingPenalty : uint8
{
	None UMETA(DisplayName = "None"),
	Plus2 UMETA(DisplayName = "+2"),
	DNF UMETA(DisplayName = "DNF")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingLiveTimerPhase : uint8
{
	Idle UMETA(DisplayName = "Idle"),
	Inspection UMETA(DisplayName = "Inspection"),
	Solving UMETA(DisplayName = "Solving"),
	Paused UMETA(DisplayName = "Paused"),
	Completed UMETA(DisplayName = "Completed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSmartDeviceConnectionState : uint8
{
	None UMETA(DisplayName = "None"),
	Connected UMETA(DisplayName = "Connected"),
	Streaming UMETA(DisplayName = "Streaming"),
	Disconnected UMETA(DisplayName = "Disconnected"),
	Closed UMETA(DisplayName = "Closed"),
	Faulted UMETA(DisplayName = "Faulted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSmartDeviceEventKind : uint8
{
	None UMETA(DisplayName = "None"),
	Connected UMETA(DisplayName = "Connected"),
	InspectionStarted UMETA(DisplayName = "Inspection Started"),
	SolveStarted UMETA(DisplayName = "Solve Started"),
	SplitCaptured UMETA(DisplayName = "Split Captured"),
	AttemptFinished UMETA(DisplayName = "Attempt Finished"),
	Disconnected UMETA(DisplayName = "Disconnected"),
	Faulted UMETA(DisplayName = "Faulted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingReviewGrade : uint8
{
	Again UMETA(DisplayName = "Again"),
	Hard UMETA(DisplayName = "Hard"),
	Good UMETA(DisplayName = "Good"),
	Easy UMETA(DisplayName = "Easy")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingReviewPlanEntryState : uint8
{
	Pending UMETA(DisplayName = "Pending"),
	Current UMETA(DisplayName = "Current"),
	Completed UMETA(DisplayName = "Completed"),
	NeedsRepeat UMETA(DisplayName = "Needs Repeat"),
	Skipped UMETA(DisplayName = "Skipped")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingReviewPolicyKind : uint8
{
	TimerBalanced UMETA(DisplayName = "Timer Balanced"),
	VirtualCubePractice UMETA(DisplayName = "Virtual Cube Practice"),
	SmartDeviceAccuracy UMETA(DisplayName = "Smart Device Accuracy"),
	RecognitionAssistedScan UMETA(DisplayName = "Recognition Assisted Scan"),
	CoachReview UMETA(DisplayName = "Coach Review")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSourceMode : uint8
{
	FirstParty UMETA(DisplayName = "First Party"),
	DirectDonor UMETA(DisplayName = "Direct Donor"),
	CleanRoom UMETA(DisplayName = "Clean Room"),
	Benchmark UMETA(DisplayName = "Benchmark")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingDrillModeKind : uint8
{
	Recognition UMETA(DisplayName = "Recognition"),
	Recall UMETA(DisplayName = "Recall"),
	Execution UMETA(DisplayName = "Execution"),
	Reconstruction UMETA(DisplayName = "Reconstruction")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingDrillVisibilityPolicy : uint8
{
	FullInformation UMETA(DisplayName = "Full Information"),
	PromptOnly UMETA(DisplayName = "Prompt Only"),
	MaskedState UMETA(DisplayName = "Masked State"),
	PartialState UMETA(DisplayName = "Partial State")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingDrillLifecycleState : uint8
{
	Ready UMETA(DisplayName = "Ready"),
	Active UMETA(DisplayName = "Active"),
	Revealed UMETA(DisplayName = "Revealed"),
	Completed UMETA(DisplayName = "Completed"),
	Aborted UMETA(DisplayName = "Aborted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingMethodDrillDiagnosticState : uint8
{
	Unknown UMETA(DisplayName = "Unknown"),
	CleanCompletion UMETA(DisplayName = "Clean Completion"),
	AssistedCompletion UMETA(DisplayName = "Assisted Completion"),
	RepeatBurden UMETA(DisplayName = "Repeat Burden"),
	Deferred UMETA(DisplayName = "Deferred")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingDrillEntrySource : uint8
{
	Catalog UMETA(DisplayName = "Catalog"),
	Favorites UMETA(DisplayName = "Favorites"),
	QueuedBatch UMETA(DisplayName = "Queued Batch"),
	Generated UMETA(DisplayName = "Generated")
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSourceAttribution
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSourceMode SourceMode = EHyperTwistTrainingSourceMode::FirstParty;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceRepo;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLicense;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTrackId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceNotes;

	bool IsStructurallyValid() const
	{
		return SourceMode == EHyperTwistTrainingSourceMode::FirstParty || !SourceRepo.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSplitPhaseDefinition
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Order = 0;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty() && Order >= 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSplitCapture
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimestampMs = 0;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty() && TimestampMs >= 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimingPolicy
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bInspectionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionDurationMs = 15000;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bInspectionPenaltiesEnabled = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowManualPenalty = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHideRunningTime = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSplitPhaseDefinition> SplitPhases;

	bool IsStructurallyValid() const
	{
		return InspectionDurationMs >= 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimingBreakdown
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PenaltyOffsetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FinalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty InspectionPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty ManualPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty AppliedPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSplitCapture> SplitCaptures;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistPhaseTiming> DerivedPhaseTimings;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidNotFinish = false;

	bool IsStructurallyValid() const
	{
		return InspectionElapsedMs >= 0
			&& RawSolveTimeMs >= 0
			&& PenaltyOffsetMs >= 0
			&& FinalTimeMs >= 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLiveTimerState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingLiveTimerPhase Phase = EHyperTwistTrainingLiveTimerPhase::Idle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingLiveTimerPhase ResumePhase = EHyperTwistTrainingLiveTimerPhase::Idle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingPolicy TimingPolicy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionLimitMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DisplayedElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalPausedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty InspectionPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty ManualPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty PendingPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSplitCapture> SplitCaptures;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInspectionWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHideRunningTime = false;

	bool IsStructurallyValid() const
	{
		return Phase == EHyperTwistTrainingLiveTimerPhase::Idle
			|| (!TrainingSessionId.IsEmpty() && !DeckId.IsEmpty() && !CaseId.IsEmpty());
	}

	bool IsActive() const
	{
		return Phase == EHyperTwistTrainingLiveTimerPhase::Inspection
			|| Phase == EHyperTwistTrainingLiveTimerPhase::Solving
			|| Phase == EHyperTwistTrainingLiveTimerPhase::Paused;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSmartDeviceIdentity
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProviderId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceFamily;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AdapterBoundaryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> CapabilityTags;

	bool IsStructurallyValid() const
	{
		return !ProviderId.IsEmpty() && !DeviceId.IsEmpty() && !AdapterBoundaryId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSmartDeviceSessionRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSmartDeviceIdentity DeviceIdentity;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EndedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSmartDeviceConnectionState ConnectionState =
		EHyperTwistTrainingSmartDeviceConnectionState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LinkedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int64 LastSequenceNumber = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastEventKey;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastEventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSmartDeviceEventKind LastEventKind = EHyperTwistTrainingSmartDeviceEventKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastLinkedAttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> LinkedAttemptIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastStatusReason;

	bool IsStructurallyValid() const
	{
		return !DeviceSessionId.IsEmpty() && !TrainingSessionId.IsEmpty() && !UserId.IsEmpty()
			&& !DeckId.IsEmpty() && DeviceIdentity.IsStructurallyValid();
	}

	bool IsOpen() const
	{
		return ConnectionState == EHyperTwistTrainingSmartDeviceConnectionState::Connected
			|| ConnectionState == EHyperTwistTrainingSmartDeviceConnectionState::Streaming;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSmartDeviceEventFrame
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSmartDeviceIdentity DeviceIdentity;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int64 SequenceNumber = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OccurredAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSmartDeviceEventKind EventKind = EHyperTwistTrainingSmartDeviceEventKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult AttemptResult = EHyperTwistTrainingAttemptResult::Success;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MistakeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty InspectionPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty ManualPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPenalty AppliedPenalty = EHyperTwistTrainingPenalty::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSplitCapture> SplitCaptures;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LinkedAttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusReason;

	bool IsStructurallyValid() const
	{
		return !DeviceSessionId.IsEmpty() && !TrainingSessionId.IsEmpty() && !UserId.IsEmpty()
			&& !DeckId.IsEmpty() && !EventId.IsEmpty() && !OccurredAtUtc.IsEmpty()
			&& DeviceIdentity.IsStructurallyValid()
			&& EventKind != EHyperTwistTrainingSmartDeviceEventKind::None;
	}

	FString BuildEventKey() const
	{
		return DeviceSessionId.IsEmpty() || EventId.IsEmpty()
			? FString()
			: FString::Printf(TEXT("%s\x1f%s"), *DeviceSessionId, *EventId);
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSmartDeviceIngestionResult
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeviceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventKey;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LinkedAttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSmartDeviceEventKind EventKind = EHyperTwistTrainingSmartDeviceEventKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAccepted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDuplicate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCreatedSession = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUpdatedTimerState = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSubmittedAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FailureReason;

	bool IsStructurallyValid() const
	{
		return bAccepted || bDuplicate;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCase
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PuzzleId = TEXT("cube/3x3x3");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPromptKind PromptKind = EHyperTwistTrainingPromptKind::Algorithm;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalStateRef;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> AlternateNotations;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScrambleNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float Difficulty = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<EHyperTwistTrainingDeliveryMode> AllowedDeliveryModes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeTargetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution SourceAttribution;

	bool IsStructurallyValid() const
	{
		return !CaseId.IsEmpty() && !PuzzleId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedRuntimeSelectorOption
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty() && !Label.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedRuntimeSelector
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorBinding;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelectorOption> Options;

	bool IsStructurallyValid() const
	{
		return !SelectorId.IsEmpty() && !Label.IsEmpty() && (!SelectorBinding.IsEmpty() || Options.Num() > 0);
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedRuntimeSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelector> Selectors;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> OriginPaths;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Notes;

	bool IsStructurallyValid() const
	{
		return !SurfaceKind.IsEmpty() && !SurfaceId.IsEmpty() && !SurfaceLabel.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedRuntimeSelectorChoice
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorBinding;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayValue;

	bool IsStructurallyValid() const
	{
		return !SelectorId.IsEmpty() && !SelectedValue.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedRuntimeSelectionState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelectorChoice> SelectorChoices;

	bool IsStructurallyValid() const
	{
		return !SurfaceId.IsEmpty() && !SurfaceKind.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedGeneratedModeLaunchConfig
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PuzzleId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelectorChoice> SelectorChoices;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> OriginPaths;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Notes;

	bool IsStructurallyValid() const
	{
		return !DeckId.IsEmpty()
			&& !TrainingSessionId.IsEmpty()
			&& !SurfaceId.IsEmpty()
			&& !RuntimeModeId.IsEmpty()
			&& SelectorChoices.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingImportedGeneratedModeLaunchRequest
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestSource;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedGeneratedModeLaunchConfig LaunchConfig;

	bool IsStructurallyValid() const
	{
		return !RequestId.IsEmpty()
			&& !RequestedAtUtc.IsEmpty()
			&& !RequestSource.IsEmpty()
			&& LaunchConfig.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingDeck
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<EHyperTwistTrainingDeliveryMode> DeliveryModes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesRealScrambles = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSupportsAlgorithmReveal = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSupportsVirtualCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSupportsSmartCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingPolicy TimingPolicy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCase> Cases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DifficultyBand;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution SourceAttribution;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedRuntimeSurface ImportedRuntimeSurface;

	bool IsStructurallyValid() const
	{
		return !DeckId.IsEmpty() && !Title.IsEmpty() && Cases.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTrack
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrackId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Goal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingDeck> Decks;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution SourceAttribution;

	bool IsStructurallyValid() const
	{
		return !TrackId.IsEmpty() && !Title.IsEmpty() && Decks.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistContentPack
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContentPackId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Version = TEXT("2026.04");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistPuzzleFamily PuzzleFamily = EHyperTwistPuzzleFamily::ClassicCube;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NotationProfile = TEXT("classic-wca");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingTrack> Tracks;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution SourceAttribution;

	bool IsStructurallyValid() const
	{
		return !ContentPackId.IsEmpty() && !Title.IsEmpty() && !NotationProfile.IsEmpty() && Tracks.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSession
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EndedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode Mode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionState SessionState = EHyperTwistTrainingSessionState::Created;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	bool IsStructurallyValid() const
	{
		return !TrainingSessionId.IsEmpty() && !DeckId.IsEmpty() && !UserId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAttempt
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult Result = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Mistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	bool IsStructurallyValid() const
	{
		return !AttemptId.IsEmpty() && !TrainingSessionId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSessionSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionState SessionState = EHyperTwistTrainingSessionState::Created;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Plus2PenaltyCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ImportedRuntimeSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ImportedRuntimeSurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelectorChoice> ImportedRuntimeSelectorChoices;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAttemptReplayPayload
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventKind = TEXT("training-attempt");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult Result = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Mistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ImportedRuntimeSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ImportedRuntimeSurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingImportedRuntimeSelectorChoice> ImportedRuntimeSelectorChoices;
};

USTRUCT(BlueprintType)
struct FHyperTwistProgressionMemory
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float StrengthScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastSeenAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult LastOutcome = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DifficultyWeight = 1.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ResurfacePriority = 0.0f;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCaseSelection
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCase TrainingCase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SelectionScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DifficultyWeight = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ResurfacePriority = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bModeCompatible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedStoredMemory = false;

	bool IsStructurallyValid() const
	{
		return TrainingCase.IsStructurallyValid() && bModeCompatible && SelectionScore > -999.0f;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAdvanceResult
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSession UpdatedSession;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCaseSelection NextCaseSelection;

	bool IsStructurallyValid() const
	{
		return UpdatedSession.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAttemptResolution
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSession UpdatedSession;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistProgressionMemory UpdatedProgressionMemory;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistReplayEvent ReplayEvent;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCaseSelection NextCaseSelection;

	bool IsStructurallyValid() const
	{
		return UpdatedSession.IsStructurallyValid()
			&& UpdatedProgressionMemory.CaseId.Len() > 0;
	}
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingSessionTemplateKind : uint8
{
	ReviewPlan UMETA(DisplayName = "Review Plan"),
	Recovery UMETA(DisplayName = "Recovery"),
	Accuracy UMETA(DisplayName = "Accuracy"),
	Speed UMETA(DisplayName = "Speed"),
	Coach UMETA(DisplayName = "Coach")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionReasonClass : uint8
{
	None UMETA(DisplayName = "None"),
	PrimaryDashboardPriority UMETA(DisplayName = "Primary Dashboard Priority"),
	AnalyticsTieBreak UMETA(DisplayName = "Analytics Tie Break")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionAnalyticsSupportKind : uint8
{
	None UMETA(DisplayName = "None"),
	TemplateScopedOutcomeSignal UMETA(DisplayName = "Template Scoped Outcome Signal"),
	SelectorSplitConfidence UMETA(DisplayName = "Selector Split Confidence")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionPeerSupportKindDisposition : uint8
{
	None UMETA(DisplayName = "None"),
	PeerLackedComparableEvidence UMETA(DisplayName = "Peer Lacked Comparable Evidence"),
	PeerFailedGuardOnWeakerSupportKindOutcomes
		UMETA(DisplayName = "Peer Failed Guard On Weaker Support Kind Outcomes"),
	PeerFailedGuardOnMarginalSupportKindOutcomes
		UMETA(DisplayName = "Peer Failed Guard On Marginal Support Kind Outcomes"),
	PeerClearedComparableSupportKindGuard
		UMETA(DisplayName = "Peer Cleared Comparable Support Kind Guard")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportKind : uint8
{
	None UMETA(DisplayName = "None"),
	BroaderOutcomeOnly UMETA(DisplayName = "Broader Outcome Only"),
	ConfidenceLaneBias UMETA(DisplayName = "Confidence Lane Bias")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshotState : uint8
{
	None UMETA(DisplayName = "None"),
	Earned UMETA(DisplayName = "Earned"),
	Suppressed UMETA(DisplayName = "Suppressed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionKind : uint8
{
	None UMETA(DisplayName = "None"),
	SupportBiasSnapshotGuard UMETA(DisplayName = "Support Bias Snapshot Guard")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasKind :
	uint8
{
	None UMETA(DisplayName = "None"),
	DecisionSplitGuard UMETA(DisplayName = "Decision Split Guard")
};

UENUM(BlueprintType)
enum class
	EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasSnapshotDecisionKind :
		uint8
{
	None UMETA(DisplayName = "None"),
	DecisionBiasSnapshotGuard UMETA(DisplayName = "Decision Bias Snapshot Guard")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotState :
	uint8
{
	None UMETA(DisplayName = "None"),
	Earned UMETA(DisplayName = "Earned"),
	Suppressed UMETA(DisplayName = "Suppressed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshotState : uint8
{
	None UMETA(DisplayName = "None"),
	NoRetainedComparablePeerConfidenceLane
		UMETA(DisplayName = "No Retained Comparable Peer Confidence Lane"),
	ConfidenceEligible UMETA(DisplayName = "Confidence Eligible"),
	SuppressedPeerNoEvidenceHeavy UMETA(DisplayName = "Suppressed Peer No Evidence Heavy")
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshotState State =
		EHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshotState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ConfidenceLaneBiasOutcomeRuns = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroaderOutcomeOnlyOutcomeRuns = 0;

	bool IsStructurallyValid() const
	{
		return State != EHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshotState::None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshotState State =
		EHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshotState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ComparablePeerOutcomeRuns = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitConfidenceOutcomeRuns = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PeerNoEvidenceOutcomeRuns = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ComparablePeerOutcomeShare = 0.0f;

	bool IsStructurallyValid() const
	{
		return State != EHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshotState::None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotState State =
		EHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DecisionSplitGuardOutcomeRuns = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlainSnapshotGuardOutcomeRuns = 0;

	bool IsStructurallyValid() const
	{
		return State
			!= EHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotState::
				None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchSelectionProvenance
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionReasonClass ReasonClass =
		EHyperTwistTrainingTemplateLaunchSelectionReasonClass::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionAnalyticsSupportKind AnalyticsSupportKind =
		EHyperTwistTrainingTemplateLaunchSelectionAnalyticsSupportKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionPeerSupportKindDisposition
		PeerSupportKindDisposition =
			EHyperTwistTrainingTemplateLaunchSelectionPeerSupportKindDisposition::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportKind
		TemplateSignalSupportKind =
			EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionKind
		TemplateSignalSupportDecisionKind =
			EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasKind
		TemplateSignalSupportDecisionBiasKind =
			EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasSnapshotDecisionKind
		TemplateSignalSupportDecisionBiasSnapshotDecisionKind =
			EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportDecisionBiasSnapshotDecisionKind::
				None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchTemplateSignalSupportBiasSnapshot
		TemplateSignalSupportBiasSnapshot;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchTemplateSignalSupportDecisionBiasSnapshot
		TemplateSignalSupportDecisionBiasSnapshot;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchComparablePeerConfidenceSnapshot
		ComparablePeerConfidenceSnapshot;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PeerTemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PeerTemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DecisionSummaryLine;

	bool IsStructurallyValid() const
	{
		return !SelectorSourceLabel.IsEmpty()
			&& ReasonClass != EHyperTwistTrainingTemplateLaunchSelectionReasonClass::None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchProvenance
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionTemplateKind TemplateKind =
		EHyperTwistTrainingSessionTemplateKind::Recovery;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferReviewRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionProvenance SelectionProvenance;

	bool IsStructurallyValid() const
	{
		return !TemplateId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRunState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingDeck ActiveDeck;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSession Session;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCaseSelection CurrentSelection;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RemainingCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistProgressionMemory> Memories;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingAttempt> Attempts;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistReplayPacket ReplayPacket;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistReplayEvent LastReplayEvent;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedRuntimeSelectionState ImportedRuntimeSelectionState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedGeneratedModeLaunchRequest ImportedGeneratedModeLaunchRequest;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchProvenance TemplateLaunchProvenance;

	bool IsStructurallyValid() const
	{
		return ActiveDeck.IsStructurallyValid()
			&& Session.IsStructurallyValid()
			&& (!ReplayPacket.ReplayId.IsEmpty() ? ReplayPacket.IsStructurallyValid() : true);
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRecognitionSessionState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSessionOpen = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsingProviderBackedClient = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreviewResult = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCommitResult = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFinalizeResult = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OpenedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastError;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SubmittedFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CommittedObservationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CorrectionEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedCorrectionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FinalizedSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionSessionConfig SessionConfig;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionServiceHealth ServiceHealth;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionPreviewResult LastPreviewResult;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionCommitResult LastCommitResult;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionFinalizeResult LastFinalizeResult;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionCorrectionResolution LastCorrectionResolution;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistVisionCorrectionResolution> CorrectionResolutionLedger;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistVisionReconstructionSession ActiveReconstructionSession;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCompanionSpeechSessionState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSessionOpen = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsingProviderBackedClient = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTranscriptResult = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OpenedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastError;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SubmittedUtteranceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FinalTranscriptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechSessionConfig SessionConfig;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechServiceHealth ServiceHealth;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechMicrophoneShellState MicrophoneShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechDevicePermissionWorkflowState DevicePermissionWorkflowState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechNativeCaptureRouteWorkflowState NativeCaptureRouteWorkflowState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechNativeCaptureRouteShellState NativeCaptureRouteShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechExternalDictationShellState ExternalDictationShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechUsageCostDashboardShellState UsageCostDashboardShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechUsageCostHistoryExportShellState UsageCostHistoryExportShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechProviderReceiptReviewShellState ProviderReceiptReviewShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechProviderBillingSettlementShellState ProviderBillingSettlementShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechProviderSettlementExceptionShellState ProviderSettlementExceptionShellState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistSpeechTranscriptResult LastTranscriptResult;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRunStepResult
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingRunState UpdatedRunState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingAttemptResolution AttemptResolution;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSessionSummary SessionSummary;

	bool IsStructurallyValid() const
	{
		return UpdatedRunState.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAttemptHistoryEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult Result = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHadMistake = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAborted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTimerOnly = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	bool IsStructurallyValid() const
	{
		return !AttemptId.IsEmpty() && !TrainingSessionId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSolveHistoryEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	bool IsStructurallyValid() const
	{
		return !AttemptId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewHistoryEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewGrade Grade = EHyperTwistTrainingReviewGrade::Again;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHadMistake = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAborted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTimerOnly = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	bool IsStructurallyValid() const
	{
		return !AttemptId.IsEmpty() && !TrainingSessionId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCaseLearnerState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DueAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float StabilityDays = 0.25f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DifficultyScore = 5.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReviewCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LapseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessReviewCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AutoLearnedLevel = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastReviewedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewGrade LastGrade = EHyperTwistTrainingReviewGrade::Again;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DeckId.IsEmpty() && !CaseId.IsEmpty() && ReviewCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRunRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSession Session;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSessionSummary Summary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingAttempt> Attempts;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingAttemptHistoryEntry> AttemptHistory;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSolveHistoryEntry> SolveHistory;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingReviewHistoryEntry> ReviewHistory;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RemainingCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompleted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedRuntimeSelectionState ImportedRuntimeSelectionState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingImportedGeneratedModeLaunchRequest ImportedGeneratedModeLaunchRequest;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchProvenance TemplateLaunchProvenance;

	bool IsStructurallyValid() const
	{
		return Session.IsStructurallyValid() && Summary.TrainingSessionId == Session.TrainingSessionId;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSolveSession
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult Result = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveTimerBacked = false;

	bool IsStructurallyValid() const
	{
		return !TrainingSessionId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingGameSessionSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GameSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryAnalyticsReportId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionKind SessionKind = EHyperTwistTrainingSessionKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachOrchestrated = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTemplateLaunched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReviewBacked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLinkedMethodDrill = false;

	bool IsStructurallyValid() const
	{
		return !GameSessionId.IsEmpty() && !TrainingSessionId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSessionDomainBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionKind SessionKind = EHyperTwistTrainingSessionKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSolveSession SolveSession;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSession Session;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSessionSummary TrainingSession;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingGameSessionSummary GameSession;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSolveSession = false;

	bool IsStructurallyValid() const
	{
		return Session.IsStructurallyValid()
			|| !TrainingSession.TrainingSessionId.IsEmpty()
			|| GameSession.IsStructurallyValid()
			|| bHasSolveSession;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAnalyticsPanelContract
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PanelId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReportId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Summary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisualizationKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GameSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPrimaryPanel = false;

	bool IsStructurallyValid() const
	{
		return !PanelId.IsEmpty() && !ReportId.IsEmpty() && !Title.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingAnalyticsPanelContractBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryPanelId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryReportId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GameSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingAnalyticsPanelContract> Panels;

	bool IsStructurallyValid() const
	{
		return !PrimaryPanelId.IsEmpty() && Panels.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingDeckHistorySummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Plus2PenaltyCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedAtUtc;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRollingWindowStat
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WindowLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WindowSize = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveSampleCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWindowFilled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTrimExtremes = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentAverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentAverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestAverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestAverageRawSolveTimeMs = 0;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimingTrendSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LastSolveTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LastSolveRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSingleTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSingleRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WorstSingleTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WorstSingleRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MeanTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MeanRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastSolveAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingRollingWindowStat> RollingWindows;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DeckId.IsEmpty() && SolveCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingPersonalBestSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BestSingleSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSingleTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSingleRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BestAverageSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSessionAverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestSessionAverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastPersonalBestAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTimedPersonalBest = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DeckId.IsEmpty() && bHasTimedPersonalBest;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimerExportEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult Result = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTimingBreakdown TimingBreakdown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReplayId;

	bool IsStructurallyValid() const
	{
		return !AttemptId.IsEmpty()
			&& !TrainingSessionId.IsEmpty()
			&& !UserId.IsEmpty()
			&& !DeckId.IsEmpty()
			&& !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimerExportPacket
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FormatVersion = TEXT("ht-timer-export/v1");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSystem = TEXT("HyperTwistTraining");

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExportedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingTimerExportEntry> Entries;

	bool IsStructurallyValid() const
	{
		return !FormatVersion.IsEmpty()
			&& !UserId.IsEmpty()
			&& !DeckId.IsEmpty()
			&& Entries.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTimerExportIntegrityReport
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MismatchedScopeEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingPacketMetadataCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RepairActions;

	bool HasIntegrityIssues() const
	{
		return InvalidEntryCount > 0
			|| DuplicateEntryCount > 0
			|| MismatchedScopeEntryCount > 0
			|| MissingPacketMetadataCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCaseScopedStats
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MistakeAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartDeviceAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartDeviceSolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionSolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Plus2PenaltyCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode PrimaryDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAttemptAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastSuccessAtUtc;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DeckId.IsEmpty() && !CaseId.IsEmpty() && AttemptCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingDeckScopedStats
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrackedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MistakeAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartDeviceAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartDeviceSolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionSolveCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageExecutionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Plus2PenaltyCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestCompletedRunWallTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageCompletedRunWallTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode PrimaryDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAttemptAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedRunAtUtc;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DeckId.IsEmpty() && AttemptCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchSelectionScopedStats
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionReasonClass ReasonClass =
		EHyperTwistTrainingTemplateLaunchSelectionReasonClass::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionAnalyticsSupportKind AnalyticsSupportKind =
		EHyperTwistTrainingTemplateLaunchSelectionAnalyticsSupportKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingTemplateLaunchSelectionPeerSupportKindDisposition
		PeerSupportKindDisposition =
			EHyperTwistTrainingTemplateLaunchSelectionPeerSupportKindDisposition::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OpenRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float OverallSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageMistakesPerOutcomeRun = 0.0f;

	bool IsStructurallyValid() const
	{
		return ReasonClass != EHyperTwistTrainingTemplateLaunchSelectionReasonClass::None
			&& LaunchCount > 0;
	}

	int32 GetOutcomeRunCount() const
	{
		return CompletedRunCount + AbortedRunCount;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingTemplateLaunchScopedStats
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionTemplateKind TemplateKind =
		EHyperTwistTrainingSessionTemplateKind::Recovery;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OpenRunCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReviewBackedLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CoachReviewLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ShortReviewSetLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalFailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalDNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageCompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float OverallSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageMistakesPerOutcomeRun = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats DashboardPrimarySelectionStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats DashboardAnalyticsTieBreakStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalBroaderOutcomeOnlyStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalConfidenceLaneBiasStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalNoSupportBiasSnapshotGuardStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotGuardStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotGuardNoDecisionBiasStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotGuardDecisionSplitGuardStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotGuardDecisionSplitGuardPlainStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotGuardDecisionSplitGuardDecisionBiasSnapshotGuardStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotEarnedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotSuppressedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportBiasSnapshotNoRetainedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportDecisionBiasSnapshotEarnedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportDecisionBiasSnapshotSuppressedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSupportDecisionBiasSnapshotNoRetainedStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalNoRetainedComparablePeerConfidenceLaneStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalConfidenceEligibleStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakTemplateScopedSignalSuppressedPeerNoEvidenceHeavyStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakSelectorSplitConfidenceStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakSelectorSplitConfidencePeerLackedComparableEvidenceStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakSelectorSplitConfidencePeerFailedWeakerSupportKindStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakSelectorSplitConfidencePeerFailedMarginalSupportKindStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionScopedStats
		DashboardAnalyticsTieBreakSelectorSplitConfidencePeerClearedComparableGuardStats;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastLaunchAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastSessionId;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !TemplateId.IsEmpty() && LaunchCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLearnerDeckStateSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrackedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OverdueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NewCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LearningCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatureCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageStabilityDays = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageDifficultyScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextDueAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastReviewedAtUtc;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLearnerProfile
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalFailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalTrackedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OverdueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LearningCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatureCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActiveTrainingDayStreak = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LongestObservedTrainingDayStreak = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecentSevenDaySessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecentSevenDayCompletedSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode PrimaryDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FavoriteDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float FavoriteDeckSessionShare = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FavoriteMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float FavoriteMethodSegmentSessionShare = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastTrainingAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OpenReviewPlanCount = 0;
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingPublicationVisibility : uint8
{
	Hidden UMETA(DisplayName = "Hidden"),
	Preview UMETA(DisplayName = "Preview"),
	Published UMETA(DisplayName = "Published")
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingEntitlementGateState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FeatureId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FeatureGovernanceContractId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EarlyAccessContractId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LifecycleStageId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EnrollmentModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ApprovedWorkflowTags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresOptIn = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVisible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bEntitled = false;

	bool IsStructurallyValid() const
	{
		return !GateId.IsEmpty() && !FeatureId.IsEmpty() && !Title.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingProfilePublication
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PublicationId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HighlightLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HighlightPrimaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HighlightSecondaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastPublishedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPublicationVisibility Visibility = EHyperTwistTrainingPublicationVisibility::Hidden;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLeaderboardVisible = false;

	bool IsStructurallyValid() const
	{
		return !PublicationId.IsEmpty() && !UserId.IsEmpty() && !DeckId.IsEmpty() && !DisplayName.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLeaderboardEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SolverDisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProgramLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RelativeDateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RankLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricPrimaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricSecondaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bEligible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPublished = false;

	bool IsStructurallyValid() const
	{
		return !EntryId.IsEmpty() && !EventId.IsEmpty() && !MetricPrimaryValue.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLeaderboardBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BundleId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryEventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryEventTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ColumnOrder;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimeFormattingRule;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RelativeDateRule;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SolverProfileRule;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProgramBadgeRule;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingLeaderboardEntry> Entries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bEntitlementVisible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPublishedEntries = false;

	bool IsStructurallyValid() const
	{
		return !BundleId.IsEmpty() && !DeckId.IsEmpty() && ColumnOrder.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingPublicationBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingLearnerProfile LearnerProfile;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingDeckHistorySummary DeckHistorySummary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingPersonalBestSummary PersonalBestSummary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingEntitlementGateState EntitlementGate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingProfilePublication ProfilePublication;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingLeaderboardBundle Leaderboard;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMatchedLeaderboardEvents = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty()
			&& !DeckId.IsEmpty()
			&& EntitlementGate.IsStructurallyValid()
			&& ProfilePublication.IsStructurallyValid()
			&& Leaderboard.IsStructurallyValid();
	}
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingFriendLinkState : uint8
{
	None UMETA(DisplayName = "None"),
	PendingOutgoing UMETA(DisplayName = "Pending Outgoing"),
	PendingIncoming UMETA(DisplayName = "Pending Incoming"),
	Active UMETA(DisplayName = "Active"),
	Rejected UMETA(DisplayName = "Rejected")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingNotificationKind : uint8
{
	None UMETA(DisplayName = "None"),
	FriendRequest UMETA(DisplayName = "Friend Request"),
	FriendAccepted UMETA(DisplayName = "Friend Accepted"),
	FriendActivity UMETA(DisplayName = "Friend Activity"),
	ChallengeInvitation UMETA(DisplayName = "Challenge Invitation"),
	ChallengeAccepted UMETA(DisplayName = "Challenge Accepted"),
	ChallengeReady UMETA(DisplayName = "Challenge Ready"),
	ChallengeExpired UMETA(DisplayName = "Challenge Expired"),
	ChallengeCompleted UMETA(DisplayName = "Challenge Completed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingNotificationVisibilityState : uint8
{
	None UMETA(DisplayName = "None"),
	Hidden UMETA(DisplayName = "Hidden"),
	Inbox UMETA(DisplayName = "Inbox"),
	Archived UMETA(DisplayName = "Archived")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingChallengeLifecycleState : uint8
{
	None UMETA(DisplayName = "None"),
	Pending UMETA(DisplayName = "Pending"),
	Accepted UMETA(DisplayName = "Accepted"),
	Rejected UMETA(DisplayName = "Rejected"),
	Expired UMETA(DisplayName = "Expired"),
	Ready UMETA(DisplayName = "Ready"),
	Completed UMETA(DisplayName = "Completed")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingLocalMatchReadinessState : uint8
{
	None UMETA(DisplayName = "None"),
	Seeded UMETA(DisplayName = "Seeded"),
	AwaitingAttempts UMETA(DisplayName = "Awaiting Attempts"),
	ReadyToCompare UMETA(DisplayName = "Ready To Compare"),
	ComparisonLocked UMETA(DisplayName = "Comparison Locked")
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingFriendIdentitySnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FriendUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PublicationId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastPublishedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredEventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	bool IsStructurallyValid() const
	{
		return !FriendUserId.IsEmpty() && !DisplayName.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingFriendLinkRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LinkId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingFriendIdentitySnapshot FriendSnapshot;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RespondedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingFriendLinkState State = EHyperTwistTrainingFriendLinkState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	bool IsStructurallyValid() const
	{
		return !LinkId.IsEmpty()
			&& !UserId.IsEmpty()
			&& FriendSnapshot.IsStructurallyValid()
			&& State != EHyperTwistTrainingFriendLinkState::None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingNotificationRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NotificationId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecipientUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActorUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FriendUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ChallengeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReadAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AcknowledgedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ArchivedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilityReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingNotificationKind Kind = EHyperTwistTrainingNotificationKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingNotificationVisibilityState VisibilityState =
		EHyperTwistTrainingNotificationVisibilityState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRead = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAcknowledged = false;

	bool IsStructurallyValid() const
	{
		return !NotificationId.IsEmpty()
			&& !RecipientUserId.IsEmpty()
			&& !CreatedAtUtc.IsEmpty()
			&& !Title.IsEmpty()
			&& Kind != EHyperTwistTrainingNotificationKind::None
			&& VisibilityState != EHyperTwistTrainingNotificationVisibilityState::None;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingChallengeParticipantSnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PublicationId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingLeaderboardEntry ReferenceEntry;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DisplayName.IsEmpty() && !DeckId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingChallengeRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ChallengeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ChallengerUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecipientUserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RespondedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReadyAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExpiresAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SeedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingChallengeLifecycleState LifecycleState =
		EHyperTwistTrainingChallengeLifecycleState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingLocalMatchReadinessState MatchReadinessState =
		EHyperTwistTrainingLocalMatchReadinessState::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingChallengeParticipantSnapshot ChallengerSnapshot;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingChallengeParticipantSnapshot RecipientSnapshot;

	bool IsStructurallyValid() const
	{
		return !ChallengeId.IsEmpty()
			&& !ChallengerUserId.IsEmpty()
			&& !RecipientUserId.IsEmpty()
			&& !DeckId.IsEmpty()
			&& !EventId.IsEmpty()
			&& !CreatedAtUtc.IsEmpty()
			&& LifecycleState != EHyperTwistTrainingChallengeLifecycleState::None
			&& ChallengerSnapshot.IsStructurallyValid()
			&& RecipientSnapshot.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingChallengeComparisonEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricPrimaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricSecondaryValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RelativeDateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProgramLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentUser = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasComparableEntry = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !DisplayName.IsEmpty() && !EventId.IsEmpty() && !MetricLabel.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingChallengeComparisonBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ChallengeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetricLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LifecycleLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchReadinessLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingChallengeComparisonEntry> Entries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReadyToCompare = false;

	bool IsStructurallyValid() const
	{
		return !ChallengeId.IsEmpty() && !DeckId.IsEmpty() && !EventId.IsEmpty() && Entries.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSocialChallengeBundle
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FeatureId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVisible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bChallengeCreationEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingFriendLinkRecord> FriendLinks;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingNotificationRecord> Notifications;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingChallengeRecord> Challenges;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingChallengeComparisonBundle> ComparisonBundles;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingFriendCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VisibleNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnreadNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcknowledgedNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchivedNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActiveChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyChallengeCount = 0;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !ReferenceUtc.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachMemorySnapshot
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RecoveryDeckIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RecoveryMethodSegmentIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> WeakCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> DueCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> OverdueCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PendingReviewPlanIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ArchivedResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PersistentCoachWeakCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> EscalationCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RecurringCoachCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> SuppressedResolvedCoachCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PinnedCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> LongTermArchivedCoachCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ExpiredCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> SchedulePressureCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> StableArchivedCoachCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ProvisionalArchivedCoachCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ArchiveReopenRiskCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastTrainingAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActiveTrainingDayStreak = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosedCoachSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalatedCoachSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpReadyCoachSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatRecommendationSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ScheduleDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ScheduleManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ScheduleArchiveAwareEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ScheduleBlockedFollowUpEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantCoachSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy DominantCoachSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ArchiveStabilityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ArchiveRetentionTuningScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ScheduleExecutionPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantScheduleDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind PreferredCoachHandoffKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredCoachHandoffSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PreferredLaunchBudgetBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaunchBudgetSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredQueueRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredQueueRecoveryActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedGuidancePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpGuidancePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedGuidanceContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpGuidanceContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuppressedPrimaryQueuePressureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuppressedFollowUpQueuePressureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecoverySustainedFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecoverySuppressedBorderlineFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchBudgetHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchBudgetHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredTightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchHistoryCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredFirstFollowUpPacketHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillFollowUpAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float NarrowMethodDrillFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadMethodDrillFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillRecoveryAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachIntervention = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsVarietyRotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCadenceRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRepeatRecommendationPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPinnedCarryForwardPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStableArchiveMemory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsArchiveRetentionTuning = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredScheduleWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueExecutionCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsScheduleFrictionRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareScheduleFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpScheduleFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRepeatManualScheduleFriction = false;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDescriptor
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodKey;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PuzzleId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	bool IsStructurallyValid() const
	{
		return !SegmentId.IsEmpty() && !MethodKey.IsEmpty() && !PuzzleId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodSegment
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDescriptor MethodDescriptor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> DeckIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrackedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OverdueCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LearningCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatureCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode PrimaryDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastTrainingAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachIntervention = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && MethodDescriptor.IsStructurallyValid() && DeckIds.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillDefinition
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDescriptor MethodDescriptor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingDeck SourceDeck;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillModeKind DrillMode = EHyperTwistTrainingDrillModeKind::Recognition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillVisibilityPolicy VisibilityPolicy =
		EHyperTwistTrainingDrillVisibilityPolicy::FullInformation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillEntrySource EntrySource = EHyperTwistTrainingDrillEntrySource::Catalog;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnswerHiddenUntilReveal = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowImmediateRepeat = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution SourceAttribution;

	bool IsStructurallyValid() const
	{
		return !DrillId.IsEmpty()
			&& !Title.IsEmpty()
			&& MethodDescriptor.IsStructurallyValid()
			&& SourceDeck.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillResponseRecord
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResponseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillRunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PresentedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RespondedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillModeKind DrillMode = EHyperTwistTrainingDrillModeKind::Recognition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillVisibilityPolicy VisibilityPolicy =
		EHyperTwistTrainingDrillVisibilityPolicy::FullInformation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnswerWasRevealed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMarkedCorrect = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWasRepeat = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResponseText;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Notes;

	bool IsStructurallyValid() const
	{
		return !ResponseId.IsEmpty() && !DrillRunId.IsEmpty() && !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillRunState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDrillDefinition DrillDefinition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceBatchId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillLifecycleState LifecycleState = EHyperTwistTrainingDrillLifecycleState::Ready;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EndedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCase CurrentCase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnswerVisible = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PendingCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> CompletedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingMethodDrillResponseRecord> Responses;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatCount = 0;

	bool IsStructurallyValid() const
	{
		const bool bNeedsCurrentCase =
			LifecycleState == EHyperTwistTrainingDrillLifecycleState::Active
			|| LifecycleState == EHyperTwistTrainingDrillLifecycleState::Revealed;
		const bool bHasValidCurrentCase = CurrentCase.CaseId.IsEmpty()
			? !bNeedsCurrentCase
			: CurrentCase.IsStructurallyValid();
		return DrillDefinition.IsStructurallyValid()
			&& !RunId.IsEmpty()
			&& !UserId.IsEmpty()
			&& bHasValidCurrentCase;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingDrillTimerCompletionResult
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSubmitSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAdvanceSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingRunStepResult SubmitStepResult;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDrillRunState UpdatedDrillRunState;

	bool IsStructurallyValid() const
	{
		return bSubmitSucceeded && SubmitStepResult.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillLifecycleState LifecycleState = EHyperTwistTrainingDrillLifecycleState::Ready;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnswerHiddenUntilReveal = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	bool IsStructurallyValid() const
	{
		return !RunId.IsEmpty() && !DrillId.IsEmpty() && !UserId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillFavoriteEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDescriptor MethodDescriptor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AddedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> Tags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Note;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty()
			&& !DrillId.IsEmpty()
			&& !CaseId.IsEmpty()
			&& !SourceDeckId.IsEmpty()
			&& MethodDescriptor.IsStructurallyValid();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillBatch
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BatchId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingMethodDescriptor MethodDescriptor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillModeKind DrillMode = EHyperTwistTrainingDrillModeKind::Recognition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillVisibilityPolicy VisibilityPolicy =
		EHyperTwistTrainingDrillVisibilityPolicy::FullInformation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnswerHiddenUntilReveal = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillLifecycleState SavedLifecycleState = EHyperTwistTrainingDrillLifecycleState::Ready;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PendingCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> CompletedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingMethodDrillResponseRecord> Responses;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPinnedFavoritesOnly = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty()
			&& !BatchId.IsEmpty()
			&& !DrillId.IsEmpty()
			&& !SourceDeckId.IsEmpty()
			&& MethodDescriptor.IsStructurallyValid()
			&& (!CurrentCaseId.IsEmpty() || PendingCaseIds.Num() > 0 || CompletedCaseIds.Num() > 0);
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillBatchReadiness
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BatchId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsResumable = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsStale = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RemainingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float CompletionFraction = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	bool IsStructurallyValid() const
	{
		return !BatchId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingDrillCaseModeCompatibility
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompatibleWithMode = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompatibleWithVisibility = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillModeKind DrillMode = EHyperTwistTrainingDrillModeKind::Recognition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillVisibilityPolicy VisibilityPolicy =
		EHyperTwistTrainingDrillVisibilityPolicy::FullInformation;

	bool IsStructurallyValid() const
	{
		return !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillCaseComparisonPacket
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CorrectResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 IncorrectResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WorstElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompleted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStillPending = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWasCarryoverCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingMethodDrillDiagnosticState DiagnosticState =
		EHyperTwistTrainingMethodDrillDiagnosticState::Unknown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewGrade RecommendedReviewGrade = EHyperTwistTrainingReviewGrade::Good;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByReveal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByRepeat = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByDeferredState = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByCarryover = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BoundaryReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	bool IsStructurallyValid() const
	{
		return !CaseId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingMethodDrillDiagnosticPacket
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceBatchId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillModeKind DrillMode = EHyperTwistTrainingDrillModeKind::Recognition;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillVisibilityPolicy VisibilityPolicy =
		EHyperTwistTrainingDrillVisibilityPolicy::FullInformation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDrillLifecycleState LifecycleState = EHyperTwistTrainingDrillLifecycleState::Ready;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CorrectResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 IncorrectResponseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AssistedCompletionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatBurdenCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedCarryoverCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float CompletionFraction = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AssistanceFraction = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWasResumedRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsFollowUpTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsReviewPlanBridge = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingMethodDrillDiagnosticState DiagnosticState =
		EHyperTwistTrainingMethodDrillDiagnosticState::Unknown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewGrade RecommendedReviewGrade = EHyperTwistTrainingReviewGrade::Good;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByPendingCases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByRepeatBurden = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByAssistance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryTriggeredByResumeCarryover = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BoundaryReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingMethodDrillCaseComparisonPacket> CasePackets;

	bool IsStructurallyValid() const
	{
		return !RunId.IsEmpty() && !UserId.IsEmpty() && !DrillId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingLearnerPreset
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PresetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 5;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingSessionTemplate
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionTemplateKind TemplateKind = EHyperTwistTrainingSessionTemplateKind::Recovery;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 5;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourcePresetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferReviewRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUserEditable = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUserCustomized = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUserCreated = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !TemplateId.IsEmpty() && !FocusDeckId.IsEmpty() && RecommendedCaseCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCaseRecommendation
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCase TrainingCase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCaseLearnerState LearnerState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float RecommendationScore = -1000.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DaysUntilDue = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsDue = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsOverdue = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsNewCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresReviewFocus = false;

	bool IsStructurallyValid() const
	{
		return TrainingCase.IsStructurallyValid() && RecommendationScore > -999.0f;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewPlanEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float RecommendationScore = -1000.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewPlanEntryState EntryState = EHyperTwistTrainingReviewPlanEntryState::Pending;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingAttemptResult LastOutcome = EHyperTwistTrainingAttemptResult::Failure;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedAtUtc;

	bool IsStructurallyValid() const
	{
		return !CaseId.IsEmpty() && RecommendationScore > -999.0f;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewPolicy
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewPolicyKind PolicyKind = EHyperTwistTrainingReviewPolicyKind::TimerBalanced;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MaxCases = 5;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float NewCaseBias = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DueCaseBias = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float RecognitionBias = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AccuracyBias = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepeatFailuresImmediately = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSets = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferRecognitionReplayReview = false;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewPlanState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingReviewPolicy Policy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingReviewPlanEntry> Entries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompleted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	bool IsStructurallyValid() const
	{
		return !PlanId.IsEmpty()
			&& !UserId.IsEmpty()
			&& !SourceDeckId.IsEmpty()
			&& !ReviewDeckId.IsEmpty()
			&& Entries.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewFlowStatus
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentPromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SkippedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ProgressRatio = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachIntervention = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPlanComplete = false;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingReviewProgramSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PendingPlanIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastPlanCreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CoachInterventionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SkippedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CarryoverCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AveragePlanProgressRatio = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AveragePendingEntriesPerOpenPlan = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageCarryoverCasesPerOpenPlan = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageCompletedPlanDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestCompletedPlanDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewPolicyKind DominantPolicyKind = EHyperTwistTrainingReviewPolicyKind::TimerBalanced;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ProgramPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCarryover = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachIntervention = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && (PendingPlanCount > 0 || CompletedPlanCount > 0);
	}
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachActionPlanState : uint8
{
	Draft UMETA(DisplayName = "Draft"),
	Active UMETA(DisplayName = "Active"),
	Completed UMETA(DisplayName = "Completed"),
	Aborted UMETA(DisplayName = "Aborted")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachSessionQueueEntryState : uint8
{
	Pending UMETA(DisplayName = "Pending"),
	Deferred UMETA(DisplayName = "Deferred"),
	Ready UMETA(DisplayName = "Ready"),
	InProgress UMETA(DisplayName = "In Progress"),
	Completed UMETA(DisplayName = "Completed"),
	Skipped UMETA(DisplayName = "Skipped"),
	Expired UMETA(DisplayName = "Expired")
};

UENUM(BlueprintType)
enum class EHyperTwistTrainingCoachSessionQueueEventKind : uint8
{
	Queued UMETA(DisplayName = "Queued"),
	Ready UMETA(DisplayName = "Ready"),
	Started UMETA(DisplayName = "Started"),
	Deferred UMETA(DisplayName = "Deferred"),
	Promoted UMETA(DisplayName = "Promoted"),
	Completed UMETA(DisplayName = "Completed"),
	Skipped UMETA(DisplayName = "Skipped"),
	Expired UMETA(DisplayName = "Expired")
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionPlanEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferRecognitionReplayReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompleted = false;

	bool IsStructurallyValid() const
	{
		return !ActionId.IsEmpty()
			&& !ActionLabel.IsEmpty()
			&& (!CaseId.IsEmpty() || !DeckId.IsEmpty() || !MethodSegmentId.IsEmpty());
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionPlan
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ParentPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RootPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind PreferredCoachHandoffKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredCoachHandoffSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RequestedLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlannedLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadenedLaunchBudget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTightenedLaunchBudget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> DeferredLaunchCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachActionPlanEntry> Entries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachActionPlanState PlanState = EHyperTwistTrainingCoachActionPlanState::Draft;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpDepth = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CreatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCadenceRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsVarietyRotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferRecognitionReplayReview = false;

	bool IsStructurallyValid() const
	{
		return !PlanId.IsEmpty()
			&& !UserId.IsEmpty()
			&& !Headline.IsEmpty()
			&& Entries.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachSessionQueueStateEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WorkFingerprint;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceBriefTrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CarryForwardPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RootPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpDepth = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SlotIndex = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachSessionQueueEntryState EntryState =
		EHyperTwistTrainingCoachSessionQueueEntryState::Pending;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsDeferredLaunchRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTightenedLaunchOverflow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScheduledAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RescheduleCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresArchiveRetentionTuning = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCadenceRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsVarietyRotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferRecognitionReplayReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPinned = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWasManuallyRescheduled = false;

	bool IsStructurallyValid() const
	{
		return !EntryId.IsEmpty() && !Headline.IsEmpty() && !WorkFingerprint.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachSessionQueueState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastUpdatedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryQueueLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextQueueLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveTrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachSessionQueueStateEntry> Entries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InProgressEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SkippedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpiredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasImmediateQueue = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsArchiveAwareSequencing = false;

	bool IsStructurallyValid() const
	{
		return !QueueId.IsEmpty() && !UserId.IsEmpty() && Entries.Num() > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachSessionQueueHistoryEntry
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WorkFingerprint;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachSessionQueueEventKind EventKind =
		EHyperTwistTrainingCoachSessionQueueEventKind::Queued;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EventAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachSessionQueueEntryState PreviousEntryState =
		EHyperTwistTrainingCoachSessionQueueEntryState::Pending;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachSessionQueueEntryState NewEntryState =
		EHyperTwistTrainingCoachSessionQueueEntryState::Pending;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceTrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FocusCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresArchiveRetentionTuning = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWasManualReschedule = false;

	bool IsStructurallyValid() const
	{
		return !HistoryEntryId.IsEmpty()
			&& !QueueId.IsEmpty()
			&& !UserId.IsEmpty()
			&& !EntryId.IsEmpty()
			&& !EventAtUtc.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachSessionQueueExecutionSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalHistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UniqueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 QueuedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedFollowUpEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedRecommendedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredOverflowQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredOverflowFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredOverflowRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredFirstQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredFirstFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedDeferredFirstRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedMethodDrillQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedMethodDrillFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedMethodDrillRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillFollowUpPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillFollowUpPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillFollowUpPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillFollowUpPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillFollowUpPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillFollowUpPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedTightFollowUpPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedTightFollowUpPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedTightFollowUpPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedBroadRecommendedPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedBroadRecommendedPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAlignedBroadRecommendedPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillRecoveryPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillRecoveryPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillRecoveryPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillRecoveryPacketQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillRecoveryPacketFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillRecoveryPacketRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedNarrowMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedNarrowMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedNarrowMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedBroadMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedBroadMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedBroadMethodDrillRecoveryStructureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedMethodDrillQueuedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedMethodDrillFollowUpHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedMethodDrillRecommendedHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongMethodDrillRecoveryMemoryHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedStrongMethodDrillRecoveryMemoryHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakMethodDrillRecoveryMemoryHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedWeakMethodDrillRecoveryMemoryHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedFollowUpEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedRecommendedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedFollowUpEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedRecommendedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SkippedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpiredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchiveAwareEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedFollowUpEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MostDeferredEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MostCompletedEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastStartedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastDeferredAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ExecutionPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRepeatManualRescheduleFriction = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !QueueId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionPlanSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCompletedPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DraftPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActivePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OpenEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AveragePriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageCompletedPlanDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestCompletedPlanDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind DominantPreferredCoachHandoffKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantPreferredCoachHandoffSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantFocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ActionPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecognitionBiasedPlans = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachIntervention = false;

bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && TotalPlanCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionPlanOutcomeSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachActionPlanState PlanState = EHyperTwistTrainingCoachActionPlanState::Draft;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind PreferredCoachHandoffKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredCoachHandoffSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RequestedLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlannedLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadenedLaunchBudget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTightenedLaunchBudget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TouchedFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UntouchedFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReplayBackedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRecognitionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlanDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float CompletionRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float OutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> FollowUpCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> DeferredLaunchCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMetPrimaryGoal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsFollowUpPlan = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !PlanId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionSequenceSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RootPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CarryForwardPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActivePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MaxFollowUpDepth = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedFollowUpCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageCompletionRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float LatestOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOpenPlan = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsMoreFollowUp = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !RootPlanId.IsEmpty() && PlanCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachActionClosureSummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RootPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode RecommendedNextMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PersistentWeakCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> UnresolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatedFailureCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PersistentWeakCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ClosureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSequenceClosed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldArchiveResolvedCases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldSpawnFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSpawnFollowUpFromSuppressionMemory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSuppressedBorderlineFollowUpByRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsEscalation = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && !RootPlanId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachClosureMemorySummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusRootPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusClosureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosedSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalatedSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpReadySequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecoverySustainedFollowUpSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecoverySuppressedBorderlineFollowUpSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchivedResolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PersistentWeakCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageClosureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ArchivedResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PersistentWeakCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> EscalationCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasEscalationPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpPressure = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && SequenceCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachRecommendationHistorySummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantPrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy DominantSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatRecommendationSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalatedSequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpReadySequenceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedLanePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpLanePlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedLaneContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpLaneContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredTightenedLaunchPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredFirstFollowUpPacketPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecurringCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchivedResolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalationCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageClosureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageFollowUpDepth = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AveragePlannedLaunchCaseCount = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadenedLaunchAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TightenedLaunchAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DeferredTightenedLaunchAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float DeferredFirstFollowUpPacketAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RecurringCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ArchivedResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> EscalationCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRepeatRecommendationPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldBiasCoachReviewed = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty() && SequenceCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachCarryForwardPolicySummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy DominantSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> SuppressedResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PinnedCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RecurringCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> EscalationCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuppressedResolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PinnedCarryForwardCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecurringCarryForwardCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalationCarryForwardCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float CarryForwardIntensityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSuppressResolvedResurfacing = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPinRecurringCases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBiasCoachReviewed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsEscalationHandOff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveCarryForwardPressure = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachArchivePolicySummary
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReferenceUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy DominantSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> LongTermArchivedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ExpiredCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RetainedCarryForwardCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> EscalationRetainedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> SuppressedResolvedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> StableLongTermArchivedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ProvisionalArchivedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> ReopenRiskArchivedCaseIds;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LongTermArchivedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpiredCarryForwardCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedCarryForwardCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EscalationRetainedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuppressedResolvedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StableLongTermArchivedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ProvisionalArchivedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReopenRiskArchivedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ArchiveStabilityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ArchiveRetentionTuningScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldExpireResolvedCarryForward = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldRetainEscalationCarryForward = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStableArchiveMemory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveArchivePressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsArchiveRetentionTuning = false;

	bool IsStructurallyValid() const
	{
		return !UserId.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRepositoryState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingRunRecord> RunRecords;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCaseLearnerState> LearnerStates;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingReviewPlanState> ReviewPlans;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSessionTemplate> StoredSessionTemplates;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingMethodDrillFavoriteEntry> StoredMethodDrillFavorites;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingMethodDrillBatch> StoredMethodDrillBatches;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingFriendLinkRecord> StoredFriendLinks;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingNotificationRecord> StoredNotifications;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingChallengeRecord> StoredChallenges;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachActionPlan> StoredCoachActionPlans;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachSessionQueueState> StoredCoachSessionQueues;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachSessionQueueHistoryEntry> StoredCoachSessionQueueHistory;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSmartDeviceSessionRecord> StoredSmartDeviceSessions;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingSmartDeviceEventFrame> StoredSmartDeviceEventFrames;
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRepositoryIntegrityReport
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalRunRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRunRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateRunRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OutOfSyncLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OutOfSyncReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalStoredSessionTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidStoredSessionTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateStoredSessionTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMethodDrillFavoriteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidMethodDrillFavoriteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateMethodDrillFavoriteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMethodDrillBatchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidMethodDrillBatchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateMethodDrillBatchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalFriendLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidFriendLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateFriendLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachActionPlanSourceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachActionPlanSourceReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OrphanedCoachActionPlanParentCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OrphanedCoachActionPlanRootCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CyclicCoachActionPlanLineageCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BrokenCoachActionPlanDepthCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OutOfSyncCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OutOfSyncCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachSessionQueueSourceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidCoachSessionQueueActiveEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachSessionQueueActiveSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OutOfSyncCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachSessionQueueHistorySourceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachSessionQueueHistoryQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCoachSessionQueueHistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSmartDeviceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidSmartDeviceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateSmartDeviceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingSmartDeviceSessionSourceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSmartDeviceEventFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidSmartDeviceEventFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicateSmartDeviceEventFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingSmartDeviceEventSourceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingSmartDeviceEventSessionRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingSmartDeviceEventAttemptLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> RepairActions;

	bool HasIntegrityIssues() const
	{
		return InvalidRunRecordCount > 0
			|| DuplicateRunRecordCount > 0
			|| InvalidLearnerStateCount > 0
			|| DuplicateLearnerStateCount > 0
			|| OutOfSyncLearnerStateCount > 0
			|| InvalidReviewPlanCount > 0
			|| DuplicateReviewPlanCount > 0
			|| OutOfSyncReviewPlanCount > 0
			|| InvalidStoredSessionTemplateCount > 0
			|| DuplicateStoredSessionTemplateCount > 0
			|| InvalidMethodDrillFavoriteCount > 0
			|| DuplicateMethodDrillFavoriteCount > 0
			|| InvalidMethodDrillBatchCount > 0
			|| DuplicateMethodDrillBatchCount > 0
			|| InvalidFriendLinkCount > 0
			|| DuplicateFriendLinkCount > 0
			|| InvalidNotificationCount > 0
			|| DuplicateNotificationCount > 0
			|| InvalidChallengeCount > 0
			|| DuplicateChallengeCount > 0
			|| InvalidCoachActionPlanCount > 0
			|| DuplicateCoachActionPlanCount > 0
			|| MissingCoachActionPlanSourceSessionCount > 0
			|| MissingCoachActionPlanSourceReviewPlanCount > 0
			|| OrphanedCoachActionPlanParentCount > 0
			|| OrphanedCoachActionPlanRootCount > 0
			|| CyclicCoachActionPlanLineageCount > 0
			|| BrokenCoachActionPlanDepthCount > 0
			|| OutOfSyncCoachActionPlanCount > 0
			|| InvalidCoachSessionQueueCount > 0
			|| DuplicateCoachSessionQueueCount > 0
			|| OutOfSyncCoachSessionQueueCount > 0
			|| MissingCoachSessionQueueSourceSessionCount > 0
			|| InvalidCoachSessionQueueActiveEntryCount > 0
			|| MissingCoachSessionQueueActiveSessionCount > 0
			|| InvalidCoachSessionQueueHistoryCount > 0
			|| DuplicateCoachSessionQueueHistoryCount > 0
			|| OutOfSyncCoachSessionQueueHistoryCount > 0
			|| MissingCoachSessionQueueHistorySourceSessionCount > 0
			|| MissingCoachSessionQueueHistoryQueueCount > 0
			|| MissingCoachSessionQueueHistoryEntryCount > 0
			|| InvalidSmartDeviceSessionCount > 0
			|| DuplicateSmartDeviceSessionCount > 0
			|| MissingSmartDeviceSessionSourceSessionCount > 0
			|| InvalidSmartDeviceEventFrameCount > 0
			|| DuplicateSmartDeviceEventFrameCount > 0
			|| MissingSmartDeviceEventSourceSessionCount > 0
			|| MissingSmartDeviceEventSessionRecordCount > 0
			|| MissingSmartDeviceEventAttemptLinkCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingRepositoryRoundTripVerification
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResolvedPath;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSaveSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLoadSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepositoryCountsMatch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSerializedStateMatch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIntegrityReportMatch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDerivedStateMatch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidRoundTripPass = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedRunRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedRunRecordCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedLearnerStateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedReviewPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedStoredSessionTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedStoredSessionTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedMethodDrillFavoriteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedMethodDrillFavoriteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedMethodDrillBatchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedMethodDrillBatchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedFriendLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedFriendLinkCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedNotificationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedChallengeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedCoachActionPlanCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedCoachSessionQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedSmartDeviceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedSmartDeviceEventFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedCoachSessionQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedSmartDeviceSessionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LoadedSmartDeviceEventFrameCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VerifiedDerivedUserCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VerifiedDerivedQueueCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingRepositoryIntegrityReport ExpectedIntegrityReport;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingRepositoryIntegrityReport LoadedIntegrityReport;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> VerificationNotes;

	bool IsStructurallyValid() const
	{
		return !ResolvedPath.IsEmpty() && bSaveSucceeded && bLoadSucceeded;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachPanelState
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SecondaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSuppressionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerificationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLatestGeneratedModeLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestGeneratedModeLaunchRequestId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestGeneratedModeLaunchRequestedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestGeneratedModeRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestGeneratedModeSelectorSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveGeneratedModeExecutionTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecuteActiveGeneratedModeLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActiveGeneratedModeExecutionWillRefreshLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveGeneratedModeExecutionBlockedReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind PreferredCoachHandoffKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredCoachHandoffSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredQueueRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredQueueRecoveryActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PreferredLaunchBudgetBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaunchBudgetSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchBudgetHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchBudgetHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredTightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchHistoryCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillFollowUpAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float NarrowMethodDrillFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadMethodDrillFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillRecoveryAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuggestedLaunchCaseBudget = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCoachGuidance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpGuidance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredQueueWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartCoachRecommendedRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartCoachFollowUpRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartQueuedRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepositoryVerificationPassed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepositoryVerificationNeedsAttention = true;

	bool IsStructurallyValid() const
	{
		return !Headline.IsEmpty()
			|| bHasCoachGuidance
			|| bHasFollowUpGuidance
			|| bHasQueueWork
			|| bHasRunnableQueueEntry
			|| bHasActiveRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachPrimaryActionSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind ActionKind = EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuggestedLaunchCaseBudget = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecute = false;

	bool IsStructurallyValid() const
	{
		return bCanExecute || !ActionLabel.IsEmpty() || !Headline.IsEmpty() || !AvailabilityLine.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachQueueControlSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferAvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferTargetEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteAvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteTargetEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanDefer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPromote = false;

	bool IsStructurallyValid() const
	{
		return bCanDefer
			|| bCanPromote
			|| !DeferAvailabilityLine.IsEmpty()
			|| !PromoteAvailabilityLine.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachQueueRecoveryPostureSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachQueuePostureKind PostureKind =
		EHyperTwistTrainingCoachQueuePostureKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecoveryPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecutePreferredAction = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| PostureKind != EHyperTwistTrainingCoachQueuePostureKind::None
			|| bHasRecoveryPressure;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachHandoffContinuationSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinuationActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinuationAvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinuationSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueRecoveryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind ContinuationKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachQueuePostureKind QueuePostureKind =
		EHyperTwistTrainingCoachQueuePostureKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActionableContinuation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueRecoveryOverridesContinuation = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActionableContinuation
			|| !QueueRecoveryStatusLine.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachFocusProvenanceSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProvenanceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoverySourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind ContinuationKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachQueuePostureKind QueuePostureKind =
		EHyperTwistTrainingCoachQueuePostureKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFocusTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamProvenance = false;

	bool IsStructurallyValid() const
	{
		return !FocusSummaryLine.IsEmpty()
			|| !ProvenanceSummaryLine.IsEmpty()
			|| bHasFocusTarget
			|| bHasUpstreamProvenance;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachWorkloadBudgetSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusPressureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueLoadLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BudgetLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuggestedLaunchCaseBudget = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind ContinuationKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachQueuePostureKind QueuePostureKind =
		EHyperTwistTrainingCoachQueuePostureKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFocusPressure = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueLoad = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLaunchBudget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueuePressure = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !BudgetLine.IsEmpty()
			|| bHasFocusPressure
			|| bHasQueueLoad
			|| bHasLaunchBudget;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachReadinessEligibilitySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EligibilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BlockedReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachEligibilityKind EligibilityKind =
		EHyperTwistTrainingCoachEligibilityKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachHandoffKind ContinuationKind =
		EHyperTwistTrainingCoachHandoffKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachQueuePostureKind QueuePostureKind =
		EHyperTwistTrainingCoachQueuePostureKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActionableControl = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockingCondition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBlockedByActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBlockedByQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsVerificationAttention = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !EligibilityLine.IsEmpty()
			|| bHasActionableControl
			|| bHasBlockingCondition;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachVerificationRecognitionReviewContextSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerificationLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionProviderLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionTransportState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewDeliveryModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVerificationPassed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVerificationNeedsAttention = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecognitionReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMaterializedReviewPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferRecognitionReview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !VerificationLine.IsEmpty()
			|| !RecognitionLine.IsEmpty()
			|| !ReviewPolicyLine.IsEmpty()
			|| bVerificationPassed
			|| bRecognitionReady
			|| bHasMaterializedReviewPolicy;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueRecoveryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoveryLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoverySourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UpstreamActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LearnedPreferenceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedRecoveryStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueRecoveryMemorySource = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueRecoveryFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchQueueRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferLaunchRecoveryAction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMethodDrillMemorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasClosedLoopIdleCoachActionability = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldPresentClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bQueueRecoveryMemorySource
			|| bHasQueueRecoveryFriction
			|| bShouldPresentClosedLoopIdleDashboard;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueRecoveryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuppressionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CombinedLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPrimaryQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsManualRescheduleReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldPresentClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| !SuppressionLine.IsEmpty()
			|| bHasPrimaryQueueSuppression
			|| bHasFollowUpQueueSuppression
			|| bHasOutstandingDeferredWork;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSuppressionSummaryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimarySuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpSuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPrimaryQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasAnyQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsManualRescheduleReview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasAnyQueueSuppression
			|| DeferredQueueEntryCount > 0
			|| ReschedulePressureScore > 0.0f;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSuppressionDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextDeferredEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextManualRescheduleEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EarliestDeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimarySuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpSuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchiveAwareDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedFollowUpDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPrimaryQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsManualRescheduleReview = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasPrimaryQueueSuppression
			|| bHasFollowUpQueueSuppression
			|| bHasOutstandingDeferredWork
			|| ReschedulePressureScore > 0.0f;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSuppressionBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSuppressionSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSuppressionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSuppressionNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSuppressionNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimarySuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpSuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextDeferredEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextManualRescheduleEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EarliestDeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchiveAwareDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedFollowUpDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPrimaryQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasAnyQueueSuppression = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsManualRescheduleReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasAnyQueueSuppression
			|| bHasOutstandingDeferredWork
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueRecoveryOutcomeInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BeforePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AfterPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BeforeDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AfterDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction AppliedAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutcome = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReducedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShiftedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillHandoffSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedNarrowMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedBroadMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedBroadStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadStructurePlanRecovery = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasOutcome
			|| RetainedOutcomeHistoryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSuppressionHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryQueueSuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpQueueSuppressionReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyQueueEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSuppressedPrimaryQueueCreation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSuppressedFollowUpQueueCreation = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSuppressionHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryOutcomeHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerdictLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedHistoryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BeforePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AfterPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BeforeDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AfterDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReducedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShiftedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillHandoffSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardClosureRecoveryHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosurePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalFollowUpContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalBorderlineFollowUpSuppressionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ActiveSignalScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpContinuationFromRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBorderlineFollowUpSuppressedByRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActiveSignalPromoted = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardClosureRecoveryHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryMemoryHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanAlignmentLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ComparisonPreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedGuidancePacketFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillRecoveryAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStrongPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWeakPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForHandoff = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryOutcomeHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerdictLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedHistoryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BeforePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AfterPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BeforeDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AfterDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction AppliedAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReducedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShiftedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillHandoffSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedNarrowMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedBroadMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedBroadStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadStructurePlanRecovery = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryOutcomeHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerdictLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedHistoryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryOutcomeHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerdictLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanRecoveryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedHistoryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BeforePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AfterPressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BeforeDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AfterDeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction AppliedAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReducedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShiftedFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterOutstandingDeferred = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBeforeCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAfterCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillHandoffSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedNarrowMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedBroadMethodDrillPacketStructureRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedBroadStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightStructurePlanRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadStructurePlanRecovery = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryOutcomeHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerdictLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedHistoryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryMemoryHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueRecoveryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffRecommendationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantPressureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StructureBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MemoryBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanAlignmentLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ComparisonPreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPacketStanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedGuidancePacketFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillPacketStructureRecoveryLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillPacketStructureRecoveryLaunchReducedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillPacketStructureRecoveryPromoteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillPacketStructureRecoveryPromoteReducedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillRecoveryAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode GeneratedPlanSuggestedMode =
		EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy GeneratedPlanSuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStrongPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWeakPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNarrowPacketStructureRecoveryDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadPacketStructureRecoveryDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableTrustedTightStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableTrustedBroadStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedTightStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedBroadStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedTightStructurePlanOutcomeDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedBroadStructurePlanOutcomeDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedGenericMethodDrillRecoveryMemory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableTrustedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableTrustedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableAlignedTrustedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableAlignedTrustedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForHandoff = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryMemoryHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryMemoryHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueRecoveryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffRecommendationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantPressureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StructureBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MemoryBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PlanAlignmentLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ComparisonPreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPacketStanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedGuidancePacketFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillPacketStructureRecoveryLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NarrowMethodDrillPacketStructureRecoveryLaunchReducedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillPacketStructureRecoveryPromoteCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadMethodDrillPacketStructureRecoveryPromoteReducedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillRecoveryAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode GeneratedPlanSuggestedMode =
		EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy GeneratedPlanSuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStrongPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWeakPressureDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNarrowPacketStructureRecoveryDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadPacketStructureRecoveryDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableTrustedTightStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableTrustedBroadStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedTightStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedBroadStructurePlanDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedTightStructurePlanOutcomeDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bReliableAlignedTrustedBroadStructurePlanOutcomeDominant = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPacketUsedGenericMethodDrillRecoveryMemory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableTrustedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableTrustedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableAlignedTrustedTightStructureContinuationPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedPlanUsedReliableAlignedTrustedBroadStructureRedirectPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillRecoveryMemoryForHandoff = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillRecoveryMemoryHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantBiasLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedGuidancePacketKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedPlanPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillDiagnosticsInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LifecycleStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilityPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BoundaryReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpTemplateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpTemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpSuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpSuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpGuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusCasePreview;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TopCaseDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AssistedCompletionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatBurdenCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpRecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongOutcomeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakOutcomeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMethodDrillRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDiagnosticPacket = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDiagnosticPacket
			|| bHasFollowUpTemplate;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpActionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpTemplateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMethodDrillRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMethodDrillLifecycleClosed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDiagnosticPacket = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsFollowUpTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	bool IsStructurallyValid() const
	{
		return !ActionLabel.IsEmpty()
			|| !StatusLine.IsEmpty()
			|| bHasDiagnosticPacket
			|| bHasFollowUpTemplate;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillOperationalBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticsStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticsDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpActionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpTemplateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpRecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMethodDrillRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDiagnosticPacket = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMethodDrillLifecycleClosed = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchFollowUp = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDiagnosticPacket
			|| bHasFollowUpTemplate
			|| bCanLaunchFollowUp;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamStructureSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceRunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UpstreamPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UpstreamNarrowPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UpstreamBroadPacketStructureHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongOutcomeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakOutcomeCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ContinueNarrowBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RedirectCoachBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongPacketContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakPacketRedirectCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 QueueEntryFirstStructureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpPacketFirstStructureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedBriefFirstStructureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedRedirectStructureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageMistakes = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float UpstreamNarrowPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float UpstreamBroadPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingMethodDrillDiagnosticState DiagnosticState =
		EHyperTwistTrainingMethodDrillDiagnosticState::Unknown;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingReviewGrade RecommendedReviewGrade =
		EHyperTwistTrainingReviewGrade::Good;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionTemplateKind TemplateKind =
		EHyperTwistTrainingSessionTemplateKind::ReviewPlan;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode =
		EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryPending = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryRepeatBurden = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryAssistance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPacketProvenStrongContinuation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPacketProvenWeakRedirect = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamStructureSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedUpstreamNarrowStructureSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedUpstreamBroadStructureSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasHistoryWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamStructureSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasHistoryWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceRunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageMistakes = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float UpstreamNarrowPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float UpstreamBroadPacketStructureAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryPending = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryRepeatBurden = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBoundaryAssistance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPacketProvenStrongContinuation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPacketProvenWeakRedirect = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamStructureSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedUpstreamNarrowStructureSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedUpstreamBroadStructureSignal = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasHistoryWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardMethodDrillFollowUpHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DiagnosticStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedReviewGradeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomePreferenceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStructureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PacketStanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceRunId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceDrillId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageMistakes = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHistoryWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferDrillFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUpstreamStructureSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasHistoryWeighting
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaneLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillWeighting = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaneLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaneLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedDeferredOverflowQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedDeferredOverflowFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedDeferredOverflowRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedMethodDrillQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedMethodDrillFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedMethodDrillRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpOutcomeHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedOutcomeHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAcceptedAlignedTightFollowUpPacketOutcomeHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAcceptedAlignedBroadRecommendedPacketOutcomeHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingQueueRecoveryAction PreferredRecoveryAction =
		EHyperTwistTrainingQueueRecoveryAction::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedStrongRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedWeakRetainedMethodDrillRecoveryPosture = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedTightStructurePlanHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableTrustedBroadStructurePlanHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightStructurePlanHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadStructurePlanHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !WeightingStatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatSelectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RedirectCoachGuidanceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReferenceCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageLaunchCaseCount = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TightenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTightenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeightingOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredOverflowSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedPlanOutcomeSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| !WeightingDetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceDecisionHistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceDecisionHistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceDecisionHistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceDecisionHistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatSelectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RedirectCoachGuidanceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReferenceCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageLaunchCaseCount = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TightenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTightenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeightingOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredOverflowSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedPlanOutcomeSignal = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasWeighting
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffHistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffHistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffHistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffHistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredLaneLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredRecoveryActionSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReliablePlanLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillWeighting = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBudgetReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatSelectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RedirectCoachGuidanceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredOverflowContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredOverflowCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightContinuationDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRedirectDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReferenceCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageLaunchCaseCount = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TightenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBroadenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTightenedLaunchScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeightingOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredOverflowSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedPlanOutcomeSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedTightPlanOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedTrustedBroadPlanOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| !WeightingStatusLine.IsEmpty()
			|| !WeightingDetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasWeighting
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchHistoryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchHistoryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferReviewRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bHasSelectionProvenance;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchHistoryNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchHistoryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateLaunchHistoryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateLaunchHistoryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateLaunchHistoryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateLaunchHistoryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferReviewRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchHistoryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AnalyticsDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceReviewPlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingTemplateLaunchSelectionProvenance SelectionProvenance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionTemplateKind TemplateKind =
		EHyperTwistTrainingSessionTemplateKind::Recovery;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSessionState SessionState =
		EHyperTwistTrainingSessionState::Created;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode SuggestedMode =
		EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy SuggestedSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferReviewRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferShortReviewSet = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedEntry
			|| HistoryEntryCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceComparisonInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActualDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExpectedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActualModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExpectedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActualSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasComparisonContext = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedCaseMatchesLastCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bHasComparisonContext;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceOutcomeInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NonSuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasComparisonContext = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanApplyAction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanRedirectAction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeightingOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredOverflowSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| !ActionLabel.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bHasComparisonContext;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDecisionWeightingInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResolvedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastAppliedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatSelectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RepeatPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenPreviewDeckCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RedirectCoachGuidanceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredOverflowContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredOverflowCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightContinuationDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRedirectDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AverageLaunchCaseCount = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float BroadenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float TightenedLaunchAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedGuidanceDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasComparisonContext = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSingleCaseScope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeightingOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredOverflowSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAlignedPlanOutcomeSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bHasComparisonContext
			|| bHasWeighting;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewSelectionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DifficultyBand;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCasePromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedCaseIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActivePreviewDeck
			|| bHasSelectedCase;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewCaseDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScrambleNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeTargetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedCaseIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedCase
			|| bHasActivePreviewDeck;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewCaseNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCasePromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedCaseIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActivePreviewDeck
			|| bHasSelectedCase
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewLaunchActionControlInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartPreviewDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartSelectedPreviewCaseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCasePromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedCaseIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartPreviewDeckEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartSelectedPreviewCaseEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActivePreviewDeck
			|| bHasSelectedCase
			|| bStartPreviewDeckEnabled
			|| bStartSelectedPreviewCaseEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceRationaleInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedPreviewCaseSignalLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TopSignalSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedPreviewCaseSignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredTightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchHistoryCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCoachReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsCadenceRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsVarietyRotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedPreviewCaseIsExplicitFocus = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDeferredOverflowShaping = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActivePreviewBrief;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreferenceInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidancePreferenceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpContinueBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ClosureSuppressionBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PreferredLaunchBudgetBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BroadenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredTightenedLaunchHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredLaunchHistoryCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightContinuationBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRedirectBias = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float RecommendedAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float FollowUpAverageSuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float MethodDrillFollowUpAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableAverageOutcomeScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedTightFollowUpPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float AcceptedAlignedBroadRecommendedPacketTrustReliableLaneOutcomeAverageScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreference = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDecisionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasClosureHistorySignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReliableAlignedPlanOutcomeSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDeferredOverflowSteeringLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMethodDrillUpstreamStrongSource = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMethodDrillUpstreamWeakSource = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasPreference;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceReasoningBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ComparisonStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OutcomeStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightingStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RationaleStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferenceStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BaseActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString WeightedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResolvedActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidancePreferenceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpectedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchingDecisionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasComparisonContext = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreference = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanApplyAction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanRedirectAction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleActionability = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasComparisonContext
			|| bHasWeighting
			|| bHasPreference
			|| bCanApplyAction;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidanceDeckPreviewInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DifficultyBand;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGuidanceReadyToLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesBriefFallback = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActivePreviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDeck
			|| bHasBrief
			|| bGuidanceReadyToLaunch;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSelectionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseDetailStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewLaunchControlStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedDeckStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpDeckStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCasePromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedCaseOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartPreviewDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartSelectedPreviewCaseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedBriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpBriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedCaseIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActivePreviewDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartPreviewDeckEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartSelectedPreviewCaseEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecommendedDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFollowUpDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActivePreviewDeck
			|| bHasSelectedCase
			|| bStartPreviewDeckEnabled
			|| bStartSelectedPreviewCaseEnabled
			|| bHasRecommendedDeck
			|| bHasFollowUpDeck;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffRecommendationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredHandoffHistoryKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LaunchBiasSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodDrillRecoveryPostureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodDrillRecoveryPacketPreferredKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MethodDrillRecoveryPlanPreferenceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartActionSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedQueuedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedFollowUpHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AcceptedRecommendedHandoffCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 QueueRecommendationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpRecommendationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedRecommendationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StrongMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeakMethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MethodDrillRecoveryHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PacketQueueHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PacketFollowUpHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PacketRecommendedHistoryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecommendation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanUseCoachHandoff = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedDeferredFirstSuppressionSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedMethodDrillWeighting = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedAlignedTightPacketAcceptedHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedAlignedBroadPacketAcceptedHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedAcceptedAlignedTightPacketOutcomeTrust = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedAcceptedAlignedBroadPacketOutcomeTrust = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketOutcomeTrust = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketOutcomeTrust = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketExactHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketExactHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketExactOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketExactOutcomeHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketExactOutcomeAcceptedHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketExactOutcomeAcceptedHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedTightPacketExactOutcomeReliableHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsedReliableAcceptedAlignedBroadPacketExactOutcomeReliableHistory = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasRecommendation
			|| bQueueReady
			|| bFollowUpReady
			|| bRecommendedReady;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardAttemptTimeInputHintInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HintLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UseTargetLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UseAverageLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TargetTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAttemptInputEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanUseTargetTime = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanUseAverageTime = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !HintLabel.IsEmpty()
			|| bAttemptInputEnabled
			|| bCanUseTargetTime
			|| bCanUseAverageTime;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardLiveTimerSplitControlLabelInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerControlLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitControlLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartTimerLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CancelTimerLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaptureSplitLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UndoSplitLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextSplitLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CapturedSplitCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartOrAdvanceTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanCancelTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanCaptureSplit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanUndoSplit = false;

	bool IsStructurallyValid() const
	{
		return !TimerControlLine.IsEmpty()
			|| !SplitControlLine.IsEmpty()
			|| bCanStartOrAdvanceTimer
			|| bCanCancelTimer
			|| bCanCaptureSplit
			|| bCanUndoSplit;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardAttemptResultActionEnablementInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuccessLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FailureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimeoutLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DnfLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanRecordSyntheticAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStopLiveTimedAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSuccessEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFailureEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTimeoutEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDnfEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bSuccessEnabled
			|| bFailureEnabled
			|| bTimeoutEnabled
			|| bDnfEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardAttemptReviewNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedAttemptIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewedAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanSelectPreviousAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanSelectNextAttempt = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasReviewedAttempt
			|| bCanSelectPreviousAttempt
			|| bCanSelectNextAttempt;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunControlEnablementInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinueLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompleteLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClearLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanContinueCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchCoachRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPrimaryEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bContinueEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCompleteEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClearEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bPrimaryEnabled
			|| bContinueEnabled
			|| bCompleteEnabled
			|| bClearEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueActionEnablementInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoveryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueRecoveryMemorySource = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueRecoveryFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDeferEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPromoteEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecoveryEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bDeferEnabled
			|| bPromoteEnabled
			|| bRecoveryEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardExecutionActionControlBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptResultStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunControlStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueActionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuccessLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FailureLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimeoutLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DnfLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinueLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompleteLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClearLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromoteLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoveryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnyActionEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bAnyActionEnabled
			|| bHasRunnableCurrentCase
			|| bHasActiveRun
			|| bHasSelectedQueueEntry
			|| bHasDeferredQueueEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardCurrentCaseTimerBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptInputLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCaseStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentCasePromptLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerControlLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitControlLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptReviewStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerPhaseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HintLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeTargetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DisplayedElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAttemptInputEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartOrAdvanceTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanCaptureSplit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanSelectPreviousAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanSelectNextAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasRunnableCurrentCase
			|| bHasLiveAttemptTimer
			|| bAttemptInputEnabled
			|| bCanStartOrAdvanceTimer;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardVerificationActionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerifyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepositoryPath;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestNote;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVerifyEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasResolvedPath = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidRoundTripPass = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSaveSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLoadSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCountsMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStateMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIntegrityMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDerivedMatched = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bVerifyEnabled
			|| bDidRoundTripPass;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRepositoryVerificationStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepositoryPath;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestNote;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedLaunchRequestDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedExecutionDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasResolvedPath = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidRoundTripPass = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSaveSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLoadSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCountsMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStateMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIntegrityMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDerivedMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedExecutionTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecuteGeneratedLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedExecutionWillRefreshRequest = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bDidRoundTripPass
			|| bHasGeneratedLaunchRequest;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRecognitionStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecognitionStatus = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecognitionDetail = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasRecognitionStatus
			|| bHasRecognitionDetail;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardReviewPolicyStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewPolicyStatus = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewPolicyDetail = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasReviewPolicyStatus
			|| bHasReviewPolicyDetail;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardVerificationRecognitionPolicyBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerificationActionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepositoryVerificationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VerifyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepositoryPath;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestVerificationNote;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedLaunchRequestDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedExecutionDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionRunModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ReviewPolicyRunModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bVerifyEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasResolvedPath = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidRoundTripPass = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSaveSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLoadSucceeded = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCountsMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStateMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIntegrityMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDerivedMatched = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedExecutionTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecuteGeneratedLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedExecutionWillRefreshRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecognitionStatus = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecognitionDetail = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewPolicyStatus = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewPolicyDetail = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bVerifyEnabled
			|| bHasRecognitionStatus
			|| bHasReviewPolicyStatus
			|| bDidRoundTripPass;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardSelectedQueueNavigationInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedQueueEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntries = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryMatchesActiveQueue = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedQueueEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardStartSelectedQueueActionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartSelectedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueuePrimaryActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryPendingStartImmediate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartSelectedEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bStartSelectedEnabled
			|| bHasSelectedQueueEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueCountsStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CountsLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SignalCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InProgressEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 QueuedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StartedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PromotedEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEventCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpFriction = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !CountsLine.IsEmpty()
			|| !ExecutionLine.IsEmpty()
			|| TotalEntryCount > 0
			|| QueuedEventCount > 0;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardSelectedQueueSummaryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueuePriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SelectedQueuePriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedQueueEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntries = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryMatchesActiveQueue = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasSelectedQueueEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardSelectedQueueEntryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresArchiveRetentionTuning = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPinned = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartImmediately = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasSelectedQueueEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardSelectedQueueBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SummaryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartSelectedStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StartSelectedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueuePriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedQueueOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EntryHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SelectedQueuePriorityScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedQueueEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalQueueEntries = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedQueueEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryMatchesActiveQueue = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryPendingStartImmediate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartSelectedEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresArchiveRetentionTuning = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPinned = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanStartImmediately = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasSelectedQueueEntry
			|| bStartSelectedEnabled
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardScheduleHorizonStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextReadyEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextDeferredEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextArchiveEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextFollowUpEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentHorizonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ImmediateEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchiveAwareEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PinnedEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasImmediateWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsArchiveWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUp = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInProgressEntry = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !CurrentHorizonLabel.IsEmpty()
			|| ImmediateEntryCount > 0
			|| DeferredEntryCount > 0
			|| bHasInProgressEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardSchedulePolicyFrictionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextImmediateEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextPendingEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextDeferredEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextManualRescheduleEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EarliestDeferredUntilUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosurePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalFollowUpContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalBorderlineFollowUpSuppressionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ImmediateEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PendingEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ArchiveAwareDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedFollowUpDeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowsManualReschedule = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExpiredDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsManualRescheduleReview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpDeferrals = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpContinuationFromRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBorderlineFollowUpSuppressedByRecoveryHistory = false;

	bool IsStructurallyValid() const
	{
		return !PolicyLine.IsEmpty()
			|| ReschedulePressureScore > 0.0f
			|| DeferredEntryCount > 0
			|| ManualRescheduleEntryCount > 0
			|| bHasArchiveAwareDeferrals
			|| bHasBlockedFollowUpDeferrals;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardQueueSchedulingRecoveryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueCountsStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueCountsLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueExecutionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScheduleHorizonStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SchedulePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueRecoveryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueRecoveryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveQueueEntryId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentHorizonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DominantDeferralReasonLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoveryLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecoverySourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReadyEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeferredEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualRescheduleEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ReschedulePressureScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOutstandingDeferredWork = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCompletionGap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasArchiveAwareFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedFollowUpFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasImmediateWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeferredWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNeedsArchiveWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasQueueRecoveryFriction = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchQueueRecovery = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bShouldPresentClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| TotalEntryCount > 0
			|| DeferredEntryCount > 0
			|| bHasQueueRecoveryFriction
			|| bShouldPresentClosedLoopIdleDashboard;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardClosureRecoveryStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryHistoryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosurePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalPriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalFollowUpContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalBorderlineFollowUpSuppressionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ActiveSignalScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasClosureRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActiveSignalPromoted = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasClosureRecoveryHistory
			|| bHasActiveSignal;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardClosureRecoveryDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosurePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalFollowUpContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalBorderlineFollowUpSuppressionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasClosureRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpContinuationFromRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBorderlineFollowUpSuppressedByRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveSignal = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasClosureRecoveryHistory
			|| bHasActiveSignal;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardClosureRecoveryBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryNavigationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryNavigationDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosureRecoveryHistoryLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ClosurePolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredGuidanceSourceDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalPriorityLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveSignalDetail;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviousLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedEntryOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecordedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedEntryIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoryEntryCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalFollowUpContinuationCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HistoricalBorderlineFollowUpSuppressionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float ActiveSignalScore = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGuidanceLane PreferredGuidanceLane =
		EHyperTwistTrainingCoachGuidanceLane::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasClosureRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveSignal = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActiveSignalPromoted = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpContinuationFromRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBorderlineFollowUpSuppressedByRecoveryHistory = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectedEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectedEntryIsLatest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviousEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bNextEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasClosureRecoveryHistory
			|| bHasActiveSignal
			|| bHasSelectedEntry
			|| bPreviousEnabled
			|| bNextEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardLastAttemptReviewSummaryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptOrdinal;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ResultLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestSubmissionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedAttemptIndex = INDEX_NONE;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewedAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLatestSubmissionMatchesActiveSession = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasReviewedAttempt;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardLastAttemptTimingDerivedPhaseReviewInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimingLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DerivedPhaseLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AppliedPenaltyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DerivedPhaseSummary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FinalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitCaptureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DerivedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReviewedAttempt = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDidNotFinish = false;

	bool IsStructurallyValid() const
	{
		return !TimingLine.IsEmpty()
			|| !DerivedPhaseLine.IsEmpty()
			|| bHasReviewedAttempt;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardLiveSplitCaptureStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NextSplitLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FinalAutoCloseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CapturedSummary;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CapturedSplitCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MaxManualSplitCaptureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasConfiguredManualSplitPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasConfiguredManualSplitPhases
			|| bHasLiveAttemptTimer;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardActiveRunStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GameSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryAnalyticsPanelId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RemainingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VisibleAnalyticsPanelCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SummaryLine.IsEmpty()
			|| bHasActiveRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunRecapStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GameSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PrimaryAnalyticsPanelId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CompletedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateSourcePlanId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRetainedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTemplateLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTemplateUsesReviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VisibleAnalyticsPanelCount = 0;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bHasActiveRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunRecapDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LastCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateAggregateFragment;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateAnalyticsDetailFragment;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateSelectionDetailFragment;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FailureCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeoutCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DNFCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AbortedCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BestTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageRawSolveTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageInspectionTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalMistakes = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTemplateLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bTemplateUsesReviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTemplateSelectionDetail = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTemplateAnalytics = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bHasTemplateLaunch;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunRecapActionControlInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepeatLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DismissLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayedRecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RetainedSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRetainedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRetainedDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepeatEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDismissEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasDisplayedRunRecap
			|| bRepeatEnabled
			|| bDismissEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunStateRecapBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveRunStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveRunSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunRecapActionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SessionStateLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecapSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RepeatLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DismissLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CompletedAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float SuccessRate = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDisplayedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRetainedRunRecap = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRepeatEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDismissEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasActiveRun
			|| bHasDisplayedRunRecap
			|| bRepeatEnabled
			|| bDismissEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EligibleTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActiveTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreferredTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesReviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLaunchEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| bHasPreferredTemplate
			|| bLaunchEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchDetailInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreferredTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesReviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	bool IsStructurallyValid() const
	{
		return !DetailLine.IsEmpty()
			|| bHasPreferredTemplate
			|| bHasSelectionProvenance;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardPreferredTemplateLaunchActionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayedTemplateStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayedTemplateDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TemplateKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UserId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SuggestedSelectionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EligibleTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ActiveTemplateCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreferredTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesReviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasScopedStats = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActionEnabled = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasPreferredTemplate
			|| bActionEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardGuidancePreviewActionInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GuidanceLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FocusMethodSegmentId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGuidanceReadyToLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGuidancePayload = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBrief = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesBriefFallback = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bActivePreviewLane = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bGuidanceReadyToLaunch
			|| bHasGuidancePayload
			|| bActionEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTemplateLaunchPreviewActionControlBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredTemplateActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedPreviewActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpPreviewActionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredTemplateStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedPreviewStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpPreviewStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreferredTemplateTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePreviewLaneLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPreferredTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedGuidanceReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpGuidanceReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreferredTemplateActionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedPreviewActionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpPreviewActionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAnyActionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasPreferredTemplate
			|| bRecommendedGuidanceReady
			|| bFollowUpGuidanceReady
			|| bAnyActionEnabled;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardActiveAttemptTimerStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AttemptInputLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimerPhaseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunningSolveLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InspectionWindowLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PendingPenaltyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptOverrideMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TargetTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AverageTotalTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedSuccessTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedFailureTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedTimeoutTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedDnfTimeMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionLimitMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SolveElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DisplayedElapsedMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasParsedAttemptOverride = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInspectionWindow = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRunningSolveTimeHidden = false;

	bool IsStructurallyValid() const
	{
		return !AttemptInputLine.IsEmpty()
			|| !TimerStatusLine.IsEmpty()
			|| bHasLiveAttemptTimer;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardCurrentCaseDeckStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NotationLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveDeckLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScrambleNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalNotation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TagLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimeTargetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectionAttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectionSuccessCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RemainingCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRunnableCurrentCase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !PromptLine.IsEmpty()
			|| !NotationLine.IsEmpty()
			|| bHasRunnableCurrentCase
			|| bHasActiveRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueSourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpBriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedBriefHeadline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FollowUpFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecommendedFocusCaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bQueueReady
			|| bFollowUpReady
			|| bRecommendedReady
			|| bHasLiveAttemptTimer
			|| bHasActiveRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardTransitionStatusInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TransitionLaunchLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActivePromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecognitionBlockedReason;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveInspectionPhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLiveSolvePhase = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLastStepCompletedRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasNextCaseFromLastStep = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bGeneratedModeLaunchDeck = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecuteGeneratedModeLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecognitionAssistedCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecognitionSessionOpenForCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecognitionServiceReadyForCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanContinueCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchCoachRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasLiveAttemptTimer
			|| bHasActiveRun
			|| bCanContinueCurrentRun
			|| bCanLaunchCoachRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardRunActionLabelsInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinueRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueuedRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedHandoffKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TransitionLaunchLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bContinueUsesRecognitionPrimeLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bContinueUsesGeneratedModeExecuteLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bContinueUsesGeneratedModeResolveLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bContinueUsesAttemptActiveLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueActionRecommended = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpActionRecommended = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedActionRecommended = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| !ContinueRunLabel.IsEmpty()
			|| !QueuedRunLabel.IsEmpty()
			|| !FollowUpRunLabel.IsEmpty()
			|| !RecommendedRunLabel.IsEmpty();
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachDashboardHandoffTransitionBandInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffRecommendationStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HandoffStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TransitionStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RunActionLabelsStatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendationKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueueStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedStatusLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TransitionLaunchLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ContinueRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString QueuedRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FollowUpRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RecommendedRunLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActiveCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AttemptCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRecommendation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasActiveRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLiveAttemptTimer = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bQueueReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bFollowUpReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRecommendedReady = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanContinueCurrentRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanLaunchCoachRun = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bClosedLoopIdleDashboard = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !DetailLine.IsEmpty()
			|| bHasRecommendation
			|| bHasActiveRun
			|| bHasLiveAttemptTimer
			|| bCanContinueCurrentRun
			|| bCanLaunchCoachRun;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeLaunchExecutionContextSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BlockedReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestLaunchRequestId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestLaunchRequestedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LatestRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLatestLaunchRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExecutionTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWillRefreshLaunchRequestOnExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedExecution = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !RequestLine.IsEmpty()
			|| !ExecutionLine.IsEmpty()
			|| bHasLatestLaunchRequest
			|| bHasExecutionTarget
			|| bCanExecute
			|| bHasBlockedExecution;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorApplicationContextSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CoverageLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString IdentityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RefreshLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RequiredSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedModeSurface = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectionState = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLaunchConfig = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionStateMatchesSurface = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFullSelectorCoverage = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWillRefreshLaunchRequestOnExecute = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !CoverageLine.IsEmpty()
			|| !IdentityLine.IsEmpty()
			|| bHasGeneratedModeSurface
			|| bHasSelectionState
			|| bHasLaunchConfig;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorRosterEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedDisplayValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionAvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AvailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasAvailableOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsResolved = false;

	bool IsStructurallyValid() const
	{
		return !SelectorId.IsEmpty()
			|| !Label.IsEmpty()
			|| !SelectionLine.IsEmpty()
			|| AvailableOptionCount > 0
			|| bHasSelection
			|| bHasAvailableOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorRosterSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CoverageLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UnresolvedSelectorsLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorRosterEntrySurface> SelectorEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ResolvedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedWithAvailableOptionsCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelectorRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUnresolvedSelectors = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasResolvableUnresolvedSelectors = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllUnresolvedSelectorsHaveOptions = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !CoverageLine.IsEmpty()
			|| SelectorEntries.Num() > 0
			|| bHasSelectorRoster
			|| bHasUnresolvedSelectors;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !OptionValue.IsEmpty()
			|| bMatchesCurrentSelection;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionMenuSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UnresolvedSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AvailabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionEntrySurface> OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedDisplayValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AvailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUnresolvedSelectionDetail = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasSelection;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionActionabilityEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ActionabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedCaseLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCoveredCase = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !ActionabilityLine.IsEmpty()
			|| !MatchedCaseId.IsEmpty()
			|| bMatchesCurrentSelection
			|| bHasCoveredCase;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionActionabilitySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CoverageLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionCoverageLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionActionabilityEntrySurface> OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CoveredOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectionOnlyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCaseCoverage = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCaseCoverage = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionIsSelectionOnly = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasCaseCoverage;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionDispatchEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionDispatchKind DispatchKind =
		EHyperTwistTrainingCoachGeneratedModeOptionDispatchKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DispatchLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DirectLaunchOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedChoiceSelectedValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString GeneratedChoiceDisplayValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanDispatch = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !DispatchLine.IsEmpty()
			|| DispatchKind != EHyperTwistTrainingCoachGeneratedModeOptionDispatchKind::None
			|| bCanDispatch;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionDispatchSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DispatchSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDispatchLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionDispatchEntrySurface> OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectLaunchOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedChoiceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDispatchOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectLaunchOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedChoiceOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionDispatchesDirectLaunch = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionDispatchesGeneratedChoice = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasDispatchOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionExecutionImpactEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionExecutionImpactKind ExecutionImpactKind =
		EHyperTwistTrainingCoachGeneratedModeOptionExecutionImpactKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ImpactLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BlockedReasonLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bExecutesFromStoredRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLeavesExecutePostureUnchanged = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRequiresLaunchRequestRefreshBeforeExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLeavesExecuteBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanApplyImpact = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !ImpactLine.IsEmpty()
			|| ExecutionImpactKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionExecutionImpactKind::None
			|| bCanApplyImpact;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionExecutionImpactSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutionImpactSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionExecutionImpactLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionExecutionImpactEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ImmediateOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecuteFromStoredRequestOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnchangedExecutePostureOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RefreshRequiredOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedExecuteOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExecutionImpactOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasImmediateOwnedCaseStartOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestExecutionOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRefreshRequiredOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedExecuteOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionLeavesExecutePostureUnchanged = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRequiresLaunchRequestRefreshBeforeExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionLeavesExecuteBlocked = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasExecutionImpactOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionRequestAlignmentEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionRequestAlignmentKind RequestAlignmentKind =
		EHyperTwistTrainingCoachGeneratedModeOptionRequestAlignmentKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSelectorSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestAlignmentLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UnresolvedSelectorsLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutePreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldUseStoredRequestOnExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldRequireLaunchRequestRefreshBeforeExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldLeaveSelectorsUnresolved = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !HypotheticalSelectorSummaryLine.IsEmpty()
			|| RequestAlignmentKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionRequestAlignmentKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionRequestAlignmentSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestAlignmentSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UnresolvedPreviewSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionPreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionRequestAlignmentEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestAlignedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LaunchRequestRefreshRequiredOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedAfterChoiceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRequestAlignmentOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectOwnedCaseStartOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestAlignedOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLaunchRequestRefreshRequiredOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUnresolvedAfterChoiceOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldUseStoredRequestOnExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldRequireLaunchRequestRefreshBeforeExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldLeaveSelectorsUnresolved = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasRequestAlignmentOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionSelectorDiffEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSelectionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestSelectionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToHypotheticalDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestToHypotheticalDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToStoredRequestDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsTargetSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasHypotheticalSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentMatchesHypothetical = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStoredRequestMatchesHypothetical = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentMatchesStoredRequest = false;

	bool IsStructurallyValid() const
	{
		return !SelectorId.IsEmpty()
			|| !SelectorLabel.IsEmpty()
			|| !CurrentToHypotheticalDeltaLine.IsEmpty()
			|| bHasCurrentSelection
			|| bHasHypotheticalSelection
			|| bHasStoredRequestSelection;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionStoredRequestDeltaEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionStoredRequestDeltaKind StoredRequestDeltaKind =
		EHyperTwistTrainingCoachGeneratedModeOptionStoredRequestDeltaKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSelectorSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToHypotheticalDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestToHypotheticalDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToStoredRequestDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString UnresolvedSelectorsLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutePreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionSelectorDiffEntrySurface>
		SelectorDiffEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentToHypotheticalChangedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestToHypotheticalChangedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentToStoredRequestChangedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedSelectorCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentToHypotheticalDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestToHypotheticalDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentToStoredRequestDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldLeaveSelectorsUnresolved = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !HypotheticalSelectorSummaryLine.IsEmpty()
			|| StoredRequestDeltaKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionStoredRequestDeltaKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionStoredRequestDeltaSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorDiffSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToHypotheticalSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestToHypotheticalSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentToStoredRequestSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDeltaLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionStoredRequestDeltaEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NoSelectorDeltaOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentDeltaOnlyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestDeltaOnlyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CurrentAndStoredDeltaOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedAfterChoiceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestDeltaOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentToHypotheticalDeltaOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestToHypotheticalDeltaOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentToStoredRequestDeltaOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUnresolvedAfterChoiceOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCurrentToHypotheticalDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasStoredRequestToHypotheticalDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCurrentToStoredRequestDelta = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldLeaveSelectorsUnresolved = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasStoredRequestDeltaOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestSelectorChoiceEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectedValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DisplayValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PayloadLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bIsTargetSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasChoice = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelectionChoice = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesStoredRequestChoice = false;

	bool IsStructurallyValid() const
	{
		return !SelectorId.IsEmpty()
			|| !SelectorLabel.IsEmpty()
			|| !PayloadLine.IsEmpty()
			|| bHasChoice;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PayloadIdentityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorPayloadLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestReuseLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RefreshPreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecutePreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestSelectorChoiceEntrySurface>
		SelectorChoiceEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalTrainingSessionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalGeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalPuzzleId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode HypotheticalDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SelectorChoiceCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldReuseStoredRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldRequireLaunchRequestRefresh = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldLeaveSelectorsUnresolved = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStructurallyValidLaunchPayload = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !PayloadIdentityLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PayloadSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestReuseSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RefreshPreviewSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionPayloadLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestReusableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RefreshRequiredOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnresolvedAfterChoiceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PayloadUnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLaunchRequestPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestReusableOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRefreshRequiredOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasUnresolvedAfterChoiceOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPayloadUnavailableOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldReuseStoredRequest = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldRequireLaunchRequestRefresh = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldLeaveSelectorsUnresolved = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasStructurallyValidLaunchPayload = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasLaunchRequestPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestMetadataPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PayloadIdentityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetadataScopeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OriginSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NotesSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> OriginPaths;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Notes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalGeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OriginPathCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOriginPaths = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasNotes = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMetadataPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !MetadataScopeLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestMetadataPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetadataSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MetadataScopeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OriginSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NotesSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionMetadataLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestMetadataPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> OriginPaths;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Notes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MetadataPreviewOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OriginPathOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NotesOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OriginPathCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMetadataPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOriginPathOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasNotesOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasOriginPaths = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasNotes = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasMetadataPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestEnvelopePreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StoredRequestEnvelopeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestedAtLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PersistencePreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString HypotheticalRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentStoredRequestId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentStoredRequestedAtUtc;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentStoredRequestSource;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExecuteRequestSource;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldReuseStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldPersistFirstStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldRefreshStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bWouldReplaceStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPersistencePreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !StoredRequestEnvelopeLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestEnvelopePreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EnvelopeSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RequestSourceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PersistenceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionEnvelopeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionLaunchRequestEnvelopePreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestReusableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FirstPersistOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RefreshExistingOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ReplaceStoredRequestOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PersistenceBlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseStartOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasEnvelopePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestReusableOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFirstPersistOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRefreshExistingOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasReplaceStoredRequestOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPersistenceBlockedOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldReuseStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldPersistFirstStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldRefreshStoredRequestEnvelope = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionWouldReplaceStoredRequestEnvelope = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasEnvelopePreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionCasePreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OwnedCaseTargetLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalStateRefLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCanonicalStateRef;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseIdTemplate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCanonicalStateRefTemplate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactOwnedCaseTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedCaseTargetTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCanonicalStateRef = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCanonicalStateRefTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMissingCanonicalStateRef = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !OwnedCaseTargetLine.IsEmpty()
			|| !CanonicalStateRefLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionCasePreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OwnedCaseSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CanonicalStateSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionPreviewLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionCasePreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectOwnedCaseTargetOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StoredRequestExactTargetOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RefreshTemplateTargetOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExactCanonicalStateRefOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TemplateCanonicalStateRefOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingCanonicalStateRefOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionCasePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectOwnedCaseTargets = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasStoredRequestExactTargets = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRefreshTemplateTargets = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedTargets = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactOwnedCaseTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasOwnedCaseTargetTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactCanonicalStateRef = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCanonicalStateRefTemplate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionMissingCanonicalStateRef = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionCasePreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPromptPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptKindLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPromptLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingPromptKind PreviewPromptKind = EHyperTwistTrainingPromptKind::Algorithm;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPromptKindLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactPromptPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPromptLabelText = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !PromptLabelLine.IsEmpty()
			|| !PromptKindLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPromptPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PromptKindSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionPromptLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPromptPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectPromptPreviewOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedPromptPreviewOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AlgorithmPromptKindOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 StatePromptKindOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionPromptKindOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MemoPromptKindOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SequencePromptKindOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionPromptPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectPromptPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedPromptPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedPromptPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactPromptPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasPromptLabelText = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionPromptPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RevealPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimeTargetLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliverySourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingDeliveryMode PreviewDeliveryMode = EHyperTwistTrainingDeliveryMode::Timer;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDeliveryModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 PreviewTimeTargetMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactDeliveryPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSupportsAlgorithmRevealOnExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRevealConfiguredByDeckPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRevealNotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasTimeTarget = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !DeliveryModeLine.IsEmpty()
			|| !RevealPostureLine.IsEmpty()
			|| !TimeTargetLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RevealPostureSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimeTargetSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionExecutionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimerDeliveryOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VirtualCubeDeliveryOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartDeviceDeliveryOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RecognitionAssistedDeliveryOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CoachReviewedDeliveryOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RevealDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MissingRevealNotationOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TimedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UntargetedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionDeliveryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectDeliveryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedDeliveryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedDeliveryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactDeliveryPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionSupportsAlgorithmRevealOnExecute = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasRevealNotation = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasTimeTarget = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionDeliveryPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPuzzleSubsetDifficultyPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PuzzleIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DifficultyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ScopeSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPuzzleId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSubsetId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	float PreviewDifficulty = 0.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDifficultyBandLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactScopePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasPuzzleId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSubsetId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDifficulty = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !PuzzleIdLine.IsEmpty()
			|| !SubsetIdLine.IsEmpty()
			|| !DifficultyLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPuzzleSubsetDifficultyPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PuzzleIdSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SubsetIdSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DifficultySummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionScopeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPuzzleSubsetDifficultyPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CubePuzzleOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HypercubePuzzleOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OtherPuzzleOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SubsetScopedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnscopedSubsetOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BeginnerDifficultyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 IntermediateDifficultyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 AdvancedDifficultyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExpertDifficultyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnspecifiedDifficultyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionPuzzleSubsetDifficultyPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectScopePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedScopePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedScopePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactScopePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasPuzzleId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasSubsetId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDifficulty = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionPuzzleSubsetDifficultyPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionProvenancePreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseSourceModeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseSourceRefLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseSourceNotesLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckSourceModeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckSourceRefLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckSourceNotesLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseTagSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTagSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ProvenanceSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution PreviewCaseSourceAttribution;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingSourceAttribution PreviewDeckSourceAttribution;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewCaseSourceModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDeckSourceModeLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PreviewCaseTags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PreviewDeckTags;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CaseTagCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeckTagCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactProvenancePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCaseSourceAttribution = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeckSourceAttribution = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCaseTags = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDeckTags = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !CaseSourceModeLine.IsEmpty()
			|| !DeckSourceModeLine.IsEmpty()
			|| !CaseTagSummaryLine.IsEmpty()
			|| !DeckTagSummaryLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionProvenancePreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CaseSourceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckSourceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TagSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionProvenancePreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FirstPartyCaseSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectDonorCaseSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CleanRoomCaseSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BenchmarkCaseSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FirstPartyDeckSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectDonorDeckSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CleanRoomDeckSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BenchmarkDeckSourceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 CaseTaggedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeckTaggedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExecutionCaseTagOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExecutionDeckTagOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactProvenancePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCaseSourceAttribution = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDeckSourceAttribution = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasCaseTags = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDeckTags = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionProvenancePreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckTitleSelectionPolicyPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitleLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitleSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicySourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDeckTitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingSelectionPolicy PreviewSelectionPolicy =
		EHyperTwistTrainingSelectionPolicy::Weighted;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSelectionPolicyLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactDeckTitle = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactSelectionPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesActiveDeckTitle = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesGeneratedSurfaceLabelFallback = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bUsesGeneratedModeDefaultTitle = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !DeckTitleLine.IsEmpty()
			|| !SelectionPolicyLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckTitleSelectionPolicyPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckTitleSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectionPolicySummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDeckLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckTitleSelectionPolicyPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedActiveDeckTitleOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurfaceLabelFallbackOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedModeDefaultTitleOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UniformSelectionPolicyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 WeightedSelectionPolicyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SpacedSelectionPolicyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ScriptedSelectionPolicyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionDeckTitleSelectionPolicyPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectDeckTitleSelectionPolicyPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedDeckTitleSelectionPolicyPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedDeckTitleSelectionPolicyPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactDeckTitle = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSelectionPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionUsesActiveDeckTitle = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionUsesGeneratedSurfaceLabelFallback = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionUsesGeneratedModeDefaultTitle = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionDeckTitleSelectionPolicyPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckIdSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeSurfaceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeSurfaceSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewDeckId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSurfaceKind;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSurfaceId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewSurfaceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewRuntimeModeId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewGeneratorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactDeckId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactRuntimeSurfaceIdentity = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRuntimeSurfaceLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasRuntimeModeId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratorType = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsImportedRuntimeSurface = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !DeckIdLine.IsEmpty()
			|| !RuntimeSurfaceLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeckIdSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RuntimeSurfaceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDeckRuntimeSurfaceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedActiveDeckIdOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedImportedRuntimeSurfaceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LabeledRuntimeSurfaceOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RuntimeModeTaggedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratorTaggedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectDeckIdRuntimeSurfaceRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedDeckIdRuntimeSurfaceRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedDeckIdRuntimeSurfaceRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactDeckId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactRuntimeSurfaceIdentity = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasRuntimeSurfaceLabel = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasRuntimeModeId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasGeneratorType = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsImportedRuntimeSurface = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryModeRosterAllowedModeRetentionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AllowedModeRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AllowedModeSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<EHyperTwistTrainingDeliveryMode> PreviewDeckDeliveryModes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PreviewDeckDeliveryModeLabels;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<EHyperTwistTrainingDeliveryMode> PreviewAllowedDeliveryModes;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PreviewAllowedDeliveryModeLabels;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactDeliveryModeRosterPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactAllowedModeRosterPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckDeliveryModeRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowedModeRosterFallsBackToDeckModes = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowedModeRosterAddsExecutionMode = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !DeliveryModeRosterLine.IsEmpty()
			|| !AllowedModeRosterLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryModeRosterAllowedModeRetentionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DeliveryModeRosterSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString AllowedModeRosterSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDeliveryModeRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeliveryModeRosterAllowedModeRetentionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedDeckDeliveryModeRosterOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExactAllowedModeRosterOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DeckFallbackAllowedModeRosterOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExecutionModeAugmentedAllowedModeRosterOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionDeliveryModeRosterAllowedModeRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectDeliveryModeRosterAllowedModeRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedDeliveryModeRosterAllowedModeRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedDeliveryModeRosterAllowedModeRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactDeliveryModeRosterPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactAllowedModeRosterPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckDeliveryModeRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionAllowedModeRosterFallsBackToDeckModes = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionAllowedModeRosterAddsExecutionMode = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionDeliveryModeRosterAllowedModeRetentionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RealScrambleLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VirtualCubeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SmartCubeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CapabilitySourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewUsesRealScrambles = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewSupportsVirtualCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewSupportsSmartCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCapabilityPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckCapabilityFlags = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !RealScrambleLine.IsEmpty()
			|| !VirtualCubeLine.IsEmpty()
			|| !SmartCubeLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RealScrambleSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VirtualCubeSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SmartCubeSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionCapabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RealScrambleEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RealScrambleDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VirtualCubeEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VirtualCubeDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartCubeEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SmartCubeDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedActiveDeckCapabilityOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactCapabilityPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionUsesRealScrambles = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionSupportsVirtualCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionSupportsSmartCube = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckCapabilityFlags = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionRealScrambleVirtualCubeSmartCubeCapabilityRetentionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionTimingPolicyRetentionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InspectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PenaltyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString TimingPolicySourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FString> PreviewSplitPhaseLabels;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionDurationMs = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bInspectionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bInspectionPenaltiesEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bAllowManualPenalty = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHideRunningTime = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactTimingPolicyPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckTimingPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !InspectionLine.IsEmpty()
			|| !PenaltyLine.IsEmpty()
			|| !VisibilityLine.IsEmpty()
			|| !SplitPhaseLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionTimingPolicyRetentionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InspectionSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PenaltySummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString VisibilitySummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionTimingPolicyLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionTimingPolicyRetentionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionPenaltyEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InspectionPenaltyDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualPenaltyEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ManualPenaltyDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 HiddenRunningTimeOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 VisibleRunningTimeOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitPhaseEnabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitPhaseDisabledOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RetainedActiveDeckTimingPolicyOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionTimingPolicyRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectTimingPolicyRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedTimingPolicyRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedTimingPolicyRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactTimingPolicyPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckTimingPolicy = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionInspectionEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionInspectionPenaltiesEnabled = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionAllowsManualPenalty = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHidesRunningTime = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionUsesSplitPhases = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionTimingPolicyRetentionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDetailRetentionPreviewPhaseEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Order = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !Label.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDetailRetentionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseOrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDetailRetentionPreviewPhaseEntrySurface>
		PhaseEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactSplitPhaseDetailPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseDetail = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSplitPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !SplitPhaseCountLine.IsEmpty()
			|| !SplitPhaseOrderLine.IsEmpty()
			|| !SplitPhaseLabelLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDetailRetentionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseCountSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSplitPhaseDetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDetailRetentionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NonEmptySplitPhaseOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EmptySplitPhaseOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalPreviewedSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionSplitPhaseDetailRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectSplitPhaseDetailRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedSplitPhaseDetailRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedSplitPhaseDetailRetentionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSplitPhaseDetailPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckSplitPhaseDetail = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasSplitPhases = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionSplitPhaseDetailRetentionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhasePhaseIdLabelFallbackProvenancePreviewPhaseEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 Order = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLabelFallsBackToPhaseId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !NormalizedLabel.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhasePhaseIdLabelFallbackProvenancePreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhasePhaseIdLabelFallbackProvenancePreviewPhaseEntrySurface>
		PhaseEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactSplitPhaseLabelProvenancePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseLabelProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSplitPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !SplitPhaseCountLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| !FallbackPhaseIdLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhasePhaseIdLabelFallbackProvenancePreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseCountSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSplitPhaseProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhasePhaseIdLabelFallbackProvenancePreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NonEmptySplitPhaseOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EmptySplitPhaseOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 TotalPreviewedSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithFallbackLabelCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionSplitPhaseLabelProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectSplitPhaseLabelProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedSplitPhaseLabelProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedSplitPhaseLabelProvenancePreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSplitPhaseLabelProvenancePreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckSplitPhaseLabelProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasSplitPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasFallbackLabels = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionSplitPhaseLabelProvenancePreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDuplicatePruningSurvivorProvenancePreviewRawPhaseEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawOrder = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorNormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString EvaluationOrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizationOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStructurallyValid = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSurvivesNormalization = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseDuplicate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseInvalid = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !RawDefinitionLine.IsEmpty()
			|| !NormalizationOutcomeLine.IsEmpty()
			|| !DuplicatePruningProvenanceLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDuplicatePruningSurvivorProvenancePreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawSplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InvalidDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SplitPhaseSourceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewStabilityLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDuplicatePruningSurvivorProvenancePreviewRawPhaseEntrySurface>
		RawPhaseEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactSplitPhaseDuplicatePruningPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseDuplicatePruningProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInvalidRawDefinitions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !RawSplitPhaseCountLine.IsEmpty()
			|| !SurvivorCountLine.IsEmpty()
			|| !DuplicatePruningLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDuplicatePruningSurvivorProvenancePreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawSplitPhaseCountSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseDuplicatePruningSurvivorProvenancePreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithDuplicatePruningCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithInvalidRawDefinitionsCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionSplitPhaseDuplicatePruningPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectSplitPhaseDuplicatePruningPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedSplitPhaseDuplicatePruningPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedSplitPhaseDuplicatePruningPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSplitPhaseDuplicatePruningPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckSplitPhaseDuplicatePruningProvenance = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasInvalidRawDefinitions = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionSplitPhaseDuplicatePruningPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseNormalizationSummaryPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawSplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InvalidDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactNormalizationSummaryPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseNormalizationSummary = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInvalidRawDefinitions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !RawSplitPhaseCountLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| !PreviewPostureLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseNormalizationSummaryPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizationSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelFallbackSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionNormalizationSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseNormalizationSummaryPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithFallbackLabelCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithDuplicatePruningCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithInvalidRawDefinitionsCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionSplitPhaseNormalizationSummaryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectSplitPhaseNormalizationSummaryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedSplitPhaseNormalizationSummaryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedSplitPhaseNormalizationSummaryPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSplitPhaseNormalizationSummaryPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckSplitPhaseNormalizationSummary = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasInvalidRawDefinitions = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionSplitPhaseNormalizationSummaryPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewRowSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawOrder = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizationOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FusedRowLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSurvivesNormalization = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseDuplicate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseInvalid = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLabelFallsBackToPhaseId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasNormalizedPhaseDetail = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !RawDefinitionLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| !FusedRowLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewEntrySurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Label;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawSplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InvalidDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FusionSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewRowSurface>
		FusedRows;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchesCurrentSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactFusionPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInvalidRawDefinitions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !OptionId.IsEmpty()
			|| !Label.IsEmpty()
			|| !RawSplitPhaseCountLine.IsEmpty()
			|| !FusionSummaryLine.IsEmpty()
			|| !PreviewPostureLine.IsEmpty()
			|| LaunchRequestPreviewKind
				!= EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizationSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelFallbackSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionFusionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewEntrySurface>
		OptionEntries;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DirectExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 GeneratedExactOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 BlockedOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 UnavailableOptionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithFallbackLabelCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithDuplicatePruningCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 OptionsWithInvalidRawDefinitionsCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasOwnedExecutionSplitPhaseFusionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDirectSplitPhaseFusionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasGeneratedSplitPhaseFusionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasBlockedSplitPhaseFusionPreviewOptions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasExactSplitPhaseFusionPreview = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCurrentSelectionHasInvalidRawDefinitions = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| OptionEntries.Num() > 0
			|| bHasSelector
			|| bHasOwnedExecutionSplitPhaseFusionPreviewOptions;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionCanonicalInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionCanonicalInspectLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawSplitPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InvalidDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FusionSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseRawRowNormalizedPhaseFusionPreviewRowSurface>
		FusedRows;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawSplitPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawDefinitionCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionCanonicalInspectEntry = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionCanonicalInspect = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDuplicatePrunedPhases = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInvalidRawDefinitions = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionCanonicalInspectLine.IsEmpty()
			|| FusedRows.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionCanonicalInspectEntry;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionSurvivorPhaseRosterInspectPhaseSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLabelFallsBackToPhaseId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !NormalizedLabel.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionSurvivorPhaseRosterInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSurvivorRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SurvivorPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionSurvivorPhaseRosterInspectPhaseSurface>
		SurvivorPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 SurvivorPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionSurvivorPhaseRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionSurvivorPhaseRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabels = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionSurvivorRosterLine.IsEmpty()
			|| SurvivorPhases.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionSurvivorPhaseRoster;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionDroppedRowAuditInspectRowSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 RawOrder = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString RawDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizationOutcomeLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DroppedRowAuditLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseDuplicate = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bDroppedBecauseInvalid = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !RawDefinitionLine.IsEmpty()
			|| !DroppedRowAuditLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionDroppedRowAuditInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionDroppedRowAuditLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DroppedRowCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DuplicatePruningLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString InvalidDefinitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PreviewPostureLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionDroppedRowAuditInspectRowSurface>
		DroppedRows;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DroppedRowCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 DuplicatePrunedRowCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 InvalidRawRowCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionDroppedRowAudit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionDroppedRowAudit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasDuplicatePrunedRows = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasInvalidRawRows = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionDroppedRowAuditLine.IsEmpty()
			|| DroppedRows.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionDroppedRowAudit;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionPhaseIdFallbackRosterInspectPhaseSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseIdFallbackRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !NormalizedLabel.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionPhaseIdFallbackRosterInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionPhaseIdFallbackRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionPhaseIdFallbackRosterInspectPhaseSurface>
		FallbackPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionPhaseIdFallbackRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionPhaseIdFallbackRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionPhaseIdFallbackRosterLine.IsEmpty()
			|| FallbackPhases.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionPhaseIdFallbackRoster;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionExplicitLabelRosterInspectPhaseSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !NormalizedLabel.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelProvenanceLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionExplicitLabelRosterInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionExplicitLabelRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionExplicitLabelRosterInspectPhaseSurface>
		ExplicitLabelPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionExplicitLabelRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionExplicitLabelRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionExplicitLabelRosterLine.IsEmpty()
			|| ExplicitLabelPhases.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionExplicitLabelRoster;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionSummaryInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionSummary = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionSummary = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMixedLabelProvenancePartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionSummaryLine.IsEmpty()
			|| !ExplicitLabelPhaseCountLine.IsEmpty()
			|| !FallbackPhaseCountLine.IsEmpty()
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionSummary;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionRosterPairInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionRosterPairLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionExplicitLabelRosterInspectPhaseSurface>
		ExplicitLabelPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionPhaseIdFallbackRosterInspectPhaseSurface>
		FallbackPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionRosterPair = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionRosterPair = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMixedLabelProvenancePartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionRosterPairLine.IsEmpty()
			|| ExplicitLabelPhases.Num() > 0
			|| FallbackPhases.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionRosterPair;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectPhaseSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString PhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SourceLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString NormalizedLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 EvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 NormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString OrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenanceLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LabelProvenancePartitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderedRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBelongsToExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bBelongsToFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSourceLabelWasExplicit = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLabelFallsBackToPhaseId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !PhaseId.IsEmpty()
			|| !NormalizedLabel.IsEmpty()
			|| !OrderLine.IsEmpty()
			|| !LabelProvenancePartitionLine.IsEmpty()
			|| bCanPreview;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionMergedOrderedRosterLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderedPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString ExplicitLabelPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString FallbackPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedLabelSummaryLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	TArray<FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectPhaseSurface>
		MergedOrderedPhases;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MergedOrderedPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 ExplicitLabelPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 FallbackPhaseCount = 0;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionMergedOrderedRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasMixedLabelProvenancePartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionMergedOrderedRosterLine.IsEmpty()
			|| MergedOrderedPhases.Num() > 0
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRoster;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookupInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString LookupPhaseId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookupLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderedPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseOrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhasePartitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectPhaseSurface
		MatchedPhase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchedNormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLookupPhaseId = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLookupMissesRetainedRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookupLine.IsEmpty()
			|| MatchedPhase.IsStructurallyValid()
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterPhaseIdLookup;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookupInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookupLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderedPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseOrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhasePartitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectPhaseSurface
		MatchedPhase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LookupNormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLookupNormalizedOrder = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLookupMissesRetainedRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookupLine.IsEmpty()
			|| MatchedPhase.IsStructurallyValid()
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterNormalizedOrderLookup;
	}
};

USTRUCT(BlueprintType)
struct FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookupInspectSurface
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString SelectorLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString BindingLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString Headline;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString StatusLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionSelectionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookupLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MergedOrderedPhaseCountLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseOrderLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseIdLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhaseLabelLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString MatchedPhasePartitionLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString DetailLine;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FHyperTwistTrainingCoachGeneratedModeSelectorOptionOwnedExecutionSplitPhaseCurrentSelectionLabelProvenancePartitionMergedOrderedRosterInspectPhaseSurface
		MatchedPhase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionLabel;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	FString CurrentSelectionOptionValue;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind LaunchRequestPreviewKind =
		EHyperTwistTrainingCoachGeneratedModeOptionLaunchRequestPreviewKind::None;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 LookupEvaluationOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	int32 MatchedNormalizedOrder = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelector = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasSelection = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bSelectionMatchesAvailableOption = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasLookupEvaluationOrder = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bStartsOwnedCaseImmediately = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bHasExactCurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookup = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bRetainsActiveDeckSplitPhaseFusion = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedExplicitLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bMatchedFallbackLabelPartition = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bLookupMissesRetainedRoster = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bPreviewBlocked = false;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
	bool bCanPreview = false;

	bool IsStructurallyValid() const
	{
		return !StatusLine.IsEmpty()
			|| !SelectorId.IsEmpty()
			|| !CurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookupLine.IsEmpty()
			|| MatchedPhase.IsStructurallyValid()
			|| bHasSelector
			|| bHasSelection
			|| bHasCurrentSelectionLabelProvenancePartitionMergedOrderedRosterEvaluationOrderLookup;
	}
};
