__vite_ssr_exportName__("USAGE_CONTRACT_VERSION", () => { try { return USAGE_CONTRACT_VERSION } catch {} });
__vite_ssr_exportName__("USAGE_MERGE_COMPATIBLE_SINCE", () => { try { return USAGE_MERGE_COMPATIBLE_SINCE } catch {} });
__vite_ssr_exportName__("UsageProviderKind", () => { try { return UsageProviderKind } catch {} });
__vite_ssr_exportName__("UsageDay", () => { try { return UsageDay } catch {} });
__vite_ssr_exportName__("UsageResolution", () => { try { return UsageResolution } catch {} });
__vite_ssr_exportName__("UsageCostSource", () => { try { return UsageCostSource } catch {} });
__vite_ssr_exportName__("UsageTokenTotals", () => { try { return UsageTokenTotals } catch {} });
__vite_ssr_exportName__("UsageCategoryCost", () => { try { return UsageCategoryCost } catch {} });
__vite_ssr_exportName__("UsageBucket", () => { try { return UsageBucket } catch {} });
__vite_ssr_exportName__("UsageSourceFingerprint", () => { try { return UsageSourceFingerprint } catch {} });
__vite_ssr_exportName__("UsageSourceStatus", () => { try { return UsageSourceStatus } catch {} });
__vite_ssr_exportName__("UsageSource", () => { try { return UsageSource } catch {} });
__vite_ssr_exportName__("UsagePricingStatus", () => { try { return UsagePricingStatus } catch {} });
__vite_ssr_exportName__("UsagePricing", () => { try { return UsagePricing } catch {} });
__vite_ssr_exportName__("UsageSummaryInput", () => { try { return UsageSummaryInput } catch {} });
__vite_ssr_exportName__("UsageSummary", () => { try { return UsageSummary } catch {} });
__vite_ssr_exportName__("UsageReadError", () => { try { return UsageReadError } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schema.js");
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/baseSchemas.ts", {"importedNames":["ForwardCompatibleArray","NonNegativeInt","TrimmedNonEmptyString"]});


/** Bump for incompatible UsageSummary changes; skipped unknown array variants need no bump. */
const USAGE_CONTRACT_VERSION = 6;
const USAGE_MERGE_COMPATIBLE_SINCE = 4;
const UsageProviderKind = __vite_ssr_import_0__.Literals([
	"claude",
	"codex",
	"grok",
	"cursor",
	"opencode",
	"antigravity",
	"pi",
	"muse"
]);
const USAGE_DAY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
const UsageDay = __vite_ssr_import_1__.TrimmedNonEmptyString.check(__vite_ssr_import_0__.isPattern(USAGE_DAY_PATTERN)).pipe(__vite_ssr_import_0__.brand("UsageDay"));
const UsageResolution = __vite_ssr_import_0__.Literals(["day", "hour"]);
const UsageCostSource = __vite_ssr_import_0__.Literals([
	"providerReported",
	"modelPriced",
	"unpriced"
]);
/** Sum uncached input, cache reads, and cache writes for input totals; reasoning is already included in output. */
const UsageTokenTotals = __vite_ssr_import_0__.Struct({
	uncachedInputTokens: __vite_ssr_import_1__.NonNegativeInt,
	cachedInputTokens: __vite_ssr_import_1__.NonNegativeInt,
	cacheCreationTokens: __vite_ssr_import_1__.NonNegativeInt,
	outputTokens: __vite_ssr_import_1__.NonNegativeInt,
	reasoningTokens: __vite_ssr_import_1__.NonNegativeInt
});
const UsageCategoryCost = __vite_ssr_import_0__.Struct({
	input: __vite_ssr_import_0__.Number,
	cacheRead: __vite_ssr_import_0__.Number,
	cacheWrite: __vite_ssr_import_0__.Number,
	output: __vite_ssr_import_0__.Number
});
const UsageBucket = __vite_ssr_import_0__.Struct({
	day: UsageDay,
	hourStart: __vite_ssr_import_0__.optional((0,__vite_ssr_import_1__.TrimmedNonEmptyString)),
	provider: UsageProviderKind,
	model: __vite_ssr_import_1__.TrimmedNonEmptyString,
	sourcePath: __vite_ssr_import_0__.optional((0,__vite_ssr_import_1__.TrimmedNonEmptyString)),
	totals: UsageTokenTotals,
	costUsd: __vite_ssr_import_0__.Number,
	cacheSavingsUsd: __vite_ssr_import_0__.Number,
	categoryCostUsd: __vite_ssr_import_0__.optional(UsageCategoryCost),
	fastCostUsd: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Number),
	ultrafastCostUsd: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Number),
	speedPremiumUsd: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Number),
	costSource: UsageCostSource,
	records: __vite_ssr_import_1__.NonNegativeInt,
	unpricedRecords: __vite_ssr_import_1__.NonNegativeInt,
	sessions: __vite_ssr_import_1__.NonNegativeInt
});
const UsageSourceFingerprint = __vite_ssr_import_0__.Struct({
	hostId: __vite_ssr_import_1__.TrimmedNonEmptyString,
	provider: UsageProviderKind,
	resolvedHomePath: __vite_ssr_import_1__.TrimmedNonEmptyString,
	/** Transcript directory device:inode distinguishes machines sharing a hostname and home path. */
	volumeId: __vite_ssr_import_0__.String
});
const UsageSourceStatus = __vite_ssr_import_0__.Literals([
	"ok",
	"missing",
	"partial",
	"failed"
]);
const UsageSource = __vite_ssr_import_0__.Struct({
	fingerprint: UsageSourceFingerprint,
	status: UsageSourceStatus,
	scannedFiles: __vite_ssr_import_1__.NonNegativeInt,
	skippedFiles: __vite_ssr_import_1__.NonNegativeInt,
	malformedRecords: __vite_ssr_import_1__.NonNegativeInt,
	/** Total this count; bucket counts double-count sessions spanning days or models. */
	distinctSessions: __vite_ssr_import_1__.NonNegativeInt,
	message: __vite_ssr_import_0__.NullOr((0,__vite_ssr_import_1__.TrimmedNonEmptyString)),
	action: __vite_ssr_import_0__.optionalKey(__vite_ssr_import_0__.Literal("enableCursorKeychain")),
	/** Cached response during refresh; repeat with awaitRefresh for fresh data. */
	refreshing: __vite_ssr_import_0__.optionalKey(__vite_ssr_import_0__.Literal(true))
});
const UsagePricingStatus = __vite_ssr_import_0__.Literals([
	"fresh",
	"cached",
	"unavailable"
]);
const UsagePricing = __vite_ssr_import_0__.Struct({
	status: UsagePricingStatus,
	source: __vite_ssr_import_1__.TrimmedNonEmptyString,
	fetchedAt: __vite_ssr_import_0__.NullOr(__vite_ssr_import_0__.String),
	knownModels: __vite_ssr_import_1__.NonNegativeInt
});
const UsageSummaryInput = __vite_ssr_import_0__.Struct({
	sinceDay: UsageDay,
	untilDay: UsageDay,
	/** IANA bucketing zone; offsets fail across DST boundaries. */
	timeZone: __vite_ssr_import_1__.TrimmedNonEmptyString,
	resolution: __vite_ssr_import_0__.optional(UsageResolution),
	sinceTime: __vite_ssr_import_0__.optional((0,__vite_ssr_import_1__.TrimmedNonEmptyString)),
	untilTime: __vite_ssr_import_0__.optional((0,__vite_ssr_import_1__.TrimmedNonEmptyString)),
	awaitRefresh: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Boolean)
});
const UsageSummary = __vite_ssr_import_0__.Struct({
	contractVersion: __vite_ssr_import_0__.Number,
	readAt: __vite_ssr_import_0__.String,
	timeZone: __vite_ssr_import_1__.TrimmedNonEmptyString,
	sinceDay: UsageDay,
	untilDay: UsageDay,
	buckets: (0,__vite_ssr_import_1__.ForwardCompatibleArray)(UsageBucket),
	sources: (0,__vite_ssr_import_1__.ForwardCompatibleArray)(UsageSource),
	pricing: UsagePricing,
	scanDurationMs: __vite_ssr_import_1__.NonNegativeInt
});
class UsageReadError extends __vite_ssr_import_0__.TaggedError()("UsageReadError", {
	reason: __vite_ssr_import_0__.Literals(["scanFailed", "invalidWindow"]),
	detail: __vite_ssr_import_1__.TrimmedNonEmptyString,
	cause: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Defect())
}) {
	get message() {
		return `Usage read failed (${this.reason}): ${this.detail}`;
	}
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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LFNBQVM7Q0FDVCxnQkFBZ0I7QUFDbEIsQ0FBQztBQUdNLE1BQU0sdUJBQXVCLHNCQUFPLFlBQTRCLENBQUMsQ0FBQyxrQkFBa0I7Q0FDekYsUUFBUSxzQkFBTyxTQUFTLENBQUMsY0FBYyxlQUFlLENBQUM7Q0FDdkQsUUFBUTtDQUNSLE9BQU8sc0JBQU8sU0FBUyxzQkFBTyxPQUFPLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUM7Q0FDRCxJQUFhLFVBQWtCO0VBQzdCLE9BQU8sc0JBQXNCLEtBQUssT0FBTyxLQUFLLEtBQUs7Q0FDckQ7QUFDRiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsidXNhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2NoZW1hIGZyb20gXCJlZmZlY3QvU2NoZW1hXCI7XG5cbmltcG9ydCB7IEZvcndhcmRDb21wYXRpYmxlQXJyYXksIE5vbk5lZ2F0aXZlSW50LCBUcmltbWVkTm9uRW1wdHlTdHJpbmcgfSBmcm9tIFwiLi9iYXNlU2NoZW1hcy50c1wiO1xuXG4vKiogQnVtcCBmb3IgaW5jb21wYXRpYmxlIFVzYWdlU3VtbWFyeSBjaGFuZ2VzOyBza2lwcGVkIHVua25vd24gYXJyYXkgdmFyaWFudHMgbmVlZCBubyBidW1wLiAqL1xuZXhwb3J0IGNvbnN0IFVTQUdFX0NPTlRSQUNUX1ZFUlNJT04gPSA2IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgVVNBR0VfTUVSR0VfQ09NUEFUSUJMRV9TSU5DRSA9IDQgYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBVc2FnZVByb3ZpZGVyS2luZCA9IFNjaGVtYS5MaXRlcmFscyhbXG4gIFwiY2xhdWRlXCIsXG4gIFwiY29kZXhcIixcbiAgXCJncm9rXCIsXG4gIFwiY3Vyc29yXCIsXG4gIFwib3BlbmNvZGVcIixcbiAgXCJhbnRpZ3Jhdml0eVwiLFxuICBcInBpXCIsXG4gIFwibXVzZVwiLFxuXSk7XG5leHBvcnQgdHlwZSBVc2FnZVByb3ZpZGVyS2luZCA9IHR5cGVvZiBVc2FnZVByb3ZpZGVyS2luZC5UeXBlO1xuXG5jb25zdCBVU0FHRV9EQVlfUEFUVEVSTiA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLztcblxuZXhwb3J0IGNvbnN0IFVzYWdlRGF5ID0gVHJpbW1lZE5vbkVtcHR5U3RyaW5nLmNoZWNrKFNjaGVtYS5pc1BhdHRlcm4oVVNBR0VfREFZX1BBVFRFUk4pKS5waXBlKFxuICBTY2hlbWEuYnJhbmQoXCJVc2FnZURheVwiKSxcbik7XG5leHBvcnQgdHlwZSBVc2FnZURheSA9IHR5cGVvZiBVc2FnZURheS5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VSZXNvbHV0aW9uID0gU2NoZW1hLkxpdGVyYWxzKFtcImRheVwiLCBcImhvdXJcIl0pO1xuZXhwb3J0IHR5cGUgVXNhZ2VSZXNvbHV0aW9uID0gdHlwZW9mIFVzYWdlUmVzb2x1dGlvbi5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VDb3N0U291cmNlID0gU2NoZW1hLkxpdGVyYWxzKFtcInByb3ZpZGVyUmVwb3J0ZWRcIiwgXCJtb2RlbFByaWNlZFwiLCBcInVucHJpY2VkXCJdKTtcbmV4cG9ydCB0eXBlIFVzYWdlQ29zdFNvdXJjZSA9IHR5cGVvZiBVc2FnZUNvc3RTb3VyY2UuVHlwZTtcblxuLyoqIFN1bSB1bmNhY2hlZCBpbnB1dCwgY2FjaGUgcmVhZHMsIGFuZCBjYWNoZSB3cml0ZXMgZm9yIGlucHV0IHRvdGFsczsgcmVhc29uaW5nIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4gb3V0cHV0LiAqL1xuZXhwb3J0IGNvbnN0IFVzYWdlVG9rZW5Ub3RhbHMgPSBTY2hlbWEuU3RydWN0KHtcbiAgdW5jYWNoZWRJbnB1dFRva2VuczogTm9uTmVnYXRpdmVJbnQsXG4gIGNhY2hlZElucHV0VG9rZW5zOiBOb25OZWdhdGl2ZUludCxcbiAgY2FjaGVDcmVhdGlvblRva2VuczogTm9uTmVnYXRpdmVJbnQsXG4gIG91dHB1dFRva2VuczogTm9uTmVnYXRpdmVJbnQsXG4gIHJlYXNvbmluZ1Rva2VuczogTm9uTmVnYXRpdmVJbnQsXG59KTtcbmV4cG9ydCB0eXBlIFVzYWdlVG9rZW5Ub3RhbHMgPSB0eXBlb2YgVXNhZ2VUb2tlblRvdGFscy5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VDYXRlZ29yeUNvc3QgPSBTY2hlbWEuU3RydWN0KHtcbiAgaW5wdXQ6IFNjaGVtYS5OdW1iZXIsXG4gIGNhY2hlUmVhZDogU2NoZW1hLk51bWJlcixcbiAgY2FjaGVXcml0ZTogU2NoZW1hLk51bWJlcixcbiAgb3V0cHV0OiBTY2hlbWEuTnVtYmVyLFxufSk7XG5leHBvcnQgdHlwZSBVc2FnZUNhdGVnb3J5Q29zdCA9IHR5cGVvZiBVc2FnZUNhdGVnb3J5Q29zdC5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VCdWNrZXQgPSBTY2hlbWEuU3RydWN0KHtcbiAgZGF5OiBVc2FnZURheSxcbiAgaG91clN0YXJ0OiBTY2hlbWEub3B0aW9uYWwoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgcHJvdmlkZXI6IFVzYWdlUHJvdmlkZXJLaW5kLFxuICBtb2RlbDogVHJpbW1lZE5vbkVtcHR5U3RyaW5nLFxuICBzb3VyY2VQYXRoOiBTY2hlbWEub3B0aW9uYWwoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgdG90YWxzOiBVc2FnZVRva2VuVG90YWxzLFxuICBjb3N0VXNkOiBTY2hlbWEuTnVtYmVyLFxuICBjYWNoZVNhdmluZ3NVc2Q6IFNjaGVtYS5OdW1iZXIsXG4gIGNhdGVnb3J5Q29zdFVzZDogU2NoZW1hLm9wdGlvbmFsKFVzYWdlQ2F0ZWdvcnlDb3N0KSxcbiAgZmFzdENvc3RVc2Q6IFNjaGVtYS5vcHRpb25hbChTY2hlbWEuTnVtYmVyKSxcbiAgdWx0cmFmYXN0Q29zdFVzZDogU2NoZW1hLm9wdGlvbmFsKFNjaGVtYS5OdW1iZXIpLFxuICBzcGVlZFByZW1pdW1Vc2Q6IFNjaGVtYS5vcHRpb25hbChTY2hlbWEuTnVtYmVyKSxcbiAgY29zdFNvdXJjZTogVXNhZ2VDb3N0U291cmNlLFxuICByZWNvcmRzOiBOb25OZWdhdGl2ZUludCxcbiAgdW5wcmljZWRSZWNvcmRzOiBOb25OZWdhdGl2ZUludCxcbiAgc2Vzc2lvbnM6IE5vbk5lZ2F0aXZlSW50LFxufSk7XG5leHBvcnQgdHlwZSBVc2FnZUJ1Y2tldCA9IHR5cGVvZiBVc2FnZUJ1Y2tldC5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VTb3VyY2VGaW5nZXJwcmludCA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBob3N0SWQ6IFRyaW1tZWROb25FbXB0eVN0cmluZyxcbiAgcHJvdmlkZXI6IFVzYWdlUHJvdmlkZXJLaW5kLFxuICByZXNvbHZlZEhvbWVQYXRoOiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gIC8qKiBUcmFuc2NyaXB0IGRpcmVjdG9yeSBkZXZpY2U6aW5vZGUgZGlzdGluZ3Vpc2hlcyBtYWNoaW5lcyBzaGFyaW5nIGEgaG9zdG5hbWUgYW5kIGhvbWUgcGF0aC4gKi9cbiAgdm9sdW1lSWQ6IFNjaGVtYS5TdHJpbmcsXG59KTtcbmV4cG9ydCB0eXBlIFVzYWdlU291cmNlRmluZ2VycHJpbnQgPSB0eXBlb2YgVXNhZ2VTb3VyY2VGaW5nZXJwcmludC5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VTb3VyY2VTdGF0dXMgPSBTY2hlbWEuTGl0ZXJhbHMoW1wib2tcIiwgXCJtaXNzaW5nXCIsIFwicGFydGlhbFwiLCBcImZhaWxlZFwiXSk7XG5leHBvcnQgdHlwZSBVc2FnZVNvdXJjZVN0YXR1cyA9IHR5cGVvZiBVc2FnZVNvdXJjZVN0YXR1cy5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VTb3VyY2UgPSBTY2hlbWEuU3RydWN0KHtcbiAgZmluZ2VycHJpbnQ6IFVzYWdlU291cmNlRmluZ2VycHJpbnQsXG4gIHN0YXR1czogVXNhZ2VTb3VyY2VTdGF0dXMsXG4gIHNjYW5uZWRGaWxlczogTm9uTmVnYXRpdmVJbnQsXG4gIHNraXBwZWRGaWxlczogTm9uTmVnYXRpdmVJbnQsXG4gIG1hbGZvcm1lZFJlY29yZHM6IE5vbk5lZ2F0aXZlSW50LFxuICAvKiogVG90YWwgdGhpcyBjb3VudDsgYnVja2V0IGNvdW50cyBkb3VibGUtY291bnQgc2Vzc2lvbnMgc3Bhbm5pbmcgZGF5cyBvciBtb2RlbHMuICovXG4gIGRpc3RpbmN0U2Vzc2lvbnM6IE5vbk5lZ2F0aXZlSW50LFxuICBtZXNzYWdlOiBTY2hlbWEuTnVsbE9yKFRyaW1tZWROb25FbXB0eVN0cmluZyksXG4gIGFjdGlvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5MaXRlcmFsKFwiZW5hYmxlQ3Vyc29yS2V5Y2hhaW5cIikpLFxuICAvKiogQ2FjaGVkIHJlc3BvbnNlIGR1cmluZyByZWZyZXNoOyByZXBlYXQgd2l0aCBhd2FpdFJlZnJlc2ggZm9yIGZyZXNoIGRhdGEuICovXG4gIHJlZnJlc2hpbmc6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuTGl0ZXJhbCh0cnVlKSksXG59KTtcbmV4cG9ydCB0eXBlIFVzYWdlU291cmNlID0gdHlwZW9mIFVzYWdlU291cmNlLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBVc2FnZVByaWNpbmdTdGF0dXMgPSBTY2hlbWEuTGl0ZXJhbHMoW1wiZnJlc2hcIiwgXCJjYWNoZWRcIiwgXCJ1bmF2YWlsYWJsZVwiXSk7XG5leHBvcnQgdHlwZSBVc2FnZVByaWNpbmdTdGF0dXMgPSB0eXBlb2YgVXNhZ2VQcmljaW5nU3RhdHVzLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBVc2FnZVByaWNpbmcgPSBTY2hlbWEuU3RydWN0KHtcbiAgc3RhdHVzOiBVc2FnZVByaWNpbmdTdGF0dXMsXG4gIHNvdXJjZTogVHJpbW1lZE5vbkVtcHR5U3RyaW5nLFxuICBmZXRjaGVkQXQ6IFNjaGVtYS5OdWxsT3IoU2NoZW1hLlN0cmluZyksXG4gIGtub3duTW9kZWxzOiBOb25OZWdhdGl2ZUludCxcbn0pO1xuZXhwb3J0IHR5cGUgVXNhZ2VQcmljaW5nID0gdHlwZW9mIFVzYWdlUHJpY2luZy5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VTdW1tYXJ5SW5wdXQgPSBTY2hlbWEuU3RydWN0KHtcbiAgc2luY2VEYXk6IFVzYWdlRGF5LFxuICB1bnRpbERheTogVXNhZ2VEYXksXG4gIC8qKiBJQU5BIGJ1Y2tldGluZyB6b25lOyBvZmZzZXRzIGZhaWwgYWNyb3NzIERTVCBib3VuZGFyaWVzLiAqL1xuICB0aW1lWm9uZTogVHJpbW1lZE5vbkVtcHR5U3RyaW5nLFxuICByZXNvbHV0aW9uOiBTY2hlbWEub3B0aW9uYWwoVXNhZ2VSZXNvbHV0aW9uKSxcbiAgc2luY2VUaW1lOiBTY2hlbWEub3B0aW9uYWwoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgdW50aWxUaW1lOiBTY2hlbWEub3B0aW9uYWwoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgYXdhaXRSZWZyZXNoOiBTY2hlbWEub3B0aW9uYWwoU2NoZW1hLkJvb2xlYW4pLFxufSk7XG5leHBvcnQgdHlwZSBVc2FnZVN1bW1hcnlJbnB1dCA9IHR5cGVvZiBVc2FnZVN1bW1hcnlJbnB1dC5UeXBlO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VTdW1tYXJ5ID0gU2NoZW1hLlN0cnVjdCh7XG4gIGNvbnRyYWN0VmVyc2lvbjogU2NoZW1hLk51bWJlcixcbiAgcmVhZEF0OiBTY2hlbWEuU3RyaW5nLFxuICB0aW1lWm9uZTogVHJpbW1lZE5vbkVtcHR5U3RyaW5nLFxuICBzaW5jZURheTogVXNhZ2VEYXksXG4gIHVudGlsRGF5OiBVc2FnZURheSxcbiAgYnVja2V0czogRm9yd2FyZENvbXBhdGlibGVBcnJheShVc2FnZUJ1Y2tldCksXG4gIHNvdXJjZXM6IEZvcndhcmRDb21wYXRpYmxlQXJyYXkoVXNhZ2VTb3VyY2UpLFxuICBwcmljaW5nOiBVc2FnZVByaWNpbmcsXG4gIHNjYW5EdXJhdGlvbk1zOiBOb25OZWdhdGl2ZUludCxcbn0pO1xuZXhwb3J0IHR5cGUgVXNhZ2VTdW1tYXJ5ID0gdHlwZW9mIFVzYWdlU3VtbWFyeS5UeXBlO1xuXG5leHBvcnQgY2xhc3MgVXNhZ2VSZWFkRXJyb3IgZXh0ZW5kcyBTY2hlbWEuVGFnZ2VkRXJyb3I8VXNhZ2VSZWFkRXJyb3I+KCkoXCJVc2FnZVJlYWRFcnJvclwiLCB7XG4gIHJlYXNvbjogU2NoZW1hLkxpdGVyYWxzKFtcInNjYW5GYWlsZWRcIiwgXCJpbnZhbGlkV2luZG93XCJdKSxcbiAgZGV0YWlsOiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gIGNhdXNlOiBTY2hlbWEub3B0aW9uYWwoU2NoZW1hLkRlZmVjdCgpKSxcbn0pIHtcbiAgb3ZlcnJpZGUgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVzYWdlIHJlYWQgZmFpbGVkICgke3RoaXMucmVhc29ufSk6ICR7dGhpcy5kZXRhaWx9YDtcbiAgfVxufVxuIl0sImZpbGUiOiIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvdXNhZ2UudHMifQ==

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy91c2FnZS50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy91c2FnZS50cyIseyJ1cmxzIjoiNiIsImlkcyI6IjcifSxbIjgiLCI5Il0sW10sWyI4IiwiOSJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L1NjaGVtYS5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9iYXNlU2NoZW1hcy50cyJd