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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
4
|
+
* This devtool is neither made for production nor for readable output files.
|
|
5
|
+
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
6
|
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
7
|
+
* or disable the default devtool with "devtool: false".
|
|
8
|
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
9
|
+
*/
|
|
10
|
+
self["webpackHotUpdate_N_E"]("app/page",{
|
|
11
|
+
|
|
12
|
+
/***/ "(app-pages-browser)/./app/page.tsx":
|
|
13
|
+
/*!**********************!*\
|
|
14
|
+
!*** ./app/page.tsx ***!
|
|
15
|
+
\**********************/
|
|
16
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
17
|
+
|
|
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\",\n provider: \"anthropic\",\n role: \"Primary scanner\",\n color: \"text-green-400\"\n },\n {\n id: \"2\",\n name: \"gemini-2.5-flash\",\n provider: \"google\",\n role: \"Secondary analysis\",\n color: \"text-green-400\"\n },\n {\n id: \"3\",\n name: \"deepseek-chat\",\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFMkM7QUFDRDtBQUNaO0FBRTlCLE1BQU1LLFdBQVdDLDBCQUFnQyxJQUFJLENBQXNCO0FBQzNFLE1BQU1HLGFBQWE7QUFDbkIsTUFBTUMsVUFBVTtBQUNoQixNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLFdBQVcsd0NBQWlELE9BQVREO0FBRTFDLFNBQVNFOztJQUN0QixNQUFNLENBQUNDLGdCQUFnQkMsa0JBQWtCLEdBQUdkLCtDQUFRQSxDQUFDO0lBQ3JELE1BQU0sQ0FBQ2UsWUFBWUMsY0FBYyxHQUFHaEIsK0NBQVFBLENBQUM7SUFDN0MsTUFBTSxDQUFDaUIsYUFBYUMsZUFBZSxHQUFHbEIsK0NBQVFBLENBQVcsRUFBRTtJQUMzRCxNQUFNLENBQUNtQixlQUFlQyxpQkFBaUIsR0FBR3BCLCtDQUFRQSxDQUFXLEVBQUU7SUFDL0QsTUFBTSxDQUFDcUIsZUFBZUMsaUJBQWlCLEdBQUd0QiwrQ0FBUUEsQ0FBQztJQUNuRCxNQUFNLENBQUN1QixhQUFhQyxlQUFlLEdBQUd4QiwrQ0FBUUEsQ0FBQztJQUMvQyxNQUFNLENBQUN5QixjQUFjQyxnQkFBZ0IsR0FBRzFCLCtDQUFRQSxDQUE2QixDQUFDO0lBRTlFLE1BQU0yQixrQkFBa0IsT0FBT0MsTUFBY0M7UUFDM0MsSUFBSTtZQUNGLE1BQU1DLFVBQVVDLFNBQVMsQ0FBQ0MsU0FBUyxDQUFDSjtZQUNwQ0YsZ0JBQWdCLENBQUNPLE9BQVU7b0JBQUUsR0FBR0EsSUFBSTtvQkFBRSxDQUFDSixJQUFJLEVBQUU7Z0JBQUs7WUFDbERLLFdBQVc7Z0JBQ1RSLGdCQUFnQixDQUFDTyxPQUFVO3dCQUFFLEdBQUdBLElBQUk7d0JBQUUsQ0FBQ0osSUFBSSxFQUFFO29CQUFNO1lBQ3JELEdBQUc7UUFDTCxFQUFFLE9BQU9NLEtBQUs7WUFDWkMsUUFBUUMsS0FBSyxDQUFDLHlCQUF5QkY7UUFDekM7SUFDRjtJQUVBLE1BQU1HLG9CQUFvQjtRQUN4QjtZQUNFQyxTQUFTO1lBQ1RDLFNBQVM7Z0JBQ1A7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRUQsU0FBUztZQUNUQyxTQUFTO2dCQUNQO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VELFNBQVM7WUFDVEMsU0FBUztnQkFDUDtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7S0FDRDtJQUVELE1BQU1DLGdCQUFnQix1TEFNTUMsSUFBSTtJQUVoQzNDLGdEQUFTQTtpQ0FBQztZQUNSLE1BQU00QyxRQUFRLGlDQUFpQ0MsS0FBSyxDQUFDO1lBQ3JELE1BQU1DLGlCQUFpQkMsTUFBTUMsSUFBSSxDQUFDO2dCQUFFQyxRQUFRO1lBQUk7d0RBQUcsSUFBTUwsS0FBSyxDQUFDTSxLQUFLQyxLQUFLLENBQUNELEtBQUtFLE1BQU0sS0FBS1IsTUFBTUssTUFBTSxFQUFFOztZQUN4RzlCLGVBQWUyQjtZQUVmLE1BQU1PLFdBQVdDO2tEQUFZO29CQUMzQm5DOzBEQUFlLENBQUNlLE9BQVNBLEtBQUtxQixHQUFHO2tFQUFDLElBQU1YLEtBQUssQ0FBQ00sS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUtSLE1BQU1LLE1BQU0sRUFBRTs7O2dCQUN6RjtpREFBRztZQUVIO3lDQUFPLElBQU1PLGNBQWNIOztRQUM3QjtnQ0FBRyxFQUFFO0lBRUxyRCxnREFBU0E7aUNBQUM7WUFDUixNQUFNcUQsV0FBV0M7a0RBQVk7b0JBQzNCckM7MERBQWMsQ0FBQ2lCLE9BQVMsQ0FBQ0E7O2dCQUMzQjtpREFBRztZQUNIO3lDQUFPLElBQU1zQixjQUFjSDs7UUFDN0I7Z0NBQUcsRUFBRTtJQUVMckQsZ0RBQVNBO2lDQUFDO1lBQ1IsTUFBTXlELFdBQVdsQixpQkFBaUIsQ0FBQ3pCLGVBQWU7WUFDbEQsTUFBTTRDLFdBQTZCLEVBQUU7WUFFckMsTUFBTUM7cURBQWM7b0JBQ2xCdEMsaUJBQWlCLEVBQUU7b0JBQ25CRSxpQkFBaUI7b0JBQ2pCRSxlQUFlO29CQUVmLE1BQU1lLFVBQVVpQixTQUFTakIsT0FBTztvQkFDaEMsSUFBSyxJQUFJb0IsSUFBSSxHQUFHQSxLQUFLcEIsUUFBUVMsTUFBTSxFQUFFVyxJQUFLO3dCQUN4Q0YsU0FBU0csSUFBSSxDQUNYMUI7aUVBQVc7Z0NBQ1RaLGlCQUFpQmlCLFFBQVFzQixLQUFLLENBQUMsR0FBR0Y7NEJBQ3BDO2dFQUFHQSxJQUFJO29CQUVYO29CQUVBRixTQUFTRyxJQUFJLENBQ1gxQjs2REFBVzs0QkFDVFYsZUFBZTs0QkFDZkYsaUJBQWlCOzRCQUNqQkY7cUVBQWlCLENBQUNhLE9BQVM7MkNBQUlBO3dDQUFPLHVCQUE4QixPQUFSTTtxQ0FBVTs7d0JBQ3hFOzREQUFHQSxRQUFRUyxNQUFNLEdBQUcsS0FBSztvQkFHM0JRLFNBQVNoQixPQUFPLENBQUNzQixPQUFPOzZEQUFDLENBQUNDLFFBQVFDOzRCQUNoQ1AsU0FBU0csSUFBSSxDQUNYMUI7cUVBQVc7b0NBQ1RkOzZFQUFpQixDQUFDYSxPQUFTO21EQUFJQTtnREFBTThCOzZDQUFPOztnQ0FDOUM7b0VBQUd4QixRQUFRUyxNQUFNLEdBQUcsS0FBSyxPQUFPZ0IsUUFBUTt3QkFFNUM7O29CQUVBUCxTQUFTRyxJQUFJLENBQ1gxQjs2REFBVzs0QkFDVHBCO3FFQUFrQixDQUFDbUIsT0FBUyxDQUFDQSxPQUFPLEtBQUtLLGtCQUFrQlUsTUFBTTs7d0JBQ25FOzREQUFHVCxRQUFRUyxNQUFNLEdBQUcsS0FBSyxPQUFPUSxTQUFTaEIsT0FBTyxDQUFDUSxNQUFNLEdBQUcsTUFBTTtnQkFFcEU7O1lBRUFVO1lBQ0E7eUNBQU87b0JBQVFELFNBQVNLLE9BQU8sQ0FBQ0c7Z0JBQWM7O1FBQ2hEO2dDQUFHO1FBQUNwRDtLQUFlO0lBRW5CLHFCQUNFLDhEQUFDcUQ7UUFBSUMsV0FBVTs7MEJBRWIsOERBQUNDO2dCQUFJRCxXQUFVOzBCQUNiLDRFQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ0Q7b0NBQUlDLFdBQVU7O3NEQUNiLDhEQUFDRDs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNEO29EQUFJQyxXQUFVOzs7Ozs7OERBQ2YsOERBQUNEO29EQUFJQyxXQUFVOzs7Ozs7OERBQ2YsOERBQUNEO29EQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7c0RBRWpCLDhEQUFDRDs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNFO29EQUFLRixXQUFVOzhEQUErQjs7Ozs7OzhEQUMvQyw4REFBQ0U7b0RBQUtGLFdBQVU7OERBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OENBSTVDLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNHOzRDQUFFQyxNQUFLOzRDQUFPSixXQUFVOzs4REFDdkIsOERBQUNFOzhEQUFLOzs7Ozs7OERBQ04sOERBQUNIO29EQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7c0RBRWpCLDhEQUFDRzs0Q0FBRUMsTUFBSzs0Q0FBWUosV0FBVTs7OERBQzVCLDhEQUFDRTs4REFBSzs7Ozs7OzhEQUNOLDhEQUFDSDtvREFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O3NEQUVqQiw4REFBQ0c7NENBQUVDLE1BQUs7NENBQVVKLFdBQVU7OzhEQUMxQiw4REFBQ0U7OERBQUs7Ozs7Ozs4REFDTiw4REFBQ0g7b0RBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztzREFFakIsOERBQUNHOzRDQUFFQyxNQUFLOzRDQUFPSixXQUFVOzs4REFDdkIsOERBQUNFOzhEQUFLOzs7Ozs7OERBQ04sOERBQUNIO29EQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7c0RBRWpCLDhEQUFDRzs0Q0FBRUMsTUFBTW5FOzRDQUFVb0UsUUFBTzs0Q0FBU0MsS0FBSTs0Q0FBV04sV0FBVTs7OERBQzFELDhEQUFDRTs4REFBSzs7Ozs7OzhEQUNOLDhEQUFDSDtvREFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O3NEQUVqQiw4REFBQ0c7NENBQUVDLE1BQU01RDs0Q0FBVTZELFFBQU87NENBQVNDLEtBQUk7NENBQVdOLFdBQVU7OzhEQUMxRCw4REFBQ0U7b0RBQUtGLFdBQVU7Ozs7Ozs4REFDaEIsOERBQUNFOzhEQUFLOzs7Ozs7OERBQ04sOERBQUNIO29EQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBS3JCLDhEQUFDRDs0QkFBSUMsV0FBVTs7OENBQ2IsOERBQUNEO29DQUFJQyxXQUFVOztzREFDYiw4REFBQ0Q7NENBQUlDLFdBQVU7Ozs7OztzREFDZiw4REFBQ0U7c0RBQUs7Ozs7Ozs7Ozs7Ozs4Q0FHUiw4REFBQ0g7b0NBQ0NDLFdBQVU7b0NBQ1ZPLFNBQVMsSUFBTS9DLGdCQUFnQix5QkFBeUI7O3NEQUV4RCw4REFBQ3VDOzRDQUFJQyxXQUFVOzs7Ozs7c0RBQ2YsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUNiLDRFQUFDRDtnREFBSUMsV0FBVTs7b0RBQ1oxQyxZQUFZLENBQUMsY0FBYyxpQkFDMUIsOERBQUN2QixzRkFBS0E7d0RBQUNpRSxXQUFVOzs7Ozs2RUFFakIsOERBQUNsRSxzRkFBSUE7d0RBQUNrRSxXQUFVOzs7Ozs7a0VBRWxCLDhEQUFDRTt3REFBS0YsV0FBVTtrRUFBZ0I7Ozs7OztrRUFDaEMsOERBQUNFO2tFQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQVNsQiw4REFBQ0g7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNabEQsWUFBWXFDLEdBQUcsQ0FBQyxDQUFDcUIsTUFBTWhCLGtCQUN0Qiw4REFBQ087NEJBQVlDLFdBQVU7c0NBQ3BCUTsyQkFET2hCOzs7Ozs7Ozs7Ozs7Ozs7MEJBUWhCLDhEQUFDaUI7Z0JBQVFULFdBQVU7MEJBQ2pCLDRFQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ0Q7b0NBQUlDLFdBQVU7OENBQ2IsNEVBQUNVO3dDQUFJVixXQUFVO2tEQUE0SjFCOzs7Ozs7Ozs7Ozs4Q0FHN0ssOERBQUNxQztvQ0FBR1gsV0FBVTs7d0NBQW9EO3NEQUN4RCw4REFBQ1k7Ozs7O3NEQUNULDhEQUFDVjs0Q0FBS0YsV0FBVTtzREFBd0U7Ozs7Ozs7Ozs7Ozs4Q0FHMUYsOERBQUNhO29DQUFFYixXQUFVOzhDQUErRDs7Ozs7OzhDQU01RSw4REFBQ0Q7b0NBQUlDLFdBQVU7O3NEQUNiLDhEQUFDRDs0Q0FDQ0MsV0FBVTs0Q0FDVk8sU0FBUyxJQUFNL0MsZ0JBQWdCLHlCQUF5Qjs7OERBRXhELDhEQUFDdUM7b0RBQUlDLFdBQVU7Ozs7Ozs4REFDZiw4REFBQ0Q7b0RBQUlDLFdBQVU7OERBQ2IsNEVBQUNEO3dEQUFJQyxXQUFVOzs0REFDWjFDLFlBQVksQ0FBQyxlQUFlLGlCQUMzQiw4REFBQ3ZCLHNGQUFLQTtnRUFBQ2lFLFdBQVU7Ozs7O3FGQUVqQiw4REFBQ2xFLHNGQUFJQTtnRUFBQ2tFLFdBQVU7Ozs7OzswRUFFbEIsOERBQUNFO2dFQUFLRixXQUFVOzBFQUFxQzs7Ozs7OzBFQUNyRCw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzREFLN0MsOERBQUNHOzRDQUFFQyxNQUFNbkU7NENBQVVvRSxRQUFPOzRDQUFTQyxLQUFJOzRDQUFXTixXQUFVOzs4REFDMUQsOERBQUNEO29EQUFJQyxXQUFVOzs7Ozs7OERBQ2YsOERBQUNEO29EQUFJQyxXQUFVOzhEQUNiLDRFQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNFO2dFQUFLRixXQUFVOzBFQUFnQjs7Ozs7OzBFQUNoQyw4REFBQ0U7MEVBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQVFoQiw4REFBQ0g7NEJBQUlDLFdBQVU7c0NBQ2IsNEVBQUNEO2dDQUFJQyxXQUFVOztrREFDYiw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNiLDhEQUFDRDtnREFBSUMsV0FBVTs7a0VBQ2IsOERBQUNEO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0Q7Z0VBQUlDLFdBQVU7Ozs7OzswRUFDZiw4REFBQ0Q7Z0VBQUlDLFdBQVU7Ozs7OzswRUFDZiw4REFBQ0Q7Z0VBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrRUFFakIsOERBQUNFO3dEQUFLRixXQUFVO2tFQUF3Qjs7Ozs7Ozs7Ozs7OzBEQUUxQyw4REFBQ0Q7Z0RBQUlDLFdBQVU7O2tFQUNiLDhEQUFDRDt3REFBSUMsV0FBVTs7Ozs7O2tFQUNmLDhEQUFDRTt3REFBS0YsV0FBVTtrRUFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztrREFJNUMsOERBQUNEO3dDQUFJQyxXQUFVOzswREFDYiw4REFBQ0Q7Z0RBQUlDLFdBQVU7O29EQUNaaEQsY0FBY21DLEdBQUcsQ0FBQyxDQUFDMkIsTUFBTWpCLHNCQUN4Qiw4REFBQ0U7NERBRUNDLFdBQVcsR0FBbUVjLE9BQWhFQSxLQUFLQyxVQUFVLENBQUMsY0FBYyxlQUFlLGlCQUFnQixLQUFvRSxPQUFqRUQsS0FBS0UsUUFBUSxDQUFDLFFBQVFGLEtBQUtFLFFBQVEsQ0FBQyxPQUFPLG1CQUFtQjtzRUFFM0lGOzJEQUhJakI7Ozs7O29EQU9SLENBQUN6Qyw2QkFDQSw4REFBQzJDO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQWlCOzs7Ozs7MEVBQ2pDLDhEQUFDRTtnRUFBS0YsV0FBVTswRUFBZ0I7Ozs7OzswRUFDaEMsOERBQUNFO2dFQUFLRixXQUFVOzBFQUFnQjs7Ozs7OzBFQUNoQyw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQWE7Ozs7OzswRUFDN0IsOERBQUNFO2dFQUFLRixXQUFVOzBFQUFjOUM7Ozs7OzswRUFDOUIsOERBQUNnRDtnRUFBS0YsV0FBVyxjQUF1RCxPQUF6Q3BELGFBQWEsZ0JBQWdCLGFBQVk7MEVBQXNCOzs7Ozs7Ozs7Ozs7b0RBSWpHUSw2QkFDQyw4REFBQzJDO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0Q7Z0VBQUlDLFdBQVU7O2tGQUNiLDhEQUFDRDt3RUFBSUMsV0FBVTs7Ozs7O2tGQUNmLDhEQUFDRDt3RUFBSUMsV0FBVTt3RUFBa0RpQixPQUFPOzRFQUFFQyxnQkFBZ0I7d0VBQU87Ozs7OztrRkFDakcsOERBQUNuQjt3RUFBSUMsV0FBVTt3RUFBa0RpQixPQUFPOzRFQUFFQyxnQkFBZ0I7d0VBQU87Ozs7Ozs7Ozs7OzswRUFFbkcsOERBQUNoQjtnRUFBS0YsV0FBVTswRUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBEQUtoQyw4REFBQ0Q7Z0RBQUlDLFdBQVU7O2tFQUNiLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNFO2dFQUFLRixXQUFVOzBFQUFnQjs7Ozs7OzBFQUNoQyw4REFBQ0U7Z0VBQUtGLFdBQVU7O29FQUFjdEQsaUJBQWlCO29FQUFFO29FQUFFeUIsa0JBQWtCVSxNQUFNOzs7Ozs7Ozs7Ozs7O2tFQUU3RSw4REFBQ2tCO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQWdCOzs7Ozs7MEVBQ2hDLDhEQUFDRTtnRUFBS0YsV0FBVTswRUFBZ0I7Ozs7Ozs7Ozs7OztrRUFFbEMsOERBQUNEO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQWdCOzs7Ozs7MEVBQ2hDLDhEQUFDRTtnRUFBS0YsV0FBVTswRUFBZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQVExQyw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDbUI7b0NBQUduQixXQUFVOzhDQUFzQzs7Ozs7OzhDQUNwRCw4REFBQ2E7b0NBQUViLFdBQVU7OENBQTBDOzs7Ozs7Ozs7Ozs7c0NBTXpELDhEQUFDRDs0QkFBSUMsV0FBVTtzQ0FDWjtnQ0FDQztvQ0FBRW9CLEtBQUs7b0NBQU1DLE9BQU87b0NBQVFDLE1BQU07b0NBQTZLQyxLQUFLO2dDQUFXO2dDQUMvTjtvQ0FBRUgsS0FBSztvQ0FBTUMsT0FBTztvQ0FBV0MsTUFBTTtvQ0FBeUpDLEtBQUs7Z0NBQW9CO2dDQUN2TjtvQ0FBRUgsS0FBSztvQ0FBTUMsT0FBTztvQ0FBU0MsTUFBTTtvQ0FBMEpDLEtBQUs7Z0NBQVk7NkJBQy9NLENBQUNwQyxHQUFHLENBQUMsQ0FBQ3FDLHFCQUNMLDhEQUFDekI7b0NBQW1CQyxXQUFVOztzREFDNUIsOERBQUNEOzRDQUFJQyxXQUFVOzs7Ozs7c0RBQ2YsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUNiLDRFQUFDRDtnREFBSUMsV0FBVTs7a0VBQ2IsOERBQUNEOzswRUFDQyw4REFBQ0E7Z0VBQUlDLFdBQVU7MEVBQ2IsNEVBQUNFO29FQUFLRixXQUFVOzhFQUEwRHdCLEtBQUtKLEdBQUc7Ozs7Ozs7Ozs7OzBFQUVwRiw4REFBQ0s7Z0VBQUd6QixXQUFVOzBFQUErRHdCLEtBQUtILEtBQUs7Ozs7OzswRUFDdkYsOERBQUNSO2dFQUFFYixXQUFVOzBFQUF3RXdCLEtBQUtGLElBQUk7Ozs7Ozs7Ozs7OztrRUFFaEcsOERBQUN2Qjt3REFDQ0MsV0FBVTt3REFDVk8sU0FBUyxJQUFNL0MsZ0JBQWdCZ0UsS0FBS0QsR0FBRyxFQUFFLEdBQVksT0FBVEMsS0FBS0osR0FBRyxFQUFDOzswRUFFckQsOERBQUNyQjtnRUFBSUMsV0FBVTs7a0ZBQ2IsOERBQUNFO3dFQUFLRixXQUFVO2tGQUFnQjs7Ozs7O2tGQUNoQyw4REFBQ0U7d0VBQUtGLFdBQVU7a0ZBQXdDd0IsS0FBS0QsR0FBRzs7Ozs7Ozs7Ozs7OzREQUVqRWpFLFlBQVksQ0FBQyxHQUFZLE9BQVRrRSxLQUFLSixHQUFHLEVBQUMsUUFBTSxpQkFDOUIsOERBQUNyRixzRkFBS0E7Z0VBQUNpRSxXQUFVOzs7OztxRkFFakIsOERBQUNsRSxzRkFBSUE7Z0VBQUNrRSxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBdEJoQndCLEtBQUtKLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFrQzFCLDhEQUFDWDtnQkFBUVQsV0FBVTtnQkFBd0UwQixJQUFHOztrQ0FDNUYsOERBQUMzQjt3QkFBSUMsV0FBVTs7Ozs7O2tDQUVmLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNEO2dDQUFJQyxXQUFVOztrREFDYiw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNiLDhEQUFDRTtnREFBS0YsV0FBVTs7Ozs7OzRDQUFzRDs7Ozs7OztrREFHeEUsOERBQUNtQjt3Q0FBR25CLFdBQVU7OzRDQUFvRDswREFDL0MsOERBQUNZOzs7OzswREFDbEIsOERBQUNWO2dEQUFLRixXQUFVOzBEQUFlOzs7Ozs7Ozs7Ozs7a0RBRWpDLDhEQUFDYTt3Q0FBRWIsV0FBVTtrREFBMEM7Ozs7Ozs7Ozs7OzswQ0FNekQsOERBQUNEO2dDQUFJQyxXQUFVOzBDQUNaO29DQUNDO3dDQUFFb0IsS0FBSzt3Q0FBU08sT0FBTzt3Q0FBc0JDLEtBQUs7b0NBQTJCO29DQUM3RTt3Q0FBRVIsS0FBSzt3Q0FBU08sT0FBTzt3Q0FBb0JDLEtBQUs7b0NBQStCO29DQUMvRTt3Q0FBRVIsS0FBSzt3Q0FBT08sT0FBTzt3Q0FBcUJDLEtBQUs7b0NBQXdCO29DQUN2RTt3Q0FBRVIsS0FBSzt3Q0FBU08sT0FBTzt3Q0FBc0JDLEtBQUs7b0NBQXdCO2lDQUMzRSxDQUFDekMsR0FBRyxDQUFDLENBQUMwQyxNQUFNckMsa0JBQ1gsOERBQUNPO3dDQUFZQyxXQUFVOzswREFDckIsOERBQUNhO2dEQUFFYixXQUFVOzBEQUE2RjZCLEtBQUtULEdBQUc7Ozs7OzswREFDbEgsOERBQUNQO2dEQUFFYixXQUFVOzBEQUFxQzZCLEtBQUtGLEtBQUs7Ozs7OzswREFDNUQsOERBQUNkO2dEQUFFYixXQUFVOzBEQUE4QjZCLEtBQUtELEdBQUc7Ozs7Ozs7dUNBSDNDcEM7Ozs7Ozs7Ozs7MENBU2QsOERBQUNPO2dDQUFJQyxXQUFVOztrREFFYiw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNiLDhEQUFDRDtnREFBSUMsV0FBVTs7Ozs7OzBEQUNmLDhEQUFDRDtnREFBSUMsV0FBVTs7a0VBQ2IsOERBQUNEO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ0Q7Z0VBQUlDLFdBQVU7O2tGQUNiLDhEQUFDRTt3RUFBS0YsV0FBVTs7Ozs7O2tGQUNoQiw4REFBQ0U7d0VBQUtGLFdBQVU7a0ZBQWtDOzs7Ozs7Ozs7Ozs7MEVBRXBELDhEQUFDRTtnRUFBS0YsV0FBVTswRUFBOEQ7Ozs7Ozs7Ozs7OztrRUFFaEYsOERBQUNEO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ2hFLGtEQUFLQTtnRUFDSjhGLEtBQUk7Z0VBQ0pDLEtBQUk7Z0VBQ0pDLElBQUk7Z0VBQ0poQyxXQUFVOzs7Ozs7MEVBRVosOERBQUNEO2dFQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7a0VBRWpCLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUN5QjtnRUFBR3pCLFdBQVU7MEVBQW9DOzs7Ozs7MEVBQ2xELDhEQUFDYTtnRUFBRWIsV0FBVTswRUFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrREFNM0MsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUViLDRFQUFDRDs0Q0FBSUMsV0FBVTtzREFDYiw0RUFBQ0Q7Z0RBQUlDLFdBQVU7O2tFQUNiLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNEO2dFQUFJQyxXQUFVOztrRkFDYiw4REFBQ0U7d0VBQUtGLFdBQVU7Ozs7OztrRkFDaEIsOERBQUNFO3dFQUFLRixXQUFVO2tGQUFrQzs7Ozs7Ozs7Ozs7OzBFQUVwRCw4REFBQ0U7Z0VBQUtGLFdBQVU7MEVBQThEOzs7Ozs7Ozs7Ozs7a0VBRWhGLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNoRSxrREFBS0E7Z0VBQ0o4RixLQUFJO2dFQUNKQyxLQUFJO2dFQUNKQyxJQUFJO2dFQUNKaEMsV0FBVTs7Ozs7OzBFQUVaLDhEQUFDRDtnRUFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tFQUVqQiw4REFBQ0Q7d0RBQUlDLFdBQVU7a0VBQ2IsNEVBQUNhOzREQUFFYixXQUFVO3NFQUFvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQU96RCw4REFBQ0Q7d0NBQUlDLFdBQVU7a0RBQ2IsNEVBQUNEOzRDQUFJQyxXQUFVOzs4REFDYiw4REFBQ0Q7b0RBQUlDLFdBQVU7O3NFQUNiLDhEQUFDRDs0REFBSUMsV0FBVTs7OEVBQ2IsOERBQUNFO29FQUFLRixXQUFVOzs7Ozs7OEVBQ2hCLDhEQUFDRTtvRUFBS0YsV0FBVTs4RUFBa0M7Ozs7Ozs7Ozs7OztzRUFFcEQsOERBQUNFOzREQUFLRixXQUFVO3NFQUFpRTs7Ozs7Ozs7Ozs7OzhEQUVuRiw4REFBQ0Q7b0RBQUlDLFdBQVU7O3NFQUNiLDhEQUFDaEUsa0RBQUtBOzREQUNKOEYsS0FBSTs0REFDSkMsS0FBSTs0REFDSkMsSUFBSTs0REFDSmhDLFdBQVU7Ozs7OztzRUFFWiw4REFBQ0Q7NERBQUlDLFdBQVU7Ozs7Ozs7Ozs7Ozs4REFFakIsOERBQUNEO29EQUFJQyxXQUFVOzhEQUNiLDRFQUFDYTt3REFBRWIsV0FBVTtrRUFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBSzNDLDhEQUFDRDt3Q0FBSUMsV0FBVTtrREFDYiw0RUFBQ0Q7NENBQUlDLFdBQVU7OzhEQUNiLDhEQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNEOzREQUFJQyxXQUFVOzs4RUFDYiw4REFBQ0U7b0VBQUtGLFdBQVU7Ozs7Ozs4RUFDaEIsOERBQUNFO29FQUFLRixXQUFVOzhFQUFrQzs7Ozs7Ozs7Ozs7O3NFQUVwRCw4REFBQ0U7NERBQUtGLFdBQVU7c0VBQWlFOzs7Ozs7Ozs7Ozs7OERBRW5GLDhEQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNoRSxrREFBS0E7NERBQ0o4RixLQUFJOzREQUNKQyxLQUFJOzREQUNKQyxJQUFJOzREQUNKaEMsV0FBVTs7Ozs7O3NFQUVaLDhEQUFDRDs0REFBSUMsV0FBVTs7Ozs7Ozs7Ozs7OzhEQUVqQiw4REFBQ0Q7b0RBQUlDLFdBQVU7OERBQ2IsNEVBQUNhO3dEQUFFYixXQUFVO2tFQUF3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrREFLM0MsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUNiLDRFQUFDRDs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNEO29EQUFJQyxXQUFVOztzRUFDYiw4REFBQ0Q7NERBQUlDLFdBQVU7OzhFQUNiLDhEQUFDRTtvRUFBS0YsV0FBVTs7Ozs7OzhFQUNoQiw4REFBQ0U7b0VBQUtGLFdBQVU7OEVBQWtDOzs7Ozs7Ozs7Ozs7c0VBRXBELDhEQUFDRTs0REFBS0YsV0FBVTtzRUFBK0Q7Ozs7Ozs7Ozs7Ozs4REFFakYsOERBQUNEO29EQUFJQyxXQUFVOztzRUFDYiw4REFBQ2hFLGtEQUFLQTs0REFDSjhGLEtBQUk7NERBQ0pDLEtBQUk7NERBQ0pDLElBQUk7NERBQ0poQyxXQUFVOzs7Ozs7c0VBRVosOERBQUNEOzREQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7OERBRWpCLDhEQUFDRDtvREFBSUMsV0FBVTs4REFDYiw0RUFBQ2E7d0RBQUViLFdBQVU7a0VBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQU83Qyw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQ2IsNEVBQUNEO29DQUFJQyxXQUFVOztzREFDYiw4REFBQ2E7NENBQUViLFdBQVU7O2dEQUF3Qjs4REFDTSw4REFBQ0U7b0RBQUtGLFdBQVU7OERBQXVCOzs7Ozs7Z0RBQW1COzs7Ozs7O3NEQUVyRyw4REFBQ0Q7NENBQUlDLFdBQVU7OzhEQUNiLDhEQUFDRTtvREFBS0YsV0FBVTs4REFBaUI7Ozs7Ozs4REFDakMsOERBQUNFO29EQUFLRixXQUFVOzhEQUFhOzs7Ozs7OERBQzdCLDhEQUFDRTtvREFBS0YsV0FBVTs4REFBZ0I7Ozs7Ozs4REFDaEMsOERBQUNFO29EQUFLRixXQUFVOzhEQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFRdkMsOERBQUNTO2dCQUFRVCxXQUFVO2dCQUErQzBCLElBQUc7MEJBQ25FLDRFQUFDM0I7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDRDs0QkFBSUMsV0FBVTs7OENBQ2IsOERBQUNtQjtvQ0FBR25CLFdBQVU7OENBQXNDOzs7Ozs7OENBQ3BELDhEQUFDYTtvQ0FBRWIsV0FBVTs4Q0FBd0I7Ozs7Ozs7Ozs7OztzQ0FHdkMsOERBQUNEOzRCQUFJQyxXQUFVO3NDQUNiLDRFQUFDRDtnQ0FBSUMsV0FBVTs7a0RBQ2IsOERBQUNEO3dDQUFJQyxXQUFVOzswREFDYiw4REFBQ0Q7Z0RBQUlDLFdBQVU7O2tFQUNiLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNEO2dFQUFJQyxXQUFVOzs7Ozs7MEVBQ2YsOERBQUNEO2dFQUFJQyxXQUFVOzs7Ozs7MEVBQ2YsOERBQUNEO2dFQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7a0VBRWpCLDhEQUFDRTt3REFBS0YsV0FBVTtrRUFBd0I7Ozs7Ozs7Ozs7OzswREFFMUMsOERBQUNEO2dEQUFJQyxXQUFVOztrRUFDYiw4REFBQ0Q7d0RBQUlDLFdBQVU7Ozs7OztrRUFDZiw4REFBQ0U7d0RBQUtGLFdBQVU7a0VBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBSTVDLDhEQUFDRDt3Q0FBSUMsV0FBVTs7MERBQ2IsOERBQUNEO2dEQUFJQyxXQUFVOzBEQUE2Qjs7Ozs7OzBEQUU1Qyw4REFBQ0Q7Z0RBQUlDLFdBQVU7MERBQ1o7b0RBQ0M7d0RBQUVpQyxNQUFNO3dEQUF5QkMsUUFBUTt3REFBS1osTUFBTTtvREFBeUk7b0RBQzdMO3dEQUFFVyxNQUFNO3dEQUE2QkMsUUFBUTt3REFBS1osTUFBTTtvREFBK0c7b0RBQ3ZLO3dEQUFFVyxNQUFNO3dEQUF5QkMsUUFBUTt3REFBS1osTUFBTTtvREFBZ0g7b0RBQ3BLO3dEQUFFVyxNQUFNO3dEQUFxQkMsUUFBUTt3REFBS1osTUFBTTtvREFBbUg7b0RBQ25LO3dEQUFFVyxNQUFNO3dEQUEyQkMsUUFBUTt3REFBS1osTUFBTTtvREFBa0k7b0RBQ3hMO3dEQUFFVyxNQUFNO3dEQUEyQkMsUUFBUTt3REFBS1osTUFBTTtvREFBMEg7aURBQ2pMLENBQUNuQyxHQUFHLENBQUMsQ0FBQ2dELGtCQUNMLDhEQUFDcEM7d0RBRUNDLFdBQVU7OzBFQUVWLDhEQUFDRDtnRUFBSUMsV0FBVTs7a0ZBQ2IsOERBQUNFO3dFQUFLRixXQUFVO2tGQUErRG1DLEVBQUVELE1BQU07Ozs7OztrRkFDdkYsOERBQUNoQzt3RUFBS0YsV0FBVTtrRkFBMERtQyxFQUFFRixJQUFJOzs7Ozs7Ozs7Ozs7MEVBRWxGLDhEQUFDbEM7Z0VBQUlDLFdBQVU7MEVBQ1ptQyxFQUFFYixJQUFJOzs7Ozs7O3VEQVJKYSxFQUFFRixJQUFJOzs7Ozs7Ozs7OzBEQWNqQiw4REFBQ2xDO2dEQUFJQyxXQUFVOzBEQUNiLDRFQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNEOzREQUFJQyxXQUFVOzs4RUFDYiw4REFBQ0Q7b0VBQUlDLFdBQVU7Ozs7Ozs4RUFDZiw4REFBQ0U7OEVBQUs7Ozs7Ozs7Ozs7OztzRUFFUiw4REFBQ0g7NERBQUlDLFdBQVU7OzhFQUNiLDhEQUFDRDtvRUFBSUMsV0FBVTs7Ozs7OzhFQUNmLDhEQUFDRTs4RUFBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQVd0Qiw4REFBQ087Z0JBQVFULFdBQVU7Z0JBQStDMEIsSUFBRzswQkFDbkUsNEVBQUMzQjtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ21CO29DQUFHbkIsV0FBVTs4Q0FBc0M7Ozs7Ozs4Q0FDcEQsOERBQUNhO29DQUFFYixXQUFVOzhDQUF3Qjs7Ozs7Ozs7Ozs7O3NDQUd2Qyw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNEOzRDQUFJQyxXQUFVOzs4REFDYiw4REFBQ0Q7b0RBQUlDLFdBQVU7O3NFQUNiLDhEQUFDRDs0REFBSUMsV0FBVTs7OEVBQ2IsOERBQUNEO29FQUFJQyxXQUFVOzs7Ozs7OEVBQ2YsOERBQUNEO29FQUFJQyxXQUFVOzs7Ozs7OEVBQ2YsOERBQUNEO29FQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7c0VBRWpCLDhEQUFDRTs0REFBS0YsV0FBVTtzRUFBd0I7Ozs7Ozs7Ozs7Ozs4REFFMUMsOERBQUNEO29EQUFJQyxXQUFVOztzRUFDYiw4REFBQ0Q7NERBQUlDLFdBQVU7Ozs7OztzRUFDZiw4REFBQ0U7NERBQUtGLFdBQVU7c0VBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7c0RBSTVDLDhEQUFDRDs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNEO29EQUFJQyxXQUFVOzhEQUE2Qjs7Ozs7OzhEQUU1Qyw4REFBQ0Q7b0RBQUlDLFdBQVU7OERBQ1o7d0RBQ0M7NERBQUUwQixJQUFJOzREQUFLTyxNQUFNOzREQUFpQkcsVUFBVTs0REFBYUMsTUFBTTs0REFBbUJDLE9BQU87d0RBQWlCO3dEQUMxRzs0REFBRVosSUFBSTs0REFBS08sTUFBTTs0REFBb0JHLFVBQVU7NERBQVVDLE1BQU07NERBQXNCQyxPQUFPO3dEQUFpQjt3REFDN0c7NERBQUVaLElBQUk7NERBQUtPLE1BQU07NERBQWlCRyxVQUFVOzREQUFZQyxNQUFNOzREQUF5QkMsT0FBTzt3REFBaUI7cURBQ2hILENBQUNuRCxHQUFHLENBQUMsQ0FBQ29ELHNCQUNMLDhEQUFDeEM7NERBRUNDLFdBQVU7OzhFQUVWLDhEQUFDRDtvRUFBSUMsV0FBVTs7c0ZBQ2IsOERBQUNFOzRFQUFLRixXQUFVOztnRkFBb0I7Z0ZBQUV1QyxNQUFNYixFQUFFO2dGQUFDOzs7Ozs7O3NGQUMvQyw4REFBQ3hCOzRFQUFLRixXQUFXLEdBQWUsT0FBWnVDLE1BQU1ELEtBQUssRUFBQztzRkFBNEM7Ozs7OztzRkFDNUUsOERBQUNwQzs0RUFBS0YsV0FBVTtzRkFBMER1QyxNQUFNTixJQUFJOzs7Ozs7c0ZBQ3BGLDhEQUFDL0I7NEVBQUtGLFdBQVU7O2dGQUF3QjtnRkFBRXVDLE1BQU1ILFFBQVE7Z0ZBQUM7Ozs7Ozs7Ozs7Ozs7OEVBRTNELDhEQUFDckM7b0VBQUlDLFdBQVU7OEVBQ1p1QyxNQUFNRixJQUFJOzs7Ozs7OzJEQVZSRSxNQUFNYixFQUFFOzs7Ozs7Ozs7OzhEQWdCbkIsOERBQUMzQjtvREFBSUMsV0FBVTs4REFDYiw0RUFBQ0Q7d0RBQUlDLFdBQVU7OzBFQUNiLDhEQUFDRDtnRUFBSUMsV0FBVTswRUFDYiw0RUFBQ0Q7b0VBQUlDLFdBQVU7O3NGQUNiLDhEQUFDRDtzRkFBSTs7Ozs7O3NGQUNMLDhEQUFDQTtzRkFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEVBSVQsOERBQUNBO2dFQUFJQyxXQUFVOztrRkFDYiw4REFBQ0Q7d0VBQUlDLFdBQVU7OzBGQUNiLDhEQUFDRDtnRkFBSUMsV0FBVTs7Ozs7OzBGQUNmLDhEQUFDRTswRkFBSzs7Ozs7Ozs7Ozs7O2tGQUVSLDhEQUFDSDt3RUFBSUMsV0FBVTs7MEZBQ2IsOERBQUNEO2dGQUFJQyxXQUFVOzs7Ozs7MEZBQ2YsOERBQUNFOzBGQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4Q0FRbEIsOERBQUNIO29DQUFJQyxXQUFVOzhDQUNiLDRFQUFDRDt3Q0FBSUMsV0FBVTs7MERBQ2IsOERBQUNFO2dEQUFLRixXQUFVOzBEQUFpQjs7Ozs7OzBEQUNqQyw4REFBQ0U7MERBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBUWhCLDhEQUFDTztnQkFBUVQsV0FBVTtnQkFBK0MwQixJQUFHOzBCQUNuRSw0RUFBQzNCO29CQUFJQyxXQUFVOztzQ0FDYiw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDbUI7b0NBQUduQixXQUFVOzhDQUFzQzs7Ozs7OzhDQUNwRCw4REFBQ2E7b0NBQUViLFdBQVU7OENBQTBDOzs7Ozs7Ozs7Ozs7c0NBS3pELDhEQUFDRDs0QkFBSUMsV0FBVTtzQ0FDYiw0RUFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDt3Q0FBSUMsV0FBVTtrREFDYiw0RUFBQ0Q7NENBQUlDLFdBQVU7OzhEQUNiLDhEQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNEOzREQUFJQyxXQUFVOzs7Ozs7c0VBQ2YsOERBQUNEOzREQUFJQyxXQUFVOzs7Ozs7c0VBQ2YsOERBQUNEOzREQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7OERBRWpCLDhEQUFDRTtvREFBS0YsV0FBVTs4REFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQUk1Qyw4REFBQ0Q7d0NBQUlDLFdBQVU7a0RBQ2IsNEVBQUNEOzRDQUFJQyxXQUFVO3NEQUNaO2dEQUNDO29EQUFFd0MsTUFBTTtvREFBTW5CLE9BQU87b0RBQWVDLE1BQU07Z0RBQXFGO2dEQUMvSDtvREFBRWtCLE1BQU07b0RBQU1uQixPQUFPO29EQUFvQkMsTUFBTTtnREFBa0Y7Z0RBQ2pJO29EQUFFa0IsTUFBTTtvREFBTW5CLE9BQU87b0RBQXNCQyxNQUFNO2dEQUFtRjtnREFDcEk7b0RBQUVrQixNQUFNO29EQUFNbkIsT0FBTztvREFBcUJDLE1BQU07Z0RBQWtGO2dEQUNsSTtvREFBRWtCLE1BQU07b0RBQU1uQixPQUFPO29EQUFrQkMsTUFBTTtnREFBdUY7NkNBQ3JJLENBQUNuQyxHQUFHLENBQUMsQ0FBQ3NELEdBQUdqRCxrQkFDUiw4REFBQ087b0RBQVlDLFdBQVU7O3NFQUNyQiw4REFBQ0Q7NERBQUlDLFdBQVU7OzhFQUNiLDhEQUFDRTtvRUFBS0YsV0FBVTs4RUFBb0N5QyxFQUFFRCxJQUFJOzs7Ozs7OEVBQzFELDhEQUFDZjtvRUFBR3pCLFdBQVU7OEVBQXlDeUMsRUFBRXBCLEtBQUs7Ozs7Ozs4RUFDOUQsOERBQUNSO29FQUFFYixXQUFVOzhFQUF5QnlDLEVBQUVuQixJQUFJOzs7Ozs7Ozs7Ozs7d0RBRTdDOUIsSUFBSSxtQkFDSCw4REFBQ087NERBQUlDLFdBQVU7Ozs7Ozs7bURBUFRSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQW1CeEIsOERBQUNpQjtnQkFBUVQsV0FBVTswQkFDakIsNEVBQUNEO29CQUFJQyxXQUFVOztzQ0FDYiw4REFBQ21COzRCQUFHbkIsV0FBVTtzQ0FBMEI7Ozs7OztzQ0FDeEMsOERBQUNhOzRCQUFFYixXQUFVO3NDQUFxQjs7Ozs7O3NDQUVsQyw4REFBQ0Q7NEJBQUlDLFdBQVU7c0NBQ1o7Z0NBQ0M7b0NBQUUyQixPQUFPO29DQUFZTCxNQUFNO2dDQUFhO2dDQUN4QztvQ0FBRUssT0FBTztvQ0FBZ0JMLE1BQU07Z0NBQVk7Z0NBQzNDO29DQUFFSyxPQUFPO29DQUFXTCxNQUFNO2dDQUFXO2dDQUNyQztvQ0FBRUssT0FBTztvQ0FBV0wsTUFBTTtnQ0FBVTs2QkFDckMsQ0FBQ25DLEdBQUcsQ0FBQyxDQUFDc0QsR0FBR2pELGtCQUNSLDhEQUFDTztvQ0FBWUMsV0FBVTs7c0RBQ3JCLDhEQUFDYTs0Q0FBRWIsV0FBVTtzREFBOEJ5QyxFQUFFbkIsSUFBSTs7Ozs7O3NEQUNqRCw4REFBQ1Q7NENBQUViLFdBQVU7c0RBQXlCeUMsRUFBRWQsS0FBSzs7Ozs7OzttQ0FGckNuQzs7Ozs7Ozs7OztzQ0FPZCw4REFBQ087NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRztvQ0FDQ0MsTUFBTTVEO29DQUNONkQsUUFBTztvQ0FDUEMsS0FBSTtvQ0FDSk4sV0FBVTs7c0RBRVYsOERBQUNFOzRDQUFLRixXQUFVOzs7Ozs7d0NBQTJDOzs7Ozs7OzhDQUc3RCw4REFBQ0c7b0NBQ0NDLE1BQU0sR0FBYyxPQUFYL0QsWUFBVztvQ0FDcEJnRSxRQUFPO29DQUNQQyxLQUFJO29DQUNKTixXQUFVOzhDQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFRUCw4REFBQzBDO2dCQUFPMUMsV0FBVTswQkFDaEIsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNEO2dDQUFJQyxXQUFVOztrREFDYiw4REFBQ0U7d0NBQUtGLFdBQVU7a0RBQVk7Ozs7OztrREFDNUIsOERBQUNFO3dDQUFLRixXQUFVO2tEQUF3Qjs7Ozs7Ozs7Ozs7OzBDQUUxQyw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRzt3Q0FBRUMsTUFBTW5FO3dDQUFVb0UsUUFBTzt3Q0FBU0MsS0FBSTt3Q0FBV04sV0FBVTtrREFBcUM7Ozs7OztrREFDakcsOERBQUNHO3dDQUFFQyxNQUFNL0Q7d0NBQVlnRSxRQUFPO3dDQUFTQyxLQUFJO3dDQUFXTixXQUFVO2tEQUFxQzs7Ozs7O2tEQUNuRyw4REFBQ0c7d0NBQUVDLE1BQU05RDt3Q0FBUytELFFBQU87d0NBQVNDLEtBQUk7d0NBQVdOLFdBQVU7a0RBQXFDOzs7Ozs7a0RBQ2hHLDhEQUFDRzt3Q0FBRUMsTUFBTTVEO3dDQUFVNkQsUUFBTzt3Q0FBU0MsS0FBSTt3Q0FBV04sV0FBVTtrREFBcUM7Ozs7Ozs7Ozs7OzswQ0FFbkcsOERBQUNhO2dDQUFFYixXQUFVOzBDQUF3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1qRDtHQTN6QndCdkQ7S0FBQUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kaGFuYW5qYXlwYWkvQ29kaW5nL1BlcnNvbmFsL29wbS9wYWNrYWdlcy93ZWIvYXBwL3BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgQ29weSwgQ2hlY2sgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCBJbWFnZSBmcm9tIFwibmV4dC9pbWFnZVwiXG5cbmNvbnN0IERPQ1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfRE9DU19VUkwgfHwgXCJodHRwczovL2RvY3Mub3BtLmRldlwiO1xuY29uc3QgR0lUSFVCX1VSTCA9IFwiaHR0cHM6Ly9naXRodWIuY29tL2RoYW5hbmpheXBhaTA4L29wbVwiO1xuY29uc3QgTlBNX1VSTCA9IFwiaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2Uvb3Btc2VjXCI7XG5jb25zdCBDT05UUkFDVCA9IFwiMHgxNjY4NDM5MWZjOWJmNDgyNDZCMDhBZmUxNmQxYTU3QkZhMTgxZDQ4XCI7XG5jb25zdCBCQVNFU0NBTiA9IGBodHRwczovL3NlcG9saWEuYmFzZXNjYW4ub3JnL2FkZHJlc3MvJHtDT05UUkFDVH1gO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBPUE1UZXJtaW5hbCgpIHtcbiAgY29uc3QgW2N1cnJlbnRDb21tYW5kLCBzZXRDdXJyZW50Q29tbWFuZF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbc2hvd0N1cnNvciwgc2V0U2hvd0N1cnNvcl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbbWF0cml4Q2hhcnMsIHNldE1hdHJpeENoYXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSlcbiAgY29uc3QgW3Rlcm1pbmFsTGluZXMsIHNldFRlcm1pbmFsTGluZXNdID0gdXNlU3RhdGU8c3RyaW5nW10+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+XG4gICAgICAgICAgICAgICAgICB7W1xuICAgICAgICAgICAgICAgICAgICB7IGlkOiBcIjFcIiwgbmFtZTogXCJjbGF1ZGUtb3B1cy00XCIsIHByb3ZpZGVyOiBcImFudGhyb3BpY1wiLCByb2xlOiBcIlByaW1hcnkgc2Nhbm5lclwiLCBjb2xvcjogXCJ0ZXh0LWdyZWVuLTQwMFwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgaWQ6IFwiMlwiLCBuYW1lOiBcImdlbWluaS0yLjUtZmxhc2hcIiwgcHJvdmlkZXI6IFwiZ29vZ2xlXCIsIHJvbGU6IFwiU2Vjb25kYXJ5IGFuYWx5c2lzXCIsIGNvbG9yOiBcInRleHQtZ3JlZW4tNDAwXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBpZDogXCIzXCIsIG5hbWU6IFwiZGVlcHNlZWstY2hhdFwiLCBwcm92aWRlcjogXCJkZWVwc2Vla1wiLCByb2xlOiBcIlRlcnRpYXJ5IHZlcmlmaWNhdGlvblwiLCBjb2xvcjogXCJ0ZXh0LWdyZWVuLTQwMFwiIH0sXG4gICAgICAgICAgICAgICAgICBdLm1hcCgoYWdlbnQpID0+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
|
+
});
|