Files
shadow-gunbuilder-ai-proto/.next/server/app/_not-found/page.js
T

272 lines
124 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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/_not-found/page";
exports.ids = ["app/_not-found/page"];
exports.modules = {
/***/ "./action-async-storage.external":
/*!****************************************************************************!*\
!*** external "next/dist/client/components/action-async-storage.external" ***!
\****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/action-async-storage.external");
/***/ }),
/***/ "../../client/components/action-async-storage.external":
/*!*******************************************************************************!*\
!*** external "next/dist/client/components/action-async-storage.external.js" ***!
\*******************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/action-async-storage.external.js");
/***/ }),
/***/ "./request-async-storage.external":
/*!*****************************************************************************!*\
!*** external "next/dist/client/components/request-async-storage.external" ***!
\*****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/request-async-storage.external");
/***/ }),
/***/ "../../client/components/request-async-storage.external":
/*!********************************************************************************!*\
!*** external "next/dist/client/components/request-async-storage.external.js" ***!
\********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/request-async-storage.external.js");
/***/ }),
/***/ "./static-generation-async-storage.external":
/*!***************************************************************************************!*\
!*** external "next/dist/client/components/static-generation-async-storage.external" ***!
\***************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/static-generation-async-storage.external");
/***/ }),
/***/ "../../client/components/static-generation-async-storage.external":
/*!******************************************************************************************!*\
!*** external "next/dist/client/components/static-generation-async-storage.external.js" ***!
\******************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/client/components/static-generation-async-storage.external.js");
/***/ }),
/***/ "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");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__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 default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\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_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\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_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\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: [\"/_not-found\", {\n children: ['__PAGE__', {}, {\n page: [\n () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)),\n \"next/dist/client/components/not-found-error\"\n ]\n }]\n }, {}]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/_not-found/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/_not-found/page\",\n pathname: \"/_not-found\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZfbm90LWZvdW5kJTJGcGFnZSZwYWdlPSUyRl9ub3QtZm91bmQlMkZwYWdlJmFwcFBhdGhzPSZwYWdlUGF0aD1ub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZub3QtZm91bmQtZXJyb3IuanMmYXBwRGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0Esc0JBQXNCLDBOQUFnRjtBQUN0RztBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVcsSUFBSTtBQUNmLFNBQVM7QUFDVDtBQUNBLHlCQUF5Qiw0SUFBd0Y7QUFDakgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz8wZTY0Il0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgICBjaGlsZHJlbjogW1wiL19ub3QtZm91bmRcIiwge1xuICAgICAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgICAgICBwYWdlOiBbXG4gICAgICAgICAgICAgICAgKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLFxuICAgICAgICAgICAgICAgIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgfSwge31dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiKSwgXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvX25vdC1mb3VuZC9wYWdlXCI7XG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL19ub3QtZm91bmQvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvX25vdC1mb3VuZFwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FBuilderNav.tsx%22%2C%22ids%22%3A%5B%22BuilderNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&server=true!":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FBuilderNav.tsx%22%2C%22ids%22%3A%5B%22BuilderNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&server=true! ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/BuilderNav.tsx */ \"(ssr)/./components/BuilderNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGQnVpbGRlck5hdi50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJCdWlsZGVyTmF2JTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGY29tcG9uZW50cyUyRlRvcE5hdi50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJUb3BOYXYlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb250ZXh0JTJGQXV0aENvbnRleHQudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyQXV0aFByb3ZpZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxrS0FBbUk7QUFDbkk7QUFDQSwwSkFBMkg7QUFDM0g7QUFDQSw4SkFBbUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8/YWRkNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkJ1aWxkZXJOYXZcIl0gKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvY29tcG9uZW50cy9CdWlsZGVyTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FBuilderNav.tsx%22%2C%22ids%22%3A%5B%22BuilderNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%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%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.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%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.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/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.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/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/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/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./components/BuilderNav.tsx":
/*!***********************************!*\
!*** ./components/BuilderNav.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 */ BuilderNav: () => (/* binding */ BuilderNav),\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/future/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/api/link.js\");\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 _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/data/gunbuilderParts */ \"(ssr)/./data/gunbuilderParts.ts\");\n/* __next_internal_client_entry_do_not_use__ BuilderNav,default auto */ \n\n\n\n// Helper to group categories for the dropdowns\nfunction groupCategories(group) {\n return _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_3__.CATEGORIES.filter((c)=>c.group === group);\n}\nfunction BuilderNav({ activeCategoryId }) {\n const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)();\n const lower = groupCategories(\"lower\");\n const upper = groupCategories(\"upper\");\n const accessories = groupCategories(\"accessories\");\n const currentCategory = activeCategoryId ?? searchParams.get(\"category\") ?? undefined;\n const baseHref = \"/gunbuilder\";\n const renderDropdown = (label, items)=>{\n if (!items.length) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: `inline-flex items-center gap-1 font-medium tracking-wide transition-colors uppercase text-[11px] ${items.some((cat)=>cat.id === currentCategory) ? \"text-white\" : \"text-neutral-200 hover:text-white\"}`,\n children: [\n label,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[9px]\",\n children: \"▾\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 43,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"invisible opacity-0 group-hover:visible group-hover:opacity-100 transition-all absolute left-0 mt-2 rounded-md border border-neutral-800 bg-black/95 shadow-xl z-40 min-w-[220px]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"py-2 text-sm\",\n children: items.map((cat)=>{\n const isActive = currentCategory === cat.id;\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_1__[\"default\"], {\n href: `${baseHref}/${cat.id}`,\n className: [\n \"block w-full px-3 py-1.5 text-left text-sm transition-colors\",\n isActive ? \"bg-neutral-800 text-white\" : \"text-neutral-300 hover:bg-neutral-800 hover:text-white\"\n ].join(\" \"),\n children: cat.name\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 52,\n columnNumber: 19\n }, this)\n }, cat.id, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 51,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto w-full\",\n children: [\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"flex items-center gap-6 border-b border-neutral-900 px-6 py-3 text-sm bg-black/95 backdrop-blur-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: baseHref,\n className: \"font-semibold text-neutral-100 hover:text-white tracking-[0.25em] uppercase text-[11px]\",\n children: \"Builder\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n renderDropdown(\"Lower Parts\", lower),\n renderDropdown(\"Upper Parts\", upper),\n renderDropdown(\"Accessories\", accessories),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/builds\",\n className: \"font-medium text-neutral-300 hover:text-white tracking-[0.25em] uppercase text-[11px]\",\n children: \"Builds\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n currentCategory && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"ml-auto flex items-center gap-2 text-neutral-400 text-xs\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"uppercase tracking-wide text-[10px]\",\n children: \"Viewing\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 97,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-neutral-100\",\n children: _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_3__.CATEGORIES.find((c)=>c.id === currentCategory)?.name ?? currentCategory\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 98,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: baseHref,\n className: \"rounded border border-neutral-700 px-2 py-0.5 text-[10px] uppercase tracking-wide hover:bg-neutral-800 hover:text-white\",\n children: \"Clear\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 102,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 96,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 74,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx\",\n lineNumber: 73,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BuilderNav);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0J1aWxkZXJOYXYudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRTZCO0FBQ3FCO0FBQ0U7QUFPcEQsK0NBQStDO0FBQy9DLFNBQVNHLGdCQUFnQkMsS0FBd0M7SUFDL0QsT0FBT0YsNkRBQVVBLENBQUNHLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFRixLQUFLLEtBQUtBO0FBQzlDO0FBRU8sU0FBU0csV0FBVyxFQUFFQyxnQkFBZ0IsRUFBbUI7SUFDOUQsTUFBTUMsZUFBZVIsZ0VBQWVBO0lBRXBDLE1BQU1TLFFBQVFQLGdCQUFnQjtJQUM5QixNQUFNUSxRQUFRUixnQkFBZ0I7SUFDOUIsTUFBTVMsY0FBY1QsZ0JBQWdCO0lBRXBDLE1BQU1VLGtCQUNKTCxvQkFBb0JDLGFBQWFLLEdBQUcsQ0FBQyxlQUFlQztJQUV0RCxNQUFNQyxXQUFXO0lBRWpCLE1BQU1DLGlCQUFpQixDQUFDQyxPQUFlQztRQUNyQyxJQUFJLENBQUNBLE1BQU1DLE1BQU0sRUFBRSxPQUFPO1FBRTFCLHFCQUNFLDhEQUFDQztZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQ0NDLE1BQUs7b0JBQ0xGLFdBQVcsQ0FBQyxpR0FBaUcsRUFDM0dILE1BQU1NLElBQUksQ0FBQ0MsQ0FBQUEsTUFBT0EsSUFBSUMsRUFBRSxLQUFLZCxtQkFDekIsZUFDQSxvQ0FDTCxDQUFDOzt3QkFFREs7c0NBQ0QsOERBQUNVOzRCQUFLTixXQUFVO3NDQUFhOzs7Ozs7Ozs7Ozs7OEJBRy9CLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ087d0JBQUdQLFdBQVU7a0NBQ1hILE1BQU1XLEdBQUcsQ0FBQyxDQUFDSjs0QkFDVixNQUFNSyxXQUFXbEIsb0JBQW9CYSxJQUFJQyxFQUFFOzRCQUMzQyxxQkFDRSw4REFBQ0s7MENBQ0MsNEVBQUNoQyxpREFBSUE7b0NBQ0hpQyxNQUFNLENBQUMsRUFBRWpCLFNBQVMsQ0FBQyxFQUFFVSxJQUFJQyxFQUFFLENBQUMsQ0FBQztvQ0FDN0JMLFdBQVc7d0NBQ1Q7d0NBQ0FTLFdBQ0ksOEJBQ0E7cUNBQ0wsQ0FBQ0csSUFBSSxDQUFDOzhDQUVOUixJQUFJUyxJQUFJOzs7Ozs7K0JBVkpULElBQUlDLEVBQUU7Ozs7O3dCQWNuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFLVjtJQUVBLHFCQUNFLDhEQUFDTjtRQUFJQyxXQUFVOztZQUEyQjswQkFDeEMsOERBQUNjO2dCQUFJZCxXQUFVOztrQ0FFYiw4REFBQ3RCLGlEQUFJQTt3QkFDSGlDLE1BQU1qQjt3QkFDTk0sV0FBVTtrQ0FDWDs7Ozs7O29CQUlBTCxlQUFlLGVBQWVQO29CQUM5Qk8sZUFBZSxlQUFlTjtvQkFDOUJNLGVBQWUsZUFBZUw7a0NBRS9CLDhEQUFDWixpREFBSUE7d0JBQ0hpQyxNQUFLO3dCQUNMWCxXQUFVO2tDQUNYOzs7Ozs7b0JBS0FULGlDQUNDLDhEQUFDUTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNNO2dDQUFLTixXQUFVOzBDQUFzQzs7Ozs7OzBDQUN0RCw4REFBQ007Z0NBQUtOLFdBQVU7MENBQ2JwQiw2REFBVUEsQ0FBQ21DLElBQUksQ0FBQyxDQUFDL0IsSUFBTUEsRUFBRXFCLEVBQUUsS0FBS2Qsa0JBQWtCc0IsUUFDakR0Qjs7Ozs7OzBDQUVKLDhEQUFDYixpREFBSUE7Z0NBQ0hpQyxNQUFNakI7Z0NBQ05NLFdBQVU7MENBQ1g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFiO0FBRUEsaUVBQWVmLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvQnVpbGRlck5hdi50c3g/YzFkNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgQ0FURUdPUklFUyB9IGZyb20gXCJAL2RhdGEvZ3VuYnVpbGRlclBhcnRzXCI7XG5pbXBvcnQgdHlwZSB7IENhdGVnb3J5IH0gZnJvbSBcIkAvdHlwZXMvZ3VuYnVpbGRlclwiO1xuXG50eXBlIEJ1aWxkZXJOYXZQcm9wcyA9IHtcbiAgYWN0aXZlQ2F0ZWdvcnlJZD86IHN0cmluZyB8IG51bGw7XG59O1xuXG4vLyBIZWxwZXIgdG8gZ3JvdXAgY2F0ZWdvcmllcyBmb3IgdGhlIGRyb3Bkb3duc1xuZnVuY3Rpb24gZ3JvdXBDYXRlZ29yaWVzKGdyb3VwOiBcImxvd2VyXCIgfCBcInVwcGVyXCIgfCBcImFjY2Vzc29yaWVzXCIpOiBDYXRlZ29yeVtdIHtcbiAgcmV0dXJuIENBVEVHT1JJRVMuZmlsdGVyKChjKSA9PiBjLmdyb3VwID09PSBncm91cCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdWlsZGVyTmF2KHsgYWN0aXZlQ2F0ZWdvcnlJZCB9OiBCdWlsZGVyTmF2UHJvcHMpIHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdXNlU2VhcmNoUGFyYW1zKCk7XG5cbiAgY29uc3QgbG93ZXIgPSBncm91cENhdGVnb3JpZXMoXCJsb3dlclwiKTtcbiAgY29uc3QgdXBwZXIgPSBncm91cENhdGVnb3JpZXMoXCJ1cHBlclwiKTtcbiAgY29uc3QgYWNjZXNzb3JpZXMgPSBncm91cENhdGVnb3JpZXMoXCJhY2Nlc3Nvcmllc1wiKTtcblxuICBjb25zdCBjdXJyZW50Q2F0ZWdvcnkgPVxuICAgIGFjdGl2ZUNhdGVnb3J5SWQgPz8gc2VhcmNoUGFyYW1zLmdldChcImNhdGVnb3J5XCIpID8/IHVuZGVmaW5lZDtcblxuICBjb25zdCBiYXNlSHJlZiA9IFwiL2d1bmJ1aWxkZXJcIjtcblxuICBjb25zdCByZW5kZXJEcm9wZG93biA9IChsYWJlbDogc3RyaW5nLCBpdGVtczogQ2F0ZWdvcnlbXSkgPT4ge1xuICAgIGlmICghaXRlbXMubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGdyb3VwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2BpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgZm9udC1tZWRpdW0gdHJhY2tpbmctd2lkZSB0cmFuc2l0aW9uLWNvbG9ycyB1cHBlcmNhc2UgdGV4dC1bMTFweF0gJHtcbiAgICAgICAgICAgIGl0ZW1zLnNvbWUoY2F0ID0+IGNhdC5pZCA9PT0gY3VycmVudENhdGVnb3J5KVxuICAgICAgICAgICAgICA/IFwidGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgIDogXCJ0ZXh0LW5ldXRyYWwtMjAwIGhvdmVyOnRleHQtd2hpdGVcIlxuICAgICAgICAgIH1gfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzlweF1cIj7ilr48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW52aXNpYmxlIG9wYWNpdHktMCBncm91cC1ob3Zlcjp2aXNpYmxlIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tYWxsIGFic29sdXRlIGxlZnQtMCBtdC0yIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTgwMCBiZy1ibGFjay85NSBzaGFkb3cteGwgei00MCBtaW4tdy1bMjIwcHhdXCI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInB5LTIgdGV4dC1zbVwiPlxuICAgICAgICAgICAge2l0ZW1zLm1hcCgoY2F0KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gY3VycmVudENhdGVnb3J5ID09PSBjYXQuaWQ7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17Y2F0LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e2Ake2Jhc2VIcmVmfS8ke2NhdC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgICAgICAgICAgICAgICBcImJsb2NrIHctZnVsbCBweC0zIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSB0cmFuc2l0aW9uLWNvbG9yc1wiLFxuICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiYmctbmV1dHJhbC04MDAgdGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IFwidGV4dC1uZXV0cmFsLTMwMCBob3ZlcjpiZy1uZXV0cmFsLTgwMCBob3Zlcjp0ZXh0LXdoaXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIF0uam9pbihcIiBcIil9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtjYXQubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy02eGwgbXgtYXV0byB3LWZ1bGxcIj4gICB7Lyog4oaQIGFsaWducyB3aXRoIHRvcG5hdiAqL31cbiAgICAgIDxuYXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYgYm9yZGVyLWIgYm9yZGVyLW5ldXRyYWwtOTAwIHB4LTYgcHktMyB0ZXh0LXNtIGJnLWJsYWNrLzk1IGJhY2tkcm9wLWJsdXItc21cIj5cbiAgICAgICAgey8qIFByaW1hcnkgYnVpbGRlciBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9e2Jhc2VIcmVmfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1uZXV0cmFsLTEwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYWNraW5nLVswLjI1ZW1dIHVwcGVyY2FzZSB0ZXh0LVsxMXB4XVwiXG4gICAgICAgID5cbiAgICAgICAgICBCdWlsZGVyXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7cmVuZGVyRHJvcGRvd24oXCJMb3dlciBQYXJ0c1wiLCBsb3dlcil9XG4gICAgICAgIHtyZW5kZXJEcm9wZG93bihcIlVwcGVyIFBhcnRzXCIsIHVwcGVyKX1cbiAgICAgICAge3JlbmRlckRyb3Bkb3duKFwiQWNjZXNzb3JpZXNcIiwgYWNjZXNzb3JpZXMpfVxuXG4gICAgICAgIDxMaW5rXG4gICAgICAgICAgaHJlZj1cIi9idWlsZHNcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIHRleHQtbmV1dHJhbC0zMDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFja2luZy1bMC4yNWVtXSB1cHBlcmNhc2UgdGV4dC1bMTFweF1cIlxuICAgICAgICA+XG4gICAgICAgICAgQnVpbGRzXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQg4oaSIEN1cnJlbnQgZmlsdGVyICovfVxuICAgICAgICB7Y3VycmVudENhdGVnb3J5ICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLWF1dG8gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1uZXV0cmFsLTQwMCB0ZXh0LXhzXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSB0ZXh0LVsxMHB4XVwiPlZpZXdpbmc8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bSB0ZXh0LW5ldXRyYWwtMTAwXCI+XG4gICAgICAgICAgICAgIHtDQVRFR09SSUVTLmZpbmQoKGMpID0+IGMuaWQgPT09IGN1cnJlbnRDYXRlZ29yeSk/Lm5hbWUgPz9cbiAgICAgICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBocmVmPXtiYXNlSHJlZn1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZCBib3JkZXIgYm9yZGVyLW5ldXRyYWwtNzAwIHB4LTIgcHktMC41IHRleHQtWzEwcHhdIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIGhvdmVyOmJnLW5ldXRyYWwtODAwIGhvdmVyOnRleHQtd2hpdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9uYXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJ1aWxkZXJOYXY7Il0sIm5hbWVzIjpbIkxpbmsiLCJ1c2VTZWFyY2hQYXJhbXMiLCJDQVRFR09SSUVTIiwiZ3JvdXBDYXRlZ29yaWVzIiwiZ3JvdXAiLCJmaWx0ZXIiLCJjIiwiQnVpbGRlck5hdiIsImFjdGl2ZUNhdGVnb3J5SWQiLCJzZWFyY2hQYXJhbXMiLCJsb3dlciIsInVwcGVyIiwiYWNjZXNzb3JpZXMiLCJjdXJyZW50Q2F0ZWdvcnkiLCJnZXQiLCJ1bmRlZmluZWQiLCJiYXNlSHJlZiIsInJlbmRlckRyb3Bkb3duIiwibGFiZWwiLCJpdGVtcyIsImxlbmd0aCIsImRpdiIsImNsYXNzTmFtZSIsImJ1dHRvbiIsInR5cGUiLCJzb21lIiwiY2F0IiwiaWQiLCJzcGFuIiwidWwiLCJtYXAiLCJpc0FjdGl2ZSIsImxpIiwiaHJlZiIsImpvaW4iLCJuYW1lIiwibmF2IiwiZmluZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/BuilderNav.tsx\n");
/***/ }),
/***/ "(ssr)/./components/TopNav.tsx":
/*!*******************************!*\
!*** ./components/TopNav.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 */ TopNav: () => (/* binding */ TopNav)\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/future/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/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n const isAuthenticated = !!user;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-b border-amber-500/20 bg-amber-500/5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl flex-col gap-1 px-4 py-2 text-[0.75rem] text-amber-100 md:flex-row md:items-center md:justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-sm bg-amber-500/20 px-2 py-0.5 text-[0.65rem] font-semibold uppercase tracking-[0.18em] text-amber-300\",\n children: \"Early Access Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hidden text-amber-100/90 md:inline\",\n children: \"You're using an early-access prototype of The Armory. Data, pricing, and available parts are still evolving.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-100/90 md:hidden\",\n children: \"Early-access prototype. Data and pricing may change.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 26,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"Battl Builder\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden items-center gap-4 md:flex\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/gunbuilder\",\n className: \"text-xs font-medium text-zinc-300 hover:text-zinc-50 transition-colors\",\n children: \"Builder\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 44,\n columnNumber: 11\n }, this),\n isAuthenticated && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/admin\",\n className: \"text-xs font-medium text-emerald-400 hover:text-emerald-300 transition-colors\",\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 43,\n columnNumber: 9\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)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 79,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 80,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 69,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 64,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 85,\n columnNumber: 13\n }, this) : isAuthenticated ? /*#__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)(\"span\", {\n className: \"hidden text-xs text-zinc-300 sm:inline\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 88,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 91,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__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)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 101,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 107,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLE1BQU1LLGtCQUFrQixDQUFDLENBQUNIO0lBRTFCLHFCQUNFLDhEQUFDSTtRQUFPQyxXQUFVOzswQkFFaEIsOERBQUNDO2dCQUFJRCxXQUFVOzBCQUNiLDRFQUFDQztvQkFBSUQsV0FBVTs7c0NBQ2IsOERBQUNDOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQWlIOzs7Ozs7OENBR2pJLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBcUM7Ozs7Ozs7Ozs7OztzQ0FLdkQsOERBQUNFOzRCQUFLRixXQUFVO3NDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBT2xELDhEQUFDQztnQkFBSUQsV0FBVTs7a0NBRWIsOERBQUNSLGlEQUFJQTt3QkFDSFcsTUFBSzt3QkFDTEgsV0FBVTtrQ0FDWDs7Ozs7O2tDQUtELDhEQUFDSTt3QkFBSUosV0FBVTs7MENBQ2IsOERBQUNSLGlEQUFJQTtnQ0FDSFcsTUFBSztnQ0FDTEgsV0FBVTswQ0FDWDs7Ozs7OzRCQUlBRixpQ0FDQyw4REFBQ04saURBQUlBO2dDQUNIVyxNQUFLO2dDQUNMSCxXQUFVOzBDQUNYOzs7Ozs7Ozs7Ozs7a0NBT0wsOERBQUNDO3dCQUFJRCxXQUFVOzswQ0FFYiw4REFBQ0s7Z0NBQ0NDLE1BQUs7Z0NBQ0xOLFdBQVU7Z0NBQ1ZPLGNBQVc7MENBRVgsNEVBQUNDO29DQUNDQyxPQUFNO29DQUNOQyxTQUFRO29DQUNSQyxNQUFLO29DQUNMQyxRQUFPO29DQUNQQyxhQUFhO29DQUNiQyxlQUFjO29DQUNkQyxnQkFBZTtvQ0FDZmYsV0FBVTs7c0RBRVYsOERBQUNnQjs0Q0FBT0MsSUFBRzs0Q0FBS0MsSUFBRzs0Q0FBS0MsR0FBRTs7Ozs7O3NEQUMxQiw4REFBQ0M7NENBQUtDLElBQUc7NENBQU9DLElBQUc7NENBQU9DLElBQUc7NENBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7OzRCQUl4QzNCLHdCQUNDLDhEQUFDSztnQ0FBS0YsV0FBVTswQ0FBd0I7Ozs7O3VDQUN0Q0YsZ0NBQ0Y7O2tEQUNFLDhEQUFDSTt3Q0FBS0YsV0FBVTtrREFDYkwsS0FBSzhCLFdBQVcsSUFBSTlCLEtBQUsrQixLQUFLOzs7Ozs7a0RBRWpDLDhEQUFDckI7d0NBQ0NDLE1BQUs7d0NBQ0xxQixTQUFTL0I7d0NBQ1RJLFdBQVU7a0RBQ1g7Ozs7Ozs7NkRBS0g7O2tEQUNFLDhEQUFDUixpREFBSUE7d0NBQ0hXLE1BQUs7d0NBQ0xILFdBQVU7a0RBQ1g7Ozs7OztrREFHRCw4REFBQ1IsaURBQUlBO3dDQUNIVyxNQUFLO3dDQUNMSCxXQUFVO2tEQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9ICEhdXNlcjtcblxuICByZXR1cm4gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwiYm9yZGVyLWIgYm9yZGVyLXppbmMtODAwIGJnLWJsYWNrLzk1IGJhY2tkcm9wLWJsdXJcIj5cbiAgICAgIHsvKiBFYXJseSBhY2Nlc3MgYmFyICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItYW1iZXItNTAwLzIwIGJnLWFtYmVyLTUwMC81XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBmbGV4IG1heC13LTZ4bCBmbGV4LWNvbCBnYXAtMSBweC00IHB5LTIgdGV4dC1bMC43NXJlbV0gdGV4dC1hbWJlci0xMDAgbWQ6ZmxleC1yb3cgbWQ6aXRlbXMtY2VudGVyIG1kOmp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInJvdW5kZWQtc20gYmctYW1iZXItNTAwLzIwIHB4LTIgcHktMC41IHRleHQtWzAuNjVyZW1dIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjE4ZW1dIHRleHQtYW1iZXItMzAwXCI+XG4gICAgICAgICAgICAgIEVhcmx5IEFjY2VzcyBCZXRhXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4gdGV4dC1hbWJlci0xMDAvOTAgbWQ6aW5saW5lXCI+XG4gICAgICAgICAgICAgIFlvdSZhcG9zO3JlIHVzaW5nIGFuIGVhcmx5LWFjY2VzcyBwcm90b3R5cGUgb2YgVGhlIEFybW9yeS4gRGF0YSxcbiAgICAgICAgICAgICAgcHJpY2luZywgYW5kIGF2YWlsYWJsZSBwYXJ0cyBhcmUgc3RpbGwgZXZvbHZpbmcuXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0xMDAvOTAgbWQ6aGlkZGVuXCI+XG4gICAgICAgICAgICBFYXJseS1hY2Nlc3MgcHJvdG90eXBlLiBEYXRhIGFuZCBwcmljaW5nIG1heSBjaGFuZ2UuXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogTWFpbiBuYXYgcm93ICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBMZWZ0OiBCcmFuZCAvIEhvbWUgKi99XG4gICAgICAgIDxMaW5rXG4gICAgICAgICAgaHJlZj1cIi9cIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFja2luZy1bMC4yZW1dIHVwcGVyY2FzZSB0ZXh0LXppbmMtNDAwXCJcbiAgICAgICAgPlxuICAgICAgICAgIEJhdHRsIEJ1aWxkZXJcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBDZW50ZXI6IG1haW4gbmF2IChCdWlsZGVyIC8gQWRtaW4pICovfVxuICAgICAgICA8bmF2IGNsYXNzTmFtZT1cImhpZGRlbiBpdGVtcy1jZW50ZXIgZ2FwLTQgbWQ6ZmxleFwiPlxuICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICBocmVmPVwiL2d1bmJ1aWxkZXJcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtMzAwIGhvdmVyOnRleHQtemluYy01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQnVpbGRlclxuICAgICAgICAgIDwvTGluaz5cblxuICAgICAgICAgIHtpc0F1dGhlbnRpY2F0ZWQgJiYgKFxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgaHJlZj1cIi9hZG1pblwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1lbWVyYWxkLTQwMCBob3Zlcjp0ZXh0LWVtZXJhbGQtMzAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQWRtaW5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApfVxuICAgICAgICA8L25hdj5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogaXNBdXRoZW50aWNhdGVkID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGlkZGVuIHRleHQteHMgdGV4dC16aW5jLTMwMCBzbTppbmxpbmVcIj5cbiAgICAgICAgICAgICAgICB7dXNlci5kaXNwbGF5TmFtZSB8fCB1c2VyLmVtYWlsfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtsb2dvdXR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIE91dFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvbG9naW5cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBJblxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9yZWdpc3RlclwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWFtYmVyLTQwMC83MCBiZy1hbWJlci00MDAvMTAgcHgtMyBweS0xLjUgdGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtYW1iZXItMjAwIGhvdmVyOmJnLWFtYmVyLTQwMC8yMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBKb2luIEJldGFcbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn0iXSwibmFtZXMiOlsiTGluayIsInVzZUF1dGgiLCJUb3BOYXYiLCJ1c2VyIiwibG9nb3V0IiwibG9hZGluZyIsImlzQXV0aGVudGljYXRlZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsInNwYW4iLCJocmVmIiwibmF2IiwiYnV0dG9uIiwidHlwZSIsImFyaWEtbGFiZWwiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsImxpbmUiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImRpc3BsYXlOYW1lIiwiZW1haWwiLCJvbkNsaWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n");
/***/ }),
/***/ "(ssr)/./context/AuthContext.tsx":
/*!*********************************!*\
!*** ./context/AuthContext.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 */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\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/future/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/future/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__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n // Hydrate from localStorage on first load\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken) {\n setToken(storedToken);\n }\n if (storedUser) {\n try {\n setUser(JSON.parse(storedUser));\n } catch {\n // bad JSON? wipe it\n window.localStorage.removeItem(USER_KEY);\n }\n }\n setLoading(false);\n }, []);\n const persistAuth = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((nextToken, nextUser)=>{\n if (true) return;\n if (nextToken) {\n window.localStorage.setItem(TOKEN_KEY, nextToken);\n } else {\n window.localStorage.removeItem(TOKEN_KEY);\n }\n if (nextUser) {\n window.localStorage.setItem(USER_KEY, JSON.stringify(nextUser));\n } else {\n window.localStorage.removeItem(USER_KEY);\n }\n }, []);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async ({ email, password })=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email,\n password\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(text || \"Login failed\");\n }\n const data = await res.json();\n // Adjust these to match your backend response shape\n const nextToken = data.token ?? data.accessToken;\n const nextUser = data.user ?? {\n email: data.email ?? email,\n displayName: data.displayName ?? null,\n role: data.role ?? \"USER\"\n };\n setToken(nextToken);\n setUser(nextUser);\n persistAuth(nextToken, nextUser);\n } finally{\n setLoading(false);\n }\n }, [\n persistAuth\n ]);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async ({ email, password, displayName })=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email,\n password,\n displayName\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(text || \"Registration failed\");\n }\n const data = await res.json();\n const nextToken = data.token ?? data.accessToken;\n const nextUser = data.user ?? {\n email: data.email ?? email,\n displayName: data.displayName ?? displayName ?? null,\n role: data.role ?? \"USER\"\n };\n setToken(nextToken);\n setUser(nextUser);\n persistAuth(nextToken, nextUser);\n } finally{\n setLoading(false);\n }\n }, [\n persistAuth\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n persistAuth(null, null);\n }, [\n persistAuth\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n return token ? {\n Authorization: `Bearer ${token}`\n } : {};\n }, [\n token\n ]);\n const value = {\n user,\n token,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 185,\n columnNumber: 10\n }, this);\n}\n// 🔑 This is what your useApi hook imports\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb250ZXh0L0F1dGhDb250ZXh0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU2U7QUFFZixNQUFNSyxlQUNKQyxRQUFRQyxHQUFHLENBQUNDLHdCQUF3QixJQUFJO0FBc0IxQyxNQUFNQyw0QkFBY1Qsb0RBQWFBLENBQStCVTtBQUVoRSxNQUFNQyxZQUFZO0FBQ2xCLE1BQU1DLFdBQVc7QUFFVixTQUFTQyxhQUFhLEVBQUVDLFFBQVEsRUFBMkI7SUFDaEUsTUFBTSxDQUFDQyxPQUFPQyxTQUFTLEdBQUdaLCtDQUFRQSxDQUFnQjtJQUNsRCxNQUFNLENBQUNhLE1BQU1DLFFBQVEsR0FBR2QsK0NBQVFBLENBQVc7SUFDM0MsTUFBTSxDQUFDZSxTQUFTQyxXQUFXLEdBQUdoQiwrQ0FBUUEsQ0FBVTtJQUVoRCwwQ0FBMEM7SUFDMUNELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSSxJQUE2QixFQUFFO1FBRW5DLE1BQU1rQixjQUFjQyxPQUFPQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ2I7UUFDaEQsTUFBTWMsYUFBYUgsT0FBT0MsWUFBWSxDQUFDQyxPQUFPLENBQUNaO1FBRS9DLElBQUlTLGFBQWE7WUFDZkwsU0FBU0s7UUFDWDtRQUVBLElBQUlJLFlBQVk7WUFDZCxJQUFJO2dCQUNGUCxRQUFRUSxLQUFLQyxLQUFLLENBQUNGO1lBQ3JCLEVBQUUsT0FBTTtnQkFDTixvQkFBb0I7Z0JBQ3BCSCxPQUFPQyxZQUFZLENBQUNLLFVBQVUsQ0FBQ2hCO1lBQ2pDO1FBQ0Y7UUFFQVEsV0FBVztJQUNiLEdBQUcsRUFBRTtJQUVMLE1BQU1TLGNBQWM1QixrREFBV0EsQ0FBQyxDQUFDNkIsV0FBMEJDO1FBQ3pELElBQUksSUFBNkIsRUFBRTtRQUVuQyxJQUFJRCxXQUFXO1lBQ2JSLE9BQU9DLFlBQVksQ0FBQ1MsT0FBTyxDQUFDckIsV0FBV21CO1FBQ3pDLE9BQU87WUFDTFIsT0FBT0MsWUFBWSxDQUFDSyxVQUFVLENBQUNqQjtRQUNqQztRQUVBLElBQUlvQixVQUFVO1lBQ1pULE9BQU9DLFlBQVksQ0FBQ1MsT0FBTyxDQUFDcEIsVUFBVWMsS0FBS08sU0FBUyxDQUFDRjtRQUN2RCxPQUFPO1lBQ0xULE9BQU9DLFlBQVksQ0FBQ0ssVUFBVSxDQUFDaEI7UUFDakM7SUFDRixHQUFHLEVBQUU7SUFFTCxNQUFNc0IsUUFBUWpDLGtEQUFXQSxDQUN2QixPQUFPLEVBQUVrQyxLQUFLLEVBQUVDLFFBQVEsRUFBdUM7UUFDN0RoQixXQUFXO1FBQ1gsSUFBSTtZQUNGLE1BQU1pQixNQUFNLE1BQU1DLE1BQU0sQ0FBQyxFQUFFakMsYUFBYSxXQUFXLENBQUMsRUFBRTtnQkFDcERrQyxRQUFRO2dCQUNSQyxTQUFTO29CQUFFLGdCQUFnQjtnQkFBbUI7Z0JBQzlDQyxNQUFNZixLQUFLTyxTQUFTLENBQUM7b0JBQUVFO29CQUFPQztnQkFBUztZQUN6QztZQUVBLElBQUksQ0FBQ0MsSUFBSUssRUFBRSxFQUFFO2dCQUNYLE1BQU1DLE9BQU8sTUFBTU4sSUFBSU0sSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTVAsSUFBSVEsVUFBVTtnQkFDeEQsTUFBTSxJQUFJQyxNQUFNSCxRQUFRO1lBQzFCO1lBRUEsTUFBTUksT0FBTyxNQUFNVixJQUFJVyxJQUFJO1lBRTNCLG9EQUFvRDtZQUNwRCxNQUFNbEIsWUFBb0JpQixLQUFLaEMsS0FBSyxJQUFJZ0MsS0FBS0UsV0FBVztZQUN4RCxNQUFNbEIsV0FDSmdCLEtBQUs5QixJQUFJLElBQ1I7Z0JBQ0NrQixPQUFPWSxLQUFLWixLQUFLLElBQUlBO2dCQUNyQmUsYUFBYUgsS0FBS0csV0FBVyxJQUFJO2dCQUNqQ0MsTUFBTUosS0FBS0ksSUFBSSxJQUFJO1lBQ3JCO1lBRUZuQyxTQUFTYztZQUNUWixRQUFRYTtZQUNSRixZQUFZQyxXQUFXQztRQUN6QixTQUFVO1lBQ1JYLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1M7S0FBWTtJQUdmLE1BQU11QixXQUFXbkQsa0RBQVdBLENBQzFCLE9BQU8sRUFDTGtDLEtBQUssRUFDTEMsUUFBUSxFQUNSYyxXQUFXLEVBS1o7UUFDQzlCLFdBQVc7UUFDWCxJQUFJO1lBQ0YsTUFBTWlCLE1BQU0sTUFBTUMsTUFBTSxDQUFDLEVBQUVqQyxhQUFhLGNBQWMsQ0FBQyxFQUFFO2dCQUN2RGtDLFFBQVE7Z0JBQ1JDLFNBQVM7b0JBQUUsZ0JBQWdCO2dCQUFtQjtnQkFDOUNDLE1BQU1mLEtBQUtPLFNBQVMsQ0FBQztvQkFBRUU7b0JBQU9DO29CQUFVYztnQkFBWTtZQUN0RDtZQUVBLElBQUksQ0FBQ2IsSUFBSUssRUFBRSxFQUFFO2dCQUNYLE1BQU1DLE9BQU8sTUFBTU4sSUFBSU0sSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTVAsSUFBSVEsVUFBVTtnQkFDeEQsTUFBTSxJQUFJQyxNQUFNSCxRQUFRO1lBQzFCO1lBRUEsTUFBTUksT0FBTyxNQUFNVixJQUFJVyxJQUFJO1lBRTNCLE1BQU1sQixZQUFvQmlCLEtBQUtoQyxLQUFLLElBQUlnQyxLQUFLRSxXQUFXO1lBQ3hELE1BQU1sQixXQUNKZ0IsS0FBSzlCLElBQUksSUFDUjtnQkFDQ2tCLE9BQU9ZLEtBQUtaLEtBQUssSUFBSUE7Z0JBQ3JCZSxhQUFhSCxLQUFLRyxXQUFXLElBQUlBLGVBQWU7Z0JBQ2hEQyxNQUFNSixLQUFLSSxJQUFJLElBQUk7WUFDckI7WUFFRm5DLFNBQVNjO1lBQ1RaLFFBQVFhO1lBQ1JGLFlBQVlDLFdBQVdDO1FBQ3pCLFNBQVU7WUFDUlgsV0FBVztRQUNiO0lBQ0YsR0FDQTtRQUFDUztLQUFZO0lBR2YsTUFBTXdCLFNBQVNwRCxrREFBV0EsQ0FBQztRQUN6QmUsU0FBUztRQUNURSxRQUFRO1FBQ1JXLFlBQVksTUFBTTtJQUNwQixHQUFHO1FBQUNBO0tBQVk7SUFFaEIsTUFBTXlCLGlCQUFpQnJELGtEQUFXQSxDQUFDO1FBQ2pDLE9BQU9jLFFBQVE7WUFBRXdDLGVBQWUsQ0FBQyxPQUFPLEVBQUV4QyxNQUFNLENBQUM7UUFBQyxJQUFJLENBQUM7SUFDekQsR0FBRztRQUFDQTtLQUFNO0lBRVYsTUFBTXlDLFFBQTBCO1FBQzlCdkM7UUFDQUY7UUFDQUk7UUFDQWU7UUFDQWtCO1FBQ0FDO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzdDLFlBQVlnRCxRQUFRO1FBQUNELE9BQU9BO2tCQUFRMUM7Ozs7OztBQUM5QztBQUVBLDJDQUEyQztBQUNwQyxTQUFTNEM7SUFDZCxNQUFNQyxNQUFNekQsaURBQVVBLENBQUNPO0lBQ3ZCLElBQUksQ0FBQ2tELEtBQUs7UUFDUixNQUFNLElBQUliLE1BQU07SUFDbEI7SUFDQSxPQUFPYTtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb250ZXh0L0F1dGhDb250ZXh0LnRzeD9mZGZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgUmVhY3ROb2RlLFxufSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgQVBJX0JBU0VfVVJMID1cbiAgcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMID8/IFwiaHR0cDovL2xvY2FsaG9zdDo4MDgwXCI7XG5cbnR5cGUgQXV0aFVzZXIgPSB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgcm9sZTogc3RyaW5nO1xufSB8IG51bGw7XG5cbnR5cGUgQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgdXNlcjogQXV0aFVzZXI7XG4gIHRva2VuOiBzdHJpbmcgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBsb2dpbjogKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XG4gIHJlZ2lzdGVyOiAocGFyYW1zOiB7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsb2dvdXQ6ICgpID0+IHZvaWQ7XG4gIGdldEF1dGhIZWFkZXJzOiAoKSA9PiBIZWFkZXJzSW5pdDtcbn07XG5cbmNvbnN0IEF1dGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxBdXRoQ29udGV4dFZhbHVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5jb25zdCBUT0tFTl9LRVkgPSBcImJhbGxpc3RpY19hdXRoX3Rva2VuXCI7XG5jb25zdCBVU0VSX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdXNlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3Rva2VuLCBzZXRUb2tlbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3VzZXIsIHNldFVzZXJdID0gdXNlU3RhdGU8QXV0aFVzZXI+KG51bGwpO1xuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPih0cnVlKTtcblxuICAvLyBIeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlIG9uIGZpcnN0IGxvYWRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3RvcmVkVG9rZW4gPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVE9LRU5fS0VZKTtcbiAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgIGlmIChzdG9yZWRUb2tlbikge1xuICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzdG9yZWRVc2VyKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIGJhZCBKU09OPyB3aXBlIGl0XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShVU0VSX0tFWSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBwZXJzaXN0QXV0aCA9IHVzZUNhbGxiYWNrKChuZXh0VG9rZW46IHN0cmluZyB8IG51bGwsIG5leHRVc2VyOiBBdXRoVXNlcikgPT4ge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICBpZiAobmV4dFRva2VuKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXh0VG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICB9XG5cbiAgICBpZiAobmV4dFVzZXIpIHtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShVU0VSX0tFWSwgSlNPTi5zdHJpbmdpZnkobmV4dFVzZXIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFVTRVJfS0VZKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBsb2dpbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGVtYWlsLCBwYXNzd29yZCB9OiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXV0aC9sb2dpbmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGVtYWlsLCBwYXNzd29yZCB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRleHQgfHwgXCJMb2dpbiBmYWlsZWRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICAvLyBBZGp1c3QgdGhlc2UgdG8gbWF0Y2ggeW91ciBiYWNrZW5kIHJlc3BvbnNlIHNoYXBlXG4gICAgICAgIGNvbnN0IG5leHRUb2tlbjogc3RyaW5nID0gZGF0YS50b2tlbiA/PyBkYXRhLmFjY2Vzc1Rva2VuO1xuICAgICAgICBjb25zdCBuZXh0VXNlcjogQXV0aFVzZXIgPVxuICAgICAgICAgIGRhdGEudXNlciA/P1xuICAgICAgICAgICh7XG4gICAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCA/PyBlbWFpbCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgICByb2xlOiBkYXRhLnJvbGUgPz8gXCJVU0VSXCIsXG4gICAgICAgICAgfSBhcyBBdXRoVXNlcik7XG5cbiAgICAgICAgc2V0VG9rZW4obmV4dFRva2VuKTtcbiAgICAgICAgc2V0VXNlcihuZXh0VXNlcik7XG4gICAgICAgIHBlcnNpc3RBdXRoKG5leHRUb2tlbiwgbmV4dFVzZXIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbcGVyc2lzdEF1dGhdXG4gICk7XG5cbiAgY29uc3QgcmVnaXN0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoe1xuICAgICAgZW1haWwsXG4gICAgICBwYXNzd29yZCxcbiAgICAgIGRpc3BsYXlOYW1lLFxuICAgIH06IHtcbiAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGVtYWlsLCBwYXNzd29yZCwgZGlzcGxheU5hbWUgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCkuY2F0Y2goKCkgPT4gcmVzLnN0YXR1c1RleHQpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiUmVnaXN0cmF0aW9uIGZhaWxlZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IG5leHRUb2tlbjogc3RyaW5nID0gZGF0YS50b2tlbiA/PyBkYXRhLmFjY2Vzc1Rva2VuO1xuICAgICAgICBjb25zdCBuZXh0VXNlcjogQXV0aFVzZXIgPVxuICAgICAgICAgIGRhdGEudXNlciA/P1xuICAgICAgICAgICh7XG4gICAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCA/PyBlbWFpbCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IGRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgICByb2xlOiBkYXRhLnJvbGUgPz8gXCJVU0VSXCIsXG4gICAgICAgICAgfSBhcyBBdXRoVXNlcik7XG5cbiAgICAgICAgc2V0VG9rZW4obmV4dFRva2VuKTtcbiAgICAgICAgc2V0VXNlcihuZXh0VXNlcik7XG4gICAgICAgIHBlcnNpc3RBdXRoKG5leHRUb2tlbiwgbmV4dFVzZXIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbcGVyc2lzdEF1dGhdXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRva2VuKG51bGwpO1xuICAgIHNldFVzZXIobnVsbCk7XG4gICAgcGVyc2lzdEF1dGgobnVsbCwgbnVsbCk7XG4gIH0sIFtwZXJzaXN0QXV0aF0pO1xuXG4gIGNvbnN0IGdldEF1dGhIZWFkZXJzID0gdXNlQ2FsbGJhY2soKCk6IEhlYWRlcnNJbml0ID0+IHtcbiAgICByZXR1cm4gdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICB0b2tlbixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG4vLyDwn5SRIFRoaXMgaXMgd2hhdCB5b3VyIHVzZUFwaSBob29rIGltcG9ydHNcbmV4cG9ydCBmdW5jdGlvbiB1c2VBdXRoKCk6IEF1dGhDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEF1dGhDb250ZXh0KTtcbiAgaWYgKCFjdHgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VBdXRoIG11c3QgYmUgdXNlZCB3aXRoaW4gYW4gQXV0aFByb3ZpZGVyXCIpO1xuICB9XG4gIHJldHVybiBjdHg7XG59Il0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkFQSV9CQVNFX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwiLCJBdXRoQ29udGV4dCIsInVuZGVmaW5lZCIsIlRPS0VOX0tFWSIsIlVTRVJfS0VZIiwiQXV0aFByb3ZpZGVyIiwiY2hpbGRyZW4iLCJ0b2tlbiIsInNldFRva2VuIiwidXNlciIsInNldFVzZXIiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInN0b3JlZFRva2VuIiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInN0b3JlZFVzZXIiLCJKU09OIiwicGFyc2UiLCJyZW1vdmVJdGVtIiwicGVyc2lzdEF1dGgiLCJuZXh0VG9rZW4iLCJuZXh0VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJsb2dpbiIsImVtYWlsIiwicGFzc3dvcmQiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5Iiwib2siLCJ0ZXh0IiwiY2F0Y2giLCJzdGF0dXNUZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsImFjY2Vzc1Rva2VuIiwiZGlzcGxheU5hbWUiLCJyb2xlIiwicmVnaXN0ZXIiLCJsb2dvdXQiLCJnZXRBdXRoSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ2YWx1ZSIsIlByb3ZpZGVyIiwidXNlQXV0aCIsImN0eCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n");
/***/ }),
/***/ "(ssr)/./data/gunbuilderParts.ts":
/*!*********************************!*\
!*** ./data/gunbuilderParts.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 */ CATEGORIES: () => (/* binding */ CATEGORIES)\n/* harmony export */ });\nconst CATEGORIES = [\n // LOWER\n {\n id: \"lower\",\n name: \"Stripped Lowers\",\n description: \"Serialized lower the foundation of the build.\",\n group: \"lower\"\n },\n {\n id: \"completeLower\",\n name: \"Complete Lowers\",\n description: \"Factory-built lower with stock, buffer system, and controls.\",\n group: \"lower\"\n },\n {\n id: \"lowerParts\",\n name: \"Lower Parts Kits\",\n description: \"Pins, springs, and controls for the lower.\",\n group: \"lower\"\n },\n {\n id: \"trigger\",\n name: \"Trigger / Fire Control\",\n description: \"Single-stage, two-stage, and match triggers.\",\n group: \"lower\"\n },\n {\n id: \"grip\",\n name: \"Pistol Grip\",\n description: \"Grips that shape how the rifle handles.\",\n group: \"lower\"\n },\n {\n id: \"safety\",\n name: \"Safety / Selector\",\n description: \"Ambi selectors and control upgrades.\",\n group: \"lower\"\n },\n {\n id: \"buffer\",\n name: \"Buffer System\",\n description: \"Buffer tube, buffer, spring, and related parts.\",\n group: \"lower\"\n },\n {\n id: \"stock\",\n name: \"Stock / Brace\",\n description: \"Adjustable, fixed, and minimalist stocks.\",\n group: \"lower\"\n },\n // UPPER\n {\n id: \"upper\",\n name: \"Stripped Uppers\",\n description: \"The core of the top half of your build.\",\n group: \"upper\"\n },\n {\n id: \"completeUpper\",\n name: \"Complete Uppers\",\n description: \"Pre-assembled uppers ready to pin and shoot.\",\n group: \"upper\"\n },\n {\n id: \"bcg\",\n name: \"Bolt Carriers\",\n description: \"The heartbeat of the rifles cycling.\",\n group: \"upper\"\n },\n {\n id: \"barrel\",\n name: \"Barrels\",\n description: \"Different lengths, profiles, and calibers.\",\n group: \"upper\"\n },\n {\n id: \"gasBlock\",\n name: \"Gas Blocks\",\n description: \"Standard and adjustable gas blocks.\",\n group: \"upper\"\n },\n {\n id: \"gasTube\",\n name: \"Gas Tubes\",\n description: \"Carbine, mid, rifle, and more.\",\n group: \"upper\"\n },\n {\n id: \"muzzleDevice\",\n name: \"Muzzle Devices\",\n description: \"Brakes, comps, and flash hiders.\",\n group: \"upper\"\n },\n {\n id: \"suppressor\",\n name: \"Suppressors\",\n description: \"Hearing-safe setups and hosts.\",\n group: \"upper\"\n },\n {\n id: \"handguard\",\n name: \"Handguards / Rails\",\n description: \"M-LOK rails and front-end furniture.\",\n group: \"upper\"\n },\n {\n id: \"chargingHandle\",\n name: \"Charging Handles\",\n description: \"Standard and ambi charging handles.\",\n group: \"upper\"\n },\n {\n id: \"sights\",\n name: \"Iron Sights\",\n description: \"Backup and primary irons.\",\n group: \"upper\"\n },\n {\n id: \"optic\",\n name: \"Optics\",\n description: \"LPVOs, red dots, and magnifiers.\",\n group: \"upper\"\n },\n // ACCESSORIES GROUP\n {\n id: \"magazine\",\n name: \"Magazines\",\n group: \"accessories\"\n },\n {\n id: \"weaponLight\",\n name: \"Weapon Lights & Lasers\",\n group: \"accessories\"\n },\n {\n id: \"foregrip\",\n name: \"Vertical / Angled Grips\",\n group: \"accessories\"\n },\n {\n id: \"bipod\",\n name: \"Bipods\",\n group: \"accessories\"\n },\n {\n id: \"sling\",\n name: \"Slings & Mounts\",\n group: \"accessories\"\n },\n {\n id: \"railAccessory\",\n name: \"Rail Sections & Covers\",\n group: \"accessories\"\n },\n {\n id: \"tools\",\n name: \"Tools & Maintenance\",\n group: \"accessories\"\n }\n];\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9kYXRhL2d1bmJ1aWxkZXJQYXJ0cy50cyIsIm1hcHBpbmdzIjoiOzs7O0FBRU8sTUFBTUEsYUFBeUI7SUFDcEMsUUFBUTtJQUNSO1FBQ0VDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE9BQU87SUFDVDtJQUVBLFFBQVE7SUFDUjtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxPQUFPO0lBQ1Q7SUFDQSxvQkFBb0I7SUFDcEI7UUFDRUgsSUFBSTtRQUNKQyxNQUFNO1FBQ05FLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNORSxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkUsT0FBTztJQUNUO0lBQ0E7UUFDRUgsSUFBSTtRQUNKQyxNQUFNO1FBQ05FLE9BQU87SUFDVDtJQUNBO1FBQ0VILElBQUk7UUFDSkMsTUFBTTtRQUNORSxPQUFPO0lBQ1Q7SUFDQTtRQUNFSCxJQUFJO1FBQ0pDLE1BQU07UUFDTkUsT0FBTztJQUNUO0lBQ0E7UUFDRUgsSUFBSTtRQUNKQyxNQUFNO1FBQ05FLE9BQU87SUFDVDtDQUNELENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2RhdGEvZ3VuYnVpbGRlclBhcnRzLnRzPzczYWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYXRlZ29yeSwgUGFydCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxuZXhwb3J0IGNvbnN0IENBVEVHT1JJRVM6IENhdGVnb3J5W10gPSBbXG4gIC8vIExPV0VSXG4gIHtcbiAgICBpZDogXCJsb3dlclwiLFxuICAgIG5hbWU6IFwiU3RyaXBwZWQgTG93ZXJzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2VyaWFsaXplZCBsb3dlciDigJMgdGhlIGZvdW5kYXRpb24gb2YgdGhlIGJ1aWxkLlwiLFxuICAgIGdyb3VwOiBcImxvd2VyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjb21wbGV0ZUxvd2VyXCIsXG4gICAgbmFtZTogXCJDb21wbGV0ZSBMb3dlcnNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJGYWN0b3J5LWJ1aWx0IGxvd2VyIHdpdGggc3RvY2ssIGJ1ZmZlciBzeXN0ZW0sIGFuZCBjb250cm9scy5cIixcbiAgICBncm91cDogXCJsb3dlclwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwibG93ZXJQYXJ0c1wiLFxuICAgIG5hbWU6IFwiTG93ZXIgUGFydHMgS2l0c1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlBpbnMsIHNwcmluZ3MsIGFuZCBjb250cm9scyBmb3IgdGhlIGxvd2VyLlwiLFxuICAgIGdyb3VwOiBcImxvd2VyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJ0cmlnZ2VyXCIsXG4gICAgbmFtZTogXCJUcmlnZ2VyIC8gRmlyZSBDb250cm9sXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2luZ2xlLXN0YWdlLCB0d28tc3RhZ2UsIGFuZCBtYXRjaCB0cmlnZ2Vycy5cIixcbiAgICBncm91cDogXCJsb3dlclwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiZ3JpcFwiLFxuICAgIG5hbWU6IFwiUGlzdG9sIEdyaXBcIixcbiAgICBkZXNjcmlwdGlvbjogXCJHcmlwcyB0aGF0IHNoYXBlIGhvdyB0aGUgcmlmbGUgaGFuZGxlcy5cIixcbiAgICBncm91cDogXCJsb3dlclwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwic2FmZXR5XCIsXG4gICAgbmFtZTogXCJTYWZldHkgLyBTZWxlY3RvclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFtYmkgc2VsZWN0b3JzIGFuZCBjb250cm9sIHVwZ3JhZGVzLlwiLFxuICAgIGdyb3VwOiBcImxvd2VyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJidWZmZXJcIixcbiAgICBuYW1lOiBcIkJ1ZmZlciBTeXN0ZW1cIixcbiAgICBkZXNjcmlwdGlvbjogXCJCdWZmZXIgdHViZSwgYnVmZmVyLCBzcHJpbmcsIGFuZCByZWxhdGVkIHBhcnRzLlwiLFxuICAgIGdyb3VwOiBcImxvd2VyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzdG9ja1wiLFxuICAgIG5hbWU6IFwiU3RvY2sgLyBCcmFjZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFkanVzdGFibGUsIGZpeGVkLCBhbmQgbWluaW1hbGlzdCBzdG9ja3MuXCIsXG4gICAgZ3JvdXA6IFwibG93ZXJcIixcbiAgfSxcblxuICAvLyBVUFBFUlxuICB7XG4gICAgaWQ6IFwidXBwZXJcIixcbiAgICBuYW1lOiBcIlN0cmlwcGVkIFVwcGVyc1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBjb3JlIG9mIHRoZSB0b3AgaGFsZiBvZiB5b3VyIGJ1aWxkLlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjb21wbGV0ZVVwcGVyXCIsXG4gICAgbmFtZTogXCJDb21wbGV0ZSBVcHBlcnNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJQcmUtYXNzZW1ibGVkIHVwcGVycyByZWFkeSB0byBwaW4gYW5kIHNob290LlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJiY2dcIixcbiAgICBuYW1lOiBcIkJvbHQgQ2FycmllcnNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgaGVhcnRiZWF0IG9mIHRoZSByaWZsZeKAmXMgY3ljbGluZy5cIixcbiAgICBncm91cDogXCJ1cHBlclwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiYmFycmVsXCIsXG4gICAgbmFtZTogXCJCYXJyZWxzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiRGlmZmVyZW50IGxlbmd0aHMsIHByb2ZpbGVzLCBhbmQgY2FsaWJlcnMuXCIsXG4gICAgZ3JvdXA6IFwidXBwZXJcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImdhc0Jsb2NrXCIsXG4gICAgbmFtZTogXCJHYXMgQmxvY2tzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhbmRhcmQgYW5kIGFkanVzdGFibGUgZ2FzIGJsb2Nrcy5cIixcbiAgICBncm91cDogXCJ1cHBlclwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiZ2FzVHViZVwiLFxuICAgIG5hbWU6IFwiR2FzIFR1YmVzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQ2FyYmluZSwgbWlkLCByaWZsZSwgYW5kIG1vcmUuXCIsXG4gICAgZ3JvdXA6IFwidXBwZXJcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcIm11enpsZURldmljZVwiLFxuICAgIG5hbWU6IFwiTXV6emxlIERldmljZXNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJCcmFrZXMsIGNvbXBzLCBhbmQgZmxhc2ggaGlkZXJzLlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzdXBwcmVzc29yXCIsXG4gICAgbmFtZTogXCJTdXBwcmVzc29yc1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkhlYXJpbmctc2FmZSBzZXR1cHMgYW5kIGhvc3RzLlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJoYW5kZ3VhcmRcIixcbiAgICBuYW1lOiBcIkhhbmRndWFyZHMgLyBSYWlsc1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk0tTE9LIHJhaWxzIGFuZCBmcm9udC1lbmQgZnVybml0dXJlLlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjaGFyZ2luZ0hhbmRsZVwiLFxuICAgIG5hbWU6IFwiQ2hhcmdpbmcgSGFuZGxlc1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkIGFuZCBhbWJpIGNoYXJnaW5nIGhhbmRsZXMuXCIsXG4gICAgZ3JvdXA6IFwidXBwZXJcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcInNpZ2h0c1wiLFxuICAgIG5hbWU6IFwiSXJvbiBTaWdodHNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJCYWNrdXAgYW5kIHByaW1hcnkgaXJvbnMuXCIsXG4gICAgZ3JvdXA6IFwidXBwZXJcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcIm9wdGljXCIsXG4gICAgbmFtZTogXCJPcHRpY3NcIixcbiAgICBkZXNjcmlwdGlvbjogXCJMUFZPcywgcmVkIGRvdHMsIGFuZCBtYWduaWZpZXJzLlwiLFxuICAgIGdyb3VwOiBcInVwcGVyXCIsXG4gIH0sXG4gIC8vIEFDQ0VTU09SSUVTIEdST1VQXG4gIHtcbiAgICBpZDogXCJtYWdhemluZVwiLFxuICAgIG5hbWU6IFwiTWFnYXppbmVzXCIsXG4gICAgZ3JvdXA6IFwiYWNjZXNzb3JpZXNcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcIndlYXBvbkxpZ2h0XCIsXG4gICAgbmFtZTogXCJXZWFwb24gTGlnaHRzICYgTGFzZXJzXCIsXG4gICAgZ3JvdXA6IFwiYWNjZXNzb3JpZXNcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImZvcmVncmlwXCIsXG4gICAgbmFtZTogXCJWZXJ0aWNhbCAvIEFuZ2xlZCBHcmlwc1wiLFxuICAgIGdyb3VwOiBcImFjY2Vzc29yaWVzXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJiaXBvZFwiLFxuICAgIG5hbWU6IFwiQmlwb2RzXCIsXG4gICAgZ3JvdXA6IFwiYWNjZXNzb3JpZXNcIixcbiAgfSxcbiAge1xuICAgIGlkOiBcInNsaW5nXCIsXG4gICAgbmFtZTogXCJTbGluZ3MgJiBNb3VudHNcIixcbiAgICBncm91cDogXCJhY2Nlc3Nvcmllc1wiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwicmFpbEFjY2Vzc29yeVwiLFxuICAgIG5hbWU6IFwiUmFpbCBTZWN0aW9ucyAmIENvdmVyc1wiLFxuICAgIGdyb3VwOiBcImFjY2Vzc29yaWVzXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJ0b29sc1wiLFxuICAgIG5hbWU6IFwiVG9vbHMgJiBNYWludGVuYW5jZVwiLFxuICAgIGdyb3VwOiBcImFjY2Vzc29yaWVzXCIsXG4gIH0sXG5dO1xuIl0sIm5hbWVzIjpbIkNBVEVHT1JJRVMiLCJpZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImdyb3VwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./data/gunbuilderParts.ts\n");
/***/ }),
/***/ "(rsc)/./app/globals.css":
/*!*************************!*\
!*** ./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__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n");
/***/ }),
/***/ "(rsc)/./app/layout.tsx":
/*!************************!*\
!*** ./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 */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/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 _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n/* harmony import */ var _components_BuilderNav__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/BuilderNav */ \"(rsc)/./components/BuilderNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: {\n default: \"Battl Builder\",\n template: \"%s | Battl Builder\"\n },\n description: \"Battl Builder — the smarter, faster, datadriven way to build your next firearm.\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: \"bg-black text-zinc-100\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BuilderNav__WEBPACK_IMPORTED_MODULE_4__.BuilderNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 22,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 23,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDdUI7QUFFOEI7QUFDUjtBQUNRO0FBRTlDLE1BQU1HLFdBQVc7SUFDdEJDLE9BQU87UUFDTEMsU0FBUztRQUNUQyxVQUFVO0lBQ1o7SUFDQUMsYUFBYTtBQUNmLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsRUFBMkI7SUFDdEUscUJBQ0UsOERBQUNDO1FBQUtDLE1BQUs7a0JBQ1QsNEVBQUNDO1lBQUtDLFdBQVU7c0JBQ2QsNEVBQUNiLDhEQUFZQTs7a0NBQ1gsOERBQUNDLHNEQUFNQTs7Ozs7a0NBQ1AsOERBQUNDLDhEQUFVQTs7Ozs7a0NBQ1gsOERBQUNZO3dCQUFLRCxXQUFVO2tDQUFnQko7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgXCIuL2dsb2JhbHMuY3NzXCI7XG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuaW1wb3J0IHsgVG9wTmF2IH0gZnJvbSBcIkAvY29tcG9uZW50cy9Ub3BOYXZcIjtcbmltcG9ydCB7IEJ1aWxkZXJOYXYgfSBmcm9tIFwiQC9jb21wb25lbnRzL0J1aWxkZXJOYXZcIjtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZToge1xuICAgIGRlZmF1bHQ6IFwiQmF0dGwgQnVpbGRlclwiLFxuICAgIHRlbXBsYXRlOiBcIiVzIHwgQmF0dGwgQnVpbGRlclwiLFxuICB9LFxuICBkZXNjcmlwdGlvbjogXCJCYXR0bCBCdWlsZGVyIOKAlCB0aGUgc21hcnRlciwgZmFzdGVyLCBkYXRh4oCRZHJpdmVuIHdheSB0byBidWlsZCB5b3VyIG5leHQgZmlyZWFybS5cIixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9XCJlblwiPlxuICAgICAgPGJvZHkgY2xhc3NOYW1lPVwiYmctYmxhY2sgdGV4dC16aW5jLTEwMFwiPlxuICAgICAgICA8QXV0aFByb3ZpZGVyPlxuICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICA8QnVpbGRlck5hdiAvPlxuICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlblwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiQXV0aFByb3ZpZGVyIiwiVG9wTmF2IiwiQnVpbGRlck5hdiIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZWZhdWx0IiwidGVtcGxhdGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSIsImNsYXNzTmFtZSIsIm1haW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n");
/***/ }),
/***/ "(rsc)/./components/BuilderNav.tsx":
/*!***********************************!*\
!*** ./components/BuilderNav.tsx ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $$typeof: () => (/* binding */ $$typeof),
/* harmony export */ BuilderNav: () => (/* binding */ e0),
/* harmony export */ __esModule: () => (/* binding */ __esModule),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js");
const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx`)
// Accessing the __esModule property and exporting $$typeof are required here.
// The __esModule getter forces the proxy target to create the default export
// and the $$typeof value is for rendering logic to determine if the module
// is a client boundary.
const { __esModule, $$typeof } = proxy;
const __default__ = proxy.default;
const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx#BuilderNav`);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/BuilderNav.tsx#default`));
/***/ }),
/***/ "(rsc)/./components/TopNav.tsx":
/*!*******************************!*\
!*** ./components/TopNav.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 */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgY29uc3QgaXNBdXRoZW50aWNhdGVkID0gISF1c2VyO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgey8qIEVhcmx5IGFjY2VzcyBiYXIgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci1hbWJlci01MDAvMjAgYmctYW1iZXItNTAwLzVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGZsZXgtY29sIGdhcC0xIHB4LTQgcHktMiB0ZXh0LVswLjc1cmVtXSB0ZXh0LWFtYmVyLTEwMCBtZDpmbGV4LXJvdyBtZDppdGVtcy1jZW50ZXIgbWQ6anVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwicm91bmRlZC1zbSBiZy1hbWJlci01MDAvMjAgcHgtMiBweS0wLjUgdGV4dC1bMC42NXJlbV0gZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMThlbV0gdGV4dC1hbWJlci0zMDBcIj5cbiAgICAgICAgICAgICAgRWFybHkgQWNjZXNzIEJldGFcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhpZGRlbiB0ZXh0LWFtYmVyLTEwMC85MCBtZDppbmxpbmVcIj5cbiAgICAgICAgICAgICAgWW91JmFwb3M7cmUgdXNpbmcgYW4gZWFybHktYWNjZXNzIHByb3RvdHlwZSBvZiBUaGUgQXJtb3J5LiBEYXRhLFxuICAgICAgICAgICAgICBwcmljaW5nLCBhbmQgYXZhaWxhYmxlIHBhcnRzIGFyZSBzdGlsbCBldm9sdmluZy5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWFtYmVyLTEwMC85MCBtZDpoaWRkZW5cIj5cbiAgICAgICAgICAgIEVhcmx5LWFjY2VzcyBwcm90b3R5cGUuIERhdGEgYW5kIHByaWNpbmcgbWF5IGNoYW5nZS5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBNYWluIG5hdiByb3cgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIExlZnQ6IEJyYW5kIC8gSG9tZSAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgQmF0dGwgQnVpbGRlclxuICAgICAgICA8L0xpbms+XG5cbiAgICAgICAgey8qIENlbnRlcjogbWFpbiBuYXYgKEJ1aWxkZXIgLyBBZG1pbikgKi99XG4gICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIGl0ZW1zLWNlbnRlciBnYXAtNCBtZDpmbGV4XCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGhyZWY9XCIvZ3VuYnVpbGRlclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy0zMDAgaG92ZXI6dGV4dC16aW5jLTUwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBCdWlsZGVyXG4gICAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgICAge2lzQXV0aGVudGljYXRlZCAmJiAoXG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBocmVmPVwiL2FkbWluXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LWVtZXJhbGQtNDAwIGhvdmVyOnRleHQtZW1lcmFsZC0zMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBBZG1pblxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiBpc0F1dGhlbnRpY2F0ZWQgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4gdGV4dC14cyB0ZXh0LXppbmMtMzAwIHNtOmlubGluZVwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n");
/***/ }),
/***/ "(rsc)/./context/AuthContext.tsx":
/*!*********************************!*\
!*** ./context/AuthContext.tsx ***!
\*********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AuthProvider: () => (/* binding */ e0),
/* harmony export */ useAuth: () => (/* binding */ e1)
/* harmony export */ });
/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js");
const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`)
// Accessing the __esModule property and exporting $$typeof are required here.
// The __esModule getter forces the proxy target to create the default export
// and the $$typeof value is for rendering logic to determine if the module
// is a client boundary.
const { __esModule, $$typeof } = proxy;
const __default__ = proxy.default;
const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`);
const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`);
/***/ })
};
;
// 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/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
module.exports = __webpack_exports__;
})();