__vite_ssr_exportName__("RemoteEnvironmentAuthFetchError", () => { try { return RemoteEnvironmentAuthFetchError } catch {} });
__vite_ssr_exportName__("RemoteEnvironmentAuthUndeclaredStatusError", () => { try { return RemoteEnvironmentAuthUndeclaredStatusError } catch {} });
__vite_ssr_exportName__("RemoteEnvironmentAuthTimeoutError", () => { try { return RemoteEnvironmentAuthTimeoutError } catch {} });
__vite_ssr_exportName__("layerRemoteHttpClient", () => { try { return layerRemoteHttpClient } catch {} });
__vite_ssr_exportName__("makeEnvironmentHttpApiClient", () => { try { return makeEnvironmentHttpApiClient } catch {} });
__vite_ssr_exportName__("makeEnvironmentHttpApiGroupClient", () => { try { return makeEnvironmentHttpApiGroupClient } catch {} });
__vite_ssr_exportName__("makeEnvironmentHttpApiUrlBuilder", () => { try { return makeEnvironmentHttpApiUrlBuilder } catch {} });
__vite_ssr_exportName__("executeEnvironmentHttpRequest", () => { try { return executeEnvironmentHttpRequest } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/index.ts", {"importedNames":["EnvironmentHttpApi","EnvironmentHttpCommonError"]});
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/shared/src/httpObservability.ts");
const __vite_ssr_import_2__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Data.js");
const __vite_ssr_import_3__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Duration.js");
const __vite_ssr_import_4__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Effect.js");
const __vite_ssr_import_5__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Layer.js");
const __vite_ssr_import_6__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Option.js");
const __vite_ssr_import_7__ = 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_8__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/http/index.js", {"importedNames":["FetchHttpClient","HttpClient","HttpClientError"]});
const __vite_ssr_import_9__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/http-api/HttpApiClient.js");










const isEnvironmentHttpCommonError = __vite_ssr_import_7__.is((0,__vite_ssr_import_0__.EnvironmentHttpCommonError));
class RemoteEnvironmentAuthFetchError extends __vite_ssr_import_2__.TaggedError("RemoteEnvironmentAuthFetchError") {};
class RemoteEnvironmentAuthInvalidJsonError extends __vite_ssr_import_2__.TaggedError("RemoteEnvironmentAuthInvalidJsonError") {}
class RemoteEnvironmentAuthUndeclaredStatusError extends __vite_ssr_import_2__.TaggedError("RemoteEnvironmentAuthUndeclaredStatusError") {
	constructor(requestUrl, status) {
		super({
			message: `Remote environment endpoint ${requestUrl} returned undeclared status ${status}.`,
			requestUrl,
			status
		});
	}
};
class RemoteEnvironmentAuthTimeoutError extends __vite_ssr_import_2__.TaggedError("RemoteEnvironmentAuthTimeoutError") {
	constructor(requestUrl, timeoutMs) {
		super({
			message: `Remote environment endpoint ${requestUrl} timed out after ${timeoutMs}ms.`,
			requestUrl,
			timeoutMs
		});
	}
};
const layerRemoteHttpClient = (fetchFn) => __vite_ssr_import_5__.merge(__vite_ssr_import_8__.FetchHttpClient.layer.pipe(__vite_ssr_import_5__.provide(__vite_ssr_import_5__.succeed(__vite_ssr_import_8__.FetchHttpClient.Fetch, fetchFn))), __vite_ssr_import_1__.layer);
const remoteApiBaseUrl = (httpBaseUrl) => {
	const url = new URL(httpBaseUrl);
	url.pathname = "/";
	url.search = "";
	url.hash = "";
	return url.toString();
};
const makeEnvironmentHttpApiClient = (httpBaseUrl) => __vite_ssr_import_9__.make((0,__vite_ssr_import_0__.EnvironmentHttpApi), { baseUrl: remoteApiBaseUrl(httpBaseUrl) });
const makeEnvironmentHttpApiGroupClient = (httpBaseUrl, group) => __vite_ssr_import_4__.flatMap(__vite_ssr_import_8__.HttpClient.HttpClient, (httpClient) => __vite_ssr_import_9__.group((0,__vite_ssr_import_0__.EnvironmentHttpApi), {
	httpClient,
	group,
	baseUrl: remoteApiBaseUrl(httpBaseUrl)
}));
const makeEnvironmentHttpApiUrlBuilder = (httpBaseUrl) => __vite_ssr_import_9__.urlBuilder((0,__vite_ssr_import_0__.EnvironmentHttpApi), { baseUrl: remoteApiBaseUrl(httpBaseUrl) });
const failRemoteRequest = (requestUrl, cause) => {
	if (cause instanceof RemoteEnvironmentAuthTimeoutError) {
		return __vite_ssr_import_4__.fail(cause);
	};
	if (isEnvironmentHttpCommonError(cause)) {
		return __vite_ssr_import_4__.fail(cause);
	};
	if (__vite_ssr_import_7__.isSchemaError(cause)) {
		return __vite_ssr_import_4__.fail(new RemoteEnvironmentAuthInvalidJsonError({
			message: `Remote environment endpoint returned an invalid response from ${requestUrl}.`,
			cause
		}));
	};
	if (__vite_ssr_import_8__.HttpClientError.isHttpClientError(cause) && cause.response !== undefined) {
		const response = cause.response;
		if (response.status < 200 || response.status >= 300) {
			return __vite_ssr_import_4__.fail(new RemoteEnvironmentAuthUndeclaredStatusError(requestUrl, response.status));
		};
		return __vite_ssr_import_4__.fail(new RemoteEnvironmentAuthInvalidJsonError({
			message: `Remote environment endpoint returned an invalid response from ${requestUrl}.`,
			cause
		}));
	};
	return __vite_ssr_import_4__.fail(new RemoteEnvironmentAuthFetchError({
		message: `Failed to fetch remote environment endpoint ${requestUrl} (${String(cause)}).`,
		cause
	}));
};
const executeEnvironmentHttpRequest = (requestUrl, timeoutMs, request) => request.pipe(__vite_ssr_import_4__.timeoutOption(__vite_ssr_import_3__.millis(timeoutMs)), __vite_ssr_import_4__.flatMap(__vite_ssr_import_6__.match({
	onNone: () => __vite_ssr_import_4__.fail(new RemoteEnvironmentAuthTimeoutError(requestUrl, timeoutMs)),
	onSome: __vite_ssr_import_4__.succeed
})), __vite_ssr_import_4__.catch((cause) => failRemoteRequest(requestUrl, cause)));
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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QUFDO0NBQ3RGLFFBQVEsc0JBQU87QUFDakIsQ0FBQyxDQUNILEdBQ0Esc0JBQU8sT0FBTyxVQUFVLGtCQUFrQixZQUFZLEtBQUssQ0FBQyxDQUM5RCIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiaHR0cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnZpcm9ubWVudEh0dHBBcGksXG4gIEVudmlyb25tZW50SHR0cENvbW1vbkVycm9yLFxuICB0eXBlIEVudmlyb25tZW50QXV0aEludmFsaWRFcnJvcixcbiAgdHlwZSBFbnZpcm9ubWVudEludGVybmFsRXJyb3IsXG4gIHR5cGUgRW52aXJvbm1lbnRPcGVyYXRpb25Gb3JiaWRkZW5FcnJvcixcbiAgdHlwZSBFbnZpcm9ubWVudFJlcXVlc3RJbnZhbGlkRXJyb3IsXG4gIHR5cGUgRW52aXJvbm1lbnRSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIHR5cGUgRW52aXJvbm1lbnRTY29wZVJlcXVpcmVkRXJyb3IsXG59IGZyb20gXCJAdDN0b29scy9jb250cmFjdHNcIjtcbmltcG9ydCAqIGFzIEh0dHBPYnNlcnZhYmlsaXR5IGZyb20gXCJAdDN0b29scy9zaGFyZWQvaHR0cE9ic2VydmFiaWxpdHlcIjtcbmltcG9ydCAqIGFzIERhdGEgZnJvbSBcImVmZmVjdC9EYXRhXCI7XG5pbXBvcnQgKiBhcyBEdXJhdGlvbiBmcm9tIFwiZWZmZWN0L0R1cmF0aW9uXCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCAqIGFzIE9wdGlvbiBmcm9tIFwiZWZmZWN0L09wdGlvblwiO1xuaW1wb3J0ICogYXMgU2NoZW1hIGZyb20gXCJlZmZlY3QvU2NoZW1hXCI7XG5pbXBvcnQgeyBGZXRjaEh0dHBDbGllbnQsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRFcnJvciB9IGZyb20gXCJlZmZlY3QvaHR0cFwiO1xuaW1wb3J0ICogYXMgSHR0cEFwaUNsaWVudCBmcm9tIFwiZWZmZWN0L2h0dHAtYXBpL0h0dHBBcGlDbGllbnRcIjtcblxuY29uc3QgaXNFbnZpcm9ubWVudEh0dHBDb21tb25FcnJvciA9IFNjaGVtYS5pcyhFbnZpcm9ubWVudEh0dHBDb21tb25FcnJvcik7XG5cbmV4cG9ydCBjbGFzcyBSZW1vdGVFbnZpcm9ubWVudEF1dGhGZXRjaEVycm9yIGV4dGVuZHMgRGF0YS5UYWdnZWRFcnJvcihcbiAgXCJSZW1vdGVFbnZpcm9ubWVudEF1dGhGZXRjaEVycm9yXCIsXG4pPHtcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICByZWFkb25seSBjYXVzZTogdW5rbm93bjtcbn0+IHt9XG5cbmNsYXNzIFJlbW90ZUVudmlyb25tZW50QXV0aEludmFsaWRKc29uRXJyb3IgZXh0ZW5kcyBEYXRhLlRhZ2dlZEVycm9yKFxuICBcIlJlbW90ZUVudmlyb25tZW50QXV0aEludmFsaWRKc29uRXJyb3JcIixcbik8e1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNhdXNlOiB1bmtub3duO1xufT4ge31cblxuZXhwb3J0IGNsYXNzIFJlbW90ZUVudmlyb25tZW50QXV0aFVuZGVjbGFyZWRTdGF0dXNFcnJvciBleHRlbmRzIERhdGEuVGFnZ2VkRXJyb3IoXG4gIFwiUmVtb3RlRW52aXJvbm1lbnRBdXRoVW5kZWNsYXJlZFN0YXR1c0Vycm9yXCIsXG4pPHtcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgcmVxdWVzdFVybDogc3RyaW5nO1xufT4ge1xuICBjb25zdHJ1Y3RvcihyZXF1ZXN0VXJsOiBzdHJpbmcsIHN0YXR1czogbnVtYmVyKSB7XG4gICAgc3VwZXIoe1xuICAgICAgbWVzc2FnZTogYFJlbW90ZSBlbnZpcm9ubWVudCBlbmRwb2ludCAke3JlcXVlc3RVcmx9IHJldHVybmVkIHVuZGVjbGFyZWQgc3RhdHVzICR7c3RhdHVzfS5gLFxuICAgICAgcmVxdWVzdFVybCxcbiAgICAgIHN0YXR1cyxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVtb3RlRW52aXJvbm1lbnRBdXRoVGltZW91dEVycm9yIGV4dGVuZHMgRGF0YS5UYWdnZWRFcnJvcihcbiAgXCJSZW1vdGVFbnZpcm9ubWVudEF1dGhUaW1lb3V0RXJyb3JcIixcbik8e1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcXVlc3RVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZW91dE1zOiBudW1iZXI7XG59PiB7XG4gIGNvbnN0cnVjdG9yKHJlcXVlc3RVcmw6IHN0cmluZywgdGltZW91dE1zOiBudW1iZXIpIHtcbiAgICBzdXBlcih7XG4gICAgICBtZXNzYWdlOiBgUmVtb3RlIGVudmlyb25tZW50IGVuZHBvaW50ICR7cmVxdWVzdFVybH0gdGltZWQgb3V0IGFmdGVyICR7dGltZW91dE1zfW1zLmAsXG4gICAgICByZXF1ZXN0VXJsLFxuICAgICAgdGltZW91dE1zLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlbW90ZUVudmlyb25tZW50UmVxdWVzdEVycm9yID1cbiAgfCBFbnZpcm9ubWVudFJlcXVlc3RJbnZhbGlkRXJyb3JcbiAgfCBFbnZpcm9ubWVudEF1dGhJbnZhbGlkRXJyb3JcbiAgfCBFbnZpcm9ubWVudFNjb3BlUmVxdWlyZWRFcnJvclxuICB8IEVudmlyb25tZW50T3BlcmF0aW9uRm9yYmlkZGVuRXJyb3JcbiAgfCBFbnZpcm9ubWVudFJlc291cmNlTm90Rm91bmRFcnJvclxuICB8IEVudmlyb25tZW50SW50ZXJuYWxFcnJvclxuICB8IFJlbW90ZUVudmlyb25tZW50QXV0aEZldGNoRXJyb3JcbiAgfCBSZW1vdGVFbnZpcm9ubWVudEF1dGhJbnZhbGlkSnNvbkVycm9yXG4gIHwgUmVtb3RlRW52aXJvbm1lbnRBdXRoVW5kZWNsYXJlZFN0YXR1c0Vycm9yXG4gIHwgUmVtb3RlRW52aXJvbm1lbnRBdXRoVGltZW91dEVycm9yO1xuXG5leHBvcnQgY29uc3QgbGF5ZXJSZW1vdGVIdHRwQ2xpZW50ID0gKFxuICBmZXRjaEZuOiB0eXBlb2YgZ2xvYmFsVGhpcy5mZXRjaCxcbik6IExheWVyLkxheWVyPEh0dHBDbGllbnQuSHR0cENsaWVudD4gPT5cbiAgTGF5ZXIubWVyZ2UoXG4gICAgRmV0Y2hIdHRwQ2xpZW50LmxheWVyLnBpcGUoTGF5ZXIucHJvdmlkZShMYXllci5zdWNjZWVkKEZldGNoSHR0cENsaWVudC5GZXRjaCwgZmV0Y2hGbikpKSxcbiAgICBIdHRwT2JzZXJ2YWJpbGl0eS5sYXllcixcbiAgKTtcblxuY29uc3QgcmVtb3RlQXBpQmFzZVVybCA9IChodHRwQmFzZVVybDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTChodHRwQmFzZVVybCk7XG4gIHVybC5wYXRobmFtZSA9IFwiL1wiO1xuICB1cmwuc2VhcmNoID0gXCJcIjtcbiAgdXJsLmhhc2ggPSBcIlwiO1xuICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFrZUVudmlyb25tZW50SHR0cEFwaUNsaWVudCA9IChodHRwQmFzZVVybDogc3RyaW5nKSA9PlxuICBIdHRwQXBpQ2xpZW50Lm1ha2UoRW52aXJvbm1lbnRIdHRwQXBpLCB7XG4gICAgYmFzZVVybDogcmVtb3RlQXBpQmFzZVVybChodHRwQmFzZVVybCksXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgbWFrZUVudmlyb25tZW50SHR0cEFwaUdyb3VwQ2xpZW50ID0gPFxuICBHcm91cCBleHRlbmRzIGtleW9mIHR5cGVvZiBFbnZpcm9ubWVudEh0dHBBcGkuZ3JvdXBzLFxuPihcbiAgaHR0cEJhc2VVcmw6IHN0cmluZyxcbiAgZ3JvdXA6IEdyb3VwLFxuKSA9PlxuICBFZmZlY3QuZmxhdE1hcChIdHRwQ2xpZW50Lkh0dHBDbGllbnQsIChodHRwQ2xpZW50KSA9PlxuICAgIEh0dHBBcGlDbGllbnQuZ3JvdXAoRW52aXJvbm1lbnRIdHRwQXBpLCB7XG4gICAgICBodHRwQ2xpZW50LFxuICAgICAgZ3JvdXAsXG4gICAgICBiYXNlVXJsOiByZW1vdGVBcGlCYXNlVXJsKGh0dHBCYXNlVXJsKSxcbiAgICB9KSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IG1ha2VFbnZpcm9ubWVudEh0dHBBcGlVcmxCdWlsZGVyID0gKGh0dHBCYXNlVXJsOiBzdHJpbmcpID0+XG4gIEh0dHBBcGlDbGllbnQudXJsQnVpbGRlcihFbnZpcm9ubWVudEh0dHBBcGksIHtcbiAgICBiYXNlVXJsOiByZW1vdGVBcGlCYXNlVXJsKGh0dHBCYXNlVXJsKSxcbiAgfSk7XG5cbmNvbnN0IGZhaWxSZW1vdGVSZXF1ZXN0ID0gKFxuICByZXF1ZXN0VXJsOiBzdHJpbmcsXG4gIGNhdXNlOiB1bmtub3duLFxuKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgUmVtb3RlRW52aXJvbm1lbnRSZXF1ZXN0RXJyb3I+ID0+IHtcbiAgaWYgKGNhdXNlIGluc3RhbmNlb2YgUmVtb3RlRW52aXJvbm1lbnRBdXRoVGltZW91dEVycm9yKSB7XG4gICAgcmV0dXJuIEVmZmVjdC5mYWlsKGNhdXNlKTtcbiAgfVxuICBpZiAoaXNFbnZpcm9ubWVudEh0dHBDb21tb25FcnJvcihjYXVzZSkpIHtcbiAgICByZXR1cm4gRWZmZWN0LmZhaWwoY2F1c2UpO1xuICB9XG4gIGlmIChTY2hlbWEuaXNTY2hlbWFFcnJvcihjYXVzZSkpIHtcbiAgICByZXR1cm4gRWZmZWN0LmZhaWwoXG4gICAgICBuZXcgUmVtb3RlRW52aXJvbm1lbnRBdXRoSW52YWxpZEpzb25FcnJvcih7XG4gICAgICAgIG1lc3NhZ2U6IGBSZW1vdGUgZW52aXJvbm1lbnQgZW5kcG9pbnQgcmV0dXJuZWQgYW4gaW52YWxpZCByZXNwb25zZSBmcm9tICR7cmVxdWVzdFVybH0uYCxcbiAgICAgICAgY2F1c2UsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIGlmIChIdHRwQ2xpZW50RXJyb3IuaXNIdHRwQ2xpZW50RXJyb3IoY2F1c2UpICYmIGNhdXNlLnJlc3BvbnNlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGNhdXNlLnJlc3BvbnNlO1xuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPCAyMDAgfHwgcmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgcmV0dXJuIEVmZmVjdC5mYWlsKFxuICAgICAgICBuZXcgUmVtb3RlRW52aXJvbm1lbnRBdXRoVW5kZWNsYXJlZFN0YXR1c0Vycm9yKHJlcXVlc3RVcmwsIHJlc3BvbnNlLnN0YXR1cyksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gRWZmZWN0LmZhaWwoXG4gICAgICBuZXcgUmVtb3RlRW52aXJvbm1lbnRBdXRoSW52YWxpZEpzb25FcnJvcih7XG4gICAgICAgIG1lc3NhZ2U6IGBSZW1vdGUgZW52aXJvbm1lbnQgZW5kcG9pbnQgcmV0dXJuZWQgYW4gaW52YWxpZCByZXNwb25zZSBmcm9tICR7cmVxdWVzdFVybH0uYCxcbiAgICAgICAgY2F1c2UsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIHJldHVybiBFZmZlY3QuZmFpbChcbiAgICBuZXcgUmVtb3RlRW52aXJvbm1lbnRBdXRoRmV0Y2hFcnJvcih7XG4gICAgICBtZXNzYWdlOiBgRmFpbGVkIHRvIGZldGNoIHJlbW90ZSBlbnZpcm9ubWVudCBlbmRwb2ludCAke3JlcXVlc3RVcmx9ICgke1N0cmluZyhjYXVzZSl9KS5gLFxuICAgICAgY2F1c2UsXG4gICAgfSksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXhlY3V0ZUVudmlyb25tZW50SHR0cFJlcXVlc3QgPSA8QSwgRSwgUj4oXG4gIHJlcXVlc3RVcmw6IHN0cmluZyxcbiAgdGltZW91dE1zOiBudW1iZXIsXG4gIHJlcXVlc3Q6IEVmZmVjdC5FZmZlY3Q8QSwgRSwgUj4sXG4pOiBFZmZlY3QuRWZmZWN0PEEsIFJlbW90ZUVudmlyb25tZW50UmVxdWVzdEVycm9yLCBSPiA9PlxuICByZXF1ZXN0LnBpcGUoXG4gICAgRWZmZWN0LnRpbWVvdXRPcHRpb24oRHVyYXRpb24ubWlsbGlzKHRpbWVvdXRNcykpLFxuICAgIEVmZmVjdC5mbGF0TWFwKFxuICAgICAgT3B0aW9uLm1hdGNoKHtcbiAgICAgICAgb25Ob25lOiAoKSA9PiBFZmZlY3QuZmFpbChuZXcgUmVtb3RlRW52aXJvbm1lbnRBdXRoVGltZW91dEVycm9yKHJlcXVlc3RVcmwsIHRpbWVvdXRNcykpLFxuICAgICAgICBvblNvbWU6IEVmZmVjdC5zdWNjZWVkLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBFZmZlY3QuY2F0Y2goKGNhdXNlKSA9PiBmYWlsUmVtb3RlUmVxdWVzdChyZXF1ZXN0VXJsLCBjYXVzZSkpLFxuICApO1xuIl0sImZpbGUiOiIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NsaWVudC1ydW50aW1lL3NyYy9ycGMvaHR0cC50cyJ9

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL3JwYy9odHRwLnRzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jbGllbnQtcnVudGltZS9zcmMvcnBjL2h0dHAudHMiLHsidXJscyI6IjYiLCJpZHMiOiI3In0sWyI4IiwiOSIsIjEwIiwiMTEiLCIxMiIsIjEzIiwiMTQiLCIxNSIsIjE2IiwiMTciXSxbXSxbIjgiLCI5IiwiMTAiLCIxMSIsIjEyIiwiMTMiLCIxNCIsIjE1IiwiMTYiLCIxNyJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvaW5kZXgudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL3NoYXJlZC9zcmMvaHR0cE9ic2VydmFiaWxpdHkudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L0RhdGEuanMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L0R1cmF0aW9uLmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9FZmZlY3QuanMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L0xheWVyLmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9PcHRpb24uanMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L1NjaGVtYS5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvaHR0cC9pbmRleC5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvaHR0cC1hcGkvSHR0cEFwaUNsaWVudC5qcyJd