nicholai 5d205b6303
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
1.2 completed
2025-09-24 14:18:41 -06:00

1038 lines
713 KiB
JavaScript

/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(() => {
var exports = {};
exports.id = "app/page";
exports.ids = ["app/page"];
exports.modules = {
/***/ "(rsc)/./node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive":
/*!***********************************************************************************!*\
!*** ./node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ sync ***!
\***********************************************************************************/
/***/ ((module) => {
function webpackEmptyContext(req) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = "(rsc)/./node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive";
module.exports = webpackEmptyContext;
/***/ }),
/***/ "(rsc)/./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive":
/*!************************************************************************************************************************!*\
!*** ./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ sync ***!
\************************************************************************************************************************/
/***/ ((module) => {
function webpackEmptyContext(req) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = "(rsc)/./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive";
module.exports = webpackEmptyContext;
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx&rootDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx&rootDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=! ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport safe */ _home_Nicholai_Documents_Dev_biohazard_vfx_2_src_app_global_error_tsx__WEBPACK_IMPORTED_MODULE_24__[\"default\"]),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ handler: () => (/* binding */ handler),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?2eb7\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/instrumentation/utils */ \"(rsc)/./node_modules/next/dist/server/instrumentation/utils.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/lib/trace/tracer */ \"(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/dist/server/request-meta */ \"(rsc)/./node_modules/next/dist/server/request-meta.js\");\n/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next/dist/server/lib/trace/constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var next_dist_server_app_render_interop_default__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next/dist/server/app-render/interop-default */ \"(rsc)/./node_modules/next/dist/server/app-render/interop-default.js\");\n/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/dist/server/base-http/node */ \"(rsc)/./node_modules/next/dist/server/base-http/node.js\");\n/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! next/dist/server/lib/experimental/ppr */ \"(rsc)/./node_modules/next/dist/server/lib/experimental/ppr.js\");\n/* harmony import */ var next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! next/dist/server/request/fallback-params */ \"(rsc)/./node_modules/next/dist/server/request/fallback-params.js\");\n/* harmony import */ var next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! next/dist/server/app-render/encryption-utils */ \"(rsc)/./node_modules/next/dist/server/app-render/encryption-utils.js\");\n/* harmony import */ var next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! next/dist/server/lib/streaming-metadata */ \"(rsc)/./node_modules/next/dist/server/lib/streaming-metadata.js\");\n/* harmony import */ var next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! next/dist/server/app-render/action-utils */ \"(rsc)/./node_modules/next/dist/server/app-render/action-utils.js\");\n/* harmony import */ var next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! next/dist/shared/lib/router/utils/app-paths */ \"next/dist/shared/lib/router/utils/app-paths\");\n/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! next/dist/server/lib/server-action-request-meta */ \"(rsc)/./node_modules/next/dist/server/lib/server-action-request-meta.js\");\n/* harmony import */ var next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! next/dist/client/components/app-router-headers */ \"(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\");\n/* harmony import */ var next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! next/dist/shared/lib/router/utils/is-bot */ \"next/dist/shared/lib/router/utils/is-bot\");\n/* harmony import */ var next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! next/dist/server/response-cache */ \"(rsc)/./node_modules/next/dist/server/response-cache/index.js\");\n/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! next/dist/lib/fallback */ \"(rsc)/./node_modules/next/dist/lib/fallback.js\");\n/* harmony import */ var next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! next/dist/server/render-result */ \"(rsc)/./node_modules/next/dist/server/render-result.js\");\n/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! next/dist/lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\n/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var next_dist_server_stream_utils_encoded_tags__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! next/dist/server/stream-utils/encoded-tags */ \"(rsc)/./node_modules/next/dist/server/stream-utils/encoded-tags.js\");\n/* harmony import */ var next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! next/dist/server/send-payload */ \"(rsc)/./node_modules/next/dist/server/send-payload.js\");\n/* harmony import */ var next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! next/dist/shared/lib/no-fallback-error.external */ \"next/dist/shared/lib/no-fallback-error.external\");\n/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var _home_Nicholai_Documents_Dev_biohazard_vfx_2_src_app_global_error_tsx__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./src/app/global-error.tsx */ \"(rsc)/./src/app/global-error.tsx\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! next/dist/client/components/redirect-status-code */ \"(rsc)/./node_modules/next/dist/client/components/redirect-status-code.js\");\n/* harmony import */ var next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\",\"handler\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/global-error.tsx */ \"(rsc)/./src/app/global-error.tsx\"));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/global-error.tsx */ \"(rsc)/./src/app/global-error.tsx\"));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/not-found.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/not-found.js\", 23));\nconst module4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/forbidden.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/forbidden.js\", 23));\nconst module5 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/unauthorized.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/unauthorized.js\", 23));\nconst page6 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/page.tsx\"));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: ['__PAGE__', {}, {\n page: [page6, \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: \"/manifest.webmanifest\"\n }\n }]\n },\n {\n 'layout': [module0, \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx\"],\n'global-error': [module1, \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\"],\n'global-error': [module2, \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\"],\n'not-found': [module3, \"next/dist/client/components/builtin/not-found.js\"],\n'forbidden': [module4, \"next/dist/client/components/builtin/forbidden.js\"],\n'unauthorized': [module5, \"next/dist/client/components/builtin/unauthorized.js\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: \"/manifest.webmanifest\"\n }\n }\n ]\n }.children;\nconst pages = [\"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\"];\n\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/page\",\n pathname: \"/\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n },\n distDir: \".next\" || 0,\n projectDir: false || ''\n});\nasync function handler(req, res, ctx) {\n var _this;\n let srcPage = \"/page\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (false) {} else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = \"false\";\n const initialPostponed = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'postponed');\n // TODO: replace with more specific flags\n const minimalMode = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'minimalMode');\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, query, params, parsedUrl, pageIsDynamic, buildManifest, nextFontManifest, reactLoadableManifest, serverActionsManifest, clientReferenceManifest, subresourceIntegrityManifest, prerenderManifest, isDraftMode, resolvedPathname, revalidateOnlyGenerated, routerServerContext, nextConfig } = prepareResult;\n const pathname = parsedUrl.pathname || '/';\n const normalizedSrcPage = (0,next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__.normalizeAppPath)(srcPage);\n let { isOnDemandRevalidate } = prepareResult;\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n const isPrerendered = prerenderManifest.routes[resolvedPathname];\n let isSSG = Boolean(prerenderInfo || isPrerendered || prerenderManifest.routes[normalizedSrcPage]);\n const userAgent = req.headers['user-agent'] || '';\n const botType = (0,next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__.getBotType)(userAgent);\n const isHtmlBot = (0,next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__.isHtmlBotRequest)(req);\n /**\n * If true, this indicates that the request being made is for an app\n * prefetch request.\n */ const isPrefetchRSCRequest = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'isPrefetchRSCRequest') ?? Boolean(req.headers[next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_ROUTER_PREFETCH_HEADER]);\n // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later\n const isRSCRequest = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'isRSCRequest') ?? Boolean(req.headers[next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.RSC_HEADER]);\n const isPossibleServerAction = (0,next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__.getIsPossibleServerAction)(req);\n /**\n * If the route being rendered is an app page, and the ppr feature has been\n * enabled, then the given route _could_ support PPR.\n */ const couldSupportPPR = (0,next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__.checkIsAppPPREnabled)(nextConfig.experimental.ppr);\n // When enabled, this will allow the use of the `?__nextppronly` query to\n // enable debugging of the static shell.\n const hasDebugStaticShellQuery = false && 0;\n // When enabled, this will allow the use of the `?__nextppronly` query\n // to enable debugging of the fallback shell.\n const hasDebugFallbackShellQuery = hasDebugStaticShellQuery && query.__nextppronly === 'fallback';\n // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the\n // prerender manifest and this is an app page.\n const isRoutePPREnabled = couldSupportPPR && (((_this = prerenderManifest.routes[normalizedSrcPage] ?? prerenderManifest.dynamicRoutes[normalizedSrcPage]) == null ? void 0 : _this.renderingMode) === 'PARTIALLY_STATIC' || // Ideally we'd want to check the appConfig to see if this page has PPR\n // enabled or not, but that would require plumbing the appConfig through\n // to the server during development. We assume that the page supports it\n // but only during development.\n hasDebugStaticShellQuery && (routeModule.isDev === true || (routerServerContext == null ? void 0 : routerServerContext.experimentalTestProxy) === true));\n const isDebugStaticShell = hasDebugStaticShellQuery && isRoutePPREnabled;\n // We should enable debugging dynamic accesses when the static shell\n // debugging has been enabled and we're also in development mode.\n const isDebugDynamicAccesses = isDebugStaticShell && routeModule.isDev === true;\n const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled;\n // If we're in minimal mode, then try to get the postponed information from\n // the request metadata. If available, use it for resuming the postponed\n // render.\n const minimalPostponed = isRoutePPREnabled ? initialPostponed : undefined;\n // If PPR is enabled, and this is a RSC request (but not a prefetch), then\n // we can use this fact to only generate the flight data for the request\n // because we can't cache the HTML (as it's also dynamic).\n const isDynamicRSCRequest = isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest;\n // Need to read this before it's stripped by stripFlightHeaders. We don't\n // need to transfer it to the request meta because it's only read\n // within this function; the static segment data should have already been\n // generated, so we will always either return a static response or a 404.\n const segmentPrefetchHeader = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'segmentPrefetchRSCRequest');\n // TODO: investigate existing bug with shouldServeStreamingMetadata always\n // being true for a revalidate due to modifying the base-server this.renderOpts\n // when fixing this to correct logic it causes hydration issue since we set\n // serveStreamingMetadata to true during export\n let serveStreamingMetadata = !userAgent ? true : (0,next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__.shouldServeStreamingMetadata)(userAgent, nextConfig.htmlLimitedBots);\n if (isHtmlBot && isRoutePPREnabled) {\n isSSG = false;\n serveStreamingMetadata = false;\n }\n // In development, we always want to generate dynamic HTML.\n let supportsDynamicResponse = // If we're in development, we always support dynamic HTML, unless it's\n // a data request, in which case we only produce static HTML.\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isSSG || // If this request has provided postponed data, it supports dynamic\n // HTML.\n typeof initialPostponed === 'string' || // If this is a dynamic RSC request, then this render supports dynamic\n // HTML (it's dynamic).\n isDynamicRSCRequest;\n // When html bots request PPR page, perform the full dynamic rendering.\n const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled;\n let ssgCacheKey = null;\n if (!isDraftMode && isSSG && !supportsDynamicResponse && !isPossibleServerAction && !minimalPostponed && !isDynamicRSCRequest) {\n ssgCacheKey = resolvedPathname;\n }\n // the staticPathKey differs from ssgCacheKey since\n // ssgCacheKey is null in dev since we're always in \"dynamic\"\n // mode in dev to bypass the cache, but we still need to honor\n // dynamicParams = false in dev mode\n let staticPathKey = ssgCacheKey;\n if (!staticPathKey && routeModule.isDev) {\n staticPathKey = resolvedPathname;\n }\n const ComponentMod = {\n ...next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__,\n tree,\n pages,\n GlobalError: _home_Nicholai_Documents_Dev_biohazard_vfx_2_src_app_global_error_tsx__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n handler,\n routeModule,\n __next_app__\n };\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n (0,next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__.setReferenceManifestsSingleton)({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: (0,next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__.createServerModuleMap)({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = (0,next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__.getTracer)();\n const activeSpan = tracer.getActiveScopeSpan();\n try {\n const invokeRouteModule = async (span, context)=>{\n const nextReq = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextRequest(req);\n const nextRes = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextResponse(res);\n // TODO: adapt for putting the RDC inside the postponed data\n // If we're in dev, and this isn't a prefetch or a server action,\n // we should seed the resume data cache.\n if (true) {\n if (nextConfig.experimental.dynamicIO && !isPrefetchRSCRequest && !context.renderOpts.isPossibleServerAction) {\n const warmup = await routeModule.warmup(nextReq, nextRes, context);\n // If the warmup is successful, we should use the resume data\n // cache from the warmup.\n if (warmup.metadata.renderResumeDataCache) {\n context.renderOpts.renderResumeDataCache = warmup.metadata.renderResumeDataCache;\n }\n }\n }\n return routeModule.render(nextReq, nextRes, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__.BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${req.url}`);\n }\n });\n };\n const doRender = async ({ span, postponed, fallbackRouteParams })=>{\n const context = {\n query,\n params,\n page: normalizedSrcPage,\n sharedContext: {\n buildId\n },\n serverComponentsHmrCache: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'serverComponentsHmrCache'),\n fallbackRouteParams,\n renderOpts: {\n App: ()=>null,\n Document: ()=>null,\n pageConfig: {},\n ComponentMod,\n Component: (0,next_dist_server_app_render_interop_default__WEBPACK_IMPORTED_MODULE_6__.interopDefault)(ComponentMod),\n params,\n routeModule,\n page: srcPage,\n postponed,\n shouldWaitOnAllReady,\n serveStreamingMetadata,\n supportsDynamicResponse: typeof postponed === 'string' || supportsDynamicResponse,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n subresourceIntegrityManifest,\n serverActionsManifest,\n clientReferenceManifest,\n setIsrStatus: routerServerContext == null ? void 0 : routerServerContext.setIsrStatus,\n dir: routeModule.projectDir,\n isDraftMode,\n isRevalidate: isSSG && !postponed && !isDynamicRSCRequest,\n botType,\n isOnDemandRevalidate,\n isPossibleServerAction,\n assetPrefix: nextConfig.assetPrefix,\n nextConfigOutput: nextConfig.output,\n crossOrigin: nextConfig.crossOrigin,\n trailingSlash: nextConfig.trailingSlash,\n previewProps: prerenderManifest.preview,\n deploymentId: nextConfig.deploymentId,\n enableTainting: nextConfig.experimental.taint,\n htmlLimitedBots: nextConfig.htmlLimitedBots,\n devtoolSegmentExplorer: nextConfig.experimental.devtoolSegmentExplorer,\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n multiZoneDraftMode,\n incrementalCache: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.experimental.cacheLife,\n basePath: nextConfig.basePath,\n serverActions: nextConfig.experimental.serverActions,\n ...isDebugStaticShell || isDebugDynamicAccesses ? {\n nextExport: true,\n supportsDynamicResponse: false,\n isStaticGeneration: true,\n isRevalidate: true,\n isDebugDynamicAccesses: isDebugDynamicAccesses\n } : {},\n experimental: {\n isRoutePPREnabled,\n expireTime: nextConfig.expireTime,\n staleTimes: nextConfig.experimental.staleTimes,\n dynamicIO: Boolean(nextConfig.experimental.dynamicIO),\n clientSegmentCache: Boolean(nextConfig.experimental.clientSegmentCache),\n dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover),\n inlineCss: Boolean(nextConfig.experimental.inlineCss),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n clientTraceMetadata: nextConfig.experimental.clientTraceMetadata || []\n },\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: ()=>{},\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext),\n err: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'invokeError'),\n dev: routeModule.isDev\n }\n };\n const result = await invokeRouteModule(span, context);\n const { metadata } = result;\n const { cacheControl, headers = {}, // Add any fetch tags that were on the page to the response headers.\n fetchTags: cacheTags } = metadata;\n if (cacheTags) {\n headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n // Pull any fetch metrics from the render onto the request.\n ;\n req.fetchMetrics = metadata.fetchMetrics;\n // we don't throw static to dynamic errors in dev as isSSG\n // is a best guess in dev since we don't have the prerender pass\n // to know whether the path is actually static or not\n if (isSSG && (cacheControl == null ? void 0 : cacheControl.revalidate) === 0 && !routeModule.isDev && !isRoutePPREnabled) {\n const staticBailoutInfo = metadata.staticBailoutInfo;\n const err = Object.defineProperty(new Error(`Page changed from static to dynamic at runtime ${resolvedPathname}${(staticBailoutInfo == null ? void 0 : staticBailoutInfo.description) ? `, reason: ${staticBailoutInfo.description}` : ``}` + `\\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E132\",\n enumerable: false,\n configurable: true\n });\n if (staticBailoutInfo == null ? void 0 : staticBailoutInfo.stack) {\n const stack = staticBailoutInfo.stack;\n err.stack = err.message + stack.substring(stack.indexOf('\\n'));\n }\n throw err;\n }\n return {\n value: {\n kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE,\n html: result,\n headers,\n rscData: metadata.flightData,\n postponed: metadata.postponed,\n status: metadata.statusCode,\n segmentData: metadata.segmentData\n },\n cacheControl\n };\n };\n const responseGenerator = async ({ hasResolved, previousCacheEntry, isRevalidating, span })=>{\n const isProduction = routeModule.isDev === false;\n const didRespond = hasResolved || res.writableEnded;\n // skip on-demand revalidate if cache is not present and\n // revalidate-if-generated is set\n if (isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry && !minimalMode) {\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res);\n } else {\n res.statusCode = 404;\n res.end('This page could not be found');\n }\n return null;\n }\n let fallbackMode;\n if (prerenderInfo) {\n fallbackMode = (0,next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.parseFallbackField)(prerenderInfo.fallback);\n }\n // When serving a bot request, we want to serve a blocking render and not\n // the prerendered page. This ensures that the correct content is served\n // to the bot in the head.\n if (fallbackMode === next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.PRERENDER && (0,next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__.isBot)(userAgent)) {\n fallbackMode = next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER;\n }\n if ((previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) === -1) {\n isOnDemandRevalidate = true;\n }\n // TODO: adapt for PPR\n // only allow on-demand revalidate for fallback: true/blocking\n // or for prerendered fallback: false paths\n if (isOnDemandRevalidate && (fallbackMode !== next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.NOT_FOUND || previousCacheEntry)) {\n fallbackMode = next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER;\n }\n if (!minimalMode && fallbackMode !== next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER && staticPathKey && !didRespond && !isDraftMode && pageIsDynamic && (isProduction || !isPrerendered)) {\n // if the page has dynamicParams: false and this pathname wasn't\n // prerendered trigger the no fallback handling\n if (// In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || prerenderInfo) && // When fallback isn't present, abort this render so we 404\n fallbackMode === next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.NOT_FOUND) {\n throw new next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__.NoFallbackError();\n }\n let fallbackResponse;\n if (isRoutePPREnabled && !isRSCRequest) {\n // We use the response cache here to handle the revalidation and\n // management of the fallback shell.\n fallbackResponse = await routeModule.handleResponse({\n cacheKey: isProduction ? normalizedSrcPage : null,\n req,\n nextConfig,\n routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n isFallback: true,\n prerenderManifest,\n isRoutePPREnabled,\n responseGenerator: async ()=>doRender({\n span,\n // We pass `undefined` as rendering a fallback isn't resumed\n // here.\n postponed: undefined,\n fallbackRouteParams: // If we're in production or we're debugging the fallback\n // shell then we should postpone when dynamic params are\n // accessed.\n isProduction || isDebugFallbackShell ? (0,next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__.getFallbackRouteParams)(normalizedSrcPage) : null\n }),\n waitUntil: ctx.waitUntil\n });\n // If the fallback response was set to null, then we should return null.\n if (fallbackResponse === null) return null;\n // Otherwise, if we did get a fallback response, we should return it.\n if (fallbackResponse) {\n // Remove the cache control from the response to prevent it from being\n // used in the surrounding cache.\n delete fallbackResponse.cacheControl;\n return fallbackResponse;\n }\n }\n }\n // Only requests that aren't revalidating can be resumed. If we have the\n // minimal postponed data, then we should resume the render with it.\n const postponed = !isOnDemandRevalidate && !isRevalidating && minimalPostponed ? minimalPostponed : undefined;\n // When we're in minimal mode, if we're trying to debug the static shell,\n // we should just return nothing instead of resuming the dynamic render.\n if ((isDebugStaticShell || isDebugDynamicAccesses) && typeof postponed !== 'undefined') {\n return {\n cacheControl: {\n revalidate: 1,\n expire: undefined\n },\n value: {\n kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.PAGES,\n html: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(''),\n pageData: {},\n headers: undefined,\n status: undefined\n }\n };\n }\n // If this is a dynamic route with PPR enabled and the default route\n // matches were set, then we should pass the fallback route params to\n // the renderer as this is a fallback revalidation request.\n const fallbackRouteParams = pageIsDynamic && isRoutePPREnabled && ((0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'renderFallbackShell') || isDebugFallbackShell) ? (0,next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__.getFallbackRouteParams)(pathname) : null;\n // Perform the render.\n return doRender({\n span,\n postponed,\n fallbackRouteParams\n });\n };\n const handleResponse = async (span)=>{\n var _cacheEntry_value, _cachedData_headers;\n const cacheEntry = await routeModule.handleResponse({\n cacheKey: ssgCacheKey,\n responseGenerator: (c)=>responseGenerator({\n span,\n ...c\n }),\n routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n isOnDemandRevalidate,\n isRoutePPREnabled,\n req,\n nextConfig,\n prerenderManifest,\n waitUntil: ctx.waitUntil\n });\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n // In dev, we should not cache pages for any reason.\n if (routeModule.isDev) {\n res.setHeader('Cache-Control', 'no-store, must-revalidate');\n }\n if (!cacheEntry) {\n if (ssgCacheKey) {\n // A cache entry might not be generated if a response is written\n // in `getInitialProps` or `getServerSideProps`, but those shouldn't\n // have a cache key. If we do have a cache key but we don't end up\n // with a cache entry, then either Next.js or the application has a\n // bug that needs fixing.\n throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), \"__NEXT_ERROR_CODE\", {\n value: \"E62\",\n enumerable: false,\n configurable: true\n });\n }\n return null;\n }\n if (((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant app-page handler received invalid cache entry ${(_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E707\",\n enumerable: false,\n configurable: true\n });\n }\n const didPostpone = typeof cacheEntry.value.postponed === 'string';\n if (isSSG && // We don't want to send a cache header for requests that contain dynamic\n // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC\n // request, then we should set the cache header.\n !isDynamicRSCRequest && (!didPostpone || isPrefetchRSCRequest)) {\n if (!minimalMode) {\n // set x-nextjs-cache header to match the header\n // we set for the image-optimizer\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Set a header used by the client router to signal the response is static\n // and should respect the `static` cache staleTime value.\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_IS_PRERENDER_HEADER, '1');\n }\n const { value: cachedData } = cacheEntry;\n // Coerce the cache control parameter from the render.\n let cacheControl;\n // If this is a resume request in minimal mode it is streamed with dynamic\n // content and should not be cached.\n if (minimalPostponed) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (minimalMode && isRSCRequest && !isPrefetchRSCRequest && isRoutePPREnabled) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!routeModule.isDev) {\n // If this is a preview mode request, we shouldn't cache it\n if (isDraftMode) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!isSSG) {\n if (!res.getHeader('Cache-Control')) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n }\n } else if (cacheEntry.cacheControl) {\n // If the cache entry has a cache control with a revalidate value that's\n // a number, use it.\n if (typeof cacheEntry.cacheControl.revalidate === 'number') {\n var _cacheEntry_cacheControl;\n if (cacheEntry.cacheControl.revalidate < 1) {\n throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`), \"__NEXT_ERROR_CODE\", {\n value: \"E22\",\n enumerable: false,\n configurable: true\n });\n }\n cacheControl = {\n revalidate: cacheEntry.cacheControl.revalidate,\n expire: ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.expire) ?? nextConfig.expireTime\n };\n } else {\n cacheControl = {\n revalidate: next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.CACHE_ONE_YEAR,\n expire: undefined\n };\n }\n }\n }\n cacheEntry.cacheControl = cacheControl;\n if (typeof segmentPrefetchHeader === 'string' && (cachedData == null ? void 0 : cachedData.kind) === next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE && cachedData.segmentData) {\n var _cachedData_headers1;\n // This is a prefetch request issued by the client Segment Cache. These\n // should never reach the application layer (lambda). We should either\n // respond from the cache (HIT) or respond with 204 No Content (MISS).\n // Set a header to indicate that PPR is enabled for this route. This\n // lets the client distinguish between a regular cache miss and a cache\n // miss due to PPR being disabled. In other contexts this header is used\n // to indicate that the response contains dynamic data, but here we're\n // only using it to indicate that the feature is enabled — the segment\n // response itself contains whether the data is dynamic.\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_DID_POSTPONE_HEADER, '2');\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers1 = cachedData.headers) == null ? void 0 : _cachedData_headers1[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n if (minimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER, tags);\n }\n const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader);\n if (matchedSegment !== undefined) {\n // Cache hit\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(matchedSegment),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // Cache miss. Either a cache entry for this route has not been generated\n // (which technically should not be possible when PPR is enabled, because\n // at a minimum there should always be a fallback entry) or there's no\n // match for the requested segment. Respond with a 204 No Content. We\n // don't bother to respond with 404, because these requests are only\n // issued as part of a prefetch.\n res.statusCode = 204;\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(''),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If there's a callback for `onCacheEntry`, call it with the cache entry\n // and the revalidate options.\n const onCacheEntry = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'onCacheEntry');\n if (onCacheEntry) {\n const finished = await onCacheEntry({\n ...cacheEntry,\n // TODO: remove this when upstream doesn't\n // always expect this value to be \"PAGE\"\n value: {\n ...cacheEntry.value,\n kind: 'PAGE'\n }\n }, {\n url: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'initURL')\n });\n if (finished) {\n // TODO: maybe we have to end the request?\n return null;\n }\n }\n // If the request has a postponed state and it's a resume request we\n // should error.\n if (didPostpone && minimalPostponed) {\n throw Object.defineProperty(new Error('Invariant: postponed state should not be present on a resume request'), \"__NEXT_ERROR_CODE\", {\n value: \"E396\",\n enumerable: false,\n configurable: true\n });\n }\n if (cachedData.headers) {\n const headers = {\n ...cachedData.headers\n };\n if (!minimalMode || !isSSG) {\n delete headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n }\n for (let [key, value] of Object.entries(headers)){\n if (typeof value === 'undefined') continue;\n if (Array.isArray(value)) {\n for (const v of value){\n res.appendHeader(key, v);\n }\n } else if (typeof value === 'number') {\n value = value.toString();\n res.appendHeader(key, value);\n } else {\n res.appendHeader(key, value);\n }\n }\n }\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers = cachedData.headers) == null ? void 0 : _cachedData_headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n if (minimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER, tags);\n }\n // If the request is a data request, then we shouldn't set the status code\n // from the response because it should always be 200. This should be gated\n // behind the experimental PPR flag.\n if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {\n res.statusCode = cachedData.status;\n }\n // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes\n if (!minimalMode && cachedData.status && next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__.RedirectStatusCode[cachedData.status] && isRSCRequest) {\n res.statusCode = 200;\n }\n // Mark that the request did postpone.\n if (didPostpone) {\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_DID_POSTPONE_HEADER, '1');\n }\n // we don't go through this block when preview mode is true\n // as preview mode is a dynamic request (bypasses cache) and doesn't\n // generate both HTML and payloads in the same request so continue to just\n // return the generated payload\n if (isRSCRequest && !isDraftMode) {\n // If this is a dynamic RSC request, then stream the response.\n if (typeof cachedData.rscData === 'undefined') {\n if (cachedData.postponed) {\n throw Object.defineProperty(new Error('Invariant: Expected postponed to be undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E372\",\n enumerable: false,\n configurable: true\n });\n }\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: cachedData.html,\n // Dynamic RSC responses cannot be cached, even if they're\n // configured with `force-static` because we have no way of\n // distinguishing between `force-static` and pages that have no\n // postponed state.\n // TODO: distinguish `force-static` from pages with no postponed state (static)\n cacheControl: isDynamicRSCRequest ? {\n revalidate: 0,\n expire: undefined\n } : cacheEntry.cacheControl\n });\n }\n // As this isn't a prefetch request, we should serve the static flight\n // data.\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(cachedData.rscData),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // This is a request for HTML data.\n let body = cachedData.html;\n // If there's no postponed state, we should just serve the HTML. This\n // should also be the case for a resume request because it's completed\n // as a server render (rather than a static render).\n if (!didPostpone || minimalMode) {\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If we're debugging the static shell or the dynamic API accesses, we\n // should just serve the HTML without resuming the render. The returned\n // HTML will be the static shell so all the Dynamic API's will be used\n // during static generation.\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n // Since we're not resuming the render, we need to at least add the\n // closing body and html tags to create valid HTML.\n body.chain(new ReadableStream({\n start (controller) {\n controller.enqueue(next_dist_server_stream_utils_encoded_tags__WEBPACK_IMPORTED_MODULE_21__.ENCODED_TAGS.CLOSED.BODY_AND_HTML);\n controller.close();\n }\n }));\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n }\n // This request has postponed, so let's create a new transformer that the\n // dynamic data can pipe to that will attach the dynamic data to the end\n // of the response.\n const transformer = new TransformStream();\n body.chain(transformer.readable);\n // Perform the render again, but this time, provide the postponed state.\n // We don't await because we want the result to start streaming now, and\n // we've already chained the transformer's readable to the render result.\n doRender({\n span,\n postponed: cachedData.postponed,\n // This is a resume render, not a fallback render, so we don't need to\n // set this.\n fallbackRouteParams: null\n }).then(async (result)=>{\n var _result_value;\n if (!result) {\n throw Object.defineProperty(new Error('Invariant: expected a result to be returned'), \"__NEXT_ERROR_CODE\", {\n value: \"E463\",\n enumerable: false,\n configurable: true\n });\n }\n if (((_result_value = result.value) == null ? void 0 : _result_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE) {\n var _result_value1;\n throw Object.defineProperty(new Error(`Invariant: expected a page response, got ${(_result_value1 = result.value) == null ? void 0 : _result_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E305\",\n enumerable: false,\n configurable: true\n });\n }\n // Pipe the resume result to the transformer.\n await result.value.html.pipeTo(transformer.writable);\n }).catch((err)=>{\n // An error occurred during piping or preparing the render, abort\n // the transformers writer so we can terminate the stream.\n transformer.writable.abort(err).catch((e)=>{\n console.error(\"couldn't abort transformer\", e);\n });\n });\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n // We don't want to cache the response if it has postponed data because\n // the response being sent to the client it's dynamic parts are streamed\n // to the client on the same request.\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n return await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__.BaseServerSpan.handleRequest, {\n spanName: `${method} ${req.url}`,\n kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__.SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n // if we aren't wrapped by base-server handle here\n if (!activeSpan && !(err instanceof next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__.NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'render',\n revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_2__.getRevalidateReason)({\n isRevalidate: isSSG,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n throw err;\n }\n}\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPSUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPW1keCZyb290RGlyPSUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCZpc0dsb2JhbE5vdEZvdW5kRW5hYmxlZD0hIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0JBQXNCLG9KQUFvRztBQUMxSCxzQkFBc0IsZ0tBQTBHO0FBQ2hJLHNCQUFzQixnS0FBMEc7QUFDaEksc0JBQXNCLGlPQUFxRjtBQUMzRyxzQkFBc0IsaU9BQXFGO0FBQzNHLHNCQUFzQix1T0FBd0Y7QUFDOUcsb0JBQW9CLGdKQUFrRztBQUdwSDtBQUdBO0FBQzJFO0FBQ0w7QUFDVDtBQUNPO0FBQ087QUFDTztBQUNQO0FBQ0s7QUFDWTtBQUNXO0FBQ3hCO0FBQ0Y7QUFDYTtBQUNpRTtBQUNoRjtBQUNYO0FBQ1E7QUFDaEI7QUFDdUI7QUFDUDtBQUNUO0FBQ2lCO0FBQ2xGO0FBQ0E7QUFDQTtB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QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9sYXlvdXQudHN4XCIpO1xuY29uc3QgbW9kdWxlMSA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9nbG9iYWwtZXJyb3IudHN4XCIpO1xuY29uc3QgbW9kdWxlMiA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9nbG9iYWwtZXJyb3IudHN4XCIpO1xuY29uc3QgbW9kdWxlMyA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vbm90LWZvdW5kLmpzXCIpO1xuY29uc3QgbW9kdWxlNCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vZm9yYmlkZGVuLmpzXCIpO1xuY29uc3QgbW9kdWxlNSA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vdW5hdXRob3JpemVkLmpzXCIpO1xuY29uc3QgcGFnZTYgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvcGFnZS50c3hcIik7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiIHdpdGgge1xuICAgICd0dXJib3BhY2stdHJhbnNpdGlvbic6ICduZXh0LXNzcidcbn07XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1raW5kXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc2VydmVyLXV0aWxpdHknXG59O1xuaW1wb3J0IHsgZ2V0UmV2YWxpZGF0ZVJlYXNvbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2luc3RydW1lbnRhdGlvbi91dGlsc1wiO1xuaW1wb3J0IHsgZ2V0VHJhY2VyLCBTcGFuS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS90cmFjZXJcIjtcbmltcG9ydCB7IGdldFJlcXVlc3RNZXRhIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC1tZXRhXCI7XG5pbXBvcnQgeyBCYXNlU2VydmVyU3BhbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS9jb25zdGFudHNcIjtcbmltcG9ydCB7IGludGVyb3BEZWZhdWx0IH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9pbnRlcm9wLWRlZmF1bHRcIjtcbmltcG9ydCB7IE5vZGVOZXh0UmVxdWVzdCwgTm9kZU5leHRSZXNwb25zZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Jhc2UtaHR0cC9ub2RlXCI7XG5pbXBvcnQgeyBjaGVja0lzQXBwUFBSRW5hYmxlZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9leHBlcmltZW50YWwvcHByXCI7XG5pbXBvcnQgeyBnZXRGYWxsYmFja1JvdXRlUGFyYW1zIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC9mYWxsYmFjay1wYXJhbXNcIjtcbmltcG9ydCB7IHNldFJlZmVyZW5jZU1hbmlmZXN0c1NpbmdsZXRvbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW5jcnlwdGlvbi11dGlsc1wiO1xuaW1wb3J0IHsgaXNIdG1sQm90UmVxdWVzdCwgc2hvdWxkU2VydmVTdHJlYW1pbmdNZXRhZGF0YSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9zdHJlYW1pbmctbWV0YWRhdGFcIjtcbmltcG9ydCB7IGNyZWF0ZVNlcnZlck1vZHVsZU1hcCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYWN0aW9uLXV0aWxzXCI7XG5pbXBvcnQgeyBub3JtYWxpemVBcHBQYXRoIH0gZnJvbSBcIm5leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIjtcbmltcG9ydCB7IGdldElzUG9zc2libGVTZXJ2ZXJBY3Rpb24gfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9saWIvc2VydmVyLWFjdGlvbi1yZXF1ZXN0LW1ldGFcIjtcbmltcG9ydCB7IFJTQ19IRUFERVIsIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiwgTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSLCBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVyc1wiO1xuaW1wb3J0IHsgZ2V0Qm90VHlwZSwgaXNCb3QgfSBmcm9tIFwibmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdFwiO1xuaW1wb3J0IHsgQ2FjaGVkUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVzcG9uc2UtY2FjaGVcIjtcbmltcG9ydCB7IEZhbGxiYWNrTW9kZSwgcGFyc2VGYWxsYmFja0ZpZWxkIH0gZnJvbSBcIm5leHQvZGlzdC9saWIvZmFsbGJhY2tcIjtcbmltcG9ydCBSZW5kZXJSZXN1bHQgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVuZGVyLXJlc3VsdFwiO1xuaW1wb3J0IHsgQ0FDSEVfT05FX1lFQVIsIE5FWFRfQ0FDSEVfVEFHU19IRUFERVIgfSBmcm9tIFwibmV4dC9kaXN0L2xpYi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVOQ09ERURfVEFHUyB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3N0cmVhbS11dGlscy9lbmNvZGVkLXRhZ3NcIjtcbmltcG9ydCB7IHNlbmRSZW5kZXJSZXN1bHQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9zZW5kLXBheWxvYWRcIjtcbmltcG9ydCB7IE5vRmFsbGJhY2tFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3Qvc2hhcmVkL2xpYi9uby1mYWxsYmFjay1lcnJvci5leHRlcm5hbFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFtwYWdlNiwgXCIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL3BhZ2UudHN4XCJdLFxuICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgaWNvbjogWyhhc3luYyAocHJvcHMpID0+IChhd2FpdCBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQtbWV0YWRhdGEtaW1hZ2UtbG9hZGVyP3R5cGU9aWNvbiZzZWdtZW50PSZiYXNlUGF0aD0mcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1tZHghL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9pY29uLnN2Zz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogXCIvbWFuaWZlc3Qud2VibWFuaWZlc3RcIlxuICB9XG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMCwgXCIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL2xheW91dC50c3hcIl0sXG4nZ2xvYmFsLWVycm9yJzogW21vZHVsZTEsIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9nbG9iYWwtZXJyb3IudHN4XCJdLFxuJ2dsb2JhbC1lcnJvcic6IFttb2R1bGUyLCBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvZ2xvYmFsLWVycm9yLnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMywgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYnVpbHRpbi9ub3QtZm91bmQuanNcIl0sXG4nZm9yYmlkZGVuJzogW21vZHVsZTQsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vZm9yYmlkZGVuLmpzXCJdLFxuJ3VuYXV0aG9yaXplZCc6IFttb2R1bGU1LCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL3VuYXV0aG9yaXplZC5qc1wiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICBpY29uOiBbKGFzeW5jIChwcm9wcykgPT4gKGF3YWl0IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC1tZXRhZGF0YS1pbWFnZS1sb2FkZXI/dHlwZT1pY29uJnNlZ21lbnQ9JmJhc2VQYXRoPSZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPW1keCEvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL2ljb24uc3ZnP19fbmV4dF9tZXRhZGF0YV9fXCIpKS5kZWZhdWx0KHByb3BzKSldLFxuICAgIGFwcGxlOiBbXSxcbiAgICBvcGVuR3JhcGg6IFtdLFxuICAgIHR3aXR0ZXI6IFtdLFxuICAgIG1hbmlmZXN0OiBcIi9tYW5pZmVzdC53ZWJtYW5pZmVzdFwiXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvcGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuaW1wb3J0IEdsb2JhbEVycm9yIGZyb20gXCIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL2dsb2JhbC1lcnJvci50c3hcIiB3aXRoIHtcbiAgICAndHVyYm9wYWNrLXRyYW5zaXRpb24nOiAnbmV4dC1zZXJ2ZXItdXRpbGl0eSdcbn07XG5leHBvcnQgeyBHbG9iYWxFcnJvciB9O1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5pbXBvcnQgKiBhcyBlbnRyeUJhc2UgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc2VydmVyLXV0aWxpdHknXG59O1xuaW1wb3J0IHsgUmVkaXJlY3RTdGF0dXNDb2RlIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZVwiO1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc2VydmVyLXV0aWxpdHknXG59O1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfSxcbiAgICBkaXN0RGlyOiBwcm9jZXNzLmVudi5fX05FWFRfUkVMQVRJVkVfRElTVF9ESVIgfHwgJycsXG4gICAgcHJvamVjdERpcjogcHJvY2Vzcy5lbnYuX19ORVhUX1JFTEFUSVZFX1BST0pFQ1RfRElSIHx8ICcnXG59KTtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcSwgcmVzLCBjdHgpIHtcbiAgICB2YXIgX3RoaXM7XG4gICAgbGV0IHNyY1BhZ2UgPSBcIi9wYWdlXCI7XG4gICAgLy8gdHVyYm9wYWNrIGRvZXNuJ3Qgbm9ybWFsaXplIGAvaW5kZXhgIGluIHRoZSBwYWdlIG5hbWVcbiAgICAvLyBzbyB3ZSBuZWVkIHRvIHRvIHByb2Nlc3MgZHluYW1pYyByb3V0ZXMgcHJvcGVybHlcbiAgICAvLyBUT0RPOiBmaXggdHVyYm9wYWNrIHByb3ZpZGluZyBkaWZmZXJpbmcgdmFsdWUgZnJvbSB3ZWJwYWNrXG4gICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICBzcmNQYWdlID0gc3JjUGFnZS5yZXBsYWNlKC9cXC9pbmRleCQvLCAnJykgfHwgJy8nO1xuICAgIH0gZWxzZSBpZiAoc3JjUGFnZSA9PT0gJy9pbmRleCcpIHtcbiAgICAgICAgLy8gd2UgYWx3YXlzIG5vcm1hbGl6ZSAvaW5kZXggc3BlY2lmaWNhbGx5XG4gICAgICAgIHNyY1BhZ2UgPSAnLyc7XG4gICAgfVxuICAgIGNvbnN0IG11bHRpWm9uZURyYWZ0TW9kZSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9NVUxUSV9aT05FX0RSQUZUX01PREU7XG4gICAgY29uc3QgaW5pdGlhbFBvc3Rwb25lZCA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ3Bvc3Rwb25lZCcpO1xuICAgIC8vIFRPRE86IHJlcGxhY2Ugd2l0aCBtb3JlIHNwZWNpZmljIGZsYWdzXG4gICAgY29uc3QgbWluaW1hbE1vZGUgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdtaW5pbWFsTW9kZScpO1xuICAgIGNvbnN0IHByZXBhcmVSZXN1bHQgPSBhd2FpdCByb3V0ZU1vZHVsZS5wcmVwYXJlKHJlcSwgcmVzLCB7XG4gICAgICAgIHNyY1BhZ2UsXG4gICAgICAgIG11bHRpWm9uZURyYWZ0TW9kZVxuICAgIH0pO1xuICAgIGlmICghcHJlcGFyZVJlc3VsdCkge1xuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwMDtcbiAgICAgICAgcmVzLmVuZCgnQmFkIFJlcXVlc3QnKTtcbiAgICAgICAgY3R4LndhaXRVbnRpbCA9PSBudWxsID8gdm9pZCAwIDogY3R4LndhaXRVbnRpbC5jYWxsKGN0eCwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBidWlsZElkLCBxdWVyeSwgcGFyYW1zLCBwYXJzZWRVcmwsIHBhZ2VJc0R5bmFtaWMsIGJ1aWxkTWFuaWZlc3QsIG5leHRGb250TWFuaWZlc3QsIHJlYWN0TG9hZGFibGVNYW5pZmVzdCwgc2VydmVyQWN0aW9uc01hbmlmZXN0LCBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCwgc3VicmVzb3VyY2VJbnRlZ3JpdHlNYW5pZmVzdCwgcHJlcmVuZGVyTWFuaWZlc3QsIGlzRHJhZnRNb2RlLCByZXNvbHZlZFBhdGhuYW1lLCByZXZhbGlkYXRlT25seUdlbmVyYXRlZCwgcm91dGVyU2VydmVyQ29udGV4dCwgbmV4dENvbmZpZyB9ID0gcHJlcGFyZVJlc3VsdDtcbiAgICBjb25zdCBwYXRobmFtZSA9IHBhcnNlZFVybC5wYXRobmFtZSB8fCAnLyc7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNyY1BhZ2UgPSBub3JtYWxpemVBcHBQYXRoKHNyY1BhZ2UpO1xuICAgIGxldCB7IGlzT25EZW1hbmRSZXZhbGlkYXRlIH0gPSBwcmVwYXJlUmVzdWx0O1xuICAgIGNvbnN0IHByZXJlbmRlckluZm8gPSBwcmVyZW5kZXJNYW5pZmVzdC5keW5hbWljUm91dGVzW25vcm1hbGl6ZWRTcmNQYWdlXTtcbiAgICBjb25zdCBpc1ByZXJlbmRlcmVkID0gcHJlcmVuZGVyTWFuaWZlc3Qucm91dGVzW3Jlc29sdmVkUGF0aG5hbWVdO1xuICAgIGxldCBpc1NTRyA9IEJvb2xlYW4ocHJlcmVuZGVySW5mbyB8fCBpc1ByZXJlbmRlcmVkIHx8IHByZXJlbmRlck1hbmlmZXN0LnJvdXRlc1tub3JtYWxpemVkU3JjUGFnZV0pO1xuICAgIGNvbnN0IHVzZXJBZ2VudCA9IHJlcS5oZWFkZXJzWyd1c2VyLWFnZW50J10gfHwgJyc7XG4gICAgY29uc3QgYm90VHlwZSA9IGdldEJvdFR5cGUodXNlckFnZW50KTtcbiAgICBjb25zdCBpc0h0bWxCb3QgPSBpc0h0bWxCb3RSZXF1ZXN0KHJlcSk7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3QgYmVpbmcgbWFkZSBpcyBmb3IgYW4gYXBwXG4gICAqIHByZWZldGNoIHJlcXVlc3QuXG4gICAqLyBjb25zdCBpc1ByZWZldGNoUlNDUmVxdWVzdCA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2lzUHJlZmV0Y2hSU0NSZXF1ZXN0JykgPz8gQm9vbGVhbihyZXEuaGVhZGVyc1tORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdKTtcbiAgICAvLyBOT1RFOiBEb24ndCBkZWxldGUgaGVhZGVyc1tSU0NdIHlldCwgaXQgc3RpbGwgbmVlZHMgdG8gYmUgdXNlZCBpbiByZW5kZXJUb0hUTUwgbGF0ZXJcbiAgICBjb25zdCBpc1JTQ1JlcXVlc3QgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdpc1JTQ1JlcXVlc3QnKSA/PyBCb29sZWFuKHJlcS5oZWFkZXJzW1JTQ19IRUFERVJdKTtcbiAgICBjb25zdCBpc1Bvc3NpYmxlU2VydmVyQWN0aW9uID0gZ2V0SXNQb3NzaWJsZVNlcnZlckFjdGlvbihyZXEpO1xuICAgIC8qKlxuICAgKiBJZiB0aGUgcm91dGUgYmVpbmcgcmVuZGVyZWQgaXMgYW4gYXBwIHBhZ2UsIGFuZCB0aGUgcHByIGZlYXR1cmUgaGFzIGJlZW5cbiAgICogZW5hYmxlZCwgdGhlbiB0aGUgZ2l2ZW4gcm91dGUgX2NvdWxkXyBzdXBwb3J0IFBQUi5cbiAgICovIGNvbnN0IGNvdWxkU3VwcG9ydFBQUiA9IGNoZWNrSXNBcHBQUFJFbmFibGVkKG5leHRDb25maWcuZXhwZXJpbWVudGFsLnBwcik7XG4gICAgLy8gV2hlbiBlbmFibGVkLCB0aGlzIHdpbGwgYWxsb3cgdGhlIHVzZSBvZiB0aGUgYD9fX25leHRwcHJvbmx5YCBxdWVyeSB0b1xuICAgIC8vIGVuYWJsZSBkZWJ1Z2dpbmcgb2YgdGhlIHN0YXRpYyBzaGVsbC5cbiAgICBjb25zdCBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgPSBwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX1NUQVRJQ19TSEVMTF9ERUJVR0dJTkcgPT09ICcxJyAmJiB0eXBlb2YgcXVlcnkuX19uZXh0cHByb25seSAhPT0gJ3VuZGVmaW5lZCcgJiYgY291bGRTdXBwb3J0UFBSO1xuICAgIC8vIFdoZW4gZW5hYmxlZCwgdGhpcyB3aWxsIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGA/X19uZXh0cHByb25seWAgcXVlcnlcbiAgICAvLyB0byBlbmFibGUgZGVidWdnaW5nIG9mIHRoZSBmYWxsYmFjayBzaGVsbC5cbiAgICBjb25zdCBoYXNEZWJ1Z0ZhbGxiYWNrU2hlbGxRdWVyeSA9IGhhc0RlYnVnU3RhdGljU2hlbGxRdWVyeSAmJiBxdWVyeS5fX25leHRwcHJvbmx5ID09PSAnZmFsbGJhY2snO1xuICAgIC8vIFRoaXMgcGFnZSBzdXBwb3J0cyBQUFIgaWYgaXQgaXMgbWFya2VkIGFzIGJlaW5nIGBQQVJUSUFMTFlfU1RBVElDYCBpbiB0aGVcbiAgICAvLyBwcmVyZW5kZXIgbWFuaWZlc3QgYW5kIHRoaXMgaXMgYW4gYXBwIHBhZ2UuXG4gICAgY29uc3QgaXNSb3V0ZVBQUkVuYWJsZWQgPSBjb3VsZFN1cHBvcnRQUFIgJiYgKCgoX3RoaXMgPSBwcmVyZW5kZXJNYW5pZmVzdC5yb3V0ZXNbbm9ybWFsaXplZFNyY1BhZ2VdID8/IHByZXJlbmRlck1hbmlmZXN0LmR5bmFtaWNSb3V0ZXNbbm9ybWFsaXplZFNyY1BhZ2VdKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMucmVuZGVyaW5nTW9kZSkgPT09ICdQQVJUSUFMTFlfU1RBVElDJyB8fCAvLyBJZGVhbGx5IHdlJ2Qgd2FudCB0byBjaGVjayB0aGUgYXBwQ29uZmlnIHRvIHNlZSBpZiB0aGlzIHBhZ2UgaGFzIFBQUlxuICAgIC8vIGVuYWJsZWQgb3Igbm90LCBidXQgdGhhdCB3b3VsZCByZXF1aXJlIHBsdW1iaW5nIHRoZSBhcHBDb25maWcgdGhyb3VnaFxuICAgIC8vIHRvIHRoZSBzZXJ2ZXIgZHVyaW5nIGRldmVsb3BtZW50LiBXZSBhc3N1bWUgdGhhdCB0aGUgcGFnZSBzdXBwb3J0cyBpdFxuICAgIC8vIGJ1dCBvbmx5IGR1cmluZyBkZXZlbG9wbWVudC5cbiAgICBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgJiYgKHJvdXRlTW9kdWxlLmlzRGV2ID09PSB0cnVlIHx8IChyb3V0ZXJTZXJ2ZXJDb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiByb3V0ZXJTZXJ2ZXJDb250ZXh0LmV4cGVyaW1lbnRhbFRlc3RQcm94eSkgPT09IHRydWUpKTtcbiAgICBjb25zdCBpc0RlYnVnU3RhdGljU2hlbGwgPSBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgJiYgaXNSb3V0ZVBQUkVuYWJsZWQ7XG4gICAgLy8gV2Ugc2hvdWxkIGVuYWJsZSBkZWJ1Z2dpbmcgZHluYW1pYyBhY2Nlc3NlcyB3aGVuIHRoZSBzdGF0aWMgc2hlbGxcbiAgICAvLyBkZWJ1Z2dpbmcgaGFzIGJlZW4gZW5hYmxlZCBhbmQgd2UncmUgYWxzbyBpbiBkZXZlbG9wbWVudCBtb2RlLlxuICAgIGNvbnN0IGlzRGVidWdEeW5hbWljQWNjZXNzZXMgPSBpc0RlYnVnU3RhdGljU2hlbGwgJiYgcm91dGVNb2R1bGUuaXNEZXYgPT09IHRydWU7XG4gICAgY29uc3QgaXNEZWJ1Z0ZhbGxiYWNrU2hlbGwgPSBoYXNEZWJ1Z0ZhbGxiYWNrU2hlbGxRdWVyeSAmJiBpc1JvdXRlUFBSRW5hYmxlZDtcbiAgICAvLyBJZiB3ZSdyZSBpbiBtaW5pbWFsIG1vZGUsIHRoZW4gdHJ5IHRvIGdldCB0aGUgcG9zdHBvbmVkIGluZm9ybWF0aW9uIGZyb21cbiAgICAvLyB0aGUgcmVxdWVzdCBtZXRhZGF0YS4gSWYgYXZhaWxhYmxlLCB1c2UgaXQgZm9yIHJlc3VtaW5nIHRoZSBwb3N0cG9uZWRcbiAgICAvLyByZW5kZXIuXG4gICAgY29uc3QgbWluaW1hbFBvc3Rwb25lZCA9IGlzUm91dGVQUFJFbmFibGVkID8gaW5pdGlhbFBvc3Rwb25lZCA6IHVuZGVmaW5lZDtcbiAgICAvLyBJZiBQUFIgaXMgZW5hYmxlZCwgYW5kIHRoaXMgaXMgYSBSU0MgcmVxdWVzdCAoYnV0IG5vdCBhIHByZWZldGNoKSwgdGhlblxuICAgIC8vIHdlIGNhbiB1c2UgdGhpcyBmYWN0IHRvIG9ubHkgZ2VuZXJhdGUgdGhlIGZsaWdodCBkYXRhIGZvciB0aGUgcmVxdWVzdFxuICAgIC8vIGJlY2F1c2Ugd2UgY2FuJ3QgY2FjaGUgdGhlIEhUTUwgKGFzIGl0J3MgYWxzbyBkeW5hbWljKS5cbiAgICBjb25zdCBpc0R5bmFtaWNSU0NSZXF1ZXN0ID0gaXNSb3V0ZVBQUkVuYWJsZWQgJiYgaXNSU0NSZXF1ZXN0ICYmICFpc1ByZWZldGNoUlNDUmVxdWVzdDtcbiAgICAvLyBOZWVkIHRvIHJlYWQgdGhpcyBiZWZvcmUgaXQncyBzdHJpcHBlZCBieSBzdHJpcEZsaWdodEhlYWRlcnMuIFdlIGRvbid0XG4gICAgLy8gbmVlZCB0byB0cmFuc2ZlciBpdCB0byB0aGUgcmVxdWVzdCBtZXRhIGJlY2F1c2UgaXQncyBvbmx5IHJlYWRcbiAgICAvLyB3aXRoaW4gdGhpcyBmdW5jdGlvbjsgdGhlIHN0YXRpYyBzZWdtZW50IGRhdGEgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuXG4gICAgLy8gZ2VuZXJhdGVkLCBzbyB3ZSB3aWxsIGFsd2F5cyBlaXRoZXIgcmV0dXJuIGEgc3RhdGljIHJlc3BvbnNlIG9yIGEgNDA0LlxuICAgIGNvbnN0IHNlZ21lbnRQcmVmZXRjaEhlYWRlciA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ3NlZ21lbnRQcmVmZXRjaFJTQ1JlcXVlc3QnKTtcbiAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBleGlzdGluZyBidWcgd2l0aCBzaG91bGRTZXJ2ZVN0cmVhbWluZ01ldGFkYXRhIGFsd2F5c1xuICAgIC8vIGJlaW5nIHRydWUgZm9yIGEgcmV2YWxpZGF0ZSBkdWUgdG8gbW9kaWZ5aW5nIHRoZSBiYXNlLXNlcnZlciB0aGlzLnJlbmRlck9wdHNcbiAgICAvLyB3aGVuIGZpeGluZyB0aGlzIHRvIGNvcnJlY3QgbG9naWMgaXQgY2F1c2VzIGh5ZHJhdGlvbiBpc3N1ZSBzaW5jZSB3ZSBzZXRcbiAgICAvLyBzZXJ2ZVN0cmVhbWluZ01ldGFkYXRhIHRvIHRydWUgZHVyaW5nIGV4cG9ydFxuICAgIGxldCBzZXJ2ZVN0cmVhbWluZ01ldGFkYXRhID0gIXVzZXJBZ2VudCA/IHRydWUgOiBzaG91bGRTZXJ2ZVN0cmVhbWluZ01ldGFkYXRhKHVzZXJBZ2VudCwgbmV4dENvbmZpZy5odG1sTGltaXRlZEJvdHMpO1xuICAgIGlmIChpc0h0bWxCb3QgJiYgaXNSb3V0ZVBQUkVuYWJsZWQpIHtcbiAgICAgICAgaXNTU0cgPSBmYWxzZTtcbiAgICAgICAgc2VydmVTdHJlYW1pbmdNZXRhZGF0YSA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyBJbiBkZXZlbG9wbWVudCwgd2UgYWx3YXlzIHdhbnQgdG8gZ2VuZXJhdGUgZHluYW1pYyBIVE1MLlxuICAgIGxldCBzdXBwb3J0c0R5bmFtaWNSZXNwb25zZSA9IC8vIElmIHdlJ3JlIGluIGRldmVsb3BtZW50LCB3ZSBhbHdheXMgc3VwcG9ydCBkeW5hbWljIEhUTUwsIHVubGVzcyBpdCdzXG4gICAgLy8gYSBkYXRhIHJlcXVlc3QsIGluIHdoaWNoIGNhc2Ugd2Ugb25seSBwcm9kdWNlIHN0YXRpYyBIVE1MLlxuICAgIHJvdXRlTW9kdWxlLmlzRGV2ID09PSB0cnVlIHx8IC8vIElmIHRoaXMgaXMgbm90IFNTRyBvciBkb2VzIG5vdCBoYXZlIHN0YXRpYyBwYXRocywgdGhlbiBpdCBzdXBwb3J0c1xuICAgIC8vIGR5bmFtaWMgSFRNTC5cbiAgICAhaXNTU0cgfHwgLy8gSWYgdGhpcyByZXF1ZXN0IGhhcyBwcm92aWRlZCBwb3N0cG9uZWQgZGF0YSwgaXQgc3VwcG9ydHMgZHluYW1pY1xuICAgIC8vIEhUTUwuXG4gICAgdHlwZW9mIGluaXRpYWxQb3N0cG9uZWQgPT09ICdzdHJpbmcnIHx8IC8vIElmIHRoaXMgaXMgYSBkeW5hbWljIFJTQyByZXF1ZXN0LCB0aGVuIHRoaXMgcmVuZGVyIHN1cHBvcnRzIGR5bmFtaWNcbiAgICAvLyBIVE1MIChpdCdzIGR5bmFtaWMpLlxuICAgIGlzRHluYW1pY1JTQ1JlcXVlc3Q7XG4gICAgLy8gV2hlbiBodG1sIGJvdHMgcmVxdWVzdCBQUFIgcGFnZSwgcGVyZm9ybSB0aGUgZnVsbCBkeW5hbWljIHJlbmRlcmluZy5cbiAgICBjb25zdCBzaG91bGRXYWl0T25BbGxSZWFkeSA9IGlzSHRtbEJvdCAmJiBpc1JvdXRlUFBSRW5hYmxlZDtcbiAgICBsZXQgc3NnQ2FjaGVLZXkgPSBudWxsO1xuICAgIGlmICghaXNEcmFmdE1vZGUgJiYgaXNTU0cgJiYgIXN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlICYmICFpc1Bvc3NpYmxlU2VydmVyQWN0aW9uICYmICFtaW5pbWFsUG9zdHBvbmVkICYmICFpc0R5bmFtaWNSU0NSZXF1ZXN0KSB7XG4gICAgICAgIHNzZ0NhY2hlS2V5ID0gcmVzb2x2ZWRQYXRobmFtZTtcbiAgICB9XG4gICAgLy8gdGhlIHN0YXRpY1BhdGhLZXkgZGlmZmVycyBmcm9tIHNzZ0NhY2hlS2V5IHNpbmNlXG4gICAgLy8gc3NnQ2FjaGVLZXkgaXMgbnVsbCBpbiBkZXYgc2luY2Ugd2UncmUgYWx3YXlzIGluIFwiZHluYW1pY1wiXG4gICAgLy8gbW9kZSBpbiBkZXYgdG8gYnlwYXNzIHRoZSBjYWNoZSwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gaG9ub3JcbiAgICAvLyBkeW5hbWljUGFyYW1zID0gZmFsc2UgaW4gZGV2IG1vZGVcbiAgICBsZXQgc3RhdGljUGF0aEtleSA9IHNzZ0NhY2hlS2V5O1xuICAgIGlmICghc3RhdGljUGF0aEtleSAmJiByb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICBzdGF0aWNQYXRoS2V5ID0gcmVzb2x2ZWRQYXRobmFtZTtcbiAgICB9XG4gICAgY29uc3QgQ29tcG9uZW50TW9kID0ge1xuICAgICAgICAuLi5lbnRyeUJhc2UsXG4gICAgICAgIHRyZWUsXG4gICAgICAgIHBhZ2VzLFxuICAgICAgICBHbG9iYWxFcnJvcixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgcm91dGVNb2R1bGUsXG4gICAgICAgIF9fbmV4dF9hcHBfX1xuICAgIH07XG4gICAgLy8gQmVmb3JlIHJlbmRlcmluZyAod2hpY2ggaW5pdGlhbGl6ZXMgY29tcG9uZW50IHRyZWUgbW9kdWxlcyksIHdlIGhhdmUgdG9cbiAgICAvLyBzZXQgdGhlIHJlZmVyZW5jZSBtYW5pZmVzdHMgdG8gb3VyIGdsb2JhbCBzdG9yZSBzbyBTZXJ2ZXIgQWN0aW9uJ3NcbiAgICAvLyBlbmNyeXB0aW9uIHV0aWwgY2FuIGFjY2VzcyB0byB0aGVtIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHBhZ2UgbW9kdWxlLlxuICAgIGlmIChzZXJ2ZXJBY3Rpb25zTWFuaWZlc3QgJiYgY2xpZW50UmVmZXJlbmNlTWFuaWZlc3QpIHtcbiAgICAgICAgc2V0UmVmZXJlbmNlTWFuaWZlc3RzU2luZ2xldG9uKHtcbiAgICAgICAgICAgIHBhZ2U6IHNyY1BhZ2UsXG4gICAgICAgICAgICBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCxcbiAgICAgICAgICAgIHNlcnZlckFjdGlvbnNNYW5pZmVzdCxcbiAgICAgICAgICAgIHNlcnZlck1vZHVsZU1hcDogY3JlYXRlU2VydmVyTW9kdWxlTWFwKHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXJBY3Rpb25zTWFuaWZlc3RcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtZXRob2QgPSByZXEubWV0aG9kIHx8ICdHRVQnO1xuICAgIGNvbnN0IHRyYWNlciA9IGdldFRyYWNlcigpO1xuICAgIGNvbnN0IGFjdGl2ZVNwYW4gPSB0cmFjZXIuZ2V0QWN0aXZlU2NvcGVTcGFuKCk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaW52b2tlUm91dGVNb2R1bGUgPSBhc3luYyAoc3BhbiwgY29udGV4dCk9PntcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXEgPSBuZXcgTm9kZU5leHRSZXF1ZXN0KHJlcSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0UmVzID0gbmV3IE5vZGVOZXh0UmVzcG9uc2UocmVzKTtcbiAgICAgICAgICAgIC8vIFRPRE86IGFkYXB0IGZvciBwdXR0aW5nIHRoZSBSREMgaW5zaWRlIHRoZSBwb3N0cG9uZWQgZGF0YVxuICAgICAgICAgICAgLy8gSWYgd2UncmUgaW4gZGV2LCBhbmQgdGhpcyBpc24ndCBhIHByZWZldGNoIG9yIGEgc2VydmVyIGFjdGlvbixcbiAgICAgICAgICAgIC8vIHdlIHNob3VsZCBzZWVkIHRoZSByZXN1bWUgZGF0YSBjYWNoZS5cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljSU8gJiYgIWlzUHJlZmV0Y2hSU0NSZXF1ZXN0ICYmICFjb250ZXh0LnJlbmRlck9wdHMuaXNQb3NzaWJsZVNlcnZlckFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB3YXJtdXAgPSBhd2FpdCByb3V0ZU1vZHVsZS53YXJtdXAobmV4dFJlcSwgbmV4dFJlcywgY29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3YXJtdXAgaXMgc3VjY2Vzc2Z1bCwgd2Ugc2hvdWxkIHVzZSB0aGUgcmVzdW1lIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgLy8gY2FjaGUgZnJvbSB0aGUgd2FybXVwLlxuICAgICAgICAgICAgICAgICAgICBpZiAod2FybXVwLm1ldGFkYXRhLnJlbmRlclJlc3VtZURhdGFDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5yZW5kZXJPcHRzLnJlbmRlclJlc3VtZURhdGFDYWNoZSA9IHdhcm11cC5tZXRhZGF0YS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcm91dGVNb2R1bGUucmVuZGVyKG5leHRSZXEsIG5leHRSZXMsIGNvbnRleHQpLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXNwYW4pIHJldHVybjtcbiAgICAgICAgICAgICAgICBzcGFuLnNldEF0dHJpYnV0ZXMoe1xuICAgICAgICAgICAgICAgICAgICAnaHR0cC5zdGF0dXNfY29kZSc6IHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICAgICAgICAnbmV4dC5yc2MnOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RTcGFuQXR0cmlidXRlcyA9IHRyYWNlci5nZXRSb290U3BhbkF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICAgICAgICAvLyBXZSB3ZXJlIHVuYWJsZSB0byBnZXQgYXR0cmlidXRlcywgcHJvYmFibHkgT1RFTCBpcyBub3QgZW5hYmxlZFxuICAgICAgICAgICAgICAgIGlmICghcm9vdFNwYW5BdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJykgIT09IEJhc2VTZXJ2ZXJTcGFuLmhhbmRsZVJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBVbmV4cGVjdGVkIHJvb3Qgc3BhbiB0eXBlICcke3Jvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJyl9Jy4gUGxlYXNlIHJlcG9ydCB0aGlzIE5leHQuanMgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGUgPSByb290U3BhbkF0dHJpYnV0ZXMuZ2V0KCduZXh0LnJvdXRlJyk7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBgJHttZXRob2R9ICR7cm91dGV9YDtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduZXh0LnJvdXRlJzogcm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaHR0cC5yb3V0ZSc6IHJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ25leHQuc3Bhbl9uYW1lJzogbmFtZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi51cGRhdGVOYW1lKG5hbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4udXBkYXRlTmFtZShgJHttZXRob2R9ICR7cmVxLnVybH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZG9SZW5kZXIgPSBhc3luYyAoeyBzcGFuLCBwb3N0cG9uZWQsIGZhbGxiYWNrUm91dGVQYXJhbXMgfSk9PntcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgIHBhZ2U6IG5vcm1hbGl6ZWRTcmNQYWdlLFxuICAgICAgICAgICAgICAgIHNoYXJlZENvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRJZFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2VydmVyQ29tcG9uZW50c0htckNhY2hlOiBnZXRSZXF1ZXN0TWV0YShyZXEsICdzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUnKSxcbiAgICAgICAgICAgICAgICBmYWxsYmFja1JvdXRlUGFyYW1zLFxuICAgICAgICAgICAgICAgIHJlbmRlck9wdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgQXBwOiAoKT0+bnVsbCxcbiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnQ6ICgpPT5udWxsLFxuICAgICAgICAgICAgICAgICAgICBwYWdlQ29uZmlnOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgQ29tcG9uZW50TW9kLFxuICAgICAgICAgICAgICAgICAgICBDb21wb25lbnQ6IGludGVyb3BEZWZhdWx0KENvbXBvbmVudE1vZCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVNb2R1bGUsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHNyY1BhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICAgICAgc2hvdWxkV2FpdE9uQWxsUmVhZHksXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlU3RyZWFtaW5nTWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlOiB0eXBlb2YgcG9zdHBvbmVkID09PSAnc3RyaW5nJyB8fCBzdXBwb3J0c0R5bmFtaWNSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRNYW5pZmVzdCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dEZvbnRNYW5pZmVzdCxcbiAgICAgICAgICAgICAgICAgICAgcmVhY3RMb2FkYWJsZU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzdWJyZXNvdXJjZUludGVncml0eU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJBY3Rpb25zTWFuaWZlc3QsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudFJlZmVyZW5jZU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzZXRJc3JTdGF0dXM6IHJvdXRlclNlcnZlckNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlclNlcnZlckNvbnRleHQuc2V0SXNyU3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICBkaXI6IHJvdXRlTW9kdWxlLnByb2plY3REaXIsXG4gICAgICAgICAgICAgICAgICAgIGlzRHJhZnRNb2RlLFxuICAgICAgICAgICAgICAgICAgICBpc1JldmFsaWRhdGU6IGlzU1NHICYmICFwb3N0cG9uZWQgJiYgIWlzRHluYW1pY1JTQ1JlcXVlc3QsXG4gICAgICAgICAgICAgICAgICAgIGJvdFR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgICAgICBpc1Bvc3NpYmxlU2VydmVyQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBhc3NldFByZWZpeDogbmV4dENvbmZpZy5hc3NldFByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbmZpZ091dHB1dDogbmV4dENvbmZpZy5vdXRwdXQsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBuZXh0Q29uZmlnLmNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NsYXNoOiBuZXh0Q29uZmlnLnRyYWlsaW5nU2xhc2gsXG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXdQcm9wczogcHJlcmVuZGVyTWFuaWZlc3QucHJldmlldyxcbiAgICAgICAgICAgICAgICAgICAgZGVwbG95bWVudElkOiBuZXh0Q29uZmlnLmRlcGxveW1lbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlVGFpbnRpbmc6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLnRhaW50LFxuICAgICAgICAgICAgICAgICAgICBodG1sTGltaXRlZEJvdHM6IG5leHRDb25maWcuaHRtbExpbWl0ZWRCb3RzLFxuICAgICAgICAgICAgICAgICAgICBkZXZ0b29sU2VnbWVudEV4cGxvcmVyOiBuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5kZXZ0b29sU2VnbWVudEV4cGxvcmVyLFxuICAgICAgICAgICAgICAgICAgICByZWFjdE1heEhlYWRlcnNMZW5ndGg6IG5leHRDb25maWcucmVhY3RNYXhIZWFkZXJzTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aVpvbmVEcmFmdE1vZGUsXG4gICAgICAgICAgICAgICAgICAgIGluY3JlbWVudGFsQ2FjaGU6IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2luY3JlbWVudGFsQ2FjaGUnKSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVMaWZlUHJvZmlsZXM6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNhY2hlTGlmZSxcbiAgICAgICAgICAgICAgICAgICAgYmFzZVBhdGg6IG5leHRDb25maWcuYmFzZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlckFjdGlvbnM6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLnNlcnZlckFjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC4uLmlzRGVidWdTdGF0aWNTaGVsbCB8fCBpc0RlYnVnRHluYW1pY0FjY2Vzc2VzID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEV4cG9ydDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU3RhdGljR2VuZXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUmV2YWxpZGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVidWdEeW5hbWljQWNjZXNzZXM6IGlzRGVidWdEeW5hbWljQWNjZXNzZXNcbiAgICAgICAgICAgICAgICAgICAgfSA6IHt9LFxuICAgICAgICAgICAgICAgICAgICBleHBlcmltZW50YWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUm91dGVQUFJFbmFibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlVGltZTogbmV4dENvbmZpZy5leHBpcmVUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhbGVUaW1lczogbmV4dENvbmZpZy5leHBlcmltZW50YWwuc3RhbGVUaW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNJTzogQm9vbGVhbihuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljSU8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50U2VnbWVudENhY2hlOiBCb29sZWFuKG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNsaWVudFNlZ21lbnRDYWNoZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljT25Ib3ZlcjogQm9vbGVhbihuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljT25Ib3ZlciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVDc3M6IEJvb2xlYW4obmV4dENvbmZpZy5leHBlcmltZW50YWwuaW5saW5lQ3NzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhJbnRlcnJ1cHRzOiBCb29sZWFuKG5leHRDb25maWcuZXhwZXJpbWVudGFsLmF1dGhJbnRlcnJ1cHRzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFRyYWNlTWV0YWRhdGE6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNsaWVudFRyYWNlTWV0YWRhdGEgfHwgW11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgd2FpdFVudGlsOiBjdHgud2FpdFVudGlsLFxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiAoY2IpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMub24oJ2Nsb3NlJywgY2IpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkFmdGVyVGFza0Vycm9yOiAoKT0+e30sXG4gICAgICAgICAgICAgICAgICAgIG9uSW5zdHJ1bWVudGF0aW9uUmVxdWVzdEVycm9yOiAoZXJyb3IsIF9yZXF1ZXN0LCBlcnJvckNvbnRleHQpPT5yb3V0ZU1vZHVsZS5vblJlcXVlc3RFcnJvcihyZXEsIGVycm9yLCBlcnJvckNvbnRleHQsIHJvdXRlclNlcnZlckNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICBlcnI6IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2ludm9rZUVycm9yJyksXG4gICAgICAgICAgICAgICAgICAgIGRldjogcm91dGVNb2R1bGUuaXNEZXZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlUm91dGVNb2R1bGUoc3BhbiwgY29udGV4dCk7XG4gICAgICAgICAgICBjb25zdCB7IG1ldGFkYXRhIH0gPSByZXN1bHQ7XG4gICAgICAgICAgICBjb25zdCB7IGNhY2hlQ29udHJvbCwgaGVhZGVycyA9IHt9LCAvLyBBZGQgYW55IGZldGNoIHRhZ3MgdGhhdCB3ZXJlIG9uIHRoZSBwYWdlIHRvIHRoZSByZXNwb25zZSBoZWFkZXJzLlxuICAgICAgICAgICAgZmV0Y2hUYWdzOiBjYWNoZVRhZ3MgfSA9IG1ldGFkYXRhO1xuICAgICAgICAgICAgaWYgKGNhY2hlVGFncykge1xuICAgICAgICAgICAgICAgIGhlYWRlcnNbTkVYVF9DQUNIRV9UQUdTX0hFQURFUl0gPSBjYWNoZVRhZ3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBQdWxsIGFueSBmZXRjaCBtZXRyaWNzIGZyb20gdGhlIHJlbmRlciBvbnRvIHRoZSByZXF1ZXN0LlxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgcmVxLmZldGNoTWV0cmljcyA9IG1ldGFkYXRhLmZldGNoTWV0cmljcztcbiAgICAgICAgICAgIC8vIHdlIGRvbid0IHRocm93IHN0YXRpYyB0byBkeW5hbWljIGVycm9ycyBpbiBkZXYgYXMgaXNTU0dcbiAgICAgICAgICAgIC8vIGlzIGEgYmVzdCBndWVzcyBpbiBkZXYgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0aGUgcHJlcmVuZGVyIHBhc3NcbiAgICAgICAgICAgIC8vIHRvIGtub3cgd2hldGhlciB0aGUgcGF0aCBpcyBhY3R1YWxseSBzdGF0aWMgb3Igbm90XG4gICAgICAgICAgICBpZiAoaXNTU0cgJiYgKGNhY2hlQ29udHJvbCA9PSBudWxsID8gdm9pZCAwIDogY2FjaGVDb250cm9sLnJldmFsaWRhdGUpID09PSAwICYmICFyb3V0ZU1vZHVsZS5pc0RldiAmJiAhaXNSb3V0ZVBQUkVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0aWNCYWlsb3V0SW5mbyA9IG1ldGFkYXRhLnN0YXRpY0JhaWxvdXRJbmZvO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoYFBhZ2UgY2hhbmdlZCBmcm9tIHN0YXRpYyB0byBkeW5hbWljIGF0IHJ1bnRpbWUgJHtyZXNvbHZlZFBhdGhuYW1lfSR7KHN0YXRpY0JhaWxvdXRJbmZvID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNCYWlsb3V0SW5mby5kZXNjcmlwdGlvbikgPyBgLCByZWFzb246ICR7c3RhdGljQmFpbG91dEluZm8uZGVzY3JpcHRpb259YCA6IGBgfWAgKyBgXFxuc2VlIG1vcmUgaGVyZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9hcHAtc3RhdGljLXRvLWR5bmFtaWMtZXJyb3JgKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkUxMzJcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0aWNCYWlsb3V0SW5mbyA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljQmFpbG91dEluZm8uc3RhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhY2sgPSBzdGF0aWNCYWlsb3V0SW5mby5zdGFjaztcbiAgICAgICAgICAgICAgICAgICAgZXJyLnN0YWNrID0gZXJyLm1lc3NhZ2UgKyBzdGFjay5zdWJzdHJpbmcoc3RhY2suaW5kZXhPZignXFxuJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IENhY2hlZFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgICAgICAgICAgICAgaHRtbDogcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICByc2NEYXRhOiBtZXRhZGF0YS5mbGlnaHREYXRhLFxuICAgICAgICAgICAgICAgICAgICBwb3N0cG9uZWQ6IG1ldGFkYXRhLnBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBtZXRhZGF0YS5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50RGF0YTogbWV0YWRhdGEuc2VnbWVudERhdGFcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VHZW5lcmF0b3IgPSBhc3luYyAoeyBoYXNSZXNvbHZlZCwgcHJldmlvdXNDYWNoZUVudHJ5LCBpc1JldmFsaWRhdGluZywgc3BhbiB9KT0+e1xuICAgICAgICAgICAgY29uc3QgaXNQcm9kdWN0aW9uID0gcm91dGVNb2R1bGUuaXNEZXYgPT09IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgZGlkUmVzcG9uZCA9IGhhc1Jlc29sdmVkIHx8IHJlcy53cml0YWJsZUVuZGVkO1xuICAgICAgICAgICAgLy8gc2tpcCBvbi1kZW1hbmQgcmV2YWxpZGF0ZSBpZiBjYWNoZSBpcyBub3QgcHJlc2VudCBhbmRcbiAgICAgICAgICAgIC8vIHJldmFsaWRhdGUtaWYtZ2VuZXJhdGVkIGlzIHNldFxuICAgICAgICAgICAgaWYgKGlzT25EZW1hbmRSZXZhbGlkYXRlICYmIHJldmFsaWRhdGVPbmx5R2VuZXJhdGVkICYmICFwcmV2aW91c0NhY2hlRW50cnkgJiYgIW1pbmltYWxNb2RlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlclNlcnZlckNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlclNlcnZlckNvbnRleHQucmVuZGVyNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHJvdXRlclNlcnZlckNvbnRleHQucmVuZGVyNDA0KHJlcSwgcmVzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmVuZCgnVGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBmYWxsYmFja01vZGU7XG4gICAgICAgICAgICBpZiAocHJlcmVuZGVySW5mbykge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IHBhcnNlRmFsbGJhY2tGaWVsZChwcmVyZW5kZXJJbmZvLmZhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFdoZW4gc2VydmluZyBhIGJvdCByZXF1ZXN0LCB3ZSB3YW50IHRvIHNlcnZlIGEgYmxvY2tpbmcgcmVuZGVyIGFuZCBub3RcbiAgICAgICAgICAgIC8vIHRoZSBwcmVyZW5kZXJlZCBwYWdlLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29ycmVjdCBjb250ZW50IGlzIHNlcnZlZFxuICAgICAgICAgICAgLy8gdG8gdGhlIGJvdCBpbiB0aGUgaGVhZC5cbiAgICAgICAgICAgIGlmIChmYWxsYmFja01vZGUgPT09IEZhbGxiYWNrTW9kZS5QUkVSRU5ERVIgJiYgaXNCb3QodXNlckFnZW50KSkge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKChwcmV2aW91c0NhY2hlRW50cnkgPT0gbnVsbCA/IHZvaWQgMCA6IHByZXZpb3VzQ2FjaGVFbnRyeS5pc1N0YWxlKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpc09uRGVtYW5kUmV2YWxpZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPOiBhZGFwdCBmb3IgUFBSXG4gICAgICAgICAgICAvLyBvbmx5IGFsbG93IG9uLWRlbWFuZCByZXZhbGlkYXRlIGZvciBmYWxsYmFjazogdHJ1ZS9ibG9ja2luZ1xuICAgICAgICAgICAgLy8gb3IgZm9yIHByZXJlbmRlcmVkIGZhbGxiYWNrOiBmYWxzZSBwYXRoc1xuICAgICAgICAgICAgaWYgKGlzT25EZW1hbmRSZXZhbGlkYXRlICYmIChmYWxsYmFja01vZGUgIT09IEZhbGxiYWNrTW9kZS5OT1RfRk9VTkQgfHwgcHJldmlvdXNDYWNoZUVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFtaW5pbWFsTW9kZSAmJiBmYWxsYmFja01vZGUgIT09IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSICYmIHN0YXRpY1BhdGhLZXkgJiYgIWRpZFJlc3BvbmQgJiYgIWlzRHJhZnRNb2RlICYmIHBhZ2VJc0R5bmFtaWMgJiYgKGlzUHJvZHVjdGlvbiB8fCAhaXNQcmVyZW5kZXJlZCkpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgcGFnZSBoYXMgZHluYW1pY1BhcmFtczogZmFsc2UgYW5kIHRoaXMgcGF0aG5hbWUgd2Fzbid0XG4gICAgICAgICAgICAgICAgLy8gcHJlcmVuZGVyZWQgdHJpZ2dlciB0aGUgbm8gZmFsbGJhY2sgaGFuZGxpbmdcbiAgICAgICAgICAgICAgICBpZiAoLy8gSW4gZGV2ZWxvcG1lbnQsIGZhbGwgdGhyb3VnaCB0byByZW5kZXIgdG8gaGFuZGxlIG1pc3NpbmdcbiAgICAgICAgICAgICAgICAvLyBnZXRTdGF0aWNQYXRocy5cbiAgICAgICAgICAgICAgICAoaXNQcm9kdWN0aW9uIHx8IHByZXJlbmRlckluZm8pICYmIC8vIFdoZW4gZmFsbGJhY2sgaXNuJ3QgcHJlc2VudCwgYWJvcnQgdGhpcyByZW5kZXIgc28gd2UgNDA0XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tNb2RlID09PSBGYWxsYmFja01vZGUuTk9UX0ZPVU5EKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBOb0ZhbGxiYWNrRXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGZhbGxiYWNrUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgaWYgKGlzUm91dGVQUFJFbmFibGVkICYmICFpc1JTQ1JlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSByZXNwb25zZSBjYWNoZSBoZXJlIHRvIGhhbmRsZSB0aGUgcmV2YWxpZGF0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAvLyBtYW5hZ2VtZW50IG9mIHRoZSBmYWxsYmFjayBzaGVsbC5cbiAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2tSZXNwb25zZSA9IGF3YWl0IHJvdXRlTW9kdWxlLmhhbmRsZVJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5OiBpc1Byb2R1Y3Rpb24gPyBub3JtYWxpemVkU3JjUGFnZSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVLaW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ZhbGxiYWNrOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlcmVuZGVyTWFuaWZlc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JvdXRlUFBSRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlR2VuZXJhdG9yOiBhc3luYyAoKT0+ZG9SZW5kZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBwYXNzIGB1bmRlZmluZWRgIGFzIHJlbmRlcmluZyBhIGZhbGxiYWNrIGlzbid0IHJlc3VtZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdHBvbmVkOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrUm91dGVQYXJhbXM6IC8vIElmIHdlJ3JlIGluIHByb2R1Y3Rpb24gb3Igd2UncmUgZGVidWdnaW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzaGVsbCB0aGVuIHdlIHNob3VsZCBwb3N0cG9uZSB3aGVuIGR5bmFtaWMgcGFyYW1zIGFyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhY2Nlc3NlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQcm9kdWN0aW9uIHx8IGlzRGVidWdGYWxsYmFja1NoZWxsID8gZ2V0RmFsbGJhY2tSb3V0ZVBhcmFtcyhub3JtYWxpemVkU3JjUGFnZSkgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB3YWl0VW50aWw6IGN0eC53YWl0VW50aWxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBmYWxsYmFjayByZXNwb25zZSB3YXMgc2V0IHRvIG51bGwsIHRoZW4gd2Ugc2hvdWxkIHJldHVybiBudWxsLlxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tSZXNwb25zZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaWYgd2UgZGlkIGdldCBhIGZhbGxiYWNrIHJlc3BvbnNlLCB3ZSBzaG91bGQgcmV0dXJuIGl0LlxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjYWNoZSBjb250cm9sIGZyb20gdGhlIHJlc3BvbnNlIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXNlZCBpbiB0aGUgc3Vycm91bmRpbmcgY2FjaGUuXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmFsbGJhY2tSZXNwb25zZS5jYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2tSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIE9ubHkgcmVxdWVzdHMgdGhhdCBhcmVuJ3QgcmV2YWxpZGF0aW5nIGNhbiBiZSByZXN1bWVkLiBJZiB3ZSBoYXZlIHRoZVxuICAgICAgICAgICAgLy8gbWluaW1hbCBwb3N0cG9uZWQgZGF0YSwgdGhlbiB3ZSBzaG91bGQgcmVzdW1lIHRoZSByZW5kZXIgd2l0aCBpdC5cbiAgICAgICAgICAgIGNvbnN0IHBvc3Rwb25lZCA9ICFpc09uRGVtYW5kUmV2YWxpZGF0ZSAmJiAhaXNSZXZhbGlkYXRpbmcgJiYgbWluaW1hbFBvc3Rwb25lZCA/IG1pbmltYWxQb3N0cG9uZWQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAvLyBXaGVuIHdlJ3JlIGluIG1pbmltYWwgbW9kZSwgaWYgd2UncmUgdHJ5aW5nIHRvIGRlYnVnIHRoZSBzdGF0aWMgc2hlbGwsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGQganVzdCByZXR1cm4gbm90aGluZyBpbnN0ZWFkIG9mIHJlc3VtaW5nIHRoZSBkeW5hbWljIHJlbmRlci5cbiAgICAgICAgICAgIGlmICgoaXNEZWJ1Z1N0YXRpY1NoZWxsIHx8IGlzRGVidWdEeW5hbWljQWNjZXNzZXMpICYmIHR5cGVvZiBwb3N0cG9uZWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IENhY2hlZFJvdXRlS2luZC5QQUdFUyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKCcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGR5bmFtaWMgcm91dGUgd2l0aCBQUFIgZW5hYmxlZCBhbmQgdGhlIGRlZmF1bHQgcm91dGVcbiAgICAgICAgICAgIC8vIG1hdGNoZXMgd2VyZSBzZXQsIHRoZW4gd2Ugc2hvdWxkIHBhc3MgdGhlIGZhbGxiYWNrIHJvdXRlIHBhcmFtcyB0b1xuICAgICAgICAgICAgLy8gdGhlIHJlbmRlcmVyIGFzIHRoaXMgaXMgYSBmYWxsYmFjayByZXZhbGlkYXRpb24gcmVxdWVzdC5cbiAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrUm91dGVQYXJhbXMgPSBwYWdlSXNEeW5hbWljICYmIGlzUm91dGVQUFJFbmFibGVkICYmIChnZXRSZXF1ZXN0TWV0YShyZXEsICdyZW5kZXJGYWxsYmFja1NoZWxsJykgfHwgaXNEZWJ1Z0ZhbGxiYWNrU2hlbGwpID8gZ2V0RmFsbGJhY2tSb3V0ZVBhcmFtcyhwYXRobmFtZSkgOiBudWxsO1xuICAgICAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVuZGVyLlxuICAgICAgICAgICAgcmV0dXJuIGRvUmVuZGVyKHtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIHBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICBmYWxsYmFja1JvdXRlUGFyYW1zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaGFuZGxlUmVzcG9uc2UgPSBhc3luYyAoc3Bhbik9PntcbiAgICAgICAgICAgIHZhciBfY2FjaGVFbnRyeV92YWx1ZSwgX2NhY2hlZERhdGFfaGVhZGVycztcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlRW50cnkgPSBhd2FpdCByb3V0ZU1vZHVsZS5oYW5kbGVSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgY2FjaGVLZXk6IHNzZ0NhY2hlS2V5LFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlR2VuZXJhdG9yOiAoYyk9PnJlc3BvbnNlR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHJvdXRlS2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgIGlzUm91dGVQUFJFbmFibGVkLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgIHByZXJlbmRlck1hbmlmZXN0LFxuICAgICAgICAgICAgICAgIHdhaXRVbnRpbDogY3R4LndhaXRVbnRpbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoaXNEcmFmdE1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJywgJ3ByaXZhdGUsIG5vLWNhY2hlLCBuby1zdG9yZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEluIGRldiwgd2Ugc2hvdWxkIG5vdCBjYWNoZSBwYWdlcyBmb3IgYW55IHJlYXNvbi5cbiAgICAgICAgICAgIGlmIChyb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFjYWNoZUVudHJ5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHNzZ0NhY2hlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEEgY2FjaGUgZW50cnkgbWlnaHQgbm90IGJlIGdlbmVyYXRlZCBpZiBhIHJlc3BvbnNlIGlzIHdyaXR0ZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gYGdldEluaXRpYWxQcm9wc2Agb3IgYGdldFNlcnZlclNpZGVQcm9wc2AsIGJ1dCB0aG9zZSBzaG91bGRuJ3RcbiAgICAgICAgICAgICAgICAgICAgLy8gaGF2ZSBhIGNhY2hlIGtleS4gSWYgd2UgZG8gaGF2ZSBhIGNhY2hlIGtleSBidXQgd2UgZG9uJ3QgZW5kIHVwXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYSBjYWNoZSBlbnRyeSwgdGhlbiBlaXRoZXIgTmV4dC5qcyBvciB0aGUgYXBwbGljYXRpb24gaGFzIGFcbiAgICAgICAgICAgICAgICAgICAgLy8gYnVnIHRoYXQgbmVlZHMgZml4aW5nLlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdpbnZhcmlhbnQ6IGNhY2hlIGVudHJ5IHJlcXVpcmVkIGJ1dCBub3QgZ2VuZXJhdGVkJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTYyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKChfY2FjaGVFbnRyeV92YWx1ZSA9IGNhY2hlRW50cnkudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV92YWx1ZS5raW5kKSAhPT0gQ2FjaGVkUm91dGVLaW5kLkFQUF9QQUdFKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9jYWNoZUVudHJ5X3ZhbHVlMTtcbiAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhcmlhbnQgYXBwLXBhZ2UgaGFuZGxlciByZWNlaXZlZCBpbnZhbGlkIGNhY2hlIGVudHJ5ICR7KF9jYWNoZUVudHJ5X3ZhbHVlMSA9IGNhY2hlRW50cnkudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV92YWx1ZTEua2luZH1gKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU3MDdcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGlkUG9zdHBvbmUgPSB0eXBlb2YgY2FjaGVFbnRyeS52YWx1ZS5wb3N0cG9uZWQgPT09ICdzdHJpbmcnO1xuICAgICAgICAgICAgaWYgKGlzU1NHICYmIC8vIFdlIGRvbid0IHdhbnQgdG8gc2VuZCBhIGNhY2hlIGhlYWRlciBmb3IgcmVxdWVzdHMgdGhhdCBjb250YWluIGR5bmFtaWNcbiAgICAgICAgICAgIC8vIGRhdGEuIElmIHRoaXMgaXMgYSBEeW5hbWljIFJTQyByZXF1ZXN0IG9yIHdhc24ndCBhIFByZWZldGNoIFJTQ1xuICAgICAgICAgICAgLy8gcmVxdWVzdCwgdGhlbiB3ZSBzaG91bGQgc2V0IHRoZSBjYWNoZSBoZWFkZXIuXG4gICAgICAgICAgICAhaXNEeW5hbWljUlNDUmVxdWVzdCAmJiAoIWRpZFBvc3Rwb25lIHx8IGlzUHJlZmV0Y2hSU0NSZXF1ZXN0KSkge1xuICAgICAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHgtbmV4dGpzLWNhY2hlIGhlYWRlciB0byBtYXRjaCB0aGUgaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIHNldCBmb3IgdGhlIGltYWdlLW9wdGltaXplclxuICAgICAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKCd4LW5leHRqcy1jYWNoZScsIGlzT25EZW1hbmRSZXZhbGlkYXRlID8gJ1JFVkFMSURBVEVEJyA6IGNhY2hlRW50cnkuaXNNaXNzID8gJ01JU1MnIDogY2FjaGVFbnRyeS5pc1N0YWxlID8gJ1NUQUxFJyA6ICdISVQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gU2V0IGEgaGVhZGVyIHVzZWQgYnkgdGhlIGNsaWVudCByb3V0ZXIgdG8gc2lnbmFsIHRoZSByZXNwb25zZSBpcyBzdGF0aWNcbiAgICAgICAgICAgICAgICAvLyBhbmQgc2hvdWxkIHJlc3BlY3QgdGhlIGBzdGF0aWNgIGNhY2hlIHN0YWxlVGltZSB2YWx1ZS5cbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfSVNfUFJFUkVOREVSX0hFQURFUiwgJzEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWU6IGNhY2hlZERhdGEgfSA9IGNhY2hlRW50cnk7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIGNhY2hlIGNvbnRyb2wgcGFyYW1ldGVyIGZyb20gdGhlIHJlbmRlci5cbiAgICAgICAgICAgIGxldCBjYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcmVzdW1lIHJlcXVlc3QgaW4gbWluaW1hbCBtb2RlIGl0IGlzIHN0cmVhbWVkIHdpdGggZHluYW1pY1xuICAgICAgICAgICAgLy8gY29udGVudCBhbmQgc2hvdWxkIG5vdCBiZSBjYWNoZWQuXG4gICAgICAgICAgICBpZiAobWluaW1hbFBvc3Rwb25lZCkge1xuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtaW5pbWFsTW9kZSAmJiBpc1JTQ1JlcXVlc3QgJiYgIWlzUHJlZmV0Y2hSU0NSZXF1ZXN0ICYmIGlzUm91dGVQUFJFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVDb250cm9sID0ge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFyb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBwcmV2aWV3IG1vZGUgcmVxdWVzdCwgd2Ugc2hvdWxkbid0IGNhY2hlIGl0XG4gICAgICAgICAgICAgICAgaWYgKGlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGU6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzU1NHKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzLmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNhY2hlIGVudHJ5IGhhcyBhIGNhY2hlIGNvbnRyb2wgd2l0aCBhIHJldmFsaWRhdGUgdmFsdWUgdGhhdCdzXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgbnVtYmVyLCB1c2UgaXQuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfY2FjaGVFbnRyeV9jYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhbGlkIHJldmFsaWRhdGUgY29uZmlndXJhdGlvbiBwcm92aWRlZDogJHtjYWNoZUVudHJ5LmNhY2hlQ29udHJvbC5yZXZhbGlkYXRlfSA8IDFgKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkUyMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6ICgoX2NhY2hlRW50cnlfY2FjaGVDb250cm9sID0gY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV9jYWNoZUNvbnRyb2wuZXhwaXJlKSA/PyBuZXh0Q29uZmlnLmV4cGlyZVRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogQ0FDSEVfT05FX1lFQVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYWNoZUVudHJ5LmNhY2hlQ29udHJvbCA9IGNhY2hlQ29udHJvbDtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VnbWVudFByZWZldGNoSGVhZGVyID09PSAnc3RyaW5nJyAmJiAoY2FjaGVkRGF0YSA9PSBudWxsID8gdm9pZCAwIDogY2FjaGVkRGF0YS5raW5kKSA9PT0gQ2FjaGVkUm91dGVLaW5kLkFQUF9QQUdFICYmIGNhY2hlZERhdGEuc2VnbWVudERhdGEpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2NhY2hlZERhdGFfaGVhZGVyczE7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHByZWZldGNoIHJlcXVlc3QgaXNzdWVkIGJ5IHRoZSBjbGllbnQgU2VnbWVudCBDYWNoZS4gVGhlc2VcbiAgICAgICAgICAgICAgICAvLyBzaG91bGQgbmV2ZXIgcmVhY2ggdGhlIGFwcGxpY2F0aW9uIGxheWVyIChsYW1iZGEpLiBXZSBzaG91bGQgZWl0aGVyXG4gICAgICAgICAgICAgICAgLy8gcmVzcG9uZCBmcm9tIHRoZSBjYWNoZSAoSElUKSBvciByZXNwb25kIHdpdGggMjA0IE5vIENvbnRlbnQgKE1JU1MpLlxuICAgICAgICAgICAgICAgIC8vIFNldCBhIGhlYWRlciB0byBpbmRpY2F0ZSB0aGF0IFBQUiBpcyBlbmFibGVkIGZvciB0aGlzIHJvdXRlLiBUaGlzXG4gICAgICAgICAgICAgICAgLy8gbGV0cyB0aGUgY2xpZW50IGRpc3Rpbmd1aXNoIGJldHdlZW4gYSByZWd1bGFyIGNhY2hlIG1pc3MgYW5kIGEgY2FjaGVcbiAgICAgICAgICAgICAgICAvLyBtaXNzIGR1ZSB0byBQUFIgYmVpbmcgZGlzYWJsZWQuIEluIG90aGVyIGNvbnRleHRzIHRoaXMgaGVhZGVyIGlzIHVzZWRcbiAgICAgICAgICAgICAgICAvLyB0byBpbmRpY2F0ZSB0aGF0IHRoZSByZXNwb25zZSBjb250YWlucyBkeW5hbWljIGRhdGEsIGJ1dCBoZXJlIHdlJ3JlXG4gICAgICAgICAgICAgICAgLy8gb25seSB1c2luZyBpdCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQg4oCUIHRoZSBzZWdtZW50XG4gICAgICAgICAgICAgICAgLy8gcmVzcG9uc2UgaXRzZWxmIGNvbnRhaW5zIHdoZXRoZXIgdGhlIGRhdGEgaXMgZHluYW1pYy5cbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfRElEX1BPU1RQT05FX0hFQURFUiwgJzInKTtcbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGNhY2hlIHRhZ3MgaGVhZGVyIHRvIHRoZSByZXNwb25zZSBpZiBpdCBleGlzdHMgYW5kIHdlJ3JlIGluXG4gICAgICAgICAgICAgICAgLy8gbWluaW1hbCBtb2RlIHdoaWxlIHJlbmRlcmluZyBhIHN0YXRpYyBwYWdlLlxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSAoX2NhY2hlZERhdGFfaGVhZGVyczEgPSBjYWNoZWREYXRhLmhlYWRlcnMpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVkRGF0YV9oZWFkZXJzMVtORVhUX0NBQ0hFX1RBR1NfSEVBREVSXTtcbiAgICAgICAgICAgICAgICBpZiAobWluaW1hbE1vZGUgJiYgaXNTU0cgJiYgdGFncyAmJiB0eXBlb2YgdGFncyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihORVhUX0NBQ0hFX1RBR1NfSEVBREVSLCB0YWdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlZFNlZ21lbnQgPSBjYWNoZWREYXRhLnNlZ21lbnREYXRhLmdldChzZWdtZW50UHJlZmV0Y2hIZWFkZXIpO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVkU2VnbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENhY2hlIGhpdFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRXRhZ3M6IG5leHRDb25maWcuZ2VuZXJhdGVFdGFncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKG1hdGNoZWRTZWdtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIENhY2hlIG1pc3MuIEVpdGhlciBhIGNhY2hlIGVudHJ5IGZvciB0aGlzIHJvdXRlIGhhcyBub3QgYmVlbiBnZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICAvLyAod2hpY2ggdGVjaG5pY2FsbHkgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB3aGVuIFBQUiBpcyBlbmFibGVkLCBiZWNhdXNlXG4gICAgICAgICAgICAgICAgLy8gYXQgYSBtaW5pbXVtIHRoZXJlIHNob3VsZCBhbHdheXMgYmUgYSBmYWxsYmFjayBlbnRyeSkgb3IgdGhlcmUncyBub1xuICAgICAgICAgICAgICAgIC8vIG1hdGNoIGZvciB0aGUgcmVxdWVzdGVkIHNlZ21lbnQuIFJlc3BvbmQgd2l0aCBhIDIwNCBObyBDb250ZW50LiBXZVxuICAgICAgICAgICAgICAgIC8vIGRvbid0IGJvdGhlciB0byByZXNwb25kIHdpdGggNDA0LCBiZWNhdXNlIHRoZXNlIHJlcXVlc3RzIGFyZSBvbmx5XG4gICAgICAgICAgICAgICAgLy8gaXNzdWVkIGFzIHBhcnQgb2YgYSBwcmVmZXRjaC5cbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDIwNDtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKCcnKSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiBjYWNoZUVudHJ5LmNhY2hlQ29udHJvbFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBhIGNhbGxiYWNrIGZvciBgb25DYWNoZUVudHJ5YCwgY2FsbCBpdCB3aXRoIHRoZSBjYWNoZSBlbnRyeVxuICAgICAgICAgICAgLy8gYW5kIHRoZSByZXZhbGlkYXRlIG9wdGlvbnMuXG4gICAgICAgICAgICBjb25zdCBvbkNhY2hlRW50cnkgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdvbkNhY2hlRW50cnknKTtcbiAgICAgICAgICAgIGlmIChvbkNhY2hlRW50cnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZCA9IGF3YWl0IG9uQ2FjaGVFbnRyeSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhY2hlRW50cnksXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIHdoZW4gdXBzdHJlYW0gZG9lc24ndFxuICAgICAgICAgICAgICAgICAgICAvLyBhbHdheXMgZXhwZWN0IHRoaXMgdmFsdWUgdG8gYmUgXCJQQUdFXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNhY2hlRW50cnkudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiAnUEFHRSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBnZXRSZXF1ZXN0TWV0YShyZXEsICdpbml0VVJMJylcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZmluaXNoZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogbWF5YmUgd2UgaGF2ZSB0byBlbmQgdGhlIHJlcXVlc3Q/XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSByZXF1ZXN0IGhhcyBhIHBvc3Rwb25lZCBzdGF0ZSBhbmQgaXQncyBhIHJlc3VtZSByZXF1ZXN0IHdlXG4gICAgICAgICAgICAvLyBzaG91bGQgZXJyb3IuXG4gICAgICAgICAgICBpZiAoZGlkUG9zdHBvbmUgJiYgbWluaW1hbFBvc3Rwb25lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoJ0ludmFyaWFudDogcG9zdHBvbmVkIHN0YXRlIHNob3VsZCBub3QgYmUgcHJlc2VudCBvbiBhIHJlc3VtZSByZXF1ZXN0JyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJFMzk2XCIsXG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYWNoZWREYXRhLmhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jYWNoZWREYXRhLmhlYWRlcnNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUgfHwgIWlzU1NHKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBoZWFkZXJzW05FWFRfQ0FDSEVfVEFHU19IRUFERVJdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycykpe1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuYXBwZW5kSGVhZGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmFwcGVuZEhlYWRlcihrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5hcHBlbmRIZWFkZXIoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBZGQgdGhlIGNhY2hlIHRhZ3MgaGVhZGVyIHRvIHRoZSByZXNwb25zZSBpZiBpdCBleGlzdHMgYW5kIHdlJ3JlIGluXG4gICAgICAgICAgICAvLyBtaW5pbWFsIG1vZGUgd2hpbGUgcmVuZGVyaW5nIGEgc3RhdGljIHBhZ2UuXG4gICAgICAgICAgICBjb25zdCB0YWdzID0gKF9jYWNoZWREYXRhX2hlYWRlcnMgPSBjYWNoZWREYXRhLmhlYWRlcnMpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVkRGF0YV9oZWFkZXJzW05FWFRfQ0FDSEVfVEFHU19IRUFERVJdO1xuICAgICAgICAgICAgaWYgKG1pbmltYWxNb2RlICYmIGlzU1NHICYmIHRhZ3MgJiYgdHlwZW9mIHRhZ3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihORVhUX0NBQ0hFX1RBR1NfSEVBREVSLCB0YWdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSByZXF1ZXN0IGlzIGEgZGF0YSByZXF1ZXN0LCB0aGVuIHdlIHNob3VsZG4ndCBzZXQgdGhlIHN0YXR1cyBjb2RlXG4gICAgICAgICAgICAvLyBmcm9tIHRoZSByZXNwb25zZSBiZWNhdXNlIGl0IHNob3VsZCBhbHdheXMgYmUgMjAwLiBUaGlzIHNob3VsZCBiZSBnYXRlZFxuICAgICAgICAgICAgLy8gYmVoaW5kIHRoZSBleHBlcmltZW50YWwgUFBSIGZsYWcuXG4gICAgICAgICAgICBpZiAoY2FjaGVkRGF0YS5zdGF0dXMgJiYgKCFpc1JTQ1JlcXVlc3QgfHwgIWlzUm91dGVQUFJFbmFibGVkKSkge1xuICAgICAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gY2FjaGVkRGF0YS5zdGF0dXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBSZWRpcmVjdCBpbmZvcm1hdGlvbiBpcyBlbmNvZGVkIGluIFJTQyBwYXlsb2FkLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHVzZSByZWRpcmVjdCBzdGF0dXMgY29kZXNcbiAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUgJiYgY2FjaGVkRGF0YS5zdGF0dXMgJiYgUmVkaXJlY3RTdGF0dXNDb2RlW2NhY2hlZERhdGEuc3RhdHVzXSAmJiBpc1JTQ1JlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDIwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIE1hcmsgdGhhdCB0aGUgcmVxdWVzdCBkaWQgcG9zdHBvbmUuXG4gICAgICAgICAgICBpZiAoZGlkUG9zdHBvbmUpIHtcbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfRElEX1BPU1RQT05FX0hFQURFUiwgJzEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHdlIGRvbid0IGdvIHRocm91Z2ggdGhpcyBibG9jayB3aGVuIHByZXZpZXcgbW9kZSBpcyB0cnVlXG4gICAgICAgICAgICAvLyBhcyBwcmV2aWV3IG1vZGUgaXMgYSBkeW5hbWljIHJlcXVlc3QgKGJ5cGFzc2VzIGNhY2hlKSBhbmQgZG9lc24ndFxuICAgICAgICAgICAgLy8gZ2VuZXJhdGUgYm90aCBIVE1MIGFuZCBwYXlsb2FkcyBpbiB0aGUgc2FtZSByZXF1ZXN0IHNvIGNvbnRpbnVlIHRvIGp1c3RcbiAgICAgICAgICAgIC8vIHJldHVybiB0aGUgZ2VuZXJhdGVkIHBheWxvYWRcbiAgICAgICAgICAgIGlmIChpc1JTQ1JlcXVlc3QgJiYgIWlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGR5bmFtaWMgUlNDIHJlcXVlc3QsIHRoZW4gc3RyZWFtIHRoZSByZXNwb25zZS5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZERhdGEucnNjRGF0YSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhY2hlZERhdGEucG9zdHBvbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbnZhcmlhbnQ6IEV4cGVjdGVkIHBvc3Rwb25lZCB0byBiZSB1bmRlZmluZWQnKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTM3MlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbmRSZW5kZXJSZXN1bHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3JzYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUV0YWdzOiBuZXh0Q29uZmlnLmdlbmVyYXRlRXRhZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBjYWNoZWREYXRhLmh0bWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEeW5hbWljIFJTQyByZXNwb25zZXMgY2Fubm90IGJlIGNhY2hlZCwgZXZlbiBpZiB0aGV5J3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25maWd1cmVkIHdpdGggYGZvcmNlLXN0YXRpY2AgYmVjYXVzZSB3ZSBoYXZlIG5vIHdheSBvZlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiBgZm9yY2Utc3RhdGljYCBhbmQgcGFnZXMgdGhhdCBoYXZlIG5vXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3N0cG9uZWQgc3RhdGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkaXN0aW5ndWlzaCBgZm9yY2Utc3RhdGljYCBmcm9tIHBhZ2VzIHdpdGggbm8gcG9zdHBvbmVkIHN0YXRlIChzdGF0aWMpXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGlzRHluYW1pY1JTQ1JlcXVlc3QgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgfSA6IGNhY2hlRW50cnkuY2FjaGVDb250cm9sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBBcyB0aGlzIGlzbid0IGEgcHJlZmV0Y2ggcmVxdWVzdCwgd2Ugc2hvdWxkIHNlcnZlIHRoZSBzdGF0aWMgZmxpZ2h0XG4gICAgICAgICAgICAgICAgLy8gZGF0YS5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKGNhY2hlZERhdGEucnNjRGF0YSksXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSByZXF1ZXN0IGZvciBIVE1MIGRhdGEuXG4gICAgICAgICAgICBsZXQgYm9keSA9IGNhY2hlZERhdGEuaHRtbDtcbiAgICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gcG9zdHBvbmVkIHN0YXRlLCB3ZSBzaG91bGQganVzdCBzZXJ2ZSB0aGUgSFRNTC4gVGhpc1xuICAgICAgICAgICAgLy8gc2hvdWxkIGFsc28gYmUgdGhlIGNhc2UgZm9yIGEgcmVzdW1lIHJlcXVlc3QgYmVjYXVzZSBpdCdzIGNvbXBsZXRlZFxuICAgICAgICAgICAgLy8gYXMgYSBzZXJ2ZXIgcmVuZGVyIChyYXRoZXIgdGhhbiBhIHN0YXRpYyByZW5kZXIpLlxuICAgICAgICAgICAgaWYgKCFkaWRQb3N0cG9uZSB8fCBtaW5pbWFsTW9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZW5kUmVuZGVyUmVzdWx0KHtcbiAgICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdodG1sJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IGJvZHksXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHdlJ3JlIGRlYnVnZ2luZyB0aGUgc3RhdGljIHNoZWxsIG9yIHRoZSBkeW5hbWljIEFQSSBhY2Nlc3Nlcywgd2VcbiAgICAgICAgICAgIC8vIHNob3VsZCBqdXN0IHNlcnZlIHRoZSBIVE1MIHdpdGhvdXQgcmVzdW1pbmcgdGhlIHJlbmRlci4gVGhlIHJldHVybmVkXG4gICAgICAgICAgICAvLyBIVE1MIHdpbGwgYmUgdGhlIHN0YXRpYyBzaGVsbCBzbyBhbGwgdGhlIER5bmFtaWMgQVBJJ3Mgd2lsbCBiZSB1c2VkXG4gICAgICAgICAgICAvLyBkdXJpbmcgc3RhdGljIGdlbmVyYXRpb24uXG4gICAgICAgICAgICBpZiAoaXNEZWJ1Z1N0YXRpY1NoZWxsIHx8IGlzRGVidWdEeW5hbWljQWNjZXNzZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSdyZSBub3QgcmVzdW1pbmcgdGhlIHJlbmRlciwgd2UgbmVlZCB0byBhdCBsZWFzdCBhZGQgdGhlXG4gICAgICAgICAgICAgICAgLy8gY2xvc2luZyBib2R5IGFuZCBodG1sIHRhZ3MgdG8gY3JlYXRlIHZhbGlkIEhUTUwuXG4gICAgICAgICAgICAgICAgYm9keS5jaGFpbihuZXcgUmVhZGFibGVTdHJlYW0oe1xuICAgICAgICAgICAgICAgICAgICBzdGFydCAoY29udHJvbGxlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKEVOQ09ERURfVEFHUy5DTE9TRUQuQk9EWV9BTkRfSFRNTCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbmRSZW5kZXJSZXN1bHQoe1xuICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2h0bWwnLFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUV0YWdzOiBuZXh0Q29uZmlnLmdlbmVyYXRlRXRhZ3MsXG4gICAgICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdDogYm9keSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhpcyByZXF1ZXN0IGhhcyBwb3N0cG9uZWQsIHNvIGxldCdzIGNyZWF0ZSBhIG5ldyB0cmFuc2Zvcm1lciB0aGF0IHRoZVxuICAgICAgICAgICAgLy8gZHluYW1pYyBkYXRhIGNhbiBwaXBlIHRvIHRoYXQgd2lsbCBhdHRhY2ggdGhlIGR5bmFtaWMgZGF0YSB0byB0aGUgZW5kXG4gICAgICAgICAgICAvLyBvZiB0aGUgcmVzcG9uc2UuXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lciA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oKTtcbiAgICAgICAgICAgIGJvZHkuY2hhaW4odHJhbnNmb3JtZXIucmVhZGFibGUpO1xuICAgICAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVuZGVyIGFnYWluLCBidXQgdGhpcyB0aW1lLCBwcm92aWRlIHRoZSBwb3N0cG9uZWQgc3RhdGUuXG4gICAgICAgICAgICAvLyBXZSBkb24ndCBhd2FpdCBiZWNhdXNlIHdlIHdhbnQgdGhlIHJlc3VsdCB0byBzdGFydCBzdHJlYW1pbmcgbm93LCBhbmRcbiAgICAgICAgICAgIC8vIHdlJ3ZlIGFscmVhZHkgY2hhaW5lZCB0aGUgdHJhbnNmb3JtZXIncyByZWFkYWJsZSB0byB0aGUgcmVuZGVyIHJlc3VsdC5cbiAgICAgICAgICAgIGRvUmVuZGVyKHtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIHBvc3Rwb25lZDogY2FjaGVkRGF0YS5wb3N0cG9uZWQsXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHJlc3VtZSByZW5kZXIsIG5vdCBhIGZhbGxiYWNrIHJlbmRlciwgc28gd2UgZG9uJ3QgbmVlZCB0b1xuICAgICAgICAgICAgICAgIC8vIHNldCB0aGlzLlxuICAgICAgICAgICAgICAgIGZhbGxiYWNrUm91dGVQYXJhbXM6IG51bGxcbiAgICAgICAgICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCk9PntcbiAgICAgICAgICAgICAgICB2YXIgX3Jlc3VsdF92YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbnZhcmlhbnQ6IGV4cGVjdGVkIGEgcmVzdWx0IHRvIGJlIHJldHVybmVkJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTQ2M1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoKF9yZXN1bHRfdmFsdWUgPSByZXN1bHQudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfcmVzdWx0X3ZhbHVlLmtpbmQpICE9PSBDYWNoZWRSb3V0ZUtpbmQuQVBQX1BBR0UpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9yZXN1bHRfdmFsdWUxO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhcmlhbnQ6IGV4cGVjdGVkIGEgcGFnZSByZXNwb25zZSwgZ290ICR7KF9yZXN1bHRfdmFsdWUxID0gcmVzdWx0LnZhbHVlKSA9PSBudWxsID8gdm9pZCAwIDogX3Jlc3VsdF92YWx1ZTEua2luZH1gKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJFMzA1XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gUGlwZSB0aGUgcmVzdW1lIHJlc3VsdCB0byB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICAgICAgICAgICAgYXdhaXQgcmVzdWx0LnZhbHVlLmh0bWwucGlwZVRvKHRyYW5zZm9ybWVyLndyaXRhYmxlKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgLy8gQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBpcGluZyBvciBwcmVwYXJpbmcgdGhlIHJlbmRlciwgYWJvcnRcbiAgICAgICAgICAgICAgICAvLyB0aGUgdHJhbnNmb3JtZXJzIHdyaXRlciBzbyB3ZSBjYW4gdGVybWluYXRlIHRoZSBzdHJlYW0uXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXIud3JpdGFibGUuYWJvcnQoZXJyKS5jYXRjaCgoZSk9PntcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcImNvdWxkbid0IGFib3J0IHRyYW5zZm9ybWVyXCIsIGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaHRtbCcsXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiBib2R5LFxuICAgICAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY2FjaGUgdGhlIHJlc3BvbnNlIGlmIGl0IGhhcyBwb3N0cG9uZWQgZGF0YSBiZWNhdXNlXG4gICAgICAgICAgICAgICAgLy8gdGhlIHJlc3BvbnNlIGJlaW5nIHNlbnQgdG8gdGhlIGNsaWVudCBpdCdzIGR5bmFtaWMgcGFydHMgYXJlIHN0cmVhbWVkXG4gICAgICAgICAgICAgICAgLy8gdG8gdGhlIGNsaWVudCBvbiB0aGUgc2FtZSByZXF1ZXN0LlxuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDoge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyBUT0RPOiBhY3RpdmVTcGFuIGNvZGUgcGF0aCBpcyBmb3Igd2hlbiB3cmFwcGVkIGJ5XG4gICAgICAgIC8vIG5leHQtc2VydmVyIGNhbiBiZSByZW1vdmVkIHdoZW4gdGhpcyBpcyBubyBsb25nZXIgdXNlZFxuICAgICAgICBpZiAoYWN0aXZlU3Bhbikge1xuICAgICAgICAgICAgYXdhaXQgaGFuZGxlUmVzcG9uc2UoYWN0aXZlU3Bhbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdHJhY2VyLndpdGhQcm9wYWdhdGVkQ29udGV4dChyZXEuaGVhZGVycywgKCk9PnRyYWNlci50cmFjZShCYXNlU2VydmVyU3Bhbi5oYW5kbGVSZXF1ZXN0LCB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW5OYW1lOiBgJHttZXRob2R9ICR7cmVxLnVybH1gLFxuICAgICAgICAgICAgICAgICAgICBraW5kOiBTcGFuS2luZC5TRVJWRVIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLm1ldGhvZCc6IG1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLnRhcmdldCc6IHJlcS51cmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGhhbmRsZVJlc3BvbnNlKSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gaWYgd2UgYXJlbid0IHdyYXBwZWQgYnkgYmFzZS1zZXJ2ZXIgaGFuZGxlIGhlcmVcbiAgICAgICAgaWYgKCFhY3RpdmVTcGFuICYmICEoZXJyIGluc3RhbmNlb2YgTm9GYWxsYmFja0Vycm9yKSkge1xuICAgICAgICAgICAgYXdhaXQgcm91dGVNb2R1bGUub25SZXF1ZXN0RXJyb3IocmVxLCBlcnIsIHtcbiAgICAgICAgICAgICAgICByb3V0ZXJLaW5kOiAnQXBwIFJvdXRlcicsXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBzcmNQYWdlLFxuICAgICAgICAgICAgICAgIHJvdXRlVHlwZTogJ3JlbmRlcicsXG4gICAgICAgICAgICAgICAgcmV2YWxpZGF0ZVJlYXNvbjogZ2V0UmV2YWxpZGF0ZVJlYXNvbih7XG4gICAgICAgICAgICAgICAgICAgIGlzUmV2YWxpZGF0ZTogaXNTU0csXG4gICAgICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sIHJvdXRlclNlcnZlckNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJldGhyb3cgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIHNlcnZpbmcgZXJyb3IgcGFnZVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx&rootDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/async-metadata.js */ \"(rsc)/./node_modules/next/dist/client/components/metadata/async-metadata.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/generate/icon-mark.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/generate/icon-mark.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js */ \"(rsc)/./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1zZWdtZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmh0dHAtYWNjZXNzLWZhbGxiYWNrJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZtZXRhZGF0YSUyRmFzeW5jLW1ldGFkYXRhLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm1ldGFkYXRhJTJGbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmxpYiUyRm1ldGFkYXRhJTJGZ2VuZXJhdGUlMkZpY29uLW1hcmsuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZuZXh0LWRldnRvb2xzJTJGdXNlcnNwYWNlJTJGYXBwJTJGc2VnbWVudC1leHBsb3Jlci1ub2RlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBeUk7QUFDekk7QUFDQSwwT0FBNEk7QUFDNUk7QUFDQSxvUkFBaUs7QUFDaks7QUFDQSx3T0FBMkk7QUFDM0k7QUFDQSw0UEFBcUo7QUFDcko7QUFDQSxrUUFBd0o7QUFDeEo7QUFDQSxzUUFBMEo7QUFDMUo7QUFDQSx3T0FBMkk7QUFDM0k7QUFDQSw0UUFBNkoiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXBhZ2UuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXNlZ21lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9hc3luYy1tZXRhZGF0YS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9tZXRhZGF0YS1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZW5lcmF0ZS9pY29uLW1hcmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL3NlZ21lbnQtZXhwbG9yZXItbm9kZS5qc1wiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*****************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*****************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/global-error.tsx */ \"(rsc)/./src/app/global-error.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRmdsb2JhbC1lcnJvci50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdLQUEwRyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9nbG9iYWwtZXJyb3IudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true! ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/AppShell.tsx */ \"(rsc)/./src/components/AppShell.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Providers.tsx */ \"(rsc)/./src/components/Providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRmdsb2JhbHMuY3NzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZmb250JTJGbG9jYWwlMkZ0YXJnZXQuY3NzJTNGJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMnNyYyUyRmFwcCUyRmxheW91dC50c3glNUMlMjIlMkMlNUMlMjJpbXBvcnQlNUMlMjIlM0ElNUMlMjIlNUMlMjIlMkMlNUMlMjJhcmd1bWVudHMlNUMlMjIlM0ElNUIlN0IlNUMlMjJzcmMlNUMlMjIlM0ElNUIlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRlJhamRoYW5pJTJGUmFqZGhhbmktU2VtaUJvbGQudHRmJTVDJTIyJTJDJTVDJTIyd2VpZ2h0JTVDJTIyJTNBJTVDJTIyNjAwJTVDJTIyJTJDJTVDJTIyc3R5bGUlNUMlMjIlM0ElNUMlMjJub3JtYWwlNUMlMjIlN0QlMkMlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRlJhamRoYW5pJTJGUmFqZGhhbmktQm9sZC50dGYlNUMlMjIlMkMlNUMlMjJ3ZWlnaHQlNUMlMjIlM0ElNUMlMjI3MDAlNUMlMjIlMkMlNUMlMjJzdHlsZSU1QyUyMiUzQSU1QyUyMm5vcm1hbCU1QyUyMiU3RCU1RCUyQyU1QyUyMnZhcmlhYmxlJTVDJTIyJTNBJTVDJTIyLS1mb250LXJhamRoYW5pJTVDJTIyJTJDJTVDJTIyZGlzcGxheSU1QyUyMiUzQSU1QyUyMnN3YXAlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJyYWpkaGFuaSU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmxvY2FsJTJGdGFyZ2V0LmNzcyUzRiU3QiU1QyUyMnBhdGglNUMlMjIlM0ElNUMlMjJzcmMlMkZhcHAlMkZsYXlvdXQudHN4JTVDJTIyJTJDJTVDJTIyaW1wb3J0JTVDJTIyJTNBJTVDJTIyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3JjJTVDJTIyJTNBJTVCJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMi4uJTJGZm9udHMlMkZLYW5pdCUyRkthbml0LVJlZ3VsYXIudHRmJTVDJTIyJTJDJTVDJTIyd2VpZ2h0JTVDJTIyJTNBJTVDJTIyNDAwJTVDJTIyJTJDJTVDJTIyc3R5bGUlNUMlMjIlM0ElNUMlMjJub3JtYWwlNUMlMjIlN0QlMkMlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRkthbml0JTJGS2FuaXQtTWVkaXVtLnR0ZiU1QyUyMiUyQyU1QyUyMndlaWdodCU1QyUyMiUzQSU1QyUyMjUwMCU1QyUyMiUyQyU1QyUyMnN0eWxlJTVDJTIyJTNBJTVDJTIybm9ybWFsJTVDJTIyJTdEJTJDJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMi4uJTJGZm9udHMlMkZLYW5pdCUyRkthbml0LU1lZGl1bUl0YWxpYy50dGYlNUMlMjIlMkMlNUMlMjJ3ZWlnaHQlNUMlMjIlM0ElNUMlMjI1MDAlNUMlMjIlMkMlNUMlMjJzdHlsZSU1QyUyMiUzQSU1QyUyMml0YWxpYyU1QyUyMiU3RCU1RCUyQyU1QyUyMnZhcmlhYmxlJTVDJTIyJTNBJTVDJTIyLS1mb250LWthbml0JTVDJTIyJTJDJTVDJTIyZGlzcGxheSU1QyUyMiUzQSU1QyUyMnN3YXAlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJrYW5pdCU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZzcmMlMkZjb21wb25lbnRzJTJGQXBwU2hlbGwudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyZGVmYXVsdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZzcmMlMkZjb21wb25lbnRzJTJGUHJvdmlkZXJzLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMmRlZmF1bHQlMjIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLHNLQUEwSTtBQUMxSTtBQUNBLHdLQUEySSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0FwcFNoZWxsLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL1Byb3ZpZGVycy50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*********************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*********************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnSkFBa0ciLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvcGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__":
/*!*********************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__ ***!
\*********************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/lib/metadata/get-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\");\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__);\n \n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (async (props) => {\n const imageData = {\"type\":\"image/svg+xml\",\"sizes\":\"any\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", await props.params, \"icon.svg\")\n\n return [{\n ...imageData,\n url: imageUrl + \"?042324936fe4a851\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9bWR4IS4vc3JjL2FwcC9pY29uLnN2Zz9fX25leHRfbWV0YWRhdGFfXyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxFQUFpRjs7QUFFakYsRUFBRSxpRUFBZTtBQUNqQix1QkFBdUI7QUFDdkIscUJBQXFCLDhGQUFtQjs7QUFFeEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL2ljb24uc3ZnP19fbmV4dF9tZXRhZGF0YV9fIl0sInNvdXJjZXNDb250ZW50IjpbIiAgaW1wb3J0IHsgZmlsbE1ldGFkYXRhU2VnbWVudCB9IGZyb20gJ25leHQvZGlzdC9saWIvbWV0YWRhdGEvZ2V0LW1ldGFkYXRhLXJvdXRlJ1xuXG4gIGV4cG9ydCBkZWZhdWx0IGFzeW5jIChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IHtcInR5cGVcIjpcImltYWdlL3N2Zyt4bWxcIixcInNpemVzXCI6XCJhbnlcIn1cbiAgICBjb25zdCBpbWFnZVVybCA9IGZpbGxNZXRhZGF0YVNlZ21lbnQoXCIuXCIsIGF3YWl0IHByb3BzLnBhcmFtcywgXCJpY29uLnN2Z1wiKVxuXG4gICAgcmV0dXJuIFt7XG4gICAgICAuLi5pbWFnZURhdGEsXG4gICAgICB1cmw6IGltYWdlVXJsICsgXCI/MDQyMzI0OTM2ZmU0YTg1MVwiLFxuICAgIH1dXG4gIH0iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx!./src/app/icon.svg?__next_metadata__\n");
/***/ }),
/***/ "(rsc)/./src/app/global-error.tsx":
/*!**********************************!*\
!*** ./src/app/global-error.tsx ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/app/globals.css":
/*!*****************************!*\
!*** ./src/app/globals.css ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"49180a7b113c\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvYXBwL2dsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNDkxODBhN2IxMTNjXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n");
/***/ }),
/***/ "(rsc)/./src/app/layout.tsx":
/*!****************************!*\
!*** ./src/app/layout.tsx ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ wrappedServerComponent$1),\n/* harmony export */ generateImageMetadata: () => (/* binding */ generateImageMetadata),\n/* harmony export */ generateMetadata: () => (/* binding */ generateMetadata),\n/* harmony export */ generateViewport: () => (/* binding */ generateViewport),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/app-render/work-unit-async-storage.external.js */ \"./work-unit-async-storage.external\");\n/* harmony import */ var next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_metadata__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/metadata */ \"(rsc)/./src/lib/metadata.ts\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_Providers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Providers */ \"(rsc)/./src/components/Providers.tsx\");\n/* harmony import */ var _components_AppShell__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/AppShell */ \"(rsc)/./src/components/AppShell.tsx\");\n/* harmony import */ var next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Rajdhani_Rajdhani_SemiBold_ttf_weight_600_style_normal_path_fonts_Rajdhani_Rajdhani_Bold_ttf_weight_700_style_normal_variable_font_rajdhani_display_swap_variableName_rajdhani___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/local/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"\",\"arguments\":[{\"src\":[{\"path\":\"../fonts/Rajdhani/Rajdhani-SemiBold.ttf\",\"weight\":\"600\",\"style\":\"normal\"},{\"path\":\"../fonts/Rajdhani/Rajdhani-Bold.ttf\",\"weight\":\"700\",\"style\":\"normal\"}],\"variable\":\"--font-rajdhani\",\"display\":\"swap\"}],\"variableName\":\"rajdhani\"} */ \"(rsc)/./node_modules/next/font/local/target.css?{\\\"path\\\":\\\"src/app/layout.tsx\\\",\\\"import\\\":\\\"\\\",\\\"arguments\\\":[{\\\"src\\\":[{\\\"path\\\":\\\"../fonts/Rajdhani/Rajdhani-SemiBold.ttf\\\",\\\"weight\\\":\\\"600\\\",\\\"style\\\":\\\"normal\\\"},{\\\"path\\\":\\\"../fonts/Rajdhani/Rajdhani-Bold.ttf\\\",\\\"weight\\\":\\\"700\\\",\\\"style\\\":\\\"normal\\\"}],\\\"variable\\\":\\\"--font-rajdhani\\\",\\\"display\\\":\\\"swap\\\"}],\\\"variableName\\\":\\\"rajdhani\\\"}\");\n/* harmony import */ var next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Rajdhani_Rajdhani_SemiBold_ttf_weight_600_style_normal_path_fonts_Rajdhani_Rajdhani_Bold_ttf_weight_700_style_normal_variable_font_rajdhani_display_swap_variableName_rajdhani___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Rajdhani_Rajdhani_SemiBold_ttf_weight_600_style_normal_path_fonts_Rajdhani_Rajdhani_Bold_ttf_weight_700_style_normal_variable_font_rajdhani_display_swap_variableName_rajdhani___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Kanit_Kanit_Regular_ttf_weight_400_style_normal_path_fonts_Kanit_Kanit_Medium_ttf_weight_500_style_normal_path_fonts_Kanit_Kanit_MediumItalic_ttf_weight_500_style_italic_variable_font_kanit_display_swap_variableName_kanit___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! next/font/local/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"\",\"arguments\":[{\"src\":[{\"path\":\"../fonts/Kanit/Kanit-Regular.ttf\",\"weight\":\"400\",\"style\":\"normal\"},{\"path\":\"../fonts/Kanit/Kanit-Medium.ttf\",\"weight\":\"500\",\"style\":\"normal\"},{\"path\":\"../fonts/Kanit/Kanit-MediumItalic.ttf\",\"weight\":\"500\",\"style\":\"italic\"}],\"variable\":\"--font-kanit\",\"display\":\"swap\"}],\"variableName\":\"kanit\"} */ \"(rsc)/./node_modules/next/font/local/target.css?{\\\"path\\\":\\\"src/app/layout.tsx\\\",\\\"import\\\":\\\"\\\",\\\"arguments\\\":[{\\\"src\\\":[{\\\"path\\\":\\\"../fonts/Kanit/Kanit-Regular.ttf\\\",\\\"weight\\\":\\\"400\\\",\\\"style\\\":\\\"normal\\\"},{\\\"path\\\":\\\"../fonts/Kanit/Kanit-Medium.ttf\\\",\\\"weight\\\":\\\"500\\\",\\\"style\\\":\\\"normal\\\"},{\\\"path\\\":\\\"../fonts/Kanit/Kanit-MediumItalic.ttf\\\",\\\"weight\\\":\\\"500\\\",\\\"style\\\":\\\"italic\\\"}],\\\"variable\\\":\\\"--font-kanit\\\",\\\"display\\\":\\\"swap\\\"}],\\\"variableName\\\":\\\"kanit\\\"}\");\n/* harmony import */ var next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Kanit_Kanit_Regular_ttf_weight_400_style_normal_path_fonts_Kanit_Kanit_Medium_ttf_weight_500_style_normal_path_fonts_Kanit_Kanit_MediumItalic_ttf_weight_500_style_italic_variable_font_kanit_display_swap_variableName_kanit___WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Kanit_Kanit_Regular_ttf_weight_400_style_normal_path_fonts_Kanit_Kanit_Medium_ttf_weight_500_style_normal_path_fonts_Kanit_Kanit_MediumItalic_ttf_weight_500_style_italic_variable_font_kanit_display_swap_variableName_kanit___WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @sentry/nextjs */ \"(rsc)/./node_modules/@sentry/nextjs/build/cjs/index.server.js\");\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_sentry_nextjs__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\n\nconst metadata = _lib_metadata__WEBPACK_IMPORTED_MODULE_2__.baseMetadata;\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxDEV)(\"html\", {\n lang: \"en\",\n className: \"dark\",\n suppressHydrationWarning: true,\n \"data-scroll-behavior\": \"smooth\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxDEV)(\"body\", {\n className: `${(next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Rajdhani_Rajdhani_SemiBold_ttf_weight_600_style_normal_path_fonts_Rajdhani_Rajdhani_Bold_ttf_weight_700_style_normal_variable_font_rajdhani_display_swap_variableName_rajdhani___WEBPACK_IMPORTED_MODULE_7___default().variable)} ${(next_font_local_target_css_path_src_app_layout_tsx_import_arguments_src_path_fonts_Kanit_Kanit_Regular_ttf_weight_400_style_normal_path_fonts_Kanit_Kanit_Medium_ttf_weight_500_style_normal_path_fonts_Kanit_Kanit_MediumItalic_ttf_weight_500_style_italic_variable_font_kanit_display_swap_variableName_kanit___WEBPACK_IMPORTED_MODULE_8___default().variable)} min-h-screen bg-surface-800 text-text-primary antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxDEV)(_components_Providers__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxDEV)(_components_AppShell__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx\",\n lineNumber: 68,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx\",\n lineNumber: 64,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n\n// @ts-expect-error Because we cannot be sure if the RequestAsyncStorage module exists (it is not part of the Next.js public\n// API) we use a shim if it doesn't exist. The logic for this is in the wrapping loader.\n\nconst asyncStorageModule = { ...next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__ } ;\n\nconst requestAsyncStorage =\n 'workUnitAsyncStorage' in asyncStorageModule\n ? asyncStorageModule.workUnitAsyncStorage\n : 'requestAsyncStorage' in asyncStorageModule\n ? asyncStorageModule.requestAsyncStorage\n : undefined;\n\nconst serverComponent = RootLayout;\n\nlet wrappedServerComponent;\nif (typeof serverComponent === 'function') {\n // For some odd Next.js magic reason, `headers()` will not work if used inside `wrapServerComponentsWithSentry`.\n // Current assumption is that Next.js applies some loader magic to userfiles, but not files in node_modules. This file\n // is technically a userfile so it gets the loader magic applied.\n wrappedServerComponent = new Proxy(serverComponent, {\n apply: (originalFunction, thisArg, args) => {\n let sentryTraceHeader = undefined;\n let baggageHeader = undefined;\n let headers = undefined;\n\n // We try-catch here just in `requestAsyncStorage` is undefined since it may not be defined\n try {\n const requestAsyncStore = requestAsyncStorage?.getStore() ;\n sentryTraceHeader = requestAsyncStore?.headers.get('sentry-trace') ?? undefined;\n baggageHeader = requestAsyncStore?.headers.get('baggage') ?? undefined;\n headers = requestAsyncStore?.headers;\n } catch {\n /** empty */\n }\n\n return _sentry_nextjs__WEBPACK_IMPORTED_MODULE_9__.wrapServerComponentWithSentry(originalFunction, {\n componentRoute: '/',\n componentType: 'Layout',\n sentryTraceHeader,\n baggageHeader,\n headers,\n }).apply(thisArg, args);\n },\n });\n} else {\n wrappedServerComponent = serverComponent;\n}\n\nconst generateMetadata = undefined;\n\nconst generateImageMetadata = undefined;\n\nconst generateViewport = undefined;\n\nconst wrappedServerComponent$1 = wrappedServerComponent;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpRE8sTUFBTUEsV0FBcUJDLHVEQUFZQTtBQUUvQixTQUFTQyxVQUFBQSxDQUFXLEVBQ2pDQyxRQUFRLEVBR1Q7QUFDQyx5QkFDRUMsNkRBQUEsQ0FBQ0MsTUFBQUEsRUFBQUE7UUFDQ0MsSUFBQUEsRUFBSztRQUNMQyxTQUFBQSxFQUFVO1FBQ1ZDLHdCQUF3QjtRQUN4QkMsc0JBQUFBLEVBQXFCO0FBRXJCLGdDQUFBTCw2REFBQSxDQUFDTSxNQUFBQSxFQUFBQTtZQUNDSCxTQUFBQSxFQUFXLEdBQUdJLG9UQUFpQixDQUFDLENBQUMsRUFBRUUsbVdBQWMsQ0FBQywwREFBMEQsQ0FBQztBQUU3RyxvQ0FBQVQsNkRBQUEsQ0FBQ1UsNkRBQUFBLEVBQUFBO0FBQ0Msd0NBQUFWLDZEQUFBLENBQUNXLDREQUFBQSxFQUFBQTtBQUFVWixvQkFBQUEsUUFBQUEsRUFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtyQjs7QUNuRUE7QUFDQTs7QUFFQSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyw0RkFBVSxFQUFFOztBQUU1QyxNQUFNLG1CQUFtQjtBQUN6QixFQUFFLHNCQUFzQixJQUFJO0FBQzVCLE1BQU0sa0JBQWtCLENBQUM7QUFDekIsTUFBTSxxQkFBcUIsSUFBSTtBQUMvQixRQUFRLGtCQUFrQixDQUFDO0FBQzNCLFFBQVEsU0FBUzs7QUFFakIsTUFBTSxlQUFlLEdBQUdhLFVBQTZCOztBQUVyRCxJQUFJLHNCQUFzQjtBQUMxQixJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRTtBQUMzQztBQUNBO0FBQ0E7QUFDQSxFQUFFLHNCQUFzQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtBQUN0RCxJQUFJLEtBQUssRUFBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxJQUFJLEtBQUs7QUFDaEQsTUFBTSxJQUFJLGlCQUFpQixHQUFHLFNBQVM7QUFDdkMsTUFBTSxJQUFJLGFBQWEsR0FBRyxTQUFTO0FBQ25DLE1BQU0sSUFBSSxPQUFPLEdBQUcsU0FBUzs7QUFFN0I7QUFDQSxNQUFNLElBQUk7QUFDVixRQUFRLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLEVBQUUsUUFBUSxFQUFFO0FBQ2pFLFFBQVEsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxTQUFTO0FBQ3ZGLFFBQVEsYUFBYSxHQUFHLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUztBQUM5RSxRQUFRLE9BQU8sR0FBRyxpQkFBaUIsRUFBRSxPQUFPO0FBQzVDLE1BQU0sQ0FBQyxDQUFDLE1BQU07QUFDZDtBQUNBLE1BQU07O0FBRU4sTUFBTSxPQUFPLHlFQUFvQyxDQUFDLGdCQUFnQixFQUFFO0FBQ3BFLFFBQVEsY0FBYyxFQUFFLEdBQUc7QUFDM0IsUUFBUSxhQUFhLEVBQUUsUUFBUTtBQUMvQixRQUFRLGlCQUFpQjtBQUN6QixRQUFRLGFBQWE7QUFDckIsUUFBUSxPQUFPO0FBQ2YsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7QUFDN0IsSUFBSSxDQUFDO0FBQ0wsR0FBRyxDQUFDO0FBQ0osQ0FBQyxNQUFNO0FBQ1AsRUFBRSxzQkFBc0IsR0FBRyxlQUFlO0FBQzFDOztBQUVLLE1BQUMsZ0JBQWdCLEdBT2xCOztBQUVDLE1BQUMscUJBQXFCLEdBT3ZCOztBQUVDLE1BQUMsZ0JBQWdCLEdBT2xCOztBQUVDLE1BQUMsd0JBQXdCLEdBQUciLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0LnRzeCIsInNlbnRyeS13cmFwcGVyLW1vZHVsZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldGFkYXRhIH0gZnJvbSAnbmV4dCdcbmltcG9ydCB7IGJhc2VNZXRhZGF0YSB9IGZyb20gJ0AvbGliL21ldGFkYXRhJ1xuaW1wb3J0ICcuL2dsb2JhbHMuY3NzJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgUHJvdmlkZXJzIGZyb20gJ0AvY29tcG9uZW50cy9Qcm92aWRlcnMnXG5pbXBvcnQgQXBwU2hlbGwgZnJvbSAnQC9jb21wb25lbnRzL0FwcFNoZWxsJ1xuXG5pbXBvcnQgbG9jYWxGb250IGZyb20gJ25leHQvZm9udC9sb2NhbCdcblxuY29uc3QgcmFqZGhhbmkgPSBsb2NhbEZvbnQoe1xuICBzcmM6IFtcbiAgICB7XG4gICAgICBwYXRoOiAnLi4vZm9udHMvUmFqZGhhbmkvUmFqZGhhbmktU2VtaUJvbGQudHRmJyxcbiAgICAgIHdlaWdodDogJzYwMCcsXG4gICAgICBzdHlsZTogJ25vcm1hbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiAnLi4vZm9udHMvUmFqZGhhbmkvUmFqZGhhbmktQm9sZC50dGYnLFxuICAgICAgd2VpZ2h0OiAnNzAwJyxcbiAgICAgIHN0eWxlOiAnbm9ybWFsJyxcbiAgICB9LFxuICBdLFxuICB2YXJpYWJsZTogJy0tZm9udC1yYWpkaGFuaScsXG4gIGRpc3BsYXk6ICdzd2FwJyxcbn0pXG5cbmNvbnN0IGthbml0ID0gbG9jYWxGb250KHtcbiAgc3JjOiBbXG4gICAge1xuICAgICAgcGF0aDogJy4uL2ZvbnRzL0thbml0L0thbml0LVJlZ3VsYXIudHRmJyxcbiAgICAgIHdlaWdodDogJzQwMCcsXG4gICAgICBzdHlsZTogJ25vcm1hbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiAnLi4vZm9udHMvS2FuaXQvS2FuaXQtTWVkaXVtLnR0ZicsXG4gICAgICB3ZWlnaHQ6ICc1MDAnLFxuICAgICAgc3R5bGU6ICdub3JtYWwnLFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJy4uL2ZvbnRzL0thbml0L0thbml0LU1lZGl1bUl0YWxpYy50dGYnLFxuICAgICAgd2VpZ2h0OiAnNTAwJyxcbiAgICAgIHN0eWxlOiAnaXRhbGljJyxcbiAgICB9LFxuICBdLFxuICB2YXJpYWJsZTogJy0tZm9udC1rYW5pdCcsXG4gIGRpc3BsYXk6ICdzd2FwJyxcbn0pXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSBiYXNlTWV0YWRhdGFcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWxcbiAgICAgIGxhbmc9XCJlblwiXG4gICAgICBjbGFzc05hbWU9XCJkYXJrXCJcbiAgICAgIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZ1xuICAgICAgZGF0YS1zY3JvbGwtYmVoYXZpb3I9XCJzbW9vdGhcIlxuICAgID5cbiAgICAgIDxib2R5XG4gICAgICAgIGNsYXNzTmFtZT17YCR7cmFqZGhhbmkudmFyaWFibGV9ICR7a2FuaXQudmFyaWFibGV9IG1pbi1oLXNjcmVlbiBiZy1zdXJmYWNlLTgwMCB0ZXh0LXRleHQtcHJpbWFyeSBhbnRpYWxpYXNlZGB9XG4gICAgICA+XG4gICAgICAgIDxQcm92aWRlcnM+XG4gICAgICAgICAgPEFwcFNoZWxsPntjaGlsZHJlbn08L0FwcFNoZWxsPlxuICAgICAgICA8L1Byb3ZpZGVycz5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gIClcbn1cbiIsImltcG9ydCAqIGFzIG9yaWdNb2R1bGUgZnJvbSAnbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3dvcmstdW5pdC1hc3luYy1zdG9yYWdlLmV4dGVybmFsLmpzJztcbmltcG9ydCAqIGFzIHNlcnZlckNvbXBvbmVudE1vZHVsZSBmcm9tICdfX1NFTlRSWV9XUkFQUElOR19UQVJHRVRfRklMRV9fLmNqcyc7XG5leHBvcnQgKiBmcm9tICdfX1NFTlRSWV9XUkFQUElOR19UQVJHRVRfRklMRV9fLmNqcyc7XG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9uZXh0anMnO1xuXG4vLyBAdHMtZXhwZWN0LWVycm9yIEJlY2F1c2Ugd2UgY2Fubm90IGJlIHN1cmUgaWYgdGhlIFJlcXVlc3RBc3luY1N0b3JhZ2UgbW9kdWxlIGV4aXN0cyAoaXQgaXMgbm90IHBhcnQgb2YgdGhlIE5leHQuanMgcHVibGljXG4vLyBBUEkpIHdlIHVzZSBhIHNoaW0gaWYgaXQgZG9lc24ndCBleGlzdC4gVGhlIGxvZ2ljIGZvciB0aGlzIGlzIGluIHRoZSB3cmFwcGluZyBsb2FkZXIuXG5cbmNvbnN0IGFzeW5jU3RvcmFnZU1vZHVsZSA9IHsgLi4ub3JpZ01vZHVsZSB9IDtcblxuY29uc3QgcmVxdWVzdEFzeW5jU3RvcmFnZSA9XG4gICd3b3JrVW5pdEFzeW5jU3RvcmFnZScgaW4gYXN5bmNTdG9yYWdlTW9kdWxlXG4gICAgPyBhc3luY1N0b3JhZ2VNb2R1bGUud29ya1VuaXRBc3luY1N0b3JhZ2VcbiAgICA6ICdyZXF1ZXN0QXN5bmNTdG9yYWdlJyBpbiBhc3luY1N0b3JhZ2VNb2R1bGVcbiAgICAgID8gYXN5bmNTdG9yYWdlTW9kdWxlLnJlcXVlc3RBc3luY1N0b3JhZ2VcbiAgICAgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBzZXJ2ZXJDb21wb25lbnQgPSBzZXJ2ZXJDb21wb25lbnRNb2R1bGUuZGVmYXVsdDtcblxubGV0IHdyYXBwZWRTZXJ2ZXJDb21wb25lbnQ7XG5pZiAodHlwZW9mIHNlcnZlckNvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAvLyBGb3Igc29tZSBvZGQgTmV4dC5qcyBtYWdpYyByZWFzb24sIGBoZWFkZXJzKClgIHdpbGwgbm90IHdvcmsgaWYgdXNlZCBpbnNpZGUgYHdyYXBTZXJ2ZXJDb21wb25lbnRzV2l0aFNlbnRyeWAuXG4gIC8vIEN1cnJlbnQgYXNzdW1wdGlvbiBpcyB0aGF0IE5leHQuanMgYXBwbGllcyBzb21lIGxvYWRlciBtYWdpYyB0byB1c2VyZmlsZXMsIGJ1dCBub3QgZmlsZXMgaW4gbm9kZV9tb2R1bGVzLiBUaGlzIGZpbGVcbiAgLy8gaXMgdGVjaG5pY2FsbHkgYSB1c2VyZmlsZSBzbyBpdCBnZXRzIHRoZSBsb2FkZXIgbWFnaWMgYXBwbGllZC5cbiAgd3JhcHBlZFNlcnZlckNvbXBvbmVudCA9IG5ldyBQcm94eShzZXJ2ZXJDb21wb25lbnQsIHtcbiAgICBhcHBseTogKG9yaWdpbmFsRnVuY3Rpb24sIHRoaXNBcmcsIGFyZ3MpID0+IHtcbiAgICAgIGxldCBzZW50cnlUcmFjZUhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICAgIGxldCBiYWdnYWdlSGVhZGVyID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IGhlYWRlcnMgPSB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIFdlIHRyeS1jYXRjaCBoZXJlIGp1c3QgaW4gYHJlcXVlc3RBc3luY1N0b3JhZ2VgIGlzIHVuZGVmaW5lZCBzaW5jZSBpdCBtYXkgbm90IGJlIGRlZmluZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RBc3luY1N0b3JlID0gcmVxdWVzdEFzeW5jU3RvcmFnZT8uZ2V0U3RvcmUoKSA7XG4gICAgICAgIHNlbnRyeVRyYWNlSGVhZGVyID0gcmVxdWVzdEFzeW5jU3RvcmU/LmhlYWRlcnMuZ2V0KCdzZW50cnktdHJhY2UnKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIGJhZ2dhZ2VIZWFkZXIgPSByZXF1ZXN0QXN5bmNTdG9yZT8uaGVhZGVycy5nZXQoJ2JhZ2dhZ2UnKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIGhlYWRlcnMgPSByZXF1ZXN0QXN5bmNTdG9yZT8uaGVhZGVycztcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvKiogZW1wdHkgKi9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFNlbnRyeS53cmFwU2VydmVyQ29tcG9uZW50V2l0aFNlbnRyeShvcmlnaW5hbEZ1bmN0aW9uLCB7XG4gICAgICAgIGNvbXBvbmVudFJvdXRlOiAnLycsXG4gICAgICAgIGNvbXBvbmVudFR5cGU6ICdMYXlvdXQnLFxuICAgICAgICBzZW50cnlUcmFjZUhlYWRlcixcbiAgICAgICAgYmFnZ2FnZUhlYWRlcixcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xuICAgIH0sXG4gIH0pO1xufSBlbHNlIHtcbiAgd3JhcHBlZFNlcnZlckNvbXBvbmVudCA9IHNlcnZlckNvbXBvbmVudDtcbn1cblxuY29uc3QgZ2VuZXJhdGVNZXRhZGF0YSA9IHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZU1ldGFkYXRhXG4gID8gU2VudHJ5LndyYXBHZW5lcmF0aW9uRnVuY3Rpb25XaXRoU2VudHJ5KHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZU1ldGFkYXRhLCB7XG4gICAgICBjb21wb25lbnRSb3V0ZTogJy8nLFxuICAgICAgY29tcG9uZW50VHlwZTogJ0xheW91dCcsXG4gICAgICBnZW5lcmF0aW9uRnVuY3Rpb25JZGVudGlmaWVyOiAnZ2VuZXJhdGVNZXRhZGF0YScsXG4gICAgICByZXF1ZXN0QXN5bmNTdG9yYWdlLFxuICAgIH0pXG4gIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZW5lcmF0ZUltYWdlTWV0YWRhdGEgPSBzZXJ2ZXJDb21wb25lbnRNb2R1bGUuZ2VuZXJhdGVJbWFnZU1ldGFkYXRhXG4gID8gU2VudHJ5LndyYXBHZW5lcmF0aW9uRnVuY3Rpb25XaXRoU2VudHJ5KHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZUltYWdlTWV0YWRhdGEsIHtcbiAgICAgIGNvbXBvbmVudFJvdXRlOiAnLycsXG4gICAgICBjb21wb25lbnRUeXBlOiAnTGF5b3V0JyxcbiAgICAgIGdlbmVyYXRpb25GdW5jdGlvbklkZW50aWZpZXI6ICdnZW5lcmF0ZUltYWdlTWV0YWRhdGEnLFxuICAgICAgcmVxdWVzdEFzeW5jU3RvcmFnZSxcbiAgICB9KVxuICA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2VuZXJhdGVWaWV3cG9ydCA9IHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZVZpZXdwb3J0XG4gID8gU2VudHJ5LndyYXBHZW5lcmF0aW9uRnVuY3Rpb25XaXRoU2VudHJ5KHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZVZpZXdwb3J0LCB7XG4gICAgICBjb21wb25lbnRSb3V0ZTogJy8nLFxuICAgICAgY29tcG9uZW50VHlwZTogJ0xheW91dCcsXG4gICAgICBnZW5lcmF0aW9uRnVuY3Rpb25JZGVudGlmaWVyOiAnZ2VuZXJhdGVWaWV3cG9ydCcsXG4gICAgICByZXF1ZXN0QXN5bmNTdG9yYWdlLFxuICAgIH0pXG4gIDogdW5kZWZpbmVkO1xuXG5jb25zdCB3cmFwcGVkU2VydmVyQ29tcG9uZW50JDEgPSB3cmFwcGVkU2VydmVyQ29tcG9uZW50O1xuXG5leHBvcnQgeyB3cmFwcGVkU2VydmVyQ29tcG9uZW50JDEgYXMgZGVmYXVsdCwgZ2VuZXJhdGVJbWFnZU1ldGFkYXRhLCBnZW5lcmF0ZU1ldGFkYXRhLCBnZW5lcmF0ZVZpZXdwb3J0IH07XG4iXSwibmFtZXMiOlsibWV0YWRhdGEiLCJiYXNlTWV0YWRhdGEiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJfanN4REVWIiwiaHRtbCIsImxhbmciLCJjbGFzc05hbWUiLCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciLCJkYXRhLXNjcm9sbC1iZWhhdmlvciIsImJvZHkiLCJyYWpkaGFuaSIsInZhcmlhYmxlIiwia2FuaXQiLCJQcm92aWRlcnMiLCJBcHBTaGVsbCIsInNlcnZlckNvbXBvbmVudE1vZHVsZS5kZWZhdWx0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n");
/***/ }),
/***/ "(rsc)/./src/app/page.tsx":
/*!**************************!*\
!*** ./src/app/page.tsx ***!
\**************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ wrappedServerComponent$1),\n/* harmony export */ generateImageMetadata: () => (/* binding */ generateImageMetadata),\n/* harmony export */ generateMetadata: () => (/* binding */ generateMetadata),\n/* harmony export */ generateViewport: () => (/* binding */ generateViewport)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/app-render/work-unit-async-storage.external.js */ \"./work-unit-async-storage.external\");\n/* harmony import */ var next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-server-dom-webpack/server */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js\");\n/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/nextjs */ \"(rsc)/./node_modules/@sentry/nextjs/build/cjs/index.server.js\");\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_sentry_nextjs__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar __SENTRY_WRAPPING_TARGET_FILE__ = (0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_1__.registerClientReference)(\nfunction() { throw new Error(\"Attempted to call the default export of \\\"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\\\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n\"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n\"default\",\n);\n\n// @ts-expect-error Because we cannot be sure if the RequestAsyncStorage module exists (it is not part of the Next.js public\n// API) we use a shim if it doesn't exist. The logic for this is in the wrapping loader.\n\nconst asyncStorageModule = { ...next_dist_server_app_render_work_unit_async_storage_external_js__WEBPACK_IMPORTED_MODULE_0__ } ;\n\nconst requestAsyncStorage =\n 'workUnitAsyncStorage' in asyncStorageModule\n ? asyncStorageModule.workUnitAsyncStorage\n : 'requestAsyncStorage' in asyncStorageModule\n ? asyncStorageModule.requestAsyncStorage\n : undefined;\n\nconst serverComponent = __SENTRY_WRAPPING_TARGET_FILE__;\n\nlet wrappedServerComponent;\nif (typeof serverComponent === 'function') {\n // For some odd Next.js magic reason, `headers()` will not work if used inside `wrapServerComponentsWithSentry`.\n // Current assumption is that Next.js applies some loader magic to userfiles, but not files in node_modules. This file\n // is technically a userfile so it gets the loader magic applied.\n wrappedServerComponent = new Proxy(serverComponent, {\n apply: (originalFunction, thisArg, args) => {\n let sentryTraceHeader = undefined;\n let baggageHeader = undefined;\n let headers = undefined;\n\n // We try-catch here just in `requestAsyncStorage` is undefined since it may not be defined\n try {\n const requestAsyncStore = requestAsyncStorage?.getStore() ;\n sentryTraceHeader = requestAsyncStore?.headers.get('sentry-trace') ?? undefined;\n baggageHeader = requestAsyncStore?.headers.get('baggage') ?? undefined;\n headers = requestAsyncStore?.headers;\n } catch {\n /** empty */\n }\n\n return _sentry_nextjs__WEBPACK_IMPORTED_MODULE_2__.wrapServerComponentWithSentry(originalFunction, {\n componentRoute: '/',\n componentType: 'Page',\n sentryTraceHeader,\n baggageHeader,\n headers,\n }).apply(thisArg, args);\n },\n });\n} else {\n wrappedServerComponent = serverComponent;\n}\n\nconst generateMetadata = undefined;\n\nconst generateImageMetadata = undefined;\n\nconst generateViewport = undefined;\n\nconst wrappedServerComponent$1 = wrappedServerComponent;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7QUFDQTs7QUFFQSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyw0RkFBVSxFQUFFOztBQUU1QyxNQUFNLG1CQUFtQjtBQUN6QixFQUFFLHNCQUFzQixJQUFJO0FBQzVCLE1BQU0sa0JBQWtCLENBQUM7QUFDekIsTUFBTSxxQkFBcUIsSUFBSTtBQUMvQixRQUFRLGtCQUFrQixDQUFDO0FBQzNCLFFBQVEsU0FBUzs7QUFFakIsTUFBTSxlQUFlLEdBQUdBLCtCQUE2Qjs7QUFFckQsSUFBSSxzQkFBc0I7QUFDMUIsSUFBSSxPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQUU7QUFDM0M7QUFDQTtBQUNBO0FBQ0EsRUFBRSxzQkFBc0IsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7QUFDdEQsSUFBSSxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxLQUFLO0FBQ2hELE1BQU0sSUFBSSxpQkFBaUIsR0FBRyxTQUFTO0FBQ3ZDLE1BQU0sSUFBSSxhQUFhLEdBQUcsU0FBUztBQUNuQyxNQUFNLElBQUksT0FBTyxHQUFHLFNBQVM7O0FBRTdCO0FBQ0EsTUFBTSxJQUFJO0FBQ1YsUUFBUSxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixFQUFFLFFBQVEsRUFBRTtBQUNqRSxRQUFRLGlCQUFpQixHQUFHLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksU0FBUztBQUN2RixRQUFRLGFBQWEsR0FBRyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVM7QUFDOUUsUUFBUSxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsT0FBTztBQUM1QyxNQUFNLENBQUMsQ0FBQyxNQUFNO0FBQ2Q7QUFDQSxNQUFNOztBQUVOLE1BQU0sT0FBTyx5RUFBb0MsQ0FBQyxnQkFBZ0IsRUFBRTtBQUNwRSxRQUFRLGNBQWMsRUFBRSxHQUFHO0FBQzNCLFFBQVEsYUFBYSxFQUFFLE1BQU07QUFDN0IsUUFBUSxpQkFBaUI7QUFDekIsUUFBUSxhQUFhO0FBQ3JCLFFBQVEsT0FBTztBQUNmLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0FBQzdCLElBQUksQ0FBQztBQUNMLEdBQUcsQ0FBQztBQUNKLENBQUMsTUFBTTtBQUNQLEVBQUUsc0JBQXNCLEdBQUcsZUFBZTtBQUMxQzs7QUFFSyxNQUFDLGdCQUFnQixHQU9sQjs7QUFFQyxNQUFDLHFCQUFxQixHQU92Qjs7QUFFQyxNQUFDLGdCQUFnQixHQU9sQjs7QUFFQyxNQUFDLHdCQUF3QixHQUFHIiwic291cmNlcyI6WyJzZW50cnktd3JhcHBlci1tb2R1bGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3JpZ01vZHVsZSBmcm9tICduZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay11bml0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMnO1xuaW1wb3J0ICogYXMgc2VydmVyQ29tcG9uZW50TW9kdWxlIGZyb20gJ19fU0VOVFJZX1dSQVBQSU5HX1RBUkdFVF9GSUxFX18uY2pzJztcbmV4cG9ydCAqIGZyb20gJ19fU0VOVFJZX1dSQVBQSU5HX1RBUkdFVF9GSUxFX18uY2pzJztcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L25leHRqcyc7XG5cbi8vIEB0cy1leHBlY3QtZXJyb3IgQmVjYXVzZSB3ZSBjYW5ub3QgYmUgc3VyZSBpZiB0aGUgUmVxdWVzdEFzeW5jU3RvcmFnZSBtb2R1bGUgZXhpc3RzIChpdCBpcyBub3QgcGFydCBvZiB0aGUgTmV4dC5qcyBwdWJsaWNcbi8vIEFQSSkgd2UgdXNlIGEgc2hpbSBpZiBpdCBkb2Vzbid0IGV4aXN0LiBUaGUgbG9naWMgZm9yIHRoaXMgaXMgaW4gdGhlIHdyYXBwaW5nIGxvYWRlci5cblxuY29uc3QgYXN5bmNTdG9yYWdlTW9kdWxlID0geyAuLi5vcmlnTW9kdWxlIH0gO1xuXG5jb25zdCByZXF1ZXN0QXN5bmNTdG9yYWdlID1cbiAgJ3dvcmtVbml0QXN5bmNTdG9yYWdlJyBpbiBhc3luY1N0b3JhZ2VNb2R1bGVcbiAgICA/IGFzeW5jU3RvcmFnZU1vZHVsZS53b3JrVW5pdEFzeW5jU3RvcmFnZVxuICAgIDogJ3JlcXVlc3RBc3luY1N0b3JhZ2UnIGluIGFzeW5jU3RvcmFnZU1vZHVsZVxuICAgICAgPyBhc3luY1N0b3JhZ2VNb2R1bGUucmVxdWVzdEFzeW5jU3RvcmFnZVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IHNlcnZlckNvbXBvbmVudCA9IHNlcnZlckNvbXBvbmVudE1vZHVsZS5kZWZhdWx0O1xuXG5sZXQgd3JhcHBlZFNlcnZlckNvbXBvbmVudDtcbmlmICh0eXBlb2Ygc2VydmVyQ29tcG9uZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIEZvciBzb21lIG9kZCBOZXh0LmpzIG1hZ2ljIHJlYXNvbiwgYGhlYWRlcnMoKWAgd2lsbCBub3Qgd29yayBpZiB1c2VkIGluc2lkZSBgd3JhcFNlcnZlckNvbXBvbmVudHNXaXRoU2VudHJ5YC5cbiAgLy8gQ3VycmVudCBhc3N1bXB0aW9uIGlzIHRoYXQgTmV4dC5qcyBhcHBsaWVzIHNvbWUgbG9hZGVyIG1hZ2ljIHRvIHVzZXJmaWxlcywgYnV0IG5vdCBmaWxlcyBpbiBub2RlX21vZHVsZXMuIFRoaXMgZmlsZVxuICAvLyBpcyB0ZWNobmljYWxseSBhIHVzZXJmaWxlIHNvIGl0IGdldHMgdGhlIGxvYWRlciBtYWdpYyBhcHBsaWVkLlxuICB3cmFwcGVkU2VydmVyQ29tcG9uZW50ID0gbmV3IFByb3h5KHNlcnZlckNvbXBvbmVudCwge1xuICAgIGFwcGx5OiAob3JpZ2luYWxGdW5jdGlvbiwgdGhpc0FyZywgYXJncykgPT4ge1xuICAgICAgbGV0IHNlbnRyeVRyYWNlSGVhZGVyID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IGJhZ2dhZ2VIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgICBsZXQgaGVhZGVycyA9IHVuZGVmaW5lZDtcblxuICAgICAgLy8gV2UgdHJ5LWNhdGNoIGhlcmUganVzdCBpbiBgcmVxdWVzdEFzeW5jU3RvcmFnZWAgaXMgdW5kZWZpbmVkIHNpbmNlIGl0IG1heSBub3QgYmUgZGVmaW5lZFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdEFzeW5jU3RvcmUgPSByZXF1ZXN0QXN5bmNTdG9yYWdlPy5nZXRTdG9yZSgpIDtcbiAgICAgICAgc2VudHJ5VHJhY2VIZWFkZXIgPSByZXF1ZXN0QXN5bmNTdG9yZT8uaGVhZGVycy5nZXQoJ3NlbnRyeS10cmFjZScpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgYmFnZ2FnZUhlYWRlciA9IHJlcXVlc3RBc3luY1N0b3JlPy5oZWFkZXJzLmdldCgnYmFnZ2FnZScpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgaGVhZGVycyA9IHJlcXVlc3RBc3luY1N0b3JlPy5oZWFkZXJzO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8qKiBlbXB0eSAqL1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gU2VudHJ5LndyYXBTZXJ2ZXJDb21wb25lbnRXaXRoU2VudHJ5KG9yaWdpbmFsRnVuY3Rpb24sIHtcbiAgICAgICAgY29tcG9uZW50Um91dGU6ICcvJyxcbiAgICAgICAgY29tcG9uZW50VHlwZTogJ1BhZ2UnLFxuICAgICAgICBzZW50cnlUcmFjZUhlYWRlcixcbiAgICAgICAgYmFnZ2FnZUhlYWRlcixcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xuICAgIH0sXG4gIH0pO1xufSBlbHNlIHtcbiAgd3JhcHBlZFNlcnZlckNvbXBvbmVudCA9IHNlcnZlckNvbXBvbmVudDtcbn1cblxuY29uc3QgZ2VuZXJhdGVNZXRhZGF0YSA9IHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZU1ldGFkYXRhXG4gID8gU2VudHJ5LndyYXBHZW5lcmF0aW9uRnVuY3Rpb25XaXRoU2VudHJ5KHNlcnZlckNvbXBvbmVudE1vZHVsZS5nZW5lcmF0ZU1ldGFkYXRhLCB7XG4gICAgICBjb21wb25lbnRSb3V0ZTogJy8nLFxuICAgICAgY29tcG9uZW50VHlwZTogJ1BhZ2UnLFxuICAgICAgZ2VuZXJhdGlvbkZ1bmN0aW9uSWRlbnRpZmllcjogJ2dlbmVyYXRlTWV0YWRhdGEnLFxuICAgICAgcmVxdWVzdEFzeW5jU3RvcmFnZSxcbiAgICB9KVxuICA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2VuZXJhdGVJbWFnZU1ldGFkYXRhID0gc2VydmVyQ29tcG9uZW50TW9kdWxlLmdlbmVyYXRlSW1hZ2VNZXRhZGF0YVxuICA/IFNlbnRyeS53cmFwR2VuZXJhdGlvbkZ1bmN0aW9uV2l0aFNlbnRyeShzZXJ2ZXJDb21wb25lbnRNb2R1bGUuZ2VuZXJhdGVJbWFnZU1ldGFkYXRhLCB7XG4gICAgICBjb21wb25lbnRSb3V0ZTogJy8nLFxuICAgICAgY29tcG9uZW50VHlwZTogJ1BhZ2UnLFxuICAgICAgZ2VuZXJhdGlvbkZ1bmN0aW9uSWRlbnRpZmllcjogJ2dlbmVyYXRlSW1hZ2VNZXRhZGF0YScsXG4gICAgICByZXF1ZXN0QXN5bmNTdG9yYWdlLFxuICAgIH0pXG4gIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZW5lcmF0ZVZpZXdwb3J0ID0gc2VydmVyQ29tcG9uZW50TW9kdWxlLmdlbmVyYXRlVmlld3BvcnRcbiAgPyBTZW50cnkud3JhcEdlbmVyYXRpb25GdW5jdGlvbldpdGhTZW50cnkoc2VydmVyQ29tcG9uZW50TW9kdWxlLmdlbmVyYXRlVmlld3BvcnQsIHtcbiAgICAgIGNvbXBvbmVudFJvdXRlOiAnLycsXG4gICAgICBjb21wb25lbnRUeXBlOiAnUGFnZScsXG4gICAgICBnZW5lcmF0aW9uRnVuY3Rpb25JZGVudGlmaWVyOiAnZ2VuZXJhdGVWaWV3cG9ydCcsXG4gICAgICByZXF1ZXN0QXN5bmNTdG9yYWdlLFxuICAgIH0pXG4gIDogdW5kZWZpbmVkO1xuXG5jb25zdCB3cmFwcGVkU2VydmVyQ29tcG9uZW50JDEgPSB3cmFwcGVkU2VydmVyQ29tcG9uZW50O1xuXG5leHBvcnQgeyB3cmFwcGVkU2VydmVyQ29tcG9uZW50JDEgYXMgZGVmYXVsdCwgZ2VuZXJhdGVJbWFnZU1ldGFkYXRhLCBnZW5lcmF0ZU1ldGFkYXRhLCBnZW5lcmF0ZVZpZXdwb3J0IH07XG4iXSwibmFtZXMiOlsic2VydmVyQ29tcG9uZW50TW9kdWxlLmRlZmF1bHQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/page.tsx\n");
/***/ }),
/***/ "(rsc)/./src/components/AppShell.tsx":
/*!*************************************!*\
!*** ./src/components/AppShell.tsx ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/components/Providers.tsx":
/*!**************************************!*\
!*** ./src/components/Providers.tsx ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/lib/metadata.ts":
/*!*****************************!*\
!*** ./src/lib/metadata.ts ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ baseMetadata: () => (/* binding */ baseMetadata),\n/* harmony export */ generateOrganizationSchema: () => (/* binding */ generateOrganizationSchema),\n/* harmony export */ generatePageMetadata: () => (/* binding */ generatePageMetadata),\n/* harmony export */ generateWebsiteSchema: () => (/* binding */ generateWebsiteSchema)\n/* harmony export */ });\nconst baseMetadata = {\n metadataBase: new URL('https://biohazardvfx.com'),\n title: {\n default: 'Biohazard VFX | Visual Effects Studio',\n template: '%s | Biohazard VFX'\n },\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n keywords: [\n 'VFX',\n 'visual effects',\n 'post-production',\n '3D animation',\n 'video editing',\n 'music videos',\n 'commercials',\n 'film',\n 'animation'\n ],\n authors: [\n {\n name: 'Biohazard VFX Team'\n }\n ],\n creator: 'Biohazard VFX',\n publisher: 'Biohazard VFX',\n robots: {\n index: true,\n follow: true,\n googleBot: {\n index: true,\n follow: true,\n 'max-video-preview': -1,\n 'max-image-preview': 'large',\n 'max-snippet': -1\n }\n },\n openGraph: {\n type: 'website',\n locale: 'en_US',\n url: 'https://biohazardvfx.com',\n siteName: 'Biohazard VFX',\n images: [\n {\n url: '/images/splash.jpg',\n width: 1200,\n height: 630,\n alt: 'Biohazard VFX Studio Splash'\n }\n ]\n },\n twitter: {\n card: 'summary_large_image',\n site: '@biohazardvfx',\n creator: '@biohazardvfx',\n images: [\n '/images/splash.jpg'\n ]\n },\n icons: {\n icon: '/icon.svg'\n }\n};\nfunction generatePageMetadata(overrides = {}) {\n return {\n ...baseMetadata,\n ...overrides,\n openGraph: {\n ...baseMetadata.openGraph,\n ...overrides.openGraph || {}\n },\n twitter: {\n ...baseMetadata.twitter,\n ...overrides.twitter || {}\n }\n };\n}\n// JSON-LD structured data generators\nfunction generateOrganizationSchema() {\n return {\n '@context': 'https://schema.org',\n '@type': 'ProductionCompany',\n name: 'Biohazard VFX',\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n url: 'https://biohazardvfx.com',\n logo: 'https://biohazardvfx.com/images/logo.png',\n foundingDate: '2023',\n founders: [\n {\n '@type': 'Person',\n name: 'Nicholai Vogel'\n },\n {\n '@type': 'Person',\n name: 'Davané'\n },\n {\n '@type': 'Person',\n name: 'Parth Gupta'\n }\n ],\n address: {\n '@type': 'PostalAddress',\n addressLocality: 'Multiple Cities',\n addressCountries: [\n 'US',\n 'CA',\n 'IN'\n ]\n }\n };\n}\nfunction generateWebsiteSchema() {\n return {\n '@context': 'https://schema.org',\n '@type': 'WebSite',\n name: 'Biohazard VFX',\n url: 'https://biohazardvfx.com',\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n potentialAction: {\n '@type': 'SearchAction',\n target: 'https://biohazardvfx.com/search?q={search_term_string}',\n 'query-input': 'required name=search_term_string'\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvbGliL21ldGFkYXRhLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFTyxNQUFNQSxlQUF5QjtJQUNwQ0MsY0FBYyxJQUFJQyxJQUFJO0lBQ3RCQyxPQUFPO1FBQ0xDLFNBQVM7UUFDVEMsVUFBVTtJQUNaO0lBQ0FDLGFBQ0U7SUFDRkMsVUFBVTtRQUNSO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNEO0lBQ0RDLFNBQVM7UUFBQztZQUFFQyxNQUFNO1FBQXFCO0tBQUU7SUFDekNDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxRQUFRO1FBQ05DLE9BQU87UUFDUEMsUUFBUTtRQUNSQyxXQUFXO1lBQ1RGLE9BQU87WUFDUEMsUUFBUTtZQUNSLHFCQUFxQixDQUFDO1lBQ3RCLHFCQUFxQjtZQUNyQixlQUFlLENBQUM7UUFDbEI7SUFDRjtJQUNBRSxXQUFXO1FBQ1RDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxLQUFLO1FBQ0xDLFVBQVU7UUFDVkMsUUFBUTtZQUNOO2dCQUNFRixLQUFLO2dCQUNMRyxPQUFPO2dCQUNQQyxRQUFRO2dCQUNSQyxLQUFLO1lBQ1A7U0FDRDtJQUNIO0lBQ0FDLFNBQVM7UUFDUEMsTUFBTTtRQUNOQyxNQUFNO1FBQ05qQixTQUFTO1FBQ1RXLFFBQVE7WUFBQztTQUFxQjtJQUNoQztJQUNBTyxPQUFPO1FBQ0xDLE1BQU07SUFDUjtBQUNGLEVBQUM7QUFFTSxTQUFTQyxxQkFDZEMsWUFBK0IsQ0FBQyxDQUFDO0lBRWpDLE9BQU87UUFDTCxHQUFHL0IsWUFBWTtRQUNmLEdBQUcrQixTQUFTO1FBQ1pmLFdBQVc7WUFDVCxHQUFHaEIsYUFBYWdCLFNBQVM7WUFDekIsR0FBSWUsVUFBVWYsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUMvQjtRQUNBUyxTQUFTO1lBQ1AsR0FBR3pCLGFBQWF5QixPQUFPO1lBQ3ZCLEdBQUlNLFVBQVVOLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDN0I7SUFDRjtBQUNGO0FBRUEscUNBQXFDO0FBQzlCLFNBQVNPO0lBQ2QsT0FBTztRQUNMLFlBQVk7UUFDWixTQUFTO1FBQ1R2QixNQUFNO1FBQ05ILGFBQ0U7UUFDRmEsS0FBSztRQUNMYyxNQUFNO1FBQ05DLGNBQWM7UUFDZEMsVUFBVTtZQUNSO2dCQUNFLFNBQVM7Z0JBQ1QxQixNQUFNO1lBQ1I7WUFDQTtnQkFDRSxTQUFTO2dCQUNUQSxNQUFNO1lBQ1I7WUFDQTtnQkFDRSxTQUFTO2dCQUNUQSxNQUFNO1lBQ1I7U0FDRDtRQUNEMkIsU0FBUztZQUNQLFNBQVM7WUFDVEMsaUJBQWlCO1lBQ2pCQyxrQkFBa0I7Z0JBQUM7Z0JBQU07Z0JBQU07YUFBSztRQUN0QztJQUNGO0FBQ0Y7QUFFTyxTQUFTQztJQUNkLE9BQU87UUFDTCxZQUFZO1FBQ1osU0FBUztRQUNUOUIsTUFBTTtRQUNOVSxLQUFLO1FBQ0xiLGFBQ0U7UUFDRmtDLGlCQUFpQjtZQUNmLFNBQVM7WUFDVEMsUUFBUTtZQUNSLGVBQWU7UUFDakI7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvbGliL21ldGFkYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSAnbmV4dCdcblxuZXhwb3J0IGNvbnN0IGJhc2VNZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIG1ldGFkYXRhQmFzZTogbmV3IFVSTCgnaHR0cHM6Ly9iaW9oYXphcmR2ZnguY29tJyksXG4gIHRpdGxlOiB7XG4gICAgZGVmYXVsdDogJ0Jpb2hhemFyZCBWRlggfCBWaXN1YWwgRWZmZWN0cyBTdHVkaW8nLFxuICAgIHRlbXBsYXRlOiAnJXMgfCBCaW9oYXphcmQgVkZYJyxcbiAgfSxcbiAgZGVzY3JpcHRpb246XG4gICAgJ0dsb2JhbCB2aXN1YWwgZWZmZWN0cyBzdHVkaW8gZGVsaXZlcmluZyB3b3JsZC1jbGFzcyBWRlggc3VwZXJ2aXNpb24sIDNEIGFuaW1hdGlvbiwgYW5kIHBvc3QtcHJvZHVjdGlvbiBzZXJ2aWNlcy4nLFxuICBrZXl3b3JkczogW1xuICAgICdWRlgnLFxuICAgICd2aXN1YWwgZWZmZWN0cycsXG4gICAgJ3Bvc3QtcHJvZHVjdGlvbicsXG4gICAgJzNEIGFuaW1hdGlvbicsXG4gICAgJ3ZpZGVvIGVkaXRpbmcnLFxuICAgICdtdXNpYyB2aWRlb3MnLFxuICAgICdjb21tZXJjaWFscycsXG4gICAgJ2ZpbG0nLFxuICAgICdhbmltYXRpb24nLFxuICBdLFxuICBhdXRob3JzOiBbeyBuYW1lOiAnQmlvaGF6YXJkIFZGWCBUZWFtJyB9XSxcbiAgY3JlYXRvcjogJ0Jpb2hhemFyZCBWRlgnLFxuICBwdWJsaXNoZXI6ICdCaW9oYXphcmQgVkZYJyxcbiAgcm9ib3RzOiB7XG4gICAgaW5kZXg6IHRydWUsXG4gICAgZm9sbG93OiB0cnVlLFxuICAgIGdvb2dsZUJvdDoge1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBmb2xsb3c6IHRydWUsXG4gICAgICAnbWF4LXZpZGVvLXByZXZpZXcnOiAtMSxcbiAgICAgICdtYXgtaW1hZ2UtcHJldmlldyc6ICdsYXJnZScsXG4gICAgICAnbWF4LXNuaXBwZXQnOiAtMSxcbiAgICB9LFxuICB9LFxuICBvcGVuR3JhcGg6IHtcbiAgICB0eXBlOiAnd2Vic2l0ZScsXG4gICAgbG9jYWxlOiAnZW5fVVMnLFxuICAgIHVybDogJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbScsXG4gICAgc2l0ZU5hbWU6ICdCaW9oYXphcmQgVkZYJyxcbiAgICBpbWFnZXM6IFtcbiAgICAgIHtcbiAgICAgICAgdXJsOiAnL2ltYWdlcy9zcGxhc2guanBnJyxcbiAgICAgICAgd2lkdGg6IDEyMDAsXG4gICAgICAgIGhlaWdodDogNjMwLFxuICAgICAgICBhbHQ6ICdCaW9oYXphcmQgVkZYIFN0dWRpbyBTcGxhc2gnLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0d2l0dGVyOiB7XG4gICAgY2FyZDogJ3N1bW1hcnlfbGFyZ2VfaW1hZ2UnLFxuICAgIHNpdGU6ICdAYmlvaGF6YXJkdmZ4JyxcbiAgICBjcmVhdG9yOiAnQGJpb2hhemFyZHZmeCcsXG4gICAgaW1hZ2VzOiBbJy9pbWFnZXMvc3BsYXNoLmpwZyddLFxuICB9LFxuICBpY29uczoge1xuICAgIGljb246ICcvaWNvbi5zdmcnLFxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVQYWdlTWV0YWRhdGEoXG4gIG92ZXJyaWRlczogUGFydGlhbDxNZXRhZGF0YT4gPSB7fVxuKTogTWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VNZXRhZGF0YSxcbiAgICAuLi5vdmVycmlkZXMsXG4gICAgb3BlbkdyYXBoOiB7XG4gICAgICAuLi5iYXNlTWV0YWRhdGEub3BlbkdyYXBoLFxuICAgICAgLi4uKG92ZXJyaWRlcy5vcGVuR3JhcGggfHwge30pLFxuICAgIH0sXG4gICAgdHdpdHRlcjoge1xuICAgICAgLi4uYmFzZU1ldGFkYXRhLnR3aXR0ZXIsXG4gICAgICAuLi4ob3ZlcnJpZGVzLnR3aXR0ZXIgfHwge30pLFxuICAgIH0sXG4gIH1cbn1cblxuLy8gSlNPTi1MRCBzdHJ1Y3R1cmVkIGRhdGEgZ2VuZXJhdG9yc1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlT3JnYW5pemF0aW9uU2NoZW1hKCkge1xuICByZXR1cm4ge1xuICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxuICAgICdAdHlwZSc6ICdQcm9kdWN0aW9uQ29tcGFueScsXG4gICAgbmFtZTogJ0Jpb2hhemFyZCBWRlgnLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0dsb2JhbCB2aXN1YWwgZWZmZWN0cyBzdHVkaW8gZGVsaXZlcmluZyB3b3JsZC1jbGFzcyBWRlggc3VwZXJ2aXNpb24sIDNEIGFuaW1hdGlvbiwgYW5kIHBvc3QtcHJvZHVjdGlvbiBzZXJ2aWNlcy4nLFxuICAgIHVybDogJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbScsXG4gICAgbG9nbzogJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbS9pbWFnZXMvbG9nby5wbmcnLFxuICAgIGZvdW5kaW5nRGF0ZTogJzIwMjMnLFxuICAgIGZvdW5kZXJzOiBbXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdQZXJzb24nLFxuICAgICAgICBuYW1lOiAnTmljaG9sYWkgVm9nZWwnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ0B0eXBlJzogJ1BlcnNvbicsXG4gICAgICAgIG5hbWU6ICdEYXZhbsOpJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdQZXJzb24nLFxuICAgICAgICBuYW1lOiAnUGFydGggR3VwdGEnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGFkZHJlc3M6IHtcbiAgICAgICdAdHlwZSc6ICdQb3N0YWxBZGRyZXNzJyxcbiAgICAgIGFkZHJlc3NMb2NhbGl0eTogJ011bHRpcGxlIENpdGllcycsXG4gICAgICBhZGRyZXNzQ291bnRyaWVzOiBbJ1VTJywgJ0NBJywgJ0lOJ10sXG4gICAgfSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXZWJzaXRlU2NoZW1hKCkge1xuICByZXR1cm4ge1xuICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxuICAgICdAdHlwZSc6ICdXZWJTaXRlJyxcbiAgICBuYW1lOiAnQmlvaGF6YXJkIFZGWCcsXG4gICAgdXJsOiAnaHR0cHM6Ly9iaW9oYXphcmR2ZnguY29tJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdHbG9iYWwgdmlzdWFsIGVmZmVjdHMgc3R1ZGlvIGRlbGl2ZXJpbmcgd29ybGQtY2xhc3MgVkZYIHN1cGVydmlzaW9uLCAzRCBhbmltYXRpb24sIGFuZCBwb3N0LXByb2R1Y3Rpb24gc2VydmljZXMuJyxcbiAgICBwb3RlbnRpYWxBY3Rpb246IHtcbiAgICAgICdAdHlwZSc6ICdTZWFyY2hBY3Rpb24nLFxuICAgICAgdGFyZ2V0OiAnaHR0cHM6Ly9iaW9oYXphcmR2ZnguY29tL3NlYXJjaD9xPXtzZWFyY2hfdGVybV9zdHJpbmd9JyxcbiAgICAgICdxdWVyeS1pbnB1dCc6ICdyZXF1aXJlZCBuYW1lPXNlYXJjaF90ZXJtX3N0cmluZycsXG4gICAgfSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZXRhZGF0YSIsIm1ldGFkYXRhQmFzZSIsIlVSTCIsInRpdGxlIiwiZGVmYXVsdCIsInRlbXBsYXRlIiwiZGVzY3JpcHRpb24iLCJrZXl3b3JkcyIsImF1dGhvcnMiLCJuYW1lIiwiY3JlYXRvciIsInB1Ymxpc2hlciIsInJvYm90cyIsImluZGV4IiwiZm9sbG93IiwiZ29vZ2xlQm90Iiwib3BlbkdyYXBoIiwidHlwZSIsImxvY2FsZSIsInVybCIsInNpdGVOYW1lIiwiaW1hZ2VzIiwid2lkdGgiLCJoZWlnaHQiLCJhbHQiLCJ0d2l0dGVyIiwiY2FyZCIsInNpdGUiLCJpY29ucyIsImljb24iLCJnZW5lcmF0ZVBhZ2VNZXRhZGF0YSIsIm92ZXJyaWRlcyIsImdlbmVyYXRlT3JnYW5pemF0aW9uU2NoZW1hIiwibG9nbyIsImZvdW5kaW5nRGF0ZSIsImZvdW5kZXJzIiwiYWRkcmVzcyIsImFkZHJlc3NMb2NhbGl0eSIsImFkZHJlc3NDb3VudHJpZXMiLCJnZW5lcmF0ZVdlYnNpdGVTY2hlbWEiLCJwb3RlbnRpYWxBY3Rpb24iLCJ0YXJnZXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/lib/metadata.ts\n");
/***/ }),
/***/ "(ssr)/./node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive":
/*!***********************************************************************************!*\
!*** ./node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ sync ***!
\***********************************************************************************/
/***/ ((module) => {
function webpackEmptyContext(req) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = "(ssr)/./node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive";
module.exports = webpackEmptyContext;
/***/ }),
/***/ "(ssr)/./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive":
/*!************************************************************************************************************************!*\
!*** ./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ sync ***!
\************************************************************************************************************************/
/***/ ((module) => {
function webpackEmptyContext(req) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = "(ssr)/./node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/esm/platform/node sync recursive";
module.exports = webpackEmptyContext;
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/async-metadata.js */ \"(ssr)/./node_modules/next/dist/client/components/metadata/async-metadata.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/generate/icon-mark.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/generate/icon-mark.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js */ \"(ssr)/./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1zZWdtZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmh0dHAtYWNjZXNzLWZhbGxiYWNrJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZtZXRhZGF0YSUyRmFzeW5jLW1ldGFkYXRhLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm1ldGFkYXRhJTJGbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmxpYiUyRm1ldGFkYXRhJTJGZ2VuZXJhdGUlMkZpY29uLW1hcmsuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGRG9jdW1lbnRzJTJGRGV2JTJGYmlvaGF6YXJkLXZmeC0yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZuZXh0LWRldnRvb2xzJTJGdXNlcnNwYWNlJTJGYXBwJTJGc2VnbWVudC1leHBsb3Jlci1ub2RlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBeUk7QUFDekk7QUFDQSwwT0FBNEk7QUFDNUk7QUFDQSxvUkFBaUs7QUFDaks7QUFDQSx3T0FBMkk7QUFDM0k7QUFDQSw0UEFBcUo7QUFDcko7QUFDQSxrUUFBd0o7QUFDeEo7QUFDQSxzUUFBMEo7QUFDMUo7QUFDQSxrT0FBMkk7QUFDM0k7QUFDQSw0UUFBNkoiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXBhZ2UuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXNlZ21lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9hc3luYy1tZXRhZGF0YS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9tZXRhZGF0YS1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZW5lcmF0ZS9pY29uLW1hcmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL3NlZ21lbnQtZXhwbG9yZXItbm9kZS5qc1wiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*****************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*****************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/global-error.tsx */ \"(ssr)/./src/app/global-error.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRmdsb2JhbC1lcnJvci50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdLQUEwRyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9nbG9iYWwtZXJyb3IudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobal-error.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true! ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/AppShell.tsx */ \"(ssr)/./src/components/AppShell.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Providers.tsx */ \"(ssr)/./src/components/Providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRmdsb2JhbHMuY3NzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZmb250JTJGbG9jYWwlMkZ0YXJnZXQuY3NzJTNGJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMnNyYyUyRmFwcCUyRmxheW91dC50c3glNUMlMjIlMkMlNUMlMjJpbXBvcnQlNUMlMjIlM0ElNUMlMjIlNUMlMjIlMkMlNUMlMjJhcmd1bWVudHMlNUMlMjIlM0ElNUIlN0IlNUMlMjJzcmMlNUMlMjIlM0ElNUIlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRlJhamRoYW5pJTJGUmFqZGhhbmktU2VtaUJvbGQudHRmJTVDJTIyJTJDJTVDJTIyd2VpZ2h0JTVDJTIyJTNBJTVDJTIyNjAwJTVDJTIyJTJDJTVDJTIyc3R5bGUlNUMlMjIlM0ElNUMlMjJub3JtYWwlNUMlMjIlN0QlMkMlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRlJhamRoYW5pJTJGUmFqZGhhbmktQm9sZC50dGYlNUMlMjIlMkMlNUMlMjJ3ZWlnaHQlNUMlMjIlM0ElNUMlMjI3MDAlNUMlMjIlMkMlNUMlMjJzdHlsZSU1QyUyMiUzQSU1QyUyMm5vcm1hbCU1QyUyMiU3RCU1RCUyQyU1QyUyMnZhcmlhYmxlJTVDJTIyJTNBJTVDJTIyLS1mb250LXJhamRoYW5pJTVDJTIyJTJDJTVDJTIyZGlzcGxheSU1QyUyMiUzQSU1QyUyMnN3YXAlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJyYWpkaGFuaSU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmxvY2FsJTJGdGFyZ2V0LmNzcyUzRiU3QiU1QyUyMnBhdGglNUMlMjIlM0ElNUMlMjJzcmMlMkZhcHAlMkZsYXlvdXQudHN4JTVDJTIyJTJDJTVDJTIyaW1wb3J0JTVDJTIyJTNBJTVDJTIyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3JjJTVDJTIyJTNBJTVCJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMi4uJTJGZm9udHMlMkZLYW5pdCUyRkthbml0LVJlZ3VsYXIudHRmJTVDJTIyJTJDJTVDJTIyd2VpZ2h0JTVDJTIyJTNBJTVDJTIyNDAwJTVDJTIyJTJDJTVDJTIyc3R5bGUlNUMlMjIlM0ElNUMlMjJub3JtYWwlNUMlMjIlN0QlMkMlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyLi4lMkZmb250cyUyRkthbml0JTJGS2FuaXQtTWVkaXVtLnR0ZiU1QyUyMiUyQyU1QyUyMndlaWdodCU1QyUyMiUzQSU1QyUyMjUwMCU1QyUyMiUyQyU1QyUyMnN0eWxlJTVDJTIyJTNBJTVDJTIybm9ybWFsJTVDJTIyJTdEJTJDJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMi4uJTJGZm9udHMlMkZLYW5pdCUyRkthbml0LU1lZGl1bUl0YWxpYy50dGYlNUMlMjIlMkMlNUMlMjJ3ZWlnaHQlNUMlMjIlM0ElNUMlMjI1MDAlNUMlMjIlMkMlNUMlMjJzdHlsZSU1QyUyMiUzQSU1QyUyMml0YWxpYyU1QyUyMiU3RCU1RCUyQyU1QyUyMnZhcmlhYmxlJTVDJTIyJTNBJTVDJTIyLS1mb250LWthbml0JTVDJTIyJTJDJTVDJTIyZGlzcGxheSU1QyUyMiUzQSU1QyUyMnN3YXAlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJrYW5pdCU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZzcmMlMkZjb21wb25lbnRzJTJGQXBwU2hlbGwudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyZGVmYXVsdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZEb2N1bWVudHMlMkZEZXYlMkZiaW9oYXphcmQtdmZ4LTIlMkZzcmMlMkZjb21wb25lbnRzJTJGUHJvdmlkZXJzLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMmRlZmF1bHQlMjIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLHNLQUEwSTtBQUMxSTtBQUNBLHdLQUEySSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0FwcFNoZWxsLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL1Byb3ZpZGVycy50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-SemiBold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22600%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FRajdhani%2FRajdhani-Bold.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22700%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-rajdhani%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22rajdhani%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fnode_modules%2Fnext%2Ffont%2Flocal%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22src%5C%22%3A%5B%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Regular.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22400%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-Medium.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22normal%5C%22%7D%2C%7B%5C%22path%5C%22%3A%5C%22..%2Ffonts%2FKanit%2FKanit-MediumItalic.ttf%5C%22%2C%5C%22weight%5C%22%3A%5C%22500%5C%22%2C%5C%22style%5C%22%3A%5C%22italic%5C%22%7D%5D%2C%5C%22variable%5C%22%3A%5C%22--font-kanit%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22kanit%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*********************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*********************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(ssr)/./src/app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRkRvY3VtZW50cyUyRkRldiUyRmJpb2hhemFyZC12ZngtMiUyRnNyYyUyRmFwcCUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnSkFBa0ciLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvcGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./src/app/global-error.tsx":
/*!**********************************!*\
!*** ./src/app/global-error.tsx ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GlobalError)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/nextjs */ \"(ssr)/./node_modules/@sentry/nextjs/build/cjs/index.server.js\");\n/* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_sentry_nextjs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/error */ \"(ssr)/./node_modules/next/error.js\");\n/* harmony import */ var next_error__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_error__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction GlobalError({ error }) {\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)({\n \"GlobalError.useEffect\": ()=>{\n _sentry_nextjs__WEBPACK_IMPORTED_MODULE_3__.captureException(error);\n }\n }[\"GlobalError.useEffect\"], [\n error\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_error__WEBPACK_IMPORTED_MODULE_1___default()), {\n statusCode: 0\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2dsb2JhbC1lcnJvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUV5QztBQUNOO0FBQ0Q7QUFFbkIsU0FBU0csWUFBWSxFQUFFQyxLQUFLLEVBQTBDO0lBQ25GRixnREFBU0E7aUNBQUM7WUFDUkYsNERBQXVCLENBQUNJO1FBQzFCO2dDQUFHO1FBQUNBO0tBQU07SUFFVixxQkFDRSw4REFBQ0U7a0JBQ0MsNEVBQUNDO3NCQUtDLDRFQUFDTixtREFBU0E7Z0JBQUNPLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJL0IiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvZ2xvYmFsLWVycm9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gXCJAc2VudHJ5L25leHRqc1wiO1xuaW1wb3J0IE5leHRFcnJvciBmcm9tIFwibmV4dC9lcnJvclwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEdsb2JhbEVycm9yKHsgZXJyb3IgfTogeyBlcnJvcjogRXJyb3IgJiB7IGRpZ2VzdD86IHN0cmluZyB9IH0pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlcnJvcik7XG4gIH0sIFtlcnJvcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPGh0bWw+XG4gICAgICA8Ym9keT5cbiAgICAgICAgey8qIGBOZXh0RXJyb3JgIGlzIHRoZSBkZWZhdWx0IE5leHQuanMgZXJyb3IgcGFnZSBjb21wb25lbnQuIEl0cyB0eXBlXG4gICAgICAgIGRlZmluaXRpb24gcmVxdWlyZXMgYSBgc3RhdHVzQ29kZWAgcHJvcC4gSG93ZXZlciwgc2luY2UgdGhlIEFwcCBSb3V0ZXJcbiAgICAgICAgZG9lcyBub3QgZXhwb3NlIHN0YXR1cyBjb2RlcyBmb3IgZXJyb3JzLCB3ZSBzaW1wbHkgcGFzcyAwIHRvIHJlbmRlciBhXG4gICAgICAgIGdlbmVyaWMgZXJyb3IgbWVzc2FnZS4gKi99XG4gICAgICAgIDxOZXh0RXJyb3Igc3RhdHVzQ29kZT17MH0gLz5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59Il0sIm5hbWVzIjpbIlNlbnRyeSIsIk5leHRFcnJvciIsInVzZUVmZmVjdCIsIkdsb2JhbEVycm9yIiwiZXJyb3IiLCJjYXB0dXJlRXhjZXB0aW9uIiwiaHRtbCIsImJvZHkiLCJzdGF0dXNDb2RlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/global-error.tsx\n");
/***/ }),
/***/ "(ssr)/./src/app/page.tsx":
/*!**************************!*\
!*** ./src/app/page.tsx ***!
\**************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HomePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_compare__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/compare */ \"(ssr)/./src/components/ui/compare.tsx\");\n/* harmony import */ var _components_motion_SectionReveal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/motion/SectionReveal */ \"(ssr)/./src/components/motion/SectionReveal.tsx\");\n/* harmony import */ var _components_motion_ItemReveal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/motion/ItemReveal */ \"(ssr)/./src/components/motion/ItemReveal.tsx\");\n/* harmony import */ var _components_SmoothScrolling__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/SmoothScrolling */ \"(ssr)/./src/components/SmoothScrolling.tsx\");\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nfunction HomePage() {\n const beforeImage = '/images/beforeafter/Before.jpg';\n const afterImage = '/images/beforeafter/After.jpg';\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_SmoothScrolling__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative h-screen overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n \"data-autoplay\": true,\n autoPlay: true,\n loop: true,\n muted: true,\n playsInline: true,\n poster: \"/images/Splash.jpg\",\n preload: \"metadata\",\n className: \"w-full h-full object-cover\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"source\", {\n src: \"/videos/reel.mp4\",\n type: \"video/mp4\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 31,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 18,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 h-full flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-3xl mx-auto text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_5__.motion.div, {\n initial: {\n opacity: 0,\n y: 30\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 1,\n ease: 'easeOut',\n delay: 0.2\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl sm:text-6xl md:text-8xl font-bold mb-6 md:mb-8 tracking-tight\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-clip-text text-transparent bg-gradient-to-b from-white to-white/80\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 43,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 42,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 37,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_5__.motion.div, {\n initial: {\n opacity: 0,\n y: 30\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 1,\n ease: 'easeOut',\n delay: 0.4\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base sm:text-lg md:text-xl text-white/40 mb-8 leading-relaxed font-light tracking-wide max-w-xl mx-auto px-4\",\n children: \"Innovative VFX Studio.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 53,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 36,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n \"aria-label\": \"Before and After\",\n className: \"py-8 md:py-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-80 max-w-9xl px-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_motion_SectionReveal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-12 items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_motion_ItemReveal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"order-2 md:order-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl md:text-4xl font-bold \",\n children: \"Before / After\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 66,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-2xl text-muted-foreground\",\n children: \"Biohazard VFX is a coordinated team of visual researchers specialized in crafting exceptional commercials music videos, tv shows and movies.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 69,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 65,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_motion_ItemReveal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"order-1 md:order-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full aspect-video md:aspect-[16/9]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_compare__WEBPACK_IMPORTED_MODULE_1__.Compare, {\n firstImage: beforeImage,\n secondImage: afterImage,\n slideMode: \"drag\",\n showHandlebar: true,\n initialSliderPercentage: 55,\n className: \"w-full h-full rounded-2xl\",\n firstImageClassName: \"object-cover\",\n secondImageClassname: \"object-cover\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 75,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 74,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 63,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\",\n lineNumber: 14,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNpRDtBQUNZO0FBQ047QUFDRztBQUNwQjtBQUd2QixTQUFTSztJQUN0QixNQUFNQyxjQUFjO0lBQ3BCLE1BQU1DLGFBQWE7SUFFbkIscUJBQ0UsOERBQUNKLG1FQUFlQTtrQkFDZCw0RUFBQ0s7WUFBS0MsV0FBVTs7OEJBQ2QsOERBQUNDO29CQUFRRCxXQUFVOztzQ0FFakIsOERBQUNFOzRCQUFJRixXQUFVOzs4Q0FDYiw4REFBQ0c7b0NBQ0NDLGVBQWE7b0NBQ2JDLFFBQVE7b0NBQ1JDLElBQUk7b0NBQ0pDLEtBQUs7b0NBQ0xDLFdBQVc7b0NBQ1hDLFFBQU87b0NBQ1BDLFNBQVE7b0NBQ1JWLFdBQVU7OENBRVYsNEVBQUNXO3dDQUFPQyxLQUFJO3dDQUFtQkMsTUFBSzs7Ozs7Ozs7Ozs7OENBRXRDLDhEQUFDWDtvQ0FBSUYsV0FBVTs7Ozs7Ozs7Ozs7O3NDQUlqQiw4REFBQ0U7NEJBQUlGLFdBQVU7c0NBQ2IsNEVBQUNFO2dDQUFJRixXQUFVOztrREFDYiw4REFBQ0wsaURBQU1BLENBQUNPLEdBQUc7d0NBQ1RZLFNBQVM7NENBQUVDLFNBQVM7NENBQUdDLEdBQUc7d0NBQUc7d0NBQzdCQyxTQUFTOzRDQUFFRixTQUFTOzRDQUFHQyxHQUFHO3dDQUFFO3dDQUM1QkUsWUFBWTs0Q0FBRUMsVUFBVTs0Q0FBR0MsTUFBTTs0Q0FBV0MsT0FBTzt3Q0FBSTtrREFFdkQsNEVBQUNDOzRDQUFHdEIsV0FBVTtzREFDWiw0RUFBQ3VCO2dEQUFLdkIsV0FBVTswREFBd0U7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBSzVGLDhEQUFDTCxpREFBTUEsQ0FBQ08sR0FBRzt3Q0FDVFksU0FBUzs0Q0FBRUMsU0FBUzs0Q0FBR0MsR0FBRzt3Q0FBRzt3Q0FDN0JDLFNBQVM7NENBQUVGLFNBQVM7NENBQUdDLEdBQUc7d0NBQUU7d0NBQzVCRSxZQUFZOzRDQUFFQyxVQUFVOzRDQUFHQyxNQUFNOzRDQUFXQyxPQUFPO3dDQUFJO2tEQUV2RCw0RUFBQ0c7NENBQUV4QixXQUFVO3NEQUFvSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFRekksOERBQUNDO29CQUFRd0IsY0FBVztvQkFBbUJ6QixXQUFVOzhCQUMvQyw0RUFBQ0U7d0JBQUlGLFdBQVU7a0NBQ2IsNEVBQUNSLHdFQUFhQTtzQ0FDWiw0RUFBQ1U7Z0NBQUlGLFdBQVU7O2tEQUNiLDhEQUFDUCxxRUFBVUE7d0NBQUNPLFdBQVU7OzBEQUNwQiw4REFBQzBCO2dEQUFHMUIsV0FBVTswREFBa0M7Ozs7OzswREFHaEQsOERBQUN3QjtnREFBRXhCLFdBQVU7MERBQWlDOzs7Ozs7Ozs7Ozs7a0RBSWhELDhEQUFDUCxxRUFBVUE7d0NBQUNPLFdBQVU7a0RBQ3BCLDRFQUFDRTs0Q0FBSUYsV0FBVTtzREFDYiw0RUFBQ1QsMkRBQU9BO2dEQUNOb0MsWUFBWTlCO2dEQUNaK0IsYUFBYTlCO2dEQUNiK0IsV0FBVTtnREFDVkMsYUFBYTtnREFDYkMseUJBQXlCO2dEQUN6Qi9CLFdBQVU7Z0RBQ1ZnQyxxQkFBb0I7Z0RBQ3BCQyxzQkFBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVczQyIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2FwcC9wYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IENvbXBhcmUgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvY29tcGFyZSdcbmltcG9ydCBTZWN0aW9uUmV2ZWFsIGZyb20gJ0AvY29tcG9uZW50cy9tb3Rpb24vU2VjdGlvblJldmVhbCdcbmltcG9ydCBJdGVtUmV2ZWFsIGZyb20gJ0AvY29tcG9uZW50cy9tb3Rpb24vSXRlbVJldmVhbCdcbmltcG9ydCBTbW9vdGhTY3JvbGxpbmcgZnJvbSAnQC9jb21wb25lbnRzL1Ntb290aFNjcm9sbGluZydcbmltcG9ydCB7IG1vdGlvbiB9IGZyb20gJ2ZyYW1lci1tb3Rpb24nXG5pbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lUGFnZSgpIHtcbiAgY29uc3QgYmVmb3JlSW1hZ2UgPSAnL2ltYWdlcy9iZWZvcmVhZnRlci9CZWZvcmUuanBnJ1xuICBjb25zdCBhZnRlckltYWdlID0gJy9pbWFnZXMvYmVmb3JlYWZ0ZXIvQWZ0ZXIuanBnJ1xuXG4gIHJldHVybiAoXG4gICAgPFNtb290aFNjcm9sbGluZz5cbiAgICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlblwiPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBoLXNjcmVlbiBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICB7LyogVmlkZW8gQmFja2dyb3VuZCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTBcIj5cbiAgICAgICAgICAgIDx2aWRlb1xuICAgICAgICAgICAgICBkYXRhLWF1dG9wbGF5XG4gICAgICAgICAgICAgIGF1dG9QbGF5XG4gICAgICAgICAgICAgIGxvb3BcbiAgICAgICAgICAgICAgbXV0ZWRcbiAgICAgICAgICAgICAgcGxheXNJbmxpbmVcbiAgICAgICAgICAgICAgcG9zdGVyPVwiL2ltYWdlcy9TcGxhc2guanBnXCJcbiAgICAgICAgICAgICAgcHJlbG9hZD1cIm1ldGFkYXRhXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c291cmNlIHNyYz1cIi92aWRlb3MvcmVlbC5tcDRcIiB0eXBlPVwidmlkZW8vbXA0XCIgLz5cbiAgICAgICAgICAgIDwvdmlkZW8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmxhY2svNTBcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBTbG9wIGJ1dCB3aXRoIGEgUGFyYWxsYXggRWZmZWN0ICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctM3hsIG14LWF1dG8gdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAsIHk6IDMwIH19XG4gICAgICAgICAgICAgICAgYW5pbWF0ZT17eyBvcGFjaXR5OiAxLCB5OiAwIH19XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMSwgZWFzZTogJ2Vhc2VPdXQnLCBkZWxheTogMC4yIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC00eGwgc206dGV4dC02eGwgbWQ6dGV4dC04eGwgZm9udC1ib2xkIG1iLTYgbWQ6bWItOCB0cmFja2luZy10aWdodFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnQgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXdoaXRlLzgwXCI+XG4gICAgICAgICAgICAgICAgICAgIEJpb2hhemFyZCBWRlhcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgICA8L21vdGlvbi5kaXY+XG4gICAgICAgICAgICAgIDxtb3Rpb24uZGl2XG4gICAgICAgICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwLCB5OiAzMCB9fVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSwgeTogMCB9fVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDEsIGVhc2U6ICdlYXNlT3V0JywgZGVsYXk6IDAuNCB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIHNtOnRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LXdoaXRlLzQwIG1iLTggbGVhZGluZy1yZWxheGVkIGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZSBtYXgtdy14bCBteC1hdXRvIHB4LTRcIj5cbiAgICAgICAgICAgICAgICAgIElubm92YXRpdmUgVkZYIFN0dWRpby5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIHsvKiBtb3JlIHNsb3AgKGZ1Y2sgeW91KSAqL31cbiAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbD1cIkJlZm9yZSBhbmQgQWZ0ZXJcIiBjbGFzc05hbWU9XCJweS04IG1kOnB5LTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC04MCBtYXgtdy05eGwgcHgtNFwiPlxuICAgICAgICAgICAgPFNlY3Rpb25SZXZlYWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCBtZDpnYXAtMTIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPEl0ZW1SZXZlYWwgY2xhc3NOYW1lPVwib3JkZXItMiBtZDpvcmRlci0xXCI+XG4gICAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1ib2xkIFwiPlxuICAgICAgICAgICAgICAgICAgICBCZWZvcmUgLyBBZnRlclxuICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtMnhsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICBCaW9oYXphcmQgVkZYIGlzIGEgY29vcmRpbmF0ZWQgdGVhbSBvZiB2aXN1YWwgcmVzZWFyY2hlcnMgc3BlY2lhbGl6ZWQgaW4gY3JhZnRpbmcgZXhjZXB0aW9uYWwgY29tbWVyY2lhbHMgbXVzaWMgdmlkZW9zLCB0diBzaG93cyBhbmQgbW92aWVzLlxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvSXRlbVJldmVhbD5cbiAgICAgICAgICAgICAgICA8SXRlbVJldmVhbCBjbGFzc05hbWU9XCJvcmRlci0xIG1kOm9yZGVyLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGFzcGVjdC12aWRlbyBtZDphc3BlY3QtWzE2LzldXCI+XG4gICAgICAgICAgICAgICAgICAgIDxDb21wYXJlXG4gICAgICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZT17YmVmb3JlSW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgc2Vjb25kSW1hZ2U9e2FmdGVySW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgc2xpZGVNb2RlPVwiZHJhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgc2hvd0hhbmRsZWJhclxuICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTbGlkZXJQZXJjZW50YWdlPXs1NX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIHJvdW5kZWQtMnhsXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaXJzdEltYWdlQ2xhc3NOYW1lPVwib2JqZWN0LWNvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRJbWFnZUNsYXNzbmFtZT1cIm9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0l0ZW1SZXZlYWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9TZWN0aW9uUmV2ZWFsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICA8L21haW4+XG4gICAgPC9TbW9vdGhTY3JvbGxpbmc+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJDb21wYXJlIiwiU2VjdGlvblJldmVhbCIsIkl0ZW1SZXZlYWwiLCJTbW9vdGhTY3JvbGxpbmciLCJtb3Rpb24iLCJIb21lUGFnZSIsImJlZm9yZUltYWdlIiwiYWZ0ZXJJbWFnZSIsIm1haW4iLCJjbGFzc05hbWUiLCJzZWN0aW9uIiwiZGl2IiwidmlkZW8iLCJkYXRhLWF1dG9wbGF5IiwiYXV0b1BsYXkiLCJsb29wIiwibXV0ZWQiLCJwbGF5c0lubGluZSIsInBvc3RlciIsInByZWxvYWQiLCJzb3VyY2UiLCJzcmMiLCJ0eXBlIiwiaW5pdGlhbCIsIm9wYWNpdHkiLCJ5IiwiYW5pbWF0ZSIsInRyYW5zaXRpb24iLCJkdXJhdGlvbiIsImVhc2UiLCJkZWxheSIsImgxIiwic3BhbiIsInAiLCJhcmlhLWxhYmVsIiwiaDIiLCJmaXJzdEltYWdlIiwic2Vjb25kSW1hZ2UiLCJzbGlkZU1vZGUiLCJzaG93SGFuZGxlYmFyIiwiaW5pdGlhbFNsaWRlclBlcmNlbnRhZ2UiLCJmaXJzdEltYWdlQ2xhc3NOYW1lIiwic2Vjb25kSW1hZ2VDbGFzc25hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/page.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/AppShell.tsx":
/*!*************************************!*\
!*** ./src/components/AppShell.tsx ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppShell)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var _components_GlobalSidebar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/GlobalSidebar */ \"(ssr)/./src/components/GlobalSidebar.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Footer */ \"(ssr)/./src/components/Footer.tsx\");\n/* harmony import */ var _components_TrackingOptOutBanner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/TrackingOptOutBanner */ \"(ssr)/./src/components/TrackingOptOutBanner.tsx\");\n/* harmony import */ var _components_CommandPalette__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/CommandPalette */ \"(ssr)/./src/components/CommandPalette.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction AppShell({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_1__.usePathname)();\n const isAdminRoute = pathname?.startsWith('/admin') ?? false;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col md:flex-row\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_GlobalSidebar__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)('flex min-h-screen w-full flex-col bg-surface-800/40 transition-[padding] duration-300', !isAdminRoute && 'md:pl-[240px]'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)('flex-1', !isAdminRoute ? 'pb-24 pt-4 md:pt-8' : 'pb-12 pt-2'),\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 24,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Footer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 32,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TrackingOptOutBanner__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_CommandPalette__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/AppShell.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9BcHBTaGVsbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUU2QztBQUNiO0FBQ3NCO0FBQ2Q7QUFDNEI7QUFDWjtBQUd6QyxTQUFTTSxTQUFTLEVBQUVDLFFBQVEsRUFBMkI7SUFDcEUsTUFBTUMsV0FBV1IsNERBQVdBO0lBQzVCLE1BQU1TLGVBQWVELFVBQVVFLFdBQVcsYUFBYTtJQUV2RCxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2IsOERBQUNWLGlFQUFhQTs7Ozs7MEJBQ2QsOERBQUNTO2dCQUNDQyxXQUFXWCw4Q0FBRUEsQ0FDWCx5RkFDQSxDQUFDUSxnQkFBZ0I7O2tDQUduQiw4REFBQ0k7d0JBQ0NELFdBQVdYLDhDQUFFQSxDQUNYLFVBQ0EsQ0FBQ1EsZUFBZSx1QkFBdUI7a0NBR3hDRjs7Ozs7O2tDQUVILDhEQUFDSiwwREFBTUE7Ozs7O2tDQUNQLDhEQUFDQyx3RUFBb0JBOzs7OztrQ0FDckIsOERBQUNDLGtFQUFjQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJdkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0FwcFNoZWxsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBjbiB9IGZyb20gJ0AvbGliL3V0aWxzJ1xuaW1wb3J0IEdsb2JhbFNpZGViYXIgZnJvbSAnQC9jb21wb25lbnRzL0dsb2JhbFNpZGViYXInXG5pbXBvcnQgRm9vdGVyIGZyb20gJ0AvY29tcG9uZW50cy9Gb290ZXInXG5pbXBvcnQgVHJhY2tpbmdPcHRPdXRCYW5uZXIgZnJvbSAnQC9jb21wb25lbnRzL1RyYWNraW5nT3B0T3V0QmFubmVyJ1xuaW1wb3J0IENvbW1hbmRQYWxldHRlIGZyb20gJ0AvY29tcG9uZW50cy9Db21tYW5kUGFsZXR0ZSdcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcFNoZWxsKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IGlzQWRtaW5Sb3V0ZSA9IHBhdGhuYW1lPy5zdGFydHNXaXRoKCcvYWRtaW4nKSA/PyBmYWxzZVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBmbGV4IG1pbi1oLXNjcmVlbiBmbGV4LWNvbCBtZDpmbGV4LXJvd1wiPlxuICAgICAgPEdsb2JhbFNpZGViYXIgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnZmxleCBtaW4taC1zY3JlZW4gdy1mdWxsIGZsZXgtY29sIGJnLXN1cmZhY2UtODAwLzQwIHRyYW5zaXRpb24tW3BhZGRpbmddIGR1cmF0aW9uLTMwMCcsXG4gICAgICAgICAgIWlzQWRtaW5Sb3V0ZSAmJiAnbWQ6cGwtWzI0MHB4XSdcbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPG1haW5cbiAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgJ2ZsZXgtMScsXG4gICAgICAgICAgICAhaXNBZG1pblJvdXRlID8gJ3BiLTI0IHB0LTQgbWQ6cHQtOCcgOiAncGItMTIgcHQtMidcbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L21haW4+XG4gICAgICAgIDxGb290ZXIgLz5cbiAgICAgICAgPFRyYWNraW5nT3B0T3V0QmFubmVyIC8+XG4gICAgICAgIDxDb21tYW5kUGFsZXR0ZSAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VQYXRobmFtZSIsImNuIiwiR2xvYmFsU2lkZWJhciIsIkZvb3RlciIsIlRyYWNraW5nT3B0T3V0QmFubmVyIiwiQ29tbWFuZFBhbGV0dGUiLCJBcHBTaGVsbCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJpc0FkbWluUm91dGUiLCJzdGFydHNXaXRoIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFpbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/AppShell.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Buttons.tsx":
/*!************************************!*\
!*** ./src/components/Buttons.tsx ***!
\************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ FloatingActionButton: () => (/* binding */ FloatingActionButton),\n/* harmony export */ IconButton: () => (/* binding */ IconButton),\n/* harmony export */ LinkButton: () => (/* binding */ LinkButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nfunction Button({ variant = 'primary', size = 'md', isLoading = false, children, className = '', disabled, ...props }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost',\n danger: 'btn bg-destructive text-destructive-foreground hover:bg-brand-primary'\n };\n const sizes = {\n sm: 'px-2 py-1 text-xs',\n md: 'px-3 py-1.5 text-sm',\n lg: 'px-4 py-2 text-base'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: `${variants[variant]} ${sizes[size]} ${className} ${isLoading ? 'opacity-75 cursor-wait' : ''}`,\n disabled: disabled || isLoading,\n ...props,\n children: isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"spinner w-3 h-3\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 44,\n columnNumber: 11\n }, this),\n \"Loading...\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this) : children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, this);\n}\nfunction LinkButton({ variant = 'primary', size = 'md', children, className = '', href = '#', ...props }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost'\n };\n const sizes = {\n sm: 'px-2 py-1 text-xs',\n md: 'px-3 py-1.5 text-sm',\n lg: 'px-4 py-2 text-base'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: href,\n className: `${variants[variant]} ${sizes[size]} ${className}`,\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 80,\n columnNumber: 5\n }, this);\n}\nfunction IconButton({ icon, label, onClick, variant = 'ghost', className = '' }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost',\n danger: 'btn bg-destructive text-destructive-foreground hover:bg-brand-primary'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n className: `${variants[variant]} p-1.5 ${className}`,\n \"aria-label\": label,\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 112,\n columnNumber: 5\n }, this);\n}\nfunction FloatingActionButton({ icon, label, onClick, position = 'bottom-right' }) {\n const positions = {\n 'bottom-right': 'bottom-4 right-4',\n 'bottom-left': 'bottom-4 left-4',\n 'top-right': 'top-4 right-4',\n 'top-left': 'top-4 left-4'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n className: `fixed ${positions[position]} z-40 w-12 h-12 rounded-full bg-accent text-text-primary flex items-center justify-center`,\n \"aria-label\": label,\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Buttons.tsx\",\n lineNumber: 141,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CdXR0b25zLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUE0QjtBQUNIO0FBU2xCLFNBQVNFLE9BQU8sRUFDckJDLFVBQVUsU0FBUyxFQUNuQkMsT0FBTyxJQUFJLEVBQ1hDLFlBQVksS0FBSyxFQUNqQkMsUUFBUSxFQUNSQyxZQUFZLEVBQUUsRUFDZEMsUUFBUSxFQUNSLEdBQUdDLE9BQ1M7SUFDWixNQUFNQyxXQUFXO1FBQ2ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxPQUFPO1FBQ1BDLFFBQ0U7SUFDSjtJQUVBLE1BQU1DLFFBQVE7UUFDWkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDTjtJQUVBLHFCQUNFLDhEQUFDQztRQUNDWixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLENBQUMsRUFBRVksS0FBSyxDQUFDWCxLQUFLLENBQUMsQ0FBQyxFQUFFRyxVQUFVLENBQUMsRUFDM0RGLFlBQVksMkJBQTJCLElBQ3ZDO1FBQ0ZHLFVBQVVBLFlBQVlIO1FBQ3JCLEdBQUdJLEtBQUs7a0JBRVJKLDBCQUNDLDhEQUFDZTtZQUFLYixXQUFVOzs4QkFDZCw4REFBQ2E7b0JBQUtiLFdBQVU7Ozs7OztnQkFBb0I7Ozs7OzttQkFJdENEOzs7Ozs7QUFJUjtBQU9PLFNBQVNlLFdBQVcsRUFDekJsQixVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYRSxRQUFRLEVBQ1JDLFlBQVksRUFBRSxFQUNkZSxPQUFPLEdBQUcsRUFDVixHQUFHYixPQUNhO0lBQ2hCLE1BQU1DLFdBQVc7UUFDZkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLE9BQU87SUFDVDtJQUVBLE1BQU1FLFFBQVE7UUFDWkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDTjtJQUVBLHFCQUNFLDhEQUFDbEIsa0RBQUlBO1FBQ0hzQixNQUFNQTtRQUNOZixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLENBQUMsRUFBRVksS0FBSyxDQUFDWCxLQUFLLENBQUMsQ0FBQyxFQUFFRyxXQUFXO1FBQzVELEdBQUdFLEtBQUs7a0JBRVJIOzs7Ozs7QUFHUDtBQUVPLFNBQVNpQixXQUFXLEVBQ3pCQyxJQUFJLEVBQ0pDLEtBQUssRUFDTEMsT0FBTyxFQUNQdkIsVUFBVSxPQUFPLEVBQ2pCSSxZQUFZLEVBQUUsRUFPZjtJQUNDLE1BQU1HLFdBQVc7UUFDZkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLE9BQU87UUFDUEMsUUFDRTtJQUNKO0lBRUEscUJBQ0UsOERBQUNLO1FBQ0NPLFNBQVNBO1FBQ1RuQixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLE9BQU8sRUFBRUksV0FBVztRQUNwRG9CLGNBQVlGO2tCQUVYRDs7Ozs7O0FBR1A7QUFFTyxTQUFTSSxxQkFBcUIsRUFDbkNKLElBQUksRUFDSkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1BHLFdBQVcsY0FBYyxFQU0xQjtJQUNDLE1BQU1DLFlBQVk7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixhQUFhO1FBQ2IsWUFBWTtJQUNkO0lBRUEscUJBQ0UsOERBQUNYO1FBQ0NPLFNBQVNBO1FBQ1RuQixXQUFXLENBQUMsTUFBTSxFQUFFdUIsU0FBUyxDQUFDRCxTQUFTLENBQUMseUZBQXlGLENBQUM7UUFDbElGLGNBQVlGO2tCQUVYRDs7Ozs7O0FBR1AiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0J1dHRvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluaydcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbkhUTUxBdHRyaWJ1dGVzLCBBbmNob3JIVE1MQXR0cmlidXRlcyB9IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgQnV0dG9uUHJvcHMgZXh0ZW5kcyBCdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4ge1xuICB2YXJpYW50PzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZ2hvc3QnIHwgJ2RhbmdlcidcbiAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJ1xuICBpc0xvYWRpbmc/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgaXNMb2FkaW5nID0gZmFsc2UsXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUgPSAnJyxcbiAgZGlzYWJsZWQsXG4gIC4uLnByb3BzXG59OiBCdXR0b25Qcm9wcykge1xuICBjb25zdCB2YXJpYW50cyA9IHtcbiAgICBwcmltYXJ5OiAnYnRuLXByaW1hcnknLFxuICAgIHNlY29uZGFyeTogJ2J0bi1zZWNvbmRhcnknLFxuICAgIGdob3N0OiAnYnRuLWdob3N0JyxcbiAgICBkYW5nZXI6XG4gICAgICAnYnRuIGJnLWRlc3RydWN0aXZlIHRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBob3ZlcjpiZy1icmFuZC1wcmltYXJ5JyxcbiAgfVxuXG4gIGNvbnN0IHNpemVzID0ge1xuICAgIHNtOiAncHgtMiBweS0xIHRleHQteHMnLFxuICAgIG1kOiAncHgtMyBweS0xLjUgdGV4dC1zbScsXG4gICAgbGc6ICdweC00IHB5LTIgdGV4dC1iYXNlJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3NOYW1lPXtgJHt2YXJpYW50c1t2YXJpYW50XX0gJHtzaXplc1tzaXplXX0gJHtjbGFzc05hbWV9ICR7XG4gICAgICAgIGlzTG9hZGluZyA/ICdvcGFjaXR5LTc1IGN1cnNvci13YWl0JyA6ICcnXG4gICAgICB9YH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCB8fCBpc0xvYWRpbmd9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzcGlubmVyIHctMyBoLTNcIiAvPlxuICAgICAgICAgIExvYWRpbmcuLi5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKSA6IChcbiAgICAgICAgY2hpbGRyZW5cbiAgICAgICl9XG4gICAgPC9idXR0b24+XG4gIClcbn1cblxuaW50ZXJmYWNlIExpbmtCdXR0b25Qcm9wcyBleHRlbmRzIEFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIHZhcmlhbnQ/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdnaG9zdCdcbiAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTGlua0J1dHRvbih7XG4gIHZhcmlhbnQgPSAncHJpbWFyeScsXG4gIHNpemUgPSAnbWQnLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGhyZWYgPSAnIycsXG4gIC4uLnByb3BzXG59OiBMaW5rQnV0dG9uUHJvcHMpIHtcbiAgY29uc3QgdmFyaWFudHMgPSB7XG4gICAgcHJpbWFyeTogJ2J0bi1wcmltYXJ5JyxcbiAgICBzZWNvbmRhcnk6ICdidG4tc2Vjb25kYXJ5JyxcbiAgICBnaG9zdDogJ2J0bi1naG9zdCcsXG4gIH1cblxuICBjb25zdCBzaXplcyA9IHtcbiAgICBzbTogJ3B4LTIgcHktMSB0ZXh0LXhzJyxcbiAgICBtZDogJ3B4LTMgcHktMS41IHRleHQtc20nLFxuICAgIGxnOiAncHgtNCBweS0yIHRleHQtYmFzZScsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgY2xhc3NOYW1lPXtgJHt2YXJpYW50c1t2YXJpYW50XX0gJHtzaXplc1tzaXplXX0gJHtjbGFzc05hbWV9YH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9MaW5rPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJY29uQnV0dG9uKHtcbiAgaWNvbixcbiAgbGFiZWwsXG4gIG9uQ2xpY2ssXG4gIHZhcmlhbnQgPSAnZ2hvc3QnLFxuICBjbGFzc05hbWUgPSAnJyxcbn06IHtcbiAgaWNvbjogUmVhY3QuUmVhY3ROb2RlXG4gIGxhYmVsOiBzdHJpbmdcbiAgb25DbGljaz86ICgpID0+IHZvaWRcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2dob3N0JyB8ICdkYW5nZXInXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkge1xuICBjb25zdCB2YXJpYW50cyA9IHtcbiAgICBwcmltYXJ5OiAnYnRuLXByaW1hcnknLFxuICAgIHNlY29uZGFyeTogJ2J0bi1zZWNvbmRhcnknLFxuICAgIGdob3N0OiAnYnRuLWdob3N0JyxcbiAgICBkYW5nZXI6XG4gICAgICAnYnRuIGJnLWRlc3RydWN0aXZlIHRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBob3ZlcjpiZy1icmFuZC1wcmltYXJ5JyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGNsYXNzTmFtZT17YCR7dmFyaWFudHNbdmFyaWFudF19IHAtMS41ICR7Y2xhc3NOYW1lfWB9XG4gICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICA+XG4gICAgICB7aWNvbn1cbiAgICA8L2J1dHRvbj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRmxvYXRpbmdBY3Rpb25CdXR0b24oe1xuICBpY29uLFxuICBsYWJlbCxcbiAgb25DbGljayxcbiAgcG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0Jyxcbn06IHtcbiAgaWNvbjogUmVhY3QuUmVhY3ROb2RlXG4gIGxhYmVsOiBzdHJpbmdcbiAgb25DbGljazogKCkgPT4gdm9pZFxuICBwb3NpdGlvbj86ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0J1xufSkge1xuICBjb25zdCBwb3NpdGlvbnMgPSB7XG4gICAgJ2JvdHRvbS1yaWdodCc6ICdib3R0b20tNCByaWdodC00JyxcbiAgICAnYm90dG9tLWxlZnQnOiAnYm90dG9tLTQgbGVmdC00JyxcbiAgICAndG9wLXJpZ2h0JzogJ3RvcC00IHJpZ2h0LTQnLFxuICAgICd0b3AtbGVmdCc6ICd0b3AtNCBsZWZ0LTQnLFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgY2xhc3NOYW1lPXtgZml4ZWQgJHtwb3NpdGlvbnNbcG9zaXRpb25dfSB6LTQwIHctMTIgaC0xMiByb3VuZGVkLWZ1bGwgYmctYWNjZW50IHRleHQtdGV4dC1wcmltYXJ5IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyYH1cbiAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgID5cbiAgICAgIHtpY29ufVxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiTGluayIsIlJlYWN0IiwiQnV0dG9uIiwidmFyaWFudCIsInNpemUiLCJpc0xvYWRpbmciLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwicHJvcHMiLCJ2YXJpYW50cyIsInByaW1hcnkiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImRhbmdlciIsInNpemVzIiwic20iLCJtZCIsImxnIiwiYnV0dG9uIiwic3BhbiIsIkxpbmtCdXR0b24iLCJocmVmIiwiSWNvbkJ1dHRvbiIsImljb24iLCJsYWJlbCIsIm9uQ2xpY2siLCJhcmlhLWxhYmVsIiwiRmxvYXRpbmdBY3Rpb25CdXR0b24iLCJwb3NpdGlvbiIsInBvc2l0aW9ucyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Buttons.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/CommandPalette.tsx":
/*!*******************************************!*\
!*** ./src/components/CommandPalette.tsx ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CommandPalette)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nconst BASE_COMMANDS = [\n {\n label: 'Home',\n href: '/'\n },\n {\n label: 'Projects',\n href: '/projects',\n description: 'View recent work and featured case studies'\n },\n {\n label: 'Process',\n href: '/process',\n description: 'Understand how we take ideas from concept to delivery'\n },\n {\n label: 'Studio',\n href: '/studio',\n description: 'Learn about the team, culture, and locations'\n },\n {\n label: 'Crew',\n href: '/crew',\n description: 'Meet the people behind Biohazard VFX'\n },\n {\n label: 'Blog & Updates',\n href: '/blog',\n description: 'Read insights, announcements, and project notes'\n },\n {\n label: 'FAQ',\n href: '/faq',\n description: 'Get answers to common questions'\n },\n {\n label: 'Contact',\n href: '/contact',\n description: 'Start a project or request a consultation'\n }\n];\nconst FOCUSABLE_SELECTORS = 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex=\"-1\"])';\nfunction CommandPalette() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.usePathname)();\n const { data: session } = (0,next_auth_react__WEBPACK_IMPORTED_MODULE_3__.useSession)();\n const [isOpen, setIsOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [query, setQuery] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');\n const [activeIndex, setActiveIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const paletteRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const inputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const commands = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"CommandPalette.useMemo[commands]\": ()=>{\n if (session?.user) {\n return [\n ...BASE_COMMANDS,\n {\n label: 'Admin Dashboard',\n href: '/admin',\n description: 'Manage projects, media, and site content'\n }\n ];\n }\n return BASE_COMMANDS;\n }\n }[\"CommandPalette.useMemo[commands]\"], [\n session\n ]);\n const filteredCommands = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"CommandPalette.useMemo[filteredCommands]\": ()=>{\n const trimmed = query.trim().toLowerCase();\n if (!trimmed) {\n return commands;\n }\n return commands.filter({\n \"CommandPalette.useMemo[filteredCommands]\": ({ label, href, description })=>{\n const haystack = [\n label,\n href,\n description ?? ''\n ].join(' ').toLowerCase();\n return haystack.includes(trimmed);\n }\n }[\"CommandPalette.useMemo[filteredCommands]\"]);\n }\n }[\"CommandPalette.useMemo[filteredCommands]\"], [\n commands,\n query\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n setActiveIndex(0);\n }\n }[\"CommandPalette.useEffect\"], [\n filteredCommands.length\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n const target = typeof globalThis !== 'undefined' && 'addEventListener' in globalThis ? globalThis : null;\n if (!target) {\n return;\n }\n const handleToggle = {\n \"CommandPalette.useEffect.handleToggle\": (event)=>{\n if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k') {\n event.preventDefault();\n setIsOpen({\n \"CommandPalette.useEffect.handleToggle\": (prev)=>{\n const next = !prev;\n if (!next) {\n setQuery('');\n }\n return next;\n }\n }[\"CommandPalette.useEffect.handleToggle\"]);\n }\n }\n }[\"CommandPalette.useEffect.handleToggle\"];\n target.addEventListener('keydown', handleToggle);\n return ({\n \"CommandPalette.useEffect\": ()=>target.removeEventListener('keydown', handleToggle)\n })[\"CommandPalette.useEffect\"];\n }\n }[\"CommandPalette.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n const target = typeof globalThis !== 'undefined' && 'addEventListener' in globalThis ? globalThis : null;\n if (!isOpen || !target) {\n return;\n }\n const handleEscape = {\n \"CommandPalette.useEffect.handleEscape\": (event)=>{\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n setQuery('');\n }\n }\n }[\"CommandPalette.useEffect.handleEscape\"];\n target.addEventListener('keydown', handleEscape);\n return ({\n \"CommandPalette.useEffect\": ()=>target.removeEventListener('keydown', handleEscape)\n })[\"CommandPalette.useEffect\"];\n }\n }[\"CommandPalette.useEffect\"], [\n isOpen\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n const target = typeof globalThis !== 'undefined' && 'document' in globalThis ? globalThis : null;\n const doc = target?.document ?? null;\n if (!isOpen || !target || !doc) {\n return;\n }\n const handleTab = {\n \"CommandPalette.useEffect.handleTab\": (event)=>{\n if (event.key !== 'Tab') return;\n const root = paletteRef.current;\n if (!root) return;\n const focusable = Array.from(root.querySelectorAll(FOCUSABLE_SELECTORS));\n if (focusable.length === 0) return;\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n const current = doc.activeElement;\n if (event.shiftKey) {\n if (current === first || !root.contains(current)) {\n event.preventDefault();\n last.focus();\n }\n } else if (current === last) {\n event.preventDefault();\n first.focus();\n }\n }\n }[\"CommandPalette.useEffect.handleTab\"];\n target.addEventListener('keydown', handleTab);\n return ({\n \"CommandPalette.useEffect\": ()=>target.removeEventListener('keydown', handleTab)\n })[\"CommandPalette.useEffect\"];\n }\n }[\"CommandPalette.useEffect\"], [\n isOpen\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n const target = typeof globalThis !== 'undefined' && 'document' in globalThis ? globalThis : null;\n const doc = target?.document ?? null;\n if (!isOpen || !doc) {\n return undefined;\n }\n inputRef.current?.focus();\n const previousOverflow = doc.body.style.overflow;\n doc.body.style.overflow = 'hidden';\n return ({\n \"CommandPalette.useEffect\": ()=>{\n doc.body.style.overflow = previousOverflow;\n }\n })[\"CommandPalette.useEffect\"];\n }\n }[\"CommandPalette.useEffect\"], [\n isOpen\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n if (!isOpen) return;\n const activeCommand = filteredCommands[activeIndex];\n if (activeCommand) {\n router.prefetch(activeCommand.href);\n }\n }\n }[\"CommandPalette.useEffect\"], [\n activeIndex,\n filteredCommands,\n router,\n isOpen\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CommandPalette.useEffect\": ()=>{\n const target = typeof globalThis !== 'undefined' && 'addEventListener' in globalThis ? globalThis : null;\n if (!target) {\n return;\n }\n const open = {\n \"CommandPalette.useEffect.open\": ()=>setIsOpen(true)\n }[\"CommandPalette.useEffect.open\"];\n const close = {\n \"CommandPalette.useEffect.close\": ()=>setIsOpen(false)\n }[\"CommandPalette.useEffect.close\"];\n target.addEventListener('open-command-palette', open);\n target.addEventListener('close-command-palette', close);\n return ({\n \"CommandPalette.useEffect\": ()=>{\n target.removeEventListener('open-command-palette', open);\n target.removeEventListener('close-command-palette', close);\n }\n })[\"CommandPalette.useEffect\"];\n }\n }[\"CommandPalette.useEffect\"], []);\n const closePalette = ()=>{\n setIsOpen(false);\n setQuery('');\n };\n const handleSelect = (command)=>{\n closePalette();\n if (pathname !== command.href) {\n router.push(command.href);\n }\n };\n const handleInputKeyDown = (event)=>{\n if (!filteredCommands.length) {\n return;\n }\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setActiveIndex((prev)=>Math.min(prev + 1, filteredCommands.length - 1));\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n setActiveIndex((prev)=>Math.max(prev - 1, 0));\n } else if (event.key === 'Enter') {\n event.preventDefault();\n const command = filteredCommands[activeIndex];\n if (command) {\n handleSelect(command);\n }\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n \"aria-hidden\": isOpen,\n onClick: ()=>setIsOpen(true),\n children: \"Open command palette\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 275,\n columnNumber: 7\n }, this),\n true ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Open command palette (dev)\",\n onClick: ()=>setIsOpen(true),\n className: \"fixed bottom-6 right-6 z-[101] rounded-full border border-surface-600 bg-surface-800/80 px-3 py-2 text-xs text-text-secondary shadow-[0_8px_24px_rgba(0,0,0,0.45)] hover:text-text-primary hover:bg-surface-700/80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent/45\",\n children: \"⌘ / Ctrl + K\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this) : 0,\n isOpen ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-[100]\",\n role: \"presentation\",\n \"aria-hidden\": !isOpen,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/60 backdrop-blur-sm\",\n \"aria-hidden\": \"true\",\n onClick: closePalette\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 301,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: paletteRef,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-labelledby\": \"command-palette-title\",\n className: \"relative mx-auto mt-16 w-full max-w-2xl rounded-2xl border border-surface-500/50 bg-surface-900/95 shadow-[0_28px_120px_rgba(0,0,0,0.55)]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between border-b border-surface-500/60 px-5 py-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"command-palette-title\",\n className: \"text-sm font-medium uppercase tracking-[0.18em] text-text-muted\",\n children: \"Command Palette\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 315,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-text-muted/70\",\n children: \"Search for pages or jump directly using ⌘ / Ctrl + K\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 321,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 314,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: closePalette,\n className: \"rounded-md border border-surface-600 px-2 py-1 text-xs text-text-muted transition hover:border-accent/60 hover:text-text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent/45\",\n children: \"ESC\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 325,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 313,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-5 pb-5 pt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: inputRef,\n type: \"search\",\n value: query,\n onChange: (event)=>setQuery(event.target.value),\n onKeyDown: handleInputKeyDown,\n placeholder: \"Search destinations...\",\n \"aria-label\": \"Search destinations\",\n className: \"w-full rounded-lg border border-surface-600 bg-surface-800/70 px-4 py-2.5 text-sm text-text-primary shadow-inner focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/40\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 336,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded bg-surface-700 px-2 py-1 text-[11px] text-text-muted shadow-inner\",\n children: \"⌘ / Ctrl + K\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 346,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 335,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n role: \"listbox\",\n \"aria-label\": \"Available navigation destinations\",\n className: \"mt-4 max-h-80 overflow-y-auto rounded-lg border border-surface-700/80 bg-surface-850/90\",\n children: filteredCommands.length ? filteredCommands.map((command, index)=>{\n const isActive = index === activeIndex;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n role: \"option\",\n \"aria-selected\": isActive,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_4__.cn)('flex w-full flex-col items-start gap-1 border-b border-surface-800/40 px-4 py-3 text-left transition-colors focus:outline-none', isActive ? 'bg-surface-700/70 text-text-primary' : 'text-text-secondary hover:bg-surface-700/40'),\n onClick: ()=>handleSelect(command),\n onMouseEnter: ()=>setActiveIndex(index),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: command.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 376,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-text-muted\",\n children: command.description ?? command.href\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 379,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 365,\n columnNumber: 25\n }, this)\n }, command.href, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 360,\n columnNumber: 23\n }, this);\n }) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"px-4 py-6 text-sm text-text-muted\",\n children: [\n \"No matches for\",\n ' ',\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-text-primary\",\n children: [\n \"“\",\n query,\n \"”\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 389,\n columnNumber: 21\n }, this),\n \". Try a different term.\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 387,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 351,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 334,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/CommandPalette.tsx\",\n lineNumber: 296,\n columnNumber: 9\n }, this) : null\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Db21tYW5kUGFsZXR0ZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUU0RDtBQUVKO0FBQ1o7QUFDWjtBQVFoQyxNQUFNUSxnQkFBMkI7SUFDL0I7UUFBRUMsT0FBTztRQUFRQyxNQUFNO0lBQUk7SUFDM0I7UUFDRUQsT0FBTztRQUNQQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixPQUFPO1FBQ1BDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsT0FBTztRQUNQQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixPQUFPO1FBQ1BDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsT0FBTztRQUNQQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtDQUNEO0FBRUQsTUFBTUMsc0JBQ0o7QUFFYSxTQUFTQztJQUN0QixNQUFNQyxTQUFTViwwREFBU0E7SUFDeEIsTUFBTVcsV0FBV1YsNERBQVdBO0lBQzVCLE1BQU0sRUFBRVcsTUFBTUMsT0FBTyxFQUFFLEdBQUdYLDJEQUFVQTtJQUVwQyxNQUFNLENBQUNZLFFBQVFDLFVBQVUsR0FBR2hCLCtDQUFRQSxDQUFDO0lBQ3JDLE1BQU0sQ0FBQ2lCLE9BQU9DLFNBQVMsR0FBR2xCLCtDQUFRQSxDQUFDO0lBQ25DLE1BQU0sQ0FBQ21CLGFBQWFDLGVBQWUsR0FBR3BCLCtDQUFRQSxDQUFDO0lBRS9DLE1BQU1xQixhQUFhdEIsNkNBQU1BLENBQWlCO0lBQzFDLE1BQU11QixXQUFXdkIsNkNBQU1BLENBQW1CO0lBRTFDLE1BQU13QixXQUFXekIsOENBQU9BOzRDQUFDO1lBQ3ZCLElBQUlnQixTQUFTVSxNQUFNO2dCQUNqQixPQUFPO3VCQUNGbkI7b0JBQ0g7d0JBQ0VDLE9BQU87d0JB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aUJBQWlCMkUsR0FBRyxDQUFDLENBQUMzQixTQUFTNEI7NENBQzdCLE1BQU1DLFdBQVdELFVBQVVsRjs0Q0FDM0IscUJBQ0UsOERBQUNvRjtnREFFQ2pCLE1BQUs7Z0RBQ0xrQixpQkFBZUY7MERBRWYsNEVBQUN2QjtvREFDQ0MsTUFBSztvREFDTEMsV0FBVzdFLDhDQUFFQSxDQUNYLGtJQUNBa0csV0FDSSx3Q0FDQTtvREFFTm5CLFNBQVMsSUFBTVgsYUFBYUM7b0RBQzVCZ0MsY0FBYyxJQUFNckYsZUFBZWlGOztzRUFFbkMsOERBQUNIOzREQUFLakIsV0FBVTtzRUFDYlIsUUFBUW5FLEtBQUs7Ozs7OztzRUFFaEIsOERBQUM0Rjs0REFBS2pCLFdBQVU7c0VBQ2JSLFFBQVFqRSxXQUFXLElBQUlpRSxRQUFRbEUsSUFBSTs7Ozs7Ozs7Ozs7OytDQW5CbkNrRSxRQUFRbEUsSUFBSTs7Ozs7d0NBd0J2QixtQkFFQSw4REFBQ2dHOzRDQUFHdEIsV0FBVTs7Z0RBQW9DO2dEQUNqQzs4REFDZiw4REFBQ2lCO29EQUFLakIsV0FBVTs7d0RBQW9CO3dEQUFFaEU7d0RBQU07Ozs7Ozs7Z0RBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VCQVE5RDs7O0FBR1YiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0NvbW1hbmRQYWxldHRlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IEtleWJvYXJkRXZlbnQgYXMgUmVhY3RLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VSb3V0ZXIsIHVzZVBhdGhuYW1lIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuaW1wb3J0IHsgdXNlU2Vzc2lvbiB9IGZyb20gJ25leHQtYXV0aC9yZWFjdCdcbmltcG9ydCB7IGNuIH0gZnJvbSAnQC9saWIvdXRpbHMnXG5cbnR5cGUgQ29tbWFuZCA9IHtcbiAgbGFiZWw6IHN0cmluZ1xuICBocmVmOiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuY29uc3QgQkFTRV9DT01NQU5EUzogQ29tbWFuZFtdID0gW1xuICB7IGxhYmVsOiAnSG9tZScsIGhyZWY6ICcvJyB9LFxuICB7XG4gICAgbGFiZWw6ICdQcm9qZWN0cycsXG4gICAgaHJlZjogJy9wcm9qZWN0cycsXG4gICAgZGVzY3JpcHRpb246ICdWaWV3IHJlY2VudCB3b3JrIGFuZCBmZWF0dXJlZCBjYXNlIHN0dWRpZXMnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdQcm9jZXNzJyxcbiAgICBocmVmOiAnL3Byb2Nlc3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnVW5kZXJzdGFuZCBob3cgd2UgdGFrZSBpZGVhcyBmcm9tIGNvbmNlcHQgdG8gZGVsaXZlcnknLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdTdHVkaW8nLFxuICAgIGhyZWY6ICcvc3R1ZGlvJyxcbiAgICBkZXNjcmlwdGlvbjogJ0xlYXJuIGFib3V0IHRoZSB0ZWFtLCBjdWx0dXJlLCBhbmQgbG9jYXRpb25zJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnQ3JldycsXG4gICAgaHJlZjogJy9jcmV3JyxcbiAgICBkZXNjcmlwdGlvbjogJ01lZXQgdGhlIHBlb3BsZSBiZWhpbmQgQmlvaGF6YXJkIFZGWCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ0Jsb2cgJiBVcGRhdGVzJyxcbiAgICBocmVmOiAnL2Jsb2cnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVhZCBpbnNpZ2h0cywgYW5ub3VuY2VtZW50cywgYW5kIHByb2plY3Qgbm90ZXMnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdGQVEnLFxuICAgIGhyZWY6ICcvZmFxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbnN3ZXJzIHRvIGNvbW1vbiBxdWVzdGlvbnMnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdDb250YWN0JyxcbiAgICBocmVmOiAnL2NvbnRhY3QnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgYSBwcm9qZWN0IG9yIHJlcXVlc3QgYSBjb25zdWx0YXRpb24nLFxuICB9LFxuXVxuXG5jb25zdCBGT0NVU0FCTEVfU0VMRUNUT1JTID1cbiAgJ2FbaHJlZl0sIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhLCBpbnB1dCwgc2VsZWN0LCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENvbW1hbmRQYWxldHRlKCkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICBjb25zdCBwYXRobmFtZSA9IHVzZVBhdGhuYW1lKClcbiAgY29uc3QgeyBkYXRhOiBzZXNzaW9uIH0gPSB1c2VTZXNzaW9uKClcblxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtxdWVyeSwgc2V0UXVlcnldID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUoMClcblxuICBjb25zdCBwYWxldHRlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGNvbW1hbmRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHNlc3Npb24/LnVzZXIpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLkJBU0VfQ09NTUFORFMsXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FkbWluIERhc2hib2FyZCcsXG4gICAgICAgICAgaHJlZjogJy9hZG1pbicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgcHJvamVjdHMsIG1lZGlhLCBhbmQgc2l0ZSBjb250ZW50JyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gICAgcmV0dXJuIEJBU0VfQ09NTUFORFNcbiAgfSwgW3Nlc3Npb25dKVxuXG4gIGNvbnN0IGZpbHRlcmVkQ29tbWFuZHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB0cmltbWVkID0gcXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgICBpZiAoIXRyaW1tZWQpIHtcbiAgICAgIHJldHVybiBjb21tYW5kc1xuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kcy5maWx0ZXIoKHsgbGFiZWwsIGhyZWYsIGRlc2NyaXB0aW9uIH0pID0+IHtcbiAgICAgIGNvbnN0IGhheXN0YWNrID0gW2xhYmVsLCBocmVmLCBkZXNjcmlwdGlvbiA/PyAnJ10uam9pbignICcpLnRvTG93ZXJDYXNlKClcbiAgICAgIHJldHVybiBoYXlzdGFjay5pbmNsdWRlcyh0cmltbWVkKVxuICAgIH0pXG4gIH0sIFtjb21tYW5kcywgcXVlcnldKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0QWN0aXZlSW5kZXgoMClcbiAgfSwgW2ZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9XG4gICAgICB0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcgJiYgJ2FkZEV2ZW50TGlzdGVuZXInIGluIGdsb2JhbFRoaXNcbiAgICAgICAgPyAoZ2xvYmFsVGhpcyBhcyBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcylcbiAgICAgICAgOiBudWxsXG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpICYmIGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnaycpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBzZXRJc09wZW4oKHByZXYpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXh0ID0gIXByZXZcbiAgICAgICAgICBpZiAoIW5leHQpIHtcbiAgICAgICAgICAgIHNldFF1ZXJ5KCcnKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV4dFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlVG9nZ2xlKVxuICAgIHJldHVybiAoKSA9PiB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZVRvZ2dsZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmICdhZGRFdmVudExpc3RlbmVyJyBpbiBnbG9iYWxUaGlzXG4gICAgICAgID8gKGdsb2JhbFRoaXMgYXMgV2luZG93ICYgdHlwZW9mIGdsb2JhbFRoaXMpXG4gICAgICAgIDogbnVsbFxuICAgIGlmICghaXNPcGVuIHx8ICF0YXJnZXQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgICAgIHNldFF1ZXJ5KCcnKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjYXBlKVxuICAgIHJldHVybiAoKSA9PiB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSlcbiAgfSwgW2lzT3Blbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmICdkb2N1bWVudCcgaW4gZ2xvYmFsVGhpc1xuICAgICAgICA/IChnbG9iYWxUaGlzIGFzIFdpbmRvdyAmIHR5cGVvZiBnbG9iYWxUaGlzKVxuICAgICAgICA6IG51bGxcbiAgICBjb25zdCBkb2MgPSB0YXJnZXQ/LmRvY3VtZW50ID8/IG51bGxcbiAgICBpZiAoIWlzT3BlbiB8fCAhdGFyZ2V0IHx8ICFkb2MpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVRhYiA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSAhPT0gJ1RhYicpIHJldHVyblxuICAgICAgY29uc3Qgcm9vdCA9IHBhbGV0dGVSZWYuY3VycmVudFxuICAgICAgaWYgKCFyb290KSByZXR1cm5cblxuICAgICAgY29uc3QgZm9jdXNhYmxlID0gQXJyYXkuZnJvbShcbiAgICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihGT0NVU0FCTEVfU0VMRUNUT1JTKVxuICAgICAgKVxuICAgICAgaWYgKGZvY3VzYWJsZS5sZW5ndGggPT09IDApIHJldHVyblxuXG4gICAgICBjb25zdCBmaXJzdCA9IGZvY3VzYWJsZVswXVxuICAgICAgY29uc3QgbGFzdCA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBkb2MuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IG51bGxcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09PSBmaXJzdCB8fCAhcm9vdC5jb250YWlucyhjdXJyZW50KSkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBsYXN0LmZvY3VzKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50ID09PSBsYXN0KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgZmlyc3QuZm9jdXMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlVGFiKVxuICAgIHJldHVybiAoKSA9PiB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZVRhYilcbiAgfSwgW2lzT3Blbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmICdkb2N1bWVudCcgaW4gZ2xvYmFsVGhpc1xuICAgICAgICA/IChnbG9iYWxUaGlzIGFzIFdpbmRvdyAmIHR5cGVvZiBnbG9iYWxUaGlzKVxuICAgICAgICA6IG51bGxcbiAgICBjb25zdCBkb2MgPSB0YXJnZXQ/LmRvY3VtZW50ID8/IG51bGxcbiAgICBpZiAoIWlzT3BlbiB8fCAhZG9jKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgIGNvbnN0IHByZXZpb3VzT3ZlcmZsb3cgPSBkb2MuYm9keS5zdHlsZS5vdmVyZmxvd1xuICAgIGRvYy5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jLmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBwcmV2aW91c092ZXJmbG93XG4gICAgfVxuICB9LCBbaXNPcGVuXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSByZXR1cm5cbiAgICBjb25zdCBhY3RpdmVDb21tYW5kID0gZmlsdGVyZWRDb21tYW5kc1thY3RpdmVJbmRleF1cbiAgICBpZiAoYWN0aXZlQ29tbWFuZCkge1xuICAgICAgcm91dGVyLnByZWZldGNoKGFjdGl2ZUNvbW1hbmQuaHJlZilcbiAgICB9XG4gIH0sIFthY3RpdmVJbmRleCwgZmlsdGVyZWRDb21tYW5kcywgcm91dGVyLCBpc09wZW5dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgIHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyAmJiAnYWRkRXZlbnRMaXN0ZW5lcicgaW4gZ2xvYmFsVGhpc1xuICAgICAgICA/IChnbG9iYWxUaGlzIGFzIFdpbmRvdyAmIHR5cGVvZiBnbG9iYWxUaGlzKVxuICAgICAgICA6IG51bGxcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IG9wZW4gPSAoKSA9PiBzZXRJc09wZW4odHJ1ZSlcbiAgICBjb25zdCBjbG9zZSA9ICgpID0+IHNldElzT3BlbihmYWxzZSlcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdvcGVuLWNvbW1hbmQtcGFsZXR0ZScsXG4gICAgICBvcGVuIGFzIHVua25vd24gYXMgRXZlbnRMaXN0ZW5lclxuICAgIClcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjbG9zZS1jb21tYW5kLXBhbGV0dGUnLFxuICAgICAgY2xvc2UgYXMgdW5rbm93biBhcyBFdmVudExpc3RlbmVyXG4gICAgKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ29wZW4tY29tbWFuZC1wYWxldHRlJyxcbiAgICAgICAgb3BlbiBhcyB1bmtub3duIGFzIEV2ZW50TGlzdGVuZXJcbiAgICAgIClcbiAgICAgIHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAnY2xvc2UtY29tbWFuZC1wYWxldHRlJyxcbiAgICAgICAgY2xvc2UgYXMgdW5rbm93biBhcyBFdmVudExpc3RlbmVyXG4gICAgICApXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBjbG9zZVBhbGV0dGUgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIHNldFF1ZXJ5KCcnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0ID0gKGNvbW1hbmQ6IENvbW1hbmQpID0+IHtcbiAgICBjbG9zZVBhbGV0dGUoKVxuICAgIGlmIChwYXRobmFtZSAhPT0gY29tbWFuZC5ocmVmKSB7XG4gICAgICByb3V0ZXIucHVzaChjb21tYW5kLmhyZWYpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlSW5wdXRLZXlEb3duID0gKGV2ZW50OiBSZWFjdEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IE1hdGgubWluKHByZXYgKyAxLCBmaWx0ZXJlZENvbW1hbmRzLmxlbmd0aCAtIDEpKVxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHNldEFjdGl2ZUluZGV4KChwcmV2KSA9PiBNYXRoLm1heChwcmV2IC0gMSwgMCkpXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBmaWx0ZXJlZENvbW1hbmRzW2FjdGl2ZUluZGV4XVxuICAgICAgaWYgKGNvbW1hbmQpIHtcbiAgICAgICAgaGFuZGxlU2VsZWN0KGNvbW1hbmQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3NOYW1lPVwic3Itb25seVwiXG4gICAgICAgIGFyaWEtaGlkZGVuPXtpc09wZW59XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzT3Blbih0cnVlKX1cbiAgICAgID5cbiAgICAgICAgT3BlbiBjb21tYW5kIHBhbGV0dGVcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICB7cHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGNvbW1hbmQgcGFsZXR0ZSAoZGV2KVwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKHRydWUpfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGJvdHRvbS02IHJpZ2h0LTYgei1bMTAxXSByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1zdXJmYWNlLTYwMCBiZy1zdXJmYWNlLTgwMC84MCBweC0zIHB5LTIgdGV4dC14cyB0ZXh0LXRleHQtc2Vjb25kYXJ5IHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSBob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeSBob3ZlcjpiZy1zdXJmYWNlLTcwMC84MCBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1hY2NlbnQvNDVcIlxuICAgICAgICA+XG4gICAgICAgICAg4oyYIC8gQ3RybCArIEtcbiAgICAgICAgPC9idXR0b24+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei1bMTAwXVwiXG4gICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49eyFpc09wZW59XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWJsYWNrLzYwIGJhY2tkcm9wLWJsdXItc21cIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2Nsb3NlUGFsZXR0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17cGFsZXR0ZVJlZn1cbiAgICAgICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiY29tbWFuZC1wYWxldHRlLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIG14LWF1dG8gbXQtMTYgdy1mdWxsIG1heC13LTJ4bCByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXN1cmZhY2UtNTAwLzUwIGJnLXN1cmZhY2UtOTAwLzk1IHNoYWRvdy1bMF8yOHB4XzEyMHB4X3JnYmEoMCwwLDAsMC41NSldXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBib3JkZXItYiBib3JkZXItc3VyZmFjZS01MDAvNjAgcHgtNSBweS00XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgICAgaWQ9XCJjb21tYW5kLXBhbGV0dGUtdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMThlbV0gdGV4dC10ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDb21tYW5kIFBhbGV0dGVcbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC10ZXh0LW11dGVkLzcwXCI+XG4gICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIHBhZ2VzIG9yIGp1bXAgZGlyZWN0bHkgdXNpbmcg4oyYIC8gQ3RybCArIEtcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17Y2xvc2VQYWxldHRlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zdXJmYWNlLTYwMCBweC0yIHB5LTEgdGV4dC14cyB0ZXh0LXRleHQtbXV0ZWQgdHJhbnNpdGlvbiBob3Zlcjpib3JkZXItYWNjZW50LzYwIGhvdmVyOnRleHQtdGV4dC1wcmltYXJ5IGZvY3VzLXZpc2libGU6b3V0bGluZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLWFjY2VudC80NVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBFU0NcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC01IHBiLTUgcHQtNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17cXVlcnl9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRRdWVyeShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVJbnB1dEtleURvd259XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBkZXN0aW5hdGlvbnMuLi5cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCBkZXN0aW5hdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zdXJmYWNlLTYwMCBiZy1zdXJmYWNlLTgwMC83MCBweC00IHB5LTIuNSB0ZXh0LXNtIHRleHQtdGV4dC1wcmltYXJ5IHNoYWRvdy1pbm5lciBmb2N1czpib3JkZXItYWNjZW50IGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1hY2NlbnQvNDBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0zIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByb3VuZGVkIGJnLXN1cmZhY2UtNzAwIHB4LTIgcHktMSB0ZXh0LVsxMXB4XSB0ZXh0LXRleHQtbXV0ZWQgc2hhZG93LWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICDijJggLyBDdHJsICsgS1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBdmFpbGFibGUgbmF2aWdhdGlvbiBkZXN0aW5hdGlvbnNcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTQgbWF4LWgtODAgb3ZlcmZsb3cteS1hdXRvIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zdXJmYWNlLTcwMC84MCBiZy1zdXJmYWNlLTg1MC85MFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZmlsdGVyZWRDb21tYW5kcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJlZENvbW1hbmRzLm1hcCgoY29tbWFuZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBpbmRleCA9PT0gYWN0aXZlSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y29tbWFuZC5ocmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmbGV4IHctZnVsbCBmbGV4LWNvbCBpdGVtcy1zdGFydCBnYXAtMSBib3JkZXItYiBib3JkZXItc3VyZmFjZS04MDAvNDAgcHgtNCBweS0zIHRleHQtbGVmdCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpvdXRsaW5lLW5vbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdiZy1zdXJmYWNlLTcwMC83MCB0ZXh0LXRleHQtcHJpbWFyeSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtdGV4dC1zZWNvbmRhcnkgaG92ZXI6Ymctc3VyZmFjZS03MDAvNDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdChjb21tYW5kKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRBY3RpdmVJbmRleChpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29tbWFuZC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb21tYW5kLmRlc2NyaXB0aW9uID8/IGNvbW1hbmQuaHJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInB4LTQgcHktNiB0ZXh0LXNtIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICBObyBtYXRjaGVzIGZvcnsnICd9XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtdGV4dC1wcmltYXJ5XCI+4oCce3F1ZXJ5feKAnTwvc3Bhbj4uIFRyeSBhXG4gICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudCB0ZXJtLlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VSb3V0ZXIiLCJ1c2VQYXRobmFtZSIsInVzZVNlc3Npb24iLCJjbiIsIkJBU0VfQ09NTUFORFMiLCJsYWJlbCIsImhyZWYiLCJkZXNjcmlwdGlvbiIsIkZPQ1VTQUJMRV9TRUxFQ1RPUlMiLCJDb21tYW5kUGFsZXR0ZSIsInJvdXRlciIsInBhdGhuYW1lIiwiZGF0YSIsInNlc3Npb24iLCJpc09wZW4iLCJzZXRJc09wZW4iLCJxdWVyeSIsInNldFF1ZXJ5IiwiYWN0aXZlSW5kZXgiLCJzZXRBY3RpdmVJbmRleCIsInBhbGV0dGVSZWYiLCJpbnB1dFJlZiIsImNvbW1hbmRzIiwidXNlciIsImZpbHRlcmVkQ29tbWFuZHMiLCJ0cmltbWVkIiwidHJpbSIsInRvTG93ZXJDYXNlIiwiZmlsdGVyIiwiaGF5c3RhY2siLCJqb2luIiwiaW5jbHVkZXMiLCJsZW5ndGgiLCJ0YXJnZXQiLCJnbG9iYWxUaGlzIiwiaGFuZGxlVG9nZ2xlIiwiZXZlbnQiLCJtZXRhS2V5IiwiY3RybEtleSIsImtleSIsInByZXZlbnREZWZhdWx0IiwicHJldiIsIm5leHQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUVzY2FwZSIsImRvYyIsImRvY3VtZW50IiwiaGFuZGxlVGFiIiwicm9vdCIsImN1cnJlbnQiLCJmb2N1c2FibGUiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwiZmlyc3QiLCJsYXN0IiwiYWN0aXZlRWxlbWVudCIsInNoaWZ0S2V5IiwiY29udGFpbnMiLCJmb2N1cyIsInVuZGVmaW5lZCIsInByZXZpb3VzT3ZlcmZsb3ciLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsImFjdGl2ZUNvbW1hbmQiLCJwcmVmZXRjaCIsIm9wZW4iLCJjbG9zZSIsImNsb3NlUGFsZXR0ZSIsImhhbmRsZVNlbGVjdCIsImNvbW1hbmQiLCJwdXNoIiwiaGFuZGxlSW5wdXRLZXlEb3duIiwiTWF0aCIsIm1pbiIsIm1heCIsImJ1dHRvbiIsInR5cGUiLCJjbGFzc05hbWUiLCJhcmlhLWhpZGRlbiIsIm9uQ2xpY2siLCJhcmlhLWxhYmVsIiwiZGl2Iiwicm9sZSIsInJlZiIsImFyaWEtbW9kYWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJoMiIsImlkIiwicCIsImlucHV0IiwidmFsdWUiLCJvbkNoYW5nZSIsIm9uS2V5RG93biIsInBsYWNlaG9sZGVyIiwic3BhbiIsInVsIiwibWFwIiwiaW5kZXgiLCJpc0FjdGl2ZSIsImxpIiwiYXJpYS1zZWxlY3RlZCIsIm9uTW91c2VFbnRlciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/CommandPalette.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Footer.tsx":
/*!***********************************!*\
!*** ./src/components/Footer.tsx ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Footer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Layouts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Layouts */ \"(ssr)/./src/components/Layouts.tsx\");\n/* harmony import */ var _Forms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Forms */ \"(ssr)/./src/components/Forms.tsx\");\n/* harmony import */ var _Buttons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Buttons */ \"(ssr)/./src/components/Buttons.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction Footer() {\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');\n const [firstName, setFirstName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');\n const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');\n const [agree, setAgree] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isSubmitting, setIsSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [submitMessage, setSubmitMessage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');\n const handleSubmit = async (e)=>{\n e.preventDefault();\n setSubmitMessage('');\n if (!agree) {\n setSubmitMessage('Please agree to the Terms of Use and Privacy Policy.');\n return;\n }\n const accessKey = process.env.NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY;\n if (!accessKey) {\n setSubmitMessage('Form configuration error. Missing Web3Forms access key.');\n return;\n }\n setIsSubmitting(true);\n try {\n const res = await fetch('https://api.web3forms.com/submit', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n access_key: accessKey,\n subject: 'Footer inquiry from Biohazard VFX',\n from_name: firstName || 'Website Visitor',\n replyto: email,\n firstName,\n email,\n message,\n consent_terms: true,\n consent_privacy: true,\n source: 'FooterForm'\n })\n });\n const result = await res.json();\n if (result.success) {\n setSubmitMessage(\"Thank you! We'll be in touch soon.\");\n setEmail('');\n setFirstName('');\n setMessage('');\n setAgree(false);\n } else {\n setSubmitMessage('There was an error sending your message. Please try again.');\n }\n } catch {\n setSubmitMessage('There was an error sending your message. Please try again.');\n } finally{\n setIsSubmitting(false);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"bg-surface-900 pt-12 pb-8 border-t border-surface-500\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_3__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-3 gap-8 items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-display text-white mb-2\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 74,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm max-w-md\",\n children: \"Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 75,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm mt-3\",\n children: \"We usually reply within 24 hours.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 78,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 73,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold text-white mb-3\",\n children: \"Explore\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/projects\",\n className: \"block link-muted text-sm\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/crew\",\n className: \"block link-muted text-sm\",\n children: \"Our Crew\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 87,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/blog\",\n className: \"block link-muted text-sm\",\n children: \"Blog\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 88,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/contact\",\n className: \"block link-muted text-sm\",\n children: \"Contact\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 89,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 85,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/services\",\n className: \"block link-muted text-sm\",\n children: \"Services\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 92,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/privacy\",\n className: \"block link-muted text-sm\",\n children: \"Privacy\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 93,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/terms\",\n className: \"block link-muted text-sm\",\n children: \"Terms\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 94,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"mailto:Davane@biohazardvfx.com\",\n className: \"block link-muted text-sm\",\n children: \"DMCA\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 95,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 91,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 84,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold text-white mb-3\",\n children: \"Contact Us\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 102,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"space-y-3\",\n noValidate: true,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Input, {\n type: \"text\",\n placeholder: \"Name\",\n value: firstName,\n onChange: (e)=>setFirstName(e.target.value),\n className: \"text-sm\",\n autoComplete: \"given-name\",\n name: \"firstName\",\n id: \"footer-firstName\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 104,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Input, {\n type: \"email\",\n placeholder: \"Email\",\n value: email,\n onChange: (e)=>setEmail(e.target.value),\n className: \"text-sm\",\n autoComplete: \"email\",\n name: \"email\",\n id: \"footer-email\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 114,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Textarea, {\n placeholder: \"Message\",\n value: message,\n onChange: (e)=>setMessage(e.target.value),\n rows: 3,\n className: \"text-sm\",\n name: \"message\",\n id: \"footer-message\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 124,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"flex items-center gap-2 text-xs text-text-muted\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n className: \"h-4 w-4\",\n checked: agree,\n onChange: (e)=>setAgree(e.target.checked),\n \"aria-describedby\": \"footer-consent-help\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 135,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"I agree to the \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/terms\",\n className: \"link\",\n children: \"Terms\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 142,\n columnNumber: 38\n }, this),\n \" and \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/privacy\",\n className: \"link\",\n children: \"Privacy Policy\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 142,\n columnNumber: 92\n }, this),\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 142,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 134,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n id: \"footer-consent-help\",\n className: \"sr-only\",\n children: \"You must agree before submitting.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 144,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Buttons__WEBPACK_IMPORTED_MODULE_5__.Button, {\n type: \"submit\",\n disabled: isSubmitting || !agree,\n isLoading: isSubmitting,\n size: \"sm\",\n children: \"Send\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 147,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/contact\",\n className: \"text-sm link-muted hover:text-text-secondary\",\n children: \"Or open contact page\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 150,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 146,\n columnNumber: 15\n }, this),\n submitMessage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: `text-xs ${submitMessage.includes('Thank you') ? 'text-green-400' : 'text-red-400'}`,\n children: submitMessage\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 154,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 103,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 101,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t border-surface-500 mt-8 pt-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row justify-between items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.instagram.com/biohazardvfx/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n \"aria-label\": \"Instagram\",\n title: \"Instagram\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 5c-3.859 0-7 3.141-7 7 0 3.859 3.141 7 7 7s7-3.141 7-7c0-3.859-3.141-7-7-7zm6.406.52a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 174,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 173,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 165,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://vimeo.com/biohazardvfx\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n \"aria-label\": \"Vimeo\",\n title: \"Vimeo\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M22.875 10.063c-2.442 5.217-8.337 12.319-12.063 12.319-3.672 0-4.203-7.831-6.208-13.043-.987-2.565-1.624-1.814-3.474-.281L0 8.019c2.698-2.435 5.394-5.391 7.396-5.553 3.162-.242 3.487 2.831 4.024 5.479.699 3.463 1.809 8.845 2.801 8.845.796 0 2.289-3.313 2.428-4.516.222-1.853-1.512-1.879-2.971-1.271C17.503-2.071 22.875 4.44 22.875 10.063z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 186,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 185,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 177,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.youtube.com/@biohazardvfx\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n \"aria-label\": \"YouTube\",\n title: \"YouTube\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 198,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 189,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 164,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row items-center gap-4 text-sm text-text-muted\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n \"\\xa9 \",\n new Date().getFullYear(),\n \" Biohazard VFX. All rights reserved.\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 204,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/privacy\",\n className: \"link-muted\",\n children: \"Privacy Policy\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 206,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/terms\",\n className: \"link-muted\",\n children: \"Terms of Use\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 207,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"mailto:Davane@biohazardvfx.com\",\n className: \"link-muted\",\n title: \"DMCA\",\n children: \"DMCA\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 208,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 205,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 203,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 70,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Footer.tsx\",\n lineNumber: 69,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Gb290ZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRXlCO0FBQ0c7QUFDSTtBQUNLO0FBQ0k7QUFDUDtBQUVuQixTQUFTTztJQUN0QixNQUFNLENBQUNDLE9BQU9DLFNBQVMsR0FBR1AsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDUSxXQUFXQyxhQUFhLEdBQUdULCtDQUFRQSxDQUFDO0lBQzNDLE1BQU0sQ0FBQ1UsU0FBU0MsV0FBVyxHQUFHWCwrQ0FBUUEsQ0FBQztJQUN2QyxNQUFNLENBQUNZLE9BQU9DLFNBQVMsR0FBR2IsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDYyxjQUFjQyxnQkFBZ0IsR0FBR2YsK0NBQVFBLENBQUM7SUFDakQsTUFBTSxDQUFDZ0IsZUFBZUMsaUJBQWlCLEdBQUdqQiwrQ0FBUUEsQ0FBQztJQUVuRCxNQUFNa0IsZUFBZSxPQUFPQztRQUMxQkEsRUFBRUMsY0FBYztRQUNoQkgsaUJBQWlCO1FBRWpCLElBQUksQ0FBQ0wsT0FBTztZQUNWSyxpQkFBaUI7WUFDakI7UUFDRjtRQUVBLE1BQU1JLFlBQVlDLFFBQVFDLEdBQUcsQ0FBQ0MsZ0NBQWdDO1FBQzlELElBQUksQ0FBQ0gsV0FBVztZQUNkSixpQkFBaUI7WUFDakI7UUFDRjtRQUVBRixnQkFBZ0I7UUFDaEIsSUFBSTtZQUNGLE1BQU1VLE1BQU0sTUFBTUMsTUFBTSxvQ0FBb0M7Z0JBQzFEQyxRQUFRO2dCQUNSQyxTQUFTO29CQUFFLGdCQUFnQjtnQkFBbUI7Z0JBQzlDQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7b0JBQ25CQyxZQUFZWDtvQkFDWlksU0FBUztvQkFDVEMsV0FBVzFCLGFBQWE7b0JBQ3hCMkIsU0FBUzdCO29CQUNURTtvQkFDQUY7b0JBQ0FJO29CQUNBMEIsZUFBZTtvQkFDZkMsaUJBQWlCO29CQUNqQkMsUUFBUTtnQkFDVjtZQUNGO1lBQ0EsTUFBTUMsU0FBUyxNQUFNZCxJQUFJZSxJQUFJO1lBQzdCLElBQUlELE9BQU9FLE9BQU8sRUFBRTtnQkFDbEJ4QixpQkFBaUI7Z0JBQ2pCVixTQUFTO2dCQUNURSxhQUFhO2dCQUNiRSxXQUFXO2dCQUNYRSxTQUFTO1lBQ1gsT0FBTztnQkFDTEksaUJBQWlCO1lBQ25CO1FBQ0YsRUFBRSxPQUFNO1lBQ05BLGlCQUFpQjtRQUNuQixTQUFVO1lBQ1JGLGdCQUFnQjtRQUNsQjtJQUNGO0lBRUEscUJBQ0UsOERBQUMyQjtRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQzFDLCtDQUFTQTs7OEJBQ1IsOERBQUMyQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNDOzs4Q0FDQyw4REFBQ0M7b0NBQUdGLFdBQVU7OENBQXdDOzs7Ozs7OENBQ3RELDhEQUFDRztvQ0FBRUgsV0FBVTs4Q0FBbUM7Ozs7Ozs4Q0FHaEQsOERBQUNHO29DQUFFSCxXQUFVOzhDQUErQjs7Ozs7Ozs7Ozs7O3NDQUk5Qyw4REFBQ0M7OzhDQUNDLDhEQUFDRztvQ0FBR0osV0FBVTs4Q0FBd0M7Ozs7Ozs4Q0FDdEQsOERBQUNDO29DQUFJRCxXQUFVOztzREFDYiw4REFBQ0s7NENBQUlMLFdBQVU7OzhEQUNiLDhEQUFDNUMsa0RBQUlBO29EQUFDa0QsTUFBSztvREFBWU4sV0FBVTs4REFBMkI7Ozs7Ozs4REFDNUQsOERBQUM1QyxrREFBSUE7b0RBQUNrRCxNQUFLO29EQUFRTixXQUFVOzhEQUEyQjs7Ozs7OzhEQUN4RCw4REFBQzVDLGtEQUFJQTtvREFBQ2tELE1BQUs7b0RBQVFOLFdBQVU7OERBQTJCOzs7Ozs7OERBQ3hELDhEQUFDNUMsa0RBQUlBO29EQUFDa0QsTUFBSztvREFBV04sV0FBVTs4REFBMkI7Ozs7Ozs7Ozs7OztzREFFN0QsOERBQUNLOzRDQUFJTCxXQUFVOzs4REFDYiw4REFBQzVDLGtEQUFJQTtvREFBQ2tELE1BQUs7b0RBQVlOLFdBQVU7OERBQTJCOzs7Ozs7OERBQzVELDhEQUFDNUMsa0RBQUlBO29EQUFDa0QsTUFBSztvREFBV04sV0FBVTs4REFBMkI7Ozs7Ozs4REFDM0QsOERBQUM1QyxrREFBSUE7b0RBQUNrRCxNQUFLO29EQUFTTixXQUFVOzhEQUEyQjs7Ozs7OzhEQUN6RCw4REFBQ087b0RBQUVELE1BQUs7b0RBQWlDTixXQUFVOzhEQUEyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQU1wRiw4REFBQ0M7OzhDQUNDLDhEQUFDRztvQ0FBR0osV0FBVTs4Q0FBd0M7Ozs7Ozs4Q0FDdEQsOERBQUNRO29DQUFLQyxVQUFVbEM7b0NBQWN5QixXQUFVO29DQUFZVSxVQUFVOztzREFDNUQsOERBQUNuRCx5Q0FBS0E7NENBQ0pvRCxNQUFLOzRDQUNMQyxhQUFZOzRDQUNaQyxPQUFPaEQ7NENBQ1BpRCxVQUFVLENBQUN0QyxJQUFNVixhQUFhVSxFQUFFdUMsTUFBTSxDQUFDRixLQUFLOzRDQUM1Q2IsV0FBVTs0Q0FDVmdCLGNBQWE7NENBQ2JDLE1BQUs7NENBQ0xDLElBQUc7Ozs7OztzREFFTCw4REFBQzNELHlDQUFLQTs0Q0FDSm9ELE1BQUs7NENBQ0xDLGFBQVk7NENBQ1pDLE9BQU9sRDs0Q0FDUG1ELFVBQVUsQ0FBQ3RDLElBQU1aLFNBQVNZLEVBQUV1QyxNQUFNLENBQUNGLEtBQUs7NENBQ3hDYixXQUFVOzRDQUNWZ0IsY0FBYTs0Q0FDYkMsTUFBSzs0Q0FDTEMsSUFBRzs7Ozs7O3NEQUVMLDhEQUFDMUQsNENBQVFBOzRDQUNQb0QsYUFBWTs0Q0FDWkMsT0FBTzlDOzRDQUNQK0MsVUFBVSxDQUFDdEMsSUFBTVIsV0FBV1EsRUFBRXVDLE1BQU0sQ0FBQ0YsS0FBSzs0Q0FDMUNNLE1BQU07NENBQ05uQixXQUFVOzRDQUNWaUIsTUFBSzs0Q0FDTEMsSUFBRzs7Ozs7O3NEQUdMLDhEQUFDRTs0Q0FBTXBCLFdBQVU7OzhEQUNmLDhEQUFDcUI7b0RBQ0NWLE1BQUs7b0RBQ0xYLFdBQVU7b0RBQ1ZzQixTQUFTckQ7b0RBQ1Q2QyxVQUFVLENBQUN0QyxJQUFNTixTQUFTTSxFQUFFdUMsTUFBTSxDQUFDTyxPQUFPO29EQUMxQ0Msb0JBQWlCOzs7Ozs7OERBRW5CLDhEQUFDQzs7d0RBQUs7c0VBQWUsOERBQUNwRSxrREFBSUE7NERBQUNrRCxNQUFLOzREQUFTTixXQUFVO3NFQUFPOzs7Ozs7d0RBQVk7c0VBQUssOERBQUM1QyxrREFBSUE7NERBQUNrRCxNQUFLOzREQUFXTixXQUFVO3NFQUFPOzs7Ozs7d0RBQXFCOzs7Ozs7Ozs7Ozs7O3NEQUV6SSw4REFBQ0c7NENBQUVlLElBQUc7NENBQXNCbEIsV0FBVTtzREFBVTs7Ozs7O3NEQUVoRCw4REFBQ0M7NENBQUlELFdBQVU7OzhEQUNiLDhEQUFDdkMsNENBQU1BO29EQUFDa0QsTUFBSztvREFBU2MsVUFBVXRELGdCQUFnQixDQUFDRjtvREFBT3lELFdBQVd2RDtvREFBY3dELE1BQUs7OERBQUs7Ozs7Ozs4REFHM0YsOERBQUN2RSxrREFBSUE7b0RBQUNrRCxNQUFLO29EQUFXTixXQUFVOzhEQUErQzs7Ozs7Ozs7Ozs7O3dDQUdoRjNCLCtCQUNDLDhEQUFDOEI7NENBQUVILFdBQVcsQ0FBQyxRQUFRLEVBQUUzQixjQUFjdUQsUUFBUSxDQUFDLGVBQWUsbUJBQW1CLGdCQUFnQjtzREFDL0Z2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQU9YLDhEQUFDNEI7b0JBQUlELFdBQVU7OEJBQ2IsNEVBQUNDO3dCQUFJRCxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUlELFdBQVU7O2tEQUNiLDhEQUFDTzt3Q0FDQ0QsTUFBSzt3Q0FDTFMsUUFBTzt3Q0FDUGMsS0FBSTt3Q0FDSjdCLFdBQVU7d0NBQ1Y4QixjQUFXO3dDQUNYQyxPQUFNO2tEQUVOLDRFQUFDQzs0Q0FBSWhDLFdBQVU7NENBQVVpQyxNQUFLOzRDQUFlQyxTQUFRO3NEQUNuRCw0RUFBQ0M7Z0RBQUtDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBR1osOERBQUM3Qjt3Q0FDQ0QsTUFBSzt3Q0FDTFMsUUFBTzt3Q0FDUGMsS0FBSTt3Q0FDSjdCLFdBQVU7d0NBQ1Y4QixjQUFXO3dDQUNYQyxPQUFNO2tEQUVOLDRFQUFDQzs0Q0FBSWhDLFdBQVU7NENBQVVpQyxNQUFLOzRDQUFlQyxTQUFRO3NEQUNuRCw0RUFBQ0M7Z0RBQUtDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBR1osOERBQUM3Qjt3Q0FDQ0QsTUFBSzt3Q0FDTFMsUUFBTzt3Q0FDUGMsS0FBSTt3Q0FDSjdCLFdBQVU7d0NBQ1Y4QixjQUFXO3dDQUNYQyxPQUFNO2tEQUVOLDRFQUFDQzs0Q0FBSWhDLFdBQVU7NENBQVVpQyxNQUFLOzRDQUFlQyxTQUFRO3NEQUNuRCw0RUFBQ0M7Z0RBQUtDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MENBS2QsOERBQUNuQztnQ0FBSUQsV0FBVTs7a0RBQ2IsOERBQUNHOzs0Q0FBRTs0Q0FBRyxJQUFJa0MsT0FBT0MsV0FBVzs0Q0FBRzs7Ozs7OztrREFDL0IsOERBQUNyQzt3Q0FBSUQsV0FBVTs7MERBQ2IsOERBQUM1QyxrREFBSUE7Z0RBQUNrRCxNQUFLO2dEQUFXTixXQUFVOzBEQUFhOzs7Ozs7MERBQzdDLDhEQUFDNUMsa0RBQUlBO2dEQUFDa0QsTUFBSztnREFBU04sV0FBVTswREFBYTs7Ozs7OzBEQUMzQyw4REFBQ087Z0RBQUVELE1BQUs7Z0RBQWlDTixXQUFVO2dEQUFhK0IsT0FBTTswREFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVE3RiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvRm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vTGF5b3V0cydcbmltcG9ydCB7IElucHV0LCBUZXh0YXJlYSB9IGZyb20gJy4vRm9ybXMnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuL0J1dHRvbnMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZvb3RlcigpIHtcbiAgY29uc3QgW2VtYWlsLCBzZXRFbWFpbF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2ZpcnN0TmFtZSwgc2V0Rmlyc3ROYW1lXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbbWVzc2FnZSwgc2V0TWVzc2FnZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2FncmVlLCBzZXRBZ3JlZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzU3VibWl0dGluZywgc2V0SXNTdWJtaXR0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc3VibWl0TWVzc2FnZSwgc2V0U3VibWl0TWVzc2FnZV0gPSB1c2VTdGF0ZSgnJylcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoZTogUmVhY3QuRm9ybUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0U3VibWl0TWVzc2FnZSgnJylcblxuICAgIGlmICghYWdyZWUpIHtcbiAgICAgIHNldFN1Ym1pdE1lc3NhZ2UoJ1BsZWFzZSBhZ3JlZSB0byB0aGUgVGVybXMgb2YgVXNlIGFuZCBQcml2YWN5IFBvbGljeS4nKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXNzS2V5ID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfV0VCM0ZPUk1TX0FDQ0VTU19LRVlcbiAgICBpZiAoIWFjY2Vzc0tleSkge1xuICAgICAgc2V0U3VibWl0TWVzc2FnZSgnRm9ybSBjb25maWd1cmF0aW9uIGVycm9yLiBNaXNzaW5nIFdlYjNGb3JtcyBhY2Nlc3Mga2V5LicpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRJc1N1Ym1pdHRpbmcodHJ1ZSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vYXBpLndlYjNmb3Jtcy5jb20vc3VibWl0Jywge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBhY2Nlc3Nfa2V5OiBhY2Nlc3NLZXksXG4gICAgICAgICAgc3ViamVjdDogJ0Zvb3RlciBpbnF1aXJ5IGZyb20gQmlvaGF6YXJkIFZGWCcsXG4gICAgICAgICAgZnJvbV9uYW1lOiBmaXJzdE5hbWUgfHwgJ1dlYnNpdGUgVmlzaXRvcicsXG4gICAgICAgICAgcmVwbHl0bzogZW1haWwsXG4gICAgICAgICAgZmlyc3ROYW1lLFxuICAgICAgICAgIGVtYWlsLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgY29uc2VudF90ZXJtczogdHJ1ZSxcbiAgICAgICAgICBjb25zZW50X3ByaXZhY3k6IHRydWUsXG4gICAgICAgICAgc291cmNlOiAnRm9vdGVyRm9ybSdcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXMuanNvbigpXG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgc2V0U3VibWl0TWVzc2FnZShcIlRoYW5rIHlvdSEgV2UnbGwgYmUgaW4gdG91Y2ggc29vbi5cIilcbiAgICAgICAgc2V0RW1haWwoJycpXG4gICAgICAgIHNldEZpcnN0TmFtZSgnJylcbiAgICAgICAgc2V0TWVzc2FnZSgnJylcbiAgICAgICAgc2V0QWdyZWUoZmFsc2UpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRTdWJtaXRNZXNzYWdlKCdUaGVyZSB3YXMgYW4gZXJyb3Igc2VuZGluZyB5b3VyIG1lc3NhZ2UuIFBsZWFzZSB0cnkgYWdhaW4uJylcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHNldFN1Ym1pdE1lc3NhZ2UoJ1RoZXJlIHdhcyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgbWVzc2FnZS4gUGxlYXNlIHRyeSBhZ2Fpbi4nKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc1N1Ym1pdHRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9vdGVyIGNsYXNzTmFtZT1cImJnLXN1cmZhY2UtOTAwIHB0LTEyIHBiLTggYm9yZGVyLXQgYm9yZGVyLXN1cmZhY2UtNTAwXCI+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTggaXRlbXMtc3RhcnRcIj5cbiAgICAgICAgICB7LyogQnJhbmQgKyBibHVyYiAqL31cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtZGlzcGxheSB0ZXh0LXdoaXRlIG1iLTJcIj5CaW9oYXphcmQgVkZYPC9oMz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCB0ZXh0LXNtIG1heC13LW1kXCI+XG4gICAgICAgICAgICAgIEdsb2JhbCB2aXN1YWwgZWZmZWN0cyBzdHVkaW8gZGVsaXZlcmluZyB3b3JsZC1jbGFzcyBWRlggc3VwZXJ2aXNpb24sIDNEIGFuaW1hdGlvbiwgYW5kIHBvc3QtcHJvZHVjdGlvbiBzZXJ2aWNlcy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCB0ZXh0LXNtIG10LTNcIj5XZSB1c3VhbGx5IHJlcGx5IHdpdGhpbiAyNCBob3Vycy48L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogUXVpY2sgbGlua3MgKi99XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi0zXCI+RXhwbG9yZTwvaDQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLThcIj5cbiAgICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL3Byb2plY3RzXCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+UHJvamVjdHM8L0xpbms+XG4gICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9jcmV3XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+T3VyIENyZXc8L0xpbms+XG4gICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9ibG9nXCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+QmxvZzwvTGluaz5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2NvbnRhY3RcIiBjbGFzc05hbWU9XCJibG9jayBsaW5rLW11dGVkIHRleHQtc21cIj5Db250YWN0PC9MaW5rPlxuICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL3NlcnZpY2VzXCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+U2VydmljZXM8L0xpbms+XG4gICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9wcml2YWN5XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+UHJpdmFjeTwvTGluaz5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL3Rlcm1zXCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+VGVybXM8L0xpbms+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIm1haWx0bzpEYXZhbmVAYmlvaGF6YXJkdmZ4LmNvbVwiIGNsYXNzTmFtZT1cImJsb2NrIGxpbmstbXV0ZWQgdGV4dC1zbVwiPkRNQ0E8L2E+XG4gICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogQ29tcGFjdCBjb250YWN0IGZvcm0gKi99XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi0zXCI+Q29udGFjdCBVczwvaDQ+XG4gICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJzcGFjZS15LTNcIiBub1ZhbGlkYXRlPlxuICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17Zmlyc3ROYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0Rmlyc3ROYW1lKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJnaXZlbi1uYW1lXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmlyc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBpZD1cImZvb3Rlci1maXJzdE5hbWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW1haWxcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbWFpbH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBpZD1cImZvb3Rlci1lbWFpbFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxUZXh0YXJlYVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e21lc3NhZ2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRNZXNzYWdlKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICByb3dzPXszfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtc21cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBpZD1cImZvb3Rlci1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC14cyB0ZXh0LXRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLTQgdy00XCJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2FncmVlfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRBZ3JlZShlLnRhcmdldC5jaGVja2VkKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJmb290ZXItY29uc2VudC1oZWxwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPkkgYWdyZWUgdG8gdGhlIDxMaW5rIGhyZWY9XCIvdGVybXNcIiBjbGFzc05hbWU9XCJsaW5rXCI+VGVybXM8L0xpbms+IGFuZCA8TGluayBocmVmPVwiL3ByaXZhY3lcIiBjbGFzc05hbWU9XCJsaW5rXCI+UHJpdmFjeSBQb2xpY3k8L0xpbms+Ljwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHAgaWQ9XCJmb290ZXItY29uc2VudC1oZWxwXCIgY2xhc3NOYW1lPVwic3Itb25seVwiPllvdSBtdXN0IGFncmVlIGJlZm9yZSBzdWJtaXR0aW5nLjwvcD5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwic3VibWl0XCIgZGlzYWJsZWQ9e2lzU3VibWl0dGluZyB8fCAhYWdyZWV9IGlzTG9hZGluZz17aXNTdWJtaXR0aW5nfSBzaXplPVwic21cIj5cbiAgICAgICAgICAgICAgICAgIFNlbmRcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2NvbnRhY3RcIiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGxpbmstbXV0ZWQgaG92ZXI6dGV4dC10ZXh0LXNlY29uZGFyeVwiPk9yIG9wZW4gY29udGFjdCBwYWdlPC9MaW5rPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICB7c3VibWl0TWVzc2FnZSAmJiAoXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgdGV4dC14cyAke3N1Ym1pdE1lc3NhZ2UuaW5jbHVkZXMoJ1RoYW5rIHlvdScpID8gJ3RleHQtZ3JlZW4tNDAwJyA6ICd0ZXh0LXJlZC00MDAnfWB9PlxuICAgICAgICAgICAgICAgICAge3N1Ym1pdE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvcmRlci10IGJvcmRlci1zdXJmYWNlLTUwMCBtdC04IHB0LTZcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2Jpb2hhemFyZHZmeC9cIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIGhvdmVyOnRleHQtYWNjZW50IHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIkluc3RhZ3JhbVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMiAyLjE2M2MzLjIwNCAwIDMuNTg0LjAxMiA0Ljg1LjA3IDMuMjUyLjE0OCA0Ljc3MSAxLjY5MSA0LjkxOSA0LjkxOS4wNTggMS4yNjUuMDY5IDEuNjQ1LjA2OSA0Ljg0OSAwIDMuMjA1LS4wMTIgMy41ODQtLjA2OSA0Ljg0OS0uMTQ5IDMuMjI1LTEuNjY0IDQuNzcxLTQuOTE5IDQuOTE5LTEuMjY2LjA1OC0xLjY0NC4wNy00Ljg1LjA3LTMuMjA0IDAtMy41ODQtLjAxMi00Ljg0OS0uMDctMy4yNi0uMTQ5LTQuNzcxLTEuNjk5LTQuOTE5LTQuOTItLjA1OC0xLjI2NS0uMDctMS42NDQtLjA3LTQuODQ5IDAtMy4yMDQuMDEzLTMuNTgzLjA3LTQuODQ5LjE0OS0zLjIyNyAxLjY2NC00Ljc3MSA0LjkxOS00LjkxOSAxLjI2Ni0uMDU3IDEuNjQ1LS4wNjkgNC44NDktLjA2OXpNMTIgNWMtMy44NTkgMC03IDMuMTQxLTcgNyAwIDMuODU5IDMuMTQxIDcgNyA3czctMy4xNDEgNy03YzAtMy44NTktMy4xNDEtNy03LTd6bTYuNDA2LjUyYTEuNDQgMS40NCAwIDEgMCAwIDIuODggMS40NCAxLjQ0IDAgMCAwIDAtMi44OHpcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vdmltZW8uY29tL2Jpb2hhemFyZHZmeFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJWaW1lb1wiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJWaW1lb1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMi44NzUgMTAuMDYzYy0yLjQ0MiA1LjIxNy04LjMzNyAxMi4zMTktMTIuMDYzIDEyLjMxOS0zLjY3MiAwLTQuMjAzLTcuODMxLTYuMjA4LTEzLjA0My0uOTg3LTIuNTY1LTEuNjI0LTEuODE0LTMuNDc0LS4yODFMMCA4LjAxOWMyLjY5OC0yLjQzNSA1LjM5NC01LjM5MSA3LjM5Ni01LjU1MyAzLjE2Mi0uMjQyIDMuNDg3IDIuODMxIDQuMDI0IDUuNDc5LjY5OSAzLjQ2MyAxLjgwOSA4Ljg0NSAyLjgwMSA4Ljg0NS43OTYgMCAyLjI4OS0zLjMxMyAyLjQyOC00LjUxNi4yMjItMS44NTMtMS41MTItMS44NzktMi45NzEtMS4yNzFDMTcuNTAzLTIuMDcxIDIyLjg3NSA0LjQ0IDIyLjg3NSAxMC4wNjN6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9AYmlvaGF6YXJkdmZ4XCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LWFjY2VudCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIllvdVR1YmVcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiWW91VHViZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMy40OTggNi4xODZhMy4wMTYgMy4wMTYgMCAwIDAtMi4xMjItMi4xMzZDMTkuNTA1IDMuNTQ1IDEyIDMuNTQ1IDEyIDMuNTQ1cy03LjUwNSAwLTkuMzc3LjUwNUEzLjAxNyAzLjAxNyAwIDAgMCAuNTAyIDYuMTg2QzAgOC4wNyAwIDEyIDAgMTJzMCAzLjkzLjUwMiA1LjgxNGEzLjAxNiAzLjAxNiAwIDAgMCAyLjEyMiAyLjEzNmMxLjg3MS41MDUgOS4zNzYuNTA1IDkuMzc2LjUwNXM3LjUwNSAwIDkuMzc3LS41MDVhMy4wMTUgMy4wMTUgMCAwIDAgMi4xMjItMi4xMzZDMjQgMTUuOTMgMjQgMTIgMjQgMTJzMC0zLjkzLS41MDItNS44MTR6TTkuNTQ1IDE1LjU2OFY4LjQzMkwxNS44MTggMTJsLTYuMjczIDMuNTY4elwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC00IHRleHQtc20gdGV4dC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIDxwPsKpIHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IEJpb2hhemFyZCBWRlguIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL3ByaXZhY3lcIiBjbGFzc05hbWU9XCJsaW5rLW11dGVkXCI+UHJpdmFjeSBQb2xpY3k8L0xpbms+XG4gICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi90ZXJtc1wiIGNsYXNzTmFtZT1cImxpbmstbXV0ZWRcIj5UZXJtcyBvZiBVc2U8L0xpbms+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIm1haWx0bzpEYXZhbmVAYmlvaGF6YXJkdmZ4LmNvbVwiIGNsYXNzTmFtZT1cImxpbmstbXV0ZWRcIiB0aXRsZT1cIkRNQ0FcIj5ETUNBPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZm9vdGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJMaW5rIiwidXNlU3RhdGUiLCJDb250YWluZXIiLCJJbnB1dCIsIlRleHRhcmVhIiwiQnV0dG9uIiwiRm9vdGVyIiwiZW1haWwiLCJzZXRFbWFpbCIsImZpcnN0TmFtZSIsInNldEZpcnN0TmFtZSIsIm1lc3NhZ2UiLCJzZXRNZXNzYWdlIiwiYWdyZWUiLCJzZXRBZ3JlZSIsImlzU3VibWl0dGluZyIsInNldElzU3VibWl0dGluZyIsInN1Ym1pdE1lc3NhZ2UiLCJzZXRTdWJtaXRNZXNzYWdlIiwiaGFuZGxlU3VibWl0IiwiZSIsInByZXZlbnREZWZhdWx0IiwiYWNjZXNzS2V5IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX1dFQjNGT1JNU19BQ0NFU1NfS0VZIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJhY2Nlc3Nfa2V5Iiwic3ViamVjdCIsImZyb21fbmFtZSIsInJlcGx5dG8iLCJjb25zZW50X3Rlcm1zIiwiY29uc2VudF9wcml2YWN5Iiwic291cmNlIiwicmVzdWx0IiwianNvbiIsInN1Y2Nlc3MiLCJmb290ZXIiLCJjbGFzc05hbWUiLCJkaXYiLCJoMyIsInAiLCJoNCIsIm5hdiIsImhyZWYiLCJhIiwiZm9ybSIsIm9uU3VibWl0Iiwibm9WYWxpZGF0ZSIsInR5cGUiLCJwbGFjZWhvbGRlciIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJhdXRvQ29tcGxldGUiLCJuYW1lIiwiaWQiLCJyb3dzIiwibGFiZWwiLCJpbnB1dCIsImNoZWNrZWQiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwic3BhbiIsImRpc2FibGVkIiwiaXNMb2FkaW5nIiwic2l6ZSIsImluY2x1ZGVzIiwicmVsIiwiYXJpYS1sYWJlbCIsInRpdGxlIiwic3ZnIiwiZmlsbCIsInZpZXdCb3giLCJwYXRoIiwiZCIsIkRhdGUiLCJnZXRGdWxsWWVhciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Footer.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Forms.tsx":
/*!**********************************!*\
!*** ./src/components/Forms.tsx ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox),\n/* harmony export */ FormGroup: () => (/* binding */ FormGroup),\n/* harmony export */ FormSection: () => (/* binding */ FormSection),\n/* harmony export */ Input: () => (/* binding */ Input),\n/* harmony export */ Radio: () => (/* binding */ Radio),\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ Textarea: () => (/* binding */ Textarea)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* __next_internal_client_entry_do_not_use__ Input,Textarea,Select,Checkbox,Radio,FormGroup,FormSection auto */ \nfunction Input({ label, error, helperText, className = '', id, ...props }) {\n const inputId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: inputId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: inputId,\n className: `input ${error ? 'border-red-500' : ''} ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 37,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, this);\n}\nfunction Textarea({ label, error, helperText, className = '', id, ...props }) {\n const textareaId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: textareaId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n id: textareaId,\n className: `input min-h-[120px] ${error ? 'border-red-500' : ''} ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 68,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, this);\n}\nfunction Select({ label, error, helperText, options, className = '', id, ...props }) {\n const selectId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: selectId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n id: selectId,\n className: `input ${error ? 'border-red-500' : ''} ${className}`,\n ...props,\n children: options.map((option)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: option.value,\n children: option.label\n }, option.value, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 112,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 106,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 117,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\nfunction Checkbox({ label, className = '', id, ...props }) {\n const checkboxId = id || label.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n id: checkboxId,\n className: `w-4 h-4 rounded border-surface-500 bg-surface-600 text-accent focus:ring-accent focus:ring-offset-0 ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 139,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: checkboxId,\n className: \"text-sm text-text-secondary\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 145,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 138,\n columnNumber: 5\n }, this);\n}\nfunction Radio({ label, className = '', id, ...props }) {\n const radioId = id || label.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"radio\",\n id: radioId,\n className: `w-4 h-4 border-surface-500 bg-surface-600 text-accent focus:ring-accent focus:ring-offset-0 ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 161,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: radioId,\n className: \"text-sm text-text-secondary\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 167,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 160,\n columnNumber: 5\n }, this);\n}\nfunction FormGroup({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `space-y-4 ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 180,\n columnNumber: 10\n }, this);\n}\nfunction FormSection({ title, description, children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted mt-1\",\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 199,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 196,\n columnNumber: 7\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Forms.tsx\",\n lineNumber: 195,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Gb3Jtcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQWNPLFNBQVNBLE1BQU0sRUFDcEJDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxVQUFVLEVBQ1ZDLFlBQVksRUFBRSxFQUNkQyxFQUFFLEVBQ0YsR0FBR0MsT0FDUTtJQUNYLE1BQU1DLFVBQVVGLE1BQU1KLE9BQU9PLGNBQWNDLFFBQVEsUUFBUTtJQUUzRCxxQkFDRSw4REFBQ0M7UUFBSU4sV0FBVTs7WUFDWkgsdUJBQ0MsOERBQUNBO2dCQUFNVSxTQUFTSjtnQkFBU0gsV0FBVTswQkFDaENIOzs7Ozs7MEJBR0wsOERBQUNXO2dCQUNDUCxJQUFJRTtnQkFDSkgsV0FBVyxDQUFDLE1BQU0sRUFBRUYsUUFBUSxtQkFBbUIsR0FBRyxDQUFDLEVBQUVFLFdBQVc7Z0JBQy9ELEdBQUdFLEtBQUs7Ozs7OztZQUVWSix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFRTyxTQUFTVyxTQUFTLEVBQ3ZCYixLQUFLLEVBQ0xDLEtBQUssRUFDTEMsVUFBVSxFQUNWQyxZQUFZLEVBQUUsRUFDZEMsRUFBRSxFQUNGLEdBQUdDLE9BQ1c7SUFDZCxNQUFNUyxhQUFhVixNQUFNSixPQUFPTyxjQUFjQyxRQUFRLFFBQVE7SUFFOUQscUJBQ0UsOERBQUNDO1FBQUlOLFdBQVU7O1lBQ1pILHVCQUNDLDhEQUFDQTtnQkFBTVUsU0FBU0k7Z0JBQVlYLFdBQVU7MEJBQ25DSDs7Ozs7OzBCQUdMLDhEQUFDZTtnQkFDQ1gsSUFBSVU7Z0JBQ0pYLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRUYsUUFBUSxtQkFBbUIsR0FBRyxDQUFDLEVBQUVFLFdBQVc7Z0JBQzdFLEdBQUdFLEtBQUs7Ozs7OztZQUVWSix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFTTyxTQUFTYyxPQUFPLEVBQ3JCaEIsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLFVBQVUsRUFDVmUsT0FBTyxFQUNQZCxZQUFZLEVBQUUsRUFDZEMsRUFBRSxFQUNGLEdBQUdDLE9BQ1M7SUFDWixNQUFNYSxXQUFXZCxNQUFNSixPQUFPTyxjQUFjQyxRQUFRLFFBQVE7SUFFNUQscUJBQ0UsOERBQUNDO1FBQUlOLFdBQVU7O1lBQ1pILHVCQUNDLDhEQUFDQTtnQkFBTVUsU0FBU1E7Z0JBQVVmLFdBQVU7MEJBQ2pDSDs7Ozs7OzBCQUdMLDhEQUFDbUI7Z0JBQ0NmLElBQUljO2dCQUNKZixXQUFXLENBQUMsTUFBTSxFQUFFRixRQUFRLG1CQUFtQixHQUFHLENBQUMsRUFBRUUsV0FBVztnQkFDL0QsR0FBR0UsS0FBSzswQkFFUlksUUFBUUcsR0FBRyxDQUFDLENBQUNDLHVCQUNaLDhEQUFDQTt3QkFBMEJDLE9BQU9ELE9BQU9DLEtBQUs7a0NBQzNDRCxPQUFPckIsS0FBSzt1QkFERnFCLE9BQU9DLEtBQUs7Ozs7Ozs7Ozs7WUFLNUJyQix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFNTyxTQUFTcUIsU0FBUyxFQUN2QnZCLEtBQUssRUFDTEcsWUFBWSxFQUFFLEVBQ2RDLEVBQUUsRUFDRixHQUFHQyxPQUNXO0lBQ2QsTUFBTW1CLGFBQWFwQixNQUFNSixNQUFNTyxXQUFXLEdBQUdDLE9BQU8sQ0FBQyxRQUFRO0lBRTdELHFCQUNFLDhEQUFDQztRQUFJTixXQUFVOzswQkFDYiw4REFBQ1E7Z0JBQ0NjLE1BQUs7Z0JBQ0xyQixJQUFJb0I7Z0JBQ0pyQixXQUFXLENBQUMsb0dBQW9HLEVBQUVBLFdBQVc7Z0JBQzVILEdBQUdFLEtBQUs7Ozs7OzswQkFFWCw4REFBQ0w7Z0JBQU1VLFNBQVNjO2dCQUFZckIsV0FBVTswQkFDbkNIOzs7Ozs7Ozs7Ozs7QUFJVDtBQU1PLFNBQVMwQixNQUFNLEVBQUUxQixLQUFLLEVBQUVHLFlBQVksRUFBRSxFQUFFQyxFQUFFLEVBQUUsR0FBR0MsT0FBbUI7SUFDdkUsTUFBTXNCLFVBQVV2QixNQUFNSixNQUFNTyxXQUFXLEdBQUdDLE9BQU8sQ0FBQyxRQUFRO0lBRTFELHFCQUNFLDhEQUFDQztRQUFJTixXQUFVOzswQkFDYiw4REFBQ1E7Z0JBQ0NjLE1BQUs7Z0JBQ0xyQixJQUFJdUI7Z0JBQ0p4QixXQUFXLENBQUMsNEZBQTRGLEVBQUVBLFdBQVc7Z0JBQ3BILEdBQUdFLEtBQUs7Ozs7OzswQkFFWCw4REFBQ0w7Z0JBQU1VLFNBQVNpQjtnQkFBU3hCLFdBQVU7MEJBQ2hDSDs7Ozs7Ozs7Ozs7O0FBSVQ7QUFPTyxTQUFTNEIsVUFBVSxFQUFFQyxRQUFRLEVBQUUxQixZQUFZLEVBQUUsRUFBa0I7SUFDcEUscUJBQU8sOERBQUNNO1FBQUlOLFdBQVcsQ0FBQyxVQUFVLEVBQUVBLFdBQVc7a0JBQUcwQjs7Ozs7O0FBQ3BEO0FBUU8sU0FBU0MsWUFBWSxFQUMxQkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hILFFBQVEsRUFDUztJQUNqQixxQkFDRSw4REFBQ3BCO1FBQUlOLFdBQVU7OzBCQUNiLDhEQUFDTTs7a0NBQ0MsOERBQUN3Qjt3QkFBRzlCLFdBQVU7a0NBQW9DNEI7Ozs7OztvQkFDakRDLDZCQUNDLDhEQUFDcEI7d0JBQUVULFdBQVU7a0NBQWdDNkI7Ozs7Ozs7Ozs7OztZQUdoREg7Ozs7Ozs7QUFHUCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvRm9ybXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQge1xuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzLFxuICBTZWxlY3RIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5cbmludGVyZmFjZSBJbnB1dFByb3BzIGV4dGVuZHMgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIGVycm9yPzogc3RyaW5nXG4gIGhlbHBlclRleHQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElucHV0KHtcbiAgbGFiZWwsXG4gIGVycm9yLFxuICBoZWxwZXJUZXh0LFxuICBjbGFzc05hbWUgPSAnJyxcbiAgaWQsXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzKSB7XG4gIGNvbnN0IGlucHV0SWQgPSBpZCB8fCBsYWJlbD8udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJylcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICB7bGFiZWwgJiYgKFxuICAgICAgICA8bGFiZWwgaHRtbEZvcj17aW5wdXRJZH0gY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICApfVxuICAgICAgPGlucHV0XG4gICAgICAgIGlkPXtpbnB1dElkfVxuICAgICAgICBjbGFzc05hbWU9e2BpbnB1dCAke2Vycm9yID8gJ2JvcmRlci1yZWQtNTAwJyA6ICcnfSAke2NsYXNzTmFtZX1gfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPlxuICAgICAge2Vycm9yICYmIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1yZWQtNDAwXCI+e2Vycm9yfTwvcD59XG4gICAgICB7aGVscGVyVGV4dCAmJiAhZXJyb3IgJiYgKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1tdXRlZFwiPntoZWxwZXJUZXh0fTwvcD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIFRleHRhcmVhUHJvcHMgZXh0ZW5kcyBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+IHtcbiAgbGFiZWw/OiBzdHJpbmdcbiAgZXJyb3I/OiBzdHJpbmdcbiAgaGVscGVyVGV4dD86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGV4dGFyZWEoe1xuICBsYWJlbCxcbiAgZXJyb3IsXG4gIGhlbHBlclRleHQsXG4gIGNsYXNzTmFtZSA9ICcnLFxuICBpZCxcbiAgLi4ucHJvcHNcbn06IFRleHRhcmVhUHJvcHMpIHtcbiAgY29uc3QgdGV4dGFyZWFJZCA9IGlkIHx8IGxhYmVsPy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgIHtsYWJlbCAmJiAoXG4gICAgICAgIDxsYWJlbCBodG1sRm9yPXt0ZXh0YXJlYUlkfSBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICl9XG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgaWQ9e3RleHRhcmVhSWR9XG4gICAgICAgIGNsYXNzTmFtZT17YGlucHV0IG1pbi1oLVsxMjBweF0gJHtlcnJvciA/ICdib3JkZXItcmVkLTUwMCcgOiAnJ30gJHtjbGFzc05hbWV9YH1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICAgIHtlcnJvciAmJiA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtcmVkLTQwMFwiPntlcnJvcn08L3A+fVxuICAgICAge2hlbHBlclRleHQgJiYgIWVycm9yICYmIChcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtbXV0ZWRcIj57aGVscGVyVGV4dH08L3A+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmludGVyZmFjZSBTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdEhUTUxBdHRyaWJ1dGVzPEhUTUxTZWxlY3RFbGVtZW50PiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIGVycm9yPzogc3RyaW5nXG4gIGhlbHBlclRleHQ/OiBzdHJpbmdcbiAgb3B0aW9uczogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0KHtcbiAgbGFiZWwsXG4gIGVycm9yLFxuICBoZWxwZXJUZXh0LFxuICBvcHRpb25zLFxuICBjbGFzc05hbWUgPSAnJyxcbiAgaWQsXG4gIC4uLnByb3BzXG59OiBTZWxlY3RQcm9wcykge1xuICBjb25zdCBzZWxlY3RJZCA9IGlkIHx8IGxhYmVsPy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgIHtsYWJlbCAmJiAoXG4gICAgICAgIDxsYWJlbCBodG1sRm9yPXtzZWxlY3RJZH0gY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICApfVxuICAgICAgPHNlbGVjdFxuICAgICAgICBpZD17c2VsZWN0SWR9XG4gICAgICAgIGNsYXNzTmFtZT17YGlucHV0ICR7ZXJyb3IgPyAnYm9yZGVyLXJlZC01MDAnIDogJyd9ICR7Y2xhc3NOYW1lfWB9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgID5cbiAgICAgICAge29wdGlvbnMubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgICA8b3B0aW9uIGtleT17b3B0aW9uLnZhbHVlfSB2YWx1ZT17b3B0aW9uLnZhbHVlfT5cbiAgICAgICAgICAgIHtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICkpfVxuICAgICAgPC9zZWxlY3Q+XG4gICAgICB7ZXJyb3IgJiYgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC00MDBcIj57ZXJyb3J9PC9wPn1cbiAgICAgIHtoZWxwZXJUZXh0ICYmICFlcnJvciAmJiAoXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LW11dGVkXCI+e2hlbHBlclRleHR9PC9wPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgQ2hlY2tib3hQcm9wcyBleHRlbmRzIElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4ge1xuICBsYWJlbDogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja2JveCh7XG4gIGxhYmVsLFxuICBjbGFzc05hbWUgPSAnJyxcbiAgaWQsXG4gIC4uLnByb3BzXG59OiBDaGVja2JveFByb3BzKSB7XG4gIGNvbnN0IGNoZWNrYm94SWQgPSBpZCB8fCBsYWJlbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGlkPXtjaGVja2JveElkfVxuICAgICAgICBjbGFzc05hbWU9e2B3LTQgaC00IHJvdW5kZWQgYm9yZGVyLXN1cmZhY2UtNTAwIGJnLXN1cmZhY2UtNjAwIHRleHQtYWNjZW50IGZvY3VzOnJpbmctYWNjZW50IGZvY3VzOnJpbmctb2Zmc2V0LTAgJHtjbGFzc05hbWV9YH1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBodG1sRm9yPXtjaGVja2JveElkfSBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgUmFkaW9Qcm9wcyBleHRlbmRzIElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4ge1xuICBsYWJlbDogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSYWRpbyh7IGxhYmVsLCBjbGFzc05hbWUgPSAnJywgaWQsIC4uLnByb3BzIH06IFJhZGlvUHJvcHMpIHtcbiAgY29uc3QgcmFkaW9JZCA9IGlkIHx8IGxhYmVsLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgaWQ9e3JhZGlvSWR9XG4gICAgICAgIGNsYXNzTmFtZT17YHctNCBoLTQgYm9yZGVyLXN1cmZhY2UtNTAwIGJnLXN1cmZhY2UtNjAwIHRleHQtYWNjZW50IGZvY3VzOnJpbmctYWNjZW50IGZvY3VzOnJpbmctb2Zmc2V0LTAgJHtjbGFzc05hbWV9YH1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBodG1sRm9yPXtyYWRpb0lkfSBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgRm9ybUdyb3VwUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRm9ybUdyb3VwKHsgY2hpbGRyZW4sIGNsYXNzTmFtZSA9ICcnIH06IEZvcm1Hcm91cFByb3BzKSB7XG4gIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17YHNwYWNlLXktNCAke2NsYXNzTmFtZX1gfT57Y2hpbGRyZW59PC9kaXY+XG59XG5cbmludGVyZmFjZSBGb3JtU2VjdGlvblByb3BzIHtcbiAgdGl0bGU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGb3JtU2VjdGlvbih7XG4gIHRpdGxlLFxuICBkZXNjcmlwdGlvbixcbiAgY2hpbGRyZW4sXG59OiBGb3JtU2VjdGlvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZVwiPnt0aXRsZX08L2gzPlxuICAgICAgICB7ZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LW11dGVkIG10LTFcIj57ZGVzY3JpcHRpb259PC9wPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJJbnB1dCIsImxhYmVsIiwiZXJyb3IiLCJoZWxwZXJUZXh0IiwiY2xhc3NOYW1lIiwiaWQiLCJwcm9wcyIsImlucHV0SWQiLCJ0b0xvd2VyQ2FzZSIsInJlcGxhY2UiLCJkaXYiLCJodG1sRm9yIiwiaW5wdXQiLCJwIiwiVGV4dGFyZWEiLCJ0ZXh0YXJlYUlkIiwidGV4dGFyZWEiLCJTZWxlY3QiLCJvcHRpb25zIiwic2VsZWN0SWQiLCJzZWxlY3QiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsIkNoZWNrYm94IiwiY2hlY2tib3hJZCIsInR5cGUiLCJSYWRpbyIsInJhZGlvSWQiLCJGb3JtR3JvdXAiLCJjaGlsZHJlbiIsIkZvcm1TZWN0aW9uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImgzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Forms.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/GlobalSidebar.tsx":
/*!******************************************!*\
!*** ./src/components/GlobalSidebar.tsx ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GlobalSidebar)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nconst NAV_GROUPS = [\n {\n title: 'Projects',\n items: [\n {\n label: 'All Projects',\n href: '/projects',\n description: 'Explore recent case studies and releases'\n }\n ]\n },\n {\n title: 'Process',\n items: [\n {\n label: 'Our Approach',\n href: '/process',\n description: 'Understand how we move from concept to delivery'\n }\n ]\n },\n {\n title: 'Studio',\n items: [\n {\n label: 'Inside Biohazard',\n href: '/studio',\n description: 'Learn about our studio and team culture'\n },\n {\n label: 'Crew Directory',\n href: '/crew',\n description: 'Meet the people behind the work'\n },\n {\n label: 'Insights',\n href: '/blog',\n description: 'Read project notes and announcements'\n }\n ]\n },\n {\n title: 'Contact',\n items: [\n {\n label: 'Get in Touch',\n href: '/contact',\n description: 'Start a project or request a consultation'\n },\n {\n label: 'FAQ',\n href: '/faq',\n description: 'Find answers to common questions'\n }\n ]\n }\n];\nfunction isActive(pathname, href) {\n if (!pathname) return false;\n if (href === '/') return pathname === '/';\n return pathname === href || pathname.startsWith(`${href}/`);\n}\nfunction GlobalSidebar() {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n if (pathname?.startsWith('/admin')) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n \"aria-label\": \"Primary\",\n className: \"bg-surface-900/95 text-sm text-text-secondary backdrop-blur-md supports-[backdrop-filter]:bg-surface-900/80 md:fixed md:inset-y-0 md:left-0 md:w-[240px] md:border-r md:border-surface-500/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:h-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3 px-5 py-6 border-b border-surface-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/\",\n className: \"inline-flex items-center gap-3 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative inline-flex size-9 items-center justify-center overflow-hidden rounded-lg bg-gradient-to-br from-accent/80 via-accent to-brand-primary\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n src: \"/images/favicon-32x32.png\",\n alt: \"Biohazard VFX Logomark\",\n width: 32,\n height: 32,\n className: \"h-6 w-6 object-contain\",\n priority: true\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 102,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 101,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-semibold tracking-tight text-white\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 112,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-text-muted\",\n children: \"Visual Research Studio\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 115,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 111,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 97,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"flex-1 overflow-y-auto px-3 py-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-6\",\n children: NAV_GROUPS.map((group)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"px-2 text-xs font-medium uppercase tracking-[0.22em] text-text-muted\",\n children: group.title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 126,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mt-3 space-y-1.5\",\n children: group.items.map((item)=>{\n const active = isActive(pathname, item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: item.href,\n \"aria-current\": active ? 'page' : undefined,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_4__.cn)('nav-item flex flex-col gap-1 rounded-lg px-3 py-2 transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent/45', active && 'bg-surface-700/70 text-text-primary shadow-[inset_2px_0_0_rgb(var(--accent)/.85)]'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium leading-none text-text-primary\",\n children: item.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 143,\n columnNumber: 27\n }, this),\n item.description ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-text-muted\",\n children: item.description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 147,\n columnNumber: 29\n }, this) : null\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 134,\n columnNumber: 25\n }, this)\n }, item.href, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 133,\n columnNumber: 23\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 129,\n columnNumber: 17\n }, this)\n ]\n }, group.title, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 125,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 123,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-5 py-4 border-t border-surface-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs leading-relaxed text-text-muted\",\n children: [\n \"Command Palette available with \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"kbd\", {\n className: \"rounded bg-surface-700 px-1.5 py-0.5 text-[11px] text-text-primary shadow-inner\",\n children: \"⌘ / Ctrl + K\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 163,\n columnNumber: 44\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 162,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 161,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 95,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/GlobalSidebar.tsx\",\n lineNumber: 91,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9HbG9iYWxTaWRlYmFyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFOEI7QUFDRjtBQUNpQjtBQUNiO0FBYWhDLE1BQU1JLGFBQXlCO0lBQzdCO1FBQ0VDLE9BQU87UUFDUEMsT0FBTztZQUNMO2dCQUNFQyxPQUFPO2dCQUNQQyxNQUFNO2dCQUNOQyxhQUFhO1lBQ2Y7U0FDRDtJQUNIO0lBQ0E7UUFDRUosT0FBTztRQUNQQyxPQUFPO1lBQ0w7Z0JBQ0VDLE9BQU87Z0JBQ1BDLE1BQU07Z0JBQ05DLGFBQWE7WUFDZjtTQUNEO0lBQ0g7SUFDQTtRQUNFSixPQUFPO1FBQ1BDLE9BQU87WUFDTDtnQkFDRUMsT0FBTztnQkFDUEMsTUFBTTtnQkFDTkMsYUFBYTtZQUNmO1lBQ0E7Z0JBQ0VGLE9BQU87Z0JBQ1BDLE1BQU07Z0JBQ05DLGFBQWE7WUFDZjtZQUNBO2dCQUNFRixPQUFPO2dCQUNQQyxNQUFNO2dCQUNOQyxhQUFhO1lBQ2Y7U0FDRDtJQUNIO0lBQ0E7UUFDRUosT0FBTztRQUNQQyxPQUFPO1lBQ0w7Z0JBQ0VDLE9BQU87Z0JBQ1BDLE1BQU07Z0JBQ05DLGFBQWE7WUFDZjtZQUNBO2dCQUNFRixPQUFPO2dCQUNQQyxNQUFNO2dCQUNOQyxhQUFhO1lBQ2Y7U0FDRDtJQUNIO0NBQ0Q7QUFFRCxTQUFTQyxTQUFTQyxRQUF1QixFQUFFSCxJQUFZO0lBQ3JELElBQUksQ0FBQ0csVUFBVSxPQUFPO0lBQ3RCLElBQUlILFNBQVMsS0FBSyxPQUFPRyxhQUFhO0lBQ3RDLE9BQU9BLGFBQWFILFFBQVFHLFNBQVNDLFVBQVUsQ0FBQyxHQUFHSixLQUFLLENBQUMsQ0FBQztBQUM1RDtBQUVlLFNBQVNLO0lBQ3RCLE1BQU1GLFdBQVdULDREQUFXQTtJQUU1QixJQUFJUyxVQUFVQyxXQUFXLFdBQVc7UUFDbEMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNFO1FBQ0NDLGNBQVc7UUFDWEMsV0FBVTtrQkFFViw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBQ2IsOERBQUNDO29CQUFJRCxXQUFVOzhCQUNiLDRFQUFDZixrREFBSUE7d0JBQ0hPLE1BQUs7d0JBQ0xRLFdBQVU7OzBDQUVWLDhEQUFDRTtnQ0FBS0YsV0FBVTswQ0FDZCw0RUFBQ2hCLGtEQUFLQTtvQ0FDSm1CLEtBQUk7b0NBQ0pDLEtBQUk7b0NBQ0pDLE9BQU87b0NBQ1BDLFFBQVE7b0NBQ1JOLFdBQVU7b0NBQ1ZPLFFBQVE7Ozs7Ozs7Ozs7OzBDQUdaLDhEQUFDTDtnQ0FBS0YsV0FBVTs7a0RBQ2QsOERBQUNFO3dDQUFLRixXQUFVO2tEQUFrRDs7Ozs7O2tEQUdsRSw4REFBQ0U7d0NBQUtGLFdBQVU7a0RBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFPaEQsOERBQUNRO29CQUFJUixXQUFVOzhCQUNiLDRFQUFDUzt3QkFBR1QsV0FBVTtrQ0FDWFosV0FBV3NCLEdBQUcsQ0FBQyxDQUFDQyxzQkFDZiw4REFBQ0M7O2tEQUNDLDhEQUFDQzt3Q0FBR2IsV0FBVTtrREFDWFcsTUFBTXRCLEtBQUs7Ozs7OztrREFFZCw4REFBQ29CO3dDQUFHVCxXQUFVO2tEQUNYVyxNQUFNckIsS0FBSyxDQUFDb0IsR0FBRyxDQUFDLENBQUNJOzRDQUNoQixNQUFNQyxTQUFTckIsU0FBU0MsVUFBVW1CLEtBQUt0QixJQUFJOzRDQUMzQyxxQkFDRSw4REFBQ29COzBEQUNDLDRFQUFDM0Isa0RBQUlBO29EQUNITyxNQUFNc0IsS0FBS3RCLElBQUk7b0RBQ2Z3QixnQkFBY0QsU0FBUyxTQUFTRTtvREFDaENqQixXQUFXYiw4Q0FBRUEsQ0FDWCxpTEFDQTRCLFVBQ0U7O3NFQUdKLDhEQUFDYjs0REFBS0YsV0FBVTtzRUFDYmMsS0FBS3ZCLEtBQUs7Ozs7Ozt3REFFWnVCLEtBQUtyQixXQUFXLGlCQUNmLDhEQUFDUzs0REFBS0YsV0FBVTtzRUFDYmMsS0FBS3JCLFdBQVc7Ozs7O21FQUVqQjs7Ozs7OzsrQ0FqQkNxQixLQUFLdEIsSUFBSTs7Ozs7d0NBcUJ0Qjs7Ozs7OzsrQkE3QkttQixNQUFNdEIsS0FBSzs7Ozs7Ozs7Ozs7Ozs7OzhCQW9DMUIsOERBQUNZO29CQUFJRCxXQUFVOzhCQUNiLDRFQUFDa0I7d0JBQUVsQixXQUFVOzs0QkFBMEM7MENBQ3RCLDhEQUFDbUI7Z0NBQUluQixXQUFVOzBDQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVE1SSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvR2xvYmFsU2lkZWJhci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBjbiB9IGZyb20gJ0AvbGliL3V0aWxzJ1xuXG50eXBlIE5hdkl0ZW0gPSB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgaHJlZjogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbnR5cGUgTmF2R3JvdXAgPSB7XG4gIHRpdGxlOiBzdHJpbmdcbiAgaXRlbXM6IE5hdkl0ZW1bXVxufVxuXG5jb25zdCBOQVZfR1JPVVBTOiBOYXZHcm91cFtdID0gW1xuICB7XG4gICAgdGl0bGU6ICdQcm9qZWN0cycsXG4gICAgaXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdBbGwgUHJvamVjdHMnLFxuICAgICAgICBocmVmOiAnL3Byb2plY3RzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFeHBsb3JlIHJlY2VudCBjYXNlIHN0dWRpZXMgYW5kIHJlbGVhc2VzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnUHJvY2VzcycsXG4gICAgaXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdPdXIgQXBwcm9hY2gnLFxuICAgICAgICBocmVmOiAnL3Byb2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1VuZGVyc3RhbmQgaG93IHdlIG1vdmUgZnJvbSBjb25jZXB0IHRvIGRlbGl2ZXJ5JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnU3R1ZGlvJyxcbiAgICBpdGVtczogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ0luc2lkZSBCaW9oYXphcmQnLFxuICAgICAgICBocmVmOiAnL3N0dWRpbycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTGVhcm4gYWJvdXQgb3VyIHN0dWRpbyBhbmQgdGVhbSBjdWx0dXJlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnQ3JldyBEaXJlY3RvcnknLFxuICAgICAgICBocmVmOiAnL2NyZXcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ01lZXQgdGhlIHBlb3BsZSBiZWhpbmQgdGhlIHdvcmsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdJbnNpZ2h0cycsXG4gICAgICAgIGhyZWY6ICcvYmxvZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVhZCBwcm9qZWN0IG5vdGVzIGFuZCBhbm5vdW5jZW1lbnRzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnQ29udGFjdCcsXG4gICAgaXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdHZXQgaW4gVG91Y2gnLFxuICAgICAgICBocmVmOiAnL2NvbnRhY3QnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1N0YXJ0IGEgcHJvamVjdCBvciByZXF1ZXN0IGEgY29uc3VsdGF0aW9uJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnRkFRJyxcbiAgICAgICAgaHJlZjogJy9mYXEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbmQgYW5zd2VycyB0byBjb21tb24gcXVlc3Rpb25zJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gaXNBY3RpdmUocGF0aG5hbWU6IHN0cmluZyB8IG51bGwsIGhyZWY6IHN0cmluZykge1xuICBpZiAoIXBhdGhuYW1lKSByZXR1cm4gZmFsc2VcbiAgaWYgKGhyZWYgPT09ICcvJykgcmV0dXJuIHBhdGhuYW1lID09PSAnLydcbiAgcmV0dXJuIHBhdGhuYW1lID09PSBocmVmIHx8IHBhdGhuYW1lLnN0YXJ0c1dpdGgoYCR7aHJlZn0vYClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR2xvYmFsU2lkZWJhcigpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG5cbiAgaWYgKHBhdGhuYW1lPy5zdGFydHNXaXRoKCcvYWRtaW4nKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxhc2lkZVxuICAgICAgYXJpYS1sYWJlbD1cIlByaW1hcnlcIlxuICAgICAgY2xhc3NOYW1lPVwiYmctc3VyZmFjZS05MDAvOTUgdGV4dC1zbSB0ZXh0LXRleHQtc2Vjb25kYXJ5IGJhY2tkcm9wLWJsdXItbWQgc3VwcG9ydHMtW2JhY2tkcm9wLWZpbHRlcl06Ymctc3VyZmFjZS05MDAvODAgbWQ6Zml4ZWQgbWQ6aW5zZXQteS0wIG1kOmxlZnQtMCBtZDp3LVsyNDBweF0gbWQ6Ym9yZGVyLXIgbWQ6Ym9yZGVyLXN1cmZhY2UtNTAwLzYwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6aC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtNSBweS02IGJvcmRlci1iIGJvcmRlci1zdXJmYWNlLTUwMC81MFwiPlxuICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtYWNjZW50LzUwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBpbmxpbmUtZmxleCBzaXplLTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYWNjZW50LzgwIHZpYS1hY2NlbnQgdG8tYnJhbmQtcHJpbWFyeVwiPlxuICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2Zhdmljb24tMzJ4MzIucG5nXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJCaW9oYXphcmQgVkZYIExvZ29tYXJrXCJcbiAgICAgICAgICAgICAgICB3aWR0aD17MzJ9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXszMn1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLTYgdy02IG9iamVjdC1jb250YWluXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgICAgIEJpb2hhemFyZCBWRlhcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgIFZpc3VhbCBSZXNlYXJjaCBTdHVkaW9cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJmbGV4LTEgb3ZlcmZsb3cteS1hdXRvIHB4LTMgcHktNlwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cbiAgICAgICAgICAgIHtOQVZfR1JPVVBTLm1hcCgoZ3JvdXApID0+IChcbiAgICAgICAgICAgICAgPGxpIGtleT17Z3JvdXAudGl0bGV9PlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJweC0yIHRleHQteHMgZm9udC1tZWRpdW0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjIyZW1dIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAge2dyb3VwLnRpdGxlfVxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIm10LTMgc3BhY2UteS0xLjVcIj5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gaXNBY3RpdmUocGF0aG5hbWUsIGl0ZW0uaHJlZilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWZ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9e2FjdGl2ZSA/ICdwYWdlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBnYXAtMSByb3VuZGVkLWxnIHB4LTMgcHktMiB0cmFuc2l0aW9uLWFsbCBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1hY2NlbnQvNDUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JnLXN1cmZhY2UtNzAwLzcwIHRleHQtdGV4dC1wcmltYXJ5IHNoYWRvdy1baW5zZXRfMnB4XzBfMF9yZ2IodmFyKC0tYWNjZW50KS8uODUpXSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgdGV4dC10ZXh0LXByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5kZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uYXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC01IHB5LTQgYm9yZGVyLXQgYm9yZGVyLXN1cmZhY2UtNTAwLzUwXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyBsZWFkaW5nLXJlbGF4ZWQgdGV4dC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICBDb21tYW5kIFBhbGV0dGUgYXZhaWxhYmxlIHdpdGggPGtiZCBjbGFzc05hbWU9XCJyb3VuZGVkIGJnLXN1cmZhY2UtNzAwIHB4LTEuNSBweS0wLjUgdGV4dC1bMTFweF0gdGV4dC10ZXh0LXByaW1hcnkgc2hhZG93LWlubmVyXCI+XG4gICAgICAgICAgICAgIOKMmCAvIEN0cmwgKyBLXG4gICAgICAgICAgICA8L2tiZD5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9hc2lkZT5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkltYWdlIiwiTGluayIsInVzZVBhdGhuYW1lIiwiY24iLCJOQVZfR1JPVVBTIiwidGl0bGUiLCJpdGVtcyIsImxhYmVsIiwiaHJlZiIsImRlc2NyaXB0aW9uIiwiaXNBY3RpdmUiLCJwYXRobmFtZSIsInN0YXJ0c1dpdGgiLCJHbG9iYWxTaWRlYmFyIiwiYXNpZGUiLCJhcmlhLWxhYmVsIiwiY2xhc3NOYW1lIiwiZGl2Iiwic3BhbiIsInNyYyIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwicHJpb3JpdHkiLCJuYXYiLCJ1bCIsIm1hcCIsImdyb3VwIiwibGkiLCJoMiIsIml0ZW0iLCJhY3RpdmUiLCJhcmlhLWN1cnJlbnQiLCJ1bmRlZmluZWQiLCJwIiwia2JkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/GlobalSidebar.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Layouts.tsx":
/*!************************************!*\
!*** ./src/components/Layouts.tsx ***!
\************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container),\n/* harmony export */ EmptyState: () => (/* binding */ EmptyState),\n/* harmony export */ Grid: () => (/* binding */ Grid),\n/* harmony export */ Hero: () => (/* binding */ Hero),\n/* harmony export */ PageHeader: () => (/* binding */ PageHeader),\n/* harmony export */ Section: () => (/* binding */ Section),\n/* harmony export */ SplitLayout: () => (/* binding */ SplitLayout)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction PageHeader({ title, subtitle, actions }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl font-display tracking-tight text-white mb-2\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, this),\n subtitle && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-base max-w-3xl\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 17,\n columnNumber: 24\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this),\n actions && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: actions\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 19,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\nfunction Section({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: `section-spacing ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 32,\n columnNumber: 5\n }, this);\n}\nfunction Container({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-full px-4 sm:px-6 lg:px-8 ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 42,\n columnNumber: 10\n }, this);\n}\nfunction Grid({ children, cols = 3, gap = 'md', className = '' }) {\n const colClasses = {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4'\n };\n const gapClasses = {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `grid ${colClasses[cols]} ${gapClasses[gap]} ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction SplitLayout({ left, right, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `grid grid-cols-1 lg:grid-cols-2 gap-6 lg:gap-8 ${className}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: left\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 89,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: right\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 90,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 86,\n columnNumber: 5\n }, this);\n}\nfunction Hero({ title, subtitle, backgroundImage, children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative min-h-[50vh] flex items-center justify-center text-center\",\n style: backgroundImage ? {\n backgroundImage: `linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n } : {},\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl md:text-6xl font-display tracking-tight text-white mb-3\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n subtitle && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl text-text-muted mb-6\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 126,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 121,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 109,\n columnNumber: 5\n }, this);\n}\nfunction EmptyState({ icon, title, description, action }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8\",\n children: [\n icon && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-4xl mb-3 opacity-20\",\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 149,\n columnNumber: 16\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white mb-2\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 150,\n columnNumber: 7\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted mb-4\",\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 151,\n columnNumber: 23\n }, this),\n action\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Layouts.tsx\",\n lineNumber: 148,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9MYXlvdXRzLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBeUI7QUFRbEIsU0FBU0MsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsT0FBTyxFQUFtQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEOztzQ0FDQyw4REFBQ0U7NEJBQUdELFdBQVU7c0NBQ1hKOzs7Ozs7d0JBRUZDLDBCQUFZLDhEQUFDSzs0QkFBRUYsV0FBVTtzQ0FBdUNIOzs7Ozs7Ozs7Ozs7Z0JBRWxFQyx5QkFBVyw4REFBQ0M7b0JBQUlDLFdBQVU7OEJBQTJCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJOUQ7QUFPTyxTQUFTSyxRQUFRLEVBQUVDLFFBQVEsRUFBRUosWUFBWSxFQUFFLEVBQWdCO0lBQ2hFLHFCQUNFLDhEQUFDSztRQUFRTCxXQUFXLENBQUMsZ0JBQWdCLEVBQUVBLFdBQVc7a0JBQUdJOzs7Ozs7QUFFekQ7QUFPTyxTQUFTRSxVQUFVLEVBQUVGLFFBQVEsRUFBRUosWUFBWSxFQUFFLEVBQWtCO0lBQ3BFLHFCQUFPLDhEQUFDRDtRQUFJQyxXQUFXLENBQUMsNEJBQTRCLEVBQUVBLFdBQVc7a0JBQUdJOzs7Ozs7QUFDdEU7QUFTTyxTQUFTRyxLQUFLLEVBQ25CSCxRQUFRLEVBQ1JJLE9BQU8sQ0FBQyxFQUNSQyxNQUFNLElBQUksRUFDVlQsWUFBWSxFQUFFLEVBQ0o7SUFDVixNQUFNVSxhQUFhO1FBQ2pCLEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRztRQUNILEdBQUc7SUFDTDtJQUVBLE1BQU1DLGFBQWE7UUFDakJDLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO0lBQ047SUFFQSxxQkFDRSw4REFBQ2Y7UUFBSUMsV0FBVyxDQUFDLEtBQUssRUFBRVUsVUFBVSxDQUFDRixLQUFLLENBQUMsQ0FBQyxFQUFFRyxVQUFVLENBQUNGLElBQUksQ0FBQyxDQUFDLEVBQUVULFdBQVc7a0JBQ3ZFSTs7Ozs7O0FBR1A7QUFRTyxTQUFTVyxZQUFZLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFakIsWUFBWSxFQUFFLEVBQW9CO0lBQzNFLHFCQUNFLDhEQUFDRDtRQUNDQyxXQUFXLENBQUMsK0NBQStDLEVBQUVBLFdBQVc7OzBCQUV4RSw4REFBQ0Q7MEJBQUtpQjs7Ozs7OzBCQUNOLDhEQUFDakI7MEJBQUtrQjs7Ozs7Ozs7Ozs7O0FBR1o7QUFTTyxTQUFTQyxLQUFLLEVBQ25CdEIsS0FBSyxFQUNMQyxRQUFRLEVBQ1JzQixlQUFlLEVBQ2ZmLFFBQVEsRUFDRTtJQUNWLHFCQUNFLDhEQUFDTDtRQUNDQyxXQUFVO1FBQ1ZvQixPQUNFRCxrQkFDSTtZQUNFQSxpQkFBaUIsQ0FBQyx1REFBdUQsRUFBRUEsZ0JBQWdCLENBQUMsQ0FBQztZQUM3RkUsZ0JBQWdCO1lBQ2hCQyxvQkFBb0I7UUFDdEIsSUFDQSxDQUFDO2tCQUdQLDRFQUFDaEI7OzhCQUNDLDhEQUFDTDtvQkFBR0QsV0FBVTs4QkFDWEo7Ozs7OztnQkFFRkMsMEJBQ0MsOERBQUNLO29CQUFFRixXQUFVOzhCQUEyQ0g7Ozs7OztnQkFFekRPOzs7Ozs7Ozs7Ozs7QUFJVDtBQVNPLFNBQVNtQixXQUFXLEVBQ3pCQyxJQUFJLEVBQ0o1QixLQUFLLEVBQ0w2QixXQUFXLEVBQ1hDLE1BQU0sRUFDVTtJQUNoQixxQkFDRSw4REFBQzNCO1FBQUlDLFdBQVU7O1lBQ1p3QixzQkFBUSw4REFBQ3pCO2dCQUFJQyxXQUFVOzBCQUE0QndCOzs7Ozs7MEJBQ3BELDhEQUFDRztnQkFBRzNCLFdBQVU7MEJBQXlDSjs7Ozs7O1lBQ3RENkIsNkJBQWUsOERBQUN2QjtnQkFBRUYsV0FBVTswQkFBd0J5Qjs7Ozs7O1lBQ3BEQzs7Ozs7OztBQUdQIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvY29tcG9uZW50cy9MYXlvdXRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmludGVyZmFjZSBQYWdlSGVhZGVyUHJvcHMge1xuICB0aXRsZTogc3RyaW5nXG4gIHN1YnRpdGxlPzogc3RyaW5nXG4gIGFjdGlvbnM/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBhZ2VIZWFkZXIoeyB0aXRsZSwgc3VidGl0bGUsIGFjdGlvbnMgfTogUGFnZUhlYWRlclByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtYi02XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtZGlzcGxheSB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlIG1iLTJcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L2gxPlxuICAgICAgICAgIHtzdWJ0aXRsZSAmJiA8cCBjbGFzc05hbWU9XCJ0ZXh0LXRleHQtbXV0ZWQgdGV4dC1iYXNlIG1heC13LTN4bFwiPntzdWJ0aXRsZX08L3A+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2FjdGlvbnMgJiYgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPnthY3Rpb25zfTwvZGl2Pn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmludGVyZmFjZSBTZWN0aW9uUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2VjdGlvbih7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJyB9OiBTZWN0aW9uUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjbGFzc05hbWU9e2BzZWN0aW9uLXNwYWNpbmcgJHtjbGFzc05hbWV9YH0+e2NoaWxkcmVufTwvc2VjdGlvbj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgQ29udGFpbmVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udGFpbmVyKHsgY2hpbGRyZW4sIGNsYXNzTmFtZSA9ICcnIH06IENvbnRhaW5lclByb3BzKSB7XG4gIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17YHctZnVsbCBweC00IHNtOnB4LTYgbGc6cHgtOCAke2NsYXNzTmFtZX1gfT57Y2hpbGRyZW59PC9kaXY+XG59XG5cbmludGVyZmFjZSBHcmlkUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGNvbHM/OiAxIHwgMiB8IDMgfCA0XG4gIGdhcD86ICdzbScgfCAnbWQnIHwgJ2xnJ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdyaWQoe1xuICBjaGlsZHJlbixcbiAgY29scyA9IDMsXG4gIGdhcCA9ICdtZCcsXG4gIGNsYXNzTmFtZSA9ICcnLFxufTogR3JpZFByb3BzKSB7XG4gIGNvbnN0IGNvbENsYXNzZXMgPSB7XG4gICAgMTogJ2dyaWQtY29scy0xJyxcbiAgICAyOiAnZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTInLFxuICAgIDM6ICdncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtMycsXG4gICAgNDogJ2dyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00JyxcbiAgfVxuXG4gIGNvbnN0IGdhcENsYXNzZXMgPSB7XG4gICAgc206ICdnYXAtMycsXG4gICAgbWQ6ICdnYXAtNCcsXG4gICAgbGc6ICdnYXAtNicsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgZ3JpZCAke2NvbENsYXNzZXNbY29sc119ICR7Z2FwQ2xhc3Nlc1tnYXBdfSAke2NsYXNzTmFtZX1gfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgU3BsaXRMYXlvdXRQcm9wcyB7XG4gIGxlZnQ6IFJlYWN0LlJlYWN0Tm9kZVxuICByaWdodDogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BsaXRMYXlvdXQoeyBsZWZ0LCByaWdodCwgY2xhc3NOYW1lID0gJycgfTogU3BsaXRMYXlvdXRQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17YGdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTYgbGc6Z2FwLTggJHtjbGFzc05hbWV9YH1cbiAgICA+XG4gICAgICA8ZGl2PntsZWZ0fTwvZGl2PlxuICAgICAgPGRpdj57cmlnaHR9PC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIEhlcm9Qcm9wcyB7XG4gIHRpdGxlOiBzdHJpbmdcbiAgc3VidGl0bGU/OiBzdHJpbmdcbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIZXJvKHtcbiAgdGl0bGUsXG4gIHN1YnRpdGxlLFxuICBiYWNrZ3JvdW5kSW1hZ2UsXG4gIGNoaWxkcmVuLFxufTogSGVyb1Byb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgbWluLWgtWzUwdmhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtY2VudGVyXCJcbiAgICAgIHN0eWxlPXtcbiAgICAgICAgYmFja2dyb3VuZEltYWdlXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogYGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNyksIHJnYmEoMCwwLDAsMC43KSksIHVybCgke2JhY2tncm91bmRJbWFnZX0pYCxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fVxuICAgICAgfVxuICAgID5cbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTR4bCBtZDp0ZXh0LTZ4bCBmb250LWRpc3BsYXkgdHJhY2tpbmctdGlnaHQgdGV4dC13aGl0ZSBtYi0zXCI+XG4gICAgICAgICAge3RpdGxlfVxuICAgICAgICA8L2gxPlxuICAgICAgICB7c3VidGl0bGUgJiYgKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LXRleHQtbXV0ZWQgbWItNlwiPntzdWJ0aXRsZX08L3A+XG4gICAgICAgICl9XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmludGVyZmFjZSBFbXB0eVN0YXRlUHJvcHMge1xuICBpY29uPzogUmVhY3QuUmVhY3ROb2RlXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgYWN0aW9uPzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFbXB0eVN0YXRlKHtcbiAgaWNvbixcbiAgdGl0bGUsXG4gIGRlc2NyaXB0aW9uLFxuICBhY3Rpb24sXG59OiBFbXB0eVN0YXRlUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LThcIj5cbiAgICAgIHtpY29uICYmIDxkaXYgY2xhc3NOYW1lPVwidGV4dC00eGwgbWItMyBvcGFjaXR5LTIwXCI+e2ljb259PC9kaXY+fVxuICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIG1iLTJcIj57dGl0bGV9PC9oMz5cbiAgICAgIHtkZXNjcmlwdGlvbiAmJiA8cCBjbGFzc05hbWU9XCJ0ZXh0LXRleHQtbXV0ZWQgbWItNFwiPntkZXNjcmlwdGlvbn08L3A+fVxuICAgICAge2FjdGlvbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiUGFnZUhlYWRlciIsInRpdGxlIiwic3VidGl0bGUiLCJhY3Rpb25zIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJwIiwiU2VjdGlvbiIsImNoaWxkcmVuIiwic2VjdGlvbiIsIkNvbnRhaW5lciIsIkdyaWQiLCJjb2xzIiwiZ2FwIiwiY29sQ2xhc3NlcyIsImdhcENsYXNzZXMiLCJzbSIsIm1kIiwibGciLCJTcGxpdExheW91dCIsImxlZnQiLCJyaWdodCIsIkhlcm8iLCJiYWNrZ3JvdW5kSW1hZ2UiLCJzdHlsZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiRW1wdHlTdGF0ZSIsImljb24iLCJkZXNjcmlwdGlvbiIsImFjdGlvbiIsImgzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Layouts.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/LoadingProvider.tsx":
/*!********************************************!*\
!*** ./src/components/LoadingProvider.tsx ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LoadingProvider),\n/* harmony export */ useLoading: () => (/* binding */ useLoading)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ui_multi_step_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/multi-step-loader */ \"(ssr)/./src/components/ui/multi-step-loader.tsx\");\n/* __next_internal_client_entry_do_not_use__ useLoading,default auto */ \n\n\nconst LoadingContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)({\n isLoading: true,\n setIsLoading: ()=>{}\n});\nconst useLoading = ()=>(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(LoadingContext);\nfunction LoadingProvider({ children }) {\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [showLoader, setShowLoader] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [isMounted, setIsMounted] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Multi-step loader texts\n const loadingStates = [\n {\n text: 'Paying for Nuke'\n },\n {\n text: 'Rewriting After Effects'\n },\n {\n text: 'Containing the 19 sided ngon'\n },\n {\n text: 'Rewriting IBK'\n },\n {\n text: 'Migrating Nukepedia'\n },\n {\n text: 'Overloading our renderfarm'\n },\n {\n text: 'Hammering the VFX button'\n },\n {\n text: 'Welcome to the shitshow'\n }\n ];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"LoadingProvider.useEffect\": ()=>{\n setIsMounted(true);\n // Check URL params for force loading\n const urlParams = new URLSearchParams(globalThis.location?.search ?? '');\n const forceLoading = urlParams.get('loading') === 'true';\n // Check if this is the first visit\n const hasVisited = globalThis.sessionStorage?.getItem('hasVisited');\n if (hasVisited && !forceLoading) {\n // Still show a brief loading for smooth transition\n globalThis.setTimeout({\n \"LoadingProvider.useEffect\": ()=>{\n setIsLoading(false);\n setShowLoader(false);\n }\n }[\"LoadingProvider.useEffect\"], 100);\n } else {\n globalThis.sessionStorage?.setItem('hasVisited', 'true');\n }\n }\n }[\"LoadingProvider.useEffect\"], []);\n const handleLoadingComplete = ()=>{\n setShowLoader(false);\n // Small delay to ensure smooth transition\n globalThis.setTimeout(()=>{\n setIsLoading(false);\n }, 100);\n };\n // Don't render anything until mounted to avoid hydration issues\n if (!isMounted) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(LoadingContext.Provider, {\n value: {\n isLoading,\n setIsLoading\n },\n children: [\n showLoader && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_multi_step_loader__WEBPACK_IMPORTED_MODULE_2__.MultiStepLoader, {\n loadingStates: loadingStates,\n loading: showLoader,\n duration: 2000,\n onComplete: handleLoadingComplete\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/LoadingProvider.tsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `transition-opacity duration-1000 ${isLoading ? 'opacity-0' : 'opacity-100'}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/LoadingProvider.tsx\",\n lineNumber: 80,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/LoadingProvider.tsx\",\n lineNumber: 71,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2FkaW5nUHJvdmlkZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRXNFO0FBRWQ7QUFPeEQsTUFBTUssK0JBQWlCTCxvREFBYUEsQ0FBcUI7SUFDdkRNLFdBQVc7SUFDWEMsY0FBYyxLQUFPO0FBQ3ZCO0FBRU8sTUFBTUMsYUFBYSxJQUFNUCxpREFBVUEsQ0FBQ0ksZ0JBQWU7QUFFM0MsU0FBU0ksZ0JBQWdCLEVBQUVDLFFBQVEsRUFBMkI7SUFDM0UsTUFBTSxDQUFDSixXQUFXQyxhQUFhLEdBQUdMLCtDQUFRQSxDQUFDO0lBQzNDLE1BQU0sQ0FBQ1MsWUFBWUMsY0FBYyxHQUFHViwrQ0FBUUEsQ0FBQztJQUM3QyxNQUFNLENBQUNXLFdBQVdDLGFBQWEsR0FBR1osK0NBQVFBLENBQUM7SUFFM0MsMEJBQTBCO0lBQzFCLE1BQU1hLGdCQUFnQjtRQUNwQjtZQUFFQyxNQUFNO1FBQWtCO1FBQzFCO1lBQUVBLE1BQU07UUFBMEI7UUFDbEM7WUFBRUEsTUFBTTtRQUErQjtRQUN2QztZQUFFQSxNQUFNO1FBQWdCO1FBQ3hCO1lBQUVBLE1BQU07UUFBc0I7UUFDOUI7WUFBRUEsTUFBTTtRQUE2QjtRQUNyQztZQUFFQSxNQUFNO1FBQTJCO1FBQ25DO1lBQUVBLE1BQU07UUFBMEI7S0FDbkM7SUFFRGIsZ0RBQVNBO3FDQUFDO1lBQ1JXLGFBQWE7WUFFYixxQ0FBcUM7WUFDckMsTUFBTUcsWUFBWSxJQUFJQyxnQkFBZ0JDLFdBQVdDLFFBQVEsRUFBRUMsVUFBVTtZQUNyRSxNQUFNQyxlQUFlTCxVQUFVTSxHQUFHLENBQUMsZUFBZTtZQUVsRCxtQ0FBbUM7WUFDbkMsTUFBTUMsYUFBYUwsV0FBV00sY0FBYyxFQUFFQyxRQUFRO1lBRXRELElBQUlGLGNBQWMsQ0FBQ0YsY0FBYztnQkFDL0IsbURBQW1EO2dCQUNuREgsV0FBV1EsVUFBVTtpREFBQzt3QkFDcEJwQixhQUFhO3dCQUNiSyxjQUFjO29CQUNoQjtnREFBRztZQUNMLE9BQU87Z0JBQ0xPLFdBQVdNLGNBQWMsRUFBRUcsUUFBUSxjQUFjO1lBQ25EO1FBQ0Y7b0NBQUcsRUFBRTtJQUVMLE1BQU1DLHdCQUF3QjtRQUM1QmpCLGNBQWM7UUFDZCwwQ0FBMEM7UUFDMUNPLFdBQVdRLFVBQVUsQ0FBQztZQUNwQnBCLGFBQWE7UUFDZixHQUFHO0lBQ0w7SUFFQSxnRUFBZ0U7SUFDaEUsSUFBSSxDQUFDTSxXQUFXO1FBQ2QsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNSLGVBQWV5QixRQUFRO1FBQUNDLE9BQU87WUFBRXpCO1lBQVdDO1FBQWE7O1lBQ3ZESSw0QkFDQyw4REFBQ1Asa0VBQWVBO2dCQUNkVyxlQUFlQTtnQkFDZmlCLFNBQVNyQjtnQkFDVHNCLFVBQVU7Z0JBQ1ZDLFlBQVlMOzs7Ozs7MEJBR2hCLDhEQUFDTTtnQkFDQ0MsV0FBVyxDQUFDLGlDQUFpQyxFQUFFOUIsWUFBWSxjQUFjLGVBQWU7MEJBRXZGSTs7Ozs7Ozs7Ozs7O0FBSVQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL0xvYWRpbmdQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBNdWx0aVN0ZXBMb2FkZXIgfSBmcm9tICcuL3VpL211bHRpLXN0ZXAtbG9hZGVyJ1xuXG5pbnRlcmZhY2UgTG9hZGluZ0NvbnRleHRUeXBlIHtcbiAgaXNMb2FkaW5nOiBib29sZWFuXG4gIHNldElzTG9hZGluZzogKGxvYWRpbmc6IGJvb2xlYW4pID0+IHZvaWRcbn1cblxuY29uc3QgTG9hZGluZ0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PExvYWRpbmdDb250ZXh0VHlwZT4oe1xuICBpc0xvYWRpbmc6IHRydWUsXG4gIHNldElzTG9hZGluZzogKCkgPT4ge30sXG59KVxuXG5leHBvcnQgY29uc3QgdXNlTG9hZGluZyA9ICgpID0+IHVzZUNvbnRleHQoTG9hZGluZ0NvbnRleHQpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvYWRpbmdQcm92aWRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbc2hvd0xvYWRlciwgc2V0U2hvd0xvYWRlcl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbaXNNb3VudGVkLCBzZXRJc01vdW50ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgLy8gTXVsdGktc3RlcCBsb2FkZXIgdGV4dHNcbiAgY29uc3QgbG9hZGluZ1N0YXRlcyA9IFtcbiAgICB7IHRleHQ6ICdQYXlpbmcgZm9yIE51a2UnIH0sXG4gICAgeyB0ZXh0OiAnUmV3cml0aW5nIEFmdGVyIEVmZmVjdHMnIH0sXG4gICAgeyB0ZXh0OiAnQ29udGFpbmluZyB0aGUgMTkgc2lkZWQgbmdvbicgfSxcbiAgICB7IHRleHQ6ICdSZXdyaXRpbmcgSUJLJyB9LFxuICAgIHsgdGV4dDogJ01pZ3JhdGluZyBOdWtlcGVkaWEnIH0sXG4gICAgeyB0ZXh0OiAnT3ZlcmxvYWRpbmcgb3VyIHJlbmRlcmZhcm0nIH0sXG4gICAgeyB0ZXh0OiAnSGFtbWVyaW5nIHRoZSBWRlggYnV0dG9uJyB9LFxuICAgIHsgdGV4dDogJ1dlbGNvbWUgdG8gdGhlIHNoaXRzaG93JyB9LFxuICBdXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRJc01vdW50ZWQodHJ1ZSlcblxuICAgIC8vIENoZWNrIFVSTCBwYXJhbXMgZm9yIGZvcmNlIGxvYWRpbmdcbiAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGdsb2JhbFRoaXMubG9jYXRpb24/LnNlYXJjaCA/PyAnJylcbiAgICBjb25zdCBmb3JjZUxvYWRpbmcgPSB1cmxQYXJhbXMuZ2V0KCdsb2FkaW5nJykgPT09ICd0cnVlJ1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgZmlyc3QgdmlzaXRcbiAgICBjb25zdCBoYXNWaXNpdGVkID0gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZT8uZ2V0SXRlbSgnaGFzVmlzaXRlZCcpXG5cbiAgICBpZiAoaGFzVmlzaXRlZCAmJiAhZm9yY2VMb2FkaW5nKSB7XG4gICAgICAvLyBTdGlsbCBzaG93IGEgYnJpZWYgbG9hZGluZyBmb3Igc21vb3RoIHRyYW5zaXRpb25cbiAgICAgIGdsb2JhbFRoaXMuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgc2V0U2hvd0xvYWRlcihmYWxzZSlcbiAgICAgIH0sIDEwMClcbiAgICB9IGVsc2Uge1xuICAgICAgZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZT8uc2V0SXRlbSgnaGFzVmlzaXRlZCcsICd0cnVlJylcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUxvYWRpbmdDb21wbGV0ZSA9ICgpID0+IHtcbiAgICBzZXRTaG93TG9hZGVyKGZhbHNlKVxuICAgIC8vIFNtYWxsIGRlbGF5IHRvIGVuc3VyZSBzbW9vdGggdHJhbnNpdGlvblxuICAgIGdsb2JhbFRoaXMuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgfSwgMTAwKVxuICB9XG5cbiAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIHVudGlsIG1vdW50ZWQgdG8gYXZvaWQgaHlkcmF0aW9uIGlzc3Vlc1xuICBpZiAoIWlzTW91bnRlZCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxMb2FkaW5nQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyBpc0xvYWRpbmcsIHNldElzTG9hZGluZyB9fT5cbiAgICAgIHtzaG93TG9hZGVyICYmIChcbiAgICAgICAgPE11bHRpU3RlcExvYWRlclxuICAgICAgICAgIGxvYWRpbmdTdGF0ZXM9e2xvYWRpbmdTdGF0ZXN9XG4gICAgICAgICAgbG9hZGluZz17c2hvd0xvYWRlcn1cbiAgICAgICAgICBkdXJhdGlvbj17MjAwMH1cbiAgICAgICAgICBvbkNvbXBsZXRlPXtoYW5kbGVMb2FkaW5nQ29tcGxldGV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2B0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMTAwMCAke2lzTG9hZGluZyA/ICdvcGFjaXR5LTAnIDogJ29wYWNpdHktMTAwJ31gfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L0xvYWRpbmdDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIk11bHRpU3RlcExvYWRlciIsIkxvYWRpbmdDb250ZXh0IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwidXNlTG9hZGluZyIsIkxvYWRpbmdQcm92aWRlciIsImNoaWxkcmVuIiwic2hvd0xvYWRlciIsInNldFNob3dMb2FkZXIiLCJpc01vdW50ZWQiLCJzZXRJc01vdW50ZWQiLCJsb2FkaW5nU3RhdGVzIiwidGV4dCIsInVybFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImdsb2JhbFRoaXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImZvcmNlTG9hZGluZyIsImdldCIsImhhc1Zpc2l0ZWQiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJzZXRUaW1lb3V0Iiwic2V0SXRlbSIsImhhbmRsZUxvYWRpbmdDb21wbGV0ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJsb2FkaW5nIiwiZHVyYXRpb24iLCJvbkNvbXBsZXRlIiwiZGl2IiwiY2xhc3NOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/LoadingProvider.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Providers.tsx":
/*!**************************************!*\
!*** ./src/components/Providers.tsx ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Providers)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/toaster */ \"(ssr)/./src/components/ui/toaster.tsx\");\n/* harmony import */ var _LoadingProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LoadingProvider */ \"(ssr)/./src/components/LoadingProvider.tsx\");\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs\");\n/* harmony import */ var _ScrollEnhancements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ScrollEnhancements */ \"(ssr)/./src/components/ScrollEnhancements.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction Providers({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_auth_react__WEBPACK_IMPORTED_MODULE_1__.SessionProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"dark\",\n enableSystem: false,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_6__.MotionConfig, {\n reducedMotion: \"user\",\n transition: {\n duration: 0.6,\n ease: [\n 0.2,\n 0.8,\n 0.2,\n 1\n ]\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_LoadingProvider__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__.Toaster, {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 23,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ScrollEnhancements__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 20,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/Providers.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Qcm92aWRlcnMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR2lEO0FBQ047QUFDTTtBQUNGO0FBQ0g7QUFDUztBQUV0QyxTQUFTTSxVQUFVLEVBQUVDLFFBQVEsRUFBMkI7SUFDckUscUJBQ0UsOERBQUNQLDREQUFlQTtrQkFDZCw0RUFBQ0Msc0RBQWFBO1lBQ1pPLFdBQVU7WUFDVkMsY0FBYTtZQUNiQyxjQUFjO1lBQ2RDLHlCQUF5QjtzQkFFekIsNEVBQUNQLHVEQUFZQTtnQkFBQ1EsZUFBYztnQkFBT0MsWUFBWTtvQkFBRUMsVUFBVTtvQkFBS0MsTUFBTTt3QkFBQzt3QkFBSzt3QkFBSzt3QkFBSztxQkFBRTtnQkFBQzswQkFDdkYsNEVBQUNaLHdEQUFlQTs7d0JBQ2JJO3NDQUNELDhEQUFDTCwyREFBT0E7Ozs7O3NDQUNSLDhEQUFDRywyREFBa0JBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU0vQiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvUHJvdmlkZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFNlc3Npb25Qcm92aWRlciB9IGZyb20gJ25leHQtYXV0aC9yZWFjdCdcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tICduZXh0LXRoZW1lcydcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvdG9hc3RlcidcbmltcG9ydCBMb2FkaW5nUHJvdmlkZXIgZnJvbSAnLi9Mb2FkaW5nUHJvdmlkZXInXG5pbXBvcnQgeyBNb3Rpb25Db25maWcgfSBmcm9tICdmcmFtZXItbW90aW9uJ1xuaW1wb3J0IFNjcm9sbEVuaGFuY2VtZW50cyBmcm9tICcuL1Njcm9sbEVuaGFuY2VtZW50cydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJvdmlkZXJzKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U2Vzc2lvblByb3ZpZGVyPlxuICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxuICAgICAgICBkZWZhdWx0VGhlbWU9XCJkYXJrXCJcbiAgICAgICAgZW5hYmxlU3lzdGVtPXtmYWxzZX1cbiAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxuICAgICAgPlxuICAgICAgICA8TW90aW9uQ29uZmlnIHJlZHVjZWRNb3Rpb249XCJ1c2VyXCIgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC42LCBlYXNlOiBbMC4yLCAwLjgsIDAuMiwgMV0gfX0+XG4gICAgICAgICAgPExvYWRpbmdQcm92aWRlcj5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDxUb2FzdGVyIC8+XG4gICAgICAgICAgICA8U2Nyb2xsRW5oYW5jZW1lbnRzIC8+XG4gICAgICAgICAgPC9Mb2FkaW5nUHJvdmlkZXI+XG4gICAgICAgIDwvTW90aW9uQ29uZmlnPlxuICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgIDwvU2Vzc2lvblByb3ZpZGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiU2Vzc2lvblByb3ZpZGVyIiwiVGhlbWVQcm92aWRlciIsIlRvYXN0ZXIiLCJMb2FkaW5nUHJvdmlkZXIiLCJNb3Rpb25Db25maWciLCJTY3JvbGxFbmhhbmNlbWVudHMiLCJQcm92aWRlcnMiLCJjaGlsZHJlbiIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJyZWR1Y2VkTW90aW9uIiwidHJhbnNpdGlvbiIsImR1cmF0aW9uIiwiZWFzZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Providers.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ScrollEnhancements.tsx":
/*!***********************************************!*\
!*** ./src/components/ScrollEnhancements.tsx ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ScrollEnhancements)\n/* harmony export */ });\n/* harmony import */ var _motion_useAutoplayVideos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./motion/useAutoplayVideos */ \"(ssr)/./src/components/motion/useAutoplayVideos.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n/**\n * Mount-only enhancements for scroll behavior across the app.\n * - Autoplay inline videos when in view (guarded play/pause)\n * Extend here later if we add more global, scroll-related hooks.\n */ function ScrollEnhancements(_) {\n (0,_motion_useAutoplayVideos__WEBPACK_IMPORTED_MODULE_0__.useAutoplayVideos)();\n return null;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9TY3JvbGxFbmhhbmNlbWVudHMudHN4IiwibWFwcGluZ3MiOiI7Ozs7OzZEQUc4RDtBQUU5RDs7OztDQUlDLEdBQ2MsU0FBU0MsbUJBQW1CQyxDQUEyQjtJQUNwRUYsNEVBQWlCQTtJQUNqQixPQUFPO0FBQ1QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL1Njcm9sbEVuaGFuY2VtZW50cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VBdXRvcGxheVZpZGVvcyB9IGZyb20gJy4vbW90aW9uL3VzZUF1dG9wbGF5VmlkZW9zJ1xuXG4vKipcbiAqIE1vdW50LW9ubHkgZW5oYW5jZW1lbnRzIGZvciBzY3JvbGwgYmVoYXZpb3IgYWNyb3NzIHRoZSBhcHAuXG4gKiAtIEF1dG9wbGF5IGlubGluZSB2aWRlb3Mgd2hlbiBpbiB2aWV3IChndWFyZGVkIHBsYXkvcGF1c2UpXG4gKiBFeHRlbmQgaGVyZSBsYXRlciBpZiB3ZSBhZGQgbW9yZSBnbG9iYWwsIHNjcm9sbC1yZWxhdGVkIGhvb2tzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTY3JvbGxFbmhhbmNlbWVudHMoXzogeyBjaGlsZHJlbj86IFJlYWN0Tm9kZSB9KSB7XG4gIHVzZUF1dG9wbGF5VmlkZW9zKClcbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJ1c2VBdXRvcGxheVZpZGVvcyIsIlNjcm9sbEVuaGFuY2VtZW50cyIsIl8iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ScrollEnhancements.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/SmoothScrolling.tsx":
/*!********************************************!*\
!*** ./src/components/SmoothScrolling.tsx ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SmoothScrolling)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lenis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lenis */ \"(ssr)/./node_modules/lenis/dist/lenis.mjs\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\nfunction SmoothScrolling({ children }) {\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"SmoothScrolling.useEffect\": ()=>{\n // Initialize Lenis\n const lenisInstance = new lenis__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n lerp: 0.1,\n duration: 1.5,\n smoothTouch: true\n });\n // Animation frame loop\n function raf(time) {\n lenisInstance.raf(time);\n requestAnimationFrame(raf);\n }\n requestAnimationFrame(raf);\n // Cleanup\n return ({\n \"SmoothScrolling.useEffect\": ()=>{\n lenisInstance.destroy();\n }\n })[\"SmoothScrolling.useEffect\"];\n }\n }[\"SmoothScrolling.useEffect\"], []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9TbW9vdGhTY3JvbGxpbmcudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFaUM7QUFDUjtBQUVWLFNBQVNFLGdCQUFnQixFQUFDQyxRQUFRLEVBQTRCO0lBQzNFSCxnREFBU0E7cUNBQUM7WUFDUixtQkFBbUI7WUFDbkIsTUFBTUksZ0JBQWdCLElBQUlILDZDQUFLQSxDQUFDO2dCQUM5QkksTUFBTTtnQkFDTkMsVUFBVTtnQkFDVkMsYUFBYTtZQUNmO1lBRUEsdUJBQXVCO1lBQ3ZCLFNBQVNDLElBQUlDLElBQVk7Z0JBQ3ZCTCxjQUFjSSxHQUFHLENBQUNDO2dCQUNsQkMsc0JBQXNCRjtZQUN4QjtZQUVBRSxzQkFBc0JGO1lBRXRCLFVBQVU7WUFDVjs2Q0FBTztvQkFDTEosY0FBY08sT0FBTztnQkFDdkI7O1FBQ0Y7b0NBQUcsRUFBRTtJQUVMLHFCQUFPO2tCQUFHUjs7QUFDWiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvU21vb3RoU2Nyb2xsaW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgbGVuaXMgZnJvbSAnbGVuaXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNtb290aFNjcm9sbGluZyh7Y2hpbGRyZW59OntjaGlsZHJlbjpSZWFjdC5SZWFjdE5vZGV9KSB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gSW5pdGlhbGl6ZSBMZW5pc1xuICAgIGNvbnN0IGxlbmlzSW5zdGFuY2UgPSBuZXcgbGVuaXMoe1xuICAgICAgbGVycDogMC4xLFxuICAgICAgZHVyYXRpb246IDEuNSxcbiAgICAgIHNtb290aFRvdWNoOiB0cnVlLFxuICAgIH0pXG5cbiAgICAvLyBBbmltYXRpb24gZnJhbWUgbG9vcFxuICAgIGZ1bmN0aW9uIHJhZih0aW1lOiBudW1iZXIpIHtcbiAgICAgIGxlbmlzSW5zdGFuY2UucmFmKHRpbWUpXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmFmKVxuICAgIH1cblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShyYWYpXG5cbiAgICAvLyBDbGVhbnVwXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxlbmlzSW5zdGFuY2UuZGVzdHJveSgpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImxlbmlzIiwiU21vb3RoU2Nyb2xsaW5nIiwiY2hpbGRyZW4iLCJsZW5pc0luc3RhbmNlIiwibGVycCIsImR1cmF0aW9uIiwic21vb3RoVG91Y2giLCJyYWYiLCJ0aW1lIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiZGVzdHJveSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/SmoothScrolling.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/TrackingOptOutBanner.tsx":
/*!*************************************************!*\
!*** ./src/components/TrackingOptOutBanner.tsx ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TrackingOptOutBanner)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\nfunction TrackingOptOutBanner() {\n const [isVisible, setIsVisible] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [hasOptedOut, setHasOptedOut] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"TrackingOptOutBanner.useEffect\": ()=>{\n // Check if user has already opted out\n const storedOptOut = localStorage.getItem('tracking-opted-out');\n if (storedOptOut === 'true') {\n setHasOptedOut(true);\n return;\n }\n // Show banner after a short delay to avoid immediate distraction\n const timer = setTimeout({\n \"TrackingOptOutBanner.useEffect.timer\": ()=>{\n setIsVisible(true);\n }\n }[\"TrackingOptOutBanner.useEffect.timer\"], 1000);\n return ({\n \"TrackingOptOutBanner.useEffect\": ()=>clearTimeout(timer)\n })[\"TrackingOptOutBanner.useEffect\"];\n }\n }[\"TrackingOptOutBanner.useEffect\"], []);\n const handleOptOut = ()=>{\n localStorage.setItem('tracking-opted-out', 'true');\n setHasOptedOut(true);\n setIsVisible(false);\n };\n const handleAllow = ()=>{\n localStorage.setItem('tracking-opted-out', 'false');\n setHasOptedOut(false);\n setIsVisible(false);\n };\n // Don't render if user has already opted out\n if (hasOptedOut || !isVisible) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed bottom-0 left-0 right-0 z-50 bg-surface-900 border-t border-surface-700 p-4 shadow-lg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-primary text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: \"Privacy Notice:\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 47,\n columnNumber: 13\n }, this),\n \" We use cookies and tracking technologies to improve your experience. You can opt out of tracking at any time.\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 46,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleAllow,\n className: \"px-4 py-2 text-sm bg-surface-700 hover:bg-surface-600 text-text-primary rounded-md transition-colors duration-200\",\n children: \"Allow Tracking\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 52,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleOptOut,\n className: \"px-4 py-2 text-sm bg-accent hover:bg-accent-hover text-white rounded-md transition-colors duration-200\",\n children: \"Opt Out\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 58,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 44,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/TrackingOptOutBanner.tsx\",\n lineNumber: 43,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9UcmFja2luZ09wdE91dEJhbm5lci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRTJDO0FBRTVCLFNBQVNFO0lBQ3RCLE1BQU0sQ0FBQ0MsV0FBV0MsYUFBYSxHQUFHSiwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUNLLGFBQWFDLGVBQWUsR0FBR04sK0NBQVFBLENBQUM7SUFFL0NDLGdEQUFTQTswQ0FBQztZQUNSLHNDQUFzQztZQUN0QyxNQUFNTSxlQUFlQyxhQUFhQyxPQUFPLENBQUM7WUFDMUMsSUFBSUYsaUJBQWlCLFFBQVE7Z0JBQzNCRCxlQUFlO2dCQUNmO1lBQ0Y7WUFFQSxpRUFBaUU7WUFDakUsTUFBTUksUUFBUUM7d0RBQVc7b0JBQ3ZCUCxhQUFhO2dCQUNmO3VEQUFHO1lBRUg7a0RBQU8sSUFBTVEsYUFBYUY7O1FBQzVCO3lDQUFHLEVBQUU7SUFFTCxNQUFNRyxlQUFlO1FBQ25CTCxhQUFhTSxPQUFPLENBQUMsc0JBQXNCO1FBQzNDUixlQUFlO1FBQ2ZGLGFBQWE7SUFDZjtJQUVBLE1BQU1XLGNBQWM7UUFDbEJQLGFBQWFNLE9BQU8sQ0FBQyxzQkFBc0I7UUFDM0NSLGVBQWU7UUFDZkYsYUFBYTtJQUNmO0lBRUEsNkNBQTZDO0lBQzdDLElBQUlDLGVBQWUsQ0FBQ0YsV0FBVztRQUM3QixPQUFPO0lBQ1Q7SUFFQSxxQkFDRSw4REFBQ2E7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTs7MENBQ1gsOERBQUNFO2dDQUFLRixXQUFVOzBDQUFnQjs7Ozs7OzRCQUFzQjs7Ozs7Ozs7Ozs7OzhCQUkxRCw4REFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDRzs0QkFDQ0MsU0FBU047NEJBQ1RFLFdBQVU7c0NBQ1g7Ozs7OztzQ0FHRCw4REFBQ0c7NEJBQ0NDLFNBQVNSOzRCQUNUSSxXQUFVO3NDQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9YIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvY29tcG9uZW50cy9UcmFja2luZ09wdE91dEJhbm5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVHJhY2tpbmdPcHRPdXRCYW5uZXIoKSB7XG4gIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2hhc09wdGVkT3V0LCBzZXRIYXNPcHRlZE91dF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENoZWNrIGlmIHVzZXIgaGFzIGFscmVhZHkgb3B0ZWQgb3V0XG4gICAgY29uc3Qgc3RvcmVkT3B0T3V0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RyYWNraW5nLW9wdGVkLW91dCcpXG4gICAgaWYgKHN0b3JlZE9wdE91dCA9PT0gJ3RydWUnKSB7XG4gICAgICBzZXRIYXNPcHRlZE91dCh0cnVlKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gU2hvdyBiYW5uZXIgYWZ0ZXIgYSBzaG9ydCBkZWxheSB0byBhdm9pZCBpbW1lZGlhdGUgZGlzdHJhY3Rpb25cbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNWaXNpYmxlKHRydWUpXG4gICAgfSwgMTAwMClcblxuICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZU9wdE91dCA9ICgpID0+IHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndHJhY2tpbmctb3B0ZWQtb3V0JywgJ3RydWUnKVxuICAgIHNldEhhc09wdGVkT3V0KHRydWUpXG4gICAgc2V0SXNWaXNpYmxlKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQWxsb3cgPSAoKSA9PiB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RyYWNraW5nLW9wdGVkLW91dCcsICdmYWxzZScpXG4gICAgc2V0SGFzT3B0ZWRPdXQoZmFsc2UpXG4gICAgc2V0SXNWaXNpYmxlKGZhbHNlKVxuICB9XG5cbiAgLy8gRG9uJ3QgcmVuZGVyIGlmIHVzZXIgaGFzIGFscmVhZHkgb3B0ZWQgb3V0XG4gIGlmIChoYXNPcHRlZE91dCB8fCAhaXNWaXNpYmxlKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCB6LTUwIGJnLXN1cmZhY2UtOTAwIGJvcmRlci10IGJvcmRlci1zdXJmYWNlLTcwMCBwLTQgc2hhZG93LWxnXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTd4bCBteC1hdXRvIGZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMVwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1wcmltYXJ5IHRleHQtc21cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGRcIj5Qcml2YWN5IE5vdGljZTo8L3NwYW4+IFdlIHVzZSBjb29raWVzIGFuZCB0cmFja2luZyB0ZWNobm9sb2dpZXMgdG8gaW1wcm92ZSB5b3VyIGV4cGVyaWVuY2UuIFxuICAgICAgICAgICAgWW91IGNhbiBvcHQgb3V0IG9mIHRyYWNraW5nIGF0IGFueSB0aW1lLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUFsbG93fVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtNCBweS0yIHRleHQtc20gYmctc3VyZmFjZS03MDAgaG92ZXI6Ymctc3VyZmFjZS02MDAgdGV4dC10ZXh0LXByaW1hcnkgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFsbG93IFRyYWNraW5nXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlT3B0T3V0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtNCBweS0yIHRleHQtc20gYmctYWNjZW50IGhvdmVyOmJnLWFjY2VudC1ob3ZlciB0ZXh0LXdoaXRlIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBPcHQgT3V0XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlRyYWNraW5nT3B0T3V0QmFubmVyIiwiaXNWaXNpYmxlIiwic2V0SXNWaXNpYmxlIiwiaGFzT3B0ZWRPdXQiLCJzZXRIYXNPcHRlZE91dCIsInN0b3JlZE9wdE91dCIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJ0aW1lciIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVPcHRPdXQiLCJzZXRJdGVtIiwiaGFuZGxlQWxsb3ciLCJkaXYiLCJjbGFzc05hbWUiLCJwIiwic3BhbiIsImJ1dHRvbiIsIm9uQ2xpY2siXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/TrackingOptOutBanner.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/motion/ItemReveal.tsx":
/*!**********************************************!*\
!*** ./src/components/motion/ItemReveal.tsx ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ItemReveal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var _variants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./variants */ \"(ssr)/./src/components/motion/variants.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n/**\n * ItemReveal\n * - Simple wrapper for a child element that uses a reveal variant.\n * - Intended to be used inside SectionReveal so it participates in stagger.\n */ function ItemReveal({ children, className, variants = _variants__WEBPACK_IMPORTED_MODULE_1__.fadeInUp }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n className: className,\n variants: variants,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/motion/ItemReveal.tsx\",\n lineNumber: 24,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9tb3Rpb24vSXRlbVJldmVhbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRXFEO0FBRWhCO0FBUXJDOzs7O0NBSUMsR0FDYyxTQUFTRSxXQUFXLEVBQ2pDQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsV0FBV0osK0NBQVEsRUFDYjtJQUNOLHFCQUNFLDhEQUFDRCxpREFBTUEsQ0FBQ00sR0FBRztRQUFDRixXQUFXQTtRQUFXQyxVQUFVQTtrQkFDekNGOzs7Ozs7QUFHUCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvbW90aW9uL0l0ZW1SZXZlYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyBtb3Rpb24sIHR5cGUgVmFyaWFudHMgfSBmcm9tICdmcmFtZXItbW90aW9uJ1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZhZGVJblVwIH0gZnJvbSAnLi92YXJpYW50cydcblxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgdmFyaWFudHM/OiBWYXJpYW50c1xufVxuXG4vKipcbiAqIEl0ZW1SZXZlYWxcbiAqIC0gU2ltcGxlIHdyYXBwZXIgZm9yIGEgY2hpbGQgZWxlbWVudCB0aGF0IHVzZXMgYSByZXZlYWwgdmFyaWFudC5cbiAqIC0gSW50ZW5kZWQgdG8gYmUgdXNlZCBpbnNpZGUgU2VjdGlvblJldmVhbCBzbyBpdCBwYXJ0aWNpcGF0ZXMgaW4gc3RhZ2dlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSXRlbVJldmVhbCh7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIHZhcmlhbnRzID0gZmFkZUluVXAsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxtb3Rpb24uZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB2YXJpYW50cz17dmFyaWFudHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvbW90aW9uLmRpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1vdGlvbiIsImZhZGVJblVwIiwiSXRlbVJldmVhbCIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwidmFyaWFudHMiLCJkaXYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/motion/ItemReveal.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/motion/SectionReveal.tsx":
/*!*************************************************!*\
!*** ./src/components/motion/SectionReveal.tsx ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SectionReveal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var _variants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./variants */ \"(ssr)/./src/components/motion/variants.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n/**\n * SectionReveal\n * - Reveals its children once when it enters the viewport.\n * - Uses variants with staggerChildren to orchestrate item animations.\n * - Keeps native scrolling; no scrolljacking.\n */ function SectionReveal({ children, className, delay = 0, stagger = 0.12, initial = 'hidden', variants }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.section, {\n className: className,\n variants: variants ?? (0,_variants__WEBPACK_IMPORTED_MODULE_1__.staggerContainer)(delay, stagger),\n initial: initial,\n whileInView: \"show\",\n viewport: {\n once: true,\n amount: 0.15,\n margin: '0px 0px -10% 0px'\n },\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/motion/SectionReveal.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9tb3Rpb24vU2VjdGlvblJldmVhbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRXFEO0FBRVI7QUFXN0M7Ozs7O0NBS0MsR0FDYyxTQUFTRSxjQUFjLEVBQ3BDQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsUUFBUSxDQUFDLEVBQ1RDLFVBQVUsSUFBSSxFQUNkQyxVQUFVLFFBQVEsRUFDbEJDLFFBQVEsRUFDRjtJQUNOLHFCQUNFLDhEQUFDUixpREFBTUEsQ0FBQ1MsT0FBTztRQUNiTCxXQUFXQTtRQUNYSSxVQUFVQSxZQUFZUCwyREFBZ0JBLENBQUNJLE9BQU9DO1FBQzlDQyxTQUFTQTtRQUNURyxhQUFZO1FBQ1pDLFVBQVU7WUFBRUMsTUFBTTtZQUFNQyxRQUFRO1lBQU1DLFFBQVE7UUFBbUI7a0JBRWhFWDs7Ozs7O0FBR1AiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL21vdGlvbi9TZWN0aW9uUmV2ZWFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgbW90aW9uLCB0eXBlIFZhcmlhbnRzIH0gZnJvbSAnZnJhbWVyLW1vdGlvbidcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBzdGFnZ2VyQ29udGFpbmVyIH0gZnJvbSAnLi92YXJpYW50cydcblxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGVsYXk/OiBudW1iZXJcbiAgc3RhZ2dlcj86IG51bWJlclxuICBpbml0aWFsPzogJ2hpZGRlbicgfCBmYWxzZVxuICB2YXJpYW50cz86IFZhcmlhbnRzXG59XG5cbi8qKlxuICogU2VjdGlvblJldmVhbFxuICogLSBSZXZlYWxzIGl0cyBjaGlsZHJlbiBvbmNlIHdoZW4gaXQgZW50ZXJzIHRoZSB2aWV3cG9ydC5cbiAqIC0gVXNlcyB2YXJpYW50cyB3aXRoIHN0YWdnZXJDaGlsZHJlbiB0byBvcmNoZXN0cmF0ZSBpdGVtIGFuaW1hdGlvbnMuXG4gKiAtIEtlZXBzIG5hdGl2ZSBzY3JvbGxpbmc7IG5vIHNjcm9sbGphY2tpbmcuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNlY3Rpb25SZXZlYWwoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBkZWxheSA9IDAsXG4gIHN0YWdnZXIgPSAwLjEyLFxuICBpbml0aWFsID0gJ2hpZGRlbicsXG4gIHZhcmlhbnRzLFxufTogUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8bW90aW9uLnNlY3Rpb25cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgdmFyaWFudHM9e3ZhcmlhbnRzID8/IHN0YWdnZXJDb250YWluZXIoZGVsYXksIHN0YWdnZXIpfVxuICAgICAgaW5pdGlhbD17aW5pdGlhbH1cbiAgICAgIHdoaWxlSW5WaWV3PVwic2hvd1wiXG4gICAgICB2aWV3cG9ydD17eyBvbmNlOiB0cnVlLCBhbW91bnQ6IDAuMTUsIG1hcmdpbjogJzBweCAwcHggLTEwJSAwcHgnIH19XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvbW90aW9uLnNlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJtb3Rpb24iLCJzdGFnZ2VyQ29udGFpbmVyIiwiU2VjdGlvblJldmVhbCIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGVsYXkiLCJzdGFnZ2VyIiwiaW5pdGlhbCIsInZhcmlhbnRzIiwic2VjdGlvbiIsIndoaWxlSW5WaWV3Iiwidmlld3BvcnQiLCJvbmNlIiwiYW1vdW50IiwibWFyZ2luIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/motion/SectionReveal.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/motion/useAutoplayVideos.ts":
/*!****************************************************!*\
!*** ./src/components/motion/useAutoplayVideos.ts ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAutoplayVideos: () => (/* binding */ useAutoplayVideos)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* __next_internal_client_entry_do_not_use__ useAutoplayVideos auto */ \n/**\n * Autoplay muted inline videos only while in view.\n * Guards play/pause to avoid AbortError spam from rapidly toggling state.\n */ function useAutoplayVideos(selector = 'video[data-autoplay]') {\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)({\n \"useAutoplayVideos.useEffect\": ()=>{\n if (typeof globalThis === 'undefined' || !globalThis.document) return;\n const doc = globalThis.document;\n const videos = Array.from(doc.querySelectorAll(selector));\n const playSafe = {\n \"useAutoplayVideos.useEffect.playSafe\": (v)=>{\n if (!v.paused) return;\n v.muted = true;\n v.playsInline = true;\n const p = v.play();\n if (p && typeof p.catch === 'function') {\n p.catch({\n \"useAutoplayVideos.useEffect.playSafe\": ()=>{\n // Ignore rejections caused by UA policies or rapid toggle\n }\n }[\"useAutoplayVideos.useEffect.playSafe\"]);\n }\n }\n }[\"useAutoplayVideos.useEffect.playSafe\"];\n const pauseSafe = {\n \"useAutoplayVideos.useEffect.pauseSafe\": (v)=>{\n if (v.paused) return;\n v.pause();\n }\n }[\"useAutoplayVideos.useEffect.pauseSafe\"];\n const onIntersect = {\n \"useAutoplayVideos.useEffect.onIntersect\": (entries)=>{\n for (const e of entries){\n const v = e.target;\n const shouldPlay = e.isIntersecting && e.intersectionRatio > 0.35;\n // Coalesce toggles in the same frame to avoid churn\n globalThis.requestAnimationFrame({\n \"useAutoplayVideos.useEffect.onIntersect\": ()=>{\n if (shouldPlay) {\n playSafe(v);\n } else {\n pauseSafe(v);\n }\n }\n }[\"useAutoplayVideos.useEffect.onIntersect\"]);\n }\n }\n }[\"useAutoplayVideos.useEffect.onIntersect\"];\n const io = new IntersectionObserver(onIntersect, {\n threshold: [\n 0,\n 0.35,\n 0.75\n ]\n });\n videos.forEach({\n \"useAutoplayVideos.useEffect\": (v)=>io.observe(v)\n }[\"useAutoplayVideos.useEffect\"]);\n return ({\n \"useAutoplayVideos.useEffect\": ()=>io.disconnect()\n })[\"useAutoplayVideos.useEffect\"];\n }\n }[\"useAutoplayVideos.useEffect\"], [\n selector\n ]);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9tb3Rpb24vdXNlQXV0b3BsYXlWaWRlb3MudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O3VFQUVpQztBQUVqQzs7O0NBR0MsR0FDTSxTQUFTQyxrQkFBa0JDLFdBQVcsc0JBQXNCO0lBQ2pFRixnREFBU0E7dUNBQUM7WUFDUixJQUFJLE9BQU9HLGVBQWUsZUFBZSxDQUFDQSxXQUFXQyxRQUFRLEVBQUU7WUFFL0QsTUFBTUMsTUFBTUYsV0FBV0MsUUFBUTtZQUMvQixNQUFNRSxTQUFTQyxNQUFNQyxJQUFJLENBQUNILElBQUlJLGdCQUFnQixDQUFtQlA7WUFFakUsTUFBTVE7d0RBQVcsQ0FBQ0M7b0JBQ2hCLElBQUksQ0FBQ0EsRUFBRUMsTUFBTSxFQUFFO29CQUNmRCxFQUFFRSxLQUFLLEdBQUc7b0JBQ1ZGLEVBQUVHLFdBQVcsR0FBRztvQkFDaEIsTUFBTUMsSUFBSUosRUFBRUssSUFBSTtvQkFDaEIsSUFBSUQsS0FBSyxPQUFPQSxFQUFFRSxLQUFLLEtBQUssWUFBWTt3QkFDdENGLEVBQUVFLEtBQUs7b0VBQUM7NEJBQ04sMERBQTBEOzRCQUM1RDs7b0JBQ0Y7Z0JBQ0Y7O1lBRUEsTUFBTUM7eURBQVksQ0FBQ1A7b0JBQ2pCLElBQUlBLEVBQUVDLE1BQU0sRUFBRTtvQkFDZEQsRUFBRVEsS0FBSztnQkFDVDs7WUFFQSxNQUFNQzsyREFBNEMsQ0FBQ0M7b0JBQ2pELEtBQUssTUFBTUMsS0FBS0QsUUFBUzt3QkFDdkIsTUFBTVYsSUFBSVcsRUFBRUMsTUFBTTt3QkFDbEIsTUFBTUMsYUFBYUYsRUFBRUcsY0FBYyxJQUFJSCxFQUFFSSxpQkFBaUIsR0FBRzt3QkFDN0Qsb0RBQW9EO3dCQUNwRHZCLFdBQVd3QixxQkFBcUI7dUVBQUM7Z0NBQy9CLElBQUlILFlBQVk7b0NBQ2RkLFNBQVNDO2dDQUNYLE9BQU87b0NBQ0xPLFVBQVVQO2dDQUNaOzRCQUNGOztvQkFDRjtnQkFDRjs7WUFFQSxNQUFNaUIsS0FBSyxJQUFJQyxxQkFBcUJULGFBQWE7Z0JBQy9DVSxXQUFXO29CQUFDO29CQUFHO29CQUFNO2lCQUFLO1lBQzVCO1lBQ0F4QixPQUFPeUIsT0FBTzsrQ0FBQyxDQUFDcEIsSUFBTWlCLEdBQUdJLE9BQU8sQ0FBQ3JCOztZQUNqQzsrQ0FBTyxJQUFNaUIsR0FBR0ssVUFBVTs7UUFDNUI7c0NBQUc7UUFBQy9CO0tBQVM7QUFDZiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvbW90aW9uL3VzZUF1dG9wbGF5VmlkZW9zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuLyoqXG4gKiBBdXRvcGxheSBtdXRlZCBpbmxpbmUgdmlkZW9zIG9ubHkgd2hpbGUgaW4gdmlldy5cbiAqIEd1YXJkcyBwbGF5L3BhdXNlIHRvIGF2b2lkIEFib3J0RXJyb3Igc3BhbSBmcm9tIHJhcGlkbHkgdG9nZ2xpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBdXRvcGxheVZpZGVvcyhzZWxlY3RvciA9ICd2aWRlb1tkYXRhLWF1dG9wbGF5XScpIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICd1bmRlZmluZWQnIHx8ICFnbG9iYWxUaGlzLmRvY3VtZW50KSByZXR1cm5cblxuICAgIGNvbnN0IGRvYyA9IGdsb2JhbFRoaXMuZG9jdW1lbnRcbiAgICBjb25zdCB2aWRlb3MgPSBBcnJheS5mcm9tKGRvYy5xdWVyeVNlbGVjdG9yQWxsPEhUTUxWaWRlb0VsZW1lbnQ+KHNlbGVjdG9yKSlcblxuICAgIGNvbnN0IHBsYXlTYWZlID0gKHY6IEhUTUxWaWRlb0VsZW1lbnQpID0+IHtcbiAgICAgIGlmICghdi5wYXVzZWQpIHJldHVyblxuICAgICAgdi5tdXRlZCA9IHRydWVcbiAgICAgIHYucGxheXNJbmxpbmUgPSB0cnVlXG4gICAgICBjb25zdCBwID0gdi5wbGF5KClcbiAgICAgIGlmIChwICYmIHR5cGVvZiBwLmNhdGNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIC8vIElnbm9yZSByZWplY3Rpb25zIGNhdXNlZCBieSBVQSBwb2xpY2llcyBvciByYXBpZCB0b2dnbGVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXVzZVNhZmUgPSAodjogSFRNTFZpZGVvRWxlbWVudCkgPT4ge1xuICAgICAgaWYgKHYucGF1c2VkKSByZXR1cm5cbiAgICAgIHYucGF1c2UoKVxuICAgIH1cblxuICAgIGNvbnN0IG9uSW50ZXJzZWN0OiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrID0gKGVudHJpZXMpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNvbnN0IHYgPSBlLnRhcmdldCBhcyBIVE1MVmlkZW9FbGVtZW50XG4gICAgICAgIGNvbnN0IHNob3VsZFBsYXkgPSBlLmlzSW50ZXJzZWN0aW5nICYmIGUuaW50ZXJzZWN0aW9uUmF0aW8gPiAwLjM1XG4gICAgICAgIC8vIENvYWxlc2NlIHRvZ2dsZXMgaW4gdGhlIHNhbWUgZnJhbWUgdG8gYXZvaWQgY2h1cm5cbiAgICAgICAgZ2xvYmFsVGhpcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGlmIChzaG91bGRQbGF5KSB7XG4gICAgICAgICAgICBwbGF5U2FmZSh2KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXVzZVNhZmUodilcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIob25JbnRlcnNlY3QsIHtcbiAgICAgIHRocmVzaG9sZDogWzAsIDAuMzUsIDAuNzVdLFxuICAgIH0pXG4gICAgdmlkZW9zLmZvckVhY2goKHYpID0+IGlvLm9ic2VydmUodikpXG4gICAgcmV0dXJuICgpID0+IGlvLmRpc2Nvbm5lY3QoKVxuICB9LCBbc2VsZWN0b3JdKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUF1dG9wbGF5VmlkZW9zIiwic2VsZWN0b3IiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJkb2MiLCJ2aWRlb3MiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwicGxheVNhZmUiLCJ2IiwicGF1c2VkIiwibXV0ZWQiLCJwbGF5c0lubGluZSIsInAiLCJwbGF5IiwiY2F0Y2giLCJwYXVzZVNhZmUiLCJwYXVzZSIsIm9uSW50ZXJzZWN0IiwiZW50cmllcyIsImUiLCJ0YXJnZXQiLCJzaG91bGRQbGF5IiwiaXNJbnRlcnNlY3RpbmciLCJpbnRlcnNlY3Rpb25SYXRpbyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImlvIiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJ0aHJlc2hvbGQiLCJmb3JFYWNoIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/motion/useAutoplayVideos.ts\n");
/***/ }),
/***/ "(ssr)/./src/components/motion/variants.ts":
/*!*******************************************!*\
!*** ./src/components/motion/variants.ts ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ easeOut: () => (/* binding */ easeOut),\n/* harmony export */ fadeIn: () => (/* binding */ fadeIn),\n/* harmony export */ fadeInUp: () => (/* binding */ fadeInUp),\n/* harmony export */ headingMorph: () => (/* binding */ headingMorph),\n/* harmony export */ staggerContainer: () => (/* binding */ staggerContainer)\n/* harmony export */ });\nconst easeOut = [\n 0.2,\n 0.8,\n 0.2,\n 1\n];\nconst fadeInUp = {\n hidden: {\n opacity: 0,\n y: 24,\n filter: 'blur(2px)'\n },\n show: {\n opacity: 1,\n y: 0,\n filter: 'blur(0px)',\n transition: {\n duration: 0.6,\n ease: easeOut\n }\n }\n};\nconst fadeIn = {\n hidden: {\n opacity: 0\n },\n show: {\n opacity: 1,\n transition: {\n duration: 0.6,\n ease: easeOut\n }\n }\n};\nconst headingMorph = {\n hidden: {\n opacity: 0,\n letterSpacing: '0.02em'\n },\n show: {\n opacity: 1,\n letterSpacing: '0em',\n transition: {\n duration: 0.8,\n ease: easeOut\n }\n }\n};\nconst staggerContainer = (delay = 0, stagger = 0.12)=>({\n hidden: {},\n show: {\n transition: {\n delayChildren: delay,\n staggerChildren: stagger\n }\n }\n });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9tb3Rpb24vdmFyaWFudHMudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDTyxNQUFNQSxVQUFrQjtJQUFDO0lBQUs7SUFBSztJQUFLO0NBQUU7QUFFMUMsTUFBTUMsV0FBVztJQUN0QkMsUUFBUTtRQUFFQyxTQUFTO1FBQUdDLEdBQUc7UUFBSUMsUUFBUTtJQUFZO0lBQ2pEQyxNQUFNO1FBQ0pILFNBQVM7UUFDVEMsR0FBRztRQUNIQyxRQUFRO1FBQ1JFLFlBQVk7WUFBRUMsVUFBVTtZQUFLQyxNQUFNVDtRQUFRO0lBQzdDO0FBQ0YsRUFBQztBQUVNLE1BQU1VLFNBQVM7SUFDcEJSLFFBQVE7UUFBRUMsU0FBUztJQUFFO0lBQ3JCRyxNQUFNO1FBQUVILFNBQVM7UUFBR0ksWUFBWTtZQUFFQyxVQUFVO1lBQUtDLE1BQU1UO1FBQVE7SUFBRTtBQUNuRSxFQUFDO0FBRU0sTUFBTVcsZUFBZTtJQUMxQlQsUUFBUTtRQUFFQyxTQUFTO1FBQUdTLGVBQWU7SUFBUztJQUM5Q04sTUFBTTtRQUNKSCxTQUFTO1FBQ1RTLGVBQWU7UUFDZkwsWUFBWTtZQUFFQyxVQUFVO1lBQUtDLE1BQU1UO1FBQVE7SUFDN0M7QUFDRixFQUFDO0FBRU0sTUFBTWEsbUJBQW1CLENBQUNDLFFBQVEsQ0FBQyxFQUFFQyxVQUFVLElBQUksR0FBTTtRQUM5RGIsUUFBUSxDQUFDO1FBQ1RJLE1BQU07WUFBRUMsWUFBWTtnQkFBRVMsZUFBZUY7Z0JBQU9HLGlCQUFpQkY7WUFBUTtRQUFFO0lBQ3pFLEdBQUUiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL21vdGlvbi92YXJpYW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFYXNpbmcgPSBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuZXhwb3J0IGNvbnN0IGVhc2VPdXQ6IEVhc2luZyA9IFswLjIsIDAuOCwgMC4yLCAxXVxuXG5leHBvcnQgY29uc3QgZmFkZUluVXAgPSB7XG4gIGhpZGRlbjogeyBvcGFjaXR5OiAwLCB5OiAyNCwgZmlsdGVyOiAnYmx1cigycHgpJyB9LFxuICBzaG93OiB7XG4gICAgb3BhY2l0eTogMSxcbiAgICB5OiAwLFxuICAgIGZpbHRlcjogJ2JsdXIoMHB4KScsXG4gICAgdHJhbnNpdGlvbjogeyBkdXJhdGlvbjogMC42LCBlYXNlOiBlYXNlT3V0IH0sXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBmYWRlSW4gPSB7XG4gIGhpZGRlbjogeyBvcGFjaXR5OiAwIH0sXG4gIHNob3c6IHsgb3BhY2l0eTogMSwgdHJhbnNpdGlvbjogeyBkdXJhdGlvbjogMC42LCBlYXNlOiBlYXNlT3V0IH0gfSxcbn1cblxuZXhwb3J0IGNvbnN0IGhlYWRpbmdNb3JwaCA9IHtcbiAgaGlkZGVuOiB7IG9wYWNpdHk6IDAsIGxldHRlclNwYWNpbmc6ICcwLjAyZW0nIH0sXG4gIHNob3c6IHtcbiAgICBvcGFjaXR5OiAxLFxuICAgIGxldHRlclNwYWNpbmc6ICcwZW0nLFxuICAgIHRyYW5zaXRpb246IHsgZHVyYXRpb246IDAuOCwgZWFzZTogZWFzZU91dCB9LFxuICB9LFxufVxuXG5leHBvcnQgY29uc3Qgc3RhZ2dlckNvbnRhaW5lciA9IChkZWxheSA9IDAsIHN0YWdnZXIgPSAwLjEyKSA9PiAoe1xuICBoaWRkZW46IHt9LFxuICBzaG93OiB7IHRyYW5zaXRpb246IHsgZGVsYXlDaGlsZHJlbjogZGVsYXksIHN0YWdnZXJDaGlsZHJlbjogc3RhZ2dlciB9IH0sXG59KVxuIl0sIm5hbWVzIjpbImVhc2VPdXQiLCJmYWRlSW5VcCIsImhpZGRlbiIsIm9wYWNpdHkiLCJ5IiwiZmlsdGVyIiwic2hvdyIsInRyYW5zaXRpb24iLCJkdXJhdGlvbiIsImVhc2UiLCJmYWRlSW4iLCJoZWFkaW5nTW9ycGgiLCJsZXR0ZXJTcGFjaW5nIiwic3RhZ2dlckNvbnRhaW5lciIsImRlbGF5Iiwic3RhZ2dlciIsImRlbGF5Q2hpbGRyZW4iLCJzdGFnZ2VyQ2hpbGRyZW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/motion/variants.ts\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/compare.tsx":
/*!***************************************!*\
!*** ./src/components/ui/compare.tsx ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Compare: () => (/* binding */ Compare)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_sparkles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/sparkles */ \"(ssr)/./src/components/ui/sparkles.tsx\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var _barrel_optimize_names_IconDotsVertical_tabler_icons_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=IconDotsVertical!=!@tabler/icons-react */ \"(ssr)/./node_modules/@tabler/icons-react/dist/esm/icons/IconDotsVertical.mjs\");\n/* __next_internal_client_entry_do_not_use__ Compare auto */ \n\n\n\n\n\nconst Compare = ({ firstImage = '', secondImage = '', className, firstImageClassName, secondImageClassname, initialSliderPercentage = 50, slideMode = 'hover', showHandlebar = true, autoplay = false, autoplayDuration = 5000, aspectRatio = '16:9' })=>{\n const [sliderXPercent, setSliderXPercent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialSliderPercentage);\n const [isDragging, setIsDragging] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const sliderRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [isMouseOver, setIsMouseOver] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const autoplayRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const startAutoplay = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[startAutoplay]\": ()=>{\n if (!autoplay) return;\n const startTime = Date.now();\n const animate = {\n \"Compare.useCallback[startAutoplay].animate\": ()=>{\n const elapsedTime = Date.now() - startTime;\n const progress = elapsedTime % (autoplayDuration * 2) / autoplayDuration;\n const percentage = progress <= 1 ? progress * 100 : (2 - progress) * 100;\n setSliderXPercent(percentage);\n autoplayRef.current = setTimeout(animate, 16); // ~60fps\n }\n }[\"Compare.useCallback[startAutoplay].animate\"];\n animate();\n }\n }[\"Compare.useCallback[startAutoplay]\"], [\n autoplay,\n autoplayDuration\n ]);\n const stopAutoplay = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[stopAutoplay]\": ()=>{\n if (autoplayRef.current) {\n clearTimeout(autoplayRef.current);\n autoplayRef.current = null;\n }\n }\n }[\"Compare.useCallback[stopAutoplay]\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Compare.useEffect\": ()=>{\n startAutoplay();\n return ({\n \"Compare.useEffect\": ()=>stopAutoplay()\n })[\"Compare.useEffect\"];\n }\n }[\"Compare.useEffect\"], [\n startAutoplay,\n stopAutoplay\n ]);\n function mouseEnterHandler() {\n setIsMouseOver(true);\n stopAutoplay();\n }\n function mouseLeaveHandler() {\n setIsMouseOver(false);\n if (slideMode === \"hover\") {\n setSliderXPercent(initialSliderPercentage);\n }\n if (slideMode === \"drag\") {\n setIsDragging(false);\n }\n startAutoplay();\n }\n const handleStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleStart]\": (clientX)=>{\n if (slideMode === \"drag\") {\n setIsDragging(true);\n }\n }\n }[\"Compare.useCallback[handleStart]\"], [\n slideMode\n ]);\n const handleEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleEnd]\": ()=>{\n if (slideMode === \"drag\") {\n setIsDragging(false);\n }\n }\n }[\"Compare.useCallback[handleEnd]\"], [\n slideMode\n ]);\n const handleMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleMove]\": (clientX)=>{\n if (!sliderRef.current) return;\n if (slideMode === \"hover\" || slideMode === \"drag\" && isDragging) {\n const rect = sliderRef.current.getBoundingClientRect();\n const x = clientX - rect.left;\n const percent = x / rect.width * 100;\n requestAnimationFrame({\n \"Compare.useCallback[handleMove]\": ()=>{\n setSliderXPercent(Math.max(0, Math.min(100, percent)));\n }\n }[\"Compare.useCallback[handleMove]\"]);\n }\n }\n }[\"Compare.useCallback[handleMove]\"], [\n slideMode,\n isDragging\n ]);\n const handleMouseDown = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleMouseDown]\": (e)=>handleStart(e.clientX)\n }[\"Compare.useCallback[handleMouseDown]\"], [\n handleStart\n ]);\n const handleMouseUp = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleMouseUp]\": ()=>handleEnd()\n }[\"Compare.useCallback[handleMouseUp]\"], [\n handleEnd\n ]);\n const handleMouseMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleMouseMove]\": (e)=>handleMove(e.clientX)\n }[\"Compare.useCallback[handleMouseMove]\"], [\n handleMove\n ]);\n const handleTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleTouchStart]\": (e)=>{\n if (!autoplay) {\n handleStart(e.touches[0].clientX);\n }\n }\n }[\"Compare.useCallback[handleTouchStart]\"], [\n handleStart,\n autoplay\n ]);\n const handleTouchEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleTouchEnd]\": ()=>{\n if (!autoplay) {\n handleEnd();\n }\n }\n }[\"Compare.useCallback[handleTouchEnd]\"], [\n handleEnd,\n autoplay\n ]);\n const handleTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"Compare.useCallback[handleTouchMove]\": (e)=>{\n if (!autoplay) {\n handleMove(e.touches[0].clientX);\n }\n }\n }[\"Compare.useCallback[handleTouchMove]\"], [\n handleMove,\n autoplay\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: sliderRef,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(\"w-full\", className),\n style: {\n position: \"relative\",\n cursor: slideMode === \"drag\" ? \"grab\" : \"col-resize\"\n },\n onMouseMove: handleMouseMove,\n onMouseLeave: mouseLeaveHandler,\n onMouseEnter: mouseEnterHandler,\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onTouchStart: handleTouchStart,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.AnimatePresence, {\n initial: false,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_5__.motion.div, {\n className: \"h-full w-px absolute top-0 m-auto z-30 bg-gradient-to-b from-transparent from-[5%] to-[95%] via-indigo-500 to-transparent\",\n style: {\n left: `${sliderXPercent}%`,\n top: \"0\",\n zIndex: 40\n },\n transition: {\n duration: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-36 h-full [mask-image:radial-gradient(100px_at_left,white,transparent)] absolute top-1/2 -translate-y-1/2 left-0 bg-gradient-to-r from-indigo-400 via-transparent to-transparent z-20 opacity-50\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 179,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-1/2 [mask-image:radial-gradient(50px_at_left,white,transparent)] absolute top-1/2 -translate-y-1/2 left-0 bg-gradient-to-r from-cyan-100 via-transparent to-transparent z-10 opacity-100\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 180,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-3/4 top-1/2 -translate-y-1/2 absolute -right-10 [mask-image:radial-gradient(100px_at_left,white,transparent)]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MemoizedSparklesCore, {\n background: \"transparent\",\n minSize: 0.4,\n maxSize: 1,\n particleDensity: 0,\n className: \"w-full h-full\",\n particleColor: \"#FFFFFF\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 182,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 181,\n columnNumber: 11\n }, undefined),\n showHandlebar && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-5 w-5 rounded-md top-1/2 -translate-y-1/2 bg-white z-30 -right-2.5 absolute flex items-center justify-center shadow-[0px_-1px_0px_0px_#FFFFFF40]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_IconDotsVertical_tabler_icons_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4 text-black\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 193,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 192,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 170,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 169,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden w-full h-full relative z-20 pointer-events-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.AnimatePresence, {\n initial: false,\n children: firstImage ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_5__.motion.div, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(\"absolute inset-0 z-20 rounded-2xl shrink-0 w-full h-full select-none overflow-hidden\", firstImageClassName),\n style: {\n clipPath: `inset(0 ${100 - sliderXPercent}% 0 0)`\n },\n transition: {\n duration: 0\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: \"first image\",\n src: firstImage,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(\"absolute inset-0 z-20 rounded-2xl shrink-0 w-full h-full select-none\", firstImageClassName),\n draggable: false\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 211,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 201,\n columnNumber: 13\n }, undefined) : null\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 199,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 198,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.AnimatePresence, {\n initial: false,\n children: secondImage ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_5__.motion.img, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(\"absolute top-0 left-0 z-[19] rounded-2xl w-full h-full select-none\", secondImageClassname),\n alt: \"second image\",\n src: secondImage,\n draggable: false\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 227,\n columnNumber: 11\n }, undefined) : null\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 225,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/compare.tsx\",\n lineNumber: 153,\n columnNumber: 5\n }, undefined);\n};\nconst MemoizedSparklesCore = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().memo(_components_ui_sparkles__WEBPACK_IMPORTED_MODULE_2__.SparklesCore);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jb21wYXJlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUN3RTtBQUNoQjtBQUNEO0FBQ3RCO0FBQ3NCO0FBZWhELE1BQU1VLFVBQVUsQ0FBQyxFQUN0QkMsYUFBYSxFQUFFLEVBQ2ZDLGNBQWMsRUFBRSxFQUNoQkMsU0FBUyxFQUNUQyxtQkFBbUIsRUFDbkJDLG9CQUFvQixFQUNwQkMsMEJBQTBCLEVBQUUsRUFDNUJDLFlBQVksT0FBTyxFQUNuQkMsZ0JBQWdCLElBQUksRUFDcEJDLFdBQVcsS0FBSyxFQUNoQkMsbUJBQW1CLElBQUksRUFDdkJDLGNBQWMsTUFBTSxFQUNQO0lBQ2IsTUFBTSxDQUFDQyxnQkFBZ0JDLGtCQUFrQixHQUFHdEIsK0NBQVFBLENBQUNlO0lBQ3JELE1BQU0sQ0FBQ1EsWUFBWUMsY0FBYyxHQUFHeEIsK0NBQVFBLENBQUM7SUFFN0MsTUFBTXlCLFlBQVl2Qiw2Q0FBTUEsQ0FBaUI7SUFFekMsTUFBTSxDQUFDd0IsYUFBYUMsZUFBZSxHQUFHM0IsK0NBQVFBLENBQUM7SUFFL0MsTUFBTTRCLGNBQWMxQiw2Q0FBTUEsQ0FBd0I7SUFFbEQsTUFBTTJCLGdCQUFnQjFCLGtEQUFXQTs4Q0FBQztZQUNoQyxJQUFJLENBQUNlLFVBQVU7WUFFZixNQUFNWSxZQUFZQyxLQUFLQyxHQUFHO1lBQzFCLE1BQU1DOzhEQUFVO29CQUNkLE1BQU1DLGNBQWNILEtBQUtDLEdBQUcsS0FBS0Y7b0JBQ2pDLE1BQU1LLFdBQ0osY0FBZ0JoQixDQUFBQSxtQkFBbUIsS0FBTUE7b0JBQzNDLE1BQU1pQixhQUFhRCxZQUFZLElBQUlBLFdBQVcsTUFBTSxDQUFDLElBQUlBLFFBQU8sSUFBSztvQkFFckViLGtCQUFrQmM7b0JBQ2xCUixZQUFZUyxPQUFPLEdBQUdDLFdBQVdMLFNBQVMsS0FBSyxTQUFTO2dCQUMxRDs7WUFFQUE7UUFDRjs2Q0FBRztRQUFDZjtRQUFVQztLQUFpQjtJQUUvQixNQUFNb0IsZUFBZXBDLGtEQUFXQTs2Q0FBQztZQUMvQixJQUFJeUIsWUFBWVMsT0FBTyxFQUFFO2dCQUN2QkcsYUFBYVosWUFBWVMsT0FBTztnQkFDaENULFlBQVlTLE9BQU8sR0FBRztZQUN4QjtRQUNGOzRDQUFHLEVBQUU7SUFFTHBDLGdEQUFTQTs2QkFBQztZQUNSNEI7WUFDQTtxQ0FBTyxJQUFNVTs7UUFDZjs0QkFBRztRQUFDVjtRQUFlVTtLQUFhO0lBRWhDLFNBQVNFO1FBQ1BkLGVBQWU7UUFDZlk7SUFDRjtJQUVBLFNBQVNHO1FBQ1BmLGVBQWU7UUFDZixJQUFJWCxjQUFjLFNBQVM7WUFDekJNLGtCQUFrQlA7UUFDcEI7UUFDQSxJQUFJQyxjQUFjLFFBQVE7WUFDeEJRLGNBQWM7UUFDaEI7UUFDQUs7SUFDRjtJQUVBLE1BQU1jLGNBQWN4QyxrREFBV0E7NENBQzdCLENBQUN5QztZQUNDLElBQUk1QixjQUFjLFFBQVE7Z0JBQ3hCUSxjQUFjO1lBQ2hCO1FBQ0Y7MkNBQ0E7UUFBQ1I7S0FBVTtJQUdiLE1BQU02QixZQUFZMUMsa0RBQVdBOzBDQUFDO1lBQzVCLElBQUlhLGNBQWMsUUFBUTtnQkFDeEJRLGNBQWM7WUFDaEI7UUFDRjt5Q0FBRztRQUFDUjtLQUFVO0lBRWQsTUFBTThCLGFBQWEzQyxrREFBV0E7MkNBQzVCLENBQUN5QztZQUNDLElBQUksQ0FBQ25CLFVBQVVZLE9BQU8sRUFBRTtZQUN4QixJQUFJckIsY0FBYyxXQUFZQSxjQUFjLFVBQVVPLFlBQWE7Z0JBQ2pFLE1BQU13QixPQUFPdEIsVUFBVVksT0FBTyxDQUFDVyxxQkFBcUI7Z0JBQ3BELE1BQU1DLElBQUlMLFVBQVVHLEtBQUtHLElBQUk7Z0JBQzdCLE1BQU1DLFVBQVUsSUFBS0osS0FBS0ssS0FBSyxHQUFJO2dCQUNuQ0M7dURBQXNCO3dCQUNwQi9CLGtCQUFrQmdDLEtBQUtDLEdBQUcsQ0FBQyxHQUFHRCxLQUFLRSxHQUFHLENBQUMsS0FBS0w7b0JBQzlDOztZQUNGO1FBQ0Y7MENBQ0E7UUFBQ25DO1FBQVdPO0tBQVc7SUFHekIsTUFBTWtDLGtCQUFrQnRELGtEQUFXQTtnREFDakMsQ0FBQ3VELElBQXdCZixZQUFZZSxFQUFFZCxPQUFPOytDQUM5QztRQUFDRDtLQUFZO0lBRWYsTUFBTWdCLGdCQUFnQnhELGtEQUFXQTs4Q0FBQyxJQUFNMEM7NkNBQWE7UUFBQ0E7S0FBVTtJQUNoRSxNQUFNZSxrQkFBa0J6RCxrREFBV0E7Z0RBQ2pDLENBQUN1RCxJQUF3QlosV0FBV1ksRUFBRWQsT0FBTzsrQ0FDN0M7UUFBQ0U7S0FBVztJQUdkLE1BQU1lLG1CQUFtQjFELGtEQUFXQTtpREFDbEMsQ0FBQ3VEO1lBQ0MsSUFBSSxDQUFDeEMsVUFBVTtnQkFDYnlCLFlBQVllLEVBQUVJLE9BQU8sQ0FBQyxFQUFFLENBQUNsQixPQUFPO1lBQ2xDO1FBQ0Y7Z0RBQ0E7UUFBQ0Q7UUFBYXpCO0tBQVM7SUFHekIsTUFBTTZDLGlCQUFpQjVELGtEQUFXQTsrQ0FBQztZQUNqQyxJQUFJLENBQUNlLFVBQVU7Z0JBQ2IyQjtZQUNGO1FBQ0Y7OENBQUc7UUFBQ0E7UUFBVzNCO0tBQVM7SUFFeEIsTUFBTThDLGtCQUFrQjdELGtEQUFXQTtnREFDakMsQ0FBQ3VEO1lBQ0MsSUFBSSxDQUFDeEMsVUFBVTtnQkFDYjRCLFdBQVdZLEVBQUVJLE9BQU8sQ0FBQyxFQUFFLENBQUNsQixPQUFPO1lBQ2pDO1FBQ0Y7K0NBQ0E7UUFBQ0U7UUFBWTVCO0tBQVM7SUFHeEIscUJBQ0UsOERBQUMrQztRQUNDQyxLQUFLekM7UUFDTGIsV0FBV0wsOENBQUVBLENBQUMsVUFBVUs7UUFDeEJ1RCxPQUFPO1lBQ0xDLFVBQVU7WUFDVkMsUUFBUXJELGNBQWMsU0FBUyxTQUFTO1FBQzFDO1FBQ0FzRCxhQUFhVjtRQUNiVyxjQUFjN0I7UUFDZDhCLGNBQWMvQjtRQUNkZ0MsYUFBYWhCO1FBQ2JpQixXQUFXZjtRQUNYZ0IsY0FBY2Q7UUFDZGUsWUFBWWI7UUFDWmMsYUFBYWI7OzBCQUViLDhEQUFDM0QseURBQWVBO2dCQUFDeUUsU0FBUzswQkFDeEIsNEVBQUN4RSxnREFBTUEsQ0FBQzJELEdBQUc7b0JBQ1RyRCxXQUFVO29CQUNWdUQsT0FBTzt3QkFDTGpCLE1BQU0sR0FBRzdCLGVBQWUsQ0FBQyxDQUFDO3dCQUMxQjBELEtBQUs7d0JBQ0xDLFFBQVE7b0JBQ1Y7b0JBQ0FDLFlBQVk7d0JBQUVDLFVBQVU7b0JBQUU7O3NDQUUxQiw4REFBQ2pCOzRCQUFJckQsV0FBVTs7Ozs7O3NDQUNmLDhEQUFDcUQ7NEJBQUlyRCxXQUFVOzs7Ozs7c0NBQ2YsOERBQUNxRDs0QkFBSXJELFdBQVU7c0NBQ2IsNEVBQUN1RTtnQ0FDQ0MsWUFBVztnQ0FDWEMsU0FBUztnQ0FDVEMsU0FBUztnQ0FDVEMsaUJBQWlCO2dDQUNqQjNFLFdBQVU7Z0NBQ1Y0RSxlQUFjOzs7Ozs7Ozs7Ozt3QkFHakJ2RSwrQkFDQyw4REFBQ2dEOzRCQUFJckQsV0FBVTtzQ0FDYiw0RUFBQ0osa0dBQWdCQTtnQ0FBQ0ksV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFLcEMsOERBQUNxRDtnQkFBSXJELFdBQVU7MEJBQ2IsNEVBQUNQLHlEQUFlQTtvQkFBQ3lFLFNBQVM7OEJBQ3ZCcEUsMkJBQ0MsOERBQUNKLGdEQUFNQSxDQUFDMkQsR0FBRzt3QkFDVHJELFdBQVdMLDhDQUFFQSxDQUNYLHdGQUNBTTt3QkFFRnNELE9BQU87NEJBQ0xzQixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU1wRSxlQUFlLE1BQU0sQ0FBQzt3QkFDbkQ7d0JBQ0E0RCxZQUFZOzRCQUFFQyxVQUFVO3dCQUFFO2tDQUUxQiw0RUFBQ1E7NEJBQ0NDLEtBQUk7NEJBQ0pDLEtBQUtsRjs0QkFDTEUsV0FBV0wsOENBQUVBLENBQ1gseUVBQ0FNOzRCQUVGZ0YsV0FBVzs7Ozs7Ozs7OztvQ0FHYjs7Ozs7Ozs7Ozs7MEJBSVIsOERBQUN4Rix5REFBZUE7Z0JBQUN5RSxTQUFTOzBCQUN2Qm5FLDRCQUNDLDhEQUFDTCxnREFBTUEsQ0FBQ29GLEdBQUc7b0JBQ1Q5RSxXQUFXTCw4Q0FBRUEsQ0FDWCx1RUFDQU87b0JBRUY2RSxLQUFJO29CQUNKQyxLQUFLakY7b0JBQ0xrRixXQUFXOzs7OztnQ0FFWDs7Ozs7Ozs7Ozs7O0FBSVosRUFBRTtBQUVGLE1BQU1WLHFDQUF1QnBGLGlEQUFVLENBQUNLLGlFQUFZQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvdWkvY29tcGFyZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTcGFya2xlc0NvcmUgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvc3BhcmtsZXMnO1xuaW1wb3J0IHsgQW5pbWF0ZVByZXNlbmNlLCBtb3Rpb24gfSBmcm9tICdtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgY24gfSBmcm9tICdAL2xpYi91dGlscyc7XG5pbXBvcnQgeyBJY29uRG90c1ZlcnRpY2FsIH0gZnJvbSAnQHRhYmxlci9pY29ucy1yZWFjdCc7XG5cbmludGVyZmFjZSBDb21wYXJlUHJvcHMge1xuICBmaXJzdEltYWdlPzogc3RyaW5nO1xuICBzZWNvbmRJbWFnZT86IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBmaXJzdEltYWdlQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBzZWNvbmRJbWFnZUNsYXNzbmFtZT86IHN0cmluZztcbiAgaW5pdGlhbFNsaWRlclBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIHNsaWRlTW9kZT86ICdob3ZlcicgfCAnZHJhZyc7XG4gIHNob3dIYW5kbGViYXI/OiBib29sZWFuO1xuICBhdXRvcGxheT86IGJvb2xlYW47XG4gIGF1dG9wbGF5RHVyYXRpb24/OiBudW1iZXI7XG4gIGFzcGVjdFJhdGlvPzogc3RyaW5nOyAvLyBBZGQgYXNwZWN0IHJhdGlvIHByb3Bcbn1cbmV4cG9ydCBjb25zdCBDb21wYXJlID0gKHtcbiAgZmlyc3RJbWFnZSA9ICcnLFxuICBzZWNvbmRJbWFnZSA9ICcnLFxuICBjbGFzc05hbWUsXG4gIGZpcnN0SW1hZ2VDbGFzc05hbWUsXG4gIHNlY29uZEltYWdlQ2xhc3NuYW1lLFxuICBpbml0aWFsU2xpZGVyUGVyY2VudGFnZSA9IDUwLFxuICBzbGlkZU1vZGUgPSAnaG92ZXInLFxuICBzaG93SGFuZGxlYmFyID0gdHJ1ZSxcbiAgYXV0b3BsYXkgPSBmYWxzZSxcbiAgYXV0b3BsYXlEdXJhdGlvbiA9IDUwMDAsXG4gIGFzcGVjdFJhdGlvID0gJzE2OjknLCAvLyBEZWZhdWx0IHRvIDE2OjkgYnV0IGNhbiBiZSBjaGFuZ2VkXG59OiBDb21wYXJlUHJvcHMpID0+IHtcbiAgY29uc3QgW3NsaWRlclhQZXJjZW50LCBzZXRTbGlkZXJYUGVyY2VudF0gPSB1c2VTdGF0ZShpbml0aWFsU2xpZGVyUGVyY2VudGFnZSk7XG4gIGNvbnN0IFtpc0RyYWdnaW5nLCBzZXRJc0RyYWdnaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBzbGlkZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGF1dG9wbGF5UmVmID0gdXNlUmVmPE5vZGVKUy5UaW1lb3V0IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3Qgc3RhcnRBdXRvcGxheSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWF1dG9wbGF5KSByZXR1cm47XG5cbiAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBlbGFwc2VkVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICBjb25zdCBwcm9ncmVzcyA9XG4gICAgICAgIChlbGFwc2VkVGltZSAlIChhdXRvcGxheUR1cmF0aW9uICogMikpIC8gYXV0b3BsYXlEdXJhdGlvbjtcbiAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBwcm9ncmVzcyA8PSAxID8gcHJvZ3Jlc3MgKiAxMDAgOiAoMiAtIHByb2dyZXNzKSAqIDEwMDtcblxuICAgICAgc2V0U2xpZGVyWFBlcmNlbnQocGVyY2VudGFnZSk7XG4gICAgICBhdXRvcGxheVJlZi5jdXJyZW50ID0gc2V0VGltZW91dChhbmltYXRlLCAxNik7IC8vIH42MGZwc1xuICAgIH07XG5cbiAgICBhbmltYXRlKCk7XG4gIH0sIFthdXRvcGxheSwgYXV0b3BsYXlEdXJhdGlvbl0pO1xuXG4gIGNvbnN0IHN0b3BBdXRvcGxheSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoYXV0b3BsYXlSZWYuY3VycmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KGF1dG9wbGF5UmVmLmN1cnJlbnQpO1xuICAgICAgYXV0b3BsYXlSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzdGFydEF1dG9wbGF5KCk7XG4gICAgcmV0dXJuICgpID0+IHN0b3BBdXRvcGxheSgpO1xuICB9LCBbc3RhcnRBdXRvcGxheSwgc3RvcEF1dG9wbGF5XSk7XG5cbiAgZnVuY3Rpb24gbW91c2VFbnRlckhhbmRsZXIoKSB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gICAgc3RvcEF1dG9wbGF5KCk7XG4gIH1cblxuICBmdW5jdGlvbiBtb3VzZUxlYXZlSGFuZGxlcigpIHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gICAgaWYgKHNsaWRlTW9kZSA9PT0gXCJob3ZlclwiKSB7XG4gICAgICBzZXRTbGlkZXJYUGVyY2VudChpbml0aWFsU2xpZGVyUGVyY2VudGFnZSk7XG4gICAgfVxuICAgIGlmIChzbGlkZU1vZGUgPT09IFwiZHJhZ1wiKSB7XG4gICAgICBzZXRJc0RyYWdnaW5nKGZhbHNlKTtcbiAgICB9XG4gICAgc3RhcnRBdXRvcGxheSgpO1xuICB9XG5cbiAgY29uc3QgaGFuZGxlU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAoY2xpZW50WDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoc2xpZGVNb2RlID09PSBcImRyYWdcIikge1xuICAgICAgICBzZXRJc0RyYWdnaW5nKHRydWUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NsaWRlTW9kZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVFbmQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHNsaWRlTW9kZSA9PT0gXCJkcmFnXCIpIHtcbiAgICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW3NsaWRlTW9kZV0pO1xuXG4gIGNvbnN0IGhhbmRsZU1vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAoY2xpZW50WDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXNsaWRlclJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgICBpZiAoc2xpZGVNb2RlID09PSBcImhvdmVyXCIgfHwgKHNsaWRlTW9kZSA9PT0gXCJkcmFnXCIgJiYgaXNEcmFnZ2luZykpIHtcbiAgICAgICAgY29uc3QgcmVjdCA9IHNsaWRlclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB4ID0gY2xpZW50WCAtIHJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9ICh4IC8gcmVjdC53aWR0aCkgKiAxMDA7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgc2V0U2xpZGVyWFBlcmNlbnQoTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBwZXJjZW50KSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzbGlkZU1vZGUsIGlzRHJhZ2dpbmddXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlTW91c2VEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IGhhbmRsZVN0YXJ0KGUuY2xpZW50WCksXG4gICAgW2hhbmRsZVN0YXJ0XVxuICApO1xuICBjb25zdCBoYW5kbGVNb3VzZVVwID0gdXNlQ2FsbGJhY2soKCkgPT4gaGFuZGxlRW5kKCksIFtoYW5kbGVFbmRdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IGhhbmRsZU1vdmUoZS5jbGllbnRYKSxcbiAgICBbaGFuZGxlTW92ZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LlRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGlmICghYXV0b3BsYXkpIHtcbiAgICAgICAgaGFuZGxlU3RhcnQoZS50b3VjaGVzWzBdLmNsaWVudFgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2hhbmRsZVN0YXJ0LCBhdXRvcGxheV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVUb3VjaEVuZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWF1dG9wbGF5KSB7XG4gICAgICBoYW5kbGVFbmQoKTtcbiAgICB9XG4gIH0sIFtoYW5kbGVFbmQsIGF1dG9wbGF5XSk7XG5cbiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LlRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGlmICghYXV0b3BsYXkpIHtcbiAgICAgICAgaGFuZGxlTW92ZShlLnRvdWNoZXNbMF0uY2xpZW50WCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlTW92ZSwgYXV0b3BsYXldXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3NsaWRlclJlZn1cbiAgICAgIGNsYXNzTmFtZT17Y24oXCJ3LWZ1bGxcIiwgY2xhc3NOYW1lKX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIGN1cnNvcjogc2xpZGVNb2RlID09PSBcImRyYWdcIiA/IFwiZ3JhYlwiIDogXCJjb2wtcmVzaXplXCIsXG4gICAgICB9fVxuICAgICAgb25Nb3VzZU1vdmU9e2hhbmRsZU1vdXNlTW92ZX1cbiAgICAgIG9uTW91c2VMZWF2ZT17bW91c2VMZWF2ZUhhbmRsZXJ9XG4gICAgICBvbk1vdXNlRW50ZXI9e21vdXNlRW50ZXJIYW5kbGVyfVxuICAgICAgb25Nb3VzZURvd249e2hhbmRsZU1vdXNlRG93bn1cbiAgICAgIG9uTW91c2VVcD17aGFuZGxlTW91c2VVcH1cbiAgICAgIG9uVG91Y2hTdGFydD17aGFuZGxlVG91Y2hTdGFydH1cbiAgICAgIG9uVG91Y2hFbmQ9e2hhbmRsZVRvdWNoRW5kfVxuICAgICAgb25Ub3VjaE1vdmU9e2hhbmRsZVRvdWNoTW92ZX1cbiAgICA+XG4gICAgICA8QW5pbWF0ZVByZXNlbmNlIGluaXRpYWw9e2ZhbHNlfT5cbiAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJoLWZ1bGwgdy1weCBhYnNvbHV0ZSB0b3AtMCBtLWF1dG8gei0zMCBiZy1ncmFkaWVudC10by1iIGZyb20tdHJhbnNwYXJlbnQgZnJvbS1bNSVdIHRvLVs5NSVdIHZpYS1pbmRpZ28tNTAwIHRvLXRyYW5zcGFyZW50XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbGVmdDogYCR7c2xpZGVyWFBlcmNlbnR9JWAsXG4gICAgICAgICAgICB0b3A6IFwiMFwiLFxuICAgICAgICAgICAgekluZGV4OiA0MCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zNiBoLWZ1bGwgW21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KDEwMHB4X2F0X2xlZnQsd2hpdGUsdHJhbnNwYXJlbnQpXSBhYnNvbHV0ZSB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgbGVmdC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1pbmRpZ28tNDAwIHZpYS10cmFuc3BhcmVudCB0by10cmFuc3BhcmVudCB6LTIwIG9wYWNpdHktNTBcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMCBoLTEvMiBbbWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoNTBweF9hdF9sZWZ0LHdoaXRlLHRyYW5zcGFyZW50KV0gYWJzb2x1dGUgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIGxlZnQtMCBiZy1ncmFkaWVudC10by1yIGZyb20tY3lhbi0xMDAgdmlhLXRyYW5zcGFyZW50IHRvLXRyYW5zcGFyZW50IHotMTAgb3BhY2l0eS0xMDBcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMCBoLTMvNCB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgYWJzb2x1dGUgLXJpZ2h0LTEwIFttYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudCgxMDBweF9hdF9sZWZ0LHdoaXRlLHRyYW5zcGFyZW50KV1cIj5cbiAgICAgICAgICAgIDxNZW1vaXplZFNwYXJrbGVzQ29yZVxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICBtaW5TaXplPXswLjR9XG4gICAgICAgICAgICAgIG1heFNpemU9ezF9XG4gICAgICAgICAgICAgIHBhcnRpY2xlRGVuc2l0eT17MH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbFwiXG4gICAgICAgICAgICAgIHBhcnRpY2xlQ29sb3I9XCIjRkZGRkZGXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge3Nob3dIYW5kbGViYXIgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLTUgdy01IHJvdW5kZWQtbWQgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIGJnLXdoaXRlIHotMzAgLXJpZ2h0LTIuNSBhYnNvbHV0ZSAgIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNoYWRvdy1bMHB4Xy0xcHhfMHB4XzBweF8jRkZGRkZGNDBdXCI+XG4gICAgICAgICAgICAgIDxJY29uRG90c1ZlcnRpY2FsIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1ibGFja1wiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L21vdGlvbi5kaXY+XG4gICAgICA8L0FuaW1hdGVQcmVzZW5jZT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwib3ZlcmZsb3ctaGlkZGVuIHctZnVsbCBoLWZ1bGwgcmVsYXRpdmUgei0yMCBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgICAgIDxBbmltYXRlUHJlc2VuY2UgaW5pdGlhbD17ZmFsc2V9PlxuICAgICAgICAgIHtmaXJzdEltYWdlID8gKFxuICAgICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgICBcImFic29sdXRlIGluc2V0LTAgei0yMCByb3VuZGVkLTJ4bCBzaHJpbmstMCB3LWZ1bGwgaC1mdWxsIHNlbGVjdC1ub25lIG92ZXJmbG93LWhpZGRlblwiLFxuICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2VDbGFzc05hbWVcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBjbGlwUGF0aDogYGluc2V0KDAgJHsxMDAgLSBzbGlkZXJYUGVyY2VudH0lIDAgMClgLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJmaXJzdCBpbWFnZVwiXG4gICAgICAgICAgICAgICAgc3JjPXtmaXJzdEltYWdlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICBcImFic29sdXRlIGluc2V0LTAgIHotMjAgcm91bmRlZC0yeGwgc2hyaW5rLTAgdy1mdWxsIGgtZnVsbCBzZWxlY3Qtbm9uZVwiLFxuICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZUNsYXNzTmFtZVxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9BbmltYXRlUHJlc2VuY2U+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPEFuaW1hdGVQcmVzZW5jZSBpbml0aWFsPXtmYWxzZX0+XG4gICAgICAgIHtzZWNvbmRJbWFnZSA/IChcbiAgICAgICAgICA8bW90aW9uLmltZ1xuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgXCJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgei1bMTldICByb3VuZGVkLTJ4bCB3LWZ1bGwgaC1mdWxsIHNlbGVjdC1ub25lXCIsXG4gICAgICAgICAgICAgIHNlY29uZEltYWdlQ2xhc3NuYW1lXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgYWx0PVwic2Vjb25kIGltYWdlXCJcbiAgICAgICAgICAgIHNyYz17c2Vjb25kSW1hZ2V9XG4gICAgICAgICAgICBkcmFnZ2FibGU9e2ZhbHNlfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9BbmltYXRlUHJlc2VuY2U+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBNZW1vaXplZFNwYXJrbGVzQ29yZSA9IFJlYWN0Lm1lbW8oU3BhcmtsZXNDb3JlKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJTcGFya2xlc0NvcmUiLCJBbmltYXRlUHJlc2VuY2UiLCJtb3Rpb24iLCJjbiIsIkljb25Eb3RzVmVydGljYWwiLCJDb21wYXJlIiwiZmlyc3RJbWFnZSIsInNlY29uZEltYWdlIiwiY2xhc3NOYW1lIiwiZmlyc3RJbWFnZUNsYXNzTmFtZSIsInNlY29uZEltYWdlQ2xhc3NuYW1lIiwiaW5pdGlhbFNsaWRlclBlcmNlbnRhZ2UiLCJzbGlkZU1vZGUiLCJzaG93SGFuZGxlYmFyIiwiYXV0b3BsYXkiLCJhdXRvcGxheUR1cmF0aW9uIiwiYXNwZWN0UmF0aW8iLCJzbGlkZXJYUGVyY2VudCIsInNldFNsaWRlclhQZXJjZW50IiwiaXNEcmFnZ2luZyIsInNldElzRHJhZ2dpbmciLCJzbGlkZXJSZWYiLCJpc01vdXNlT3ZlciIsInNldElzTW91c2VPdmVyIiwiYXV0b3BsYXlSZWYiLCJzdGFydEF1dG9wbGF5Iiwic3RhcnRUaW1lIiwiRGF0ZSIsIm5vdyIsImFuaW1hdGUiLCJlbGFwc2VkVGltZSIsInByb2dyZXNzIiwicGVyY2VudGFnZSIsImN1cnJlbnQiLCJzZXRUaW1lb3V0Iiwic3RvcEF1dG9wbGF5IiwiY2xlYXJUaW1lb3V0IiwibW91c2VFbnRlckhhbmRsZXIiLCJtb3VzZUxlYXZlSGFuZGxlciIsImhhbmRsZVN0YXJ0IiwiY2xpZW50WCIsImhhbmRsZUVuZCIsImhhbmRsZU1vdmUiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsImxlZnQiLCJwZXJjZW50Iiwid2lkdGgiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJNYXRoIiwibWF4IiwibWluIiwiaGFuZGxlTW91c2VEb3duIiwiZSIsImhhbmRsZU1vdXNlVXAiLCJoYW5kbGVNb3VzZU1vdmUiLCJoYW5kbGVUb3VjaFN0YXJ0IiwidG91Y2hlcyIsImhhbmRsZVRvdWNoRW5kIiwiaGFuZGxlVG91Y2hNb3ZlIiwiZGl2IiwicmVmIiwic3R5bGUiLCJwb3NpdGlvbiIsImN1cnNvciIsIm9uTW91c2VNb3ZlIiwib25Nb3VzZUxlYXZlIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZURvd24iLCJvbk1vdXNlVXAiLCJvblRvdWNoU3RhcnQiLCJvblRvdWNoRW5kIiwib25Ub3VjaE1vdmUiLCJpbml0aWFsIiwidG9wIiwiekluZGV4IiwidHJhbnNpdGlvbiIsImR1cmF0aW9uIiwiTWVtb2l6ZWRTcGFya2xlc0NvcmUiLCJiYWNrZ3JvdW5kIiwibWluU2l6ZSIsIm1heFNpemUiLCJwYXJ0aWNsZURlbnNpdHkiLCJwYXJ0aWNsZUNvbG9yIiwiY2xpcFBhdGgiLCJpbWciLCJhbHQiLCJzcmMiLCJkcmFnZ2FibGUiLCJtZW1vIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/compare.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/multi-step-loader.tsx":
/*!*************************************************!*\
!*** ./src/components/ui/multi-step-loader.tsx ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiStepLoader: () => (/* binding */ MultiStepLoader),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ MultiStepLoader,default auto */ \n\n/**\n * MultiStepLoader\n * - Displays a fullscreen modal overlay while loading is true\n * - Cycles through provided loadingStates evenly distributed across `duration`\n * - Fades out and invokes onComplete after finishing the last step\n */ function MultiStepLoader({ loadingStates, loading, duration = 2500, onComplete, className }) {\n const [mounted, setMounted] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [currentIndex, setCurrentIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [isExiting, setIsExiting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const stepInterval = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"MultiStepLoader.useMemo[stepInterval]\": ()=>{\n const count = Math.max(1, loadingStates.length);\n // Ensure at least 200ms per step for readability\n return Math.max(200, Math.floor(duration / count));\n }\n }[\"MultiStepLoader.useMemo[stepInterval]\"], [\n duration,\n loadingStates.length\n ]);\n // Use number refs for browser timers to satisfy ESLint/TS in DOM env\n const intervalRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const totalTimerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const exitTimerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // Ensure smooth fade-in once mounted\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"MultiStepLoader.useEffect\": ()=>{\n setMounted(true);\n }\n }[\"MultiStepLoader.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"MultiStepLoader.useEffect\": ()=>{\n // Reset internal state when loading restarts\n if (loading) {\n setCurrentIndex(0);\n setIsExiting(false);\n // Advance steps\n if (loadingStates.length > 0) {\n intervalRef.current = globalThis.setInterval({\n \"MultiStepLoader.useEffect\": ()=>{\n setCurrentIndex({\n \"MultiStepLoader.useEffect\": (idx)=>{\n const next = idx + 1;\n if (next >= loadingStates.length) {\n return loadingStates.length - 1;\n }\n return next;\n }\n }[\"MultiStepLoader.useEffect\"]);\n }\n }[\"MultiStepLoader.useEffect\"], stepInterval);\n }\n // Finish after total duration\n totalTimerRef.current = globalThis.setTimeout({\n \"MultiStepLoader.useEffect\": ()=>{\n setIsExiting(true);\n // Give time for fade-out\n exitTimerRef.current = globalThis.setTimeout({\n \"MultiStepLoader.useEffect\": ()=>{\n onComplete?.();\n }\n }[\"MultiStepLoader.useEffect\"], 800);\n }\n }[\"MultiStepLoader.useEffect\"], duration);\n }\n return ({\n \"MultiStepLoader.useEffect\": ()=>{\n if (intervalRef.current !== null) {\n globalThis.clearInterval(intervalRef.current);\n }\n if (totalTimerRef.current !== null) {\n globalThis.clearTimeout(totalTimerRef.current);\n }\n if (exitTimerRef.current !== null) {\n globalThis.clearTimeout(exitTimerRef.current);\n }\n intervalRef.current = null;\n totalTimerRef.current = null;\n exitTimerRef.current = null;\n }\n })[\"MultiStepLoader.useEffect\"];\n }\n }[\"MultiStepLoader.useEffect\"], [\n loading,\n duration,\n stepInterval,\n loadingStates.length,\n onComplete\n ]);\n if (!loading) return null;\n const currentText = loadingStates[currentIndex]?.text ?? loadingStates[loadingStates.length - 1]?.text ?? '';\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: [\n 'fixed inset-0 z-[120] bg-black/95 flex items-center justify-center overflow-hidden transition-opacity duration-700',\n mounted ? 'opacity-100' : 'opacity-0',\n isExiting ? 'opacity-0' : 'opacity-100',\n className ?? ''\n ].join(' '),\n \"aria-live\": \"polite\",\n role: \"status\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex flex-col items-center justify-center px-6 text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-2xl md:text-3xl font-light tracking-[0.5em] text-white/90 mb-6 select-none\",\n children: \"BIOHAZARD VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-[2.5rem] md:min-h-[3rem] flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base md:text-lg font-medium text-white transition-all duration-300\",\n children: currentText\n }, currentIndex, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 w-[220px] md:w-[300px] h-[3px] bg-white/15 rounded overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-full bg-[#39C3EF] transition-all ease-out\",\n style: {\n width: loadingStates.length > 0 ? `${Math.min(100, Math.round((currentIndex + 1) / loadingStates.length * 100))}%` : '0%'\n }\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 145,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 127,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/multi-step-loader.tsx\",\n lineNumber: 117,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MultiStepLoader);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9tdWx0aS1zdGVwLWxvYWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUVtRTtBQXNCbkU7Ozs7O0NBS0MsR0FDTSxTQUFTSyxnQkFBZ0IsRUFDOUJDLGFBQWEsRUFDYkMsT0FBTyxFQUNQQyxXQUFXLElBQUksRUFDZkMsVUFBVSxFQUNWQyxTQUFTLEVBQ1k7SUFDckIsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdSLCtDQUFRQSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQ1MsY0FBY0MsZ0JBQWdCLEdBQUdWLCtDQUFRQSxDQUFDO0lBQ2pELE1BQU0sQ0FBQ1csV0FBV0MsYUFBYSxHQUFHWiwrQ0FBUUEsQ0FBQztJQUUzQyxNQUFNYSxlQUFlZiw4Q0FBT0E7aURBQUM7WUFDM0IsTUFBTWdCLFFBQVFDLEtBQUtDLEdBQUcsQ0FBQyxHQUFHZCxjQUFjZSxNQUFNO1lBQzlDLGlEQUFpRDtZQUNqRCxPQUFPRixLQUFLQyxHQUFHLENBQUMsS0FBS0QsS0FBS0csS0FBSyxDQUFDZCxXQUFXVTtRQUM3QztnREFBRztRQUFDVjtRQUFVRixjQUFjZSxNQUFNO0tBQUM7SUFFbkMscUVBQXFFO0lBQ3JFLE1BQU1FLGNBQWNwQiw2Q0FBTUEsQ0FDeEI7SUFFRixNQUFNcUIsZ0JBQWdCckIsNkNBQU1BLENBQzFCO0lBRUYsTUFBTXNCLGVBQWV0Qiw2Q0FBTUEsQ0FDekI7SUFHRixxQ0FBcUM7SUFDckNGLGdEQUFTQTtxQ0FBQztZQUNSVyxXQUFXO1FBQ2I7b0NBQUcsRUFBRTtJQUVMWCxnREFBU0E7cUNBQUM7WUFDUiw2Q0FBNkM7WUFDN0MsSUFBSU0sU0FBUztnQkFDWE8sZ0JBQWdCO2dCQUNoQkUsYUFBYTtnQkFFYixnQkFBZ0I7Z0JBQ2hCLElBQUlWLGNBQWNlLE1BQU0sR0FBRyxHQUFHO29CQUM1QkUsWUFBWUcsT0FBTyxHQUFHQyxXQUFXQyxXQUFXO3FEQUFDOzRCQUMzQ2Q7NkRBQWdCLENBQUNlO29DQUNmLE1BQU1DLE9BQU9ELE1BQU07b0NBQ25CLElBQUlDLFFBQVF4QixjQUFjZSxNQUFNLEVBQUU7d0NBQ2hDLE9BQU9mLGNBQWNlLE1BQU0sR0FBRztvQ0FDaEM7b0NBQ0EsT0FBT1M7Z0NBQ1Q7O3dCQUNGO29EQUFHYjtnQkFDTDtnQkFFQSw4QkFBOEI7Z0JBQzlCTyxjQUFjRSxPQUFPLEdBQUdDLFdBQVdJLFVBQVU7aURBQUM7d0JBQzVDZixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekJTLGFBQWFDLE9BQU8sR0FBR0MsV0FBV0ksVUFBVTt5REFBQztnQ0FDM0N0Qjs0QkFDRjt3REFBRztvQkFDTDtnREFBR0Q7WUFDTDtZQUVBOzZDQUFPO29CQUNMLElBQUllLFlBQVlHLE9BQU8sS0FBSyxNQUFNO3dCQUNoQ0MsV0FBV0ssYUFBYSxDQUFDVCxZQUFZRyxPQUFPO29CQUM5QztvQkFDQSxJQUFJRixjQUFjRSxPQUFPLEtBQUssTUFBTTt3QkFDbENDLFdBQVdNLFlBQVksQ0FBQ1QsY0FBY0UsT0FBTztvQkFDL0M7b0JBQ0EsSUFBSUQsYUFBYUMsT0FBTyxLQUFLLE1BQU07d0JBQ2pDQyxXQUFXTSxZQUFZLENBQUNSLGFBQWFDLE9BQU87b0JBQzlDO29CQUNBSCxZQUFZRyxPQUFPLEdBQUc7b0JBQ3RCRixjQUFjRSxPQUFPLEdBQUc7b0JBQ3hCRCxhQUFhQyxPQUFPLEdBQUc7Z0JBQ3pCOztRQUNGO29DQUFHO1FBQUNuQjtRQUFTQztRQUFVUztRQUFjWCxjQUFjZSxNQUFNO1FBQUVaO0tBQVc7SUFFdEUsSUFBSSxDQUFDRixTQUFTLE9BQU87SUFFckIsTUFBTTJCLGNBQ0o1QixhQUFhLENBQUNPLGFBQWEsRUFBRXNCLFFBQzdCN0IsYUFBYSxDQUFDQSxjQUFjZSxNQUFNLEdBQUcsRUFBRSxFQUFFYyxRQUN6QztJQUVGLHFCQUNFLDhEQUFDQztRQUNDMUIsV0FBVztZQUNUO1lBQ0FDLFVBQVUsZ0JBQWdCO1lBQzFCSSxZQUFZLGNBQWM7WUFDMUJMLGFBQWE7U0FDZCxDQUFDMkIsSUFBSSxDQUFDO1FBQ1BDLGFBQVU7UUFDVkMsTUFBSztrQkFFTCw0RUFBQ0g7WUFBSTFCLFdBQVU7OzhCQUViLDhEQUFDMEI7b0JBQUkxQixXQUFVOzhCQUFrRjs7Ozs7OzhCQUtqRyw4REFBQzBCO29CQUFJMUIsV0FBVTs4QkFDYiw0RUFBQzhCO3dCQUNDOUIsV0FBVTtrQ0FHVHdCO3VCQUZJckI7Ozs7Ozs7Ozs7OEJBT1QsOERBQUN1QjtvQkFBSTFCLFdBQVU7OEJBQ2IsNEVBQUMwQjt3QkFDQzFCLFdBQVU7d0JBQ1YrQixPQUFPOzRCQUNMQyxPQUNFcEMsY0FBY2UsTUFBTSxHQUFHLElBQ25CLEdBQUdGLEtBQUt3QixHQUFHLENBQUMsS0FBS3hCLEtBQUt5QixLQUFLLENBQUMsQ0FBRS9CLGVBQWUsS0FBS1AsY0FBY2UsTUFBTSxHQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQ2xGO3dCQUNSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTVo7QUFFQSxpRUFBZWhCLGVBQWVBLEVBQUEiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL3VpL211bHRpLXN0ZXAtbG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIExvYWRpbmdTdGF0ZSA9IHsgdGV4dDogc3RyaW5nIH1cblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVN0ZXBMb2FkZXJQcm9wcyB7XG4gIGxvYWRpbmdTdGF0ZXM6IExvYWRpbmdTdGF0ZVtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRvdGFsIGR1cmF0aW9uIGluIG1zIHRvIGN5Y2xlIHRocm91Z2ggYWxsIHN0ZXBzIChleGNsdWRpbmcgZXhpdCBmYWRlKVxuICAgKiBEZWZhdWx0OiAyNTAwXG4gICAqL1xuICBkdXJhdGlvbj86IG51bWJlclxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIHRoZSBsb2FkZXIgZmluaXNoZXMgYW5kIGZhZGVzIG91dFxuICAgKi9cbiAgb25Db21wbGV0ZT86ICgpID0+IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNsYXNzTmFtZSB0byBvdmVycmlkZSBjb250YWluZXIgc3R5bGVzXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBNdWx0aVN0ZXBMb2FkZXJcbiAqIC0gRGlzcGxheXMgYSBmdWxsc2NyZWVuIG1vZGFsIG92ZXJsYXkgd2hpbGUgbG9hZGluZyBpcyB0cnVlXG4gKiAtIEN5Y2xlcyB0aHJvdWdoIHByb3ZpZGVkIGxvYWRpbmdTdGF0ZXMgZXZlbmx5IGRpc3RyaWJ1dGVkIGFjcm9zcyBgZHVyYXRpb25gXG4gKiAtIEZhZGVzIG91dCBhbmQgaW52b2tlcyBvbkNvbXBsZXRlIGFmdGVyIGZpbmlzaGluZyB0aGUgbGFzdCBzdGVwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBNdWx0aVN0ZXBMb2FkZXIoe1xuICBsb2FkaW5nU3RhdGVzLFxuICBsb2FkaW5nLFxuICBkdXJhdGlvbiA9IDI1MDAsXG4gIG9uQ29tcGxldGUsXG4gIGNsYXNzTmFtZSxcbn06IE11bHRpU3RlcExvYWRlclByb3BzKSB7XG4gIGNvbnN0IFttb3VudGVkLCBzZXRNb3VudGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY3VycmVudEluZGV4LCBzZXRDdXJyZW50SW5kZXhdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW2lzRXhpdGluZywgc2V0SXNFeGl0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHN0ZXBJbnRlcnZhbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gTWF0aC5tYXgoMSwgbG9hZGluZ1N0YXRlcy5sZW5ndGgpXG4gICAgLy8gRW5zdXJlIGF0IGxlYXN0IDIwMG1zIHBlciBzdGVwIGZvciByZWFkYWJpbGl0eVxuICAgIHJldHVybiBNYXRoLm1heCgyMDAsIE1hdGguZmxvb3IoZHVyYXRpb24gLyBjb3VudCkpXG4gIH0sIFtkdXJhdGlvbiwgbG9hZGluZ1N0YXRlcy5sZW5ndGhdKVxuXG4gIC8vIFVzZSBudW1iZXIgcmVmcyBmb3IgYnJvd3NlciB0aW1lcnMgdG8gc2F0aXNmeSBFU0xpbnQvVFMgaW4gRE9NIGVudlxuICBjb25zdCBpbnRlcnZhbFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBnbG9iYWxUaGlzLnNldEludGVydmFsPiB8IG51bGw+KFxuICAgIG51bGxcbiAgKVxuICBjb25zdCB0b3RhbFRpbWVyUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIGdsb2JhbFRoaXMuc2V0VGltZW91dD4gfCBudWxsPihcbiAgICBudWxsXG4gIClcbiAgY29uc3QgZXhpdFRpbWVyUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIGdsb2JhbFRoaXMuc2V0VGltZW91dD4gfCBudWxsPihcbiAgICBudWxsXG4gIClcblxuICAvLyBFbnN1cmUgc21vb3RoIGZhZGUtaW4gb25jZSBtb3VudGVkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TW91bnRlZCh0cnVlKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFJlc2V0IGludGVybmFsIHN0YXRlIHdoZW4gbG9hZGluZyByZXN0YXJ0c1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICBzZXRDdXJyZW50SW5kZXgoMClcbiAgICAgIHNldElzRXhpdGluZyhmYWxzZSlcblxuICAgICAgLy8gQWR2YW5jZSBzdGVwc1xuICAgICAgaWYgKGxvYWRpbmdTdGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpbnRlcnZhbFJlZi5jdXJyZW50ID0gZ2xvYmFsVGhpcy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgc2V0Q3VycmVudEluZGV4KChpZHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBpZHggKyAxXG4gICAgICAgICAgICBpZiAobmV4dCA+PSBsb2FkaW5nU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gbG9hZGluZ1N0YXRlcy5sZW5ndGggLSAxXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dFxuICAgICAgICAgIH0pXG4gICAgICAgIH0sIHN0ZXBJbnRlcnZhbClcbiAgICAgIH1cblxuICAgICAgLy8gRmluaXNoIGFmdGVyIHRvdGFsIGR1cmF0aW9uXG4gICAgICB0b3RhbFRpbWVyUmVmLmN1cnJlbnQgPSBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRJc0V4aXRpbmcodHJ1ZSlcbiAgICAgICAgLy8gR2l2ZSB0aW1lIGZvciBmYWRlLW91dFxuICAgICAgICBleGl0VGltZXJSZWYuY3VycmVudCA9IGdsb2JhbFRoaXMuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgb25Db21wbGV0ZT8uKClcbiAgICAgICAgfSwgODAwKVxuICAgICAgfSwgZHVyYXRpb24pXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChpbnRlcnZhbFJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGdsb2JhbFRoaXMuY2xlYXJJbnRlcnZhbChpbnRlcnZhbFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgICAgaWYgKHRvdGFsVGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBnbG9iYWxUaGlzLmNsZWFyVGltZW91dCh0b3RhbFRpbWVyUmVmLmN1cnJlbnQpXG4gICAgICB9XG4gICAgICBpZiAoZXhpdFRpbWVyUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgZ2xvYmFsVGhpcy5jbGVhclRpbWVvdXQoZXhpdFRpbWVyUmVmLmN1cnJlbnQpXG4gICAgICB9XG4gICAgICBpbnRlcnZhbFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgdG90YWxUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgZXhpdFRpbWVyUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgfVxuICB9LCBbbG9hZGluZywgZHVyYXRpb24sIHN0ZXBJbnRlcnZhbCwgbG9hZGluZ1N0YXRlcy5sZW5ndGgsIG9uQ29tcGxldGVdKVxuXG4gIGlmICghbG9hZGluZykgcmV0dXJuIG51bGxcblxuICBjb25zdCBjdXJyZW50VGV4dCA9XG4gICAgbG9hZGluZ1N0YXRlc1tjdXJyZW50SW5kZXhdPy50ZXh0ID8/XG4gICAgbG9hZGluZ1N0YXRlc1tsb2FkaW5nU3RhdGVzLmxlbmd0aCAtIDFdPy50ZXh0ID8/XG4gICAgJydcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17W1xuICAgICAgICAnZml4ZWQgaW5zZXQtMCB6LVsxMjBdIGJnLWJsYWNrLzk1IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlbiB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tNzAwJyxcbiAgICAgICAgbW91bnRlZCA/ICdvcGFjaXR5LTEwMCcgOiAnb3BhY2l0eS0wJyxcbiAgICAgICAgaXNFeGl0aW5nID8gJ29wYWNpdHktMCcgOiAnb3BhY2l0eS0xMDAnLFxuICAgICAgICBjbGFzc05hbWUgPz8gJycsXG4gICAgICBdLmpvaW4oJyAnKX1cbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICByb2xlPVwic3RhdHVzXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTYgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gVGl0bGUgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC0yeGwgbWQ6dGV4dC0zeGwgZm9udC1saWdodCB0cmFja2luZy1bMC41ZW1dIHRleHQtd2hpdGUvOTAgbWItNiBzZWxlY3Qtbm9uZVwiPlxuICAgICAgICAgIEJJT0hBWkFSRCBWRlhcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIFN0ZXAgVGV4dCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1bMi41cmVtXSBtZDptaW4taC1bM3JlbV0gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIG1kOnRleHQtbGcgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDBcIlxuICAgICAgICAgICAga2V5PXtjdXJyZW50SW5kZXh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2N1cnJlbnRUZXh0fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIFByb2dyZXNzIEJhciAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHctWzIyMHB4XSBtZDp3LVszMDBweF0gaC1bM3B4XSBiZy13aGl0ZS8xNSByb3VuZGVkIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtZnVsbCBiZy1bIzM5QzNFRl0gdHJhbnNpdGlvbi1hbGwgZWFzZS1vdXRcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgd2lkdGg6XG4gICAgICAgICAgICAgICAgbG9hZGluZ1N0YXRlcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICA/IGAke01hdGgubWluKDEwMCwgTWF0aC5yb3VuZCgoKGN1cnJlbnRJbmRleCArIDEpIC8gbG9hZGluZ1N0YXRlcy5sZW5ndGgpICogMTAwKSl9JWBcbiAgICAgICAgICAgICAgICAgIDogJzAlJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBNdWx0aVN0ZXBMb2FkZXJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIk11bHRpU3RlcExvYWRlciIsImxvYWRpbmdTdGF0ZXMiLCJsb2FkaW5nIiwiZHVyYXRpb24iLCJvbkNvbXBsZXRlIiwiY2xhc3NOYW1lIiwibW91bnRlZCIsInNldE1vdW50ZWQiLCJjdXJyZW50SW5kZXgiLCJzZXRDdXJyZW50SW5kZXgiLCJpc0V4aXRpbmciLCJzZXRJc0V4aXRpbmciLCJzdGVwSW50ZXJ2YWwiLCJjb3VudCIsIk1hdGgiLCJtYXgiLCJsZW5ndGgiLCJmbG9vciIsImludGVydmFsUmVmIiwidG90YWxUaW1lclJlZiIsImV4aXRUaW1lclJlZiIsImN1cnJlbnQiLCJnbG9iYWxUaGlzIiwic2V0SW50ZXJ2YWwiLCJpZHgiLCJuZXh0Iiwic2V0VGltZW91dCIsImNsZWFySW50ZXJ2YWwiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50VGV4dCIsInRleHQiLCJkaXYiLCJqb2luIiwiYXJpYS1saXZlIiwicm9sZSIsInAiLCJzdHlsZSIsIndpZHRoIiwibWluIiwicm91bmQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/multi-step-loader.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/sparkles.tsx":
/*!****************************************!*\
!*** ./src/components/ui/sparkles.tsx ***!
\****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SparklesCore: () => (/* binding */ SparklesCore)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tsparticles_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/react */ \"(ssr)/./node_modules/@tsparticles/react/dist/index.js\");\n/* harmony import */ var _tsparticles_slim__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/slim */ \"(ssr)/./node_modules/@tsparticles/slim/esm/index.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* __next_internal_client_entry_do_not_use__ SparklesCore auto */ \n\n\n\n\n\n\nconst SparklesCore = (props)=>{\n const { id, className, background, minSize, maxSize, speed, particleColor, particleDensity } = props;\n const [init, setInit] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"SparklesCore.useEffect\": ()=>{\n (0,_tsparticles_react__WEBPACK_IMPORTED_MODULE_2__.initParticlesEngine)({\n \"SparklesCore.useEffect\": async (engine)=>{\n await (0,_tsparticles_slim__WEBPACK_IMPORTED_MODULE_3__.loadSlim)(engine);\n }\n }[\"SparklesCore.useEffect\"]).then({\n \"SparklesCore.useEffect\": ()=>{\n setInit(true);\n }\n }[\"SparklesCore.useEffect\"]);\n }\n }[\"SparklesCore.useEffect\"], []);\n const controls = (0,motion_react__WEBPACK_IMPORTED_MODULE_5__.useAnimation)();\n const particlesLoaded = async (container)=>{\n if (container) {\n controls.start({\n opacity: 1,\n transition: {\n duration: 1\n }\n });\n }\n };\n const generatedId = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_6__.motion.div, {\n animate: controls,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_4__.cn)(\"opacity-0\", className),\n children: init && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_tsparticles_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id || generatedId,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_4__.cn)(\"h-full w-full\"),\n particlesLoaded: particlesLoaded,\n options: {\n background: {\n color: {\n value: background || \"#0d47a1\"\n }\n },\n fullScreen: {\n enable: false,\n zIndex: 1\n },\n fpsLimit: 120,\n interactivity: {\n events: {\n onClick: {\n enable: true,\n mode: \"push\"\n },\n onHover: {\n enable: false,\n mode: \"repulse\"\n },\n resize: true\n },\n modes: {\n push: {\n quantity: 4\n },\n repulse: {\n distance: 200,\n duration: 0.4\n }\n }\n },\n particles: {\n bounce: {\n horizontal: {\n value: 1\n },\n vertical: {\n value: 1\n }\n },\n collisions: {\n absorb: {\n speed: 2\n },\n bounce: {\n horizontal: {\n value: 1\n },\n vertical: {\n value: 1\n }\n },\n enable: false,\n maxSpeed: 50,\n mode: \"bounce\",\n overlap: {\n enable: true,\n retries: 0\n }\n },\n color: {\n value: particleColor || \"#ffffff\",\n animation: {\n h: {\n count: 0,\n enable: false,\n speed: 1,\n decay: 0,\n delay: 0,\n sync: true,\n offset: 0\n },\n s: {\n count: 0,\n enable: false,\n speed: 1,\n decay: 0,\n delay: 0,\n sync: true,\n offset: 0\n },\n l: {\n count: 0,\n enable: false,\n speed: 1,\n decay: 0,\n delay: 0,\n sync: true,\n offset: 0\n }\n }\n },\n effect: {\n close: true,\n fill: true,\n options: {},\n type: {}\n },\n groups: {},\n move: {\n angle: {\n offset: 0,\n value: 90\n },\n attract: {\n distance: 200,\n enable: false,\n rotate: {\n x: 3000,\n y: 3000\n }\n },\n center: {\n x: 50,\n y: 50,\n mode: \"percent\",\n radius: 0\n },\n decay: 0,\n distance: {},\n direction: \"none\",\n drift: 0,\n enable: true,\n gravity: {\n acceleration: 9.81,\n enable: false,\n inverse: false,\n maxSpeed: 50\n },\n path: {\n clamp: true,\n delay: {\n value: 0\n },\n enable: false,\n options: {}\n },\n outModes: {\n default: \"out\"\n },\n random: false,\n size: false,\n speed: {\n min: 0.1,\n max: 1\n },\n spin: {\n acceleration: 0,\n enable: false\n },\n straight: false,\n trail: {\n enable: false,\n length: 10,\n fill: {}\n },\n vibrate: false,\n warp: false\n },\n number: {\n density: {\n enable: true,\n width: 400,\n height: 400\n },\n limit: {\n mode: \"delete\",\n value: 0\n },\n value: particleDensity || 120\n },\n opacity: {\n value: {\n min: 0.1,\n max: 1\n },\n animation: {\n count: 0,\n enable: true,\n speed: speed || 4,\n decay: 0,\n delay: 0,\n sync: false,\n mode: \"auto\",\n startValue: \"random\",\n destroy: \"none\"\n }\n },\n reduceDuplicates: false,\n shadow: {\n blur: 0,\n color: {\n value: \"#000\"\n },\n enable: false,\n offset: {\n x: 0,\n y: 0\n }\n },\n shape: {\n close: true,\n fill: true,\n options: {},\n type: \"circle\"\n },\n size: {\n value: {\n min: minSize || 1,\n max: maxSize || 3\n },\n animation: {\n count: 0,\n enable: false,\n speed: 5,\n decay: 0,\n delay: 0,\n sync: false,\n mode: \"auto\",\n startValue: \"random\",\n destroy: \"none\"\n }\n },\n stroke: {\n width: 0\n },\n zIndex: {\n value: 0,\n opacityRate: 1,\n sizeRate: 1,\n velocityRate: 1\n },\n destroy: {\n bounds: {},\n mode: \"none\",\n split: {\n count: 1,\n factor: {\n value: 3\n },\n rate: {\n value: {\n min: 4,\n max: 9\n }\n },\n sizeOffset: true\n }\n },\n roll: {\n darken: {\n enable: false,\n value: 0\n },\n enable: false,\n enlighten: {\n enable: false,\n value: 0\n },\n mode: \"vertical\",\n speed: 25\n },\n tilt: {\n value: 0,\n animation: {\n enable: false,\n speed: 0,\n decay: 0,\n sync: false\n },\n direction: \"clockwise\",\n enable: false\n },\n twinkle: {\n lines: {\n enable: false,\n frequency: 0.05,\n opacity: 1\n },\n particles: {\n enable: false,\n frequency: 0.05,\n opacity: 1\n }\n },\n wobble: {\n distance: 5,\n enable: false,\n speed: {\n angle: 50,\n move: 10\n }\n },\n life: {\n count: 0,\n delay: {\n value: 0,\n sync: false\n },\n duration: {\n value: 0,\n sync: false\n }\n },\n rotate: {\n value: 0,\n animation: {\n enable: false,\n speed: 0,\n decay: 0,\n sync: false\n },\n direction: \"clockwise\",\n path: false\n },\n orbit: {\n animation: {\n count: 0,\n enable: false,\n speed: 1,\n decay: 0,\n delay: 0,\n sync: false\n },\n enable: false,\n opacity: 1,\n rotation: {\n value: 45\n },\n width: 1\n },\n links: {\n blink: false,\n color: {\n value: \"#fff\"\n },\n consent: false,\n distance: 100,\n enable: false,\n frequency: 1,\n opacity: 1,\n shadow: {\n blur: 5,\n color: {\n value: \"#000\"\n },\n enable: false\n },\n triangles: {\n enable: false,\n frequency: 1\n },\n width: 1,\n warp: false\n },\n repulse: {\n value: 0,\n enabled: false,\n distance: 1,\n duration: 1,\n factor: 1,\n speed: 1\n }\n },\n detectRetina: true\n }\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/sparkles.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/sparkles.tsx\",\n lineNumber: 55,\n columnNumber: 5\n }, undefined);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zcGFya2xlcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDOEM7QUFDRjtBQUN3QjtBQUV2QjtBQUNaO0FBQ21CO0FBYTdDLE1BQU1VLGVBQWUsQ0FBQ0M7SUFDM0IsTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLGVBQWUsRUFDaEIsR0FBR1I7SUFDSixNQUFNLENBQUNTLE1BQU1DLFFBQVEsR0FBR2xCLCtDQUFRQSxDQUFDO0lBQ2pDRCxnREFBU0E7a0NBQUM7WUFDUkcsdUVBQW1CQTswQ0FBQyxPQUFPaUI7b0JBQ3pCLE1BQU1oQiwyREFBUUEsQ0FBQ2dCO2dCQUNqQjt5Q0FBR0MsSUFBSTswQ0FBQztvQkFDTkYsUUFBUTtnQkFDVjs7UUFDRjtpQ0FBRyxFQUFFO0lBQ0wsTUFBTUcsV0FBV2YsMERBQVlBO0lBRTdCLE1BQU1nQixrQkFBa0IsT0FBT0M7UUFDN0IsSUFBSUEsV0FBVztZQUNiRixTQUFTRyxLQUFLLENBQUM7Z0JBQ2JDLFNBQVM7Z0JBQ1RDLFlBQVk7b0JBQ1ZDLFVBQVU7Z0JBQ1o7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxNQUFNQyxjQUFjOUIsNENBQUtBO0lBQ3pCLHFCQUNFLDhEQUFDTyxnREFBTUEsQ0FBQ3dCLEdBQUc7UUFBQ0MsU0FBU1Q7UUFBVVgsV0FBV04sOENBQUVBLENBQUMsYUFBYU07a0JBQ3ZETyxzQkFDQyw4REFBQ2hCLDBEQUFTQTtZQUNSUSxJQUFJQSxNQUFNbUI7WUFDVmxCLFdBQVdOLDhDQUFFQSxDQUFDO1lBQ2RrQixpQkFBaUJBO1lBQ2pCUyxTQUFTO2dCQUNQcEIsWUFBWTtvQkFDVnFCLE9BQU87d0JBQ0xDLE9BQU90QixjQUFjO29CQUN2QjtnQkFDRjtnQkFDQXVCLFlBQVk7b0JBQ1ZDLFFBQVE7b0JBQ1JDLFFBQVE7Z0JBQ1Y7Z0JBRUFDLFVBQVU7Z0JBQ1ZDLGVBQWU7b0JBQ2JDLFFBQVE7d0JBQ05DLFNBQVM7NEJBQ1BMLFFBQVE7NEJBQ1JNLE1BQU07d0JBQ1I7d0JBQ0FDLFNBQVM7NEJBQ1BQLFFBQVE7NEJBQ1JNLE1BQU07d0JBQ1I7d0JBQ0FFLFFBQVE7b0JBQ1Y7b0JBQ0FDLE9BQU87d0JBQ0xDLE1BQU07NEJBQ0pDLFVBQVU7d0JBQ1o7d0JBQ0FDLFNBQVM7NEJBQ1BDLFVBQVU7NEJBQ1ZyQixVQUFVO3dCQUNaO29CQUNGO2dCQUNGO2dCQUNBc0IsV0FBVztvQkFDVEMsUUFBUTt3QkFDTkMsWUFBWTs0QkFDVmxCLE9BQU87d0JBQ1Q7d0JBQ0FtQixVQUFVOzRCQUNSbkIsT0FBTzt3QkFDVDtvQkFDRjtvQkFDQW9CLFlBQVk7d0JBQ1ZDLFFBQVE7NEJBQ054QyxPQUFPO3dCQUNUO3dCQUNBb0MsUUFBUTs0QkFDTkMsWUFBWTtnQ0FDVmxCLE9BQU87NEJBQ1Q7NEJBQ0FtQixVQUFVO2dDQUNSbkIsT0FBTzs0QkFDVDt3QkFDRjt3QkFDQUUsUUFBUTt3QkFDUm9CLFVBQVU7d0JBQ1ZkLE1BQU07d0JBQ05lLFNBQVM7NEJBQ1ByQixRQUFROzRCQUNSc0IsU0FBUzt3QkFDWDtvQkFDRjtvQkFDQXpCLE9BQU87d0JBQ0xDLE9BQU9sQixpQkFBaUI7d0JBQ3hCMkMsV0FBVzs0QkFDVEMsR0FBRztnQ0FDREMsT0FBTztnQ0FDUHpCLFFBQVE7Z0NBQ1JyQixPQUFPO2dDQUNQK0MsT0FBTztnQ0FDUEMsT0FBTztnQ0FDUEMsTUFBTTtnQ0FDTkMsUUFBUTs0QkFDVjs0QkFDQUMsR0FBRztnQ0FDREwsT0FBTztnQ0FDUHpCLFFBQVE7Z0NBQ1JyQixPQUFPO2dDQUNQK0MsT0FBTztnQ0FDUEMsT0FBTztnQ0FDUEMsTUFBTTtnQ0FDTkMsUUFBUTs0QkFDVjs0QkFDQUUsR0FBRztnQ0FDRE4sT0FBTztnQ0FDUHpCLFFBQVE7Z0NBQ1JyQixPQUFPO2dDQUNQK0MsT0FBTztnQ0FDUEMsT0FBTztnQ0FDUEMsTUFBTTtnQ0FDTkMsUUFBUTs0QkFDVjt3QkFDRjtvQkFDRjtvQkFDQUcsUUFBUTt3QkFDTkMsT0FBTzt3QkFDUEMsTUFBTTt3QkFDTnRDLFNBQVMsQ0FBQzt3QkFDVnVDLE1BQU0sQ0FBQztvQkFDVDtvQkFDQUMsUUFBUSxDQUFDO29CQUNUQyxNQUFNO3dCQUNKQyxPQUFPOzRCQUNMVCxRQUFROzRCQUNSL0IsT0FBTzt3QkFDVDt3QkFDQXlDLFNBQVM7NEJBQ1AxQixVQUFVOzRCQUNWYixRQUFROzRCQUNSd0MsUUFBUTtnQ0FDTkMsR0FBRztnQ0FDSEMsR0FBRzs0QkFDTDt3QkFDRjt3QkFDQUMsUUFBUTs0QkFDTkYsR0FBRzs0QkFDSEMsR0FBRzs0QkFDSHBDLE1BQU07NEJBQ05zQyxRQUFRO3dCQUNWO3dCQUNBbEIsT0FBTzt3QkFDUGIsVUFBVSxDQUFDO3dCQUNYZ0MsV0FBVzt3QkFDWEMsT0FBTzt3QkFDUDlDLFFBQVE7d0JBQ1IrQyxTQUFTOzRCQUNQQyxjQUFjOzRCQUNkaEQsUUFBUTs0QkFDUmlELFNBQVM7NEJBQ1Q3QixVQUFVO3dCQUNaO3dCQUNBOEIsTUFBTTs0QkFDSkMsT0FBTzs0QkFDUHhCLE9BQU87Z0NBQ0w3QixPQUFPOzRCQUNUOzRCQUNBRSxRQUFROzRCQUNSSixTQUFTLENBQUM7d0JBQ1o7d0JBQ0F3RCxVQUFVOzRCQUNSQyxTQUFTO3dCQUNYO3dCQUNBQyxRQUFRO3dCQUNSQyxNQUFNO3dCQUNONUUsT0FBTzs0QkFDTDZFLEtBQUs7NEJBQ0xDLEtBQUs7d0JBQ1A7d0JBQ0FDLE1BQU07NEJBQ0pWLGNBQWM7NEJBQ2RoRCxRQUFRO3dCQUNWO3dCQUNBMkQsVUFBVTt3QkFDVkMsT0FBTzs0QkFDTDVELFFBQVE7NEJBQ1I2RCxRQUFROzRCQUNSM0IsTUFBTSxDQUFDO3dCQUNUO3dCQUNBNEIsU0FBUzt3QkFDVEMsTUFBTTtvQkFDUjtvQkFDQUMsUUFBUTt3QkFDTkMsU0FBUzs0QkFDUGpFLFFBQVE7NEJBQ1JrRSxPQUFPOzRCQUNQQyxRQUFRO3dCQUNWO3dCQUNBQyxPQUFPOzRCQUNMOUQsTUFBTTs0QkFDTlIsT0FBTzt3QkFDVDt3QkFDQUEsT0FBT2pCLG1CQUFtQjtvQkFDNUI7b0JBQ0FTLFNBQVM7d0JBQ1BRLE9BQU87NEJBQ0wwRCxLQUFLOzRCQUNMQyxLQUFLO3dCQUNQO3dCQUNBbEMsV0FBVzs0QkFDVEUsT0FBTzs0QkFDUHpCLFFBQVE7NEJBQ1JyQixPQUFPQSxTQUFTOzRCQUNoQitDLE9BQU87NEJBQ1BDLE9BQU87NEJBQ1BDLE1BQU07NEJBQ050QixNQUFNOzRCQUNOK0QsWUFBWTs0QkFDWkMsU0FBUzt3QkFDWDtvQkFDRjtvQkFDQUMsa0JBQWtCO29CQUNsQkMsUUFBUTt3QkFDTkMsTUFBTTt3QkFDTjVFLE9BQU87NEJBQ0xDLE9BQU87d0JBQ1Q7d0JBQ0FFLFFBQVE7d0JBQ1I2QixRQUFROzRCQUNOWSxHQUFHOzRCQUNIQyxHQUFHO3dCQUNMO29CQUNGO29CQUNBZ0MsT0FBTzt3QkFDTHpDLE9BQU87d0JBQ1BDLE1BQU07d0JBQ050QyxTQUFTLENBQUM7d0JBQ1Z1QyxNQUFNO29CQUNSO29CQUNBb0IsTUFBTTt3QkFDSnpELE9BQU87NEJBQ0wwRCxLQUFLL0UsV0FBVzs0QkFDaEJnRixLQUFLL0UsV0FBVzt3QkFDbEI7d0JBQ0E2QyxXQUFXOzRCQUNURSxPQUFPOzRCQUNQekIsUUFBUTs0QkFDUnJCLE9BQU87NEJBQ1ArQyxPQUFPOzRCQUNQQyxPQUFPOzRCQUNQQyxNQUFNOzRCQUNOdEIsTUFBTTs0QkFDTitELFlBQVk7NEJBQ1pDLFNBQVM7d0JBQ1g7b0JBQ0Y7b0JBQ0FLLFFBQVE7d0JBQ05ULE9BQU87b0JBQ1Q7b0JBQ0FqRSxRQUFRO3dCQUNOSCxPQUFPO3dCQUNQOEUsYUFBYTt3QkFDYkMsVUFBVTt3QkFDVkMsY0FBYztvQkFDaEI7b0JBQ0FSLFNBQVM7d0JBQ1BTLFFBQVEsQ0FBQzt3QkFDVHpFLE1BQU07d0JBQ04wRSxPQUFPOzRCQUNMdkQsT0FBTzs0QkFDUHdELFFBQVE7Z0NBQ05uRixPQUFPOzRCQUNUOzRCQUNBb0YsTUFBTTtnQ0FDSnBGLE9BQU87b0NBQ0wwRCxLQUFLO29DQUNMQyxLQUFLO2dDQUNQOzRCQUNGOzRCQUNBMEIsWUFBWTt3QkFDZDtvQkFDRjtvQkFDQUMsTUFBTTt3QkFDSkMsUUFBUTs0QkFDTnJGLFFBQVE7NEJBQ1JGLE9BQU87d0JBQ1Q7d0JBQ0FFLFFBQVE7d0JBQ1JzRixXQUFXOzRCQUNUdEYsUUFBUTs0QkFDUkYsT0FBTzt3QkFDVDt3QkFDQVEsTUFBTTt3QkFDTjNCLE9BQU87b0JBQ1Q7b0JBQ0E0RyxNQUFNO3dCQUNKekYsT0FBTzt3QkFDUHlCLFdBQVc7NEJBQ1R2QixRQUFROzRCQUNSckIsT0FBTzs0QkFDUCtDLE9BQU87NEJBQ1BFLE1BQU07d0JBQ1I7d0JBQ0FpQixXQUFXO3dCQUNYN0MsUUFBUTtvQkFDVjtvQkFDQXdGLFNBQVM7d0JBQ1BDLE9BQU87NEJBQ0x6RixRQUFROzRCQUNSMEYsV0FBVzs0QkFDWHBHLFNBQVM7d0JBQ1g7d0JBQ0F3QixXQUFXOzRCQUNUZCxRQUFROzRCQUNSMEYsV0FBVzs0QkFDWHBHLFNBQVM7d0JBQ1g7b0JBQ0Y7b0JBQ0FxRyxRQUFRO3dCQUNOOUUsVUFBVTt3QkFDVmIsUUFBUTt3QkFDUnJCLE9BQU87NEJBQ0wyRCxPQUFPOzRCQUNQRCxNQUFNO3dCQUNSO29CQUNGO29CQUNBdUQsTUFBTTt3QkFDSm5FLE9BQU87d0JBQ1BFLE9BQU87NEJBQ0w3QixPQUFPOzRCQUNQOEIsTUFBTTt3QkFDUjt3QkFDQXBDLFVBQVU7NEJBQ1JNLE9BQU87NEJBQ1A4QixNQUFNO3dCQUNSO29CQUNGO29CQUNBWSxRQUFRO3dCQUNOMUMsT0FBTzt3QkFDUHlCLFdBQVc7NEJBQ1R2QixRQUFROzRCQUNSckIsT0FBTzs0QkFDUCtDLE9BQU87NEJBQ1BFLE1BQU07d0JBQ1I7d0JBQ0FpQixXQUFXO3dCQUNYSyxNQUFNO29CQUNSO29CQUNBMkMsT0FBTzt3QkFDTHRFLFdBQVc7NEJBQ1RFLE9BQU87NEJBQ1B6QixRQUFROzRCQUNSckIsT0FBTzs0QkFDUCtDLE9BQU87NEJBQ1BDLE9BQU87NEJBQ1BDLE1BQU07d0JBQ1I7d0JBQ0E1QixRQUFRO3dCQUNSVixTQUFTO3dCQUNUd0csVUFBVTs0QkFDUmhHLE9BQU87d0JBQ1Q7d0JBQ0FvRSxPQUFPO29CQUNUO29CQUNBNkIsT0FBTzt3QkFDTEMsT0FBTzt3QkFDUG5HLE9BQU87NEJBQ0xDLE9BQU87d0JBQ1Q7d0JBQ0FtRyxTQUFTO3dCQUNUcEYsVUFBVTt3QkFDVmIsUUFBUTt3QkFDUjBGLFdBQVc7d0JBQ1hwRyxTQUFTO3dCQUNUa0YsUUFBUTs0QkFDTkMsTUFBTTs0QkFDTjVFLE9BQU87Z0NBQ0xDLE9BQU87NEJBQ1Q7NEJBQ0FFLFFBQVE7d0JBQ1Y7d0JBQ0FrRyxXQUFXOzRCQUNUbEcsUUFBUTs0QkFDUjBGLFdBQVc7d0JBQ2I7d0JBQ0F4QixPQUFPO3dCQUNQSCxNQUFNO29CQUNSO29CQUNBbkQsU0FBUzt3QkFDUGQsT0FBTzt3QkFDUHFHLFNBQVM7d0JBQ1R0RixVQUFVO3dCQUNWckIsVUFBVTt3QkFDVnlGLFFBQVE7d0JBQ1J0RyxPQUFPO29CQUNUO2dCQUNGO2dCQUNBeUgsY0FBYztZQUNoQjs7Ozs7Ozs7Ozs7QUFLVixFQUFFIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9zcmMvY29tcG9uZW50cy91aS9zcGFya2xlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlSWQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQYXJ0aWNsZXMsIHsgaW5pdFBhcnRpY2xlc0VuZ2luZSB9IGZyb20gXCJAdHNwYXJ0aWNsZXMvcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgQ29udGFpbmVyLCBTaW5nbGVPck11bHRpcGxlIH0gZnJvbSBcIkB0c3BhcnRpY2xlcy9lbmdpbmVcIjtcbmltcG9ydCB7IGxvYWRTbGltIH0gZnJvbSBcIkB0c3BhcnRpY2xlcy9zbGltXCI7XG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiO1xuaW1wb3J0IHsgbW90aW9uLCB1c2VBbmltYXRpb24gfSBmcm9tIFwibW90aW9uL3JlYWN0XCI7XG5cbnR5cGUgUGFydGljbGVzUHJvcHMgPSB7XG4gIGlkPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIHBhcnRpY2xlU2l6ZT86IG51bWJlcjtcbiAgbWluU2l6ZT86IG51bWJlcjtcbiAgbWF4U2l6ZT86IG51bWJlcjtcbiAgc3BlZWQ/OiBudW1iZXI7XG4gIHBhcnRpY2xlQ29sb3I/OiBzdHJpbmc7XG4gIHBhcnRpY2xlRGVuc2l0eT86IG51bWJlcjtcbn07XG5leHBvcnQgY29uc3QgU3BhcmtsZXNDb3JlID0gKHByb3BzOiBQYXJ0aWNsZXNQcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgaWQsXG4gICAgY2xhc3NOYW1lLFxuICAgIGJhY2tncm91bmQsXG4gICAgbWluU2l6ZSxcbiAgICBtYXhTaXplLFxuICAgIHNwZWVkLFxuICAgIHBhcnRpY2xlQ29sb3IsXG4gICAgcGFydGljbGVEZW5zaXR5LFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtpbml0LCBzZXRJbml0XSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0UGFydGljbGVzRW5naW5lKGFzeW5jIChlbmdpbmUpID0+IHtcbiAgICAgIGF3YWl0IGxvYWRTbGltKGVuZ2luZSk7XG4gICAgfSkudGhlbigoKSA9PiB7XG4gICAgICBzZXRJbml0KHRydWUpO1xuICAgIH0pO1xuICB9LCBbXSk7XG4gIGNvbnN0IGNvbnRyb2xzID0gdXNlQW5pbWF0aW9uKCk7XG5cbiAgY29uc3QgcGFydGljbGVzTG9hZGVkID0gYXN5bmMgKGNvbnRhaW5lcj86IENvbnRhaW5lcikgPT4ge1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRyb2xzLnN0YXJ0KHtcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgIGR1cmF0aW9uOiAxLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdlbmVyYXRlZElkID0gdXNlSWQoKTtcbiAgcmV0dXJuIChcbiAgICA8bW90aW9uLmRpdiBhbmltYXRlPXtjb250cm9sc30gY2xhc3NOYW1lPXtjbihcIm9wYWNpdHktMFwiLCBjbGFzc05hbWUpfT5cbiAgICAgIHtpbml0ICYmIChcbiAgICAgICAgPFBhcnRpY2xlc1xuICAgICAgICAgIGlkPXtpZCB8fCBnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBjbGFzc05hbWU9e2NuKFwiaC1mdWxsIHctZnVsbFwiKX1cbiAgICAgICAgICBwYXJ0aWNsZXNMb2FkZWQ9e3BhcnRpY2xlc0xvYWRlZH1cbiAgICAgICAgICBvcHRpb25zPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGJhY2tncm91bmQgfHwgXCIjMGQ0N2ExXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnVsbFNjcmVlbjoge1xuICAgICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICB6SW5kZXg6IDEsXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBmcHNMaW1pdDogMTIwLFxuICAgICAgICAgICAgaW50ZXJhY3Rpdml0eToge1xuICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiB7XG4gICAgICAgICAgICAgICAgICBlbmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBtb2RlOiBcInB1c2hcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uSG92ZXI6IHtcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBtb2RlOiBcInJlcHVsc2VcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6ZTogdHJ1ZSBhcyBhbnksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG1vZGVzOiB7XG4gICAgICAgICAgICAgICAgcHVzaDoge1xuICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IDQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXB1bHNlOiB7XG4gICAgICAgICAgICAgICAgICBkaXN0YW5jZTogMjAwLFxuICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDAuNCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhcnRpY2xlczoge1xuICAgICAgICAgICAgICBib3VuY2U6IHtcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjb2xsaXNpb25zOiB7XG4gICAgICAgICAgICAgICAgYWJzb3JiOiB7XG4gICAgICAgICAgICAgICAgICBzcGVlZDogMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJvdW5jZToge1xuICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB2ZXJ0aWNhbDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1heFNwZWVkOiA1MCxcbiAgICAgICAgICAgICAgICBtb2RlOiBcImJvdW5jZVwiLFxuICAgICAgICAgICAgICAgIG92ZXJsYXA6IHtcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIHJldHJpZXM6IDAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcGFydGljbGVDb2xvciB8fCBcIiNmZmZmZmZcIixcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHtcbiAgICAgICAgICAgICAgICAgIGg6IHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHNwZWVkOiAxLFxuICAgICAgICAgICAgICAgICAgICBkZWNheTogMCxcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDAsXG4gICAgICAgICAgICAgICAgICAgIHN5bmM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBzOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50OiAwLFxuICAgICAgICAgICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzcGVlZDogMSxcbiAgICAgICAgICAgICAgICAgICAgZGVjYXk6IDAsXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5OiAwLFxuICAgICAgICAgICAgICAgICAgICBzeW5jOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgbDoge1xuICAgICAgICAgICAgICAgICAgICBjb3VudDogMCxcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDEsXG4gICAgICAgICAgICAgICAgICAgIGRlY2F5OiAwLFxuICAgICAgICAgICAgICAgICAgICBkZWxheTogMCxcbiAgICAgICAgICAgICAgICAgICAgc3luYzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlZmZlY3Q6IHtcbiAgICAgICAgICAgICAgICBjbG9zZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWxsOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IHt9IGFzIFNpbmdsZU9yTXVsdGlwbGU8c3RyaW5nPiB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZ3JvdXBzOiB7fSxcbiAgICAgICAgICAgICAgbW92ZToge1xuICAgICAgICAgICAgICAgIGFuZ2xlOiB7XG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogOTAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyYWN0OiB7XG4gICAgICAgICAgICAgICAgICBkaXN0YW5jZTogMjAwLFxuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICB4OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICB5OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNlbnRlcjoge1xuICAgICAgICAgICAgICAgICAgeDogNTAsXG4gICAgICAgICAgICAgICAgICB5OiA1MCxcbiAgICAgICAgICAgICAgICAgIG1vZGU6IFwicGVyY2VudFwiLFxuICAgICAgICAgICAgICAgICAgcmFkaXVzOiAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVjYXk6IDAsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2U6IHt9LFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgZHJpZnQ6IDAsXG4gICAgICAgICAgICAgICAgZW5hYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGdyYXZpdHk6IHtcbiAgICAgICAgICAgICAgICAgIGFjY2VsZXJhdGlvbjogOS44MSxcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBpbnZlcnNlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIG1heFNwZWVkOiA1MCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhdGg6IHtcbiAgICAgICAgICAgICAgICAgIGNsYW1wOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgZGVsYXk6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3V0TW9kZXM6IHtcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwib3V0XCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByYW5kb206IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNwZWVkOiB7XG4gICAgICAgICAgICAgICAgICBtaW46IDAuMSxcbiAgICAgICAgICAgICAgICAgIG1heDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwaW46IHtcbiAgICAgICAgICAgICAgICAgIGFjY2VsZXJhdGlvbjogMCxcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzdHJhaWdodDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHJhaWw6IHtcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBsZW5ndGg6IDEwLFxuICAgICAgICAgICAgICAgICAgZmlsbDoge30sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2aWJyYXRlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB3YXJwOiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICAgICAgZGVuc2l0eToge1xuICAgICAgICAgICAgICAgICAgZW5hYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwMCxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgICAgICAgIG1vZGU6IFwiZGVsZXRlXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJ0aWNsZURlbnNpdHkgfHwgMTIwLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGFjaXR5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgIG1pbjogMC4xLFxuICAgICAgICAgICAgICAgICAgbWF4OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBjb3VudDogMCxcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIHNwZWVkOiBzcGVlZCB8fCA0LFxuICAgICAgICAgICAgICAgICAgZGVjYXk6IDAsXG4gICAgICAgICAgICAgICAgICBkZWxheTogMCxcbiAgICAgICAgICAgICAgICAgIHN5bmM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgbW9kZTogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiBcInJhbmRvbVwiLFxuICAgICAgICAgICAgICAgICAgZGVzdHJveTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVkdWNlRHVwbGljYXRlczogZmFsc2UsXG4gICAgICAgICAgICAgIHNoYWRvdzoge1xuICAgICAgICAgICAgICAgIGJsdXI6IDAsXG4gICAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIiMwMDBcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiB7XG4gICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgeTogMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzaGFwZToge1xuICAgICAgICAgICAgICAgIGNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbGw6IHRydWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJjaXJjbGVcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICBtaW46IG1pblNpemUgfHwgMSxcbiAgICAgICAgICAgICAgICAgIG1heDogbWF4U2l6ZSB8fCAzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBjb3VudDogMCxcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBzcGVlZDogNSxcbiAgICAgICAgICAgICAgICAgIGRlY2F5OiAwLFxuICAgICAgICAgICAgICAgICAgZGVsYXk6IDAsXG4gICAgICAgICAgICAgICAgICBzeW5jOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIG1vZGU6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogXCJyYW5kb21cIixcbiAgICAgICAgICAgICAgICAgIGRlc3Ryb3k6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHN0cm9rZToge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB6SW5kZXg6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgICAgICBvcGFjaXR5UmF0ZTogMSxcbiAgICAgICAgICAgICAgICBzaXplUmF0ZTogMSxcbiAgICAgICAgICAgICAgICB2ZWxvY2l0eVJhdGU6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRlc3Ryb3k6IHtcbiAgICAgICAgICAgICAgICBib3VuZHM6IHt9LFxuICAgICAgICAgICAgICAgIG1vZGU6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIHNwbGl0OiB7XG4gICAgICAgICAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgICAgICAgICAgIGZhY3Rvcjoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByYXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbWluOiA0LFxuICAgICAgICAgICAgICAgICAgICAgIG1heDogOSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBzaXplT2Zmc2V0OiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHJvbGw6IHtcbiAgICAgICAgICAgICAgICBkYXJrZW46IHtcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZW5saWdodGVuOiB7XG4gICAgICAgICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlOiBcInZlcnRpY2FsXCIsXG4gICAgICAgICAgICAgICAgc3BlZWQ6IDI1LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0aWx0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgc3BlZWQ6IDAsXG4gICAgICAgICAgICAgICAgICBkZWNheTogMCxcbiAgICAgICAgICAgICAgICAgIHN5bmM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBcImNsb2Nrd2lzZVwiLFxuICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR3aW5rbGU6IHtcbiAgICAgICAgICAgICAgICBsaW5lczoge1xuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeTogMC4wNSxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYXJ0aWNsZXM6IHtcbiAgICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBmcmVxdWVuY3k6IDAuMDUsXG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHdvYmJsZToge1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlOiA1LFxuICAgICAgICAgICAgICAgIGVuYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc3BlZWQ6IHtcbiAgICAgICAgICAgICAgICAgIGFuZ2xlOiA1MCxcbiAgICAgICAgICAgICAgICAgIG1vdmU6IDEwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGxpZmU6IHtcbiAgICAgICAgICAgICAgICBjb3VudDogMCxcbiAgICAgICAgICAgICAgICBkZWxheToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgICAgICBzeW5jOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgICAgICAgIHN5bmM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHNwZWVkOiAwLFxuICAgICAgICAgICAgICAgICAgZGVjYXk6IDAsXG4gICAgICAgICAgICAgICAgICBzeW5jOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogXCJjbG9ja3dpc2VcIixcbiAgICAgICAgICAgICAgICBwYXRoOiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JiaXQ6IHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHtcbiAgICAgICAgICAgICAgICAgIGNvdW50OiAwLFxuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHNwZWVkOiAxLFxuICAgICAgICAgICAgICAgICAgZGVjYXk6IDAsXG4gICAgICAgICAgICAgICAgICBkZWxheTogMCxcbiAgICAgICAgICAgICAgICAgIHN5bmM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIHJvdGF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogNDUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbGlua3M6IHtcbiAgICAgICAgICAgICAgICBibGluazogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIiNmZmZcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbnNlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlOiAxMDAsXG4gICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmcmVxdWVuY3k6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBzaGFkb3c6IHtcbiAgICAgICAgICAgICAgICAgIGJsdXI6IDUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCIjMDAwXCIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRyaWFuZ2xlczoge1xuICAgICAgICAgICAgICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIHdhcnA6IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXB1bHNlOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2U6IDEsXG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDEsXG4gICAgICAgICAgICAgICAgZmFjdG9yOiAxLFxuICAgICAgICAgICAgICAgIHNwZWVkOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRldGVjdFJldGluYTogdHJ1ZSxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L21vdGlvbi5kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlSWQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlBhcnRpY2xlcyIsImluaXRQYXJ0aWNsZXNFbmdpbmUiLCJsb2FkU2xpbSIsImNuIiwibW90aW9uIiwidXNlQW5pbWF0aW9uIiwiU3BhcmtsZXNDb3JlIiwicHJvcHMiLCJpZCIsImNsYXNzTmFtZSIsImJhY2tncm91bmQiLCJtaW5TaXplIiwibWF4U2l6ZSIsInNwZWVkIiwicGFydGljbGVDb2xvciIsInBhcnRpY2xlRGVuc2l0eSIsImluaXQiLCJzZXRJbml0IiwiZW5naW5lIiwidGhlbiIsImNvbnRyb2xzIiwicGFydGljbGVzTG9hZGVkIiwiY29udGFpbmVyIiwic3RhcnQiLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImR1cmF0aW9uIiwiZ2VuZXJhdGVkSWQiLCJkaXYiLCJhbmltYXRlIiwib3B0aW9ucyIsImNvbG9yIiwidmFsdWUiLCJmdWxsU2NyZWVuIiwiZW5hYmxlIiwiekluZGV4IiwiZnBzTGltaXQiLCJpbnRlcmFjdGl2aXR5IiwiZXZlbnRzIiwib25DbGljayIsIm1vZGUiLCJvbkhvdmVyIiwicmVzaXplIiwibW9kZXMiLCJwdXNoIiwicXVhbnRpdHkiLCJyZXB1bHNlIiwiZGlzdGFuY2UiLCJwYXJ0aWNsZXMiLCJib3VuY2UiLCJob3Jpem9udGFsIiwidmVydGljYWwiLCJjb2xsaXNpb25zIiwiYWJzb3JiIiwibWF4U3BlZWQiLCJvdmVybGFwIiwicmV0cmllcyIsImFuaW1hdGlvbiIsImgiLCJjb3VudCIsImRlY2F5IiwiZGVsYXkiLCJzeW5jIiwib2Zmc2V0IiwicyIsImwiLCJlZmZlY3QiLCJjbG9zZSIsImZpbGwiLCJ0eXBlIiwiZ3JvdXBzIiwibW92ZSIsImFuZ2xlIiwiYXR0cmFjdCIsInJvdGF0ZSIsIngiLCJ5IiwiY2VudGVyIiwicmFkaXVzIiwiZGlyZWN0aW9uIiwiZHJpZnQiLCJncmF2aXR5IiwiYWNjZWxlcmF0aW9uIiwiaW52ZXJzZSIsInBhdGgiLCJjbGFtcCIsIm91dE1vZGVzIiwiZGVmYXVsdCIsInJhbmRvbSIsInNpemUiLCJtaW4iLCJtYXgiLCJzcGluIiwic3RyYWlnaHQiLCJ0cmFpbCIsImxlbmd0aCIsInZpYnJhdGUiLCJ3YXJwIiwibnVtYmVyIiwiZGVuc2l0eSIsIndpZHRoIiwiaGVpZ2h0IiwibGltaXQiLCJzdGFydFZhbHVlIiwiZGVzdHJveSIsInJlZHVjZUR1cGxpY2F0ZXMiLCJzaGFkb3ciLCJibHVyIiwic2hhcGUiLCJzdHJva2UiLCJvcGFjaXR5UmF0ZSIsInNpemVSYXRlIiwidmVsb2NpdHlSYXRlIiwiYm91bmRzIiwic3BsaXQiLCJmYWN0b3IiLCJyYXRlIiwic2l6ZU9mZnNldCIsInJvbGwiLCJkYXJrZW4iLCJlbmxpZ2h0ZW4iLCJ0aWx0IiwidHdpbmtsZSIsImxpbmVzIiwiZnJlcXVlbmN5Iiwid29iYmxlIiwibGlmZSIsIm9yYml0Iiwicm90YXRpb24iLCJsaW5rcyIsImJsaW5rIiwiY29uc2VudCIsInRyaWFuZ2xlcyIsImVuYWJsZWQiLCJkZXRlY3RSZXRpbmEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sparkles.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/toast.tsx":
/*!*************************************!*\
!*** ./src/components/ui/toast.tsx ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toast: () => (/* binding */ Toast),\n/* harmony export */ ToastClose: () => (/* binding */ ToastClose),\n/* harmony export */ ToastDescription: () => (/* binding */ ToastDescription),\n/* harmony export */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ ToastTitle: () => (/* binding */ ToastTitle),\n/* harmony export */ ToastViewport: () => (/* binding */ ToastViewport)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-toast */ \"(ssr)/./node_modules/@radix-ui/react-toast/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Toast,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport auto */ \n\n\n\n\nconst ToastProvider = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Provider;\nconst ToastViewport = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Viewport, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('fixed bottom-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-4 sm:right-4 sm:w-[390px]', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 14,\n columnNumber: 3\n }, undefined));\nToastViewport.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Viewport.displayName;\nconst toastVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)('group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none', {\n variants: {\n variant: {\n default: 'border-bg-light bg-bg text-text',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n});\nconst Toast = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(toastVariants({\n variant\n }), className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined);\n});\nToast.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\nconst ToastTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Title, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('text-sm font-semibold', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 60,\n columnNumber: 3\n }, undefined));\nToastTitle.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Title.displayName;\nconst ToastDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Description, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('text-sm opacity-90', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 72,\n columnNumber: 3\n }, undefined));\nToastDescription.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Description.displayName;\nconst ToastClose = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Close, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none group-hover:opacity-100', className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 99,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 92,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toast.tsx\",\n lineNumber: 84,\n columnNumber: 3\n }, undefined));\nToastClose.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Close.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90b2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDMEI7QUFDUztBQUVqQztBQUVoQyxNQUFNSSxnQkFBZ0JILDJEQUF3QjtBQUM5QyxNQUFNSyw4QkFBZ0JOLDZDQUFnQixDQUdwQyxDQUFDLEVBQUVRLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUMxQiw4REFBQ1QsMkRBQXdCO1FBQ3ZCUyxLQUFLQTtRQUNMRixXQUFXTCw4Q0FBRUEsQ0FDWCw0R0FDQUs7UUFFRCxHQUFHQyxLQUFLOzs7Ozs7QUFHYkgsY0FBY00sV0FBVyxHQUFHWCwyREFBd0IsQ0FBQ1csV0FBVztBQUVoRSxNQUFNQyxnQkFBZ0JYLDZEQUFHQSxDQUN2QiwrVkFDQTtJQUNFWSxVQUFVO1FBQ1JDLFNBQVM7WUFDUEMsU0FBUztZQUNUQyxhQUNFO1FBQ0o7SUFDRjtJQUNBQyxpQkFBaUI7UUFDZkgsU0FBUztJQUNYO0FBQ0Y7QUFHRixNQUFNSSxzQkFBUW5CLDZDQUFnQixDQUk1QixDQUFDLEVBQUVRLFNBQVMsRUFBRU8sT0FBTyxFQUFFLEdBQUdOLE9BQU8sRUFBRUM7SUFDbkMscUJBQ0UsOERBQUNULHVEQUFvQjtRQUNuQlMsS0FBS0E7UUFDTEYsV0FBV0wsOENBQUVBLENBQUNVLGNBQWM7WUFBRUU7UUFBUSxJQUFJUDtRQUN6QyxHQUFHQyxLQUFLOzs7Ozs7QUFHZjtBQUNBVSxNQUFNUCxXQUFXLEdBQUdYLHVEQUFvQixDQUFDVyxXQUFXO0FBRXBELE1BQU1TLDJCQUFhckIsNkNBQWdCLENBR2pDLENBQUMsRUFBRVEsU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQzFCLDhEQUFDVCx3REFBcUI7UUFDcEJTLEtBQUtBO1FBQ0xGLFdBQVdMLDhDQUFFQSxDQUFDLHlCQUF5Qks7UUFDdEMsR0FBR0MsS0FBSzs7Ozs7O0FBR2JZLFdBQVdULFdBQVcsR0FBR1gsd0RBQXFCLENBQUNXLFdBQVc7QUFFMUQsTUFBTVcsaUNBQW1CdkIsNkNBQWdCLENBR3ZDLENBQUMsRUFBRVEsU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQzFCLDhEQUFDVCw4REFBMkI7UUFDMUJTLEtBQUtBO1FBQ0xGLFdBQVdMLDhDQUFFQSxDQUFDLHNCQUFzQks7UUFDbkMsR0FBR0MsS0FBSzs7Ozs7O0FBR2JjLGlCQUFpQlgsV0FBVyxHQUFHWCw4REFBMkIsQ0FBQ1csV0FBVztBQUV0RSxNQUFNYSwyQkFBYXpCLDZDQUFnQixDQUdqQyxDQUFDLEVBQUVRLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUMxQiw4REFBQ1Qsd0RBQXFCO1FBQ3BCUyxLQUFLQTtRQUNMRixXQUFXTCw4Q0FBRUEsQ0FDWCw0S0FDQUs7UUFFRCxHQUFHQyxLQUFLO2tCQUVULDRFQUFDa0I7WUFDQ0MsT0FBTTtZQUNOQyxRQUFPO1lBQ1BDLFNBQVE7WUFDUkMsTUFBSztZQUNMQyxPQUFNO3NCQUVOLDRFQUFDQztnQkFDQ0MsR0FBRTtnQkFDRkgsTUFBSztnQkFDTEksVUFBUztnQkFDVEMsVUFBUzs7Ozs7Ozs7Ozs7Ozs7OztBQUtqQlgsV0FBV2IsV0FBVyxHQUFHWCx3REFBcUIsQ0FBQ1csV0FBVztBQVN6RCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2NvbXBvbmVudHMvdWkvdG9hc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCAqIGFzIFRvYXN0UHJpbWl0aXZlcyBmcm9tICdAcmFkaXgtdWkvcmVhY3QtdG9hc3QnXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5J1xuXG5pbXBvcnQgeyBjbiB9IGZyb20gJ0AvbGliL3V0aWxzJ1xuXG5jb25zdCBUb2FzdFByb3ZpZGVyID0gVG9hc3RQcmltaXRpdmVzLlByb3ZpZGVyXG5jb25zdCBUb2FzdFZpZXdwb3J0ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLlZpZXdwb3J0PixcbiAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuVmlld3BvcnQ+XG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXG4gIDxUb2FzdFByaW1pdGl2ZXMuVmlld3BvcnRcbiAgICByZWY9e3JlZn1cbiAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgJ2ZpeGVkIGJvdHRvbS0wIHotWzEwMF0gZmxleCBtYXgtaC1zY3JlZW4gdy1mdWxsIGZsZXgtY29sLXJldmVyc2UgcC00IHNtOmJvdHRvbS00IHNtOnJpZ2h0LTQgc206dy1bMzkwcHhdJyxcbiAgICAgIGNsYXNzTmFtZVxuICAgICl9XG4gICAgey4uLnByb3BzfVxuICAvPlxuKSlcblRvYXN0Vmlld3BvcnQuZGlzcGxheU5hbWUgPSBUb2FzdFByaW1pdGl2ZXMuVmlld3BvcnQuZGlzcGxheU5hbWVcblxuY29uc3QgdG9hc3RWYXJpYW50cyA9IGN2YShcbiAgJ2dyb3VwIHBvaW50ZXItZXZlbnRzLWF1dG8gcmVsYXRpdmUgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBzcGFjZS14LTQgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIHAtNiBwci04IHNoYWRvdy1sZyB0cmFuc2l0aW9uLWFsbCBkYXRhLVtzd2lwZT1jYW5jZWxdOnRyYW5zbGF0ZS14LTAgZGF0YS1bc3dpcGU9ZW5kXTp0cmFuc2xhdGUteC1bdmFyKC0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXgpXSBkYXRhLVtzd2lwZT1tb3ZlXTp0cmFuc2xhdGUteC1bdmFyKC0tcmFkaXgtdG9hc3Qtc3dpcGUtbW92ZS14KV0gZGF0YS1bc3dpcGU9bW92ZV06dHJhbnNpdGlvbi1ub25lJyxcbiAge1xuICAgIHZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIGRlZmF1bHQ6ICdib3JkZXItYmctbGlnaHQgYmctYmcgdGV4dC10ZXh0JyxcbiAgICAgICAgZGVzdHJ1Y3RpdmU6XG4gICAgICAgICAgJ2Rlc3RydWN0aXZlIGdyb3VwIGJvcmRlci1kZXN0cnVjdGl2ZSBiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRWYXJpYW50czoge1xuICAgICAgdmFyaWFudDogJ2RlZmF1bHQnLFxuICAgIH0sXG4gIH1cbilcblxuY29uc3QgVG9hc3QgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuUm9vdD4sXG4gIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLlJvb3Q+ICZcbiAgICBWYXJpYW50UHJvcHM8dHlwZW9mIHRvYXN0VmFyaWFudHM+XG4+KCh7IGNsYXNzTmFtZSwgdmFyaWFudCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFRvYXN0UHJpbWl0aXZlcy5Sb290XG4gICAgICByZWY9e3JlZn1cbiAgICAgIGNsYXNzTmFtZT17Y24odG9hc3RWYXJpYW50cyh7IHZhcmlhbnQgfSksIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufSlcblRvYXN0LmRpc3BsYXlOYW1lID0gVG9hc3RQcmltaXRpdmVzLlJvb3QuZGlzcGxheU5hbWVcblxuY29uc3QgVG9hc3RUaXRsZSA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5UaXRsZT4sXG4gIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLlRpdGxlPlxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxuICA8VG9hc3RQcmltaXRpdmVzLlRpdGxlXG4gICAgcmVmPXtyZWZ9XG4gICAgY2xhc3NOYW1lPXtjbigndGV4dC1zbSBmb250LXNlbWlib2xkJywgY2xhc3NOYW1lKX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pKVxuVG9hc3RUaXRsZS5kaXNwbGF5TmFtZSA9IFRvYXN0UHJpbWl0aXZlcy5UaXRsZS5kaXNwbGF5TmFtZVxuXG5jb25zdCBUb2FzdERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLkRlc2NyaXB0aW9uPixcbiAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuRGVzY3JpcHRpb24+XG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXG4gIDxUb2FzdFByaW1pdGl2ZXMuRGVzY3JpcHRpb25cbiAgICByZWY9e3JlZn1cbiAgICBjbGFzc05hbWU9e2NuKCd0ZXh0LXNtIG9wYWNpdHktOTAnLCBjbGFzc05hbWUpfVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbikpXG5Ub2FzdERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gVG9hc3RQcmltaXRpdmVzLkRlc2NyaXB0aW9uLmRpc3BsYXlOYW1lXG5cbmNvbnN0IFRvYXN0Q2xvc2UgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuQ2xvc2U+LFxuICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5DbG9zZT5cbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcbiAgPFRvYXN0UHJpbWl0aXZlcy5DbG9zZVxuICAgIHJlZj17cmVmfVxuICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAnYWJzb2x1dGUgcmlnaHQtMiB0b3AtMiByb3VuZGVkLW1kIHAtMSB0ZXh0LWZvcmVncm91bmQvNTAgb3BhY2l0eS0wIHRyYW5zaXRpb24tb3BhY2l0eSBob3Zlcjp0ZXh0LWZvcmVncm91bmQgZm9jdXM6b3BhY2l0eS0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwJyxcbiAgICAgIGNsYXNzTmFtZVxuICAgICl9XG4gICAgey4uLnByb3BzfVxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNVwiXG4gICAgICBoZWlnaHQ9XCIxNVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDE1IDE1XCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTEuNzgxNiA0LjAzMTU3QzEyLjAwNjIgMy44MDcwMiAxMi4wMDYyIDMuNDQyOTUgMTEuNzgxNiAzLjIxODRDMTEuNTU3MSAyLjk5Mzg1IDExLjE5MyAyLjk5Mzg1IDEwLjk2ODUgMy4yMTg0TDcuNTAwMDUgNi42ODY4Mkw0LjAzMTY0IDMuMjE4NEMzLjgwNzA4IDIuOTkzODUgMy40NDMwMSAyLjk5Mzg1IDMuMjE4NDYgMy4yMTg0QzIuOTkzOTEgMy40NDI5NSAyLjk5MzkxIDMuODA3MDIgMy4yMTg0NiA0LjAzMTU3TDYuNjg2ODggNy40OTk5OUwzLjIxODQ2IDEwLjk2ODRDMi45OTM5MSAxMS4xOTMgMi45OTM5MSAxMS41NTcgMy4yMTg0NiAxMS43ODE2QzMuNDQzMDEgMTIuMDA2MSAzLjgwNzA4IDEyLjAwNjEgNC4wMzE2NCAxMS43ODE2TDcuNTAwMDUgOC4zMTMxNkwxMC45Njg1IDExLjc4MTZDMTEuMTkzIDEyLjAwNjEgMTEuNTU3MSAxMi4wMDYxIDExLjc4MTYgMTEuNzgxNkMxMi4wMDYyIDExLjU1NyAxMi4wMDYyIDExLjE5MyAxMS43ODE2IDEwLjk2ODRMOC4zMTMyMiA3LjQ5OTk5TDExLjc4MTYgNC4wMzE1N1pcIlxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcFJ1bGU9XCJldmVub2RkXCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9zdmc+XG4gIDwvVG9hc3RQcmltaXRpdmVzLkNsb3NlPlxuKSlcblRvYXN0Q2xvc2UuZGlzcGxheU5hbWUgPSBUb2FzdFByaW1pdGl2ZXMuQ2xvc2UuZGlzcGxheU5hbWVcblxuZXhwb3J0IHtcbiAgVG9hc3QsXG4gIFRvYXN0Q2xvc2UsXG4gIFRvYXN0RGVzY3JpcHRpb24sXG4gIFRvYXN0UHJvdmlkZXIsXG4gIFRvYXN0VGl0bGUsXG4gIFRvYXN0Vmlld3BvcnQsXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUb2FzdFByaW1pdGl2ZXMiLCJjdmEiLCJjbiIsIlRvYXN0UHJvdmlkZXIiLCJQcm92aWRlciIsIlRvYXN0Vmlld3BvcnQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJWaWV3cG9ydCIsImRpc3BsYXlOYW1lIiwidG9hc3RWYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsImRlZmF1bHRWYXJpYW50cyIsIlRvYXN0IiwiUm9vdCIsIlRvYXN0VGl0bGUiLCJUaXRsZSIsIlRvYXN0RGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsIlRvYXN0Q2xvc2UiLCJDbG9zZSIsInN2ZyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJ4bWxucyIsInBhdGgiLCJkIiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/toast.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/toaster.tsx":
/*!***************************************!*\
!*** ./src/components/ui/toaster.tsx ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_toast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/toast */ \"(ssr)/./src/components/ui/toast.tsx\");\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nfunction Toaster() {\n const { toasts } = (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_2__.useToast)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastProvider, {\n children: [\n toasts.map(function({ id, title, description, action, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.Toast, {\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid gap-1\",\n children: [\n title && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastTitle, {\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 22,\n columnNumber: 25\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastDescription, {\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 24,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this),\n action,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastClose, {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 28,\n columnNumber: 13\n }, this)\n ]\n }, id, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, this);\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastViewport, {}, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/toaster.tsx\",\n lineNumber: 17,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90b2FzdGVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTOEI7QUFDYztBQUVyQyxTQUFTTztJQUNkLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdGLDBEQUFRQTtJQUUzQixxQkFDRSw4REFBQ0gsK0RBQWFBOztZQUNYSyxPQUFPQyxHQUFHLENBQUMsU0FBVSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsT0FBTztnQkFDaEUscUJBQ0UsOERBQUNkLHVEQUFLQTtvQkFBVyxHQUFHYyxLQUFLOztzQ0FDdkIsOERBQUNDOzRCQUFJQyxXQUFVOztnQ0FDWkwsdUJBQVMsOERBQUNQLDREQUFVQTs4Q0FBRU87Ozs7OztnQ0FDdEJDLDZCQUNDLDhEQUFDVixrRUFBZ0JBOzhDQUFFVTs7Ozs7Ozs7Ozs7O3dCQUd0QkM7c0NBQ0QsOERBQUNaLDREQUFVQTs7Ozs7O21CQVJEUzs7Ozs7WUFXaEI7MEJBQ0EsOERBQUNMLCtEQUFhQTs7Ozs7Ozs7Ozs7QUFHcEIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9jb21wb25lbnRzL3VpL3RvYXN0ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQge1xuICBUb2FzdCxcbiAgVG9hc3RDbG9zZSxcbiAgVG9hc3REZXNjcmlwdGlvbixcbiAgVG9hc3RQcm92aWRlcixcbiAgVG9hc3RUaXRsZSxcbiAgVG9hc3RWaWV3cG9ydCxcbn0gZnJvbSAnQC9jb21wb25lbnRzL3VpL3RvYXN0J1xuaW1wb3J0IHsgdXNlVG9hc3QgfSBmcm9tICdAL2hvb2tzL3VzZS10b2FzdCdcblxuZXhwb3J0IGZ1bmN0aW9uIFRvYXN0ZXIoKSB7XG4gIGNvbnN0IHsgdG9hc3RzIH0gPSB1c2VUb2FzdCgpXG5cbiAgcmV0dXJuIChcbiAgICA8VG9hc3RQcm92aWRlcj5cbiAgICAgIHt0b2FzdHMubWFwKGZ1bmN0aW9uICh7IGlkLCB0aXRsZSwgZGVzY3JpcHRpb24sIGFjdGlvbiwgLi4ucHJvcHMgfSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUb2FzdCBrZXk9e2lkfSB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdhcC0xXCI+XG4gICAgICAgICAgICAgIHt0aXRsZSAmJiA8VG9hc3RUaXRsZT57dGl0bGV9PC9Ub2FzdFRpdGxlPn1cbiAgICAgICAgICAgICAge2Rlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICAgICAgICA8VG9hc3REZXNjcmlwdGlvbj57ZGVzY3JpcHRpb259PC9Ub2FzdERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7YWN0aW9ufVxuICAgICAgICAgICAgPFRvYXN0Q2xvc2UgLz5cbiAgICAgICAgICA8L1RvYXN0PlxuICAgICAgICApXG4gICAgICB9KX1cbiAgICAgIDxUb2FzdFZpZXdwb3J0IC8+XG4gICAgPC9Ub2FzdFByb3ZpZGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiVG9hc3QiLCJUb2FzdENsb3NlIiwiVG9hc3REZXNjcmlwdGlvbiIsIlRvYXN0UHJvdmlkZXIiLCJUb2FzdFRpdGxlIiwiVG9hc3RWaWV3cG9ydCIsInVzZVRvYXN0IiwiVG9hc3RlciIsInRvYXN0cyIsIm1hcCIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImFjdGlvbiIsInByb3BzIiwiZGl2IiwiY2xhc3NOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/toaster.tsx\n");
/***/ }),
/***/ "(ssr)/./src/hooks/use-toast.ts":
/*!********************************!*\
!*** ./src/hooks/use-toast.ts ***!
\********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toast: () => (/* binding */ toast),\n/* harmony export */ useToast: () => (/* binding */ useToast)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* __next_internal_client_entry_do_not_use__ useToast,toast auto */ \nconst TOAST_LIMIT = 3;\nconst TOAST_REMOVE_DELAY = 1000000;\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST'\n};\nlet count = 0;\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\nconst reducer = (state, action)=>{\n switch(action.type){\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [\n action.toast,\n ...state.toasts\n ].slice(0, TOAST_LIMIT)\n };\n case actionTypes.DISMISS_TOAST:\n {\n const { toastId } = action;\n return {\n ...state,\n toasts: state.toasts.map((toast)=>toast.id === toastId ? {\n ...toast,\n status: 'error'\n } : toast)\n };\n }\n case actionTypes.REMOVE_TOAST:\n return {\n ...state,\n toasts: state.toasts.filter((toast)=>toast.id !== action.toastId)\n };\n }\n};\nconst listeners = [];\nlet memoryState = {\n toasts: []\n};\nfunction dispatch(action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener)=>{\n listener(memoryState);\n });\n}\nfunction toast({ ...props }) {\n const id = genId();\n const update = (props)=>dispatch({\n type: actionTypes.UPDATE_TOAST,\n toast: {\n ...props,\n id\n }\n });\n const dismiss = ()=>dispatch({\n type: actionTypes.DISMISS_TOAST,\n toastId: id\n });\n dispatch({\n type: actionTypes.ADD_TOAST,\n toast: {\n ...props,\n id,\n status: props.status ?? 'info',\n title: props.title,\n description: props.description,\n action: props.action\n }\n });\n return {\n id: id,\n dismiss,\n update\n };\n}\nfunction useToast() {\n const [state, setState] = react__WEBPACK_IMPORTED_MODULE_0__.useState(memoryState);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"useToast.useEffect\": ()=>{\n listeners.push(setState);\n return ({\n \"useToast.useEffect\": ()=>{\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n })[\"useToast.useEffect\"];\n }\n }[\"useToast.useEffect\"], [\n state\n ]);\n return {\n ...state,\n toast,\n dismiss: (toastId)=>dispatch({\n type: actionTypes.DISMISS_TOAST,\n toastId\n })\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9ob29rcy91c2UtdG9hc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBUT0FTVF9MSU1JVCA9IDNcbmNvbnN0IFRPQVNUX1JFTU9WRV9ERUxBWSA9IDEwMDAwMDBcblxudHlwZSBUb2FzdGVyVG9hc3QgPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU/OiBSZWFjdC5SZWFjdE5vZGVcbiAgZGVzY3JpcHRpb24/OiBSZWFjdC5SZWFjdE5vZGVcbiAgYWN0aW9uPzogUmVhY3QuUmVhY3ROb2RlXG4gIHN0YXR1cz86ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbycgfCAnd2FybmluZydcbn1cblxuY29uc3QgYWN0aW9uVHlwZXMgPSB7XG4gIEFERF9UT0FTVDogJ0FERF9UT0FTVCcsXG4gIFVQREFURV9UT0FTVDogJ1VQREFURV9UT0FTVCcsXG4gIERJU01JU1NfVE9BU1Q6ICdESVNNSVNTX1RPQVNUJyxcbiAgUkVNT1ZFX1RPQVNUOiAnUkVNT1ZFX1RPQVNUJyxcbn0gYXMgY29uc3RcblxubGV0IGNvdW50ID0gMFxuXG5mdW5jdGlvbiBnZW5JZCgpIHtcbiAgY291bnQgPSAoY291bnQgKyAxKSAlIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIHJldHVybiBjb3VudC50b1N0cmluZygpXG59XG5cbnR5cGUgU3RhdGUgPSB7XG4gIHRvYXN0czogVG9hc3RlclRvYXN0W11cbn1cblxudHlwZSBBY3Rpb24gPVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBhY3Rpb25UeXBlcy5BRERfVE9BU1RcbiAgICAgIHRvYXN0OiBUb2FzdGVyVG9hc3RcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogdHlwZW9mIGFjdGlvblR5cGVzLkRJU01JU1NfVE9BU1RcbiAgICAgIHRvYXN0SWQ/OiBUb2FzdGVyVG9hc3RbJ2lkJ11cbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogdHlwZW9mIGFjdGlvblR5cGVzLlJFTU9WRV9UT0FTVFxuICAgICAgdG9hc3RJZD86IFRvYXN0ZXJUb2FzdFsnaWQnXVxuICAgIH1cblxuY29uc3QgcmVkdWNlciA9IChzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogU3RhdGUgPT4ge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBhY3Rpb25UeXBlcy5BRERfVE9BU1Q6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgdG9hc3RzOiBbYWN0aW9uLnRvYXN0LCAuLi5zdGF0ZS50b2FzdHNdLnNsaWNlKDAsIFRPQVNUX0xJTUlUKSxcbiAgICAgIH1cblxuICAgIGNhc2UgYWN0aW9uVHlwZXMuRElTTUlTU19UT0FTVDoge1xuICAgICAgY29uc3QgeyB0b2FzdElkIH0gPSBhY3Rpb25cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHRvYXN0czogc3RhdGUudG9hc3RzLm1hcCgodG9hc3QpID0+XG4gICAgICAgICAgdG9hc3QuaWQgPT09IHRvYXN0SWQgPyB7IC4uLnRvYXN0LCBzdGF0dXM6ICdlcnJvcicgfSA6IHRvYXN0XG4gICAgICAgICksXG4gICAgICB9XG4gICAgfVxuICAgIGNhc2UgYWN0aW9uVHlwZXMuUkVNT1ZFX1RPQVNUOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHRvYXN0czogc3RhdGUudG9hc3RzLmZpbHRlcigodG9hc3QpID0+IHRvYXN0LmlkICE9PSBhY3Rpb24udG9hc3RJZCksXG4gICAgICB9XG4gIH1cbn1cblxuY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoc3RhdGU6IFN0YXRlKSA9PiB2b2lkPiA9IFtdXG5cbmxldCBtZW1vcnlTdGF0ZTogU3RhdGUgPSB7IHRvYXN0czogW10gfVxuXG5mdW5jdGlvbiBkaXNwYXRjaChhY3Rpb246IEFjdGlvbikge1xuICBtZW1vcnlTdGF0ZSA9IHJlZHVjZXIobWVtb3J5U3RhdGUsIGFjdGlvbilcbiAgbGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgbGlzdGVuZXIobWVtb3J5U3RhdGUpXG4gIH0pXG59XG5cbmZ1bmN0aW9uIHRvYXN0KHsgLi4ucHJvcHMgfTogVG9hc3RlclRvYXN0KSB7XG4gIGNvbnN0IGlkID0gZ2VuSWQoKVxuXG4gIGNvbnN0IHVwZGF0ZSA9IChwcm9wcz86IFRvYXN0ZXJUb2FzdCkgPT5cbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBhY3Rpb25UeXBlcy5VUERBVEVfVE9BU1QsXG4gICAgICB0b2FzdDogeyAuLi5wcm9wcywgaWQgfSxcbiAgICB9KVxuXG4gIGNvbnN0IGRpc21pc3MgPSAoKSA9PlxuICAgIGRpc3BhdGNoKHsgdHlwZTogYWN0aW9uVHlwZXMuRElTTUlTU19UT0FTVCwgdG9hc3RJZDogaWQgfSlcblxuICBkaXNwYXRjaCh7XG4gICAgdHlwZTogYWN0aW9uVHlwZXMuQUREX1RPQVNULFxuICAgIHRvYXN0OiB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGlkLFxuICAgICAgc3RhdHVzOiBwcm9wcy5zdGF0dXMgPz8gJ2luZm8nLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgYWN0aW9uOiBwcm9wcy5hY3Rpb24sXG4gICAgfSxcbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGlkOiBpZCxcbiAgICBkaXNtaXNzLFxuICAgIHVwZGF0ZSxcbiAgfVxufVxuXG5mdW5jdGlvbiB1c2VUb2FzdCgpIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSBSZWFjdC51c2VTdGF0ZTxTdGF0ZT4obWVtb3J5U3RhdGUpXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBsaXN0ZW5lcnMucHVzaChzZXRTdGF0ZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBsaXN0ZW5lcnMuaW5kZXhPZihzZXRTdGF0ZSlcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICB9XG4gICAgfVxuICB9LCBbc3RhdGVdKVxuXG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgdG9hc3QsXG4gICAgZGlzbWlzczogKHRvYXN0SWQ/OiBzdHJpbmcpID0+XG4gICAgICBkaXNwYXRjaCh7IHR5cGU6IGFjdGlvblR5cGVzLkRJU01JU1NfVE9BU1QsIHRvYXN0SWQgfSksXG4gIH1cbn1cblxuZXhwb3J0IHsgdXNlVG9hc3QsIHRvYXN0IH1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRPQVNUX0xJTUlUIiwiVE9BU1RfUkVNT1ZFX0RFTEFZIiwiYWN0aW9uVHlwZXMiLCJBRERfVE9BU1QiLCJVUERBVEVfVE9BU1QiLCJESVNNSVNTX1RPQVNUIiwiUkVNT1ZFX1RPQVNUIiwiY291bnQiLCJnZW5JZCIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJ0b1N0cmluZyIsInJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJ0b2FzdHMiLCJ0b2FzdCIsInNsaWNlIiwidG9hc3RJZCIsIm1hcCIsImlkIiwic3RhdHVzIiwiZmlsdGVyIiwibGlzdGVuZXJzIiwibWVtb3J5U3RhdGUiLCJkaXNwYXRjaCIsImZvckVhY2giLCJsaXN0ZW5lciIsInByb3BzIiwidXBkYXRlIiwiZGlzbWlzcyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJ1c2VUb2FzdCIsInNldFN0YXRlIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJwdXNoIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/hooks/use-toast.ts\n");
/***/ }),
/***/ "(ssr)/./src/lib/utils.ts":
/*!**************************!*\
!*** ./src/lib/utils.ts ***!
\**************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDeEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN0QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvc3JjL2xpYi91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tICdjbHN4J1xuaW1wb3J0IHsgdHdNZXJnZSB9IGZyb20gJ3RhaWx3aW5kLW1lcmdlJ1xuXG5leHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHtcbiAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxufVxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n");
/***/ }),
/***/ "../app-render/action-async-storage.external":
/*!*******************************************************************************!*\
!*** external "next/dist/server/app-render/action-async-storage.external.js" ***!
\*******************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
/***/ }),
/***/ "../app-render/after-task-async-storage.external":
/*!***********************************************************************************!*\
!*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***!
\***********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
/***/ }),
/***/ "../app-render/dynamic-access-async-storage.external":
/*!***************************************************************************************!*\
!*** external "next/dist/server/app-render/dynamic-access-async-storage.external.js" ***!
\***************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/dynamic-access-async-storage.external.js");
/***/ }),
/***/ "./work-async-storage.external":
/*!*****************************************************************************!*\
!*** external "next/dist/server/app-render/work-async-storage.external.js" ***!
\*****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
/***/ }),
/***/ "./work-unit-async-storage.external":
/*!**********************************************************************************!*\
!*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***!
\**********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
/***/ }),
/***/ "async_hooks":
/*!******************************!*\
!*** external "async_hooks" ***!
\******************************/
/***/ ((module) => {
"use strict";
module.exports = require("async_hooks");
/***/ }),
/***/ "child_process":
/*!********************************!*\
!*** external "child_process" ***!
\********************************/
/***/ ((module) => {
"use strict";
module.exports = require("child_process");
/***/ }),
/***/ "crypto":
/*!*************************!*\
!*** external "crypto" ***!
\*************************/
/***/ ((module) => {
"use strict";
module.exports = require("crypto");
/***/ }),
/***/ "diagnostics_channel":
/*!**************************************!*\
!*** external "diagnostics_channel" ***!
\**************************************/
/***/ ((module) => {
"use strict";
module.exports = require("diagnostics_channel");
/***/ }),
/***/ "events":
/*!*************************!*\
!*** external "events" ***!
\*************************/
/***/ ((module) => {
"use strict";
module.exports = require("events");
/***/ }),
/***/ "fs":
/*!*********************!*\
!*** external "fs" ***!
\*********************/
/***/ ((module) => {
"use strict";
module.exports = require("fs");
/***/ }),
/***/ "import-in-the-middle":
/*!***************************************!*\
!*** external "import-in-the-middle" ***!
\***************************************/
/***/ ((module) => {
"use strict";
module.exports = require("import-in-the-middle");
/***/ }),
/***/ "module":
/*!*************************!*\
!*** external "module" ***!
\*************************/
/***/ ((module) => {
"use strict";
module.exports = require("module");
/***/ }),
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
/*!*************************************************************************!*\
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
\*************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
/***/ }),
/***/ "next/dist/shared/lib/no-fallback-error.external":
/*!******************************************************************!*\
!*** external "next/dist/shared/lib/no-fallback-error.external" ***!
\******************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/no-fallback-error.external");
/***/ }),
/***/ "next/dist/shared/lib/router/utils/app-paths":
/*!**************************************************************!*\
!*** external "next/dist/shared/lib/router/utils/app-paths" ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/router/utils/app-paths");
/***/ }),
/***/ "next/dist/shared/lib/router/utils/is-bot":
/*!***********************************************************!*\
!*** external "next/dist/shared/lib/router/utils/is-bot" ***!
\***********************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/router/utils/is-bot");
/***/ }),
/***/ "node:child_process":
/*!*************************************!*\
!*** external "node:child_process" ***!
\*************************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:child_process");
/***/ }),
/***/ "node:diagnostics_channel":
/*!*******************************************!*\
!*** external "node:diagnostics_channel" ***!
\*******************************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:diagnostics_channel");
/***/ }),
/***/ "node:fs":
/*!**************************!*\
!*** external "node:fs" ***!
\**************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:fs");
/***/ }),
/***/ "node:http":
/*!****************************!*\
!*** external "node:http" ***!
\****************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:http");
/***/ }),
/***/ "node:https":
/*!*****************************!*\
!*** external "node:https" ***!
\*****************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:https");
/***/ }),
/***/ "node:inspector":
/*!*********************************!*\
!*** external "node:inspector" ***!
\*********************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:inspector");
/***/ }),
/***/ "node:net":
/*!***************************!*\
!*** external "node:net" ***!
\***************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:net");
/***/ }),
/***/ "node:os":
/*!**************************!*\
!*** external "node:os" ***!
\**************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:os");
/***/ }),
/***/ "node:path":
/*!****************************!*\
!*** external "node:path" ***!
\****************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:path");
/***/ }),
/***/ "node:readline":
/*!********************************!*\
!*** external "node:readline" ***!
\********************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:readline");
/***/ }),
/***/ "node:stream":
/*!******************************!*\
!*** external "node:stream" ***!
\******************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:stream");
/***/ }),
/***/ "node:tls":
/*!***************************!*\
!*** external "node:tls" ***!
\***************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:tls");
/***/ }),
/***/ "node:util":
/*!****************************!*\
!*** external "node:util" ***!
\****************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:util");
/***/ }),
/***/ "node:worker_threads":
/*!**************************************!*\
!*** external "node:worker_threads" ***!
\**************************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:worker_threads");
/***/ }),
/***/ "node:zlib":
/*!****************************!*\
!*** external "node:zlib" ***!
\****************************/
/***/ ((module) => {
"use strict";
module.exports = require("node:zlib");
/***/ }),
/***/ "os":
/*!*********************!*\
!*** external "os" ***!
\*********************/
/***/ ((module) => {
"use strict";
module.exports = require("os");
/***/ }),
/***/ "path":
/*!***********************!*\
!*** external "path" ***!
\***********************/
/***/ ((module) => {
"use strict";
module.exports = require("path");
/***/ }),
/***/ "perf_hooks":
/*!*****************************!*\
!*** external "perf_hooks" ***!
\*****************************/
/***/ ((module) => {
"use strict";
module.exports = require("perf_hooks");
/***/ }),
/***/ "process":
/*!**************************!*\
!*** external "process" ***!
\**************************/
/***/ ((module) => {
"use strict";
module.exports = require("process");
/***/ }),
/***/ "require-in-the-middle":
/*!****************************************!*\
!*** external "require-in-the-middle" ***!
\****************************************/
/***/ ((module) => {
"use strict";
module.exports = require("require-in-the-middle");
/***/ }),
/***/ "tty":
/*!**********************!*\
!*** external "tty" ***!
\**********************/
/***/ ((module) => {
"use strict";
module.exports = require("tty");
/***/ }),
/***/ "url":
/*!**********************!*\
!*** external "url" ***!
\**********************/
/***/ ((module) => {
"use strict";
module.exports = require("url");
/***/ }),
/***/ "util":
/*!***********************!*\
!*** external "util" ***!
\***********************/
/***/ ((module) => {
"use strict";
module.exports = require("util");
/***/ }),
/***/ "worker_threads":
/*!*********************************!*\
!*** external "worker_threads" ***!
\*********************************/
/***/ ((module) => {
"use strict";
module.exports = require("worker_threads");
/***/ })
};
;
// load runtime
var __webpack_require__ = require("../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/@opentelemetry","vendor-chunks/next","vendor-chunks/@swc","vendor-chunks/@sentry","vendor-chunks/@prisma","vendor-chunks/semver","vendor-chunks/color-convert","vendor-chunks/is-core-module","vendor-chunks/forwarded-parse","vendor-chunks/color-name","vendor-chunks/ansi-styles","vendor-chunks/stacktrace-parser","vendor-chunks/shimmer","vendor-chunks/supports-color","vendor-chunks/function-bind","vendor-chunks/path-parse","vendor-chunks/balanced-match","vendor-chunks/has-flag","vendor-chunks/hasown","vendor-chunks/next-auth","vendor-chunks/@babel","vendor-chunks/framer-motion","vendor-chunks/@radix-ui","vendor-chunks/tailwind-merge","vendor-chunks/next-themes","vendor-chunks/class-variance-authority","vendor-chunks/clsx","vendor-chunks/motion-dom","vendor-chunks/motion-utils","vendor-chunks/@tsparticles","vendor-chunks/@tabler","vendor-chunks/lenis"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=mdx&rootDir=%2Fhome%2FNicholai%2FDocuments%2FDev%2Fbiohazard-vfx-2&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!")));
module.exports = __webpack_exports__;
})();