opmsec 0.1.3 → 0.1.5
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.
- package/.env.example +1 -0
- package/.husky/pre-commit +1 -0
- package/README.md +71 -275
- package/bun.lock +5 -5
- package/docs/architecture/agents.mdx +11 -59
- package/docs/architecture/benchmarks.mdx +20 -46
- package/docs/architecture/overview.mdx +31 -38
- package/docs/architecture/scanner.mdx +11 -37
- package/docs/cli/audit.mdx +9 -12
- package/docs/cli/check.mdx +12 -26
- package/docs/cli/fix.mdx +10 -30
- package/docs/cli/info.mdx +12 -19
- package/docs/cli/install.mdx +27 -39
- package/docs/cli/push.mdx +40 -57
- package/docs/cli/register-agent.mdx +21 -53
- package/docs/cli/view.mdx +12 -29
- package/docs/concepts/ens-records.mdx +44 -0
- package/docs/concepts/multi-agent-consensus.mdx +18 -36
- package/docs/concepts/on-chain-registry.mdx +22 -49
- package/docs/concepts/security-model.mdx +20 -52
- package/docs/concepts/zk-agent-verification.mdx +26 -64
- package/docs/contract/events.mdx +13 -74
- package/docs/contract/functions.mdx +40 -126
- package/docs/contract/overview.mdx +17 -36
- package/docs/introduction.mdx +22 -25
- package/docs/mint.json +3 -2
- package/docs/quickstart.mdx +34 -70
- package/docs/system-design.png +0 -0
- package/package.json +7 -6
- package/packages/cli/src/commands/author-view.tsx +87 -2
- package/packages/cli/src/commands/check.tsx +18 -5
- package/packages/cli/src/commands/fix.tsx +25 -12
- package/packages/cli/src/commands/info.tsx +92 -4
- package/packages/cli/src/commands/install.tsx +327 -23
- package/packages/cli/src/commands/push.tsx +112 -0
- package/packages/cli/src/commands/register-agent.tsx +72 -31
- package/packages/cli/src/index.tsx +7 -5
- package/packages/cli/src/services/ens-records.ts +525 -0
- package/packages/cli/src/services/version.ts +156 -5
- package/packages/core/src/benchmarks.ts +116 -0
- package/packages/core/src/constants.ts +18 -6
- package/packages/core/src/model-rankings.ts +40 -15
- package/packages/core/src/types.ts +10 -0
- package/packages/core/src/utils.ts +136 -1
- package/packages/scanner/src/index.ts +2 -1
- package/packages/scanner/src/queue/memory-queue.ts +7 -2
- package/packages/scanner/src/services/benchmark-runner.ts +86 -1
- package/packages/scanner/src/services/fileverse.ts +61 -12
- package/packages/scanner/src/services/openrouter.ts +18 -7
- package/packages/web/.next/BUILD_ID +1 -0
- package/packages/web/.next/app-path-routes-manifest.json +4 -0
- package/packages/web/.next/diagnostics/build-diagnostics.json +6 -0
- package/packages/web/.next/diagnostics/framework.json +1 -0
- package/packages/web/.next/export-marker.json +6 -0
- package/packages/web/.next/images-manifest.json +58 -0
- package/packages/web/.next/next-minimal-server.js.nft.json +1 -0
- package/packages/web/.next/next-server.js.nft.json +1 -0
- package/packages/web/.next/prerender-manifest.json +54 -4
- package/packages/web/.next/required-server-files.json +320 -0
- package/packages/web/.next/routes-manifest.json +53 -1
- package/packages/web/.next/server/app/_not-found/page.js +2 -0
- package/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/packages/web/.next/server/app/_not-found.html +1 -0
- package/packages/web/.next/server/app/_not-found.meta +8 -0
- package/packages/web/.next/server/app/_not-found.rsc +18 -0
- package/packages/web/.next/server/app/index.html +6 -0
- package/packages/web/.next/server/app/index.meta +7 -0
- package/packages/web/.next/server/app/index.rsc +22 -0
- package/packages/web/.next/server/app/page.js +24 -24
- package/packages/web/.next/server/app/page.js.nft.json +1 -0
- package/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/server/chunks/611.js +6 -0
- package/packages/web/.next/server/chunks/778.js +30 -0
- package/packages/web/.next/server/functions-config-manifest.json +4 -0
- package/packages/web/.next/server/interception-route-rewrite-manifest.js +1 -1
- package/packages/web/.next/server/next-font-manifest.js +1 -1
- package/packages/web/.next/server/next-font-manifest.json +1 -1
- package/packages/web/.next/server/pages/404.html +1 -0
- package/packages/web/.next/server/pages/500.html +1 -0
- package/packages/web/.next/server/pages/_app.js +1 -0
- package/packages/web/.next/server/pages/_app.js.nft.json +1 -0
- package/packages/web/.next/server/pages/_document.js +1 -0
- package/packages/web/.next/server/pages/_document.js.nft.json +1 -0
- package/packages/web/.next/server/pages/_error.js +19 -0
- package/packages/web/.next/server/pages/_error.js.nft.json +1 -0
- package/packages/web/.next/server/webpack-runtime.js +2 -2
- package/packages/web/.next/static/0esGzFBCzREfVwijEGDfL/_buildManifest.js +1 -0
- package/packages/web/.next/static/0esGzFBCzREfVwijEGDfL/_ssgManifest.js +1 -0
- package/packages/web/.next/static/chunks/174-5b5efcb3b8efcc01.js +1 -0
- package/packages/web/.next/static/chunks/255-0dc49b7a6e8e5c05.js +1 -0
- package/packages/web/.next/static/chunks/4bd1b696-382748cc942d8a14.js +1 -0
- package/packages/web/.next/static/chunks/app/_not-found/page-0da542be7eb33a64.js +1 -0
- package/packages/web/.next/static/chunks/app/layout-de8e841104500505.js +1 -0
- package/packages/web/.next/static/chunks/app/layout.js +37 -7
- package/packages/web/.next/static/chunks/app/page-7e086379698b9fb0.js +1 -0
- package/packages/web/.next/static/chunks/app/page.js +297 -1
- package/packages/web/.next/static/chunks/framework-ac73abd125e371fe.js +1 -0
- package/packages/web/.next/static/chunks/main-4e8d71b5ef7ee7e3.js +1 -0
- package/packages/web/.next/static/chunks/main-app-dd261207182e5a23.js +1 -0
- package/packages/web/.next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
- package/packages/web/.next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
- package/packages/web/.next/static/chunks/webpack-0dcd67569eb46132.js +1 -0
- package/packages/web/.next/static/chunks/webpack.js +2 -2
- package/packages/web/.next/static/css/102562cf2d0ae9b0.css +3 -0
- package/packages/web/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/packages/web/.next/static/media/747892c23ea88013-s.woff2 +0 -0
- package/packages/web/.next/static/media/8d697b304b401681-s.woff2 +0 -0
- package/packages/web/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- package/packages/web/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
- package/packages/web/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- package/packages/web/.next/static/webpack/16f18baa938a434c.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/5fe9fe8578f9c3d2.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/73c7d02260cc80e4.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/a2d85d19aa028de1.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/app/{layout.73e341375c8d429e.hot-update.js → layout.16f18baa938a434c.hot-update.js} +1 -1
- package/packages/web/.next/static/webpack/app/{layout.6fee6306e0f98869.hot-update.js → layout.5fe9fe8578f9c3d2.hot-update.js} +1 -1
- package/packages/web/.next/static/webpack/app/layout.653e365406c0d9ac.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.6800169a899e3a8b.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.73c7d02260cc80e4.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.a2d85d19aa028de1.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.653e365406c0d9ac.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.6800169a899e3a8b.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.73c7d02260cc80e4.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.a2d85d19aa028de1.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/{webpack.6fee6306e0f98869.hot-update.js → webpack.16f18baa938a434c.hot-update.js} +2 -2
- package/packages/web/.next/static/webpack/{webpack.73e341375c8d429e.hot-update.js → webpack.5fe9fe8578f9c3d2.hot-update.js} +2 -2
- package/packages/web/.next/static/webpack/webpack.653e365406c0d9ac.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.6800169a899e3a8b.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.73c7d02260cc80e4.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.a2d85d19aa028de1.hot-update.js +12 -0
- package/packages/web/.next/trace +2 -5
- package/packages/web/app/globals.css +197 -51
- package/packages/web/app/layout.tsx +6 -3
- package/packages/web/app/page.tsx +791 -309
- package/packages/web/bun.lock +66 -105
- package/packages/web/next.config.ts +8 -1
- package/packages/web/package.json +5 -2
- package/packages/web/postcss.config.mjs +2 -2
- package/packages/web/public/apple-icon.png +1 -0
- package/packages/web/public/dependency-bottleneck.png +0 -0
- package/packages/web/public/icon-dark-32x32.png +1 -0
- package/packages/web/public/icon-light-32x32.png +1 -0
- package/packages/web/public/icon.svg +1 -0
- package/packages/web/public/nextjs-cve-announcement.png +0 -0
- package/packages/web/public/phantomraven-npm-attack.png +0 -0
- package/packages/web/public/placeholder-logo.png +1 -0
- package/packages/web/public/placeholder-logo.svg +1 -0
- package/packages/web/public/placeholder-user.jpg +1 -0
- package/packages/web/public/placeholder.jpg +1 -0
- package/packages/web/public/placeholder.svg +1 -0
- package/packages/web/public/react-cve-meme.png +0 -0
- package/packages/web/public/wallet-drain-exploit.png +0 -0
- package/packages/web/styles/globals.css +125 -0
- package/packages/web/.next/server/vendor-chunks/@swc.js +0 -55
- package/packages/web/.next/server/vendor-chunks/next.js +0 -3010
- package/packages/web/.next/static/chunks/app-pages-internals.js +0 -182
- package/packages/web/.next/static/chunks/main-app.js +0 -1882
- package/packages/web/.next/static/css/app/layout.css +0 -1237
- package/packages/web/.next/static/webpack/633457081244afec._.hot-update.json +0 -1
- package/packages/web/.next/static/webpack/app/page.6fee6306e0f98869.hot-update.js +0 -22
- package/packages/web/.next/static/webpack/app/page.73e341375c8d429e.hot-update.js +0 -22
- package/packages/web/tailwind.config.ts +0 -48
- /package/packages/web/.next/static/chunks/{polyfills.js → polyfills-42372ed130431b0a.js} +0 -0
- /package/packages/web/.next/static/webpack/{6fee6306e0f98869.webpack.hot-update.json → 653e365406c0d9ac.webpack.hot-update.json} +0 -0
- /package/packages/web/.next/static/webpack/{73e341375c8d429e.webpack.hot-update.json → 6800169a899e3a8b.webpack.hot-update.json} +0 -0
|
@@ -15,7 +15,128 @@
|
|
|
15
15
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
16
16
|
|
|
17
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"));
|
|
18
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ OPMTerminal)\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/* harmony import */ var _barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Copy!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Copy!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/copy.js\");\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\nconst DOCS_URL = \"https://opm.mintlify.app\" || 0;\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 OPMTerminal() {\n _s();\n const [currentCommand, setCurrentCommand] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [showCursor, setShowCursor] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [matrixChars, setMatrixChars] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [terminalLines, setTerminalLines] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [currentTyping, setCurrentTyping] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [isExecuting, setIsExecuting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [copiedStates, setCopiedStates] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const copyToClipboard = async (text, key)=>{\n try {\n await navigator.clipboard.writeText(text);\n setCopiedStates((prev)=>({\n ...prev,\n [key]: true\n }));\n setTimeout(()=>{\n setCopiedStates((prev)=>({\n ...prev,\n [key]: false\n }));\n }, 2000);\n } catch (err) {\n console.error(\"Failed to copy text: \", err);\n }\n };\n const terminalSequences = [\n {\n command: \"opm install package-name@djpai.eth\",\n outputs: [\n \"🔍 Resolving djpai.eth → 0x3a9f...c4e2\",\n \"📦 package-name@1.2.0 — on-chain score: 12 (LOW)\",\n \"✅ Signature verified · checksum matched\",\n \"🛡️ Installed securely via OPM\"\n ]\n },\n {\n command: \"opm push\",\n outputs: [\n \"📝 Signing with author wallet...\",\n \"🤖 Agent 1 (Claude) scanning... risk: 8\",\n \"🤖 Agent 2 (Gemini) scanning... risk: 11\",\n \"🤖 Agent 3 (DeepSeek) scanning... risk: 6\",\n \"⛓ Registered on Base Sepolia ✓\"\n ]\n },\n {\n command: \"opm register-agent --name sentinel --model gpt-5.4\",\n outputs: [\n \"🧪 Batch benchmark (10 cases, single call)...\",\n \"✅ Accuracy: 10/10 (100%)\",\n \"🔐 ZK proof generated & verified\",\n \"⛓ Agent registered on-chain ✓\"\n ]\n }\n ];\n const heroAsciiText = \"\\n ██████╗ ██████╗ ███╗ ███╗\\n██╔═══██╗██╔══██╗████╗ ████║\\n██║ ██║██████╔╝██╔████╔██║\\n██║ ██║██╔═══╝ ██║╚██╔╝██║\\n╚██████╔╝██║ ██║ ╚═╝ ██║\\n ╚═════╝ ╚═╝ ╚═╝ ╚═╝\".trim();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"OPMTerminal.useEffect\": ()=>{\n const chars = \"OPM01010101ABCDEF█▓▒░▄▀■□▪▫⛓🔐\".split(\"\");\n const newMatrixChars = Array.from({\n length: 100\n }, {\n \"OPMTerminal.useEffect.newMatrixChars\": ()=>chars[Math.floor(Math.random() * chars.length)]\n }[\"OPMTerminal.useEffect.newMatrixChars\"]);\n setMatrixChars(newMatrixChars);\n const interval = setInterval({\n \"OPMTerminal.useEffect.interval\": ()=>{\n setMatrixChars({\n \"OPMTerminal.useEffect.interval\": (prev)=>prev.map({\n \"OPMTerminal.useEffect.interval\": ()=>chars[Math.floor(Math.random() * chars.length)]\n }[\"OPMTerminal.useEffect.interval\"])\n }[\"OPMTerminal.useEffect.interval\"]);\n }\n }[\"OPMTerminal.useEffect.interval\"], 1500);\n return ({\n \"OPMTerminal.useEffect\": ()=>clearInterval(interval)\n })[\"OPMTerminal.useEffect\"];\n }\n }[\"OPMTerminal.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"OPMTerminal.useEffect\": ()=>{\n const interval = setInterval({\n \"OPMTerminal.useEffect.interval\": ()=>{\n setShowCursor({\n \"OPMTerminal.useEffect.interval\": (prev)=>!prev\n }[\"OPMTerminal.useEffect.interval\"]);\n }\n }[\"OPMTerminal.useEffect.interval\"], 500);\n return ({\n \"OPMTerminal.useEffect\": ()=>clearInterval(interval)\n })[\"OPMTerminal.useEffect\"];\n }\n }[\"OPMTerminal.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"OPMTerminal.useEffect\": ()=>{\n const sequence = terminalSequences[currentCommand];\n const timeouts = [];\n const runSequence = {\n \"OPMTerminal.useEffect.runSequence\": async ()=>{\n setTerminalLines([]);\n setCurrentTyping(\"\");\n setIsExecuting(false);\n const command = sequence.command;\n for(let i = 0; i <= command.length; i++){\n timeouts.push(setTimeout({\n \"OPMTerminal.useEffect.runSequence\": ()=>{\n setCurrentTyping(command.slice(0, i));\n }\n }[\"OPMTerminal.useEffect.runSequence\"], i * 50));\n }\n timeouts.push(setTimeout({\n \"OPMTerminal.useEffect.runSequence\": ()=>{\n setIsExecuting(true);\n setCurrentTyping(\"\");\n setTerminalLines({\n \"OPMTerminal.useEffect.runSequence\": (prev)=>[\n ...prev,\n \"user@dev:~/project$ \".concat(command)\n ]\n }[\"OPMTerminal.useEffect.runSequence\"]);\n }\n }[\"OPMTerminal.useEffect.runSequence\"], command.length * 50 + 500));\n sequence.outputs.forEach({\n \"OPMTerminal.useEffect.runSequence\": (output, index)=>{\n timeouts.push(setTimeout({\n \"OPMTerminal.useEffect.runSequence\": ()=>{\n setTerminalLines({\n \"OPMTerminal.useEffect.runSequence\": (prev)=>[\n ...prev,\n output\n ]\n }[\"OPMTerminal.useEffect.runSequence\"]);\n }\n }[\"OPMTerminal.useEffect.runSequence\"], command.length * 50 + 1000 + index * 800));\n }\n }[\"OPMTerminal.useEffect.runSequence\"]);\n timeouts.push(setTimeout({\n \"OPMTerminal.useEffect.runSequence\": ()=>{\n setCurrentCommand({\n \"OPMTerminal.useEffect.runSequence\": (prev)=>(prev + 1) % terminalSequences.length\n }[\"OPMTerminal.useEffect.runSequence\"]);\n }\n }[\"OPMTerminal.useEffect.runSequence\"], command.length * 50 + 1000 + sequence.outputs.length * 800 + 2000));\n }\n }[\"OPMTerminal.useEffect.runSequence\"];\n runSequence();\n return ({\n \"OPMTerminal.useEffect\": ()=>{\n timeouts.forEach(clearTimeout);\n }\n })[\"OPMTerminal.useEffect\"];\n }\n }[\"OPMTerminal.useEffect\"], [\n currentCommand\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-black text-white font-mono overflow-hidden relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"border-b border-gray-800 bg-gray-950/95 backdrop-blur-sm p-4 relative z-10 sticky top-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-red-500 hover:bg-red-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 145,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-yellow-500 hover:bg-yellow-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 146,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-green-500 hover:bg-green-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 147,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 144,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white font-bold text-lg\",\n children: \"OPM\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 150,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400 text-sm\",\n children: \"on-chain package manager\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 151,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 149,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 143,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden md:flex items-center gap-8 ml-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#why\",\n className: \"text-gray-400 hover:text-white transition-colors cursor-pointer relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Why OPM?\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 157,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 158,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 156,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#features\",\n className: \"text-gray-400 hover:text-white transition-colors cursor-pointer relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Features\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 161,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 162,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 160,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#agents\",\n className: \"text-gray-400 hover:text-white transition-colors cursor-pointer relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"AI Agents\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 165,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 166,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 164,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#cli\",\n className: \"text-gray-400 hover:text-white transition-colors cursor-pointer relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"CLI\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 169,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 170,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 168,\n columnNumber: 15\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-gray-400 hover:text-white transition-colors cursor-pointer relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 173,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 174,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 172,\n columnNumber: 15\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-gray-400 hover:text-white transition-colors cursor-pointer relative group 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: 177,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Base Sepolia\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 178,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-0 h-0.5 bg-white transition-all duration-300 group-hover:w-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 179,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 176,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 155,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 142,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 text-gray-500 text-xs\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 186,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"v0.1.3\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 187,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 185,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative cursor-pointer\",\n onClick: ()=>copyToClipboard(\"npm install -g opmsec\", \"nav-install\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 border border-gray-600 bg-gray-900/20 transition-all duration-300 group-hover:border-white group-hover:shadow-lg group-hover:shadow-white/20\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 194,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative border border-gray-400 bg-transparent text-white font-medium px-6 py-2 text-sm transition-all duration-300 group-hover:border-white group-hover:bg-gray-900/30 transform translate-x-0.5 translate-y-0.5 group-hover:translate-x-0 group-hover:translate-y-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n copiedStates[\"nav-install\"] ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"w-4 h-4 text-green-400\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 198,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"w-4 h-4 text-gray-400\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 200,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"$\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 202,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Install\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 203,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 196,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 195,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 190,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 184,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 140,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 opacity-10 pointer-events-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-25 gap-1 h-full\",\n children: matrixChars.map((char, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-gray-500 text-xs animate-pulse\",\n children: char\n }, i, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 215,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 212,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative px-6 py-20 lg:px-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pre\", {\n className: \"text-white text-[10px] sm:text-sm md:text-xl lg:text-2xl font-bold leading-tight inline-block tracking-wide drop-shadow-[0_0_12px_rgba(255,255,255,0.3)]\",\n children: heroAsciiText\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 227,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 226,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl lg:text-6xl font-bold mb-6 leading-tight\",\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: 231,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-gradient-to-r from-white to-gray-400 bg-clip-text text-transparent\",\n children: \"Package Security\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 232,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 230,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg text-gray-300 leading-relaxed max-w-3xl mx-auto mb-8\",\n children: \"Cryptographic attestation via ECDSA-signed manifests, multi-model AI auditing through intelligence-weighted LLM consensus, and immutable risk scoring anchored to Base L2. Zero-knowledge agent verification. Tamper-evident by design.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 235,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row gap-6 justify-center items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative cursor-pointer w-full sm:w-auto\",\n onClick: ()=>copyToClipboard(\"npm install -g opmsec\", \"hero-install\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 border border-gray-600 bg-gray-900/20 transition-all duration-300 group-hover:border-white group-hover:shadow-lg group-hover:shadow-white/20\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 246,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative border border-white bg-white text-black font-bold px-6 sm:px-10 py-4 text-base sm:text-lg transition-all duration-300 group-hover:bg-gray-100 group-hover:text-black transform translate-x-1 translate-y-1 group-hover:translate-x-0 group-hover:translate-y-0 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center gap-2 sm:gap-3\",\n children: [\n copiedStates[\"hero-install\"] ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"w-4 h-4 sm:w-5 sm:h-5 text-green-600\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 250,\n columnNumber: 23\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"w-4 h-4 sm:w-5 sm:h-5 text-gray-600\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 252,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-600 text-sm sm:text-base\",\n children: \"$\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 254,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm sm:text-base\",\n children: \"npm install -g opmsec\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 255,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 248,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 247,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 242,\n columnNumber: 15\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: \"group relative cursor-pointer w-full sm:w-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 border-2 border-dashed border-gray-600 bg-gray-900/20 transition-all duration-300 group-hover:border-white group-hover:shadow-lg group-hover:shadow-white/20\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 261,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative border-2 border-dashed border-gray-400 bg-transparent text-white font-bold px-10 py-4 text-lg transition-all duration-300 group-hover:border-white group-hover:bg-gray-900/30 transform translate-x-1 translate-y-1 group-hover:translate-x-0 group-hover:translate-y-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 264,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Read the Docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 265,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 263,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 262,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 260,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 241,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 225,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gray-950 border border-gray-700 shadow-2xl backdrop-blur-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between px-6 py-4 bg-gray-900 border-b border-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-red-500 hover:bg-red-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 278,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-yellow-500 hover:bg-yellow-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 279,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-green-500 hover:bg-green-400 transition-colors cursor-pointer\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 280,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 277,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400 text-sm\",\n children: \"opm-terminal\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 282,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 276,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 285,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500 text-xs\",\n children: \"LIVE\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 286,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 284,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 275,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 min-h-[300px] bg-black\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 text-sm\",\n children: [\n terminalLines.map((line, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(line.startsWith(\"user@dev\") ? \"text-white\" : \"text-gray-300\", \" \").concat(line.includes(\"✅\") || line.includes(\"✓\") ? \"text-green-400\" : \"\"),\n children: line\n }, index, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)),\n !isExecuting && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-400\",\n children: \"user@dev\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 303,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \":\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 304,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-blue-400\",\n children: \"~/project\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 305,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white\",\n children: \"$ \"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 306,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white\",\n children: currentTyping\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 307,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white \".concat(showCursor ? \"opacity-100\" : \"opacity-0\", \" transition-opacity\"),\n children: \"█\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 308,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 302,\n columnNumber: 21\n }, this),\n isExecuting && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-gray-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1 h-1 bg-gray-400 rounded-full animate-bounce\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 315,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1 h-1 bg-gray-400 rounded-full animate-bounce\",\n style: {\n animationDelay: \"0.1s\"\n }\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 316,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1 h-1 bg-gray-400 rounded-full animate-bounce\",\n style: {\n animationDelay: \"0.2s\"\n }\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 317,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 314,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs\",\n children: \"Processing...\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 319,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 313,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 291,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 pt-4 border-t border-gray-800 flex justify-between text-xs text-gray-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"Commands:\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 326,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white\",\n children: [\n currentCommand + 1,\n \"/\",\n terminalSequences.length\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 327,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 325,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"Agents:\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 330,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"3 Active\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 331,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 329,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"Chain:\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 334,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"Base Sepolia\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 335,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 333,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 324,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 290,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 274,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 273,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mt-12 mb-10 max-w-4xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl lg:text-4xl font-bold mb-4\",\n children: \"Every command, security-first.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 344,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg text-gray-400 max-w-3xl mx-auto\",\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: 345,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 343,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-3 gap-6 max-w-4xl mx-auto mt-10\",\n children: [\n {\n num: \"01\",\n title: \"Push\",\n desc: \"ECDSA-sign package manifest, dispatch to 3 independent LLM agents for parallel static analysis, aggregate weighted risk scores, register immutable attestation on Base L2\",\n cmd: \"opm push\"\n },\n {\n num: \"02\",\n title: \"Install\",\n desc: \"Resolve ENS identity, verify ECDSA signature against on-chain registry, validate SHA-256 checksum, cross-reference OSV CVE database before extraction\",\n cmd: \"opm install <pkg>\"\n },\n {\n num: \"03\",\n title: \"Check\",\n desc: \"Traverse full dependency DAG, run Levenshtein-distance typosquat detection against top 10k packages, OSV CVE lookup, upload report to Fileverse (IPFS)\",\n cmd: \"opm check\"\n }\n ].map((card)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-br from-gray-800 to-gray-900 transform rotate-1 group-hover:rotate-2 transition-transform duration-300\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 358,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-black border border-gray-700 p-6 h-full flex flex-col justify-between hover:border-white transition-all duration-300 group-hover:shadow-xl group-hover:shadow-white/10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center flex-1 flex flex-col justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 mx-auto mb-4 bg-gray-900 border border-gray-600 flex items-center justify-center group-hover:border-white transition-colors group-hover:bg-gray-800\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg font-mono text-white group-hover:text-gray-100\",\n children: card.num\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 363,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 362,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold mb-3 text-white group-hover:text-gray-100\",\n children: card.title\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 365,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-400 mb-4 group-hover:text-gray-300 text-sm leading-relaxed\",\n children: card.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 366,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 361,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gray-900 border border-gray-700 p-2.5 font-mono text-xs text-left group-hover:border-gray-500 transition-colors group-hover:bg-gray-800 cursor-pointer flex items-center justify-between\",\n onClick: ()=>copyToClipboard(card.cmd, \"\".concat(card.num, \"-cmd\")),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500\",\n children: \"$ \"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 373,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white group-hover:text-gray-100\",\n children: card.cmd\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 374,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 372,\n columnNumber: 23\n }, this),\n copiedStates[\"\".concat(card.num, \"-cmd\")] ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"w-3 h-3 text-green-400\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 377,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Copy_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"w-3 h-3 text-gray-400 hover:text-white transition-colors\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 379,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 368,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 360,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 359,\n columnNumber: 17\n }, this)\n ]\n }, card.num, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 357,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 351,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 223,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"px-6 py-24 lg:px-12 border-t border-gray-800 relative overflow-hidden\",\n id: \"why\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-red-950/10 via-transparent to-transparent pointer-events-none\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 392,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto relative z-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center gap-2 px-4 py-1.5 border border-red-900/60 bg-red-950/30 text-red-400 text-xs font-mono tracking-widest uppercase mb-6\",\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-red-500 animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 397,\n columnNumber: 15\n }, this),\n \"Active Threat Landscape\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 396,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl lg:text-6xl font-bold mb-6 leading-tight\",\n children: [\n \"This is happening\",\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: 401,\n columnNumber: 32\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-400\",\n children: \"right now.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 402,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 400,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg text-gray-400 max-w-2xl mx-auto\",\n children: \"Supply chain attacks on npm aren't theoretical. Developers are losing money, shipping CVEs, and installing malware — every single week.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 404,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 395,\n columnNumber: 11\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-gray-800 max-w-4xl mx-auto mb-16\",\n children: [\n {\n num: \"6,847\",\n label: \"Malicious packages\",\n sub: \"removed from npm in 2025\"\n },\n {\n num: \"$15M+\",\n label: \"Developer losses\",\n sub: \"from wallet drainer packages\"\n },\n {\n num: \"23%\",\n label: \"Projects affected\",\n sub: \"by known CVEs in deps\"\n },\n {\n num: \"4 hrs\",\n label: \"Avg time to detect\",\n sub: \"a supply chain attack\"\n }\n ].map((stat, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-black p-6 text-center group hover:bg-gray-950 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-2xl lg:text-3xl font-bold text-white mb-1 group-hover:text-red-400 transition-colors\",\n children: stat.num\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 418,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-gray-300 font-medium\",\n children: stat.label\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 419,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-600 mt-1\",\n children: stat.sub\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 420,\n columnNumber: 17\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 417,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 410,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-12 gap-4 max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-7 group relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-red-950/20 transform rotate-[0.5deg] group-hover:rotate-0 transition-transform duration-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 429,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gray-950 border border-gray-800 group-hover:border-red-900/50 transition-all duration-500 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2.5 bg-gray-900 border-b border-gray-800 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-red-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 433,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400 font-mono\",\n children: \"cyberpress.org — March 2026\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 434,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 432,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-red-400 font-mono tracking-wider uppercase\",\n children: \"Supply Chain Attack\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 436,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 431,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-[16/9] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/phantomraven-npm-attack.png\",\n alt: \"PhantomRaven malware targeting npm supply chain\",\n fill: true,\n className: \"object-cover object-top opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 439,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-gray-950 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 445,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 438,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold text-white mb-1\",\n children: \"PhantomRaven Targets npm Supply Chain\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 448,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-gray-400\",\n children: \"Malware campaign targeting developer secrets through typosquatted packages. Thousands of downloads before detection.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 449,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 447,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 430,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 428,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-5 flex flex-col gap-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative flex-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gray-950 border border-gray-800 group-hover:border-red-900/50 transition-all duration-500 overflow-hidden h-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2.5 bg-gray-900 border-b border-gray-800 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-red-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 461,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400 font-mono\",\n children: \"@imanishbarnwal\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 462,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 460,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-red-400 font-mono tracking-wider uppercase\",\n children: \"Funds Lost\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 464,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 459,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-[16/10] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/wallet-drain-exploit.png\",\n alt: \"Developer lost money from silent dev environment exploit\",\n fill: true,\n className: \"object-cover object-top opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 467,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-gray-950 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 473,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 466,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-gray-300 font-medium\",\n children: \"“I lost a significant amount of money due to a silent, zero-interaction dev environment exploit.”\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 476,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 475,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 458,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 457,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 455,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-4 group relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gray-950 border border-gray-800 group-hover:border-orange-900/50 transition-all duration-500 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2.5 bg-gray-900 border-b border-gray-800 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-orange-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 487,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400 font-mono\",\n children: \"@nextjs — 213K views\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 488,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 486,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-orange-400 font-mono tracking-wider uppercase\",\n children: \"CVE\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 490,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 485,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-[4/3] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/nextjs-cve-announcement.png\",\n alt: \"Next.js critical CVE-2025-66478 announcement\",\n fill: true,\n className: \"object-cover object-top opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 493,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-gray-950 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 499,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 492,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-400\",\n children: \"Critical vulnerability in React Server Components affecting Next.js. 213K+ views.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 502,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 501,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 484,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 483,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-4 group relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gray-950 border border-gray-800 group-hover:border-yellow-900/50 transition-all duration-500 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2.5 bg-gray-900 border-b border-gray-800 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-yellow-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 511,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400 font-mono\",\n children: \"@trashh_dev\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 512,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 510,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-yellow-400 font-mono tracking-wider uppercase\",\n children: \"React CVE\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 514,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 509,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-[4/3] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/react-cve-meme.png\",\n alt: \"Developer reaction to React CVE announcement\",\n fill: true,\n className: \"object-cover object-top opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 517,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-gray-950 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 523,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 516,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-400\",\n children: \"How developers react to yet another critical CVE in their dependency tree.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 526,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 525,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 508,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 507,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-4 group relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gray-950 border border-gray-800 group-hover:border-gray-600 transition-all duration-500 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2.5 bg-gray-900 border-b border-gray-800 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 rounded-full bg-blue-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 535,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400 font-mono\",\n children: \"@arsh_goyal\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 536,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 534,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-gray-400 font-mono tracking-wider uppercase\",\n children: \"Reality Check\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 538,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 533,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-[4/3] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/dependency-bottleneck.png\",\n alt: \"Dependency management is the bottleneck\",\n fill: true,\n className: \"object-cover object-top opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 541,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-gray-950 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 547,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 540,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-400\",\n children: \"“Code generation isn't the bottleneck anymore. Dependency management is.”\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 550,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 549,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 532,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 531,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 426,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mt-16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex flex-col items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg text-gray-400\",\n children: [\n \"OPM catches these before they reach your \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white font-mono\",\n children: \"node_modules\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 560,\n columnNumber: 58\n }, this),\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 559,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3 text-sm font-mono text-gray-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-400\",\n children: \"$\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 563,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white\",\n children: \"npm install -g opmsec\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 564,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-600\",\n children: \"&&\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 565,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white\",\n children: \"opm install\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 566,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 562,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 558,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 557,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 394,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 391,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"px-6 py-20 lg:px-12 border-t border-gray-800\",\n id: \"features\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl lg:text-5xl font-bold mb-6\",\n children: \"Security Primitives\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 577,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xl text-gray-400\",\n children: \"Defense in depth, by default.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 578,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 576,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gray-950 border border-gray-800 shadow-2xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between px-6 py-4 bg-gray-900 border-b border-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-red-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 586,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-yellow-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 587,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-green-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 588,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 585,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400 text-sm\",\n children: \"opm features --list\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 590,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 584,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 593,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500 text-xs\",\n children: \"6 ACTIVE\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 594,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 592,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 583,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 bg-black\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-400 mb-4\",\n children: \"$ opm features --scan\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 599,\n columnNumber: 17\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 gap-4 font-mono text-sm mb-6\",\n children: [\n {\n name: \"multi-agent-consensus\",\n status: \"✓\",\n desc: \"N-of-M parallel LLM dispatch with intelligence-weighted aggregation via Artificial Analysis benchmarks. No single-model failure point.\"\n },\n {\n name: \"cryptographic-attestation\",\n status: \"✓\",\n desc: \"SHA-256 content-addressable checksums + secp256k1 ECDSA signatures. Tamper-evident supply chain attestation.\"\n },\n {\n name: \"zk-agent-verification\",\n status: \"✓\",\n desc: \"Hash-commitment ZK scheme with circom circuit reference. Accuracy proven without revealing labeled test data.\"\n },\n {\n name: \"on-chain-registry\",\n status: \"✓\",\n desc: \"OPMRegistry.sol: authorizedAgents, packages, versionData, AgentScores mappings. Fully queryable immutable state.\"\n },\n {\n name: \"cve-typosquat-detection\",\n status: \"✓\",\n desc: \"OSV advisory database integration + Levenshtein-distance analysis against top 10k npm packages. Dependency confusion detection.\"\n },\n {\n name: \"drop-in-npm-replacement\",\n status: \"✓\",\n desc: \"Transparent npm CLI interop: install, audit, check, push, fix — each operation layered with cryptographic verification.\"\n }\n ].map((f)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between py-2 px-3 hover:bg-gray-900 cursor-pointer group transition-all duration-200 border border-transparent hover:border-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-400 group-hover:text-white transition-colors w-4\",\n children: f.status\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 615,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white group-hover:text-gray-200 transition-colors\",\n children: f.name\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 616,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 614,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"opacity-0 group-hover:opacity-100 transition-opacity text-gray-500 text-xs max-w-[250px] text-right\",\n children: f.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 618,\n columnNumber: 23\n }, this)\n ]\n }, f.name, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 610,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 601,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pt-4 border-t border-gray-800\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4 text-xs text-gray-500 justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 628,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"6 Active\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 629,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 627,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 632,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Zero config\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 633,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 631,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 626,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 625,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 598,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 582,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 581,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 575,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 574,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"px-6 py-20 lg:px-12 border-t border-gray-800\",\n id: \"agents\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-4xl lg:text-5xl font-bold mb-6\",\n children: \"Multi-Agent Consensus\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 647,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xl text-gray-400\",\n children: \"N-of-M heterogeneous LLM ensemble with intelligence-weighted scoring derived from live Artificial Analysis quality and coding indices. Byzantine fault-tolerant by design.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 648,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 646,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gray-950 border border-gray-800 shadow-2xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between px-6 py-4 bg-gray-900 border-b border-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-red-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 656,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-yellow-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 657,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-green-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 658,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 655,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400 text-sm\",\n children: \"opm agents --status\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 660,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 654,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 663,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500 text-xs\",\n children: \"3 AUTHORIZED\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 664,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 662,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 653,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 bg-black\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-400 mb-4\",\n children: \"$ opm agents --list\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 669,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 font-mono text-sm\",\n children: [\n {\n id: \"1\",\n name: \"claude-opus-4.6\",\n provider: \"anthropic\",\n role: \"Primary scanner\",\n color: \"text-green-400\"\n },\n {\n id: \"2\",\n name: \"gemini-3.1-pro\",\n provider: \"google\",\n role: \"Secondary analysis\",\n color: \"text-green-400\"\n },\n {\n id: \"3\",\n name: \"deepseek-v3.2\",\n provider: \"deepseek\",\n role: \"Tertiary verification\",\n color: \"text-green-400\"\n }\n ].map((agent)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between py-2 px-4 hover:bg-gray-900 cursor-pointer group transition-all duration-200 border border-transparent hover:border-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500 w-6\",\n children: [\n \"[\",\n agent.id,\n \"]\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 682,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"\".concat(agent.color, \" group-hover:text-white transition-colors\"),\n children: \"●\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 683,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white group-hover:text-gray-200 transition-colors\",\n children: agent.name\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 684,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-500 text-xs\",\n children: [\n \"(\",\n agent.provider,\n \")\"\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 685,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 681,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"opacity-0 group-hover:opacity-100 transition-opacity text-gray-500 text-xs\",\n children: agent.role\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 687,\n columnNumber: 23\n }, this)\n ]\n }, agent.id, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 677,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 671,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 pt-4 border-t border-gray-800\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row justify-between items-start md:items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-400\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-mono text-xs text-gray-500 space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"$ opm register-agent --name my-agent --model gpt-5.4\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 698,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"$ opm info express # View agent scores\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 699,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 697,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 696,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6 text-xs text-gray-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 705,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"3 Active\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 706,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 704,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-gray-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 709,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"ZK-verified\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 710,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 708,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 703,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 695,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 694,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 668,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 652,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center gap-2 text-gray-400 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-400\",\n children: \"●\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 720,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Permissionless registration • 100% benchmark accuracy required • Scores on-chain\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 721,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 719,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 718,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 651,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 645,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 644,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"px-6 py-16 lg:px-12 border-t border-gray-800\",\n id: \"pipeline\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl lg:text-4xl font-bold mb-4\",\n children: \"Verification Pipeline\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 732,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg text-gray-400 max-w-2xl mx-auto\",\n children: \"Five-stage cryptographic attestation pipeline: from ECDSA signing through multi-agent consensus to on-chain settlement. Every package is verified before extraction to node_modules.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 733,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 731,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gray-950 border border-gray-800 shadow-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between px-6 py-3 bg-gray-900 border-b border-gray-700\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-red-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 743,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-yellow-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 744,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-3 h-3 bg-green-500\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 745,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 742,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400 text-sm\",\n children: \"opm pipeline --visualize\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 747,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 741,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 740,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 bg-black\",\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 font-mono text-sm\",\n children: [\n {\n step: \"01\",\n title: \"Pack & Sign\",\n desc: \"SHA-256 content-addressable checksum + secp256k1 ECDSA signature via author wallet\"\n },\n {\n step: \"02\",\n title: \"Multi-Agent Scan\",\n desc: \"Parallel dispatch to N heterogeneous LLMs; each submits independent risk vector\"\n },\n {\n step: \"03\",\n title: \"Weighted Consensus\",\n desc: \"Intelligence-weighted aggregate via Artificial Analysis quality + coding indices\"\n },\n {\n step: \"04\",\n title: \"On-chain Registry\",\n desc: \"Package metadata, agent scores, Fileverse report URI settled on Base Sepolia L2\"\n },\n {\n step: \"05\",\n title: \"Install Verify\",\n desc: \"ECDSA signature + on-chain score lookup + OSV CVE cross-reference at extraction time\"\n }\n ].map((s, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border border-gray-700 p-4 hover:border-white transition-all duration-300 group-hover:bg-gray-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500 block mb-2\",\n children: s.step\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 762,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-semibold mb-1 text-white\",\n children: s.title\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 763,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-500\",\n children: s.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 764,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 761,\n columnNumber: 23\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-gray-700\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 767,\n columnNumber: 25\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 760,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 752,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 751,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 739,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 738,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 730,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 729,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"px-6 py-16 lg:px-12 border-t border-gray-800\",\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)(\"h2\", {\n className: \"text-3xl font-bold mb-4\",\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: 781,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-400 mb-8\",\n children: \"OPMRegistry.sol deployed on Base Sepolia L2. Every package registration, agent score submission, ZK-verified agent authorization, and ENS-resolved author profile is an immutable on-chain record. Fully queryable, fully verifiable.\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 782,\n columnNumber: 11\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-gray-800 mb-8\",\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-black p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-500 mb-1\",\n children: s.desc\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 792,\n columnNumber: 17\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: 793,\n columnNumber: 17\n }, this)\n ]\n }, i, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 791,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 784,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center gap-4\",\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-gray-400 hover:text-white transition-colors px-4 py-2 border border-gray-700 hover:border-white\",\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: 805,\n columnNumber: 15\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: 799,\n columnNumber: 13\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-gray-400 hover:text-white transition-colors px-4 py-2 border border-gray-700 hover:border-white\",\n children: \"Source Code\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 808,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 798,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 780,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 779,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"border-t border-gray-800 px-6 py-12 lg:px-12 bg-gray-950\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"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)(\"div\", {\n className: \"flex items-center gap-2.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold\",\n children: \"OPM\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 825,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500\",\n children: \"On-chain Package Manager\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 826,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 824,\n columnNumber: 13\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-gray-500\",\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-white transition-colors\",\n children: \"Docs\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 829,\n columnNumber: 15\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-white transition-colors\",\n children: \"GitHub\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 830,\n columnNumber: 15\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-white transition-colors\",\n children: \"npm\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 831,\n columnNumber: 15\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-white transition-colors\",\n children: \"Contract\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 832,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 828,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-gray-700\",\n children: \"MIT License\"\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 834,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 823,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 822,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 821,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx\",\n lineNumber: 138,\n columnNumber: 5\n }, this);\n}\n_s(OPMTerminal, \"zyUchSDjwluMwQZ2jyMjJxgSmks=\");\n_c = OPMTerminal;\nvar _c;\n$RefreshReg$(_c, \"OPMTerminal\");\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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QTN6QndCdkQ7S0FBQUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL3BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgQ29weSwgQ2hlY2sgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCBJbWFnZSBmcm9tIFwibmV4dC9pbWFnZVwiXG5cbmNvbnN0IERPQ1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfRE9DU19VUkwgfHwgXCJodHRwczovL2RvY3Mub3BtLmRldlwiO1xuY29uc3QgR0lUSFVCX1VSTCA9IFwiaHR0cHM6Ly9naXRodWIuY29tL2RoYW5hbmpheXBhaTA4L29wbVwiO1xuY29uc3QgTlBNX1VSTCA9IFwiaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2Uvb3Btc2VjXCI7XG5jb25zdCBDT05UUkFDVCA9IFwiMHgxNjY4NDM5MWZjOWJmNDgyNDZCMDhBZmUxNmQxYTU3QkZhMTgxZDQ4XCI7XG5jb25zdCBCQVNFU0NBTiA9IGBodHRwczovL3NlcG9saWEuYmFzZXNjYW4ub3JnL2FkZHJlc3MvJHtDT05UUkFDVH1gO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBPUE1UZXJtaW5hbCgpIHtcbiAgY29uc3QgW2N1cnJlbnRDb21tYW5kLCBzZXRDdXJyZW50Q29tbWFuZF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbc2hvd0N1cnNvciwgc2V0U2hvd0N1cnNvcl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbbWF0cml4Q2hhcnMsIHNldE1hdHJpeENoYXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSlcbiAgY29uc3QgW3Rlcm1pbmFsTGluZXMsIHNldFRlcm1pbmFsTGluZXNdID0gdXNlU3RhdGU8c3RyaW5nW10+KFtdKVxuICBjb25zdCBbY3VycmVudFR5cGluZywgc2V0Q3VycmVudFR5cGluZ10gPSB1c2VTdGF0ZShcIlwiKVxuICBjb25zdCBbaXNFeGVjdXRpbmcsIHNldElzRXhlY3V0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY29waWVkU3RhdGVzLCBzZXRDb3BpZWRTdGF0ZXNdID0gdXNlU3RhdGU8eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0+KHt9KVxuXG4gIGNvbnN0IGNvcHlUb0NsaXBib2FyZCA9IGFzeW5jICh0ZXh0OiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpXG4gICAgICBzZXRDb3BpZWRTdGF0ZXMoKHByZXYpID0+ICh7IC4uLnByZXYsIFtrZXldOiB0cnVlIH0pKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldENvcGllZFN0YXRlcygocHJldikgPT4gKHsgLi4ucHJldiwgW2tleV06IGZhbHNlIH0pKVxuICAgICAgfSwgMjAwMClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gY29weSB0ZXh0OiBcIiwgZXJyKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRlcm1pbmFsU2VxdWVuY2VzID0gW1xuICAgIHtcbiAgICAgIGNvbW1hbmQ6IFwib3BtIGluc3RhbGwgcGFja2FnZS1uYW1lQGRqcGFpLmV0aFwiLFxuICAgICAgb3V0cHV0czogW1xuICAgICAgICBcIvCflI0gUmVzb2x2aW5nIGRqcGFpLmV0aCDihpIgMHgzYTlmLi4uYzRlMlwiLFxuICAgICAgICBcIvCfk6YgcGFja2FnZS1uYW1lQDEuMi4wIOKAlCBvbi1jaGFpbiBzY29yZTogMTIgKExPVylcIixcbiAgICAgICAgXCLinIUgU2lnbmF0dXJlIHZlcmlmaWVkIMK3IGNoZWNrc3VtIG1hdGNoZWRcIixcbiAgICAgICAgXCLwn5uh77iPICBJbnN0YWxsZWQgc2VjdXJlbHkgdmlhIE9QTVwiLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbW1hbmQ6IFwib3BtIHB1c2hcIixcbiAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgXCLwn5OdIFNpZ25pbmcgd2l0aCBhdXRob3Igd2FsbGV0Li4uXCIsXG4gICAgICAgIFwi8J+kliBBZ2VudCAxIChDbGF1ZGUpIHNjYW5uaW5nLi4uIHJpc2s6IDhcIixcbiAgICAgICAgXCLwn6SWIEFnZW50IDIgKEdlbWluaSkgc2Nhbm5pbmcuLi4gcmlzazogMTFcIixcbiAgICAgICAgXCLwn6SWIEFnZW50IDMgKERlZXBTZWVrKSBzY2FubmluZy4uLiByaXNrOiA2XCIsXG4gICAgICAgIFwi4puTICBSZWdpc3RlcmVkIG9uIEJhc2UgU2Vwb2xpYSDinJNcIixcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBjb21tYW5kOiBcIm9wbSByZWdpc3Rlci1hZ2VudCAtLW5hbWUgc2VudGluZWwgLS1tb2RlbCBncHQtNS40XCIsXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIFwi8J+nqiBCYXRjaCBiZW5jaG1hcmsgKDEwIGNhc2VzLCBzaW5nbGUgY2FsbCkuLi5cIixcbiAgICAgICAgXCLinIUgQWNjdXJhY3k6IDEwLzEwICgxMDAlKVwiLFxuICAgICAgICBcIvCflJAgWksgcHJvb2YgZ2VuZXJhdGVkICYgdmVyaWZpZWRcIixcbiAgICAgICAgXCLim5MgIEFnZW50IHJlZ2lzdGVyZWQgb24tY2hhaW4g4pyTXCIsXG4gICAgICBdLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoZXJvQXNjaWlUZXh0ID0gYFxuIOKWiOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4paI4pWXXG7ilojilojilZTilZDilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZfilojilojilojilojilZcg4paI4paI4paI4paI4pWRXG7ilojilojilZEgICDilojilojilZHilojilojilojilojilojilojilZTilZ3ilojilojilZTilojilojilojilojilZTilojilojilZFcbuKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVnSDilojilojilZHilZrilojilojilZTilZ3ilojilojilZFcbuKVmuKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKVkSAgICAg4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZFcbiDilZrilZDilZDilZDilZDilZDilZ0g4pWa4pWQ4pWdICAgICDilZrilZDilZ0gICAgIOKVmuKVkOKVnWAudHJpbSgpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjaGFycyA9IFwiT1BNMDEwMTAxMDFBQkNERUbilojilpPilpLilpHiloTiloDilqDilqHilqrilqvim5Pwn5SQXCIuc3BsaXQoXCJcIilcbiAgICBjb25zdCBuZXdNYXRyaXhDaGFycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEwMCB9LCAoKSA9PiBjaGFyc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpXSlcbiAgICBzZXRNYXRyaXhDaGFycyhuZXdNYXRyaXhDaGFycylcblxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgc2V0TWF0cml4Q2hhcnMoKHByZXYpID0+IHByZXYubWFwKCgpID0+IGNoYXJzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJzLmxlbmd0aCldKSlcbiAgICB9LCAxNTAwKVxuXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBzZXRTaG93Q3Vyc29yKChwcmV2KSA9PiAhcHJldilcbiAgICB9LCA1MDApXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2VxdWVuY2UgPSB0ZXJtaW5hbFNlcXVlbmNlc1tjdXJyZW50Q29tbWFuZF1cbiAgICBjb25zdCB0aW1lb3V0czogTm9kZUpTLlRpbWVvdXRbXSA9IFtdXG5cbiAgICBjb25zdCBydW5TZXF1ZW5jZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldFRlcm1pbmFsTGluZXMoW10pXG4gICAgICBzZXRDdXJyZW50VHlwaW5nKFwiXCIpXG4gICAgICBzZXRJc0V4ZWN1dGluZyhmYWxzZSlcblxuICAgICAgY29uc3QgY29tbWFuZCA9IHNlcXVlbmNlLmNvbW1hbmRcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IGNvbW1hbmQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGltZW91dHMucHVzaChcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldEN1cnJlbnRUeXBpbmcoY29tbWFuZC5zbGljZSgwLCBpKSlcbiAgICAgICAgICB9LCBpICogNTApLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHRpbWVvdXRzLnB1c2goXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldElzRXhlY3V0aW5nKHRydWUpXG4gICAgICAgICAgc2V0Q3VycmVudFR5cGluZyhcIlwiKVxuICAgICAgICAgIHNldFRlcm1pbmFsTGluZXMoKHByZXYpID0+IFsuLi5wcmV2LCBgdXNlckBkZXY6fi9wcm9qZWN0JCAke2NvbW1hbmR9YF0pXG4gICAgICAgIH0sIGNvbW1hbmQubGVuZ3RoICogNTAgKyA1MDApLFxuICAgICAgKVxuXG4gICAgICBzZXF1ZW5jZS5vdXRwdXRzLmZvckVhY2goKG91dHB1dCwgaW5kZXgpID0+IHtcbiAgICAgICAgdGltZW91dHMucHVzaChcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldFRlcm1pbmFsTGluZXMoKHByZXYpID0+IFsuLi5wcmV2LCBvdXRwdXRdKVxuICAgICAgICAgIH0sIGNvbW1hbmQubGVuZ3RoICogNTAgKyAxMDAwICsgaW5kZXggKiA4MDApLFxuICAgICAgICApXG4gICAgICB9KVxuXG4gICAgICB0aW1lb3V0cy5wdXNoKFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBzZXRDdXJyZW50Q29tbWFuZCgocHJldikgPT4gKHByZXYgKyAxKSAlIHRlcm1pbmFsU2VxdWVuY2VzLmxlbmd0aClcbiAgICAgICAgfSwgY29tbWFuZC5sZW5ndGggKiA1MCArIDEwMDAgKyBzZXF1ZW5jZS5vdXRwdXRzLmxlbmd0aCAqIDgwMCArIDIwMDApLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJ1blNlcXVlbmNlKClcbiAgICByZXR1cm4gKCkgPT4geyB0aW1lb3V0cy5mb3JFYWNoKGNsZWFyVGltZW91dCkgfVxuICB9LCBbY3VycmVudENvbW1hbmRdKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctYmxhY2sgdGV4dC13aGl0ZSBmb250LW1vbm8gb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlXCI+XG4gICAgICB7LyogTmF2ICovfVxuICAgICAgPG5hdiBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItZ3JheS04MDAgYmctZ3JheS05NTAvOTUgYmFja2Ryb3AtYmx1ci1zbSBwLTQgcmVsYXRpdmUgei0xMCBzdGlja3kgdG9wLTBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbWF4LXctN3hsIG14LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyBiZy1yZWQtNTAwIGhvdmVyOmJnLXJlZC00MDAgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgYmcteWVsbG93LTUwMCBob3ZlcjpiZy15ZWxsb3ctNDAwIHRyYW5zaXRpb24tY29sb3JzIGN1cnNvci1wb2ludGVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIGJnLWdyZWVuLTUwMCBob3ZlcjpiZy1ncmVlbi00MDAgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LWxnXCI+T1BNPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgdGV4dC1zbVwiPm9uLWNoYWluIHBhY2thZ2UgbWFuYWdlcjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTggbWwtOFwiPlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI3doeVwiIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPldoeSBPUE0/PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctMCBoLTAuNSBiZy13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6dy1mdWxsXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNmZWF0dXJlc1wiIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPkZlYXR1cmVzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctMCBoLTAuNSBiZy13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6dy1mdWxsXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNhZ2VudHNcIiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXIgcmVsYXRpdmUgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5BSSBBZ2VudHM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy0wIGgtMC41IGJnLXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cC1ob3Zlcjp3LWZ1bGxcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI2NsaVwiIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPkNMSTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCB3LTAgaC0wLjUgYmctd2hpdGUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnctZnVsbFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhIGhyZWY9e0RPQ1NfVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPkRvY3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy0wIGgtMC41IGJnLXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cC1ob3Zlcjp3LWZ1bGxcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YSBocmVmPXtCQVNFU0NBTn0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXIgcmVsYXRpdmUgZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInctMS41IGgtMS41IHJvdW5kZWQtZnVsbCBiZy1ncmVlbi01MDAgYW5pbWF0ZS1wdWxzZVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+QmFzZSBTZXBvbGlhPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctMCBoLTAuNSBiZy13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6dy1mdWxsXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0yIGgtMiBiZy1ncmVlbi01MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+djAuMS4zPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjb3B5VG9DbGlwYm9hcmQoXCJucG0gaW5zdGFsbCAtZyBvcG1zZWNcIiwgXCJuYXYtaW5zdGFsbFwiKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJvcmRlciBib3JkZXItZ3JheS02MDAgYmctZ3JheS05MDAvMjAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOmJvcmRlci13aGl0ZSBncm91cC1ob3ZlcjpzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6c2hhZG93LXdoaXRlLzIwXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYm9yZGVyIGJvcmRlci1ncmF5LTQwMCBiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIHB4LTYgcHktMiB0ZXh0LXNtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cC1ob3Zlcjpib3JkZXItd2hpdGUgZ3JvdXAtaG92ZXI6YmctZ3JheS05MDAvMzAgdHJhbnNmb3JtIHRyYW5zbGF0ZS14LTAuNSB0cmFuc2xhdGUteS0wLjUgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMCBncm91cC1ob3Zlcjp0cmFuc2xhdGUteS0wXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAge2NvcGllZFN0YXRlc1tcIm5hdi1pbnN0YWxsXCJdID8gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwidy00IGgtNCB0ZXh0LWdyZWVuLTQwMFwiIC8+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8Q29weSBjbGFzc05hbWU9XCJ3LTQgaC00IHRleHQtZ3JheS00MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDBcIj4kPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+SW5zdGFsbDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25hdj5cblxuICAgICAgey8qIE1hdHJpeCBiYWNrZ3JvdW5kICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIG9wYWNpdHktMTAgcG9pbnRlci1ldmVudHMtbm9uZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTI1IGdhcC0xIGgtZnVsbFwiPlxuICAgICAgICAgIHttYXRyaXhDaGFycy5tYXAoKGNoYXIsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwIHRleHQteHMgYW5pbWF0ZS1wdWxzZVwiPlxuICAgICAgICAgICAgICB7Y2hhcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogSGVybyAqL31cbiAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInJlbGF0aXZlIHB4LTYgcHktMjAgbGc6cHgtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy03eGwgbXgtYXV0b1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgbWItMTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOFwiPlxuICAgICAgICAgICAgICA8cHJlIGNsYXNzTmFtZT1cInRleHQtd2hpdGUgdGV4dC1bMTBweF0gc206dGV4dC1zbSBtZDp0ZXh0LXhsIGxnOnRleHQtMnhsIGZvbnQtYm9sZCBsZWFkaW5nLXRpZ2h0IGlubGluZS1ibG9jayB0cmFja2luZy13aWRlIGRyb3Atc2hhZG93LVswXzBfMTJweF9yZ2JhKDI1NSwyNTUsMjU1LDAuMyldXCI+e2hlcm9Bc2NpaVRleHR9PC9wcmU+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtNHhsIGxnOnRleHQtNnhsIGZvbnQtYm9sZCBtYi02IGxlYWRpbmctdGlnaHRcIj5cbiAgICAgICAgICAgICAgT24tY2hhaW48YnIgLz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctZ3JhZGllbnQtdG8tciBmcm9tLXdoaXRlIHRvLWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50XCI+UGFja2FnZSBTZWN1cml0eTwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDE+XG5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgdGV4dC1ncmF5LTMwMCBsZWFkaW5nLXJlbGF4ZWQgbWF4LXctM3hsIG14LWF1dG8gbWItOFwiPlxuICAgICAgICAgICAgICBDcnlwdG9ncmFwaGljIGF0dGVzdGF0aW9uIHZpYSBFQ0RTQS1zaWduZWQgbWFuaWZlc3RzLCBtdWx0aS1tb2RlbCBBSSBhdWRpdGluZyB0aHJvdWdoXG4gICAgICAgICAgICAgIGludGVsbGlnZW5jZS13ZWlnaHRlZCBMTE0gY29uc2Vuc3VzLCBhbmQgaW1tdXRhYmxlIHJpc2sgc2NvcmluZyBhbmNob3JlZCB0byBCYXNlIEwyLlxuICAgICAgICAgICAgICBaZXJvLWtub3dsZWRnZSBhZ2VudCB2ZXJpZmljYXRpb24uIFRhbXBlci1ldmlkZW50IGJ5IGRlc2lnbi5cbiAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGdhcC02IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXIgdy1mdWxsIHNtOnctYXV0b1wiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY29weVRvQ2xpcGJvYXJkKFwibnBtIGluc3RhbGwgLWcgb3Btc2VjXCIsIFwiaGVyby1pbnN0YWxsXCIpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJvcmRlciBib3JkZXItZ3JheS02MDAgYmctZ3JheS05MDAvMjAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOmJvcmRlci13aGl0ZSBncm91cC1ob3ZlcjpzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6c2hhZG93LXdoaXRlLzIwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBib3JkZXIgYm9yZGVyLXdoaXRlIGJnLXdoaXRlIHRleHQtYmxhY2sgZm9udC1ib2xkIHB4LTYgc206cHgtMTAgcHktNCB0ZXh0LWJhc2Ugc206dGV4dC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6YmctZ3JheS0xMDAgZ3JvdXAtaG92ZXI6dGV4dC1ibGFjayB0cmFuc2Zvcm0gdHJhbnNsYXRlLXgtMSB0cmFuc2xhdGUteS0xIGdyb3VwLWhvdmVyOnRyYW5zbGF0ZS14LTAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXktMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBzbTpnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICB7Y29waWVkU3RhdGVzW1wiaGVyby1pbnN0YWxsXCJdID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDaGVjayBjbGFzc05hbWU9XCJ3LTQgaC00IHNtOnctNSBzbTpoLTUgdGV4dC1ncmVlbi02MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgIDxDb3B5IGNsYXNzTmFtZT1cInctNCBoLTQgc206dy01IHNtOmgtNSB0ZXh0LWdyYXktNjAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTYwMCB0ZXh0LXNtIHNtOnRleHQtYmFzZVwiPiQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gc206dGV4dC1iYXNlXCI+bnBtIGluc3RhbGwgLWcgb3Btc2VjPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxhIGhyZWY9e0RPQ1NfVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGN1cnNvci1wb2ludGVyIHctZnVsbCBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItZ3JheS02MDAgYmctZ3JheS05MDAvMjAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOmJvcmRlci13aGl0ZSBncm91cC1ob3ZlcjpzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6c2hhZG93LXdoaXRlLzIwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBib3JkZXItMiBib3JkZXItZGFzaGVkIGJvcmRlci1ncmF5LTQwMCBiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlIGZvbnQtYm9sZCBweC0xMCBweS00IHRleHQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOmJvcmRlci13aGl0ZSBncm91cC1ob3ZlcjpiZy1ncmF5LTkwMC8zMCB0cmFuc2Zvcm0gdHJhbnNsYXRlLXgtMSB0cmFuc2xhdGUteS0xIGdyb3VwLWhvdmVyOnRyYW5zbGF0ZS14LTAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXktMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwXCI+4oaSPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SZWFkIHRoZSBEb2NzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIExpdmUgdGVybWluYWwgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy00eGwgbXgtYXV0b1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1ncmF5LTk1MCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHNoYWRvdy0yeGwgYmFja2Ryb3AtYmx1ci1zbVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC02IHB5LTQgYmctZ3JheS05MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyBiZy1yZWQtNTAwIGhvdmVyOmJnLXJlZC00MDAgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIGJnLXllbGxvdy01MDAgaG92ZXI6YmcteWVsbG93LTQwMCB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgYmctZ3JlZW4tNTAwIGhvdmVyOmJnLWdyZWVuLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIHRleHQtc21cIj5vcG0tdGVybWluYWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLWdyZWVuLTUwMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1wdWxzZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCI+TElWRTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTYgbWluLWgtWzMwMHB4XSBiZy1ibGFja1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgIHt0ZXJtaW5hbExpbmVzLm1hcCgobGluZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtsaW5lLnN0YXJ0c1dpdGgoXCJ1c2VyQGRldlwiKSA/IFwidGV4dC13aGl0ZVwiIDogXCJ0ZXh0LWdyYXktMzAwXCJ9ICR7bGluZS5pbmNsdWRlcyhcIuKchVwiKSB8fCBsaW5lLmluY2x1ZGVzKFwi4pyTXCIpID8gXCJ0ZXh0LWdyZWVuLTQwMFwiIDogXCJcIn1gfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2xpbmV9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSl9XG5cbiAgICAgICAgICAgICAgICAgIHshaXNFeGVjdXRpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyZWVuLTQwMFwiPnVzZXJAZGV2PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS01MDBcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtYmx1ZS00MDBcIj5+L3Byb2plY3Q8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC13aGl0ZVwiPiQgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtd2hpdGVcIj57Y3VycmVudFR5cGluZ308L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgdGV4dC13aGl0ZSAke3Nob3dDdXJzb3IgPyBcIm9wYWNpdHktMTAwXCIgOiBcIm9wYWNpdHktMFwifSB0cmFuc2l0aW9uLW9wYWNpdHlgfT7ilog8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAge2lzRXhlY3V0aW5nICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMSBoLTEgYmctZ3JheS00MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtYm91bmNlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMSBoLTEgYmctZ3JheS00MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtYm91bmNlXCIgc3R5bGU9e3sgYW5pbWF0aW9uRGVsYXk6IFwiMC4xc1wiIH19PjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEgaC0xIGJnLWdyYXktNDAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJvdW5jZVwiIHN0eWxlPXt7IGFuaW1hdGlvbkRlbGF5OiBcIjAuMnNcIiB9fT48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzXCI+UHJvY2Vzc2luZy4uLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHB0LTQgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIGZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQteHMgdGV4dC1ncmF5LTUwMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwXCI+Q29tbWFuZHM6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlXCI+e2N1cnJlbnRDb21tYW5kICsgMX0ve3Rlcm1pbmFsU2VxdWVuY2VzLmxlbmd0aH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMFwiPkFnZW50czo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS01MDBcIj4zIEFjdGl2ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwXCI+Q2hhaW46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwXCI+QmFzZSBTZXBvbGlhPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogQ0xJIGhlYWRpbmcgYmVsb3cgdGVybWluYWwgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtdC0xMiBtYi0xMCBtYXgtdy00eGwgbXgtYXV0b1wiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtM3hsIGxnOnRleHQtNHhsIGZvbnQtYm9sZCBtYi00XCI+RXZlcnkgY29tbWFuZCwgc2VjdXJpdHktZmlyc3QuPC9oMj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgdGV4dC1ncmF5LTQwMCBtYXgtdy0zeGwgbXgtYXV0b1wiPlxuICAgICAgICAgICAgICBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBucG0uIEV2ZXJ5IG9wZXJhdGlvbiBnYWlucyBjcnlwdG9ncmFwaGljIHZlcmlmaWNhdGlvbiwgQUktcG93ZXJlZCBhdWRpdGluZywgYW5kIG9uLWNoYWluIGF0dGVzdGF0aW9uIHRyYW5zcGFyZW50bHkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogQ29tbWFuZCBjYXJkcyBiZWxvdyB0ZXJtaW5hbCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTYgbWF4LXctNHhsIG14LWF1dG8gbXQtMTBcIj5cbiAgICAgICAgICAgIHtbXG4gICAgICAgICAgICAgIHsgbnVtOiBcIjAxXCIsIHRpdGxlOiBcIlB1c2hcIiwgZGVzYzogXCJFQ0RTQS1zaWduIHBhY2thZ2UgbWFuaWZlc3QsIGRpc3BhdGNoIHRvIDMgaW5kZXBlbmRlbnQgTExNIGFnZW50cyBmb3IgcGFyYWxsZWwgc3RhdGljIGFuYWx5c2lzLCBhZ2dyZWdhdGUgd2VpZ2h0ZWQgcmlzayBzY29yZXMsIHJlZ2lzdGVyIGltbXV0YWJsZSBhdHRlc3RhdGlvbiBvbiBCYXNlIEwyXCIsIGNtZDogXCJvcG0gcHVzaFwiIH0sXG4gICAgICAgICAgICAgIHsgbnVtOiBcIjAyXCIsIHRpdGxlOiBcIkluc3RhbGxcIiwgZGVzYzogXCJSZXNvbHZlIEVOUyBpZGVudGl0eSwgdmVyaWZ5IEVDRFNBIHNpZ25hdHVyZSBhZ2FpbnN0IG9uLWNoYWluIHJlZ2lzdHJ5LCB2YWxpZGF0ZSBTSEEtMjU2IGNoZWNrc3VtLCBjcm9zcy1yZWZlcmVuY2UgT1NWIENWRSBkYXRhYmFzZSBiZWZvcmUgZXh0cmFjdGlvblwiLCBjbWQ6IFwib3BtIGluc3RhbGwgPHBrZz5cIiB9LFxuICAgICAgICAgICAgICB7IG51bTogXCIwM1wiLCB0aXRsZTogXCJDaGVja1wiLCBkZXNjOiBcIlRyYXZlcnNlIGZ1bGwgZGVwZW5kZW5jeSBEQUcsIHJ1biBMZXZlbnNodGVpbi1kaXN0YW5jZSB0eXBvc3F1YXQgZGV0ZWN0aW9uIGFnYWluc3QgdG9wIDEwayBwYWNrYWdlcywgT1NWIENWRSBsb29rdXAsIHVwbG9hZCByZXBvcnQgdG8gRmlsZXZlcnNlIChJUEZTKVwiLCBjbWQ6IFwib3BtIGNoZWNrXCIgfSxcbiAgICAgICAgICAgIF0ubWFwKChjYXJkKSA9PiAoXG4gICAgICAgICAgICAgIDxkaXYga2V5PXtjYXJkLm51bX0gY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1mdWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tZ3JheS04MDAgdG8tZ3JheS05MDAgdHJhbnNmb3JtIHJvdGF0ZS0xIGdyb3VwLWhvdmVyOnJvdGF0ZS0yIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctYmxhY2sgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBwLTYgaC1mdWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIGhvdmVyOmJvcmRlci13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2hhZG93LXhsIGdyb3VwLWhvdmVyOnNoYWRvdy13aGl0ZS8xMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBmbGV4LTEgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTIgaC0xMiBteC1hdXRvIG1iLTQgYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTYwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBncm91cC1ob3Zlcjpib3JkZXItd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgZ3JvdXAtaG92ZXI6YmctZ3JheS04MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1tb25vIHRleHQtd2hpdGUgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTEwMFwiPntjYXJkLm51bX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1ib2xkIG1iLTMgdGV4dC13aGl0ZSBncm91cC1ob3Zlcjp0ZXh0LWdyYXktMTAwXCI+e2NhcmQudGl0bGV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIG1iLTQgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTMwMCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZFwiPntjYXJkLmRlc2N9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS03MDAgcC0yLjUgZm9udC1tb25vIHRleHQteHMgdGV4dC1sZWZ0IGdyb3VwLWhvdmVyOmJvcmRlci1ncmF5LTUwMCB0cmFuc2l0aW9uLWNvbG9ycyBncm91cC1ob3ZlcjpiZy1ncmF5LTgwMCBjdXJzb3ItcG9pbnRlciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNvcHlUb0NsaXBib2FyZChjYXJkLmNtZCwgYCR7Y2FyZC5udW19LWNtZGApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMFwiPiQgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC13aGl0ZSBncm91cC1ob3Zlcjp0ZXh0LWdyYXktMTAwXCI+e2NhcmQuY21kfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB7Y29waWVkU3RhdGVzW2Ake2NhcmQubnVtfS1jbWRgXSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVjayBjbGFzc05hbWU9XCJ3LTMgaC0zIHRleHQtZ3JlZW4tNDAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgPENvcHkgY2xhc3NOYW1lPVwidy0zIGgtMyB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnNcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICB7LyogV2h5IE9QTSDigJQgUmVhbCBpbmNpZGVudHMgKi99XG4gICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJweC02IHB5LTI0IGxnOnB4LTEyIGJvcmRlci10IGJvcmRlci1ncmF5LTgwMCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW5cIiBpZD1cIndoeVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXJlZC05NTAvMTAgdmlhLXRyYW5zcGFyZW50IHRvLXRyYW5zcGFyZW50IHBvaW50ZXItZXZlbnRzLW5vbmVcIiAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG8gcmVsYXRpdmUgei0xMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgbWItOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNCBweS0xLjUgYm9yZGVyIGJvcmRlci1yZWQtOTAwLzYwIGJnLXJlZC05NTAvMzAgdGV4dC1yZWQtNDAwIHRleHQteHMgZm9udC1tb25vIHRyYWNraW5nLXdpZGVzdCB1cHBlcmNhc2UgbWItNlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTEuNSBoLTEuNSByb3VuZGVkLWZ1bGwgYmctcmVkLTUwMCBhbmltYXRlLXB1bHNlXCIgLz5cbiAgICAgICAgICAgICAgQWN0aXZlIFRocmVhdCBMYW5kc2NhcGVcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtNHhsIGxnOnRleHQtNnhsIGZvbnQtYm9sZCBtYi02IGxlYWRpbmctdGlnaHRcIj5cbiAgICAgICAgICAgICAgVGhpcyBpcyBoYXBwZW5pbmc8YnIgLz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yZWQtNDAwXCI+cmlnaHQgbm93Ljwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIHRleHQtZ3JheS00MDAgbWF4LXctMnhsIG14LWF1dG9cIj5cbiAgICAgICAgICAgICAgU3VwcGx5IGNoYWluIGF0dGFja3Mgb24gbnBtIGFyZW4mYXBvczt0IHRoZW9yZXRpY2FsLiBEZXZlbG9wZXJzIGFyZSBsb3NpbmcgbW9uZXksIHNoaXBwaW5nIENWRXMsIGFuZCBpbnN0YWxsaW5nIG1hbHdhcmUg4oCUIGV2ZXJ5IHNpbmdsZSB3ZWVrLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIFN0YXRzIGJhciAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTQgZ2FwLXB4IGJnLWdyYXktODAwIG1heC13LTR4bCBteC1hdXRvIG1iLTE2XCI+XG4gICAgICAgICAgICB7W1xuICAgICAgICAgICAgICB7IG51bTogXCI2LDg0N1wiLCBsYWJlbDogXCJNYWxpY2lvdXMgcGFja2FnZXNcIiwgc3ViOiBcInJlbW92ZWQgZnJvbSBucG0gaW4gMjAyNVwiIH0sXG4gICAgICAgICAgICAgIHsgbnVtOiBcIiQxNU0rXCIsIGxhYmVsOiBcIkRldmVsb3BlciBsb3NzZXNcIiwgc3ViOiBcImZyb20gd2FsbGV0IGRyYWluZXIgcGFja2FnZXNcIiB9LFxuICAgICAgICAgICAgICB7IG51bTogXCIyMyVcIiwgbGFiZWw6IFwiUHJvamVjdHMgYWZmZWN0ZWRcIiwgc3ViOiBcImJ5IGtub3duIENWRXMgaW4gZGVwc1wiIH0sXG4gICAgICAgICAgICAgIHsgbnVtOiBcIjQgaHJzXCIsIGxhYmVsOiBcIkF2ZyB0aW1lIHRvIGRldGVjdFwiLCBzdWI6IFwiYSBzdXBwbHkgY2hhaW4gYXR0YWNrXCIgfSxcbiAgICAgICAgICAgIF0ubWFwKChzdGF0LCBpKSA9PiAoXG4gICAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjbGFzc05hbWU9XCJiZy1ibGFjayBwLTYgdGV4dC1jZW50ZXIgZ3JvdXAgaG92ZXI6YmctZ3JheS05NTAgdHJhbnNpdGlvbi1jb2xvcnNcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBsZzp0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0xIGdyb3VwLWhvdmVyOnRleHQtcmVkLTQwMCB0cmFuc2l0aW9uLWNvbG9yc1wiPntzdGF0Lm51bX08L3A+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktMzAwIGZvbnQtbWVkaXVtXCI+e3N0YXQubGFiZWx9PC9wPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTYwMCBtdC0xXCI+e3N0YXQuc3VifTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBJbmNpZGVudCBjYXJkcyAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTEyIGdhcC00IG1heC13LTZ4bCBteC1hdXRvXCI+XG4gICAgICAgICAgICB7LyogTGFyZ2UgY2FyZCDigJQgUGhhbnRvbVJhdmVuIGF0dGFjayAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWQ6Y29sLXNwYW4tNyBncm91cCByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctcmVkLTk1MC8yMCB0cmFuc2Zvcm0gcm90YXRlLVswLjVkZWddIGdyb3VwLWhvdmVyOnJvdGF0ZS0wIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTUwMFwiIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctZ3JheS05NTAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBncm91cC1ob3Zlcjpib3JkZXItcmVkLTkwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTIuNSBiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInctMiBoLTIgcm91bmRlZC1mdWxsIGJnLXJlZC01MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgZm9udC1tb25vXCI+Y3liZXJwcmVzcy5vcmcg4oCUIE1hcmNoIDIwMjY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHRleHQtcmVkLTQwMCBmb250LW1vbm8gdHJhY2tpbmctd2lkZXIgdXBwZXJjYXNlXCI+U3VwcGx5IENoYWluIEF0dGFjazwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGFzcGVjdC1bMTYvOV0gb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiL3BoYW50b21yYXZlbi1ucG0tYXR0YWNrLnBuZ1wiXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlBoYW50b21SYXZlbiBtYWx3YXJlIHRhcmdldGluZyBucG0gc3VwcGx5IGNoYWluXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvYmplY3QtY292ZXIgb2JqZWN0LXRvcCBvcGFjaXR5LTkwIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIGdyb3VwLWhvdmVyOnNjYWxlLVsxLjAyXSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi03MDBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by10IGZyb20tZ3JheS05NTAgdmlhLXRyYW5zcGFyZW50IHRvLXRyYW5zcGFyZW50XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNVwiPlxuICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMVwiPlBoYW50b21SYXZlbiBUYXJnZXRzIG5wbSBTdXBwbHkgQ2hhaW48L2gzPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNDAwXCI+TWFsd2FyZSBjYW1wYWlnbiB0YXJnZXRpbmcgZGV2ZWxvcGVyIHNlY3JldHMgdGhyb3VnaCB0eXBvc3F1YXR0ZWQgcGFja2FnZXMuIFRob3VzYW5kcyBvZiBkb3dubG9hZHMgYmVmb3JlIGRldGVjdGlvbi48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiBSaWdodCBjb2x1bW4g4oCUIHN0YWNrZWQgKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1kOmNvbC1zcGFuLTUgZmxleCBmbGV4LWNvbCBnYXAtNFwiPlxuICAgICAgICAgICAgICB7LyogV2FsbGV0IGRyYWluICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctZ3JheS05NTAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBncm91cC1ob3Zlcjpib3JkZXItcmVkLTkwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgb3ZlcmZsb3ctaGlkZGVuIGgtZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTIuNSBiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIHJvdW5kZWQtZnVsbCBiZy1yZWQtNTAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgZm9udC1tb25vXCI+QGltYW5pc2hiYXJud2FsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1yZWQtNDAwIGZvbnQtbW9ubyB0cmFja2luZy13aWRlciB1cHBlcmNhc2VcIj5GdW5kcyBMb3N0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGFzcGVjdC1bMTYvMTBdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIvd2FsbGV0LWRyYWluLWV4cGxvaXQucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXZlbG9wZXIgbG9zdCBtb25leSBmcm9tIHNpbGVudCBkZXYgZW52aXJvbm1lbnQgZXhwbG9pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9iamVjdC1jb3ZlciBvYmplY3QtdG9wIG9wYWNpdHktOTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZ3JvdXAtaG92ZXI6c2NhbGUtWzEuMDJdIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTcwMFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by10IGZyb20tZ3JheS05NTAgdmlhLXRyYW5zcGFyZW50IHRvLXRyYW5zcGFyZW50XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktMzAwIGZvbnQtbWVkaXVtXCI+JmxkcXVvO0kgbG9zdCBhIHNpZ25pZmljYW50IGFtb3VudCBvZiBtb25leSBkdWUgdG8gYSBzaWxlbnQsIHplcm8taW50ZXJhY3Rpb24gZGV2IGVudmlyb25tZW50IGV4cGxvaXQuJnJkcXVvOzwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICB7LyogQm90dG9tIHJvdyDigJQgMyBjYXJkcyAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWQ6Y29sLXNwYW4tNCBncm91cCByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGJnLWdyYXktOTUwIGJvcmRlciBib3JkZXItZ3JheS04MDAgZ3JvdXAtaG92ZXI6Ym9yZGVyLW9yYW5nZS05MDAvNTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtNCBweS0yLjUgYmctZ3JheS05MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIHJvdW5kZWQtZnVsbCBiZy1vcmFuZ2UtNTAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwIGZvbnQtbW9ub1wiPkBuZXh0anMg4oCUIDIxM0sgdmlld3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHRleHQtb3JhbmdlLTQwMCBmb250LW1vbm8gdHJhY2tpbmctd2lkZXIgdXBwZXJjYXNlXCI+Q1ZFPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYXNwZWN0LVs0LzNdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9uZXh0anMtY3ZlLWFubm91bmNlbWVudC5wbmdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJOZXh0LmpzIGNyaXRpY2FsIENWRS0yMDI1LTY2NDc4IGFubm91bmNlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvdmVyIG9iamVjdC10b3Agb3BhY2l0eS05MCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBncm91cC1ob3ZlcjpzY2FsZS1bMS4wMl0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNzAwXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLWdyYXktOTUwIHZpYS10cmFuc3BhcmVudCB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTRcIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTQwMFwiPkNyaXRpY2FsIHZ1bG5lcmFiaWxpdHkgaW4gUmVhY3QgU2VydmVyIENvbXBvbmVudHMgYWZmZWN0aW5nIE5leHQuanMuIDIxM0srIHZpZXdzLjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtZDpjb2wtc3Bhbi00IGdyb3VwIHJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctZ3JheS05NTAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBncm91cC1ob3Zlcjpib3JkZXIteWVsbG93LTkwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTIuNSBiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInctMiBoLTIgcm91bmRlZC1mdWxsIGJnLXllbGxvdy01MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgZm9udC1tb25vXCI+QHRyYXNoaF9kZXY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHRleHQteWVsbG93LTQwMCBmb250LW1vbm8gdHJhY2tpbmctd2lkZXIgdXBwZXJjYXNlXCI+UmVhY3QgQ1ZFPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYXNwZWN0LVs0LzNdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9yZWFjdC1jdmUtbWVtZS5wbmdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXZlbG9wZXIgcmVhY3Rpb24gdG8gUmVhY3QgQ1ZFIGFubm91bmNlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvdmVyIG9iamVjdC10b3Agb3BhY2l0eS05MCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBncm91cC1ob3ZlcjpzY2FsZS1bMS4wMl0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNzAwXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLWdyYXktOTUwIHZpYS10cmFuc3BhcmVudCB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTRcIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTQwMFwiPkhvdyBkZXZlbG9wZXJzIHJlYWN0IHRvIHlldCBhbm90aGVyIGNyaXRpY2FsIENWRSBpbiB0aGVpciBkZXBlbmRlbmN5IHRyZWUuPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1kOmNvbC1zcGFuLTQgZ3JvdXAgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBiZy1ncmF5LTk1MCBib3JkZXIgYm9yZGVyLWdyYXktODAwIGdyb3VwLWhvdmVyOmJvcmRlci1ncmF5LTYwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTIuNSBiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInctMiBoLTIgcm91bmRlZC1mdWxsIGJnLWJsdWUtNTAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwIGZvbnQtbW9ub1wiPkBhcnNoX2dveWFsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LWdyYXktNDAwIGZvbnQtbW9ubyB0cmFja2luZy13aWRlciB1cHBlcmNhc2VcIj5SZWFsaXR5IENoZWNrPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYXNwZWN0LVs0LzNdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9kZXBlbmRlbmN5LWJvdHRsZW5lY2sucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiRGVwZW5kZW5jeSBtYW5hZ2VtZW50IGlzIHRoZSBib3R0bGVuZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvYmplY3QtY292ZXIgb2JqZWN0LXRvcCBvcGFjaXR5LTkwIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIGdyb3VwLWhvdmVyOnNjYWxlLVsxLjAyXSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi03MDBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by10IGZyb20tZ3JheS05NTAgdmlhLXRyYW5zcGFyZW50IHRvLXRyYW5zcGFyZW50XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNFwiPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwXCI+JmxkcXVvO0NvZGUgZ2VuZXJhdGlvbiBpc24mYXBvczt0IHRoZSBib3R0bGVuZWNrIGFueW1vcmUuIERlcGVuZGVuY3kgbWFuYWdlbWVudCBpcy4mcmRxdW87PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIENUQSBhZnRlciBpbmNpZGVudHMgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtdC0xNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1sZyB0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgICAgT1BNIGNhdGNoZXMgdGhlc2UgYmVmb3JlIHRoZXkgcmVhY2ggeW91ciA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtbW9ub1wiPm5vZGVfbW9kdWxlczwvc3Bhbj4uXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LXNtIGZvbnQtbW9ubyB0ZXh0LWdyYXktNTAwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmVlbi00MDBcIj4kPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtd2hpdGVcIj5ucG0gaW5zdGFsbCAtZyBvcG1zZWM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTYwMFwiPiYmPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtd2hpdGVcIj5vcG0gaW5zdGFsbDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBGZWF0dXJlcyAqL31cbiAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInB4LTYgcHktMjAgbGc6cHgtMTIgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwXCIgaWQ9XCJmZWF0dXJlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTd4bCBteC1hdXRvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0xNlwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtNHhsIGxnOnRleHQtNXhsIGZvbnQtYm9sZCBtYi02XCI+U2VjdXJpdHkgUHJpbWl0aXZlczwvaDI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhsIHRleHQtZ3JheS00MDBcIj5EZWZlbnNlIGluIGRlcHRoLCBieSBkZWZhdWx0LjwvcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG9cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JheS05NTAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBzaGFkb3ctMnhsXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTYgcHktNCBiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIGJnLXJlZC01MDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIGJnLXllbGxvdy01MDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTMgaC0zIGJnLWdyZWVuLTUwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIHRleHQtc21cIj5vcG0gZmVhdHVyZXMgLS1saXN0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0yIGgtMiBiZy1ncmVlbi01MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS01MDAgdGV4dC14c1wiPjYgQUNUSVZFPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNiBiZy1ibGFja1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTRcIj4kIG9wbSBmZWF0dXJlcyAtLXNjYW48L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtNCBmb250LW1vbm8gdGV4dC1zbSBtYi02XCI+XG4gICAgICAgICAgICAgICAgICB7W1xuICAgICAgICAgICAgICAgICAgICB7IG5hbWU6IFwibXVsdGktYWdlbnQtY29uc2Vuc3VzXCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJOLW9mLU0gcGFyYWxsZWwgTExNIGRpc3BhdGNoIHdpdGggaW50ZWxsaWdlbmNlLXdlaWdodGVkIGFnZ3JlZ2F0aW9uIHZpYSBBcnRpZmljaWFsIEFuYWx5c2lzIGJlbmNobWFya3MuIE5vIHNpbmdsZS1tb2RlbCBmYWlsdXJlIHBvaW50LlwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbmFtZTogXCJjcnlwdG9ncmFwaGljLWF0dGVzdGF0aW9uXCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJTSEEtMjU2IGNvbnRlbnQtYWRkcmVzc2FibGUgY2hlY2tzdW1zICsgc2VjcDI1NmsxIEVDRFNBIHNpZ25hdHVyZXMuIFRhbXBlci1ldmlkZW50IHN1cHBseSBjaGFpbiBhdHRlc3RhdGlvbi5cIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IG5hbWU6IFwiemstYWdlbnQtdmVyaWZpY2F0aW9uXCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJIYXNoLWNvbW1pdG1lbnQgWksgc2NoZW1lIHdpdGggY2lyY29tIGNpcmN1aXQgcmVmZXJlbmNlLiBBY2N1cmFjeSBwcm92ZW4gd2l0aG91dCByZXZlYWxpbmcgbGFiZWxlZCB0ZXN0IGRhdGEuXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiBcIm9uLWNoYWluLXJlZ2lzdHJ5XCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJPUE1SZWdpc3RyeS5zb2w6IGF1dGhvcml6ZWRBZ2VudHMsIHBhY2thZ2VzLCB2ZXJzaW9uRGF0YSwgQWdlbnRTY29yZXMgbWFwcGluZ3MuIEZ1bGx5IHF1ZXJ5YWJsZSBpbW11dGFibGUgc3RhdGUuXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiBcImN2ZS10eXBvc3F1YXQtZGV0ZWN0aW9uXCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJPU1YgYWR2aXNvcnkgZGF0YWJhc2UgaW50ZWdyYXRpb24gKyBMZXZlbnNodGVpbi1kaXN0YW5jZSBhbmFseXNpcyBhZ2FpbnN0IHRvcCAxMGsgbnBtIHBhY2thZ2VzLiBEZXBlbmRlbmN5IGNvbmZ1c2lvbiBkZXRlY3Rpb24uXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiBcImRyb3AtaW4tbnBtLXJlcGxhY2VtZW50XCIsIHN0YXR1czogXCLinJNcIiwgZGVzYzogXCJUcmFuc3BhcmVudCBucG0gQ0xJIGludGVyb3A6IGluc3RhbGwsIGF1ZGl0LCBjaGVjaywgcHVzaCwgZml4IOKAlCBlYWNoIG9wZXJhdGlvbiBsYXllcmVkIHdpdGggY3J5cHRvZ3JhcGhpYyB2ZXJpZmljYXRpb24uXCIgfSxcbiAgICAgICAgICAgICAgICAgIF0ubWFwKChmKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2YubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMiBweC0zIGhvdmVyOmJnLWdyYXktOTAwIGN1cnNvci1wb2ludGVyIGdyb3VwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IGhvdmVyOmJvcmRlci1ncmF5LTcwMFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyZWVuLTQwMCBncm91cC1ob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIHctNFwiPntmLnN0YXR1c308L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGdyb3VwLWhvdmVyOnRleHQtZ3JheS0yMDAgdHJhbnNpdGlvbi1jb2xvcnNcIj57Zi5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgdGV4dC1ncmF5LTUwMCB0ZXh0LXhzIG1heC13LVsyNTBweF0gdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2YuZGVzY31cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHQtNCBib3JkZXItdCBib3JkZXItZ3JheS04MDBcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgdGV4dC14cyB0ZXh0LWdyYXktNTAwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMiBoLTIgYmctZ3JlZW4tNTAwIHJvdW5kZWQtZnVsbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjYgQWN0aXZlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0yIGgtMiBiZy1ncmVlbi01MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5aZXJvIGNvbmZpZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBBSSBBZ2VudHMgKi99XG4gICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJweC02IHB5LTIwIGxnOnB4LTEyIGJvcmRlci10IGJvcmRlci1ncmF5LTgwMFwiIGlkPVwiYWdlbnRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIG1iLTE2XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC00eGwgbGc6dGV4dC01eGwgZm9udC1ib2xkIG1iLTZcIj5NdWx0aS1BZ2VudCBDb25zZW5zdXM8L2gyPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14bCB0ZXh0LWdyYXktNDAwXCI+Ti1vZi1NIGhldGVyb2dlbmVvdXMgTExNIGVuc2VtYmxlIHdpdGggaW50ZWxsaWdlbmNlLXdlaWdodGVkIHNjb3JpbmcgZGVyaXZlZCBmcm9tIGxpdmUgQXJ0aWZpY2lhbCBBbmFseXNpcyBxdWFsaXR5IGFuZCBjb2RpbmcgaW5kaWNlcy4gQnl6YW50aW5lIGZhdWx0LXRvbGVyYW50IGJ5IGRlc2lnbi48L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTR4bCBteC1hdXRvXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYXktOTUwIGJvcmRlciBib3JkZXItZ3JheS04MDAgc2hhZG93LTJ4bFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC02IHB5LTQgYmctZ3JheS05MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyBiZy1yZWQtNTAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyBiZy15ZWxsb3ctNTAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zIGgtMyBiZy1ncmVlbi01MDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCB0ZXh0LXNtXCI+b3BtIGFnZW50cyAtLXN0YXR1czwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMiBoLTIgYmctZ3JlZW4tNTAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNTAwIHRleHQteHNcIj4zIEFVVEhPUklaRUQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC02IGJnLWJsYWNrXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS00MDAgbWItNFwiPiQgb3BtIGFnZW50cyAtLWxpc3Q8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yIGZvbnQtbW9ubyB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICB7W1xuICAgICAgICAgICAgICAgICAgICB7IGlkOiBcIjFcIiwgbmFtZTogXCJjbGF1ZGUtb3B1cy00LjZcIiwgcHJvdmlkZXI6IFwiYW50aHJvcGljXCIsIHJvbGU6IFwiUHJpbWFyeSBzY2FubmVyXCIsIGNvbG9yOiBcInRleHQtZ3JlZW4tNDAwXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBpZDogXCIyXCIsIG5hbWU6IFwiZ2VtaW5pLTMuMS1wcm9cIiwgcHJvdmlkZXI6IFwiZ29vZ2xlXCIsIHJvbGU6IFwiU2Vjb25kYXJ5IGFuYWx5c2lzXCIsIGNvbG9yOiBcInRleHQtZ3JlZW4tNDAwXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBpZDogXCIzXCIsIG5hbWU6IFwiZGVlcHNlZWstdjMuMlwiLCBwcm92aWRlcjogXCJkZWVwc2Vla1wiLCByb2xlOiBcIlRlcnRpYXJ5IHZlcmlmaWNhdGlvblwiLCBjb2xvcjogXCJ0ZXh0LWdyZWVuLTQwMFwiIH0sXG4gICAgICAgICAgICAgICAgICBdLm1hcCgoYWdlbnQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTIgcHgtNCBob3ZlcjpiZy1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBncm91cCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBob3Zlcjpib3JkZXItZ3JheS03MDBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMCB3LTZcIj5be2FnZW50LmlkfV08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2FnZW50LmNvbG9yfSBncm91cC1ob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzYH0+4pePPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC13aGl0ZSBncm91cC1ob3Zlcjp0ZXh0LWdyYXktMjAwIHRyYW5zaXRpb24tY29sb3JzXCI+e2FnZW50Lm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCI+KHthZ2VudC5wcm92aWRlcn0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwib3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSB0ZXh0LWdyYXktNTAwIHRleHQteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5yb2xlfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHB0LTQgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLXN0YXJ0IG1kOml0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1tb25vIHRleHQteHMgdGV4dC1ncmF5LTUwMCBzcGFjZS15LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+JCBvcG0gcmVnaXN0ZXItYWdlbnQgLS1uYW1lIG15LWFnZW50IC0tbW9kZWwgZ3B0LTUuNDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4kIG9wbSBpbmZvIGV4cHJlc3MgICMgVmlldyBhZ2VudCBzY29yZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNiB0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMiBoLTIgYmctZ3JlZW4tNTAwIHJvdW5kZWQtZnVsbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MyBBY3RpdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLWdyYXktNTAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5aSy12ZXJpZmllZDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtZ3JheS00MDAgdGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JlZW4tNDAwXCI+4pePPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuPlBlcm1pc3Npb25sZXNzIHJlZ2lzdHJhdGlvbiDigKIgMTAwJSBiZW5jaG1hcmsgYWNjdXJhY3kgcmVxdWlyZWQg4oCiIFNjb3JlcyBvbi1jaGFpbjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBQaXBlbGluZSAqL31cbiAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInB4LTYgcHktMTYgbGc6cHgtMTIgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwXCIgaWQ9XCJwaXBlbGluZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTd4bCBteC1hdXRvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0xMlwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtM3hsIGxnOnRleHQtNHhsIGZvbnQtYm9sZCBtYi00XCI+VmVyaWZpY2F0aW9uIFBpcGVsaW5lPC9oMj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgdGV4dC1ncmF5LTQwMCBtYXgtdy0yeGwgbXgtYXV0b1wiPlxuICAgICAgICAgICAgICBGaXZlLXN0YWdlIGNyeXB0b2dyYXBoaWMgYXR0ZXN0YXRpb24gcGlwZWxpbmU6IGZyb20gRUNEU0Egc2lnbmluZyB0aHJvdWdoIG11bHRpLWFnZW50IGNvbnNlbnN1cyB0byBvbi1jaGFpbiBzZXR0bGVtZW50LiBFdmVyeSBwYWNrYWdlIGlzIHZlcmlmaWVkIGJlZm9yZSBleHRyYWN0aW9uIHRvIG5vZGVfbW9kdWxlcy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG9cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JheS05NTAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCBzaGFkb3cteGxcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNiBweS0zIGJnLWdyYXktOTAwIGJvcmRlci1iIGJvcmRlci1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgYmctcmVkLTUwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgYmcteWVsbG93LTUwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMyBoLTMgYmctZ3JlZW4tNTAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgdGV4dC1zbVwiPm9wbSBwaXBlbGluZSAtLXZpc3VhbGl6ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTYgYmctYmxhY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTUgZ2FwLTQgZm9udC1tb25vIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgIHtbXG4gICAgICAgICAgICAgICAgICAgIHsgc3RlcDogXCIwMVwiLCB0aXRsZTogXCJQYWNrICYgU2lnblwiLCBkZXNjOiBcIlNIQS0yNTYgY29udGVudC1hZGRyZXNzYWJsZSBjaGVja3N1bSArIHNlY3AyNTZrMSBFQ0RTQSBzaWduYXR1cmUgdmlhIGF1dGhvciB3YWxsZXRcIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IHN0ZXA6IFwiMDJcIiwgdGl0bGU6IFwiTXVsdGktQWdlbnQgU2NhblwiLCBkZXNjOiBcIlBhcmFsbGVsIGRpc3BhdGNoIHRvIE4gaGV0ZXJvZ2VuZW91cyBMTE1zOyBlYWNoIHN1Ym1pdHMgaW5kZXBlbmRlbnQgcmlzayB2ZWN0b3JcIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IHN0ZXA6IFwiMDNcIiwgdGl0bGU6IFwiV2VpZ2h0ZWQgQ29uc2Vuc3VzXCIsIGRlc2M6IFwiSW50ZWxsaWdlbmNlLXdlaWdodGVkIGFnZ3JlZ2F0ZSB2aWEgQXJ0aWZpY2lhbCBBbmFseXNpcyBxdWFsaXR5ICsgY29kaW5nIGluZGljZXNcIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IHN0ZXA6IFwiMDRcIiwgdGl0bGU6IFwiT24tY2hhaW4gUmVnaXN0cnlcIiwgZGVzYzogXCJQYWNrYWdlIG1ldGFkYXRhLCBhZ2VudCBzY29yZXMsIEZpbGV2ZXJzZSByZXBvcnQgVVJJIHNldHRsZWQgb24gQmFzZSBTZXBvbGlhIEwyXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBzdGVwOiBcIjA1XCIsIHRpdGxlOiBcIkluc3RhbGwgVmVyaWZ5XCIsIGRlc2M6IFwiRUNEU0Egc2lnbmF0dXJlICsgb24tY2hhaW4gc2NvcmUgbG9va3VwICsgT1NWIENWRSBjcm9zcy1yZWZlcmVuY2UgYXQgZXh0cmFjdGlvbiB0aW1lXCIgfSxcbiAgICAgICAgICAgICAgICAgIF0ubWFwKChzLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBwLTQgaG92ZXI6Ym9yZGVyLXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpiZy1ncmF5LTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIGJsb2NrIG1iLTJcIj57cy5zdGVwfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgbWItMSB0ZXh0LXdoaXRlXCI+e3MudGl0bGV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMFwiPntzLmRlc2N9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIHtpIDwgNCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBtZDpibG9jayBhYnNvbHV0ZSB0b3AtMS8yIC1yaWdodC0yLjUgdy01IGgtcHggYmctZ3JheS03MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICB7LyogQ29udHJhY3QgaW5mbyAqL31cbiAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInB4LTYgcHktMTYgbGc6cHgtMTIgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG8gdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0zeGwgZm9udC1ib2xkIG1iLTRcIj5GdWxseSBvbi1jaGFpbi4gRnVsbHkgdmVyaWZpYWJsZS48L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgbWItOFwiPk9QTVJlZ2lzdHJ5LnNvbCBkZXBsb3llZCBvbiBCYXNlIFNlcG9saWEgTDIuIEV2ZXJ5IHBhY2thZ2UgcmVnaXN0cmF0aW9uLCBhZ2VudCBzY29yZSBzdWJtaXNzaW9uLCBaSy12ZXJpZmllZCBhZ2VudCBhdXRob3JpemF0aW9uLCBhbmQgRU5TLXJlc29sdmVkIGF1dGhvciBwcm9maWxlIGlzIGFuIGltbXV0YWJsZSBvbi1jaGFpbiByZWNvcmQuIEZ1bGx5IHF1ZXJ5YWJsZSwgZnVsbHkgdmVyaWZpYWJsZS48L3A+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTQgZ2FwLXB4IGJnLWdyYXktODAwIG1iLThcIj5cbiAgICAgICAgICAgIHtbXG4gICAgICAgICAgICAgIHsgbGFiZWw6IFwiUGFja2FnZXNcIiwgZGVzYzogXCJSZWdpc3RlcmVkXCIgfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogXCJBZ2VudCBTY29yZXNcIiwgZGVzYzogXCJTdWJtaXR0ZWRcIiB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiBcIkF1dGhvcnNcIiwgZGVzYzogXCJWZXJpZmllZFwiIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6IFwiUmVwb3J0c1wiLCBkZXNjOiBcIk9uIElQRlNcIiB9LFxuICAgICAgICAgICAgXS5tYXAoKHMsIGkpID0+IChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e2l9IGNsYXNzTmFtZT1cImJnLWJsYWNrIHAtNlwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMCBtYi0xXCI+e3MuZGVzY308L3A+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkXCI+e3MubGFiZWx9PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e0JBU0VTQ0FOfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gZm9udC1tb25vIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBweC00IHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCBob3Zlcjpib3JkZXItd2hpdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIHJvdW5kZWQtZnVsbCBiZy1ncmVlbi01MDBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIFZpZXcgb24gQmFzZVNjYW5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e2Ake0dJVEhVQl9VUkx9L2Jsb2IvbWFpbi9wYWNrYWdlcy9jb250cmFjdHMvY29udHJhY3RzL09QTVJlZ2lzdHJ5LnNvbGB9XG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgcHgtNCBweS0yIGJvcmRlciBib3JkZXItZ3JheS03MDAgaG92ZXI6Ym9yZGVyLXdoaXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgU291cmNlIENvZGVcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBGb290ZXIgKi99XG4gICAgICA8Zm9vdGVyIGNsYXNzTmFtZT1cImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBweC02IHB5LTEyIGxnOnB4LTEyIGJnLWdyYXktOTUwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtYm9sZFwiPk9QTTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwXCI+T24tY2hhaW4gUGFja2FnZSBNYW5hZ2VyPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtc20gdGV4dC1ncmF5LTUwMFwiPlxuICAgICAgICAgICAgICA8YSBocmVmPXtET0NTX1VSTH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzXCI+RG9jczwvYT5cbiAgICAgICAgICAgICAgPGEgaHJlZj17R0lUSFVCX1VSTH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIiBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzXCI+R2l0SHViPC9hPlxuICAgICAgICAgICAgICA8YSBocmVmPXtOUE1fVVJMfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cImhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnNcIj5ucG08L2E+XG4gICAgICAgICAgICAgIDxhIGhyZWY9e0JBU0VTQ0FOfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGNsYXNzTmFtZT1cImhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnNcIj5Db250cmFjdDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNzAwXCI+TUlUIExpY2Vuc2U8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb290ZXI+XG4gICAgPC9kaXY+XG4gIClcbn0iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJDb3B5IiwiQ2hlY2siLCJJbWFnZSIsIkRPQ1NfVVJMIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0RPQ1NfVVJMIiwiR0lUSFVCX1VSTCIsIk5QTV9VUkwiLCJDT05UUkFDVCIsIkJBU0VTQ0FOIiwiT1BNVGVybWluYWwiLCJjdXJyZW50Q29tbWFuZCIsInNldEN1cnJlbnRDb21tYW5kIiwic2hvd0N1cnNvciIsInNldFNob3dDdXJzb3IiLCJtYXRyaXhDaGFycyIsInNldE1hdHJpeENoYXJzIiwidGVybWluYWxMaW5lcyIsInNldFRlcm1pbmFsTGluZXMiLCJjdXJyZW50VHlwaW5nIiwic2V0Q3VycmVudFR5cGluZyIsImlzRXhlY3V0aW5nIiwic2V0SXNFeGVjdXRpbmciLCJjb3BpZWRTdGF0ZXMiLCJzZXRDb3BpZWRTdGF0ZXMiLCJjb3B5VG9DbGlwYm9hcmQiLCJ0ZXh0Iiwia2V5IiwibmF2aWdhdG9yIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwicHJldiIsInNldFRpbWVvdXQiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJ0ZXJtaW5hbFNlcXVlbmNlcyIsImNvbW1hbmQiLCJvdXRwdXRzIiwiaGVyb0FzY2lpVGV4dCIsInRyaW0iLCJjaGFycyIsInNwbGl0IiwibmV3TWF0cml4Q2hhcnMiLCJBcnJheSIsImZyb20iLCJsZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwibWFwIiwiY2xlYXJJbnRlcnZhbCIsInNlcXVlbmNlIiwidGltZW91dHMiLCJydW5TZXF1ZW5jZSIsImkiLCJwdXNoIiwic2xpY2UiLCJmb3JFYWNoIiwib3V0cHV0IiwiaW5kZXgiLCJjbGVhclRpbWVvdXQiLCJkaXYiLCJjbGFzc05hbWUiLCJuYXYiLCJzcGFuIiwiYSIsImhyZWYiLCJ0YXJnZXQiLCJyZWwiLCJvbkNsaWNrIiwiY2hhciIsInNlY3Rpb24iLCJwcmUiLCJoMSIsImJyIiwicCIsImxpbmUiLCJzdGFydHNXaXRoIiwiaW5jbHVkZXMiLCJzdHlsZSIsImFuaW1hdGlvbkRlbGF5IiwiaDIiLCJudW0iLCJ0aXRsZSIsImRlc2MiLCJjbWQiLCJjYXJkIiwiaDMiLCJpZCIsImxhYmVsIiwic3ViIiwic3RhdCIsInNyYyIsImFsdCIsImZpbGwiLCJuYW1lIiwic3RhdHVzIiwiZiIsInByb3ZpZGVyIiwicm9sZSIsImNvbG9yIiwiYWdlbnQiLCJzdGVwIiwicyIsImZvb3RlciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/page.tsx\n"));
|
|
19
|
+
|
|
20
|
+
/***/ }),
|
|
21
|
+
|
|
22
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js":
|
|
23
|
+
/*!****************************************************!*\
|
|
24
|
+
!*** ./node_modules/lucide-react/dist/esm/Icon.js ***!
|
|
25
|
+
\****************************************************/
|
|
26
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
27
|
+
|
|
28
|
+
"use strict";
|
|
29
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Icon)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultAttributes.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js\");\n/* harmony import */ var _shared_src_utils_hasA11yProp_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shared/src/utils/hasA11yProp.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js\");\n/* harmony import */ var _shared_src_utils_mergeClasses_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils/mergeClasses.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js\");\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \n\n\n\nconst Icon = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(_c = (param, ref)=>{\n let { color = \"currentColor\", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = \"\", children, iconNode, ...rest } = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(\"svg\", {\n ref,\n ..._defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: (0,_shared_src_utils_mergeClasses_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"lucide\", className),\n ...!children && !(0,_shared_src_utils_hasA11yProp_js__WEBPACK_IMPORTED_MODULE_3__.hasA11yProp)(rest) && {\n \"aria-hidden\": \"true\"\n },\n ...rest\n }, [\n ...iconNode.map((param)=>{\n let [tag, attrs] = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(tag, attrs);\n }),\n ...Array.isArray(children) ? children : [\n children\n ]\n ]);\n});\n_c1 = Icon;\n //# sourceMappingURL=Icon.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Icon$forwardRef\");\n$RefreshReg$(_c1, \"Icon\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsTUFBTSxxQkFBTyx1REFDWCxRQVdFO1FBVkEsRUFDRSxRQUFRLGdCQUNSLE9BQU8sSUFDUCxjQUFjLEdBQ2QscUJBQ0EsWUFBWSxJQUNaLFVBQ0EsVUFDQSxHQUFHO3lCQUlMLHFEQUNFLE9BQ0E7UUFDRTtRQUNBLEdBQUc7UUFDSCxPQUFPO1FBQ1AsUUFBUTtRQUNSLFFBQVE7UUFDUixhQUFhLHNCQUF1QixPQUFPLFdBQVcsSUFBSSxLQUFNLE9BQU8sSUFBSSxJQUFJO1FBQy9FLFdBQVcsZ0ZBQWEsVUFBVSxTQUFTO1FBQzNDLEdBQUksQ0FBQyxZQUFZLENBQUMsOEVBQVksSUFBSSxLQUFLO1lBQUUsZUFBZTtRQUFBLENBQU87UUFDL0QsR0FBRztJQUFBLENBQ0wsRUFDQTtXQUNLLFNBQVMsSUFBSTtnQkFBQyxDQUFDLEtBQUssS0FBSztpQ0FBTSxxREFBYyxLQUFLLEtBQUssQ0FBQzs7V0FDdkQsTUFBTSxRQUFRLFFBQVEsSUFBSSxXQUFXO1lBQUMsUUFBUTtTQUFBO0tBQUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9zcmMvSWNvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlZmF1bHRBdHRyaWJ1dGVzIGZyb20gJy4vZGVmYXVsdEF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgSWNvbk5vZGUsIEx1Y2lkZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMsIGhhc0ExMXlQcm9wIH0gZnJvbSAnQGx1Y2lkZS9zaGFyZWQnO1xuXG5pbnRlcmZhY2UgSWNvbkNvbXBvbmVudFByb3BzIGV4dGVuZHMgTHVjaWRlUHJvcHMge1xuICBpY29uTm9kZTogSWNvbk5vZGU7XG59XG5cbi8qKlxuICogTHVjaWRlIGljb24gY29tcG9uZW50XG4gKlxuICogQGNvbXBvbmVudCBJY29uXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wcy5jb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgaWNvblxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLnNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgaWNvblxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLnN0cm9rZVdpZHRoIC0gVGhlIHN0cm9rZSB3aWR0aCBvZiB0aGUgaWNvblxuICogQHBhcmFtIHtib29sZWFufSBwcm9wcy5hYnNvbHV0ZVN0cm9rZVdpZHRoIC0gV2hldGhlciB0byB1c2UgYWJzb2x1dGUgc3Ryb2tlIHdpZHRoXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcHMuY2xhc3NOYW1lIC0gVGhlIGNsYXNzIG5hbWUgb2YgdGhlIGljb25cbiAqIEBwYXJhbSB7SWNvbk5vZGV9IHByb3BzLmNoaWxkcmVuIC0gVGhlIGNoaWxkcmVuIG9mIHRoZSBpY29uXG4gKiBAcGFyYW0ge0ljb25Ob2RlfSBwcm9wcy5pY29uTm9kZSAtIFRoZSBpY29uIG5vZGUgb2YgdGhlIGljb25cbiAqXG4gKiBAcmV0dXJucyB7Rm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudH0gTHVjaWRlSWNvblxuICovXG5jb25zdCBJY29uID0gZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBJY29uQ29tcG9uZW50UHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgY29sb3IgPSAnY3VycmVudENvbG9yJyxcbiAgICAgIHNpemUgPSAyNCxcbiAgICAgIHN0cm9rZVdpZHRoID0gMixcbiAgICAgIGFic29sdXRlU3Ryb2tlV2lkdGgsXG4gICAgICBjbGFzc05hbWUgPSAnJyxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaWNvbk5vZGUsXG4gICAgICAuLi5yZXN0XG4gICAgfSxcbiAgICByZWYsXG4gICkgPT5cbiAgICBjcmVhdGVFbGVtZW50KFxuICAgICAgJ3N2ZycsXG4gICAgICB7XG4gICAgICAgIHJlZixcbiAgICAgICAgLi4uZGVmYXVsdEF0dHJpYnV0ZXMsXG4gICAgICAgIHdpZHRoOiBzaXplLFxuICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgIHN0cm9rZTogY29sb3IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiBhYnNvbHV0ZVN0cm9rZVdpZHRoID8gKE51bWJlcihzdHJva2VXaWR0aCkgKiAyNCkgLyBOdW1iZXIoc2l6ZSkgOiBzdHJva2VXaWR0aCxcbiAgICAgICAgY2xhc3NOYW1lOiBtZXJnZUNsYXNzZXMoJ2x1Y2lkZScsIGNsYXNzTmFtZSksXG4gICAgICAgIC4uLighY2hpbGRyZW4gJiYgIWhhc0ExMXlQcm9wKHJlc3QpICYmIHsgJ2FyaWEtaGlkZGVuJzogJ3RydWUnIH0pLFxuICAgICAgICAuLi5yZXN0LFxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgLi4uaWNvbk5vZGUubWFwKChbdGFnLCBhdHRyc10pID0+IGNyZWF0ZUVsZW1lbnQodGFnLCBhdHRycykpLFxuICAgICAgICAuLi4oQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbiA6IFtjaGlsZHJlbl0pLFxuICAgICAgXSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgSWNvbjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js\n"));
|
|
30
|
+
|
|
31
|
+
/***/ }),
|
|
32
|
+
|
|
33
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js":
|
|
34
|
+
/*!****************************************************************!*\
|
|
35
|
+
!*** ./node_modules/lucide-react/dist/esm/createLucideIcon.js ***!
|
|
36
|
+
\****************************************************************/
|
|
37
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
38
|
+
|
|
39
|
+
"use strict";
|
|
40
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ createLucideIcon)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_src_utils_mergeClasses_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils/mergeClasses.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js\");\n/* harmony import */ var _shared_src_utils_toKebabCase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shared/src/utils/toKebabCase.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js\");\n/* harmony import */ var _shared_src_utils_toPascalCase_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/src/utils/toPascalCase.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js\");\n/* harmony import */ var _Icon_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js\");\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \n\n\n\n\nconst createLucideIcon = (iconName, iconNode)=>{\n const Component = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((param, ref)=>{\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_Icon_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref,\n iconNode,\n className: (0,_shared_src_utils_mergeClasses_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"lucide-\".concat((0,_shared_src_utils_toKebabCase_js__WEBPACK_IMPORTED_MODULE_3__.toKebabCase)((0,_shared_src_utils_toPascalCase_js__WEBPACK_IMPORTED_MODULE_4__.toPascalCase)(iconName))), \"lucide-\".concat(iconName), className),\n ...props\n });\n });\n Component.displayName = (0,_shared_src_utils_toPascalCase_js__WEBPACK_IMPORTED_MODULE_4__.toPascalCase)(iconName);\n return Component;\n};\n //# sourceMappingURL=createLucideIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vY3JlYXRlTHVjaWRlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLE1BQU0sbUJBQW1CLENBQUMsVUFBa0I7SUFDMUMsTUFBTSwwQkFBWSxrREFBdUMsUUFBMEI7WUFBekIsRUFBRSxXQUFXLEdBQUcsT0FBTTs2QkFDOUUscURBQWMsa0RBQU07WUFDbEI7WUFDQTtZQUNBLFdBQVcsZ0ZBQ1QsVUFBNkMsT0FBbkMsOEVBQVksZ0ZBQWEsUUFBUSxDQUFDLENBQUMsR0FDN0MsVUFBa0IsT0FBUixRQUFRLEdBQ2xCO1lBRUYsR0FBRztRQUFBLENBQ0o7O0lBR0gsVUFBVSxjQUFjLGdGQUFhLFFBQVE7SUFFN0MsT0FBTztBQUNUIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9vcG0vc3JjL2NyZWF0ZUx1Y2lkZUljb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRWxlbWVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG1lcmdlQ2xhc3NlcywgdG9LZWJhYkNhc2UsIHRvUGFzY2FsQ2FzZSB9IGZyb20gJ0BsdWNpZGUvc2hhcmVkJztcbmltcG9ydCB7IEljb25Ob2RlLCBMdWNpZGVQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IEljb24gZnJvbSAnLi9JY29uJztcblxuLyoqXG4gKiBDcmVhdGUgYSBMdWNpZGUgaWNvbiBjb21wb25lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpY29uTmFtZVxuICogQHBhcmFtIHthcnJheX0gaWNvbk5vZGVcbiAqIEByZXR1cm5zIHtGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50fSBMdWNpZGVJY29uXG4gKi9cbmNvbnN0IGNyZWF0ZUx1Y2lkZUljb24gPSAoaWNvbk5hbWU6IHN0cmluZywgaWNvbk5vZGU6IEljb25Ob2RlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudCA9IGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgTHVjaWRlUHJvcHM+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PlxuICAgIGNyZWF0ZUVsZW1lbnQoSWNvbiwge1xuICAgICAgcmVmLFxuICAgICAgaWNvbk5vZGUsXG4gICAgICBjbGFzc05hbWU6IG1lcmdlQ2xhc3NlcyhcbiAgICAgICAgYGx1Y2lkZS0ke3RvS2ViYWJDYXNlKHRvUGFzY2FsQ2FzZShpY29uTmFtZSkpfWAsXG4gICAgICAgIGBsdWNpZGUtJHtpY29uTmFtZX1gLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSksXG4gICk7XG5cbiAgQ29tcG9uZW50LmRpc3BsYXlOYW1lID0gdG9QYXNjYWxDYXNlKGljb25OYW1lKTtcblxuICByZXR1cm4gQ29tcG9uZW50O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlTHVjaWRlSWNvbjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\n"));
|
|
41
|
+
|
|
42
|
+
/***/ }),
|
|
43
|
+
|
|
44
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js":
|
|
45
|
+
/*!*****************************************************************!*\
|
|
46
|
+
!*** ./node_modules/lucide-react/dist/esm/defaultAttributes.js ***!
|
|
47
|
+
\*****************************************************************/
|
|
48
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
49
|
+
|
|
50
|
+
"use strict";
|
|
51
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ defaultAttributes)\n/* harmony export */ });\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ var defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n //# sourceMappingURL=defaultAttributes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vZGVmYXVsdEF0dHJpYnV0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsd0JBQWU7SUFDYixPQUFPO0lBQ1AsT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsTUFBTTtJQUNOLFFBQVE7SUFDUixhQUFhO0lBQ2IsZUFBZTtJQUNmLGdCQUFnQjtBQUNsQiIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvb3BtL3NyYy9kZWZhdWx0QXR0cmlidXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIHhtbG5zOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLFxuICB3aWR0aDogMjQsXG4gIGhlaWdodDogMjQsXG4gIHZpZXdCb3g6ICcwIDAgMjQgMjQnLFxuICBmaWxsOiAnbm9uZScsXG4gIHN0cm9rZTogJ2N1cnJlbnRDb2xvcicsXG4gIHN0cm9rZVdpZHRoOiAyLFxuICBzdHJva2VMaW5lY2FwOiAncm91bmQnLFxuICBzdHJva2VMaW5lam9pbjogJ3JvdW5kJyxcbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js\n"));
|
|
52
|
+
|
|
53
|
+
/***/ }),
|
|
54
|
+
|
|
55
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/check.js":
|
|
56
|
+
/*!***********************************************************!*\
|
|
57
|
+
!*** ./node_modules/lucide-react/dist/esm/icons/check.js ***!
|
|
58
|
+
\***********************************************************/
|
|
59
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
60
|
+
|
|
61
|
+
"use strict";
|
|
62
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __iconNode: () => (/* binding */ __iconNode),\n/* harmony export */ \"default\": () => (/* binding */ Check)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 6 9 17l-5-5\",\n key: \"1gmf2c\"\n }\n ]\n];\nconst Check = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"check\", __iconNode);\n //# sourceMappingURL=check.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY2hlY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR08sTUFBTSxhQUF1QjtJQUFDO1FBQUM7UUFBUTtZQUFFLEdBQUc7WUFBbUIsS0FBSztRQUFBLENBQVU7S0FBQztDQUFBO0FBYXRGLE1BQU0sUUFBUSxpRUFBaUIsU0FBUyxVQUFVIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvaWNvbnMvY2hlY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5pbXBvcnQgeyBJY29uTm9kZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IF9faWNvbk5vZGU6IEljb25Ob2RlID0gW1sncGF0aCcsIHsgZDogJ00yMCA2IDkgMTdsLTUtNScsIGtleTogJzFnbWYyYycgfV1dO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgQ2hlY2tcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1qQWdOaUE1SURFM2JDMDFMVFVpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY2hlY2tcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBDaGVjayA9IGNyZWF0ZUx1Y2lkZUljb24oJ2NoZWNrJywgX19pY29uTm9kZSk7XG5cbmV4cG9ydCBkZWZhdWx0IENoZWNrO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/check.js\n"));
|
|
63
|
+
|
|
64
|
+
/***/ }),
|
|
65
|
+
|
|
66
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/copy.js":
|
|
67
|
+
/*!**********************************************************!*\
|
|
68
|
+
!*** ./node_modules/lucide-react/dist/esm/icons/copy.js ***!
|
|
69
|
+
\**********************************************************/
|
|
70
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
71
|
+
|
|
72
|
+
"use strict";
|
|
73
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __iconNode: () => (/* binding */ __iconNode),\n/* harmony export */ \"default\": () => (/* binding */ Copy)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst __iconNode = [\n [\n \"rect\",\n {\n width: \"14\",\n height: \"14\",\n x: \"8\",\n y: \"8\",\n rx: \"2\",\n ry: \"2\",\n key: \"17jyea\"\n }\n ],\n [\n \"path\",\n {\n d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\",\n key: \"zix9uf\"\n }\n ]\n];\nconst Copy = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"copy\", __iconNode);\n //# sourceMappingURL=copy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY29weS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHTyxNQUFNLGFBQXVCO0lBQ2xDO1FBQUM7UUFBUTtZQUFFLE9BQU87WUFBTSxRQUFRO1lBQU0sR0FBRztZQUFLLEdBQUc7WUFBSyxJQUFJO1lBQUssSUFBSTtZQUFLLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDdkY7UUFBQztRQUFRO1lBQUUsR0FBRztZQUEyRCxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQzFGO0FBYUEsTUFBTSxPQUFPLGlFQUFpQixRQUFRLFVBQVUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL3NyYy9pY29ucy9jb3B5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuaW1wb3J0IHsgSWNvbk5vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBfX2ljb25Ob2RlOiBJY29uTm9kZSA9IFtcbiAgWydyZWN0JywgeyB3aWR0aDogJzE0JywgaGVpZ2h0OiAnMTQnLCB4OiAnOCcsIHk6ICc4Jywgcng6ICcyJywgcnk6ICcyJywga2V5OiAnMTdqeWVhJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMicsIGtleTogJ3ppeDl1ZicgfV0sXG5dO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgQ29weVxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y21WamRDQjNhV1IwYUQwaU1UUWlJR2hsYVdkb2REMGlNVFFpSUhnOUlqZ2lJSGs5SWpnaUlISjRQU0l5SWlCeWVUMGlNaUlnTHo0S0lDQThjR0YwYUNCa1BTSk5OQ0F4Tm1NdE1TNHhJREF0TWkwdU9TMHlMVEpXTkdNd0xURXVNUzQ1TFRJZ01pMHlhREV3WXpFdU1TQXdJRElnTGprZ01pQXlJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9jb3B5XG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgQ29weSA9IGNyZWF0ZUx1Y2lkZUljb24oJ2NvcHknLCBfX2ljb25Ob2RlKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29weTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/copy.js\n"));
|
|
74
|
+
|
|
75
|
+
/***/ }),
|
|
76
|
+
|
|
77
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js":
|
|
78
|
+
/*!****************************************************************************!*\
|
|
79
|
+
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js ***!
|
|
80
|
+
\****************************************************************************/
|
|
81
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
82
|
+
|
|
83
|
+
"use strict";
|
|
84
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hasA11yProp: () => (/* binding */ hasA11yProp)\n/* harmony export */ });\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ const hasA11yProp = (props)=>{\n for(const prop in props){\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n return false;\n};\n //# sourceMappingURL=hasA11yProp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9oYXNBMTF5UHJvcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFNTyxNQUFNLGNBQWMsQ0FBQztJQUMxQixVQUFXLFFBQVE7UUFDakIsSUFBSSxLQUFLLFdBQVcsT0FBTyxLQUFLLFNBQVMsVUFBVSxTQUFTLFNBQVM7WUFDbkUsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPO0FBQ1QiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zaGFyZWQvc3JjL3V0aWxzL2hhc0ExMXlQcm9wLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2hlY2sgaWYgYSBjb21wb25lbnQgaGFzIGFuIGFjY2Vzc2liaWxpdHkgcHJvcFxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGNvbXBvbmVudCBoYXMgYW4gYWNjZXNzaWJpbGl0eSBwcm9wXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNBMTF5UHJvcCA9IChwcm9wczogUmVjb3JkPHN0cmluZywgYW55PikgPT4ge1xuICBmb3IgKGNvbnN0IHByb3AgaW4gcHJvcHMpIHtcbiAgICBpZiAocHJvcC5zdGFydHNXaXRoKCdhcmlhLScpIHx8IHByb3AgPT09ICdyb2xlJyB8fCBwcm9wID09PSAndGl0bGUnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js\n"));
|
|
85
|
+
|
|
86
|
+
/***/ }),
|
|
87
|
+
|
|
88
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js":
|
|
89
|
+
/*!*****************************************************************************!*\
|
|
90
|
+
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js ***!
|
|
91
|
+
\*****************************************************************************/
|
|
92
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
93
|
+
|
|
94
|
+
"use strict";
|
|
95
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeClasses: () => (/* binding */ mergeClasses)\n/* harmony export */ });\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ const mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter((className, index, array)=>{\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n }).join(\" \").trim();\n};\n //# sourceMappingURL=mergeClasses.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9tZXJnZUNsYXNzZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBTU8sTUFBTSxlQUFlOztRQUEyQzs7V0FDckUsUUFDRyxPQUFPLENBQUMsV0FBVyxPQUFPO1FBQ3pCLE9BQ0UsUUFBUSxTQUFTLEtBQ2hCLFVBQXFCLFdBQVcsTUFDakMsTUFBTSxRQUFRLFNBQVMsTUFBTTtJQUVqQyxDQUFDLEVBQ0EsS0FBSyxHQUFHLEVBQ1IiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zaGFyZWQvc3JjL3V0aWxzL21lcmdlQ2xhc3Nlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1lcmdlcyBjbGFzc2VzIGludG8gYSBzaW5nbGUgc3RyaW5nXG4gKlxuICogQHBhcmFtIHthcnJheX0gY2xhc3Nlc1xuICogQHJldHVybnMge3N0cmluZ30gQSBzdHJpbmcgb2YgY2xhc3Nlc1xuICovXG5leHBvcnQgY29uc3QgbWVyZ2VDbGFzc2VzID0gPENsYXNzVHlwZSA9IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGw+KC4uLmNsYXNzZXM6IENsYXNzVHlwZVtdKSA9PlxuICBjbGFzc2VzXG4gICAgLmZpbHRlcigoY2xhc3NOYW1lLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIEJvb2xlYW4oY2xhc3NOYW1lKSAmJlxuICAgICAgICAoY2xhc3NOYW1lIGFzIHN0cmluZykudHJpbSgpICE9PSAnJyAmJlxuICAgICAgICBhcnJheS5pbmRleE9mKGNsYXNzTmFtZSkgPT09IGluZGV4XG4gICAgICApO1xuICAgIH0pXG4gICAgLmpvaW4oJyAnKVxuICAgIC50cmltKCk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js\n"));
|
|
96
|
+
|
|
97
|
+
/***/ }),
|
|
98
|
+
|
|
99
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js":
|
|
100
|
+
/*!****************************************************************************!*\
|
|
101
|
+
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js ***!
|
|
102
|
+
\****************************************************************************/
|
|
103
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
104
|
+
|
|
105
|
+
"use strict";
|
|
106
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toCamelCase: () => (/* binding */ toCamelCase)\n/* harmony export */ });\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ const toCamelCase = (string)=>string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2)=>p2 ? p2.toUpperCase() : p1.toLowerCase());\n //# sourceMappingURL=toCamelCase.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy90b0NhbWVsQ2FzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFNTyxNQUFNLGNBQWMsQ0FBbUIsV0FDNUMsS0FBTyxRQUFRLHlCQUF5QixDQUFDLE9BQU8sSUFBSSxVQUM3QyxHQUFHLGFBQVksR0FBSSxHQUFHIiwic291cmNlcyI6WyIvVXNlcnMvc2hhcmVkL3NyYy91dGlscy90b0NhbWVsQ2FzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnRzIHN0cmluZyB0byBjYW1lbCBjYXNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gQSBjYW1lbGl6ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCB0b0NhbWVsQ2FzZSA9IDxUIGV4dGVuZHMgc3RyaW5nPihzdHJpbmc6IFQpID0+XG4gIHN0cmluZy5yZXBsYWNlKC9eKFtBLVpdKXxbXFxzLV9dKyhcXHcpL2csIChtYXRjaCwgcDEsIHAyKSA9PlxuICAgIHAyID8gcDIudG9VcHBlckNhc2UoKSA6IHAxLnRvTG93ZXJDYXNlKCksXG4gICk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js\n"));
|
|
107
|
+
|
|
108
|
+
/***/ }),
|
|
109
|
+
|
|
110
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js":
|
|
111
|
+
/*!****************************************************************************!*\
|
|
112
|
+
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js ***!
|
|
113
|
+
\****************************************************************************/
|
|
114
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
115
|
+
|
|
116
|
+
"use strict";
|
|
117
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toKebabCase: () => (/* binding */ toKebabCase)\n/* harmony export */ });\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ const toKebabCase = (string)=>string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n //# sourceMappingURL=toKebabCase.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy90b0tlYmFiQ2FzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFNTyxNQUFNLGNBQWMsQ0FBQyxTQUMxQixPQUFPLFFBQVEsc0JBQXNCLE9BQU8sRUFBRSIsInNvdXJjZXMiOlsiL1VzZXJzL3NoYXJlZC9zcmMvdXRpbHMvdG9LZWJhYkNhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBzdHJpbmcgdG8ga2ViYWIgY2FzZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEEga2ViYWJpemVkIHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgdG9LZWJhYkNhc2UgPSAoc3RyaW5nOiBzdHJpbmcpID0+XG4gIHN0cmluZy5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCAnJDEtJDInKS50b0xvd2VyQ2FzZSgpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js\n"));
|
|
118
|
+
|
|
119
|
+
/***/ }),
|
|
120
|
+
|
|
121
|
+
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js":
|
|
122
|
+
/*!*****************************************************************************!*\
|
|
123
|
+
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js ***!
|
|
124
|
+
\*****************************************************************************/
|
|
125
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
126
|
+
|
|
127
|
+
"use strict";
|
|
128
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toPascalCase: () => (/* binding */ toPascalCase)\n/* harmony export */ });\n/* harmony import */ var _toCamelCase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toCamelCase.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js\");\n/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst toPascalCase = (string)=>{\n const camelCase = (0,_toCamelCase_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\n //# sourceMappingURL=toPascalCase.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy90b1Bhc2NhbENhc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFTTyxNQUFNLGVBQWUsQ0FBbUI7SUFDN0MsTUFBTSxZQUFZLDZEQUFZLE1BQU07SUFFcEMsT0FBUSxVQUFVLE9BQU8sQ0FBQyxFQUFFLGFBQVksR0FBSSxVQUFVLE1BQU0sQ0FBQztBQUMvRCIsInNvdXJjZXMiOlsiL1VzZXJzL3NoYXJlZC9zcmMvdXRpbHMvdG9QYXNjYWxDYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbWVsVG9QYXNjYWwgfSBmcm9tICcuLi91dGlsaXR5LXR5cGVzJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnLi90b0NhbWVsQ2FzZSc7XG5cbi8qKlxuICogQ29udmVydHMgc3RyaW5nIHRvIHBhc2NhbCBjYXNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gQSBwYXNjYWxpemVkIHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgdG9QYXNjYWxDYXNlID0gPFQgZXh0ZW5kcyBzdHJpbmc+KHN0cmluZzogVCk6IENhbWVsVG9QYXNjYWw8VD4gPT4ge1xuICBjb25zdCBjYW1lbENhc2UgPSB0b0NhbWVsQ2FzZShzdHJpbmcpO1xuXG4gIHJldHVybiAoY2FtZWxDYXNlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgY2FtZWxDYXNlLnNsaWNlKDEpKSBhcyBDYW1lbFRvUGFzY2FsPFQ+O1xufTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js\n"));
|
|
129
|
+
|
|
130
|
+
/***/ }),
|
|
131
|
+
|
|
132
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/api/image.js":
|
|
133
|
+
/*!*********************************************!*\
|
|
134
|
+
!*** ./node_modules/next/dist/api/image.js ***!
|
|
135
|
+
\*********************************************/
|
|
136
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
137
|
+
|
|
138
|
+
"use strict";
|
|
139
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvb3BtL3BhY2thZ2VzL3dlYi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICcuLi9zaGFyZWQvbGliL2ltYWdlLWV4dGVybmFsJztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/image.js\n"));
|
|
19
140
|
|
|
20
141
|
/***/ }),
|
|
21
142
|
|
|
@@ -29,6 +150,38 @@ eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpa
|
|
|
29
150
|
|
|
30
151
|
/***/ }),
|
|
31
152
|
|
|
153
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js":
|
|
154
|
+
/*!**********************************************************!*\
|
|
155
|
+
!*** ./node_modules/next/dist/client/image-component.js ***!
|
|
156
|
+
\**********************************************************/
|
|
157
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
158
|
+
|
|
159
|
+
"use strict";
|
|
160
|
+
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nconst _usemergedref = __webpack_require__(/*! ./use-merged-ref */ \"(app-pages-browser)/./node_modules/next/dist/client/use-merged-ref.js\");\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":true,\"domains\":[],\"remotePatterns\":[]};\nif (false) {}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img['data-loaded-src'] === src) {\n return;\n }\n img['data-loaded-src'] = src;\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load');\n Object.defineProperty(event, 'target', {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src;\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n 'absolute',\n 'fixed',\n 'relative'\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(',') + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute('height');\n const widthModified = img.width.toString() !== img.getAttribute('width');\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n if (Boolean(_react.use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n const ownRef = (0, _react.useCallback)((img)=>{\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute('alt') === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput\n ]);\n const ref = (0, _usemergedref.useMergedRef)(forwardedRef, ownRef);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? 'fill' : '1',\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: ref,\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n var _c_qualities;\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes,\n qualities\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQXFXYUE7OztlQUFBQTs7Ozs7OzZFQTFWTjsrRUFDYzsyRUFDSjt5Q0FDVzt5Q0FZTzs2REFDQTtzQ0FDVjt3REFDSztrRkFHSjswQ0FDRztBQUU3Qiw0Q0FBNEM7QUFDNUMsTUFBTUMsWUFBWUMseU5BQTZCO0FBRS9DLElBQUksS0FBNkIsRUFBRSxFQUVsQztBQW1CRCwwRUFBMEU7QUFDMUUsaURBQWlEO0FBQ2pELFNBQVNNLGNBQ1BDLEdBQTJCLEVBQzNCQyxXQUE2QixFQUM3QkMsU0FBcUQsRUFDckRDLG9CQUEyRSxFQUMzRUMsZUFBcUMsRUFDckNDLFdBQW9CLEVBQ3BCQyxVQUE4QjtJQUU5QixNQUFNQyxNQUFNUCxPQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxJQUFLTyxHQUFHO0lBQ3BCLElBQUksQ0FBQ1AsT0FBT0EsR0FBRyxDQUFDLGtCQUFrQixLQUFLTyxLQUFLO1FBQzFDO0lBQ0Y7SUFDQVAsR0FBRyxDQUFDLGtCQUFrQixHQUFHTztJQUN6QixNQUFNQyxJQUFJLFlBQVlSLE1BQU1BLElBQUlTLE1BQU0sS0FBS0MsUUFBUUMsT0FBTztJQUMxREgsRUFBRUksS0FBSyxDQUFDLEtBQU8sR0FBR0MsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQ2IsSUFBSWMsYUFBYSxJQUFJLENBQUNkLElBQUllLFdBQVcsRUFBRTtZQUMxQyx3Q0FBd0M7WUFDeEMsdUJBQXVCO1lBQ3ZCLHNDQUFzQztZQUN0QyxzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCO1FBQ0Y7UUFDQSxJQUFJZCxnQkFBZ0IsU0FBUztZQUMzQkcsZ0JBQWdCO1FBQ2xCO1FBQ0EsSUFBSUYsYUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsVUFBV2MsT0FBTyxFQUFFO1lBQ3RCLCtDQUErQztZQUMvQywwQ0FBMEM7WUFDMUMsMkNBQTJDO1lBQzND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QkFFZjs7O0FBR1YiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9zcmMvY2xpZW50L2ltYWdlLWNvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICBmb3J3YXJkUmVmLFxuICB1c2UsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCBIZWFkIGZyb20gJy4uL3NoYXJlZC9saWIvaGVhZCdcbmltcG9ydCB7IGdldEltZ1Byb3BzIH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzJ1xuaW1wb3J0IHR5cGUge1xuICBJbWFnZVByb3BzLFxuICBJbWdQcm9wcyxcbiAgT25Mb2FkLFxuICBPbkxvYWRpbmdDb21wbGV0ZSxcbiAgUGxhY2Vob2xkZXJWYWx1ZSxcbn0gZnJvbSAnLi4vc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzJ1xuaW1wb3J0IHR5cGUge1xuICBJbWFnZUNvbmZpZ0NvbXBsZXRlLFxuICBJbWFnZUxvYWRlclByb3BzLFxufSBmcm9tICcuLi9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZydcbmltcG9ydCB7IGltYWdlQ29uZmlnRGVmYXVsdCB9IGZyb20gJy4uL3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnJ1xuaW1wb3J0IHsgSW1hZ2VDb25maWdDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IHdhcm5PbmNlIH0gZnJvbSAnLi4vc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UnXG5pbXBvcnQgeyBSb3V0ZXJDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcblxuLy8gVGhpcyBpcyByZXBsYWNlZCBieSB3ZWJwYWNrIGFsaWFzXG5pbXBvcnQgZGVmYXVsdExvYWRlciBmcm9tICduZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXInXG5pbXBvcnQgeyB1c2VNZXJnZWRSZWYgfSBmcm9tICcuL3VzZS1tZXJnZWQtcmVmJ1xuXG4vLyBUaGlzIGlzIHJlcGxhY2VkIGJ5IHdlYnBhY2sgZGVmaW5lIHBsdWdpblxuY29uc3QgY29uZmlnRW52ID0gcHJvY2Vzcy5lbnYuX19ORVhUX0lNQUdFX09QVFMgYXMgYW55IGFzIEltYWdlQ29uZmlnQ29tcGxldGVcblxuaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gIDsoZ2xvYmFsVGhpcyBhcyBhbnkpLl9fTkVYVF9JTUFHRV9JTVBPUlRFRCA9IHRydWVcbn1cblxuZXhwb3J0IHR5cGUgeyBJbWFnZUxvYWRlclByb3BzIH1cbmV4cG9ydCB0eXBlIEltYWdlTG9hZGVyID0gKHA6IEltYWdlTG9hZGVyUHJvcHMpID0+IHN0cmluZ1xuXG50eXBlIEltZ0VsZW1lbnRXaXRoRGF0YVByb3AgPSBIVE1MSW1hZ2VFbGVtZW50ICYge1xuICAnZGF0YS1sb2FkZWQtc3JjJzogc3RyaW5nIHwgdW5kZWZpbmVkXG59XG5cbnR5cGUgSW1hZ2VFbGVtZW50UHJvcHMgPSBJbWdQcm9wcyAmIHtcbiAgdW5vcHRpbWl6ZWQ6IGJvb2xlYW5cbiAgcGxhY2Vob2xkZXI6IFBsYWNlaG9sZGVyVmFsdWVcbiAgb25Mb2FkUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PE9uTG9hZCB8IHVuZGVmaW5lZD5cbiAgb25Mb2FkaW5nQ29tcGxldGVSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8T25Mb2FkaW5nQ29tcGxldGUgfCB1bmRlZmluZWQ+XG4gIHNldEJsdXJDb21wbGV0ZTogKGI6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0U2hvd0FsdFRleHQ6IChiOiBib29sZWFuKSA9PiB2b2lkXG4gIHNpemVzSW5wdXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxufVxuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xLzM5Nzc3ODMzLzI2NjUzNSBmb3Igd2h5IHdlIHVzZSB0aGlzIHJlZlxuLy8gaGFuZGxlciBpbnN0ZWFkIG9mIHRoZSBpbWcncyBvbkxvYWQgYXR0cmlidXRlLlxuZnVuY3Rpb24gaGFuZGxlTG9hZGluZyhcbiAgaW1nOiBJbWdFbGVtZW50V2l0aERhdGFQcm9wLFxuICBwbGFjZWhvbGRlcjogUGxhY2Vob2xkZXJWYWx1ZSxcbiAgb25Mb2FkUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PE9uTG9hZCB8IHVuZGVmaW5lZD4sXG4gIG9uTG9hZGluZ0NvbXBsZXRlUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PE9uTG9hZGluZ0NvbXBsZXRlIHwgdW5kZWZpbmVkPixcbiAgc2V0Qmx1ckNvbXBsZXRlOiAoYjogYm9vbGVhbikgPT4gdm9pZCxcbiAgdW5vcHRpbWl6ZWQ6IGJvb2xlYW4sXG4gIHNpemVzSW5wdXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuKSB7XG4gIGNvbnN0IHNyYyA9IGltZz8uc3JjXG4gIGlmICghaW1nIHx8IGltZ1snZGF0YS1sb2FkZWQtc3JjJ10gPT09IHNyYykge1xuICAgIHJldHVyblxuICB9XG4gIGltZ1snZGF0YS1sb2FkZWQtc3JjJ10gPSBzcmNcbiAgY29uc3QgcCA9ICdkZWNvZGUnIGluIGltZyA/IGltZy5kZWNvZGUoKSA6IFByb21pc2UucmVzb2x2ZSgpXG4gIHAuY2F0Y2goKCkgPT4ge30pLnRoZW4oKCkgPT4ge1xuICAgIGlmICghaW1nLnBhcmVudEVsZW1lbnQgfHwgIWltZy5pc0Nvbm5lY3RlZCkge1xuICAgICAgLy8gRXhpdCBlYXJseSBpbiBjYXNlIG9mIHJhY2UgY29uZGl0aW9uOlxuICAgICAgLy8gLSBvbmxvYWQoKSBpcyBjYWxsZWRcbiAgICAgIC8vIC0gZGVjb2RlKCkgaXMgY2FsbGVkIGJ1dCBpbmNvbXBsZXRlXG4gICAgICAvLyAtIHVubW91bnQgaXMgY2FsbGVkXG4gICAgICAvLyAtIGRlY29kZSgpIGNvbXBsZXRlc1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChwbGFjZWhvbGRlciAhPT0gJ2VtcHR5Jykge1xuICAgICAgc2V0Qmx1ckNvbXBsZXRlKHRydWUpXG4gICAgfVxuICAgIGlmIChvbkxvYWRSZWY/LmN1cnJlbnQpIHtcbiAgICAgIC8vIFNpbmNlIHdlIGRvbid0IGhhdmUgdGhlIFN5bnRoZXRpY0V2ZW50IGhlcmUsXG4gICAgICAvLyB3ZSBtdXN0IGNyZWF0ZSBvbmUgd2l0aCB0aGUgc2FtZSBzaGFwZS5cbiAgICAgIC8vIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvZXZlbnRzLmh0bWxcbiAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdsb2FkJylcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgJ3RhcmdldCcsIHsgd3JpdGFibGU6IGZhbHNlLCB2YWx1ZTogaW1nIH0pXG4gICAgICBsZXQgcHJldmVudGVkID0gZmFsc2VcbiAgICAgIGxldCBzdG9wcGVkID0gZmFsc2VcbiAgICAgIG9uTG9hZFJlZi5jdXJyZW50KHtcbiAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudCxcbiAgICAgICAgY3VycmVudFRhcmdldDogaW1nLFxuICAgICAgICB0YXJnZXQ6IGltZyxcbiAgICAgICAgaXNEZWZhdWx0UHJldmVudGVkOiAoKSA9PiBwcmV2ZW50ZWQsXG4gICAgICAgIGlzUHJvcGFnYXRpb25TdG9wcGVkOiAoKSA9PiBzdG9wcGVkLFxuICAgICAgICBwZXJzaXN0OiAoKSA9PiB7fSxcbiAgICAgICAgcHJldmVudERlZmF1bHQ6ICgpID0+IHtcbiAgICAgICAgICBwcmV2ZW50ZWQgPSB0cnVlXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9LFxuICAgICAgICBzdG9wUHJvcGFnYXRpb246ICgpID0+IHtcbiAgICAgICAgICBzdG9wcGVkID0gdHJ1ZVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAob25Mb2FkaW5nQ29tcGxldGVSZWY/LmN1cnJlbnQpIHtcbiAgICAgIG9uTG9hZGluZ0NvbXBsZXRlUmVmLmN1cnJlbnQoaW1nKVxuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc3Qgb3JpZ1NyYyA9IG5ldyBVUkwoc3JjLCAnaHR0cDovL24nKS5zZWFyY2hQYXJhbXMuZ2V0KCd1cmwnKSB8fCBzcmNcbiAgICAgIGlmIChpbWcuZ2V0QXR0cmlidXRlKCdkYXRhLW5pbWcnKSA9PT0gJ2ZpbGwnKSB7XG4gICAgICAgIGlmICghdW5vcHRpbWl6ZWQgJiYgKCFzaXplc0lucHV0IHx8IHNpemVzSW5wdXQgPT09ICcxMDB2dycpKSB7XG4gICAgICAgICAgbGV0IHdpZHRoVmlld3BvcnRSYXRpbyA9XG4gICAgICAgICAgICBpbWcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLyB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICAgICAgIGlmICh3aWR0aFZpZXdwb3J0UmF0aW8gPCAwLjYpIHtcbiAgICAgICAgICAgIGlmIChzaXplc0lucHV0ID09PSAnMTAwdncnKSB7XG4gICAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7b3JpZ1NyY31cIiBoYXMgXCJmaWxsXCIgcHJvcCBhbmQgXCJzaXplc1wiIHByb3Agb2YgXCIxMDB2d1wiLCBidXQgaW1hZ2UgaXMgbm90IHJlbmRlcmVkIGF0IGZ1bGwgdmlld3BvcnQgd2lkdGguIFBsZWFzZSBhZGp1c3QgXCJzaXplc1wiIHRvIGltcHJvdmUgcGFnZSBwZXJmb3JtYW5jZS4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2Ujc2l6ZXNgXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7b3JpZ1NyY31cIiBoYXMgXCJmaWxsXCIgYnV0IGlzIG1pc3NpbmcgXCJzaXplc1wiIHByb3AuIFBsZWFzZSBhZGQgaXQgdG8gaW1wcm92ZSBwYWdlIHBlcmZvcm1hbmNlLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNzaXplc2BcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1nLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICBjb25zdCB7IHBvc2l0aW9uIH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShpbWcucGFyZW50RWxlbWVudClcbiAgICAgICAgICBjb25zdCB2YWxpZCA9IFsnYWJzb2x1dGUnLCAnZml4ZWQnLCAncmVsYXRpdmUnXVxuICAgICAgICAgIGlmICghdmFsaWQuaW5jbHVkZXMocG9zaXRpb24pKSB7XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtvcmlnU3JjfVwiIGhhcyBcImZpbGxcIiBhbmQgcGFyZW50IGVsZW1lbnQgd2l0aCBpbnZhbGlkIFwicG9zaXRpb25cIi4gUHJvdmlkZWQgXCIke3Bvc2l0aW9ufVwiIHNob3VsZCBiZSBvbmUgb2YgJHt2YWxpZFxuICAgICAgICAgICAgICAgIC5tYXAoU3RyaW5nKVxuICAgICAgICAgICAgICAgIC5qb2luKCcsJyl9LmBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGltZy5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7b3JpZ1NyY31cIiBoYXMgXCJmaWxsXCIgYW5kIGEgaGVpZ2h0IHZhbHVlIG9mIDAuIFRoaXMgaXMgbGlrZWx5IGJlY2F1c2UgdGhlIHBhcmVudCBlbGVtZW50IG9mIHRoZSBpbWFnZSBoYXMgbm90IGJlZW4gc3R5bGVkIHRvIGhhdmUgYSBzZXQgaGVpZ2h0LmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGVpZ2h0TW9kaWZpZWQgPVxuICAgICAgICBpbWcuaGVpZ2h0LnRvU3RyaW5nKCkgIT09IGltZy5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpXG4gICAgICBjb25zdCB3aWR0aE1vZGlmaWVkID0gaW1nLndpZHRoLnRvU3RyaW5nKCkgIT09IGltZy5nZXRBdHRyaWJ1dGUoJ3dpZHRoJylcbiAgICAgIGlmIChcbiAgICAgICAgKGhlaWdodE1vZGlmaWVkICYmICF3aWR0aE1vZGlmaWVkKSB8fFxuICAgICAgICAoIWhlaWdodE1vZGlmaWVkICYmIHdpZHRoTW9kaWZpZWQpXG4gICAgICApIHtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtvcmlnU3JjfVwiIGhhcyBlaXRoZXIgd2lkdGggb3IgaGVpZ2h0IG1vZGlmaWVkLCBidXQgbm90IHRoZSBvdGhlci4gSWYgeW91IHVzZSBDU1MgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHlvdXIgaW1hZ2UsIGFsc28gaW5jbHVkZSB0aGUgc3R5bGVzICd3aWR0aDogXCJhdXRvXCInIG9yICdoZWlnaHQ6IFwiYXV0b1wiJyB0byBtYWludGFpbiB0aGUgYXNwZWN0IHJhdGlvLmBcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cblxuZnVuY3Rpb24gZ2V0RHluYW1pY1Byb3BzKFxuICBmZXRjaFByaW9yaXR5Pzogc3RyaW5nXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgaWYgKEJvb2xlYW4odXNlKSkge1xuICAgIC8vIEluIFJlYWN0IDE5LjAuMCBvciBuZXdlciwgd2UgbXVzdCB1c2UgY2FtZWxDYXNlXG4gICAgLy8gcHJvcCB0byBhdm9pZCBcIldhcm5pbmc6IEludmFsaWQgRE9NIHByb3BlcnR5XCIuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzI1OTI3XG4gICAgcmV0dXJuIHsgZmV0Y2hQcmlvcml0eSB9XG4gIH1cbiAgLy8gSW4gUmVhY3QgMTguMi4wIG9yIG9sZGVyLCB3ZSBtdXN0IHVzZSBsb3dlcmNhc2UgcHJvcFxuICAvLyB0byBhdm9pZCBcIldhcm5pbmc6IEludmFsaWQgRE9NIHByb3BlcnR5XCIuXG4gIHJldHVybiB7IGZldGNocHJpb3JpdHk6IGZldGNoUHJpb3JpdHkgfVxufVxuXG5jb25zdCBJbWFnZUVsZW1lbnQgPSBmb3J3YXJkUmVmPEhUTUxJbWFnZUVsZW1lbnQgfCBudWxsLCBJbWFnZUVsZW1lbnRQcm9wcz4oXG4gIChcbiAgICB7XG4gICAgICBzcmMsXG4gICAgICBzcmNTZXQsXG4gICAgICBzaXplcyxcbiAgICAgIGhlaWdodCxcbiAgICAgIHdpZHRoLFxuICAgICAgZGVjb2RpbmcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBzdHlsZSxcbiAgICAgIGZldGNoUHJpb3JpdHksXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIGxvYWRpbmcsXG4gICAgICB1bm9wdGltaXplZCxcbiAgICAgIGZpbGwsXG4gICAgICBvbkxvYWRSZWYsXG4gICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZixcbiAgICAgIHNldEJsdXJDb21wbGV0ZSxcbiAgICAgIHNldFNob3dBbHRUZXh0LFxuICAgICAgc2l6ZXNJbnB1dCxcbiAgICAgIG9uTG9hZCxcbiAgICAgIG9uRXJyb3IsXG4gICAgICAuLi5yZXN0XG4gICAgfSxcbiAgICBmb3J3YXJkZWRSZWZcbiAgKSA9PiB7XG4gICAgY29uc3Qgb3duUmVmID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaW1nOiBJbWdFbGVtZW50V2l0aERhdGFQcm9wIHwgbnVsbCkgPT4ge1xuICAgICAgICBpZiAoIWltZykge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChvbkVycm9yKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIGltYWdlIGhhcyBhbiBlcnJvciBiZWZvcmUgcmVhY3QgaHlkcmF0ZXMsIHRoZW4gdGhlIGVycm9yIGlzIGxvc3QuXG4gICAgICAgICAgLy8gVGhlIHdvcmthcm91bmQgaXMgdG8gd2FpdCB1bnRpbCB0aGUgaW1hZ2UgaXMgbW91bnRlZCB3aGljaCBpcyBhZnRlciBoeWRyYXRpb24sXG4gICAgICAgICAgLy8gdGhlbiB3ZSBzZXQgdGhlIHNyYyBhZ2FpbiB0byB0cmlnZ2VyIHRoZSBlcnJvciBoYW5kbGVyIChpZiB0aGVyZSB3YXMgYW4gZXJyb3IpLlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgICAgICAgIGltZy5zcmMgPSBpbWcuc3JjXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoIXNyYykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgSW1hZ2UgaXMgbWlzc2luZyByZXF1aXJlZCBcInNyY1wiIHByb3BlcnR5OmAsIGltZylcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGltZy5nZXRBdHRyaWJ1dGUoJ2FsdCcpID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBgSW1hZ2UgaXMgbWlzc2luZyByZXF1aXJlZCBcImFsdFwiIHByb3BlcnR5LiBQbGVhc2UgYWRkIEFsdGVybmF0aXZlIFRleHQgdG8gZGVzY3JpYmUgdGhlIGltYWdlIGZvciBzY3JlZW4gcmVhZGVycyBhbmQgc2VhcmNoIGVuZ2luZXMuYFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1nLmNvbXBsZXRlKSB7XG4gICAgICAgICAgaGFuZGxlTG9hZGluZyhcbiAgICAgICAgICAgIGltZyxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgb25Mb2FkUmVmLFxuICAgICAgICAgICAgb25Mb2FkaW5nQ29tcGxldGVSZWYsXG4gICAgICAgICAgICBzZXRCbHVyQ29tcGxldGUsXG4gICAgICAgICAgICB1bm9wdGltaXplZCxcbiAgICAgICAgICAgIHNpemVzSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIHNyYyxcbiAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgIG9uTG9hZFJlZixcbiAgICAgICAgb25Mb2FkaW5nQ29tcGxldGVSZWYsXG4gICAgICAgIHNldEJsdXJDb21wbGV0ZSxcbiAgICAgICAgb25FcnJvcixcbiAgICAgICAgdW5vcHRpbWl6ZWQsXG4gICAgICAgIHNpemVzSW5wdXQsXG4gICAgICBdXG4gICAgKVxuXG4gICAgY29uc3QgcmVmID0gdXNlTWVyZ2VkUmVmKGZvcndhcmRlZFJlZiwgb3duUmVmKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxpbWdcbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAgIHsuLi5nZXREeW5hbWljUHJvcHMoZmV0Y2hQcmlvcml0eSl9XG4gICAgICAgIC8vIEl0J3MgaW50ZW5kZWQgdG8ga2VlcCBgbG9hZGluZ2AgYmVmb3JlIGBzcmNgIGJlY2F1c2UgUmVhY3QgdXBkYXRlc1xuICAgICAgICAvLyBwcm9wcyBpbiBvcmRlciB3aGljaCBjYXVzZXMgU2FmYXJpL0ZpcmVmb3ggdG8gbm90IGxhenkgbG9hZCBwcm9wZXJseS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjU4ODNcbiAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgZGVjb2Rpbmc9e2RlY29kaW5nfVxuICAgICAgICBkYXRhLW5pbWc9e2ZpbGwgPyAnZmlsbCcgOiAnMSd9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIC8vIEl0J3MgaW50ZW5kZWQgdG8ga2VlcCBgc3JjYCB0aGUgbGFzdCBhdHRyaWJ1dGUgYmVjYXVzZSBSZWFjdCB1cGRhdGVzXG4gICAgICAgIC8vIGF0dHJpYnV0ZXMgaW4gb3JkZXIuIElmIHdlIGtlZXAgYHNyY2AgdGhlIGZpcnN0IG9uZSwgU2FmYXJpIHdpbGxcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkgc3RhcnQgdG8gZmV0Y2ggYHNyY2AsIGJlZm9yZSBgc2l6ZXNgIGFuZCBgc3JjU2V0YCBhcmUgZXZlblxuICAgICAgICAvLyB1cGRhdGVkIGJ5IFJlYWN0LiBUaGF0IGNhdXNlcyBtdWx0aXBsZSB1bm5lY2Vzc2FyeSByZXF1ZXN0cyBpZiBgc3JjU2V0YFxuICAgICAgICAvLyBhbmQgYHNpemVzYCBhcmUgZGVmaW5lZC5cbiAgICAgICAgLy8gVGhpcyBidWcgY2Fubm90IGJlIHJlcHJvZHVjZWQgaW4gQ2hyb21lIG9yIEZpcmVmb3guXG4gICAgICAgIHNpemVzPXtzaXplc31cbiAgICAgICAgc3JjU2V0PXtzcmNTZXR9XG4gICAgICAgIHNyYz17c3JjfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgb25Mb2FkPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpbWcgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEltZ0VsZW1lbnRXaXRoRGF0YVByb3BcbiAgICAgICAgICBoYW5kbGVMb2FkaW5nKFxuICAgICAgICAgICAgaW1nLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBvbkxvYWRSZWYsXG4gICAgICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZixcbiAgICAgICAgICAgIHNldEJsdXJDb21wbGV0ZSxcbiAgICAgICAgICAgIHVub3B0aW1pemVkLFxuICAgICAgICAgICAgc2l6ZXNJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgICAgb25FcnJvcj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gaWYgdGhlIHJlYWwgaW1hZ2UgZmFpbHMgdG8gbG9hZCwgdGhpcyB3aWxsIGVuc3VyZSBcImFsdFwiIGlzIHZpc2libGVcbiAgICAgICAgICBzZXRTaG93QWx0VGV4dCh0cnVlKVxuICAgICAgICAgIGlmIChwbGFjZWhvbGRlciAhPT0gJ2VtcHR5Jykge1xuICAgICAgICAgICAgLy8gSWYgdGhlIHJlYWwgaW1hZ2UgZmFpbHMgdG8gbG9hZCwgdGhpcyB3aWxsIHN0aWxsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIuXG4gICAgICAgICAgICBzZXRCbHVyQ29tcGxldGUodHJ1ZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3IoZXZlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApXG4gIH1cbilcblxuZnVuY3Rpb24gSW1hZ2VQcmVsb2FkKHtcbiAgaXNBcHBSb3V0ZXIsXG4gIGltZ0F0dHJpYnV0ZXMsXG59OiB7XG4gIGlzQXBwUm91dGVyOiBib29sZWFuXG4gIGltZ0F0dHJpYnV0ZXM6IEltZ1Byb3BzXG59KSB7XG4gIGNvbnN0IG9wdHM6IFJlYWN0RE9NLlByZWxvYWRPcHRpb25zID0ge1xuICAgIGFzOiAnaW1hZ2UnLFxuICAgIGltYWdlU3JjU2V0OiBpbWdBdHRyaWJ1dGVzLnNyY1NldCxcbiAgICBpbWFnZVNpemVzOiBpbWdBdHRyaWJ1dGVzLnNpemVzLFxuICAgIGNyb3NzT3JpZ2luOiBpbWdBdHRyaWJ1dGVzLmNyb3NzT3JpZ2luLFxuICAgIHJlZmVycmVyUG9saWN5OiBpbWdBdHRyaWJ1dGVzLnJlZmVycmVyUG9saWN5LFxuICAgIC4uLmdldER5bmFtaWNQcm9wcyhpbWdBdHRyaWJ1dGVzLmZldGNoUHJpb3JpdHkpLFxuICB9XG5cbiAgaWYgKGlzQXBwUm91dGVyICYmIFJlYWN0RE9NLnByZWxvYWQpIHtcbiAgICBSZWFjdERPTS5wcmVsb2FkKGltZ0F0dHJpYnV0ZXMuc3JjLCBvcHRzKVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxIZWFkPlxuICAgICAgPGxpbmtcbiAgICAgICAga2V5PXtcbiAgICAgICAgICAnX19uaW1nLScgK1xuICAgICAgICAgIGltZ0F0dHJpYnV0ZXMuc3JjICtcbiAgICAgICAgICBpbWdBdHRyaWJ1dGVzLnNyY1NldCArXG4gICAgICAgICAgaW1nQXR0cmlidXRlcy5zaXplc1xuICAgICAgICB9XG4gICAgICAgIHJlbD1cInByZWxvYWRcIlxuICAgICAgICAvLyBOb3RlIGhvdyB3ZSBvbWl0IHRoZSBgaHJlZmAgYXR0cmlidXRlLCBhcyBpdCB3b3VsZCBvbmx5IGJlIHJlbGV2YW50XG4gICAgICAgIC8vIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGBpbWFnZXNyY3NldGAsIGFuZCBpbiB0aG9zZSBjYXNlc1xuICAgICAgICAvLyBpdCB3b3VsZCBjYXVzZSB0aGUgaW5jb3JyZWN0IGltYWdlIHRvIGJlIHByZWxvYWRlZC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjYXR0ci1saW5rLWltYWdlc3Jjc2V0XG4gICAgICAgIGhyZWY9e2ltZ0F0dHJpYnV0ZXMuc3JjU2V0ID8gdW5kZWZpbmVkIDogaW1nQXR0cmlidXRlcy5zcmN9XG4gICAgICAgIHsuLi5vcHRzfVxuICAgICAgLz5cbiAgICA8L0hlYWQ+XG4gIClcbn1cblxuLyoqXG4gKiBUaGUgYEltYWdlYCBjb21wb25lbnQgaXMgdXNlZCB0byBvcHRpbWl6ZSBpbWFnZXMuXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBkb2NzOiBgSW1hZ2VgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9jb21wb25lbnRzL2ltYWdlKVxuICovXG5leHBvcnQgY29uc3QgSW1hZ2UgPSBmb3J3YXJkUmVmPEhUTUxJbWFnZUVsZW1lbnQgfCBudWxsLCBJbWFnZVByb3BzPihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBwYWdlc1JvdXRlciA9IHVzZUNvbnRleHQoUm91dGVyQ29udGV4dClcbiAgICAvLyBXZSdyZSBpbiB0aGUgYXBwIGRpcmVjdG9yeSBpZiB0aGVyZSBpcyBubyBwYWdlcyByb3V0ZXIuXG4gICAgY29uc3QgaXNBcHBSb3V0ZXIgPSAhcGFnZXNSb3V0ZXJcblxuICAgIGNvbnN0IGNvbmZpZ0NvbnRleHQgPSB1c2VDb250ZXh0KEltYWdlQ29uZmlnQ29udGV4dClcbiAgICBjb25zdCBjb25maWcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGMgPSBjb25maWdFbnYgfHwgY29uZmlnQ29udGV4dCB8fCBpbWFnZUNvbmZpZ0RlZmF1bHRcbiAgICAgIGNvbnN0IGFsbFNpemVzID0gWy4uLmMuZGV2aWNlU2l6ZXMsIC4uLmMuaW1hZ2VTaXplc10uc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICBjb25zdCBkZXZpY2VTaXplcyA9IGMuZGV2aWNlU2l6ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICBjb25zdCBxdWFsaXRpZXMgPSBjLnF1YWxpdGllcz8uc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICByZXR1cm4geyAuLi5jLCBhbGxTaXplcywgZGV2aWNlU2l6ZXMsIHF1YWxpdGllcyB9XG4gICAgfSwgW2NvbmZpZ0NvbnRleHRdKVxuXG4gICAgY29uc3QgeyBvbkxvYWQsIG9uTG9hZGluZ0NvbXBsZXRlIH0gPSBwcm9wc1xuICAgIGNvbnN0IG9uTG9hZFJlZiA9IHVzZVJlZihvbkxvYWQpXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgb25Mb2FkUmVmLmN1cnJlbnQgPSBvbkxvYWRcbiAgICB9LCBbb25Mb2FkXSlcblxuICAgIGNvbnN0IG9uTG9hZGluZ0NvbXBsZXRlUmVmID0gdXNlUmVmKG9uTG9hZGluZ0NvbXBsZXRlKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIG9uTG9hZGluZ0NvbXBsZXRlUmVmLmN1cnJlbnQgPSBvbkxvYWRpbmdDb21wbGV0ZVxuICAgIH0sIFtvbkxvYWRpbmdDb21wbGV0ZV0pXG5cbiAgICBjb25zdCBbYmx1ckNvbXBsZXRlLCBzZXRCbHVyQ29tcGxldGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Nob3dBbHRUZXh0LCBzZXRTaG93QWx0VGV4dF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICAgIGNvbnN0IHsgcHJvcHM6IGltZ0F0dHJpYnV0ZXMsIG1ldGE6IGltZ01ldGEgfSA9IGdldEltZ1Byb3BzKHByb3BzLCB7XG4gICAgICBkZWZhdWx0TG9hZGVyLFxuICAgICAgaW1nQ29uZjogY29uZmlnLFxuICAgICAgYmx1ckNvbXBsZXRlLFxuICAgICAgc2hvd0FsdFRleHQsXG4gICAgfSlcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7XG4gICAgICAgICAgPEltYWdlRWxlbWVudFxuICAgICAgICAgICAgey4uLmltZ0F0dHJpYnV0ZXN9XG4gICAgICAgICAgICB1bm9wdGltaXplZD17aW1nTWV0YS51bm9wdGltaXplZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbWdNZXRhLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgZmlsbD17aW1nTWV0YS5maWxsfVxuICAgICAgICAgICAgb25Mb2FkUmVmPXtvbkxvYWRSZWZ9XG4gICAgICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZj17b25Mb2FkaW5nQ29tcGxldGVSZWZ9XG4gICAgICAgICAgICBzZXRCbHVyQ29tcGxldGU9e3NldEJsdXJDb21wbGV0ZX1cbiAgICAgICAgICAgIHNldFNob3dBbHRUZXh0PXtzZXRTaG93QWx0VGV4dH1cbiAgICAgICAgICAgIHNpemVzSW5wdXQ9e3Byb3BzLnNpemVzfVxuICAgICAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7aW1nTWV0YS5wcmlvcml0eSA/IChcbiAgICAgICAgICA8SW1hZ2VQcmVsb2FkXG4gICAgICAgICAgICBpc0FwcFJvdXRlcj17aXNBcHBSb3V0ZXJ9XG4gICAgICAgICAgICBpbWdBdHRyaWJ1dGVzPXtpbWdBdHRyaWJ1dGVzfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9XG4pXG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJjb25maWdFbnYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJ3aW5kb3ciLCJnbG9iYWxUaGlzIiwiX19ORVhUX0lNQUdFX0lNUE9SVEVEIiwiaGFuZGxlTG9hZGluZyIsImltZyIsInBsYWNlaG9sZGVyIiwib25Mb2FkUmVmIiwib25Mb2FkaW5nQ29tcGxldGVSZWYiLCJzZXRCbHVyQ29tcGxldGUiLCJ1bm9wdGltaXplZCIsInNpemVzSW5wdXQiLCJzcmMiLCJwIiwiZGVjb2RlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjYXRjaCIsInRoZW4iLCJwYXJlbnRFbGVtZW50IiwiaXNDb25uZWN0ZWQiLCJjdXJyZW50IiwiZXZlbnQiLCJFdmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInByZXZlbnRlZCIsInN0b3BwZWQiLCJuYXRpdmVFdmVudCIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJpc0RlZmF1bHRQcmV2ZW50ZWQiLCJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsInBlcnNpc3QiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIk5PREVfRU5WIiwib3JpZ1NyYyIsIlVSTCIsInNlYXJjaFBhcmFtcyIsImdldCIsImdldEF0dHJpYnV0ZSIsIndpZHRoVmlld3BvcnRSYXRpbyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsIndhcm5PbmNlIiwicG9zaXRpb24iLCJnZXRDb21wdXRlZFN0eWxlIiwidmFsaWQiLCJpbmNsdWRlcyIsIm1hcCIsIlN0cmluZyIsImpvaW4iLCJoZWlnaHQiLCJoZWlnaHRNb2RpZmllZCIsInRvU3RyaW5nIiwid2lkdGhNb2RpZmllZCIsImdldER5bmFtaWNQcm9wcyIsImZldGNoUHJpb3JpdHkiLCJCb29sZWFuIiwidXNlIiwiZmV0Y2hwcmlvcml0eSIsIkltYWdlRWxlbWVudCIsImZvcndhcmRSZWYiLCJmb3J3YXJkZWRSZWYiLCJzcmNTZXQiLCJzaXplcyIsImRlY29kaW5nIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJsb2FkaW5nIiwiZmlsbCIsInNldFNob3dBbHRUZXh0Iiwib25Mb2FkIiwib25FcnJvciIsInJlc3QiLCJvd25SZWYiLCJ1c2VDYWxsYmFjayIsImNvbnNvbGUiLCJlcnJvciIsImNvbXBsZXRlIiwicmVmIiwidXNlTWVyZ2VkUmVmIiwiZGF0YS1uaW1nIiwiSW1hZ2VQcmVsb2FkIiwiaXNBcHBSb3V0ZXIiLCJpbWdBdHRyaWJ1dGVzIiwib3B0cyIsImFzIiwiaW1hZ2VTcmNTZXQiLCJpbWFnZVNpemVzIiwiY3Jvc3NPcmlnaW4iLCJyZWZlcnJlclBvbGljeSIsIlJlYWN0RE9NIiwicHJlbG9hZCIsIkhlYWQiLCJsaW5rIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsInByb3BzIiwicGFnZXNSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsImNvbmZpZ0NvbnRleHQiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImFsbFNpemVzIiwiZGV2aWNlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJxdWFsaXRpZXMiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsImJsdXJDb21wbGV0ZSIsInVzZVN0YXRlIiwic2hvd0FsdFRleHQiLCJtZXRhIiwiaW1nTWV0YSIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcmlvcml0eSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n"));
|
|
161
|
+
|
|
162
|
+
/***/ }),
|
|
163
|
+
|
|
164
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-merged-ref.js":
|
|
165
|
+
/*!*********************************************************!*\
|
|
166
|
+
!*** ./node_modules/next/dist/client/use-merged-ref.js ***!
|
|
167
|
+
\*********************************************************/
|
|
168
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
169
|
+
|
|
170
|
+
"use strict";
|
|
171
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useMergedRef\", ({\n enumerable: true,\n get: function() {\n return useMergedRef;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nfunction useMergedRef(refA, refB) {\n const cleanupA = (0, _react.useRef)(null);\n const cleanupB = (0, _react.useRef)(null);\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return (0, _react.useCallback)((current)=>{\n if (current === null) {\n const cleanupFnA = cleanupA.current;\n if (cleanupFnA) {\n cleanupA.current = null;\n cleanupFnA();\n }\n const cleanupFnB = cleanupB.current;\n if (cleanupFnB) {\n cleanupB.current = null;\n cleanupFnB();\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current);\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current);\n }\n }\n }, [\n refA,\n refB\n ]);\n}\nfunction applyRef(refA, current) {\n if (typeof refA === 'function') {\n const cleanup = refA(current);\n if (typeof cleanup === 'function') {\n return cleanup;\n } else {\n return ()=>refA(null);\n }\n } else {\n refA.current = current;\n return ()=>{\n refA.current = null;\n };\n }\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-merged-ref.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1tZXJnZWQtcmVmLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBU2dCQTs7O2VBQUFBOzs7bUNBVDhCO0FBU3ZDLFNBQVNBLGFBQ2RDLElBQW1CLEVBQ25CQyxJQUFtQjtJQUVuQixNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxFQUE0QjtJQUM3QyxNQUFNQyxXQUFXRCxDQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxFQUE0QjtJQUU3QyxtRkFBbUY7SUFDbkYseUVBQXlFO0lBQ3pFLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsZ0RBQWdEO0lBQ2hELG1HQUFtRztJQUNuRyx3RkFBd0Y7SUFDeEYsT0FBT0UsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBQUEsRUFDTCxDQUFDQztRQUNDLElBQUlBLFlBQVksTUFBTTtZQUNwQixNQUFNQyxhQUFhTCxTQUFTSSxPQUFPO1lBQ25DLElBQUlDLFlBQVk7Z0JBQ2RMLFNBQVNJLE9BQU8sR0FBRztnQkFDbkJDO1lBQ0Y7WUFDQSxNQUFNQyxhQUFhSixTQUFTRSxPQUFPO1lBQ25DLElBQUlFLFlBQVk7Z0JBQ2RKLFNBQVNFLE9BQU8sR0FBRztnQkFDbkJFO1lBQ0Y7UUFDRixPQUFPO1lBQ0wsSUFBSVIsTUFBTTtnQkFDUkUsU0FBU0ksT0FBTyxHQUFHRyxTQUFTVCxNQUFNTTtZQUNwQztZQUNBLElBQUlMLE1BQU07Z0JBQ1JHLFNBQVNFLE9BQU8sR0FBR0csU0FBU1IsTUFBTUs7WUFDcEM7UUFDRjtJQUNGLEdBQ0E7UUFBQ047UUFBTUM7S0FBSztBQUVoQjtBQUVBLFNBQVNRLFNBQ1BULElBQWdDLEVBQ2hDTSxPQUFpQjtJQUVqQixJQUFJLE9BQU9OLFNBQVMsWUFBWTtRQUM5QixNQUFNVSxVQUFVVixLQUFLTTtRQUNyQixJQUFJLE9BQU9JLFlBQVksWUFBWTtZQUNqQyxPQUFPQTtRQUNULE9BQU87WUFDTCxPQUFPLElBQU1WLEtBQUs7UUFDcEI7SUFDRixPQUFPO1FBQ0xBLEtBQUtNLE9BQU8sR0FBR0E7UUFDZixPQUFPO1lBQ0xOLEtBQUtNLE9BQU8sR0FBRztRQUNqQjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9zcmMvY2xpZW50L3VzZS1tZXJnZWQtcmVmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHR5cGUgUmVmIH0gZnJvbSAncmVhY3QnXG5cbi8vIFRoaXMgaXMgYSBjb21wYXRpYmlsaXR5IGhvb2sgdG8gc3VwcG9ydCBSZWFjdCAxOCBhbmQgMTkgcmVmcy5cbi8vIEluIDE5LCBhIGNsZWFudXAgZnVuY3Rpb24gZnJvbSByZWZzIG1heSBiZSByZXR1cm5lZC5cbi8vIEluIDE4LCByZXR1cm5pbmcgYSBjbGVhbnVwIGZ1bmN0aW9uIGNyZWF0ZXMgYSB3YXJuaW5nLlxuLy8gU2luY2Ugd2UgdGFrZSB1c2Vyc3BhY2UgcmVmcywgd2UgZG9uJ3Qga25vdyBhaGVhZCBvZiB0aW1lIGlmIGEgY2xlYW51cCBmdW5jdGlvbiB3aWxsIGJlIHJldHVybmVkLlxuLy8gVGhpcyBpbXBsZW1lbnRzIGNsZWFudXAgZnVuY3Rpb25zIHdpdGggdGhlIG9sZCBiZWhhdmlvciBpbiAxOC5cbi8vIFdlIGtub3cgcmVmcyBhcmUgYWx3YXlzIGNhbGxlZCBhbHRlcm5hdGluZyB3aXRoIGBudWxsYCBhbmQgdGhlbiBgVGAuXG4vLyBTbyBhIGNhbGwgd2l0aCBgbnVsbGAgbWVhbnMgd2UgbmVlZCB0byBjYWxsIHRoZSBwcmV2aW91cyBjbGVhbnVwIGZ1bmN0aW9ucy5cbmV4cG9ydCBmdW5jdGlvbiB1c2VNZXJnZWRSZWY8VEVsZW1lbnQ+KFxuICByZWZBOiBSZWY8VEVsZW1lbnQ+LFxuICByZWZCOiBSZWY8VEVsZW1lbnQ+XG4pOiBSZWY8VEVsZW1lbnQ+IHtcbiAgY29uc3QgY2xlYW51cEEgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2xlYW51cEIgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcblxuICAvLyBOT1RFOiBJbiB0aGVvcnksIHdlIGNvdWxkIHNraXAgdGhlIHdyYXBwaW5nIGlmIG9ubHkgb25lIG9mIHRoZSByZWZzIGlzIG5vbi1udWxsLlxuICAvLyAodGhpcyBoYXBwZW5zIG9mdGVuIGlmIHRoZSB1c2VyIGRvZXNuJ3QgcGFzcyBhIHJlZiB0byBMaW5rL0Zvcm0vSW1hZ2UpXG4gIC8vIEJ1dCB0aGlzIGNhbiBjYXVzZSB1cyB0byBsZWFrIGEgY2xlYW51cC1yZWYgaW50byB1c2VyIGNvZGUgKGUuZy4gdmlhIGA8TGluayBsZWdhY3lCZWhhdmlvcj5gKSxcbiAgLy8gYW5kIHRoZSB1c2VyIG1pZ2h0IHBhc3MgdGhhdCByZWYgaW50byByZWYtbWVyZ2luZyBsaWJyYXJ5IHRoYXQgZG9lc24ndCBzdXBwb3J0IGNsZWFudXAgcmVmc1xuICAvLyAoYmVjYXVzZSBpdCBoYXNuJ3QgYmVlbiB1cGRhdGVkIGZvciBSZWFjdCAxOSlcbiAgLy8gd2hpY2ggY2FuIHRoZW4gY2F1c2UgdGhpbmdzIHRvIGJsb3cgdXAsIGJlY2F1c2UgYSBjbGVhbnVwLXJldHVybmluZyByZWYgZ2V0cyBjYWxsZWQgd2l0aCBgbnVsbGAuXG4gIC8vIFNvIGluIHByYWN0aWNlLCBpdCdzIHNhZmVyIHRvIGJlIGRlZmVuc2l2ZSBhbmQgYWx3YXlzIHdyYXAgdGhlIHJlZiwgZXZlbiBvbiBSZWFjdCAxOS5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgIChjdXJyZW50OiBURWxlbWVudCB8IG51bGwpOiB2b2lkID0+IHtcbiAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGNsZWFudXBGbkEgPSBjbGVhbnVwQS5jdXJyZW50XG4gICAgICAgIGlmIChjbGVhbnVwRm5BKSB7XG4gICAgICAgICAgY2xlYW51cEEuY3VycmVudCA9IG51bGxcbiAgICAgICAgICBjbGVhbnVwRm5BKClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGVhbnVwRm5CID0gY2xlYW51cEIuY3VycmVudFxuICAgICAgICBpZiAoY2xlYW51cEZuQikge1xuICAgICAgICAgIGNsZWFudXBCLmN1cnJlbnQgPSBudWxsXG4gICAgICAgICAgY2xlYW51cEZuQigpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZWZBKSB7XG4gICAgICAgICAgY2xlYW51cEEuY3VycmVudCA9IGFwcGx5UmVmKHJlZkEsIGN1cnJlbnQpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlZkIpIHtcbiAgICAgICAgICBjbGVhbnVwQi5jdXJyZW50ID0gYXBwbHlSZWYocmVmQiwgY3VycmVudClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW3JlZkEsIHJlZkJdXG4gIClcbn1cblxuZnVuY3Rpb24gYXBwbHlSZWY8VEVsZW1lbnQ+KFxuICByZWZBOiBOb25OdWxsYWJsZTxSZWY8VEVsZW1lbnQ+PixcbiAgY3VycmVudDogVEVsZW1lbnRcbikge1xuICBpZiAodHlwZW9mIHJlZkEgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBjbGVhbnVwID0gcmVmQShjdXJyZW50KVxuICAgIGlmICh0eXBlb2YgY2xlYW51cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGNsZWFudXBcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICgpID0+IHJlZkEobnVsbClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVmQS5jdXJyZW50ID0gY3VycmVudFxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICByZWZBLmN1cnJlbnQgPSBudWxsXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsidXNlTWVyZ2VkUmVmIiwicmVmQSIsInJlZkIiLCJjbGVhbnVwQSIsInVzZVJlZiIsImNsZWFudXBCIiwidXNlQ2FsbGJhY2siLCJjdXJyZW50IiwiY2xlYW51cEZuQSIsImNsZWFudXBGbkIiLCJhcHBseVJlZiIsImNsZWFudXAiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-merged-ref.js\n"));
|
|
172
|
+
|
|
173
|
+
/***/ }),
|
|
174
|
+
|
|
175
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js":
|
|
176
|
+
/*!************************************************************!*\
|
|
177
|
+
!*** ./node_modules/next/dist/compiled/picomatch/index.js ***!
|
|
178
|
+
\************************************************************/
|
|
179
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
180
|
+
|
|
181
|
+
eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/../../node_modules/process/browser.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUsY0FBYyxNQUFNLHlHQUF5RyxHQUFHLDBCQUEwQixzQ0FBc0MsNkJBQTZCLFNBQVMsWUFBWSxZQUFZLEdBQUcsSUFBSSxjQUFjLFNBQVMsK0NBQStDLFVBQVUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSwrQkFBK0Isb0JBQW9CLHdCQUF3Qix5Q0FBeUMsVUFBVSxTQUFTLE1BQU0sZ0VBQWdFLGVBQWUsUUFBUSx1Q0FBdUMsRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLFNBQVMsMENBQTBDLFlBQVksMEJBQTBCLCtCQUErQiwwQkFBMEIsTUFBTSwwSkFBMEosR0FBRyxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVLFFBQVEsbUJBQW1CLGtCQUFrQixrQ0FBa0MsY0FBYyxNQUFNLEVBQUUsR0FBRywrQkFBK0Isb0JBQW9CLFNBQVMsdUtBQXVLLHNCQUFzQixXQUFXLFdBQVcsV0FBVyxXQUFXLFFBQVEsTUFBTSw0QkFBNEIsbUNBQW1DLHVDQUF1Qyx1Q0FBdUMsMkJBQTJCLGNBQWMsWUFBWSxpQkFBaUIsMENBQTBDLGtCQUFrQixrQkFBa0IsUUFBUSwyQ0FBMkMsSUFBSSxVQUFVLElBQUksWUFBWSxhQUFhLGVBQWUsVUFBVSxhQUFhLG9CQUFvQixPQUFPLFdBQVcsb0JBQW9CLE9BQU8sU0FBUyxlQUFlLHdCQUF3Qix5REFBeUQsd0VBQXdFLCtDQUErQyw0Q0FBNEMsY0FBYyxZQUFZLFdBQVcsb0JBQW9CLCtCQUErQiw2QkFBNkIsK0JBQStCLHdDQUF3QyxxQ0FBcUMsaUJBQWlCLE9BQU8sU0FBUyxVQUFVLEtBQUssMEJBQTBCLFNBQVMsK0JBQStCLFNBQVMsa0JBQWtCLGtCQUFrQixrQ0FBa0Msb0JBQW9CLE1BQU0sb0NBQW9DLEVBQUUsTUFBTSw2Q0FBNkMsRUFBRSxXQUFXLHVCQUF1QixpQ0FBaUMsTUFBTSxzQkFBc0IsUUFBUSxxREFBcUQsY0FBYyw0Q0FBNEMsaUJBQWlCLEVBQUUsRUFBRSxtRUFBbUUsaUJBQWlCLHFCQUFxQixTQUFTLGNBQWMsRUFBRSxHQUFHLEVBQUUsR0FBRyx3QkFBd0IsdUJBQXVCLE1BQU0sMkNBQTJDLEVBQUUscUJBQXFCLDBDQUEwQyxjQUFjLFlBQVksbUNBQW1DLGFBQWEsT0FBTyxTQUFTLFlBQVksTUFBTSxxQ0FBcUMsVUFBVSxtQ0FBbUMsMEJBQTBCLFlBQVksMEJBQTBCLFlBQVksTUFBTSxvQkFBb0IsU0FBUyxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsYUFBYSxzQkFBc0Isc0JBQXNCLEtBQUssMERBQTBELDZCQUE2QixXQUFXLFNBQVMsNkJBQTZCLFNBQVMsY0FBYyxNQUFNLGFBQWEsU0FBUyxhQUFhLFlBQVksMkJBQTJCLFNBQVMsa0JBQWtCLEdBQUcsU0FBUyxPQUFPLFFBQVEsTUFBTSxvQkFBb0IsRUFBRSxTQUFTLGlDQUFpQyxRQUFRLHFCQUFxQixjQUFjLFdBQVcsWUFBWSxTQUFTLHNCQUFzQixNQUFNLEtBQUssT0FBTyxtQkFBbUIsTUFBTSxvQkFBb0IsRUFBRSxVQUFVLDJEQUEyRCw2QkFBNkIseUJBQXlCLG9CQUFvQixhQUFhLG9CQUFvQixpQ0FBaUMsMkJBQTJCLDJCQUEyQixhQUFhLE1BQU0sWUFBWSxpQkFBaUIsSUFBSSxnQ0FBZ0MsV0FBVyxZQUFZLDJDQUEyQyxPQUFPLEVBQUUsRUFBRSw2Q0FBNkMsT0FBTyxFQUFFLEVBQUUsMkNBQTJDLE1BQU0sV0FBVyxRQUFRLFFBQVEsRUFBRSxTQUFTLDBCQUEwQixtQkFBbUIsV0FBVyxRQUFRLFFBQVEsRUFBRSxTQUFTLFlBQVksMEJBQTBCLHdCQUF3QixNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSxvQkFBb0IsTUFBTSxxQkFBcUIsRUFBRSxTQUFTLFlBQVksMENBQTBDLGtEQUFrRCxzQkFBc0IsNkJBQTZCLHNCQUFzQixTQUFTLE1BQU0sK0NBQStDLEVBQUUsb0JBQW9CLFNBQVMsWUFBWSxtREFBbUQsZ0RBQWdELGtEQUFrRCxPQUFPLEVBQUUsRUFBRSxLQUFLLHNCQUFzQixNQUFNLHVCQUF1QixFQUFFLFNBQVMsWUFBWSxrRUFBa0UsTUFBTSxnQ0FBZ0MsRUFBRSxFQUFFLEVBQUUsU0FBUyxtQkFBbUIsNEJBQTRCLGtEQUFrRCxNQUFNLGdDQUFnQyxFQUFFLEVBQUUsRUFBRSxTQUFTLHNCQUFzQix5QkFBeUIsaURBQWlELE1BQU0sRUFBRSxFQUFFLFdBQVcsUUFBUSxRQUFRLEVBQUUsa0RBQWtELFNBQVMsK0JBQStCLDJDQUEyQyw2QkFBNkIsWUFBWSxVQUFVLFNBQVMsWUFBWSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsR0FBRyxrQkFBa0IsU0FBUyxTQUFTLHFCQUFxQixvQkFBb0IsU0FBUyx5RkFBeUYsVUFBVSxRQUFRLFNBQVMsU0FBUyxHQUFHLHNCQUFzQix5QkFBeUIsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLFVBQVUsa0JBQWtCLGtCQUFrQixXQUFXLHFCQUFxQixLQUFLLEtBQUssUUFBUSx3QkFBd0IsTUFBTSx1QkFBdUIsdUJBQXVCLG1CQUFtQixpQkFBaUIsa0NBQWtDLHdDQUF3QyxzQ0FBc0MscUJBQXFCLEVBQUUsUUFBUSxFQUFFLFdBQVcsa0JBQWtCLDZCQUE2QixNQUFNLDhCQUE4QixFQUFFLG9CQUFvQixRQUFRLFNBQVMsWUFBWSxlQUFlLDJCQUEyQixNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSxRQUFRLHNCQUFzQixnQ0FBZ0MsYUFBYSxNQUFNLE1BQU0sOEJBQThCLEVBQUUsU0FBUyxZQUFZLHdDQUF3QyxrQkFBa0IsY0FBYyxZQUFZLFFBQVEsSUFBSSxTQUFTLE1BQU0sOEJBQThCLEVBQUUsU0FBUyxZQUFZLCtCQUErQiw0QkFBNEIsc0JBQXNCLGNBQWMsWUFBWSxXQUFXLFlBQVksU0FBUyw0REFBNEQsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLE1BQU0sNEJBQTRCLEVBQUUsU0FBUyxZQUFZLHlCQUF5QixrREFBa0QsdUJBQXVCLFNBQVMsd0JBQXdCLFlBQVksUUFBUSxpRkFBaUYsT0FBTyxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLHFEQUFxRCxNQUFNLDhCQUE4QixFQUFFLFNBQVMsTUFBTSw4QkFBOEIsRUFBRSxTQUFTLFlBQVksa0NBQWtDLHFDQUFxQyx3QkFBd0IsVUFBVSxtQ0FBbUMsU0FBUyxVQUFVLFlBQVksOENBQThDLHNCQUFzQixTQUFTLHNDQUFzQyxNQUFNLDZCQUE2QixFQUFFLFNBQVMsNEVBQTRFLE1BQU0sb0JBQW9CLEVBQUUsU0FBUyxNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSw4Q0FBOEMsTUFBTSx5Q0FBeUMsRUFBRSxTQUFTLE1BQU0sb0JBQW9CLEVBQUUsU0FBUyxZQUFZLHFCQUFxQixPQUFPLEVBQUUsRUFBRSw0QkFBNEIsTUFBTSxRQUFRLHFCQUFxQixNQUFNLG9CQUFvQixFQUFFLFNBQVMsNENBQTRDLGNBQWMsWUFBWSxXQUFXLFdBQVcsaUJBQWlCLGdCQUFnQixXQUFXLFNBQVMsa0JBQWtCLDBDQUEwQyxzQkFBc0IsU0FBUyxvQkFBb0Isd0JBQXdCLFdBQVcsU0FBUyxlQUFlLGVBQWUseUNBQXlDLGtEQUFrRCwwQ0FBMEMsTUFBTSw4QkFBOEIsRUFBRSxTQUFTLHlEQUF5RCxzREFBc0QsaUNBQWlDLE1BQU0sOEJBQThCLEVBQUUsU0FBUyw0QkFBNEIscUJBQXFCLGVBQWUsTUFBTSxhQUFhLGlCQUFpQiwwQkFBMEIsa0JBQWtCLFdBQVcscUJBQXFCLGtCQUFrQixnQkFBZ0IsV0FBVyxTQUFTLHFEQUFxRCx1REFBdUQsZUFBZSxTQUFTLEVBQUUsa0JBQWtCLGlEQUFpRCxXQUFXLGdCQUFnQiw0QkFBNEIsV0FBVyxTQUFTLHNEQUFzRCw4QkFBOEIsdURBQXVELGVBQWUsU0FBUyxFQUFFLGtCQUFrQixZQUFZLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLDRCQUE0QixnQkFBZ0IsZUFBZSxNQUFNLGlDQUFpQyxFQUFFLFNBQVMsK0JBQStCLGtCQUFrQixXQUFXLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxFQUFFLEVBQUUsR0FBRyxrQkFBa0IsZ0JBQWdCLGVBQWUsTUFBTSxpQ0FBaUMsRUFBRSxTQUFTLDRDQUE0QyxrQkFBa0IscUJBQXFCLFdBQVcsbUJBQW1CLGdCQUFnQixXQUFXLFNBQVMsU0FBUyw4QkFBOEIsa0JBQWtCLGVBQWUscUNBQXFDLG9CQUFvQixRQUFRLFNBQVMsOERBQThELFdBQVcsUUFBUSxTQUFTLHdEQUF3RCxtQkFBbUIsWUFBWSxZQUFZLHNCQUFzQixZQUFZLFlBQVksS0FBSyxZQUFZLFlBQVksY0FBYyxZQUFZLGFBQWEsUUFBUSxvQkFBb0IsNkVBQTZFLG9DQUFvQyxzQkFBc0Isa0JBQWtCLDZFQUE2RSxvQ0FBb0Msb0JBQW9CLGtCQUFrQix5RUFBeUUsSUFBSSxpQ0FBaUMsR0FBRyxvQkFBb0Isa0VBQWtFLE1BQU0sc0NBQXNDLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixZQUFZLHlCQUF5QiwwQ0FBMEMsYUFBYSxxQkFBcUIsVUFBVSx3QkFBd0IsU0FBUyxNQUFNLGdFQUFnRSxpQkFBaUIsUUFBUSx1Q0FBdUMsRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLFVBQVUsTUFBTSwrR0FBK0csd0JBQXdCLGtCQUFrQixrQkFBa0IsMEJBQTBCLFNBQVMseUJBQXlCLDRCQUE0QixjQUFjLE1BQU0sRUFBRSxHQUFHLG1CQUFtQixnQ0FBZ0MsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsU0FBUyxpQkFBaUIsVUFBVSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSw4QkFBOEIsdUJBQXVCLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLGlDQUFpQyxhQUFhLHFCQUFxQixhQUFhLG1CQUFtQiw0QkFBNEIsZ0JBQWdCLDhCQUE4QixNQUFNLEVBQUUsR0FBRyxVQUFVLGdCQUFnQixlQUFlLGVBQWUsZUFBZSxjQUFjLGVBQWUsNERBQTRELGdDQUFnQyxxQkFBcUIscUNBQXFDLHVCQUF1QixrQkFBa0IsYUFBYSxjQUFjLGNBQWMsb0JBQW9CLHVDQUF1QyxvQ0FBb0MsaUVBQWlFLGNBQWMsa0JBQWtCLG9FQUFvRSxnQkFBZ0IsZUFBZSx3QkFBd0IsYUFBYSxTQUFTLDZDQUE2QyxrQ0FBa0MsNEJBQTRCLE1BQU0sMkJBQTJCLHVCQUF1QixlQUFlLEVBQUUsU0FBUyxtRUFBbUUsbUNBQW1DLGNBQWMsY0FBYyxnQkFBZ0IsaUJBQWlCLGlCQUFpQixtQ0FBbUMsY0FBYyxnQkFBZ0IsaUJBQWlCLGtDQUFrQyxhQUFhLGlCQUFpQixNQUFNLGdCQUFnQixnQkFBZ0IsdUJBQXVCLGVBQWUsR0FBRyxJQUFJLHdCQUF3QixxREFBcUQsV0FBVyxPQUFPLHlCQUF5QixjQUFjLDRDQUE0QyxZQUFZLGtCQUFrQixjQUFjLFdBQVcsUUFBUSxnQ0FBZ0MsMENBQTBDLCtCQUErQixLQUFLLGFBQWEsT0FBTyxzQ0FBc0MsOEJBQThCLG9EQUFvRCw4QkFBOEIsNkNBQTZDLHdCQUF3Qiw0REFBNEQsWUFBWSxxQkFBcUIsR0FBRyw2QkFBNkIsNENBQTRDLGFBQWEsZ0JBQWdCLGNBQWMsMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxTQUFTLEdBQUcsRUFBRSxFQUFFLHdCQUF3QixTQUFTLEVBQUUsTUFBTSwrQkFBK0IsYUFBYSxVQUFVLFVBQVUsd0JBQXdCLG9CQUFvQiw0QkFBNEIsbURBQW1ELE9BQU8sOEJBQThCLGtEQUFrRCwwQkFBMEIsY0FBYyxTQUFTLHFDQUFxQywwQkFBMEIsSUFBSSxjQUFjLGdEQUFnRCxTQUFTLDZCQUE2QixhQUFhLHNCQUFzQixvQkFBb0IsZUFBZSxjQUFjLE1BQU0sK1NBQStTLFFBQVEsc0NBQXNDLGdCQUFnQixzQkFBc0Isa0NBQWtDLG1CQUFtQixjQUFjLG1CQUFtQiwyQ0FBMkMsV0FBVyxXQUFXLFdBQVcsUUFBUSxTQUFTLFFBQVEsUUFBUSxZQUFZLFlBQVksWUFBWSxZQUFZLFlBQVksWUFBWSxZQUFZLFlBQVksWUFBWSxZQUFZLFFBQVEsTUFBTSxNQUFNLE9BQU8sK0JBQStCLG1CQUFtQixpQ0FBaUMsbUJBQW1CLElBQUksMEJBQTBCLFdBQVcsWUFBWSxNQUFNLFVBQVUscUJBQXFCLFlBQVksVUFBVSxPQUFPLFNBQVMsb0JBQW9CLElBQUksbUNBQW1DLFVBQVUscUJBQXFCLFVBQVUsU0FBUyxVQUFVLElBQUksU0FBUyx1Q0FBdUMsaUJBQWlCLGdCQUFnQixPQUFPLGFBQWEsU0FBUyxNQUFNLG9CQUFvQixpQkFBaUIsZ0JBQWdCLE9BQU8sYUFBYSxTQUFTLE1BQU0sVUFBVSxJQUFJLFVBQVUsUUFBUSxpQkFBaUIsT0FBTyxRQUFRLGFBQWEsU0FBUyxNQUFNLFVBQVUsVUFBVSxVQUFVLEdBQUcsK0JBQStCLHFCQUFxQixtQkFBbUIsS0FBSyxTQUFTLE1BQU0sU0FBUyxtQkFBbUIsMENBQTBDLHlCQUF5QixnQkFBZ0IsbUJBQW1CLE9BQU8saUJBQWlCLE9BQU8sYUFBYSxtQ0FBbUMsVUFBVSxxQkFBcUIsWUFBWSxTQUFTLFVBQVUsZ0JBQWdCLE9BQU8sT0FBTyxTQUFTLE9BQU8sVUFBVSw2QkFBNkIsZ0JBQWdCLE9BQU8sYUFBYSxTQUFTLE1BQU0sVUFBVSxnQkFBZ0IsT0FBTyxhQUFhLFNBQVMsTUFBTSxVQUFVLG1DQUFtQyxVQUFVLHFCQUFxQixVQUFVLFNBQVMsVUFBVSxtQkFBbUIsZ0JBQWdCLE9BQU8sT0FBTyxhQUFhLFNBQVMsTUFBTSxvQ0FBb0MsaUJBQWlCLElBQUksU0FBUyw0QkFBNEIsZ0JBQWdCLGFBQWEsbUNBQW1DLFVBQVUscUJBQXFCLFlBQVksU0FBUyxVQUFVLE9BQU8sT0FBTyxTQUFTLE1BQU0sYUFBYSxPQUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ezE3MDoodCxlLHUpPT57Y29uc3Qgbj11KDUxMCk7Y29uc3QgaXNXaW5kb3dzPSgpPT57aWYodHlwZW9mIG5hdmlnYXRvciE9PVwidW5kZWZpbmVkXCImJm5hdmlnYXRvci5wbGF0Zm9ybSl7Y29uc3QgdD1uYXZpZ2F0b3IucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PVwid2luMzJcInx8dD09PVwid2luZG93c1wifWlmKHR5cGVvZiBwcm9jZXNzIT09XCJ1bmRlZmluZWRcIiYmcHJvY2Vzcy5wbGF0Zm9ybSl7cmV0dXJuIHByb2Nlc3MucGxhdGZvcm09PT1cIndpbjMyXCJ9cmV0dXJuIGZhbHNlfTtmdW5jdGlvbiBwaWNvbWF0Y2godCxlLHU9ZmFsc2Upe2lmKGUmJihlLndpbmRvd3M9PT1udWxsfHxlLndpbmRvd3M9PT11bmRlZmluZWQpKXtlPXsuLi5lLHdpbmRvd3M6aXNXaW5kb3dzKCl9fXJldHVybiBuKHQsZSx1KX1PYmplY3QuYXNzaWduKHBpY29tYXRjaCxuKTt0LmV4cG9ydHM9cGljb21hdGNofSwxNTQ6dD0+e2NvbnN0IGU9XCJcXFxcXFxcXC9cIjtjb25zdCB1PWBbXiR7ZX1dYDtjb25zdCBuPVwiXFxcXC5cIjtjb25zdCBvPVwiXFxcXCtcIjtjb25zdCBzPVwiXFxcXD9cIjtjb25zdCByPVwiXFxcXC9cIjtjb25zdCBhPVwiKD89LilcIjtjb25zdCBpPVwiW14vXVwiO2NvbnN0IGM9YCg/OiR7cn18JClgO2NvbnN0IHA9YCg/Ol58JHtyfSlgO2NvbnN0IGw9YCR7bn17MSwyfSR7Y31gO2NvbnN0IGY9YCg/ISR7bn0pYDtjb25zdCBBPWAoPyEke3B9JHtsfSlgO2NvbnN0IF89YCg/ISR7bn17MCwxfSR7Y30pYDtjb25zdCBSPWAoPyEke2x9KWA7Y29uc3QgRT1gW14uJHtyfV1gO2NvbnN0IGg9YCR7aX0qP2A7Y29uc3QgZz1cIi9cIjtjb25zdCBiPXtET1RfTElURVJBTDpuLFBMVVNfTElURVJBTDpvLFFNQVJLX0xJVEVSQUw6cyxTTEFTSF9MSVRFUkFMOnIsT05FX0NIQVI6YSxRTUFSSzppLEVORF9BTkNIT1I6YyxET1RTX1NMQVNIOmwsTk9fRE9UOmYsTk9fRE9UUzpBLE5PX0RPVF9TTEFTSDpfLE5PX0RPVFNfU0xBU0g6UixRTUFSS19OT19ET1Q6RSxTVEFSOmgsU1RBUlRfQU5DSE9SOnAsU0VQOmd9O2NvbnN0IEM9ey4uLmIsU0xBU0hfTElURVJBTDpgWyR7ZX1dYCxRTUFSSzp1LFNUQVI6YCR7dX0qP2AsRE9UU19TTEFTSDpgJHtufXsxLDJ9KD86WyR7ZX1dfCQpYCxOT19ET1Q6YCg/ISR7bn0pYCxOT19ET1RTOmAoPyEoPzpefFske2V9XSkke259ezEsMn0oPzpbJHtlfV18JCkpYCxOT19ET1RfU0xBU0g6YCg/ISR7bn17MCwxfSg/Olske2V9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7bn17MSwyfSg/Olske2V9XXwkKSlgLFFNQVJLX05PX0RPVDpgW14uJHtlfV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHtlfV0pYCxFTkRfQU5DSE9SOmAoPzpbJHtlfV18JClgLFNFUDpcIlxcXFxcIn07Y29uc3QgeT17YWxudW06XCJhLXpBLVowLTlcIixhbHBoYTpcImEtekEtWlwiLGFzY2lpOlwiXFxcXHgwMC1cXFxceDdGXCIsYmxhbms6XCIgXFxcXHRcIixjbnRybDpcIlxcXFx4MDAtXFxcXHgxRlxcXFx4N0ZcIixkaWdpdDpcIjAtOVwiLGdyYXBoOlwiXFxcXHgyMS1cXFxceDdFXCIsbG93ZXI6XCJhLXpcIixwcmludDpcIlxcXFx4MjAtXFxcXHg3RSBcIixwdW5jdDpcIlxcXFwtIVxcXCIjJCUmJygpXFxcXCorLC4vOjs8PT4/QFtcXFxcXV5fYHt8fX5cIixzcGFjZTpcIiBcXFxcdFxcXFxyXFxcXG5cXFxcdlxcXFxmXCIsdXBwZXI6XCJBLVpcIix3b3JkOlwiQS1aYS16MC05X1wiLHhkaWdpdDpcIkEtRmEtZjAtOVwifTt0LmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6eSxSRUdFWF9CQUNLU0xBU0g6L1xcXFwoPyFbKis/XiR7fSh8KVtcXF1dKS9nLFJFR0VYX05PTl9TUEVDSUFMX0NIQVJTOi9eW15AIVtcXF0uLCQqKz9ee30oKXxcXFxcL10rLyxSRUdFWF9TUEVDSUFMX0NIQVJTOi9bLSorPy5eJHt9KHwpW1xcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcXFw/KSgoXFxXKShcXDMqKSkvZyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDovKFstKis/Ll4ke30ofClbXFxdXSkvZyxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOi8oPzpcXFsuKj9bXlxcXFxdXFxdfFxcXFwoPz0uKSkvZyxSRVBMQUNFTUVOVFM6e1wiKioqXCI6XCIqXCIsXCIqKi8qKlwiOlwiKipcIixcIioqLyoqLyoqXCI6XCIqKlwifSxDSEFSXzA6NDgsQ0hBUl85OjU3LENIQVJfVVBQRVJDQVNFX0E6NjUsQ0hBUl9MT1dFUkNBU0VfQTo5NyxDSEFSX1VQUEVSQ0FTRV9aOjkwLENIQVJfTE9XRVJDQVNFX1o6MTIyLENIQVJfTEVGVF9QQVJFTlRIRVNFUzo0MCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOjQxLENIQVJfQVNURVJJU0s6NDIsQ0hBUl9BTVBFUlNBTkQ6MzgsQ0hBUl9BVDo2NCxDSEFSX0JBQ0tXQVJEX1NMQVNIOjkyLENIQVJfQ0FSUklBR0VfUkVUVVJOOjEzLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6OTQsQ0hBUl9DT0xPTjo1OCxDSEFSX0NPTU1BOjQ0LENIQVJfRE9UOjQ2LENIQVJfRE9VQkxFX1FVT1RFOjM0LENIQVJfRVFVQUw6NjEsQ0hBUl9FWENMQU1BVElPTl9NQVJLOjMzLENIQVJfRk9STV9GRUVEOjEyLENIQVJfRk9SV0FSRF9TTEFTSDo0NyxDSEFSX0dSQVZFX0FDQ0VOVDo5NixDSEFSX0hBU0g6MzUsQ0hBUl9IWVBIRU5fTUlOVVM6NDUsQ0hBUl9MRUZUX0FOR0xFX0JSQUNLRVQ6NjAsQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOjEyMyxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6OTEsQ0hBUl9MSU5FX0ZFRUQ6MTAsQ0hBUl9OT19CUkVBS19TUEFDRToxNjAsQ0hBUl9QRVJDRU5UOjM3LENIQVJfUExVUzo0MyxDSEFSX1FVRVNUSU9OX01BUks6NjMsQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUOjYyLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6MTI1LENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6OTMsQ0hBUl9TRU1JQ09MT046NTksQ0hBUl9TSU5HTEVfUVVPVEU6MzksQ0hBUl9TUEFDRTozMixDSEFSX1RBQjo5LENIQVJfVU5ERVJTQ09SRTo5NSxDSEFSX1ZFUlRJQ0FMX0xJTkU6MTI0LENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOjY1Mjc5LGV4dGdsb2JDaGFycyh0KXtyZXR1cm57XCIhXCI6e3R5cGU6XCJuZWdhdGVcIixvcGVuOlwiKD86KD8hKD86XCIsY2xvc2U6YCkpJHt0LlNUQVJ9KWB9LFwiP1wiOnt0eXBlOlwicW1hcmtcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpP1wifSxcIitcIjp7dHlwZTpcInBsdXNcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpK1wifSxcIipcIjp7dHlwZTpcInN0YXJcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpKlwifSxcIkBcIjp7dHlwZTpcImF0XCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKVwifX19LGdsb2JDaGFycyh0KXtyZXR1cm4gdD09PXRydWU/QzpifX19LDY5NzoodCxlLHUpPT57Y29uc3Qgbj11KDE1NCk7Y29uc3Qgbz11KDk2KTtjb25zdHtNQVhfTEVOR1RIOnMsUE9TSVhfUkVHRVhfU09VUkNFOnIsUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6YSxSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6aSxSRVBMQUNFTUVOVFM6Y309bjtjb25zdCBleHBhbmRSYW5nZT0odCxlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZS5leHBhbmRSYW5nZSguLi50LGUpfXQuc29ydCgpO2NvbnN0IHU9YFske3Quam9pbihcIi1cIil9XWA7dHJ5e25ldyBSZWdFeHAodSl9Y2F0Y2goZSl7cmV0dXJuIHQubWFwKCh0PT5vLmVzY2FwZVJlZ2V4KHQpKSkuam9pbihcIi4uXCIpfXJldHVybiB1fTtjb25zdCBzeW50YXhFcnJvcj0odCxlKT0+YE1pc3NpbmcgJHt0fTogXCIke2V9XCIgLSB1c2UgXCJcXFxcXFxcXCR7ZX1cIiB0byBtYXRjaCBsaXRlcmFsIGNoYXJhY3RlcnNgO2NvbnN0IHBhcnNlPSh0LGUpPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIil9dD1jW3RdfHx0O2NvbnN0IHU9ey4uLmV9O2NvbnN0IHA9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2xldCBsPXQubGVuZ3RoO2lmKGw+cCl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnB1dCBsZW5ndGg6ICR7bH0sIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIGxlbmd0aDogJHtwfWApfWNvbnN0IGY9e3R5cGU6XCJib3NcIix2YWx1ZTpcIlwiLG91dHB1dDp1LnByZXBlbmR8fFwiXCJ9O2NvbnN0IEE9W2ZdO2NvbnN0IF89dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IFI9bi5nbG9iQ2hhcnModS53aW5kb3dzKTtjb25zdCBFPW4uZXh0Z2xvYkNoYXJzKFIpO2NvbnN0e0RPVF9MSVRFUkFMOmgsUExVU19MSVRFUkFMOmcsU0xBU0hfTElURVJBTDpiLE9ORV9DSEFSOkMsRE9UU19TTEFTSDp5LE5PX0RPVDokLE5PX0RPVF9TTEFTSDp4LE5PX0RPVFNfU0xBU0g6UyxRTUFSSzpILFFNQVJLX05PX0RPVDp2LFNUQVI6ZCxTVEFSVF9BTkNIT1I6TH09Ujtjb25zdCBnbG9ic3Rhcj10PT5gKCR7X30oPzooPyEke0x9JHt0LmRvdD95Omh9KS4pKj8pYDtjb25zdCBUPXUuZG90P1wiXCI6JDtjb25zdCBPPXUuZG90P0g6djtsZXQgaz11LmJhc2g9PT10cnVlP2dsb2JzdGFyKHUpOmQ7aWYodS5jYXB0dXJlKXtrPWAoJHtrfSlgfWlmKHR5cGVvZiB1Lm5vZXh0PT09XCJib29sZWFuXCIpe3Uubm9leHRnbG9iPXUubm9leHR9Y29uc3QgbT17aW5wdXQ6dCxpbmRleDotMSxzdGFydDowLGRvdDp1LmRvdD09PXRydWUsY29uc3VtZWQ6XCJcIixvdXRwdXQ6XCJcIixwcmVmaXg6XCJcIixiYWNrdHJhY2s6ZmFsc2UsbmVnYXRlZDpmYWxzZSxicmFja2V0czowLGJyYWNlczowLHBhcmVuczowLHF1b3RlczowLGdsb2JzdGFyOmZhbHNlLHRva2VuczpBfTt0PW8ucmVtb3ZlUHJlZml4KHQsbSk7bD10Lmxlbmd0aDtjb25zdCB3PVtdO2NvbnN0IE49W107Y29uc3QgST1bXTtsZXQgQj1mO2xldCBHO2NvbnN0IGVvcz0oKT0+bS5pbmRleD09PWwtMTtjb25zdCBEPW0ucGVlaz0oZT0xKT0+dFttLmluZGV4K2VdO2NvbnN0IE09bS5hZHZhbmNlPSgpPT50WysrbS5pbmRleF18fFwiXCI7Y29uc3QgcmVtYWluaW5nPSgpPT50LnNsaWNlKG0uaW5kZXgrMSk7Y29uc3QgY29uc3VtZT0odD1cIlwiLGU9MCk9PnttLmNvbnN1bWVkKz10O20uaW5kZXgrPWV9O2NvbnN0IGFwcGVuZD10PT57bS5vdXRwdXQrPXQub3V0cHV0IT1udWxsP3Qub3V0cHV0OnQudmFsdWU7Y29uc3VtZSh0LnZhbHVlKX07Y29uc3QgbmVnYXRlPSgpPT57bGV0IHQ9MTt3aGlsZShEKCk9PT1cIiFcIiYmKEQoMikhPT1cIihcInx8RCgzKT09PVwiP1wiKSl7TSgpO20uc3RhcnQrKzt0Kyt9aWYodCUyPT09MCl7cmV0dXJuIGZhbHNlfW0ubmVnYXRlZD10cnVlO20uc3RhcnQrKztyZXR1cm4gdHJ1ZX07Y29uc3QgaW5jcmVtZW50PXQ9PnttW3RdKys7SS5wdXNoKHQpfTtjb25zdCBkZWNyZW1lbnQ9dD0+e21bdF0tLTtJLnBvcCgpfTtjb25zdCBwdXNoPXQ9PntpZihCLnR5cGU9PT1cImdsb2JzdGFyXCIpe2NvbnN0IGU9bS5icmFjZXM+MCYmKHQudHlwZT09PVwiY29tbWFcInx8dC50eXBlPT09XCJicmFjZVwiKTtjb25zdCB1PXQuZXh0Z2xvYj09PXRydWV8fHcubGVuZ3RoJiYodC50eXBlPT09XCJwaXBlXCJ8fHQudHlwZT09PVwicGFyZW5cIik7aWYodC50eXBlIT09XCJzbGFzaFwiJiZ0LnR5cGUhPT1cInBhcmVuXCImJiFlJiYhdSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi5vdXRwdXQubGVuZ3RoKTtCLnR5cGU9XCJzdGFyXCI7Qi52YWx1ZT1cIipcIjtCLm91dHB1dD1rO20ub3V0cHV0Kz1CLm91dHB1dH19aWYody5sZW5ndGgmJnQudHlwZSE9PVwicGFyZW5cIil7d1t3Lmxlbmd0aC0xXS5pbm5lcis9dC52YWx1ZX1pZih0LnZhbHVlfHx0Lm91dHB1dClhcHBlbmQodCk7aWYoQiYmQi50eXBlPT09XCJ0ZXh0XCImJnQudHlwZT09PVwidGV4dFwiKXtCLm91dHB1dD0oQi5vdXRwdXR8fEIudmFsdWUpK3QudmFsdWU7Qi52YWx1ZSs9dC52YWx1ZTtyZXR1cm59dC5wcmV2PUI7QS5wdXNoKHQpO0I9dH07Y29uc3QgZXh0Z2xvYk9wZW49KHQsZSk9Pntjb25zdCBuPXsuLi5FW2VdLGNvbmRpdGlvbnM6MSxpbm5lcjpcIlwifTtuLnByZXY9QjtuLnBhcmVucz1tLnBhcmVucztuLm91dHB1dD1tLm91dHB1dDtjb25zdCBvPSh1LmNhcHR1cmU/XCIoXCI6XCJcIikrbi5vcGVuO2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOnQsdmFsdWU6ZSxvdXRwdXQ6bS5vdXRwdXQ/XCJcIjpDfSk7cHVzaCh7dHlwZTpcInBhcmVuXCIsZXh0Z2xvYjp0cnVlLHZhbHVlOk0oKSxvdXRwdXQ6b30pO3cucHVzaChuKX07Y29uc3QgZXh0Z2xvYkNsb3NlPXQ9PntsZXQgbj10LmNsb3NlKyh1LmNhcHR1cmU/XCIpXCI6XCJcIik7bGV0IG87aWYodC50eXBlPT09XCJuZWdhdGVcIil7bGV0IHM9aztpZih0LmlubmVyJiZ0LmlubmVyLmxlbmd0aD4xJiZ0LmlubmVyLmluY2x1ZGVzKFwiL1wiKSl7cz1nbG9ic3Rhcih1KX1pZihzIT09a3x8ZW9zKCl8fC9eXFwpKyQvLnRlc3QocmVtYWluaW5nKCkpKXtuPXQuY2xvc2U9YCkkKSkke3N9YH1pZih0LmlubmVyLmluY2x1ZGVzKFwiKlwiKSYmKG89cmVtYWluaW5nKCkpJiYvXlxcLlteXFxcXC8uXSskLy50ZXN0KG8pKXtjb25zdCB1PXBhcnNlKG8sey4uLmUsZmFzdHBhdGhzOmZhbHNlfSkub3V0cHV0O249dC5jbG9zZT1gKSR7dX0pJHtzfSlgfWlmKHQucHJldi50eXBlPT09XCJib3NcIil7bS5uZWdhdGVkRXh0Z2xvYj10cnVlfX1wdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6RyxvdXRwdXQ6bn0pO2RlY3JlbWVudChcInBhcmVuc1wiKX07aWYodS5mYXN0cGF0aHMhPT1mYWxzZSYmIS8oXlsqIV18Wy8oKVtcXF17fVwiXSkvLnRlc3QodCkpe2xldCBuPWZhbHNlO2xldCBzPXQucmVwbGFjZShpLCgodCxlLHUsbyxzLHIpPT57aWYobz09PVwiXFxcXFwiKXtuPXRydWU7cmV0dXJuIHR9aWYobz09PVwiP1wiKXtpZihlKXtyZXR1cm4gZStvKyhzP0gucmVwZWF0KHMubGVuZ3RoKTpcIlwiKX1pZihyPT09MCl7cmV0dXJuIE8rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfXJldHVybiBILnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiLlwiKXtyZXR1cm4gaC5yZXBlYXQodS5sZW5ndGgpfWlmKG89PT1cIipcIil7aWYoZSl7cmV0dXJuIGUrbysocz9rOlwiXCIpfXJldHVybiBrfXJldHVybiBlP3Q6YFxcXFwke3R9YH0pKTtpZihuPT09dHJ1ZSl7aWYodS51bmVzY2FwZT09PXRydWUpe3M9cy5yZXBsYWNlKC9cXFxcL2csXCJcIil9ZWxzZXtzPXMucmVwbGFjZSgvXFxcXCsvZywodD0+dC5sZW5ndGglMj09PTA/XCJcXFxcXFxcXFwiOnQ/XCJcXFxcXCI6XCJcIikpfX1pZihzPT09dCYmdS5jb250YWlucz09PXRydWUpe20ub3V0cHV0PXQ7cmV0dXJuIG19bS5vdXRwdXQ9by53cmFwT3V0cHV0KHMsbSxlKTtyZXR1cm4gbX13aGlsZSghZW9zKCkpe0c9TSgpO2lmKEc9PT1cIlxcMFwiKXtjb250aW51ZX1pZihHPT09XCJcXFxcXCIpe2NvbnN0IHQ9RCgpO2lmKHQ9PT1cIi9cIiYmdS5iYXNoIT09dHJ1ZSl7Y29udGludWV9aWYodD09PVwiLlwifHx0PT09XCI7XCIpe2NvbnRpbnVlfWlmKCF0KXtHKz1cIlxcXFxcIjtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1jb25zdCBlPS9eXFxcXCsvLmV4ZWMocmVtYWluaW5nKCkpO2xldCBuPTA7aWYoZSYmZVswXS5sZW5ndGg+Mil7bj1lWzBdLmxlbmd0aDttLmluZGV4Kz1uO2lmKG4lMiE9PTApe0crPVwiXFxcXFwifX1pZih1LnVuZXNjYXBlPT09dHJ1ZSl7Rz1NKCl9ZWxzZXtHKz1NKCl9aWYobS5icmFja2V0cz09PTApe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfX1pZihtLmJyYWNrZXRzPjAmJihHIT09XCJdXCJ8fEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe2lmKHUucG9zaXghPT1mYWxzZSYmRz09PVwiOlwiKXtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYodC5pbmNsdWRlcyhcIltcIikpe0IucG9zaXg9dHJ1ZTtpZih0LmluY2x1ZGVzKFwiOlwiKSl7Y29uc3QgdD1CLnZhbHVlLmxhc3RJbmRleE9mKFwiW1wiKTtjb25zdCBlPUIudmFsdWUuc2xpY2UoMCx0KTtjb25zdCB1PUIudmFsdWUuc2xpY2UodCsyKTtjb25zdCBuPXJbdV07aWYobil7Qi52YWx1ZT1lK247bS5iYWNrdHJhY2s9dHJ1ZTtNKCk7aWYoIWYub3V0cHV0JiZBLmluZGV4T2YoQik9PT0xKXtmLm91dHB1dD1DfWNvbnRpbnVlfX19fWlmKEc9PT1cIltcIiYmRCgpIT09XCI6XCJ8fEc9PT1cIi1cIiYmRCgpPT09XCJdXCIpe0c9YFxcXFwke0d9YH1pZihHPT09XCJdXCImJihCLnZhbHVlPT09XCJbXCJ8fEIudmFsdWU9PT1cIlteXCIpKXtHPWBcXFxcJHtHfWB9aWYodS5wb3NpeD09PXRydWUmJkc9PT1cIiFcIiYmQi52YWx1ZT09PVwiW1wiKXtHPVwiXlwifUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYobS5xdW90ZXM9PT0xJiZHIT09J1wiJyl7Rz1vLmVzY2FwZVJlZ2V4KEcpO0IudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PSdcIicpe20ucXVvdGVzPW0ucXVvdGVzPT09MT8wOjE7aWYodS5rZWVwUXVvdGVzPT09dHJ1ZSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSl9Y29udGludWV9aWYoRz09PVwiKFwiKXtpbmNyZW1lbnQoXCJwYXJlbnNcIik7cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEc9PT1cIilcIil7aWYobS5wYXJlbnM9PT0wJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiKFwiKSl9Y29uc3QgdD13W3cubGVuZ3RoLTFdO2lmKHQmJm0ucGFyZW5zPT09dC5wYXJlbnMrMSl7ZXh0Z2xvYkNsb3NlKHcucG9wKCkpO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJwYXJlblwiLHZhbHVlOkcsb3V0cHV0Om0ucGFyZW5zP1wiKVwiOlwiXFxcXClcIn0pO2RlY3JlbWVudChcInBhcmVuc1wiKTtjb250aW51ZX1pZihHPT09XCJbXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8IXJlbWFpbmluZygpLmluY2x1ZGVzKFwiXVwiKSl7aWYodS5ub2JyYWNrZXQhPT10cnVlJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiXVwiKSl9Rz1gXFxcXCR7R31gfWVsc2V7aW5jcmVtZW50KFwiYnJhY2tldHNcIil9cHVzaCh7dHlwZTpcImJyYWNrZXRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiXVwiKXtpZih1Lm5vYnJhY2tldD09PXRydWV8fEImJkIudHlwZT09PVwiYnJhY2tldFwiJiZCLnZhbHVlLmxlbmd0aD09PTEpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6YFxcXFwke0d9YH0pO2NvbnRpbnVlfWlmKG0uYnJhY2tldHM9PT0wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiW1wiKSl9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9ZGVjcmVtZW50KFwiYnJhY2tldHNcIik7Y29uc3QgdD1CLnZhbHVlLnNsaWNlKDEpO2lmKEIucG9zaXghPT10cnVlJiZ0WzBdPT09XCJeXCImJiF0LmluY2x1ZGVzKFwiL1wiKSl7Rz1gLyR7R31gfUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7aWYodS5saXRlcmFsQnJhY2tldHM9PT1mYWxzZXx8by5oYXNSZWdleENoYXJzKHQpKXtjb250aW51ZX1jb25zdCBlPW8uZXNjYXBlUmVnZXgoQi52YWx1ZSk7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi52YWx1ZS5sZW5ndGgpO2lmKHUubGl0ZXJhbEJyYWNrZXRzPT09dHJ1ZSl7bS5vdXRwdXQrPWU7Qi52YWx1ZT1lO2NvbnRpbnVlfUIudmFsdWU9YCgke199JHtlfXwke0IudmFsdWV9KWA7bS5vdXRwdXQrPUIudmFsdWU7Y29udGludWV9aWYoRz09PVwie1wiJiZ1Lm5vYnJhY2UhPT10cnVlKXtpbmNyZW1lbnQoXCJicmFjZXNcIik7Y29uc3QgdD17dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6XCIoXCIsb3V0cHV0SW5kZXg6bS5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Om0udG9rZW5zLmxlbmd0aH07Ti5wdXNoKHQpO3B1c2godCk7Y29udGludWV9aWYoRz09PVwifVwiKXtjb25zdCB0PU5bTi5sZW5ndGgtMV07aWYodS5ub2JyYWNlPT09dHJ1ZXx8IXQpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6R30pO2NvbnRpbnVlfWxldCBlPVwiKVwiO2lmKHQuZG90cz09PXRydWUpe2NvbnN0IHQ9QS5zbGljZSgpO2NvbnN0IG49W107Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe0EucG9wKCk7aWYodFtlXS50eXBlPT09XCJicmFjZVwiKXticmVha31pZih0W2VdLnR5cGUhPT1cImRvdHNcIil7bi51bnNoaWZ0KHRbZV0udmFsdWUpfX1lPWV4cGFuZFJhbmdlKG4sdSk7bS5iYWNrdHJhY2s9dHJ1ZX1pZih0LmNvbW1hIT09dHJ1ZSYmdC5kb3RzIT09dHJ1ZSl7Y29uc3QgdT1tLm91dHB1dC5zbGljZSgwLHQub3V0cHV0SW5kZXgpO2NvbnN0IG49bS50b2tlbnMuc2xpY2UodC50b2tlbnNJbmRleCk7dC52YWx1ZT10Lm91dHB1dD1cIlxcXFx7XCI7Rz1lPVwiXFxcXH1cIjttLm91dHB1dD11O2Zvcihjb25zdCB0IG9mIG4pe20ub3V0cHV0Kz10Lm91dHB1dHx8dC52YWx1ZX19cHVzaCh7dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2RlY3JlbWVudChcImJyYWNlc1wiKTtOLnBvcCgpO2NvbnRpbnVlfWlmKEc9PT1cInxcIil7aWYody5sZW5ndGg+MCl7d1t3Lmxlbmd0aC0xXS5jb25kaXRpb25zKyt9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiLFwiKXtsZXQgdD1HO2NvbnN0IGU9TltOLmxlbmd0aC0xXTtpZihlJiZJW0kubGVuZ3RoLTFdPT09XCJicmFjZXNcIil7ZS5jb21tYT10cnVlO3Q9XCJ8XCJ9cHVzaCh7dHlwZTpcImNvbW1hXCIsdmFsdWU6RyxvdXRwdXQ6dH0pO2NvbnRpbnVlfWlmKEc9PT1cIi9cIil7aWYoQi50eXBlPT09XCJkb3RcIiYmbS5pbmRleD09PW0uc3RhcnQrMSl7bS5zdGFydD1tLmluZGV4KzE7bS5jb25zdW1lZD1cIlwiO20ub3V0cHV0PVwiXCI7QS5wb3AoKTtCPWY7Y29udGludWV9cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6RyxvdXRwdXQ6Yn0pO2NvbnRpbnVlfWlmKEc9PT1cIi5cIil7aWYobS5icmFjZXM+MCYmQi50eXBlPT09XCJkb3RcIil7aWYoQi52YWx1ZT09PVwiLlwiKUIub3V0cHV0PWg7Y29uc3QgdD1OW04ubGVuZ3RoLTFdO0IudHlwZT1cImRvdHNcIjtCLm91dHB1dCs9RztCLnZhbHVlKz1HO3QuZG90cz10cnVlO2NvbnRpbnVlfWlmKG0uYnJhY2VzK20ucGFyZW5zPT09MCYmQi50eXBlIT09XCJib3NcIiYmQi50eXBlIT09XCJzbGFzaFwiKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0Omh9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwiZG90XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEc9PT1cIj9cIil7Y29uc3QgdD1CJiZCLnZhbHVlPT09XCIoXCI7aWYoIXQmJnUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJxbWFya1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudHlwZT09PVwicGFyZW5cIil7Y29uc3QgdD1EKCk7bGV0IGU9RztpZihCLnZhbHVlPT09XCIoXCImJiEvWyE9PDpdLy50ZXN0KHQpfHx0PT09XCI8XCImJiEvPChbIT1dfFxcdys+KS8udGVzdChyZW1haW5pbmcoKSkpe2U9YFxcXFwke0d9YH1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmV9KTtjb250aW51ZX1pZih1LmRvdCE9PXRydWUmJihCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiYm9zXCIpKXtwdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDp2fSk7Y29udGludWV9cHVzaCh7dHlwZTpcInFtYXJrXCIsdmFsdWU6RyxvdXRwdXQ6SH0pO2NvbnRpbnVlfWlmKEc9PT1cIiFcIil7aWYodS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIil7aWYoRCgyKSE9PVwiP1wifHwhL1shPTw6XS8udGVzdChEKDMpKSl7ZXh0Z2xvYk9wZW4oXCJuZWdhdGVcIixHKTtjb250aW51ZX19aWYodS5ub25lZ2F0ZSE9PXRydWUmJm0uaW5kZXg9PT0wKXtuZWdhdGUoKTtjb250aW51ZX19aWYoRz09PVwiK1wiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe2V4dGdsb2JPcGVuKFwicGx1c1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudmFsdWU9PT1cIihcInx8dS5yZWdleD09PWZhbHNlKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkcsb3V0cHV0Omd9KTtjb250aW51ZX1pZihCJiYoQi50eXBlPT09XCJicmFja2V0XCJ8fEIudHlwZT09PVwicGFyZW5cInx8Qi50eXBlPT09XCJicmFjZVwiKXx8bS5wYXJlbnM+MCl7cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpHfSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpnfSk7Y29udGludWV9aWYoRz09PVwiQFwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe3B1c2goe3R5cGU6XCJhdFwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRyE9PVwiKlwiKXtpZihHPT09XCIkXCJ8fEc9PT1cIl5cIil7Rz1gXFxcXCR7R31gfWNvbnN0IHQ9YS5leGVjKHJlbWFpbmluZygpKTtpZih0KXtHKz10WzBdO20uaW5kZXgrPXRbMF0ubGVuZ3RofXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImdsb2JzdGFyXCJ8fEIuc3Rhcj09PXRydWUpKXtCLnR5cGU9XCJzdGFyXCI7Qi5zdGFyPXRydWU7Qi52YWx1ZSs9RztCLm91dHB1dD1rO20uYmFja3RyYWNrPXRydWU7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9bGV0IGU9cmVtYWluaW5nKCk7aWYodS5ub2V4dGdsb2IhPT10cnVlJiYvXlxcKFteP10vLnRlc3QoZSkpe2V4dGdsb2JPcGVuKFwic3RhclwiLEcpO2NvbnRpbnVlfWlmKEIudHlwZT09PVwic3RhclwiKXtpZih1Lm5vZ2xvYnN0YXI9PT10cnVlKXtjb25zdW1lKEcpO2NvbnRpbnVlfWNvbnN0IG49Qi5wcmV2O2NvbnN0IG89bi5wcmV2O2NvbnN0IHM9bi50eXBlPT09XCJzbGFzaFwifHxuLnR5cGU9PT1cImJvc1wiO2NvbnN0IHI9byYmKG8udHlwZT09PVwic3RhclwifHxvLnR5cGU9PT1cImdsb2JzdGFyXCIpO2lmKHUuYmFzaD09PXRydWUmJighc3x8ZVswXSYmZVswXSE9PVwiL1wiKSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9Y29uc3QgYT1tLmJyYWNlcz4wJiYobi50eXBlPT09XCJjb21tYVwifHxuLnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IGk9dy5sZW5ndGgmJihuLnR5cGU9PT1cInBpcGVcInx8bi50eXBlPT09XCJwYXJlblwiKTtpZighcyYmbi50eXBlIT09XCJwYXJlblwiJiYhYSYmIWkpe3B1c2goe3R5cGU6XCJzdGFyXCIsdmFsdWU6RyxvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfXdoaWxlKGUuc2xpY2UoMCwzKT09PVwiLyoqXCIpe2NvbnN0IHU9dFttLmluZGV4KzRdO2lmKHUmJnUhPT1cIi9cIil7YnJlYWt9ZT1lLnNsaWNlKDMpO2NvbnN1bWUoXCIvKipcIiwzKX1pZihuLnR5cGU9PT1cImJvc1wiJiZlb3MoKSl7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLnZhbHVlKz1HO0Iub3V0cHV0PWdsb2JzdGFyKHUpO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiYhciYmZW9zKCkpe20ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLShuLm91dHB1dCtCLm91dHB1dCkubGVuZ3RoKTtuLm91dHB1dD1gKD86JHtuLm91dHB1dH1gO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSkrKHUuc3RyaWN0U2xhc2hlcz9cIilcIjpcInwkKVwiKTtCLnZhbHVlKz1HO20uZ2xvYnN0YXI9dHJ1ZTttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7Y29uc3VtZShHKTtjb250aW51ZX1pZihuLnR5cGU9PT1cInNsYXNoXCImJm4ucHJldi50eXBlIT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtjb25zdCB0PWVbMV0hPT12b2lkIDA/XCJ8JFwiOlwiXCI7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1gJHtnbG9ic3Rhcih1KX0ke2J9fCR7Yn0ke3R9KWA7Qi52YWx1ZSs9RzttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRytNKCkpO3B1c2goe3R5cGU6XCJzbGFzaFwiLHZhbHVlOlwiL1wiLG91dHB1dDpcIlwifSk7Y29udGludWV9aWYobi50eXBlPT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9YCg/Ol58JHtifXwke2dsb2JzdGFyKHUpfSR7Yn0pYDttLm91dHB1dD1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1tLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7Qi52YWx1ZSs9RzttLm91dHB1dCs9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj17dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDprfTtpZih1LmJhc2g9PT10cnVlKXtuLm91dHB1dD1cIi4qP1wiO2lmKEIudHlwZT09PVwiYm9zXCJ8fEIudHlwZT09PVwic2xhc2hcIil7bi5vdXRwdXQ9VCtuLm91dHB1dH1wdXNoKG4pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwiKSYmdS5yZWdleD09PXRydWUpe24ub3V0cHV0PUc7cHVzaChuKTtjb250aW51ZX1pZihtLmluZGV4PT09bS5zdGFydHx8Qi50eXBlPT09XCJzbGFzaFwifHxCLnR5cGU9PT1cImRvdFwiKXtpZihCLnR5cGU9PT1cImRvdFwiKXttLm91dHB1dCs9eDtCLm91dHB1dCs9eH1lbHNlIGlmKHUuZG90PT09dHJ1ZSl7bS5vdXRwdXQrPVM7Qi5vdXRwdXQrPVN9ZWxzZXttLm91dHB1dCs9VDtCLm91dHB1dCs9VH1pZihEKCkhPT1cIipcIil7bS5vdXRwdXQrPUM7Qi5vdXRwdXQrPUN9fXB1c2gobil9d2hpbGUobS5icmFja2V0cz4wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKTttLm91dHB1dD1vLmVzY2FwZUxhc3QobS5vdXRwdXQsXCJbXCIpO2RlY3JlbWVudChcImJyYWNrZXRzXCIpfXdoaWxlKG0ucGFyZW5zPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIilcIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIihcIik7ZGVjcmVtZW50KFwicGFyZW5zXCIpfXdoaWxlKG0uYnJhY2VzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIn1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIntcIik7ZGVjcmVtZW50KFwiYnJhY2VzXCIpfWlmKHUuc3RyaWN0U2xhc2hlcyE9PXRydWUmJihCLnR5cGU9PT1cInN0YXJcInx8Qi50eXBlPT09XCJicmFja2V0XCIpKXtwdXNoKHt0eXBlOlwibWF5YmVfc2xhc2hcIix2YWx1ZTpcIlwiLG91dHB1dDpgJHtifT9gfSl9aWYobS5iYWNrdHJhY2s9PT10cnVlKXttLm91dHB1dD1cIlwiO2Zvcihjb25zdCB0IG9mIG0udG9rZW5zKXttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtpZih0LnN1ZmZpeCl7bS5vdXRwdXQrPXQuc3VmZml4fX19cmV0dXJuIG19O3BhcnNlLmZhc3RwYXRocz0odCxlKT0+e2NvbnN0IHU9ey4uLmV9O2NvbnN0IHI9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2NvbnN0IGE9dC5sZW5ndGg7aWYoYT5yKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHthfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3J9YCl9dD1jW3RdfHx0O2NvbnN0e0RPVF9MSVRFUkFMOmksU0xBU0hfTElURVJBTDpwLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpmLE5PX0RPVDpBLE5PX0RPVFM6XyxOT19ET1RTX1NMQVNIOlIsU1RBUjpFLFNUQVJUX0FOQ0hPUjpofT1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IGc9dS5kb3Q/XzpBO2NvbnN0IGI9dS5kb3Q/UjpBO2NvbnN0IEM9dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IHk9e25lZ2F0ZWQ6ZmFsc2UscHJlZml4OlwiXCJ9O2xldCAkPXUuYmFzaD09PXRydWU/XCIuKj9cIjpFO2lmKHUuY2FwdHVyZSl7JD1gKCR7JH0pYH1jb25zdCBnbG9ic3Rhcj10PT57aWYodC5ub2dsb2JzdGFyPT09dHJ1ZSlyZXR1cm4gJDtyZXR1cm5gKCR7Q30oPzooPyEke2h9JHt0LmRvdD9mOml9KS4pKj8pYH07Y29uc3QgY3JlYXRlPXQ9Pntzd2l0Y2godCl7Y2FzZVwiKlwiOnJldHVybmAke2d9JHtsfSR7JH1gO2Nhc2VcIi4qXCI6cmV0dXJuYCR7aX0ke2x9JHskfWA7Y2FzZVwiKi4qXCI6cmV0dXJuYCR7Z30keyR9JHtpfSR7bH0keyR9YDtjYXNlXCIqLypcIjpyZXR1cm5gJHtnfSR7JH0ke3B9JHtsfSR7Yn0keyR9YDtjYXNlXCIqKlwiOnJldHVybiBnK2dsb2JzdGFyKHUpO2Nhc2VcIioqLypcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7bH0keyR9YDtjYXNlXCIqKi8qLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIioqLy4qXCI6cmV0dXJuYCg/OiR7Z30ke2dsb2JzdGFyKHUpfSR7cH0pPyR7aX0ke2x9JHskfWA7ZGVmYXVsdDp7Y29uc3QgZT0vXiguKj8pXFwuKFxcdyspJC8uZXhlYyh0KTtpZighZSlyZXR1cm47Y29uc3QgdT1jcmVhdGUoZVsxXSk7aWYoIXUpcmV0dXJuO3JldHVybiB1K2krZVsyXX19fTtjb25zdCB4PW8ucmVtb3ZlUHJlZml4KHQseSk7bGV0IFM9Y3JlYXRlKHgpO2lmKFMmJnUuc3RyaWN0U2xhc2hlcyE9PXRydWUpe1MrPWAke3B9P2B9cmV0dXJuIFN9O3QuZXhwb3J0cz1wYXJzZX0sNTEwOih0LGUsdSk9Pntjb25zdCBuPXUoNzE2KTtjb25zdCBvPXUoNjk3KTtjb25zdCBzPXUoOTYpO2NvbnN0IHI9dSgxNTQpO2NvbnN0IGlzT2JqZWN0PXQ9PnQmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7Y29uc3QgcGljb21hdGNoPSh0LGUsdT1mYWxzZSk9PntpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBuPXQubWFwKCh0PT5waWNvbWF0Y2godCxlLHUpKSk7Y29uc3QgYXJyYXlNYXRjaGVyPXQ9Pntmb3IoY29uc3QgZSBvZiBuKXtjb25zdCB1PWUodCk7aWYodSlyZXR1cm4gdX1yZXR1cm4gZmFsc2V9O3JldHVybiBhcnJheU1hdGNoZXJ9Y29uc3Qgbj1pc09iamVjdCh0KSYmdC50b2tlbnMmJnQuaW5wdXQ7aWYodD09PVwiXCJ8fHR5cGVvZiB0IT09XCJzdHJpbmdcIiYmIW4pe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBwYXR0ZXJuIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1jb25zdCBvPWV8fHt9O2NvbnN0IHM9by53aW5kb3dzO2NvbnN0IHI9bj9waWNvbWF0Y2guY29tcGlsZVJlKHQsZSk6cGljb21hdGNoLm1ha2VSZSh0LGUsZmFsc2UsdHJ1ZSk7Y29uc3QgYT1yLnN0YXRlO2RlbGV0ZSByLnN0YXRlO2xldCBpc0lnbm9yZWQ9KCk9PmZhbHNlO2lmKG8uaWdub3JlKXtjb25zdCB0PXsuLi5lLGlnbm9yZTpudWxsLG9uTWF0Y2g6bnVsbCxvblJlc3VsdDpudWxsfTtpc0lnbm9yZWQ9cGljb21hdGNoKG8uaWdub3JlLHQsdSl9Y29uc3QgbWF0Y2hlcj0odSxuPWZhbHNlKT0+e2NvbnN0e2lzTWF0Y2g6aSxtYXRjaDpjLG91dHB1dDpwfT1waWNvbWF0Y2gudGVzdCh1LHIsZSx7Z2xvYjp0LHBvc2l4OnN9KTtjb25zdCBsPXtnbG9iOnQsc3RhdGU6YSxyZWdleDpyLHBvc2l4OnMsaW5wdXQ6dSxvdXRwdXQ6cCxtYXRjaDpjLGlzTWF0Y2g6aX07aWYodHlwZW9mIG8ub25SZXN1bHQ9PT1cImZ1bmN0aW9uXCIpe28ub25SZXN1bHQobCl9aWYoaT09PWZhbHNlKXtsLmlzTWF0Y2g9ZmFsc2U7cmV0dXJuIG4/bDpmYWxzZX1pZihpc0lnbm9yZWQodSkpe2lmKHR5cGVvZiBvLm9uSWdub3JlPT09XCJmdW5jdGlvblwiKXtvLm9uSWdub3JlKGwpfWwuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKHR5cGVvZiBvLm9uTWF0Y2g9PT1cImZ1bmN0aW9uXCIpe28ub25NYXRjaChsKX1yZXR1cm4gbj9sOnRydWV9O2lmKHUpe21hdGNoZXIuc3RhdGU9YX1yZXR1cm4gbWF0Y2hlcn07cGljb21hdGNoLnRlc3Q9KHQsZSx1LHtnbG9iOm4scG9zaXg6b309e30pPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmdcIil9aWYodD09PVwiXCIpe3JldHVybntpc01hdGNoOmZhbHNlLG91dHB1dDpcIlwifX1jb25zdCByPXV8fHt9O2NvbnN0IGE9ci5mb3JtYXR8fChvP3MudG9Qb3NpeFNsYXNoZXM6bnVsbCk7bGV0IGk9dD09PW47bGV0IGM9aSYmYT9hKHQpOnQ7aWYoaT09PWZhbHNlKXtjPWE/YSh0KTp0O2k9Yz09PW59aWYoaT09PWZhbHNlfHxyLmNhcHR1cmU9PT10cnVlKXtpZihyLm1hdGNoQmFzZT09PXRydWV8fHIuYmFzZW5hbWU9PT10cnVlKXtpPXBpY29tYXRjaC5tYXRjaEJhc2UodCxlLHUsbyl9ZWxzZXtpPWUuZXhlYyhjKX19cmV0dXJue2lzTWF0Y2g6Qm9vbGVhbihpKSxtYXRjaDppLG91dHB1dDpjfX07cGljb21hdGNoLm1hdGNoQmFzZT0odCxlLHUpPT57Y29uc3Qgbj1lIGluc3RhbmNlb2YgUmVnRXhwP2U6cGljb21hdGNoLm1ha2VSZShlLHUpO3JldHVybiBuLnRlc3Qocy5iYXNlbmFtZSh0KSl9O3BpY29tYXRjaC5pc01hdGNoPSh0LGUsdSk9PnBpY29tYXRjaChlLHUpKHQpO3BpY29tYXRjaC5wYXJzZT0odCxlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQubWFwKCh0PT5waWNvbWF0Y2gucGFyc2UodCxlKSkpO3JldHVybiBvKHQsey4uLmUsZmFzdHBhdGhzOmZhbHNlfSl9O3BpY29tYXRjaC5zY2FuPSh0LGUpPT5uKHQsZSk7cGljb21hdGNoLmNvbXBpbGVSZT0odCxlLHU9ZmFsc2Usbj1mYWxzZSk9PntpZih1PT09dHJ1ZSl7cmV0dXJuIHQub3V0cHV0fWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgcj1vLmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IGE9YCR7c30oPzoke3Qub3V0cHV0fSkke3J9YDtpZih0JiZ0Lm5lZ2F0ZWQ9PT10cnVlKXthPWBeKD8hJHthfSkuKiRgfWNvbnN0IGk9cGljb21hdGNoLnRvUmVnZXgoYSxlKTtpZihuPT09dHJ1ZSl7aS5zdGF0ZT10fXJldHVybiBpfTtwaWNvbWF0Y2gubWFrZVJlPSh0LGU9e30sdT1mYWxzZSxuPWZhbHNlKT0+e2lmKCF0fHx0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIG5vbi1lbXB0eSBzdHJpbmdcIil9bGV0IHM9e25lZ2F0ZWQ6ZmFsc2UsZmFzdHBhdGhzOnRydWV9O2lmKGUuZmFzdHBhdGhzIT09ZmFsc2UmJih0WzBdPT09XCIuXCJ8fHRbMF09PT1cIipcIikpe3Mub3V0cHV0PW8uZmFzdHBhdGhzKHQsZSl9aWYoIXMub3V0cHV0KXtzPW8odCxlKX1yZXR1cm4gcGljb21hdGNoLmNvbXBpbGVSZShzLGUsdSxuKX07cGljb21hdGNoLnRvUmVnZXg9KHQsZSk9Pnt0cnl7Y29uc3QgdT1lfHx7fTtyZXR1cm4gbmV3IFJlZ0V4cCh0LHUuZmxhZ3N8fCh1Lm5vY2FzZT9cImlcIjpcIlwiKSl9Y2F0Y2godCl7aWYoZSYmZS5kZWJ1Zz09PXRydWUpdGhyb3cgdDtyZXR1cm4vJF4vfX07cGljb21hdGNoLmNvbnN0YW50cz1yO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDcxNjoodCxlLHUpPT57Y29uc3Qgbj11KDk2KTtjb25zdHtDSEFSX0FTVEVSSVNLOm8sQ0hBUl9BVDpzLENIQVJfQkFDS1dBUkRfU0xBU0g6cixDSEFSX0NPTU1BOmEsQ0hBUl9ET1Q6aSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6YyxDSEFSX0ZPUldBUkRfU0xBU0g6cCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6bCxDSEFSX0xFRlRfUEFSRU5USEVTRVM6ZixDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6QSxDSEFSX1BMVVM6XyxDSEFSX1FVRVNUSU9OX01BUks6UixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpoLENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6Z309dSgxNTQpO2NvbnN0IGlzUGF0aFNlcGFyYXRvcj10PT50PT09cHx8dD09PXI7Y29uc3QgZGVwdGg9dD0+e2lmKHQuaXNQcmVmaXghPT10cnVlKXt0LmRlcHRoPXQuaXNHbG9ic3Rhcj9JbmZpbml0eToxfX07Y29uc3Qgc2Nhbj0odCxlKT0+e2NvbnN0IHU9ZXx8e307Y29uc3QgYj10Lmxlbmd0aC0xO2NvbnN0IEM9dS5wYXJ0cz09PXRydWV8fHUuc2NhblRvRW5kPT09dHJ1ZTtjb25zdCB5PVtdO2NvbnN0ICQ9W107Y29uc3QgeD1bXTtsZXQgUz10O2xldCBIPS0xO2xldCB2PTA7bGV0IGQ9MDtsZXQgTD1mYWxzZTtsZXQgVD1mYWxzZTtsZXQgTz1mYWxzZTtsZXQgaz1mYWxzZTtsZXQgbT1mYWxzZTtsZXQgdz1mYWxzZTtsZXQgTj1mYWxzZTtsZXQgST1mYWxzZTtsZXQgQj1mYWxzZTtsZXQgRz1mYWxzZTtsZXQgRD0wO2xldCBNO2xldCBQO2xldCBLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtjb25zdCBlb3M9KCk9Pkg+PWI7Y29uc3QgcGVlaz0oKT0+Uy5jaGFyQ29kZUF0KEgrMSk7Y29uc3QgYWR2YW5jZT0oKT0+e009UDtyZXR1cm4gUy5jaGFyQ29kZUF0KCsrSCl9O3doaWxlKEg8Yil7UD1hZHZhbmNlKCk7bGV0IHQ7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2lmKFA9PT1sKXt3PXRydWV9Y29udGludWV9aWYodz09PXRydWV8fFA9PT1sKXtEKys7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1sKXtEKys7Y29udGludWV9aWYodyE9PXRydWUmJlA9PT1pJiYoUD1hZHZhbmNlKCkpPT09aSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZih3IT09dHJ1ZSYmUD09PWEpe0w9Sy5pc0JyYWNlPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PUUpe0QtLTtpZihEPT09MCl7dz1mYWxzZTtMPUsuaXNCcmFjZT10cnVlO0c9dHJ1ZTticmVha319fWlmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09cCl7eS5wdXNoKEgpOyQucHVzaChLKTtLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtpZihHPT09dHJ1ZSljb250aW51ZTtpZihNPT09aSYmSD09PXYrMSl7dis9Mjtjb250aW51ZX1kPUgrMTtjb250aW51ZX1pZih1Lm5vZXh0IT09dHJ1ZSl7Y29uc3QgdD1QPT09X3x8UD09PXN8fFA9PT1vfHxQPT09Unx8UD09PWM7aWYodD09PXRydWUmJnBlZWsoKT09PWYpe089Sy5pc0dsb2I9dHJ1ZTtrPUsuaXNFeHRnbG9iPXRydWU7Rz10cnVlO2lmKFA9PT1jJiZIPT09dil7Qj10cnVlfWlmKEM9PT10cnVlKXt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTtQPWFkdmFuY2UoKTtjb250aW51ZX1pZihQPT09aCl7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9fWlmKFA9PT1vKXtpZihNPT09byltPUsuaXNHbG9ic3Rhcj10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1SKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09QSl7d2hpbGUoZW9zKCkhPT10cnVlJiYodD1hZHZhbmNlKCkpKXtpZih0PT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKHQ9PT1nKXtUPUsuaXNCcmFja2V0PXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHUubm9uZWdhdGUhPT10cnVlJiZQPT09YyYmSD09PXYpe0k9Sy5uZWdhdGVkPXRydWU7disrO2NvbnRpbnVlfWlmKHUubm9wYXJlbiE9PXRydWUmJlA9PT1mKXtPPUsuaXNHbG9iPXRydWU7aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PWYpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtHPXRydWU7YnJlYWt9fWNvbnRpbnVlfWJyZWFrfWlmKE89PT10cnVlKXtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfX1pZih1Lm5vZXh0PT09dHJ1ZSl7az1mYWxzZTtPPWZhbHNlfWxldCBVPVM7bGV0IFg9XCJcIjtsZXQgRj1cIlwiO2lmKHY+MCl7WD1TLnNsaWNlKDAsdik7Uz1TLnNsaWNlKHYpO2QtPXZ9aWYoVSYmTz09PXRydWUmJmQ+MCl7VT1TLnNsaWNlKDAsZCk7Rj1TLnNsaWNlKGQpfWVsc2UgaWYoTz09PXRydWUpe1U9XCJcIjtGPVN9ZWxzZXtVPVN9aWYoVSYmVSE9PVwiXCImJlUhPT1cIi9cIiYmVSE9PVMpe2lmKGlzUGF0aFNlcGFyYXRvcihVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpKXtVPVUuc2xpY2UoMCwtMSl9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtpZihGKUY9bi5yZW1vdmVCYWNrc2xhc2hlcyhGKTtpZihVJiZOPT09dHJ1ZSl7VT1uLnJlbW92ZUJhY2tzbGFzaGVzKFUpfX1jb25zdCBRPXtwcmVmaXg6WCxpbnB1dDp0LHN0YXJ0OnYsYmFzZTpVLGdsb2I6Rixpc0JyYWNlOkwsaXNCcmFja2V0OlQsaXNHbG9iOk8saXNFeHRnbG9iOmssaXNHbG9ic3RhcjptLG5lZ2F0ZWQ6SSxuZWdhdGVkRXh0Z2xvYjpCfTtpZih1LnRva2Vucz09PXRydWUpe1EubWF4RGVwdGg9MDtpZighaXNQYXRoU2VwYXJhdG9yKFApKXskLnB1c2goSyl9US50b2tlbnM9JH1pZih1LnBhcnRzPT09dHJ1ZXx8dS50b2tlbnM9PT10cnVlKXtsZXQgZTtmb3IobGV0IG49MDtuPHkubGVuZ3RoO24rKyl7Y29uc3Qgbz1lP2UrMTp2O2NvbnN0IHM9eVtuXTtjb25zdCByPXQuc2xpY2UobyxzKTtpZih1LnRva2Vucyl7aWYobj09PTAmJnYhPT0wKXskW25dLmlzUHJlZml4PXRydWU7JFtuXS52YWx1ZT1YfWVsc2V7JFtuXS52YWx1ZT1yfWRlcHRoKCRbbl0pO1EubWF4RGVwdGgrPSRbbl0uZGVwdGh9aWYobiE9PTB8fHIhPT1cIlwiKXt4LnB1c2gocil9ZT1zfWlmKGUmJmUrMTx0Lmxlbmd0aCl7Y29uc3Qgbj10LnNsaWNlKGUrMSk7eC5wdXNoKG4pO2lmKHUudG9rZW5zKXskWyQubGVuZ3RoLTFdLnZhbHVlPW47ZGVwdGgoJFskLmxlbmd0aC0xXSk7US5tYXhEZXB0aCs9JFskLmxlbmd0aC0xXS5kZXB0aH19US5zbGFzaGVzPXk7US5wYXJ0cz14fXJldHVybiBRfTt0LmV4cG9ydHM9c2Nhbn0sOTY6KHQsZSx1KT0+e2NvbnN0e1JFR0VYX0JBQ0tTTEFTSDpuLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6byxSRUdFWF9TUEVDSUFMX0NIQVJTOnMsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6cn09dSgxNTQpO2UuaXNPYmplY3Q9dD0+dCE9PW51bGwmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7ZS5oYXNSZWdleENoYXJzPXQ9PnMudGVzdCh0KTtlLmlzUmVnZXhDaGFyPXQ9PnQubGVuZ3RoPT09MSYmZS5oYXNSZWdleENoYXJzKHQpO2UuZXNjYXBlUmVnZXg9dD0+dC5yZXBsYWNlKHIsXCJcXFxcJDFcIik7ZS50b1Bvc2l4U2xhc2hlcz10PT50LnJlcGxhY2UobixcIi9cIik7ZS5yZW1vdmVCYWNrc2xhc2hlcz10PT50LnJlcGxhY2UobywodD0+dD09PVwiXFxcXFwiP1wiXCI6dCkpO2UuZXNjYXBlTGFzdD0odCx1LG4pPT57Y29uc3Qgbz10Lmxhc3RJbmRleE9mKHUsbik7aWYobz09PS0xKXJldHVybiB0O2lmKHRbby0xXT09PVwiXFxcXFwiKXJldHVybiBlLmVzY2FwZUxhc3QodCx1LG8tMSk7cmV0dXJuYCR7dC5zbGljZSgwLG8pfVxcXFwke3Quc2xpY2Uobyl9YH07ZS5yZW1vdmVQcmVmaXg9KHQsZT17fSk9PntsZXQgdT10O2lmKHUuc3RhcnRzV2l0aChcIi4vXCIpKXt1PXUuc2xpY2UoMik7ZS5wcmVmaXg9XCIuL1wifXJldHVybiB1fTtlLndyYXBPdXRwdXQ9KHQsZT17fSx1PXt9KT0+e2NvbnN0IG49dS5jb250YWlucz9cIlwiOlwiXlwiO2NvbnN0IG89dS5jb250YWlucz9cIlwiOlwiJFwiO2xldCBzPWAke259KD86JHt0fSkke299YDtpZihlLm5lZ2F0ZWQ9PT10cnVlKXtzPWAoPzpeKD8hJHtzfSkuKiQpYH1yZXR1cm4gc307ZS5iYXNlbmFtZT0odCx7d2luZG93czplfT17fSk9Pntjb25zdCB1PXQuc3BsaXQoZT8vW1xcXFwvXS86XCIvXCIpO2NvbnN0IG49dVt1Lmxlbmd0aC0xXTtpZihuPT09XCJcIil7cmV0dXJuIHVbdS5sZW5ndGgtMl19cmV0dXJuIG59fX07dmFyIGU9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh1KXt2YXIgbj1lW3VdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIG89ZVt1XT17ZXhwb3J0czp7fX07dmFyIHM9dHJ1ZTt0cnl7dFt1XShvLG8uZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtzPWZhbHNlfWZpbmFsbHl7aWYocylkZWxldGUgZVt1XX1yZXR1cm4gby5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdT1fX25jY3dwY2tfcmVxdWlyZV9fKDE3MCk7bW9kdWxlLmV4cG9ydHM9dX0pKCk7Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n"));
|
|
182
|
+
|
|
183
|
+
/***/ }),
|
|
184
|
+
|
|
32
185
|
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
|
|
33
186
|
/*!****************************************************************************************!*\
|
|
34
187
|
!*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
|
|
@@ -49,6 +202,149 @@ eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.de
|
|
|
49
202
|
"use strict";
|
|
50
203
|
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
204
|
|
|
205
|
+
/***/ }),
|
|
206
|
+
|
|
207
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js":
|
|
208
|
+
/*!*************************************************************************!*\
|
|
209
|
+
!*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***!
|
|
210
|
+
\*************************************************************************/
|
|
211
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
212
|
+
|
|
213
|
+
"use strict";
|
|
214
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = 'AmpStateContext';\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQW9CLEVBQW1CO0lBQ3pDSCxnQkFBZ0JNLFdBQVcsR0FBRztBQUNoQyIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvc3JjL3NoYXJlZC9saWIvYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgY29uc3QgQW1wU3RhdGVDb250ZXh0OiBSZWFjdC5Db250ZXh0PGFueT4gPSBSZWFjdC5jcmVhdGVDb250ZXh0KHt9KVxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBBbXBTdGF0ZUNvbnRleHQuZGlzcGxheU5hbWUgPSAnQW1wU3RhdGVDb250ZXh0J1xufVxuIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n"));
|
|
215
|
+
|
|
216
|
+
/***/ }),
|
|
217
|
+
|
|
218
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js":
|
|
219
|
+
/*!*******************************************************!*\
|
|
220
|
+
!*** ./node_modules/next/dist/shared/lib/amp-mode.js ***!
|
|
221
|
+
\*******************************************************/
|
|
222
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
223
|
+
|
|
224
|
+
"use strict";
|
|
225
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkIsbUJBSXhCLENBQUMsSUFKdUI7SUFLMUIsT0FBT0YsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0luQW1wTW9kZSh7XG4gIGFtcEZpcnN0ID0gZmFsc2UsXG4gIGh5YnJpZCA9IGZhbHNlLFxuICBoYXNRdWVyeSA9IGZhbHNlLFxufSA9IHt9KTogYm9vbGVhbiB7XG4gIHJldHVybiBhbXBGaXJzdCB8fCAoaHlicmlkICYmIGhhc1F1ZXJ5KVxufVxuIl0sIm5hbWVzIjpbImlzSW5BbXBNb2RlIiwiYW1wRmlyc3QiLCJoeWJyaWQiLCJoYXNRdWVyeSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n"));
|
|
226
|
+
|
|
227
|
+
/***/ }),
|
|
228
|
+
|
|
229
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js":
|
|
230
|
+
/*!************************************************************!*\
|
|
231
|
+
!*** ./node_modules/next/dist/shared/lib/get-img-props.js ***!
|
|
232
|
+
\************************************************************/
|
|
233
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
234
|
+
|
|
235
|
+
"use strict";
|
|
236
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n '-moz-initial',\n 'fill',\n 'none',\n 'scale-down',\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return !!src && typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === 'undefined') {\n return x;\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === 'w' ? w : i + 1) + kind).join(', '),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = 'empty', blurDataURL, fetchPriority, decoding = 'async', layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if ('allSizes' in c) {\n config = c;\n } else {\n var _c_qualities;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes,\n qualities\n };\n }\n if (typeof defaultLoader === 'undefined') {\n throw Object.defineProperty(new Error('images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'), \"__NEXT_ERROR_CODE\", {\n value: \"E163\",\n enumerable: false,\n configurable: true\n });\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader;\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\"), \"__NEXT_ERROR_CODE\", {\n value: \"E252\",\n enumerable: false,\n configurable: true\n });\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === 'fill') {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: '100%',\n height: 'auto'\n },\n responsive: {\n width: '100%',\n height: 'auto'\n }\n };\n const layoutToSizes = {\n responsive: '100vw',\n fill: '100vw'\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = '';\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw Object.defineProperty(new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData)), \"__NEXT_ERROR_CODE\", {\n value: \"E460\",\n enumerable: false,\n configurable: true\n });\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw Object.defineProperty(new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData)), \"__NEXT_ERROR_CODE\", {\n value: \"E48\",\n enumerable: false,\n configurable: true\n });\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && !config.dangerouslyAllowSVG && src.split('?', 1)[0].endsWith('.svg')) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n const qualityInt = getInt(quality);\n if (true) {\n var _config_localPatterns;\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw Object.defineProperty(new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\"), \"__NEXT_ERROR_CODE\", {\n value: \"E500\",\n enumerable: false,\n configurable: true\n });\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E96\",\n enumerable: false,\n configurable: true\n });\n }\n if (height) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E115\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.position) && style.position !== 'absolute') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E216\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.width) && style.width !== '100%') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E73\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.height) && style.height !== '100%') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E404\",\n enumerable: false,\n configurable: true\n });\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing required \"width\" property.'), \"__NEXT_ERROR_CODE\", {\n value: \"E451\",\n enumerable: false,\n configurable: true\n });\n } else if (isNaN(widthInt)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E66\",\n enumerable: false,\n configurable: true\n });\n }\n if (typeof heightInt === 'undefined') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing required \"height\" property.'), \"__NEXT_ERROR_CODE\", {\n value: \"E397\",\n enumerable: false,\n configurable: true\n });\n } else if (isNaN(heightInt)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E444\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.'), \"__NEXT_ERROR_CODE\", {\n value: \"E176\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.'), \"__NEXT_ERROR_CODE\", {\n value: \"E21\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(',') + \".\"), \"__NEXT_ERROR_CODE\", {\n value: \"E357\",\n enumerable: false,\n configurable: true\n });\n }\n if (priority && loading === 'lazy') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E218\",\n enumerable: false,\n configurable: true\n });\n }\n if (placeholder !== 'empty' && placeholder !== 'blur' && !placeholder.startsWith('data:image/')) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E431\",\n enumerable: false,\n configurable: true\n });\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (qualityInt && qualityInt !== 75 && !config.qualities) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using quality \"' + qualityInt + '\" which is not configured in images.qualities. This config will be required starting in Next.js 16.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities\");\n }\n if (src.startsWith('/') && src.includes('?') && (!(config == null ? void 0 : (_config_localPatterns = config.localPatterns) == null ? void 0 : _config_localPatterns.length) || config.localPatterns.length === 1 && config.localPatterns[0].pathname === '/_next/static/media/**')) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using a query string which is not configured in images.localPatterns. This config will be required starting in Next.js 16.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns\");\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(',') + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url'), \"__NEXT_ERROR_CODE\", {\n value: \"E371\",\n enumerable: false,\n configurable: true\n });\n }\n if ('ref' in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if ( true && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === 'empty' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: 'transparent'\n }, style);\n const backgroundImage = !blurComplete && placeholder !== 'empty' ? placeholder === 'blur' ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '',\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(imgStyle.objectFit) ? imgStyle.objectFit : imgStyle.objectFit === 'fill' ? '100% 100%' // the background-size equivalent of `fill`\n : 'cover';\n let placeholderStyle = backgroundImage ? {\n backgroundSize,\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === 'blur' && (blurDataURL == null ? void 0 : blurDataURL.startsWith('/'))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (true) {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? 'lazy' : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBaVFnQkE7OztlQUFBQTs7O3NDQWpRUzswQ0FDTzt5Q0FDRztBQStFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBRXpELDhEQUE4RDtBQUM5RCxNQUFNQyxpQ0FBaUM7SUFDckM7SUFDQTtJQUNBO0lBQ0E7SUFDQUQ7Q0FDRDtBQTRCRCxTQUFTRSxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBUUEsSUFBc0JDLE9BQU8sS0FBS0o7QUFDNUM7QUFFQSxTQUFTSyxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBUUEsSUFBd0JBLEdBQUcsS0FBS0g7QUFDMUM7QUFFQSxTQUFTTSxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLENBQUMsQ0FBQ0EsT0FDRixPQUFPQSxRQUFRLFlBQ2RELENBQUFBLGdCQUFnQkMsUUFDZkUsa0JBQWtCRixJQUFBQSxDQUFtQjtBQUUzQztBQUVBLE1BQU1JLFVBQVUsSUFBSUM7QUFJcEIsSUFBSUM7QUFFSixTQUFTQyxPQUFPQyxDQUFVO0lBQ3hCLElBQUksT0FBT0EsTUFBTSxhQUFhO1FBQzVCLE9BQU9BO0lBQ1Q7SUFDQSxJQUFJLE9BQU9BLE1BQU0sVUFBVTtRQUN6QixPQUFPQyxPQUFPQyxRQUFRLENBQUNGLEtBQUtBLElBQUlHO0lBQ2xDO0lBQ0EsSUFBSSxPQUFPSCxNQUFNLFlBQVksV0FBV0ksSUFBSSxDQUFDSixJQUFJO1FBQy9DLE9BQU9LLFNBQVNMLEdBQUc7SUFDckI7SUFDQSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUCxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDO0lBSUEsSUFBSUYsT0FBTztRQUNULHlEQUF5RDtRQUN6RCxNQUFNRyxrQkFBa0I7UUFDeEIsTUFBTUMs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NkIsRUFBRTtZQUNqQyxJQUFJaUQ7WUFDSixJQUFJO2dCQUNGQSxVQUFVLElBQUluQyxJQUFJa0MsY0FBYzFKLEdBQUc7WUFDckMsRUFBRSxPQUFPNEosR0FBRztnQkFDVkQsVUFBVSxJQUFJbkMsSUFBSWtDLGNBQWMxSixHQUFHLEVBQUUrSCxPQUFPOEIsUUFBUSxDQUFDQyxJQUFJO1lBQzNEO1lBQ0ExSixRQUFRMkosR0FBRyxDQUFDSixRQUFRRyxJQUFJLEVBQUU7Z0JBQUU5SjtnQkFBSytDO2dCQUFVUztZQUFZO1FBQ3pEO0lBQ0Y7SUFFQSxNQUFNd0csUUFBa0I7UUFDdEIsR0FBRy9GLElBQUk7UUFDUGpCLFNBQVNvRCxTQUFTLFNBQVNwRDtRQUMzQlU7UUFDQTNDLE9BQU80RTtRQUNQekMsUUFBUTBDO1FBQ1JqQztRQUNBVjtRQUNBRyxPQUFPO1lBQUUsR0FBR3lGLFFBQVE7WUFBRSxHQUFHVSxnQkFBZ0I7UUFBQztRQUMxQ3ZJLE9BQU8wSSxjQUFjMUksS0FBSztRQUMxQjBCLFFBQVFnSCxjQUFjaEgsTUFBTTtRQUM1QjFDLEtBQUtxRCxlQUFlcUcsY0FBYzFKLEdBQUc7SUFDdkM7SUFDQSxNQUFNaUssT0FBTztRQUFFMUg7UUFBYVE7UUFBVVM7UUFBYUw7SUFBSztJQUN4RCxPQUFPO1FBQUU2RztRQUFPQztJQUFLO0FBQ3ZCIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdhcm5PbmNlIH0gZnJvbSAnLi91dGlscy93YXJuLW9uY2UnXG5pbXBvcnQgeyBnZXRJbWFnZUJsdXJTdmcgfSBmcm9tICcuL2ltYWdlLWJsdXItc3ZnJ1xuaW1wb3J0IHsgaW1hZ2VDb25maWdEZWZhdWx0IH0gZnJvbSAnLi9pbWFnZS1jb25maWcnXG5pbXBvcnQgdHlwZSB7XG4gIEltYWdlQ29uZmlnQ29tcGxldGUsXG4gIEltYWdlTG9hZGVyUHJvcHMsXG4gIEltYWdlTG9hZGVyUHJvcHNXaXRoQ29uZmlnLFxufSBmcm9tICcuL2ltYWdlLWNvbmZpZydcblxuaW1wb3J0IHR5cGUgeyBDU1NQcm9wZXJ0aWVzLCBKU1ggfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNJbWFnZURhdGEge1xuICBzcmM6IHN0cmluZ1xuICBoZWlnaHQ6IG51bWJlclxuICB3aWR0aDogbnVtYmVyXG4gIGJsdXJEYXRhVVJMPzogc3RyaW5nXG4gIGJsdXJXaWR0aD86IG51bWJlclxuICBibHVySGVpZ2h0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGljUmVxdWlyZSB7XG4gIGRlZmF1bHQ6IFN0YXRpY0ltYWdlRGF0YVxufVxuXG5leHBvcnQgdHlwZSBTdGF0aWNJbXBvcnQgPSBTdGF0aWNSZXF1aXJlIHwgU3RhdGljSW1hZ2VEYXRhXG5cbmV4cG9ydCB0eXBlIEltYWdlUHJvcHMgPSBPbWl0PFxuICBKU1guSW50cmluc2ljRWxlbWVudHNbJ2ltZyddLFxuICAnc3JjJyB8ICdzcmNTZXQnIHwgJ3JlZicgfCAnYWx0JyB8ICd3aWR0aCcgfCAnaGVpZ2h0JyB8ICdsb2FkaW5nJ1xuPiAmIHtcbiAgc3JjOiBzdHJpbmcgfCBTdGF0aWNJbXBvcnRcbiAgYWx0OiBzdHJpbmdcbiAgd2lkdGg/OiBudW1iZXIgfCBgJHtudW1iZXJ9YFxuICBoZWlnaHQ/OiBudW1iZXIgfCBgJHtudW1iZXJ9YFxuICBmaWxsPzogYm9vbGVhblxuICBsb2FkZXI/OiBJbWFnZUxvYWRlclxuICBxdWFsaXR5PzogbnVtYmVyIHwgYCR7bnVtYmVyfWBcbiAgcHJpb3JpdHk/OiBib29sZWFuXG4gIGxvYWRpbmc/OiBMb2FkaW5nVmFsdWVcbiAgcGxhY2Vob2xkZXI/OiBQbGFjZWhvbGRlclZhbHVlXG4gIGJsdXJEYXRhVVJMPzogc3RyaW5nXG4gIHVub3B0aW1pemVkPzogYm9vbGVhblxuICBvdmVycmlkZVNyYz86IHN0cmluZ1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBvbkxvYWRgIGluc3RlYWQuXG4gICAqIEBzZWUgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvY29tcG9uZW50cy9pbWFnZSNvbmxvYWRcbiAgICovXG4gIG9uTG9hZGluZ0NvbXBsZXRlPzogT25Mb2FkaW5nQ29tcGxldGVcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZmlsbGAgcHJvcCBpbnN0ZWFkIG9mIGBsYXlvdXQ9XCJmaWxsXCJgIG9yIGNoYW5nZSBpbXBvcnQgdG8gYG5leHQvbGVnYWN5L2ltYWdlYC5cbiAgICogQHNlZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGVnYWN5L2ltYWdlXG4gICAqL1xuICBsYXlvdXQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgc3R5bGVgIHByb3AgaW5zdGVhZC5cbiAgICovXG4gIG9iamVjdEZpdD86IHN0cmluZ1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdHlsZWAgcHJvcCBpbnN0ZWFkLlxuICAgKi9cbiAgb2JqZWN0UG9zaXRpb24/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgcHJvcCBkb2VzIG5vdCBkbyBhbnl0aGluZy5cbiAgICovXG4gIGxhenlCb3VuZGFyeT86IHN0cmluZ1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wIGRvZXMgbm90IGRvIGFueXRoaW5nLlxuICAgKi9cbiAgbGF6eVJvb3Q/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSW1nUHJvcHMgPSBPbWl0PEltYWdlUHJvcHMsICdzcmMnIHwgJ2xvYWRlcic+ICYge1xuICBsb2FkaW5nOiBMb2FkaW5nVmFsdWVcbiAgd2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZFxuICBoZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICBzdHlsZTogTm9uTnVsbGFibGU8SlNYLkludHJpbnNpY0VsZW1lbnRzWydpbWcnXVsnc3R5bGUnXT5cbiAgc2l6ZXM6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBzcmNTZXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBzcmM6IHN0cmluZ1xufVxuXG5jb25zdCBWQUxJRF9MT0FESU5HX1ZBTFVFUyA9IFsnbGF6eScsICdlYWdlcicsIHVuZGVmaW5lZF0gYXMgY29uc3RcblxuLy8gT2JqZWN0LWZpdCB2YWx1ZXMgdGhhdCBhcmUgbm90IHZhbGlkIGJhY2tncm91bmQtc2l6ZSB2YWx1ZXNcbmNvbnN0IElOVkFMSURfQkFDS0dST1VORF9TSVpFX1ZBTFVFUyA9IFtcbiAgJy1tb3otaW5pdGlhbCcsXG4gICdmaWxsJyxcbiAgJ25vbmUnLFxuICAnc2NhbGUtZG93bicsXG4gIHVuZGVmaW5lZCxcbl1cbnR5cGUgTG9hZGluZ1ZhbHVlID0gKHR5cGVvZiBWQUxJRF9MT0FESU5HX1ZBTFVFUylbbnVtYmVyXVxudHlwZSBJbWFnZUNvbmZpZyA9IEltYWdlQ29uZmlnQ29tcGxldGUgJiB7XG4gIGFsbFNpemVzOiBudW1iZXJbXVxuICBvdXRwdXQ/OiAnc3RhbmRhbG9uZScgfCAnZXhwb3J0J1xufVxuXG5leHBvcnQgdHlwZSBJbWFnZUxvYWRlciA9IChwOiBJbWFnZUxvYWRlclByb3BzKSA9PiBzdHJpbmdcblxuLy8gRG8gbm90IGV4cG9ydCAtIHRoaXMgaXMgYW4gaW50ZXJuYWwgdHlwZSBvbmx5XG4vLyBiZWNhdXNlIGBuZXh0LmNvbmZpZy5qc2AgaXMgb25seSBtZWFudCBmb3IgdGhlXG4vLyBidWlsdC1pbiBsb2FkZXJzLCBub3QgZm9yIGEgY3VzdG9tIGxvYWRlcigpIHByb3AuXG50eXBlIEltYWdlTG9hZGVyV2l0aENvbmZpZyA9IChwOiBJbWFnZUxvYWRlclByb3BzV2l0aENvbmZpZykgPT4gc3RyaW5nXG5cbmV4cG9ydCB0eXBlIFBsYWNlaG9sZGVyVmFsdWUgPSAnYmx1cicgfCAnZW1wdHknIHwgYGRhdGE6aW1hZ2UvJHtzdHJpbmd9YFxuZXhwb3J0IHR5cGUgT25Mb2FkID0gUmVhY3QuUmVhY3RFdmVudEhhbmRsZXI8SFRNTEltYWdlRWxlbWVudD4gfCB1bmRlZmluZWRcbmV4cG9ydCB0eXBlIE9uTG9hZGluZ0NvbXBsZXRlID0gKGltZzogSFRNTEltYWdlRWxlbWVudCkgPT4gdm9pZFxuXG5leHBvcnQgdHlwZSBQbGFjZWhvbGRlclN0eWxlID0gUGFydGlhbDxcbiAgUGljazxcbiAgICBDU1NQcm9wZXJ0aWVzLFxuICAgIHwgJ2JhY2tncm91bmRTaXplJ1xuICAgIHwgJ2JhY2tncm91bmRQb3NpdGlvbidcbiAgICB8ICdiYWNrZ3JvdW5kUmVwZWF0J1xuICAgIHwgJ2JhY2tncm91bmRJbWFnZSdcbiAgPlxuPlxuXG5mdW5jdGlvbiBpc1N0YXRpY1JlcXVpcmUoXG4gIHNyYzogU3RhdGljUmVxdWlyZSB8IFN0YXRpY0ltYWdlRGF0YVxuKTogc3JjIGlzIFN0YXRpY1JlcXVpcmUge1xuICByZXR1cm4gKHNyYyBhcyBTdGF0aWNSZXF1aXJlKS5kZWZhdWx0ICE9PSB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNTdGF0aWNJbWFnZURhdGEoXG4gIHNyYzogU3RhdGljUmVxdWlyZSB8IFN0YXRpY0ltYWdlRGF0YVxuKTogc3JjIGlzIFN0YXRpY0ltYWdlRGF0YSB7XG4gIHJldHVybiAoc3JjIGFzIFN0YXRpY0ltYWdlRGF0YSkuc3JjICE9PSB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNTdGF0aWNJbXBvcnQoc3JjOiBzdHJpbmcgfCBTdGF0aWNJbXBvcnQpOiBzcmMgaXMgU3RhdGljSW1wb3J0IHtcbiAgcmV0dXJuIChcbiAgICAhIXNyYyAmJlxuICAgIHR5cGVvZiBzcmMgPT09ICdvYmplY3QnICYmXG4gICAgKGlzU3RhdGljUmVxdWlyZShzcmMgYXMgU3RhdGljSW1wb3J0KSB8fFxuICAgICAgaXNTdGF0aWNJbWFnZURhdGEoc3JjIGFzIFN0YXRpY0ltcG9ydCkpXG4gIClcbn1cblxuY29uc3QgYWxsSW1ncyA9IG5ldyBNYXA8XG4gIHN0cmluZyxcbiAgeyBzcmM6IHN0cmluZzsgcHJpb3JpdHk6IGJvb2xlYW47IHBsYWNlaG9sZGVyOiBQbGFjZWhvbGRlclZhbHVlIH1cbj4oKVxubGV0IHBlcmZPYnNlcnZlcjogUGVyZm9ybWFuY2VPYnNlcnZlciB8IHVuZGVmaW5lZFxuXG5mdW5jdGlvbiBnZXRJbnQoeDogdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgeCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4geFxuICB9XG4gIGlmICh0eXBlb2YgeCA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHgpID8geCA6IE5hTlxuICB9XG4gIGlmICh0eXBlb2YgeCA9PT0gJ3N0cmluZycgJiYgL15bMC05XSskLy50ZXN0KHgpKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHgsIDEwKVxuICB9XG4gIHJldHVybiBOYU5cbn1cblxuZnVuY3Rpb24gZ2V0V2lkdGhzKFxuICB7IGRldmljZVNpemVzLCBhbGxTaXplcyB9OiBJbWFnZUNvbmZpZyxcbiAgd2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgc2l6ZXM6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogeyB3aWR0aHM6IG51bWJlcltdOyBraW5kOiAndycgfCAneCcgfSB7XG4gIGlmIChzaXplcykge1xuICAgIC8vIEZpbmQgYWxsIHRoZSBcInZ3XCIgcGVyY2VudCBzaXplcyB1c2VkIGluIHRoZSBzaXplcyBwcm9wXG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aFJlID0gLyhefFxccykoMT9cXGQ/XFxkKXZ3L2dcbiAgICBjb25zdCBwZXJjZW50U2l6ZXMgPSBbXVxuICAgIGZvciAobGV0IG1hdGNoOyAobWF0Y2ggPSB2aWV3cG9ydFdpZHRoUmUuZXhlYyhzaXplcykpOyBtYXRjaCkge1xuICAgICAgcGVyY2VudFNpemVzLnB1c2gocGFyc2VJbnQobWF0Y2hbMl0pKVxuICAgIH1cbiAgICBpZiAocGVyY2VudFNpemVzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc21hbGxlc3RSYXRpbyA9IE1hdGgubWluKC4uLnBlcmNlbnRTaXplcykgKiAwLjAxXG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aHM6IGFsbFNpemVzLmZpbHRlcigocykgPT4gcyA+PSBkZXZpY2VTaXplc1swXSAqIHNtYWxsZXN0UmF0aW8pLFxuICAgICAgICBraW5kOiAndycsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHdpZHRoczogYWxsU2l6ZXMsIGtpbmQ6ICd3JyB9XG4gIH1cbiAgaWYgKHR5cGVvZiB3aWR0aCAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4geyB3aWR0aHM6IGRldmljZVNpemVzLCBraW5kOiAndycgfVxuICB9XG5cbiAgY29uc3Qgd2lkdGhzID0gW1xuICAgIC4uLm5ldyBTZXQoXG4gICAgICAvLyA+IFRoaXMgbWVhbnMgdGhhdCBtb3N0IE9MRUQgc2NyZWVucyB0aGF0IHNheSB0aGV5IGFyZSAzeCByZXNvbHV0aW9uLFxuICAgICAgLy8gPiBhcmUgYWN0dWFsbHkgM3ggaW4gdGhlIGdyZWVuIGNvbG9yLCBidXQgb25seSAxLjV4IGluIHRoZSByZWQgYW5kXG4gICAgICAvLyA+IGJsdWUgY29sb3JzLiBTaG93aW5nIGEgM3ggcmVzb2x1dGlvbiBpbWFnZSBpbiB0aGUgYXBwIHZzIGEgMnhcbiAgICAgIC8vID4gcmVzb2x1dGlvbiBpbWFnZSB3aWxsIGJlIHZpc3VhbGx5IHRoZSBzYW1lLCB0aG91Z2ggdGhlIDN4IGltYWdlXG4gICAgICAvLyA+IHRha2VzIHNpZ25pZmljYW50bHkgbW9yZSBkYXRhLiBFdmVuIHRydWUgM3ggcmVzb2x1dGlvbiBzY3JlZW5zIGFyZVxuICAgICAgLy8gPiB3YXN0ZWZ1bCBhcyB0aGUgaHVtYW4gZXllIGNhbm5vdCBzZWUgdGhhdCBsZXZlbCBvZiBkZXRhaWwgd2l0aG91dFxuICAgICAgLy8gPiBzb21ldGhpbmcgbGlrZSBhIG1hZ25pZnlpbmcgZ2xhc3MuXG4gICAgICAvLyBodHRwczovL2Jsb2cudHdpdHRlci5jb20vZW5naW5lZXJpbmcvZW5fdXMvdG9waWNzL2luZnJhc3RydWN0dXJlLzIwMTkvY2FwcGluZy1pbWFnZS1maWRlbGl0eS1vbi11bHRyYS1oaWdoLXJlc29sdXRpb24tZGV2aWNlcy5odG1sXG4gICAgICBbd2lkdGgsIHdpZHRoICogMiAvKiwgd2lkdGggKiAzKi9dLm1hcChcbiAgICAgICAgKHcpID0+IGFsbFNpemVzLmZpbmQoKHApID0+IHAgPj0gdykgfHwgYWxsU2l6ZXNbYWxsU2l6ZXMubGVuZ3RoIC0gMV1cbiAgICAgIClcbiAgICApLFxuICBdXG4gIHJldHVybiB7IHdpZHRocywga2luZDogJ3gnIH1cbn1cblxudHlwZSBHZW5JbWdBdHRyc0RhdGEgPSB7XG4gIGNvbmZpZzogSW1hZ2VDb25maWdcbiAgc3JjOiBzdHJpbmdcbiAgdW5vcHRpbWl6ZWQ6IGJvb2xlYW5cbiAgbG9hZGVyOiBJbWFnZUxvYWRlcldpdGhDb25maWdcbiAgd2lkdGg/OiBudW1iZXJcbiAgcXVhbGl0eT86IG51bWJlclxuICBzaXplcz86IHN0cmluZ1xufVxuXG50eXBlIEdlbkltZ0F0dHJzUmVzdWx0ID0ge1xuICBzcmM6IHN0cmluZ1xuICBzcmNTZXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBzaXplczogc3RyaW5nIHwgdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlSW1nQXR0cnMoe1xuICBjb25maWcsXG4gIHNyYyxcbiAgdW5vcHRpbWl6ZWQsXG4gIHdpZHRoLFxuICBxdWFsaXR5LFxuICBzaXplcyxcbiAgbG9hZGVyLFxufTogR2VuSW1nQXR0cnNEYXRhKTogR2VuSW1nQXR0cnNSZXN1bHQge1xuICBpZiAodW5vcHRpbWl6ZWQpIHtcbiAgICByZXR1cm4geyBzcmMsIHNyY1NldDogdW5kZWZpbmVkLCBzaXplczogdW5kZWZpbmVkIH1cbiAgfVxuXG4gIGNvbnN0IHsgd2lkdGhzLCBraW5kIH0gPSBnZXRXaWR0aHMoY29uZmlnLCB3aWR0aCwgc2l6ZXMpXG4gIGNvbnN0IGxhc3QgPSB3aWR0aHMubGVuZ3RoIC0gMVxuXG4gIHJldHVybiB7XG4gICAgc2l6ZXM6ICFzaXplcyAmJiBraW5kID09PSAndycgPyAnMTAwdncnIDogc2l6ZXMsXG4gICAgc3JjU2V0OiB3aWR0aHNcbiAgICAgIC5tYXAoXG4gICAgICAgICh3LCBpKSA9PlxuICAgICAgICAgIGAke2xvYWRlcih7IGNvbmZpZywgc3JjLCBxdWFsaXR5LCB3aWR0aDogdyB9KX0gJHtcbiAgICAgICAgICAgIGtpbmQgPT09ICd3JyA/IHcgOiBpICsgMVxuICAgICAgICAgIH0ke2tpbmR9YFxuICAgICAgKVxuICAgICAgLmpvaW4oJywgJyksXG5cbiAgICAvLyBJdCdzIGludGVuZGVkIHRvIGtlZXAgYHNyY2AgdGhlIGxhc3QgYXR0cmlidXRlIGJlY2F1c2UgUmVhY3QgdXBkYXRlc1xuICAgIC8vIGF0dHJpYnV0ZXMgaW4gb3JkZXIuIElmIHdlIGtlZXAgYHNyY2AgdGhlIGZpcnN0IG9uZSwgU2FmYXJpIHdpbGxcbiAgICAvLyBpbW1lZGlhdGVseSBzdGFydCB0byBmZXRjaCBgc3JjYCwgYmVmb3JlIGBzaXplc2AgYW5kIGBzcmNTZXRgIGFyZSBldmVuXG4gICAgLy8gdXBkYXRlZCBieSBSZWFjdC4gVGhhdCBjYXVzZXMgbXVsdGlwbGUgdW5uZWNlc3NhcnkgcmVxdWVzdHMgaWYgYHNyY1NldGBcbiAgICAvLyBhbmQgYHNpemVzYCBhcmUgZGVmaW5lZC5cbiAgICAvLyBUaGlzIGJ1ZyBjYW5ub3QgYmUgcmVwcm9kdWNlZCBpbiBDaHJvbWUgb3IgRmlyZWZveC5cbiAgICBzcmM6IGxvYWRlcih7IGNvbmZpZywgc3JjLCBxdWFsaXR5LCB3aWR0aDogd2lkdGhzW2xhc3RdIH0pLFxuICB9XG59XG5cbi8qKlxuICogQSBzaGFyZWQgZnVuY3Rpb24sIHVzZWQgb24gYm90aCBjbGllbnQgYW5kIHNlcnZlciwgdG8gZ2VuZXJhdGUgdGhlIHByb3BzIGZvciA8aW1nPi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEltZ1Byb3BzKFxuICB7XG4gICAgc3JjLFxuICAgIHNpemVzLFxuICAgIHVub3B0aW1pemVkID0gZmFsc2UsXG4gICAgcHJpb3JpdHkgPSBmYWxzZSxcbiAgICBsb2FkaW5nLFxuICAgIGNsYXNzTmFtZSxcbiAgICBxdWFsaXR5LFxuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBmaWxsID0gZmFsc2UsXG4gICAgc3R5bGUsXG4gICAgb3ZlcnJpZGVTcmMsXG4gICAgb25Mb2FkLFxuICAgIG9uTG9hZGluZ0NvbXBsZXRlLFxuICAgIHBsYWNlaG9sZGVyID0gJ2VtcHR5JyxcbiAgICBibHVyRGF0YVVSTCxcbiAgICBmZXRjaFByaW9yaXR5LFxuICAgIGRlY29kaW5nID0gJ2FzeW5jJyxcbiAgICBsYXlvdXQsXG4gICAgb2JqZWN0Rml0LFxuICAgIG9iamVjdFBvc2l0aW9uLFxuICAgIGxhenlCb3VuZGFyeSxcbiAgICBsYXp5Um9vdCxcbiAgICAuLi5yZXN0XG4gIH06IEltYWdlUHJvcHMsXG4gIF9zdGF0ZToge1xuICAgIGRlZmF1bHRMb2FkZXI6IEltYWdlTG9hZGVyV2l0aENvbmZpZ1xuICAgIGltZ0NvbmY6IEltYWdlQ29uZmlnQ29tcGxldGVcbiAgICBzaG93QWx0VGV4dD86IGJvb2xlYW5cbiAgICBibHVyQ29tcGxldGU/OiBib29sZWFuXG4gIH1cbik6IHtcbiAgcHJvcHM6IEltZ1Byb3BzXG4gIG1ldGE6IHtcbiAgICB1bm9wdGltaXplZDogYm9vbGVhblxuICAgIHByaW9yaXR5OiBib29sZWFuXG4gICAgcGxhY2Vob2xkZXI6IE5vbk51bGxhYmxlPEltYWdlUHJvcHNbJ3BsYWNlaG9sZGVyJ10+XG4gICAgZmlsbDogYm9vbGVhblxuICB9XG59IHtcbiAgY29uc3QgeyBpbWdDb25mLCBzaG93QWx0VGV4dCwgYmx1ckNvbXBsZXRlLCBkZWZhdWx0TG9hZGVyIH0gPSBfc3RhdGVcbiAgbGV0IGNvbmZpZzogSW1hZ2VDb25maWdcbiAgbGV0IGMgPSBpbWdDb25mIHx8IGltYWdlQ29uZmlnRGVmYXVsdFxuICBpZiAoJ2FsbFNpemVzJyBpbiBjKSB7XG4gICAgY29uZmlnID0gYyBhcyBJbWFnZUNvbmZpZ1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGFsbFNpemVzID0gWy4uLmMuZGV2aWNlU2l6ZXMsIC4uLmMuaW1hZ2VTaXplc10uc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgY29uc3QgZGV2aWNlU2l6ZXMgPSBjLmRldmljZVNpemVzLnNvcnQoKGEsIGIpID0+IGEgLSBiKVxuICAgIGNvbnN0IHF1YWxpdGllcyA9IGMucXVhbGl0aWVzPy5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICBjb25maWcgPSB7IC4uLmMsIGFsbFNpemVzLCBkZXZpY2VTaXplcywgcXVhbGl0aWVzIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgZGVmYXVsdExvYWRlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnaW1hZ2VzLmxvYWRlckZpbGUgZGV0ZWN0ZWQgYnV0IHRoZSBmaWxlIGlzIG1pc3NpbmcgZGVmYXVsdCBleHBvcnQuXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9pbnZhbGlkLWltYWdlcy1jb25maWcnXG4gICAgKVxuICB9XG4gIGxldCBsb2FkZXI6IEltYWdlTG9hZGVyV2l0aENvbmZpZyA9IHJlc3QubG9hZGVyIHx8IGRlZmF1bHRMb2FkZXJcblxuICAvLyBSZW1vdmUgcHJvcGVydHkgc28gaXQncyBub3Qgc3ByZWFkIG9uIDxpbWc+IGVsZW1lbnRcbiAgZGVsZXRlIHJlc3QubG9hZGVyXG4gIGRlbGV0ZSAocmVzdCBhcyBhbnkpLnNyY1NldFxuXG4gIC8vIFRoaXMgc3BlY2lhbCB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgdXNlclxuICAvLyBkaWRuJ3QgZGVmaW5lIGEgXCJsb2FkZXJcIiBwcm9wIG9yIFwibG9hZGVyXCIgY29uZmlnLlxuICBjb25zdCBpc0RlZmF1bHRMb2FkZXIgPSAnX19uZXh0X2ltZ19kZWZhdWx0JyBpbiBsb2FkZXJcblxuICBpZiAoaXNEZWZhdWx0TG9hZGVyKSB7XG4gICAgaWYgKGNvbmZpZy5sb2FkZXIgPT09ICdjdXN0b20nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIG1pc3NpbmcgXCJsb2FkZXJcIiBwcm9wLmAgK1xuICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtbWlzc2luZy1sb2FkZXJgXG4gICAgICApXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoZSB1c2VyIGRlZmluZWQgYSBcImxvYWRlclwiIHByb3Agb3IgY29uZmlnLlxuICAgIC8vIFNpbmNlIHRoZSBjb25maWcgb2JqZWN0IGlzIGludGVybmFsIG9ubHksIHdlXG4gICAgLy8gbXVzdCBub3QgcGFzcyBpdCB0byB0aGUgdXNlci1kZWZpbmVkIFwibG9hZGVyXCIuXG4gICAgY29uc3QgY3VzdG9tSW1hZ2VMb2FkZXIgPSBsb2FkZXIgYXMgSW1hZ2VMb2FkZXJcbiAgICBsb2FkZXIgPSAob2JqKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbmZpZzogXywgLi4ub3B0cyB9ID0gb2JqXG4gICAgICByZXR1cm4gY3VzdG9tSW1hZ2VMb2FkZXIob3B0cylcbiAgICB9XG4gIH1cblxuICBpZiAobGF5b3V0KSB7XG4gICAgaWYgKGxheW91dCA9PT0gJ2ZpbGwnKSB7XG4gICAgICBmaWxsID0gdHJ1ZVxuICAgIH1cbiAgICBjb25zdCBsYXlvdXRUb1N0eWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkPiA9IHtcbiAgICAgIGludHJpbnNpYzogeyBtYXhXaWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdhdXRvJyB9LFxuICAgICAgcmVzcG9uc2l2ZTogeyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdhdXRvJyB9LFxuICAgIH1cbiAgICBjb25zdCBsYXlvdXRUb1NpemVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+ID0ge1xuICAgICAgcmVzcG9uc2l2ZTogJzEwMHZ3JyxcbiAgICAgIGZpbGw6ICcxMDB2dycsXG4gICAgfVxuICAgIGNvbnN0IGxheW91dFN0eWxlID0gbGF5b3V0VG9TdHlsZVtsYXlvdXRdXG4gICAgaWYgKGxheW91dFN0eWxlKSB7XG4gICAgICBzdHlsZSA9IHsgLi4uc3R5bGUsIC4uLmxheW91dFN0eWxlIH1cbiAgICB9XG4gICAgY29uc3QgbGF5b3V0U2l6ZXMgPSBsYXlvdXRUb1NpemVzW2xheW91dF1cbiAgICBpZiAobGF5b3V0U2l6ZXMgJiYgIXNpemVzKSB7XG4gICAgICBzaXplcyA9IGxheW91dFNpemVzXG4gICAgfVxuICB9XG5cbiAgbGV0IHN0YXRpY1NyYyA9ICcnXG4gIGxldCB3aWR0aEludCA9IGdldEludCh3aWR0aClcbiAgbGV0IGhlaWdodEludCA9IGdldEludChoZWlnaHQpXG4gIGxldCBibHVyV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZFxuICBsZXQgYmx1ckhlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gIGlmIChpc1N0YXRpY0ltcG9ydChzcmMpKSB7XG4gICAgY29uc3Qgc3RhdGljSW1hZ2VEYXRhID0gaXNTdGF0aWNSZXF1aXJlKHNyYykgPyBzcmMuZGVmYXVsdCA6IHNyY1xuXG4gICAgaWYgKCFzdGF0aWNJbWFnZURhdGEuc3JjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBbiBvYmplY3Qgc2hvdWxkIG9ubHkgYmUgcGFzc2VkIHRvIHRoZSBpbWFnZSBjb21wb25lbnQgc3JjIHBhcmFtZXRlciBpZiBpdCBjb21lcyBmcm9tIGEgc3RhdGljIGltYWdlIGltcG9ydC4gSXQgbXVzdCBpbmNsdWRlIHNyYy4gUmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBzdGF0aWNJbWFnZURhdGFcbiAgICAgICAgKX1gXG4gICAgICApXG4gICAgfVxuICAgIGlmICghc3RhdGljSW1hZ2VEYXRhLmhlaWdodCB8fCAhc3RhdGljSW1hZ2VEYXRhLndpZHRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBbiBvYmplY3Qgc2hvdWxkIG9ubHkgYmUgcGFzc2VkIHRvIHRoZSBpbWFnZSBjb21wb25lbnQgc3JjIHBhcmFtZXRlciBpZiBpdCBjb21lcyBmcm9tIGEgc3RhdGljIGltYWdlIGltcG9ydC4gSXQgbXVzdCBpbmNsdWRlIGhlaWdodCBhbmQgd2lkdGguIFJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgc3RhdGljSW1hZ2VEYXRhXG4gICAgICAgICl9YFxuICAgICAgKVxuICAgIH1cblxuICAgIGJsdXJXaWR0aCA9IHN0YXRpY0ltYWdlRGF0YS5ibHVyV2lkdGhcbiAgICBibHVySGVpZ2h0ID0gc3RhdGljSW1hZ2VEYXRhLmJsdXJIZWlnaHRcbiAgICBibHVyRGF0YVVSTCA9IGJsdXJEYXRhVVJMIHx8IHN0YXRpY0ltYWdlRGF0YS5ibHVyRGF0YVVSTFxuICAgIHN0YXRpY1NyYyA9IHN0YXRpY0ltYWdlRGF0YS5zcmNcblxuICAgIGlmICghZmlsbCkge1xuICAgICAgaWYgKCF3aWR0aEludCAmJiAhaGVpZ2h0SW50KSB7XG4gICAgICAgIHdpZHRoSW50ID0gc3RhdGljSW1hZ2VEYXRhLndpZHRoXG4gICAgICAgIGhlaWdodEludCA9IHN0YXRpY0ltYWdlRGF0YS5oZWlnaHRcbiAgICAgIH0gZWxzZSBpZiAod2lkdGhJbnQgJiYgIWhlaWdodEludCkge1xuICAgICAgICBjb25zdCByYXRpbyA9IHdpZHRoSW50IC8gc3RhdGljSW1hZ2VEYXRhLndpZHRoXG4gICAgICAgIGhlaWdodEludCA9IE1hdGgucm91bmQoc3RhdGljSW1hZ2VEYXRhLmhlaWdodCAqIHJhdGlvKVxuICAgICAgfSBlbHNlIGlmICghd2lkdGhJbnQgJiYgaGVpZ2h0SW50KSB7XG4gICAgICAgIGNvbnN0IHJhdGlvID0gaGVpZ2h0SW50IC8gc3RhdGljSW1hZ2VEYXRhLmhlaWdodFxuICAgICAgICB3aWR0aEludCA9IE1hdGgucm91bmQoc3RhdGljSW1hZ2VEYXRhLndpZHRoICogcmF0aW8pXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNyYyA9IHR5cGVvZiBzcmMgPT09ICdzdHJpbmcnID8gc3JjIDogc3RhdGljU3JjXG5cbiAgbGV0IGlzTGF6eSA9XG4gICAgIXByaW9yaXR5ICYmIChsb2FkaW5nID09PSAnbGF6eScgfHwgdHlwZW9mIGxvYWRpbmcgPT09ICd1bmRlZmluZWQnKVxuICBpZiAoIXNyYyB8fCBzcmMuc3RhcnRzV2l0aCgnZGF0YTonKSB8fCBzcmMuc3RhcnRzV2l0aCgnYmxvYjonKSkge1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvRGF0YV9VUklzXG4gICAgdW5vcHRpbWl6ZWQgPSB0cnVlXG4gICAgaXNMYXp5ID0gZmFsc2VcbiAgfVxuICBpZiAoY29uZmlnLnVub3B0aW1pemVkKSB7XG4gICAgdW5vcHRpbWl6ZWQgPSB0cnVlXG4gIH1cbiAgaWYgKFxuICAgIGlzRGVmYXVsdExvYWRlciAmJlxuICAgICFjb25maWcuZGFuZ2Vyb3VzbHlBbGxvd1NWRyAmJlxuICAgIHNyYy5zcGxpdCgnPycsIDEpWzBdLmVuZHNXaXRoKCcuc3ZnJylcbiAgKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlIHRvIG1ha2Ugc3ZnIHNlcnZlIGFzLWlzIHRvIGF2b2lkIHByb3h5aW5nXG4gICAgLy8gdGhyb3VnaCB0aGUgYnVpbHQtaW4gSW1hZ2UgT3B0aW1pemF0aW9uIEFQSS5cbiAgICB1bm9wdGltaXplZCA9IHRydWVcbiAgfVxuXG4gIGNvbnN0IHF1YWxpdHlJbnQgPSBnZXRJbnQocXVhbGl0eSlcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChjb25maWcub3V0cHV0ID09PSAnZXhwb3J0JyAmJiBpc0RlZmF1bHRMb2FkZXIgJiYgIXVub3B0aW1pemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSBPcHRpbWl6YXRpb24gdXNpbmcgdGhlIGRlZmF1bHQgbG9hZGVyIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggXFxgeyBvdXRwdXQ6ICdleHBvcnQnIH1cXGAuXG4gIFBvc3NpYmxlIHNvbHV0aW9uczpcbiAgICAtIFJlbW92ZSBcXGB7IG91dHB1dDogJ2V4cG9ydCcgfVxcYCBhbmQgcnVuIFwibmV4dCBzdGFydFwiIHRvIHJ1biBzZXJ2ZXIgbW9kZSBpbmNsdWRpbmcgdGhlIEltYWdlIE9wdGltaXphdGlvbiBBUEkuXG4gICAgLSBDb25maWd1cmUgXFxgeyBpbWFnZXM6IHsgdW5vcHRpbWl6ZWQ6IHRydWUgfSB9XFxgIGluIFxcYG5leHQuY29uZmlnLmpzXFxgIHRvIGRpc2FibGUgdGhlIEltYWdlIE9wdGltaXphdGlvbiBBUEkuXG4gIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZXhwb3J0LWltYWdlLWFwaWBcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKCFzcmMpIHtcbiAgICAgIC8vIFJlYWN0IGRvZXNuJ3Qgc2hvdyB0aGUgc3RhY2sgdHJhY2UgYW5kIHRoZXJlJ3NcbiAgICAgIC8vIG5vIGBzcmNgIHRvIGhlbHAgaWRlbnRpZnkgd2hpY2ggaW1hZ2UsIHNvIHdlXG4gICAgICAvLyBpbnN0ZWFkIGNvbnNvbGUuZXJyb3IocmVmKSBkdXJpbmcgbW91bnQuXG4gICAgICB1bm9wdGltaXplZCA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbGwpIHtcbiAgICAgICAgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGJvdGggXCJ3aWR0aFwiIGFuZCBcImZpbGxcIiBwcm9wZXJ0aWVzLiBPbmx5IG9uZSBzaG91bGQgYmUgdXNlZC5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmIChoZWlnaHQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgYm90aCBcImhlaWdodFwiIGFuZCBcImZpbGxcIiBwcm9wZXJ0aWVzLiBPbmx5IG9uZSBzaG91bGQgYmUgdXNlZC5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdHlsZT8ucG9zaXRpb24gJiYgc3R5bGUucG9zaXRpb24gIT09ICdhYnNvbHV0ZScpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgYm90aCBcImZpbGxcIiBhbmQgXCJzdHlsZS5wb3NpdGlvblwiIHByb3BlcnRpZXMuIEltYWdlcyB3aXRoIFwiZmlsbFwiIGFsd2F5cyB1c2UgcG9zaXRpb24gYWJzb2x1dGUgLSBpdCBjYW5ub3QgYmUgbW9kaWZpZWQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3R5bGU/LndpZHRoICYmIHN0eWxlLndpZHRoICE9PSAnMTAwJScpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgYm90aCBcImZpbGxcIiBhbmQgXCJzdHlsZS53aWR0aFwiIHByb3BlcnRpZXMuIEltYWdlcyB3aXRoIFwiZmlsbFwiIGFsd2F5cyB1c2Ugd2lkdGggMTAwJSAtIGl0IGNhbm5vdCBiZSBtb2RpZmllZC5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdHlsZT8uaGVpZ2h0ICYmIHN0eWxlLmhlaWdodCAhPT0gJzEwMCUnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGJvdGggXCJmaWxsXCIgYW5kIFwic3R5bGUuaGVpZ2h0XCIgcHJvcGVydGllcy4gSW1hZ2VzIHdpdGggXCJmaWxsXCIgYWx3YXlzIHVzZSBoZWlnaHQgMTAwJSAtIGl0IGNhbm5vdCBiZSBtb2RpZmllZC5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIHdpZHRoSW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIG1pc3NpbmcgcmVxdWlyZWQgXCJ3aWR0aFwiIHByb3BlcnR5LmBcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSBpZiAoaXNOYU4od2lkdGhJbnQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGludmFsaWQgXCJ3aWR0aFwiIHByb3BlcnR5LiBFeHBlY3RlZCBhIG51bWVyaWMgdmFsdWUgaW4gcGl4ZWxzIGJ1dCByZWNlaXZlZCBcIiR7d2lkdGh9XCIuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGhlaWdodEludCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyBtaXNzaW5nIHJlcXVpcmVkIFwiaGVpZ2h0XCIgcHJvcGVydHkuYFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIGlmIChpc05hTihoZWlnaHRJbnQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGludmFsaWQgXCJoZWlnaHRcIiBwcm9wZXJ0eS4gRXhwZWN0ZWQgYSBudW1lcmljIHZhbHVlIGluIHBpeGVscyBidXQgcmVjZWl2ZWQgXCIke2hlaWdodH1cIi5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gICAgICAgIGlmICgvXltcXHgwMC1cXHgyMF0vLnRlc3Qoc3JjKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGNhbm5vdCBzdGFydCB3aXRoIGEgc3BhY2Ugb3IgY29udHJvbCBjaGFyYWN0ZXIuIFVzZSBzcmMudHJpbVN0YXJ0KCkgdG8gcmVtb3ZlIGl0IG9yIGVuY29kZVVSSUNvbXBvbmVudChzcmMpIHRvIGtlZXAgaXQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuICAgICAgICBpZiAoL1tcXHgwMC1cXHgyMF0kLy50ZXN0KHNyYykpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBjYW5ub3QgZW5kIHdpdGggYSBzcGFjZSBvciBjb250cm9sIGNoYXJhY3Rlci4gVXNlIHNyYy50cmltRW5kKCkgdG8gcmVtb3ZlIGl0IG9yIGVuY29kZVVSSUNvbXBvbmVudChzcmMpIHRvIGtlZXAgaXQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIVZBTElEX0xPQURJTkdfVkFMVUVTLmluY2x1ZGVzKGxvYWRpbmcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBpbnZhbGlkIFwibG9hZGluZ1wiIHByb3BlcnR5LiBQcm92aWRlZCBcIiR7bG9hZGluZ31cIiBzaG91bGQgYmUgb25lIG9mICR7VkFMSURfTE9BRElOR19WQUxVRVMubWFwKFxuICAgICAgICAgIFN0cmluZ1xuICAgICAgICApLmpvaW4oJywnKX0uYFxuICAgICAgKVxuICAgIH1cbiAgICBpZiAocHJpb3JpdHkgJiYgbG9hZGluZyA9PT0gJ2xhenknKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBib3RoIFwicHJpb3JpdHlcIiBhbmQgXCJsb2FkaW5nPSdsYXp5J1wiIHByb3BlcnRpZXMuIE9ubHkgb25lIHNob3VsZCBiZSB1c2VkLmBcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcGxhY2Vob2xkZXIgIT09ICdlbXB0eScgJiZcbiAgICAgIHBsYWNlaG9sZGVyICE9PSAnYmx1cicgJiZcbiAgICAgICFwbGFjZWhvbGRlci5zdGFydHNXaXRoKCdkYXRhOmltYWdlLycpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBpbnZhbGlkIFwicGxhY2Vob2xkZXJcIiBwcm9wZXJ0eSBcIiR7cGxhY2Vob2xkZXJ9XCIuYFxuICAgICAgKVxuICAgIH1cbiAgICBpZiAocGxhY2Vob2xkZXIgIT09ICdlbXB0eScpIHtcbiAgICAgIGlmICh3aWR0aEludCAmJiBoZWlnaHRJbnQgJiYgd2lkdGhJbnQgKiBoZWlnaHRJbnQgPCAxNjAwKSB7XG4gICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIHNtYWxsZXIgdGhhbiA0MHg0MC4gQ29uc2lkZXIgcmVtb3ZpbmcgdGhlIFwicGxhY2Vob2xkZXJcIiBwcm9wZXJ0eSB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLmBcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocXVhbGl0eUludCAmJiBxdWFsaXR5SW50ICE9PSA3NSAmJiAhY29uZmlnLnF1YWxpdGllcykge1xuICAgICAgd2Fybk9uY2UoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIHVzaW5nIHF1YWxpdHkgXCIke3F1YWxpdHlJbnR9XCIgd2hpY2ggaXMgbm90IGNvbmZpZ3VyZWQgaW4gaW1hZ2VzLnF1YWxpdGllcy4gVGhpcyBjb25maWcgd2lsbCBiZSByZXF1aXJlZCBzdGFydGluZyBpbiBOZXh0LmpzIDE2LmAgK1xuICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtdW5jb25maWd1cmVkLXF1YWxpdGllc2BcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKFxuICAgICAgc3JjLnN0YXJ0c1dpdGgoJy8nKSAmJlxuICAgICAgc3JjLmluY2x1ZGVzKCc/JykgJiZcbiAgICAgICghY29uZmlnPy5sb2NhbFBhdHRlcm5zPy5sZW5ndGggfHxcbiAgICAgICAgKGNvbmZpZy5sb2NhbFBhdHRlcm5zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgIGNvbmZpZy5sb2NhbFBhdHRlcm5zWzBdLnBhdGhuYW1lID09PSAnL19uZXh0L3N0YXRpYy9tZWRpYS8qKicpKVxuICAgICkge1xuICAgICAgd2Fybk9uY2UoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIHVzaW5nIGEgcXVlcnkgc3RyaW5nIHdoaWNoIGlzIG5vdCBjb25maWd1cmVkIGluIGltYWdlcy5sb2NhbFBhdHRlcm5zLiBUaGlzIGNvbmZpZyB3aWxsIGJlIHJlcXVpcmVkIHN0YXJ0aW5nIGluIE5leHQuanMgMTYuYCArXG4gICAgICAgICAgYFxcblJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1pbWFnZS11bmNvbmZpZ3VyZWQtbG9jYWxwYXR0ZXJuc2BcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKHBsYWNlaG9sZGVyID09PSAnYmx1cicgJiYgIWJsdXJEYXRhVVJMKSB7XG4gICAgICBjb25zdCBWQUxJRF9CTFVSX0VYVCA9IFsnanBlZycsICdwbmcnLCAnd2VicCcsICdhdmlmJ10gLy8gc2hvdWxkIG1hdGNoIG5leHQtaW1hZ2UtbG9hZGVyXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIFwicGxhY2Vob2xkZXI9J2JsdXInXCIgcHJvcGVydHkgYnV0IGlzIG1pc3NpbmcgdGhlIFwiYmx1ckRhdGFVUkxcIiBwcm9wZXJ0eS5cbiAgICAgICAgUG9zc2libGUgc29sdXRpb25zOlxuICAgICAgICAgIC0gQWRkIGEgXCJibHVyRGF0YVVSTFwiIHByb3BlcnR5LCB0aGUgY29udGVudHMgc2hvdWxkIGJlIGEgc21hbGwgRGF0YSBVUkwgdG8gcmVwcmVzZW50IHRoZSBpbWFnZVxuICAgICAgICAgIC0gQ2hhbmdlIHRoZSBcInNyY1wiIHByb3BlcnR5IHRvIGEgc3RhdGljIGltcG9ydCB3aXRoIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZpbGUgdHlwZXM6ICR7VkFMSURfQkxVUl9FWFQuam9pbihcbiAgICAgICAgICAgICcsJ1xuICAgICAgICAgICl9IChhbmltYXRlZCBpbWFnZXMgbm90IHN1cHBvcnRlZClcbiAgICAgICAgICAtIFJlbW92ZSB0aGUgXCJwbGFjZWhvbGRlclwiIHByb3BlcnR5LCBlZmZlY3RpdmVseSBubyBibHVyIGVmZmVjdFxuICAgICAgICBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3BsYWNlaG9sZGVyLWJsdXItZGF0YS11cmxgXG4gICAgICApXG4gICAgfVxuICAgIGlmICgncmVmJyBpbiByZXN0KSB7XG4gICAgICB3YXJuT25jZShcbiAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaXMgdXNpbmcgdW5zdXBwb3J0ZWQgXCJyZWZcIiBwcm9wZXJ0eS4gQ29uc2lkZXIgdXNpbmcgdGhlIFwib25Mb2FkXCIgcHJvcGVydHkgaW5zdGVhZC5gXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKCF1bm9wdGltaXplZCAmJiAhaXNEZWZhdWx0TG9hZGVyKSB7XG4gICAgICBjb25zdCB1cmxTdHIgPSBsb2FkZXIoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHNyYyxcbiAgICAgICAgd2lkdGg6IHdpZHRoSW50IHx8IDQwMCxcbiAgICAgICAgcXVhbGl0eTogcXVhbGl0eUludCB8fCA3NSxcbiAgICAgIH0pXG4gICAgICBsZXQgdXJsOiBVUkwgfCB1bmRlZmluZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwodXJsU3RyKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7fVxuICAgICAgaWYgKHVybFN0ciA9PT0gc3JjIHx8ICh1cmwgJiYgdXJsLnBhdGhuYW1lID09PSBzcmMgJiYgIXVybC5zZWFyY2gpKSB7XG4gICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBhIFwibG9hZGVyXCIgcHJvcGVydHkgdGhhdCBkb2VzIG5vdCBpbXBsZW1lbnQgd2lkdGguIFBsZWFzZSBpbXBsZW1lbnQgaXQgb3IgdXNlIHRoZSBcInVub3B0aW1pemVkXCIgcHJvcGVydHkgaW5zdGVhZC5gICtcbiAgICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtbWlzc2luZy1sb2FkZXItd2lkdGhgXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob25Mb2FkaW5nQ29tcGxldGUpIHtcbiAgICAgIHdhcm5PbmNlKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyB1c2luZyBkZXByZWNhdGVkIFwib25Mb2FkaW5nQ29tcGxldGVcIiBwcm9wZXJ0eS4gUGxlYXNlIHVzZSB0aGUgXCJvbkxvYWRcIiBwcm9wZXJ0eSBpbnN0ZWFkLmBcbiAgICAgIClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtsZWdhY3lLZXksIGxlZ2FjeVZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh7XG4gICAgICBsYXlvdXQsXG4gICAgICBvYmplY3RGaXQsXG4gICAgICBvYmplY3RQb3NpdGlvbixcbiAgICAgIGxhenlCb3VuZGFyeSxcbiAgICAgIGxhenlSb290LFxuICAgIH0pKSB7XG4gICAgICBpZiAobGVnYWN5VmFsdWUpIHtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGxlZ2FjeSBwcm9wIFwiJHtsZWdhY3lLZXl9XCIuIERpZCB5b3UgZm9yZ2V0IHRvIHJ1biB0aGUgY29kZW1vZD9gICtcbiAgICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtdXBncmFkZS10by0xM2BcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAhcGVyZk9ic2VydmVyICYmXG4gICAgICB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlclxuICAgICkge1xuICAgICAgcGVyZk9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGVudHJ5TGlzdCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gbWlzc2luZyBcIkxhcmdlc3RDb250ZW50ZnVsUGFpbnRcIiBjbGFzcyB3aXRoIFwiZWxlbWVudFwiIHByb3BcbiAgICAgICAgICBjb25zdCBpbWdTcmMgPSBlbnRyeT8uZWxlbWVudD8uc3JjIHx8ICcnXG4gICAgICAgICAgY29uc3QgbGNwSW1hZ2UgPSBhbGxJbWdzLmdldChpbWdTcmMpXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGNwSW1hZ2UgJiZcbiAgICAgICAgICAgICFsY3BJbWFnZS5wcmlvcml0eSAmJlxuICAgICAgICAgICAgbGNwSW1hZ2UucGxhY2Vob2xkZXIgPT09ICdlbXB0eScgJiZcbiAgICAgICAgICAgICFsY3BJbWFnZS5zcmMuc3RhcnRzV2l0aCgnZGF0YTonKSAmJlxuICAgICAgICAgICAgIWxjcEltYWdlLnNyYy5zdGFydHNXaXRoKCdibG9iOicpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBodHRwczovL3dlYi5kZXYvbGNwLyNtZWFzdXJlLWxjcC1pbi1qYXZhc2NyaXB0XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtsY3BJbWFnZS5zcmN9XCIgd2FzIGRldGVjdGVkIGFzIHRoZSBMYXJnZXN0IENvbnRlbnRmdWwgUGFpbnQgKExDUCkuIFBsZWFzZSBhZGQgdGhlIFwicHJpb3JpdHlcIiBwcm9wZXJ0eSBpZiB0aGlzIGltYWdlIGlzIGFib3ZlIHRoZSBmb2xkLmAgK1xuICAgICAgICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNwcmlvcml0eWBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICB0cnkge1xuICAgICAgICBwZXJmT2JzZXJ2ZXIub2JzZXJ2ZSh7XG4gICAgICAgICAgdHlwZTogJ2xhcmdlc3QtY29udGVudGZ1bC1wYWludCcsXG4gICAgICAgICAgYnVmZmVyZWQ6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gTG9nIGVycm9yIGJ1dCBkb24ndCBjcmFzaCB0aGUgYXBwXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCBpbWdTdHlsZSA9IE9iamVjdC5hc3NpZ24oXG4gICAgZmlsbFxuICAgICAgPyB7XG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgb2JqZWN0Rml0LFxuICAgICAgICAgIG9iamVjdFBvc2l0aW9uLFxuICAgICAgICB9XG4gICAgICA6IHt9LFxuICAgIHNob3dBbHRUZXh0ID8ge30gOiB7IGNvbG9yOiAndHJhbnNwYXJlbnQnIH0sXG4gICAgc3R5bGVcbiAgKVxuXG4gIGNvbnN0IGJhY2tncm91bmRJbWFnZSA9XG4gICAgIWJsdXJDb21wbGV0ZSAmJiBwbGFjZWhvbGRlciAhPT0gJ2VtcHR5J1xuICAgICAgPyBwbGFjZWhvbGRlciA9PT0gJ2JsdXInXG4gICAgICAgID8gYHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCR7Z2V0SW1hZ2VCbHVyU3ZnKHtcbiAgICAgICAgICAgIHdpZHRoSW50LFxuICAgICAgICAgICAgaGVpZ2h0SW50LFxuICAgICAgICAgICAgYmx1cldpZHRoLFxuICAgICAgICAgICAgYmx1ckhlaWdodCxcbiAgICAgICAgICAgIGJsdXJEYXRhVVJMOiBibHVyRGF0YVVSTCB8fCAnJywgLy8gYXNzdW1lIG5vdCB1bmRlZmluZWRcbiAgICAgICAgICAgIG9iamVjdEZpdDogaW1nU3R5bGUub2JqZWN0Rml0LFxuICAgICAgICAgIH0pfVwiKWBcbiAgICAgICAgOiBgdXJsKFwiJHtwbGFjZWhvbGRlcn1cIilgIC8vIGFzc3VtZSBgZGF0YTppbWFnZS9gXG4gICAgICA6IG51bGxcblxuICBjb25zdCBiYWNrZ3JvdW5kU2l6ZSA9ICFJTlZBTElEX0JBQ0tHUk9VTkRfU0laRV9WQUxVRVMuaW5jbHVkZXMoXG4gICAgaW1nU3R5bGUub2JqZWN0Rml0XG4gIClcbiAgICA/IGltZ1N0eWxlLm9iamVjdEZpdFxuICAgIDogaW1nU3R5bGUub2JqZWN0Rml0ID09PSAnZmlsbCdcbiAgICAgID8gJzEwMCUgMTAwJScgLy8gdGhlIGJhY2tncm91bmQtc2l6ZSBlcXVpdmFsZW50IG9mIGBmaWxsYFxuICAgICAgOiAnY292ZXInXG5cbiAgbGV0IHBsYWNlaG9sZGVyU3R5bGU6IFBsYWNlaG9sZGVyU3R5bGUgPSBiYWNrZ3JvdW5kSW1hZ2VcbiAgICA/IHtcbiAgICAgICAgYmFja2dyb3VuZFNpemUsXG4gICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogaW1nU3R5bGUub2JqZWN0UG9zaXRpb24gfHwgJzUwJSA1MCUnLFxuICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiAnbm8tcmVwZWF0JyxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlLFxuICAgICAgfVxuICAgIDoge31cblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICBpZiAoXG4gICAgICBwbGFjZWhvbGRlclN0eWxlLmJhY2tncm91bmRJbWFnZSAmJlxuICAgICAgcGxhY2Vob2xkZXIgPT09ICdibHVyJyAmJlxuICAgICAgYmx1ckRhdGFVUkw/LnN0YXJ0c1dpdGgoJy8nKVxuICAgICkge1xuICAgICAgLy8gRHVyaW5nIGBuZXh0IGRldmAsIHdlIGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgYmx1ciBwbGFjZWhvbGRlcnMgd2l0aCB3ZWJwYWNrXG4gICAgICAvLyBiZWNhdXNlIGl0IGNhbiBkZWxheSBzdGFydGluZyB0aGUgZGV2IHNlcnZlci4gSW5zdGVhZCwgYG5leHQtaW1hZ2UtbG9hZGVyLmpzYFxuICAgICAgLy8gd2lsbCBpbmxpbmUgYSBzcGVjaWFsIHVybCB0byBsYXppbHkgZ2VuZXJhdGUgdGhlIGJsdXIgcGxhY2Vob2xkZXIgYXQgcmVxdWVzdCB0aW1lLlxuICAgICAgcGxhY2Vob2xkZXJTdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiJHtibHVyRGF0YVVSTH1cIilgXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaW1nQXR0cmlidXRlcyA9IGdlbmVyYXRlSW1nQXR0cnMoe1xuICAgIGNvbmZpZyxcbiAgICBzcmMsXG4gICAgdW5vcHRpbWl6ZWQsXG4gICAgd2lkdGg6IHdpZHRoSW50LFxuICAgIHF1YWxpdHk6IHF1YWxpdHlJbnQsXG4gICAgc2l6ZXMsXG4gICAgbG9hZGVyLFxuICB9KVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgZnVsbFVybDogVVJMXG4gICAgICB0cnkge1xuICAgICAgICBmdWxsVXJsID0gbmV3IFVSTChpbWdBdHRyaWJ1dGVzLnNyYylcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZnVsbFVybCA9IG5ldyBVUkwoaW1nQXR0cmlidXRlcy5zcmMsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKVxuICAgICAgfVxuICAgICAgYWxsSW1ncy5zZXQoZnVsbFVybC5ocmVmLCB7IHNyYywgcHJpb3JpdHksIHBsYWNlaG9sZGVyIH0pXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcHJvcHM6IEltZ1Byb3BzID0ge1xuICAgIC4uLnJlc3QsXG4gICAgbG9hZGluZzogaXNMYXp5ID8gJ2xhenknIDogbG9hZGluZyxcbiAgICBmZXRjaFByaW9yaXR5LFxuICAgIHdpZHRoOiB3aWR0aEludCxcbiAgICBoZWlnaHQ6IGhlaWdodEludCxcbiAgICBkZWNvZGluZyxcbiAgICBjbGFzc05hbWUsXG4gICAgc3R5bGU6IHsgLi4uaW1nU3R5bGUsIC4uLnBsYWNlaG9sZGVyU3R5bGUgfSxcbiAgICBzaXplczogaW1nQXR0cmlidXRlcy5zaXplcyxcbiAgICBzcmNTZXQ6IGltZ0F0dHJpYnV0ZXMuc3JjU2V0LFxuICAgIHNyYzogb3ZlcnJpZGVTcmMgfHwgaW1nQXR0cmlidXRlcy5zcmMsXG4gIH1cbiAgY29uc3QgbWV0YSA9IHsgdW5vcHRpbWl6ZWQsIHByaW9yaXR5LCBwbGFjZWhvbGRlciwgZmlsbCB9XG4gIHJldHVybiB7IHByb3BzLCBtZXRhIH1cbn1cbiJdLCJuYW1lcyI6WyJnZXRJbWdQcm9wcyIsIlZBTElEX0xPQURJTkdfVkFMVUVTIiwidW5kZWZpbmVkIiwiSU5WQUxJRF9CQUNLR1JPVU5EX1NJWkVfVkFMVUVTIiwiaXNTdGF0aWNSZXF1aXJlIiwic3JjIiwiZGVmYXVsdCIsImlzU3RhdGljSW1hZ2VEYXRhIiwiaXNTdGF0aWNJbXBvcnQiLCJhbGxJbWdzIiwiTWFwIiwicGVyZk9ic2VydmVyIiwiZ2V0SW50IiwieCIsIk51bWJlciIsImlzRmluaXRlIiwiTmFOIiwidGVzdCIsInBhcnNlSW50IiwiZ2V0V2lkdGhzIiwid2lkdGgiLCJzaXplcyIsImRldmljZVNpemVzIiwiYWxsU2l6ZXMiLCJ2aWV3cG9ydFdpZHRoUmUiLCJwZXJjZW50U2l6ZXMiLCJtYXRjaCIsImV4ZWMiLCJwdXNoIiwibGVuZ3RoIiwic21hbGxlc3RSYXRpbyIsIk1hdGgiLCJtaW4iLCJ3aWR0aHMiLCJmaWx0ZXIiLCJzIiwia2luZCIsIlNldCIsIm1hcCIsInciLCJmaW5kIiwicCIsImdlbmVyYXRlSW1nQXR0cnMiLCJjb25maWciLCJ1bm9wdGltaXplZCIsInF1YWxpdHkiLCJsb2FkZXIiLCJzcmNTZXQiLCJsYXN0IiwiaSIsImpvaW4iLCJfc3RhdGUiLCJwcmlvcml0eSIsImxvYWRpbmciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJmaWxsIiwic3R5bGUiLCJvdmVycmlkZVNyYyIsIm9uTG9hZCIsIm9uTG9hZGluZ0NvbXBsZXRlIiwicGxhY2Vob2xkZXIiLCJibHVyRGF0YVVSTCIsImZldGNoUHJpb3JpdHkiLCJkZWNvZGluZyIsImxheW91dCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwibGF6eUJvdW5kYXJ5IiwibGF6eVJvb3QiLCJyZXN0IiwiaW1nQ29uZiIsInNob3dBbHRUZXh0IiwiYmx1ckNvbXBsZXRlIiwiZGVmYXVsdExvYWRlciIsImMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJpbWFnZVNpemVzIiwic29ydCIsImEiLCJiIiwicXVhbGl0aWVzIiwiRXJyb3IiLCJpc0RlZmF1bHRMb2FkZXIiLCJjdXN0b21JbWFnZUxvYWRlciIsIm9iaiIsIl8iLCJvcHRzIiwibGF5b3V0VG9TdHlsZSIsImludHJpbnNpYyIsIm1heFdpZHRoIiwicmVzcG9uc2l2ZSIsImxheW91dFRvU2l6ZXMiLCJsYXlvdXRTdHlsZSIsImxheW91dFNpemVzIiwic3RhdGljU3JjIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0Iiwic3RhdGljSW1hZ2VEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsInJhdGlvIiwicm91bmQiLCJpc0xhenkiLCJzdGFydHNXaXRoIiwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyIsInNwbGl0IiwiZW5kc1dpdGgiLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwib3V0cHV0IiwicG9zaXRpb24iLCJpc05hTiIsImluY2x1ZGVzIiwiU3RyaW5nIiwid2Fybk9uY2UiLCJsb2NhbFBhdHRlcm5zIiwicGF0aG5hbWUiLCJWQUxJRF9CTFVSX0VYVCIsInVybFN0ciIsInVybCIsIlVSTCIsImVyciIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsImJhY2tncm91bmRTaXplIiwicGxhY2Vob2xkZXJTdHlsZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsIm1ldGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n"));
|
|
237
|
+
|
|
238
|
+
/***/ }),
|
|
239
|
+
|
|
240
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js":
|
|
241
|
+
/*!***************************************************!*\
|
|
242
|
+
!*** ./node_modules/next/dist/shared/lib/head.js ***!
|
|
243
|
+
\***************************************************/
|
|
244
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
245
|
+
|
|
246
|
+
"use strict";
|
|
247
|
+
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n }, \"charset\")\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }, \"viewport\"));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n 'name',\n 'httpEquiv',\n 'charSet',\n 'itemProp'\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf('$') + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case 'meta':\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src'] ? '<script> tag with src=\"' + c.props['src'] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props['href'] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWdMQSxPQUFtQjtlQUFuQjs7SUFuS2dCQSxXQUFXO2VBQVhBOzs7Ozs7NkVBWDRCO2lGQUN6QjtxREFDYTs2REFDRztxQ0FDUDtzQ0FDSDtBQU1sQixTQUFTQSxZQUFZQyxTQUFpQjtJQUFqQkEsSUFBQUEsY0FBQUEsS0FBQUEsR0FBQUEsWUFBWTtJQUN0QyxNQUFNQyxPQUFPO3NCQUFDLHFCQUFDQyxRQUFBQTtZQUFLQyxTQUFRO1dBQVk7S0FBYTtJQUNyRCxJQUFJLENBQUNILFdBQVc7UUFDZEMsS0FBS0csSUFBSSxlQUNQLHFCQUFDRixRQUFBQTtZQUFLRyxNQUFLO1lBQVdDLFNBQVE7V0FBeUI7SUFFM0Q7SUFDQSxPQUFPTDtBQUNUO0FBRUEsU0FBU00saUJBQ1BDLElBQW9DLEVBQ3BDQyxLQUEyQztJQUUzQyw4RkFBOEY7SUFDOUYsSUFBSSxPQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxVQUFVO1FBQzFELE9BQU9EO0lBQ1Q7SUFDQSxrQ0FBa0M7SUFDbEMsSUFBSUMsTUFBTUMsSUFBSSxLQUFLQyxPQUFBQSxPQUFLLENBQUNDLFFBQVEsRUFBRTtRQUNqQyxPQUFPSixLQUFLSyxNQUFNLENBQ2hCLE9BQ0FGLE9BQUssQ0FBQ0csUUFBUSxDQUFDQyxPQUFPLENBQUNOLE1BQU1PLEtBQUssQ0FBQ0MsUUFBUSxFQUFFQyxNQUFNLENBQ2pELENBRUVDLGNBQ0FDO1lBRUEsSUFDRSxPQUFPQSxrQkFBa0IsWUFDekIsT0FBT0Esa0JBQWtCLFVBQ3pCO2dCQUNBLE9BQU9EO1lBQ1Q7WUFDQSxPQUFPQSxhQUFhTixNQUFNLENBQUNPO1FBQzdCLEdBQ0EsRUFBRTtJQUdSO0lBQ0EsT0FBT1osS0FBS0ssTUFBTSxDQUFDSjtBQUNyQjtBQUVBLE1BQU1ZLFlBQVk7SUFBQztJQUFRO0lBQWE7SUFBVztDQUFX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Q0FBQUEsR0FBQUEsVUFBQUEsUUFBQUEsRUFDRyx3RkFBcUZMLEVBQUVoQyxLQUFLLENBQUMsT0FBTyxHQUFDO1lBRTFHO1FBQ0Y7UUFDQSxxQkFBT0wsT0FBQUEsT0FBSyxDQUFDMkMsWUFBWSxDQUFDTixHQUFHO1lBQUVqQjtRQUFJO0lBQ3JDO0FBQ0o7QUFFQTs7O0NBR0MsR0FDRCxjQUFjLEtBQTJDO0lBQTNDLE1BQUVkLFFBQVEsRUFBaUMsR0FBM0M7SUFDWixNQUFNdUMsV0FBV0MsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MseUJBQUFBLGVBQWU7SUFDM0MsTUFBTUMsY0FBY0YsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0csaUNBQUFBLGtCQUFrQjtJQUNqRCxxQkFDRSxxQkFBQ0MsWUFBQUEsT0FBTTtRQUNMQyx5QkFBeUJuQjtRQUN6QmdCLGFBQWFBO1FBQ2IzRCxXQUFXK0QsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBWVA7a0JBRXRCdkM7O0FBR1A7S0FaU3NDO01BY1QsV0FBZUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL3NyYy9zaGFyZWQvbGliL2hlYWQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCBFZmZlY3QgZnJvbSAnLi9zaWRlLWVmZmVjdCdcbmltcG9ydCB7IEFtcFN0YXRlQ29udGV4dCB9IGZyb20gJy4vYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBIZWFkTWFuYWdlckNvbnRleHQgfSBmcm9tICcuL2hlYWQtbWFuYWdlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgaXNJbkFtcE1vZGUgfSBmcm9tICcuL2FtcC1tb2RlJ1xuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICcuL3V0aWxzL3dhcm4tb25jZSdcblxudHlwZSBXaXRoSW5BbXBNb2RlID0ge1xuICBpbkFtcE1vZGU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0SGVhZChpbkFtcE1vZGUgPSBmYWxzZSk6IEpTWC5FbGVtZW50W10ge1xuICBjb25zdCBoZWFkID0gWzxtZXRhIGNoYXJTZXQ9XCJ1dGYtOFwiIGtleT1cImNoYXJzZXRcIiAvPl1cbiAgaWYgKCFpbkFtcE1vZGUpIHtcbiAgICBoZWFkLnB1c2goXG4gICAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCIga2V5PVwidmlld3BvcnRcIiAvPlxuICAgIClcbiAgfVxuICByZXR1cm4gaGVhZFxufVxuXG5mdW5jdGlvbiBvbmx5UmVhY3RFbGVtZW50KFxuICBsaXN0OiBBcnJheTxSZWFjdC5SZWFjdEVsZW1lbnQ8YW55Pj4sXG4gIGNoaWxkOiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudW1iZXIgfCBzdHJpbmdcbik6IEFycmF5PFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+PiB7XG4gIC8vIFJlYWN0IGNoaWxkcmVuIGNhbiBiZSBcInN0cmluZ1wiIG9yIFwibnVtYmVyXCIgaW4gdGhpcyBjYXNlIHdlIGlnbm9yZSB0aGVtIGZvciBiYWNrd2FyZHMgY29tcGF0XG4gIGlmICh0eXBlb2YgY2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbGlzdFxuICB9XG4gIC8vIEFkZHMgc3VwcG9ydCBmb3IgUmVhY3QuRnJhZ21lbnRcbiAgaWYgKGNoaWxkLnR5cGUgPT09IFJlYWN0LkZyYWdtZW50KSB7XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkLnByb3BzLmNoaWxkcmVuKS5yZWR1Y2UoXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgQHR5cGVzL3JlYWN0IGRvZXMgbm90IHJlbW92ZSBmcmFnbWVudHMgYnV0IHRoaXMgY291bGQgYWxzbyByZXR1cm4gUmVhY3RQb3J0YWxbXVxuICAgICAgICAoXG4gICAgICAgICAgZnJhZ21lbnRMaXN0OiBBcnJheTxSZWFjdC5SZWFjdEVsZW1lbnQ8YW55Pj4sXG4gICAgICAgICAgZnJhZ21lbnRDaGlsZDogUmVhY3QuUmVhY3RFbGVtZW50IHwgbnVtYmVyIHwgc3RyaW5nXG4gICAgICAgICk6IEFycmF5PFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+PiA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIGZyYWdtZW50Q2hpbGQgPT09ICdzdHJpbmcnIHx8XG4gICAgICAgICAgICB0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gJ251bWJlcidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmcmFnbWVudExpc3RcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZyYWdtZW50TGlzdC5jb25jYXQoZnJhZ21lbnRDaGlsZClcbiAgICAgICAgfSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApXG4gIH1cbiAgcmV0dXJuIGxpc3QuY29uY2F0KGNoaWxkKVxufVxuXG5jb25zdCBNRVRBVFlQRVMgPSBbJ25hbWUnLCAnaHR0cEVxdWl2JywgJ2NoYXJTZXQnLCAnaXRlbVByb3AnXVxuXG4vKlxuIHJldHVybnMgYSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIGhlYWQgY2hpbGQgZWxlbWVudHNcbiB3aGljaCBzaG91bGRuJ3QgYmUgZHVwbGljYXRlZCwgbGlrZSA8dGl0bGUvPlxuIEFsc28gYWRkcyBzdXBwb3J0IGZvciBkZWR1cGxpY2F0ZWQgYGtleWAgcHJvcGVydGllc1xuKi9cbmZ1bmN0aW9uIHVuaXF1ZSgpIHtcbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQoKVxuICBjb25zdCB0YWdzID0gbmV3IFNldCgpXG4gIGNvbnN0IG1ldGFUeXBlcyA9IG5ldyBTZXQoKVxuICBjb25zdCBtZXRhQ2F0ZWdvcmllczogeyBbbWV0YXR5cGU6IHN0cmluZ106IFNldDxzdHJpbmc+IH0gPSB7fVxuXG4gIHJldHVybiAoaDogUmVhY3QuUmVhY3RFbGVtZW50PGFueT4pID0+IHtcbiAgICBsZXQgaXNVbmlxdWUgPSB0cnVlXG4gICAgbGV0IGhhc0tleSA9IGZhbHNlXG5cbiAgICBpZiAoaC5rZXkgJiYgdHlwZW9mIGgua2V5ICE9PSAnbnVtYmVyJyAmJiBoLmtleS5pbmRleE9mKCckJykgPiAwKSB7XG4gICAgICBoYXNLZXkgPSB0cnVlXG4gICAgICBjb25zdCBrZXkgPSBoLmtleS5zbGljZShoLmtleS5pbmRleE9mKCckJykgKyAxKVxuICAgICAgaWYgKGtleXMuaGFzKGtleSkpIHtcbiAgICAgICAgaXNVbmlxdWUgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAga2V5cy5hZGQoa2V5KVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZhdWx0LWNhc2VcbiAgICBzd2l0Y2ggKGgudHlwZSkge1xuICAgICAgY2FzZSAndGl0bGUnOlxuICAgICAgY2FzZSAnYmFzZSc6XG4gICAgICAgIGlmICh0YWdzLmhhcyhoLnR5cGUpKSB7XG4gICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhZ3MuYWRkKGgudHlwZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbWV0YSc6XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBNRVRBVFlQRVMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBtZXRhdHlwZSA9IE1FVEFUWVBFU1tpXVxuICAgICAgICAgIGlmICghaC5wcm9wcy5oYXNPd25Qcm9wZXJ0eShtZXRhdHlwZSkpIGNvbnRpbnVlXG5cbiAgICAgICAgICBpZiAobWV0YXR5cGUgPT09ICdjaGFyU2V0Jykge1xuICAgICAgICAgICAgaWYgKG1ldGFUeXBlcy5oYXMobWV0YXR5cGUpKSB7XG4gICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG1ldGFUeXBlcy5hZGQobWV0YXR5cGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gaC5wcm9wc1ttZXRhdHlwZV1cbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gfHwgbmV3IFNldCgpXG4gICAgICAgICAgICBpZiAoKG1ldGF0eXBlICE9PSAnbmFtZScgfHwgIWhhc0tleSkgJiYgY2F0ZWdvcmllcy5oYXMoY2F0ZWdvcnkpKSB7XG4gICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNhdGVnb3JpZXMuYWRkKGNhdGVnb3J5KVxuICAgICAgICAgICAgICBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gPSBjYXRlZ29yaWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVW5pcXVlXG4gIH1cbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGhlYWRDaGlsZHJlbkVsZW1lbnRzIExpc3Qgb2YgY2hpbGRyZW4gb2YgPEhlYWQ+XG4gKi9cbmZ1bmN0aW9uIHJlZHVjZUNvbXBvbmVudHM8VCBleHRlbmRzIHt9ICYgV2l0aEluQW1wTW9kZT4oXG4gIGhlYWRDaGlsZHJlbkVsZW1lbnRzOiBBcnJheTxSZWFjdC5SZWFjdEVsZW1lbnQ8YW55Pj4sXG4gIHByb3BzOiBUXG4pIHtcbiAgY29uc3QgeyBpbkFtcE1vZGUgfSA9IHByb3BzXG4gIHJldHVybiBoZWFkQ2hpbGRyZW5FbGVtZW50c1xuICAgIC5yZWR1Y2Uob25seVJlYWN0RWxlbWVudCwgW10pXG4gICAgLnJldmVyc2UoKVxuICAgIC5jb25jYXQoZGVmYXVsdEhlYWQoaW5BbXBNb2RlKS5yZXZlcnNlKCkpXG4gICAgLmZpbHRlcih1bmlxdWUoKSlcbiAgICAucmV2ZXJzZSgpXG4gICAgLm1hcCgoYzogUmVhY3QuUmVhY3RFbGVtZW50PGFueT4sIGk6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gYy5rZXkgfHwgaVxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgIC8vIG9taXQgSlNPTi1MRCBzdHJ1Y3R1cmVkIGRhdGEgc25pcHBldHMgZnJvbSB0aGUgd2FybmluZ1xuICAgICAgICBpZiAoYy50eXBlID09PSAnc2NyaXB0JyAmJiBjLnByb3BzWyd0eXBlJ10gIT09ICdhcHBsaWNhdGlvbi9sZCtqc29uJykge1xuICAgICAgICAgIGNvbnN0IHNyY01lc3NhZ2UgPSBjLnByb3BzWydzcmMnXVxuICAgICAgICAgICAgPyBgPHNjcmlwdD4gdGFnIHdpdGggc3JjPVwiJHtjLnByb3BzWydzcmMnXX1cImBcbiAgICAgICAgICAgIDogYGlubGluZSA8c2NyaXB0PmBcbiAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgIGBEbyBub3QgYWRkIDxzY3JpcHQ+IHRhZ3MgdXNpbmcgbmV4dC9oZWFkIChzZWUgJHtzcmNNZXNzYWdlfSkuIFVzZSBuZXh0L3NjcmlwdCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXNjcmlwdC10YWdzLWluLWhlYWQtY29tcG9uZW50YFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09ICdsaW5rJyAmJiBjLnByb3BzWydyZWwnXSA9PT0gJ3N0eWxlc2hlZXQnKSB7XG4gICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICBgRG8gbm90IGFkZCBzdHlsZXNoZWV0cyB1c2luZyBuZXh0L2hlYWQgKHNlZSA8bGluayByZWw9XCJzdHlsZXNoZWV0XCI+IHRhZyB3aXRoIGhyZWY9XCIke2MucHJvcHNbJ2hyZWYnXX1cIikuIFVzZSBEb2N1bWVudCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXN0eWxlc2hlZXRzLWluLWhlYWQtY29tcG9uZW50YFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjLCB7IGtleSB9KVxuICAgIH0pXG59XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaW5qZWN0cyBlbGVtZW50cyB0byBgPGhlYWQ+YCBvZiB5b3VyIHBhZ2UuXG4gKiBUbyBhdm9pZCBkdXBsaWNhdGVkIGB0YWdzYCBpbiBgPGhlYWQ+YCB5b3UgY2FuIHVzZSB0aGUgYGtleWAgcHJvcGVydHksIHdoaWNoIHdpbGwgbWFrZSBzdXJlIGV2ZXJ5IHRhZyBpcyBvbmx5IHJlbmRlcmVkIG9uY2UuXG4gKi9cbmZ1bmN0aW9uIEhlYWQoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICBjb25zdCBhbXBTdGF0ZSA9IHVzZUNvbnRleHQoQW1wU3RhdGVDb250ZXh0KVxuICBjb25zdCBoZWFkTWFuYWdlciA9IHVzZUNvbnRleHQoSGVhZE1hbmFnZXJDb250ZXh0KVxuICByZXR1cm4gKFxuICAgIDxFZmZlY3RcbiAgICAgIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlPXtyZWR1Y2VDb21wb25lbnRzfVxuICAgICAgaGVhZE1hbmFnZXI9e2hlYWRNYW5hZ2VyfVxuICAgICAgaW5BbXBNb2RlPXtpc0luQW1wTW9kZShhbXBTdGF0ZSl9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvRWZmZWN0PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEhlYWRcbiJdLCJuYW1lcyI6WyJkZWZhdWx0SGVhZCIsImluQW1wTW9kZSIsImhlYWQiLCJtZXRhIiwiY2hhclNldCIsInB1c2giLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJ0eXBlIiwiUmVhY3QiLCJGcmFnbWVudCIsImNvbmNhdCIsIkNoaWxkcmVuIiwidG9BcnJheSIsInByb3BzIiwiY2hpbGRyZW4iLCJyZWR1Y2UiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwidW5pcXVlIiwia2V5cyIsIlNldCIsInRhZ3MiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJzbGljZSIsImhhcyIsImFkZCIsImkiLCJsZW4iLCJsZW5ndGgiLCJtZXRhdHlwZSIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwicmVkdWNlQ29tcG9uZW50cyIsImhlYWRDaGlsZHJlbkVsZW1lbnRzIiwicmV2ZXJzZSIsImZpbHRlciIsIm1hcCIsImMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJzcmNNZXNzYWdlIiwid2Fybk9uY2UiLCJjbG9uZUVsZW1lbnQiLCJIZWFkIiwiYW1wU3RhdGUiLCJ1c2VDb250ZXh0IiwiQW1wU3RhdGVDb250ZXh0IiwiaGVhZE1hbmFnZXIiLCJIZWFkTWFuYWdlckNvbnRleHQiLCJFZmZlY3QiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsImlzSW5BbXBNb2RlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n"));
|
|
248
|
+
|
|
249
|
+
/***/ }),
|
|
250
|
+
|
|
251
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js":
|
|
252
|
+
/*!*************************************************************!*\
|
|
253
|
+
!*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***!
|
|
254
|
+
\*************************************************************/
|
|
255
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
256
|
+
|
|
257
|
+
"use strict";
|
|
258
|
+
eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : '';\n const preserveAspectRatio = viewBox ? 'none' : objectFit === 'contain' ? 'xMidYMid' : objectFit === 'cover' ? 'xMidYMid slice' : 'none';\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCLEtBYy9CO0lBZCtCLE1BQzlCQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsU0FBUyxFQVFWLEdBZCtCO0lBZTlCLE1BQU1DLE1BQU07SUFDWixNQUFNQyxXQUFXTCxZQUFZQSxZQUFZLEtBQUtGO0lBQzlDLE1BQU1RLFlBQVlMLGFBQWFBLGFBQWEsS0FBS0Y7SUFFakQsTUFBTVEsVUFDSkYsWUFBWUMsWUFBYSxrQkFBZUQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ1osYUFDQUEsY0FBYyxVQUNaLG1CQUNBO0lBRVIsT0FBUSwrQ0FBNENJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgc2hhcmVkIGZ1bmN0aW9uLCB1c2VkIG9uIGJvdGggY2xpZW50IGFuZCBzZXJ2ZXIsIHRvIGdlbmVyYXRlIGEgU1ZHIGJsdXIgcGxhY2Vob2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbWFnZUJsdXJTdmcoe1xuICB3aWR0aEludCxcbiAgaGVpZ2h0SW50LFxuICBibHVyV2lkdGgsXG4gIGJsdXJIZWlnaHQsXG4gIGJsdXJEYXRhVVJMLFxuICBvYmplY3RGaXQsXG59OiB7XG4gIHdpZHRoSW50PzogbnVtYmVyXG4gIGhlaWdodEludD86IG51bWJlclxuICBibHVyV2lkdGg/OiBudW1iZXJcbiAgYmx1ckhlaWdodD86IG51bWJlclxuICBibHVyRGF0YVVSTDogc3RyaW5nXG4gIG9iamVjdEZpdD86IHN0cmluZ1xufSk6IHN0cmluZyB7XG4gIGNvbnN0IHN0ZCA9IDIwXG4gIGNvbnN0IHN2Z1dpZHRoID0gYmx1cldpZHRoID8gYmx1cldpZHRoICogNDAgOiB3aWR0aEludFxuICBjb25zdCBzdmdIZWlnaHQgPSBibHVySGVpZ2h0ID8gYmx1ckhlaWdodCAqIDQwIDogaGVpZ2h0SW50XG5cbiAgY29uc3Qgdmlld0JveCA9XG4gICAgc3ZnV2lkdGggJiYgc3ZnSGVpZ2h0ID8gYHZpZXdCb3g9JzAgMCAke3N2Z1dpZHRofSAke3N2Z0hlaWdodH0nYCA6ICcnXG4gIGNvbnN0IHByZXNlcnZlQXNwZWN0UmF0aW8gPSB2aWV3Qm94XG4gICAgPyAnbm9uZSdcbiAgICA6IG9iamVjdEZpdCA9PT0gJ2NvbnRhaW4nXG4gICAgICA/ICd4TWlkWU1pZCdcbiAgICAgIDogb2JqZWN0Rml0ID09PSAnY292ZXInXG4gICAgICAgID8gJ3hNaWRZTWlkIHNsaWNlJ1xuICAgICAgICA6ICdub25lJ1xuXG4gIHJldHVybiBgJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgJHt2aWV3Qm94fSUzRSUzQ2ZpbHRlciBpZD0nYicgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyUzRSUzQ2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0nJHtzdGR9Jy8lM0UlM0NmZUNvbG9yTWF0cml4IHZhbHVlcz0nMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMTAwIC0xJyByZXN1bHQ9J3MnLyUzRSUzQ2ZlRmxvb2QgeD0nMCcgeT0nMCcgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnLyUzRSUzQ2ZlQ29tcG9zaXRlIG9wZXJhdG9yPSdvdXQnIGluPSdzJy8lM0UlM0NmZUNvbXBvc2l0ZSBpbjI9J1NvdXJjZUdyYXBoaWMnLyUzRSUzQ2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0nJHtzdGR9Jy8lM0UlM0MvZmlsdGVyJTNFJTNDaW1hZ2Ugd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnIHg9JzAnIHk9JzAnIHByZXNlcnZlQXNwZWN0UmF0aW89JyR7cHJlc2VydmVBc3BlY3RSYXRpb30nIHN0eWxlPSdmaWx0ZXI6IHVybCglMjNiKTsnIGhyZWY9JyR7Ymx1ckRhdGFVUkx9Jy8lM0UlM0Mvc3ZnJTNFYFxufVxuIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsIndpZHRoSW50IiwiaGVpZ2h0SW50IiwiYmx1cldpZHRoIiwiYmx1ckhlaWdodCIsImJsdXJEYXRhVVJMIiwib2JqZWN0Rml0Iiwic3RkIiwic3ZnV2lkdGgiLCJzdmdIZWlnaHQiLCJ2aWV3Qm94IiwicHJlc2VydmVBc3BlY3RSYXRpbyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"));
|
|
259
|
+
|
|
260
|
+
/***/ }),
|
|
261
|
+
|
|
262
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js":
|
|
263
|
+
/*!**********************************************************************************!*\
|
|
264
|
+
!*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***!
|
|
265
|
+
\**********************************************************************************/
|
|
266
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
267
|
+
|
|
268
|
+
"use strict";
|
|
269
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = 'ImageConfigContext';\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBb0IsRUFBbUI7SUFDekNKLG1CQUFtQk8sV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IEltYWdlQ29uZmlnQ29tcGxldGUgfSBmcm9tICcuL2ltYWdlLWNvbmZpZydcbmltcG9ydCB7IGltYWdlQ29uZmlnRGVmYXVsdCB9IGZyb20gJy4vaW1hZ2UtY29uZmlnJ1xuXG5leHBvcnQgY29uc3QgSW1hZ2VDb25maWdDb250ZXh0ID1cbiAgUmVhY3QuY3JlYXRlQ29udGV4dDxJbWFnZUNvbmZpZ0NvbXBsZXRlPihpbWFnZUNvbmZpZ0RlZmF1bHQpXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIEltYWdlQ29uZmlnQ29udGV4dC5kaXNwbGF5TmFtZSA9ICdJbWFnZUNvbmZpZ0NvbnRleHQnXG59XG4iXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n"));
|
|
270
|
+
|
|
271
|
+
/***/ }),
|
|
272
|
+
|
|
273
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js":
|
|
274
|
+
/*!***********************************************************!*\
|
|
275
|
+
!*** ./node_modules/next/dist/shared/lib/image-config.js ***!
|
|
276
|
+
\***********************************************************/
|
|
277
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
278
|
+
|
|
279
|
+
"use strict";
|
|
280
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n 'default',\n 'imgix',\n 'cloudinary',\n 'akamai',\n 'custom'\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: '/_next/image',\n loader: 'default',\n loaderFile: '',\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n 'image/webp'\n ],\n maximumResponseBody: 50000000,\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: 'attachment',\n localPatterns: undefined,\n remotePatterns: [],\n qualities: undefined,\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGFBQWE7ZUFBYkE7O0lBb0lBQyxrQkFBa0I7ZUFBbEJBOzs7QUFwSU4sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQThITSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMscUJBQXFCO0lBQ3JCQyx1QkFBd0I7SUFDeEJDLHdCQUF3QjtJQUN4QkMsZUFBZUM7SUFDZkMsZ0JBQWdCLEVBQUU7SUFDbEJDLFdBQVdGO0lBQ1hHLGFBQWE7QUFDZiIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvc3JjL3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWQUxJRF9MT0FERVJTID0gW1xuICAnZGVmYXVsdCcsXG4gICdpbWdpeCcsXG4gICdjbG91ZGluYXJ5JyxcbiAgJ2FrYW1haScsXG4gICdjdXN0b20nLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBMb2FkZXJWYWx1ZSA9ICh0eXBlb2YgVkFMSURfTE9BREVSUylbbnVtYmVyXVxuXG5leHBvcnQgdHlwZSBJbWFnZUxvYWRlclByb3BzID0ge1xuICBzcmM6IHN0cmluZ1xuICB3aWR0aDogbnVtYmVyXG4gIHF1YWxpdHk/OiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgSW1hZ2VMb2FkZXJQcm9wc1dpdGhDb25maWcgPSBJbWFnZUxvYWRlclByb3BzICYge1xuICBjb25maWc6IFJlYWRvbmx5PEltYWdlQ29uZmlnPlxufVxuXG5leHBvcnQgdHlwZSBMb2NhbFBhdHRlcm4gPSB7XG4gIC8qKlxuICAgKiBDYW4gYmUgbGl0ZXJhbCBvciB3aWxkY2FyZC5cbiAgICogU2luZ2xlIGAqYCBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudC5cbiAgICogRG91YmxlIGAqKmAgbWF0Y2hlcyBhbnkgbnVtYmVyIG9mIHBhdGggc2VnbWVudHMuXG4gICAqL1xuICBwYXRobmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgbGl0ZXJhbCBxdWVyeSBzdHJpbmcgc3VjaCBhcyBgP3Y9MWAgb3JcbiAgICogZW1wdHkgc3RyaW5nIG1lYW5pbmcgbm8gcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgc2VhcmNoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFJlbW90ZVBhdHRlcm4gPSB7XG4gIC8qKlxuICAgKiBNdXN0IGJlIGBodHRwYCBvciBgaHR0cHNgLlxuICAgKi9cbiAgcHJvdG9jb2w/OiAnaHR0cCcgfCAnaHR0cHMnXG5cbiAgLyoqXG4gICAqIENhbiBiZSBsaXRlcmFsIG9yIHdpbGRjYXJkLlxuICAgKiBTaW5nbGUgYCpgIG1hdGNoZXMgYSBzaW5nbGUgc3ViZG9tYWluLlxuICAgKiBEb3VibGUgYCoqYCBtYXRjaGVzIGFueSBudW1iZXIgb2Ygc3ViZG9tYWlucy5cbiAgICovXG4gIGhvc3RuYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogQ2FuIGJlIGxpdGVyYWwgcG9ydCBzdWNoIGFzIGA4MDgwYCBvciBlbXB0eSBzdHJpbmdcbiAgICogbWVhbmluZyBubyBwb3J0LlxuICAgKi9cbiAgcG9ydD86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgbGl0ZXJhbCBvciB3aWxkY2FyZC5cbiAgICogU2luZ2xlIGAqYCBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudC5cbiAgICogRG91YmxlIGAqKmAgbWF0Y2hlcyBhbnkgbnVtYmVyIG9mIHBhdGggc2VnbWVudHMuXG4gICAqL1xuICBwYXRobmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgbGl0ZXJhbCBxdWVyeSBzdHJpbmcgc3VjaCBhcyBgP3Y9MWAgb3JcbiAgICogZW1wdHkgc3RyaW5nIG1lYW5pbmcgbm8gcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgc2VhcmNoPzogc3RyaW5nXG59XG5cbnR5cGUgSW1hZ2VGb3JtYXQgPSAnaW1hZ2UvYXZpZicgfCAnaW1hZ2Uvd2VicCdcblxuLyoqXG4gKiBJbWFnZSBjb25maWd1cmF0aW9uc1xuICpcbiAqIEBzZWUgW0ltYWdlIGNvbmZpZ3VyYXRpb24gb3B0aW9uc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI2NvbmZpZ3VyYXRpb24tb3B0aW9ucylcbiAqL1xuZXhwb3J0IHR5cGUgSW1hZ2VDb25maWdDb21wbGV0ZSA9IHtcbiAgLyoqIEBzZWUgW0RldmljZSBzaXplcyBkb2N1bWVudGF0aW9uXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2UjZGV2aWNlLXNpemVzKSAqL1xuICBkZXZpY2VTaXplczogbnVtYmVyW11cblxuICAvKiogQHNlZSBbSW1hZ2Ugc2l6aW5nIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL29wdGltaXppbmcvaW1hZ2VzI2ltYWdlLXNpemluZykgKi9cbiAgaW1hZ2VTaXplczogbnVtYmVyW11cblxuICAvKiogQHNlZSBbSW1hZ2UgbG9hZGVycyBjb25maWd1cmF0aW9uXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGVnYWN5L2ltYWdlI2xvYWRlcikgKi9cbiAgbG9hZGVyOiBMb2FkZXJWYWx1ZVxuXG4gIC8qKiBAc2VlIFtJbWFnZSBsb2FkZXIgY29uZmlndXJhdGlvbl0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvY29tcG9uZW50cy9pbWFnZSNwYXRoKSAqL1xuICBwYXRoOiBzdHJpbmdcblxuICAvKiogQHNlZSBbSW1hZ2UgbG9hZGVyIGNvbmZpZ3VyYXRpb25dKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNsb2FkZXItY29uZmlndXJhdGlvbikgKi9cbiAgbG9hZGVyRmlsZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcmVtb3RlUGF0dGVybnNgIGluc3RlYWQuXG4gICAqL1xuICBkb21haW5zOiBzdHJpbmdbXVxuXG4gIC8qKiBAc2VlIFtEaXNhYmxlIHN0YXRpYyBpbWFnZSBpbXBvcnQgY29uZmlndXJhdGlvbl0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI2Rpc2FibGUtc3RhdGljLWltcG9ydHMpICovXG4gIGRpc2FibGVTdGF0aWNJbWFnZXM6IGJvb2xlYW5cblxuICAvKiogQHNlZSBbQ2FjaGUgYmVoYXZpb3JdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNjYWNoaW5nLWJlaGF2aW9yKSAqL1xuICBtaW5pbXVtQ2FjaGVUVEw6IG51bWJlclxuXG4gIC8qKiBAc2VlIFtBY2NlcHRhYmxlIGZvcm1hdHNdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNhY2NlcHRhYmxlLWZvcm1hdHMpICovXG4gIGZvcm1hdHM6IEltYWdlRm9ybWF0W11cblxuICAvKiogQHNlZSBbTWF4aW11bSBSZXNwb25zZSBCb2R5XShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2UjbWF4aW11bXJlc3BvbnNlYm9keSkgKi9cbiAgbWF4aW11bVJlc3BvbnNlQm9keTogbnVtYmVyXG5cbiAgLyoqIEBzZWUgW0Rhbmdlcm91c2x5IEFsbG93IFNWR10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI2Rhbmdlcm91c2x5LWFsbG93LXN2ZykgKi9cbiAgZGFuZ2Vyb3VzbHlBbGxvd1NWRzogYm9vbGVhblxuXG4gIC8qKiBAc2VlIFtDb250ZW50IFNlY3VyaXR5IFBvbGljeV0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI2NvbnRlbnRzZWN1cml0eXBvbGljeSkgKi9cbiAgY29udGVudFNlY3VyaXR5UG9saWN5OiBzdHJpbmdcblxuICAvKiogQHNlZSBbQ29udGVudCBEaXNwb3NpdGlvbiBUeXBlXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2UjY29udGVudGRpc3Bvc2l0aW9udHlwZSkgKi9cbiAgY29udGVudERpc3Bvc2l0aW9uVHlwZTogJ2lubGluZScgfCAnYXR0YWNobWVudCdcblxuICAvKiogQHNlZSBbUmVtb3RlIFBhdHRlcm5zXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2UjcmVtb3RlcGF0dGVybnMpICovXG4gIHJlbW90ZVBhdHRlcm5zOiBBcnJheTxVUkwgfCBSZW1vdGVQYXR0ZXJuPlxuXG4gIC8qKiBAc2VlIFtMb2NhbCBQYXR0ZXJuc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI2xvY2FsUGF0dGVybnMpICovXG4gIGxvY2FsUGF0dGVybnM6IExvY2FsUGF0dGVybltdIHwgdW5kZWZpbmVkXG5cbiAgLyoqIEBzZWUgW1F1YWxpdGllc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI3F1YWxpdGllcykgKi9cbiAgcXVhbGl0aWVzOiBudW1iZXJbXSB8IHVuZGVmaW5lZFxuXG4gIC8qKiBAc2VlIFtVbm9wdGltaXplZF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI3Vub3B0aW1pemVkKSAqL1xuICB1bm9wdGltaXplZDogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBJbWFnZUNvbmZpZyA9IFBhcnRpYWw8SW1hZ2VDb25maWdDb21wbGV0ZT5cblxuZXhwb3J0IGNvbnN0IGltYWdlQ29uZmlnRGVmYXVsdDogSW1hZ2VDb25maWdDb21wbGV0ZSA9IHtcbiAgZGV2aWNlU2l6ZXM6IFs2NDAsIDc1MCwgODI4LCAxMDgwLCAxMjAwLCAxOTIwLCAyMDQ4LCAzODQwXSxcbiAgaW1hZ2VTaXplczogWzE2LCAzMiwgNDgsIDY0LCA5NiwgMTI4LCAyNTYsIDM4NF0sXG4gIHBhdGg6ICcvX25leHQvaW1hZ2UnLFxuICBsb2FkZXI6ICdkZWZhdWx0JyxcbiAgbG9hZGVyRmlsZTogJycsXG4gIGRvbWFpbnM6IFtdLFxuICBkaXNhYmxlU3RhdGljSW1hZ2VzOiBmYWxzZSxcbiAgbWluaW11bUNhY2hlVFRMOiA2MCxcbiAgZm9ybWF0czogWydpbWFnZS93ZWJwJ10sXG4gIG1heGltdW1SZXNwb25zZUJvZHk6IDUwXzAwMF8wMDAsIC8vIDUwIE1CXG4gIGRhbmdlcm91c2x5QWxsb3dTVkc6IGZhbHNlLFxuICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGBzY3JpcHQtc3JjICdub25lJzsgZnJhbWUtc3JjICdub25lJzsgc2FuZGJveDtgLFxuICBjb250ZW50RGlzcG9zaXRpb25UeXBlOiAnYXR0YWNobWVudCcsXG4gIGxvY2FsUGF0dGVybnM6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdDogYWxsb3cgYWxsIGxvY2FsIGltYWdlc1xuICByZW1vdGVQYXR0ZXJuczogW10sIC8vIGRlZmF1bHQ6IGFsbG93IG5vIHJlbW90ZSBpbWFnZXNcbiAgcXVhbGl0aWVzOiB1bmRlZmluZWQsIC8vIGRlZmF1bHQ6IGFsbG93IGFsbCBxdWFsaXRpZXNcbiAgdW5vcHRpbWl6ZWQ6IGZhbHNlLFxufVxuIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsIm1heGltdW1SZXNwb25zZUJvZHkiLCJkYW5nZXJvdXNseUFsbG93U1ZHIiwiY29udGVudFNlY3VyaXR5UG9saWN5IiwiY29udGVudERpc3Bvc2l0aW9uVHlwZSIsImxvY2FsUGF0dGVybnMiLCJ1bmRlZmluZWQiLCJyZW1vdGVQYXR0ZXJucyIsInF1YWxpdGllcyIsInVub3B0aW1pemVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n"));
|
|
281
|
+
|
|
282
|
+
/***/ }),
|
|
283
|
+
|
|
284
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js":
|
|
285
|
+
/*!*************************************************************!*\
|
|
286
|
+
!*** ./node_modules/next/dist/shared/lib/image-external.js ***!
|
|
287
|
+
\*************************************************************/
|
|
288
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
289
|
+
|
|
290
|
+
"use strict";
|
|
291
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":true,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ0EsT0FBb0I7ZUFBcEI7O0lBakJnQkEsYUFBYTtlQUFiQTs7Ozt5Q0FiWTs0Q0FDTjtrRkFHSTtBQVNuQixTQUFTQSxjQUFjQyxRQUFvQjtJQUNoRCxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFBQSxFQUFZRixVQUFVO1FBQ3RDRyxlQUFBQSxhQUFBQSxPQUFhO1FBQ2IsNENBQTRDO1FBQzVDQyxTQUFTQyx5TkFBNkI7SUFDeEM7SUFDQSx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLHdEQUF3RDtJQUN4RCxLQUFLLE1BQU0sQ0FBQ0csS0FBS0MsTUFBTSxJQUFJQyxPQUFPQyxPQUFPLENBQUNWLE9BQVE7UUFDaEQsSUFBSVEsVUFBVUcsV0FBVztZQUN2QixPQUFPWCxLQUFLLENBQUNPLElBQTBCO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPO1FBQUVQO0lBQU07QUFDakI7TUFFQSxXQUFlWSxnQkFBQUEsS0FBSyIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvc3JjL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1hZ2VDb25maWdDb21wbGV0ZSwgSW1hZ2VMb2FkZXJQcm9wcyB9IGZyb20gJy4vaW1hZ2UtY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBJbWFnZVByb3BzLCBJbWFnZUxvYWRlciwgU3RhdGljSW1hZ2VEYXRhIH0gZnJvbSAnLi9nZXQtaW1nLXByb3BzJ1xuXG5pbXBvcnQgeyBnZXRJbWdQcm9wcyB9IGZyb20gJy4vZ2V0LWltZy1wcm9wcydcbmltcG9ydCB7IEltYWdlIH0gZnJvbSAnLi4vLi4vY2xpZW50L2ltYWdlLWNvbXBvbmVudCdcblxuLy8gVGhpcyBpcyByZXBsYWNlZCBieSB3ZWJwYWNrIGFsaWFzXG5pbXBvcnQgZGVmYXVsdExvYWRlciBmcm9tICduZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXInXG5cbi8qKlxuICogRm9yIG1vcmUgYWR2YW5jZWQgdXNlIGNhc2VzLCB5b3UgY2FuIGNhbGwgYGdldEltYWdlUHJvcHMoKWBcbiAqIHRvIGdldCB0aGUgcHJvcHMgdGhhdCB3b3VsZCBiZSBwYXNzZWQgdG8gdGhlIHVuZGVybHlpbmcgYDxpbWc+YCBlbGVtZW50LFxuICogYW5kIGluc3RlYWQgcGFzcyB0byB0aGVtIHRvIGFub3RoZXIgY29tcG9uZW50LCBzdHlsZSwgY2FudmFzLCBldGMuXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBkb2NzOiBgZ2V0SW1hZ2VQcm9wc2BdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2NvbXBvbmVudHMvaW1hZ2UjZ2V0aW1hZ2Vwcm9wcylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEltYWdlUHJvcHMoaW1nUHJvcHM6IEltYWdlUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9wcyB9ID0gZ2V0SW1nUHJvcHMoaW1nUHJvcHMsIHtcbiAgICBkZWZhdWx0TG9hZGVyLFxuICAgIC8vIFRoaXMgaXMgcmVwbGFjZWQgYnkgd2VicGFjayBkZWZpbmUgcGx1Z2luXG4gICAgaW1nQ29uZjogcHJvY2Vzcy5lbnYuX19ORVhUX0lNQUdFX09QVFMgYXMgYW55IGFzIEltYWdlQ29uZmlnQ29tcGxldGUsXG4gIH0pXG4gIC8vIE5vcm1hbGx5IHdlIGRvbid0IGNhcmUgYWJvdXQgdW5kZWZpbmVkIHByb3BzIGJlY2F1c2Ugd2UgcGFzcyB0byBKU1gsXG4gIC8vIGJ1dCB0aGlzIGV4cG9ydGVkIGZ1bmN0aW9uIGNvdWxkIGJlIHVzZWQgYnkgdGhlIGVuZCB1c2VyIGZvciBhbnl0aGluZ1xuICAvLyBzbyB3ZSBkZWxldGUgdW5kZWZpbmVkIHByb3BzIHRvIGNsZWFuIGl0IHVwIGEgbGl0dGxlLlxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwcm9wcykpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVsZXRlIHByb3BzW2tleSBhcyBrZXlvZiB0eXBlb2YgcHJvcHNdXG4gICAgfVxuICB9XG4gIHJldHVybiB7IHByb3BzIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2VcblxuZXhwb3J0IHR5cGUgeyBJbWFnZVByb3BzLCBJbWFnZUxvYWRlclByb3BzLCBJbWFnZUxvYWRlciwgU3RhdGljSW1hZ2VEYXRhIH1cbiJdLCJuYW1lcyI6WyJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\n"));
|
|
292
|
+
|
|
293
|
+
/***/ }),
|
|
294
|
+
|
|
295
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js":
|
|
296
|
+
/*!***********************************************************!*\
|
|
297
|
+
!*** ./node_modules/next/dist/shared/lib/image-loader.js ***!
|
|
298
|
+
\***********************************************************/
|
|
299
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
300
|
+
|
|
301
|
+
"use strict";
|
|
302
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst DEFAULT_Q = 75;\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n var _config_qualities;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n if (missingValues.length > 0) {\n throw Object.defineProperty(new Error(\"Next Image Optimization requires \" + missingValues.join(', ') + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n })), \"__NEXT_ERROR_CODE\", {\n value: \"E188\",\n enumerable: false,\n configurable: true\n });\n }\n if (src.startsWith('//')) {\n throw Object.defineProperty(new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)'), \"__NEXT_ERROR_CODE\", {\n value: \"E360\",\n enumerable: false,\n configurable: true\n });\n }\n if (src.startsWith('/') && config.localPatterns) {\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasLocalMatch } = __webpack_require__(/*! ./match-local-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-local-pattern.js\");\n if (!hasLocalMatch(config.localPatterns, src)) {\n throw Object.defineProperty(new Error(\"Invalid src prop (\" + src + \") on `next/image` does not match `images.localPatterns` configured in your `next.config.js`\\n\" + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns\"), \"__NEXT_ERROR_CODE\", {\n value: \"E426\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw Object.defineProperty(new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)'), \"__NEXT_ERROR_CODE\", {\n value: \"E63\",\n enumerable: false,\n configurable: true\n });\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasRemoteMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasRemoteMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw Object.defineProperty(new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\"), \"__NEXT_ERROR_CODE\", {\n value: \"E231\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n if (quality && config.qualities && !config.qualities.includes(quality)) {\n throw Object.defineProperty(new Error(\"Invalid quality prop (\" + quality + \") on `next/image` does not match `images.qualities` configured in your `next.config.js`\\n\" + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-qualities\"), \"__NEXT_ERROR_CODE\", {\n value: \"E623\",\n enumerable: false,\n configurable: true\n });\n }\n }\n const q = quality || ((_config_qualities = config.qualities) == null ? void 0 : _config_qualities.reduce((prev, cur)=>Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q) ? cur : prev)) || DEFAULT_Q;\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + q + (src.startsWith('/_next/static/media/') && false ? 0 : '');\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0EyR0E7OztlQUFBOzs7QUF6R0EsTUFBTUEsWUFBWTtBQUVsQixTQUFTQyxjQUFjLEtBS007SUFMTixNQUNyQkMsTUFBTSxFQUNOQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNvQixHQUxOO1FBdUZuQkg7SUFqRkYsSUFBSUksSUFBb0IsRUFBbUI7UUFDekMsTUFBTUcsZ0JBQWdCLEVBQUU7UUFFeEIseURBQXlEO1FBQ3pELElBQUksQ0FBQ04sS0FBS00sY0FBY0MsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQ04sT0FBT0ssY0FBY0MsSUFBSSxDQUFDO1FBRS9CLElBQUlELGNBQWNFLE1BQU0sR0FBRyxHQUFHO1lBQzVCLE1BQU0scUJBTUwsQ0FOSyxJQUFJQyxNQUNQLHNDQUFtQ0gsY0FBY0ksSUFBSSxDQUNwRCxRQUNBLGdHQUErRkMsS0FBS0MsU0FBUyxDQUM3RztnQkFBRVo7Z0JBQUtDO2dCQUFPQztZQUFRLEtBSnBCO3VCQUFBOzRCQUFBOzhCQUFBO1lBTU47UUFDRjtRQUVBLElBQUlGLElBQUlhLFVBQVUsQ0FBQyxPQUFPO1lBQ3hCLE1BQU0scUJBRUwsQ0FGSyxJQUFJSixNQUNQLDBCQUF1QlQsTUFBSSwyR0FEeEI7dUJBQUE7NEJBQUE7OEJBQUE7WUFFTjtRQUNGO1FBRUEsSUFBSUEsSUFBSWEsVUFBVSxDQUFDLFFBQVFkLE9BQU9lLGFBQWEsRUFBRTtZQUMvQyxJQUNFWCxJQUVtQyxFQUNuQztnQkFDQSx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRWEsYUFBYSxFQUFFLEdBQ3JCQyxtQkFBT0EsQ0FBQyw2R0FBdUI7Z0JBQ2pDLElBQUksQ0FBQ0QsY0FBY2pCLE9BQU9lLGFBQWEsRUFBRWQsTUFBTTtvQkFDN0MsTUFBTSxxQkFHTCxDQUhLLElBQUlTLE1BQ1AsdUJBQW9CVCxNQUFJLGtHQUN0QiwwRkFGQzsrQkFBQTtvQ0FBQTtzQ0FBQTtvQkFHTjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQSxJQUFJLENBQUNBLElBQUlhLFVBQVUsQ0FBQyxRQUFTZCxDQUFBQSxPQUFPbUIsT0FBTyxJQUFJbkIsT0FBT29CLGNBQUFBLEdBQWlCO1lBQ3JFLElBQUlDO1lBQ0osSUFBSTtnQkFDRkEsWUFBWSxJQUFJQyxJQUFJckI7WUFDdEIsRUFBRSxPQUFPc0IsS0FBSztnQkFDWkMsUUFBUUMsS0FBSyxDQUFDRjtnQkFDZCxNQUFNLHFCQUVMLENBRkssSUFBSWIsTUFDUCwwQkFBdUJULE1BQUksa0lBRHhCOzJCQUFBO2dDQUFBO2tDQUFBO2dCQUVOO1lBQ0Y7WUFFQSxJQUNFRyxJQUVtQyxFQUNuQztnQkFDQSx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRXNCLGNBQWMsRUFBRSxHQUN0QlIsbUJBQU9BLENBQUMsK0dBQXdCO2dCQUNsQyxJQUNFLENBQUNRLGVBQWUxQixPQUFPbUIsT0FBTyxFQUFHbkIsT0FBT29CLGNBQWMsRUFBR0MsWUFDekQ7b0JBQ0EsTUFBTSxxQkFHTCxDQUhLLElBQUlYLE1BQ1AsdUJBQW9CVCxNQUFJLGtDQUFpQ29CLFVBQVVNLFFBQVEsR0FBQyxnRUFDMUUsaUZBRkM7K0JBQUE7b0NBQUE7c0NBQUE7b0JBR047Z0JBQ0Y7WUFDRjtRQUNGO1FBRUEsSUFBSXhCLFdBQVdILE9BQU80QixTQUFTLElBQUksQ0FBQzVCLE9BQU80QixTQUFTLENBQUNDLFFBQVEsQ0FBQzFCLFVBQVU7WUFDdEUsTUFBTSxxQkFHTCxDQUhLLElBQUlPLE1BQ1AsMkJBQXdCUCxVQUFRLDhGQUM5QixzRkFGQzt1QkFBQTs0QkFBQTs4QkFBQTtZQUdOO1FBQ0Y7SUFDRjtJQUVBLE1BQU0yQixJQUNKM0IsV0FBQUEsQ0FBQUEsQ0FDQUgsb0JBQUFBLE9BQU80QixTQUFBQSxLQUFTLGdCQUFoQjVCLGtCQUFrQitCLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxNQUM5QkMsS0FBS0MsR0FBRyxDQUFDRixNQUFNbkMsYUFBYW9DLEtBQUtDLEdBQUcsQ0FBQ0gsT0FBT2xDLGFBQWFtQyxNQUFNRCxLQUFBQSxLQUVqRWxDO0lBRUYsT0FBVUUsT0FBT29DLElBQUksR0FBQyxVQUFPQyxtQkFBbUJwQyxPQUFLLFFBQUtDLFFBQU0sUUFBSzRCLElBQ25FN0IsQ0FBQUEsSUFBSWEsVUFBVSxDQUFDLDJCQUEyQlYsS0FBOEIsR0FDbkUsQ0FBcUMsR0FDdEMsR0FBQztBQUVUO0FBRUEsK0RBQStEO0FBQy9ELDJEQUEyRDtBQUMzREwsY0FBY3dDLGtCQUFrQixHQUFHO01BRW5DLFdBQWV4QyIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvc3JjL3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW1hZ2VMb2FkZXJQcm9wc1dpdGhDb25maWcgfSBmcm9tICcuL2ltYWdlLWNvbmZpZydcblxuY29uc3QgREVGQVVMVF9RID0gNzVcblxuZnVuY3Rpb24gZGVmYXVsdExvYWRlcih7XG4gIGNvbmZpZyxcbiAgc3JjLFxuICB3aWR0aCxcbiAgcXVhbGl0eSxcbn06IEltYWdlTG9hZGVyUHJvcHNXaXRoQ29uZmlnKTogc3RyaW5nIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zdCBtaXNzaW5nVmFsdWVzID0gW11cblxuICAgIC8vIHRoZXNlIHNob3VsZCBhbHdheXMgYmUgcHJvdmlkZWQgYnV0IG1ha2Ugc3VyZSB0aGV5IGFyZVxuICAgIGlmICghc3JjKSBtaXNzaW5nVmFsdWVzLnB1c2goJ3NyYycpXG4gICAgaWYgKCF3aWR0aCkgbWlzc2luZ1ZhbHVlcy5wdXNoKCd3aWR0aCcpXG5cbiAgICBpZiAobWlzc2luZ1ZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBOZXh0IEltYWdlIE9wdGltaXphdGlvbiByZXF1aXJlcyAke21pc3NpbmdWYWx1ZXMuam9pbihcbiAgICAgICAgICAnLCAnXG4gICAgICAgICl9IHRvIGJlIHByb3ZpZGVkLiBNYWtlIHN1cmUgeW91IHBhc3MgdGhlbSBhcyBwcm9wcyB0byB0aGUgXFxgbmV4dC9pbWFnZVxcYCBjb21wb25lbnQuIFJlY2VpdmVkOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHsgc3JjLCB3aWR0aCwgcXVhbGl0eSB9XG4gICAgICAgICl9YFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmIChzcmMuc3RhcnRzV2l0aCgnLy8nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHNyYyBcIiR7c3JjfVwiIG9uIFxcYG5leHQvaW1hZ2VcXGAsIHByb3RvY29sLXJlbGF0aXZlIFVSTCAoLy8pIG11c3QgYmUgY2hhbmdlZCB0byBhbiBhYnNvbHV0ZSBVUkwgKGh0dHA6Ly8gb3IgaHR0cHM6Ly8pYFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmIChzcmMuc3RhcnRzV2l0aCgnLycpICYmIGNvbmZpZy5sb2NhbFBhdHRlcm5zKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcgJiZcbiAgICAgICAgLy8gbWljcm9tYXRjaCBpc24ndCBjb21wYXRpYmxlIHdpdGggZWRnZSBydW50aW1lXG4gICAgICAgIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gJ2VkZ2UnXG4gICAgICApIHtcbiAgICAgICAgLy8gV2UgdXNlIGR5bmFtaWMgcmVxdWlyZSBiZWNhdXNlIHRoaXMgc2hvdWxkIG9ubHkgZXJyb3IgaW4gZGV2ZWxvcG1lbnRcbiAgICAgICAgY29uc3QgeyBoYXNMb2NhbE1hdGNoIH0gPVxuICAgICAgICAgIHJlcXVpcmUoJy4vbWF0Y2gtbG9jYWwtcGF0dGVybicpIGFzIHR5cGVvZiBpbXBvcnQoJy4vbWF0Y2gtbG9jYWwtcGF0dGVybicpXG4gICAgICAgIGlmICghaGFzTG9jYWxNYXRjaChjb25maWcubG9jYWxQYXR0ZXJucywgc3JjKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbnZhbGlkIHNyYyBwcm9wICgke3NyY30pIG9uIFxcYG5leHQvaW1hZ2VcXGAgZG9lcyBub3QgbWF0Y2ggXFxgaW1hZ2VzLmxvY2FsUGF0dGVybnNcXGAgY29uZmlndXJlZCBpbiB5b3VyIFxcYG5leHQuY29uZmlnLmpzXFxgXFxuYCArXG4gICAgICAgICAgICAgIGBTZWUgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLXVuY29uZmlndXJlZC1sb2NhbHBhdHRlcm5zYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghc3JjLnN0YXJ0c1dpdGgoJy8nKSAmJiAoY29uZmlnLmRvbWFpbnMgfHwgY29uZmlnLnJlbW90ZVBhdHRlcm5zKSkge1xuICAgICAgbGV0IHBhcnNlZFNyYzogVVJMXG4gICAgICB0cnkge1xuICAgICAgICBwYXJzZWRTcmMgPSBuZXcgVVJMKHNyYylcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gcGFyc2Ugc3JjIFwiJHtzcmN9XCIgb24gXFxgbmV4dC9pbWFnZVxcYCwgaWYgdXNpbmcgcmVsYXRpdmUgaW1hZ2UgaXQgbXVzdCBzdGFydCB3aXRoIGEgbGVhZGluZyBzbGFzaCBcIi9cIiBvciBiZSBhbiBhYnNvbHV0ZSBVUkwgKGh0dHA6Ly8gb3IgaHR0cHM6Ly8pYFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJlxuICAgICAgICAvLyBtaWNyb21hdGNoIGlzbid0IGNvbXBhdGlibGUgd2l0aCBlZGdlIHJ1bnRpbWVcbiAgICAgICAgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSAnZWRnZSdcbiAgICAgICkge1xuICAgICAgICAvLyBXZSB1c2UgZHluYW1pYyByZXF1aXJlIGJlY2F1c2UgdGhpcyBzaG91bGQgb25seSBlcnJvciBpbiBkZXZlbG9wbWVudFxuICAgICAgICBjb25zdCB7IGhhc1JlbW90ZU1hdGNoIH0gPVxuICAgICAgICAgIHJlcXVpcmUoJy4vbWF0Y2gtcmVtb3RlLXBhdHRlcm4nKSBhcyB0eXBlb2YgaW1wb3J0KCcuL21hdGNoLXJlbW90ZS1wYXR0ZXJuJylcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFoYXNSZW1vdGVNYXRjaChjb25maWcuZG9tYWlucyEsIGNvbmZpZy5yZW1vdGVQYXR0ZXJucyEsIHBhcnNlZFNyYylcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEludmFsaWQgc3JjIHByb3AgKCR7c3JjfSkgb24gXFxgbmV4dC9pbWFnZVxcYCwgaG9zdG5hbWUgXCIke3BhcnNlZFNyYy5ob3N0bmFtZX1cIiBpcyBub3QgY29uZmlndXJlZCB1bmRlciBpbWFnZXMgaW4geW91ciBcXGBuZXh0LmNvbmZpZy5qc1xcYFxcbmAgK1xuICAgICAgICAgICAgICBgU2VlIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1pbWFnZS11bmNvbmZpZ3VyZWQtaG9zdGBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocXVhbGl0eSAmJiBjb25maWcucXVhbGl0aWVzICYmICFjb25maWcucXVhbGl0aWVzLmluY2x1ZGVzKHF1YWxpdHkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHF1YWxpdHkgcHJvcCAoJHtxdWFsaXR5fSkgb24gXFxgbmV4dC9pbWFnZVxcYCBkb2VzIG5vdCBtYXRjaCBcXGBpbWFnZXMucXVhbGl0aWVzXFxgIGNvbmZpZ3VyZWQgaW4geW91ciBcXGBuZXh0LmNvbmZpZy5qc1xcYFxcbmAgK1xuICAgICAgICAgIGBTZWUgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLXVuY29uZmlndXJlZC1xdWFsaXRpZXNgXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcSA9XG4gICAgcXVhbGl0eSB8fFxuICAgIGNvbmZpZy5xdWFsaXRpZXM/LnJlZHVjZSgocHJldiwgY3VyKSA9PlxuICAgICAgTWF0aC5hYnMoY3VyIC0gREVGQVVMVF9RKSA8IE1hdGguYWJzKHByZXYgLSBERUZBVUxUX1EpID8gY3VyIDogcHJldlxuICAgICkgfHxcbiAgICBERUZBVUxUX1FcblxuICByZXR1cm4gYCR7Y29uZmlnLnBhdGh9P3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChzcmMpfSZ3PSR7d2lkdGh9JnE9JHtxfSR7XG4gICAgc3JjLnN0YXJ0c1dpdGgoJy9fbmV4dC9zdGF0aWMvbWVkaWEvJykgJiYgcHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEXG4gICAgICA/IGAmZHBsPSR7cHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEfWBcbiAgICAgIDogJydcbiAgfWBcbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBpbXBvcnQgaXMgdGhlIGRlZmF1bHQgbG9hZGVyXG4vLyBvciBhIGN1c3RvbSBsb2FkZXIgZGVmaW5lZCBieSB0aGUgdXNlciBpbiBuZXh0LmNvbmZpZy5qc1xuZGVmYXVsdExvYWRlci5fX25leHRfaW1nX2RlZmF1bHQgPSB0cnVlXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmF1bHRMb2FkZXJcbiJdLCJuYW1lcyI6WyJERUZBVUxUX1EiLCJkZWZhdWx0TG9hZGVyIiwiY29uZmlnIiwic3JjIiwid2lkdGgiLCJxdWFsaXR5IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwibWlzc2luZ1ZhbHVlcyIsInB1c2giLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhcnRzV2l0aCIsImxvY2FsUGF0dGVybnMiLCJORVhUX1JVTlRJTUUiLCJoYXNMb2NhbE1hdGNoIiwicmVxdWlyZSIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInBhcnNlZFNyYyIsIlVSTCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImhhc1JlbW90ZU1hdGNoIiwiaG9zdG5hbWUiLCJxdWFsaXRpZXMiLCJpbmNsdWRlcyIsInEiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyIiwiTWF0aCIsImFicyIsInBhdGgiLCJlbmNvZGVVUklDb21wb25lbnQiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJfX25leHRfaW1nX2RlZmF1bHQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n"));
|
|
303
|
+
|
|
304
|
+
/***/ }),
|
|
305
|
+
|
|
306
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-local-pattern.js":
|
|
307
|
+
/*!******************************************************************!*\
|
|
308
|
+
!*** ./node_modules/next/dist/shared/lib/match-local-pattern.js ***!
|
|
309
|
+
\******************************************************************/
|
|
310
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
311
|
+
|
|
312
|
+
"use strict";
|
|
313
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasLocalMatch: function() {\n return hasLocalMatch;\n },\n matchLocalPattern: function() {\n return matchLocalPattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchLocalPattern(pattern, url) {\n if (pattern.search !== undefined) {\n if (pattern.search !== url.search) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : '**', {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasLocalMatch(localPatterns, urlPathAndQuery) {\n if (!localPatterns) {\n // if the user didn't define \"localPatterns\", we allow all local images\n return true;\n }\n const url = new URL(urlPathAndQuery, 'http://n');\n return localPatterns.some((p)=>matchLocalPattern(p, url));\n} //# sourceMappingURL=match-local-pattern.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1sb2NhbC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWtCZ0JBLGFBQWE7ZUFBYkE7O0lBZEFDLGlCQUFpQjtlQUFqQkE7Ozt1Q0FITztBQUdoQixTQUFTQSxrQkFBa0JDLE9BQXFCLEVBQUVDLEdBQVE7SUFDL0QsSUFBSUQsUUFBUUUsTUFBTSxLQUFLQyxXQUFXO1FBQ2hDLElBQUlILFFBQVFFLE1BQU0sS0FBS0QsSUFBSUMsTUFBTSxFQUFFO1lBQ2pDLE9BQU87UUFDVDtJQUNGO1FBRVlGO0lBQVosSUFBSSxDQUFDSSxDQUFBQSxHQUFBQSxXQUFBQSxNQUFBQSxFQUFPSixDQUFBQSxvQkFBQUEsUUFBUUssUUFBQUEsS0FBUSxPQUFoQkwsb0JBQW9CLE1BQU07UUFBRU0sS0FBSztJQUFLLEdBQUdDLElBQUksQ0FBQ04sSUFBSUksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNQLGNBQ2RVLGFBQXlDLEVBQ3pDQyxlQUF1QjtJQUV2QixJQUFJLENBQUNELGVBQWU7UUFDbEIsdUVBQXVFO1FBQ3ZFLE9BQU87SUFDVDtJQUNBLE1BQU1QLE1BQU0sSUFBSVMsSUFBSUQsaUJBQWlCO0lBQ3JDLE9BQU9ELGNBQWNHLElBQUksQ0FBQyxDQUFDQyxJQUFNYixrQkFBa0JhLEdBQUdYO0FBQ3hEIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvc2hhcmVkL2xpYi9tYXRjaC1sb2NhbC1wYXR0ZXJuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9jYWxQYXR0ZXJuIH0gZnJvbSAnLi9pbWFnZS1jb25maWcnXG5pbXBvcnQgeyBtYWtlUmUgfSBmcm9tICduZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoJ1xuXG4vLyBNb2RpZnlpbmcgdGhpcyBmdW5jdGlvbiBzaG91bGQgYWxzbyBtb2RpZnkgd3JpdGVJbWFnZXNNYW5pZmVzdCgpXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hMb2NhbFBhdHRlcm4ocGF0dGVybjogTG9jYWxQYXR0ZXJuLCB1cmw6IFVSTCk6IGJvb2xlYW4ge1xuICBpZiAocGF0dGVybi5zZWFyY2ggIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChwYXR0ZXJuLnNlYXJjaCAhPT0gdXJsLnNlYXJjaCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgaWYgKCFtYWtlUmUocGF0dGVybi5wYXRobmFtZSA/PyAnKionLCB7IGRvdDogdHJ1ZSB9KS50ZXN0KHVybC5wYXRobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMb2NhbE1hdGNoKFxuICBsb2NhbFBhdHRlcm5zOiBMb2NhbFBhdHRlcm5bXSB8IHVuZGVmaW5lZCxcbiAgdXJsUGF0aEFuZFF1ZXJ5OiBzdHJpbmdcbik6IGJvb2xlYW4ge1xuICBpZiAoIWxvY2FsUGF0dGVybnMpIHtcbiAgICAvLyBpZiB0aGUgdXNlciBkaWRuJ3QgZGVmaW5lIFwibG9jYWxQYXR0ZXJuc1wiLCB3ZSBhbGxvdyBhbGwgbG9jYWwgaW1hZ2VzXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFBhdGhBbmRRdWVyeSwgJ2h0dHA6Ly9uJylcbiAgcmV0dXJuIGxvY2FsUGF0dGVybnMuc29tZSgocCkgPT4gbWF0Y2hMb2NhbFBhdHRlcm4ocCwgdXJsKSlcbn1cbiJdLCJuYW1lcyI6WyJoYXNMb2NhbE1hdGNoIiwibWF0Y2hMb2NhbFBhdHRlcm4iLCJwYXR0ZXJuIiwidXJsIiwic2VhcmNoIiwidW5kZWZpbmVkIiwibWFrZVJlIiwicGF0aG5hbWUiLCJkb3QiLCJ0ZXN0IiwibG9jYWxQYXR0ZXJucyIsInVybFBhdGhBbmRRdWVyeSIsIlVSTCIsInNvbWUiLCJwIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-local-pattern.js\n"));
|
|
314
|
+
|
|
315
|
+
/***/ }),
|
|
316
|
+
|
|
317
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js":
|
|
318
|
+
/*!*******************************************************************!*\
|
|
319
|
+
!*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***!
|
|
320
|
+
\*******************************************************************/
|
|
321
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
322
|
+
|
|
323
|
+
"use strict";
|
|
324
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasRemoteMatch: function() {\n return hasRemoteMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n if (pattern.protocol.replace(/:$/, '') !== url.protocol.replace(/:$/, '')) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw Object.defineProperty(new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern)), \"__NEXT_ERROR_CODE\", {\n value: \"E410\",\n enumerable: false,\n configurable: true\n });\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n if (pattern.search !== undefined) {\n if (pattern.search !== url.search) {\n return false;\n }\n }\n var _pattern_pathname;\n // Should be the same as writeImagesManifest()\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : '**', {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasRemoteMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUEyQ2dCQSxjQUFjO2VBQWRBOztJQXZDQUMsa0JBQWtCO2VBQWxCQTs7O3VDQUhPO0FBR2hCLFNBQVNBLG1CQUNkQyxPQUE0QixFQUM1QkMsR0FBUTtJQUVSLElBQUlELFFBQVFFLFFBQVEsS0FBS0MsV0FBVztRQUNsQyxJQUFJSCxRQUFRRSxRQUFRLENBQUNFLE9BQU8sQ0FBQyxNQUFNLFFBQVFILElBQUlDLFFBQVEsQ0FBQ0UsT0FBTyxDQUFDLE1BQU0sS0FBSztZQUN6RSxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFLLElBQUksS0FBS0YsV0FBVztRQUM5QixJQUFJSCxRQUFRSyxJQUFJLEtBQUtKLElBQUlJLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlMLFFBQVFNLFFBQVEsS0FBS0gsV0FBVztRQUNsQyxNQUFNLHFCQUVMLENBRkssSUFBSUksTUFDUCwrQ0FBNENDLEtBQUtDLFNBQVMsQ0FBQ1QsV0FEeEQ7bUJBQUE7d0JBQUE7MEJBQUE7UUFFTjtJQUNGLE9BQU87UUFDTCxJQUFJLENBQUNVLENBQUFBLEdBQUFBLFdBQUFBLE1BQUFBLEVBQU9WLFFBQVFNLFFBQVEsRUFBRUssSUFBSSxDQUFDVixJQUFJSyxRQUFRLEdBQUc7WUFDaEQsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJTixRQUFRWSxNQUFNLEtBQUtULFdBQVc7UUFDaEMsSUFBSUgsUUFBUVksTUFBTSxLQUFLWCxJQUFJVyxNQUFNLEVBQUU7WUFDakMsT0FBTztRQUNUO0lBQ0Y7UUFHWVo7SUFEWiw4Q0FBOEM7SUFDOUMsSUFBSSxDQUFDVSxDQUFBQSxHQUFBQSxXQUFBQSxNQUFBQSxFQUFPVixDQUFBQSxvQkFBQUEsUUFBUWEsUUFBQUEsS0FBUSxPQUFoQmIsb0JBQW9CLE1BQU07UUFBRWMsS0FBSztJQUFLLEdBQUdILElBQUksQ0FBQ1YsSUFBSVksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNmLGVBQ2RpQixPQUFpQixFQUNqQkMsY0FBMEMsRUFDMUNmLEdBQVE7SUFFUixPQUNFYyxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2pCLElBQUlLLFFBQVEsS0FBS1ksV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNcEIsbUJBQW1Cb0IsR0FBR2xCO0FBRXJEIiwic291cmNlcyI6WyIvVXNlcnMvZGhhbmFuamF5cGFpL0NvZGluZy9QZXJzb25hbC9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlbW90ZVBhdHRlcm4gfSBmcm9tICcuL2ltYWdlLWNvbmZpZydcbmltcG9ydCB7IG1ha2VSZSB9IGZyb20gJ25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gnXG5cbi8vIE1vZGlmeWluZyB0aGlzIGZ1bmN0aW9uIHNob3VsZCBhbHNvIG1vZGlmeSB3cml0ZUltYWdlc01hbmlmZXN0KClcbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFJlbW90ZVBhdHRlcm4oXG4gIHBhdHRlcm46IFJlbW90ZVBhdHRlcm4gfCBVUkwsXG4gIHVybDogVVJMXG4pOiBib29sZWFuIHtcbiAgaWYgKHBhdHRlcm4ucHJvdG9jb2wgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChwYXR0ZXJuLnByb3RvY29sLnJlcGxhY2UoLzokLywgJycpICE9PSB1cmwucHJvdG9jb2wucmVwbGFjZSgvOiQvLCAnJykpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuICBpZiAocGF0dGVybi5wb3J0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAocGF0dGVybi5wb3J0ICE9PSB1cmwucG9ydCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgaWYgKHBhdHRlcm4uaG9zdG5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBQYXR0ZXJuIHNob3VsZCBkZWZpbmUgaG9zdG5hbWUgYnV0IGZvdW5kXFxuJHtKU09OLnN0cmluZ2lmeShwYXR0ZXJuKX1gXG4gICAgKVxuICB9IGVsc2Uge1xuICAgIGlmICghbWFrZVJlKHBhdHRlcm4uaG9zdG5hbWUpLnRlc3QodXJsLmhvc3RuYW1lKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgaWYgKHBhdHRlcm4uc2VhcmNoICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAocGF0dGVybi5zZWFyY2ggIT09IHVybC5zZWFyY2gpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIC8vIFNob3VsZCBiZSB0aGUgc2FtZSBhcyB3cml0ZUltYWdlc01hbmlmZXN0KClcbiAgaWYgKCFtYWtlUmUocGF0dGVybi5wYXRobmFtZSA/PyAnKionLCB7IGRvdDogdHJ1ZSB9KS50ZXN0KHVybC5wYXRobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNSZW1vdGVNYXRjaChcbiAgZG9tYWluczogc3RyaW5nW10sXG4gIHJlbW90ZVBhdHRlcm5zOiBBcnJheTxSZW1vdGVQYXR0ZXJuIHwgVVJMPixcbiAgdXJsOiBVUkxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGRvbWFpbnMuc29tZSgoZG9tYWluKSA9PiB1cmwuaG9zdG5hbWUgPT09IGRvbWFpbikgfHxcbiAgICByZW1vdGVQYXR0ZXJucy5zb21lKChwKSA9PiBtYXRjaFJlbW90ZVBhdHRlcm4ocCwgdXJsKSlcbiAgKVxufVxuIl0sIm5hbWVzIjpbImhhc1JlbW90ZU1hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwicmVwbGFjZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJzZWFyY2giLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"));
|
|
325
|
+
|
|
326
|
+
/***/ }),
|
|
327
|
+
|
|
328
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js":
|
|
329
|
+
/*!****************************************************************************!*\
|
|
330
|
+
!*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***!
|
|
331
|
+
\****************************************************************************/
|
|
332
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
333
|
+
|
|
334
|
+
"use strict";
|
|
335
|
+
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = 'RouterContext';\n} //# sourceMappingURL=router-context.shared-runtime.js.map\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBb0IsRUFBbUI7SUFDekNILGNBQWNNLFdBQVcsR0FBRztBQUM5QiIsInNvdXJjZXMiOlsiL1VzZXJzL2RoYW5hbmpheXBhaS9Db2RpbmcvUGVyc29uYWwvc3JjL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBOZXh0Um91dGVyIH0gZnJvbSAnLi9yb3V0ZXIvcm91dGVyJ1xuXG5leHBvcnQgY29uc3QgUm91dGVyQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8TmV4dFJvdXRlciB8IG51bGw+KG51bGwpXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIFJvdXRlckNvbnRleHQuZGlzcGxheU5hbWUgPSAnUm91dGVyQ29udGV4dCdcbn1cbiJdLCJuYW1lcyI6WyJSb3V0ZXJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n"));
|
|
336
|
+
|
|
337
|
+
/***/ }),
|
|
338
|
+
|
|
339
|
+
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js":
|
|
340
|
+
/*!**********************************************************!*\
|
|
341
|
+
!*** ./node_modules/next/dist/shared/lib/side-effect.js ***!
|
|
342
|
+
\**********************************************************/
|
|
343
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
344
|
+
|
|
345
|
+
"use strict";
|
|
346
|
+
eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = \"object\" === 'undefined';\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect({\n \"SideEffect.useClientOnlyLayoutEffect\": ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ({\n \"SideEffect.useClientOnlyLayoutEffect\": ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n }\n })[\"SideEffect.useClientOnlyLayoutEffect\"];\n }\n }[\"SideEffect.useClientOnlyLayoutEffect\"]);\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect({\n \"SideEffect.useClientOnlyLayoutEffect\": ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ({\n \"SideEffect.useClientOnlyLayoutEffect\": ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n }\n })[\"SideEffect.useClientOnlyLayoutEffect\"];\n }\n }[\"SideEffect.useClientOnlyLayoutEffect\"]);\n useClientOnlyEffect({\n \"SideEffect.useClientOnlyEffect\": ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ({\n \"SideEffect.useClientOnlyEffect\": ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n }\n })[\"SideEffect.useClientOnlyEffect\"];\n }\n }[\"SideEffect.useClientOnlyEffect\"]);\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkJ1QztBQWUvRCxNQUFNQyxXQUFXLE9BQU9DLE1BQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLG9CQUFvQkMsS0FBc0I7O0lBQ3ZELE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUVqRCxTQUFTRztRQUNQLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQy9DLE1BQU1DLGVBQWVDLE9BQUFBLFFBQVEsQ0FBQ0MsT0FBTyxDQUNuQ0MsTUFBTUMsSUFBSSxDQUFDUixZQUFZRyxnQkFBZ0IsRUFBMEJNLE1BQU0sQ0FDckVDO1lBR0pWLFlBQVlXLFVBQVUsQ0FBQ1Ysd0JBQXdCRyxjQUFjTDtRQUMvRDtJQUNGO0lBRUEsSUFBSU4sVUFBVTtZQUNaTztRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQUFBLEtBQWdCLGdCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakRYO0lBQ0Y7O2dEQUUwQjtnQkFDeEJGO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBQUEsS0FBZ0IsZ0JBQTdCSCw4QkFBK0JZLEdBQUcsQ0FBQ2IsTUFBTWMsUUFBUTtZQUNqRDt3REFBTzt3QkFDTGI7b0JBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBQUEsS0FBZ0IsZ0JBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtnQkFDdEQ7O1FBQ0Y7O0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjs7Z0RBQ3pEO1lBQ3hCLElBQUliLGFBQWE7Z0JBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7WUFDL0I7WUFDQTt3REFBTztvQkFDTCxJQUFJRixhQUFhO3dCQUNmQSxZQUFZZSxjQUFjLEdBQUdiO29CQUMvQjtnQkFDRjs7UUFDRjs7OzBDQUVvQjtZQUNsQixJQUFJRixlQUFlQSxZQUFZZSxjQUFjLEVBQUU7Z0JBQzdDZixZQUFZZSxjQUFjO2dCQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1lBQy9CO1lBQ0E7a0RBQU87b0JBQ0wsSUFBSWYsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO3dCQUM3Q2YsWUFBWWUsY0FBYzt3QkFDMUJmLFlBQVllLGNBQWMsR0FBRztvQkFDL0I7Z0JBQ0Y7O1FBQ0Y7O0lBRUEsT0FBTztBQUNUOzs7UUFyQ0VwQjtRQVlBQTtRQVdBRTs7O0tBMUNzQkwiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL3NyYy9zaGFyZWQvbGliL3NpZGUtZWZmZWN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoaWxkcmVuLCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCdcblxudHlwZSBTdGF0ZSA9IEpTWC5FbGVtZW50W10gfCB1bmRlZmluZWRcblxuZXhwb3J0IHR5cGUgU2lkZUVmZmVjdFByb3BzID0ge1xuICByZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTogPFQgZXh0ZW5kcyB7fT4oXG4gICAgY29tcG9uZW50czogQXJyYXk8UmVhY3QuUmVhY3RFbGVtZW50PGFueT4+LFxuICAgIHByb3BzOiBUXG4gICkgPT4gU3RhdGVcbiAgaGFuZGxlU3RhdGVDaGFuZ2U/OiAoc3RhdGU6IFN0YXRlKSA9PiB2b2lkXG4gIGhlYWRNYW5hZ2VyOiBhbnlcbiAgaW5BbXBNb2RlPzogYm9vbGVhblxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmNvbnN0IGlzU2VydmVyID0gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCdcbmNvbnN0IHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QgPSBpc1NlcnZlciA/ICgpID0+IHt9IDogdXNlTGF5b3V0RWZmZWN0XG5jb25zdCB1c2VDbGllbnRPbmx5RWZmZWN0ID0gaXNTZXJ2ZXIgPyAoKSA9PiB7fSA6IHVzZUVmZmVjdFxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTaWRlRWZmZWN0KHByb3BzOiBTaWRlRWZmZWN0UHJvcHMpIHtcbiAgY29uc3QgeyBoZWFkTWFuYWdlciwgcmVkdWNlQ29tcG9uZW50c1RvU3RhdGUgfSA9IHByb3BzXG5cbiAgZnVuY3Rpb24gZW1pdENoYW5nZSgpIHtcbiAgICBpZiAoaGVhZE1hbmFnZXIgJiYgaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykge1xuICAgICAgY29uc3QgaGVhZEVsZW1lbnRzID0gQ2hpbGRyZW4udG9BcnJheShcbiAgICAgICAgQXJyYXkuZnJvbShoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzIGFzIFNldDxSZWFjdC5SZWFjdE5vZGU+KS5maWx0ZXIoXG4gICAgICAgICAgQm9vbGVhblxuICAgICAgICApXG4gICAgICApIGFzIFJlYWN0LlJlYWN0RWxlbWVudFtdXG4gICAgICBoZWFkTWFuYWdlci51cGRhdGVIZWFkKHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlKGhlYWRFbGVtZW50cywgcHJvcHMpKVxuICAgIH1cbiAgfVxuXG4gIGlmIChpc1NlcnZlcikge1xuICAgIGhlYWRNYW5hZ2VyPy5tb3VudGVkSW5zdGFuY2VzPy5hZGQocHJvcHMuY2hpbGRyZW4pXG4gICAgZW1pdENoYW5nZSgpXG4gIH1cblxuICB1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBoZWFkTWFuYWdlcj8ubW91bnRlZEluc3RhbmNlcz8uYWRkKHByb3BzLmNoaWxkcmVuKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBoZWFkTWFuYWdlcj8ubW91bnRlZEluc3RhbmNlcz8uZGVsZXRlKHByb3BzLmNoaWxkcmVuKVxuICAgIH1cbiAgfSlcblxuICAvLyBXZSBuZWVkIHRvIGNhbGwgYHVwZGF0ZUhlYWRgIG1ldGhvZCB3aGVuZXZlciB0aGUgYFNpZGVFZmZlY3RgIGlzIHRyaWdnZXIgaW4gYWxsXG4gIC8vIGxpZmUtY3ljbGVzOiBtb3VudCwgdXBkYXRlLCB1bm1vdW50LiBIb3dldmVyLCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgYFNpZGVFZmZlY3Rgc1xuICAvLyBiZWluZyByZW5kZXJlZCwgd2Ugb25seSB0cmlnZ2VyIHRoZSBtZXRob2QgZnJvbSB0aGUgbGFzdCBvbmUuXG4gIC8vIFRoaXMgaXMgZW5zdXJlZCBieSBrZWVwaW5nIHRoZSBsYXN0IHVuZmx1c2hlZCBgdXBkYXRlSGVhZGAgaW4gdGhlIGBfcGVuZGluZ1VwZGF0ZWBcbiAgLy8gc2luZ2xldG9uIGluIHRoZSBsYXlvdXQgZWZmZWN0IHBhc3MsIGFuZCBhY3R1YWxseSB0cmlnZ2VyIGl0IGluIHRoZSBlZmZlY3QgcGFzcy5cbiAgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGhlYWRNYW5hZ2VyKSB7XG4gICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IGVtaXRDaGFuZ2VcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChoZWFkTWFuYWdlcikge1xuICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IGVtaXRDaGFuZ2VcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgdXNlQ2xpZW50T25seUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGhlYWRNYW5hZ2VyICYmIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKSB7XG4gICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSgpXG4gICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IG51bGxcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSkge1xuICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSgpXG4gICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbIlNpZGVFZmZlY3QiLCJpc1NlcnZlciIsIndpbmRvdyIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsImFkZCIsImNoaWxkcmVuIiwiZGVsZXRlIiwiX3BlbmRpbmdVcGRhdGUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n"));
|
|
347
|
+
|
|
52
348
|
/***/ })
|
|
53
349
|
|
|
54
350
|
},
|