opmsec 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.husky/pre-commit +1 -0
  2. package/bun.lock +4 -4
  3. package/docs/mint.json +2 -2
  4. package/package.json +7 -6
  5. package/packages/cli/src/commands/install.tsx +282 -24
  6. package/packages/cli/src/index.tsx +3 -1
  7. package/packages/cli/src/services/version.ts +156 -5
  8. package/packages/core/src/utils.ts +135 -0
  9. package/packages/scanner/src/services/openrouter.ts +18 -7
  10. package/packages/web/.next/BUILD_ID +1 -0
  11. package/packages/web/.next/app-build-manifest.json +18 -7
  12. package/packages/web/.next/app-path-routes-manifest.json +4 -0
  13. package/packages/web/.next/build-manifest.json +19 -6
  14. package/packages/web/.next/diagnostics/build-diagnostics.json +6 -0
  15. package/packages/web/.next/diagnostics/framework.json +1 -0
  16. package/packages/web/.next/export-marker.json +6 -0
  17. package/packages/web/.next/images-manifest.json +58 -0
  18. package/packages/web/.next/next-minimal-server.js.nft.json +1 -0
  19. package/packages/web/.next/next-server.js.nft.json +1 -0
  20. package/packages/web/.next/prerender-manifest.json +54 -4
  21. package/packages/web/.next/required-server-files.json +320 -0
  22. package/packages/web/.next/routes-manifest.json +53 -1
  23. package/packages/web/.next/server/app/_not-found/page.js +2 -0
  24. package/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -0
  25. package/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  26. package/packages/web/.next/server/app/_not-found.html +1 -0
  27. package/packages/web/.next/server/app/_not-found.meta +8 -0
  28. package/packages/web/.next/server/app/_not-found.rsc +16 -0
  29. package/packages/web/.next/server/app/index.html +1 -0
  30. package/packages/web/.next/server/app/index.meta +7 -0
  31. package/packages/web/.next/server/app/index.rsc +20 -0
  32. package/packages/web/.next/server/app/page.js +2 -272
  33. package/packages/web/.next/server/app/page.js.nft.json +1 -0
  34. package/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  35. package/packages/web/.next/server/app-paths-manifest.json +1 -0
  36. package/packages/web/.next/server/chunks/611.js +6 -0
  37. package/packages/web/.next/server/chunks/778.js +30 -0
  38. package/packages/web/.next/server/functions-config-manifest.json +4 -0
  39. package/packages/web/.next/server/interception-route-rewrite-manifest.js +1 -1
  40. package/packages/web/.next/server/middleware-build-manifest.js +1 -22
  41. package/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  42. package/packages/web/.next/server/next-font-manifest.js +1 -1
  43. package/packages/web/.next/server/pages/404.html +1 -0
  44. package/packages/web/.next/server/pages/500.html +1 -0
  45. package/packages/web/.next/server/pages/_app.js +1 -0
  46. package/packages/web/.next/server/pages/_app.js.nft.json +1 -0
  47. package/packages/web/.next/server/pages/_document.js +1 -0
  48. package/packages/web/.next/server/pages/_document.js.nft.json +1 -0
  49. package/packages/web/.next/server/pages/_error.js +19 -0
  50. package/packages/web/.next/server/pages/_error.js.nft.json +1 -0
  51. package/packages/web/.next/server/pages-manifest.json +6 -1
  52. package/packages/web/.next/server/server-reference-manifest.js +1 -1
  53. package/packages/web/.next/server/server-reference-manifest.json +1 -5
  54. package/packages/web/.next/server/webpack-runtime.js +1 -209
  55. package/packages/web/.next/static/2XIFCTTKVZwN_RsNE-Rrr/_buildManifest.js +1 -0
  56. package/packages/web/.next/static/2XIFCTTKVZwN_RsNE-Rrr/_ssgManifest.js +1 -0
  57. package/packages/web/.next/static/chunks/255-0dc49b7a6e8e5c05.js +1 -0
  58. package/packages/web/.next/static/chunks/4bd1b696-382748cc942d8a14.js +1 -0
  59. package/packages/web/.next/static/chunks/app/_not-found/page-0da542be7eb33a64.js +1 -0
  60. package/packages/web/.next/static/chunks/app/layout-28a489fb4398663f.js +1 -0
  61. package/packages/web/.next/static/chunks/app/page-e58ccdb78625bce6.js +1 -0
  62. package/packages/web/.next/static/chunks/framework-ac73abd125e371fe.js +1 -0
  63. package/packages/web/.next/static/chunks/main-app-dd261207182e5a23.js +1 -0
  64. package/packages/web/.next/static/chunks/main-ee293fa6aa18bdd1.js +1 -0
  65. package/packages/web/.next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
  66. package/packages/web/.next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
  67. package/packages/web/.next/static/chunks/webpack-e1ae44446e7f7355.js +1 -0
  68. package/packages/web/.next/static/css/21d69157e271f2ab.css +3 -0
  69. package/packages/web/.next/trace +2 -5
  70. package/packages/web/app/page.tsx +5 -2
  71. package/packages/web/.next/server/vendor-chunks/@swc.js +0 -55
  72. package/packages/web/.next/server/vendor-chunks/next.js +0 -3010
  73. package/packages/web/.next/static/chunks/app/layout.js +0 -39
  74. package/packages/web/.next/static/chunks/app/page.js +0 -61
  75. package/packages/web/.next/static/chunks/app-pages-internals.js +0 -182
  76. package/packages/web/.next/static/chunks/main-app.js +0 -1882
  77. package/packages/web/.next/static/chunks/webpack.js +0 -1393
  78. package/packages/web/.next/static/css/app/layout.css +0 -1237
  79. package/packages/web/.next/static/development/_buildManifest.js +0 -1
  80. package/packages/web/.next/static/development/_ssgManifest.js +0 -1
  81. package/packages/web/.next/static/webpack/633457081244afec._.hot-update.json +0 -1
  82. package/packages/web/.next/static/webpack/6fee6306e0f98869.webpack.hot-update.json +0 -1
  83. package/packages/web/.next/static/webpack/73e341375c8d429e.webpack.hot-update.json +0 -1
  84. package/packages/web/.next/static/webpack/app/layout.6fee6306e0f98869.hot-update.js +0 -22
  85. package/packages/web/.next/static/webpack/app/layout.73e341375c8d429e.hot-update.js +0 -22
  86. package/packages/web/.next/static/webpack/app/page.6fee6306e0f98869.hot-update.js +0 -22
  87. package/packages/web/.next/static/webpack/app/page.73e341375c8d429e.hot-update.js +0 -22
  88. package/packages/web/.next/static/webpack/webpack.6fee6306e0f98869.hot-update.js +0 -12
  89. package/packages/web/.next/static/webpack/webpack.73e341375c8d429e.hot-update.js +0 -12
  90. /package/packages/web/.next/static/chunks/{polyfills.js → polyfills-42372ed130431b0a.js} +0 -0
@@ -1,39 +0,0 @@
1
- /*
2
- * ATTENTION: An "eval-source-map" devtool has been used.
3
- * This devtool is neither made for production nor for readable output files.
4
- * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
5
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6
- * or disable the default devtool with "devtool: false".
7
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8
- */
9
- (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/layout"],{
10
-
11
- /***/ "(app-pages-browser)/./app/globals.css":
12
- /*!*************************!*\
13
- !*** ./app/globals.css ***!
14
- \*************************/
15
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
16
-
17
- "use strict";
18
- eval(__webpack_require__.ts("__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__ = (\"2b63fda28ffd\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9nbG9iYWxzLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsY0FBYztBQUM3QixJQUFJLElBQVUsSUFBSSxpQkFBaUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL2dsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMmI2M2ZkYTI4ZmZkXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/globals.css\n"));
19
-
20
- /***/ }),
21
-
22
- /***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
23
- /*!*******************************************************************************************************************************************************************************************************************************************************!*\
24
- !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
25
- \*******************************************************************************************************************************************************************************************************************************************************/
26
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
27
-
28
- eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/globals.css */ \"(app-pages-browser)/./app/globals.css\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkaGFuYW5qYXlwYWklMkZDb2RpbmclMkZQZXJzb25hbCUyRm9wbSUyRnBhY2thZ2VzJTJGd2ViJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSw0SkFBeUciLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL2dsb2JhbHMuY3NzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
29
-
30
- /***/ })
31
-
32
- },
33
- /******/ __webpack_require__ => { // webpackRuntimeModules
34
- /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
35
- /******/ __webpack_require__.O(0, ["main-app"], () => (__webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!")));
36
- /******/ var __webpack_exports__ = __webpack_require__.O();
37
- /******/ _N_E = __webpack_exports__;
38
- /******/ }
39
- ]);
@@ -1,61 +0,0 @@
1
- /*
2
- * ATTENTION: An "eval-source-map" devtool has been used.
3
- * This devtool is neither made for production nor for readable output files.
4
- * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
5
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6
- * or disable the default devtool with "devtool: false".
7
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8
- */
9
- (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/page"],{
10
-
11
- /***/ "(app-pages-browser)/./app/page.tsx":
12
- /*!**********************!*\
13
- !*** ./app/page.tsx ***!
14
- \**********************/
15
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
16
-
17
- "use strict";
18
- eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\nconst DOCS_URL = 'http://localhost:3001';\nconst GITHUB_URL = 'https://github.com/dhananjaypai08/opm';\nconst NPM_URL = 'https://www.npmjs.com/package/opmsec';\nconst CONTRACT = '0x16684391fc9bf48246B08Afe16d1a57BFa181d48';\nconst BASESCAN = \"https://sepolia.basescan.org/address/\".concat(CONTRACT);\nfunction Logo(param) {\n let { size = 20 } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n width: \"32\",\n height: \"32\",\n rx: \"6\",\n fill: \"#ededed\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M8 10L12 22L16 13L20 22L24 10\",\n stroke: \"#0a0a0a\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"16\",\n cy: \"24\",\n r: \"1.5\",\n fill: \"#16a34a\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n_c = Logo;\nfunction Nav() {\n _s();\n const [scrolled, setScrolled] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Nav.useEffect\": ()=>{\n const handler = {\n \"Nav.useEffect.handler\": ()=>setScrolled(window.scrollY > 20)\n }[\"Nav.useEffect.handler\"];\n window.addEventListener('scroll', handler, {\n passive: true\n });\n return ({\n \"Nav.useEffect\": ()=>window.removeEventListener('scroll', handler)\n })[\"Nav.useEffect\"];\n }\n }[\"Nav.useEffect\"], []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"fixed top-0 left-0 right-0 z-40 transition-all duration-300 \".concat(scrolled ? 'bg-bg/80 backdrop-blur-xl border-b border-border' : ''),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto px-6 h-16 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/\",\n className: \"flex items-center gap-2.5 hover:opacity-80 transition-opacity\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Logo, {\n size: 24\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg font-semibold tracking-tight\",\n children: \"opm\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] font-mono text-muted bg-surface px-1.5 py-0.5 rounded border border-border\",\n children: \"v0.1.3\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 32,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#features\",\n className: \"text-sm text-muted hover:text-accent transition-colors\",\n children: \"Features\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 38,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#architecture\",\n className: \"text-sm text-muted hover:text-accent transition-colors\",\n children: \"Architecture\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 39,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#cli\",\n className: \"text-sm text-muted hover:text-accent transition-colors\",\n children: \"CLI\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 40,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: DOCS_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"text-sm text-muted hover:text-accent transition-colors\",\n children: \"Docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 41,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: GITHUB_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"text-sm text-muted hover:text-accent transition-colors\",\n children: \"GitHub\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 42,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: BASESCAN,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"text-sm font-mono text-muted hover:text-accent transition-colors flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 44,\n columnNumber: 13\n }, this),\n \"Base Sepolia\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 43,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 31,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 30,\n columnNumber: 5\n }, this);\n}\n_s(Nav, \"tQtW9FyKD+Ut/6k+f0BCbABprL4=\");\n_c1 = Nav;\nfunction Hero() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative min-h-screen flex items-center justify-center grid-bg overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] rounded-full bg-gradient-radial from-white/[0.02] to-transparent animate-glow-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 max-w-4xl mx-auto px-6 text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-fade-in\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center gap-2 text-xs font-mono text-muted mb-8 px-3 py-1.5 rounded-full border border-border bg-surface/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1.5 h-1.5 rounded-full bg-green-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 63,\n columnNumber: 13\n }, this),\n \"Secured by multi-agent consensus on Base L2\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-6xl md:text-8xl font-bold tracking-tighter leading-[0.9] mb-6 animate-slide-up\",\n style: {\n animationDelay: '0.1s',\n animationFillMode: 'backwards'\n },\n children: [\n \"On-chain\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 69,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-transparent bg-clip-text bg-gradient-to-r from-white via-white/90 to-white/40\",\n children: \"Package Security\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 70,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl text-muted max-w-2xl mx-auto mb-12 leading-relaxed animate-slide-up\",\n style: {\n animationDelay: '0.3s',\n animationFillMode: 'backwards'\n },\n children: \"Cryptographic attestation, multi-model AI auditing, and immutable risk scoring for every npm package. All verified on-chain.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row items-center justify-center gap-4 animate-slide-up\",\n style: {\n animationDelay: '0.5s',\n animationFillMode: 'backwards'\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-0.5 bg-gradient-to-r from-white/20 to-white/5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity blur-sm\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 81,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"code\", {\n className: \"relative flex items-center gap-3 bg-surface border border-border rounded-lg px-5 py-3 font-mono text-sm cursor-pointer hover:border-border-light transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted\",\n children: \"$\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 83,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"npm i -g opmsec\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 84,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted/50\",\n children: \"|\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 85,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted text-xs\",\n children: [\n \"then: opm install \",\n '<pkg>'\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 86,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: DOCS_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"px-5 py-3 text-sm font-medium text-bg bg-accent rounded-lg hover:bg-white transition-colors\",\n children: \"Read the docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 89,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-bg to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 95,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 55,\n columnNumber: 5\n }, this);\n}\n_c2 = Hero;\nfunction Features() {\n const features = [\n {\n title: 'Multi-Agent Consensus',\n description: 'Three independent LLMs (Claude, Gemini, DeepSeek) analyze every package in parallel. Risk scores are intelligence-weighted using live Artificial Analysis benchmarks.',\n detail: 'No single model failure point. Weighted aggregate scoring with model intelligence and coding indices.',\n icon: '⬡'\n },\n {\n title: 'Cryptographic Attestation',\n description: 'Every package is checksummed, signed with the author\\'s wallet, and registered on Base L2. Signatures are verified at install time.',\n detail: 'SHA-256 checksum, ECDSA signature, on-chain registration. Tamper-evident by design.',\n icon: '◈'\n },\n {\n title: 'ZK-Verified Agent Registration',\n description: 'Permissionless agent onboarding with zero-knowledge proof of benchmark accuracy. Agents must achieve 100% on labeled security datasets to participate.',\n detail: 'Hash-commitment scheme with circom circuit reference. Accuracy proven without revealing test data.',\n icon: '◎'\n },\n {\n title: 'On-chain Risk Registry',\n description: 'Immutable risk scores, author profiles, and audit reports stored on Base Sepolia. Every security assessment is a verifiable public record.',\n detail: 'OPMRegistry.sol: authorizedAgents, packages, versionData, AgentScores. Fully queryable.',\n icon: '▣'\n },\n {\n title: 'CVE + Typosquat Detection',\n description: 'OSV database integration for known vulnerabilities. Levenshtein-distance typosquat detection against the top 10,000 npm packages.',\n detail: 'Real-time CVE lookups, automated fix suggestions, dependency confusion detection.',\n icon: '◬'\n },\n {\n title: 'Drop-in npm Replacement',\n description: 'Full CLI compatibility: install, audit, check, push, fix. Every npm command works transparently with security verification layered on top.',\n detail: 'opm install = npm install + on-chain verification + signature check + CVE scan.',\n icon: '◯'\n }\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"features\",\n className: \"py-32 px-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-muted mb-4 tracking-widest uppercase\",\n children: \"Security Primitives\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 144,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl md:text-5xl font-bold tracking-tight\",\n children: [\n \"Defense in depth,\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 146,\n columnNumber: 30\n }, this),\n \"by default.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 145,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px bg-border rounded-2xl overflow-hidden\",\n children: features.map((f, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-surface p-8 hover:bg-surface-hover transition-colors group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity\",\n children: f.icon\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 153,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold mb-3\",\n children: f.title\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 154,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted leading-relaxed mb-4\",\n children: f.description\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 155,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-muted/60 leading-relaxed\",\n children: f.detail\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 156,\n columnNumber: 15\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 152,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 142,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 141,\n columnNumber: 5\n }, this);\n}\n_c3 = Features;\nfunction Architecture() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"architecture\",\n className: \"py-32 px-6 border-t border-border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-muted mb-4 tracking-widest uppercase\",\n children: \"System Design\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 170,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl md:text-5xl font-bold tracking-tight\",\n children: \"Verification pipeline\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 171,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-5 gap-4\",\n children: [\n {\n step: '01',\n title: 'Pack & Sign',\n desc: 'SHA-256 checksum, ECDSA signature via author wallet'\n },\n {\n step: '02',\n title: 'Multi-Agent Scan',\n desc: '3 LLMs analyze source in parallel, each submits risk score'\n },\n {\n step: '03',\n title: 'Weighted Consensus',\n desc: 'Intelligence-weighted aggregate via Artificial Analysis indices'\n },\n {\n step: '04',\n title: 'On-chain Registry',\n desc: 'Package, scores, report URI registered on Base Sepolia'\n },\n {\n step: '05',\n title: 'Install Verify',\n desc: 'Signature + on-chain score + CVE check at install time'\n }\n ].map((s, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs font-mono text-muted block mb-3\",\n children: s.step\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 187,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-semibold mb-2\",\n children: s.title\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 188,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted leading-relaxed\",\n children: s.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 189,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 186,\n columnNumber: 17\n }, this),\n i < 4 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 192,\n columnNumber: 19\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 185,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 177,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-20 grid grid-cols-1 md:grid-cols-3 gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border border-border rounded-xl p-6 bg-surface/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-green-500/80 mb-3\",\n children: \"CHAIN\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 201,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-semibold mb-1\",\n children: \"Base Sepolia (L2)\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 202,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted\",\n children: \"Low-cost, high-throughput settlement for agent score submissions and package registrations.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 203,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 200,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border border-border rounded-xl p-6 bg-surface/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-blue-400/80 mb-3\",\n children: \"STORAGE\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 206,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-semibold mb-1\",\n children: \"Fileverse (IPFS)\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 207,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted\",\n children: \"Full audit reports uploaded to decentralized storage. URI stored on-chain for permanent reference.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 208,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 205,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border border-border rounded-xl p-6 bg-surface/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-purple-400/80 mb-3\",\n children: \"IDENTITY\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 211,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-semibold mb-1\",\n children: \"ENS Resolution\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted\",\n children: \"Author addresses resolved to ENS names. On-chain author profiles with reputation scoring.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 213,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 210,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 168,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 167,\n columnNumber: 5\n }, this);\n}\n_c4 = Architecture;\nfunction CLISection() {\n const commands = [\n {\n cmd: 'opm push',\n desc: 'Sign, scan with 3 AI agents, publish, register on-chain'\n },\n {\n cmd: 'opm install <pkg>',\n desc: 'Install with signature + on-chain + CVE verification'\n },\n {\n cmd: 'opm check',\n desc: 'Scan all deps: typosquats, CVEs, AI analysis, Fileverse report'\n },\n {\n cmd: 'opm fix',\n desc: 'Auto-fix typosquats and vulnerable versions'\n },\n {\n cmd: 'opm audit',\n desc: 'On-chain + CVE audit for entire dependency tree'\n },\n {\n cmd: 'opm info <pkg>',\n desc: 'On-chain metadata, agent scores, safest version'\n },\n {\n cmd: 'opm register-agent',\n desc: 'Register a new security agent (ZK-verified)'\n },\n {\n cmd: 'opm view <name.eth>',\n desc: 'ENS author profile, reputation, published packages'\n }\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"cli\",\n className: \"py-32 px-6 border-t border-border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 lg:grid-cols-2 gap-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-muted mb-4 tracking-widest uppercase\",\n children: \"CLI Reference\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 238,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl font-bold tracking-tight mb-6\",\n children: [\n \"Every command,\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n \"security-first.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 239,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted leading-relaxed mb-8\",\n children: \"Drop-in replacement for npm. Every operation gains cryptographic verification, AI-powered auditing, and on-chain attestation transparently.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 242,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: DOCS_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"inline-flex items-center gap-2 text-sm font-medium px-4 py-2 border border-border rounded-lg hover:bg-surface transition-colors\",\n children: \"Full CLI documentation\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 245,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 237,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"terminal-glow rounded-xl border border-border bg-surface overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 px-4 py-3 border-b border-border\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 rounded-full bg-[#ff5f57]\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 252,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 rounded-full bg-[#febc2e]\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 253,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 rounded-full bg-[#28c840]\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 254,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2 text-xs text-muted font-mono\",\n children: \"terminal\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 255,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 251,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-5 font-mono text-sm space-y-3\",\n children: commands.map((c, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted shrink-0\",\n children: \"$\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 260,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-400\",\n children: c.cmd\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 262,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted/50 text-xs block mt-0.5\",\n children: c.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 263,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 261,\n columnNumber: 19\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 259,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 257,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 250,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 235,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 234,\n columnNumber: 5\n }, this);\n}\n_c5 = CLISection;\nfunction ContractSection() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"py-32 px-6 border-t border-border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-mono text-muted mb-4 tracking-widest uppercase\",\n children: \"Smart Contract\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl font-bold tracking-tight mb-6\",\n children: \"Fully on-chain. Fully verifiable.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted max-w-2xl mx-auto mb-12\",\n children: \"OPMRegistry.sol deployed on Base Sepolia. Every package registration, agent score submission, and author profile is an immutable on-chain record.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 md:grid-cols-4 gap-px bg-border rounded-xl overflow-hidden mb-12\",\n children: [\n {\n label: 'Packages',\n desc: 'Registered'\n },\n {\n label: 'Agent Scores',\n desc: 'Submitted'\n },\n {\n label: 'Authors',\n desc: 'Verified'\n },\n {\n label: 'Reports',\n desc: 'On IPFS'\n }\n ].map((s, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-surface p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted mb-1\",\n children: s.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 295,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-semibold\",\n children: s.label\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 296,\n columnNumber: 15\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 294,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: BASESCAN,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"flex items-center gap-2 text-sm font-mono text-muted hover:text-accent transition-colors px-4 py-2 border border-border rounded-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-green-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 308,\n columnNumber: 13\n }, this),\n \"View on BaseScan\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"\".concat(GITHUB_URL, \"/blob/main/packages/contracts/contracts/OPMRegistry.sol\"),\n target: \"_blank\",\n rel: \"noopener\",\n className: \"flex items-center gap-2 text-sm text-muted hover:text-accent transition-colors px-4 py-2 border border-border rounded-lg\",\n children: \"Source Code\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 311,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 278,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 277,\n columnNumber: 5\n }, this);\n}\n_c6 = ContractSection;\nfunction Footer() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"border-t border-border py-12 px-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto flex flex-col md:flex-row items-center justify-between gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/\",\n className: \"flex items-center gap-2.5 hover:opacity-80 transition-opacity\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Logo, {\n size: 18\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 330,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold tracking-tight\",\n children: \"opm\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 331,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted\",\n children: \"On-chain Package Manager\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 332,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 329,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6 text-sm text-muted\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: DOCS_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"hover:text-accent transition-colors\",\n children: \"Docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: GITHUB_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"hover:text-accent transition-colors\",\n children: \"GitHub\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 336,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: NPM_URL,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"hover:text-accent transition-colors\",\n children: \"npm\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 337,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: BASESCAN,\n target: \"_blank\",\n rel: \"noopener\",\n className: \"hover:text-accent transition-colors\",\n children: \"Contract\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 338,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted/50\",\n children: \"MIT License\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 340,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 328,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 327,\n columnNumber: 5\n }, this);\n}\n_c7 = Footer;\nfunction Home() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Nav, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 349,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Hero, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 350,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Features, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 351,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Architecture, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 352,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(CLISection, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 353,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ContractSection, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 354,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Footer, {}, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 348,\n columnNumber: 5\n }, this);\n}\n_c8 = Home;\nvar _c, _c1, _c2, _c3, _c4, _c5, _c6, _c7, _c8;\n$RefreshReg$(_c, \"Logo\");\n$RefreshReg$(_c1, \"Nav\");\n$RefreshReg$(_c2, \"Hero\");\n$RefreshReg$(_c3, \"Features\");\n$RefreshReg$(_c4, \"Architecture\");\n$RefreshReg$(_c5, \"CLISection\");\n$RefreshReg$(_c6, \"ContractSection\");\n$RefreshReg$(_c7, \"Footer\");\n$RefreshReg$(_c8, \"Home\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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OzswQkFDQyw4REFBQ25EOzs7OzswQkFDRCw4REFBQ2lCOzs7OzswQkFDRCw4REFBQ1M7Ozs7OzBCQUNELDhEQUFDWTs7Ozs7MEJBQ0QsOERBQUNJOzs7OzswQkFDRCw4REFBQ0k7Ozs7OzBCQUNELDhEQUFDRTs7Ozs7Ozs7Ozs7QUFHUDtNQVp3QkUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL3BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgRE9DU19VUkwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAxJztcbmNvbnN0IEdJVEhVQl9VUkwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RoYW5hbmpheXBhaTA4L29wbSc7XG5jb25zdCBOUE1fVVJMID0gJ2h0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL29wbXNlYyc7XG5jb25zdCBDT05UUkFDVCA9ICcweDE2Njg0MzkxZmM5YmY0ODI0NkIwOEFmZTE2ZDFhNTdCRmExODFkNDgnO1xuY29uc3QgQkFTRVNDQU4gPSBgaHR0cHM6Ly9zZXBvbGlhLmJhc2VzY2FuLm9yZy9hZGRyZXNzLyR7Q09OVFJBQ1R9YDtcblxuZnVuY3Rpb24gTG9nbyh7IHNpemUgPSAyMCB9OiB7IHNpemU/OiBudW1iZXIgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9PlxuICAgICAgPHJlY3Qgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCI2XCIgZmlsbD1cIiNlZGVkZWRcIiAvPlxuICAgICAgPHBhdGggZD1cIk04IDEwTDEyIDIyTDE2IDEzTDIwIDIyTDI0IDEwXCIgc3Ryb2tlPVwiIzBhMGEwYVwiIHN0cm9rZVdpZHRoPVwiMlwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIyNFwiIHI9XCIxLjVcIiBmaWxsPVwiIzE2YTM0YVwiIC8+XG4gICAgPC9zdmc+XG4gICk7XG59XG5cbmZ1bmN0aW9uIE5hdigpIHtcbiAgY29uc3QgW3Njcm9sbGVkLCBzZXRTY3JvbGxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHNldFNjcm9sbGVkKHdpbmRvdy5zY3JvbGxZID4gMjApO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVyKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPG5hdiBjbGFzc05hbWU9e2BmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCB6LTQwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke3Njcm9sbGVkID8gJ2JnLWJnLzgwIGJhY2tkcm9wLWJsdXIteGwgYm9yZGVyLWIgYm9yZGVyLWJvcmRlcicgOiAnJ31gfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNnhsIG14LWF1dG8gcHgtNiBoLTE2IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8YSBocmVmPVwiL1wiIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj5cbiAgICAgICAgICA8TG9nbyBzaXplPXsyNH0gLz5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIj5vcG08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gZm9udC1tb25vIHRleHQtbXV0ZWQgYmctc3VyZmFjZSBweC0xLjUgcHktMC41IHJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXJcIj52MC4xLjM8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxuICAgICAgICAgIDxhIGhyZWY9XCIjZmVhdHVyZXNcIiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIj5GZWF0dXJlczwvYT5cbiAgICAgICAgICA8YSBocmVmPVwiI2FyY2hpdGVjdHVyZVwiIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LWFjY2VudCB0cmFuc2l0aW9uLWNvbG9yc1wiPkFyY2hpdGVjdHVyZTwvYT5cbiAgICAgICAgICA8YSBocmVmPVwiI2NsaVwiIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LWFjY2VudCB0cmFuc2l0aW9uLWNvbG9yc1wiPkNMSTwvYT5cbiAgICAgICAgICA8YSBocmVmPXtET0NTX1VSTH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIj5Eb2NzPC9hPlxuICAgICAgICAgIDxhIGhyZWY9e0dJVEhVQl9VUkx9IHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkIGhvdmVyOnRleHQtYWNjZW50IHRyYW5zaXRpb24tY29sb3JzXCI+R2l0SHViPC9hPlxuICAgICAgICAgIDxhIGhyZWY9e0JBU0VTQ0FOfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tb25vIHRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidy0xLjUgaC0xLjUgcm91bmRlZC1mdWxsIGJnLWdyZWVuLTUwMCBhbmltYXRlLXB1bHNlXCIgLz5cbiAgICAgICAgICAgIEJhc2UgU2Vwb2xpYVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gSGVybygpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBtaW4taC1zY3JlZW4gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ3JpZC1iZyBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xLzIgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIHctWzgwMHB4XSBoLVs4MDBweF0gcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXJhZGlhbCBmcm9tLXdoaXRlL1swLjAyXSB0by10cmFuc3BhcmVudCBhbmltYXRlLWdsb3ctcHVsc2VcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMCBtYXgtdy00eGwgbXgtYXV0byBweC02IHRleHQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYW5pbWF0ZS1mYWRlLWluXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC14cyBmb250LW1vbm8gdGV4dC1tdXRlZCBtYi04IHB4LTMgcHktMS41IHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1zdXJmYWNlLzUwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTEuNSBoLTEuNSByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tNTAwXCIgLz5cbiAgICAgICAgICAgIFNlY3VyZWQgYnkgbXVsdGktYWdlbnQgY29uc2Vuc3VzIG9uIEJhc2UgTDJcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtNnhsIG1kOnRleHQtOHhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodGVyIGxlYWRpbmctWzAuOV0gbWItNiBhbmltYXRlLXNsaWRlLXVwXCIgc3R5bGU9e3sgYW5pbWF0aW9uRGVsYXk6ICcwLjFzJywgYW5pbWF0aW9uRmlsbE1vZGU6ICdiYWNrd2FyZHMnIH19PlxuICAgICAgICAgIE9uLWNoYWluPGJyIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLXdoaXRlIHZpYS13aGl0ZS85MCB0by13aGl0ZS80MFwiPlxuICAgICAgICAgICAgUGFja2FnZSBTZWN1cml0eVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9oMT5cblxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIG1kOnRleHQteGwgdGV4dC1tdXRlZCBtYXgtdy0yeGwgbXgtYXV0byBtYi0xMiBsZWFkaW5nLXJlbGF4ZWQgYW5pbWF0ZS1zbGlkZS11cFwiIHN0eWxlPXt7IGFuaW1hdGlvbkRlbGF5OiAnMC4zcycsIGFuaW1hdGlvbkZpbGxNb2RlOiAnYmFja3dhcmRzJyB9fT5cbiAgICAgICAgICBDcnlwdG9ncmFwaGljIGF0dGVzdGF0aW9uLCBtdWx0aS1tb2RlbCBBSSBhdWRpdGluZywgYW5kIGltbXV0YWJsZSByaXNrIHNjb3JpbmcgZm9yIGV2ZXJ5IG5wbSBwYWNrYWdlLiBBbGwgdmVyaWZpZWQgb24tY2hhaW4uXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IGFuaW1hdGUtc2xpZGUtdXBcIiBzdHlsZT17eyBhbmltYXRpb25EZWxheTogJzAuNXMnLCBhbmltYXRpb25GaWxsTW9kZTogJ2JhY2t3YXJkcycgfX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSAtaW5zZXQtMC41IGJnLWdyYWRpZW50LXRvLXIgZnJvbS13aGl0ZS8yMCB0by13aGl0ZS81IHJvdW5kZWQtbGcgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBibHVyLXNtXCIgLz5cbiAgICAgICAgICAgIDxjb2RlIGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIGJnLXN1cmZhY2UgYm9yZGVyIGJvcmRlci1ib3JkZXIgcm91bmRlZC1sZyBweC01IHB5LTMgZm9udC1tb25vIHRleHQtc20gY3Vyc29yLXBvaW50ZXIgaG92ZXI6Ym9yZGVyLWJvcmRlci1saWdodCB0cmFuc2l0aW9uLWNvbG9yc1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkXCI+JDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+bnBtIGkgLWcgb3Btc2VjPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLzUwXCI+fDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZCB0ZXh0LXhzXCI+dGhlbjogb3BtIGluc3RhbGwgeyc8cGtnPid9PC9zcGFuPlxuICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxhIGhyZWY9e0RPQ1NfVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cInB4LTUgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtYmcgYmctYWNjZW50IHJvdW5kZWQtbGcgaG92ZXI6Ymctd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnNcIj5cbiAgICAgICAgICAgIFJlYWQgdGhlIGRvY3NcbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgaC0zMiBiZy1ncmFkaWVudC10by10IGZyb20tYmcgdG8tdHJhbnNwYXJlbnRcIiAvPlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gRmVhdHVyZXMoKSB7XG4gIGNvbnN0IGZlYXR1cmVzID0gW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnTXVsdGktQWdlbnQgQ29uc2Vuc3VzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhyZWUgaW5kZXBlbmRlbnQgTExNcyAoQ2xhdWRlLCBHZW1pbmksIERlZXBTZWVrKSBhbmFseXplIGV2ZXJ5IHBhY2thZ2UgaW4gcGFyYWxsZWwuIFJpc2sgc2NvcmVzIGFyZSBpbnRlbGxpZ2VuY2Utd2VpZ2h0ZWQgdXNpbmcgbGl2ZSBBcnRpZmljaWFsIEFuYWx5c2lzIGJlbmNobWFya3MuJyxcbiAgICAgIGRldGFpbDogJ05vIHNpbmdsZSBtb2RlbCBmYWlsdXJlIHBvaW50LiBXZWlnaHRlZCBhZ2dyZWdhdGUgc2NvcmluZyB3aXRoIG1vZGVsIGludGVsbGlnZW5jZSBhbmQgY29kaW5nIGluZGljZXMuJyxcbiAgICAgIGljb246ICfirKEnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdDcnlwdG9ncmFwaGljIEF0dGVzdGF0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRXZlcnkgcGFja2FnZSBpcyBjaGVja3N1bW1lZCwgc2lnbmVkIHdpdGggdGhlIGF1dGhvclxcJ3Mgd2FsbGV0LCBhbmQgcmVnaXN0ZXJlZCBvbiBCYXNlIEwyLiBTaWduYXR1cmVzIGFyZSB2ZXJpZmllZCBhdCBpbnN0YWxsIHRpbWUuJyxcbiAgICAgIGRldGFpbDogJ1NIQS0yNTYgY2hlY2tzdW0sIEVDRFNBIHNpZ25hdHVyZSwgb24tY2hhaW4gcmVnaXN0cmF0aW9uLiBUYW1wZXItZXZpZGVudCBieSBkZXNpZ24uJyxcbiAgICAgIGljb246ICfil4gnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdaSy1WZXJpZmllZCBBZ2VudCBSZWdpc3RyYXRpb24nLFxuICAgICAgZGVzY3JpcHRpb246ICdQZXJtaXNzaW9ubGVzcyBhZ2VudCBvbmJvYXJkaW5nIHdpdGggemVyby1rbm93bGVkZ2UgcHJvb2Ygb2YgYmVuY2htYXJrIGFjY3VyYWN5LiBBZ2VudHMgbXVzdCBhY2hpZXZlIDEwMCUgb24gbGFiZWxlZCBzZWN1cml0eSBkYXRhc2V0cyB0byBwYXJ0aWNpcGF0ZS4nLFxuICAgICAgZGV0YWlsOiAnSGFzaC1jb21taXRtZW50IHNjaGVtZSB3aXRoIGNpcmNvbSBjaXJjdWl0IHJlZmVyZW5jZS4gQWNjdXJhY3kgcHJvdmVuIHdpdGhvdXQgcmV2ZWFsaW5nIHRlc3QgZGF0YS4nLFxuICAgICAgaWNvbjogJ+KXjicsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ09uLWNoYWluIFJpc2sgUmVnaXN0cnknLFxuICAgICAgZGVzY3JpcHRpb246ICdJbW11dGFibGUgcmlzayBzY29yZXMsIGF1dGhvciBwcm9maWxlcywgYW5kIGF1ZGl0IHJlcG9ydHMgc3RvcmVkIG9uIEJhc2UgU2Vwb2xpYS4gRXZlcnkgc2VjdXJpdHkgYXNzZXNzbWVudCBpcyBhIHZlcmlmaWFibGUgcHVibGljIHJlY29yZC4nLFxuICAgICAgZGV0YWlsOiAnT1BNUmVnaXN0cnkuc29sOiBhdXRob3JpemVkQWdlbnRzLCBwYWNrYWdlcywgdmVyc2lvbkRhdGEsIEFnZW50U2NvcmVzLiBGdWxseSBxdWVyeWFibGUuJyxcbiAgICAgIGljb246ICfilqMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdDVkUgKyBUeXBvc3F1YXQgRGV0ZWN0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnT1NWIGRhdGFiYXNlIGludGVncmF0aW9uIGZvciBrbm93biB2dWxuZXJhYmlsaXRpZXMuIExldmVuc2h0ZWluLWRpc3RhbmNlIHR5cG9zcXVhdCBkZXRlY3Rpb24gYWdhaW5zdCB0aGUgdG9wIDEwLDAwMCBucG0gcGFja2FnZXMuJyxcbiAgICAgIGRldGFpbDogJ1JlYWwtdGltZSBDVkUgbG9va3VwcywgYXV0b21hdGVkIGZpeCBzdWdnZXN0aW9ucywgZGVwZW5kZW5jeSBjb25mdXNpb24gZGV0ZWN0aW9uLicsXG4gICAgICBpY29uOiAn4pesJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnRHJvcC1pbiBucG0gUmVwbGFjZW1lbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdGdWxsIENMSSBjb21wYXRpYmlsaXR5OiBpbnN0YWxsLCBhdWRpdCwgY2hlY2ssIHB1c2gsIGZpeC4gRXZlcnkgbnBtIGNvbW1hbmQgd29ya3MgdHJhbnNwYXJlbnRseSB3aXRoIHNlY3VyaXR5IHZlcmlmaWNhdGlvbiBsYXllcmVkIG9uIHRvcC4nLFxuICAgICAgZGV0YWlsOiAnb3BtIGluc3RhbGwgPSBucG0gaW5zdGFsbCArIG9uLWNoYWluIHZlcmlmaWNhdGlvbiArIHNpZ25hdHVyZSBjaGVjayArIENWRSBzY2FuLicsXG4gICAgICBpY29uOiAn4pevJyxcbiAgICB9LFxuICBdO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gaWQ9XCJmZWF0dXJlc1wiIGNsYXNzTmFtZT1cInB5LTMyIHB4LTZcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNnhsIG14LWF1dG9cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0yMFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tb25vIHRleHQtbXV0ZWQgbWItNCB0cmFja2luZy13aWRlc3QgdXBwZXJjYXNlXCI+U2VjdXJpdHkgUHJpbWl0aXZlczwvcD5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC00eGwgbWQ6dGV4dC01eGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0XCI+XG4gICAgICAgICAgICBEZWZlbnNlIGluIGRlcHRoLDxiciAvPmJ5IGRlZmF1bHQuXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zIGdhcC1weCBiZy1ib3JkZXIgcm91bmRlZC0yeGwgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAge2ZlYXR1cmVzLm1hcCgoZiwgaSkgPT4gKFxuICAgICAgICAgICAgPGRpdiBrZXk9e2l9IGNsYXNzTmFtZT1cImJnLXN1cmZhY2UgcC04IGhvdmVyOmJnLXN1cmZhY2UtaG92ZXIgdHJhbnNpdGlvbi1jb2xvcnMgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC0yeGwgbWItNCBibG9jayBvcGFjaXR5LTQwIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eVwiPntmLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTNcIj57Zi50aXRsZX08L2gzPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQgbGVhZGluZy1yZWxheGVkIG1iLTRcIj57Zi5kZXNjcmlwdGlvbn08L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tb25vIHRleHQtbXV0ZWQvNjAgbGVhZGluZy1yZWxheGVkXCI+e2YuZGV0YWlsfTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQXJjaGl0ZWN0dXJlKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwiYXJjaGl0ZWN0dXJlXCIgY2xhc3NOYW1lPVwicHktMzIgcHgtNiBib3JkZXItdCBib3JkZXItYm9yZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTZ4bCBteC1hdXRvXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgbWItMjBcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbW9ubyB0ZXh0LW11dGVkIG1iLTQgdHJhY2tpbmctd2lkZXN0IHVwcGVyY2FzZVwiPlN5c3RlbSBEZXNpZ248L3A+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtNHhsIG1kOnRleHQtNXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodFwiPlxuICAgICAgICAgICAgVmVyaWZpY2F0aW9uIHBpcGVsaW5lXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtNSBnYXAtNFwiPlxuICAgICAgICAgICAge1tcbiAgICAgICAgICAgICAgeyBzdGVwOiAnMDEnLCB0aXRsZTogJ1BhY2sgJiBTaWduJywgZGVzYzogJ1NIQS0yNTYgY2hlY2tzdW0sIEVDRFNBIHNpZ25hdHVyZSB2aWEgYXV0aG9yIHdhbGxldCcgfSxcbiAgICAgICAgICAgICAgeyBzdGVwOiAnMDInLCB0aXRsZTogJ011bHRpLUFnZW50IFNjYW4nLCBkZXNjOiAnMyBMTE1zIGFuYWx5emUgc291cmNlIGluIHBhcmFsbGVsLCBlYWNoIHN1Ym1pdHMgcmlzayBzY29yZScgfSxcbiAgICAgICAgICAgICAgeyBzdGVwOiAnMDMnLCB0aXRsZTogJ1dlaWdodGVkIENvbnNlbnN1cycsIGRlc2M6ICdJbnRlbGxpZ2VuY2Utd2VpZ2h0ZWQgYWdncmVnYXRlIHZpYSBBcnRpZmljaWFsIEFuYWx5c2lzIGluZGljZXMnIH0sXG4gICAgICAgICAgICAgIHsgc3RlcDogJzA0JywgdGl0bGU6ICdPbi1jaGFpbiBSZWdpc3RyeScsIGRlc2M6ICdQYWNrYWdlLCBzY29yZXMsIHJlcG9ydCBVUkkgcmVnaXN0ZXJlZCBvbiBCYXNlIFNlcG9saWEnIH0sXG4gICAgICAgICAgICAgIHsgc3RlcDogJzA1JywgdGl0bGU6ICdJbnN0YWxsIFZlcmlmeScsIGRlc2M6ICdTaWduYXR1cmUgKyBvbi1jaGFpbiBzY29yZSArIENWRSBjaGVjayBhdCBpbnN0YWxsIHRpbWUnIH0sXG4gICAgICAgICAgICBdLm1hcCgocywgaSkgPT4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17aX0gY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWIgZnJvbS13aGl0ZS81IHRvLXRyYW5zcGFyZW50IGJvcmRlciBib3JkZXItYm9yZGVyIHJvdW5kZWQteGwgcC02IGgtZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1vbm8gdGV4dC1tdXRlZCBibG9jayBtYi0zXCI+e3Muc3RlcH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIG1iLTJcIj57cy50aXRsZX08L2gzPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkIGxlYWRpbmctcmVsYXhlZFwiPntzLmRlc2N9PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHtpIDwgNCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBtZDpibG9jayBhYnNvbHV0ZSB0b3AtMS8yIC1yaWdodC0yLjUgdy01IGgtcHggYmctYm9yZGVyXCIgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTIwIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLThcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvcmRlciBib3JkZXItYm9yZGVyIHJvdW5kZWQteGwgcC02IGJnLXN1cmZhY2UvNTBcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tb25vIHRleHQtZ3JlZW4tNTAwLzgwIG1iLTNcIj5DSEFJTjwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtYi0xXCI+QmFzZSBTZXBvbGlhIChMMik8L3A+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWRcIj5Mb3ctY29zdCwgaGlnaC10aHJvdWdocHV0IHNldHRsZW1lbnQgZm9yIGFnZW50IHNjb3JlIHN1Ym1pc3Npb25zIGFuZCBwYWNrYWdlIHJlZ2lzdHJhdGlvbnMuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ib3JkZXIgcm91bmRlZC14bCBwLTYgYmctc3VyZmFjZS81MFwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1vbm8gdGV4dC1ibHVlLTQwMC84MCBtYi0zXCI+U1RPUkFHRTwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtYi0xXCI+RmlsZXZlcnNlIChJUEZTKTwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZFwiPkZ1bGwgYXVkaXQgcmVwb3J0cyB1cGxvYWRlZCB0byBkZWNlbnRyYWxpemVkIHN0b3JhZ2UuIFVSSSBzdG9yZWQgb24tY2hhaW4gZm9yIHBlcm1hbmVudCByZWZlcmVuY2UuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ib3JkZXIgcm91bmRlZC14bCBwLTYgYmctc3VyZmFjZS81MFwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1vbm8gdGV4dC1wdXJwbGUtNDAwLzgwIG1iLTNcIj5JREVOVElUWTwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtYi0xXCI+RU5TIFJlc29sdXRpb248L3A+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWRcIj5BdXRob3IgYWRkcmVzc2VzIHJlc29sdmVkIHRvIEVOUyBuYW1lcy4gT24tY2hhaW4gYXV0aG9yIHByb2ZpbGVzIHdpdGggcmVwdXRhdGlvbiBzY29yaW5nLjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbmZ1bmN0aW9uIENMSVNlY3Rpb24oKSB7XG4gIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgIHsgY21kOiAnb3BtIHB1c2gnLCBkZXNjOiAnU2lnbiwgc2NhbiB3aXRoIDMgQUkgYWdlbnRzLCBwdWJsaXNoLCByZWdpc3RlciBvbi1jaGFpbicgfSxcbiAgICB7IGNtZDogJ29wbSBpbnN0YWxsIDxwa2c+JywgZGVzYzogJ0luc3RhbGwgd2l0aCBzaWduYXR1cmUgKyBvbi1jaGFpbiArIENWRSB2ZXJpZmljYXRpb24nIH0sXG4gICAgeyBjbWQ6ICdvcG0gY2hlY2snLCBkZXNjOiAnU2NhbiBhbGwgZGVwczogdHlwb3NxdWF0cywgQ1ZFcywgQUkgYW5hbHlzaXMsIEZpbGV2ZXJzZSByZXBvcnQnIH0sXG4gICAgeyBjbWQ6ICdvcG0gZml4JywgZGVzYzogJ0F1dG8tZml4IHR5cG9zcXVhdHMgYW5kIHZ1bG5lcmFibGUgdmVyc2lvbnMnIH0sXG4gICAgeyBjbWQ6ICdvcG0gYXVkaXQnLCBkZXNjOiAnT24tY2hhaW4gKyBDVkUgYXVkaXQgZm9yIGVudGlyZSBkZXBlbmRlbmN5IHRyZWUnIH0sXG4gICAgeyBjbWQ6ICdvcG0gaW5mbyA8cGtnPicsIGRlc2M6ICdPbi1jaGFpbiBtZXRhZGF0YSwgYWdlbnQgc2NvcmVzLCBzYWZlc3QgdmVyc2lvbicgfSxcbiAgICB7IGNtZDogJ29wbSByZWdpc3Rlci1hZ2VudCcsIGRlc2M6ICdSZWdpc3RlciBhIG5ldyBzZWN1cml0eSBhZ2VudCAoWkstdmVyaWZpZWQpJyB9LFxuICAgIHsgY21kOiAnb3BtIHZpZXcgPG5hbWUuZXRoPicsIGRlc2M6ICdFTlMgYXV0aG9yIHByb2ZpbGUsIHJlcHV0YXRpb24sIHB1Ymxpc2hlZCBwYWNrYWdlcycgfSxcbiAgXTtcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwiY2xpXCIgY2xhc3NOYW1lPVwicHktMzIgcHgtNiBib3JkZXItdCBib3JkZXItYm9yZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTZ4bCBteC1hdXRvXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtMTZcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1vbm8gdGV4dC1tdXRlZCBtYi00IHRyYWNraW5nLXdpZGVzdCB1cHBlcmNhc2VcIj5DTEkgUmVmZXJlbmNlPC9wPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtNHhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCBtYi02XCI+XG4gICAgICAgICAgICAgIEV2ZXJ5IGNvbW1hbmQsPGJyIC8+c2VjdXJpdHktZmlyc3QuXG4gICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZCBsZWFkaW5nLXJlbGF4ZWQgbWItOFwiPlxuICAgICAgICAgICAgICBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBucG0uIEV2ZXJ5IG9wZXJhdGlvbiBnYWlucyBjcnlwdG9ncmFwaGljIHZlcmlmaWNhdGlvbiwgQUktcG93ZXJlZCBhdWRpdGluZywgYW5kIG9uLWNoYWluIGF0dGVzdGF0aW9uIHRyYW5zcGFyZW50bHkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8YSBocmVmPXtET0NTX1VSTH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zbSBmb250LW1lZGl1bSBweC00IHB5LTIgYm9yZGVyIGJvcmRlci1ib3JkZXIgcm91bmRlZC1sZyBob3ZlcjpiZy1zdXJmYWNlIHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgIEZ1bGwgQ0xJIGRvY3VtZW50YXRpb25cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGVybWluYWwtZ2xvdyByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXN1cmZhY2Ugb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMyBib3JkZXItYiBib3JkZXItYm9yZGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyByb3VuZGVkLWZ1bGwgYmctWyNmZjVmNTddXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIHJvdW5kZWQtZnVsbCBiZy1bI2ZlYmMyZV1cIiAvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgcm91bmRlZC1mdWxsIGJnLVsjMjhjODQwXVwiIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTIgdGV4dC14cyB0ZXh0LW11dGVkIGZvbnQtbW9ub1wiPnRlcm1pbmFsPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNSBmb250LW1vbm8gdGV4dC1zbSBzcGFjZS15LTNcIj5cbiAgICAgICAgICAgICAge2NvbW1hbmRzLm1hcCgoYywgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjbGFzc05hbWU9XCJmbGV4IGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkIHNocmluay0wXCI+JDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JlZW4tNDAwXCI+e2MuY21kfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC81MCB0ZXh0LXhzIGJsb2NrIG10LTAuNVwiPntjLmRlc2N9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5mdW5jdGlvbiBDb250cmFjdFNlY3Rpb24oKSB7XG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicHktMzIgcHgtNiBib3JkZXItdCBib3JkZXItYm9yZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTR4bCBteC1hdXRvIHRleHQtY2VudGVyXCI+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tb25vIHRleHQtbXV0ZWQgbWItNCB0cmFja2luZy13aWRlc3QgdXBwZXJjYXNlXCI+U21hcnQgQ29udHJhY3Q8L3A+XG4gICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LTR4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgbWItNlwiPlxuICAgICAgICAgIEZ1bGx5IG9uLWNoYWluLiBGdWxseSB2ZXJpZmlhYmxlLlxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkIG1heC13LTJ4bCBteC1hdXRvIG1iLTEyXCI+XG4gICAgICAgICAgT1BNUmVnaXN0cnkuc29sIGRlcGxveWVkIG9uIEJhc2UgU2Vwb2xpYS4gRXZlcnkgcGFja2FnZSByZWdpc3RyYXRpb24sIGFnZW50IHNjb3JlIHN1Ym1pc3Npb24sIGFuZCBhdXRob3IgcHJvZmlsZSBpcyBhbiBpbW11dGFibGUgb24tY2hhaW4gcmVjb3JkLlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0yIG1kOmdyaWQtY29scy00IGdhcC1weCBiZy1ib3JkZXIgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gbWItMTJcIj5cbiAgICAgICAgICB7W1xuICAgICAgICAgICAgeyBsYWJlbDogJ1BhY2thZ2VzJywgZGVzYzogJ1JlZ2lzdGVyZWQnIH0sXG4gICAgICAgICAgICB7IGxhYmVsOiAnQWdlbnQgU2NvcmVzJywgZGVzYzogJ1N1Ym1pdHRlZCcgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6ICdBdXRob3JzJywgZGVzYzogJ1ZlcmlmaWVkJyB9LFxuICAgICAgICAgICAgeyBsYWJlbDogJ1JlcG9ydHMnLCBkZXNjOiAnT24gSVBGUycgfSxcbiAgICAgICAgICBdLm1hcCgocywgaSkgPT4gKFxuICAgICAgICAgICAgPGRpdiBrZXk9e2l9IGNsYXNzTmFtZT1cImJnLXN1cmZhY2UgcC02XCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZCBtYi0xXCI+e3MuZGVzY308L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZFwiPntzLmxhYmVsfTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPXtCQVNFU0NBTn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIGZvbnQtbW9ubyB0ZXh0LW11dGVkIGhvdmVyOnRleHQtYWNjZW50IHRyYW5zaXRpb24tY29sb3JzIHB4LTQgcHktMiBib3JkZXIgYm9yZGVyLWJvcmRlciByb3VuZGVkLWxnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIHJvdW5kZWQtZnVsbCBiZy1ncmVlbi01MDBcIiAvPlxuICAgICAgICAgICAgVmlldyBvbiBCYXNlU2NhblxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj17YCR7R0lUSFVCX1VSTH0vYmxvYi9tYWluL3BhY2thZ2VzL2NvbnRyYWN0cy9jb250cmFjdHMvT1BNUmVnaXN0cnkuc29sYH1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIHRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnMgcHgtNCBweS0yIGJvcmRlciBib3JkZXItYm9yZGVyIHJvdW5kZWQtbGdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNvdXJjZSBDb2RlXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gRm9vdGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxmb290ZXIgY2xhc3NOYW1lPVwiYm9yZGVyLXQgYm9yZGVyLWJvcmRlciBweS0xMiBweC02XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTZ4bCBteC1hdXRvIGZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNlwiPlxuICAgICAgICA8YSBocmVmPVwiL1wiIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj5cbiAgICAgICAgICA8TG9nbyBzaXplPXsxOH0gLz5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0XCI+b3BtPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZFwiPk9uLWNoYWluIFBhY2thZ2UgTWFuYWdlcjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtc20gdGV4dC1tdXRlZFwiPlxuICAgICAgICAgIDxhIGhyZWY9e0RPQ1NfVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cImhvdmVyOnRleHQtYWNjZW50IHRyYW5zaXRpb24tY29sb3JzXCI+RG9jczwvYT5cbiAgICAgICAgICA8YSBocmVmPXtHSVRIVUJfVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cImhvdmVyOnRleHQtYWNjZW50IHRyYW5zaXRpb24tY29sb3JzXCI+R2l0SHViPC9hPlxuICAgICAgICAgIDxhIGhyZWY9e05QTV9VUkx9IHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgY2xhc3NOYW1lPVwiaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIj5ucG08L2E+XG4gICAgICAgICAgPGEgaHJlZj17QkFTRVNDQU59IHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgY2xhc3NOYW1lPVwiaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIj5Db250cmFjdDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC81MFwiPk1JVCBMaWNlbnNlPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb290ZXI+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhvbWUoKSB7XG4gIHJldHVybiAoXG4gICAgPG1haW4+XG4gICAgICA8TmF2IC8+XG4gICAgICA8SGVybyAvPlxuICAgICAgPEZlYXR1cmVzIC8+XG4gICAgICA8QXJjaGl0ZWN0dXJlIC8+XG4gICAgICA8Q0xJU2VjdGlvbiAvPlxuICAgICAgPENvbnRyYWN0U2VjdGlvbiAvPlxuICAgICAgPEZvb3RlciAvPlxuICAgIDwvbWFpbj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkRPQ1NfVVJMIiwiR0lUSFVCX1VSTCIsIk5QTV9VUkwiLCJDT05UUkFDVCIsIkJBU0VTQ0FOIiwiTG9nbyIsInNpemUiLCJzdmciLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJyZWN0IiwicngiLCJwYXRoIiwiZCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJOYXYiLCJzY3JvbGxlZCIsInNldFNjcm9sbGVkIiwiaGFuZGxlciIsIndpbmRvdyIsInNjcm9sbFkiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJuYXYiLCJjbGFzc05hbWUiLCJkaXYiLCJhIiwiaHJlZiIsInNwYW4iLCJ0YXJnZXQiLCJyZWwiLCJIZXJvIiwic2VjdGlvbiIsImgxIiwic3R5bGUiLCJhbmltYXRpb25EZWxheSIsImFuaW1hdGlvbkZpbGxNb2RlIiwiYnIiLCJwIiwiY29kZSIsIkZlYXR1cmVzIiwiZmVhdHVyZXMiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiZGV0YWlsIiwiaWNvbiIsImlkIiwiaDIiLCJtYXAiLCJmIiwiaSIsImgzIiwiQXJjaGl0ZWN0dXJlIiwic3RlcCIsImRlc2MiLCJzIiwiQ0xJU2VjdGlvbiIsImNvbW1hbmRzIiwiY21kIiwiYyIsIkNvbnRyYWN0U2VjdGlvbiIsImxhYmVsIiwiRm9vdGVyIiwiZm9vdGVyIiwiSG9tZSIsIm1haW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/page.tsx\n"));
19
-
20
- /***/ }),
21
-
22
- /***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
23
- /*!****************************************************************************************************************************************************************************************************************************************************!*\
24
- !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
25
- \****************************************************************************************************************************************************************************************************************************************************/
26
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
27
-
28
- eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(app-pages-browser)/./app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkaGFuYW5qYXlwYWklMkZDb2RpbmclMkZQZXJzb25hbCUyRm9wbSUyRnBhY2thZ2VzJTJGd2ViJTJGYXBwJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxzSkFBc0ciLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
29
-
30
- /***/ }),
31
-
32
- /***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
33
- /*!****************************************************************************************!*\
34
- !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
35
- \****************************************************************************************/
36
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
37
-
38
- "use strict";
39
- eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n true &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7QUFDYixLQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCwrQ0FBK0MsNkJBQTZCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQkFBZ0IsZ0RBQWdEO0FBQ2hFLGdCQUFnQixhQUFhO0FBQzdCO0FBQ0E7QUFDQSxnQ0FBZ0Msa0NBQWtDLE9BQU87QUFDekU7QUFDQSxnR0FBZ0csU0FBUyxVQUFVLHNGQUFzRixhQUFhLFVBQVUsVUFBVTtBQUMxTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsc0dBQTBCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCLElBQUksY0FBYztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUciLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cInByb2R1Y3Rpb25cIiAhPT0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgJiZcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICAgICAgaWYgKG51bGwgPT0gdHlwZSkgcmV0dXJuIG51bGw7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgcmV0dXJuIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0VcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gICAgICBpZiAoXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHR5cGUpIHJldHVybiB0eXBlO1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJGcmFnbWVudFwiO1xuICAgICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiUHJvZmlsZXJcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN0cmljdE1vZGVcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlTGlzdFwiO1xuICAgICAgICBjYXNlIFJFQUNUX0FDVElWSVRZX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiQWN0aXZpdHlcIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICAgIHJldHVybiBcIlBvcnRhbFwiO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuICh0eXBlLl9jb250ZXh0LmRpc3BsYXlOYW1lIHx8IFwiQ29udGV4dFwiKSArIFwiLkNvbnN1bWVyXCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgdmFyIGlubmVyVHlwZSA9IHR5cGUucmVuZGVyO1xuICAgICAgICAgICAgdHlwZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgICB0eXBlIHx8XG4gICAgICAgICAgICAgICgodHlwZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCBcIlwiKSxcbiAgICAgICAgICAgICAgKHR5cGUgPSBcIlwiICE9PSB0eXBlID8gXCJGb3J3YXJkUmVmKFwiICsgdHlwZSArIFwiKVwiIDogXCJGb3J3YXJkUmVmXCIpKTtcbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGlubmVyVHlwZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbCksXG4gICAgICAgICAgICAgIG51bGwgIT09IGlubmVyVHlwZVxuICAgICAgICAgICAgICAgID8gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgOiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCBcIk1lbW9cIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgIGlubmVyVHlwZSA9IHR5cGUuX3BheWxvYWQ7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5faW5pdDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZShpbm5lclR5cGUpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBcIlwiICsgdmFsdWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSAhMTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gITA7XG4gICAgICB9XG4gICAgICBpZiAoSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0KSB7XG4gICAgICAgIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9IGNvbnNvbGU7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX3RlbXBfY29uc3QgPSBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQuZXJyb3I7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDAgPVxuICAgICAgICAgIChcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiBTeW1ib2wgJiZcbiAgICAgICAgICAgIFN5bWJvbC50b1N0cmluZ1RhZyAmJlxuICAgICAgICAgICAgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSkgfHxcbiAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8XG4gICAgICAgICAgXCJPYmplY3RcIjtcbiAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0LmNhbGwoXG4gICAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0LFxuICAgICAgICAgIFwiVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLiBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS5cIixcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFRhc2tOYW1lKHR5cGUpIHtcbiAgICAgIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSByZXR1cm4gXCI8PlwiO1xuICAgICAgaWYgKFxuICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSAmJlxuICAgICAgICBudWxsICE9PSB0eXBlICYmXG4gICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRVxuICAgICAgKVxuICAgICAgICByZXR1cm4gXCI8Li4uPlwiO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHJldHVybiBuYW1lID8gXCI8XCIgKyBuYW1lICsgXCI+XCIgOiBcIjwuLi4+XCI7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHJldHVybiBcIjwuLi4+XCI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE93bmVyKCkge1xuICAgICAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5BO1xuICAgICAgcmV0dXJuIG51bGwgPT09IGRpc3BhdGNoZXIgPyBudWxsIDogZGlzcGF0Y2hlci5nZXRPd25lcigpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBVbmtub3duT3duZXIoKSB7XG4gICAgICByZXR1cm4gRXJyb3IoXCJyZWFjdC1zdGFjay10b3AtZnJhbWVcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBcImtleVwiKSkge1xuICAgICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsIFwia2V5XCIpLmdldDtcbiAgICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHJldHVybiAhMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbmZpZy5rZXk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICAgICAgZnVuY3Rpb24gd2FybkFib3V0QWNjZXNzaW5nS2V5KCkge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biB8fFxuICAgICAgICAgICgoc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSAhMCksXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIFwiJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSB2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50IHByb3AuIChodHRwczovL3JlYWN0LmRldi9saW5rL3NwZWNpYWwtcHJvcHMpXCIsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZVxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gITA7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsIFwia2V5XCIsIHtcbiAgICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITBcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBlbGVtZW50UmVmR2V0dGVyV2l0aERlcHJlY2F0aW9uV2FybmluZygpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHRoaXMudHlwZSk7XG4gICAgICBkaWRXYXJuQWJvdXRFbGVtZW50UmVmW2NvbXBvbmVudE5hbWVdIHx8XG4gICAgICAgICgoZGlkV2FybkFib3V0RWxlbWVudFJlZltjb21wb25lbnROYW1lXSA9ICEwKSxcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIkFjY2Vzc2luZyBlbGVtZW50LnJlZiB3YXMgcmVtb3ZlZCBpbiBSZWFjdCAxOS4gcmVmIGlzIG5vdyBhIHJlZ3VsYXIgcHJvcC4gSXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIEpTWCBFbGVtZW50IHR5cGUgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgICAgICApKTtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSB0aGlzLnByb3BzLnJlZjtcbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbXBvbmVudE5hbWUgPyBjb21wb25lbnROYW1lIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcHJvcHMsIG93bmVyLCBkZWJ1Z1N0YWNrLCBkZWJ1Z1Rhc2spIHtcbiAgICAgIHZhciByZWZQcm9wID0gcHJvcHMucmVmO1xuICAgICAgdHlwZSA9IHtcbiAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgICAgX293bmVyOiBvd25lclxuICAgICAgfTtcbiAgICAgIG51bGwgIT09ICh2b2lkIDAgIT09IHJlZlByb3AgPyByZWZQcm9wIDogbnVsbClcbiAgICAgICAgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICBnZXQ6IGVsZW1lbnRSZWZHZXR0ZXJXaXRoRGVwcmVjYXRpb25XYXJuaW5nXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwgeyBlbnVtZXJhYmxlOiAhMSwgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0eXBlLl9zdG9yZSA9IHt9O1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHR5cGUuX3N0b3JlLCBcInZhbGlkYXRlZFwiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiAwXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJfZGVidWdTdGFja1wiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiBkZWJ1Z1N0YWNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z1Rhc2tcIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogZGVidWdUYXNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5mcmVlemUgJiYgKE9iamVjdC5mcmVlemUodHlwZS5wcm9wcyksIE9iamVjdC5mcmVlemUodHlwZSkpO1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGpzeERFVkltcGwoXG4gICAgICB0eXBlLFxuICAgICAgY29uZmlnLFxuICAgICAgbWF5YmVLZXksXG4gICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgZGVidWdTdGFjayxcbiAgICAgIGRlYnVnVGFza1xuICAgICkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gY29uZmlnLmNoaWxkcmVuO1xuICAgICAgaWYgKHZvaWQgMCAhPT0gY2hpbGRyZW4pXG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKVxuICAgICAgICAgIGlmIChpc0FycmF5SW1wbChjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPSAwO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuIDwgY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuKytcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baXNTdGF0aWNDaGlsZHJlbl0pO1xuICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSAmJiBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgIFwiUmVhY3QuanN4OiBTdGF0aWMgY2hpbGRyZW4gc2hvdWxkIGFsd2F5cyBiZSBhbiBhcnJheS4gWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiBVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLlwiXG4gICAgICAgICAgICApO1xuICAgICAgICBlbHNlIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuKTtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgXCJrZXlcIikpIHtcbiAgICAgICAgY2hpbGRyZW4gPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICByZXR1cm4gXCJrZXlcIiAhPT0gaztcbiAgICAgICAgfSk7XG4gICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPVxuICAgICAgICAgIDAgPCBrZXlzLmxlbmd0aFxuICAgICAgICAgICAgPyBcIntrZXk6IHNvbWVLZXksIFwiICsga2V5cy5qb2luKFwiOiAuLi4sIFwiKSArIFwiOiAuLi59XCJcbiAgICAgICAgICAgIDogXCJ7a2V5OiBzb21lS2V5fVwiO1xuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY2hpbGRyZW4gKyBpc1N0YXRpY0NoaWxkcmVuXSB8fFxuICAgICAgICAgICgoa2V5cyA9XG4gICAgICAgICAgICAwIDwga2V5cy5sZW5ndGggPyBcIntcIiArIGtleXMuam9pbihcIjogLi4uLCBcIikgKyBcIjogLi4ufVwiIDogXCJ7fVwiKSxcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgJ0EgcHJvcHMgb2JqZWN0IGNvbnRhaW5pbmcgYSBcImtleVwiIHByb3AgaXMgYmVpbmcgc3ByZWFkIGludG8gSlNYOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMgey4uLnByb3BzfSAvPlxcblJlYWN0IGtleXMgbXVzdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gSlNYIHdpdGhvdXQgdXNpbmcgc3ByZWFkOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JyxcbiAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4sXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICksXG4gICAgICAgICAgKGRpZFdhcm5BYm91dEtleVNwcmVhZFtjaGlsZHJlbiArIGlzU3RhdGljQ2hpbGRyZW5dID0gITApKTtcbiAgICAgIH1cbiAgICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgICAgIHZvaWQgMCAhPT0gbWF5YmVLZXkgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpLCAoY2hpbGRyZW4gPSBcIlwiICsgbWF5YmVLZXkpKTtcbiAgICAgIGhhc1ZhbGlkS2V5KGNvbmZpZykgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSksIChjaGlsZHJlbiA9IFwiXCIgKyBjb25maWcua2V5KSk7XG4gICAgICBpZiAoXCJrZXlcIiBpbiBjb25maWcpIHtcbiAgICAgICAgbWF5YmVLZXkgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gY29uZmlnKVxuICAgICAgICAgIFwia2V5XCIgIT09IHByb3BOYW1lICYmIChtYXliZUtleVtwcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdKTtcbiAgICAgIH0gZWxzZSBtYXliZUtleSA9IGNvbmZpZztcbiAgICAgIGNoaWxkcmVuICYmXG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKFxuICAgICAgICAgIG1heWJlS2V5LFxuICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGVcbiAgICAgICAgICAgID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgXCJVbmtub3duXCJcbiAgICAgICAgICAgIDogdHlwZVxuICAgICAgICApO1xuICAgICAgcmV0dXJuIFJlYWN0RWxlbWVudChcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG1heWJlS2V5LFxuICAgICAgICBnZXRPd25lcigpLFxuICAgICAgICBkZWJ1Z1N0YWNrLFxuICAgICAgICBkZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUpIHtcbiAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBub2RlICYmXG4gICAgICAgIG51bGwgIT09IG5vZGUgJiZcbiAgICAgICAgbm9kZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFICYmXG4gICAgICAgIG5vZGUuX3N0b3JlICYmXG4gICAgICAgIChub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSAxKTtcbiAgICB9XG4gICAgdmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKSxcbiAgICAgIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudFwiKSxcbiAgICAgIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnBvcnRhbFwiKSxcbiAgICAgIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIiksXG4gICAgICBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN0cmljdF9tb2RlXCIpLFxuICAgICAgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5wcm9maWxlclwiKSxcbiAgICAgIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuY29uc3VtZXJcIiksXG4gICAgICBSRUFDVF9DT05URVhUX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuY29udGV4dFwiKSxcbiAgICAgIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIiksXG4gICAgICBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlXCIpLFxuICAgICAgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlX2xpc3RcIiksXG4gICAgICBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QubWVtb1wiKSxcbiAgICAgIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5sYXp5XCIpLFxuICAgICAgUkVBQ1RfQUNUSVZJVFlfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5hY3Rpdml0eVwiKSxcbiAgICAgIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKFwicmVhY3QuY2xpZW50LnJlZmVyZW5jZVwiKSxcbiAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzID1cbiAgICAgICAgUmVhY3QuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLFxuICAgICAgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFxuICAgICAgaXNBcnJheUltcGwgPSBBcnJheS5pc0FycmF5LFxuICAgICAgY3JlYXRlVGFzayA9IGNvbnNvbGUuY3JlYXRlVGFza1xuICAgICAgICA/IGNvbnNvbGUuY3JlYXRlVGFza1xuICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH07XG4gICAgUmVhY3QgPSB7XG4gICAgICByZWFjdF9zdGFja19ib3R0b21fZnJhbWU6IGZ1bmN0aW9uIChjYWxsU3RhY2tGb3JFcnJvcikge1xuICAgICAgICByZXR1cm4gY2FsbFN0YWNrRm9yRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbiAgICB2YXIgZGlkV2FybkFib3V0RWxlbWVudFJlZiA9IHt9O1xuICAgIHZhciB1bmtub3duT3duZXJEZWJ1Z1N0YWNrID0gUmVhY3QucmVhY3Rfc3RhY2tfYm90dG9tX2ZyYW1lLmJpbmQoXG4gICAgICBSZWFjdCxcbiAgICAgIFVua25vd25Pd25lclxuICAgICkoKTtcbiAgICB2YXIgdW5rbm93bk93bmVyRGVidWdUYXNrID0gY3JlYXRlVGFzayhnZXRUYXNrTmFtZShVbmtub3duT3duZXIpKTtcbiAgICB2YXIgZGlkV2FybkFib3V0S2V5U3ByZWFkID0ge307XG4gICAgZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG4gICAgZXhwb3J0cy5qc3hERVYgPSBmdW5jdGlvbiAodHlwZSwgY29uZmlnLCBtYXliZUtleSwgaXNTdGF0aWNDaGlsZHJlbikge1xuICAgICAgdmFyIHRyYWNrQWN0dWFsT3duZXIgPVxuICAgICAgICAxZTQgPiBSZWFjdFNoYXJlZEludGVybmFscy5yZWNlbnRseUNyZWF0ZWRPd25lclN0YWNrcysrO1xuICAgICAgcmV0dXJuIGpzeERFVkltcGwoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgbWF5YmVLZXksXG4gICAgICAgIGlzU3RhdGljQ2hpbGRyZW4sXG4gICAgICAgIHRyYWNrQWN0dWFsT3duZXJcbiAgICAgICAgICA/IEVycm9yKFwicmVhY3Qtc3RhY2stdG9wLWZyYW1lXCIpXG4gICAgICAgICAgOiB1bmtub3duT3duZXJEZWJ1Z1N0YWNrLFxuICAgICAgICB0cmFja0FjdHVhbE93bmVyID8gY3JlYXRlVGFzayhnZXRUYXNrTmFtZSh0eXBlKSkgOiB1bmtub3duT3duZXJEZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfTtcbiAgfSkoKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
40
-
41
- /***/ }),
42
-
43
- /***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
44
- /*!******************************************************************!*\
45
- !*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
46
- \******************************************************************/
47
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
48
-
49
- "use strict";
50
- eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
51
-
52
- /***/ })
53
-
54
- },
55
- /******/ __webpack_require__ => { // webpackRuntimeModules
56
- /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
57
- /******/ __webpack_require__.O(0, ["main-app"], () => (__webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fdhananjaypai%2FCoding%2FPersonal%2Fopm%2Fpackages%2Fweb%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!")));
58
- /******/ var __webpack_exports__ = __webpack_require__.O();
59
- /******/ _N_E = __webpack_exports__;
60
- /******/ }
61
- ]);