/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/page"],{
/***/ "(app-pages-browser)/./app/page.tsx":
/*!**********************!*\
!*** ./app/page.tsx ***!
\**********************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HomePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _components_layout_ModernNavigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/layout/ModernNavigation */ \"(app-pages-browser)/./components/layout/ModernNavigation.tsx\");\n/* harmony import */ var _components_sections_HeroSection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/sections/HeroSection */ \"(app-pages-browser)/./components/sections/HeroSection.tsx\");\n/* harmony import */ var _components_sections_ServicesSection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/sections/ServicesSection */ \"(app-pages-browser)/./components/sections/ServicesSection.tsx\");\n/* harmony import */ var _components_sections_TechFeaturesSection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/sections/TechFeaturesSection */ \"(app-pages-browser)/./components/sections/TechFeaturesSection.tsx\");\n/* harmony import */ var _components_sections_AboutSection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/sections/AboutSection */ \"(app-pages-browser)/./components/sections/AboutSection.tsx\");\n/* harmony import */ var _components_layout_Footer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/layout/Footer */ \"(app-pages-browser)/./components/layout/Footer.tsx\");\n/* harmony import */ var _components_ui_Popup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/Popup */ \"(app-pages-browser)/./components/ui/Popup.tsx\");\n/* harmony import */ var _components_ui_ScrollToTopButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/ScrollToTopButton */ \"(app-pages-browser)/./components/ui/ScrollToTopButton.tsx\");\n/* harmony import */ var _components_ui_ModernLanguageSwitcher__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/ui/ModernLanguageSwitcher */ \"(app-pages-browser)/./components/ui/ModernLanguageSwitcher.tsx\");\n/* harmony import */ var _lib_hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/lib/hooks/useTranslation */ \"(app-pages-browser)/./lib/hooks/useTranslation.tsx\");\n/* harmony import */ var _lib_hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/lib/hooks/useServiceModal */ \"(app-pages-browser)/./lib/hooks/useServiceModal.ts\");\n/* harmony import */ var _lib_hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/lib/hooks/useAccordion */ \"(app-pages-browser)/./lib/hooks/useAccordion.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction HomePage() {\n _s();\n const { t, currentLanguage, changeLanguage, availableLanguages } = (0,_lib_hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__.useTranslation)();\n const { selectedService, openServiceModal, closeServiceModal } = (0,_lib_hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__.useServiceModal)();\n const { openAccordion, toggleAccordion } = (0,_lib_hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__.useAccordion)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen relative overflow-x-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_layout_ModernNavigation__WEBPACK_IMPORTED_MODULE_2__.ModernNavigation, {\n translations: t.navigation,\n languageSwitcher: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ModernLanguageSwitcher__WEBPACK_IMPORTED_MODULE_10__.ModernLanguageSwitcher, {\n currentLanguage: currentLanguage,\n onLanguageChange: changeLanguage,\n availableLanguages: availableLanguages\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 28,\n columnNumber: 11\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative bg-grid-pattern\",\n style: {\n background: 'linear-gradient(to bottom, var(--banquise-slate-50), var(--banquise-blue-50))',\n backgroundImage: 'linear-gradient(rgba(31, 80, 120, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 80, 120, 0.03) 1px, transparent 1px)',\n backgroundSize: '30px 30px'\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_HeroSection__WEBPACK_IMPORTED_MODULE_3__.HeroSection, {\n translations: t.hero\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 37,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"section-transition\",\n style: {\n backgroundColor: 'var(--banquise-white)'\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-4\",\n style: {\n background: 'linear-gradient(to right, transparent, rgba(52, 166, 252, 0.1), transparent)'\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_ServicesSection__WEBPACK_IMPORTED_MODULE_4__.ServicesSection, {\n services: t.services,\n onServiceClick: openServiceModal,\n translations: t.common\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 49,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"section-transition\",\n style: {\n backgroundColor: 'var(--banquise-slate-50)',\n backgroundImage: 'linear-gradient(rgba(31, 80, 120, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 80, 120, 0.03) 1px, transparent 1px)',\n backgroundSize: '30px 30px'\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_TechFeaturesSection__WEBPACK_IMPORTED_MODULE_5__.TechFeaturesSection, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 67,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"section-transition\",\n style: {\n backgroundColor: 'var(--banquise-white)'\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-4\",\n style: {\n background: 'linear-gradient(to right, transparent, rgba(52, 166, 252, 0.08), transparent)'\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_AboutSection__WEBPACK_IMPORTED_MODULE_6__.AboutSection, {\n openAccordion: openAccordion,\n toggleAccordion: toggleAccordion\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 79,\n columnNumber: 7\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_layout_Footer__WEBPACK_IMPORTED_MODULE_7__.Footer, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 94,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ScrollToTopButton__WEBPACK_IMPORTED_MODULE_9__.ScrollToTopButton, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 97,\n columnNumber: 7\n }, this),\n selectedService && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Popup__WEBPACK_IMPORTED_MODULE_8__.Popup, {\n service: selectedService,\n onClose: closeServiceModal,\n translations: t.common\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"G9Km9Dj/FhiAlzYsjGEnUgKSGRc=\", false, function() {\n return [\n _lib_hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__.useTranslation,\n _lib_hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__.useServiceModal,\n _lib_hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__.useAccordion\n ];\n});\n_c = HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDMEI7QUFDOEM7QUFDUjtBQUNRO0FBQ1E7QUFDZDtBQUNkO0FBQ047QUFDd0I7QUFDVTtBQUVwQjtBQUNFO0FBQ047QUFFekMsU0FBU2E7O0lBQ3RCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRUMsa0JBQWtCLEVBQUUsR0FBR1AsMEVBQWNBO0lBQ2pGLE1BQU0sRUFBRVEsZUFBZSxFQUFFQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLEVBQUUsR0FBR1QsNEVBQWVBO0lBQ2hGLE1BQU0sRUFBRVUsYUFBYSxFQUFFQyxlQUFlLEVBQUUsR0FBR1Ysc0VBQVlBO0lBRXZELHFCQUNFLDhEQUFDVztRQUFJQyxXQUFVOzswQkFFYiw4REFBQ3ZCLGlGQUFnQkE7Z0JBQ2Z3QixjQUFjWCxFQUFFWSxVQUFVO2dCQUMxQkMsZ0NBQ0UsOERBQUNsQiwwRkFBc0JBO29CQUNyQk0saUJBQWlCQTtvQkFDakJhLGtCQUFrQlo7b0JBQ2xCQyxvQkFBb0JBOzs7Ozs7Ozs7OzswQkFNMUIsOERBQUNZO2dCQUNDTCxXQUFVO2dCQUNWTSxPQUFPO29CQUNMQyxZQUFZO29CQUNaQyxpQkFBaUI7b0JBQ2pCQyxnQkFBZ0I7Z0JBQ2xCOzBCQUVBLDRFQUFDL0IseUVBQVdBO29CQUFDdUIsY0FBY1gsRUFBRW9CLElBQUk7Ozs7Ozs7Ozs7OzBCQUluQyw4REFBQ0w7Z0JBQ0NMLFdBQVU7Z0JBQ1ZNLE9BQU87b0JBQUVLLGlCQUFpQjtnQkFBd0I7O2tDQUVsRCw4REFBQ1o7d0JBQ0NDLFdBQVU7d0JBQ1ZNLE9BQU87NEJBQ0xDLFlBQVk7d0JBQ2Q7Ozs7OztrQ0FFRiw4REFBQzVCLGlGQUFlQTt3QkFDZGlDLFVBQVV0QixFQUFFc0IsUUFBUTt3QkFDcEJDLGdCQUFnQmxCO3dCQUNoQk0sY0FBY1gsRUFBRXdCLE1BQU07Ozs7Ozs7Ozs7OzswQkFLMUIsOERBQUNUO2dCQUNDTCxXQUFVO2dCQUNWTSxPQUFPO29CQUNMSyxpQkFBaUI7b0JBQ2pCSCxpQkFBaUI7b0JBQ2pCQyxnQkFBZ0I7Z0JBQ2xCOzBCQUVBLDRFQUFDN0IseUZBQW1CQTs7Ozs7Ozs7OzswQkFJdEIsOERBQUN5QjtnQkFDQ0wsV0FBVTtnQkFDVk0sT0FBTztvQkFBRUssaUJBQWlCO2dCQUF3Qjs7a0NBRWxELDhEQUFDWjt3QkFDQ0MsV0FBVTt3QkFDVk0sT0FBTzs0QkFDTEMsWUFBWTt3QkFDZDs7Ozs7O2tDQUVGLDhEQUFDMUIsMkVBQVlBO3dCQUNYZ0IsZUFBZUE7d0JBQ2ZDLGlCQUFpQkE7Ozs7Ozs7Ozs7OztZQUVYOzBCQUNWLDhEQUFDaEIsNkRBQU1BOzs7OzswQkFHUCw4REFBQ0UsK0VBQWlCQTs7Ozs7WUFFakJVLGlDQUNDLDhEQUFDWCx1REFBS0E7Z0JBQ0pnQyxTQUFTckI7Z0JBQ1RzQixTQUFTcEI7Z0JBQ1RLLGNBQWNYLEVBQUV3QixNQUFNOzs7Ozs7Ozs7Ozs7QUFLaEM7R0EzRndCekI7O1FBQzZDSCxzRUFBY0E7UUFDaEJDLHdFQUFlQTtRQUNyQ0Msa0VBQVlBOzs7S0FIakNDIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2FwcC9wYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1vZGVybk5hdmlnYXRpb24gfSBmcm9tICdAL2NvbXBvbmVudHMvbGF5b3V0L01vZGVybk5hdmlnYXRpb24nO1xuaW1wb3J0IHsgSGVyb1NlY3Rpb24gfSBmcm9tICdAL2NvbXBvbmVudHMvc2VjdGlvbnMvSGVyb1NlY3Rpb24nO1xuaW1wb3J0IHsgU2VydmljZXNTZWN0aW9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3NlY3Rpb25zL1NlcnZpY2VzU2VjdGlvbic7XG5pbXBvcnQgeyBUZWNoRmVhdHVyZXNTZWN0aW9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3NlY3Rpb25zL1RlY2hGZWF0dXJlc1NlY3Rpb24nO1xuaW1wb3J0IHsgQWJvdXRTZWN0aW9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3NlY3Rpb25zL0Fib3V0U2VjdGlvbic7XG5pbXBvcnQgeyBGb290ZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvbGF5b3V0L0Zvb3Rlcic7XG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9Qb3B1cCc7XG5pbXBvcnQgeyBTY3JvbGxUb1RvcEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9TY3JvbGxUb1RvcEJ1dHRvbic7XG5pbXBvcnQgeyBNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL01vZGVybkxhbmd1YWdlU3dpdGNoZXInO1xuaW1wb3J0IHsgT2NlYW5CYWNrZ3JvdW5kIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL09jZWFuQmFja2dyb3VuZCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0AvbGliL2hvb2tzL3VzZVRyYW5zbGF0aW9uJztcbmltcG9ydCB7IHVzZVNlcnZpY2VNb2RhbCB9IGZyb20gJ0AvbGliL2hvb2tzL3VzZVNlcnZpY2VNb2RhbCc7XG5pbXBvcnQgeyB1c2VBY2NvcmRpb24gfSBmcm9tICdAL2xpYi9ob29rcy91c2VBY2NvcmRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lUGFnZSgpIHtcbiAgY29uc3QgeyB0LCBjdXJyZW50TGFuZ3VhZ2UsIGNoYW5nZUxhbmd1YWdlLCBhdmFpbGFibGVMYW5ndWFnZXMgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHsgc2VsZWN0ZWRTZXJ2aWNlLCBvcGVuU2VydmljZU1vZGFsLCBjbG9zZVNlcnZpY2VNb2RhbCB9ID0gdXNlU2VydmljZU1vZGFsKCk7XG4gIGNvbnN0IHsgb3BlbkFjY29yZGlvbiwgdG9nZ2xlQWNjb3JkaW9uIH0gPSB1c2VBY2NvcmRpb24oKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIHJlbGF0aXZlIG92ZXJmbG93LXgtaGlkZGVuXCI+XG4gICAgICB7LyogTmF2aWdhdGlvbiAqL31cbiAgICAgIDxNb2Rlcm5OYXZpZ2F0aW9uIFxuICAgICAgICB0cmFuc2xhdGlvbnM9e3QubmF2aWdhdGlvbn1cbiAgICAgICAgbGFuZ3VhZ2VTd2l0Y2hlcj17XG4gICAgICAgICAgPE1vZGVybkxhbmd1YWdlU3dpdGNoZXIgXG4gICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2U9e2N1cnJlbnRMYW5ndWFnZX1cbiAgICAgICAgICAgIG9uTGFuZ3VhZ2VDaGFuZ2U9e2NoYW5nZUxhbmd1YWdlfVxuICAgICAgICAgICAgYXZhaWxhYmxlTGFuZ3VhZ2VzPXthdmFpbGFibGVMYW5ndWFnZXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIFxuICAgICAgey8qIEhlcm8gU2VjdGlvbiBhdmVjIG1vdGlmIGRlIGdyaWxsZSAqL31cbiAgICAgIDxzZWN0aW9uIFxuICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBiZy1ncmlkLXBhdHRlcm5cIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICdsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1iYW5xdWlzZS1zbGF0ZS01MCksIHZhcigtLWJhbnF1aXNlLWJsdWUtNTApKScsXG4gICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAnbGluZWFyLWdyYWRpZW50KHJnYmEoMzEsIDgwLCAxMjAsIDAuMDMpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDMxLCA4MCwgMTIwLCAwLjAzKSAxcHgsIHRyYW5zcGFyZW50IDFweCknLFxuICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnMzBweCAzMHB4J1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8SGVyb1NlY3Rpb24gdHJhbnNsYXRpb25zPXt0Lmhlcm99IC8+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBTZXJ2aWNlcyBTZWN0aW9uIGF2ZWMgdHJhbnNpdGlvbiBzdWJ0aWxlICovfVxuICAgICAgPHNlY3Rpb24gXG4gICAgICAgIGNsYXNzTmFtZT1cInNlY3Rpb24tdHJhbnNpdGlvblwiXG4gICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWJhbnF1aXNlLXdoaXRlKScgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICBjbGFzc05hbWU9XCJweS00XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoNTIsIDE2NiwgMjUyLCAwLjEpLCB0cmFuc3BhcmVudCknXG4gICAgICAgICAgfX1cbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8U2VydmljZXNTZWN0aW9uIFxuICAgICAgICAgIHNlcnZpY2VzPXt0LnNlcnZpY2VzfVxuICAgICAgICAgIG9uU2VydmljZUNsaWNrPXtvcGVuU2VydmljZU1vZGFsfVxuICAgICAgICAgIHRyYW5zbGF0aW9ucz17dC5jb21tb259XG4gICAgICAgIC8+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIHsvKiBUZWNoIEZlYXR1cmVzIFNlY3Rpb24gYXZlYyBtb3RpZiBkZSBncmlsbGUgKi99XG4gICAgICA8c2VjdGlvbiBcbiAgICAgICAgY2xhc3NOYW1lPVwic2VjdGlvbi10cmFuc2l0aW9uXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1iYW5xdWlzZS1zbGF0ZS01MCknLFxuICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogJ2xpbmVhci1ncmFkaWVudChyZ2JhKDMxLCA4MCwgMTIwLCAwLjAzKSAxcHgsIHRyYW5zcGFyZW50IDFweCksIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgzMSwgODAsIDEyMCwgMC4wMykgMXB4LCB0cmFuc3BhcmVudCAxcHgpJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJzMwcHggMzBweCdcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRlY2hGZWF0dXJlc1NlY3Rpb24gLz5cbiAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgey8qIEFib3V0IFNlY3Rpb24gYXZlYyB0cmFuc2l0aW9uIG1vZGVybmUgKi99XG4gICAgICA8c2VjdGlvbiBcbiAgICAgICAgY2xhc3NOYW1lPVwic2VjdGlvbi10cmFuc2l0aW9uXCJcbiAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tYmFucXVpc2Utd2hpdGUpJyB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IFxuICAgICAgICAgIGNsYXNzTmFtZT1cInB5LTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgcmdiYSg1MiwgMTY2LCAyNTIsIDAuMDgpLCB0cmFuc3BhcmVudCknXG4gICAgICAgICAgfX1cbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8QWJvdXRTZWN0aW9uIFxuICAgICAgICAgIG9wZW5BY2NvcmRpb249e29wZW5BY2NvcmRpb259XG4gICAgICAgICAgdG9nZ2xlQWNjb3JkaW9uPXt0b2dnbGVBY2NvcmRpb259XG4gICAgICAgIC8+XG4gICAgICA8L3NlY3Rpb24+ICAgICAgey8qIEZvb3RlciAtIE3Dqm1lIGNvdWxldXIgcXVlIG5hdmJhciAqL31cbiAgICAgIDxGb290ZXIgLz5cblxuICAgICAgey8qIFVJIENvbXBvbmVudHMgKi99XG4gICAgICA8U2Nyb2xsVG9Ub3BCdXR0b24gLz5cbiAgICAgIFxuICAgICAge3NlbGVjdGVkU2VydmljZSAmJiAoXG4gICAgICAgIDxQb3B1cCBcbiAgICAgICAgICBzZXJ2aWNlPXtzZWxlY3RlZFNlcnZpY2V9IFxuICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlU2VydmljZU1vZGFsfVxuICAgICAgICAgIHRyYW5zbGF0aW9ucz17dC5jb21tb259XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9kZXJuTmF2aWdhdGlvbiIsIkhlcm9TZWN0aW9uIiwiU2VydmljZXNTZWN0aW9uIiwiVGVjaEZlYXR1cmVzU2VjdGlvbiIsIkFib3V0U2VjdGlvbiIsIkZvb3RlciIsIlBvcHVwIiwiU2Nyb2xsVG9Ub3BCdXR0b24iLCJNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTZXJ2aWNlTW9kYWwiLCJ1c2VBY2NvcmRpb24iLCJIb21lUGFnZSIsInQiLCJjdXJyZW50TGFuZ3VhZ2UiLCJjaGFuZ2VMYW5ndWFnZSIsImF2YWlsYWJsZUxhbmd1YWdlcyIsInNlbGVjdGVkU2VydmljZSIsIm9wZW5TZXJ2aWNlTW9kYWwiLCJjbG9zZVNlcnZpY2VNb2RhbCIsIm9wZW5BY2NvcmRpb24iLCJ0b2dnbGVBY2NvcmRpb24iLCJkaXYiLCJjbGFzc05hbWUiLCJ0cmFuc2xhdGlvbnMiLCJuYXZpZ2F0aW9uIiwibGFuZ3VhZ2VTd2l0Y2hlciIsIm9uTGFuZ3VhZ2VDaGFuZ2UiLCJzZWN0aW9uIiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZFNpemUiLCJoZXJvIiwiYmFja2dyb3VuZENvbG9yIiwic2VydmljZXMiLCJvblNlcnZpY2VDbGljayIsImNvbW1vbiIsInNlcnZpY2UiLCJvbkNsb3NlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/page.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/common/Button.tsx":
/*!**************************************!*\
!*** ./components/common/Button.tsx ***!
\**************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\n\nconst sizeClasses = {\n sm: 'px-4 py-2 text-sm',\n md: 'px-6 py-3 text-base',\n lg: 'px-8 py-4 text-lg'\n};\nconst variantClasses = {\n primary: 'bg-gradient-to-r from-blue-600 to-blue-500 text-white shadow-lg hover:shadow-xl hover:from-blue-700 hover:to-blue-600 border-2 border-blue-600/20',\n discord: 'bg-gradient-to-r from-indigo-600 to-purple-600 text-white shadow-lg hover:shadow-xl hover:from-indigo-700 hover:to-purple-700 border-2 border-indigo-600/20',\n auth: 'bg-gradient-to-r from-blue-500 to-blue-400 text-white shadow-lg hover:shadow-xl hover:from-blue-600 hover:to-blue-500 border-2 border-blue-500/20',\n secondary: 'bg-white text-blue-700 border-2 border-blue-600 shadow-md hover:shadow-lg hover:bg-blue-50',\n outline: 'bg-transparent text-gray-700 border-2 border-gray-300 hover:bg-gray-50 hover:border-gray-400',\n ghost: 'bg-transparent text-gray-700 hover:bg-gray-100'\n};\nconst Button = (param)=>{\n let { variant = 'primary', size = 'md', fullWidth = false, leftIcon, rightIcon, loading = false, children, className = '', disabled, ...props } = param;\n const baseClasses = [\n 'inline-flex items-center justify-center font-semibold rounded-xl transition-all duration-300 transform',\n 'hover:scale-105 active:scale-95 focus:outline-none focus:ring-4 focus:ring-blue-300',\n sizeClasses[size],\n variantClasses[variant],\n fullWidth ? 'w-full' : '',\n disabled || loading ? 'opacity-50 cursor-not-allowed transform-none' : '',\n className\n ].filter(Boolean).join(' ');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: baseClasses,\n disabled: disabled || loading,\n ...props,\n children: [\n loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"animate-spin -ml-1 mr-3 h-5 w-5\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n className: \"opacity-25\",\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n stroke: \"currentColor\",\n strokeWidth: \"4\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 58,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n className: \"opacity-75\",\n fill: \"currentColor\",\n d: \"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 59,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, undefined),\n leftIcon && !loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-2\",\n children: leftIcon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 62,\n columnNumber: 32\n }, undefined),\n children,\n rightIcon && !loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2\",\n children: rightIcon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 64,\n columnNumber: 33\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/Button.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, undefined);\n};\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvY29tbW9uL0J1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBMEI7QUFZMUIsTUFBTUMsY0FBYztJQUNsQkMsSUFBSTtJQUNKQyxJQUFJO0lBQ0pDLElBQUk7QUFDTjtBQUVBLE1BQU1DLGlCQUFpQjtJQUNyQkMsU0FBUztJQUNUQyxTQUFTO0lBQ1RDLE1BQU07SUFDTkMsV0FBVztJQUNYQyxTQUFTO0lBQ1RDLE9BQU87QUFDVDtBQUVPLE1BQU1DLFNBQWdDO1FBQUMsRUFDNUNDLFVBQVUsU0FBUyxFQUNuQkMsT0FBTyxJQUFJLEVBQ1hDLFlBQVksS0FBSyxFQUNqQkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFVBQVUsS0FBSyxFQUNmQyxRQUFRLEVBQ1JDLFlBQVksRUFBRSxFQUNkQyxRQUFRLEVBQ1IsR0FBR0MsT0FDSjtJQUNDLE1BQU1DLGNBQWM7UUFDbEI7UUFDQTtRQUNBdEIsV0FBVyxDQUFDYSxLQUFLO1FBQ2pCVCxjQUFjLENBQUNRLFFBQVE7UUFDdkJFLFlBQVksV0FBVztRQUN0Qk0sWUFBWUgsVUFBVyxpREFBaUQ7UUFDekVFO0tBQ0QsQ0FBQ0ksTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7SUFFdkIscUJBQ0UsOERBQUNDO1FBQ0NQLFdBQVdHO1FBQ1hGLFVBQVVBLFlBQVlIO1FBQ3JCLEdBQUdJLEtBQUs7O1lBRVJKLHlCQUNDLDhEQUFDVTtnQkFBSVIsV0FBVTtnQkFBa0NTLE9BQU07Z0JBQTZCQyxNQUFLO2dCQUFPQyxTQUFROztrQ0FDdEcsOERBQUNDO3dCQUFPWixXQUFVO3dCQUFhYSxJQUFHO3dCQUFLQyxJQUFHO3dCQUFLQyxHQUFFO3dCQUFLQyxRQUFPO3dCQUFlQyxhQUFZOzs7Ozs7a0NBQ3hGLDhEQUFDQzt3QkFBS2xCLFdBQVU7d0JBQWFVLE1BQUs7d0JBQWVTLEdBQUU7Ozs7Ozs7Ozs7OztZQUd0RHZCLFlBQVksQ0FBQ0UseUJBQVcsOERBQUNzQjtnQkFBS3BCLFdBQVU7MEJBQVFKOzs7Ozs7WUFDaERHO1lBQ0FGLGFBQWEsQ0FBQ0MseUJBQVcsOERBQUNzQjtnQkFBS3BCLFdBQVU7MEJBQVFIOzs7Ozs7Ozs7Ozs7QUFHeEQsRUFBRTtLQXZDV0wiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvY29tcG9uZW50cy9jb21tb24vQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbnRlcmZhY2UgQnV0dG9uUHJvcHMgZXh0ZW5kcyBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4ge1xuICB2YXJpYW50PzogJ3ByaW1hcnknIHwgJ2Rpc2NvcmQnIHwgJ2F1dGgnIHwgJ3NlY29uZGFyeScgfCAnZ2hvc3QnIHwgJ291dGxpbmUnO1xuICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICBsZWZ0SWNvbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcmlnaHRJY29uPzogUmVhY3QuUmVhY3ROb2RlO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuY29uc3Qgc2l6ZUNsYXNzZXMgPSB7XG4gIHNtOiAncHgtNCBweS0yIHRleHQtc20nLFxuICBtZDogJ3B4LTYgcHktMyB0ZXh0LWJhc2UnLFxuICBsZzogJ3B4LTggcHktNCB0ZXh0LWxnJyxcbn07XG5cbmNvbnN0IHZhcmlhbnRDbGFzc2VzID0ge1xuICBwcmltYXJ5OiAnYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNjAwIHRvLWJsdWUtNTAwIHRleHQtd2hpdGUgc2hhZG93LWxnIGhvdmVyOnNoYWRvdy14bCBob3Zlcjpmcm9tLWJsdWUtNzAwIGhvdmVyOnRvLWJsdWUtNjAwIGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMC8yMCcsXG4gIGRpc2NvcmQ6ICdiZy1ncmFkaWVudC10by1yIGZyb20taW5kaWdvLTYwMCB0by1wdXJwbGUtNjAwIHRleHQtd2hpdGUgc2hhZG93LWxnIGhvdmVyOnNoYWRvdy14bCBob3Zlcjpmcm9tLWluZGlnby03MDAgaG92ZXI6dG8tcHVycGxlLTcwMCBib3JkZXItMiBib3JkZXItaW5kaWdvLTYwMC8yMCcsXG4gIGF1dGg6ICdiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS01MDAgdG8tYmx1ZS00MDAgdGV4dC13aGl0ZSBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LXhsIGhvdmVyOmZyb20tYmx1ZS02MDAgaG92ZXI6dG8tYmx1ZS01MDAgYm9yZGVyLTIgYm9yZGVyLWJsdWUtNTAwLzIwJyxcbiAgc2Vjb25kYXJ5OiAnYmctd2hpdGUgdGV4dC1ibHVlLTcwMCBib3JkZXItMiBib3JkZXItYmx1ZS02MDAgc2hhZG93LW1kIGhvdmVyOnNoYWRvdy1sZyBob3ZlcjpiZy1ibHVlLTUwJyxcbiAgb3V0bGluZTogJ2JnLXRyYW5zcGFyZW50IHRleHQtZ3JheS03MDAgYm9yZGVyLTIgYm9yZGVyLWdyYXktMzAwIGhvdmVyOmJnLWdyYXktNTAgaG92ZXI6Ym9yZGVyLWdyYXktNDAwJyxcbiAgZ2hvc3Q6ICdiZy10cmFuc3BhcmVudCB0ZXh0LWdyYXktNzAwIGhvdmVyOmJnLWdyYXktMTAwJyxcbn07XG5cbmV4cG9ydCBjb25zdCBCdXR0b246IFJlYWN0LkZDPEJ1dHRvblByb3BzPiA9ICh7XG4gIHZhcmlhbnQgPSAncHJpbWFyeScsXG4gIHNpemUgPSAnbWQnLFxuICBmdWxsV2lkdGggPSBmYWxzZSxcbiAgbGVmdEljb24sXG4gIHJpZ2h0SWNvbixcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGRpc2FibGVkLFxuICAuLi5wcm9wc1xufSkgPT4ge1xuICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAnaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtJyxcbiAgICAnaG92ZXI6c2NhbGUtMTA1IGFjdGl2ZTpzY2FsZS05NSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctYmx1ZS0zMDAnLFxuICAgIHNpemVDbGFzc2VzW3NpemVdLFxuICAgIHZhcmlhbnRDbGFzc2VzW3ZhcmlhbnRdLFxuICAgIGZ1bGxXaWR0aCA/ICd3LWZ1bGwnIDogJycsXG4gICAgKGRpc2FibGVkIHx8IGxvYWRpbmcpID8gJ29wYWNpdHktNTAgY3Vyc29yLW5vdC1hbGxvd2VkIHRyYW5zZm9ybS1ub25lJyA6ICcnLFxuICAgIGNsYXNzTmFtZVxuICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2Jhc2VDbGFzc2VzfVxuICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IGxvYWRpbmd9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge2xvYWRpbmcgJiYgKFxuICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cImFuaW1hdGUtc3BpbiAtbWwtMSBtci0zIGgtNSB3LTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPGNpcmNsZSBjbGFzc05hbWU9XCJvcGFjaXR5LTI1XCIgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2VXaWR0aD1cIjRcIj48L2NpcmNsZT5cbiAgICAgICAgICA8cGF0aCBjbGFzc05hbWU9XCJvcGFjaXR5LTc1XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNNCAxMmE4IDggMCAwMTgtOFYwQzUuMzczIDAgMCA1LjM3MyAwIDEyaDR6bTIgNS4yOTFBNy45NjIgNy45NjIgMCAwMTQgMTJIMGMwIDMuMDQyIDEuMTM1IDUuODI0IDMgNy45MzhsMy0yLjY0N3pcIj48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKX1cbiAgICAgIHtsZWZ0SWNvbiAmJiAhbG9hZGluZyAmJiA8c3BhbiBjbGFzc05hbWU9XCJtci0yXCI+e2xlZnRJY29ufTwvc3Bhbj59XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7cmlnaHRJY29uICYmICFsb2FkaW5nICYmIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTJcIj57cmlnaHRJY29ufTwvc3Bhbj59XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0Iiwic2l6ZUNsYXNzZXMiLCJzbSIsIm1kIiwibGciLCJ2YXJpYW50Q2xhc3NlcyIsInByaW1hcnkiLCJkaXNjb3JkIiwiYXV0aCIsInNlY29uZGFyeSIsIm91dGxpbmUiLCJnaG9zdCIsIkJ1dHRvbiIsInZhcmlhbnQiLCJzaXplIiwiZnVsbFdpZHRoIiwibGVmdEljb24iLCJyaWdodEljb24iLCJsb2FkaW5nIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsInByb3BzIiwiYmFzZUNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImJ1dHRvbiIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwicGF0aCIsImQiLCJzcGFuIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/common/Button.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/common/ServiceCard.tsx":
/*!*******************************************!*\
!*** ./components/common/ServiceCard.tsx ***!
\*******************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ServiceCard: () => (/* binding */ ServiceCard)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js\");\n\n\n\nconst ServiceCard = (param)=>{\n let { service, onServiceClick, className = '' } = param;\n const handleClick = ()=>{\n onServiceClick(service);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative p-8 bg-white rounded-2xl shadow-lg hover:shadow-2xl border border-gray-200 hover:border-blue-300 transition-all duration-300 cursor-pointer transform hover:-translate-y-4 hover:scale-105 active:scale-95 \".concat(className),\n onClick: handleClick,\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-blue-50/50 to-indigo-50/50 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8 w-24 h-24 rounded-2xl bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center shadow-xl group-hover:shadow-2xl group-hover:scale-110 transition-all duration-300 mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: service.image,\n alt: service.icon,\n className: \"h-12 w-12 transition-transform duration-300 group-hover:scale-110\",\n width: 48,\n height: 48\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 32,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl md:text-2xl font-bold mb-4 text-gray-900 text-center group-hover:text-blue-700 transition-colors duration-300\",\n children: service.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600 leading-relaxed text-center group-hover:text-gray-700 transition-colors duration-300\",\n children: [\n service.description.split('.')[0],\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 flex justify-center opacity-0 group-hover:opacity-100 transition-all duration-300 transform translate-y-2 group-hover:translate-y-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 bg-blue-600 rounded-full flex items-center justify-center shadow-lg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4 text-white\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 5l7 7-7 7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 55,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 53,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 52,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 29,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/common/ServiceCard.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, undefined);\n};\n_c = ServiceCard;\nvar _c;\n$RefreshReg$(_c, \"ServiceCard\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvY29tbW9uL1NlcnZpY2VDYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEI7QUFDSTtBQVN2QixNQUFNRSxjQUEwQztRQUFDLEVBQ3REQyxPQUFPLEVBQ1BDLGNBQWMsRUFDZEMsWUFBWSxFQUFFLEVBQ2Y7SUFDQyxNQUFNQyxjQUFjO1FBQ2xCRixlQUFlRDtJQUNqQjtJQUVBLHFCQUNFLDhEQUFDSTtRQUNDRixXQUFXLDZOQUF1TyxPQUFWQTtRQUN4T0csU0FBU0Y7OzBCQUdULDhEQUFDQztnQkFBSUYsV0FBVTs7Ozs7OzBCQUdmLDhEQUFDRTtnQkFBSUYsV0FBVTs7a0NBRWIsOERBQUNFO3dCQUFJRixXQUFVO2tDQUNiLDRFQUFDSixrREFBS0E7NEJBQ0pRLEtBQUtOLFFBQVFPLEtBQUs7NEJBQ2xCQyxLQUFLUixRQUFRUyxJQUFJOzRCQUNqQlAsV0FBVTs0QkFDVlEsT0FBTzs0QkFDUEMsUUFBUTs7Ozs7Ozs7Ozs7a0NBS1osOERBQUNDO3dCQUFHVixXQUFVO2tDQUNYRixRQUFRYSxJQUFJOzs7Ozs7a0NBSWYsOERBQUNDO3dCQUFFWixXQUFVOzs0QkFDVkYsUUFBUWUsV0FBVyxDQUFDQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQUM7Ozs7Ozs7a0NBSXJDLDhEQUFDWjt3QkFBSUYsV0FBVTtrQ0FDYiw0RUFBQ0U7NEJBQUlGLFdBQVU7c0NBQ2IsNEVBQUNlO2dDQUFJZixXQUFVO2dDQUFxQmdCLE1BQUs7Z0NBQU9DLFFBQU87Z0NBQWVDLFNBQVE7MENBQzVFLDRFQUFDQztvQ0FBS0MsZUFBYztvQ0FBUUMsZ0JBQWU7b0NBQVFDLGFBQWE7b0NBQUdDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9uRixFQUFFO0tBbkRXMUIiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvY29tcG9uZW50cy9jb21tb24vU2VydmljZUNhcmQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJ0AvdHlwZXMvc2VydmljZSc7XG5cbmludGVyZmFjZSBTZXJ2aWNlQ2FyZFByb3BzIHtcbiAgc2VydmljZTogU2VydmljZTtcbiAgb25TZXJ2aWNlQ2xpY2s6IChzZXJ2aWNlOiBTZXJ2aWNlKSA9PiB2b2lkO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTZXJ2aWNlQ2FyZDogUmVhY3QuRkM8U2VydmljZUNhcmRQcm9wcz4gPSAoe1xuICBzZXJ2aWNlLFxuICBvblNlcnZpY2VDbGljayxcbiAgY2xhc3NOYW1lID0gJycsXG59KSA9PiB7XG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIG9uU2VydmljZUNsaWNrKHNlcnZpY2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBcbiAgICAgIGNsYXNzTmFtZT17YGdyb3VwIHJlbGF0aXZlIHAtOCBiZy13aGl0ZSByb3VuZGVkLTJ4bCBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LTJ4bCBib3JkZXIgYm9yZGVyLWdyYXktMjAwIGhvdmVyOmJvcmRlci1ibHVlLTMwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgY3Vyc29yLXBvaW50ZXIgdHJhbnNmb3JtIGhvdmVyOi10cmFuc2xhdGUteS00IGhvdmVyOnNjYWxlLTEwNSBhY3RpdmU6c2NhbGUtOTUgJHtjbGFzc05hbWV9YH1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgID5cbiAgICAgIHsvKiBJbmRpY2F0ZXVyIGRlIHN1cnZvbCAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAvNTAgdG8taW5kaWdvLTUwLzUwIHJvdW5kZWQtMnhsIG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwXCIgLz5cbiAgICAgIFxuICAgICAgey8qIENvbnRlbnUgZGUgbGEgY2FydGUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTBcIj5cbiAgICAgICAgey8qIEljw7RuZSBkdSBzZXJ2aWNlICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTggdy0yNCBoLTI0IHJvdW5kZWQtMnhsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8tYmx1ZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2hhZG93LXhsIGdyb3VwLWhvdmVyOnNoYWRvdy0yeGwgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBteC1hdXRvXCI+XG4gICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICBzcmM9e3NlcnZpY2UuaW1hZ2UgYXMgYW55fVxuICAgICAgICAgICAgYWx0PXtzZXJ2aWNlLmljb259XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJoLTEyIHctMTIgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExMFwiXG4gICAgICAgICAgICB3aWR0aD17NDh9XG4gICAgICAgICAgICBoZWlnaHQ9ezQ4fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgey8qIE5vbSBkdSBzZXJ2aWNlICovfVxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBtZDp0ZXh0LTJ4bCBmb250LWJvbGQgbWItNCB0ZXh0LWdyYXktOTAwIHRleHQtY2VudGVyIGdyb3VwLWhvdmVyOnRleHQtYmx1ZS03MDAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAge3NlcnZpY2UubmFtZX1cbiAgICAgICAgPC9oMz5cbiAgICAgICAgXG4gICAgICAgIHsvKiBEZXNjcmlwdGlvbiBjb3VydGUgKi99XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS02MDAgbGVhZGluZy1yZWxheGVkIHRleHQtY2VudGVyIGdyb3VwLWhvdmVyOnRleHQtZ3JheS03MDAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAge3NlcnZpY2UuZGVzY3JpcHRpb24uc3BsaXQoJy4nKVswXX0uXG4gICAgICAgIDwvcD5cbiAgICAgICAgXG4gICAgICAgIHsvKiBGbMOoY2hlIGluZGljYXRyaWNlIGF1IGhvdmVyICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTYgZmxleCBqdXN0aWZ5LWNlbnRlciBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHRyYW5zZm9ybSB0cmFuc2xhdGUteS0yIGdyb3VwLWhvdmVyOnRyYW5zbGF0ZS15LTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctOCBoLTggYmctYmx1ZS02MDAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNoYWRvdy1sZ1wiPlxuICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTQgaC00IHRleHQtd2hpdGVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTkgNWw3IDctNyA3XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkltYWdlIiwiU2VydmljZUNhcmQiLCJzZXJ2aWNlIiwib25TZXJ2aWNlQ2xpY2siLCJjbGFzc05hbWUiLCJoYW5kbGVDbGljayIsImRpdiIsIm9uQ2xpY2siLCJzcmMiLCJpbWFnZSIsImFsdCIsImljb24iLCJ3aWR0aCIsImhlaWdodCIsImgzIiwibmFtZSIsInAiLCJkZXNjcmlwdGlvbiIsInNwbGl0Iiwic3ZnIiwiZmlsbCIsInN0cm9rZSIsInZpZXdCb3giLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/common/ServiceCard.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/Footer.tsx":
/*!**************************************!*\
!*** ./components/layout/Footer.tsx ***!
\**************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Footer: () => (/* binding */ Footer)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\n\n\nconst Footer = ()=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"bg-gray-900 text-white py-16 px-4 sm:px-6 lg:px-8 border-t border-gray-800\",\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: \"grid grid-cols-1 md:grid-cols-3 gap-12 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\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)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center shadow-lg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white font-bold text-xl\",\n children: \"B\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white font-bold text-2xl\",\n children: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.SITE_CONFIG.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 12,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-300 leading-relaxed\",\n children: \"Une communaut\\xe9 passionn\\xe9e qui propose des services d'h\\xe9bergement et des outils collaboratifs pour les d\\xe9veloppeurs et les gamers.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord,\n className: \"w-12 h-12 bg-gray-800 hover:bg-blue-600 rounded-xl flex items-center justify-center transition-all duration-300 hover:scale-110 shadow-lg hover:shadow-blue-500/25\",\n \"aria-label\": \"Discord\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-6 h-6\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 30,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 25,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.contact.email,\n className: \"w-12 h-12 bg-gray-800 hover:bg-blue-600 rounded-xl flex items-center justify-center transition-all duration-300 hover:scale-110 shadow-lg hover:shadow-blue-500/25\",\n \"aria-label\": \"Email\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-6 h-6\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 34,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-white font-bold text-lg mb-6\",\n children: \"Nos Services\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 48,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.wiki,\n className: \"block text-gray-300 hover:text-blue-400 transition-colors duration-200 hover:translate-x-2 transform\",\n children: \"\\uD83D\\uDCDA Wiki\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 50,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.gitea,\n className: \"block text-gray-300 hover:text-blue-400 transition-colors duration-200 hover:translate-x-2 transform\",\n children: \"\\uD83D\\uDD27 Gitea\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 56,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.panel,\n className: \"block text-gray-300 hover:text-blue-400 transition-colors duration-200 hover:translate-x-2 transform\",\n children: \"\\uD83C\\uDFAE Panel de Jeux\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 62,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.opencloud,\n className: \"block text-gray-300 hover:text-blue-400 transition-colors duration-200 hover:translate-x-2 transform\",\n children: \"☁️ OpenCloud\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 49,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-white font-bold text-lg mb-6\",\n children: \"Communaut\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 79,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-r from-blue-900/30 to-blue-800/30 rounded-xl p-6 border border-blue-800/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-blue-400 font-semibold mb-2\",\n children: \"Rejoindre l'asso\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 82,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-300 text-sm mb-4\",\n children: \"Connectez-vous sur Discord et cr\\xe9ez un ticket pour rejoindre la communaut\\xe9 Banquise.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 83,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord,\n className: \"inline-flex items-center text-blue-400 hover:text-blue-300 text-sm font-semibold transition-colors duration-200\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-2\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 90,\n columnNumber: 17\n }, undefined),\n \"Rejoindre maintenant\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 86,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 81,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 78,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 8,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row justify-between items-center gap-6 pt-8 border-t border-gray-800\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-400 text-sm text-center md:text-left\",\n children: [\n \"\\xa9 2025 \",\n _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.SITE_CONFIG.name,\n \". H\\xe9bergement communautaire pour d\\xe9veloppeurs et gamers.\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 100,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6 text-sm text-gray-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center\",\n children: [\n \"Fait avec\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500 mx-1\",\n children: \"❤️\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 106,\n columnNumber: 13\n }, undefined),\n \"par Banquise\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 104,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1 h-1 bg-gray-600 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 109,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-blue-400 font-semibold\",\n children: \"EPITA 2025\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 110,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 103,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 99,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/Footer.tsx\",\n lineNumber: 5,\n columnNumber: 3\n }, undefined);\n_c = Footer;\nvar _c;\n$RefreshReg$(_c, \"Footer\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L0Zvb3Rlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTBCO0FBQ2lDO0FBRXBELE1BQU1HLFNBQW1CLGtCQUM5Qiw4REFBQ0M7UUFBT0MsV0FBVTtrQkFDaEIsNEVBQUNDO1lBQUlELFdBQVU7OzhCQUViLDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBR2IsOERBQUNDOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ0M7b0NBQUlELFdBQVU7O3NEQUNiLDhEQUFDQzs0Q0FBSUQsV0FBVTtzREFDYiw0RUFBQ0U7Z0RBQUtGLFdBQVU7MERBQStCOzs7Ozs7Ozs7OztzREFFakQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUNiSCw4REFBV0EsQ0FBQ00sSUFBSTs7Ozs7Ozs7Ozs7OzhDQUdyQiw4REFBQ0M7b0NBQUVKLFdBQVU7OENBQWdDOzs7Ozs7OENBSTdDLDhEQUFDQztvQ0FBSUQsV0FBVTs7c0RBQ2IsOERBQUNLOzRDQUNDQyxNQUFNVix1REFBSUEsQ0FBQ1csTUFBTSxDQUFDQyxPQUFPOzRDQUN6QlIsV0FBVTs0Q0FDVlMsY0FBVztzREFFWCw0RUFBQ0M7Z0RBQUlWLFdBQVU7Z0RBQVVXLE1BQUs7Z0RBQWVDLFNBQVE7MERBQ25ELDRFQUFDQztvREFBS0MsR0FBRTs7Ozs7Ozs7Ozs7Ozs7OztzREFHWiw4REFBQ1Q7NENBQ0NDLE1BQU1WLHVEQUFJQSxDQUFDbUIsT0FBTyxDQUFDQyxLQUFLOzRDQUN4QmhCLFdBQVU7NENBQ1ZTLGNBQVc7c0RBRVgsNEVBQUNDO2dEQUFJVixXQUFVO2dEQUFVVyxNQUFLO2dEQUFPTSxRQUFPO2dEQUFlTCxTQUFROzBEQUNqRSw0RUFBQ0M7b0RBQUtLLGVBQWM7b0RBQVFDLGdCQUFlO29EQUFRQyxhQUFhO29EQUFHTixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQU83RSw4REFBQ2I7NEJBQUlELFdBQVU7OzhDQUNiLDhEQUFDcUI7b0NBQUdyQixXQUFVOzhDQUFvQzs7Ozs7OzhDQUNsRCw4REFBQ0M7b0NBQUlELFdBQVU7O3NEQUNiLDhEQUFDSzs0Q0FDQ0MsTUFBTVYsdURBQUlBLENBQUMwQixRQUFRLENBQUNDLElBQUk7NENBQ3hCdkIsV0FBVTtzREFDWDs7Ozs7O3NEQUdELDhEQUFDSzs0Q0FDQ0MsTUFBTVYsdURBQUlBLENBQUMwQixRQUFRLENBQUNFLEtBQUs7NENBQ3pCeEIsV0FBVTtzREFDWDs7Ozs7O3NEQUdELDhEQUFDSzs0Q0FDQ0MsTUFBTVYsdURBQUlBLENBQUMwQixRQUFRLENBQUNHLEtBQUs7NENBQ3pCekIsV0FBVTtzREFDWDs7Ozs7O3NEQUdELDhEQUFDSzs0Q0FDQ0MsTUFBTVYsdURBQUlBLENBQUMwQixRQUFRLENBQUNJLFNBQVM7NENBQzdCMUIsV0FBVTtzREFDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQU9MLDhEQUFDQzs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNxQjtvQ0FBR3JCLFdBQVU7OENBQW9DOzs7Ozs7OENBQ2xELDhEQUFDQztvQ0FBSUQsV0FBVTs4Q0FDYiw0RUFBQ0M7d0NBQUlELFdBQVU7OzBEQUNiLDhEQUFDMkI7Z0RBQUczQixXQUFVOzBEQUFtQzs7Ozs7OzBEQUNqRCw4REFBQ0k7Z0RBQUVKLFdBQVU7MERBQTZCOzs7Ozs7MERBRzFDLDhEQUFDSztnREFDQ0MsTUFBTVYsdURBQUlBLENBQUNXLE1BQU0sQ0FBQ0MsT0FBTztnREFDekJSLFdBQVU7O2tFQUVWLDhEQUFDRTt3REFBS0YsV0FBVTtrRUFBTzs7Ozs7O29EQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBUzFDLDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBQ2IsOERBQUNJOzRCQUFFSixXQUFVOztnQ0FBaUQ7Z0NBQ3BESCw4REFBV0EsQ0FBQ00sSUFBSTtnQ0FBQzs7Ozs7OztzQ0FFM0IsOERBQUNGOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ0U7b0NBQUtGLFdBQVU7O3dDQUFvQjtzREFFbEMsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFvQjs7Ozs7O3dDQUFTOzs7Ozs7OzhDQUcvQyw4REFBQ0M7b0NBQUlELFdBQVU7Ozs7Ozs4Q0FDZiw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQThCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUt0RDtLQS9HV0YiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvY29tcG9uZW50cy9sYXlvdXQvRm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVVJMUywgU0lURV9DT05GSUcgfSBmcm9tICdAL2xpYi9jb25maWcvY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IEZvb3RlcjogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxmb290ZXIgY2xhc3NOYW1lPVwiYmctZ3JheS05MDAgdGV4dC13aGl0ZSBweS0xNiBweC00IHNtOnB4LTYgbGc6cHgtOCBib3JkZXItdCBib3JkZXItZ3JheS04MDBcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTd4bCBteC1hdXRvXCI+XG4gICAgICB7LyogQ29udGVudSBwcmluY2lwYWwgZHUgZm9vdGVyICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC0xMiBtYi0xMlwiPlxuICAgICAgICBcbiAgICAgICAgey8qIE1hcnF1ZSBldCBkZXNjcmlwdGlvbiAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTIgaC0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWJsdWUtNjAwIHJvdW5kZWQteGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2hhZG93LWxnXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQteGxcIj5CPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LTJ4bFwiPlxuICAgICAgICAgICAgICB7U0lURV9DT05GSUcubmFtZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktMzAwIGxlYWRpbmctcmVsYXhlZFwiPlxuICAgICAgICAgICAgVW5lIGNvbW11bmF1dMOpIHBhc3Npb25uw6llIHF1aSBwcm9wb3NlIGRlcyBzZXJ2aWNlcyBkJ2jDqWJlcmdlbWVudCBldCBkZXMgb3V0aWxzIGNvbGxhYm9yYXRpZnMgcG91ciBsZXMgZMOpdmVsb3BwZXVycyBldCBsZXMgZ2FtZXJzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICB7LyogUsOpc2VhdXggc29jaWF1eCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgaHJlZj17VVJMUy5zb2NpYWwuZGlzY29yZH0gXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctMTIgaC0xMiBiZy1ncmF5LTgwMCBob3ZlcjpiZy1ibHVlLTYwMCByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpzY2FsZS0xMTAgc2hhZG93LWxnIGhvdmVyOnNoYWRvdy1ibHVlLTUwMC8yNVwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJEaXNjb3JkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTYgaC02XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIwLjMxNyA0LjM3YTE5Ljc5MSAxOS43OTEgMCAwIDAtNC44ODUtMS41MTUuMDc0LjA3NCAwIDAgMC0uMDc5LjAzN2MtLjIxMS4zNzUtLjQ0NS44NjQtLjYwOCAxLjI1YTE4LjI3IDE4LjI3IDAgMCAwLTUuNDg3IDAgMTIuNjQgMTIuNjQgMCAwIDAtLjYxNy0xLjI1LjA3Ny4wNzcgMCAwIDAtLjA3OS0uMDM3QTE5LjczNiAxOS43MzYgMCAwIDAgMy42NzcgNC4zN2EuMDcuMDcgMCAwIDAtLjAzMi4wMjdDLjUzMyA5LjA0Ni0uMzIgMTMuNTguMDk5IDE4LjA1N2EuMDgyLjA4MiAwIDAgMCAuMDMxLjA1NyAxOS45IDE5LjkgMCAwIDAgNS45OTMgMy4wMy4wNzguMDc4IDAgMCAwIC4wODQtLjAyOGMuNDYyLS42My44NzQtMS4yOTUgMS4yMjYtMS45OTRhLjA3Ni4wNzYgMCAwIDAtLjA0MS0uMTA2IDEzLjEwNyAxMy4xMDcgMCAwIDEtMS44NzItLjg5Mi4wNzcuMDc3IDAgMCAxLS4wMDgtLjEyOCAxMC4yIDEwLjIgMCAwIDAgLjM3Mi0uMjkyLjA3NC4wNzQgMCAwIDEgLjA3Ny0uMDFjMy45MjggMS43OTMgOC4xOCAxLjc5MyAxMi4wNjIgMGEuMDc0LjA3NCAwIDAgMSAuMDc4LjAxYy4xMi4wOTguMjQ2LjE5OC4zNzMuMjkyYS4wNzcuMDc3IDAgMCAxLS4wMDYuMTI3IDEyLjI5OSAxMi4yOTkgMCAwIDEtMS44NzMuODkyLjA3Ny4wNzcgMCAwIDAtLjA0MS4xMDdjLjM2LjY5OC43NzIgMS4zNjIgMS4yMjUgMS45OTNhLjA3Ni4wNzYgMCAwIDAgLjA4NC4wMjggMTkuODM5IDE5LjgzOSAwIDAgMCA2LjAwMi0zLjAzLjA3Ny4wNzcgMCAwIDAgLjAzMi0uMDU0Yy41LTUuMTc3LS44MzgtOS42NzQtMy41NDktMTMuNjZhLjA2MS4wNjEgMCAwIDAtLjAzMS0uMDN6XCIvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIFxuICAgICAgICAgICAgICBocmVmPXtVUkxTLmNvbnRhY3QuZW1haWx9IFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgYmctZ3JheS04MDAgaG92ZXI6YmctYmx1ZS02MDAgcm91bmRlZC14bCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgaG92ZXI6c2NhbGUtMTEwIHNoYWRvdy1sZyBob3ZlcjpzaGFkb3ctYmx1ZS01MDAvMjVcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRW1haWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNiBoLTZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlV2lkdGg9ezJ9IGQ9XCJNMyA4bDcuODkgNC4yNmEyIDIgMCAwMDIuMjIgMEwyMSA4TTUgMTloMTRhMiAyIDAgMDAyLTJWN2EyIDIgMCAwMC0yLTJINWEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJ6XCIgLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBMaWVucyByYXBpZGVzIHNlcnZpY2VzICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LWxnIG1iLTZcIj5Ob3MgU2VydmljZXM8L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgaHJlZj17VVJMUy5zZXJ2aWNlcy53aWtpfSBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1ncmF5LTMwMCBob3Zlcjp0ZXh0LWJsdWUtNDAwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCBob3Zlcjp0cmFuc2xhdGUteC0yIHRyYW5zZm9ybVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIPCfk5ogV2lraVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGEgXG4gICAgICAgICAgICAgIGhyZWY9e1VSTFMuc2VydmljZXMuZ2l0ZWF9IFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayB0ZXh0LWdyYXktMzAwIGhvdmVyOnRleHQtYmx1ZS00MDAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwIGhvdmVyOnRyYW5zbGF0ZS14LTIgdHJhbnNmb3JtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAg8J+UpyBHaXRlYVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGEgXG4gICAgICAgICAgICAgIGhyZWY9e1VSTFMuc2VydmljZXMucGFuZWx9IFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayB0ZXh0LWdyYXktMzAwIGhvdmVyOnRleHQtYmx1ZS00MDAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwIGhvdmVyOnRyYW5zbGF0ZS14LTIgdHJhbnNmb3JtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAg8J+OriBQYW5lbCBkZSBKZXV4XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgaHJlZj17VVJMUy5zZXJ2aWNlcy5vcGVuY2xvdWR9IFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayB0ZXh0LWdyYXktMzAwIGhvdmVyOnRleHQtYmx1ZS00MDAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwIGhvdmVyOnRyYW5zbGF0ZS14LTIgdHJhbnNmb3JtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAg4piB77iPIE9wZW5DbG91ZFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogSW5mb3JtYXRpb25zIGNvbW11bmF1dMOpICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LWxnIG1iLTZcIj5Db21tdW5hdXTDqTwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtOTAwLzMwIHRvLWJsdWUtODAwLzMwIHJvdW5kZWQteGwgcC02IGJvcmRlciBib3JkZXItYmx1ZS04MDAvMzBcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtYmx1ZS00MDAgZm9udC1zZW1pYm9sZCBtYi0yXCI+UmVqb2luZHJlIGwnYXNzbzwvaDQ+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS0zMDAgdGV4dC1zbSBtYi00XCI+XG4gICAgICAgICAgICAgICAgQ29ubmVjdGV6LXZvdXMgc3VyIERpc2NvcmQgZXQgY3LDqWV6IHVuIHRpY2tldCBwb3VyIHJlam9pbmRyZSBsYSBjb21tdW5hdXTDqSBCYW5xdWlzZS5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgICBocmVmPXtVUkxTLnNvY2lhbC5kaXNjb3JkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWJsdWUtNDAwIGhvdmVyOnRleHQtYmx1ZS0zMDAgdGV4dC1zbSBmb250LXNlbWlib2xkIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtci0yXCI+8J+agDwvc3Bhbj5cbiAgICAgICAgICAgICAgICBSZWpvaW5kcmUgbWFpbnRlbmFudFxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIEJhcnJlIGR1IGJhcyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGdhcC02IHB0LTggYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwXCI+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgdGV4dC1zbSB0ZXh0LWNlbnRlciBtZDp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICDCqSAyMDI1IHtTSVRFX0NPTkZJRy5uYW1lfS4gSMOpYmVyZ2VtZW50IGNvbW11bmF1dGFpcmUgcG91ciBkw6l2ZWxvcHBldXJzIGV0IGdhbWVycy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtc20gdGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICBGYWl0IGF2ZWMgXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXJlZC01MDAgbXgtMVwiPuKdpO+4jzwvc3Bhbj4gXG4gICAgICAgICAgICBwYXIgQmFucXVpc2VcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEgaC0xIGJnLWdyYXktNjAwIHJvdW5kZWQtZnVsbFwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtYmx1ZS00MDAgZm9udC1zZW1pYm9sZFwiPkVQSVRBIDIwMjU8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9vdGVyPlxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlVSTFMiLCJTSVRFX0NPTkZJRyIsIkZvb3RlciIsImZvb3RlciIsImNsYXNzTmFtZSIsImRpdiIsInNwYW4iLCJuYW1lIiwicCIsImEiLCJocmVmIiwic29jaWFsIiwiZGlzY29yZCIsImFyaWEtbGFiZWwiLCJzdmciLCJmaWxsIiwidmlld0JveCIsInBhdGgiLCJkIiwiY29udGFjdCIsImVtYWlsIiwic3Ryb2tlIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJoMyIsInNlcnZpY2VzIiwid2lraSIsImdpdGVhIiwicGFuZWwiLCJvcGVuY2xvdWQiLCJoNCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/Footer.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/MobileMenu.tsx":
/*!******************************************!*\
!*** ./components/layout/MobileMenu.tsx ***!
\******************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MobileMenu: () => (/* binding */ MobileMenu)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _components_common_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/common/Button */ \"(app-pages-browser)/./components/common/Button.tsx\");\n/* harmony import */ var _navbar_Logo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./navbar/Logo */ \"(app-pages-browser)/./components/layout/navbar/Logo.tsx\");\n/* harmony import */ var _lib_config_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n// Fonction utilitaire simple pour combiner les classes\nconst cn = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst MobileNavItem = (param)=>{\n let { icon, title, description, href, isExternal = false, onClick } = param;\n const handleClick = (e)=>{\n if (onClick) {\n e.preventDefault();\n onClick();\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n onClick: handleClick,\n className: cn('group flex items-center justify-between p-4 rounded-xl transition-all duration-300', 'bg-white/5 hover:bg-white/10 active:bg-white/15', 'border border-white/10 hover:border-white/20', 'hover:scale-[1.02] active:scale-[0.98]', 'hover:shadow-lg hover:shadow-blue-500/20'),\n target: isExternal ? '_blank' : undefined,\n rel: isExternal ? 'noopener noreferrer' : undefined,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('flex items-center justify-center w-10 h-10 rounded-xl', 'bg-gradient-to-br from-blue-400/20 to-blue-600/20', 'border border-blue-300/20', 'group-hover:scale-110 transition-transform duration-300'),\n children: icon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"block text-white font-semibold text-base group-hover:text-blue-200 transition-colors\",\n children: title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 66,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-white/60 text-sm mt-0.5 group-hover:text-white/80 transition-colors\",\n children: description\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 65,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('flex items-center justify-center w-6 h-6 rounded-full', 'text-white/40 group-hover:text-white/80 transition-all duration-300', 'group-hover:translate-x-1'),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 5l7 7-7 7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 76,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 43,\n columnNumber: 5\n }, undefined);\n};\n_c = MobileNavItem;\nconst MobileMenu = (param)=>{\n let { isOpen, onClose, translations } = param;\n _s();\n // Gérer le scroll du body\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"MobileMenu.useEffect\": ()=>{\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n return ({\n \"MobileMenu.useEffect\": ()=>{\n document.body.style.overflow = 'unset';\n }\n })[\"MobileMenu.useEffect\"];\n }\n }[\"MobileMenu.useEffect\"], [\n isOpen\n ]);\n const handleNavClick = (sectionId)=>{\n if (sectionId === 'home') {\n // Scroll to top for home section\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n } else if (sectionId === 'contact') {\n // Open email client for contact\n window.location.href = 'mailto:contact@la-banquise.fr';\n } else {\n // Scroll to specific section\n const element = document.getElementById(sectionId);\n if (element) {\n element.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n }\n }\n onClose();\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('md:hidden fixed inset-0 z-[100] transition-all duration-300', isOpen ? 'visible' : 'invisible'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('absolute inset-0 transition-all duration-300', 'bg-gradient-to-br from-black/80 via-blue-900/60 to-black/80', 'backdrop-blur-lg', isOpen ? 'opacity-100' : 'opacity-0'),\n onClick: onClose\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 132,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('absolute top-0 right-0 h-full w-80 max-w-[90vw]', 'bg-gradient-to-b from-blue-900/98 via-blue-900/95 to-blue-900/90', 'backdrop-blur-2xl shadow-2xl', 'border-l border-blue-300/20', 'transition-transform duration-300 ease-out', isOpen ? 'translate-x-0' : 'translate-x-full'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6 pt-8 border-b border-blue-300/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_Logo__WEBPACK_IMPORTED_MODULE_3__.Logo, {\n scrolled: false\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 153,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: cn('group relative p-3 rounded-xl transition-all duration-300', 'bg-white/10 hover:bg-white/20 active:bg-white/25', 'border border-white/20 hover:border-white/30', 'hover:scale-105 active:scale-95', 'focus:outline-none focus:ring-2 focus:ring-blue-400/50'),\n onClick: onClose,\n \"aria-label\": \"Fermer le menu\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-white\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M6 18L18 6M6 6l12 12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 167,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 166,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 155,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 152,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col h-full overflow-y-auto p-6 space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-blue-200\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 180,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 179,\n columnNumber: 17\n }, void 0),\n title: translations.home,\n description: \"Retour \\xe0 l'accueil\",\n href: \"#home\",\n onClick: ()=>handleNavClick('home')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 177,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-blue-200\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 192,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 191,\n columnNumber: 17\n }, void 0),\n title: translations.services,\n description: \"D\\xe9couvrir notre offre\",\n href: \"#services\",\n onClick: ()=>handleNavClick('services')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 189,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-blue-200\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 204,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 203,\n columnNumber: 17\n }, void 0),\n title: translations.about,\n description: \"En savoir plus sur nous\",\n href: \"#about\",\n onClick: ()=>handleNavClick('about')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 201,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-blue-200\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 216,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 215,\n columnNumber: 17\n }, void 0),\n title: translations.contact,\n description: \"Nous envoyer un email\",\n href: \"mailto:contact@la-banquise.fr\",\n onClick: ()=>handleNavClick('contact')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 213,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 176,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t border-blue-300/20 my-6\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 227,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-[#5865F2]\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 234,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 233,\n columnNumber: 17\n }, void 0),\n title: \"Discord\",\n description: \"Rejoindre la communaut\\xe9\",\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_4__.URLS.social.discord,\n isExternal: true\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 231,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 230,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 pb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_common_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"lg\",\n leftIcon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 251,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 250,\n columnNumber: 17\n }, void 0),\n onClick: ()=>{\n window.open(_lib_config_constants__WEBPACK_IMPORTED_MODULE_4__.URLS.services.auth, '_blank');\n onClose();\n },\n className: \"w-full shadow-xl\",\n children: \"Se connecter\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 246,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 245,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 173,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-blue-900/10 pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 266,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 142,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/MobileMenu.tsx\",\n lineNumber: 127,\n columnNumber: 5\n }, undefined);\n};\n_s(MobileMenu, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\n_c1 = MobileMenu;\nvar _c, _c1;\n$RefreshReg$(_c, \"MobileNavItem\");\n$RefreshReg$(_c1, \"MobileMenu\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L01vYmlsZU1lbnUudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUF5QztBQUNXO0FBQ2Y7QUFDUztBQUc5Qyx1REFBdUQ7QUFDdkQsTUFBTUssS0FBSztxQ0FBSUM7UUFBQUE7O0lBQ2IsT0FBT0EsUUFBUUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFDdEM7QUFpQkEsTUFBTUMsZ0JBQThDO1FBQUMsRUFDbkRDLElBQUksRUFDSkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLElBQUksRUFDSkMsYUFBYSxLQUFLLEVBQ2xCQyxPQUFPLEVBQ1I7SUFDQyxNQUFNQyxjQUFjLENBQUNDO1FBQ25CLElBQUlGLFNBQVM7WUFDWEUsRUFBRUMsY0FBYztZQUNoQkg7UUFDRjtJQUNGO0lBRUEscUJBQ0UsOERBQUNJO1FBQ0NOLE1BQU1BO1FBQ05FLFNBQVNDO1FBQ1RJLFdBQVdoQixHQUNULHNGQUNBLG1EQUNBLGdEQUNBLDBDQUNBO1FBRUZpQixRQUFRUCxhQUFhLFdBQVdRO1FBQ2hDQyxLQUFLVCxhQUFhLHdCQUF3QlE7OzBCQUUxQyw4REFBQ0U7Z0JBQUlKLFdBQVU7O2tDQUNiLDhEQUFDSTt3QkFBSUosV0FBV2hCLEdBQ2QseURBQ0EscURBQ0EsNkJBQ0E7a0NBRUNNOzs7Ozs7a0NBRUgsOERBQUNjO3dCQUFJSixXQUFVOzswQ0FDYiw4REFBQ0s7Z0NBQUtMLFdBQVU7MENBQ2JUOzs7Ozs7MENBRUgsOERBQUNlO2dDQUFFTixXQUFVOzBDQUNWUjs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQU1QLDhEQUFDWTtnQkFBSUosV0FBV2hCLEdBQ2QseURBQ0EsdUVBQ0E7MEJBRUEsNEVBQUN1QjtvQkFBSVAsV0FBVTtvQkFBVVEsTUFBSztvQkFBT0MsUUFBTztvQkFBZUMsU0FBUTs4QkFDakUsNEVBQUNDO3dCQUFLQyxlQUFjO3dCQUFRQyxnQkFBZTt3QkFBUUMsYUFBYTt3QkFBR0MsR0FBRTs7Ozs7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UCtCLE9BQU9xQixJQUFJLENBQUNoRSx1REFBSUEsQ0FBQ3dELFFBQVEsQ0FBQ1MsSUFBSSxFQUFFO3dDQUNoQzlCO29DQUNGO29DQUNBbEIsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBT0wsOERBQUNJO3dCQUFJSixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJdkIsRUFBRTtHQXJMV2dCO01BQUFBIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvbGF5b3V0L01vYmlsZU1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvY29tbW9uL0J1dHRvbic7XG5pbXBvcnQgeyBMb2dvIH0gZnJvbSAnLi9uYXZiYXIvTG9nbyc7XG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnQC9saWIvY29uZmlnL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnQC90eXBlcy9pMThuJztcblxuLy8gRm9uY3Rpb24gdXRpbGl0YWlyZSBzaW1wbGUgcG91ciBjb21iaW5lciBsZXMgY2xhc3Nlc1xuY29uc3QgY24gPSAoLi4uY2xhc3NlczogKHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgfCBmYWxzZSlbXSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7XG59O1xuXG5pbnRlcmZhY2UgTW9iaWxlTWVudVByb3BzIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uWyduYXZpZ2F0aW9uJ107XG59XG5cbmludGVyZmFjZSBNb2JpbGVOYXZJdGVtUHJvcHMge1xuICBpY29uOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgaXNFeHRlcm5hbD86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBNb2JpbGVOYXZJdGVtOiBSZWFjdC5GQzxNb2JpbGVOYXZJdGVtUHJvcHM+ID0gKHsgXG4gIGljb24sIFxuICB0aXRsZSwgXG4gIGRlc2NyaXB0aW9uLCBcbiAgaHJlZiwgXG4gIGlzRXh0ZXJuYWwgPSBmYWxzZSwgXG4gIG9uQ2xpY2sgXG59KSA9PiB7XG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAob25DbGljaykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgb25DbGljaygpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtNCByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCcsXG4gICAgICAgICdiZy13aGl0ZS81IGhvdmVyOmJnLXdoaXRlLzEwIGFjdGl2ZTpiZy13aGl0ZS8xNScsXG4gICAgICAgICdib3JkZXIgYm9yZGVyLXdoaXRlLzEwIGhvdmVyOmJvcmRlci13aGl0ZS8yMCcsXG4gICAgICAgICdob3ZlcjpzY2FsZS1bMS4wMl0gYWN0aXZlOnNjYWxlLVswLjk4XScsXG4gICAgICAgICdob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtNTAwLzIwJ1xuICAgICAgKX1cbiAgICAgIHRhcmdldD17aXNFeHRlcm5hbCA/ICdfYmxhbmsnIDogdW5kZWZpbmVkfVxuICAgICAgcmVsPXtpc0V4dGVybmFsID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy0xMCBoLTEwIHJvdW5kZWQteGwnLFxuICAgICAgICAgICdiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNDAwLzIwIHRvLWJsdWUtNjAwLzIwJyxcbiAgICAgICAgICAnYm9yZGVyIGJvcmRlci1ibHVlLTMwMC8yMCcsXG4gICAgICAgICAgJ2dyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAnXG4gICAgICAgICl9PlxuICAgICAgICAgIHtpY29ufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4LTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1iYXNlIGdyb3VwLWhvdmVyOnRleHQtYmx1ZS0yMDAgdHJhbnNpdGlvbi1jb2xvcnNcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC13aGl0ZS82MCB0ZXh0LXNtIG10LTAuNSBncm91cC1ob3Zlcjp0ZXh0LXdoaXRlLzgwIHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICB7LyogQXJyb3cgSWNvbiAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctNiBoLTYgcm91bmRlZC1mdWxsJyxcbiAgICAgICAgJ3RleHQtd2hpdGUvNDAgZ3JvdXAtaG92ZXI6dGV4dC13aGl0ZS84MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICAnZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMSdcbiAgICAgICl9PlxuICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNCBoLTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlV2lkdGg9ezJ9IGQ9XCJNOSA1bDcgNy03IDdcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBNb2JpbGVNZW51OiBSZWFjdC5GQzxNb2JpbGVNZW51UHJvcHM+ID0gKHsgaXNPcGVuLCBvbkNsb3NlLCB0cmFuc2xhdGlvbnMgfSkgPT4ge1xuICAvLyBHw6lyZXIgbGUgc2Nyb2xsIGR1IGJvZHlcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAndW5zZXQnO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ3Vuc2V0JztcbiAgICB9O1xuICB9LCBbaXNPcGVuXSk7XG5cbiAgY29uc3QgaGFuZGxlTmF2Q2xpY2sgPSAoc2VjdGlvbklkOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoc2VjdGlvbklkID09PSAnaG9tZScpIHtcbiAgICAgIC8vIFNjcm9sbCB0byB0b3AgZm9yIGhvbWUgc2VjdGlvblxuICAgICAgd2luZG93LnNjcm9sbFRvKHsgXG4gICAgICAgIHRvcDogMCwgXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyBcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoc2VjdGlvbklkID09PSAnY29udGFjdCcpIHtcbiAgICAgIC8vIE9wZW4gZW1haWwgY2xpZW50IGZvciBjb250YWN0XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdtYWlsdG86Y29udGFjdEBsYS1iYW5xdWlzZS5mcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjcm9sbCB0byBzcGVjaWZpYyBzZWN0aW9uXG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbklkKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIG9uQ2xvc2UoKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICdtZDpoaWRkZW4gZml4ZWQgaW5zZXQtMCB6LVsxMDBdIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCcsXG4gICAgICBpc09wZW4gPyAndmlzaWJsZScgOiAnaW52aXNpYmxlJ1xuICAgICl9PlxuICAgICAgey8qIE92ZXJsYXkgYXZlYyBlZmZldCBkZSBibHVyIG1vZGVybmUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdhYnNvbHV0ZSBpbnNldC0wIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCcsXG4gICAgICAgICdiZy1ncmFkaWVudC10by1iciBmcm9tLWJsYWNrLzgwIHZpYS1ibHVlLTkwMC82MCB0by1ibGFjay84MCcsXG4gICAgICAgICdiYWNrZHJvcC1ibHVyLWxnJyxcbiAgICAgICAgaXNPcGVuID8gJ29wYWNpdHktMTAwJyA6ICdvcGFjaXR5LTAnXG4gICAgICApfVxuICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfVxuICAgICAgLz5cbiAgICAgIFxuICAgICAgey8qIE1lbnUgUGFuZWwgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdhYnNvbHV0ZSB0b3AtMCByaWdodC0wIGgtZnVsbCB3LTgwIG1heC13LVs5MHZ3XScsXG4gICAgICAgICdiZy1ncmFkaWVudC10by1iIGZyb20tYmx1ZS05MDAvOTggdmlhLWJsdWUtOTAwLzk1IHRvLWJsdWUtOTAwLzkwJyxcbiAgICAgICAgJ2JhY2tkcm9wLWJsdXItMnhsIHNoYWRvdy0yeGwnLFxuICAgICAgICAnYm9yZGVyLWwgYm9yZGVyLWJsdWUtMzAwLzIwJyxcbiAgICAgICAgJ3RyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBlYXNlLW91dCcsXG4gICAgICAgIGlzT3BlbiA/ICd0cmFuc2xhdGUteC0wJyA6ICd0cmFuc2xhdGUteC1mdWxsJ1xuICAgICAgKX0+XG4gICAgICAgIFxuICAgICAgICB7LyogSGVhZGVyIGF2ZWMgTG9nbyAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02IHB0LTggYm9yZGVyLWIgYm9yZGVyLWJsdWUtMzAwLzIwXCI+XG4gICAgICAgICAgPExvZ28gc2Nyb2xsZWQ9e2ZhbHNlfSAvPlxuICAgICAgICAgIFxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAnZ3JvdXAgcmVsYXRpdmUgcC0zIHJvdW5kZWQteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwJyxcbiAgICAgICAgICAgICAgJ2JnLXdoaXRlLzEwIGhvdmVyOmJnLXdoaXRlLzIwIGFjdGl2ZTpiZy13aGl0ZS8yNScsXG4gICAgICAgICAgICAgICdib3JkZXIgYm9yZGVyLXdoaXRlLzIwIGhvdmVyOmJvcmRlci13aGl0ZS8zMCcsXG4gICAgICAgICAgICAgICdob3ZlcjpzY2FsZS0xMDUgYWN0aXZlOnNjYWxlLTk1JyxcbiAgICAgICAgICAgICAgJ2ZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTQwMC81MCdcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkZlcm1lciBsZSBtZW51XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC13aGl0ZVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlV2lkdGg9ezJ9IGQ9XCJNNiAxOEwxOCA2TTYgNmwxMiAxMlwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE5hdmlnYXRpb24gSXRlbXMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBoLWZ1bGwgb3ZlcmZsb3cteS1hdXRvIHAtNiBzcGFjZS15LTRcIj5cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogU2VjdGlvbiBOYXZpZ2F0aW9uICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XG4gICAgICAgICAgICA8TW9iaWxlTmF2SXRlbVxuICAgICAgICAgICAgICBpY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1ibHVlLTIwMFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTMgMTJsMi0ybTAgMGw3LTcgNyA3TTUgMTB2MTBhMSAxIDAgMDAxIDFoM20xMC0xMWwyIDJtLTItMnYxMGExIDEgMCAwMS0xIDFoLTNtLTYgMGExIDEgMCAwMDEtMXYtNGExIDEgMCAwMTEtMWgyYTEgMSAwIDAxMSAxdjRhMSAxIDAgMDAxIDFtLTYgMGg2XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aXRsZT17dHJhbnNsYXRpb25zLmhvbWV9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUmV0b3VyIMOgIGwnYWNjdWVpbFwiXG4gICAgICAgICAgICAgIGhyZWY9XCIjaG9tZVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdob21lJyl9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8TW9iaWxlTmF2SXRlbVxuICAgICAgICAgICAgICBpY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1ibHVlLTIwMFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTE5IDExSDVtMTQgMGEyIDIgMCAwMTIgMnY2YTIgMiAwIDAxLTIgMkg1YTIgMiAwIDAxLTItMnYtNmEyIDIgMCAwMTItMm0xNCAwVjlhMiAyIDAgMDAtMi0yTTUgMTFWOWEyIDIgMCAwMTItMm0wIDBWNWEyIDIgMCAwMTItMmg2YTIgMiAwIDAxMiAydjJNNyA3aDEwXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aXRsZT17dHJhbnNsYXRpb25zLnNlcnZpY2VzfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cIkTDqWNvdXZyaXIgbm90cmUgb2ZmcmVcIlxuICAgICAgICAgICAgICBocmVmPVwiI3NlcnZpY2VzXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTmF2Q2xpY2soJ3NlcnZpY2VzJyl9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8TW9iaWxlTmF2SXRlbVxuICAgICAgICAgICAgICBpY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1ibHVlLTIwMFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTEzIDE2aC0xdi00aC0xbTEtNGguMDFNMjEgMTJhOSA5IDAgMTEtMTggMCA5IDkgMCAwMTE4IDB6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aXRsZT17dHJhbnNsYXRpb25zLmFib3V0fVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cIkVuIHNhdm9pciBwbHVzIHN1ciBub3VzXCJcbiAgICAgICAgICAgICAgaHJlZj1cIiNhYm91dFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdhYm91dCcpfVxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPE1vYmlsZU5hdkl0ZW1cbiAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtYmx1ZS0yMDBcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0zIDhsNy44OSA1LjI2YTIgMiAwIDAwMi4yMiAwTDIxIDhNNSAxOWgxNGEyIDIgMCAwMDItMlY3YTIgMiAwIDAwLTItMkg1YTIgMiAwIDAwLTIgMnYxMGEyIDIgMCAwMDIgMnpcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRpdGxlPXt0cmFuc2xhdGlvbnMuY29udGFjdH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJOb3VzIGVudm95ZXIgdW4gZW1haWxcIlxuICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnY29udGFjdCcpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBEaXZpZGVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyLXQgYm9yZGVyLWJsdWUtMzAwLzIwIG15LTZcIiAvPlxuXG4gICAgICAgICAgey8qIFNvY2lhbCAmIEV4dGVybmFsIExpbmtzICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XG4gICAgICAgICAgICA8TW9iaWxlTmF2SXRlbVxuICAgICAgICAgICAgICBpY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1bIzU4NjVGMl1cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMC4zMTcgNC4zN2ExOS43OTEgMTkuNzkxIDAgMCAwLTQuODg1LTEuNTE1LjA3NC4wNzQgMCAwIDAtLjA3OS4wMzdjLS4yMTEuMzc1LS40NDUuODY0LS42MDggMS4yNWExOC4yNyAxOC4yNyAwIDAgMC01LjQ4NyAwIDEyLjY0IDEyLjY0IDAgMCAwLS42MTctMS4yNS4wNzcuMDc3IDAgMCAwLS4wNzktLjAzN0ExOS43MzYgMTkuNzM2IDAgMCAwIDMuNjc3IDQuMzdhLjA3LjA3IDAgMCAwLS4wMzIuMDI3Qy41MzMgOS4wNDYtLjMyIDEzLjU4LjA5OSAxOC4wNTdhLjA4Mi4wODIgMCAwIDAgLjAzMS4wNTcgMTkuOSAxOS45IDAgMCAwIDUuOTkzIDMuMDMuMDc4LjA3OCAwIDAgMCAuMDg0LS4wMjhjLjQ2Mi0uNjMuODc0LTEuMjk1IDEuMjI2LTEuOTk0YS4wNzYuMDc2IDAgMCAwLS4wNDEtLjEwNiAxMy4xMDcgMTMuMTA3IDAgMCAxLTEuODcyLS44OTIuMDc3LjA3NyAwIDAgMS0uMDA4LS4xMjggMTAuMiAxMC4yIDAgMCAwIC4zNzItLjI5Mi4wNzQuMDc0IDAgMCAxIC4wNzctLjAxYzMuOTI4IDEuNzkzIDguMTggMS43OTMgMTIuMDYyIDBhLjA3NC4wNzQgMCAwIDEgLjA3OC4wMWMuMTIuMDk4LjI0Ni4xOTguMzczLjI5MmEuMDc3LjA3NyAwIDAgMS0uMDA2LjEyNyAxMi4yOTkgMTIuMjk5IDAgMCAxLTEuODczLjg5Mi4wNzcuMDc3IDAgMCAwLS4wNDEuMTA3Yy4zNi42OTguNzcyIDEuMzYyIDEuMjI1IDEuOTkzYS4wNzYuMDc2IDAgMCAwIC4wODQuMDI4IDE5LjgzOSAxOS44MzkgMCAwIDAgNi4wMDItMy4wMy4wNzcuMDc3IDAgMCAwIC4wMzItLjA1NGMuNS01LjE3Ny0uODM4LTkuNjc0LTMuNTQ5LTEzLjY2YS4wNjEuMDYxIDAgMCAwLS4wMzEtLjAzelwiLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aXRsZT1cIkRpc2NvcmRcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cIlJlam9pbmRyZSBsYSBjb21tdW5hdXTDqVwiXG4gICAgICAgICAgICAgIGhyZWY9e1VSTFMuc29jaWFsLmRpc2NvcmR9XG4gICAgICAgICAgICAgIGlzRXh0ZXJuYWw9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIENUQSBCdXR0b24gKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IHBiLTZcIj5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICAgICAgICBsZWZ0SWNvbj17XG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTUgaC01XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlV2lkdGg9ezJ9IGQ9XCJNMTYgN2E0IDQgMCAxMS04IDAgNCA0IDAgMDE4IDB6TTEyIDE0YTcgNyAwIDAwLTcgN2gxNGE3IDcgMCAwMC03LTd6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oVVJMUy5zZXJ2aWNlcy5hdXRoLCAnX2JsYW5rJyk7XG4gICAgICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgc2hhZG93LXhsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgU2UgY29ubmVjdGVyXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIEVmZmV0IGRlIGdyYWRpZW50IG92ZXJsYXkgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iIGZyb20tdHJhbnNwYXJlbnQgdmlhLXRyYW5zcGFyZW50IHRvLWJsdWUtOTAwLzEwIHBvaW50ZXItZXZlbnRzLW5vbmVcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwiQnV0dG9uIiwiTG9nbyIsIlVSTFMiLCJjbiIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIk1vYmlsZU5hdkl0ZW0iLCJpY29uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImhyZWYiLCJpc0V4dGVybmFsIiwib25DbGljayIsImhhbmRsZUNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwiYSIsImNsYXNzTmFtZSIsInRhcmdldCIsInVuZGVmaW5lZCIsInJlbCIsImRpdiIsInNwYW4iLCJwIiwic3ZnIiwiZmlsbCIsInN0cm9rZSIsInZpZXdCb3giLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJkIiwiTW9iaWxlTWVudSIsImlzT3BlbiIsIm9uQ2xvc2UiLCJ0cmFuc2xhdGlvbnMiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwiaGFuZGxlTmF2Q2xpY2siLCJzZWN0aW9uSWQiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsInRvcCIsImJlaGF2aW9yIiwibG9jYXRpb24iLCJlbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwic2Nyb2xsZWQiLCJidXR0b24iLCJhcmlhLWxhYmVsIiwiaG9tZSIsInNlcnZpY2VzIiwiYWJvdXQiLCJjb250YWN0Iiwic29jaWFsIiwiZGlzY29yZCIsInZhcmlhbnQiLCJzaXplIiwibGVmdEljb24iLCJvcGVuIiwiYXV0aCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/MobileMenu.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/ModernNavigation.tsx":
/*!************************************************!*\
!*** ./components/layout/ModernNavigation.tsx ***!
\************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModernNavigation: () => (/* binding */ ModernNavigation)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/hooks/useScrollEffects */ \"(app-pages-browser)/./lib/hooks/useScrollEffects.ts\");\n/* harmony import */ var _navbar_Logo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./navbar/Logo */ \"(app-pages-browser)/./components/layout/navbar/Logo.tsx\");\n/* harmony import */ var _navbar_NavLinks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./navbar/NavLinks */ \"(app-pages-browser)/./components/layout/navbar/NavLinks.tsx\");\n/* harmony import */ var _navbar_ActionButtons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./navbar/ActionButtons */ \"(app-pages-browser)/./components/layout/navbar/ActionButtons.tsx\");\n/* harmony import */ var _navbar_MobileMenuButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./navbar/MobileMenuButton */ \"(app-pages-browser)/./components/layout/navbar/MobileMenuButton.tsx\");\n/* harmony import */ var _MobileMenu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MobileMenu */ \"(app-pages-browser)/./components/layout/MobileMenu.tsx\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n// Fonction utilitaire simple pour combiner les classes\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst ModernNavigation = (param)=>{\n let { translations, languageSwitcher } = param;\n _s();\n const { scrolled } = (0,_lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects)();\n const [mobileMenuOpen, setMobileMenuOpen] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);\n // Fermer le menu mobile lors du redimensionnement\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"ModernNavigation.useEffect\": ()=>{\n const handleResize = {\n \"ModernNavigation.useEffect.handleResize\": ()=>{\n if (window.innerWidth >= 768) {\n setMobileMenuOpen(false);\n }\n }\n }[\"ModernNavigation.useEffect.handleResize\"];\n window.addEventListener('resize', handleResize);\n return ({\n \"ModernNavigation.useEffect\": ()=>window.removeEventListener('resize', handleResize)\n })[\"ModernNavigation.useEffect\"];\n }\n }[\"ModernNavigation.useEffect\"], []);\n // Empêcher le scroll du body quand le menu mobile est ouvert\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"ModernNavigation.useEffect\": ()=>{\n if (mobileMenuOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n return ({\n \"ModernNavigation.useEffect\": ()=>{\n document.body.style.overflow = 'unset';\n }\n })[\"ModernNavigation.useEffect\"];\n }\n }[\"ModernNavigation.useEffect\"], [\n mobileMenuOpen\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: mergeClasses(// Position et z-index\n 'fixed top-0 left-0 right-0 z-50', // Style de fond moderne\n 'bg-blue-700/95 backdrop-blur-md border-b border-blue-600/30', // Transition fluide\n 'transition-all duration-200 ease-in-out', // Effet de scroll\n scrolled && 'shadow-lg'),\n children: [\n /*#__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 justify-between items-center px-4 sm:px-6 lg:px-8 h-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_Logo__WEBPACK_IMPORTED_MODULE_3__.Logo, {\n scrolled: scrolled\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 72,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 flex justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_NavLinks__WEBPACK_IMPORTED_MODULE_4__.NavLinks, {\n translations: translations,\n scrolled: scrolled\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 76,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 75,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_ActionButtons__WEBPACK_IMPORTED_MODULE_5__.ActionButtons, {\n scrolled: scrolled,\n languageSwitcher: languageSwitcher\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_MobileMenuButton__WEBPACK_IMPORTED_MODULE_6__.MobileMenuButton, {\n isOpen: mobileMenuOpen,\n onClick: ()=>setMobileMenuOpen(!mobileMenuOpen)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-blue-400/40 to-transparent\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 97,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-16\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 101,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_MobileMenu__WEBPACK_IMPORTED_MODULE_7__.MobileMenu, {\n isOpen: mobileMenuOpen,\n onClose: ()=>setMobileMenuOpen(false),\n translations: translations\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/ModernNavigation.tsx\",\n lineNumber: 104,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true);\n};\n_s(ModernNavigation, \"Frha10H1tP++pKulSXv5ywVG7bY=\", false, function() {\n return [\n _lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects\n ];\n});\n_c = ModernNavigation;\nvar _c;\n$RefreshReg$(_c, \"ModernNavigation\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L01vZGVybk5hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUNzQztBQUMzQjtBQUNRO0FBQ1U7QUFDTTtBQUNuQjtBQUcxQyx1REFBdUQ7QUFDdkQsTUFBTU8sZUFBZTtxQ0FBSUM7UUFBQUE7O0lBQ3ZCLE9BQU9BLFFBQVFDLE1BQU0sQ0FBQ0MsU0FBU0MsSUFBSSxDQUFDO0FBQ3RDO0FBT08sTUFBTUMsbUJBQW9EO1FBQUMsRUFDaEVDLFlBQVksRUFDWkMsZ0JBQWdCLEVBQ2pCOztJQUNDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdkLDZFQUFnQkE7SUFDckMsTUFBTSxDQUFDZSxnQkFBZ0JDLGtCQUFrQixHQUFHakIscURBQWMsQ0FBQztJQUUzRCxrREFBa0Q7SUFDbERBLHNEQUFlO3NDQUFDO1lBQ2QsTUFBTW9COzJEQUFlO29CQUNuQixJQUFJQyxPQUFPQyxVQUFVLElBQUksS0FBSzt3QkFDNUJMLGtCQUFrQjtvQkFDcEI7Z0JBQ0Y7O1lBRUFJLE9BQU9FLGdCQUFnQixDQUFDLFVBQVVIO1lBQ2xDOzhDQUFPLElBQU1DLE9BQU9HLG1CQUFtQixDQUFDLFVBQVVKOztRQUNwRDtxQ0FBRyxFQUFFO0lBRUwsNkRBQTZEO0lBQzdEcEIsc0RBQWU7c0NBQUM7WUFDZCxJQUFJZ0IsZ0JBQWdCO2dCQUNsQlMsU0FBU0MsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFFBQVEsR0FBRztZQUNqQyxPQUFPO2dCQUNMSCxTQUFTQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsUUFBUSxHQUFHO1lBQ2pDO1lBRUE7OENBQU87b0JBQ0xILFNBQVNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUc7Z0JBQ2pDOztRQUNGO3FDQUFHO1FBQUNaO0tBQWU7SUFFbkIscUJBQ0U7OzBCQUVFLDhEQUFDYTtnQkFBSUMsV0FBV3ZCLGFBQ2Qsc0JBQXNCO2dCQUN0QixtQ0FFQSx3QkFBd0I7Z0JBQ3hCLCtEQUVBLG9CQUFvQjtnQkFDcEIsMkNBRUEsa0JBQWtCO2dCQUNsQlEsWUFBWTs7a0NBRVosOERBQUNnQjt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0M7NEJBQUlELFdBQVU7OzhDQUdiLDhEQUFDNUIsOENBQUlBO29DQUFDYSxVQUFVQTs7Ozs7OzhDQUdoQiw4REFBQ2dCO29DQUFJRCxXQUFVOzhDQUNiLDRFQUFDM0Isc0RBQVFBO3dDQUNQVSxjQUFjQTt3Q0FDZEUsVUFBVUE7Ozs7Ozs7Ozs7OzhDQUtkLDhEQUFDWCxnRUFBYUE7b0NBQ1pXLFVBQVVBO29DQUNWRCxrQkFBa0JBOzs7Ozs7OENBSXBCLDhEQUFDVCxzRUFBZ0JBO29DQUNmMkIsUUFBUWhCO29DQUNSaUIsU0FBUyxJQUFNaEIsa0JBQWtCLENBQUNEOzs7Ozs7Ozs7Ozs7Ozs7OztrQ0FNeEMsOERBQUNlO3dCQUFJRCxXQUFVOzs7Ozs7Ozs7Ozs7MEJBSWpCLDhEQUFDQztnQkFBSUQsV0FBVTs7Ozs7OzBCQUdmLDhEQUFDeEIsbURBQVVBO2dCQUNUMEIsUUFBUWhCO2dCQUNSa0IsU0FBUyxJQUFNakIsa0JBQWtCO2dCQUNqQ0osY0FBY0E7Ozs7Ozs7O0FBSXRCLEVBQUU7R0EzRldEOztRQUlVWCx5RUFBZ0JBOzs7S0FKMUJXIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvbGF5b3V0L01vZGVybk5hdmlnYXRpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTY3JvbGxFZmZlY3RzIH0gZnJvbSAnQC9saWIvaG9va3MvdXNlU2Nyb2xsRWZmZWN0cyc7XG5pbXBvcnQgeyBMb2dvIH0gZnJvbSAnLi9uYXZiYXIvTG9nbyc7XG5pbXBvcnQgeyBOYXZMaW5rcyB9IGZyb20gJy4vbmF2YmFyL05hdkxpbmtzJztcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbnMgfSBmcm9tICcuL25hdmJhci9BY3Rpb25CdXR0b25zJztcbmltcG9ydCB7IE1vYmlsZU1lbnVCdXR0b24gfSBmcm9tICcuL25hdmJhci9Nb2JpbGVNZW51QnV0dG9uJztcbmltcG9ydCB7IE1vYmlsZU1lbnUgfSBmcm9tICcuL01vYmlsZU1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2xhdGlvbiB9IGZyb20gJ0AvdHlwZXMvaTE4bic7XG5cbi8vIEZvbmN0aW9uIHV0aWxpdGFpcmUgc2ltcGxlIHBvdXIgY29tYmluZXIgbGVzIGNsYXNzZXNcbmNvbnN0IG1lcmdlQ2xhc3NlcyA9ICguLi5jbGFzc2VzOiAoc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB8IGZhbHNlKVtdKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGNsYXNzZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbn07XG5cbmludGVyZmFjZSBNb2Rlcm5OYXZpZ2F0aW9uUHJvcHMge1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uWyduYXZpZ2F0aW9uJ107XG4gIGxhbmd1YWdlU3dpdGNoZXI6IFJlYWN0LlJlYWN0RWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IE1vZGVybk5hdmlnYXRpb246IFJlYWN0LkZDPE1vZGVybk5hdmlnYXRpb25Qcm9wcz4gPSAoeyBcbiAgdHJhbnNsYXRpb25zLCBcbiAgbGFuZ3VhZ2VTd2l0Y2hlciBcbn0pID0+IHtcbiAgY29uc3QgeyBzY3JvbGxlZCB9ID0gdXNlU2Nyb2xsRWZmZWN0cygpO1xuICBjb25zdCBbbW9iaWxlTWVudU9wZW4sIHNldE1vYmlsZU1lbnVPcGVuXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyBGZXJtZXIgbGUgbWVudSBtb2JpbGUgbG9ycyBkdSByZWRpbWVuc2lvbm5lbWVudFxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlc2l6ZSA9ICgpID0+IHtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA3NjgpIHtcbiAgICAgICAgc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlUmVzaXplKTtcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSk7XG4gIH0sIFtdKTtcblxuICAvLyBFbXDDqmNoZXIgbGUgc2Nyb2xsIGR1IGJvZHkgcXVhbmQgbGUgbWVudSBtb2JpbGUgZXN0IG91dmVydFxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtb2JpbGVNZW51T3Blbikge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ3Vuc2V0JztcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICd1bnNldCc7XG4gICAgfTtcbiAgfSwgW21vYmlsZU1lbnVPcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIE5hdmlnYXRpb24gbW9kZXJuZSDDqXB1csOpZSAqL31cbiAgICAgIDxuYXYgY2xhc3NOYW1lPXttZXJnZUNsYXNzZXMoXG4gICAgICAgIC8vIFBvc2l0aW9uIGV0IHotaW5kZXhcbiAgICAgICAgJ2ZpeGVkIHRvcC0wIGxlZnQtMCByaWdodC0wIHotNTAnLFxuICAgICAgICBcbiAgICAgICAgLy8gU3R5bGUgZGUgZm9uZCBtb2Rlcm5lXG4gICAgICAgICdiZy1ibHVlLTcwMC85NSBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlci1iIGJvcmRlci1ibHVlLTYwMC8zMCcsXG4gICAgICAgIFxuICAgICAgICAvLyBUcmFuc2l0aW9uIGZsdWlkZVxuICAgICAgICAndHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgXG4gICAgICAgIC8vIEVmZmV0IGRlIHNjcm9sbFxuICAgICAgICBzY3JvbGxlZCAmJiAnc2hhZG93LWxnJ1xuICAgICAgKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweC00IHNtOnB4LTYgbGc6cHgtOCBoLTE2XCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHsvKiBMb2dvIFNlY3Rpb24gKi99XG4gICAgICAgICAgICA8TG9nbyBzY3JvbGxlZD17c2Nyb2xsZWR9IC8+XG5cbiAgICAgICAgICAgIHsvKiBOYXZpZ2F0aW9uIExpbmtzIChEZXNrdG9wKSAtIENlbnRyw6kgKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBmbGV4IGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxOYXZMaW5rcyBcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnM9e3RyYW5zbGF0aW9uc31cbiAgICAgICAgICAgICAgICBzY3JvbGxlZD17c2Nyb2xsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qIEFjdGlvbiBCdXR0b25zIChEZXNrdG9wKSAqL31cbiAgICAgICAgICAgIDxBY3Rpb25CdXR0b25zIFxuICAgICAgICAgICAgICBzY3JvbGxlZD17c2Nyb2xsZWR9XG4gICAgICAgICAgICAgIGxhbmd1YWdlU3dpdGNoZXI9e2xhbmd1YWdlU3dpdGNoZXJ9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICB7LyogTW9iaWxlIE1lbnUgQnV0dG9uICovfVxuICAgICAgICAgICAgPE1vYmlsZU1lbnVCdXR0b25cbiAgICAgICAgICAgICAgaXNPcGVuPXttb2JpbGVNZW51T3Blbn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oIW1vYmlsZU1lbnVPcGVuKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBMaWduZSBkZSBzw6lwYXJhdGlvbiBtb2Rlcm5lICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1ibHVlLTQwMC80MCB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgICA8L25hdj5cblxuICAgICAgey8qIFNwYWNlciBwb3VyIGNvbXBlbnNlciBsYSBuYXZiYXIgZml4ZWQgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTZcIiAvPlxuXG4gICAgICB7LyogTWVudSBNb2JpbGUgKi99XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBpc09wZW49e21vYmlsZU1lbnVPcGVufVxuICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgIHRyYW5zbGF0aW9ucz17dHJhbnNsYXRpb25zfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTY3JvbGxFZmZlY3RzIiwiTG9nbyIsIk5hdkxpbmtzIiwiQWN0aW9uQnV0dG9ucyIsIk1vYmlsZU1lbnVCdXR0b24iLCJNb2JpbGVNZW51IiwibWVyZ2VDbGFzc2VzIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiTW9kZXJuTmF2aWdhdGlvbiIsInRyYW5zbGF0aW9ucyIsImxhbmd1YWdlU3dpdGNoZXIiLCJzY3JvbGxlZCIsIm1vYmlsZU1lbnVPcGVuIiwic2V0TW9iaWxlTWVudU9wZW4iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImhhbmRsZVJlc2l6ZSIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYXYiLCJjbGFzc05hbWUiLCJkaXYiLCJpc09wZW4iLCJvbkNsaWNrIiwib25DbG9zZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/ModernNavigation.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/navbar/ActionButtons.tsx":
/*!****************************************************!*\
!*** ./components/layout/navbar/ActionButtons.tsx ***!
\****************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ActionButtons: () => (/* binding */ ActionButtons)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\n\n\n// Fonction utilitaire simple pour combiner les classes\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst ActionButtons = (param)=>{\n let { scrolled = false, languageSwitcher, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: mergeClasses('hidden md:flex items-center space-x-3', className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: languageSwitcher\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 27,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>window.open(_lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord, '_blank'),\n className: mergeClasses(// Base styles\n 'inline-flex items-center px-4 py-2.5 text-sm font-medium', 'bg-indigo-600 text-white rounded-xl border border-indigo-500/20', 'transition-all duration-200 ease-in-out', 'hover:bg-indigo-700 hover:scale-[1.02] hover:shadow-lg hover:shadow-indigo-500/25', 'focus:outline-none focus:ring-2 focus:ring-indigo-400/50', 'active:scale-[0.98]', // Mobile adaptation\n 'hidden lg:flex'),\n \"aria-label\": \"Rejoindre notre Discord\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4 mr-2\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 49,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, undefined),\n \"Discord\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>window.open(_lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord, '_blank'),\n className: mergeClasses('flex lg:hidden items-center justify-center w-10 h-10', 'bg-indigo-600 text-white rounded-xl border border-indigo-500/20', 'transition-all duration-200 ease-in-out', 'hover:bg-indigo-700 hover:scale-[1.02] hover:shadow-lg hover:shadow-indigo-500/25', 'focus:outline-none focus:ring-2 focus:ring-indigo-400/50', 'active:scale-[0.98]'),\n \"aria-label\": \"Rejoindre Discord\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 68,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, undefined);\n};\n_c = ActionButtons;\nvar _c;\n$RefreshReg$(_c, \"ActionButtons\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9BY3Rpb25CdXR0b25zLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEI7QUFFb0I7QUFFOUMsdURBQXVEO0FBQ3ZELE1BQU1FLGVBQWU7cUNBQUlDO1FBQUFBOztJQUN2QixPQUFPQSxRQUFRQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztBQUN0QztBQVFPLE1BQU1DLGdCQUE4QztRQUFDLEVBQzFEQyxXQUFXLEtBQUssRUFDaEJDLGdCQUFnQixFQUNoQkMsU0FBUyxFQUNWO0lBQ0MscUJBQ0UsOERBQUNDO1FBQUlELFdBQVdSLGFBQ2QseUNBQ0FROzswQkFHQSw4REFBQ0M7Z0JBQUlELFdBQVU7MEJBQ1pEOzs7Ozs7MEJBSUgsOERBQUNHO2dCQUNDQyxTQUFTLElBQU1DLE9BQU9DLElBQUksQ0FBQ2QsdURBQUlBLENBQUNlLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFO2dCQUNoRFAsV0FBV1IsYUFDVCxjQUFjO2dCQUNkLDREQUNBLG1FQUNBLDJDQUNBLHFGQUNBLDREQUNBLHVCQUVBLG9CQUFvQjtnQkFDcEI7Z0JBRUZnQixjQUFXOztrQ0FFWCw4REFBQ0M7d0JBQUlULFdBQVU7d0JBQWVVLE1BQUs7d0JBQWVDLFNBQVE7a0NBQ3hELDRFQUFDQzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7b0JBQ0o7Ozs7Ozs7MEJBS1IsOERBQUNYO2dCQUNDQyxTQUFTLElBQU1DLE9BQU9DLElBQUksQ0FBQ2QsdURBQUlBLENBQUNlLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFO2dCQUNoRFAsV0FBV1IsYUFDVCx3REFDQSxtRUFDQSwyQ0FDQSxxRkFDQSw0REFDQTtnQkFFRmdCLGNBQVc7MEJBRVgsNEVBQUNDO29CQUFJVCxXQUFVO29CQUFVVSxNQUFLO29CQUFlQyxTQUFROzhCQUNuRCw0RUFBQ0M7d0JBQUtDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLbEIsRUFBRTtLQXpEV2hCIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9BY3Rpb25CdXR0b25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL0J1dHRvbic7XG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnQC9saWIvY29uZmlnL2NvbnN0YW50cyc7XG5cbi8vIEZvbmN0aW9uIHV0aWxpdGFpcmUgc2ltcGxlIHBvdXIgY29tYmluZXIgbGVzIGNsYXNzZXNcbmNvbnN0IG1lcmdlQ2xhc3NlcyA9ICguLi5jbGFzc2VzOiAoc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB8IGZhbHNlKVtdKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGNsYXNzZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbn07XG5cbmludGVyZmFjZSBBY3Rpb25CdXR0b25zUHJvcHMge1xuICBzY3JvbGxlZD86IGJvb2xlYW47XG4gIGxhbmd1YWdlU3dpdGNoZXI6IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgQWN0aW9uQnV0dG9uczogUmVhY3QuRkM8QWN0aW9uQnV0dG9uc1Byb3BzPiA9ICh7IFxuICBzY3JvbGxlZCA9IGZhbHNlLCBcbiAgbGFuZ3VhZ2VTd2l0Y2hlciwgXG4gIGNsYXNzTmFtZSBcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17bWVyZ2VDbGFzc2VzKFxuICAgICAgJ2hpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTMnLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKX0+XG4gICAgICB7LyogU8OpbGVjdGV1ciBkZSBsYW5ndWUgbW9kZXJuZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAge2xhbmd1YWdlU3dpdGNoZXJ9XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIEJvdXRvbiBEaXNjb3JkIG1vZGVybmUgKi99XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHdpbmRvdy5vcGVuKFVSTFMuc29jaWFsLmRpc2NvcmQsICdfYmxhbmsnKX1cbiAgICAgICAgY2xhc3NOYW1lPXttZXJnZUNsYXNzZXMoXG4gICAgICAgICAgLy8gQmFzZSBzdHlsZXNcbiAgICAgICAgICAnaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTQgcHktMi41IHRleHQtc20gZm9udC1tZWRpdW0nLFxuICAgICAgICAgICdiZy1pbmRpZ28tNjAwIHRleHQtd2hpdGUgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWluZGlnby01MDAvMjAnLFxuICAgICAgICAgICd0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgICdob3ZlcjpiZy1pbmRpZ28tNzAwIGhvdmVyOnNjYWxlLVsxLjAyXSBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWluZGlnby01MDAvMjUnLFxuICAgICAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctaW5kaWdvLTQwMC81MCcsXG4gICAgICAgICAgJ2FjdGl2ZTpzY2FsZS1bMC45OF0nLFxuICAgICAgICAgIFxuICAgICAgICAgIC8vIE1vYmlsZSBhZGFwdGF0aW9uXG4gICAgICAgICAgJ2hpZGRlbiBsZzpmbGV4J1xuICAgICAgICApfVxuICAgICAgICBhcmlhLWxhYmVsPVwiUmVqb2luZHJlIG5vdHJlIERpc2NvcmRcIlxuICAgICAgPlxuICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNCBoLTQgbXItMlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0yMC4zMTcgNC4zN2ExOS43OTEgMTkuNzkxIDAgMCAwLTQuODg1LTEuNTE1LjA3NC4wNzQgMCAwIDAtLjA3OS4wMzdjLS4yMTEuMzc1LS40NDUuODY0LS42MDggMS4yNWExOC4yNyAxOC4yNyAwIDAgMC01LjQ4NyAwIDEyLjY0IDEyLjY0IDAgMCAwLS42MTctMS4yNS4wNzcuMDc3IDAgMCAwLS4wNzktLjAzN0ExOS43MzYgMTkuNzM2IDAgMCAwIDMuNjc3IDQuMzdhLjA3LjA3IDAgMCAwLS4wMzIuMDI3Qy41MzMgOS4wNDYtLjMyIDEzLjU4LjA5OSAxOC4wNTdhLjA4Mi4wODIgMCAwIDAgLjAzMS4wNTcgMTkuOSAxOS45IDAgMCAwIDUuOTkzIDMuMDMuMDc4LjA3OCAwIDAgMCAuMDg0LS4wMjhjLjQ2Mi0uNjMuODc0LTEuMjk1IDEuMjI2LTEuOTk0YS4wNzYuMDc2IDAgMCAwLS4wNDEtLjEwNiAxMy4xMDcgMTMuMTA3IDAgMCAxLTEuODcyLS44OTIuMDc3LjA3NyAwIDAgMS0uMDA4LS4xMjggMTAuMiAxMC4yIDAgMCAwIC4zNzItLjI5Mi4wNzQuMDc0IDAgMCAxIC4wNzctLjAxYzMuOTI4IDEuNzkzIDguMTggMS43OTMgMTIuMDYyIDBhLjA3NC4wNzQgMCAwIDEgLjA3OC4wMWMuMTIuMDk4LjI0Ni4xOTguMzczLjI5MmEuMDc3LjA3NyAwIDAgMS0uMDA2LjEyNyAxMi4yOTkgMTIuMjk5IDAgMCAxLTEuODczLjg5Mi4wNzcuMDc3IDAgMCAwLS4wNDEuMTA3Yy4zNi42OTguNzcyIDEuMzYyIDEuMjI1IDEuOTkzYS4wNzYuMDc2IDAgMCAwIC4wODQuMDI4IDE5LjgzOSAxOS44MzkgMCAwIDAgNi4wMDItMy4wMy4wNzcuMDc3IDAgMCAwIC4wMzItLjA1NGMuNS01LjE3Ny0uODM4LTkuNjc0LTMuNTQ5LTEzLjY2YS4wNjEuMDYxIDAgMCAwLS4wMzEtLjAzelwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIERpc2NvcmRcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICB7LyogVmVyc2lvbiBpY29uIHNldWxlbWVudCBwb3VyIGxlcyDDqWNyYW5zIG1veWVucyAqL31cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gd2luZG93Lm9wZW4oVVJMUy5zb2NpYWwuZGlzY29yZCwgJ19ibGFuaycpfVxuICAgICAgICBjbGFzc05hbWU9e21lcmdlQ2xhc3NlcyhcbiAgICAgICAgICAnZmxleCBsZzpoaWRkZW4gaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMTAgaC0xMCcsXG4gICAgICAgICAgJ2JnLWluZGlnby02MDAgdGV4dC13aGl0ZSByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItaW5kaWdvLTUwMC8yMCcsXG4gICAgICAgICAgJ3RyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBlYXNlLWluLW91dCcsXG4gICAgICAgICAgJ2hvdmVyOmJnLWluZGlnby03MDAgaG92ZXI6c2NhbGUtWzEuMDJdIGhvdmVyOnNoYWRvdy1sZyBob3ZlcjpzaGFkb3ctaW5kaWdvLTUwMC8yNScsXG4gICAgICAgICAgJ2ZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1pbmRpZ28tNDAwLzUwJyxcbiAgICAgICAgICAnYWN0aXZlOnNjYWxlLVswLjk4XSdcbiAgICAgICAgKX1cbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlam9pbmRyZSBEaXNjb3JkXCJcbiAgICAgID5cbiAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTUgaC01XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTIwLjMxNyA0LjM3YTE5Ljc5MSAxOS43OTEgMCAwIDAtNC44ODUtMS41MTUuMDc0LjA3NCAwIDAgMC0uMDc5LjAzN2MtLjIxMS4zNzUtLjQ0NS44NjQtLjYwOCAxLjI1YTE4LjI3IDE4LjI3IDAgMCAwLTUuNDg3IDAgMTIuNjQgMTIuNjQgMCAwIDAtLjYxNy0xLjI1LjA3Ny4wNzcgMCAwIDAtLjA3OS0uMDM3QTE5LjczNiAxOS43MzYgMCAwIDAgMy42NzcgNC4zN2EuMDcuMDcgMCAwIDAtLjAzMi4wMjdDLjUzMyA5LjA0Ni0uMzIgMTMuNTguMDk5IDE4LjA1N2EuMDgyLjA4MiAwIDAgMCAuMDMxLjA1NyAxOS45IDE5LjkgMCAwIDAgNS45OTMgMy4wMy4wNzguMDc4IDAgMCAwIC4wODQtLjAyOGMuNDYyLS42My44NzQtMS4yOTUgMS4yMjYtMS45OTRhLjA3Ni4wNzYgMCAwIDAtLjA0MS0uMTA2IDEzLjEwNyAxMy4xMDcgMCAwIDEtMS44NzItLjg5Mi4wNzcuMDc3IDAgMCAxLS4wMDgtLjEyOCAxMC4yIDEwLjIgMCAwIDAgLjM3Mi0uMjkyLjA3NC4wNzQgMCAwIDEgLjA3Ny0uMDFjMy45MjggMS43OTMgOC4xOCAxLjc5MyAxMi4wNjIgMGEuMDc0LjA3NCAwIDAgMSAuMDc4LjAxYy4xMi4wOTguMjQ2LjE5OC4zNzMuMjkyYS4wNzcuMDc3IDAgMCAxLS4wMDYuMTI3IDEyLjI5OSAxMi4yOTkgMCAwIDEtMS44NzMuODkyLjA3Ny4wNzcgMCAwIDAtLjA0MS4xMDdjLjM2LjY5OC43NzIgMS4zNjIgMS4yMjUgMS45OTNhLjA3Ni4wNzYgMCAwIDAgLjA4NC4wMjggMTkuODM5IDE5LjgzOSAwIDAgMCA2LjAwMi0zLjAzLjA3Ny4wNzcgMCAwIDAgLjAzMi0uMDU0Yy41LTUuMTc3LS44MzgtOS42NzQtMy41NDktMTMuNjZhLjA2MS4wNjEgMCAwIDAtLjAzMS0uMDN6XCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlVSTFMiLCJtZXJnZUNsYXNzZXMiLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJBY3Rpb25CdXR0b25zIiwic2Nyb2xsZWQiLCJsYW5ndWFnZVN3aXRjaGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiYnV0dG9uIiwib25DbGljayIsIndpbmRvdyIsIm9wZW4iLCJzb2NpYWwiLCJkaXNjb3JkIiwiYXJpYS1sYWJlbCIsInN2ZyIsImZpbGwiLCJ2aWV3Qm94IiwicGF0aCIsImQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/navbar/ActionButtons.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/navbar/Logo.tsx":
/*!*******************************************!*\
!*** ./components/layout/navbar/Logo.tsx ***!
\*******************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: () => (/* binding */ Logo)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js\");\n/* harmony import */ var _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\n\n\n\n// Fonction utilitaire simple pour combiner les classes\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst Logo = (param)=>{\n let { scrolled = false, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: mergeClasses('flex items-center group cursor-pointer transition-all duration-200', className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-blue-400/20 rounded-2xl blur-lg opacity-0 group-hover:opacity-100 transition-all duration-300 scale-125\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 24,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: mergeClasses('relative flex items-center justify-center rounded-2xl transition-all duration-200', 'bg-white/10 backdrop-blur-sm border border-white/20', 'group-hover:bg-white/15 group-hover:scale-[1.02] group-hover:border-white/30', scrolled ? 'p-2' : 'p-2.5'),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/assets/banquise_server.svg\",\n alt: _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__.SITE_CONFIG.name,\n width: scrolled ? 28 : 32,\n height: scrolled ? 28 : 32,\n className: \"transition-all duration-200 group-hover:scale-105\",\n style: {\n filter: 'drop-shadow(0 2px 8px rgba(59, 130, 246, 0.3))'\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"ml-3 hidden sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: mergeClasses('font-semibold text-white tracking-tight transition-all duration-200', scrolled ? 'text-base' : 'text-lg lg:text-xl', 'group-hover:text-blue-100'),\n children: _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__.SITE_CONFIG.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, undefined),\n !scrolled && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-white/70 font-medium transition-all duration-200 group-hover:text-white/90\",\n children: _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__.SITE_CONFIG.tagline\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 47,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/Logo.tsx\",\n lineNumber: 17,\n columnNumber: 5\n }, undefined);\n};\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9Mb2dvLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTBCO0FBQ0s7QUFDc0I7QUFFckQsdURBQXVEO0FBQ3ZELE1BQU1HLGVBQWU7cUNBQUlDO1FBQUFBOztJQUN2QixPQUFPQSxRQUFRQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztBQUN0QztBQU9PLE1BQU1DLE9BQTRCO1FBQUMsRUFBRUMsV0FBVyxLQUFLLEVBQUVDLFNBQVMsRUFBRTtJQUN2RSxxQkFDRSw4REFBQ0M7UUFBSUQsV0FBV1AsYUFDZCxzRUFDQU87OzBCQUdBLDhEQUFDQztnQkFBSUQsV0FBVTs7a0NBRWIsOERBQUNDO3dCQUFJRCxXQUFVOzs7Ozs7a0NBR2YsOERBQUNDO3dCQUFJRCxXQUFXUCxhQUNkLHFGQUNBLHVEQUNBLGdGQUNBTSxXQUFXLFFBQVE7a0NBRW5CLDRFQUFDUixrREFBS0E7NEJBQ0pXLEtBQUk7NEJBQ0pDLEtBQUtYLDhEQUFXQSxDQUFDWSxJQUFJOzRCQUNyQkMsT0FBT04sV0FBVyxLQUFLOzRCQUN2Qk8sUUFBUVAsV0FBVyxLQUFLOzRCQUN4QkMsV0FBVTs0QkFDVk8sT0FBTztnQ0FDTFosUUFBUTs0QkFDVjs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBTU4sOERBQUNNO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ1E7d0JBQUdSLFdBQVdQLGFBQ2IsdUVBQ0FNLFdBQVcsY0FBYyxzQkFDekI7a0NBRUNQLDhEQUFXQSxDQUFDWSxJQUFJOzs7Ozs7b0JBR2xCLENBQUNMLDBCQUNBLDhEQUFDVTt3QkFBRVQsV0FBVTtrQ0FDVlIsOERBQVdBLENBQUNrQixPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNaEMsRUFBRTtLQWpEV1oiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvY29tcG9uZW50cy9sYXlvdXQvbmF2YmFyL0xvZ28udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSc7XG5pbXBvcnQgeyBTSVRFX0NPTkZJRyB9IGZyb20gJ0AvbGliL2NvbmZpZy9jb25zdGFudHMnO1xuXG4vLyBGb25jdGlvbiB1dGlsaXRhaXJlIHNpbXBsZSBwb3VyIGNvbWJpbmVyIGxlcyBjbGFzc2VzXG5jb25zdCBtZXJnZUNsYXNzZXMgPSAoLi4uY2xhc3NlczogKHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgfCBmYWxzZSlbXSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7XG59O1xuXG5pbnRlcmZhY2UgTG9nb1Byb3BzIHtcbiAgc2Nyb2xsZWQ/OiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBMb2dvOiBSZWFjdC5GQzxMb2dvUHJvcHM+ID0gKHsgc2Nyb2xsZWQgPSBmYWxzZSwgY2xhc3NOYW1lIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17bWVyZ2VDbGFzc2VzKFxuICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGdyb3VwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCcsXG4gICAgICBjbGFzc05hbWVcbiAgICApfT5cbiAgICAgIHsvKiBMb2dvIG1vZGVybmUgYXZlYyBlZmZldCBzdWJ0aWwgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIHsvKiBFZmZldCBkZSBnbG93IG1vZGVybmUgZXQgc3VidGlsICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmx1ZS00MDAvMjAgcm91bmRlZC0yeGwgYmx1ci1sZyBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHNjYWxlLTEyNVwiPjwvZGl2PlxuICAgICAgICBcbiAgICAgICAgey8qIENvbnRhaW5lciBkdSBsb2dvICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17bWVyZ2VDbGFzc2VzKFxuICAgICAgICAgICdyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLTJ4bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgICdiZy13aGl0ZS8xMCBiYWNrZHJvcC1ibHVyLXNtIGJvcmRlciBib3JkZXItd2hpdGUvMjAnLFxuICAgICAgICAgICdncm91cC1ob3ZlcjpiZy13aGl0ZS8xNSBncm91cC1ob3ZlcjpzY2FsZS1bMS4wMl0gZ3JvdXAtaG92ZXI6Ym9yZGVyLXdoaXRlLzMwJyxcbiAgICAgICAgICBzY3JvbGxlZCA/ICdwLTInIDogJ3AtMi41J1xuICAgICAgICApfT5cbiAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgIHNyYz1cIi9hc3NldHMvYmFucXVpc2Vfc2VydmVyLnN2Z1wiXG4gICAgICAgICAgICBhbHQ9e1NJVEVfQ09ORklHLm5hbWV9XG4gICAgICAgICAgICB3aWR0aD17c2Nyb2xsZWQgPyAyOCA6IDMyfVxuICAgICAgICAgICAgaGVpZ2h0PXtzY3JvbGxlZCA/IDI4IDogMzJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTA1XCJcbiAgICAgICAgICAgIHN0eWxlPXt7IFxuICAgICAgICAgICAgICBmaWx0ZXI6ICdkcm9wLXNoYWRvdygwIDJweCA4cHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMykpJyBcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIFRleHRlIGRlIG1hcnF1ZSDDqXB1csOpICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtbC0zIGhpZGRlbiBzbTpibG9ja1wiPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPXttZXJnZUNsYXNzZXMoXG4gICAgICAgICAgJ2ZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB0cmFja2luZy10aWdodCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgIHNjcm9sbGVkID8gJ3RleHQtYmFzZScgOiAndGV4dC1sZyBsZzp0ZXh0LXhsJyxcbiAgICAgICAgICAnZ3JvdXAtaG92ZXI6dGV4dC1ibHVlLTEwMCdcbiAgICAgICAgKX0+XG4gICAgICAgICAge1NJVEVfQ09ORklHLm5hbWV9XG4gICAgICAgIDwvaDE+XG4gICAgICAgIFxuICAgICAgICB7IXNjcm9sbGVkICYmIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtd2hpdGUvNzAgZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGdyb3VwLWhvdmVyOnRleHQtd2hpdGUvOTBcIj5cbiAgICAgICAgICAgIHtTSVRFX0NPTkZJRy50YWdsaW5lfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkltYWdlIiwiU0lURV9DT05GSUciLCJtZXJnZUNsYXNzZXMiLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJMb2dvIiwic2Nyb2xsZWQiLCJjbGFzc05hbWUiLCJkaXYiLCJzcmMiLCJhbHQiLCJuYW1lIiwid2lkdGgiLCJoZWlnaHQiLCJzdHlsZSIsImgxIiwicCIsInRhZ2xpbmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/navbar/Logo.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/navbar/MobileMenuButton.tsx":
/*!*******************************************************!*\
!*** ./components/layout/navbar/MobileMenuButton.tsx ***!
\*******************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MobileMenuButton: () => (/* binding */ MobileMenuButton)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\n\n// Fonction utilitaire simple pour combiner les classes\nconst cn = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst MobileMenuButton = (param)=>{\n let { isOpen, onClick, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: cn('md:hidden relative p-3 rounded-xl transition-all duration-300 group', 'bg-white/10 hover:bg-white/20 active:bg-white/25', 'border border-white/20 hover:border-white/30', 'hover:scale-105 active:scale-95', 'focus:outline-none focus:ring-2 focus:ring-blue-400/50', className),\n onClick: onClick,\n \"aria-label\": isOpen ? \"Fermer le menu\" : \"Ouvrir le menu\",\n \"aria-expanded\": isOpen,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-6 h-6 relative flex flex-col justify-center items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: cn('absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out transform', isOpen ? 'rotate-45 translate-y-0' : '-translate-y-2')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: cn('absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out', isOpen ? 'opacity-0 scale-0' : 'opacity-100 scale-100')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: cn('absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out transform', isOpen ? '-rotate-45 translate-y-0' : 'translate-y-2')\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 43,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 rounded-xl bg-gradient-to-r from-blue-400/20 to-blue-600/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 50,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 20,\n columnNumber: 5\n }, undefined);\n};\n_c = MobileMenuButton;\nvar _c;\n$RefreshReg$(_c, \"MobileMenuButton\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9Nb2JpbGVNZW51QnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEwQjtBQUUxQix1REFBdUQ7QUFDdkQsTUFBTUMsS0FBSztxQ0FBSUM7UUFBQUE7O0lBQ2IsT0FBT0EsUUFBUUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFDdEM7QUFRTyxNQUFNQyxtQkFBb0Q7UUFBQyxFQUNoRUMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVjtJQUNDLHFCQUNFLDhEQUFDQztRQUNDRCxXQUFXUixHQUNULHVFQUNBLG9EQUNBLGdEQUNBLG1DQUNBLDBEQUNBUTtRQUVGRCxTQUFTQTtRQUNURyxjQUFZSixTQUFTLG1CQUFtQjtRQUN4Q0ssaUJBQWVMOzswQkFHZiw4REFBQ007Z0JBQUlKLFdBQVU7O2tDQUNiLDhEQUFDSzt3QkFBS0wsV0FBV1IsR0FDZixpR0FDQU0sU0FBUyw0QkFBNEI7Ozs7OztrQ0FFdkMsOERBQUNPO3dCQUFLTCxXQUFXUixHQUNmLHVGQUNBTSxTQUFTLHNCQUFzQjs7Ozs7O2tDQUVqQyw4REFBQ087d0JBQUtMLFdBQVdSLEdBQ2YsaUdBQ0FNLFNBQVMsNkJBQTZCOzs7Ozs7Ozs7Ozs7MEJBSzFDLDhEQUFDTTtnQkFBSUosV0FBVTs7Ozs7Ozs7Ozs7O0FBR3JCLEVBQUU7S0F2Q1dIIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9Nb2JpbGVNZW51QnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBGb25jdGlvbiB1dGlsaXRhaXJlIHNpbXBsZSBwb3VyIGNvbWJpbmVyIGxlcyBjbGFzc2VzXG5jb25zdCBjbiA9ICguLi5jbGFzc2VzOiAoc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB8IGZhbHNlKVtdKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGNsYXNzZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbn07XG5cbmludGVyZmFjZSBNb2JpbGVNZW51QnV0dG9uUHJvcHMge1xuICBpc09wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE1vYmlsZU1lbnVCdXR0b246IFJlYWN0LkZDPE1vYmlsZU1lbnVCdXR0b25Qcm9wcz4gPSAoeyBcbiAgaXNPcGVuLCBcbiAgb25DbGljaywgXG4gIGNsYXNzTmFtZSBcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnbWQ6aGlkZGVuIHJlbGF0aXZlIHAtMyByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cCcsXG4gICAgICAgICdiZy13aGl0ZS8xMCBob3ZlcjpiZy13aGl0ZS8yMCBhY3RpdmU6Ymctd2hpdGUvMjUnLFxuICAgICAgICAnYm9yZGVyIGJvcmRlci13aGl0ZS8yMCBob3Zlcjpib3JkZXItd2hpdGUvMzAnLFxuICAgICAgICAnaG92ZXI6c2NhbGUtMTA1IGFjdGl2ZTpzY2FsZS05NScsXG4gICAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS00MDAvNTAnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgYXJpYS1sYWJlbD17aXNPcGVuID8gXCJGZXJtZXIgbGUgbWVudVwiIDogXCJPdXZyaXIgbGUgbWVudVwifVxuICAgICAgYXJpYS1leHBhbmRlZD17aXNPcGVufVxuICAgID5cbiAgICAgIHsvKiBIYW1idXJnZXIgSWNvbiBhdmVjIGFuaW1hdGlvbiBtb2Rlcm5lICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTYgaC02IHJlbGF0aXZlIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgJ2Fic29sdXRlIGJsb2NrIGgtMC41IHctNiBiZy13aGl0ZSByb3VuZGVkLWZ1bGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2Utb3V0IHRyYW5zZm9ybScsXG4gICAgICAgICAgaXNPcGVuID8gJ3JvdGF0ZS00NSB0cmFuc2xhdGUteS0wJyA6ICctdHJhbnNsYXRlLXktMidcbiAgICAgICAgKX0gLz5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnYWJzb2x1dGUgYmxvY2sgaC0wLjUgdy02IGJnLXdoaXRlIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1vdXQnLFxuICAgICAgICAgIGlzT3BlbiA/ICdvcGFjaXR5LTAgc2NhbGUtMCcgOiAnb3BhY2l0eS0xMDAgc2NhbGUtMTAwJ1xuICAgICAgICApfSAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdhYnNvbHV0ZSBibG9jayBoLTAuNSB3LTYgYmctd2hpdGUgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dCB0cmFuc2Zvcm0nLFxuICAgICAgICAgIGlzT3BlbiA/ICctcm90YXRlLTQ1IHRyYW5zbGF0ZS15LTAnIDogJ3RyYW5zbGF0ZS15LTInXG4gICAgICAgICl9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIFN1YnRsZSBnbG93IGVmZmVjdCBvbiBob3ZlciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCByb3VuZGVkLXhsIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTQwMC8yMCB0by1ibHVlLTYwMC8yMCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTMwMFwiIC8+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJNb2JpbGVNZW51QnV0dG9uIiwiaXNPcGVuIiwib25DbGljayIsImNsYXNzTmFtZSIsImJ1dHRvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWV4cGFuZGVkIiwiZGl2Iiwic3BhbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/navbar/MobileMenuButton.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/layout/navbar/NavLinks.tsx":
/*!***********************************************!*\
!*** ./components/layout/navbar/NavLinks.tsx ***!
\***********************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NavLinks: () => (/* binding */ NavLinks)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\nvar _s = $RefreshSig$();\n\n// Fonction utilitaire simple pour combiner les classes\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst NavLink = (param)=>{\n let { href, children, isActive = false, onClick } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n onClick: (e)=>{\n e.preventDefault();\n onClick === null || onClick === void 0 ? void 0 : onClick();\n },\n className: mergeClasses(// Base styles\n 'relative px-4 py-2.5 text-sm font-medium transition-all duration-200 rounded-xl', 'focus:outline-none focus:ring-2 focus:ring-blue-400/50', // États conditionnels\n isActive ? 'text-white bg-white/15 shadow-sm backdrop-blur-sm border border-white/20' : 'text-white/80 hover:text-white hover:bg-white/10'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: children\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 41,\n columnNumber: 7\n }, undefined),\n isActive && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-1/2 transform -translate-x-1/2 w-1 h-1 bg-blue-300 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 24,\n columnNumber: 5\n }, undefined);\n};\n_c = NavLink;\nconst NavLinks = (param)=>{\n let { translations, className } = param;\n _s();\n const [activeSection, setActiveSection] = react__WEBPACK_IMPORTED_MODULE_1___default().useState('home');\n // Observer pour détecter la section active (simplifié)\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"NavLinks.useEffect\": ()=>{\n const handleScroll = {\n \"NavLinks.useEffect.handleScroll\": ()=>{\n const scrollPosition = window.scrollY;\n // Si on est en haut de la page\n if (scrollPosition < 200) {\n setActiveSection('home');\n return;\n }\n // Détection des sections\n const sections = [\n 'services',\n 'about'\n ];\n let currentSection = 'home';\n sections.forEach({\n \"NavLinks.useEffect.handleScroll\": (sectionId)=>{\n const element = document.getElementById(sectionId);\n if (element) {\n const rect = element.getBoundingClientRect();\n if (rect.top <= 200 && rect.bottom >= 200) {\n currentSection = sectionId;\n }\n }\n }\n }[\"NavLinks.useEffect.handleScroll\"]);\n setActiveSection(currentSection);\n }\n }[\"NavLinks.useEffect.handleScroll\"];\n window.addEventListener('scroll', handleScroll, {\n passive: true\n });\n handleScroll();\n return ({\n \"NavLinks.useEffect\": ()=>window.removeEventListener('scroll', handleScroll)\n })[\"NavLinks.useEffect\"];\n }\n }[\"NavLinks.useEffect\"], []);\n const handleNavClick = (sectionId)=>{\n if (sectionId === 'home') {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n } else if (sectionId === 'contact') {\n window.location.href = 'mailto:contact@la-banquise.fr';\n } else {\n const element = document.getElementById(sectionId);\n if (element) {\n const navHeight = 64; // Hauteur de la navbar\n const elementPosition = element.offsetTop - navHeight;\n window.scrollTo({\n top: elementPosition,\n behavior: 'smooth'\n });\n }\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: mergeClasses('hidden md:flex items-center space-x-2', className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#home\",\n isActive: activeSection === 'home',\n onClick: ()=>handleNavClick('home'),\n children: translations.home\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 111,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#services\",\n isActive: activeSection === 'services',\n onClick: ()=>handleNavClick('services'),\n children: translations.services\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 119,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#about\",\n isActive: activeSection === 'about',\n onClick: ()=>handleNavClick('about'),\n children: translations.about\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 127,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"mailto:contact@la-banquise.fr\",\n isActive: false,\n onClick: ()=>handleNavClick('contact'),\n children: translations.contact\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 135,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 107,\n columnNumber: 5\n }, undefined);\n};\n_s(NavLinks, \"65M0EpCty5hXphTge5SPn9c/pY8=\");\n_c1 = NavLinks;\nvar _c, _c1;\n$RefreshReg$(_c, \"NavLink\");\n$RefreshReg$(_c1, \"NavLinks\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9OYXZMaW5rcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTBCO0FBRzFCLHVEQUF1RDtBQUN2RCxNQUFNQyxlQUFlO3FDQUFJQztRQUFBQTs7SUFDdkIsT0FBT0EsUUFBUUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFDdEM7QUFlQSxNQUFNQyxVQUFrQztRQUFDLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3BGLHFCQUNFLDhEQUFDQztRQUNDSixNQUFNQTtRQUNORyxTQUFTLENBQUNFO1lBQ1JBLEVBQUVDLGNBQWM7WUFDaEJILG9CQUFBQSw4QkFBQUE7UUFDRjtRQUNBSSxXQUFXYixhQUNULGNBQWM7UUFDZCxtRkFDQSwwREFFQSxzQkFBc0I7UUFDdEJRLFdBQ0ksNkVBQ0E7OzBCQUdOLDhEQUFDTTtnQkFBS0QsV0FBVTswQkFBaUJOOzs7Ozs7WUFHaENDLDBCQUNDLDhEQUFDTztnQkFBSUYsV0FBVTs7Ozs7Ozs7Ozs7O0FBSXZCO0tBM0JNUjtBQTZCQyxNQUFNVyxXQUFvQztRQUFDLEVBQUVDLFlBQVksRUFBRUosU0FBUyxFQUFFOztJQUMzRSxNQUFNLENBQUNLLGVBQWVDLGlCQUFpQixHQUFHcEIscURBQWMsQ0FBUztJQUVqRSx1REFBdUQ7SUFDdkRBLHNEQUFlOzhCQUFDO1lBQ2QsTUFBTXVCO21EQUFlO29CQUNuQixNQUFNQyxpQkFBaUJDLE9BQU9DLE9BQU87b0JBRXJDLCtCQUErQjtvQkFDL0IsSUFBSUYsaUJBQWlCLEtBQUs7d0JBQ3hCSixpQkFBaUI7d0JBQ2pCO29CQUNGO29CQUVBLHlCQUF5QjtvQkFDekIsTUFBTU8sV0FBVzt3QkFBQzt3QkFBWTtxQkFBUTtvQkFDdEMsSUFBSUMsaUJBQWlCO29CQUVyQkQsU0FBU0UsT0FBTzsyREFBQyxDQUFDQzs0QkFDaEIsTUFBTUMsVUFBVUMsU0FBU0MsY0FBYyxDQUFDSDs0QkFDeEMsSUFBSUMsU0FBUztnQ0FDWCxNQUFNRyxPQUFPSCxRQUFRSSxxQkFBcUI7Z0NBQzFDLElBQUlELEtBQUtFLEdBQUcsSUFBSSxPQUFPRixLQUFLRyxNQUFNLElBQUksS0FBSztvQ0FDekNULGlCQUFpQkU7Z0NBQ25COzRCQUNGO3dCQUNGOztvQkFFQVYsaUJBQWlCUTtnQkFDbkI7O1lBRUFILE9BQU9hLGdCQUFnQixDQUFDLFVBQVVmLGNBQWM7Z0JBQUVnQixTQUFTO1lBQUs7WUFDaEVoQjtZQUVBO3NDQUFPLElBQU1FLE9BQU9lLG1CQUFtQixDQUFDLFVBQVVqQjs7UUFDcEQ7NkJBQUcsRUFBRTtJQUVMLE1BQU1rQixpQkFBaUIsQ0FBQ1g7UUFDdEIsSUFBSUEsY0FBYyxRQUFRO1lBQ3hCTCxPQUFPaUIsUUFBUSxDQUFDO2dCQUFFTixLQUFLO2dCQUFHTyxVQUFVO1lBQVM7UUFDL0MsT0FBTyxJQUFJYixjQUFjLFdBQVc7WUFDbENMLE9BQU9tQixRQUFRLENBQUNyQyxJQUFJLEdBQUc7UUFDekIsT0FBTztZQUNMLE1BQU13QixVQUFVQyxTQUFTQyxjQUFjLENBQUNIO1lBQ3hDLElBQUlDLFNBQVM7Z0JBQ1gsTUFBTWMsWUFBWSxJQUFJLHVCQUF1QjtnQkFDN0MsTUFBTUMsa0JBQWtCZixRQUFRZ0IsU0FBUyxHQUFHRjtnQkFDNUNwQixPQUFPaUIsUUFBUSxDQUFDO29CQUNkTixLQUFLVTtvQkFDTEgsVUFBVTtnQkFDWjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLHFCQUNFLDhEQUFDSztRQUFJbEMsV0FBV2IsYUFDZCx5Q0FDQWE7OzBCQUVBLDhEQUFDUjtnQkFDQ0MsTUFBSztnQkFDTEUsVUFBVVUsa0JBQWtCO2dCQUM1QlQsU0FBUyxJQUFNK0IsZUFBZTswQkFFN0J2QixhQUFhK0IsSUFBSTs7Ozs7OzBCQUdwQiw4REFBQzNDO2dCQUNDQyxNQUFLO2dCQUNMRSxVQUFVVSxrQkFBa0I7Z0JBQzVCVCxTQUFTLElBQU0rQixlQUFlOzBCQUU3QnZCLGFBQWFnQyxRQUFROzs7Ozs7MEJBR3hCLDhEQUFDNUM7Z0JBQ0NDLE1BQUs7Z0JBQ0xFLFVBQVVVLGtCQUFrQjtnQkFDNUJULFNBQVMsSUFBTStCLGVBQWU7MEJBRTdCdkIsYUFBYWlDLEtBQUs7Ozs7OzswQkFHckIsOERBQUM3QztnQkFDQ0MsTUFBSztnQkFDTEUsVUFBVTtnQkFDVkMsU0FBUyxJQUFNK0IsZUFBZTswQkFFN0J2QixhQUFha0MsT0FBTzs7Ozs7Ozs7Ozs7O0FBSTdCLEVBQUU7R0E3RlduQztNQUFBQSIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvTmF2TGlua3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnQC90eXBlcy9pMThuJztcblxuLy8gRm9uY3Rpb24gdXRpbGl0YWlyZSBzaW1wbGUgcG91ciBjb21iaW5lciBsZXMgY2xhc3Nlc1xuY29uc3QgbWVyZ2VDbGFzc2VzID0gKC4uLmNsYXNzZXM6IChzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHwgZmFsc2UpW10pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gY2xhc3Nlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xufTtcblxuaW50ZXJmYWNlIE5hdkxpbmtzUHJvcHMge1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uWyduYXZpZ2F0aW9uJ107XG4gIHNjcm9sbGVkPzogYm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF2TGlua1Byb3BzIHtcbiAgaHJlZjogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBOYXZMaW5rOiBSZWFjdC5GQzxOYXZMaW5rUHJvcHM+ID0gKHsgaHJlZiwgY2hpbGRyZW4sIGlzQWN0aXZlID0gZmFsc2UsIG9uQ2xpY2sgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvbkNsaWNrPy4oKTtcbiAgICAgIH19XG4gICAgICBjbGFzc05hbWU9e21lcmdlQ2xhc3NlcyhcbiAgICAgICAgLy8gQmFzZSBzdHlsZXNcbiAgICAgICAgJ3JlbGF0aXZlIHB4LTQgcHktMi41IHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIHJvdW5kZWQteGwnLFxuICAgICAgICAnZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNDAwLzUwJyxcbiAgICAgICAgXG4gICAgICAgIC8vIMOJdGF0cyBjb25kaXRpb25uZWxzXG4gICAgICAgIGlzQWN0aXZlIFxuICAgICAgICAgID8gJ3RleHQtd2hpdGUgYmctd2hpdGUvMTUgc2hhZG93LXNtIGJhY2tkcm9wLWJsdXItc20gYm9yZGVyIGJvcmRlci13aGl0ZS8yMCcgXG4gICAgICAgICAgOiAndGV4dC13aGl0ZS84MCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXdoaXRlLzEwJ1xuICAgICAgKX1cbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwXCI+e2NoaWxkcmVufTwvc3Bhbj5cbiAgICAgIFxuICAgICAgey8qIEluZGljYXRldXIgYWN0aWYgbW9kZXJuZSAqL31cbiAgICAgIHtpc0FjdGl2ZSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0xLzIgdHJhbnNmb3JtIC10cmFuc2xhdGUteC0xLzIgdy0xIGgtMSBiZy1ibHVlLTMwMCByb3VuZGVkLWZ1bGxcIiAvPlxuICAgICAgKX1cbiAgICA8L2E+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgTmF2TGlua3M6IFJlYWN0LkZDPE5hdkxpbmtzUHJvcHM+ID0gKHsgdHJhbnNsYXRpb25zLCBjbGFzc05hbWUgfSkgPT4ge1xuICBjb25zdCBbYWN0aXZlU2VjdGlvbiwgc2V0QWN0aXZlU2VjdGlvbl0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmc+KCdob21lJyk7XG5cbiAgLy8gT2JzZXJ2ZXIgcG91ciBkw6l0ZWN0ZXIgbGEgc2VjdGlvbiBhY3RpdmUgKHNpbXBsaWZpw6kpXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgIFxuICAgICAgLy8gU2kgb24gZXN0IGVuIGhhdXQgZGUgbGEgcGFnZVxuICAgICAgaWYgKHNjcm9sbFBvc2l0aW9uIDwgMjAwKSB7XG4gICAgICAgIHNldEFjdGl2ZVNlY3Rpb24oJ2hvbWUnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBEw6l0ZWN0aW9uIGRlcyBzZWN0aW9uc1xuICAgICAgY29uc3Qgc2VjdGlvbnMgPSBbJ3NlcnZpY2VzJywgJ2Fib3V0J107XG4gICAgICBsZXQgY3VycmVudFNlY3Rpb24gPSAnaG9tZSc7XG5cbiAgICAgIHNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb25JZCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbklkKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICBpZiAocmVjdC50b3AgPD0gMjAwICYmIHJlY3QuYm90dG9tID49IDIwMCkge1xuICAgICAgICAgICAgY3VycmVudFNlY3Rpb24gPSBzZWN0aW9uSWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2V0QWN0aXZlU2VjdGlvbihjdXJyZW50U2VjdGlvbik7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICBoYW5kbGVTY3JvbGwoKTtcblxuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZU5hdkNsaWNrID0gKHNlY3Rpb25JZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHNlY3Rpb25JZCA9PT0gJ2hvbWUnKSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9IGVsc2UgaWYgKHNlY3Rpb25JZCA9PT0gJ2NvbnRhY3QnKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdtYWlsdG86Y29udGFjdEBsYS1iYW5xdWlzZS5mcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWN0aW9uSWQpO1xuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgbmF2SGVpZ2h0ID0gNjQ7IC8vIEhhdXRldXIgZGUgbGEgbmF2YmFyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9IGVsZW1lbnQub2Zmc2V0VG9wIC0gbmF2SGVpZ2h0O1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyBcbiAgICAgICAgICB0b3A6IGVsZW1lbnRQb3NpdGlvbiwgXG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnIFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8bmF2IGNsYXNzTmFtZT17bWVyZ2VDbGFzc2VzKFxuICAgICAgJ2hpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTInLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKX0+XG4gICAgICA8TmF2TGluayBcbiAgICAgICAgaHJlZj1cIiNob21lXCIgXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVTZWN0aW9uID09PSAnaG9tZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdob21lJyl9XG4gICAgICA+XG4gICAgICAgIHt0cmFuc2xhdGlvbnMuaG9tZX1cbiAgICAgIDwvTmF2TGluaz5cbiAgICAgIFxuICAgICAgPE5hdkxpbmsgXG4gICAgICAgIGhyZWY9XCIjc2VydmljZXNcIiBcbiAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZVNlY3Rpb24gPT09ICdzZXJ2aWNlcyd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdzZXJ2aWNlcycpfVxuICAgICAgPlxuICAgICAgICB7dHJhbnNsYXRpb25zLnNlcnZpY2VzfVxuICAgICAgPC9OYXZMaW5rPlxuICAgICAgXG4gICAgICA8TmF2TGluayBcbiAgICAgICAgaHJlZj1cIiNhYm91dFwiIFxuICAgICAgICBpc0FjdGl2ZT17YWN0aXZlU2VjdGlvbiA9PT0gJ2Fib3V0J31cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTmF2Q2xpY2soJ2Fib3V0Jyl9XG4gICAgICA+XG4gICAgICAgIHt0cmFuc2xhdGlvbnMuYWJvdXR9XG4gICAgICA8L05hdkxpbms+XG4gICAgICBcbiAgICAgIDxOYXZMaW5rIFxuICAgICAgICBocmVmPVwibWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnJcIiBcbiAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnY29udGFjdCcpfVxuICAgICAgPlxuICAgICAgICB7dHJhbnNsYXRpb25zLmNvbnRhY3R9XG4gICAgICA8L05hdkxpbms+XG4gICAgPC9uYXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwibWVyZ2VDbGFzc2VzIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiTmF2TGluayIsImhyZWYiLCJjaGlsZHJlbiIsImlzQWN0aXZlIiwib25DbGljayIsImEiLCJlIiwicHJldmVudERlZmF1bHQiLCJjbGFzc05hbWUiLCJzcGFuIiwiZGl2IiwiTmF2TGlua3MiLCJ0cmFuc2xhdGlvbnMiLCJhY3RpdmVTZWN0aW9uIiwic2V0QWN0aXZlU2VjdGlvbiIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiaGFuZGxlU2Nyb2xsIiwic2Nyb2xsUG9zaXRpb24iLCJ3aW5kb3ciLCJzY3JvbGxZIiwic2VjdGlvbnMiLCJjdXJyZW50U2VjdGlvbiIsImZvckVhY2giLCJzZWN0aW9uSWQiLCJlbGVtZW50IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3AiLCJib3R0b20iLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVOYXZDbGljayIsInNjcm9sbFRvIiwiYmVoYXZpb3IiLCJsb2NhdGlvbiIsIm5hdkhlaWdodCIsImVsZW1lbnRQb3NpdGlvbiIsIm9mZnNldFRvcCIsIm5hdiIsImhvbWUiLCJzZXJ2aWNlcyIsImFib3V0IiwiY29udGFjdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/layout/navbar/NavLinks.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/sections/AboutSection.tsx":
/*!**********************************************!*\
!*** ./components/sections/AboutSection.tsx ***!
\**********************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AboutSection: () => (/* binding */ AboutSection)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _components_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/AccordionItem */ \"(app-pages-browser)/./components/ui/AccordionItem.tsx\");\n/* harmony import */ var _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\n\n\n\nconst AboutSection = (param)=>{\n let { openAccordion, toggleAccordion } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"about\",\n className: \"py-24 md:py-32 px-4 sm:px-6 lg:px-8 bg-white\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-24 h-1.5 bg-gradient-to-r from-blue-600 to-blue-400 rounded-full mx-auto mb-8\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl md:text-4xl lg:text-5xl font-bold text-gray-900 mb-6 leading-tight\",\n children: \"\\xc0 Propos de La Banquise\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl text-gray-700 max-w-4xl mx-auto leading-relaxed font-medium\",\n children: \"Une communaut\\xe9 passionn\\xe9e qui propose des services d'h\\xe9bergement et des outils collaboratifs pour les d\\xe9veloppeurs et les gamers.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 21,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl md:text-3xl font-bold text-gray-800 mb-12 flex items-center justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-3xl mr-4 bg-gradient-to-r from-blue-600 to-blue-400 bg-clip-text text-transparent\",\n children: \"❓\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 29,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Questions Fr\\xe9quentes\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 30,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83C\\uDFAF Notre Mission\",\n isOpen: openAccordion === \"mission\",\n onToggle: ()=>toggleAccordion(\"mission\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6 p-6 bg-gray-50 rounded-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-700 leading-relaxed\",\n children: \"Former les \\xe9tudiants au d\\xe9ploiement et \\xe0 la gestion d'une infrastructure, et de ma\\xeetriser des technologies entreprise grade. Cela permet de fournir une plateforme stable et accessible pour h\\xe9berger vos projets, partager vos connaissances et jouer ensemble !\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-700 leading-relaxed\",\n children: \"Nous croyons en la puissance de la collaboration et mettons \\xe0 disposition des outils modernes pour faciliter le travail en \\xe9quipe.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 43,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-3 mt-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-blue-100 text-blue-800 px-4 py-2 rounded-full text-sm font-semibold border border-blue-200\",\n children: \"Collaboration\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-blue-100 text-blue-800 px-4 py-2 rounded-full text-sm font-semibold border border-blue-200\",\n children: \"Innovation\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-blue-100 text-blue-800 px-4 py-2 rounded-full text-sm font-semibold border border-blue-200\",\n children: \"Accessibilit\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 49,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 38,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83D\\uDEE0️ Nos Services\",\n isOpen: openAccordion === \"services\",\n onToggle: ()=>toggleAccordion(\"services\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6 p-6 bg-gray-50 rounded-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid gap-6 md:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83D\\uDCDA\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Wiki\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 65,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Documentation collaborative et guides d\\xe9taill\\xe9s\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 66,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 64,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 62,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83D\\uDD27\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 71,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Gitea\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 73,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Gestion de versions Git auto-h\\xe9berg\\xe9e\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 74,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 72,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 70,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83C\\uDFAE\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 79,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Panel de Jeux\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 81,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Interface de gestion pour serveurs de jeux\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 82,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 80,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 78,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83D\\uDC27\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 87,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Pelican\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 89,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"G\\xe9n\\xe9rateur de sites statiques\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 90,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 88,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 86,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83C\\uDFE2\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 95,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Intranet\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 97,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Espace priv\\xe9 de l'association\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 98,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 96,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 94,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"\\uD83D\\uDCE7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 103,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"Webmail\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 105,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Service de messagerie \\xe9lectronique\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 106,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 104,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 102,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-6 bg-white rounded-xl shadow-lg border border-gray-200 hover:shadow-xl transition-all duration-300 md:col-span-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center text-white text-xl font-bold shadow-lg\",\n children: \"☁️\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 111,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-2 text-lg\",\n children: \"OpenCloud\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 113,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600\",\n children: \"Plateforme cloud collaborative pour tous vos besoins\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 114,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 112,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 110,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 60,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-600 mt-6 p-4 bg-blue-50 rounded-lg border border-blue-200\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n className: \"text-blue-800\",\n children: \"\\uD83D\\uDCA1 Tous nos services\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 119,\n columnNumber: 15\n }, undefined),\n \" sont maintenus avec soin et r\\xe9guli\\xe8rement mis \\xe0 jour pour garantir une exp\\xe9rience optimale.\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 118,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 59,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 54,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83E\\uDD1D Rejoindre l'association\",\n isOpen: openAccordion === \"community\",\n onToggle: ()=>toggleAccordion(\"community\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-8 p-6 bg-gray-50 rounded-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-gray-700 text-lg leading-relaxed\",\n children: \"Rejoignez notre serveur Discord pour rejoindre l'asso, \\xe9changer avec nous, obtenir de l'aide et rester inform\\xe9 des derni\\xe8res nouveaut\\xe9s !\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 130,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-r from-blue-50 to-indigo-50 border-2 border-blue-200 rounded-2xl p-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-gray-900 mb-6 flex items-center text-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl mr-3\",\n children: \"\\uD83D\\uDCAC\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 136,\n columnNumber: 17\n }, undefined),\n \"Comment rejoindre l'asso ?\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 135,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-4 text-gray-700 mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center text-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 bg-blue-500 rounded-full mr-4\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 141,\n columnNumber: 19\n }, undefined),\n \"Cr\\xe9ez un ticket banquise\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 140,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center text-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 bg-blue-500 rounded-full mr-4\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 145,\n columnNumber: 19\n }, undefined),\n \"Donnez votre login EPITA ou expliquez votre situation\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 144,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center text-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-2 h-2 bg-blue-500 rounded-full mr-4\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 149,\n columnNumber: 19\n }, undefined),\n \"Un mod\\xe9rateur validera votre demande et vous donnera acc\\xe8s aux salons discord de l'asso !\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 148,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 139,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_3__.URLS.social.discord,\n className: \"inline-flex items-center justify-center px-8 py-4 text-lg font-bold text-white bg-gradient-to-r from-blue-600 to-blue-500 rounded-xl shadow-xl hover:shadow-2xl hover:from-blue-700 hover:to-blue-600 transition-all duration-300 transform hover:scale-105 border-2 border-blue-600/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-3 text-xl\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 158,\n columnNumber: 17\n }, undefined),\n \"Rejoindre Discord\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 154,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 134,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 129,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 124,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 27,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 12,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/AboutSection.tsx\",\n lineNumber: 11,\n columnNumber: 3\n }, undefined);\n};\n_c = AboutSection;\nvar _c;\n$RefreshReg$(_c, \"AboutSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvc2VjdGlvbnMvQWJvdXRTZWN0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTBCO0FBQ29DO0FBQ2hCO0FBT3ZDLE1BQU1HLGVBQTRDO1FBQUMsRUFBRUMsYUFBYSxFQUFFQyxlQUFlLEVBQUU7eUJBQzFGLDhEQUFDQztRQUFRQyxJQUFHO1FBQVFDLFdBQVU7a0JBQzVCLDRFQUFDQztZQUFJRCxXQUFVOzs4QkFFYiw4REFBQ0M7b0JBQUlELFdBQVU7O3NDQUViLDhEQUFDQzs0QkFBSUQsV0FBVTs7Ozs7O3NDQUVmLDhEQUFDRTs0QkFBR0YsV0FBVTtzQ0FBOEU7Ozs7OztzQ0FHNUYsOERBQUNHOzRCQUFFSCxXQUFVO3NDQUFpRjs7Ozs7Ozs7Ozs7OzhCQU1oRyw4REFBQ0M7b0JBQUlELFdBQVU7O3NDQUNiLDhEQUFDSTs0QkFBR0osV0FBVTs7OENBQ1osOERBQUNLO29DQUFLTCxXQUFVOzhDQUF5Rjs7Ozs7OzhDQUN6Ryw4REFBQ0s7OENBQUs7Ozs7Ozs7Ozs7OztzQ0FHUiw4REFBQ1osdUVBQWFBOzRCQUNaYSxPQUFNOzRCQUNOQyxRQUFRWCxrQkFBa0I7NEJBQzFCWSxVQUFVLElBQU1YLGdCQUFnQjtzQ0FFaEMsNEVBQUNJO2dDQUFJRCxXQUFVOztrREFDYiw4REFBQ0c7d0NBQUVILFdBQVU7a0RBQWdDOzs7Ozs7a0RBSTdDLDhEQUFDRzt3Q0FBRUgsV0FBVTtrREFBZ0M7Ozs7OztrREFHN0MsOERBQUNDO3dDQUFJRCxXQUFVOzswREFDYiw4REFBQ0s7Z0RBQUtMLFdBQVU7MERBQWdHOzs7Ozs7MERBQ2hILDhEQUFDSztnREFBS0wsV0FBVTswREFBZ0c7Ozs7OzswREFDaEgsOERBQUNLO2dEQUFLTCxXQUFVOzBEQUFnRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBS3RILDhEQUFDUCx1RUFBYUE7NEJBQ1phLE9BQU07NEJBQ05DLFFBQVFYLGtCQUFrQjs0QkFDMUJZLFVBQVUsSUFBTVgs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OzswREFLbkUsOERBQUNhO2dEQUNDQyxNQUFNcEIsdURBQUlBLENBQUNxQixNQUFNLENBQUNDLE9BQU87Z0RBQ3pCaEIsV0FBVTs7a0VBRVYsOERBQUNLO3dEQUFLTCxXQUFVO2tFQUFlOzs7Ozs7b0RBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBU3REO0tBN0pXTCIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9jb21wb25lbnRzL3NlY3Rpb25zL0Fib3V0U2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEFjY29yZGlvbkl0ZW0gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQWNjb3JkaW9uSXRlbSc7XG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnQC9saWIvY29uZmlnL2NvbnN0YW50cyc7XG5cbmludGVyZmFjZSBBYm91dFNlY3Rpb25Qcm9wcyB7XG4gIG9wZW5BY2NvcmRpb246IHN0cmluZyB8IG51bGw7XG4gIHRvZ2dsZUFjY29yZGlvbjogKHRpdGxlOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBBYm91dFNlY3Rpb246IFJlYWN0LkZDPEFib3V0U2VjdGlvblByb3BzPiA9ICh7IG9wZW5BY2NvcmRpb24sIHRvZ2dsZUFjY29yZGlvbiB9KSA9PiAoXG4gIDxzZWN0aW9uIGlkPVwiYWJvdXRcIiBjbGFzc05hbWU9XCJweS0yNCBtZDpweS0zMiBweC00IHNtOnB4LTYgbGc6cHgtOCBiZy13aGl0ZVwiPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNnhsIG14LWF1dG9cIj5cbiAgICAgIHsvKiBIZWFkZXIgZGUgc2VjdGlvbiBtb2Rlcm5lICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0yMFwiPlxuICAgICAgICB7LyogU8OpcGFyYXRldXIgdmlzdWVsICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjQgaC0xLjUgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNjAwIHRvLWJsdWUtNDAwIHJvdW5kZWQtZnVsbCBteC1hdXRvIG1iLThcIiAvPlxuICAgICAgICBcbiAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtM3hsIG1kOnRleHQtNHhsIGxnOnRleHQtNXhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIG1iLTYgbGVhZGluZy10aWdodFwiPlxuICAgICAgICAgIMOAIFByb3BvcyBkZSBMYSBCYW5xdWlzZVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIG1kOnRleHQteGwgdGV4dC1ncmF5LTcwMCBtYXgtdy00eGwgbXgtYXV0byBsZWFkaW5nLXJlbGF4ZWQgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICBVbmUgY29tbXVuYXV0w6kgcGFzc2lvbm7DqWUgcXVpIHByb3Bvc2UgZGVzIHNlcnZpY2VzIGQmYXBvcztow6liZXJnZW1lbnQgZXQgZGVzIG91dGlscyBjb2xsYWJvcmF0aWZzIHBvdXIgbGVzIGTDqXZlbG9wcGV1cnMgZXQgbGVzIGdhbWVycy5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBTZWN0aW9uIEZBUSBhdmVjIGRlc2lnbiBtb2Rlcm5lICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LThcIj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWdyYXktODAwIG1iLTEyIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC0zeGwgbXItNCBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS02MDAgdG8tYmx1ZS00MDAgYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnRcIj7inZM8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+UXVlc3Rpb25zIEZyw6lxdWVudGVzPC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICBcbiAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICB0aXRsZT1cIvCfjq8gTm90cmUgTWlzc2lvblwiXG4gICAgICAgICAgaXNPcGVuPXtvcGVuQWNjb3JkaW9uID09PSBcIm1pc3Npb25cIn1cbiAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gdG9nZ2xlQWNjb3JkaW9uKFwibWlzc2lvblwiKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS02IHAtNiBiZy1ncmF5LTUwIHJvdW5kZWQteGxcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkXCI+XG4gICAgICAgICAgICAgIEZvcm1lciBsZXMgw6l0dWRpYW50cyBhdSBkw6lwbG9pZW1lbnQgZXQgw6AgbGEgZ2VzdGlvbiBkJmFwb3M7dW5lIGluZnJhc3RydWN0dXJlLCBldCBkZSBtYcOudHJpc2VyIGRlcyB0ZWNobm9sb2dpZXMgZW50cmVwcmlzZSBncmFkZS5cbiAgICAgICAgICAgICAgQ2VsYSBwZXJtZXQgZGUgZm91cm5pciB1bmUgcGxhdGVmb3JtZSBzdGFibGUgZXQgYWNjZXNzaWJsZSBwb3VyIGjDqWJlcmdlciB2b3MgcHJvamV0cywgcGFydGFnZXIgdm9zIGNvbm5haXNzYW5jZXMgZXQgam91ZXIgZW5zZW1ibGUgIVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWRcIj5cbiAgICAgICAgICAgICAgTm91cyBjcm95b25zIGVuIGxhIHB1aXNzYW5jZSBkZSBsYSBjb2xsYWJvcmF0aW9uIGV0IG1ldHRvbnMgw6AgZGlzcG9zaXRpb24gZGVzIG91dGlscyBtb2Rlcm5lcyBwb3VyIGZhY2lsaXRlciBsZSB0cmF2YWlsIGVuIMOpcXVpcGUuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC13cmFwIGdhcC0zIG10LTZcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTgwMCBweC00IHB5LTIgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCBib3JkZXIgYm9yZGVyLWJsdWUtMjAwXCI+Q29sbGFib3JhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTgwMCBweC00IHB5LTIgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCBib3JkZXIgYm9yZGVyLWJsdWUtMjAwXCI+SW5ub3ZhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTgwMCBweC00IHB5LTIgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCBib3JkZXIgYm9yZGVyLWJsdWUtMjAwXCI+QWNjZXNzaWJpbGl0w6k8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9BY2NvcmRpb25JdGVtPlxuXG4gICAgICAgIDxBY2NvcmRpb25JdGVtXG4gICAgICAgICAgdGl0bGU9XCLwn5ug77iPIE5vcyBTZXJ2aWNlc1wiXG4gICAgICAgICAgaXNPcGVuPXtvcGVuQWNjb3JkaW9uID09PSBcInNlcnZpY2VzXCJ9XG4gICAgICAgICAgb25Ub2dnbGU9eygpID0+IHRvZ2dsZUFjY29yZGlvbihcInNlcnZpY2VzXCIpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTYgcC02IGJnLWdyYXktNTAgcm91bmRlZC14bFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdhcC02IG1kOmdyaWQtY29scy0yXCI+XG4gICAgICAgICAgICAgIHsvKiBDYXJ0ZXMgZGUgc2VydmljZXMgYXZlYyBkZXNpZ24gbW9kZXJuZSAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTYgYmctd2hpdGUgcm91bmRlZC14bCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTYwMCByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgdGV4dC14bCBmb250LWJvbGQgc2hhZG93LWxnXCI+8J+TmjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMiB0ZXh0LWxnXCI+V2lraTwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNjAwXCI+RG9jdW1lbnRhdGlvbiBjb2xsYWJvcmF0aXZlIGV0IGd1aWRlcyBkw6l0YWlsbMOpczwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC00IHAtNiBiZy13aGl0ZSByb3VuZGVkLXhsIHNoYWRvdy1sZyBib3JkZXIgYm9yZGVyLWdyYXktMjAwIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTIgaC0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWJsdWUtNjAwIHJvdW5kZWQteGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSB0ZXh0LXhsIGZvbnQtYm9sZCBzaGFkb3ctbGdcIj7wn5SnPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBtYi0yIHRleHQtbGdcIj5HaXRlYTwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNjAwXCI+R2VzdGlvbiBkZSB2ZXJzaW9ucyBHaXQgYXV0by1ow6liZXJnw6llPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1zdGFydCBzcGFjZS14LTQgcC02IGJnLXdoaXRlIHJvdW5kZWQteGwgc2hhZG93LWxnIGJvcmRlciBib3JkZXItZ3JheS0yMDAgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMiBoLTEyIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8tYmx1ZS02MDAgcm91bmRlZC14bCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHRleHQteGwgZm9udC1ib2xkIHNoYWRvdy1sZ1wiPvCfjq48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIG1iLTIgdGV4dC1sZ1wiPlBhbmVsIGRlIEpldXg8L2g0PlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTYwMFwiPkludGVyZmFjZSBkZSBnZXN0aW9uIHBvdXIgc2VydmV1cnMgZGUgamV1eDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTYgYmctd2hpdGUgcm91bmRlZC14bCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTYwMCByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgdGV4dC14bCBmb250LWJvbGQgc2hhZG93LWxnXCI+8J+QpzwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMiB0ZXh0LWxnXCI+UGVsaWNhbjwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNjAwXCI+R8OpbsOpcmF0ZXVyIGRlIHNpdGVzIHN0YXRpcXVlczwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTYgYmctd2hpdGUgcm91bmRlZC14bCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTYwMCByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgdGV4dC14bCBmb250LWJvbGQgc2hhZG93LWxnXCI+8J+PojwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMiB0ZXh0LWxnXCI+SW50cmFuZXQ8L2g0PlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTYwMFwiPkVzcGFjZSBwcml2w6kgZGUgbCZhcG9zO2Fzc29jaWF0aW9uPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC00IHAtNiBiZy13aGl0ZSByb3VuZGVkLXhsIHNoYWRvdy1sZyBib3JkZXIgYm9yZGVyLWdyYXktMjAwIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTIgaC0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWJsdWUtNjAwIHJvdW5kZWQteGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSB0ZXh0LXhsIGZvbnQtYm9sZCBzaGFkb3ctbGdcIj7wn5OnPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBtYi0yIHRleHQtbGdcIj5XZWJtYWlsPC9oND5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS02MDBcIj5TZXJ2aWNlIGRlIG1lc3NhZ2VyaWUgw6lsZWN0cm9uaXF1ZTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTYgYmctd2hpdGUgcm91bmRlZC14bCBzaGFkb3ctbGcgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG1kOmNvbC1zcGFuLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTIgaC0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWJsdWUtNjAwIHJvdW5kZWQteGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSB0ZXh0LXhsIGZvbnQtYm9sZCBzaGFkb3ctbGdcIj7imIHvuI88L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIG1iLTIgdGV4dC1sZ1wiPk9wZW5DbG91ZDwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNjAwXCI+UGxhdGVmb3JtZSBjbG91ZCBjb2xsYWJvcmF0aXZlIHBvdXIgdG91cyB2b3MgYmVzb2luczwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JheS02MDAgbXQtNiBwLTQgYmctYmx1ZS01MCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYmx1ZS0yMDBcIj5cbiAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9XCJ0ZXh0LWJsdWUtODAwXCI+8J+SoSBUb3VzIG5vcyBzZXJ2aWNlczwvc3Ryb25nPiBzb250IG1haW50ZW51cyBhdmVjIHNvaW4gZXQgcsOpZ3VsacOocmVtZW50IG1pcyDDoCBqb3VyIHBvdXIgZ2FyYW50aXIgdW5lIGV4cMOpcmllbmNlIG9wdGltYWxlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0FjY29yZGlvbkl0ZW0+XG5cbiAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICB0aXRsZT1cIvCfpJ0gUmVqb2luZHJlIGwnYXNzb2NpYXRpb25cIlxuICAgICAgICAgIGlzT3Blbj17b3BlbkFjY29yZGlvbiA9PT0gXCJjb21tdW5pdHlcIn1cbiAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gdG9nZ2xlQWNjb3JkaW9uKFwiY29tbXVuaXR5XCIpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTggcC02IGJnLWdyYXktNTAgcm91bmRlZC14bFwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTcwMCB0ZXh0LWxnIGxlYWRpbmctcmVsYXhlZFwiPlxuICAgICAgICAgICAgICBSZWpvaWduZXogbm90cmUgc2VydmV1ciBEaXNjb3JkIHBvdXIgcmVqb2luZHJlIGwmYXBvczthc3NvLCDDqWNoYW5nZXIgYXZlYyBub3VzLCBvYnRlbmlyIGRlIGwmYXBvczthaWRlIGV0IHJlc3RlciBpbmZvcm3DqSBkZXMgZGVybmnDqHJlcyBub3V2ZWF1dMOpcyAhXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNTAgdG8taW5kaWdvLTUwIGJvcmRlci0yIGJvcmRlci1ibHVlLTIwMCByb3VuZGVkLTJ4bCBwLThcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIG1iLTYgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC14bFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIG1yLTNcIj7wn5KsPC9zcGFuPlxuICAgICAgICAgICAgICAgIENvbW1lbnQgcmVqb2luZHJlIGwmYXBvczthc3NvID9cbiAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNwYWNlLXktNCB0ZXh0LWdyYXktNzAwIG1iLThcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1sZ1wiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidy0yIGgtMiBiZy1ibHVlLTUwMCByb3VuZGVkLWZ1bGwgbXItNFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIENyw6lleiB1biB0aWNrZXQgYmFucXVpc2VcbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWxnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBtci00XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgRG9ubmV6IHZvdHJlIGxvZ2luIEVQSVRBIG91IGV4cGxpcXVleiB2b3RyZSBzaXR1YXRpb25cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWxnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBtci00XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgVW4gbW9kw6lyYXRldXIgdmFsaWRlcmEgdm90cmUgZGVtYW5kZSBldCB2b3VzIGRvbm5lcmEgYWNjw6hzIGF1eCBzYWxvbnMgZGlzY29yZCBkZSBsJmFwb3M7YXNzbyAhXG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDxhIFxuICAgICAgICAgICAgICAgIGhyZWY9e1VSTFMuc29jaWFsLmRpc2NvcmR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTggcHktNCB0ZXh0LWxnIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTYwMCB0by1ibHVlLTUwMCByb3VuZGVkLXhsIHNoYWRvdy14bCBob3ZlcjpzaGFkb3ctMnhsIGhvdmVyOmZyb20tYmx1ZS03MDAgaG92ZXI6dG8tYmx1ZS02MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMDUgYm9yZGVyLTIgYm9yZGVyLWJsdWUtNjAwLzIwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTMgdGV4dC14bFwiPvCfmoA8L3NwYW4+XG4gICAgICAgICAgICAgICAgUmVqb2luZHJlIERpc2NvcmRcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQWNjb3JkaW9uSXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQWNjb3JkaW9uSXRlbSIsIlVSTFMiLCJBYm91dFNlY3Rpb24iLCJvcGVuQWNjb3JkaW9uIiwidG9nZ2xlQWNjb3JkaW9uIiwic2VjdGlvbiIsImlkIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwiaDMiLCJzcGFuIiwidGl0bGUiLCJpc09wZW4iLCJvblRvZ2dsZSIsImg0Iiwic3Ryb25nIiwidWwiLCJsaSIsImEiLCJocmVmIiwic29jaWFsIiwiZGlzY29yZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/sections/AboutSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/sections/HeroSection.tsx":
/*!*********************************************!*\
!*** ./components/sections/HeroSection.tsx ***!
\*********************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeroSection: () => (/* binding */ HeroSection)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js\");\n\n\n\nconst HeroSection = (param)=>{\n let { translations } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"home\",\n className: \"min-h-screen flex flex-col justify-center items-center text-center relative px-4 sm:px-6 lg:px-8 bg-gradient-to-br from-gray-50 via-blue-50/30 to-gray-100\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 opacity-20\",\n style: {\n backgroundImage: 'radial-gradient(circle at 1px 1px, rgba(59,130,246,0.3) 1px, transparent 0)',\n backgroundSize: '40px 40px'\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 max-w-5xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-16 group\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative inline-block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-blue-400/30 rounded-3xl blur-3xl opacity-0 group-hover:opacity-100 transition-all duration-700 scale-150\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 30,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-white/90 backdrop-blur-lg rounded-3xl p-10 border border-blue-200/50 shadow-2xl transition-all duration-500 group-hover:shadow-blue-200/50 group-hover:shadow-3xl group-hover:scale-105\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: \"/assets/banquise_server.svg\",\n alt: translations.title,\n width: 140,\n height: 140,\n className: \"w-28 h-28 md:w-32 md:h-32 lg:w-36 lg:h-36 transition-transform duration-500 group-hover:scale-110\",\n style: {\n filter: 'drop-shadow(0 8px 24px rgba(59, 130, 246, 0.4))'\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 34,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 27,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl md:text-5xl lg:text-7xl font-bold leading-tight tracking-tight mb-8 bg-gradient-to-r from-gray-900 via-blue-700 to-gray-900 bg-clip-text text-transparent\",\n children: translations.title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 49,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl lg:text-2xl text-gray-700 mx-auto max-w-3xl mb-14 leading-relaxed font-medium\",\n children: translations.subtitle\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, undefined),\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 mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#services\",\n onClick: (e)=>{\n var _document_getElementById;\n e.preventDefault();\n (_document_getElementById = document.getElementById('services')) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n className: \"group relative inline-flex items-center justify-center px-12 py-5 text-lg font-bold text-white bg-gradient-to-r from-blue-600 to-blue-500 rounded-2xl shadow-2xl hover:shadow-blue-500/50 transition-all duration-300 transform hover:scale-110 hover:-translate-y-2 active:scale-95 border-2 border-blue-600/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500 rounded-2xl\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 73,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: translations.cta\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 75,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"relative z-10 ml-3 w-6 h-6 transition-transform duration-300 group-hover:translate-x-2\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2.5,\n d: \"M17 8l4 4m0 0l-4 4m4-4H3\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 76,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 61,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#about\",\n onClick: (e)=>{\n var _document_getElementById;\n e.preventDefault();\n (_document_getElementById = document.getElementById('about')) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n className: \"inline-flex items-center justify-center px-8 py-4 text-lg font-semibold text-blue-700 bg-white border-2 border-blue-600 rounded-xl shadow-lg hover:shadow-xl hover:bg-blue-50 hover:scale-105 transition-all duration-300 active:scale-95\",\n children: \"En savoir plus\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 59,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-12 left-1/2 transform -translate-x-1/2 animate-bounce\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm text-gray-500 font-medium\",\n children: \"D\\xe9couvrir\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 105,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-6 h-10 border-2 border-blue-400 rounded-full flex justify-center bg-white/50 backdrop-blur-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1.5 h-3 bg-blue-500 rounded-full mt-2 animate-pulse\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 107,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 106,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 104,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 103,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 24,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/HeroSection.tsx\",\n lineNumber: 10,\n columnNumber: 3\n }, undefined);\n};\n_c = HeroSection;\nvar _c;\n$RefreshReg$(_c, \"HeroSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvc2VjdGlvbnMvSGVyb1NlY3Rpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUEwQjtBQUNLO0FBT3hCLE1BQU1FLGNBQTBDO1FBQUMsRUFBRUMsWUFBWSxFQUFFO3lCQUN0RSw4REFBQ0M7UUFDQ0MsSUFBRztRQUNIQyxXQUFVOzswQkFHViw4REFBQ0M7Z0JBQ0NELFdBQVU7Z0JBQ1ZFLE9BQU87b0JBQ0xDLGlCQUFpQjtvQkFDakJDLGdCQUFnQjtnQkFDbEI7Ozs7OzswQkFJRiw4REFBQ0g7Z0JBQUlELFdBQVU7O2tDQUdiLDhEQUFDQzt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0M7NEJBQUlELFdBQVU7OzhDQUViLDhEQUFDQztvQ0FBSUQsV0FBVTs7Ozs7OzhDQUdmLDhEQUFDQztvQ0FBSUQsV0FBVTs4Q0FDYiw0RUFBQ0wsa0RBQUtBO3dDQUNKVSxLQUFJO3dDQUNKQyxLQUFLVCxhQUFhVSxLQUFLO3dDQUN2QkMsT0FBTzt3Q0FDUEMsUUFBUTt3Q0FDUlQsV0FBVTt3Q0FDVkUsT0FBTzs0Q0FDTFEsUUFBUTt3Q0FDVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FPUiw4REFBQ0M7d0JBQUdYLFdBQVU7a0NBQ1hILGFBQWFVLEtBQUs7Ozs7OztrQ0FJckIsOERBQUNLO3dCQUFFWixXQUFVO2tDQUNWSCxhQUFhZ0IsUUFBUTs7Ozs7O2tDQUl4Qiw4REFBQ1o7d0JBQUlELFdBQVU7OzBDQUViLDhEQUFDYztnQ0FDQ0MsTUFBSztnQ0FDTEMsU0FBUyxDQUFDQzt3Q0FFUkM7b0NBREFELEVBQUVFLGNBQWM7cUNBQ2hCRCwyQkFBQUEsU0FBU0UsY0FBYyxDQUFDLHlCQUF4QkYsK0NBQUFBLHlCQUFxQ0csY0FBYyxDQUFDO3dDQUNsREMsVUFBVTt3Q0FDVkMsT0FBTztvQ0FDVDtnQ0FDRjtnQ0FDQXZCLFdBQVU7O2tEQUdWLDhEQUFDQzt3Q0FBSUQsV0FBVTs7Ozs7O2tEQUVmLDhEQUFDd0I7d0NBQUt4QixXQUFVO2tEQUFpQkgsYUFBYTRCLEdBQUc7Ozs7OztrREFDakQsOERBQUNDO3dDQUNDMUIsV0FBVTt3Q0FDVjJCLE1BQUs7d0NBQ0xDLFFBQU87d0NBQ1BDLFNBQVE7a0RBRVIsNEVBQUNDOzRDQUFLQyxlQUFjOzRDQUFRQyxnQkFBZTs0Q0FBUUMsYUFBYTs0Q0FBS0MsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7MENBSzNFLDhEQUFDcEI7Z0NBQ0NDLE1BQUs7Z0NBQ0xDLFNBQVMsQ0FBQ0M7d0NBRVJDO29DQURBRCxFQUFFRSxjQUFjO3FDQUNoQkQsMkJBQUFBLFNBQVNFLGNBQWMsQ0FBQyxzQkFBeEJGLCtDQUFBQSx5QkFBa0NHLGNBQWMsQ0FBQzt3Q0FDL0NDLFVBQVU7d0NBQ1ZDLE9BQU87b0NBQ1Q7Z0NBQ0Y7Z0NBQ0F2QixXQUFVOzBDQUNYOzs7Ozs7Ozs7Ozs7a0NBTUgsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUN3QjtvQ0FBS3hCLFdBQVU7OENBQW9DOzs7Ozs7OENBQ3BELDhEQUFDQztvQ0FBSUQsV0FBVTs4Q0FDYiw0RUFBQ0M7d0NBQUlELFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNekI7S0F4R1dKIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvc2VjdGlvbnMvSGVyb1NlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSc7XG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnQC90eXBlcy9pMThuJztcblxuaW50ZXJmYWNlIEhlcm9TZWN0aW9uUHJvcHMge1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uWydoZXJvJ107XG59XG5cbmV4cG9ydCBjb25zdCBIZXJvU2VjdGlvbjogUmVhY3QuRkM8SGVyb1NlY3Rpb25Qcm9wcz4gPSAoeyB0cmFuc2xhdGlvbnMgfSkgPT4gKFxuICA8c2VjdGlvbiBcbiAgICBpZD1cImhvbWVcIiBcbiAgICBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgdGV4dC1jZW50ZXIgcmVsYXRpdmUgcHgtNCBzbTpweC02IGxnOnB4LTggYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ncmF5LTUwIHZpYS1ibHVlLTUwLzMwIHRvLWdyYXktMTAwXCJcbiAgPlxuICAgIHsvKiBNb3RpZiBkZSBmb25kIHN1YnRpbCBhdmVjIGdyaWxsZSAqL31cbiAgICA8ZGl2IFxuICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTIwXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmRJbWFnZTogJ3JhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMXB4IDFweCwgcmdiYSg1OSwxMzAsMjQ2LDAuMykgMXB4LCB0cmFuc3BhcmVudCAwKScsXG4gICAgICAgIGJhY2tncm91bmRTaXplOiAnNDBweCA0MHB4J1xuICAgICAgfX1cbiAgICAvPlxuICAgIFxuICAgIHsvKiBDb250ZW51IHByaW5jaXBhbCAqL31cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTAgbWF4LXctNXhsIG14LWF1dG9cIj5cbiAgICAgIFxuICAgICAgey8qIExvZ28gcHJpbmNpcGFsIGF2ZWMgZWZmZXQgbW9kZXJuZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItMTYgZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICB7LyogRWZmZXQgZGUgZ2xvdyBhdSBob3ZlciAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmx1ZS00MDAvMzAgcm91bmRlZC0zeGwgYmx1ci0zeGwgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTcwMCBzY2FsZS0xNTBcIiAvPlxuICAgICAgICAgIFxuICAgICAgICAgIHsvKiBDb250YWluZXIgZHUgbG9nbyBhdmVjIGdsYXNzbW9ycGhpc20gKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBiZy13aGl0ZS85MCBiYWNrZHJvcC1ibHVyLWxnIHJvdW5kZWQtM3hsIHAtMTAgYm9yZGVyIGJvcmRlci1ibHVlLTIwMC81MCBzaGFkb3ctMnhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBncm91cC1ob3ZlcjpzaGFkb3ctYmx1ZS0yMDAvNTAgZ3JvdXAtaG92ZXI6c2hhZG93LTN4bCBncm91cC1ob3ZlcjpzY2FsZS0xMDVcIj5cbiAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICBzcmM9XCIvYXNzZXRzL2JhbnF1aXNlX3NlcnZlci5zdmdcIlxuICAgICAgICAgICAgICBhbHQ9e3RyYW5zbGF0aW9ucy50aXRsZX1cbiAgICAgICAgICAgICAgd2lkdGg9ezE0MH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXsxNDB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctMjggaC0yOCBtZDp3LTMyIG1kOmgtMzIgbGc6dy0zNiBsZzpoLTM2IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTUwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICBzdHlsZT17eyBcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdkcm9wLXNoYWRvdygwIDhweCAyNHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpKScgXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICB7LyogVGl0cmUgcHJpbmNpcGFsIGF2ZWMgZ3JhZGllbnQgbW9kZXJuZSAqL31cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTR4bCBtZDp0ZXh0LTV4bCBsZzp0ZXh0LTd4bCBmb250LWJvbGQgbGVhZGluZy10aWdodCB0cmFja2luZy10aWdodCBtYi04IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ncmF5LTkwMCB2aWEtYmx1ZS03MDAgdG8tZ3JheS05MDAgYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnRcIj5cbiAgICAgICAge3RyYW5zbGF0aW9ucy50aXRsZX1cbiAgICAgIDwvaDE+XG4gICAgICBcbiAgICAgIHsvKiBTb3VzLXRpdHJlIGF2ZWMgY29udHJhc3RlIGFtw6lsaW9yw6kgKi99XG4gICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIG1kOnRleHQteGwgbGc6dGV4dC0yeGwgdGV4dC1ncmF5LTcwMCBteC1hdXRvIG1heC13LTN4bCBtYi0xNCBsZWFkaW5nLXJlbGF4ZWQgZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3RyYW5zbGF0aW9ucy5zdWJ0aXRsZX1cbiAgICAgIDwvcD5cbiAgICAgIFxuICAgICAgey8qIENhbGwtdG8tYWN0aW9uIHN1cGVyIG1pcyBlbiB2YWxldXIgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTYganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIG1iLTIwXCI+XG4gICAgICAgIHsvKiBCb3V0b24gcHJpbmNpcGFsIHRyw6hzIHZpc2libGUgKi99XG4gICAgICAgIDxhIFxuICAgICAgICAgIGhyZWY9XCIjc2VydmljZXNcIiBcbiAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlcnZpY2VzJyk/LnNjcm9sbEludG9WaWV3KHsgXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTEyIHB5LTUgdGV4dC1sZyBmb250LWJvbGQgdGV4dC13aGl0ZSBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS02MDAgdG8tYmx1ZS01MDAgcm91bmRlZC0yeGwgc2hhZG93LTJ4bCBob3ZlcjpzaGFkb3ctYmx1ZS01MDAvNTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMTAgaG92ZXI6LXRyYW5zbGF0ZS15LTIgYWN0aXZlOnNjYWxlLTk1IGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMC8yMFwiXG4gICAgICAgID5cbiAgICAgICAgICB7LyogRWZmZXQgZGUgYnJpbGxhbmNlIGF1IGhvdmVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLXdoaXRlLzIwIHRvLXRyYW5zcGFyZW50IG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tNTAwIHJvdW5kZWQtMnhsXCIgLz5cbiAgICAgICAgICBcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwXCI+e3RyYW5zbGF0aW9ucy5jdGF9PC9zcGFuPlxuICAgICAgICAgIDxzdmcgXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwIG1sLTMgdy02IGgtNiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMlwiIFxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIiBcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIFxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyLjV9IGQ9XCJNMTcgOGw0IDRtMCAwbC00IDRtNC00SDNcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICAgIFxuICAgICAgICB7LyogQm91dG9uIHNlY29uZGFpcmUgw6lwdXLDqSAqL31cbiAgICAgICAgPGEgXG4gICAgICAgICAgaHJlZj1cIiNhYm91dFwiIFxuICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWJvdXQnKT8uc2Nyb2xsSW50b1ZpZXcoeyBcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICBibG9jazogJ3N0YXJ0J1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtOCBweS00IHRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtNzAwIGJnLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMCByb3VuZGVkLXhsIHNoYWRvdy1sZyBob3ZlcjpzaGFkb3cteGwgaG92ZXI6YmctYmx1ZS01MCBob3ZlcjpzY2FsZS0xMDUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGFjdGl2ZTpzY2FsZS05NVwiXG4gICAgICAgID5cbiAgICAgICAgICBFbiBzYXZvaXIgcGx1c1xuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIEluZGljYXRldXIgZGUgc2Nyb2xsIG1vZGVybmUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS0xMiBsZWZ0LTEvMiB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS14LTEvMiBhbmltYXRlLWJvdW5jZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHNwYWNlLXktMlwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTUwMCBmb250LW1lZGl1bVwiPkTDqWNvdXZyaXI8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTYgaC0xMCBib3JkZXItMiBib3JkZXItYmx1ZS00MDAgcm91bmRlZC1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgYmctd2hpdGUvNTAgYmFja2Ryb3AtYmx1ci1zbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEuNSBoLTMgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG10LTIgYW5pbWF0ZS1wdWxzZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbik7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJJbWFnZSIsIkhlcm9TZWN0aW9uIiwidHJhbnNsYXRpb25zIiwic2VjdGlvbiIsImlkIiwiY2xhc3NOYW1lIiwiZGl2Iiwic3R5bGUiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kU2l6ZSIsInNyYyIsImFsdCIsInRpdGxlIiwid2lkdGgiLCJoZWlnaHQiLCJmaWx0ZXIiLCJoMSIsInAiLCJzdWJ0aXRsZSIsImEiLCJocmVmIiwib25DbGljayIsImUiLCJkb2N1bWVudCIsInByZXZlbnREZWZhdWx0IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwiYmxvY2siLCJzcGFuIiwiY3RhIiwic3ZnIiwiZmlsbCIsInN0cm9rZSIsInZpZXdCb3giLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/sections/HeroSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/sections/ServicesSection.tsx":
/*!*************************************************!*\
!*** ./components/sections/ServicesSection.tsx ***!
\*************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ServicesSection: () => (/* binding */ ServicesSection)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _components_common_ServiceCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/common/ServiceCard */ \"(app-pages-browser)/./components/common/ServiceCard.tsx\");\n\n\n\nconst ServicesSection = (param)=>{\n let { services, onServiceClick, translations } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"services\",\n className: \"py-24 md:py-32 px-4 sm:px-6 lg:px-8 bg-gradient-to-br from-white via-blue-50/30 to-gray-50\",\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-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-24 h-1.5 bg-gradient-to-r from-blue-600 to-blue-400 rounded-full mx-auto mb-8\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 26,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl md:text-4xl lg:text-5xl font-bold text-gray-900 mb-6 leading-tight\",\n children: \"Nos Services\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl text-gray-700 mx-auto max-w-3xl leading-relaxed font-medium\",\n children: translations.discoverFeatures\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 34,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 lg:gap-12\",\n children: services.map((service)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_common_ServiceCard__WEBPACK_IMPORTED_MODULE_2__.ServiceCard, {\n service: service,\n onServiceClick: onServiceClick\n }, service.name, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 42,\n columnNumber: 11\n }, undefined))\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 40,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/ServicesSection.tsx\",\n lineNumber: 18,\n columnNumber: 3\n }, undefined);\n};\n_c = ServicesSection;\nvar _c;\n$RefreshReg$(_c, \"ServicesSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvc2VjdGlvbnMvU2VydmljZXNTZWN0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEI7QUFDb0M7QUFXdkQsTUFBTUUsa0JBQWtEO1FBQUMsRUFDOURDLFFBQVEsRUFDUkMsY0FBYyxFQUNkQyxZQUFZLEVBQ2I7eUJBQ0MsOERBQUNDO1FBQ0NDLElBQUc7UUFDSEMsV0FBVTtrQkFFViw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNDO29CQUFJRCxXQUFVOztzQ0FFYiw4REFBQ0M7NEJBQUlELFdBQVU7Ozs7OztzQ0FHZiw4REFBQ0U7NEJBQUdGLFdBQVU7c0NBQThFOzs7Ozs7c0NBSzVGLDhEQUFDRzs0QkFBRUgsV0FBVTtzQ0FDVkgsYUFBYU8sZ0JBQWdCOzs7Ozs7Ozs7Ozs7OEJBS2xDLDhEQUFDSDtvQkFBSUQsV0FBVTs4QkFDWkwsU0FBU1UsR0FBRyxDQUFDLENBQUNDLHdCQUNiLDhEQUFDYix1RUFBV0E7NEJBRVZhLFNBQVNBOzRCQUNUVixnQkFBZ0JBOzJCQUZYVSxRQUFRQyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFRM0I7S0F0Q1diIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvc2VjdGlvbnMvU2VydmljZXNTZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VydmljZUNhcmQgfSBmcm9tICdAL2NvbXBvbmVudHMvY29tbW9uL1NlcnZpY2VDYXJkJztcbmltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJ0AvdHlwZXMvc2VydmljZSc7XG5cbmludGVyZmFjZSBTZXJ2aWNlc1NlY3Rpb25Qcm9wcyB7XG4gIHNlcnZpY2VzOiBTZXJ2aWNlW107XG4gIG9uU2VydmljZUNsaWNrOiAoc2VydmljZTogU2VydmljZSkgPT4gdm9pZDtcbiAgdHJhbnNsYXRpb25zOiB7XG4gICAgZGlzY292ZXJGZWF0dXJlczogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgU2VydmljZXNTZWN0aW9uOiBSZWFjdC5GQzxTZXJ2aWNlc1NlY3Rpb25Qcm9wcz4gPSAoeyBcbiAgc2VydmljZXMsIFxuICBvblNlcnZpY2VDbGljayxcbiAgdHJhbnNsYXRpb25zXG59KSA9PiAoXG4gIDxzZWN0aW9uIFxuICAgIGlkPVwic2VydmljZXNcIiBcbiAgICBjbGFzc05hbWU9XCJweS0yNCBtZDpweS0zMiBweC00IHNtOnB4LTYgbGc6cHgtOCBiZy1ncmFkaWVudC10by1iciBmcm9tLXdoaXRlIHZpYS1ibHVlLTUwLzMwIHRvLWdyYXktNTBcIlxuICA+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy03eGwgbXgtYXV0b1wiPlxuICAgICAgey8qIEhlYWRlciBkZSBzZWN0aW9uIG1vZGVybmUgYXZlYyBmb3J0ZSBoacOpcmFyY2hpZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgbWItMjBcIj5cbiAgICAgICAgey8qIFPDqXBhcmF0ZXVyIHZpc3VlbCBtb2Rlcm5lICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjQgaC0xLjUgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNjAwIHRvLWJsdWUtNDAwIHJvdW5kZWQtZnVsbCBteC1hdXRvIG1iLThcIiAvPlxuICAgICAgICBcbiAgICAgICAgey8qIFRpdHJlIHByaW5jaXBhbCBhdmVjIGNvbnRyYXN0ZSBmb3J0ICovfVxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgbGc6dGV4dC01eGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItNiBsZWFkaW5nLXRpZ2h0XCI+XG4gICAgICAgICAgTm9zIFNlcnZpY2VzXG4gICAgICAgIDwvaDI+XG4gICAgICAgIFxuICAgICAgICB7LyogU291cy10aXRyZSBhdmVjIGJvbiBjb250cmFzdGUgKi99XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LWdyYXktNzAwIG14LWF1dG8gbWF4LXctM3hsIGxlYWRpbmctcmVsYXhlZCBmb250LW1lZGl1bVwiPlxuICAgICAgICAgIHt0cmFuc2xhdGlvbnMuZGlzY292ZXJGZWF0dXJlc31cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIHsvKiBHcmlsbGUgZGUgc2VydmljZXMgYXZlYyBlc3BhY2VtZW50IGfDqW7DqXJldXggKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTggbGc6Z2FwLTEyXCI+XG4gICAgICAgIHtzZXJ2aWNlcy5tYXAoKHNlcnZpY2UpID0+IChcbiAgICAgICAgICA8U2VydmljZUNhcmRcbiAgICAgICAgICAgIGtleT17c2VydmljZS5uYW1lfVxuICAgICAgICAgICAgc2VydmljZT17c2VydmljZX1cbiAgICAgICAgICAgIG9uU2VydmljZUNsaWNrPXtvblNlcnZpY2VDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU2VydmljZUNhcmQiLCJTZXJ2aWNlc1NlY3Rpb24iLCJzZXJ2aWNlcyIsIm9uU2VydmljZUNsaWNrIiwidHJhbnNsYXRpb25zIiwic2VjdGlvbiIsImlkIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwiZGlzY292ZXJGZWF0dXJlcyIsIm1hcCIsInNlcnZpY2UiLCJuYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/sections/ServicesSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/sections/TechFeaturesSection.tsx":
/*!*****************************************************!*\
!*** ./components/sections/TechFeaturesSection.tsx ***!
\*****************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TechFeaturesSection: () => (/* binding */ TechFeaturesSection)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\n\nconst TechFeaturesSection = ()=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"py-12 sm:py-16 md:py-20 relative z-2 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-banquise-gray text-2xl sm:text-3xl md:text-4xl mb-4 sm:mb-6 text-center font-heading font-bold tracking-tight px-2\",\n style: {\n textShadow: '0 2px 4px rgba(0, 0, 0, 0.2)'\n },\n children: \"Notre Infrastructure\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray text-lg sm:text-xl opacity-90 mb-12 sm:mb-14 md:mb-16 max-w-4xl text-center mx-auto leading-relaxed px-2\",\n style: {\n textShadow: '0 1px 3px rgba(0, 0, 0, 0.2)'\n },\n children: \"25+ serveurs pour r\\xe9pondre \\xe0 vos besoins\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 9,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-4 sm:gap-6 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 15,\n columnNumber: 3\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"Serveurs performants\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Infrastructure optimis\\xe9e pour assurer des performances \\xe9lev\\xe9es et une disponibilit\\xe9 maximale de vos applications\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDCBE\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"Stockage s\\xe9curis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 26,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Solutions de stockage distribu\\xe9es avec redondance pour garantir l'int\\xe9grit\\xe9 et la durabilit\\xe9 de vos donn\\xe9es\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 27,\n columnNumber: 3\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83C\\uDF10\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"R\\xe9seau optimis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 34,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Architecture r\\xe9seau \\xe0 haute disponibilit\\xe9 avec une faible latence pour vos applications critiques\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDEE1️\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"S\\xe9curit\\xe9 renforc\\xe9e\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Protection contre les menaces avec syst\\xe8mes de s\\xe9curit\\xe9 modernes et mises \\xe0 jour r\\xe9guli\\xe8res\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 43,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 38,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 4,\n columnNumber: 3\n }, undefined);\n_c = TechFeaturesSection;\nvar _c;\n$RefreshReg$(_c, \"TechFeaturesSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvc2VjdGlvbnMvVGVjaEZlYXR1cmVzU2VjdGlvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBMEI7QUFFbkIsTUFBTUMsc0JBQWdDLGtCQUMzQyw4REFBQ0M7UUFBUUMsV0FBVTs7MEJBQ2pCLDhEQUFDQztnQkFBSUQsV0FBVTs7Ozs7OzBCQUNmLDhEQUFDRTtnQkFBR0YsV0FBVTtnQkFBMEhHLE9BQU87b0JBQUVDLFlBQVk7Z0JBQStCOzBCQUFHOzs7Ozs7MEJBRzNMLDhEQUFDQztnQkFBRUwsV0FBVTtnQkFBOEhHLE9BQU87b0JBQUVDLFlBQVk7Z0JBQStCOzBCQUFHOzs7Ozs7MEJBSXRNLDhEQUFDSDtnQkFBSUQsV0FBVTs7a0NBQ2IsOERBQUNDO3dCQUFJRCxXQUFVOzswQ0FDbkIsOERBQUNDO2dDQUFJRCxXQUFVOzBDQUFvUDs7Ozs7OzBDQUc3UCw4REFBQ007Z0NBQUdOLFdBQVU7MENBQXVKOzs7Ozs7MENBQ3JLLDhEQUFDSztnQ0FBRUwsV0FBVTswQ0FBZ0Q7Ozs7Ozs7Ozs7OztrQ0FHL0QsOERBQUNDO3dCQUFJRCxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUlELFdBQVU7MENBQW9QOzs7Ozs7MENBR25RLDhEQUFDTTtnQ0FBR04sV0FBVTswQ0FBdUo7Ozs7OzswQ0FDM0ssOERBQUNLO2dDQUFFTCxXQUFVOzBDQUFnRDs7Ozs7Ozs7Ozs7O2tDQUd6RCw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FBb1A7Ozs7OzswQ0FHblEsOERBQUNNO2dDQUFHTixXQUFVOzBDQUF1Sjs7Ozs7OzBDQUNySyw4REFBQ0s7Z0NBQUVMLFdBQVU7MENBQWdEOzs7Ozs7Ozs7Ozs7a0NBRy9ELDhEQUFDQzt3QkFBSUQsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFJRCxXQUFVOzBDQUFvUDs7Ozs7OzBDQUduUSw4REFBQ007Z0NBQUdOLFdBQVU7MENBQXVKOzs7Ozs7MENBQ3JLLDhEQUFDSztnQ0FBRUwsV0FBVTswQ0FBZ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUluRTtLQTVDV0YiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvY29tcG9uZW50cy9zZWN0aW9ucy9UZWNoRmVhdHVyZXNTZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgVGVjaEZlYXR1cmVzU2VjdGlvbjogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxzZWN0aW9uIGNsYXNzTmFtZT1cInB5LTEyIHNtOnB5LTE2IG1kOnB5LTIwIHJlbGF0aXZlIHotMiB3LWZ1bGwgbWF4LXctNnhsIG14LWF1dG8gcHgtNCBzbTpweC02IG1kOnB4LThcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRvLWJhbnF1aXNlLWJsdWUgbXgtYXV0byBtYi02IHNtOm1iLTggcm91bmRlZC1mdWxsXCI+PC9kaXY+XG4gICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheSB0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtZDp0ZXh0LTR4bCBtYi00IHNtOm1iLTYgdGV4dC1jZW50ZXIgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCBweC0yXCIgc3R5bGU9e3sgdGV4dFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMiknIH19PlxuICAgICAgTm90cmUgSW5mcmFzdHJ1Y3R1cmVcbiAgICA8L2gyPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkgdGV4dC1sZyBzbTp0ZXh0LXhsIG9wYWNpdHktOTAgbWItMTIgc206bWItMTQgbWQ6bWItMTYgbWF4LXctNHhsIHRleHQtY2VudGVyIG14LWF1dG8gbGVhZGluZy1yZWxheGVkIHB4LTJcIiBzdHlsZT17eyB0ZXh0U2hhZG93OiAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKScgfX0+XG4gICAgICAyNSsgc2VydmV1cnMgcG91ciByw6lwb25kcmUgw6Agdm9zIGJlc29pbnNcbiAgICA8L3A+XG4gICAgXG4gICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIHhsOmdyaWQtY29scy00IGdhcC00IHNtOmdhcC02IHctZnVsbFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xMCB0by1iYW5xdWlzZS1ibHVlLWRhcmsvNSBiYWNrZHJvcC1ibHVyLWxnIHJvdW5kZWQtMnhsIHAtNiBzbTpwLTggZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgdGV4dC1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8zMCBob3ZlcjotdHJhbnNsYXRlLXktMyBob3Zlcjpmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xNSBob3Zlcjp0by1iYW5xdWlzZS1ibHVlLWRhcmsvOCBob3ZlcjpzaGFkb3cteGwgaG92ZXI6Ym9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNTAgZ3JvdXBcIj5cbiAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBtYi00IHNtOm1iLTYgdGV4dC13aGl0ZSBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCB3LTE2IGgtMTYgc206dy0yMCBzbTpoLTIwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAg8J+agFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgc206dGV4dC14bCBtYi0zIHNtOm1iLTQgdGV4dC1iYW5xdWlzZS1ncmF5IGZvbnQtaGVhZGluZyBmb250LXNlbWlib2xkIGdyb3VwLWhvdmVyOnRleHQtYmFucXVpc2UtYmx1ZS1saWdodGVzdCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0zMDBcIj5TZXJ2ZXVycyBwZXJmb3JtYW50czwvaDM+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbVwiPkluZnJhc3RydWN0dXJlIG9wdGltaXPDqWUgcG91ciBhc3N1cmVyIGRlcyBwZXJmb3JtYW5jZXMgw6lsZXbDqWVzIGV0IHVuZSBkaXNwb25pYmlsaXTDqSBtYXhpbWFsZSBkZSB2b3MgYXBwbGljYXRpb25zPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlLWRhcmsvMTAgdG8tYmFucXVpc2UtYmx1ZS1kYXJrLzUgYmFja2Ryb3AtYmx1ci1sZyByb3VuZGVkLTJ4bCBwLTYgc206cC04IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHRleHQtY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMzAgaG92ZXI6LXRyYW5zbGF0ZS15LTMgaG92ZXI6ZnJvbS1iYW5xdWlzZS1ibHVlLWRhcmsvMTUgaG92ZXI6dG8tYmFucXVpc2UtYmx1ZS1kYXJrLzggaG92ZXI6c2hhZG93LXhsIGhvdmVyOmJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzUwIGdyb3VwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC0zeGwgc206dGV4dC00eGwgbWItNCBzbTptYi02IHRleHQtd2hpdGUgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHQgdy0xNiBoLTE2IHNtOnctMjAgc206aC0yMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLTJ4bCBzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMFwiPlxuICAgICAgICAgIPCfkr5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIHNtOnRleHQteGwgbWItMyBzbTptYi00IHRleHQtYmFucXVpc2UtZ3JheSBmb250LWhlYWRpbmcgZm9udC1zZW1pYm9sZCBncm91cC1ob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwXCI+U3RvY2thZ2Ugc8OpY3VyaXPDqTwvaDM+XG4gIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbVwiPlNvbHV0aW9ucyBkZSBzdG9ja2FnZSBkaXN0cmlidcOpZXMgYXZlYyByZWRvbmRhbmNlIHBvdXIgZ2FyYW50aXIgbCZhcG9zO2ludMOpZ3JpdMOpIGV0IGxhIGR1cmFiaWxpdMOpIGRlIHZvcyBkb25uw6llczwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgcC02IHNtOnAtOCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIGhvdmVyOi10cmFuc2xhdGUteS0zIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGhvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNHhsIG1iLTQgc206bWItNiB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC0yeGwgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICDwn4yQXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTMgc206bWItNCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMFwiPlLDqXNlYXUgb3B0aW1pc8OpPC9oMz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ncmF5LzgwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LXNtXCI+QXJjaGl0ZWN0dXJlIHLDqXNlYXUgw6AgaGF1dGUgZGlzcG9uaWJpbGl0w6kgYXZlYyB1bmUgZmFpYmxlIGxhdGVuY2UgcG91ciB2b3MgYXBwbGljYXRpb25zIGNyaXRpcXVlczwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgcC02IHNtOnAtOCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIGhvdmVyOi10cmFuc2xhdGUteS0zIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGhvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNHhsIG1iLTQgc206bWItNiB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC0yeGwgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICDwn5uh77iPXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTMgc206bWItNCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMFwiPlPDqWN1cml0w6kgcmVuZm9yY8OpZTwvaDM+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbVwiPlByb3RlY3Rpb24gY29udHJlIGxlcyBtZW5hY2VzIGF2ZWMgc3lzdMOobWVzIGRlIHPDqWN1cml0w6kgbW9kZXJuZXMgZXQgbWlzZXMgw6Agam91ciByw6lndWxpw6hyZXM8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRlY2hGZWF0dXJlc1NlY3Rpb24iLCJzZWN0aW9uIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJzdHlsZSIsInRleHRTaGFkb3ciLCJwIiwiaDMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/sections/TechFeaturesSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/ui/AccordionItem.tsx":
/*!*****************************************!*\
!*** ./components/ui/AccordionItem.tsx ***!
\*****************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AccordionItem: () => (/* binding */ AccordionItem)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\n\nconst AccordionItem = (param)=>{\n let { title, children, isOpen, onToggle } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/15 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl overflow-hidden border border-banquise-blue-lightest/30 transition-all duration-300 shadow-sm \".concat(isOpen ? 'shadow-xl border-banquise-blue-lightest/50 scale-[1.01]' : '', \" hover:shadow-lg hover:border-banquise-blue-lightest/40\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 sm:p-6 md:p-8 cursor-pointer flex items-center justify-between font-semibold text-banquise-gray transition-all duration-200 text-base sm:text-lg select-none hover:bg-banquise-blue-dark/10 active:bg-banquise-blue-dark/15\",\n onClick: onToggle,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center flex-1 mr-4 font-heading\",\n children: title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 10,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl transition-transform duration-300 text-banquise-blue-lightest flex-shrink-0 \".concat(isOpen ? 'rotate-180' : ''),\n children: \"▼\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"transition-all duration-500 overflow-hidden \".concat(isOpen ? 'max-h-[1000px] pb-4 px-4 sm:pb-6 sm:px-6 md:pb-8 md:px-8' : 'max-h-0'),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-gray/90 leading-relaxed text-sm sm:text-base\",\n children: children\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/AccordionItem.tsx\",\n lineNumber: 5,\n columnNumber: 3\n }, undefined);\n};\n_c = AccordionItem;\nvar _c;\n$RefreshReg$(_c, \"AccordionItem\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvQWNjb3JkaW9uSXRlbS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBMEI7QUFHbkIsTUFBTUMsZ0JBQThDO1FBQUMsRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFO3lCQUMvRiw4REFBQ0M7UUFBSUMsV0FBVyxtTUFBMlEsT0FBeEVILFNBQVMsNERBQTRELElBQUc7OzBCQUN6Uiw4REFBQ0U7Z0JBQ0NDLFdBQVU7Z0JBQ1ZDLFNBQVNIOztrQ0FFVCw4REFBQ0k7d0JBQUtGLFdBQVU7a0NBQThDTDs7Ozs7O2tDQUM5RCw4REFBQ087d0JBQUtGLFdBQVcsbUdBQThILE9BQTNCSCxTQUFTLGVBQWU7a0NBQU07Ozs7Ozs7Ozs7OzswQkFJcEosOERBQUNFO2dCQUFJQyxXQUFXLCtDQUErSCxPQUFoRkgsU0FBUyw2REFBNkQ7MEJBQ25JLDRFQUFDRTtvQkFBSUMsV0FBVTs4QkFDWko7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSVA7S0FqQldGIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvdWkvQWNjb3JkaW9uSXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgQWNjb3JkaW9uSXRlbVByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQWNjb3JkaW9uSXRlbTogUmVhY3QuRkM8QWNjb3JkaW9uSXRlbVByb3BzPiA9ICh7IHRpdGxlLCBjaGlsZHJlbiwgaXNPcGVuLCBvblRvZ2dsZSB9KSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlLWRhcmsvMTUgdG8tYmFucXVpc2UtYmx1ZS1kYXJrLzUgYmFja2Ryb3AtYmx1ci1sZyByb3VuZGVkLTJ4bCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBzaGFkb3ctc20gJHtpc09wZW4gPyAnc2hhZG93LXhsIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzUwIHNjYWxlLVsxLjAxXScgOiAnJ30gaG92ZXI6c2hhZG93LWxnIGhvdmVyOmJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzQwYH0+XG4gICAgPGRpdiBcbiAgICAgIGNsYXNzTmFtZT1cInAtNCBzbTpwLTYgbWQ6cC04IGN1cnNvci1wb2ludGVyIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgdGV4dC1iYXNlIHNtOnRleHQtbGcgc2VsZWN0LW5vbmUgaG92ZXI6YmctYmFucXVpc2UtYmx1ZS1kYXJrLzEwIGFjdGl2ZTpiZy1iYW5xdWlzZS1ibHVlLWRhcmsvMTVcIlxuICAgICAgb25DbGljaz17b25Ub2dnbGV9XG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC0xIG1yLTQgZm9udC1oZWFkaW5nXCI+e3RpdGxlfTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17YHRleHQteGwgc206dGV4dC0yeGwgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIHRleHQtYmFucXVpc2UtYmx1ZS1saWdodGVzdCBmbGV4LXNocmluay0wICR7aXNPcGVuID8gJ3JvdGF0ZS0xODAnIDogJyd9YH0+XG4gICAgICAgIOKWvFxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPXtgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwIG92ZXJmbG93LWhpZGRlbiAke2lzT3BlbiA/ICdtYXgtaC1bMTAwMHB4XSBwYi00IHB4LTQgc206cGItNiBzbTpweC02IG1kOnBiLTggbWQ6cHgtOCcgOiAnbWF4LWgtMCd9YH0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS85MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSBzbTp0ZXh0LWJhc2VcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkFjY29yZGlvbkl0ZW0iLCJ0aXRsZSIsImNoaWxkcmVuIiwiaXNPcGVuIiwib25Ub2dnbGUiLCJkaXYiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwic3BhbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/AccordionItem.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/ui/ModernLanguageSwitcher.tsx":
/*!**************************************************!*\
!*** ./components/ui/ModernLanguageSwitcher.tsx ***!
\**************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModernLanguageSwitcher: () => (/* binding */ ModernLanguageSwitcher)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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\nvar _s = $RefreshSig$();\n\n// Fonction utilitaire simple pour combiner les classes\nconst cn = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(' ');\n};\nconst ModernLanguageSwitcher = (param)=>{\n let { currentLanguage, onLanguageChange, availableLanguages } = param;\n _s();\n const [isOpen, setIsOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const languageConfig = {\n fr: {\n name: 'Français',\n flag: '🇫🇷',\n nativeName: 'FR'\n },\n en: {\n name: 'English',\n flag: '🇬🇧',\n nativeName: 'EN'\n }\n };\n const currentConfig = languageConfig[currentLanguage];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setIsOpen(!isOpen),\n className: cn('flex items-center space-x-2 px-3 py-2 rounded-lg transition-all duration-200', 'bg-white/10 hover:bg-white/20 border border-white/20 hover:border-white/30', 'text-white text-sm font-medium', 'focus:outline-none focus:ring-2 focus:ring-blue-400/50', 'group'),\n \"aria-expanded\": isOpen,\n \"aria-haspopup\": \"listbox\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg\",\n children: currentConfig.flag\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hidden sm:inline\",\n children: currentConfig.nativeName\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: cn('w-4 h-4 transition-transform duration-200', isOpen ? 'rotate-180' : 'rotate-0'),\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 9l-7 7-7-7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined),\n isOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10\",\n onClick: ()=>setIsOpen(false)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 65,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cn('absolute right-0 top-full mt-2 z-20', 'bg-white/95 backdrop-blur-xl rounded-xl shadow-2xl border border-white/20', 'min-w-[140px] py-2', 'animate-slideUp'),\n children: availableLanguages.map((lang)=>{\n const config = languageConfig[lang];\n const isSelected = lang === currentLanguage;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n onLanguageChange(lang);\n setIsOpen(false);\n },\n className: cn('w-full flex items-center space-x-3 px-4 py-2.5 text-sm transition-all duration-200', 'hover:bg-blue-600/10 focus:bg-blue-600/10', 'focus:outline-none', isSelected ? 'text-blue-800 font-semibold bg-blue-600/10' : 'text-gray-700 hover:text-blue-800'),\n role: \"option\",\n \"aria-selected\": isSelected,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg\",\n children: config.flag\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 99,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex-1 text-left\",\n children: config.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 100,\n columnNumber: 19\n }, undefined),\n isSelected && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4 text-blue-600\",\n fill: \"currentColor\",\n viewBox: \"0 0 20 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 103,\n columnNumber: 23\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 102,\n columnNumber: 21\n }, undefined)\n ]\n }, lang, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 82,\n columnNumber: 17\n }, undefined);\n })\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 71,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 30,\n columnNumber: 5\n }, undefined);\n};\n_s(ModernLanguageSwitcher, \"+sus0Lb0ewKHdwiUhiTAJFoFyQ0=\");\n_c = ModernLanguageSwitcher;\nvar _c;\n$RefreshReg$(_c, \"ModernLanguageSwitcher\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvTW9kZXJuTGFuZ3VhZ2VTd2l0Y2hlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXdDO0FBR3hDLHVEQUF1RDtBQUN2RCxNQUFNRSxLQUFLO3FDQUFJQztRQUFBQTs7SUFDYixPQUFPQSxRQUFRQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztBQUN0QztBQVFPLE1BQU1DLHlCQUFnRTtRQUFDLEVBQzVFQyxlQUFlLEVBQ2ZDLGdCQUFnQixFQUNoQkMsa0JBQWtCLEVBQ25COztJQUNDLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHWCwrQ0FBUUEsQ0FBQztJQUVyQyxNQUFNWSxpQkFBdUY7UUFDM0ZDLElBQUk7WUFBRUMsTUFBTTtZQUFZQyxNQUFNO1lBQVFDLFlBQVk7UUFBSztRQUN2REMsSUFBSTtZQUFFSCxNQUFNO1lBQVdDLE1BQU07WUFBUUMsWUFBWTtRQUFLO0lBQ3hEO0lBRUEsTUFBTUUsZ0JBQWdCTixjQUFjLENBQUNMLGdCQUFnQjtJQUVyRCxxQkFDRSw4REFBQ1k7UUFBSUMsV0FBVTs7MEJBRWIsOERBQUNDO2dCQUNDQyxTQUFTLElBQU1YLFVBQVUsQ0FBQ0Q7Z0JBQzFCVSxXQUFXbkIsR0FDVCxnRkFDQSw4RUFDQSxrQ0FDQSwwREFDQTtnQkFFRnNCLGlCQUFlYjtnQkFDZmMsaUJBQWM7O2tDQUVkLDhEQUFDQzt3QkFBS0wsV0FBVTtrQ0FBV0YsY0FBY0gsSUFBSTs7Ozs7O2tDQUM3Qyw4REFBQ1U7d0JBQUtMLFdBQVU7a0NBQW9CRixjQUFjRixVQUFVOzs7Ozs7a0NBRzVELDhEQUFDVTt3QkFDQ04sV0FBV25CLEdBQ1QsNkNBQ0FTLFNBQVMsZUFBZTt3QkFFMUJpQixNQUFLO3dCQUNMQyxRQUFPO3dCQUNQQyxTQUFRO2tDQUVSLDRFQUFDQzs0QkFBS0MsZUFBYzs0QkFBUUMsZ0JBQWU7NEJBQVFDLGFBQWE7NEJBQUdDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBS3hFeEIsd0JBQ0M7O2tDQUVFLDhEQUFDUzt3QkFDQ0MsV0FBVTt3QkFDVkUsU0FBUyxJQUFNWCxVQUFVOzs7Ozs7a0NBSTNCLDhEQUFDUTt3QkFBSUMsV0FBV25CLEdBQ2QsdUNBQ0EsNkVBQ0Esc0JBQ0E7a0NBRUNRLG1CQUFtQjBCLEdBQUcsQ0FBQyxDQUFDQzs0QkFDdkIsTUFBTUMsU0FBU3pCLGNBQWMsQ0FBQ3dCLEtBQUs7NEJBQ25DLE1BQU1FLGFBQWFGLFNBQVM3Qjs0QkFFNUIscUJBQ0UsOERBQUNjO2dDQUVDQyxTQUFTO29DQUNQZCxpQkFBaUI0QjtvQ0FDakJ6QixVQUFVO2dDQUNaO2dDQUNBUyxXQUFXbkIsR0FDVCxzRkFDQSw2Q0FDQSxzQkFDQXFDLGFBQ0ksK0NBQ0E7Z0NBRU5DLE1BQUs7Z0NBQ0xDLGlCQUFlRjs7a0RBRWYsOERBQUNiO3dDQUFLTCxXQUFVO2tEQUFXaUIsT0FBT3RCLElBQUk7Ozs7OztrREFDdEMsOERBQUNVO3dDQUFLTCxXQUFVO2tEQUFvQmlCLE9BQU92QixJQUFJOzs7Ozs7b0NBQzlDd0IsNEJBQ0MsOERBQUNaO3dDQUFJTixXQUFVO3dDQUF3Qk8sTUFBSzt3Q0FBZUUsU0FBUTtrREFDakUsNEVBQUNDOzRDQUFLVyxVQUFTOzRDQUFVUCxHQUFFOzRDQUFxSFEsVUFBUzs7Ozs7Ozs7Ozs7OytCQXBCeEpOOzs7Ozt3QkF5Qlg7Ozs7Ozs7Ozs7Ozs7O0FBTVosRUFBRTtHQW5HVzlCO0tBQUFBIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvdWkvTW9kZXJuTGFuZ3VhZ2VTd2l0Y2hlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZSB9IGZyb20gJ0AvdHlwZXMvaTE4bic7XG5cbi8vIEZvbmN0aW9uIHV0aWxpdGFpcmUgc2ltcGxlIHBvdXIgY29tYmluZXIgbGVzIGNsYXNzZXNcbmNvbnN0IGNuID0gKC4uLmNsYXNzZXM6IChzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHwgZmFsc2UpW10pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gY2xhc3Nlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xufTtcblxuaW50ZXJmYWNlIE1vZGVybkxhbmd1YWdlU3dpdGNoZXJQcm9wcyB7XG4gIGN1cnJlbnRMYW5ndWFnZTogTGFuZ3VhZ2U7XG4gIG9uTGFuZ3VhZ2VDaGFuZ2U6IChsYW5ndWFnZTogTGFuZ3VhZ2UpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxhbmd1YWdlczogTGFuZ3VhZ2VbXTtcbn1cblxuZXhwb3J0IGNvbnN0IE1vZGVybkxhbmd1YWdlU3dpdGNoZXI6IFJlYWN0LkZDPE1vZGVybkxhbmd1YWdlU3dpdGNoZXJQcm9wcz4gPSAoe1xuICBjdXJyZW50TGFuZ3VhZ2UsXG4gIG9uTGFuZ3VhZ2VDaGFuZ2UsXG4gIGF2YWlsYWJsZUxhbmd1YWdlc1xufSkgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGxhbmd1YWdlQ29uZmlnOiBSZWNvcmQ8TGFuZ3VhZ2UsIHsgbmFtZTogc3RyaW5nOyBmbGFnOiBzdHJpbmc7IG5hdGl2ZU5hbWU6IHN0cmluZyB9PiA9IHtcbiAgICBmcjogeyBuYW1lOiAnRnJhbsOnYWlzJywgZmxhZzogJ/Cfh6vwn4e3JywgbmF0aXZlTmFtZTogJ0ZSJyB9LFxuICAgIGVuOiB7IG5hbWU6ICdFbmdsaXNoJywgZmxhZzogJ/Cfh6zwn4enJywgbmF0aXZlTmFtZTogJ0VOJyB9LFxuICB9O1xuXG4gIGNvbnN0IGN1cnJlbnRDb25maWcgPSBsYW5ndWFnZUNvbmZpZ1tjdXJyZW50TGFuZ3VhZ2VdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgey8qIFRyaWdnZXIgQnV0dG9uICovfVxuICAgICAgPGJ1dHRvblxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oIWlzT3Blbil9XG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiBweC0zIHB5LTIgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgICdiZy13aGl0ZS8xMCBob3ZlcjpiZy13aGl0ZS8yMCBib3JkZXIgYm9yZGVyLXdoaXRlLzIwIGhvdmVyOmJvcmRlci13aGl0ZS8zMCcsXG4gICAgICAgICAgJ3RleHQtd2hpdGUgdGV4dC1zbSBmb250LW1lZGl1bScsXG4gICAgICAgICAgJ2ZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTQwMC81MCcsXG4gICAgICAgICAgJ2dyb3VwJ1xuICAgICAgICApfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXtpc09wZW59XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1sZ1wiPntjdXJyZW50Q29uZmlnLmZsYWd9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4gc206aW5saW5lXCI+e2N1cnJlbnRDb25maWcubmF0aXZlTmFtZX08L3NwYW4+XG4gICAgICAgIFxuICAgICAgICB7LyogQ2hldnJvbiBJY29uICovfVxuICAgICAgICA8c3ZnIFxuICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAndy00IGgtNCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgICAgaXNPcGVuID8gJ3JvdGF0ZS0xODAnIDogJ3JvdGF0ZS0wJ1xuICAgICAgICAgICl9XG4gICAgICAgICAgZmlsbD1cIm5vbmVcIiBcbiAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0xOSA5bC03IDctNy03XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgey8qIERyb3Bkb3duIE1lbnUgKi99XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7LyogQmFja2Ryb3AgKi99XG4gICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMFwiIFxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIFxuICAgICAgICAgIHsvKiBNZW51ICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICdhYnNvbHV0ZSByaWdodC0wIHRvcC1mdWxsIG10LTIgei0yMCcsXG4gICAgICAgICAgICAnYmctd2hpdGUvOTUgYmFja2Ryb3AtYmx1ci14bCByb3VuZGVkLXhsIHNoYWRvdy0yeGwgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCcsXG4gICAgICAgICAgICAnbWluLXctWzE0MHB4XSBweS0yJyxcbiAgICAgICAgICAgICdhbmltYXRlLXNsaWRlVXAnXG4gICAgICAgICAgKX0+XG4gICAgICAgICAgICB7YXZhaWxhYmxlTGFuZ3VhZ2VzLm1hcCgobGFuZykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBsYW5ndWFnZUNvbmZpZ1tsYW5nXTtcbiAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IGxhbmcgPT09IGN1cnJlbnRMYW5ndWFnZTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAga2V5PXtsYW5nfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkxhbmd1YWdlQ2hhbmdlKGxhbmcpO1xuICAgICAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgICd3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIHB4LTQgcHktMi41IHRleHQtc20gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICAgICAgICAgICAgJ2hvdmVyOmJnLWJsdWUtNjAwLzEwIGZvY3VzOmJnLWJsdWUtNjAwLzEwJyxcbiAgICAgICAgICAgICAgICAgICAgJ2ZvY3VzOm91dGxpbmUtbm9uZScsXG4gICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQgXG4gICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTgwMCBmb250LXNlbWlib2xkIGJnLWJsdWUtNjAwLzEwJyBcbiAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LWdyYXktNzAwIGhvdmVyOnRleHQtYmx1ZS04MDAnXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGdcIj57Y29uZmlnLmZsYWd9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleC0xIHRleHQtbGVmdFwiPntjb25maWcubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICB7aXNTZWxlY3RlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3NOYW1lPVwidy00IGgtNCB0ZXh0LWJsdWUtNjAwXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsUnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE2LjcwNyA1LjI5M2ExIDEgMCAwMTAgMS40MTRsLTggOGExIDEgMCAwMS0xLjQxNCAwbC00LTRhMSAxIDAgMDExLjQxNC0xLjQxNEw4IDEyLjU4Nmw3LjI5My03LjI5M2ExIDEgMCAwMTEuNDE0IDB6XCIgY2xpcFJ1bGU9XCJldmVub2RkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsImNuIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiTW9kZXJuTGFuZ3VhZ2VTd2l0Y2hlciIsImN1cnJlbnRMYW5ndWFnZSIsIm9uTGFuZ3VhZ2VDaGFuZ2UiLCJhdmFpbGFibGVMYW5ndWFnZXMiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJsYW5ndWFnZUNvbmZpZyIsImZyIiwibmFtZSIsImZsYWciLCJuYXRpdmVOYW1lIiwiZW4iLCJjdXJyZW50Q29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwiYnV0dG9uIiwib25DbGljayIsImFyaWEtZXhwYW5kZWQiLCJhcmlhLWhhc3BvcHVwIiwic3BhbiIsInN2ZyIsImZpbGwiLCJzdHJva2UiLCJ2aWV3Qm94IiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwiZCIsIm1hcCIsImxhbmciLCJjb25maWciLCJpc1NlbGVjdGVkIiwicm9sZSIsImFyaWEtc2VsZWN0ZWQiLCJmaWxsUnVsZSIsImNsaXBSdWxlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/ModernLanguageSwitcher.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/ui/Popup.tsx":
/*!*********************************!*\
!*** ./components/ui/Popup.tsx ***!
\*********************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Popup: () => (/* binding */ Popup)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst Popup = (param)=>{\n let { service, onClose, translations } = param;\n _s();\n // Empêcher le scroll du body quand la popup est ouverte\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Popup.useEffect\": ()=>{\n document.body.style.overflow = 'hidden';\n return ({\n \"Popup.useEffect\": ()=>{\n document.body.style.overflow = 'unset';\n }\n })[\"Popup.useEffect\"];\n }\n }[\"Popup.useEffect\"], []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 bg-black/60 flex justify-center items-center z-50 p-4 backdrop-blur-md animate-fadeIn\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white text-banquise-blue-dark rounded-3xl max-w-4xl w-full max-h-[90vh] shadow-2xl relative animate-slideUp border border-banquise-blue-lightest/20 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-4 right-4 z-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClose,\n className: \"bg-white/90 hover:bg-white border border-banquise-blue/20 text-xl cursor-pointer text-banquise-blue-dark flex items-center justify-center w-10 h-10 sm:w-12 sm:h-12 rounded-full transition-all duration-200 hover:scale-110 active:scale-95 shadow-lg backdrop-blur-sm\",\n \"aria-label\": translations.close,\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 28,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-y-auto overflow-x-hidden max-h-[90vh] popup-content\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gradient-to-r from-banquise-blue to-banquise-blue-light p-6 sm:p-8 text-white pr-16 sm:pr-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col lg:flex-row items-center lg:items-start mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 bg-white/20 rounded-3xl flex items-center justify-center text-3xl sm:text-4xl lg:text-5xl mb-4 lg:mb-0 lg:mr-8 backdrop-blur-sm\",\n children: service.icon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 42,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center lg:text-left flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-heading text-2xl sm:text-3xl lg:text-4xl mt-0 mb-3 lg:mb-4 leading-tight font-bold text-white\",\n children: service.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 46,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-white/90 text-base sm:text-lg lg:text-xl font-medium\",\n children: \"Service d'h\\xe9bergement professionnel\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 49,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 lg:mt-6 flex flex-wrap gap-2 justify-center lg:justify-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Haute disponibilit\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 53,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Open Source\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 54,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Communautaire\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 55,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 52,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 45,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 41,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 40,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mb-4 lg:mb-6 text-banquise-blue-dark font-heading font-bold flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mr-3\",\n children: \"\\uD83D\\uDCCB\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 65,\n columnNumber: 15\n }, undefined),\n \"Description d\\xe9taill\\xe9e\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue/5 to-banquise-blue-light/5 rounded-2xl p-4 lg:p-6 border border-banquise-blue/10 mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-blue-dark/90 leading-relaxed text-base sm:text-lg lg:text-xl mb-4\",\n children: service.description\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 69,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 gap-4 mt-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center p-3 bg-white/60 rounded-xl border border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-10 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-lg flex items-center justify-center text-white mr-3\",\n children: \"✓\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 74,\n columnNumber: 19\n }, undefined),\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: \"font-semibold text-banquise-blue-dark text-sm\",\n children: \"99.9% Uptime\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 78,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-blue-dark/70 text-xs\",\n children: \"Disponibilit\\xe9 garantie\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 79,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 77,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center p-3 bg-white/60 rounded-xl border border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-10 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center text-white mr-3\",\n children: \"\\uD83D\\uDD12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 83,\n columnNumber: 19\n }, undefined),\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: \"font-semibold text-banquise-blue-dark text-sm\",\n children: \"S\\xe9curis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 87,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-blue-dark/70 text-xs\",\n children: \"SSL & Backups\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 86,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 82,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 72,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mb-4 lg:mb-6 text-banquise-blue-dark font-heading font-bold flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mr-3\",\n children: \"⚡\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 96,\n columnNumber: 15\n }, undefined),\n translations.discoverFeatures\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 95,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 gap-4 mb-8\",\n children: service.features.map((feature, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start bg-banquise-blue/5 rounded-xl p-4 border border-banquise-blue/10 hover:bg-banquise-blue/10 transition-colors duration-200 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-6 h-6 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-full flex items-center justify-center mr-3 mt-0.5 flex-shrink-0 group-hover:scale-110 transition-transform duration-200\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-white rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 103,\n columnNumber: 21\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 102,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-dark/90 font-medium text-sm lg:text-base leading-relaxed\",\n children: feature\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 105,\n columnNumber: 19\n }, undefined)\n ]\n }, index, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 101,\n columnNumber: 17\n }, undefined))\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 99,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pt-6 lg:pt-8 border-t border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: service.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"w-full inline-flex items-center justify-center bg-gradient-to-r from-banquise-blue to-banquise-blue-light text-white border-0 py-4 px-6 sm:px-8 rounded-2xl cursor-pointer no-underline font-bold tracking-wide shadow-lg transition-all duration-300 hover:shadow-xl hover:-translate-y-1 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-banquise-blue-light text-base lg:text-lg hover:scale-[1.02] active:scale-95\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-3 text-xl lg:text-2xl\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 118,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Acc\\xe9der \\xe0 \",\n service.name\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 119,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 112,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-center text-sm text-banquise-blue-dark/60 mt-4\",\n children: [\n \"Besoin d'aide ? Rejoignez notre \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _lib_config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord,\n className: \"text-banquise-blue hover:text-banquise-blue-dark transition-colors duration-200 font-medium\",\n children: \"Discord\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 123,\n columnNumber: 54\n }, undefined),\n \" pour obtenir du support\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 122,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 111,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 right-0 w-16 h-16 sm:w-24 sm:h-24 lg:w-32 lg:h-32 bg-banquise-blue-lightest/10 rounded-full -translate-y-8 translate-x-8 sm:-translate-y-12 sm:translate-x-12 lg:-translate-y-16 lg:translate-x-16 hidden sm:block pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 130,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-12 h-12 sm:w-16 sm:h-16 lg:w-24 lg:h-24 bg-banquise-blue/5 rounded-full translate-y-6 -translate-x-6 sm:translate-y-8 sm:-translate-x-8 lg:translate-y-12 lg:-translate-x-12 hidden sm:block pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/Popup.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined);\n};\n_s(Popup, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\n_c = Popup;\nvar _c;\n$RefreshReg$(_c, \"Popup\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvUG9wdXAudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBeUM7QUFDSztBQVV2QyxNQUFNRyxRQUE4QjtRQUFDLEVBQUVDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxZQUFZLEVBQUU7O0lBQzVFLHdEQUF3RDtJQUN4REwsZ0RBQVNBOzJCQUFDO1lBQ1JNLFNBQVNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUc7WUFFL0I7bUNBQU87b0JBQ0xILFNBQVNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUc7Z0JBQ2pDOztRQUNGOzBCQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBR2IsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFDQ0MsU0FBU1Q7d0JBQ1RPLFdBQVU7d0JBQ1ZHLGNBQVlULGFBQWFVLEtBQUs7a0NBQy9COzs7Ozs7Ozs7Ozs4QkFNSCw4REFBQ0w7b0JBQUlDLFdBQVU7O3NDQUViLDhEQUFDRDs0QkFBSUMsV0FBVTtzQ0FDYiw0RUFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDt3Q0FBSUMsV0FBVTtrREFDWlIsUUFBUWEsSUFBSTs7Ozs7O2tEQUVmLDhEQUFDTjt3Q0FBSUMsV0FBVTs7MERBQ2IsOERBQUNNO2dEQUFHTixXQUFVOzBEQUNYUixRQUFRZSxJQUFJOzs7Ozs7MERBRWYsOERBQUNSO2dEQUFJQyxXQUFVOzBEQUE0RDs7Ozs7OzBEQUczRSw4REFBQ0Q7Z0RBQUlDLFdBQVU7O2tFQUNiLDhEQUFDUTt3REFBS1IsV0FBVTtrRUFBcUY7Ozs7OztrRUFDckcsOERBQUNRO3dEQUFLUixXQUFVO2tFQUFxRjs7Ozs7O2tFQUNyRyw4REFBQ1E7d0RBQUtSLFdBQVU7a0VBQXFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FPN0csOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FFYiw4REFBQ1M7b0NBQUdULFdBQVU7O3NEQUNaLDhEQUFDUTs0Q0FBS1IsV0FBVTtzREFBdUM7Ozs7Ozt3Q0FBUzs7Ozs7Ozs4Q0FHbEUsOERBQUNEO29DQUFJQyxXQUFVOztzREFDYiw4REFBQ1U7NENBQUVWLFdBQVU7c0RBQ1ZSLFFBQVFtQixXQUFXOzs7Ozs7c0RBRXRCLDhEQUFDWjs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNEO29EQUFJQyxXQUFVOztzRUFDYiw4REFBQ0Q7NERBQUlDLFdBQVU7c0VBQW9JOzs7Ozs7c0VBR25KLDhEQUFDRDs7OEVBQ0MsOERBQUNBO29FQUFJQyxXQUFVOzhFQUFnRDs7Ozs7OzhFQUMvRCw4REFBQ0Q7b0VBQUlDLFdBQVU7OEVBQXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OERBR3hELDhEQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNEOzREQUFJQyxXQUFVO3NFQUFvSDs7Ozs7O3NFQUduSSw4REFBQ0Q7OzhFQUNDLDhEQUFDQTtvRUFBSUMsV0FBVTs4RUFBZ0Q7Ozs7Ozs4RUFDL0QsOERBQUNEO29FQUFJQyxXQUFVOzhFQUFxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhDQU81RCw4REFBQ1M7b0NBQUdULFdBQVU7O3NEQUNaLDhEQUFDUTs0Q0FBS1IsV0FBVTtzREFBdUM7Ozs7Ozt3Q0FDdEROLGFBQWFrQixnQkFBZ0I7Ozs7Ozs7OENBRWhDLDhEQUFDYjtvQ0FBSUMsV0FBVTs4Q0FDWlIsUUFBUXFCLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLFNBQVNDLHNCQUM5Qiw4REFBQ2pCOzRDQUFnQkMsV0FBVTs7OERBQ3pCLDhEQUFDRDtvREFBSUMsV0FBVTs4REFDYiw0RUFBQ0Q7d0RBQUlDLFdBQVU7Ozs7Ozs7Ozs7OzhEQUVqQiw4REFBQ1E7b0RBQUtSLFdBQVU7OERBQStFZTs7Ozs7OzsyQ0FKdkZDOzs7Ozs7Ozs7OzhDQVVkLDhEQUFDakI7b0NBQUlDLFdBQVU7O3NEQUNiLDhEQUFDaUI7NENBQ0NDLE1BQU0xQixRQUFRMkIsR0FBRzs0Q0FDakJDLFFBQU87NENBQ1BDLEtBQUk7NENBQ0pyQixXQUFVOzs4REFFViw4REFBQ1E7b0RBQUtSLFdBQVU7OERBQTJCOzs7Ozs7OERBQzNDLDhEQUFDUTs7d0RBQUs7d0RBQVdoQixRQUFRZSxJQUFJOzs7Ozs7Ozs7Ozs7O3NEQUcvQiw4REFBQ0c7NENBQUVWLFdBQVU7O2dEQUFzRDs4REFDNUIsOERBQUNpQjtvREFBRUMsTUFBTTVCLHVEQUFJQSxDQUFDZ0MsTUFBTSxDQUFDQyxPQUFPO29EQUFFdkIsV0FBVTs4REFBOEY7Ozs7OztnREFBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFPOUwsOERBQUNEO29CQUFJQyxXQUFVOzs7Ozs7OEJBQ2YsOERBQUNEO29CQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7OztBQUl2QixFQUFFO0dBM0hXVDtLQUFBQSIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9jb21wb25lbnRzL3VpL1BvcHVwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVVJMUyB9IGZyb20gJ0AvbGliL2NvbmZpZy9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlIH0gZnJvbSAnQC90eXBlcy9zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICdAL3R5cGVzL2kxOG4nO1xuXG5pbnRlcmZhY2UgUG9wdXBQcm9wcyB7XG4gIHNlcnZpY2U6IFNlcnZpY2U7XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25bJ2NvbW1vbiddO1xufVxuXG5leHBvcnQgY29uc3QgUG9wdXA6IFJlYWN0LkZDPFBvcHVwUHJvcHM+ID0gKHsgc2VydmljZSwgb25DbG9zZSwgdHJhbnNsYXRpb25zIH0pID0+IHtcbiAgLy8gRW1ww6pjaGVyIGxlIHNjcm9sbCBkdSBib2R5IHF1YW5kIGxhIHBvcHVwIGVzdCBvdXZlcnRlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAndW5zZXQnO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCBiZy1ibGFjay82MCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciB6LTUwIHAtNCBiYWNrZHJvcC1ibHVyLW1kIGFuaW1hdGUtZmFkZUluXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLXdoaXRlIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIHJvdW5kZWQtM3hsIG1heC13LTR4bCB3LWZ1bGwgbWF4LWgtWzkwdmhdIHNoYWRvdy0yeGwgcmVsYXRpdmUgYW5pbWF0ZS1zbGlkZVVwIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yMCBvdmVyZmxvdy1oaWRkZW5cIj5cblxuICAgICAgICB7LyogQm91dG9uIGRlIGZlcm1ldHVyZSBmaXhlIGF1LWRlc3N1cyBkdSBjb250ZW51ICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC00IHJpZ2h0LTQgei01MFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJiZy13aGl0ZS85MCBob3ZlcjpiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUvMjAgdGV4dC14bCBjdXJzb3ItcG9pbnRlciB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIGgtMTAgc206dy0xMiBzbTpoLTEyIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTEwIGFjdGl2ZTpzY2FsZS05NSBzaGFkb3ctbGcgYmFja2Ryb3AtYmx1ci1zbVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0cmFuc2xhdGlvbnMuY2xvc2V9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIENvbnRlbnUgYXZlYyBzY3JvbGwgdmVydGljYWwgdW5pcXVlbWVudCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtWzkwdmhdIHBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICB7LyogSGVhZGVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCBwLTYgc206cC04IHRleHQtd2hpdGUgcHItMTYgc206cHItMjBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBpdGVtcy1jZW50ZXIgbGc6aXRlbXMtc3RhcnQgbWItNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgbGc6dy0yNCBsZzpoLTI0IGJnLXdoaXRlLzIwIHJvdW5kZWQtM3hsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtM3hsIHNtOnRleHQtNHhsIGxnOnRleHQtNXhsIG1iLTQgbGc6bWItMCBsZzptci04IGJhY2tkcm9wLWJsdXItc21cIj5cbiAgICAgICAgICAgICAgICB7c2VydmljZS5pY29ufVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBsZzp0ZXh0LWxlZnQgZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtaGVhZGluZyB0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBsZzp0ZXh0LTR4bCBtdC0wIG1iLTMgbGc6bWItNCBsZWFkaW5nLXRpZ2h0IGZvbnQtYm9sZCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICB7c2VydmljZS5uYW1lfVxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlLzkwIHRleHQtYmFzZSBzbTp0ZXh0LWxnIGxnOnRleHQteGwgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgIFNlcnZpY2UgZCZhcG9zO2jDqWJlcmdlbWVudCBwcm9mZXNzaW9ubmVsXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC00IGxnOm10LTYgZmxleCBmbGV4LXdyYXAgZ2FwLTIganVzdGlmeS1jZW50ZXIgbGc6anVzdGlmeS1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctd2hpdGUvMjAgdGV4dC13aGl0ZSBweC0zIHB5LTEgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1tZWRpdW0gYmFja2Ryb3AtYmx1ci1zbVwiPkhhdXRlIGRpc3BvbmliaWxpdMOpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctd2hpdGUvMjAgdGV4dC13aGl0ZSBweC0zIHB5LTEgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1tZWRpdW0gYmFja2Ryb3AtYmx1ci1zbVwiPk9wZW4gU291cmNlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmctd2hpdGUvMjAgdGV4dC13aGl0ZSBweC0zIHB5LTEgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1tZWRpdW0gYmFja2Ryb3AtYmx1ci1zbVwiPkNvbW11bmF1dGFpcmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogQ29udGVudCAtIEZvcmNlciBsZSBmb25kIGJsYW5jICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC02IHNtOnAtOCBiZy13aGl0ZVwiPlxuICAgICAgICAgICAgey8qIERlc2NyaXB0aW9uICovfVxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQteGwgc206dGV4dC0yeGwgbGc6dGV4dC0zeGwgbWItNCBsZzptYi02IHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIGZvbnQtaGVhZGluZyBmb250LWJvbGQgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14bCBzbTp0ZXh0LTJ4bCBsZzp0ZXh0LTN4bCBtci0zXCI+8J+Tizwvc3Bhbj5cbiAgICAgICAgICAgICAgRGVzY3JpcHRpb24gZMOpdGFpbGzDqWVcbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS81IHRvLWJhbnF1aXNlLWJsdWUtbGlnaHQvNSByb3VuZGVkLTJ4bCBwLTQgbGc6cC02IGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS8xMCBtYi04XCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtYmx1ZS1kYXJrLzkwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWJhc2Ugc206dGV4dC1sZyBsZzp0ZXh0LXhsIG1iLTRcIj5cbiAgICAgICAgICAgICAgICB7c2VydmljZS5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgZ2FwLTQgbXQtNlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgcC0zIGJnLXdoaXRlLzYwIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLzEwXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTAgaC0xMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCByb3VuZGVkLWxnIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgbXItM1wiPlxuICAgICAgICAgICAgICAgICAgICDinJNcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIHRleHQtc21cIj45OS45JSBVcHRpbWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyay83MCB0ZXh0LXhzXCI+RGlzcG9uaWJpbGl0w6kgZ2FyYW50aWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgcC0zIGJnLXdoaXRlLzYwIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLzEwXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTAgaC0xMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNTAwIHRvLWJsdWUtNjAwIHJvdW5kZWQtbGcgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSBtci0zXCI+XG4gICAgICAgICAgICAgICAgICAgIPCflJJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIHRleHQtc21cIj5Tw6ljdXJpc8OpPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsvNzAgdGV4dC14c1wiPlNTTCAmIEJhY2t1cHM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICB7LyogRm9uY3Rpb25uYWxpdMOpcyAqL31cbiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIGxnOnRleHQtM3hsIG1iLTQgbGc6bWItNiB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayBmb250LWhlYWRpbmcgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteGwgc206dGV4dC0yeGwgbGc6dGV4dC0zeGwgbXItM1wiPuKaoTwvc3Bhbj5cbiAgICAgICAgICAgICAge3RyYW5zbGF0aW9ucy5kaXNjb3ZlckZlYXR1cmVzfVxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBzbTpncmlkLWNvbHMtMiBnYXAtNCBtYi04XCI+XG4gICAgICAgICAgICAgIHtzZXJ2aWNlLmZlYXR1cmVzLm1hcCgoZmVhdHVyZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgYmctYmFucXVpc2UtYmx1ZS81IHJvdW5kZWQteGwgcC00IGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS8xMCBob3ZlcjpiZy1iYW5xdWlzZS1ibHVlLzEwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCBncm91cFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTYgaC02IGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtci0zIG10LTAuNSBmbGV4LXNocmluay0wIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0yMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLXdoaXRlIHJvdW5kZWQtZnVsbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyay85MCBmb250LW1lZGl1bSB0ZXh0LXNtIGxnOnRleHQtYmFzZSBsZWFkaW5nLXJlbGF4ZWRcIj57ZmVhdHVyZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiBDYWxsIHRvIGFjdGlvbiAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHQtNiBsZzpwdC04IGJvcmRlci10IGJvcmRlci1iYW5xdWlzZS1ibHVlLzEwXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj17c2VydmljZS51cmx9XG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHQgdGV4dC13aGl0ZSBib3JkZXItMCBweS00IHB4LTYgc206cHgtOCByb3VuZGVkLTJ4bCBjdXJzb3ItcG9pbnRlciBuby11bmRlcmxpbmUgZm9udC1ib2xkIHRyYWNraW5nLXdpZGUgc2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpzaGFkb3cteGwgaG92ZXI6LXRyYW5zbGF0ZS15LTEgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1iYW5xdWlzZS1ibHVlLWxpZ2h0IHRleHQtYmFzZSBsZzp0ZXh0LWxnIGhvdmVyOnNjYWxlLVsxLjAyXSBhY3RpdmU6c2NhbGUtOTVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibXItMyB0ZXh0LXhsIGxnOnRleHQtMnhsXCI+8J+agDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5BY2PDqWRlciDDoCB7c2VydmljZS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHRleHQtc20gdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsvNjAgbXQtNFwiPlxuICAgICAgICAgICAgICAgIEJlc29pbiBkJmFwb3M7YWlkZSA/IFJlam9pZ25leiBub3RyZSA8YSBocmVmPXtVUkxTLnNvY2lhbC5kaXNjb3JkfSBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUgaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwIGZvbnQtbWVkaXVtXCI+RGlzY29yZDwvYT4gcG91ciBvYnRlbmlyIGR1IHN1cHBvcnRcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBEZWNvcmF0aXZlIGVsZW1lbnRzICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgdy0xNiBoLTE2IHNtOnctMjQgc206aC0yNCBsZzp3LTMyIGxnOmgtMzIgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xMCByb3VuZGVkLWZ1bGwgLXRyYW5zbGF0ZS15LTggdHJhbnNsYXRlLXgtOCBzbTotdHJhbnNsYXRlLXktMTIgc206dHJhbnNsYXRlLXgtMTIgbGc6LXRyYW5zbGF0ZS15LTE2IGxnOnRyYW5zbGF0ZS14LTE2IGhpZGRlbiBzbTpibG9jayBwb2ludGVyLWV2ZW50cy1ub25lXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctMTIgaC0xMiBzbTp3LTE2IHNtOmgtMTYgbGc6dy0yNCBsZzpoLTI0IGJnLWJhbnF1aXNlLWJsdWUvNSByb3VuZGVkLWZ1bGwgdHJhbnNsYXRlLXktNiAtdHJhbnNsYXRlLXgtNiBzbTp0cmFuc2xhdGUteS04IHNtOi10cmFuc2xhdGUteC04IGxnOnRyYW5zbGF0ZS15LTEyIGxnOi10cmFuc2xhdGUteC0xMiBoaWRkZW4gc206YmxvY2sgcG9pbnRlci1ldmVudHMtbm9uZVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwiVVJMUyIsIlBvcHVwIiwic2VydmljZSIsIm9uQ2xvc2UiLCJ0cmFuc2xhdGlvbnMiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwiZGl2IiwiY2xhc3NOYW1lIiwiYnV0dG9uIiwib25DbGljayIsImFyaWEtbGFiZWwiLCJjbG9zZSIsImljb24iLCJoMiIsIm5hbWUiLCJzcGFuIiwiaDMiLCJwIiwiZGVzY3JpcHRpb24iLCJkaXNjb3ZlckZlYXR1cmVzIiwiZmVhdHVyZXMiLCJtYXAiLCJmZWF0dXJlIiwiaW5kZXgiLCJhIiwiaHJlZiIsInVybCIsInRhcmdldCIsInJlbCIsInNvY2lhbCIsImRpc2NvcmQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/Popup.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/ui/ScrollToTopButton.tsx":
/*!*********************************************!*\
!*** ./components/ui/ScrollToTopButton.tsx ***!
\*********************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollToTopButton: () => (/* binding */ ScrollToTopButton)\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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/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 _lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/hooks/useScrollEffects */ \"(app-pages-browser)/./lib/hooks/useScrollEffects.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst ScrollToTopButton = ()=>{\n _s();\n const { isVisible, scrollToTop } = (0,_lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: scrollToTop,\n className: \"fixed bottom-6 right-6 z-50 w-12 h-12 sm:w-14 sm:h-14 bg-gradient-to-r from-banquise-blue to-banquise-blue-light text-white rounded-full shadow-lg hover:shadow-xl transition-all duration-300 flex items-center justify-center group border border-banquise-blue-lightest/30 backdrop-blur-sm \".concat(isVisible ? 'opacity-100 translate-y-0 scale-100' : 'opacity-0 translate-y-4 scale-95 pointer-events-none'),\n \"aria-label\": \"Retour en haut de page\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 sm:w-6 sm:h-6 transition-transform duration-300 group-hover:-translate-y-0.5\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2.5,\n d: \"M7 11l5-5m0 0l5 5m-5-5v12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-r from-banquise-blue-light to-banquise-blue rounded-full opacity-0 group-hover:opacity-75 transition-opacity duration-300 blur-sm\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined);\n};\n_s(ScrollToTopButton, \"08kOWwq2gjpwiaHlC/OmoCq2fmk=\", false, function() {\n return [\n _lib_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects\n ];\n});\n_c = ScrollToTopButton;\nvar _c;\n$RefreshReg$(_c, \"ScrollToTopButton\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvU2Nyb2xsVG9Ub3BCdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMEI7QUFDc0M7QUFFekQsTUFBTUUsb0JBQThCOztJQUN6QyxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFLEdBQUdILDZFQUFnQkE7SUFFbkQscUJBQ0UsOERBQUNJO1FBQ0NDLFNBQVNGO1FBQ1RHLFdBQVcsa1NBSVYsT0FIQ0osWUFDSSx3Q0FDQTtRQUVOSyxjQUFXOzswQkFFWCw4REFBQ0M7Z0JBQ0NGLFdBQVU7Z0JBQ1ZHLE1BQUs7Z0JBQ0xDLFFBQU87Z0JBQ1BDLFNBQVE7MEJBRVIsNEVBQUNDO29CQUNDQyxlQUFjO29CQUNkQyxnQkFBZTtvQkFDZkMsYUFBYTtvQkFDYkMsR0FBRTs7Ozs7Ozs7Ozs7MEJBS04sOERBQUNDO2dCQUFJWCxXQUFVOzs7Ozs7Ozs7Ozs7QUFHckIsRUFBRTtHQS9CV0w7O1FBQ3dCRCx5RUFBZ0JBOzs7S0FEeENDIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2NvbXBvbmVudHMvdWkvU2Nyb2xsVG9Ub3BCdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTY3JvbGxFZmZlY3RzIH0gZnJvbSAnQC9saWIvaG9va3MvdXNlU2Nyb2xsRWZmZWN0cyc7XG5cbmV4cG9ydCBjb25zdCBTY3JvbGxUb1RvcEJ1dHRvbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgaXNWaXNpYmxlLCBzY3JvbGxUb1RvcCB9ID0gdXNlU2Nyb2xsRWZmZWN0cygpO1xuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17c2Nyb2xsVG9Ub3B9XG4gICAgICBjbGFzc05hbWU9e2BmaXhlZCBib3R0b20tNiByaWdodC02IHotNTAgdy0xMiBoLTEyIHNtOnctMTQgc206aC0xNCBiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHRleHQtd2hpdGUgcm91bmRlZC1mdWxsIHNoYWRvdy1sZyBob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdyb3VwIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8zMCBiYWNrZHJvcC1ibHVyLXNtICR7XG4gICAgICAgIGlzVmlzaWJsZSBcbiAgICAgICAgICA/ICdvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wIHNjYWxlLTEwMCcgXG4gICAgICAgICAgOiAnb3BhY2l0eS0wIHRyYW5zbGF0ZS15LTQgc2NhbGUtOTUgcG9pbnRlci1ldmVudHMtbm9uZSdcbiAgICAgIH1gfVxuICAgICAgYXJpYS1sYWJlbD1cIlJldG91ciBlbiBoYXV0IGRlIHBhZ2VcIlxuICAgID5cbiAgICAgIDxzdmcgXG4gICAgICAgIGNsYXNzTmFtZT1cInctNSBoLTUgc206dy02IHNtOmgtNiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6LXRyYW5zbGF0ZS15LTAuNVwiIFxuICAgICAgICBmaWxsPVwibm9uZVwiIFxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIFxuICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIFxuICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBcbiAgICAgICAgICBzdHJva2VXaWR0aD17Mi41fSBcbiAgICAgICAgICBkPVwiTTcgMTFsNS01bTAgMGw1IDVtLTUtNXYxMlwiIFxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICBcbiAgICAgIHsvKiBFZmZldCBkZSBsdWV1ciBhdSBob3ZlciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZS1saWdodCB0by1iYW5xdWlzZS1ibHVlIHJvdW5kZWQtZnVsbCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS03NSB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwIGJsdXItc21cIj48L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTY3JvbGxFZmZlY3RzIiwiU2Nyb2xsVG9Ub3BCdXR0b24iLCJpc1Zpc2libGUiLCJzY3JvbGxUb1RvcCIsImJ1dHRvbiIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJhcmlhLWxhYmVsIiwic3ZnIiwiZmlsbCIsInN0cm9rZSIsInZpZXdCb3giLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJkIiwiZGl2Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/ScrollToTopButton.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/config/constants.ts":
/*!*********************************!*\
!*** ./lib/config/constants.ts ***!
\*********************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SITE_CONFIG: () => (/* binding */ SITE_CONFIG),\n/* harmony export */ URLS: () => (/* binding */ URLS)\n/* harmony export */ });\nconst URLS = {\n services: {\n wiki: \"https://wiki.la-banquise.fr\",\n gitea: \"https://git.la-banquise.fr\",\n panel: \"https://panel.la-banquise.fr\",\n auth: \"https://auth.la-banquise.fr\",\n pelican: \"https://pelican.la-banquise.fr\",\n intra: \"https://intra.la-banquise.fr\",\n mails: \"https://mails.la-banquise.fr\",\n opencloud: \"https://opencloud.la-banquise.fr\",\n ssp: \"https://ssp.la-banquise.fr\"\n },\n social: {\n discord: \"https://discord.gg/bJhM97wans\"\n },\n contact: {\n email: \"mailto:contact@la-banquise.fr\"\n }\n};\nconst SITE_CONFIG = {\n name: \"La Banquise\",\n description: \"Association d'hébergement et lab réseau pour tous les étudiants et associations de l'EPITA\",\n tagline: \"Communauté • Hébergement\"\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9jb25maWcvY29uc3RhbnRzLnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sTUFBTUEsT0FBTztJQUNsQkMsVUFBVTtRQUNSQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsT0FBTztRQUNQQyxPQUFPO1FBQ1BDLFdBQVc7UUFDWEMsS0FBSztJQUNQO0lBQ0FDLFFBQVE7UUFDTkMsU0FBUztJQUNYO0lBQ0FDLFNBQVM7UUFDUEMsT0FBTztJQUNUO0FBQ0YsRUFBVztBQUVKLE1BQU1DLGNBQWM7SUFDekJDLE1BQU07SUFDTkMsYUFBYTtJQUNiQyxTQUFTO0FBQ1gsRUFBVyIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9saWIvY29uZmlnL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVVJMUyA9IHtcbiAgc2VydmljZXM6IHtcbiAgICB3aWtpOiBcImh0dHBzOi8vd2lraS5sYS1iYW5xdWlzZS5mclwiLFxuICAgIGdpdGVhOiBcImh0dHBzOi8vZ2l0LmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgcGFuZWw6IFwiaHR0cHM6Ly9wYW5lbC5sYS1iYW5xdWlzZS5mclwiLFxuICAgIGF1dGg6IFwiaHR0cHM6Ly9hdXRoLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgcGVsaWNhbjogXCJodHRwczovL3BlbGljYW4ubGEtYmFucXVpc2UuZnJcIixcbiAgICBpbnRyYTogXCJodHRwczovL2ludHJhLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgbWFpbHM6IFwiaHR0cHM6Ly9tYWlscy5sYS1iYW5xdWlzZS5mclwiLFxuICAgIG9wZW5jbG91ZDogXCJodHRwczovL29wZW5jbG91ZC5sYS1iYW5xdWlzZS5mclwiLFxuICAgIHNzcDogXCJodHRwczovL3NzcC5sYS1iYW5xdWlzZS5mclwiXG4gIH0sXG4gIHNvY2lhbDoge1xuICAgIGRpc2NvcmQ6IFwiaHR0cHM6Ly9kaXNjb3JkLmdnL2JKaE05N3dhbnNcIlxuICB9LFxuICBjb250YWN0OiB7XG4gICAgZW1haWw6IFwibWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnJcIlxuICB9XG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgU0lURV9DT05GSUcgPSB7XG4gIG5hbWU6IFwiTGEgQmFucXVpc2VcIixcbiAgZGVzY3JpcHRpb246IFwiQXNzb2NpYXRpb24gZCdow6liZXJnZW1lbnQgZXQgbGFiIHLDqXNlYXUgcG91ciB0b3VzIGxlcyDDqXR1ZGlhbnRzIGV0IGFzc29jaWF0aW9ucyBkZSBsJ0VQSVRBXCIsXG4gIHRhZ2xpbmU6IFwiQ29tbXVuYXV0w6kg4oCiIEjDqWJlcmdlbWVudFwiXG59IGFzIGNvbnN0O1xuIl0sIm5hbWVzIjpbIlVSTFMiLCJzZXJ2aWNlcyIsIndpa2kiLCJnaXRlYSIsInBhbmVsIiwiYXV0aCIsInBlbGljYW4iLCJpbnRyYSIsIm1haWxzIiwib3BlbmNsb3VkIiwic3NwIiwic29jaWFsIiwiZGlzY29yZCIsImNvbnRhY3QiLCJlbWFpbCIsIlNJVEVfQ09ORklHIiwibmFtZSIsImRlc2NyaXB0aW9uIiwidGFnbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/config/constants.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/data/translations/en.ts":
/*!*************************************!*\
!*** ./lib/data/translations/en.ts ***!
\*************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ en: () => (/* binding */ en)\n/* harmony export */ });\n/* harmony import */ var _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\nconst en = {\n services: [\n {\n name: \"Wiki\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.wiki,\n image: \"/assets/wikijs.png\",\n icon: \"📚\",\n description: \"Collaborative technical documentation and knowledge sharing platform. Create, edit and organize your guides, tutorials and documentation as a team with integrated versioning system.\",\n features: [\n \"Advanced markdown editor with real-time preview\",\n \"Versioning system to track changes\",\n \"Real-time collaboration with multiple contributors\",\n \"Smart search across all documents\",\n \"Predefined templates for different documentation types\",\n \"Comment and revision system\",\n \"PDF and HTML export for external sharing\",\n \"Git integration for backup\"\n ]\n },\n {\n name: \"Gitea\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.gitea,\n image: \"/assets/Gitea_Logo.png\",\n icon: \"🔧\",\n description: \"Lightweight and performant self-hosted Git service for your development projects. Open-source alternative to GitHub with all essential features for managing your repositories.\",\n features: [\n \"Unlimited public and private Git repositories\",\n \"Intuitive web interface for project management\",\n \"Issues and pull requests with review system\",\n \"Integrated wiki for each project\",\n \"CI/CD actions for automation\",\n \"Fine-grained permissions and team management\",\n \"Complete REST API for integration\",\n \"Webhooks for external notifications\"\n ]\n },\n {\n name: \"Pelican\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.pelican,\n image: \"/assets/pelican.png\",\n icon: \"🐧\",\n description: \"Game server management with dedicated servers (Minecraft, CS2, Palworld, and many others)\",\n features: [\n \"One-click deployment with pre-configured templates\",\n \"Real-time administration console\",\n \"File management with integrated editor\",\n \"Performance and resource monitoring\",\n \"Automatic backup system\",\n \"Automated task scheduler\"\n ]\n },\n {\n name: \"Password Change\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.ssp,\n image: \"/assets/banquise.png\",\n icon: \"🔐\",\n description: \"Secure interface for autonomous password management. Easily change your credentials safely.\",\n features: [\n \"Secure interface to change your password\",\n \"Password complexity validation\",\n \"Email notifications of changes\",\n \"Modification history\"\n ]\n },\n {\n name: \"OpenCloud\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.opencloud,\n image: \"/assets/opencloud_logo_white.png\",\n icon: \"☁️\",\n description: \"Open-source collaborative cloud platform for file storage, sharing and synchronization. Free alternative to Google Drive with full control over your data.\",\n features: [\n \"Secure and encrypted cloud storage\",\n \"Multi-device synchronization\",\n \"File sharing with secure links\",\n \"Collaborative document editing\",\n \"Automatic file versioning\",\n \"Native mobile applications\",\n \"Integration with external tools\",\n \"Geo-redundant data backup\"\n ]\n },\n {\n name: \"Intranet\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.intra,\n image: \"/assets/banquise.png\",\n icon: \"🏢\",\n description: \"Secure private space for the association to centralize internal resources, communications and collaboration tools between members.\",\n features: [\n \"Personalized dashboard for each member\",\n \"Event and meeting calendar\",\n \"Secure file sharing\",\n \"Private discussion forums\",\n \"Member directory with profiles\",\n \"Internal notification system\",\n \"Project and task management\",\n \"Archive of decisions and minutes\"\n ]\n },\n {\n name: \"Gaming Panel\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.panel,\n image: \"/assets/banquise.png\",\n icon: \"🎮\",\n description: \"Centralized management interface for all your game servers. Easily deploy, configure and monitor your Minecraft, CS2, Garry's Mod and many other servers.\",\n features: [\n \"Support for 20+ popular games (Minecraft, CS2, GMod...)\",\n \"One-click deployment with pre-configured templates\",\n \"Real-time administration console\",\n \"File management with integrated editor\",\n \"Performance and resource monitoring\",\n \"Automatic backup system\",\n \"Automated task scheduler\"\n ]\n },\n {\n name: \"Mails\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.mails,\n image: \"/assets/banquise.png\",\n icon: \"📧\",\n description: \"Professional email service with modern web interface. Benefit from a personalized @la-banquise.fr email address with all advanced features.\",\n features: [\n \"Personalized @la-banquise.fr email addresses\",\n \"Modern and responsive webmail interface\",\n \"Integrated anti-spam and antivirus filters\",\n \"Synchronized contacts and calendar\",\n \"IMAP/SMTP support for external clients\",\n \"Generous storage with archiving\",\n \"Communication encryption\",\n \"Automatic data backup\"\n ]\n }\n ],\n hero: {\n title: \"Welcome to La Banquise\",\n subtitle: \"Hosting provider, for students, by students.\",\n cta: \"Discover our services\"\n },\n navigation: {\n home: \"Home\",\n services: \"Services\",\n about: \"About\",\n contact: \"Contact\"\n },\n common: {\n discoverFeatures: \"Discover all features\",\n close: \"Close\",\n loading: \"Loading...\"\n },\n user: {\n profile: \"Profile\",\n logout: \"Sign out\",\n groups: \"Groups\",\n userMenu: \"User menu\",\n connecting: \"Connecting...\",\n authError: \"Authentication error\"\n }\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9kYXRhL3RyYW5zbGF0aW9ucy9lbi50cyIsIm1hcHBpbmdzIjoiOzs7OztBQUM4QztBQUV2QyxNQUFNQyxLQUFrQjtJQUM3QkMsVUFBVTtRQUNSO1lBQ0VDLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ0csSUFBSTtZQUN2QkMsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNRLEtBQUs7WUFDeEJKLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLSix1REFBSUEsQ0FBQ0UsUUFBUSxDQUFDUyxPQUFPO1lBQzFCTCxPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ1UsR0FBRztZQUN0Qk4sT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNXLFNBQVM7WUFDNUJQLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLSix1REFBSUEsQ0FBQ0UsUUFBUSxDQUFDWSxLQUFLO1lBQ3hCUixPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ2EsS0FBSztZQUN4QlQsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNjLEtBQUs7WUFDeEJWLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO0tBQ0Q7SUFDRFEsTUFBTTtRQUNKQyxPQUFPO1FBQ1BDLFVBQVU7UUFDVkMsS0FBSztJQUNQO0lBQ0FDLFlBQVk7UUFDVkMsTUFBTTtRQUNOcEIsVUFBVTtRQUNWcUIsT0FBTztRQUNQQyxTQUFTO0lBQ1g7SUFDQUMsUUFBUTtRQUNOQyxrQkFBa0I7UUFDbEJDLE9BQU87UUFDUEMsU0FBUztJQUNYO0lBQ0FDLE1BQU07UUFDSkMsU0FBUztRQUNUQyxRQUFRO1FBQ1JDLFFBQVE7UUFDUkMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLFdBQVc7SUFDYjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2RhdGEvdHJhbnNsYXRpb25zL2VuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICdAL3R5cGVzL2kxOG4nO1xuaW1wb3J0IHsgVVJMUyB9IGZyb20gJ0AvbGliL2NvbmZpZy9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgZW46IFRyYW5zbGF0aW9uID0ge1xuICBzZXJ2aWNlczogW1xuICAgIHtcbiAgICAgIG5hbWU6IFwiV2lraVwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLndpa2ksXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL3dpa2lqcy5wbmdcIixcbiAgICAgIGljb246IFwi8J+TmlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiQ29sbGFib3JhdGl2ZSB0ZWNobmljYWwgZG9jdW1lbnRhdGlvbiBhbmQga25vd2xlZGdlIHNoYXJpbmcgcGxhdGZvcm0uIENyZWF0ZSwgZWRpdCBhbmQgb3JnYW5pemUgeW91ciBndWlkZXMsIHR1dG9yaWFscyBhbmQgZG9jdW1lbnRhdGlvbiBhcyBhIHRlYW0gd2l0aCBpbnRlZ3JhdGVkIHZlcnNpb25pbmcgc3lzdGVtLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJBZHZhbmNlZCBtYXJrZG93biBlZGl0b3Igd2l0aCByZWFsLXRpbWUgcHJldmlld1wiLFxuICAgICAgICBcIlZlcnNpb25pbmcgc3lzdGVtIHRvIHRyYWNrIGNoYW5nZXNcIixcbiAgICAgICAgXCJSZWFsLXRpbWUgY29sbGFib3JhdGlvbiB3aXRoIG11bHRpcGxlIGNvbnRyaWJ1dG9yc1wiLFxuICAgICAgICBcIlNtYXJ0IHNlYXJjaCBhY3Jvc3MgYWxsIGRvY3VtZW50c1wiLFxuICAgICAgICBcIlByZWRlZmluZWQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgZG9jdW1lbnRhdGlvbiB0eXBlc1wiLFxuICAgICAgICBcIkNvbW1lbnQgYW5kIHJldmlzaW9uIHN5c3RlbVwiLFxuICAgICAgICBcIlBERiBhbmQgSFRNTCBleHBvcnQgZm9yIGV4dGVybmFsIHNoYXJpbmdcIixcbiAgICAgICAgXCJHaXQgaW50ZWdyYXRpb24gZm9yIGJhY2t1cFwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkdpdGVhXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuZ2l0ZWEsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL0dpdGVhX0xvZ28ucG5nXCIsXG4gICAgICBpY29uOiBcIvCflKdcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkxpZ2h0d2VpZ2h0IGFuZCBwZXJmb3JtYW50IHNlbGYtaG9zdGVkIEdpdCBzZXJ2aWNlIGZvciB5b3VyIGRldmVsb3BtZW50IHByb2plY3RzLiBPcGVuLXNvdXJjZSBhbHRlcm5hdGl2ZSB0byBHaXRIdWIgd2l0aCBhbGwgZXNzZW50aWFsIGZlYXR1cmVzIGZvciBtYW5hZ2luZyB5b3VyIHJlcG9zaXRvcmllcy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiVW5saW1pdGVkIHB1YmxpYyBhbmQgcHJpdmF0ZSBHaXQgcmVwb3NpdG9yaWVzXCIsXG4gICAgICAgIFwiSW50dWl0aXZlIHdlYiBpbnRlcmZhY2UgZm9yIHByb2plY3QgbWFuYWdlbWVudFwiLFxuICAgICAgICBcIklzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cyB3aXRoIHJldmlldyBzeXN0ZW1cIixcbiAgICAgICAgXCJJbnRlZ3JhdGVkIHdpa2kgZm9yIGVhY2ggcHJvamVjdFwiLFxuICAgICAgICBcIkNJL0NEIGFjdGlvbnMgZm9yIGF1dG9tYXRpb25cIixcbiAgICAgICAgXCJGaW5lLWdyYWluZWQgcGVybWlzc2lvbnMgYW5kIHRlYW0gbWFuYWdlbWVudFwiLFxuICAgICAgICBcIkNvbXBsZXRlIFJFU1QgQVBJIGZvciBpbnRlZ3JhdGlvblwiLFxuICAgICAgICBcIldlYmhvb2tzIGZvciBleHRlcm5hbCBub3RpZmljYXRpb25zXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiUGVsaWNhblwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLnBlbGljYW4sXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL3BlbGljYW4ucG5nXCIsXG4gICAgICBpY29uOiBcIvCfkKdcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkdhbWUgc2VydmVyIG1hbmFnZW1lbnQgd2l0aCBkZWRpY2F0ZWQgc2VydmVycyAoTWluZWNyYWZ0LCBDUzIsIFBhbHdvcmxkLCBhbmQgbWFueSBvdGhlcnMpXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIk9uZS1jbGljayBkZXBsb3ltZW50IHdpdGggcHJlLWNvbmZpZ3VyZWQgdGVtcGxhdGVzXCIsXG4gICAgICAgIFwiUmVhbC10aW1lIGFkbWluaXN0cmF0aW9uIGNvbnNvbGVcIixcbiAgICAgICAgXCJGaWxlIG1hbmFnZW1lbnQgd2l0aCBpbnRlZ3JhdGVkIGVkaXRvclwiLFxuICAgICAgICBcIlBlcmZvcm1hbmNlIGFuZCByZXNvdXJjZSBtb25pdG9yaW5nXCIsXG4gICAgICAgIFwiQXV0b21hdGljIGJhY2t1cCBzeXN0ZW1cIixcbiAgICAgICAgXCJBdXRvbWF0ZWQgdGFzayBzY2hlZHVsZXJcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJQYXNzd29yZCBDaGFuZ2VcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5zc3AsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL2JhbnF1aXNlLnBuZ1wiLFxuICAgICAgaWNvbjogXCLwn5SQXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZWN1cmUgaW50ZXJmYWNlIGZvciBhdXRvbm9tb3VzIHBhc3N3b3JkIG1hbmFnZW1lbnQuIEVhc2lseSBjaGFuZ2UgeW91ciBjcmVkZW50aWFscyBzYWZlbHkuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlNlY3VyZSBpbnRlcmZhY2UgdG8gY2hhbmdlIHlvdXIgcGFzc3dvcmRcIixcbiAgICAgICAgXCJQYXNzd29yZCBjb21wbGV4aXR5IHZhbGlkYXRpb25cIixcbiAgICAgICAgXCJFbWFpbCBub3RpZmljYXRpb25zIG9mIGNoYW5nZXNcIixcbiAgICAgICAgXCJNb2RpZmljYXRpb24gaGlzdG9yeVwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIk9wZW5DbG91ZFwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLm9wZW5jbG91ZCxcbiAgICAgIGltYWdlOiBcIi9hc3NldHMvb3BlbmNsb3VkX2xvZ29fd2hpdGUucG5nXCIsXG4gICAgICBpY29uOiBcIuKYge+4j1wiLFxuICAgICAgZGVzY3JpcHRpb246IFwiT3Blbi1zb3VyY2UgY29sbGFib3JhdGl2ZSBjbG91ZCBwbGF0Zm9ybSBmb3IgZmlsZSBzdG9yYWdlLCBzaGFyaW5nIGFuZCBzeW5jaHJvbml6YXRpb24uIEZyZWUgYWx0ZXJuYXRpdmUgdG8gR29vZ2xlIERyaXZlIHdpdGggZnVsbCBjb250cm9sIG92ZXIgeW91ciBkYXRhLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJTZWN1cmUgYW5kIGVuY3J5cHRlZCBjbG91ZCBzdG9yYWdlXCIsXG4gICAgICAgIFwiTXVsdGktZGV2aWNlIHN5bmNocm9uaXphdGlvblwiLFxuICAgICAgICBcIkZpbGUgc2hhcmluZyB3aXRoIHNlY3VyZSBsaW5rc1wiLFxuICAgICAgICBcIkNvbGxhYm9yYXRpdmUgZG9jdW1lbnQgZWRpdGluZ1wiLFxuICAgICAgICBcIkF1dG9tYXRpYyBmaWxlIHZlcnNpb25pbmdcIixcbiAgICAgICAgXCJOYXRpdmUgbW9iaWxlIGFwcGxpY2F0aW9uc1wiLFxuICAgICAgICBcIkludGVncmF0aW9uIHdpdGggZXh0ZXJuYWwgdG9vbHNcIixcbiAgICAgICAgXCJHZW8tcmVkdW5kYW50IGRhdGEgYmFja3VwXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiSW50cmFuZXRcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5pbnRyYSxcbiAgICAgIGltYWdlOiBcIi9hc3NldHMvYmFucXVpc2UucG5nXCIsXG4gICAgICBpY29uOiBcIvCfj6JcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNlY3VyZSBwcml2YXRlIHNwYWNlIGZvciB0aGUgYXNzb2NpYXRpb24gdG8gY2VudHJhbGl6ZSBpbnRlcm5hbCByZXNvdXJjZXMsIGNvbW11bmljYXRpb25zIGFuZCBjb2xsYWJvcmF0aW9uIHRvb2xzIGJldHdlZW4gbWVtYmVycy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiUGVyc29uYWxpemVkIGRhc2hib2FyZCBmb3IgZWFjaCBtZW1iZXJcIixcbiAgICAgICAgXCJFdmVudCBhbmQgbWVldGluZyBjYWxlbmRhclwiLFxuICAgICAgICBcIlNlY3VyZSBmaWxlIHNoYXJpbmdcIixcbiAgICAgICAgXCJQcml2YXRlIGRpc2N1c3Npb24gZm9ydW1zXCIsXG4gICAgICAgIFwiTWVtYmVyIGRpcmVjdG9yeSB3aXRoIHByb2ZpbGVzXCIsXG4gICAgICAgIFwiSW50ZXJuYWwgbm90aWZpY2F0aW9uIHN5c3RlbVwiLFxuICAgICAgICBcIlByb2plY3QgYW5kIHRhc2sgbWFuYWdlbWVudFwiLFxuICAgICAgICBcIkFyY2hpdmUgb2YgZGVjaXNpb25zIGFuZCBtaW51dGVzXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiR2FtaW5nIFBhbmVsXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMucGFuZWwsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL2JhbnF1aXNlLnBuZ1wiLFxuICAgICAgaWNvbjogXCLwn46uXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJDZW50cmFsaXplZCBtYW5hZ2VtZW50IGludGVyZmFjZSBmb3IgYWxsIHlvdXIgZ2FtZSBzZXJ2ZXJzLiBFYXNpbHkgZGVwbG95LCBjb25maWd1cmUgYW5kIG1vbml0b3IgeW91ciBNaW5lY3JhZnQsIENTMiwgR2FycnkncyBNb2QgYW5kIG1hbnkgb3RoZXIgc2VydmVycy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiU3VwcG9ydCBmb3IgMjArIHBvcHVsYXIgZ2FtZXMgKE1pbmVjcmFmdCwgQ1MyLCBHTW9kLi4uKVwiLFxuICAgICAgICBcIk9uZS1jbGljayBkZXBsb3ltZW50IHdpdGggcHJlLWNvbmZpZ3VyZWQgdGVtcGxhdGVzXCIsXG4gICAgICAgIFwiUmVhbC10aW1lIGFkbWluaXN0cmF0aW9uIGNvbnNvbGVcIixcbiAgICAgICAgXCJGaWxlIG1hbmFnZW1lbnQgd2l0aCBpbnRlZ3JhdGVkIGVkaXRvclwiLFxuICAgICAgICBcIlBlcmZvcm1hbmNlIGFuZCByZXNvdXJjZSBtb25pdG9yaW5nXCIsXG4gICAgICAgIFwiQXV0b21hdGljIGJhY2t1cCBzeXN0ZW1cIixcbiAgICAgICAgXCJBdXRvbWF0ZWQgdGFzayBzY2hlZHVsZXJcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJNYWlsc1wiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLm1haWxzLFxuICAgICAgaW1hZ2U6IFwiL2Fzc2V0cy9iYW5xdWlzZS5wbmdcIixcbiAgICAgIGljb246IFwi8J+Tp1wiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUHJvZmVzc2lvbmFsIGVtYWlsIHNlcnZpY2Ugd2l0aCBtb2Rlcm4gd2ViIGludGVyZmFjZS4gQmVuZWZpdCBmcm9tIGEgcGVyc29uYWxpemVkIEBsYS1iYW5xdWlzZS5mciBlbWFpbCBhZGRyZXNzIHdpdGggYWxsIGFkdmFuY2VkIGZlYXR1cmVzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJQZXJzb25hbGl6ZWQgQGxhLWJhbnF1aXNlLmZyIGVtYWlsIGFkZHJlc3Nlc1wiLFxuICAgICAgICBcIk1vZGVybiBhbmQgcmVzcG9uc2l2ZSB3ZWJtYWlsIGludGVyZmFjZVwiLFxuICAgICAgICBcIkludGVncmF0ZWQgYW50aS1zcGFtIGFuZCBhbnRpdmlydXMgZmlsdGVyc1wiLFxuICAgICAgICBcIlN5bmNocm9uaXplZCBjb250YWN0cyBhbmQgY2FsZW5kYXJcIixcbiAgICAgICAgXCJJTUFQL1NNVFAgc3VwcG9ydCBmb3IgZXh0ZXJuYWwgY2xpZW50c1wiLFxuICAgICAgICBcIkdlbmVyb3VzIHN0b3JhZ2Ugd2l0aCBhcmNoaXZpbmdcIixcbiAgICAgICAgXCJDb21tdW5pY2F0aW9uIGVuY3J5cHRpb25cIixcbiAgICAgICAgXCJBdXRvbWF0aWMgZGF0YSBiYWNrdXBcIlxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgaGVybzoge1xuICAgIHRpdGxlOiBcIldlbGNvbWUgdG8gTGEgQmFucXVpc2VcIixcbiAgICBzdWJ0aXRsZTogXCJIb3N0aW5nIHByb3ZpZGVyLCBmb3Igc3R1ZGVudHMsIGJ5IHN0dWRlbnRzLlwiLFxuICAgIGN0YTogXCJEaXNjb3ZlciBvdXIgc2VydmljZXNcIlxuICB9LFxuICBuYXZpZ2F0aW9uOiB7XG4gICAgaG9tZTogXCJIb21lXCIsXG4gICAgc2VydmljZXM6IFwiU2VydmljZXNcIixcbiAgICBhYm91dDogXCJBYm91dFwiLFxuICAgIGNvbnRhY3Q6IFwiQ29udGFjdFwiXG4gIH0sXG4gIGNvbW1vbjoge1xuICAgIGRpc2NvdmVyRmVhdHVyZXM6IFwiRGlzY292ZXIgYWxsIGZlYXR1cmVzXCIsXG4gICAgY2xvc2U6IFwiQ2xvc2VcIixcbiAgICBsb2FkaW5nOiBcIkxvYWRpbmcuLi5cIlxuICB9LFxuICB1c2VyOiB7XG4gICAgcHJvZmlsZTogXCJQcm9maWxlXCIsXG4gICAgbG9nb3V0OiBcIlNpZ24gb3V0XCIsXG4gICAgZ3JvdXBzOiBcIkdyb3Vwc1wiLFxuICAgIHVzZXJNZW51OiBcIlVzZXIgbWVudVwiLFxuICAgIGNvbm5lY3Rpbmc6IFwiQ29ubmVjdGluZy4uLlwiLFxuICAgIGF1dGhFcnJvcjogXCJBdXRoZW50aWNhdGlvbiBlcnJvclwiXG4gIH1cbn07XG4iXSwibmFtZXMiOlsiVVJMUyIsImVuIiwic2VydmljZXMiLCJuYW1lIiwidXJsIiwid2lraSIsImltYWdlIiwiaWNvbiIsImRlc2NyaXB0aW9uIiwiZmVhdHVyZXMiLCJnaXRlYSIsInBlbGljYW4iLCJzc3AiLCJvcGVuY2xvdWQiLCJpbnRyYSIsInBhbmVsIiwibWFpbHMiLCJoZXJvIiwidGl0bGUiLCJzdWJ0aXRsZSIsImN0YSIsIm5hdmlnYXRpb24iLCJob21lIiwiYWJvdXQiLCJjb250YWN0IiwiY29tbW9uIiwiZGlzY292ZXJGZWF0dXJlcyIsImNsb3NlIiwibG9hZGluZyIsInVzZXIiLCJwcm9maWxlIiwibG9nb3V0IiwiZ3JvdXBzIiwidXNlck1lbnUiLCJjb25uZWN0aW5nIiwiYXV0aEVycm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/data/translations/en.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/data/translations/fr.ts":
/*!*************************************!*\
!*** ./lib/data/translations/fr.ts ***!
\*************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fr: () => (/* binding */ fr)\n/* harmony export */ });\n/* harmony import */ var _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/lib/config/constants */ \"(app-pages-browser)/./lib/config/constants.ts\");\n\nconst fr = {\n services: [\n {\n name: \"Wiki\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.wiki,\n image: \"/assets/wikijs.png\",\n icon: \"📚\",\n description: \"Plateforme collaborative de documentation technique et de partage de connaissances. Créez, modifiez et organisez vos guides, tutoriels et documentations en équipe avec un système de versioning intégré.\",\n features: [\n \"Éditeur markdown avancé avec prévisualisation en temps réel\",\n \"Système de versioning pour suivre les modifications\",\n \"Collaboration en temps réel avec plusieurs contributeurs\",\n \"Recherche intelligente dans tous les documents\",\n \"Templates prédéfinis pour différents types de documentation\",\n \"Système de commentaires et de révisions\",\n \"Export PDF et HTML pour partage externe\",\n \"Intégration avec Git pour la sauvegarde\"\n ]\n },\n {\n name: \"Gitea\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.gitea,\n image: \"/assets/Gitea_Logo.png\",\n icon: \"🔧\",\n description: \"Service Git auto-hébergé lightweight et performant pour vos projets de développement. Alternative open-source à GitHub avec toutes les fonctionnalités essentielles pour gérer vos repositories.\",\n features: [\n \"Repositories Git illimités publics et privés\",\n \"Interface web intuitive pour la gestion des projets\",\n \"Issues et pull requests avec système de review\",\n \"Wiki intégré pour chaque projet\",\n \"Actions CI/CD pour l'automatisation\",\n \"Gestion fine des permissions et des équipes\",\n \"API REST complète pour l'intégration\",\n \"Webhooks pour les notifications externes\"\n ]\n },\n {\n name: \"Pelican\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.pelican,\n image: \"/assets/pelican.png\",\n icon: \"🐧\",\n description: \"Gestion de serveurs de jeux avec serveurs dédiés (Minecraft, CS2, Palworld, et bien d'autres)\",\n features: [\n \"Déploiement en un clic avec templates préconfigurés\",\n \"Console d'administration en temps réel\",\n \"Gestion des fichiers avec éditeur intégré\",\n \"Monitoring des performances et ressources\",\n \"Système de sauvegarde automatique\",\n \"Planificateur de tâches automatisées\"\n ]\n },\n {\n name: \"Changement de mot de passe\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.ssp,\n image: \"/assets/banquise.png\",\n icon: \"🔐\",\n description: \"Interface sécurisée pour la gestion autonome de vos mots de passe. Changez facilement vos identifiants en toute sécurité.\",\n features: [\n \"Interface sécurisée pour changer votre mot de passe\",\n \"Validation de la complexité des mots de passe\",\n \"Notifications par email des changements\",\n \"Historique des modifications\"\n ]\n },\n {\n name: \"OpenCloud\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.opencloud,\n image: \"/assets/opencloud_logo_white.png\",\n icon: \"☁️\",\n description: \"Plateforme cloud collaborative open-source pour le stockage, le partage et la synchronisation de fichiers. Alternative libre à Google Drive avec contrôle total sur vos données.\",\n features: [\n \"Stockage cloud sécurisé et chiffré\",\n \"Synchronisation multi-appareils\",\n \"Partage de fichiers avec liens sécurisés\",\n \"Édition collaborative de documents\",\n \"Versioning automatique des fichiers\",\n \"Applications mobiles natives\",\n \"Intégration avec outils externes\",\n \"Sauvegarde géoredondante des données\"\n ]\n },\n {\n name: \"Intranet\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.intra,\n image: \"/assets/banquise.png\",\n icon: \"🏢\",\n description: \"Espace privé sécurisé de l'association pour centraliser les ressources internes, communications et outils de collaboration entre membres.\",\n features: [\n \"Tableau de bord personnalisé pour chaque membre\",\n \"Calendrier des événements et réunions\",\n \"Partage de fichiers sécurisé\",\n \"Forums de discussion privés\",\n \"Annuaire des membres avec profils\",\n \"Système de notifications internes\",\n \"Gestion des projets et tâches\",\n \"Archive des décisions et procès-verbaux\"\n ]\n },\n {\n name: \"Panel Gaming\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.panel,\n image: \"/assets/banquise.png\",\n icon: \"🎮\",\n description: \"Interface de gestion centralisée pour tous vos serveurs de jeux. Déployez, configurez et surveillez facilement vos serveurs Minecraft, CS2, Garry's Mod et bien d'autres.\",\n features: [\n \"Support de 20+ jeux populaires (Minecraft, CS2, GMod...)\",\n \"Déploiement en un clic avec templates préconfigurés\",\n \"Console d'administration en temps réel\",\n \"Gestion des fichiers avec éditeur intégré\",\n \"Monitoring des performances et ressources\",\n \"Système de sauvegarde automatique\",\n \"Planificateur de tâches automatisées\"\n ]\n },\n {\n name: \"Mails\",\n url: _lib_config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.mails,\n image: \"/assets/banquise.png\",\n icon: \"📧\",\n description: \"Service de messagerie électronique professionnel avec interface web moderne. Bénéficiez d'une adresse email personnalisée @la-banquise.fr avec toutes les fonctionnalités avancées.\",\n features: [\n \"Adresses email personnalisées @la-banquise.fr\",\n \"Interface webmail moderne et responsive\",\n \"Filtres anti-spam et antivirus intégrés\",\n \"Contacts et calendrier synchronisés\",\n \"Support IMAP/SMTP pour clients externes\",\n \"Stockage généreux avec archivage\",\n \"Chiffrement des communications\",\n \"Sauvegarde automatique des données\"\n ]\n }\n ],\n hero: {\n title: \"Bienvenue chez La Banquise\",\n subtitle: \"Hébergeur, pour les étudiants, par des étudiants.\",\n cta: \"Découvrir nos services\"\n },\n navigation: {\n home: \"Accueil\",\n services: \"Services\",\n about: \"À propos\",\n contact: \"Contact\"\n },\n common: {\n discoverFeatures: \"Découvrir toutes les fonctionnalités\",\n close: \"Fermer\",\n loading: \"Chargement...\"\n },\n user: {\n profile: \"Profil\",\n logout: \"Se déconnecter\",\n groups: \"Groupes\",\n userMenu: \"Menu utilisateur\",\n connecting: \"Connexion en cours...\",\n authError: \"Erreur d'authentification\"\n }\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9kYXRhL3RyYW5zbGF0aW9ucy9mci50cyIsIm1hcHBpbmdzIjoiOzs7OztBQUM4QztBQUV2QyxNQUFNQyxLQUFrQjtJQUM3QkMsVUFBVTtRQUNSO1lBQ0VDLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ0csSUFBSTtZQUN2QkMsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNRLEtBQUs7WUFDeEJKLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLSix1REFBSUEsQ0FBQ0UsUUFBUSxDQUFDUyxPQUFPO1lBQzFCTCxPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ1UsR0FBRztZQUN0Qk4sT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNXLFNBQVM7WUFDNUJQLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLSix1REFBSUEsQ0FBQ0UsUUFBUSxDQUFDWSxLQUFLO1lBQ3hCUixPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS0osdURBQUlBLENBQUNFLFFBQVEsQ0FBQ2EsS0FBSztZQUN4QlQsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtKLHVEQUFJQSxDQUFDRSxRQUFRLENBQUNjLEtBQUs7WUFDeEJWLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO0tBQ0Q7SUFDRFEsTUFBTTtRQUNKQyxPQUFPO1FBQ1BDLFVBQVU7UUFDVkMsS0FBSztJQUNQO0lBQ0FDLFlBQVk7UUFDVkMsTUFBTTtRQUNOcEIsVUFBVTtRQUNWcUIsT0FBTztRQUNQQyxTQUFTO0lBQ1g7SUFDQUMsUUFBUTtRQUNOQyxrQkFBa0I7UUFDbEJDLE9BQU87UUFDUEMsU0FBUztJQUNYO0lBQ0FDLE1BQU07UUFDSkMsU0FBUztRQUNUQyxRQUFRO1FBQ1JDLFFBQVE7UUFDUkMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLFdBQVc7SUFDYjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2RhdGEvdHJhbnNsYXRpb25zL2ZyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICdAL3R5cGVzL2kxOG4nO1xuaW1wb3J0IHsgVVJMUyB9IGZyb20gJ0AvbGliL2NvbmZpZy9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgZnI6IFRyYW5zbGF0aW9uID0ge1xuICBzZXJ2aWNlczogW1xuICAgIHtcbiAgICAgIG5hbWU6IFwiV2lraVwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLndpa2ksXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL3dpa2lqcy5wbmdcIixcbiAgICAgIGljb246IFwi8J+TmlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUGxhdGVmb3JtZSBjb2xsYWJvcmF0aXZlIGRlIGRvY3VtZW50YXRpb24gdGVjaG5pcXVlIGV0IGRlIHBhcnRhZ2UgZGUgY29ubmFpc3NhbmNlcy4gQ3LDqWV6LCBtb2RpZmlleiBldCBvcmdhbmlzZXogdm9zIGd1aWRlcywgdHV0b3JpZWxzIGV0IGRvY3VtZW50YXRpb25zIGVuIMOpcXVpcGUgYXZlYyB1biBzeXN0w6htZSBkZSB2ZXJzaW9uaW5nIGludMOpZ3LDqS5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiw4lkaXRldXIgbWFya2Rvd24gYXZhbmPDqSBhdmVjIHByw6l2aXN1YWxpc2F0aW9uIGVuIHRlbXBzIHLDqWVsXCIsXG4gICAgICAgIFwiU3lzdMOobWUgZGUgdmVyc2lvbmluZyBwb3VyIHN1aXZyZSBsZXMgbW9kaWZpY2F0aW9uc1wiLFxuICAgICAgICBcIkNvbGxhYm9yYXRpb24gZW4gdGVtcHMgcsOpZWwgYXZlYyBwbHVzaWV1cnMgY29udHJpYnV0ZXVyc1wiLFxuICAgICAgICBcIlJlY2hlcmNoZSBpbnRlbGxpZ2VudGUgZGFucyB0b3VzIGxlcyBkb2N1bWVudHNcIixcbiAgICAgICAgXCJUZW1wbGF0ZXMgcHLDqWTDqWZpbmlzIHBvdXIgZGlmZsOpcmVudHMgdHlwZXMgZGUgZG9jdW1lbnRhdGlvblwiLFxuICAgICAgICBcIlN5c3TDqG1lIGRlIGNvbW1lbnRhaXJlcyBldCBkZSByw6l2aXNpb25zXCIsXG4gICAgICAgIFwiRXhwb3J0IFBERiBldCBIVE1MIHBvdXIgcGFydGFnZSBleHRlcm5lXCIsXG4gICAgICAgIFwiSW50w6lncmF0aW9uIGF2ZWMgR2l0IHBvdXIgbGEgc2F1dmVnYXJkZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkdpdGVhXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuZ2l0ZWEsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL0dpdGVhX0xvZ28ucG5nXCIsXG4gICAgICBpY29uOiBcIvCflKdcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNlcnZpY2UgR2l0IGF1dG8taMOpYmVyZ8OpIGxpZ2h0d2VpZ2h0IGV0IHBlcmZvcm1hbnQgcG91ciB2b3MgcHJvamV0cyBkZSBkw6l2ZWxvcHBlbWVudC4gQWx0ZXJuYXRpdmUgb3Blbi1zb3VyY2Ugw6AgR2l0SHViIGF2ZWMgdG91dGVzIGxlcyBmb25jdGlvbm5hbGl0w6lzIGVzc2VudGllbGxlcyBwb3VyIGfDqXJlciB2b3MgcmVwb3NpdG9yaWVzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJSZXBvc2l0b3JpZXMgR2l0IGlsbGltaXTDqXMgcHVibGljcyBldCBwcml2w6lzXCIsXG4gICAgICAgIFwiSW50ZXJmYWNlIHdlYiBpbnR1aXRpdmUgcG91ciBsYSBnZXN0aW9uIGRlcyBwcm9qZXRzXCIsXG4gICAgICAgIFwiSXNzdWVzIGV0IHB1bGwgcmVxdWVzdHMgYXZlYyBzeXN0w6htZSBkZSByZXZpZXdcIixcbiAgICAgICAgXCJXaWtpIGludMOpZ3LDqSBwb3VyIGNoYXF1ZSBwcm9qZXRcIixcbiAgICAgICAgXCJBY3Rpb25zIENJL0NEIHBvdXIgbCdhdXRvbWF0aXNhdGlvblwiLFxuICAgICAgICBcIkdlc3Rpb24gZmluZSBkZXMgcGVybWlzc2lvbnMgZXQgZGVzIMOpcXVpcGVzXCIsXG4gICAgICAgIFwiQVBJIFJFU1QgY29tcGzDqHRlIHBvdXIgbCdpbnTDqWdyYXRpb25cIixcbiAgICAgICAgXCJXZWJob29rcyBwb3VyIGxlcyBub3RpZmljYXRpb25zIGV4dGVybmVzXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiUGVsaWNhblwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLnBlbGljYW4sXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL3BlbGljYW4ucG5nXCIsXG4gICAgICBpY29uOiBcIvCfkKdcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkdlc3Rpb24gZGUgc2VydmV1cnMgZGUgamV1eCBhdmVjIHNlcnZldXJzIGTDqWRpw6lzIChNaW5lY3JhZnQsIENTMiwgUGFsd29ybGQsIGV0IGJpZW4gZCdhdXRyZXMpXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIkTDqXBsb2llbWVudCBlbiB1biBjbGljIGF2ZWMgdGVtcGxhdGVzIHByw6ljb25maWd1csOpc1wiLFxuICAgICAgICBcIkNvbnNvbGUgZCdhZG1pbmlzdHJhdGlvbiBlbiB0ZW1wcyByw6llbFwiLFxuICAgICAgICBcIkdlc3Rpb24gZGVzIGZpY2hpZXJzIGF2ZWMgw6lkaXRldXIgaW50w6lncsOpXCIsXG4gICAgICAgIFwiTW9uaXRvcmluZyBkZXMgcGVyZm9ybWFuY2VzIGV0IHJlc3NvdXJjZXNcIixcbiAgICAgICAgXCJTeXN0w6htZSBkZSBzYXV2ZWdhcmRlIGF1dG9tYXRpcXVlXCIsXG4gICAgICAgIFwiUGxhbmlmaWNhdGV1ciBkZSB0w6JjaGVzIGF1dG9tYXRpc8OpZXNcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJDaGFuZ2VtZW50IGRlIG1vdCBkZSBwYXNzZVwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLnNzcCxcbiAgICAgIGltYWdlOiBcIi9hc3NldHMvYmFucXVpc2UucG5nXCIsXG4gICAgICBpY29uOiBcIvCflJBcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkludGVyZmFjZSBzw6ljdXJpc8OpZSBwb3VyIGxhIGdlc3Rpb24gYXV0b25vbWUgZGUgdm9zIG1vdHMgZGUgcGFzc2UuIENoYW5nZXogZmFjaWxlbWVudCB2b3MgaWRlbnRpZmlhbnRzIGVuIHRvdXRlIHPDqWN1cml0w6kuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIkludGVyZmFjZSBzw6ljdXJpc8OpZSBwb3VyIGNoYW5nZXIgdm90cmUgbW90IGRlIHBhc3NlXCIsXG4gICAgICAgIFwiVmFsaWRhdGlvbiBkZSBsYSBjb21wbGV4aXTDqSBkZXMgbW90cyBkZSBwYXNzZVwiLFxuICAgICAgICBcIk5vdGlmaWNhdGlvbnMgcGFyIGVtYWlsIGRlcyBjaGFuZ2VtZW50c1wiLFxuICAgICAgICBcIkhpc3RvcmlxdWUgZGVzIG1vZGlmaWNhdGlvbnNcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJPcGVuQ2xvdWRcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5vcGVuY2xvdWQsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL29wZW5jbG91ZF9sb2dvX3doaXRlLnBuZ1wiLFxuICAgICAgaWNvbjogXCLimIHvuI9cIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBsYXRlZm9ybWUgY2xvdWQgY29sbGFib3JhdGl2ZSBvcGVuLXNvdXJjZSBwb3VyIGxlIHN0b2NrYWdlLCBsZSBwYXJ0YWdlIGV0IGxhIHN5bmNocm9uaXNhdGlvbiBkZSBmaWNoaWVycy4gQWx0ZXJuYXRpdmUgbGlicmUgw6AgR29vZ2xlIERyaXZlIGF2ZWMgY29udHLDtGxlIHRvdGFsIHN1ciB2b3MgZG9ubsOpZXMuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlN0b2NrYWdlIGNsb3VkIHPDqWN1cmlzw6kgZXQgY2hpZmZyw6lcIixcbiAgICAgICAgXCJTeW5jaHJvbmlzYXRpb24gbXVsdGktYXBwYXJlaWxzXCIsXG4gICAgICAgIFwiUGFydGFnZSBkZSBmaWNoaWVycyBhdmVjIGxpZW5zIHPDqWN1cmlzw6lzXCIsXG4gICAgICAgIFwiw4lkaXRpb24gY29sbGFib3JhdGl2ZSBkZSBkb2N1bWVudHNcIixcbiAgICAgICAgXCJWZXJzaW9uaW5nIGF1dG9tYXRpcXVlIGRlcyBmaWNoaWVyc1wiLFxuICAgICAgICBcIkFwcGxpY2F0aW9ucyBtb2JpbGVzIG5hdGl2ZXNcIixcbiAgICAgICAgXCJJbnTDqWdyYXRpb24gYXZlYyBvdXRpbHMgZXh0ZXJuZXNcIixcbiAgICAgICAgXCJTYXV2ZWdhcmRlIGfDqW9yZWRvbmRhbnRlIGRlcyBkb25uw6llc1wiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkludHJhbmV0XCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuaW50cmEsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL2JhbnF1aXNlLnBuZ1wiLFxuICAgICAgaWNvbjogXCLwn4+iXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFc3BhY2UgcHJpdsOpIHPDqWN1cmlzw6kgZGUgbCdhc3NvY2lhdGlvbiBwb3VyIGNlbnRyYWxpc2VyIGxlcyByZXNzb3VyY2VzIGludGVybmVzLCBjb21tdW5pY2F0aW9ucyBldCBvdXRpbHMgZGUgY29sbGFib3JhdGlvbiBlbnRyZSBtZW1icmVzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJUYWJsZWF1IGRlIGJvcmQgcGVyc29ubmFsaXPDqSBwb3VyIGNoYXF1ZSBtZW1icmVcIixcbiAgICAgICAgXCJDYWxlbmRyaWVyIGRlcyDDqXbDqW5lbWVudHMgZXQgcsOpdW5pb25zXCIsXG4gICAgICAgIFwiUGFydGFnZSBkZSBmaWNoaWVycyBzw6ljdXJpc8OpXCIsXG4gICAgICAgIFwiRm9ydW1zIGRlIGRpc2N1c3Npb24gcHJpdsOpc1wiLFxuICAgICAgICBcIkFubnVhaXJlIGRlcyBtZW1icmVzIGF2ZWMgcHJvZmlsc1wiLFxuICAgICAgICBcIlN5c3TDqG1lIGRlIG5vdGlmaWNhdGlvbnMgaW50ZXJuZXNcIixcbiAgICAgICAgXCJHZXN0aW9uIGRlcyBwcm9qZXRzIGV0IHTDomNoZXNcIixcbiAgICAgICAgXCJBcmNoaXZlIGRlcyBkw6ljaXNpb25zIGV0IHByb2PDqHMtdmVyYmF1eFwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIlBhbmVsIEdhbWluZ1wiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLnBhbmVsLFxuICAgICAgaW1hZ2U6IFwiL2Fzc2V0cy9iYW5xdWlzZS5wbmdcIixcbiAgICAgIGljb246IFwi8J+OrlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiSW50ZXJmYWNlIGRlIGdlc3Rpb24gY2VudHJhbGlzw6llIHBvdXIgdG91cyB2b3Mgc2VydmV1cnMgZGUgamV1eC4gRMOpcGxveWV6LCBjb25maWd1cmV6IGV0IHN1cnZlaWxsZXogZmFjaWxlbWVudCB2b3Mgc2VydmV1cnMgTWluZWNyYWZ0LCBDUzIsIEdhcnJ5J3MgTW9kIGV0IGJpZW4gZCdhdXRyZXMuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlN1cHBvcnQgZGUgMjArIGpldXggcG9wdWxhaXJlcyAoTWluZWNyYWZ0LCBDUzIsIEdNb2QuLi4pXCIsXG4gICAgICAgIFwiRMOpcGxvaWVtZW50IGVuIHVuIGNsaWMgYXZlYyB0ZW1wbGF0ZXMgcHLDqWNvbmZpZ3Vyw6lzXCIsXG4gICAgICAgIFwiQ29uc29sZSBkJ2FkbWluaXN0cmF0aW9uIGVuIHRlbXBzIHLDqWVsXCIsXG4gICAgICAgIFwiR2VzdGlvbiBkZXMgZmljaGllcnMgYXZlYyDDqWRpdGV1ciBpbnTDqWdyw6lcIixcbiAgICAgICAgXCJNb25pdG9yaW5nIGRlcyBwZXJmb3JtYW5jZXMgZXQgcmVzc291cmNlc1wiLFxuICAgICAgICBcIlN5c3TDqG1lIGRlIHNhdXZlZ2FyZGUgYXV0b21hdGlxdWVcIixcbiAgICAgICAgXCJQbGFuaWZpY2F0ZXVyIGRlIHTDomNoZXMgYXV0b21hdGlzw6llc1wiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIk1haWxzXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMubWFpbHMsXG4gICAgICBpbWFnZTogXCIvYXNzZXRzL2JhbnF1aXNlLnBuZ1wiLFxuICAgICAgaWNvbjogXCLwn5OnXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZXJ2aWNlIGRlIG1lc3NhZ2VyaWUgw6lsZWN0cm9uaXF1ZSBwcm9mZXNzaW9ubmVsIGF2ZWMgaW50ZXJmYWNlIHdlYiBtb2Rlcm5lLiBCw6luw6lmaWNpZXogZCd1bmUgYWRyZXNzZSBlbWFpbCBwZXJzb25uYWxpc8OpZSBAbGEtYmFucXVpc2UuZnIgYXZlYyB0b3V0ZXMgbGVzIGZvbmN0aW9ubmFsaXTDqXMgYXZhbmPDqWVzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJBZHJlc3NlcyBlbWFpbCBwZXJzb25uYWxpc8OpZXMgQGxhLWJhbnF1aXNlLmZyXCIsXG4gICAgICAgIFwiSW50ZXJmYWNlIHdlYm1haWwgbW9kZXJuZSBldCByZXNwb25zaXZlXCIsXG4gICAgICAgIFwiRmlsdHJlcyBhbnRpLXNwYW0gZXQgYW50aXZpcnVzIGludMOpZ3LDqXNcIixcbiAgICAgICAgXCJDb250YWN0cyBldCBjYWxlbmRyaWVyIHN5bmNocm9uaXPDqXNcIixcbiAgICAgICAgXCJTdXBwb3J0IElNQVAvU01UUCBwb3VyIGNsaWVudHMgZXh0ZXJuZXNcIixcbiAgICAgICAgXCJTdG9ja2FnZSBnw6luw6lyZXV4IGF2ZWMgYXJjaGl2YWdlXCIsXG4gICAgICAgIFwiQ2hpZmZyZW1lbnQgZGVzIGNvbW11bmljYXRpb25zXCIsXG4gICAgICAgIFwiU2F1dmVnYXJkZSBhdXRvbWF0aXF1ZSBkZXMgZG9ubsOpZXNcIlxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgaGVybzoge1xuICAgIHRpdGxlOiBcIkJpZW52ZW51ZSBjaGV6IExhIEJhbnF1aXNlXCIsXG4gICAgc3VidGl0bGU6IFwiSMOpYmVyZ2V1ciwgcG91ciBsZXMgw6l0dWRpYW50cywgcGFyIGRlcyDDqXR1ZGlhbnRzLlwiLFxuICAgIGN0YTogXCJEw6ljb3V2cmlyIG5vcyBzZXJ2aWNlc1wiXG4gIH0sXG4gIG5hdmlnYXRpb246IHtcbiAgICBob21lOiBcIkFjY3VlaWxcIixcbiAgICBzZXJ2aWNlczogXCJTZXJ2aWNlc1wiLFxuICAgIGFib3V0OiBcIsOAIHByb3Bvc1wiLFxuICAgIGNvbnRhY3Q6IFwiQ29udGFjdFwiXG4gIH0sXG4gIGNvbW1vbjoge1xuICAgIGRpc2NvdmVyRmVhdHVyZXM6IFwiRMOpY291dnJpciB0b3V0ZXMgbGVzIGZvbmN0aW9ubmFsaXTDqXNcIixcbiAgICBjbG9zZTogXCJGZXJtZXJcIixcbiAgICBsb2FkaW5nOiBcIkNoYXJnZW1lbnQuLi5cIlxuICB9LFxuICB1c2VyOiB7XG4gICAgcHJvZmlsZTogXCJQcm9maWxcIixcbiAgICBsb2dvdXQ6IFwiU2UgZMOpY29ubmVjdGVyXCIsXG4gICAgZ3JvdXBzOiBcIkdyb3VwZXNcIixcbiAgICB1c2VyTWVudTogXCJNZW51IHV0aWxpc2F0ZXVyXCIsXG4gICAgY29ubmVjdGluZzogXCJDb25uZXhpb24gZW4gY291cnMuLi5cIixcbiAgICBhdXRoRXJyb3I6IFwiRXJyZXVyIGQnYXV0aGVudGlmaWNhdGlvblwiXG4gIH1cbn07XG4iXSwibmFtZXMiOlsiVVJMUyIsImZyIiwic2VydmljZXMiLCJuYW1lIiwidXJsIiwid2lraSIsImltYWdlIiwiaWNvbiIsImRlc2NyaXB0aW9uIiwiZmVhdHVyZXMiLCJnaXRlYSIsInBlbGljYW4iLCJzc3AiLCJvcGVuY2xvdWQiLCJpbnRyYSIsInBhbmVsIiwibWFpbHMiLCJoZXJvIiwidGl0bGUiLCJzdWJ0aXRsZSIsImN0YSIsIm5hdmlnYXRpb24iLCJob21lIiwiYWJvdXQiLCJjb250YWN0IiwiY29tbW9uIiwiZGlzY292ZXJGZWF0dXJlcyIsImNsb3NlIiwibG9hZGluZyIsInVzZXIiLCJwcm9maWxlIiwibG9nb3V0IiwiZ3JvdXBzIiwidXNlck1lbnUiLCJjb25uZWN0aW5nIiwiYXV0aEVycm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/data/translations/fr.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/data/translations/index.ts":
/*!****************************************!*\
!*** ./lib/data/translations/index.ts ***!
\****************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ availableLanguages: () => (/* binding */ availableLanguages),\n/* harmony export */ defaultLanguage: () => (/* binding */ defaultLanguage),\n/* harmony export */ translations: () => (/* binding */ translations)\n/* harmony export */ });\n/* harmony import */ var _fr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fr */ \"(app-pages-browser)/./lib/data/translations/fr.ts\");\n/* harmony import */ var _en__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./en */ \"(app-pages-browser)/./lib/data/translations/en.ts\");\n\n\nconst translations = {\n fr: _fr__WEBPACK_IMPORTED_MODULE_0__.fr,\n en: _en__WEBPACK_IMPORTED_MODULE_1__.en\n};\nconst defaultLanguage = 'fr';\nconst availableLanguages = [\n 'fr',\n 'en'\n];\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9kYXRhL3RyYW5zbGF0aW9ucy9pbmRleC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEwQjtBQUNBO0FBR25CLE1BQU1FLGVBQThDO0lBQ3pERixFQUFFQSxxQ0FBQUE7SUFDRkMsRUFBRUEscUNBQUFBO0FBSUosRUFBRTtBQUVLLE1BQU1FLGtCQUE0QixLQUFLO0FBQ3ZDLE1BQU1DLHFCQUFpQztJQUFDO0lBQU07Q0FBSyxDQUFDIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvTGEgQmFucXVpc2Uvd2Vic2l0ZS1mcm9udC9iYW5xdWlzZS13ZWJzaXRlL2xpYi9kYXRhL3RyYW5zbGF0aW9ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmciB9IGZyb20gJy4vZnInO1xuaW1wb3J0IHsgZW4gfSBmcm9tICcuL2VuJztcbmltcG9ydCB0eXBlIHsgTGFuZ3VhZ2UsIFRyYW5zbGF0aW9uIH0gZnJvbSAnQC90eXBlcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uczogUmVjb3JkPExhbmd1YWdlLCBUcmFuc2xhdGlvbj4gPSB7XG4gIGZyLFxuICBlbixcbiAgLy8gQWpvdXRleiBkJ2F1dHJlcyBsYW5ndWVzIGljaSA6XG4gIC8vIGVzLFxuICAvLyBkZSxcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlID0gJ2ZyJztcbmV4cG9ydCBjb25zdCBhdmFpbGFibGVMYW5ndWFnZXM6IExhbmd1YWdlW10gPSBbJ2ZyJywgJ2VuJ107XG4iXSwibmFtZXMiOlsiZnIiLCJlbiIsInRyYW5zbGF0aW9ucyIsImRlZmF1bHRMYW5ndWFnZSIsImF2YWlsYWJsZUxhbmd1YWdlcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/data/translations/index.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/hooks/useAccordion.ts":
/*!***********************************!*\
!*** ./lib/hooks/useAccordion.ts ***!
\***********************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAccordion: () => (/* binding */ useAccordion)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer l'état des accordéons\n * Remplace la logique dans App.tsx et simplifie la gestion d'état\n */ const useAccordion = function() {\n let initialState = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n const [openAccordion, setOpenAccordion] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialState);\n const toggleAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useAccordion.useCallback[toggleAccordion]\": (title)=>{\n setOpenAccordion({\n \"useAccordion.useCallback[toggleAccordion]\": (prev)=>prev === title ? null : title\n }[\"useAccordion.useCallback[toggleAccordion]\"]);\n }\n }[\"useAccordion.useCallback[toggleAccordion]\"], []);\n const openSpecificAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useAccordion.useCallback[openSpecificAccordion]\": (title)=>{\n setOpenAccordion(title);\n }\n }[\"useAccordion.useCallback[openSpecificAccordion]\"], []);\n const closeAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useAccordion.useCallback[closeAccordion]\": ()=>{\n setOpenAccordion(null);\n }\n }[\"useAccordion.useCallback[closeAccordion]\"], []);\n const isOpen = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useAccordion.useCallback[isOpen]\": (title)=>{\n return openAccordion === title;\n }\n }[\"useAccordion.useCallback[isOpen]\"], [\n openAccordion\n ]);\n return {\n openAccordion,\n toggleAccordion,\n openSpecificAccordion,\n closeAccordion,\n isOpen\n };\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9ob29rcy91c2VBY2NvcmRpb24udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDO0FBRTlDOzs7Q0FHQyxHQUNNLE1BQU1FLGVBQWU7UUFBQ0MsZ0ZBQThCO0lBQ3pELE1BQU0sQ0FBQ0MsZUFBZUMsaUJBQWlCLEdBQUdMLCtDQUFRQSxDQUFnQkc7SUFFbEUsTUFBTUcsa0JBQWtCTCxrREFBV0E7cURBQUMsQ0FBQ007WUFDbkNGOzZEQUFpQkcsQ0FBQUEsT0FBUUEsU0FBU0QsUUFBUSxPQUFPQTs7UUFDbkQ7b0RBQUcsRUFBRTtJQUVMLE1BQU1FLHdCQUF3QlIsa0RBQVdBOzJEQUFDLENBQUNNO1lBQ3pDRixpQkFBaUJFO1FBQ25COzBEQUFHLEVBQUU7SUFFTCxNQUFNRyxpQkFBaUJULGtEQUFXQTtvREFBQztZQUNqQ0ksaUJBQWlCO1FBQ25CO21EQUFHLEVBQUU7SUFFTCxNQUFNTSxTQUFTVixrREFBV0E7NENBQUMsQ0FBQ007WUFDMUIsT0FBT0gsa0JBQWtCRztRQUMzQjsyQ0FBRztRQUFDSDtLQUFjO0lBRWxCLE9BQU87UUFDTEE7UUFDQUU7UUFDQUc7UUFDQUM7UUFDQUM7SUFDRjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2hvb2tzL3VzZUFjY29yZGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogSG9vayBwZXJzb25uYWxpc8OpIHBvdXIgZ8OpcmVyIGwnw6l0YXQgZGVzIGFjY29yZMOpb25zXG4gKiBSZW1wbGFjZSBsYSBsb2dpcXVlIGRhbnMgQXBwLnRzeCBldCBzaW1wbGlmaWUgbGEgZ2VzdGlvbiBkJ8OpdGF0XG4gKi9cbmV4cG9ydCBjb25zdCB1c2VBY2NvcmRpb24gPSAoaW5pdGlhbFN0YXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkgPT4ge1xuICBjb25zdCBbb3BlbkFjY29yZGlvbiwgc2V0T3BlbkFjY29yZGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihpbml0aWFsU3RhdGUpO1xuXG4gIGNvbnN0IHRvZ2dsZUFjY29yZGlvbiA9IHVzZUNhbGxiYWNrKCh0aXRsZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkFjY29yZGlvbihwcmV2ID0+IHByZXYgPT09IHRpdGxlID8gbnVsbCA6IHRpdGxlKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IG9wZW5TcGVjaWZpY0FjY29yZGlvbiA9IHVzZUNhbGxiYWNrKCh0aXRsZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkFjY29yZGlvbih0aXRsZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbG9zZUFjY29yZGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRPcGVuQWNjb3JkaW9uKG51bGwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaXNPcGVuID0gdXNlQ2FsbGJhY2soKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gb3BlbkFjY29yZGlvbiA9PT0gdGl0bGU7XG4gIH0sIFtvcGVuQWNjb3JkaW9uXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBvcGVuQWNjb3JkaW9uLFxuICAgIHRvZ2dsZUFjY29yZGlvbixcbiAgICBvcGVuU3BlY2lmaWNBY2NvcmRpb24sXG4gICAgY2xvc2VBY2NvcmRpb24sXG4gICAgaXNPcGVuLFxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlQWNjb3JkaW9uIiwiaW5pdGlhbFN0YXRlIiwib3BlbkFjY29yZGlvbiIsInNldE9wZW5BY2NvcmRpb24iLCJ0b2dnbGVBY2NvcmRpb24iLCJ0aXRsZSIsInByZXYiLCJvcGVuU3BlY2lmaWNBY2NvcmRpb24iLCJjbG9zZUFjY29yZGlvbiIsImlzT3BlbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/hooks/useAccordion.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/hooks/useScrollEffects.ts":
/*!***************************************!*\
!*** ./lib/hooks/useScrollEffects.ts ***!
\***************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useScrollEffects: () => (/* binding */ useScrollEffects)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer les effets de scroll\n * Remplace la logique répétée dans Navigation.tsx et ScrollToTopButton.tsx\n */ const useScrollEffects = ()=>{\n const [scrolled, setScrolled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n const [isVisible, setIsVisible] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)({\n \"useScrollEffects.useEffect\": ()=>{\n const handleScroll = {\n \"useScrollEffects.useEffect.handleScroll\": ()=>{\n const scrollY = window.scrollY;\n setScrolled(scrollY > 20);\n setIsVisible(scrollY > 300);\n }\n }[\"useScrollEffects.useEffect.handleScroll\"];\n window.addEventListener('scroll', handleScroll, {\n passive: true\n });\n // Call once to set initial state\n handleScroll();\n return ({\n \"useScrollEffects.useEffect\": ()=>window.removeEventListener('scroll', handleScroll)\n })[\"useScrollEffects.useEffect\"];\n }\n }[\"useScrollEffects.useEffect\"], []);\n const scrollToTop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useScrollEffects.useCallback[scrollToTop]\": ()=>{\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n }\n }[\"useScrollEffects.useCallback[scrollToTop]\"], []);\n const scrollToElement = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useScrollEffects.useCallback[scrollToElement]\": (elementId)=>{\n const element = document.getElementById(elementId);\n if (element) {\n element.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n }\n }\n }[\"useScrollEffects.useCallback[scrollToElement]\"], []);\n return {\n scrolled,\n isVisible,\n scrollToTop,\n scrollToElement\n };\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9ob29rcy91c2VTY3JvbGxFZmZlY3RzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUV6RDs7O0NBR0MsR0FDTSxNQUFNRyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUdMLCtDQUFRQSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQ00sV0FBV0MsYUFBYSxHQUFHUCwrQ0FBUUEsQ0FBQztJQUUzQ0MsZ0RBQVNBO3NDQUFDO1lBQ1IsTUFBTU87MkRBQWU7b0JBQ25CLE1BQU1DLFVBQVVDLE9BQU9ELE9BQU87b0JBQzlCSixZQUFZSSxVQUFVO29CQUN0QkYsYUFBYUUsVUFBVTtnQkFDekI7O1lBRUFDLE9BQU9DLGdCQUFnQixDQUFDLFVBQVVILGNBQWM7Z0JBQUVJLFNBQVM7WUFBSztZQUVoRSxpQ0FBaUM7WUFDakNKO1lBRUE7OENBQU8sSUFBTUUsT0FBT0csbUJBQW1CLENBQUMsVUFBVUw7O1FBQ3BEO3FDQUFHLEVBQUU7SUFFTCxNQUFNTSxjQUFjWixrREFBV0E7cURBQUM7WUFDOUJRLE9BQU9LLFFBQVEsQ0FBQztnQkFDZEMsS0FBSztnQkFDTEMsVUFBVTtZQUNaO1FBQ0Y7b0RBQUcsRUFBRTtJQUVMLE1BQU1DLGtCQUFrQmhCLGtEQUFXQTt5REFBQyxDQUFDaUI7WUFDbkMsTUFBTUMsVUFBVUMsU0FBU0MsY0FBYyxDQUFDSDtZQUN4QyxJQUFJQyxTQUFTO2dCQUNYQSxRQUFRRyxjQUFjLENBQUM7b0JBQ3JCTixVQUFVO29CQUNWTyxPQUFPO2dCQUNUO1lBQ0Y7UUFDRjt3REFBRyxFQUFFO0lBRUwsT0FBTztRQUNMcEI7UUFDQUU7UUFDQVE7UUFDQUk7SUFDRjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2hvb2tzL3VzZVNjcm9sbEVmZmVjdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogSG9vayBwZXJzb25uYWxpc8OpIHBvdXIgZ8OpcmVyIGxlcyBlZmZldHMgZGUgc2Nyb2xsXG4gKiBSZW1wbGFjZSBsYSBsb2dpcXVlIHLDqXDDqXTDqWUgZGFucyBOYXZpZ2F0aW9uLnRzeCBldCBTY3JvbGxUb1RvcEJ1dHRvbi50c3hcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVNjcm9sbEVmZmVjdHMgPSAoKSA9PiB7XG4gIGNvbnN0IFtzY3JvbGxlZCwgc2V0U2Nyb2xsZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsWSA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgc2V0U2Nyb2xsZWQoc2Nyb2xsWSA+IDIwKTtcbiAgICAgIHNldElzVmlzaWJsZShzY3JvbGxZID4gMzAwKTtcbiAgICB9O1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIFxuICAgIC8vIENhbGwgb25jZSB0byBzZXQgaW5pdGlhbCBzdGF0ZVxuICAgIGhhbmRsZVNjcm9sbCgpO1xuXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2Nyb2xsVG9Ub3AgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogMCxcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2Nyb2xsVG9FbGVtZW50ID0gdXNlQ2FsbGJhY2soKGVsZW1lbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICBibG9jazogJ3N0YXJ0J1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxlZCxcbiAgICBpc1Zpc2libGUsXG4gICAgc2Nyb2xsVG9Ub3AsXG4gICAgc2Nyb2xsVG9FbGVtZW50LFxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlU2Nyb2xsRWZmZWN0cyIsInNjcm9sbGVkIiwic2V0U2Nyb2xsZWQiLCJpc1Zpc2libGUiLCJzZXRJc1Zpc2libGUiLCJoYW5kbGVTY3JvbGwiLCJzY3JvbGxZIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2Nyb2xsVG9Ub3AiLCJzY3JvbGxUbyIsInRvcCIsImJlaGF2aW9yIiwic2Nyb2xsVG9FbGVtZW50IiwiZWxlbWVudElkIiwiZWxlbWVudCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/hooks/useScrollEffects.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/hooks/useServiceModal.ts":
/*!**************************************!*\
!*** ./lib/hooks/useServiceModal.ts ***!
\**************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useServiceModal: () => (/* binding */ useServiceModal)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer l'état des modales de services\n * Remplace la logique dans App.tsx et simplifie la gestion d'état\n */ const useServiceModal = ()=>{\n const [selectedService, setSelectedService] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const openServiceModal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useServiceModal.useCallback[openServiceModal]\": (service)=>{\n setSelectedService(service);\n }\n }[\"useServiceModal.useCallback[openServiceModal]\"], []);\n const closeServiceModal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n \"useServiceModal.useCallback[closeServiceModal]\": ()=>{\n setSelectedService(null);\n }\n }[\"useServiceModal.useCallback[closeServiceModal]\"], []);\n const isModalOpen = selectedService !== null;\n return {\n selectedService,\n openServiceModal,\n closeServiceModal,\n isModalOpen\n };\n};\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9ob29rcy91c2VTZXJ2aWNlTW9kYWwudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDO0FBRzlDOzs7Q0FHQyxHQUNNLE1BQU1FLGtCQUFrQjtJQUM3QixNQUFNLENBQUNDLGlCQUFpQkMsbUJBQW1CLEdBQUdKLCtDQUFRQSxDQUFpQjtJQUV2RSxNQUFNSyxtQkFBbUJKLGtEQUFXQTt5REFBQyxDQUFDSztZQUNwQ0YsbUJBQW1CRTtRQUNyQjt3REFBRyxFQUFFO0lBRUwsTUFBTUMsb0JBQW9CTixrREFBV0E7MERBQUM7WUFDcENHLG1CQUFtQjtRQUNyQjt5REFBRyxFQUFFO0lBRUwsTUFBTUksY0FBY0wsb0JBQW9CO0lBRXhDLE9BQU87UUFDTEE7UUFDQUU7UUFDQUU7UUFDQUM7SUFDRjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2hvb2tzL3VzZVNlcnZpY2VNb2RhbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2UgfSBmcm9tICdAL3R5cGVzL3NlcnZpY2UnO1xuXG4vKipcbiAqIEhvb2sgcGVyc29ubmFsaXPDqSBwb3VyIGfDqXJlciBsJ8OpdGF0IGRlcyBtb2RhbGVzIGRlIHNlcnZpY2VzXG4gKiBSZW1wbGFjZSBsYSBsb2dpcXVlIGRhbnMgQXBwLnRzeCBldCBzaW1wbGlmaWUgbGEgZ2VzdGlvbiBkJ8OpdGF0XG4gKi9cbmV4cG9ydCBjb25zdCB1c2VTZXJ2aWNlTW9kYWwgPSAoKSA9PiB7XG4gIGNvbnN0IFtzZWxlY3RlZFNlcnZpY2UsIHNldFNlbGVjdGVkU2VydmljZV0gPSB1c2VTdGF0ZTxTZXJ2aWNlIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3Qgb3BlblNlcnZpY2VNb2RhbCA9IHVzZUNhbGxiYWNrKChzZXJ2aWNlOiBTZXJ2aWNlKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRTZXJ2aWNlKHNlcnZpY2UpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgY2xvc2VTZXJ2aWNlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRTZXJ2aWNlKG51bGwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaXNNb2RhbE9wZW4gPSBzZWxlY3RlZFNlcnZpY2UgIT09IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RlZFNlcnZpY2UsXG4gICAgb3BlblNlcnZpY2VNb2RhbCxcbiAgICBjbG9zZVNlcnZpY2VNb2RhbCxcbiAgICBpc01vZGFsT3BlbixcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VDYWxsYmFjayIsInVzZVNlcnZpY2VNb2RhbCIsInNlbGVjdGVkU2VydmljZSIsInNldFNlbGVjdGVkU2VydmljZSIsIm9wZW5TZXJ2aWNlTW9kYWwiLCJzZXJ2aWNlIiwiY2xvc2VTZXJ2aWNlTW9kYWwiLCJpc01vZGFsT3BlbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/hooks/useServiceModal.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./lib/hooks/useTranslation.tsx":
/*!**************************************!*\
!*** ./lib/hooks/useTranslation.tsx ***!
\**************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useTranslation: () => (/* binding */ useTranslation)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_data_translations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/data/translations */ \"(app-pages-browser)/./lib/data/translations/index.ts\");\nvar _s = $RefreshSig$();\n\n\nconst useTranslation = ()=>{\n _s();\n // Initialize on server with default language to avoid using localStorage during SSR\n const [currentLanguage, setCurrentLanguage] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_lib_data_translations__WEBPACK_IMPORTED_MODULE_1__.defaultLanguage);\n // On client, read saved language from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)({\n \"useTranslation.useEffect\": ()=>{\n try {\n const saved = true && localStorage.getItem('language');\n if (saved && _lib_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[saved]) {\n setCurrentLanguage(saved);\n }\n } catch (e) {\n // ignore (e.g., localStorage not available)\n }\n }\n }[\"useTranslation.useEffect\"], []);\n // Persist language changes on client\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)({\n \"useTranslation.useEffect\": ()=>{\n try {\n if (true) {\n localStorage.setItem('language', currentLanguage);\n }\n } catch (e) {\n // ignore\n }\n }\n }[\"useTranslation.useEffect\"], [\n currentLanguage\n ]);\n // Memoize the translation object to prevent unnecessary re-renders\n const t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)({\n \"useTranslation.useMemo[t]\": ()=>_lib_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[currentLanguage]\n }[\"useTranslation.useMemo[t]\"], [\n currentLanguage\n ]);\n // Memoize available languages array\n const availableLanguages = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)({\n \"useTranslation.useMemo[availableLanguages]\": ()=>Object.keys(_lib_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations)\n }[\"useTranslation.useMemo[availableLanguages]\"], []);\n const changeLanguage = (language)=>{\n if (_lib_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[language]) {\n setCurrentLanguage(language);\n }\n };\n return {\n t,\n currentLanguage,\n changeLanguage,\n availableLanguages\n };\n};\n_s(useTranslation, \"+uVdYM+41FqTYM9lBgZTbtMnz0A=\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9ob29rcy91c2VUcmFuc2xhdGlvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBcUQ7QUFFbUI7QUFFakUsTUFBTUssaUJBQWlCOztJQUM1QixvRkFBb0Y7SUFDcEYsTUFBTSxDQUFDQyxpQkFBaUJDLG1CQUFtQixHQUFHUCwrQ0FBUUEsQ0FBV0ksbUVBQWVBO0lBRWhGLG1EQUFtRDtJQUNuREgsZ0RBQVNBO29DQUFDO1lBQ1IsSUFBSTtnQkFDRixNQUFNTyxRQUFTLEtBQTZCLElBQUlDLGFBQWFDLE9BQU8sQ0FBQztnQkFDckUsSUFBSUYsU0FBU0wsZ0VBQVksQ0FBQ0ssTUFBTSxFQUFFO29CQUNoQ0QsbUJBQW1CQztnQkFDckI7WUFDRixFQUFFLE9BQU9HLEdBQUc7WUFDViw0Q0FBNEM7WUFDOUM7UUFDRjttQ0FBRyxFQUFFO0lBRUwscUNBQXFDO0lBQ3JDVixnREFBU0E7b0NBQUM7WUFDUixJQUFJO2dCQUNGLElBQUksSUFBNkIsRUFBRTtvQkFDakNRLGFBQWFHLE9BQU8sQ0FBQyxZQUFZTjtnQkFDbkM7WUFDRixFQUFFLE9BQU9LLEdBQUc7WUFDVixTQUFTO1lBQ1g7UUFDRjttQ0FBRztRQUFDTDtLQUFnQjtJQUVwQixtRUFBbUU7SUFDbkUsTUFBTU8sSUFBSVgsOENBQU9BO3FDQUFjLElBQU1DLGdFQUFZLENBQUNHLGdCQUFnQjtvQ0FBRTtRQUFDQTtLQUFnQjtJQUVyRixvQ0FBb0M7SUFDcEMsTUFBTVEscUJBQXFCWiw4Q0FBT0E7c0RBQUMsSUFBTWEsT0FBT0MsSUFBSSxDQUFDYixnRUFBWUE7cURBQWlCLEVBQUU7SUFFcEYsTUFBTWMsaUJBQWlCLENBQUNDO1FBQ3RCLElBQUlmLGdFQUFZLENBQUNlLFNBQVMsRUFBRTtZQUMxQlgsbUJBQW1CVztRQUNyQjtJQUNGO0lBRUEsT0FBTztRQUNMTDtRQUNBUDtRQUNBVztRQUNBSDtJQUNGO0FBQ0YsRUFBRTtHQTdDV1QiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbGliL2hvb2tzL3VzZVRyYW5zbGF0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZSwgVHJhbnNsYXRpb24gfSBmcm9tICdAL3R5cGVzL2kxOG4nO1xuaW1wb3J0IHsgdHJhbnNsYXRpb25zLCBkZWZhdWx0TGFuZ3VhZ2UgfSBmcm9tICdAL2xpYi9kYXRhL3RyYW5zbGF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCB1c2VUcmFuc2xhdGlvbiA9ICgpID0+IHtcbiAgLy8gSW5pdGlhbGl6ZSBvbiBzZXJ2ZXIgd2l0aCBkZWZhdWx0IGxhbmd1YWdlIHRvIGF2b2lkIHVzaW5nIGxvY2FsU3RvcmFnZSBkdXJpbmcgU1NSXG4gIGNvbnN0IFtjdXJyZW50TGFuZ3VhZ2UsIHNldEN1cnJlbnRMYW5ndWFnZV0gPSB1c2VTdGF0ZTxMYW5ndWFnZT4oZGVmYXVsdExhbmd1YWdlKTtcblxuICAvLyBPbiBjbGllbnQsIHJlYWQgc2F2ZWQgbGFuZ3VhZ2UgZnJvbSBsb2NhbFN0b3JhZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2F2ZWQgPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykpIGFzIExhbmd1YWdlIHwgbnVsbDtcbiAgICAgIGlmIChzYXZlZCAmJiB0cmFuc2xhdGlvbnNbc2F2ZWRdKSB7XG4gICAgICAgIHNldEN1cnJlbnRMYW5ndWFnZShzYXZlZCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gaWdub3JlIChlLmcuLCBsb2NhbFN0b3JhZ2Ugbm90IGF2YWlsYWJsZSlcbiAgICB9XG4gIH0sIFtdKTtcblxuICAvLyBQZXJzaXN0IGxhbmd1YWdlIGNoYW5nZXMgb24gY2xpZW50XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ3VhZ2UnLCBjdXJyZW50TGFuZ3VhZ2UpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cbiAgfSwgW2N1cnJlbnRMYW5ndWFnZV0pO1xuXG4gIC8vIE1lbW9pemUgdGhlIHRyYW5zbGF0aW9uIG9iamVjdCB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHJlLXJlbmRlcnNcbiAgY29uc3QgdCA9IHVzZU1lbW88VHJhbnNsYXRpb24+KCgpID0+IHRyYW5zbGF0aW9uc1tjdXJyZW50TGFuZ3VhZ2VdLCBbY3VycmVudExhbmd1YWdlXSk7XG5cbiAgLy8gTWVtb2l6ZSBhdmFpbGFibGUgbGFuZ3VhZ2VzIGFycmF5XG4gIGNvbnN0IGF2YWlsYWJsZUxhbmd1YWdlcyA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKSBhcyBMYW5ndWFnZVtdLCBbXSk7XG5cbiAgY29uc3QgY2hhbmdlTGFuZ3VhZ2UgPSAobGFuZ3VhZ2U6IExhbmd1YWdlKSA9PiB7XG4gICAgaWYgKHRyYW5zbGF0aW9uc1tsYW5ndWFnZV0pIHtcbiAgICAgIHNldEN1cnJlbnRMYW5ndWFnZShsYW5ndWFnZSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdCxcbiAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgY2hhbmdlTGFuZ3VhZ2UsXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzLFxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ0cmFuc2xhdGlvbnMiLCJkZWZhdWx0TGFuZ3VhZ2UiLCJ1c2VUcmFuc2xhdGlvbiIsImN1cnJlbnRMYW5ndWFnZSIsInNldEN1cnJlbnRMYW5ndWFnZSIsInNhdmVkIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImUiLCJzZXRJdGVtIiwidCIsImF2YWlsYWJsZUxhbmd1YWdlcyIsIk9iamVjdCIsImtleXMiLCJjaGFuZ2VMYW5ndWFnZSIsImxhbmd1YWdlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/hooks/useTranslation.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js":
/*!************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js ***!
\************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNS41LjNfcmVhY3QtZG9tQDE5LjEuMV9yZWFjdEAxOS4xLjFfX3JlYWN0QDE5LjEuMS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICcuLi9zaGFyZWQvbGliL2ltYWdlLWV4dGVybmFsJztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/api/image.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(app-pages-browser)/./app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRnNhaGFtb25lJTJGRG9jdW1lbnRzJTJGTGElMjBCYW5xdWlzZSUyRndlYnNpdGUtZnJvbnQlMkZiYW5xdWlzZS13ZWJzaXRlJTJGYXBwJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxzSkFBcUgiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvYXBwL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/image-component.js":
/*!*************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/image-component.js ***!
\*************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-loader.js\"));\nconst _usemergedref = __webpack_require__(/*! ./use-merged-ref */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/use-merged-ref.js\");\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[{\"protocol\":\"https\",\"hostname\":\"ui-avatars.com\",\"port\":\"\",\"pathname\":\"/**\"},{\"protocol\":\"https\",\"hostname\":\"www.gravatar.com\",\"port\":\"\",\"pathname\":\"/**\"}]};\nif (false) {}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img['data-loaded-src'] === src) {\n return;\n }\n img['data-loaded-src'] = src;\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load');\n Object.defineProperty(event, 'target', {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src;\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n 'absolute',\n 'fixed',\n 'relative'\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(',') + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute('height');\n const widthModified = img.width.toString() !== img.getAttribute('width');\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n if (Boolean(_react.use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n const ownRef = (0, _react.useCallback)((img)=>{\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute('alt') === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput\n ]);\n const ref = (0, _usemergedref.useMergedRef)(forwardedRef, ownRef);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? 'fill' : '1',\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: ref,\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n var _c_qualities;\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes,\n qualities\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQXFXYUE7OztlQUFBQTs7Ozs7OzZFQTFWTjsrRUFDYzsyRUFDSjt5Q0FDVzt5Q0FZTzs2REFDQTtzQ0FDVjt3REFDSztrRkFHSjswQ0FDRztBQUU3Qiw0Q0FBNEM7QUFDNUMsTUFBTUMsWUFBWUMsbVhBQTZCO0FBRS9DLElBQUksS0FBNkIsRUFBRSxFQUVsQztBQW1CRCwwRUFBMEU7QUFDMUUsaURBQWlEO0FBQ2pELFNBQVNNLGNBQ1BDLEdBQTJCLEVBQzNCQyxXQUE2QixFQUM3QkMsU0FBcUQsRUFDckRDLG9CQUEyRSxFQUMzRUMsZUFBcUMsRUFDckNDLFdBQW9CLEVBQ3BCQyxVQUE4QjtJQUU5QixNQUFNQyxNQUFNUCxPQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxJQUFLTyxHQUFHO0lBQ3BCLElBQUksQ0FBQ1AsT0FBT0EsR0FBRyxDQUFDLGtCQUFrQixLQUFLTyxLQUFLO1FBQzFDO0lBQ0Y7SUFDQVAsR0FBRyxDQUFDLGtCQUFrQixHQUFHTztJQUN6QixNQUFNQyxJQUFJLFlBQVlSLE1BQU1BLElBQUlTLE1BQU0sS0FBS0MsUUFBUUMsT0FBTztJQUMxREgsRUFBRUksS0FBSyxDQUFDLEtBQU8sR0FBR0MsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQ2IsSUFBSWMsYUFBYSxJQUFJLENBQUNkLElBQUllLFdBQVcsRUFBRTtZQUMxQyx3Q0FBd0M7WUFDeEMsdUJBQXVCO1lBQ3ZCLHNDQUFzQztZQUN0QyxzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCO1FBQ0Y7UUFDQSxJQUFJZCxnQkFBZ0IsU0FBUztZQUMzQkcsZ0JBQWdCO1FBQ2xCO1FBQ0EsSUFBSUYsYUFBQUEsT0FB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QUFNbEMsS0FBSztnQkFDdkJlLEtBQUtqQjs7WUFHUjJELFFBQVFJLFFBQVEsaUJBQ2YscUJBQUMzQyxjQUFBQTtnQkFDQ0MsYUFBYUE7Z0JBQ2JDLGVBQWVBO2lCQUVmOzs7QUFHViIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3NyYy9jbGllbnQvaW1hZ2UtY29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIGZvcndhcmRSZWYsXG4gIHVzZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IEhlYWQgZnJvbSAnLi4vc2hhcmVkL2xpYi9oZWFkJ1xuaW1wb3J0IHsgZ2V0SW1nUHJvcHMgfSBmcm9tICcuLi9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMnXG5pbXBvcnQgdHlwZSB7XG4gIEltYWdlUHJvcHMsXG4gIEltZ1Byb3BzLFxuICBPbkxvYWQsXG4gIE9uTG9hZGluZ0NvbXBsZXRlLFxuICBQbGFjZWhvbGRlclZhbHVlLFxufSBmcm9tICcuLi9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMnXG5pbXBvcnQgdHlwZSB7XG4gIEltYWdlQ29uZmlnQ29tcGxldGUsXG4gIEltYWdlTG9hZGVyUHJvcHMsXG59IGZyb20gJy4uL3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnJ1xuaW1wb3J0IHsgaW1hZ2VDb25maWdEZWZhdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9pbWFnZS1jb25maWcnXG5pbXBvcnQgeyBJbWFnZUNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICcuLi9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZSdcbmltcG9ydCB7IFJvdXRlckNvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuXG4vLyBUaGlzIGlzIHJlcGxhY2VkIGJ5IHdlYnBhY2sgYWxpYXNcbmltcG9ydCBkZWZhdWx0TG9hZGVyIGZyb20gJ25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWxvYWRlcidcbmltcG9ydCB7IHVzZU1lcmdlZFJlZiB9IGZyb20gJy4vdXNlLW1lcmdlZC1yZWYnXG5cbi8vIFRoaXMgaXMgcmVwbGFjZWQgYnkgd2VicGFjayBkZWZpbmUgcGx1Z2luXG5jb25zdCBjb25maWdFbnYgPSBwcm9jZXNzLmVudi5fX05FWFRfSU1BR0VfT1BUUyBhcyBhbnkgYXMgSW1hZ2VDb25maWdDb21wbGV0ZVxuXG5pZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgOyhnbG9iYWxUaGlzIGFzIGFueSkuX19ORVhUX0lNQUdFX0lNUE9SVEVEID0gdHJ1ZVxufVxuXG5leHBvcnQgdHlwZSB7IEltYWdlTG9hZGVyUHJvcHMgfVxuZXhwb3J0IHR5cGUgSW1hZ2VMb2FkZXIgPSAocDogSW1hZ2VMb2FkZXJQcm9wcykgPT4gc3RyaW5nXG5cbnR5cGUgSW1nRWxlbWVudFdpdGhEYXRhUHJvcCA9IEhUTUxJbWFnZUVsZW1lbnQgJiB7XG4gICdkYXRhLWxvYWRlZC1zcmMnOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxudHlwZSBJbWFnZUVsZW1lbnRQcm9wcyA9IEltZ1Byb3BzICYge1xuICB1bm9wdGltaXplZDogYm9vbGVhblxuICBwbGFjZWhvbGRlcjogUGxhY2Vob2xkZXJWYWx1ZVxuICBvbkxvYWRSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8T25Mb2FkIHwgdW5kZWZpbmVkPlxuICBvbkxvYWRpbmdDb21wbGV0ZVJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxPbkxvYWRpbmdDb21wbGV0ZSB8IHVuZGVmaW5lZD5cbiAgc2V0Qmx1ckNvbXBsZXRlOiAoYjogYm9vbGVhbikgPT4gdm9pZFxuICBzZXRTaG93QWx0VGV4dDogKGI6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2l6ZXNJbnB1dDogc3RyaW5nIHwgdW5kZWZpbmVkXG59XG5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3EvMzk3Nzc4MzMvMjY2NTM1IGZvciB3aHkgd2UgdXNlIHRoaXMgcmVmXG4vLyBoYW5kbGVyIGluc3RlYWQgb2YgdGhlIGltZydzIG9uTG9hZCBhdHRyaWJ1dGUuXG5mdW5jdGlvbiBoYW5kbGVMb2FkaW5nKFxuICBpbWc6IEltZ0VsZW1lbnRXaXRoRGF0YVByb3AsXG4gIHBsYWNlaG9sZGVyOiBQbGFjZWhvbGRlclZhbHVlLFxuICBvbkxvYWRSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8T25Mb2FkIHwgdW5kZWZpbmVkPixcbiAgb25Mb2FkaW5nQ29tcGxldGVSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8T25Mb2FkaW5nQ29tcGxldGUgfCB1bmRlZmluZWQ+LFxuICBzZXRCbHVyQ29tcGxldGU6IChiOiBib29sZWFuKSA9PiB2b2lkLFxuICB1bm9wdGltaXplZDogYm9vbGVhbixcbiAgc2l6ZXNJbnB1dDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pIHtcbiAgY29uc3Qgc3JjID0gaW1nPy5zcmNcbiAgaWYgKCFpbWcgfHwgaW1nWydkYXRhLWxvYWRlZC1zcmMnXSA9PT0gc3JjKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaW1nWydkYXRhLWxvYWRlZC1zcmMnXSA9IHNyY1xuICBjb25zdCBwID0gJ2RlY29kZScgaW4gaW1nID8gaW1nLmRlY29kZSgpIDogUHJvbWlzZS5yZXNvbHZlKClcbiAgcC5jYXRjaCgoKSA9PiB7fSkudGhlbigoKSA9PiB7XG4gICAgaWYgKCFpbWcucGFyZW50RWxlbWVudCB8fCAhaW1nLmlzQ29ubmVjdGVkKSB7XG4gICAgICAvLyBFeGl0IGVhcmx5IGluIGNhc2Ugb2YgcmFjZSBjb25kaXRpb246XG4gICAgICAvLyAtIG9ubG9hZCgpIGlzIGNhbGxlZFxuICAgICAgLy8gLSBkZWNvZGUoKSBpcyBjYWxsZWQgYnV0IGluY29tcGxldGVcbiAgICAgIC8vIC0gdW5tb3VudCBpcyBjYWxsZWRcbiAgICAgIC8vIC0gZGVjb2RlKCkgY29tcGxldGVzXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHBsYWNlaG9sZGVyICE9PSAnZW1wdHknKSB7XG4gICAgICBzZXRCbHVyQ29tcGxldGUodHJ1ZSlcbiAgICB9XG4gICAgaWYgKG9uTG9hZFJlZj8uY3VycmVudCkge1xuICAgICAgLy8gU2luY2Ugd2UgZG9uJ3QgaGF2ZSB0aGUgU3ludGhldGljRXZlbnQgaGVyZSxcbiAgICAgIC8vIHdlIG11c3QgY3JlYXRlIG9uZSB3aXRoIHRoZSBzYW1lIHNoYXBlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9ldmVudHMuaHRtbFxuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2xvYWQnKVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV2ZW50LCAndGFyZ2V0JywgeyB3cml0YWJsZTogZmFsc2UsIHZhbHVlOiBpbWcgfSlcbiAgICAgIGxldCBwcmV2ZW50ZWQgPSBmYWxzZVxuICAgICAgbGV0IHN0b3BwZWQgPSBmYWxzZVxuICAgICAgb25Mb2FkUmVmLmN1cnJlbnQoe1xuICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50LFxuICAgICAgICBjdXJyZW50VGFyZ2V0OiBpbWcsXG4gICAgICAgIHRhcmdldDogaW1nLFxuICAgICAgICBpc0RlZmF1bHRQcmV2ZW50ZWQ6ICgpID0+IHByZXZlbnRlZCxcbiAgICAgICAgaXNQcm9wYWdhdGlvblN0b3BwZWQ6ICgpID0+IHN0b3BwZWQsXG4gICAgICAgIHBlcnNpc3Q6ICgpID0+IHt9LFxuICAgICAgICBwcmV2ZW50RGVmYXVsdDogKCkgPT4ge1xuICAgICAgICAgIHByZXZlbnRlZCA9IHRydWVcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIH0sXG4gICAgICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHN0b3BwZWQgPSB0cnVlXG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChvbkxvYWRpbmdDb21wbGV0ZVJlZj8uY3VycmVudCkge1xuICAgICAgb25Mb2FkaW5nQ29tcGxldGVSZWYuY3VycmVudChpbWcpXG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zdCBvcmlnU3JjID0gbmV3IFVSTChzcmMsICdodHRwOi8vbicpLnNlYXJjaFBhcmFtcy5nZXQoJ3VybCcpIHx8IHNyY1xuICAgICAgaWYgKGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtbmltZycpID09PSAnZmlsbCcpIHtcbiAgICAgICAgaWYgKCF1bm9wdGltaXplZCAmJiAoIXNpemVzSW5wdXQgfHwgc2l6ZXNJbnB1dCA9PT0gJzEwMHZ3JykpIHtcbiAgICAgICAgICBsZXQgd2lkdGhWaWV3cG9ydFJhdGlvID1cbiAgICAgICAgICAgIGltZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAvIHdpbmRvdy5pbm5lcldpZHRoXG4gICAgICAgICAgaWYgKHdpZHRoVmlld3BvcnRSYXRpbyA8IDAuNikge1xuICAgICAgICAgICAgaWYgKHNpemVzSW5wdXQgPT09ICcxMDB2dycpIHtcbiAgICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtvcmlnU3JjfVwiIGhhcyBcImZpbGxcIiBwcm9wIGFuZCBcInNpemVzXCIgcHJvcCBvZiBcIjEwMHZ3XCIsIGJ1dCBpbWFnZSBpcyBub3QgcmVuZGVyZWQgYXQgZnVsbCB2aWV3cG9ydCB3aWR0aC4gUGxlYXNlIGFkanVzdCBcInNpemVzXCIgdG8gaW1wcm92ZSBwYWdlIHBlcmZvcm1hbmNlLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNzaXplc2BcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtvcmlnU3JjfVwiIGhhcyBcImZpbGxcIiBidXQgaXMgbWlzc2luZyBcInNpemVzXCIgcHJvcC4gUGxlYXNlIGFkZCBpdCB0byBpbXByb3ZlIHBhZ2UgcGVyZm9ybWFuY2UuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2ltYWdlI3NpemVzYFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbWcucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgIGNvbnN0IHsgcG9zaXRpb24gfSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGltZy5wYXJlbnRFbGVtZW50KVxuICAgICAgICAgIGNvbnN0IHZhbGlkID0gWydhYnNvbHV0ZScsICdmaXhlZCcsICdyZWxhdGl2ZSddXG4gICAgICAgICAgaWYgKCF2YWxpZC5pbmNsdWRlcyhwb3NpdGlvbikpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke29yaWdTcmN9XCIgaGFzIFwiZmlsbFwiIGFuZCBwYXJlbnQgZWxlbWVudCB3aXRoIGludmFsaWQgXCJwb3NpdGlvblwiLiBQcm92aWRlZCBcIiR7cG9zaXRpb259XCIgc2hvdWxkIGJlIG9uZSBvZiAke3ZhbGlkXG4gICAgICAgICAgICAgICAgLm1hcChTdHJpbmcpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywnKX0uYFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1nLmhlaWdodCA9PT0gMCkge1xuICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtvcmlnU3JjfVwiIGhhcyBcImZpbGxcIiBhbmQgYSBoZWlnaHQgdmFsdWUgb2YgMC4gVGhpcyBpcyBsaWtlbHkgYmVjYXVzZSB0aGUgcGFyZW50IGVsZW1lbnQgb2YgdGhlIGltYWdlIGhhcyBub3QgYmVlbiBzdHlsZWQgdG8gaGF2ZSBhIHNldCBoZWlnaHQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBoZWlnaHRNb2RpZmllZCA9XG4gICAgICAgIGltZy5oZWlnaHQudG9TdHJpbmcoKSAhPT0gaW1nLmdldEF0dHJpYnV0ZSgnaGVpZ2h0JylcbiAgICAgIGNvbnN0IHdpZHRoTW9kaWZpZWQgPSBpbWcud2lkdGgudG9TdHJpbmcoKSAhPT0gaW1nLmdldEF0dHJpYnV0ZSgnd2lkdGgnKVxuICAgICAgaWYgKFxuICAgICAgICAoaGVpZ2h0TW9kaWZpZWQgJiYgIXdpZHRoTW9kaWZpZWQpIHx8XG4gICAgICAgICghaGVpZ2h0TW9kaWZpZWQgJiYgd2lkdGhNb2RpZmllZClcbiAgICAgICkge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke29yaWdTcmN9XCIgaGFzIGVpdGhlciB3aWR0aCBvciBoZWlnaHQgbW9kaWZpZWQsIGJ1dCBub3QgdGhlIG90aGVyLiBJZiB5b3UgdXNlIENTUyB0byBjaGFuZ2UgdGhlIHNpemUgb2YgeW91ciBpbWFnZSwgYWxzbyBpbmNsdWRlIHRoZSBzdHlsZXMgJ3dpZHRoOiBcImF1dG9cIicgb3IgJ2hlaWdodDogXCJhdXRvXCInIHRvIG1haW50YWluIHRoZSBhc3BlY3QgcmF0aW8uYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5mdW5jdGlvbiBnZXREeW5hbWljUHJvcHMoXG4gIGZldGNoUHJpb3JpdHk/OiBzdHJpbmdcbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBpZiAoQm9vbGVhbih1c2UpKSB7XG4gICAgLy8gSW4gUmVhY3QgMTkuMC4wIG9yIG5ld2VyLCB3ZSBtdXN0IHVzZSBjYW1lbENhc2VcbiAgICAvLyBwcm9wIHRvIGF2b2lkIFwiV2FybmluZzogSW52YWxpZCBET00gcHJvcGVydHlcIi5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMjU5MjdcbiAgICByZXR1cm4geyBmZXRjaFByaW9yaXR5IH1cbiAgfVxuICAvLyBJbiBSZWFjdCAxOC4yLjAgb3Igb2xkZXIsIHdlIG11c3QgdXNlIGxvd2VyY2FzZSBwcm9wXG4gIC8vIHRvIGF2b2lkIFwiV2FybmluZzogSW52YWxpZCBET00gcHJvcGVydHlcIi5cbiAgcmV0dXJuIHsgZmV0Y2hwcmlvcml0eTogZmV0Y2hQcmlvcml0eSB9XG59XG5cbmNvbnN0IEltYWdlRWxlbWVudCA9IGZvcndhcmRSZWY8SFRNTEltYWdlRWxlbWVudCB8IG51bGwsIEltYWdlRWxlbWVudFByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIHNyYyxcbiAgICAgIHNyY1NldCxcbiAgICAgIHNpemVzLFxuICAgICAgaGVpZ2h0LFxuICAgICAgd2lkdGgsXG4gICAgICBkZWNvZGluZyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIHN0eWxlLFxuICAgICAgZmV0Y2hQcmlvcml0eSxcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgbG9hZGluZyxcbiAgICAgIHVub3B0aW1pemVkLFxuICAgICAgZmlsbCxcbiAgICAgIG9uTG9hZFJlZixcbiAgICAgIG9uTG9hZGluZ0NvbXBsZXRlUmVmLFxuICAgICAgc2V0Qmx1ckNvbXBsZXRlLFxuICAgICAgc2V0U2hvd0FsdFRleHQsXG4gICAgICBzaXplc0lucHV0LFxuICAgICAgb25Mb2FkLFxuICAgICAgb25FcnJvcixcbiAgICAgIC4uLnJlc3RcbiAgICB9LFxuICAgIGZvcndhcmRlZFJlZlxuICApID0+IHtcbiAgICBjb25zdCBvd25SZWYgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpbWc6IEltZ0VsZW1lbnRXaXRoRGF0YVByb3AgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghaW1nKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICAvLyBJZiB0aGUgaW1hZ2UgaGFzIGFuIGVycm9yIGJlZm9yZSByZWFjdCBoeWRyYXRlcywgdGhlbiB0aGUgZXJyb3IgaXMgbG9zdC5cbiAgICAgICAgICAvLyBUaGUgd29ya2Fyb3VuZCBpcyB0byB3YWl0IHVudGlsIHRoZSBpbWFnZSBpcyBtb3VudGVkIHdoaWNoIGlzIGFmdGVyIGh5ZHJhdGlvbixcbiAgICAgICAgICAvLyB0aGVuIHdlIHNldCB0aGUgc3JjIGFnYWluIHRvIHRyaWdnZXIgdGhlIGVycm9yIGhhbmRsZXIgKGlmIHRoZXJlIHdhcyBhbiBlcnJvcikuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgICAgICAgaW1nLnNyYyA9IGltZy5zcmNcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmICghc3JjKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbWFnZSBpcyBtaXNzaW5nIHJlcXVpcmVkIFwic3JjXCIgcHJvcGVydHk6YCwgaW1nKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaW1nLmdldEF0dHJpYnV0ZSgnYWx0JykgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgIGBJbWFnZSBpcyBtaXNzaW5nIHJlcXVpcmVkIFwiYWx0XCIgcHJvcGVydHkuIFBsZWFzZSBhZGQgQWx0ZXJuYXRpdmUgVGV4dCB0byBkZXNjcmliZSB0aGUgaW1hZ2UgZm9yIHNjcmVlbiByZWFkZXJzIGFuZCBzZWFyY2ggZW5naW5lcy5gXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbWcuY29tcGxldGUpIHtcbiAgICAgICAgICBoYW5kbGVMb2FkaW5nKFxuICAgICAgICAgICAgaW1nLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBvbkxvYWRSZWYsXG4gICAgICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZixcbiAgICAgICAgICAgIHNldEJsdXJDb21wbGV0ZSxcbiAgICAgICAgICAgIHVub3B0aW1pemVkLFxuICAgICAgICAgICAgc2l6ZXNJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgc3JjLFxuICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgb25Mb2FkUmVmLFxuICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZixcbiAgICAgICAgc2V0Qmx1ckNvbXBsZXRlLFxuICAgICAgICBvbkVycm9yLFxuICAgICAgICB1bm9wdGltaXplZCxcbiAgICAgICAgc2l6ZXNJbnB1dCxcbiAgICAgIF1cbiAgICApXG5cbiAgICBjb25zdCByZWYgPSB1c2VNZXJnZWRSZWYoZm9yd2FyZGVkUmVmLCBvd25SZWYpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGltZ1xuICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgey4uLmdldER5bmFtaWNQcm9wcyhmZXRjaFByaW9yaXR5KX1cbiAgICAgICAgLy8gSXQncyBpbnRlbmRlZCB0byBrZWVwIGBsb2FkaW5nYCBiZWZvcmUgYHNyY2AgYmVjYXVzZSBSZWFjdCB1cGRhdGVzXG4gICAgICAgIC8vIHByb3BzIGluIG9yZGVyIHdoaWNoIGNhdXNlcyBTYWZhcmkvRmlyZWZveCB0byBub3QgbGF6eSBsb2FkIHByb3Blcmx5LlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yNTg4M1xuICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICBkZWNvZGluZz17ZGVjb2Rpbmd9XG4gICAgICAgIGRhdGEtbmltZz17ZmlsbCA/ICdmaWxsJyA6ICcxJ31cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgLy8gSXQncyBpbnRlbmRlZCB0byBrZWVwIGBzcmNgIHRoZSBsYXN0IGF0dHJpYnV0ZSBiZWNhdXNlIFJlYWN0IHVwZGF0ZXNcbiAgICAgICAgLy8gYXR0cmlidXRlcyBpbiBvcmRlci4gSWYgd2Uga2VlcCBgc3JjYCB0aGUgZmlyc3Qgb25lLCBTYWZhcmkgd2lsbFxuICAgICAgICAvLyBpbW1lZGlhdGVseSBzdGFydCB0byBmZXRjaCBgc3JjYCwgYmVmb3JlIGBzaXplc2AgYW5kIGBzcmNTZXRgIGFyZSBldmVuXG4gICAgICAgIC8vIHVwZGF0ZWQgYnkgUmVhY3QuIFRoYXQgY2F1c2VzIG11bHRpcGxlIHVubmVjZXNzYXJ5IHJlcXVlc3RzIGlmIGBzcmNTZXRgXG4gICAgICAgIC8vIGFuZCBgc2l6ZXNgIGFyZSBkZWZpbmVkLlxuICAgICAgICAvLyBUaGlzIGJ1ZyBjYW5ub3QgYmUgcmVwcm9kdWNlZCBpbiBDaHJvbWUgb3IgRmlyZWZveC5cbiAgICAgICAgc2l6ZXM9e3NpemVzfVxuICAgICAgICBzcmNTZXQ9e3NyY1NldH1cbiAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBvbkxvYWQ9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGltZyA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSW1nRWxlbWVudFdpdGhEYXRhUHJvcFxuICAgICAgICAgIGhhbmRsZUxvYWRpbmcoXG4gICAgICAgICAgICBpbWcsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIG9uTG9hZFJlZixcbiAgICAgICAgICAgIG9uTG9hZGluZ0NvbXBsZXRlUmVmLFxuICAgICAgICAgICAgc2V0Qmx1ckNvbXBsZXRlLFxuICAgICAgICAgICAgdW5vcHRpbWl6ZWQsXG4gICAgICAgICAgICBzaXplc0lucHV0XG4gICAgICAgICAgKVxuICAgICAgICB9fVxuICAgICAgICBvbkVycm9yPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBpZiB0aGUgcmVhbCBpbWFnZSBmYWlscyB0byBsb2FkLCB0aGlzIHdpbGwgZW5zdXJlIFwiYWx0XCIgaXMgdmlzaWJsZVxuICAgICAgICAgIHNldFNob3dBbHRUZXh0KHRydWUpXG4gICAgICAgICAgaWYgKHBsYWNlaG9sZGVyICE9PSAnZW1wdHknKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgcmVhbCBpbWFnZSBmYWlscyB0byBsb2FkLCB0aGlzIHdpbGwgc3RpbGwgcmVtb3ZlIHRoZSBwbGFjZWhvbGRlci5cbiAgICAgICAgICAgIHNldEJsdXJDb21wbGV0ZSh0cnVlKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob25FcnJvcikge1xuICAgICAgICAgICAgb25FcnJvcihldmVudClcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAvPlxuICAgIClcbiAgfVxuKVxuXG5mdW5jdGlvbiBJbWFnZVByZWxvYWQoe1xuICBpc0FwcFJvdXRlcixcbiAgaW1nQXR0cmlidXRlcyxcbn06IHtcbiAgaXNBcHBSb3V0ZXI6IGJvb2xlYW5cbiAgaW1nQXR0cmlidXRlczogSW1nUHJvcHNcbn0pIHtcbiAgY29uc3Qgb3B0czogUmVhY3RET00uUHJlbG9hZE9wdGlvbnMgPSB7XG4gICAgYXM6ICdpbWFnZScsXG4gICAgaW1hZ2VTcmNTZXQ6IGltZ0F0dHJpYnV0ZXMuc3JjU2V0LFxuICAgIGltYWdlU2l6ZXM6IGltZ0F0dHJpYnV0ZXMuc2l6ZXMsXG4gICAgY3Jvc3NPcmlnaW46IGltZ0F0dHJpYnV0ZXMuY3Jvc3NPcmlnaW4sXG4gICAgcmVmZXJyZXJQb2xpY3k6IGltZ0F0dHJpYnV0ZXMucmVmZXJyZXJQb2xpY3ksXG4gICAgLi4uZ2V0RHluYW1pY1Byb3BzKGltZ0F0dHJpYnV0ZXMuZmV0Y2hQcmlvcml0eSksXG4gIH1cblxuICBpZiAoaXNBcHBSb3V0ZXIgJiYgUmVhY3RET00ucHJlbG9hZCkge1xuICAgIFJlYWN0RE9NLnByZWxvYWQoaW1nQXR0cmlidXRlcy5zcmMsIG9wdHMpXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEhlYWQ+XG4gICAgICA8bGlua1xuICAgICAgICBrZXk9e1xuICAgICAgICAgICdfX25pbWctJyArXG4gICAgICAgICAgaW1nQXR0cmlidXRlcy5zcmMgK1xuICAgICAgICAgIGltZ0F0dHJpYnV0ZXMuc3JjU2V0ICtcbiAgICAgICAgICBpbWdBdHRyaWJ1dGVzLnNpemVzXG4gICAgICAgIH1cbiAgICAgICAgcmVsPVwicHJlbG9hZFwiXG4gICAgICAgIC8vIE5vdGUgaG93IHdlIG9taXQgdGhlIGBocmVmYCBhdHRyaWJ1dGUsIGFzIGl0IHdvdWxkIG9ubHkgYmUgcmVsZXZhbnRcbiAgICAgICAgLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgYGltYWdlc3Jjc2V0YCwgYW5kIGluIHRob3NlIGNhc2VzXG4gICAgICAgIC8vIGl0IHdvdWxkIGNhdXNlIHRoZSBpbmNvcnJlY3QgaW1hZ2UgdG8gYmUgcHJlbG9hZGVkLlxuICAgICAgICAvL1xuICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNhdHRyLWxpbmstaW1hZ2VzcmNzZXRcbiAgICAgICAgaHJlZj17aW1nQXR0cmlidXRlcy5zcmNTZXQgPyB1bmRlZmluZWQgOiBpbWdBdHRyaWJ1dGVzLnNyY31cbiAgICAgICAgey4uLm9wdHN9XG4gICAgICAvPlxuICAgIDwvSGVhZD5cbiAgKVxufVxuXG4vKipcbiAqIFRoZSBgSW1hZ2VgIGNvbXBvbmVudCBpcyB1c2VkIHRvIG9wdGltaXplIGltYWdlcy5cbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIGRvY3M6IGBJbWFnZWBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2NvbXBvbmVudHMvaW1hZ2UpXG4gKi9cbmV4cG9ydCBjb25zdCBJbWFnZSA9IGZvcndhcmRSZWY8SFRNTEltYWdlRWxlbWVudCB8IG51bGwsIEltYWdlUHJvcHM+KFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBhZ2VzUm91dGVyID0gdXNlQ29udGV4dChSb3V0ZXJDb250ZXh0KVxuICAgIC8vIFdlJ3JlIGluIHRoZSBhcHAgZGlyZWN0b3J5IGlmIHRoZXJlIGlzIG5vIHBhZ2VzIHJvdXRlci5cbiAgICBjb25zdCBpc0FwcFJvdXRlciA9ICFwYWdlc1JvdXRlclxuXG4gICAgY29uc3QgY29uZmlnQ29udGV4dCA9IHVzZUNvbnRleHQoSW1hZ2VDb25maWdDb250ZXh0KVxuICAgIGNvbnN0IGNvbmZpZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYyA9IGNvbmZpZ0VudiB8fCBjb25maWdDb250ZXh0IHx8IGltYWdlQ29uZmlnRGVmYXVsdFxuICAgICAgY29uc3QgYWxsU2l6ZXMgPSBbLi4uYy5kZXZpY2VTaXplcywgLi4uYy5pbWFnZVNpemVzXS5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICAgIGNvbnN0IGRldmljZVNpemVzID0gYy5kZXZpY2VTaXplcy5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICAgIGNvbnN0IHF1YWxpdGllcyA9IGMucXVhbGl0aWVzPy5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICAgIHJldHVybiB7IC4uLmMsIGFsbFNpemVzLCBkZXZpY2VTaXplcywgcXVhbGl0aWVzIH1cbiAgICB9LCBbY29uZmlnQ29udGV4dF0pXG5cbiAgICBjb25zdCB7IG9uTG9hZCwgb25Mb2FkaW5nQ29tcGxldGUgfSA9IHByb3BzXG4gICAgY29uc3Qgb25Mb2FkUmVmID0gdXNlUmVmKG9uTG9hZClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBvbkxvYWRSZWYuY3VycmVudCA9IG9uTG9hZFxuICAgIH0sIFtvbkxvYWRdKVxuXG4gICAgY29uc3Qgb25Mb2FkaW5nQ29tcGxldGVSZWYgPSB1c2VSZWYob25Mb2FkaW5nQ29tcGxldGUpXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgb25Mb2FkaW5nQ29tcGxldGVSZWYuY3VycmVudCA9IG9uTG9hZGluZ0NvbXBsZXRlXG4gICAgfSwgW29uTG9hZGluZ0NvbXBsZXRlXSlcblxuICAgIGNvbnN0IFtibHVyQ29tcGxldGUsIHNldEJsdXJDb21wbGV0ZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCBbc2hvd0FsdFRleHQsIHNldFNob3dBbHRUZXh0XSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gICAgY29uc3QgeyBwcm9wczogaW1nQXR0cmlidXRlcywgbWV0YTogaW1nTWV0YSB9ID0gZ2V0SW1nUHJvcHMocHJvcHMsIHtcbiAgICAgIGRlZmF1bHRMb2FkZXIsXG4gICAgICBpbWdDb25mOiBjb25maWcsXG4gICAgICBibHVyQ29tcGxldGUsXG4gICAgICBzaG93QWx0VGV4dCxcbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtcbiAgICAgICAgICA8SW1hZ2VFbGVtZW50XG4gICAgICAgICAgICB7Li4uaW1nQXR0cmlidXRlc31cbiAgICAgICAgICAgIHVub3B0aW1pemVkPXtpbWdNZXRhLnVub3B0aW1pemVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ltZ01ldGEucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBmaWxsPXtpbWdNZXRhLmZpbGx9XG4gICAgICAgICAgICBvbkxvYWRSZWY9e29uTG9hZFJlZn1cbiAgICAgICAgICAgIG9uTG9hZGluZ0NvbXBsZXRlUmVmPXtvbkxvYWRpbmdDb21wbGV0ZVJlZn1cbiAgICAgICAgICAgIHNldEJsdXJDb21wbGV0ZT17c2V0Qmx1ckNvbXBsZXRlfVxuICAgICAgICAgICAgc2V0U2hvd0FsdFRleHQ9e3NldFNob3dBbHRUZXh0fVxuICAgICAgICAgICAgc2l6ZXNJbnB1dD17cHJvcHMuc2l6ZXN9XG4gICAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtpbWdNZXRhLnByaW9yaXR5ID8gKFxuICAgICAgICAgIDxJbWFnZVByZWxvYWRcbiAgICAgICAgICAgIGlzQXBwUm91dGVyPXtpc0FwcFJvdXRlcn1cbiAgICAgICAgICAgIGltZ0F0dHJpYnV0ZXM9e2ltZ0F0dHJpYnV0ZXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cbilcbiJdLCJuYW1lcyI6WyJJbWFnZSIsImNvbmZpZ0VudiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSU1BR0VfT1BUUyIsIndpbmRvdyIsImdsb2JhbFRoaXMiLCJfX05FWFRfSU1BR0VfSU1QT1JURUQiLCJoYW5kbGVMb2FkaW5nIiwiaW1nIiwicGxhY2Vob2xkZXIiLCJvbkxvYWRSZWYiLCJvbkxvYWRpbmdDb21wbGV0ZVJlZiIsInNldEJsdXJDb21wbGV0ZSIsInVub3B0aW1pemVkIiwic2l6ZXNJbnB1dCIsInNyYyIsInAiLCJkZWNvZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhdGNoIiwidGhlbiIsInBhcmVudEVsZW1lbnQiLCJpc0Nvbm5lY3RlZCIsImN1cnJlbnQiLCJldmVudCIsIkV2ZW50IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsInZhbHVlIiwicHJldmVudGVkIiwic3RvcHBlZCIsIm5hdGl2ZUV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwicGVyc2lzdCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiTk9ERV9FTlYiLCJvcmlnU3JjIiwiVVJMIiwic2VhcmNoUGFyYW1zIiwiZ2V0IiwiZ2V0QXR0cmlidXRlIiwid2lkdGhWaWV3cG9ydFJhdGlvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJpbm5lcldpZHRoIiwid2Fybk9uY2UiLCJwb3NpdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJ2YWxpZCIsImluY2x1ZGVzIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsImhlaWdodCIsImhlaWdodE1vZGlmaWVkIiwidG9TdHJpbmciLCJ3aWR0aE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwiZmV0Y2hQcmlvcml0eSIsIkJvb2xlYW4iLCJ1c2UiLCJmZXRjaHByaW9yaXR5IiwiSW1hZ2VFbGVtZW50IiwiZm9yd2FyZFJlZiIsImZvcndhcmRlZFJlZiIsInNyY1NldCIsInNpemVzIiwiZGVjb2RpbmciLCJjbGFzc05hbWUiLCJzdHlsZSIsImxvYWRpbmciLCJmaWxsIiwic2V0U2hvd0FsdFRleHQiLCJvbkxvYWQiLCJvbkVycm9yIiwicmVzdCIsIm93blJlZiIsInVzZUNhbGxiYWNrIiwiY29uc29sZSIsImVycm9yIiwiY29tcGxldGUiLCJyZWYiLCJ1c2VNZXJnZWRSZWYiLCJkYXRhLW5pbWciLCJJbWFnZVByZWxvYWQiLCJpc0FwcFJvdXRlciIsImltZ0F0dHJpYnV0ZXMiLCJvcHRzIiwiYXMiLCJpbWFnZVNyY1NldCIsImltYWdlU2l6ZXMiLCJjcm9zc09yaWdpbiIsInJlZmVycmVyUG9saWN5IiwiUmVhY3RET00iLCJwcmVsb2FkIiwiSGVhZCIsImxpbmsiLCJyZWwiLCJocmVmIiwidW5kZWZpbmVkIiwicHJvcHMiLCJwYWdlc1JvdXRlciIsInVzZUNvbnRleHQiLCJSb3V0ZXJDb250ZXh0IiwiY29uZmlnQ29udGV4dCIsIkltYWdlQ29uZmlnQ29udGV4dCIsImNvbmZpZyIsInVzZU1lbW8iLCJjIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiYWxsU2l6ZXMiLCJkZXZpY2VTaXplcyIsInNvcnQiLCJhIiwiYiIsInF1YWxpdGllcyIsIm9uTG9hZGluZ0NvbXBsZXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiYmx1ckNvbXBsZXRlIiwidXNlU3RhdGUiLCJzaG93QWx0VGV4dCIsIm1ldGEiLCJpbWdNZXRhIiwiZ2V0SW1nUHJvcHMiLCJkZWZhdWx0TG9hZGVyIiwiaW1nQ29uZiIsInByaW9yaXR5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/image-component.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/use-merged-ref.js":
/*!************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/use-merged-ref.js ***!
\************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useMergedRef\", ({\n enumerable: true,\n get: function() {\n return useMergedRef;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\");\nfunction useMergedRef(refA, refB) {\n const cleanupA = (0, _react.useRef)(null);\n const cleanupB = (0, _react.useRef)(null);\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (e.g. via ``),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return (0, _react.useCallback)((current)=>{\n if (current === null) {\n const cleanupFnA = cleanupA.current;\n if (cleanupFnA) {\n cleanupA.current = null;\n cleanupFnA();\n }\n const cleanupFnB = cleanupB.current;\n if (cleanupFnB) {\n cleanupB.current = null;\n cleanupFnB();\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current);\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current);\n }\n }\n }, [\n refA,\n refB\n ]);\n}\nfunction applyRef(refA, current) {\n if (typeof refA === 'function') {\n const cleanup = refA(current);\n if (typeof cleanup === 'function') {\n return cleanup;\n } else {\n return ()=>refA(null);\n }\n } else {\n refA.current = current;\n return ()=>{\n refA.current = null;\n };\n }\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-merged-ref.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1tZXJnZWQtcmVmLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBU2dCQTs7O2VBQUFBOzs7bUNBVDhCO0FBU3ZDLFNBQVNBLGFBQ2RDLElBQW1CLEVBQ25CQyxJQUFtQjtJQUVuQixNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxFQUE0QjtJQUM3QyxNQUFNQyxXQUFXRCxDQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxFQUE0QjtJQUU3QyxtRkFBbUY7SUFDbkYseUVBQXlFO0lBQ3pFLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsZ0RBQWdEO0lBQ2hELG1HQUFtRztJQUNuRyx3RkFBd0Y7SUFDeEYsT0FBT0UsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBQUEsRUFDTCxDQUFDQztRQUNDLElBQUlBLFlBQVksTUFBTTtZQUNwQixNQUFNQyxhQUFhTCxTQUFTSSxPQUFPO1lBQ25DLElBQUlDLFlBQVk7Z0JBQ2RMLFNBQVNJLE9BQU8sR0FBRztnQkFDbkJDO1lBQ0Y7WUFDQSxNQUFNQyxhQUFhSixTQUFTRSxPQUFPO1lBQ25DLElBQUlFLFlBQVk7Z0JBQ2RKLFNBQVNFLE9BQU8sR0FBRztnQkFDbkJFO1lBQ0Y7UUFDRixPQUFPO1lBQ0wsSUFBSVIsTUFBTTtnQkFDUkUsU0FBU0ksT0FBTyxHQUFHRyxTQUFTVCxNQUFNTTtZQUNwQztZQUNBLElBQUlMLE1BQU07Z0JBQ1JHLFNBQVNFLE9BQU8sR0FBR0csU0FBU1IsTUFBTUs7WUFDcEM7UUFDRjtJQUNGLEdBQ0E7UUFBQ047UUFBTUM7S0FBSztBQUVoQjtBQUVBLFNBQVNRLFNBQ1BULElBQWdDLEVBQ2hDTSxPQUFpQjtJQUVqQixJQUFJLE9BQU9OLFNBQVMsWUFBWTtRQUM5QixNQUFNVSxVQUFVVixLQUFLTTtRQUNyQixJQUFJLE9BQU9JLFlBQVksWUFBWTtZQUNqQyxPQUFPQTtRQUNULE9BQU87WUFDTCxPQUFPLElBQU1WLEtBQUs7UUFDcEI7SUFDRixPQUFPO1FBQ0xBLEtBQUtNLE9BQU8sR0FBR0E7UUFDZixPQUFPO1lBQ0xOLEtBQUtNLE9BQU8sR0FBRztRQUNqQjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS9zcmMvY2xpZW50L3VzZS1tZXJnZWQtcmVmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHR5cGUgUmVmIH0gZnJvbSAncmVhY3QnXG5cbi8vIFRoaXMgaXMgYSBjb21wYXRpYmlsaXR5IGhvb2sgdG8gc3VwcG9ydCBSZWFjdCAxOCBhbmQgMTkgcmVmcy5cbi8vIEluIDE5LCBhIGNsZWFudXAgZnVuY3Rpb24gZnJvbSByZWZzIG1heSBiZSByZXR1cm5lZC5cbi8vIEluIDE4LCByZXR1cm5pbmcgYSBjbGVhbnVwIGZ1bmN0aW9uIGNyZWF0ZXMgYSB3YXJuaW5nLlxuLy8gU2luY2Ugd2UgdGFrZSB1c2Vyc3BhY2UgcmVmcywgd2UgZG9uJ3Qga25vdyBhaGVhZCBvZiB0aW1lIGlmIGEgY2xlYW51cCBmdW5jdGlvbiB3aWxsIGJlIHJldHVybmVkLlxuLy8gVGhpcyBpbXBsZW1lbnRzIGNsZWFudXAgZnVuY3Rpb25zIHdpdGggdGhlIG9sZCBiZWhhdmlvciBpbiAxOC5cbi8vIFdlIGtub3cgcmVmcyBhcmUgYWx3YXlzIGNhbGxlZCBhbHRlcm5hdGluZyB3aXRoIGBudWxsYCBhbmQgdGhlbiBgVGAuXG4vLyBTbyBhIGNhbGwgd2l0aCBgbnVsbGAgbWVhbnMgd2UgbmVlZCB0byBjYWxsIHRoZSBwcmV2aW91cyBjbGVhbnVwIGZ1bmN0aW9ucy5cbmV4cG9ydCBmdW5jdGlvbiB1c2VNZXJnZWRSZWY8VEVsZW1lbnQ+KFxuICByZWZBOiBSZWY8VEVsZW1lbnQ+LFxuICByZWZCOiBSZWY8VEVsZW1lbnQ+XG4pOiBSZWY8VEVsZW1lbnQ+IHtcbiAgY29uc3QgY2xlYW51cEEgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2xlYW51cEIgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcblxuICAvLyBOT1RFOiBJbiB0aGVvcnksIHdlIGNvdWxkIHNraXAgdGhlIHdyYXBwaW5nIGlmIG9ubHkgb25lIG9mIHRoZSByZWZzIGlzIG5vbi1udWxsLlxuICAvLyAodGhpcyBoYXBwZW5zIG9mdGVuIGlmIHRoZSB1c2VyIGRvZXNuJ3QgcGFzcyBhIHJlZiB0byBMaW5rL0Zvcm0vSW1hZ2UpXG4gIC8vIEJ1dCB0aGlzIGNhbiBjYXVzZSB1cyB0byBsZWFrIGEgY2xlYW51cC1yZWYgaW50byB1c2VyIGNvZGUgKGUuZy4gdmlhIGA8TGluayBsZWdhY3lCZWhhdmlvcj5gKSxcbiAgLy8gYW5kIHRoZSB1c2VyIG1pZ2h0IHBhc3MgdGhhdCByZWYgaW50byByZWYtbWVyZ2luZyBsaWJyYXJ5IHRoYXQgZG9lc24ndCBzdXBwb3J0IGNsZWFudXAgcmVmc1xuICAvLyAoYmVjYXVzZSBpdCBoYXNuJ3QgYmVlbiB1cGRhdGVkIGZvciBSZWFjdCAxOSlcbiAgLy8gd2hpY2ggY2FuIHRoZW4gY2F1c2UgdGhpbmdzIHRvIGJsb3cgdXAsIGJlY2F1c2UgYSBjbGVhbnVwLXJldHVybmluZyByZWYgZ2V0cyBjYWxsZWQgd2l0aCBgbnVsbGAuXG4gIC8vIFNvIGluIHByYWN0aWNlLCBpdCdzIHNhZmVyIHRvIGJlIGRlZmVuc2l2ZSBhbmQgYWx3YXlzIHdyYXAgdGhlIHJlZiwgZXZlbiBvbiBSZWFjdCAxOS5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgIChjdXJyZW50OiBURWxlbWVudCB8IG51bGwpOiB2b2lkID0+IHtcbiAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGNsZWFudXBGbkEgPSBjbGVhbnVwQS5jdXJyZW50XG4gICAgICAgIGlmIChjbGVhbnVwRm5BKSB7XG4gICAgICAgICAgY2xlYW51cEEuY3VycmVudCA9IG51bGxcbiAgICAgICAgICBjbGVhbnVwRm5BKClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGVhbnVwRm5CID0gY2xlYW51cEIuY3VycmVudFxuICAgICAgICBpZiAoY2xlYW51cEZuQikge1xuICAgICAgICAgIGNsZWFudXBCLmN1cnJlbnQgPSBudWxsXG4gICAgICAgICAgY2xlYW51cEZuQigpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZWZBKSB7XG4gICAgICAgICAgY2xlYW51cEEuY3VycmVudCA9IGFwcGx5UmVmKHJlZkEsIGN1cnJlbnQpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlZkIpIHtcbiAgICAgICAgICBjbGVhbnVwQi5jdXJyZW50ID0gYXBwbHlSZWYocmVmQiwgY3VycmVudClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW3JlZkEsIHJlZkJdXG4gIClcbn1cblxuZnVuY3Rpb24gYXBwbHlSZWY8VEVsZW1lbnQ+KFxuICByZWZBOiBOb25OdWxsYWJsZTxSZWY8VEVsZW1lbnQ+PixcbiAgY3VycmVudDogVEVsZW1lbnRcbikge1xuICBpZiAodHlwZW9mIHJlZkEgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBjbGVhbnVwID0gcmVmQShjdXJyZW50KVxuICAgIGlmICh0eXBlb2YgY2xlYW51cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGNsZWFudXBcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICgpID0+IHJlZkEobnVsbClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVmQS5jdXJyZW50ID0gY3VycmVudFxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICByZWZBLmN1cnJlbnQgPSBudWxsXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsidXNlTWVyZ2VkUmVmIiwicmVmQSIsInJlZkIiLCJjbGVhbnVwQSIsInVzZVJlZiIsImNsZWFudXBCIiwidXNlQ2FsbGJhY2siLCJjdXJyZW50IiwiY2xlYW51cEZuQSIsImNsZWFudXBGbkIiLCJhcHBseVJlZiIsImNsZWFudXAiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/use-merged-ref.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/picomatch/index.js":
/*!***************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/picomatch/index.js ***!
\***************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/build/polyfills/process.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8s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ZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTUuNS4zX3JlYWN0LWRvbUAxOS4xLjFfcmVhY3RAMTkuMS4xX19yZWFjdEAxOS4xLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ezE3MDoodCxlLHUpPT57Y29uc3Qgbj11KDUxMCk7Y29uc3QgaXNXaW5kb3dzPSgpPT57aWYodHlwZW9mIG5hdmlnYXRvciE9PVwidW5kZWZpbmVkXCImJm5hdmlnYXRvci5wbGF0Zm9ybSl7Y29uc3QgdD1uYXZpZ2F0b3IucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PVwid2luMzJcInx8dD09PVwid2luZG93c1wifWlmKHR5cGVvZiBwcm9jZXNzIT09XCJ1bmRlZmluZWRcIiYmcHJvY2Vzcy5wbGF0Zm9ybSl7cmV0dXJuIHByb2Nlc3MucGxhdGZvcm09PT1cIndpbjMyXCJ9cmV0dXJuIGZhbHNlfTtmdW5jdGlvbiBwaWNvbWF0Y2godCxlLHU9ZmFsc2Upe2lmKGUmJihlLndpbmRvd3M9PT1udWxsfHxlLndpbmRvd3M9PT11bmRlZmluZWQpKXtlPXsuLi5lLHdpbmRvd3M6aXNXaW5kb3dzKCl9fXJldHVybiBuKHQsZSx1KX1PYmplY3QuYXNzaWduKHBpY29tYXRjaCxuKTt0LmV4cG9ydHM9cGljb21hdGNofSwxNTQ6dD0+e2NvbnN0IGU9XCJcXFxcXFxcXC9cIjtjb25zdCB1PWBbXiR7ZX1dYDtjb25zdCBuPVwiXFxcXC5cIjtjb25zdCBvPVwiXFxcXCtcIjtjb25zdCBzPVwiXFxcXD9cIjtjb25zdCByPVwiXFxcXC9cIjtjb25zdCBhPVwiKD89LilcIjtjb25zdCBpPVwiW14vXVwiO2NvbnN0IGM9YCg/OiR7cn18JClgO2NvbnN0IHA9YCg/Ol58JHtyfSlgO2NvbnN0IGw9YCR7bn17MSwyfSR7Y31gO2NvbnN0IGY9YCg/ISR7bn0pYDtjb25zdCBBPWAoPyEke3B9JHtsfSlgO2NvbnN0IF89YCg/ISR7bn17MCwxfSR7Y30pYDtjb25zdCBSPWAoPyEke2x9KWA7Y29uc3QgRT1gW14uJHtyfV1gO2NvbnN0IGg9YCR7aX0qP2A7Y29uc3QgZz1cIi9cIjtjb25zdCBiPXtET1RfTElURVJBTDpuLFBMVVNfTElURVJBTDpvLFFNQVJLX0xJVEVSQUw6cyxTTEFTSF9MSVRFUkFMOnIsT05FX0NIQVI6YSxRTUFSSzppLEVORF9BTkNIT1I6YyxET1RTX1NMQVNIOmwsTk9fRE9UOmYsTk9fRE9UUzpBLE5PX0RPVF9TTEFTSDpfLE5PX0RPVFNfU0xBU0g6UixRTUFSS19OT19ET1Q6RSxTVEFSOmgsU1RBUlRfQU5DSE9SOnAsU0VQOmd9O2NvbnN0IEM9ey4uLmIsU0xBU0hfTElURVJBTDpgWyR7ZX1dYCxRTUFSSzp1LFNUQVI6YCR7dX0qP2AsRE9UU19TTEFTSDpgJHtufXsxLDJ9KD86WyR7ZX1dfCQpYCxOT19ET1Q6YCg/ISR7bn0pYCxOT19ET1RTOmAoPyEoPzpefFske2V9XSkke259ezEsMn0oPzpbJHtlfV18JCkpYCxOT19ET1RfU0xBU0g6YCg/ISR7bn17MCwxfSg/Olske2V9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7bn17MSwyfSg/Olske2V9XXwkKSlgLFFNQVJLX05PX0RPVDpgW14uJHtlfV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHtlfV0pYCxFTkRfQU5DSE9SOmAoPzpbJHtlfV18JClgLFNFUDpcIlxcXFxcIn07Y29uc3QgeT17YWxudW06XCJhLXpBLVowLTlcIixhbHBoYTpcImEtekEtWlwiLGFzY2lpOlwiXFxcXHgwMC1cXFxceDdGXCIsYmxhbms6XCIgXFxcXHRcIixjbnRybDpcIlxcXFx4MDAtXFxcXHgxRlxcXFx4N0ZcIixkaWdpdDpcIjAtOVwiLGdyYXBoOlwiXFxcXHgyMS1cXFxceDdFXCIsbG93ZXI6XCJhLXpcIixwcmludDpcIlxcXFx4MjAtXFxcXHg3RSBcIixwdW5jdDpcIlxcXFwtIVxcXCIjJCUmJygpXFxcXCorLC4vOjs8PT4/QFtcXFxcXV5fYHt8fX5cIixzcGFjZTpcIiBcXFxcdFxcXFxyXFxcXG5cXFxcdlxcXFxmXCIsdXBwZXI6XCJBLVpcIix3b3JkOlwiQS1aYS16MC05X1wiLHhkaWdpdDpcIkEtRmEtZjAtOVwifTt0LmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6eSxSRUdFWF9CQUNLU0xBU0g6L1xcXFwoPyFbKis/XiR7fSh8KVtcXF1dKS9nLFJFR0VYX05PTl9TUEVDSUFMX0NIQVJTOi9eW15AIVtcXF0uLCQqKz9ee30oKXxcXFxcL10rLyxSRUdFWF9TUEVDSUFMX0NIQVJTOi9bLSorPy5eJHt9KHwpW1xcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcXFw/KSgoXFxXKShcXDMqKSkvZyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDovKFstKis/Ll4ke30ofClbXFxdXSkvZyxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOi8oPzpcXFsuKj9bXlxcXFxdXFxdfFxcXFwoPz0uKSkvZyxSRVBMQUNFTUVOVFM6e1wiKioqXCI6XCIqXCIsXCIqKi8qKlwiOlwiKipcIixcIioqLyoqLyoqXCI6XCIqKlwifSxDSEFSXzA6NDgsQ0hBUl85OjU3LENIQVJfVVBQRVJDQVNFX0E6NjUsQ0hBUl9MT1dFUkNBU0VfQTo5NyxDSEFSX1VQUEVSQ0FTRV9aOjkwLENIQVJfTE9XRVJDQVNFX1o6MTIyLENIQVJfTEVGVF9QQVJFTlRIRVNFUzo0MCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOjQxLENIQVJfQVNURVJJU0s6NDIsQ0hBUl9BTVBFUlNBTkQ6MzgsQ0hBUl9BVDo2NCxDSEFSX0JBQ0tXQVJEX1NMQVNIOjkyLENIQVJfQ0FSUklBR0VfUkVUVVJOOjEzLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6OTQsQ0hBUl9DT0xPTjo1OCxDSEFSX0NPTU1BOjQ0LENIQVJfRE9UOjQ2LENIQVJfRE9VQkxFX1FVT1RFOjM0LENIQVJfRVFVQUw6NjEsQ0hBUl9FWENMQU1BVElPTl9NQVJLOjMzLENIQVJfRk9STV9GRUVEOjEyLENIQVJfRk9SV0FSRF9TTEFTSDo0NyxDSEFSX0dSQVZFX0FDQ0VOVDo5NixDSEFSX0hBU0g6MzUsQ0hBUl9IWVBIRU5fTUlOVVM6NDUsQ0hBUl9MRUZUX0FOR0xFX0JSQUNLRVQ6NjAsQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOjEyMyxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6OTEsQ0hBUl9MSU5FX0ZFRUQ6MTAsQ0hBUl9OT19CUkVBS19TUEFDRToxNjAsQ0hBUl9QRVJDRU5UOjM3LENIQVJfUExVUzo0MyxDSEFSX1FVRVNUSU9OX01BUks6NjMsQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUOjYyLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6MTI1LENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6OTMsQ0hBUl9TRU1JQ09MT046NTksQ0hBUl9TSU5HTEVfUVVPVEU6MzksQ0hBUl9TUEFDRTozMixDSEFSX1RBQjo5LENIQVJfVU5ERVJTQ09SRTo5NSxDSEFSX1ZFUlRJQ0FMX0xJTkU6MTI0LENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOjY1Mjc5LGV4dGdsb2JDaGFycyh0KXtyZXR1cm57XCIhXCI6e3R5cGU6XCJuZWdhdGVcIixvcGVuOlwiKD86KD8hKD86XCIsY2xvc2U6YCkpJHt0LlNUQVJ9KWB9LFwiP1wiOnt0eXBlOlwicW1hcmtcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpP1wifSxcIitcIjp7dHlwZTpcInBsdXNcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpK1wifSxcIipcIjp7dHlwZTpcInN0YXJcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpKlwifSxcIkBcIjp7dHlwZTpcImF0XCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKVwifX19LGdsb2JDaGFycyh0KXtyZXR1cm4gdD09PXRydWU/QzpifX19LDY5NzoodCxlLHUpPT57Y29uc3Qgbj11KDE1NCk7Y29uc3Qgbz11KDk2KTtjb25zdHtNQVhfTEVOR1RIOnMsUE9TSVhfUkVHRVhfU09VUkNFOnIsUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6YSxSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6aSxSRVBMQUNFTUVOVFM6Y309bjtjb25zdCBleHBhbmRSYW5nZT0odCxlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZS5leHBhbmRSYW5nZSguLi50LGUpfXQuc29ydCgpO2NvbnN0IHU9YFske3Quam9pbihcIi1cIil9XWA7dHJ5e25ldyBSZWdFeHAodSl9Y2F0Y2goZSl7cmV0dXJuIHQubWFwKCh0PT5vLmVzY2FwZVJlZ2V4KHQpKSkuam9pbihcIi4uXCIpfXJldHVybiB1fTtjb25zdCBzeW50YXhFcnJvcj0odCxlKT0+YE1pc3NpbmcgJHt0fTogXCIke2V9XCIgLSB1c2UgXCJcXFxcXFxcXCR7ZX1cIiB0byBtYXRjaCBsaXRlcmFsIGNoYXJhY3RlcnNgO2NvbnN0IHBhcnNlPSh0LGUpPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIil9dD1jW3RdfHx0O2NvbnN0IHU9ey4uLmV9O2NvbnN0IHA9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2xldCBsPXQubGVuZ3RoO2lmKGw+cCl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnB1dCBsZW5ndGg6ICR7bH0sIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIGxlbmd0aDogJHtwfWApfWNvbnN0IGY9e3R5cGU6XCJib3NcIix2YWx1ZTpcIlwiLG91dHB1dDp1LnByZXBlbmR8fFwiXCJ9O2NvbnN0IEE9W2ZdO2NvbnN0IF89dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IFI9bi5nbG9iQ2hhcnModS53aW5kb3dzKTtjb25zdCBFPW4uZXh0Z2xvYkNoYXJzKFIpO2NvbnN0e0RPVF9MSVRFUkFMOmgsUExVU19MSVRFUkFMOmcsU0xBU0hfTElURVJBTDpiLE9ORV9DSEFSOkMsRE9UU19TTEFTSDp5LE5PX0RPVDokLE5PX0RPVF9TTEFTSDp4LE5PX0RPVFNfU0xBU0g6UyxRTUFSSzpILFFNQVJLX05PX0RPVDp2LFNUQVI6ZCxTVEFSVF9BTkNIT1I6TH09Ujtjb25zdCBnbG9ic3Rhcj10PT5gKCR7X30oPzooPyEke0x9JHt0LmRvdD95Omh9KS4pKj8pYDtjb25zdCBUPXUuZG90P1wiXCI6JDtjb25zdCBPPXUuZG90P0g6djtsZXQgaz11LmJhc2g9PT10cnVlP2dsb2JzdGFyKHUpOmQ7aWYodS5jYXB0dXJlKXtrPWAoJHtrfSlgfWlmKHR5cGVvZiB1Lm5vZXh0PT09XCJib29sZWFuXCIpe3Uubm9leHRnbG9iPXUubm9leHR9Y29uc3QgbT17aW5wdXQ6dCxpbmRleDotMSxzdGFydDowLGRvdDp1LmRvdD09PXRydWUsY29uc3VtZWQ6XCJcIixvdXRwdXQ6XCJcIixwcmVmaXg6XCJcIixiYWNrdHJhY2s6ZmFsc2UsbmVnYXRlZDpmYWxzZSxicmFja2V0czowLGJyYWNlczowLHBhcmVuczowLHF1b3RlczowLGdsb2JzdGFyOmZhbHNlLHRva2VuczpBfTt0PW8ucmVtb3ZlUHJlZml4KHQsbSk7bD10Lmxlbmd0aDtjb25zdCB3PVtdO2NvbnN0IE49W107Y29uc3QgST1bXTtsZXQgQj1mO2xldCBHO2NvbnN0IGVvcz0oKT0+bS5pbmRleD09PWwtMTtjb25zdCBEPW0ucGVlaz0oZT0xKT0+dFttLmluZGV4K2VdO2NvbnN0IE09bS5hZHZhbmNlPSgpPT50WysrbS5pbmRleF18fFwiXCI7Y29uc3QgcmVtYWluaW5nPSgpPT50LnNsaWNlKG0uaW5kZXgrMSk7Y29uc3QgY29uc3VtZT0odD1cIlwiLGU9MCk9PnttLmNvbnN1bWVkKz10O20uaW5kZXgrPWV9O2NvbnN0IGFwcGVuZD10PT57bS5vdXRwdXQrPXQub3V0cHV0IT1udWxsP3Qub3V0cHV0OnQudmFsdWU7Y29uc3VtZSh0LnZhbHVlKX07Y29uc3QgbmVnYXRlPSgpPT57bGV0IHQ9MTt3aGlsZShEKCk9PT1cIiFcIiYmKEQoMikhPT1cIihcInx8RCgzKT09PVwiP1wiKSl7TSgpO20uc3RhcnQrKzt0Kyt9aWYodCUyPT09MCl7cmV0dXJuIGZhbHNlfW0ubmVnYXRlZD10cnVlO20uc3RhcnQrKztyZXR1cm4gdHJ1ZX07Y29uc3QgaW5jcmVtZW50PXQ9PnttW3RdKys7SS5wdXNoKHQpfTtjb25zdCBkZWNyZW1lbnQ9dD0+e21bdF0tLTtJLnBvcCgpfTtjb25zdCBwdXNoPXQ9PntpZihCLnR5cGU9PT1cImdsb2JzdGFyXCIpe2NvbnN0IGU9bS5icmFjZXM+MCYmKHQudHlwZT09PVwiY29tbWFcInx8dC50eXBlPT09XCJicmFjZVwiKTtjb25zdCB1PXQuZXh0Z2xvYj09PXRydWV8fHcubGVuZ3RoJiYodC50eXBlPT09XCJwaXBlXCJ8fHQudHlwZT09PVwicGFyZW5cIik7aWYodC50eXBlIT09XCJzbGFzaFwiJiZ0LnR5cGUhPT1cInBhcmVuXCImJiFlJiYhdSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi5vdXRwdXQubGVuZ3RoKTtCLnR5cGU9XCJzdGFyXCI7Qi52YWx1ZT1cIipcIjtCLm91dHB1dD1rO20ub3V0cHV0Kz1CLm91dHB1dH19aWYody5sZW5ndGgmJnQudHlwZSE9PVwicGFyZW5cIil7d1t3Lmxlbmd0aC0xXS5pbm5lcis9dC52YWx1ZX1pZih0LnZhbHVlfHx0Lm91dHB1dClhcHBlbmQodCk7aWYoQiYmQi50eXBlPT09XCJ0ZXh0XCImJnQudHlwZT09PVwidGV4dFwiKXtCLm91dHB1dD0oQi5vdXRwdXR8fEIudmFsdWUpK3QudmFsdWU7Qi52YWx1ZSs9dC52YWx1ZTtyZXR1cm59dC5wcmV2PUI7QS5wdXNoKHQpO0I9dH07Y29uc3QgZXh0Z2xvYk9wZW49KHQsZSk9Pntjb25zdCBuPXsuLi5FW2VdLGNvbmRpdGlvbnM6MSxpbm5lcjpcIlwifTtuLnByZXY9QjtuLnBhcmVucz1tLnBhcmVucztuLm91dHB1dD1tLm91dHB1dDtjb25zdCBvPSh1LmNhcHR1cmU/XCIoXCI6XCJcIikrbi5vcGVuO2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOnQsdmFsdWU6ZSxvdXRwdXQ6bS5vdXRwdXQ/XCJcIjpDfSk7cHVzaCh7dHlwZTpcInBhcmVuXCIsZXh0Z2xvYjp0cnVlLHZhbHVlOk0oKSxvdXRwdXQ6b30pO3cucHVzaChuKX07Y29uc3QgZXh0Z2xvYkNsb3NlPXQ9PntsZXQgbj10LmNsb3NlKyh1LmNhcHR1cmU/XCIpXCI6XCJcIik7bGV0IG87aWYodC50eXBlPT09XCJuZWdhdGVcIil7bGV0IHM9aztpZih0LmlubmVyJiZ0LmlubmVyLmxlbmd0aD4xJiZ0LmlubmVyLmluY2x1ZGVzKFwiL1wiKSl7cz1nbG9ic3Rhcih1KX1pZihzIT09a3x8ZW9zKCl8fC9eXFwpKyQvLnRlc3QocmVtYWluaW5nKCkpKXtuPXQuY2xvc2U9YCkkKSkke3N9YH1pZih0LmlubmVyLmluY2x1ZGVzKFwiKlwiKSYmKG89cmVtYWluaW5nKCkpJiYvXlxcLlteXFxcXC8uXSskLy50ZXN0KG8pKXtjb25zdCB1PXBhcnNlKG8sey4uLmUsZmFzdHBhdGhzOmZhbHNlfSkub3V0cHV0O249dC5jbG9zZT1gKSR7dX0pJHtzfSlgfWlmKHQucHJldi50eXBlPT09XCJib3NcIil7bS5uZWdhdGVkRXh0Z2xvYj10cnVlfX1wdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6RyxvdXRwdXQ6bn0pO2RlY3JlbWVudChcInBhcmVuc1wiKX07aWYodS5mYXN0cGF0aHMhPT1mYWxzZSYmIS8oXlsqIV18Wy8oKVtcXF17fVwiXSkvLnRlc3QodCkpe2xldCBuPWZhbHNlO2xldCBzPXQucmVwbGFjZShpLCgodCxlLHUsbyxzLHIpPT57aWYobz09PVwiXFxcXFwiKXtuPXRydWU7cmV0dXJuIHR9aWYobz09PVwiP1wiKXtpZihlKXtyZXR1cm4gZStvKyhzP0gucmVwZWF0KHMubGVuZ3RoKTpcIlwiKX1pZihyPT09MCl7cmV0dXJuIE8rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfXJldHVybiBILnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiLlwiKXtyZXR1cm4gaC5yZXBlYXQodS5sZW5ndGgpfWlmKG89PT1cIipcIil7aWYoZSl7cmV0dXJuIGUrbysocz9rOlwiXCIpfXJldHVybiBrfXJldHVybiBlP3Q6YFxcXFwke3R9YH0pKTtpZihuPT09dHJ1ZSl7aWYodS51bmVzY2FwZT09PXRydWUpe3M9cy5yZXBsYWNlKC9cXFxcL2csXCJcIil9ZWxzZXtzPXMucmVwbGFjZSgvXFxcXCsvZywodD0+dC5sZW5ndGglMj09PTA/XCJcXFxcXFxcXFwiOnQ/XCJcXFxcXCI6XCJcIikpfX1pZihzPT09dCYmdS5jb250YWlucz09PXRydWUpe20ub3V0cHV0PXQ7cmV0dXJuIG19bS5vdXRwdXQ9by53cmFwT3V0cHV0KHMsbSxlKTtyZXR1cm4gbX13aGlsZSghZW9zKCkpe0c9TSgpO2lmKEc9PT1cIlxcMFwiKXtjb250aW51ZX1pZihHPT09XCJcXFxcXCIpe2NvbnN0IHQ9RCgpO2lmKHQ9PT1cIi9cIiYmdS5iYXNoIT09dHJ1ZSl7Y29udGludWV9aWYodD09PVwiLlwifHx0PT09XCI7XCIpe2NvbnRpbnVlfWlmKCF0KXtHKz1cIlxcXFxcIjtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1jb25zdCBlPS9eXFxcXCsvLmV4ZWMocmVtYWluaW5nKCkpO2xldCBuPTA7aWYoZSYmZVswXS5sZW5ndGg+Mil7bj1lWzBdLmxlbmd0aDttLmluZGV4Kz1uO2lmKG4lMiE9PTApe0crPVwiXFxcXFwifX1pZih1LnVuZXNjYXBlPT09dHJ1ZSl7Rz1NKCl9ZWxzZXtHKz1NKCl9aWYobS5icmFja2V0cz09PTApe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfX1pZihtLmJyYWNrZXRzPjAmJihHIT09XCJdXCJ8fEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe2lmKHUucG9zaXghPT1mYWxzZSYmRz09PVwiOlwiKXtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYodC5pbmNsdWRlcyhcIltcIikpe0IucG9zaXg9dHJ1ZTtpZih0LmluY2x1ZGVzKFwiOlwiKSl7Y29uc3QgdD1CLnZhbHVlLmxhc3RJbmRleE9mKFwiW1wiKTtjb25zdCBlPUIudmFsdWUuc2xpY2UoMCx0KTtjb25zdCB1PUIudmFsdWUuc2xpY2UodCsyKTtjb25zdCBuPXJbdV07aWYobil7Qi52YWx1ZT1lK247bS5iYWNrdHJhY2s9dHJ1ZTtNKCk7aWYoIWYub3V0cHV0JiZBLmluZGV4T2YoQik9PT0xKXtmLm91dHB1dD1DfWNvbnRpbnVlfX19fWlmKEc9PT1cIltcIiYmRCgpIT09XCI6XCJ8fEc9PT1cIi1cIiYmRCgpPT09XCJdXCIpe0c9YFxcXFwke0d9YH1pZihHPT09XCJdXCImJihCLnZhbHVlPT09XCJbXCJ8fEIudmFsdWU9PT1cIlteXCIpKXtHPWBcXFxcJHtHfWB9aWYodS5wb3NpeD09PXRydWUmJkc9PT1cIiFcIiYmQi52YWx1ZT09PVwiW1wiKXtHPVwiXlwifUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYobS5xdW90ZXM9PT0xJiZHIT09J1wiJyl7Rz1vLmVzY2FwZVJlZ2V4KEcpO0IudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PSdcIicpe20ucXVvdGVzPW0ucXVvdGVzPT09MT8wOjE7aWYodS5rZWVwUXVvdGVzPT09dHJ1ZSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSl9Y29udGludWV9aWYoRz09PVwiKFwiKXtpbmNyZW1lbnQoXCJwYXJlbnNcIik7cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEc9PT1cIilcIil7aWYobS5wYXJlbnM9PT0wJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiKFwiKSl9Y29uc3QgdD13W3cubGVuZ3RoLTFdO2lmKHQmJm0ucGFyZW5zPT09dC5wYXJlbnMrMSl7ZXh0Z2xvYkNsb3NlKHcucG9wKCkpO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJwYXJlblwiLHZhbHVlOkcsb3V0cHV0Om0ucGFyZW5zP1wiKVwiOlwiXFxcXClcIn0pO2RlY3JlbWVudChcInBhcmVuc1wiKTtjb250aW51ZX1pZihHPT09XCJbXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8IXJlbWFpbmluZygpLmluY2x1ZGVzKFwiXVwiKSl7aWYodS5ub2JyYWNrZXQhPT10cnVlJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiXVwiKSl9Rz1gXFxcXCR7R31gfWVsc2V7aW5jcmVtZW50KFwiYnJhY2tldHNcIil9cHVzaCh7dHlwZTpcImJyYWNrZXRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiXVwiKXtpZih1Lm5vYnJhY2tldD09PXRydWV8fEImJkIudHlwZT09PVwiYnJhY2tldFwiJiZCLnZhbHVlLmxlbmd0aD09PTEpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6YFxcXFwke0d9YH0pO2NvbnRpbnVlfWlmKG0uYnJhY2tldHM9PT0wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiW1wiKSl9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9ZGVjcmVtZW50KFwiYnJhY2tldHNcIik7Y29uc3QgdD1CLnZhbHVlLnNsaWNlKDEpO2lmKEIucG9zaXghPT10cnVlJiZ0WzBdPT09XCJeXCImJiF0LmluY2x1ZGVzKFwiL1wiKSl7Rz1gLyR7R31gfUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7aWYodS5saXRlcmFsQnJhY2tldHM9PT1mYWxzZXx8by5oYXNSZWdleENoYXJzKHQpKXtjb250aW51ZX1jb25zdCBlPW8uZXNjYXBlUmVnZXgoQi52YWx1ZSk7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi52YWx1ZS5sZW5ndGgpO2lmKHUubGl0ZXJhbEJyYWNrZXRzPT09dHJ1ZSl7bS5vdXRwdXQrPWU7Qi52YWx1ZT1lO2NvbnRpbnVlfUIudmFsdWU9YCgke199JHtlfXwke0IudmFsdWV9KWA7bS5vdXRwdXQrPUIudmFsdWU7Y29udGludWV9aWYoRz09PVwie1wiJiZ1Lm5vYnJhY2UhPT10cnVlKXtpbmNyZW1lbnQoXCJicmFjZXNcIik7Y29uc3QgdD17dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6XCIoXCIsb3V0cHV0SW5kZXg6bS5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Om0udG9rZW5zLmxlbmd0aH07Ti5wdXNoKHQpO3B1c2godCk7Y29udGludWV9aWYoRz09PVwifVwiKXtjb25zdCB0PU5bTi5sZW5ndGgtMV07aWYodS5ub2JyYWNlPT09dHJ1ZXx8IXQpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6R30pO2NvbnRpbnVlfWxldCBlPVwiKVwiO2lmKHQuZG90cz09PXRydWUpe2NvbnN0IHQ9QS5zbGljZSgpO2NvbnN0IG49W107Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe0EucG9wKCk7aWYodFtlXS50eXBlPT09XCJicmFjZVwiKXticmVha31pZih0W2VdLnR5cGUhPT1cImRvdHNcIil7bi51bnNoaWZ0KHRbZV0udmFsdWUpfX1lPWV4cGFuZFJhbmdlKG4sdSk7bS5iYWNrdHJhY2s9dHJ1ZX1pZih0LmNvbW1hIT09dHJ1ZSYmdC5kb3RzIT09dHJ1ZSl7Y29uc3QgdT1tLm91dHB1dC5zbGljZSgwLHQub3V0cHV0SW5kZXgpO2NvbnN0IG49bS50b2tlbnMuc2xpY2UodC50b2tlbnNJbmRleCk7dC52YWx1ZT10Lm91dHB1dD1cIlxcXFx7XCI7Rz1lPVwiXFxcXH1cIjttLm91dHB1dD11O2Zvcihjb25zdCB0IG9mIG4pe20ub3V0cHV0Kz10Lm91dHB1dHx8dC52YWx1ZX19cHVzaCh7dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2RlY3JlbWVudChcImJyYWNlc1wiKTtOLnBvcCgpO2NvbnRpbnVlfWlmKEc9PT1cInxcIil7aWYody5sZW5ndGg+MCl7d1t3Lmxlbmd0aC0xXS5jb25kaXRpb25zKyt9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiLFwiKXtsZXQgdD1HO2NvbnN0IGU9TltOLmxlbmd0aC0xXTtpZihlJiZJW0kubGVuZ3RoLTFdPT09XCJicmFjZXNcIil7ZS5jb21tYT10cnVlO3Q9XCJ8XCJ9cHVzaCh7dHlwZTpcImNvbW1hXCIsdmFsdWU6RyxvdXRwdXQ6dH0pO2NvbnRpbnVlfWlmKEc9PT1cIi9cIil7aWYoQi50eXBlPT09XCJkb3RcIiYmbS5pbmRleD09PW0uc3RhcnQrMSl7bS5zdGFydD1tLmluZGV4KzE7bS5jb25zdW1lZD1cIlwiO20ub3V0cHV0PVwiXCI7QS5wb3AoKTtCPWY7Y29udGludWV9cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6RyxvdXRwdXQ6Yn0pO2NvbnRpbnVlfWlmKEc9PT1cIi5cIil7aWYobS5icmFjZXM+MCYmQi50eXBlPT09XCJkb3RcIil7aWYoQi52YWx1ZT09PVwiLlwiKUIub3V0cHV0PWg7Y29uc3QgdD1OW04ubGVuZ3RoLTFdO0IudHlwZT1cImRvdHNcIjtCLm91dHB1dCs9RztCLnZhbHVlKz1HO3QuZG90cz10cnVlO2NvbnRpbnVlfWlmKG0uYnJhY2VzK20ucGFyZW5zPT09MCYmQi50eXBlIT09XCJib3NcIiYmQi50eXBlIT09XCJzbGFzaFwiKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0Omh9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwiZG90XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEc9PT1cIj9cIil7Y29uc3QgdD1CJiZCLnZhbHVlPT09XCIoXCI7aWYoIXQmJnUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJxbWFya1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudHlwZT09PVwicGFyZW5cIil7Y29uc3QgdD1EKCk7bGV0IGU9RztpZihCLnZhbHVlPT09XCIoXCImJiEvWyE9PDpdLy50ZXN0KHQpfHx0PT09XCI8XCImJiEvPChbIT1dfFxcdys+KS8udGVzdChyZW1haW5pbmcoKSkpe2U9YFxcXFwke0d9YH1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmV9KTtjb250aW51ZX1pZih1LmRvdCE9PXRydWUmJihCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiYm9zXCIpKXtwdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDp2fSk7Y29udGludWV9cHVzaCh7dHlwZTpcInFtYXJrXCIsdmFsdWU6RyxvdXRwdXQ6SH0pO2NvbnRpbnVlfWlmKEc9PT1cIiFcIil7aWYodS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIil7aWYoRCgyKSE9PVwiP1wifHwhL1shPTw6XS8udGVzdChEKDMpKSl7ZXh0Z2xvYk9wZW4oXCJuZWdhdGVcIixHKTtjb250aW51ZX19aWYodS5ub25lZ2F0ZSE9PXRydWUmJm0uaW5kZXg9PT0wKXtuZWdhdGUoKTtjb250aW51ZX19aWYoRz09PVwiK1wiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe2V4dGdsb2JPcGVuKFwicGx1c1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudmFsdWU9PT1cIihcInx8dS5yZWdleD09PWZhbHNlKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkcsb3V0cHV0Omd9KTtjb250aW51ZX1pZihCJiYoQi50eXBlPT09XCJicmFja2V0XCJ8fEIudHlwZT09PVwicGFyZW5cInx8Qi50eXBlPT09XCJicmFjZVwiKXx8bS5wYXJlbnM+MCl7cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpHfSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpnfSk7Y29udGludWV9aWYoRz09PVwiQFwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe3B1c2goe3R5cGU6XCJhdFwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRyE9PVwiKlwiKXtpZihHPT09XCIkXCJ8fEc9PT1cIl5cIil7Rz1gXFxcXCR7R31gfWNvbnN0IHQ9YS5leGVjKHJlbWFpbmluZygpKTtpZih0KXtHKz10WzBdO20uaW5kZXgrPXRbMF0ubGVuZ3RofXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImdsb2JzdGFyXCJ8fEIuc3Rhcj09PXRydWUpKXtCLnR5cGU9XCJzdGFyXCI7Qi5zdGFyPXRydWU7Qi52YWx1ZSs9RztCLm91dHB1dD1rO20uYmFja3RyYWNrPXRydWU7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9bGV0IGU9cmVtYWluaW5nKCk7aWYodS5ub2V4dGdsb2IhPT10cnVlJiYvXlxcKFteP10vLnRlc3QoZSkpe2V4dGdsb2JPcGVuKFwic3RhclwiLEcpO2NvbnRpbnVlfWlmKEIudHlwZT09PVwic3RhclwiKXtpZih1Lm5vZ2xvYnN0YXI9PT10cnVlKXtjb25zdW1lKEcpO2NvbnRpbnVlfWNvbnN0IG49Qi5wcmV2O2NvbnN0IG89bi5wcmV2O2NvbnN0IHM9bi50eXBlPT09XCJzbGFzaFwifHxuLnR5cGU9PT1cImJvc1wiO2NvbnN0IHI9byYmKG8udHlwZT09PVwic3RhclwifHxvLnR5cGU9PT1cImdsb2JzdGFyXCIpO2lmKHUuYmFzaD09PXRydWUmJighc3x8ZVswXSYmZVswXSE9PVwiL1wiKSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9Y29uc3QgYT1tLmJyYWNlcz4wJiYobi50eXBlPT09XCJjb21tYVwifHxuLnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IGk9dy5sZW5ndGgmJihuLnR5cGU9PT1cInBpcGVcInx8bi50eXBlPT09XCJwYXJlblwiKTtpZighcyYmbi50eXBlIT09XCJwYXJlblwiJiYhYSYmIWkpe3B1c2goe3R5cGU6XCJzdGFyXCIsdmFsdWU6RyxvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfXdoaWxlKGUuc2xpY2UoMCwzKT09PVwiLyoqXCIpe2NvbnN0IHU9dFttLmluZGV4KzRdO2lmKHUmJnUhPT1cIi9cIil7YnJlYWt9ZT1lLnNsaWNlKDMpO2NvbnN1bWUoXCIvKipcIiwzKX1pZihuLnR5cGU9PT1cImJvc1wiJiZlb3MoKSl7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLnZhbHVlKz1HO0Iub3V0cHV0PWdsb2JzdGFyKHUpO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiYhciYmZW9zKCkpe20ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLShuLm91dHB1dCtCLm91dHB1dCkubGVuZ3RoKTtuLm91dHB1dD1gKD86JHtuLm91dHB1dH1gO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSkrKHUuc3RyaWN0U2xhc2hlcz9cIilcIjpcInwkKVwiKTtCLnZhbHVlKz1HO20uZ2xvYnN0YXI9dHJ1ZTttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7Y29uc3VtZShHKTtjb250aW51ZX1pZihuLnR5cGU9PT1cInNsYXNoXCImJm4ucHJldi50eXBlIT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtjb25zdCB0PWVbMV0hPT12b2lkIDA/XCJ8JFwiOlwiXCI7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1gJHtnbG9ic3Rhcih1KX0ke2J9fCR7Yn0ke3R9KWA7Qi52YWx1ZSs9RzttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRytNKCkpO3B1c2goe3R5cGU6XCJzbGFzaFwiLHZhbHVlOlwiL1wiLG91dHB1dDpcIlwifSk7Y29udGludWV9aWYobi50eXBlPT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9YCg/Ol58JHtifXwke2dsb2JzdGFyKHUpfSR7Yn0pYDttLm91dHB1dD1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1tLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7Qi52YWx1ZSs9RzttLm91dHB1dCs9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj17dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDprfTtpZih1LmJhc2g9PT10cnVlKXtuLm91dHB1dD1cIi4qP1wiO2lmKEIudHlwZT09PVwiYm9zXCJ8fEIudHlwZT09PVwic2xhc2hcIil7bi5vdXRwdXQ9VCtuLm91dHB1dH1wdXNoKG4pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwiKSYmdS5yZWdleD09PXRydWUpe24ub3V0cHV0PUc7cHVzaChuKTtjb250aW51ZX1pZihtLmluZGV4PT09bS5zdGFydHx8Qi50eXBlPT09XCJzbGFzaFwifHxCLnR5cGU9PT1cImRvdFwiKXtpZihCLnR5cGU9PT1cImRvdFwiKXttLm91dHB1dCs9eDtCLm91dHB1dCs9eH1lbHNlIGlmKHUuZG90PT09dHJ1ZSl7bS5vdXRwdXQrPVM7Qi5vdXRwdXQrPVN9ZWxzZXttLm91dHB1dCs9VDtCLm91dHB1dCs9VH1pZihEKCkhPT1cIipcIil7bS5vdXRwdXQrPUM7Qi5vdXRwdXQrPUN9fXB1c2gobil9d2hpbGUobS5icmFja2V0cz4wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKTttLm91dHB1dD1vLmVzY2FwZUxhc3QobS5vdXRwdXQsXCJbXCIpO2RlY3JlbWVudChcImJyYWNrZXRzXCIpfXdoaWxlKG0ucGFyZW5zPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIilcIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIihcIik7ZGVjcmVtZW50KFwicGFyZW5zXCIpfXdoaWxlKG0uYnJhY2VzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIn1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIntcIik7ZGVjcmVtZW50KFwiYnJhY2VzXCIpfWlmKHUuc3RyaWN0U2xhc2hlcyE9PXRydWUmJihCLnR5cGU9PT1cInN0YXJcInx8Qi50eXBlPT09XCJicmFja2V0XCIpKXtwdXNoKHt0eXBlOlwibWF5YmVfc2xhc2hcIix2YWx1ZTpcIlwiLG91dHB1dDpgJHtifT9gfSl9aWYobS5iYWNrdHJhY2s9PT10cnVlKXttLm91dHB1dD1cIlwiO2Zvcihjb25zdCB0IG9mIG0udG9rZW5zKXttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtpZih0LnN1ZmZpeCl7bS5vdXRwdXQrPXQuc3VmZml4fX19cmV0dXJuIG19O3BhcnNlLmZhc3RwYXRocz0odCxlKT0+e2NvbnN0IHU9ey4uLmV9O2NvbnN0IHI9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2NvbnN0IGE9dC5sZW5ndGg7aWYoYT5yKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHthfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3J9YCl9dD1jW3RdfHx0O2NvbnN0e0RPVF9MSVRFUkFMOmksU0xBU0hfTElURVJBTDpwLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpmLE5PX0RPVDpBLE5PX0RPVFM6XyxOT19ET1RTX1NMQVNIOlIsU1RBUjpFLFNUQVJUX0FOQ0hPUjpofT1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IGc9dS5kb3Q/XzpBO2NvbnN0IGI9dS5kb3Q/UjpBO2NvbnN0IEM9dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IHk9e25lZ2F0ZWQ6ZmFsc2UscHJlZml4OlwiXCJ9O2xldCAkPXUuYmFzaD09PXRydWU/XCIuKj9cIjpFO2lmKHUuY2FwdHVyZSl7JD1gKCR7JH0pYH1jb25zdCBnbG9ic3Rhcj10PT57aWYodC5ub2dsb2JzdGFyPT09dHJ1ZSlyZXR1cm4gJDtyZXR1cm5gKCR7Q30oPzooPyEke2h9JHt0LmRvdD9mOml9KS4pKj8pYH07Y29uc3QgY3JlYXRlPXQ9Pntzd2l0Y2godCl7Y2FzZVwiKlwiOnJldHVybmAke2d9JHtsfSR7JH1gO2Nhc2VcIi4qXCI6cmV0dXJuYCR7aX0ke2x9JHskfWA7Y2FzZVwiKi4qXCI6cmV0dXJuYCR7Z30keyR9JHtpfSR7bH0keyR9YDtjYXNlXCIqLypcIjpyZXR1cm5gJHtnfSR7JH0ke3B9JHtsfSR7Yn0keyR9YDtjYXNlXCIqKlwiOnJldHVybiBnK2dsb2JzdGFyKHUpO2Nhc2VcIioqLypcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7bH0keyR9YDtjYXNlXCIqKi8qLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIioqLy4qXCI6cmV0dXJuYCg/OiR7Z30ke2dsb2JzdGFyKHUpfSR7cH0pPyR7aX0ke2x9JHskfWA7ZGVmYXVsdDp7Y29uc3QgZT0vXiguKj8pXFwuKFxcdyspJC8uZXhlYyh0KTtpZighZSlyZXR1cm47Y29uc3QgdT1jcmVhdGUoZVsxXSk7aWYoIXUpcmV0dXJuO3JldHVybiB1K2krZVsyXX19fTtjb25zdCB4PW8ucmVtb3ZlUHJlZml4KHQseSk7bGV0IFM9Y3JlYXRlKHgpO2lmKFMmJnUuc3RyaWN0U2xhc2hlcyE9PXRydWUpe1MrPWAke3B9P2B9cmV0dXJuIFN9O3QuZXhwb3J0cz1wYXJzZX0sNTEwOih0LGUsdSk9Pntjb25zdCBuPXUoNzE2KTtjb25zdCBvPXUoNjk3KTtjb25zdCBzPXUoOTYpO2NvbnN0IHI9dSgxNTQpO2NvbnN0IGlzT2JqZWN0PXQ9PnQmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7Y29uc3QgcGljb21hdGNoPSh0LGUsdT1mYWxzZSk9PntpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBuPXQubWFwKCh0PT5waWNvbWF0Y2godCxlLHUpKSk7Y29uc3QgYXJyYXlNYXRjaGVyPXQ9Pntmb3IoY29uc3QgZSBvZiBuKXtjb25zdCB1PWUodCk7aWYodSlyZXR1cm4gdX1yZXR1cm4gZmFsc2V9O3JldHVybiBhcnJheU1hdGNoZXJ9Y29uc3Qgbj1pc09iamVjdCh0KSYmdC50b2tlbnMmJnQuaW5wdXQ7aWYodD09PVwiXCJ8fHR5cGVvZiB0IT09XCJzdHJpbmdcIiYmIW4pe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBwYXR0ZXJuIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1jb25zdCBvPWV8fHt9O2NvbnN0IHM9by53aW5kb3dzO2NvbnN0IHI9bj9waWNvbWF0Y2guY29tcGlsZVJlKHQsZSk6cGljb21hdGNoLm1ha2VSZSh0LGUsZmFsc2UsdHJ1ZSk7Y29uc3QgYT1yLnN0YXRlO2RlbGV0ZSByLnN0YXRlO2xldCBpc0lnbm9yZWQ9KCk9PmZhbHNlO2lmKG8uaWdub3JlKXtjb25zdCB0PXsuLi5lLGlnbm9yZTpudWxsLG9uTWF0Y2g6bnVsbCxvblJlc3VsdDpudWxsfTtpc0lnbm9yZWQ9cGljb21hdGNoKG8uaWdub3JlLHQsdSl9Y29uc3QgbWF0Y2hlcj0odSxuPWZhbHNlKT0+e2NvbnN0e2lzTWF0Y2g6aSxtYXRjaDpjLG91dHB1dDpwfT1waWNvbWF0Y2gudGVzdCh1LHIsZSx7Z2xvYjp0LHBvc2l4OnN9KTtjb25zdCBsPXtnbG9iOnQsc3RhdGU6YSxyZWdleDpyLHBvc2l4OnMsaW5wdXQ6dSxvdXRwdXQ6cCxtYXRjaDpjLGlzTWF0Y2g6aX07aWYodHlwZW9mIG8ub25SZXN1bHQ9PT1cImZ1bmN0aW9uXCIpe28ub25SZXN1bHQobCl9aWYoaT09PWZhbHNlKXtsLmlzTWF0Y2g9ZmFsc2U7cmV0dXJuIG4/bDpmYWxzZX1pZihpc0lnbm9yZWQodSkpe2lmKHR5cGVvZiBvLm9uSWdub3JlPT09XCJmdW5jdGlvblwiKXtvLm9uSWdub3JlKGwpfWwuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKHR5cGVvZiBvLm9uTWF0Y2g9PT1cImZ1bmN0aW9uXCIpe28ub25NYXRjaChsKX1yZXR1cm4gbj9sOnRydWV9O2lmKHUpe21hdGNoZXIuc3RhdGU9YX1yZXR1cm4gbWF0Y2hlcn07cGljb21hdGNoLnRlc3Q9KHQsZSx1LHtnbG9iOm4scG9zaXg6b309e30pPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmdcIil9aWYodD09PVwiXCIpe3JldHVybntpc01hdGNoOmZhbHNlLG91dHB1dDpcIlwifX1jb25zdCByPXV8fHt9O2NvbnN0IGE9ci5mb3JtYXR8fChvP3MudG9Qb3NpeFNsYXNoZXM6bnVsbCk7bGV0IGk9dD09PW47bGV0IGM9aSYmYT9hKHQpOnQ7aWYoaT09PWZhbHNlKXtjPWE/YSh0KTp0O2k9Yz09PW59aWYoaT09PWZhbHNlfHxyLmNhcHR1cmU9PT10cnVlKXtpZihyLm1hdGNoQmFzZT09PXRydWV8fHIuYmFzZW5hbWU9PT10cnVlKXtpPXBpY29tYXRjaC5tYXRjaEJhc2UodCxlLHUsbyl9ZWxzZXtpPWUuZXhlYyhjKX19cmV0dXJue2lzTWF0Y2g6Qm9vbGVhbihpKSxtYXRjaDppLG91dHB1dDpjfX07cGljb21hdGNoLm1hdGNoQmFzZT0odCxlLHUpPT57Y29uc3Qgbj1lIGluc3RhbmNlb2YgUmVnRXhwP2U6cGljb21hdGNoLm1ha2VSZShlLHUpO3JldHVybiBuLnRlc3Qocy5iYXNlbmFtZSh0KSl9O3BpY29tYXRjaC5pc01hdGNoPSh0LGUsdSk9PnBpY29tYXRjaChlLHUpKHQpO3BpY29tYXRjaC5wYXJzZT0odCxlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQubWFwKCh0PT5waWNvbWF0Y2gucGFyc2UodCxlKSkpO3JldHVybiBvKHQsey4uLmUsZmFzdHBhdGhzOmZhbHNlfSl9O3BpY29tYXRjaC5zY2FuPSh0LGUpPT5uKHQsZSk7cGljb21hdGNoLmNvbXBpbGVSZT0odCxlLHU9ZmFsc2Usbj1mYWxzZSk9PntpZih1PT09dHJ1ZSl7cmV0dXJuIHQub3V0cHV0fWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgcj1vLmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IGE9YCR7c30oPzoke3Qub3V0cHV0fSkke3J9YDtpZih0JiZ0Lm5lZ2F0ZWQ9PT10cnVlKXthPWBeKD8hJHthfSkuKiRgfWNvbnN0IGk9cGljb21hdGNoLnRvUmVnZXgoYSxlKTtpZihuPT09dHJ1ZSl7aS5zdGF0ZT10fXJldHVybiBpfTtwaWNvbWF0Y2gubWFrZVJlPSh0LGU9e30sdT1mYWxzZSxuPWZhbHNlKT0+e2lmKCF0fHx0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIG5vbi1lbXB0eSBzdHJpbmdcIil9bGV0IHM9e25lZ2F0ZWQ6ZmFsc2UsZmFzdHBhdGhzOnRydWV9O2lmKGUuZmFzdHBhdGhzIT09ZmFsc2UmJih0WzBdPT09XCIuXCJ8fHRbMF09PT1cIipcIikpe3Mub3V0cHV0PW8uZmFzdHBhdGhzKHQsZSl9aWYoIXMub3V0cHV0KXtzPW8odCxlKX1yZXR1cm4gcGljb21hdGNoLmNvbXBpbGVSZShzLGUsdSxuKX07cGljb21hdGNoLnRvUmVnZXg9KHQsZSk9Pnt0cnl7Y29uc3QgdT1lfHx7fTtyZXR1cm4gbmV3IFJlZ0V4cCh0LHUuZmxhZ3N8fCh1Lm5vY2FzZT9cImlcIjpcIlwiKSl9Y2F0Y2godCl7aWYoZSYmZS5kZWJ1Zz09PXRydWUpdGhyb3cgdDtyZXR1cm4vJF4vfX07cGljb21hdGNoLmNvbnN0YW50cz1yO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDcxNjoodCxlLHUpPT57Y29uc3Qgbj11KDk2KTtjb25zdHtDSEFSX0FTVEVSSVNLOm8sQ0hBUl9BVDpzLENIQVJfQkFDS1dBUkRfU0xBU0g6cixDSEFSX0NPTU1BOmEsQ0hBUl9ET1Q6aSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6YyxDSEFSX0ZPUldBUkRfU0xBU0g6cCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6bCxDSEFSX0xFRlRfUEFSRU5USEVTRVM6ZixDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6QSxDSEFSX1BMVVM6XyxDSEFSX1FVRVNUSU9OX01BUks6UixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpoLENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6Z309dSgxNTQpO2NvbnN0IGlzUGF0aFNlcGFyYXRvcj10PT50PT09cHx8dD09PXI7Y29uc3QgZGVwdGg9dD0+e2lmKHQuaXNQcmVmaXghPT10cnVlKXt0LmRlcHRoPXQuaXNHbG9ic3Rhcj9JbmZpbml0eToxfX07Y29uc3Qgc2Nhbj0odCxlKT0+e2NvbnN0IHU9ZXx8e307Y29uc3QgYj10Lmxlbmd0aC0xO2NvbnN0IEM9dS5wYXJ0cz09PXRydWV8fHUuc2NhblRvRW5kPT09dHJ1ZTtjb25zdCB5PVtdO2NvbnN0ICQ9W107Y29uc3QgeD1bXTtsZXQgUz10O2xldCBIPS0xO2xldCB2PTA7bGV0IGQ9MDtsZXQgTD1mYWxzZTtsZXQgVD1mYWxzZTtsZXQgTz1mYWxzZTtsZXQgaz1mYWxzZTtsZXQgbT1mYWxzZTtsZXQgdz1mYWxzZTtsZXQgTj1mYWxzZTtsZXQgST1mYWxzZTtsZXQgQj1mYWxzZTtsZXQgRz1mYWxzZTtsZXQgRD0wO2xldCBNO2xldCBQO2xldCBLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtjb25zdCBlb3M9KCk9Pkg+PWI7Y29uc3QgcGVlaz0oKT0+Uy5jaGFyQ29kZUF0KEgrMSk7Y29uc3QgYWR2YW5jZT0oKT0+e009UDtyZXR1cm4gUy5jaGFyQ29kZUF0KCsrSCl9O3doaWxlKEg8Yil7UD1hZHZhbmNlKCk7bGV0IHQ7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2lmKFA9PT1sKXt3PXRydWV9Y29udGludWV9aWYodz09PXRydWV8fFA9PT1sKXtEKys7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1sKXtEKys7Y29udGludWV9aWYodyE9PXRydWUmJlA9PT1pJiYoUD1hZHZhbmNlKCkpPT09aSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZih3IT09dHJ1ZSYmUD09PWEpe0w9Sy5pc0JyYWNlPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PUUpe0QtLTtpZihEPT09MCl7dz1mYWxzZTtMPUsuaXNCcmFjZT10cnVlO0c9dHJ1ZTticmVha319fWlmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09cCl7eS5wdXNoKEgpOyQucHVzaChLKTtLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtpZihHPT09dHJ1ZSljb250aW51ZTtpZihNPT09aSYmSD09PXYrMSl7dis9Mjtjb250aW51ZX1kPUgrMTtjb250aW51ZX1pZih1Lm5vZXh0IT09dHJ1ZSl7Y29uc3QgdD1QPT09X3x8UD09PXN8fFA9PT1vfHxQPT09Unx8UD09PWM7aWYodD09PXRydWUmJnBlZWsoKT09PWYpe089Sy5pc0dsb2I9dHJ1ZTtrPUsuaXNFeHRnbG9iPXRydWU7Rz10cnVlO2lmKFA9PT1jJiZIPT09dil7Qj10cnVlfWlmKEM9PT10cnVlKXt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTtQPWFkdmFuY2UoKTtjb250aW51ZX1pZihQPT09aCl7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9fWlmKFA9PT1vKXtpZihNPT09byltPUsuaXNHbG9ic3Rhcj10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1SKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09QSl7d2hpbGUoZW9zKCkhPT10cnVlJiYodD1hZHZhbmNlKCkpKXtpZih0PT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKHQ9PT1nKXtUPUsuaXNCcmFja2V0PXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHUubm9uZWdhdGUhPT10cnVlJiZQPT09YyYmSD09PXYpe0k9Sy5uZWdhdGVkPXRydWU7disrO2NvbnRpbnVlfWlmKHUubm9wYXJlbiE9PXRydWUmJlA9PT1mKXtPPUsuaXNHbG9iPXRydWU7aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PWYpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtHPXRydWU7YnJlYWt9fWNvbnRpbnVlfWJyZWFrfWlmKE89PT10cnVlKXtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfX1pZih1Lm5vZXh0PT09dHJ1ZSl7az1mYWxzZTtPPWZhbHNlfWxldCBVPVM7bGV0IFg9XCJcIjtsZXQgRj1cIlwiO2lmKHY+MCl7WD1TLnNsaWNlKDAsdik7Uz1TLnNsaWNlKHYpO2QtPXZ9aWYoVSYmTz09PXRydWUmJmQ+MCl7VT1TLnNsaWNlKDAsZCk7Rj1TLnNsaWNlKGQpfWVsc2UgaWYoTz09PXRydWUpe1U9XCJcIjtGPVN9ZWxzZXtVPVN9aWYoVSYmVSE9PVwiXCImJlUhPT1cIi9cIiYmVSE9PVMpe2lmKGlzUGF0aFNlcGFyYXRvcihVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpKXtVPVUuc2xpY2UoMCwtMSl9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtpZihGKUY9bi5yZW1vdmVCYWNrc2xhc2hlcyhGKTtpZihVJiZOPT09dHJ1ZSl7VT1uLnJlbW92ZUJhY2tzbGFzaGVzKFUpfX1jb25zdCBRPXtwcmVmaXg6WCxpbnB1dDp0LHN0YXJ0OnYsYmFzZTpVLGdsb2I6Rixpc0JyYWNlOkwsaXNCcmFja2V0OlQsaXNHbG9iOk8saXNFeHRnbG9iOmssaXNHbG9ic3RhcjptLG5lZ2F0ZWQ6SSxuZWdhdGVkRXh0Z2xvYjpCfTtpZih1LnRva2Vucz09PXRydWUpe1EubWF4RGVwdGg9MDtpZighaXNQYXRoU2VwYXJhdG9yKFApKXskLnB1c2goSyl9US50b2tlbnM9JH1pZih1LnBhcnRzPT09dHJ1ZXx8dS50b2tlbnM9PT10cnVlKXtsZXQgZTtmb3IobGV0IG49MDtuPHkubGVuZ3RoO24rKyl7Y29uc3Qgbz1lP2UrMTp2O2NvbnN0IHM9eVtuXTtjb25zdCByPXQuc2xpY2UobyxzKTtpZih1LnRva2Vucyl7aWYobj09PTAmJnYhPT0wKXskW25dLmlzUHJlZml4PXRydWU7JFtuXS52YWx1ZT1YfWVsc2V7JFtuXS52YWx1ZT1yfWRlcHRoKCRbbl0pO1EubWF4RGVwdGgrPSRbbl0uZGVwdGh9aWYobiE9PTB8fHIhPT1cIlwiKXt4LnB1c2gocil9ZT1zfWlmKGUmJmUrMTx0Lmxlbmd0aCl7Y29uc3Qgbj10LnNsaWNlKGUrMSk7eC5wdXNoKG4pO2lmKHUudG9rZW5zKXskWyQubGVuZ3RoLTFdLnZhbHVlPW47ZGVwdGgoJFskLmxlbmd0aC0xXSk7US5tYXhEZXB0aCs9JFskLmxlbmd0aC0xXS5kZXB0aH19US5zbGFzaGVzPXk7US5wYXJ0cz14fXJldHVybiBRfTt0LmV4cG9ydHM9c2Nhbn0sOTY6KHQsZSx1KT0+e2NvbnN0e1JFR0VYX0JBQ0tTTEFTSDpuLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6byxSRUdFWF9TUEVDSUFMX0NIQVJTOnMsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6cn09dSgxNTQpO2UuaXNPYmplY3Q9dD0+dCE9PW51bGwmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7ZS5oYXNSZWdleENoYXJzPXQ9PnMudGVzdCh0KTtlLmlzUmVnZXhDaGFyPXQ9PnQubGVuZ3RoPT09MSYmZS5oYXNSZWdleENoYXJzKHQpO2UuZXNjYXBlUmVnZXg9dD0+dC5yZXBsYWNlKHIsXCJcXFxcJDFcIik7ZS50b1Bvc2l4U2xhc2hlcz10PT50LnJlcGxhY2UobixcIi9cIik7ZS5yZW1vdmVCYWNrc2xhc2hlcz10PT50LnJlcGxhY2UobywodD0+dD09PVwiXFxcXFwiP1wiXCI6dCkpO2UuZXNjYXBlTGFzdD0odCx1LG4pPT57Y29uc3Qgbz10Lmxhc3RJbmRleE9mKHUsbik7aWYobz09PS0xKXJldHVybiB0O2lmKHRbby0xXT09PVwiXFxcXFwiKXJldHVybiBlLmVzY2FwZUxhc3QodCx1LG8tMSk7cmV0dXJuYCR7dC5zbGljZSgwLG8pfVxcXFwke3Quc2xpY2Uobyl9YH07ZS5yZW1vdmVQcmVmaXg9KHQsZT17fSk9PntsZXQgdT10O2lmKHUuc3RhcnRzV2l0aChcIi4vXCIpKXt1PXUuc2xpY2UoMik7ZS5wcmVmaXg9XCIuL1wifXJldHVybiB1fTtlLndyYXBPdXRwdXQ9KHQsZT17fSx1PXt9KT0+e2NvbnN0IG49dS5jb250YWlucz9cIlwiOlwiXlwiO2NvbnN0IG89dS5jb250YWlucz9cIlwiOlwiJFwiO2xldCBzPWAke259KD86JHt0fSkke299YDtpZihlLm5lZ2F0ZWQ9PT10cnVlKXtzPWAoPzpeKD8hJHtzfSkuKiQpYH1yZXR1cm4gc307ZS5iYXNlbmFtZT0odCx7d2luZG93czplfT17fSk9Pntjb25zdCB1PXQuc3BsaXQoZT8vW1xcXFwvXS86XCIvXCIpO2NvbnN0IG49dVt1Lmxlbmd0aC0xXTtpZihuPT09XCJcIil7cmV0dXJuIHVbdS5sZW5ndGgtMl19cmV0dXJuIG59fX07dmFyIGU9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh1KXt2YXIgbj1lW3VdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIG89ZVt1XT17ZXhwb3J0czp7fX07dmFyIHM9dHJ1ZTt0cnl7dFt1XShvLG8uZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtzPWZhbHNlfWZpbmFsbHl7aWYocylkZWxldGUgZVt1XX1yZXR1cm4gby5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdT1fX25jY3dwY2tfcmVxdWlyZV9fKDE3MCk7bW9kdWxlLmV4cG9ydHM9dX0pKCk7Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/picomatch/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
/*!*******************************************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
\*******************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n true &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7QUFDYixLQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCwrQ0FBK0MsNkJBQTZCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQkFBZ0IsZ0RBQWdEO0FBQ2hFLGdCQUFnQixhQUFhO0FBQzdCO0FBQ0E7QUFDQSxnQ0FBZ0Msa0NBQWtDLE9BQU87QUFDekU7QUFDQSxnR0FBZ0csU0FBUyxVQUFVLHNGQUFzRixhQUFhLFVBQVUsVUFBVTtBQUMxTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsaUxBQTBCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCLElBQUksY0FBYztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUciLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTUuNS4zX3JlYWN0LWRvbUAxOS4xLjFfcmVhY3RAMTkuMS4xX19yZWFjdEAxOS4xLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cInByb2R1Y3Rpb25cIiAhPT0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgJiZcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICAgICAgaWYgKG51bGwgPT0gdHlwZSkgcmV0dXJuIG51bGw7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgcmV0dXJuIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0VcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gICAgICBpZiAoXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHR5cGUpIHJldHVybiB0eXBlO1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJGcmFnbWVudFwiO1xuICAgICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiUHJvZmlsZXJcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN0cmljdE1vZGVcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlTGlzdFwiO1xuICAgICAgICBjYXNlIFJFQUNUX0FDVElWSVRZX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiQWN0aXZpdHlcIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICAgIHJldHVybiBcIlBvcnRhbFwiO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuICh0eXBlLl9jb250ZXh0LmRpc3BsYXlOYW1lIHx8IFwiQ29udGV4dFwiKSArIFwiLkNvbnN1bWVyXCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgdmFyIGlubmVyVHlwZSA9IHR5cGUucmVuZGVyO1xuICAgICAgICAgICAgdHlwZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgICB0eXBlIHx8XG4gICAgICAgICAgICAgICgodHlwZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCBcIlwiKSxcbiAgICAgICAgICAgICAgKHR5cGUgPSBcIlwiICE9PSB0eXBlID8gXCJGb3J3YXJkUmVmKFwiICsgdHlwZSArIFwiKVwiIDogXCJGb3J3YXJkUmVmXCIpKTtcbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGlubmVyVHlwZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbCksXG4gICAgICAgICAgICAgIG51bGwgIT09IGlubmVyVHlwZVxuICAgICAgICAgICAgICAgID8gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgOiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCBcIk1lbW9cIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgIGlubmVyVHlwZSA9IHR5cGUuX3BheWxvYWQ7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5faW5pdDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZShpbm5lclR5cGUpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBcIlwiICsgdmFsdWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSAhMTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gITA7XG4gICAgICB9XG4gICAgICBpZiAoSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0KSB7XG4gICAgICAgIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9IGNvbnNvbGU7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX3RlbXBfY29uc3QgPSBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQuZXJyb3I7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDAgPVxuICAgICAgICAgIChcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiBTeW1ib2wgJiZcbiAgICAgICAgICAgIFN5bWJvbC50b1N0cmluZ1RhZyAmJlxuICAgICAgICAgICAgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSkgfHxcbiAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8XG4gICAgICAgICAgXCJPYmplY3RcIjtcbiAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0LmNhbGwoXG4gICAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0LFxuICAgICAgICAgIFwiVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLiBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS5cIixcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFRhc2tOYW1lKHR5cGUpIHtcbiAgICAgIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSByZXR1cm4gXCI8PlwiO1xuICAgICAgaWYgKFxuICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSAmJlxuICAgICAgICBudWxsICE9PSB0eXBlICYmXG4gICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRVxuICAgICAgKVxuICAgICAgICByZXR1cm4gXCI8Li4uPlwiO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHJldHVybiBuYW1lID8gXCI8XCIgKyBuYW1lICsgXCI+XCIgOiBcIjwuLi4+XCI7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHJldHVybiBcIjwuLi4+XCI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE93bmVyKCkge1xuICAgICAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5BO1xuICAgICAgcmV0dXJuIG51bGwgPT09IGRpc3BhdGNoZXIgPyBudWxsIDogZGlzcGF0Y2hlci5nZXRPd25lcigpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBVbmtub3duT3duZXIoKSB7XG4gICAgICByZXR1cm4gRXJyb3IoXCJyZWFjdC1zdGFjay10b3AtZnJhbWVcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBcImtleVwiKSkge1xuICAgICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsIFwia2V5XCIpLmdldDtcbiAgICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHJldHVybiAhMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbmZpZy5rZXk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICAgICAgZnVuY3Rpb24gd2FybkFib3V0QWNjZXNzaW5nS2V5KCkge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biB8fFxuICAgICAgICAgICgoc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSAhMCksXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIFwiJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSB2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50IHByb3AuIChodHRwczovL3JlYWN0LmRldi9saW5rL3NwZWNpYWwtcHJvcHMpXCIsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZVxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gITA7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsIFwia2V5XCIsIHtcbiAgICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITBcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBlbGVtZW50UmVmR2V0dGVyV2l0aERlcHJlY2F0aW9uV2FybmluZygpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHRoaXMudHlwZSk7XG4gICAgICBkaWRXYXJuQWJvdXRFbGVtZW50UmVmW2NvbXBvbmVudE5hbWVdIHx8XG4gICAgICAgICgoZGlkV2FybkFib3V0RWxlbWVudFJlZltjb21wb25lbnROYW1lXSA9ICEwKSxcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIkFjY2Vzc2luZyBlbGVtZW50LnJlZiB3YXMgcmVtb3ZlZCBpbiBSZWFjdCAxOS4gcmVmIGlzIG5vdyBhIHJlZ3VsYXIgcHJvcC4gSXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIEpTWCBFbGVtZW50IHR5cGUgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgICAgICApKTtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSB0aGlzLnByb3BzLnJlZjtcbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbXBvbmVudE5hbWUgPyBjb21wb25lbnROYW1lIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcHJvcHMsIG93bmVyLCBkZWJ1Z1N0YWNrLCBkZWJ1Z1Rhc2spIHtcbiAgICAgIHZhciByZWZQcm9wID0gcHJvcHMucmVmO1xuICAgICAgdHlwZSA9IHtcbiAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgICAgX293bmVyOiBvd25lclxuICAgICAgfTtcbiAgICAgIG51bGwgIT09ICh2b2lkIDAgIT09IHJlZlByb3AgPyByZWZQcm9wIDogbnVsbClcbiAgICAgICAgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICBnZXQ6IGVsZW1lbnRSZWZHZXR0ZXJXaXRoRGVwcmVjYXRpb25XYXJuaW5nXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwgeyBlbnVtZXJhYmxlOiAhMSwgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0eXBlLl9zdG9yZSA9IHt9O1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHR5cGUuX3N0b3JlLCBcInZhbGlkYXRlZFwiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiAwXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJfZGVidWdTdGFja1wiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiBkZWJ1Z1N0YWNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z1Rhc2tcIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogZGVidWdUYXNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5mcmVlemUgJiYgKE9iamVjdC5mcmVlemUodHlwZS5wcm9wcyksIE9iamVjdC5mcmVlemUodHlwZSkpO1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGpzeERFVkltcGwoXG4gICAgICB0eXBlLFxuICAgICAgY29uZmlnLFxuICAgICAgbWF5YmVLZXksXG4gICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgZGVidWdTdGFjayxcbiAgICAgIGRlYnVnVGFza1xuICAgICkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gY29uZmlnLmNoaWxkcmVuO1xuICAgICAgaWYgKHZvaWQgMCAhPT0gY2hpbGRyZW4pXG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKVxuICAgICAgICAgIGlmIChpc0FycmF5SW1wbChjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPSAwO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuIDwgY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuKytcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baXNTdGF0aWNDaGlsZHJlbl0pO1xuICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSAmJiBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgIFwiUmVhY3QuanN4OiBTdGF0aWMgY2hpbGRyZW4gc2hvdWxkIGFsd2F5cyBiZSBhbiBhcnJheS4gWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiBVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLlwiXG4gICAgICAgICAgICApO1xuICAgICAgICBlbHNlIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuKTtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgXCJrZXlcIikpIHtcbiAgICAgICAgY2hpbGRyZW4gPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICByZXR1cm4gXCJrZXlcIiAhPT0gaztcbiAgICAgICAgfSk7XG4gICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPVxuICAgICAgICAgIDAgPCBrZXlzLmxlbmd0aFxuICAgICAgICAgICAgPyBcIntrZXk6IHNvbWVLZXksIFwiICsga2V5cy5qb2luKFwiOiAuLi4sIFwiKSArIFwiOiAuLi59XCJcbiAgICAgICAgICAgIDogXCJ7a2V5OiBzb21lS2V5fVwiO1xuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY2hpbGRyZW4gKyBpc1N0YXRpY0NoaWxkcmVuXSB8fFxuICAgICAgICAgICgoa2V5cyA9XG4gICAgICAgICAgICAwIDwga2V5cy5sZW5ndGggPyBcIntcIiArIGtleXMuam9pbihcIjogLi4uLCBcIikgKyBcIjogLi4ufVwiIDogXCJ7fVwiKSxcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgJ0EgcHJvcHMgb2JqZWN0IGNvbnRhaW5pbmcgYSBcImtleVwiIHByb3AgaXMgYmVpbmcgc3ByZWFkIGludG8gSlNYOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMgey4uLnByb3BzfSAvPlxcblJlYWN0IGtleXMgbXVzdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gSlNYIHdpdGhvdXQgdXNpbmcgc3ByZWFkOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JyxcbiAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4sXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICksXG4gICAgICAgICAgKGRpZFdhcm5BYm91dEtleVNwcmVhZFtjaGlsZHJlbiArIGlzU3RhdGljQ2hpbGRyZW5dID0gITApKTtcbiAgICAgIH1cbiAgICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgICAgIHZvaWQgMCAhPT0gbWF5YmVLZXkgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpLCAoY2hpbGRyZW4gPSBcIlwiICsgbWF5YmVLZXkpKTtcbiAgICAgIGhhc1ZhbGlkS2V5KGNvbmZpZykgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSksIChjaGlsZHJlbiA9IFwiXCIgKyBjb25maWcua2V5KSk7XG4gICAgICBpZiAoXCJrZXlcIiBpbiBjb25maWcpIHtcbiAgICAgICAgbWF5YmVLZXkgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gY29uZmlnKVxuICAgICAgICAgIFwia2V5XCIgIT09IHByb3BOYW1lICYmIChtYXliZUtleVtwcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdKTtcbiAgICAgIH0gZWxzZSBtYXliZUtleSA9IGNvbmZpZztcbiAgICAgIGNoaWxkcmVuICYmXG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKFxuICAgICAgICAgIG1heWJlS2V5LFxuICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGVcbiAgICAgICAgICAgID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgXCJVbmtub3duXCJcbiAgICAgICAgICAgIDogdHlwZVxuICAgICAgICApO1xuICAgICAgcmV0dXJuIFJlYWN0RWxlbWVudChcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG1heWJlS2V5LFxuICAgICAgICBnZXRPd25lcigpLFxuICAgICAgICBkZWJ1Z1N0YWNrLFxuICAgICAgICBkZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUpIHtcbiAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBub2RlICYmXG4gICAgICAgIG51bGwgIT09IG5vZGUgJiZcbiAgICAgICAgbm9kZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFICYmXG4gICAgICAgIG5vZGUuX3N0b3JlICYmXG4gICAgICAgIChub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSAxKTtcbiAgICB9XG4gICAgdmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKSxcbiAgICAgIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudFwiKSxcbiAgICAgIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnBvcnRhbFwiKSxcbiAgICAgIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIiksXG4gICAgICBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN0cmljdF9tb2RlXCIpLFxuICAgICAgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5wcm9maWxlclwiKSxcbiAgICAgIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuY29uc3VtZXJcIiksXG4gICAgICBSRUFDVF9DT05URVhUX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuY29udGV4dFwiKSxcbiAgICAgIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIiksXG4gICAgICBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlXCIpLFxuICAgICAgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlX2xpc3RcIiksXG4gICAgICBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QubWVtb1wiKSxcbiAgICAgIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5sYXp5XCIpLFxuICAgICAgUkVBQ1RfQUNUSVZJVFlfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5hY3Rpdml0eVwiKSxcbiAgICAgIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKFwicmVhY3QuY2xpZW50LnJlZmVyZW5jZVwiKSxcbiAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzID1cbiAgICAgICAgUmVhY3QuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLFxuICAgICAgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFxuICAgICAgaXNBcnJheUltcGwgPSBBcnJheS5pc0FycmF5LFxuICAgICAgY3JlYXRlVGFzayA9IGNvbnNvbGUuY3JlYXRlVGFza1xuICAgICAgICA/IGNvbnNvbGUuY3JlYXRlVGFza1xuICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH07XG4gICAgUmVhY3QgPSB7XG4gICAgICByZWFjdF9zdGFja19ib3R0b21fZnJhbWU6IGZ1bmN0aW9uIChjYWxsU3RhY2tGb3JFcnJvcikge1xuICAgICAgICByZXR1cm4gY2FsbFN0YWNrRm9yRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbiAgICB2YXIgZGlkV2FybkFib3V0RWxlbWVudFJlZiA9IHt9O1xuICAgIHZhciB1bmtub3duT3duZXJEZWJ1Z1N0YWNrID0gUmVhY3QucmVhY3Rfc3RhY2tfYm90dG9tX2ZyYW1lLmJpbmQoXG4gICAgICBSZWFjdCxcbiAgICAgIFVua25vd25Pd25lclxuICAgICkoKTtcbiAgICB2YXIgdW5rbm93bk93bmVyRGVidWdUYXNrID0gY3JlYXRlVGFzayhnZXRUYXNrTmFtZShVbmtub3duT3duZXIpKTtcbiAgICB2YXIgZGlkV2FybkFib3V0S2V5U3ByZWFkID0ge307XG4gICAgZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG4gICAgZXhwb3J0cy5qc3hERVYgPSBmdW5jdGlvbiAodHlwZSwgY29uZmlnLCBtYXliZUtleSwgaXNTdGF0aWNDaGlsZHJlbikge1xuICAgICAgdmFyIHRyYWNrQWN0dWFsT3duZXIgPVxuICAgICAgICAxZTQgPiBSZWFjdFNoYXJlZEludGVybmFscy5yZWNlbnRseUNyZWF0ZWRPd25lclN0YWNrcysrO1xuICAgICAgcmV0dXJuIGpzeERFVkltcGwoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgbWF5YmVLZXksXG4gICAgICAgIGlzU3RhdGljQ2hpbGRyZW4sXG4gICAgICAgIHRyYWNrQWN0dWFsT3duZXJcbiAgICAgICAgICA/IEVycm9yKFwicmVhY3Qtc3RhY2stdG9wLWZyYW1lXCIpXG4gICAgICAgICAgOiB1bmtub3duT3duZXJEZWJ1Z1N0YWNrLFxuICAgICAgICB0cmFja0FjdHVhbE93bmVyID8gY3JlYXRlVGFzayhnZXRUYXNrTmFtZSh0eXBlKSkgOiB1bmtub3duT3duZXJEZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfTtcbiAgfSkoKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
/*!*********************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
\*********************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx5UUFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9MYSBCYW5xdWlzZS93ZWJzaXRlLWZyb250L2JhbnF1aXNlLXdlYnNpdGUvbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTUuNS4zX3JlYWN0LWRvbUAxOS4xLjFfcmVhY3RAMTkuMS4xX19yZWFjdEAxOS4xLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js":
/*!****************************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***!
\****************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = 'AmpStateContext';\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQW9CLEVBQW1CO0lBQ3pDSCxnQkFBZ0JNLFdBQVcsR0FBRztBQUNoQyIsInNvdXJjZXMiOlsiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL3NyYy9zaGFyZWQvbGliL2FtcC1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGNvbnN0IEFtcFN0YXRlQ29udGV4dDogUmVhY3QuQ29udGV4dDxhbnk+ID0gUmVhY3QuY3JlYXRlQ29udGV4dCh7fSlcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgQW1wU3RhdGVDb250ZXh0LmRpc3BsYXlOYW1lID0gJ0FtcFN0YXRlQ29udGV4dCdcbn1cbiJdLCJuYW1lcyI6WyJBbXBTdGF0ZUNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-mode.js":
/*!**********************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-mode.js ***!
\**********************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkIsbUJBSXhCLENBQUMsSUFKdUI7SUFLMUIsT0FBT0YsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIi9ob21lL3NhaGFtb25lL0RvY3VtZW50cy9zcmMvc2hhcmVkL2xpYi9hbXAtbW9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNJbkFtcE1vZGUoe1xuICBhbXBGaXJzdCA9IGZhbHNlLFxuICBoeWJyaWQgPSBmYWxzZSxcbiAgaGFzUXVlcnkgPSBmYWxzZSxcbn0gPSB7fSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYW1wRmlyc3QgfHwgKGh5YnJpZCAmJiBoYXNRdWVyeSlcbn1cbiJdLCJuYW1lcyI6WyJpc0luQW1wTW9kZSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-mode.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/get-img-props.js":
/*!***************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/get-img-props.js ***!
\***************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n '-moz-initial',\n 'fill',\n 'none',\n 'scale-down',\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return !!src && typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === 'undefined') {\n return x;\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === 'w' ? w : i + 1) + kind).join(', '),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = 'empty', blurDataURL, fetchPriority, decoding = 'async', layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if ('allSizes' in c) {\n config = c;\n } else {\n var _c_qualities;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes,\n qualities\n };\n }\n if (typeof defaultLoader === 'undefined') {\n throw Object.defineProperty(new Error('images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'), \"__NEXT_ERROR_CODE\", {\n value: \"E163\",\n enumerable: false,\n configurable: true\n });\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on
element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader;\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\"), \"__NEXT_ERROR_CODE\", {\n value: \"E252\",\n enumerable: false,\n configurable: true\n });\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === 'fill') {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: '100%',\n height: 'auto'\n },\n responsive: {\n width: '100%',\n height: 'auto'\n }\n };\n const layoutToSizes = {\n responsive: '100vw',\n fill: '100vw'\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = '';\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw Object.defineProperty(new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData)), \"__NEXT_ERROR_CODE\", {\n value: \"E460\",\n enumerable: false,\n configurable: true\n });\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw Object.defineProperty(new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData)), \"__NEXT_ERROR_CODE\", {\n value: \"E48\",\n enumerable: false,\n configurable: true\n });\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && !config.dangerouslyAllowSVG && src.split('?', 1)[0].endsWith('.svg')) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n const qualityInt = getInt(quality);\n if (true) {\n var _config_localPatterns;\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw Object.defineProperty(new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\"), \"__NEXT_ERROR_CODE\", {\n value: \"E500\",\n enumerable: false,\n configurable: true\n });\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E96\",\n enumerable: false,\n configurable: true\n });\n }\n if (height) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E115\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.position) && style.position !== 'absolute') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E216\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.width) && style.width !== '100%') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E73\",\n enumerable: false,\n configurable: true\n });\n }\n if ((style == null ? void 0 : style.height) && style.height !== '100%') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.'), \"__NEXT_ERROR_CODE\", {\n value: \"E404\",\n enumerable: false,\n configurable: true\n });\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing required \"width\" property.'), \"__NEXT_ERROR_CODE\", {\n value: \"E451\",\n enumerable: false,\n configurable: true\n });\n } else if (isNaN(widthInt)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E66\",\n enumerable: false,\n configurable: true\n });\n }\n if (typeof heightInt === 'undefined') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" is missing required \"height\" property.'), \"__NEXT_ERROR_CODE\", {\n value: \"E397\",\n enumerable: false,\n configurable: true\n });\n } else if (isNaN(heightInt)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E444\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.'), \"__NEXT_ERROR_CODE\", {\n value: \"E176\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.'), \"__NEXT_ERROR_CODE\", {\n value: \"E21\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(',') + \".\"), \"__NEXT_ERROR_CODE\", {\n value: \"E357\",\n enumerable: false,\n configurable: true\n });\n }\n if (priority && loading === 'lazy') {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.'), \"__NEXT_ERROR_CODE\", {\n value: \"E218\",\n enumerable: false,\n configurable: true\n });\n }\n if (placeholder !== 'empty' && placeholder !== 'blur' && !placeholder.startsWith('data:image/')) {\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".'), \"__NEXT_ERROR_CODE\", {\n value: \"E431\",\n enumerable: false,\n configurable: true\n });\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (qualityInt && qualityInt !== 75 && !config.qualities) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using quality \"' + qualityInt + '\" which is not configured in images.qualities. This config will be required starting in Next.js 16.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities\");\n }\n if (src.startsWith('/') && src.includes('?') && (!(config == null ? void 0 : (_config_localPatterns = config.localPatterns) == null ? void 0 : _config_localPatterns.length) || config.localPatterns.length === 1 && config.localPatterns[0].pathname === '/_next/static/media/**')) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using a query string which is not configured in images.localPatterns. This config will be required starting in Next.js 16.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns\");\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw Object.defineProperty(new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(',') + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url'), \"__NEXT_ERROR_CODE\", {\n value: \"E371\",\n enumerable: false,\n configurable: true\n });\n }\n if ('ref' in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if ( true && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === 'empty' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: 'transparent'\n }, style);\n const backgroundImage = !blurComplete && placeholder !== 'empty' ? placeholder === 'blur' ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '',\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(imgStyle.objectFit) ? imgStyle.objectFit : imgStyle.objectFit === 'fill' ? '100% 100%' // the background-size equivalent of `fill`\n : 'cover';\n let placeholderStyle = backgroundImage ? {\n backgroundSize,\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === 'blur' && (blurDataURL == null ? void 0 : blurDataURL.startsWith('/'))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (true) {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? 'lazy' : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE1LjUuM19yZWFjdC1kb21AMTkuMS4xX3JlYWN0QDE5LjEuMV9fcmVhY3RAMTkuMS4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBaVFnQkE7OztlQUFBQTs7O3NDQWpRUzswQ0FDTzt5Q0FDRztBQStFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBRXpELDhEQUE4RDtBQUM5RCxNQUFNQyxpQ0FBaUM7SUFDckM7SUFDQTtJQUNBO0lBQ0E7SUFDQUQ7Q0FDRDtBQTRCRCxTQUFTRSxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBUUEsSUFBc0JDLE9BQU8sS0FBS0o7QUFDNUM7QUFFQSxTQUFTSyxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBUUEsSUFBd0JBLEdBQUcsS0FBS0g7QUFDMUM7QUFFQSxTQUFTTSxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLENBQUMsQ0FBQ0EsT0FDRixPQUFPQSxRQUFRLFlBQ2RELENBQUFBLGdCQUFnQkMsUUFDZkUsa0JBQWtCRixJQUFBQSxDQUFtQjtBQUUzQztBQUVBLE1BQU1JLFVBQVUsSUFBSUM7QUFJcEIsSUFBSUM7QUFFSixTQUFTQyxPQUFPQyxDQUFVO0lBQ3hCLElBQUksT0FBT0EsTUFBTSxhQUFhO1FBQzVCLE9BQU9BO0lBQ1Q7SUFDQSxJQUFJLE9BQU9BLE1BQU0sVUFBVTtRQUN6QixPQUFPQyxPQUFPQyxRQUFRLENBQUNGLEtBQUtBLElBQUlHO0lBQ2xDO0lBQ0EsSUFBSSxPQUFPSCxNQUFNLFlBQVksV0FBV0ksSUFBSSxDQUFDSixJQUFJO1FBQy9DLE9BQU9LLFNBQVNMLEdBQUc7SUFDckI7SUFDQSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUCxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMs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TzRFO1FBQ1BuRCxTQUFTaUU7UUFDVHpGO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSWlFLElBQW9CLEVBQW1CO1FBQ3pDLElBQUksSUFBNkIsRUFBRTtZQUNqQyxJQUFJaUQ7WUFDSixJQUFJO2dCQUNGQSxVQUFVLElBQUluQyxJQUFJa0MsY0FBYzFKLEdBQUc7WUFDckMsRUFBRSxPQUFPNEosR0FBRztnQkFDVkQsVUFBVSxJQUFJbkMsSUFBSWtDLGNBQWMxSixHQUFHLEVBQUUrSCxPQUFPOEIsUUFBUSxDQUFDQyxJQUFJO1lBQzNEO1lBQ0ExSixRQUFRMkosR0FBRyxDQUFDSixRQUFRRyxJQUFJLEVBQUU7Z0JBQUU5SjtnQkFBSytDO2dCQUFVUztZQUFZO1FBQ3pEO0lBQ0Y7SUFFQSxNQUFNd0csUUFBa0I7UUFDdEIsR0FBRy9GLElBQUk7UUFDUGpCLFNBQVNvRCxTQUFTLFNBQVNwRDtRQUMzQlU7UUFDQTNDLE9BQU80RTtRQUNQekMsUUFBUTBDO1FBQ1JqQztRQUNBVjtRQUNBRyxPQUFPO1lBQUUsR0FBR3lGLFFBQVE7WUFBRSxHQUFHVSxnQkFBZ0I7UUFBQztRQUMxQ3ZJLE9BQU8wSSxjQUFjMUksS0FBSztRQUMxQjBCLFFBQVFnSCxjQUFjaEgsTUFBTTtRQUM1QjFDLEtBQUtxRCxlQUFlcUcsY0FBYzFKLEdBQUc7SUFDdkM7SUFDQSxNQUFNaUssT0FBTztRQUFFMUg7UUFBYVE7UUFBVVM7UUFBYUw7SUFBSztJQUN4RCxPQUFPO1FBQUU2RztRQUFPQztJQUFLO0FBQ3ZCIiwic291cmNlcyI6WyIvaG9tZS9zYWhhbW9uZS9Eb2N1bWVudHMvc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJy4vdXRpbHMvd2Fybi1vbmNlJ1xuaW1wb3J0IHsgZ2V0SW1hZ2VCbHVyU3ZnIH0gZnJvbSAnLi9pbWFnZS1ibHVyLXN2ZydcbmltcG9ydCB7IGltYWdlQ29uZmlnRGVmYXVsdCB9IGZyb20gJy4vaW1hZ2UtY29uZmlnJ1xuaW1wb3J0IHR5cGUge1xuICBJbWFnZUNvbmZpZ0NvbXBsZXRlLFxuICBJbWFnZUxvYWRlclByb3BzLFxuICBJbWFnZUxvYWRlclByb3BzV2l0aENvbmZpZyxcbn0gZnJvbSAnLi9pbWFnZS1jb25maWcnXG5cbmltcG9ydCB0eXBlIHsgQ1NTUHJvcGVydGllcywgSlNYIH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGljSW1hZ2VEYXRhIHtcbiAgc3JjOiBzdHJpbmdcbiAgaGVpZ2h0OiBudW1iZXJcbiAgd2lkdGg6IG51bWJlclxuICBibHVyRGF0YVVSTD86IHN0cmluZ1xuICBibHVyV2lkdGg/OiBudW1iZXJcbiAgYmx1ckhlaWdodD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpY1JlcXVpcmUge1xuICBkZWZhdWx0OiBTdGF0aWNJbWFnZURhdGFcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGljSW1wb3J0ID0gU3RhdGljUmVxdWlyZSB8IFN0YXRpY0ltYWdlRGF0YVxuXG5leHBvcnQgdHlwZSBJbWFnZVByb3BzID0gT21pdDxcbiAgSlNYLkludHJpbnNpY0VsZW1lbnRzWydpbWcnXSxcbiAgJ3NyYycgfCAnc3JjU2V0JyB8ICdyZWYnIHwgJ2FsdCcgfCAnd2lkdGgnIHwgJ2hlaWdodCcgfCAnbG9hZGluZydcbj4gJiB7XG4gIHNyYzogc3RyaW5nIHwgU3RhdGljSW1wb3J0XG4gIGFsdDogc3RyaW5nXG4gIHdpZHRoPzogbnVtYmVyIHwgYCR7bnVtYmVyfWBcbiAgaGVpZ2h0PzogbnVtYmVyIHwgYCR7bnVtYmVyfWBcbiAgZmlsbD86IGJvb2xlYW5cbiAgbG9hZGVyPzogSW1hZ2VMb2FkZXJcbiAgcXVhbGl0eT86IG51bWJlciB8IGAke251bWJlcn1gXG4gIHByaW9yaXR5PzogYm9vbGVhblxuICBsb2FkaW5nPzogTG9hZGluZ1ZhbHVlXG4gIHBsYWNlaG9sZGVyPzogUGxhY2Vob2xkZXJWYWx1ZVxuICBibHVyRGF0YVVSTD86IHN0cmluZ1xuICB1bm9wdGltaXplZD86IGJvb2xlYW5cbiAgb3ZlcnJpZGVTcmM/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgb25Mb2FkYCBpbnN0ZWFkLlxuICAgKiBAc2VlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2NvbXBvbmVudHMvaW1hZ2Ujb25sb2FkXG4gICAqL1xuICBvbkxvYWRpbmdDb21wbGV0ZT86IE9uTG9hZGluZ0NvbXBsZXRlXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGZpbGxgIHByb3AgaW5zdGVhZCBvZiBgbGF5b3V0PVwiZmlsbFwiYCBvciBjaGFuZ2UgaW1wb3J0IHRvIGBuZXh0L2xlZ2FjeS9pbWFnZWAuXG4gICAqIEBzZWUgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2xlZ2FjeS9pbWFnZVxuICAgKi9cbiAgbGF5b3V0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHN0eWxlYCBwcm9wIGluc3RlYWQuXG4gICAqL1xuICBvYmplY3RGaXQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgc3R5bGVgIHByb3AgaW5zdGVhZC5cbiAgICovXG4gIG9iamVjdFBvc2l0aW9uPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIHByb3AgZG9lcyBub3QgZG8gYW55dGhpbmcuXG4gICAqL1xuICBsYXp5Qm91bmRhcnk/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgcHJvcCBkb2VzIG5vdCBkbyBhbnl0aGluZy5cbiAgICovXG4gIGxhenlSb290Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEltZ1Byb3BzID0gT21pdDxJbWFnZVByb3BzLCAnc3JjJyB8ICdsb2FkZXInPiAmIHtcbiAgbG9hZGluZzogTG9hZGluZ1ZhbHVlXG4gIHdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgaGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWRcbiAgc3R5bGU6IE5vbk51bGxhYmxlPEpTWC5JbnRyaW5zaWNFbGVtZW50c1snaW1nJ11bJ3N0eWxlJ10+XG4gIHNpemVzOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgc3JjU2V0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgc3JjOiBzdHJpbmdcbn1cblxuY29uc3QgVkFMSURfTE9BRElOR19WQUxVRVMgPSBbJ2xhenknLCAnZWFnZXInLCB1bmRlZmluZWRdIGFzIGNvbnN0XG5cbi8vIE9iamVjdC1maXQgdmFsdWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBiYWNrZ3JvdW5kLXNpemUgdmFsdWVzXG5jb25zdCBJTlZBTElEX0JBQ0tHUk9VTkRfU0laRV9WQUxVRVMgPSBbXG4gICctbW96LWluaXRpYWwnLFxuICAnZmlsbCcsXG4gICdub25lJyxcbiAgJ3NjYWxlLWRvd24nLFxuICB1bmRlZmluZWQsXG5dXG50eXBlIExvYWRpbmdWYWx1ZSA9ICh0eXBlb2YgVkFMSURfTE9BRElOR19WQUxVRVMpW251bWJlcl1cbnR5cGUgSW1hZ2VDb25maWcgPSBJbWFnZUNvbmZpZ0NvbXBsZXRlICYge1xuICBhbGxTaXplczogbnVtYmVyW11cbiAgb3V0cHV0PzogJ3N0YW5kYWxvbmUnIHwgJ2V4cG9ydCdcbn1cblxuZXhwb3J0IHR5cGUgSW1hZ2VMb2FkZXIgPSAocDogSW1hZ2VMb2FkZXJQcm9wcykgPT4gc3RyaW5nXG5cbi8vIERvIG5vdCBleHBvcnQgLSB0aGlzIGlzIGFuIGludGVybmFsIHR5cGUgb25seVxuLy8gYmVjYXVzZSBgbmV4dC5jb25maWcuanNgIGlzIG9ubHkgbWVhbnQgZm9yIHRoZVxuLy8gYnVpbHQtaW4gbG9hZGVycywgbm90IGZvciBhIGN1c3RvbSBsb2FkZXIoKSBwcm9wLlxudHlwZSBJbWFnZUxvYWRlcldpdGhDb25maWcgPSAocDogSW1hZ2VMb2FkZXJQcm9wc1dpdGhDb25maWcpID0+IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBQbGFjZWhvbGRlclZhbHVlID0gJ2JsdXInIHwgJ2VtcHR5JyB8IGBkYXRhOmltYWdlLyR7c3RyaW5nfWBcbmV4cG9ydCB0eXBlIE9uTG9hZCA9IFJlYWN0LlJlYWN0RXZlbnRIYW5kbGVyPEhUTUxJbWFnZUVsZW1lbnQ+IHwgdW5kZWZpbmVkXG5leHBvcnQgdHlwZSBPbkxvYWRpbmdDb21wbGV0ZSA9IChpbWc6IEhUTUxJbWFnZUVsZW1lbnQpID0+IHZvaWRcblxuZXhwb3J0IHR5cGUgUGxhY2Vob2xkZXJTdHlsZSA9IFBhcnRpYWw8XG4gIFBpY2s8XG4gICAgQ1NTUHJvcGVydGllcyxcbiAgICB8ICdiYWNrZ3JvdW5kU2l6ZSdcbiAgICB8ICdiYWNrZ3JvdW5kUG9zaXRpb24nXG4gICAgfCAnYmFja2dyb3VuZFJlcGVhdCdcbiAgICB8ICdiYWNrZ3JvdW5kSW1hZ2UnXG4gID5cbj5cblxuZnVuY3Rpb24gaXNTdGF0aWNSZXF1aXJlKFxuICBzcmM6IFN0YXRpY1JlcXVpcmUgfCBTdGF0aWNJbWFnZURhdGFcbik6IHNyYyBpcyBTdGF0aWNSZXF1aXJlIHtcbiAgcmV0dXJuIChzcmMgYXMgU3RhdGljUmVxdWlyZSkuZGVmYXVsdCAhPT0gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljSW1hZ2VEYXRhKFxuICBzcmM6IFN0YXRpY1JlcXVpcmUgfCBTdGF0aWNJbWFnZURhdGFcbik6IHNyYyBpcyBTdGF0aWNJbWFnZURhdGEge1xuICByZXR1cm4gKHNyYyBhcyBTdGF0aWNJbWFnZURhdGEpLnNyYyAhPT0gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljSW1wb3J0KHNyYzogc3RyaW5nIHwgU3RhdGljSW1wb3J0KTogc3JjIGlzIFN0YXRpY0ltcG9ydCB7XG4gIHJldHVybiAoXG4gICAgISFzcmMgJiZcbiAgICB0eXBlb2Ygc3JjID09PSAnb2JqZWN0JyAmJlxuICAgIChpc1N0YXRpY1JlcXVpcmUoc3JjIGFzIFN0YXRpY0ltcG9ydCkgfHxcbiAgICAgIGlzU3RhdGljSW1hZ2VEYXRhKHNyYyBhcyBTdGF0aWNJbXBvcnQpKVxuICApXG59XG5cbmNvbnN0IGFsbEltZ3MgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIHsgc3JjOiBzdHJpbmc7IHByaW9yaXR5OiBib29sZWFuOyBwbGFjZWhvbGRlcjogUGxhY2Vob2xkZXJWYWx1ZSB9XG4+KClcbmxldCBwZXJmT2JzZXJ2ZXI6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgfCB1bmRlZmluZWRcblxuZnVuY3Rpb24gZ2V0SW50KHg6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHhcbiAgfVxuICBpZiAodHlwZW9mIHggPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh4KSA/IHggOiBOYU5cbiAgfVxuICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnICYmIC9eWzAtOV0rJC8udGVzdCh4KSkge1xuICAgIHJldHVybiBwYXJzZUludCh4LCAxMClcbiAgfVxuICByZXR1cm4gTmFOXG59XG5cbmZ1bmN0aW9uIGdldFdpZHRocyhcbiAgeyBkZXZpY2VTaXplcywgYWxsU2l6ZXMgfTogSW1hZ2VDb25maWcsXG4gIHdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemVzOiBzdHJpbmcgfCB1bmRlZmluZWRcbik6IHsgd2lkdGhzOiBudW1iZXJbXTsga2luZDogJ3cnIHwgJ3gnIH0ge1xuICBpZiAoc2l6ZXMpIHtcbiAgICAvLyBGaW5kIGFsbCB0aGUgXCJ2d1wiIHBlcmNlbnQgc2l6ZXMgdXNlZCBpbiB0aGUgc2l6ZXMgcHJvcFxuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGhSZSA9IC8oXnxcXHMpKDE/XFxkP1xcZCl2dy9nXG4gICAgY29uc3QgcGVyY2VudFNpemVzID0gW11cbiAgICBmb3IgKGxldCBtYXRjaDsgKG1hdGNoID0gdmlld3BvcnRXaWR0aFJlLmV4ZWMoc2l6ZXMpKTsgbWF0Y2gpIHtcbiAgICAgIHBlcmNlbnRTaXplcy5wdXNoKHBhcnNlSW50KG1hdGNoWzJdKSlcbiAgICB9XG4gICAgaWYgKHBlcmNlbnRTaXplcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHNtYWxsZXN0UmF0aW8gPSBNYXRoLm1pbiguLi5wZXJjZW50U2l6ZXMpICogMC4wMVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGhzOiBhbGxTaXplcy5maWx0ZXIoKHMpID0+IHMgPj0gZGV2aWNlU2l6ZXNbMF0gKiBzbWFsbGVzdFJhdGlvKSxcbiAgICAgICAga2luZDogJ3cnLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB3aWR0aHM6IGFsbFNpemVzLCBraW5kOiAndycgfVxuICB9XG4gIGlmICh0eXBlb2Ygd2lkdGggIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHsgd2lkdGhzOiBkZXZpY2VTaXplcywga2luZDogJ3cnIH1cbiAgfVxuXG4gIGNvbnN0IHdpZHRocyA9IFtcbiAgICAuLi5uZXcgU2V0KFxuICAgICAgLy8gPiBUaGlzIG1lYW5zIHRoYXQgbW9zdCBPTEVEIHNjcmVlbnMgdGhhdCBzYXkgdGhleSBhcmUgM3ggcmVzb2x1dGlvbixcbiAgICAgIC8vID4gYXJlIGFjdHVhbGx5IDN4IGluIHRoZSBncmVlbiBjb2xvciwgYnV0IG9ubHkgMS41eCBpbiB0aGUgcmVkIGFuZFxuICAgICAgLy8gPiBibHVlIGNvbG9ycy4gU2hvd2luZyBhIDN4IHJlc29sdXRpb24gaW1hZ2UgaW4gdGhlIGFwcCB2cyBhIDJ4XG4gICAgICAvLyA+IHJlc29sdXRpb24gaW1hZ2Ugd2lsbCBiZSB2aXN1YWxseSB0aGUgc2FtZSwgdGhvdWdoIHRoZSAzeCBpbWFnZVxuICAgICAgLy8gPiB0YWtlcyBzaWduaWZpY2FudGx5IG1vcmUgZGF0YS4gRXZlbiB0cnVlIDN4IHJlc29sdXRpb24gc2NyZWVucyBhcmVcbiAgICAgIC8vID4gd2FzdGVmdWwgYXMgdGhlIGh1bWFuIGV5ZSBjYW5ub3Qgc2VlIHRoYXQgbGV2ZWwgb2YgZGV0YWlsIHdpdGhvdXRcbiAgICAgIC8vID4gc29tZXRoaW5nIGxpa2UgYSBtYWduaWZ5aW5nIGdsYXNzLlxuICAgICAgLy8gaHR0cHM6Ly9ibG9nLnR3aXR0ZXIuY29tL2VuZ2luZWVyaW5nL2VuX3VzL3RvcGljcy9pbmZyYXN0cnVjdHVyZS8yMDE5L2NhcHBpbmctaW1hZ2UtZmlkZWxpdHktb24tdWx0cmEtaGlnaC1yZXNvbHV0aW9uLWRldmljZXMuaHRtbFxuICAgICAgW3dpZHRoLCB3aWR0aCAqIDIgLyosIHdpZHRoICogMyovXS5tYXAoXG4gICAgICAgICh3KSA9PiBhbGxTaXplcy5maW5kKChwKSA9PiBwID49IHcpIHx8IGFsbFNpemVzW2FsbFNpemVzLmxlbmd0aCAtIDFdXG4gICAgICApXG4gICAgKSxcbiAgXVxuICByZXR1cm4geyB3aWR0aHMsIGtpbmQ6ICd4JyB9XG59XG5cbnR5cGUgR2VuSW1nQXR0cnNEYXRhID0ge1xuICBjb25maWc6IEltYWdlQ29uZmlnXG4gIHNyYzogc3RyaW5nXG4gIHVub3B0aW1pemVkOiBib29sZWFuXG4gIGxvYWRlcjogSW1hZ2VMb2FkZXJXaXRoQ29uZmlnXG4gIHdpZHRoPzogbnVtYmVyXG4gIHF1YWxpdHk/OiBudW1iZXJcbiAgc2l6ZXM/OiBzdHJpbmdcbn1cblxudHlwZSBHZW5JbWdBdHRyc1Jlc3VsdCA9IHtcbiAgc3JjOiBzdHJpbmdcbiAgc3JjU2V0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgc2l6ZXM6IHN0cmluZyB8IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUltZ0F0dHJzKHtcbiAgY29uZmlnLFxuICBzcmMsXG4gIHVub3B0aW1pemVkLFxuICB3aWR0aCxcbiAgcXVhbGl0eSxcbiAgc2l6ZXMsXG4gIGxvYWRlcixcbn06IEdlbkltZ0F0dHJzRGF0YSk6IEdlbkltZ0F0dHJzUmVzdWx0IHtcbiAgaWYgKHVub3B0aW1pemVkKSB7XG4gICAgcmV0dXJuIHsgc3JjLCBzcmNTZXQ6IHVuZGVmaW5lZCwgc2l6ZXM6IHVuZGVmaW5lZCB9XG4gIH1cblxuICBjb25zdCB7IHdpZHRocywga2luZCB9ID0gZ2V0V2lkdGhzKGNvbmZpZywgd2lkdGgsIHNpemVzKVxuICBjb25zdCBsYXN0ID0gd2lkdGhzLmxlbmd0aCAtIDFcblxuICByZXR1cm4ge1xuICAgIHNpemVzOiAhc2l6ZXMgJiYga2luZCA9PT0gJ3cnID8gJzEwMHZ3JyA6IHNpemVzLFxuICAgIHNyY1NldDogd2lkdGhzXG4gICAgICAubWFwKFxuICAgICAgICAodywgaSkgPT5cbiAgICAgICAgICBgJHtsb2FkZXIoeyBjb25maWcsIHNyYywgcXVhbGl0eSwgd2lkdGg6IHcgfSl9ICR7XG4gICAgICAgICAgICBraW5kID09PSAndycgPyB3IDogaSArIDFcbiAgICAgICAgICB9JHtraW5kfWBcbiAgICAgIClcbiAgICAgIC5qb2luKCcsICcpLFxuXG4gICAgLy8gSXQncyBpbnRlbmRlZCB0byBrZWVwIGBzcmNgIHRoZSBsYXN0IGF0dHJpYnV0ZSBiZWNhdXNlIFJlYWN0IHVwZGF0ZXNcbiAgICAvLyBhdHRyaWJ1dGVzIGluIG9yZGVyLiBJZiB3ZSBrZWVwIGBzcmNgIHRoZSBmaXJzdCBvbmUsIFNhZmFyaSB3aWxsXG4gICAgLy8gaW1tZWRpYXRlbHkgc3RhcnQgdG8gZmV0Y2ggYHNyY2AsIGJlZm9yZSBgc2l6ZXNgIGFuZCBgc3JjU2V0YCBhcmUgZXZlblxuICAgIC8vIHVwZGF0ZWQgYnkgUmVhY3QuIFRoYXQgY2F1c2VzIG11bHRpcGxlIHVubmVjZXNzYXJ5IHJlcXVlc3RzIGlmIGBzcmNTZXRgXG4gICAgLy8gYW5kIGBzaXplc2AgYXJlIGRlZmluZWQuXG4gICAgLy8gVGhpcyBidWcgY2Fubm90IGJlIHJlcHJvZHVjZWQgaW4gQ2hyb21lIG9yIEZpcmVmb3guXG4gICAgc3JjOiBsb2FkZXIoeyBjb25maWcsIHNyYywgcXVhbGl0eSwgd2lkdGg6IHdpZHRoc1tsYXN0XSB9KSxcbiAgfVxufVxuXG4vKipcbiAqIEEgc2hhcmVkIGZ1bmN0aW9uLCB1c2VkIG9uIGJvdGggY2xpZW50IGFuZCBzZXJ2ZXIsIHRvIGdlbmVyYXRlIHRoZSBwcm9wcyBmb3IgPGltZz4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbWdQcm9wcyhcbiAge1xuICAgIHNyYyxcbiAgICBzaXplcyxcbiAgICB1bm9wdGltaXplZCA9IGZhbHNlLFxuICAgIHByaW9yaXR5ID0gZmFsc2UsXG4gICAgbG9hZGluZyxcbiAgICBjbGFzc05hbWUsXG4gICAgcXVhbGl0eSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgZmlsbCA9IGZhbHNlLFxuICAgIHN0eWxlLFxuICAgIG92ZXJyaWRlU3JjLFxuICAgIG9uTG9hZCxcbiAgICBvbkxvYWRpbmdDb21wbGV0ZSxcbiAgICBwbGFjZWhvbGRlciA9ICdlbXB0eScsXG4gICAgYmx1ckRhdGFVUkwsXG4gICAgZmV0Y2hQcmlvcml0eSxcbiAgICBkZWNvZGluZyA9ICdhc3luYycsXG4gICAgbGF5b3V0LFxuICAgIG9iamVjdEZpdCxcbiAgICBvYmplY3RQb3NpdGlvbixcbiAgICBsYXp5Qm91bmRhcnksXG4gICAgbGF6eVJvb3QsXG4gICAgLi4ucmVzdFxuICB9OiBJbWFnZVByb3BzLFxuICBfc3RhdGU6IHtcbiAgICBkZWZhdWx0TG9hZGVyOiBJbWFnZUxvYWRlcldpdGhDb25maWdcbiAgICBpbWdDb25mOiBJbWFnZUNvbmZpZ0NvbXBsZXRlXG4gICAgc2hvd0FsdFRleHQ/OiBib29sZWFuXG4gICAgYmx1ckNvbXBsZXRlPzogYm9vbGVhblxuICB9XG4pOiB7XG4gIHByb3BzOiBJbWdQcm9wc1xuICBtZXRhOiB7XG4gICAgdW5vcHRpbWl6ZWQ6IGJvb2xlYW5cbiAgICBwcmlvcml0eTogYm9vbGVhblxuICAgIHBsYWNlaG9sZGVyOiBOb25OdWxsYWJsZTxJbWFnZVByb3BzWydwbGFjZWhvbGRlciddPlxuICAgIGZpbGw6IGJvb2xlYW5cbiAgfVxufSB7XG4gIGNvbnN0IHsgaW1nQ29uZiwgc2hvd0FsdFRleHQsIGJsdXJDb21wbGV0ZSwgZGVmYXVsdExvYWRlciB9ID0gX3N0YXRlXG4gIGxldCBjb25maWc6IEltYWdlQ29uZmlnXG4gIGxldCBjID0gaW1nQ29uZiB8fCBpbWFnZUNvbmZpZ0RlZmF1bHRcbiAgaWYgKCdhbGxTaXplcycgaW4gYykge1xuICAgIGNvbmZpZyA9IGMgYXMgSW1hZ2VDb25maWdcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhbGxTaXplcyA9IFsuLi5jLmRldmljZVNpemVzLCAuLi5jLmltYWdlU2l6ZXNdLnNvcnQoKGEsIGIpID0+IGEgLSBiKVxuICAgIGNvbnN0IGRldmljZVNpemVzID0gYy5kZXZpY2VTaXplcy5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICBjb25zdCBxdWFsaXRpZXMgPSBjLnF1YWxpdGllcz8uc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgY29uZmlnID0geyAuLi5jLCBhbGxTaXplcywgZGV2aWNlU2l6ZXMsIHF1YWxpdGllcyB9XG4gIH1cblxuICBpZiAodHlwZW9mIGRlZmF1bHRMb2FkZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2ltYWdlcy5sb2FkZXJGaWxlIGRldGVjdGVkIGJ1dCB0aGUgZmlsZSBpcyBtaXNzaW5nIGRlZmF1bHQgZXhwb3J0LlxcblJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1pbWFnZXMtY29uZmlnJ1xuICAgIClcbiAgfVxuICBsZXQgbG9hZGVyOiBJbWFnZUxvYWRlcldpdGhDb25maWcgPSByZXN0LmxvYWRlciB8fCBkZWZhdWx0TG9hZGVyXG5cbiAgLy8gUmVtb3ZlIHByb3BlcnR5IHNvIGl0J3Mgbm90IHNwcmVhZCBvbiA8aW1nPiBlbGVtZW50XG4gIGRlbGV0ZSByZXN0LmxvYWRlclxuICBkZWxldGUgKHJlc3QgYXMgYW55KS5zcmNTZXRcblxuICAvLyBUaGlzIHNwZWNpYWwgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHVzZXJcbiAgLy8gZGlkbid0IGRlZmluZSBhIFwibG9hZGVyXCIgcHJvcCBvciBcImxvYWRlclwiIGNvbmZpZy5cbiAgY29uc3QgaXNEZWZhdWx0TG9hZGVyID0gJ19fbmV4dF9pbWdfZGVmYXVsdCcgaW4gbG9hZGVyXG5cbiAgaWYgKGlzRGVmYXVsdExvYWRlcikge1xuICAgIGlmIChjb25maWcubG9hZGVyID09PSAnY3VzdG9tJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyBtaXNzaW5nIFwibG9hZGVyXCIgcHJvcC5gICtcbiAgICAgICAgICBgXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLW1pc3NpbmctbG9hZGVyYFxuICAgICAgKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgdXNlciBkZWZpbmVkIGEgXCJsb2FkZXJcIiBwcm9wIG9yIGNvbmZpZy5cbiAgICAvLyBTaW5jZSB0aGUgY29uZmlnIG9iamVjdCBpcyBpbnRlcm5hbCBvbmx5LCB3ZVxuICAgIC8vIG11c3Qgbm90IHBhc3MgaXQgdG8gdGhlIHVzZXItZGVmaW5lZCBcImxvYWRlclwiLlxuICAgIGNvbnN0IGN1c3RvbUltYWdlTG9hZGVyID0gbG9hZGVyIGFzIEltYWdlTG9hZGVyXG4gICAgbG9hZGVyID0gKG9iaikgPT4ge1xuICAgICAgY29uc3QgeyBjb25maWc6IF8sIC4uLm9wdHMgfSA9IG9ialxuICAgICAgcmV0dXJuIGN1c3RvbUltYWdlTG9hZGVyKG9wdHMpXG4gICAgfVxuICB9XG5cbiAgaWYgKGxheW91dCkge1xuICAgIGlmIChsYXlvdXQgPT09ICdmaWxsJykge1xuICAgICAgZmlsbCA9IHRydWVcbiAgICB9XG4gICAgY29uc3QgbGF5b3V0VG9TdHlsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZD4gPSB7XG4gICAgICBpbnRyaW5zaWM6IHsgbWF4V2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnYXV0bycgfSxcbiAgICAgIHJlc3BvbnNpdmU6IHsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnYXV0bycgfSxcbiAgICB9XG4gICAgY29uc3QgbGF5b3V0VG9TaXplczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA9IHtcbiAgICAgIHJlc3BvbnNpdmU6ICcxMDB2dycsXG4gICAgICBmaWxsOiAnMTAwdncnLFxuICAgIH1cbiAgICBjb25zdCBsYXlvdXRTdHlsZSA9IGxheW91dFRvU3R5bGVbbGF5b3V0XVxuICAgIGlmIChsYXlvdXRTdHlsZSkge1xuICAgICAgc3R5bGUgPSB7IC4uLnN0eWxlLCAuLi5sYXlvdXRTdHlsZSB9XG4gICAgfVxuICAgIGNvbnN0IGxheW91dFNpemVzID0gbGF5b3V0VG9TaXplc1tsYXlvdXRdXG4gICAgaWYgKGxheW91dFNpemVzICYmICFzaXplcykge1xuICAgICAgc2l6ZXMgPSBsYXlvdXRTaXplc1xuICAgIH1cbiAgfVxuXG4gIGxldCBzdGF0aWNTcmMgPSAnJ1xuICBsZXQgd2lkdGhJbnQgPSBnZXRJbnQod2lkdGgpXG4gIGxldCBoZWlnaHRJbnQgPSBnZXRJbnQoaGVpZ2h0KVxuICBsZXQgYmx1cldpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgbGV0IGJsdXJIZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICBpZiAoaXNTdGF0aWNJbXBvcnQoc3JjKSkge1xuICAgIGNvbnN0IHN0YXRpY0ltYWdlRGF0YSA9IGlzU3RhdGljUmVxdWlyZShzcmMpID8gc3JjLmRlZmF1bHQgOiBzcmNcblxuICAgIGlmICghc3RhdGljSW1hZ2VEYXRhLnNyYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQW4gb2JqZWN0IHNob3VsZCBvbmx5IGJlIHBhc3NlZCB0byB0aGUgaW1hZ2UgY29tcG9uZW50IHNyYyBwYXJhbWV0ZXIgaWYgaXQgY29tZXMgZnJvbSBhIHN0YXRpYyBpbWFnZSBpbXBvcnQuIEl0IG11c3QgaW5jbHVkZSBzcmMuIFJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgc3RhdGljSW1hZ2VEYXRhXG4gICAgICAgICl9YFxuICAgICAgKVxuICAgIH1cbiAgICBpZiAoIXN0YXRpY0ltYWdlRGF0YS5oZWlnaHQgfHwgIXN0YXRpY0ltYWdlRGF0YS53aWR0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQW4gb2JqZWN0IHNob3VsZCBvbmx5IGJlIHBhc3NlZCB0byB0aGUgaW1hZ2UgY29tcG9uZW50IHNyYyBwYXJhbWV0ZXIgaWYgaXQgY29tZXMgZnJvbSBhIHN0YXRpYyBpbWFnZSBpbXBvcnQuIEl0IG11c3QgaW5jbHVkZSBoZWlnaHQgYW5kIHdpZHRoLiBSZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHN0YXRpY0ltYWdlRGF0YVxuICAgICAgICApfWBcbiAgICAgIClcbiAgICB9XG5cbiAgICBibHVyV2lkdGggPSBzdGF0aWNJbWFnZURhdGEuYmx1cldpZHRoXG4gICAgYmx1ckhlaWdodCA9IHN0YXRpY0ltYWdlRGF0YS5ibHVySGVpZ2h0XG4gICAgYmx1ckRhdGFVUkwgPSBibHVyRGF0YVVSTCB8fCBzdGF0aWNJbWFnZURhdGEuYmx1ckRhdGFVUkxcbiAgICBzdGF0aWNTcmMgPSBzdGF0aWNJbWFnZURhdGEuc3JjXG5cbiAgICBpZiAoIWZpbGwpIHtcbiAgICAgIGlmICghd2lkdGhJbnQgJiYgIWhlaWdodEludCkge1xuICAgICAgICB3aWR0aEludCA9IHN0YXRpY0ltYWdlRGF0YS53aWR0aFxuICAgICAgICBoZWlnaHRJbnQgPSBzdGF0aWNJbWFnZURhdGEuaGVpZ2h0XG4gICAgICB9IGVsc2UgaWYgKHdpZHRoSW50ICYmICFoZWlnaHRJbnQpIHtcbiAgICAgICAgY29uc3QgcmF0aW8gPSB3aWR0aEludCAvIHN0YXRpY0ltYWdlRGF0YS53aWR0aFxuICAgICAgICBoZWlnaHRJbnQgPSBNYXRoLnJvdW5kKHN0YXRpY0ltYWdlRGF0YS5oZWlnaHQgKiByYXRpbylcbiAgICAgIH0gZWxzZSBpZiAoIXdpZHRoSW50ICYmIGhlaWdodEludCkge1xuICAgICAgICBjb25zdCByYXRpbyA9IGhlaWdodEludCAvIHN0YXRpY0ltYWdlRGF0YS5oZWlnaHRcbiAgICAgICAgd2lkdGhJbnQgPSBNYXRoLnJvdW5kKHN0YXRpY0ltYWdlRGF0YS53aWR0aCAqIHJhdGlvKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzcmMgPSB0eXBlb2Ygc3JjID09PSAnc3RyaW5nJyA/IHNyYyA6IHN0YXRpY1NyY1xuXG4gIGxldCBpc0xhenkgPVxuICAgICFwcmlvcml0eSAmJiAobG9hZGluZyA9PT0gJ2xhenknIHx8IHR5cGVvZiBsb2FkaW5nID09PSAndW5kZWZpbmVkJylcbiAgaWYgKCFzcmMgfHwgc3JjLnN0YXJ0c1dpdGgoJ2RhdGE6JykgfHwgc3JjLnN0YXJ0c1dpdGgoJ2Jsb2I6JykpIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL0RhdGFfVVJJc1xuICAgIHVub3B0aW1pemVkID0gdHJ1ZVxuICAgIGlzTGF6eSA9IGZhbHNlXG4gIH1cbiAgaWYgKGNvbmZpZy51bm9wdGltaXplZCkge1xuICAgIHVub3B0aW1pemVkID0gdHJ1ZVxuICB9XG4gIGlmIChcbiAgICBpc0RlZmF1bHRMb2FkZXIgJiZcbiAgICAhY29uZmlnLmRhbmdlcm91c2x5QWxsb3dTVkcgJiZcbiAgICBzcmMuc3BsaXQoJz8nLCAxKVswXS5lbmRzV2l0aCgnLnN2ZycpXG4gICkge1xuICAgIC8vIFNwZWNpYWwgY2FzZSB0byBtYWtlIHN2ZyBzZXJ2ZSBhcy1pcyB0byBhdm9pZCBwcm94eWluZ1xuICAgIC8vIHRocm91Z2ggdGhlIGJ1aWx0LWluIEltYWdlIE9wdGltaXphdGlvbiBBUEkuXG4gICAgdW5vcHRpbWl6ZWQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBxdWFsaXR5SW50ID0gZ2V0SW50KHF1YWxpdHkpXG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAoY29uZmlnLm91dHB1dCA9PT0gJ2V4cG9ydCcgJiYgaXNEZWZhdWx0TG9hZGVyICYmICF1bm9wdGltaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW1hZ2UgT3B0aW1pemF0aW9uIHVzaW5nIHRoZSBkZWZhdWx0IGxvYWRlciBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFxcYHsgb3V0cHV0OiAnZXhwb3J0JyB9XFxgLlxuICBQb3NzaWJsZSBzb2x1dGlvbnM6XG4gICAgLSBSZW1vdmUgXFxgeyBvdXRwdXQ6ICdleHBvcnQnIH1cXGAgYW5kIHJ1biBcIm5leHQgc3RhcnRcIiB0byBydW4gc2VydmVyIG1vZGUgaW5jbHVkaW5nIHRoZSBJbWFnZSBPcHRpbWl6YXRpb24gQVBJLlxuICAgIC0gQ29uZmlndXJlIFxcYHsgaW1hZ2VzOiB7IHVub3B0aW1pemVkOiB0cnVlIH0gfVxcYCBpbiBcXGBuZXh0LmNvbmZpZy5qc1xcYCB0byBkaXNhYmxlIHRoZSBJbWFnZSBPcHRpbWl6YXRpb24gQVBJLlxuICBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2V4cG9ydC1pbWFnZS1hcGlgXG4gICAgICApXG4gICAgfVxuICAgIGlmICghc3JjKSB7XG4gICAgICAvLyBSZWFjdCBkb2Vzbid0IHNob3cgdGhlIHN0YWNrIHRyYWNlIGFuZCB0aGVyZSdzXG4gICAgICAvLyBubyBgc3JjYCB0byBoZWxwIGlkZW50aWZ5IHdoaWNoIGltYWdlLCBzbyB3ZVxuICAgICAgLy8gaW5zdGVhZCBjb25zb2xlLmVycm9yKHJlZikgZHVyaW5nIG1vdW50LlxuICAgICAgdW5vcHRpbWl6ZWQgPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmaWxsKSB7XG4gICAgICAgIGlmICh3aWR0aCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBib3RoIFwid2lkdGhcIiBhbmQgXCJmaWxsXCIgcHJvcGVydGllcy4gT25seSBvbmUgc2hvdWxkIGJlIHVzZWQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGJvdGggXCJoZWlnaHRcIiBhbmQgXCJmaWxsXCIgcHJvcGVydGllcy4gT25seSBvbmUgc2hvdWxkIGJlIHVzZWQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3R5bGU/LnBvc2l0aW9uICYmIHN0eWxlLnBvc2l0aW9uICE9PSAnYWJzb2x1dGUnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGJvdGggXCJmaWxsXCIgYW5kIFwic3R5bGUucG9zaXRpb25cIiBwcm9wZXJ0aWVzLiBJbWFnZXMgd2l0aCBcImZpbGxcIiBhbHdheXMgdXNlIHBvc2l0aW9uIGFic29sdXRlIC0gaXQgY2Fubm90IGJlIG1vZGlmaWVkLmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0eWxlPy53aWR0aCAmJiBzdHlsZS53aWR0aCAhPT0gJzEwMCUnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaGFzIGJvdGggXCJmaWxsXCIgYW5kIFwic3R5bGUud2lkdGhcIiBwcm9wZXJ0aWVzLiBJbWFnZXMgd2l0aCBcImZpbGxcIiBhbHdheXMgdXNlIHdpZHRoIDEwMCUgLSBpdCBjYW5ub3QgYmUgbW9kaWZpZWQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3R5bGU/LmhlaWdodCAmJiBzdHlsZS5oZWlnaHQgIT09ICcxMDAlJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBib3RoIFwiZmlsbFwiIGFuZCBcInN0eWxlLmhlaWdodFwiIHByb3BlcnRpZXMuIEltYWdlcyB3aXRoIFwiZmlsbFwiIGFsd2F5cyB1c2UgaGVpZ2h0IDEwMCUgLSBpdCBjYW5ub3QgYmUgbW9kaWZpZWQuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aWR0aEludCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyBtaXNzaW5nIHJlcXVpcmVkIFwid2lkdGhcIiBwcm9wZXJ0eS5gXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2UgaWYgKGlzTmFOKHdpZHRoSW50KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBpbnZhbGlkIFwid2lkdGhcIiBwcm9wZXJ0eS4gRXhwZWN0ZWQgYSBudW1lcmljIHZhbHVlIGluIHBpeGVscyBidXQgcmVjZWl2ZWQgXCIke3dpZHRofVwiLmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBoZWlnaHRJbnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaXMgbWlzc2luZyByZXF1aXJlZCBcImhlaWdodFwiIHByb3BlcnR5LmBcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSBpZiAoaXNOYU4oaGVpZ2h0SW50KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBpbnZhbGlkIFwiaGVpZ2h0XCIgcHJvcGVydHkuIEV4cGVjdGVkIGEgbnVtZXJpYyB2YWx1ZSBpbiBwaXhlbHMgYnV0IHJlY2VpdmVkIFwiJHtoZWlnaHR9XCIuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuICAgICAgICBpZiAoL15bXFx4MDAtXFx4MjBdLy50ZXN0KHNyYykpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBjYW5ub3Qgc3RhcnQgd2l0aCBhIHNwYWNlIG9yIGNvbnRyb2wgY2hhcmFjdGVyLiBVc2Ugc3JjLnRyaW1TdGFydCgpIHRvIHJlbW92ZSBpdCBvciBlbmNvZGVVUklDb21wb25lbnQoc3JjKSB0byBrZWVwIGl0LmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbiAgICAgICAgaWYgKC9bXFx4MDAtXFx4MjBdJC8udGVzdChzcmMpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgY2Fubm90IGVuZCB3aXRoIGEgc3BhY2Ugb3IgY29udHJvbCBjaGFyYWN0ZXIuIFVzZSBzcmMudHJpbUVuZCgpIHRvIHJlbW92ZSBpdCBvciBlbmNvZGVVUklDb21wb25lbnQoc3JjKSB0byBrZWVwIGl0LmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFWQUxJRF9MT0FESU5HX1ZBTFVFUy5pbmNsdWRlcyhsb2FkaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgaW52YWxpZCBcImxvYWRpbmdcIiBwcm9wZXJ0eS4gUHJvdmlkZWQgXCIke2xvYWRpbmd9XCIgc2hvdWxkIGJlIG9uZSBvZiAke1ZBTElEX0xPQURJTkdfVkFMVUVTLm1hcChcbiAgICAgICAgICBTdHJpbmdcbiAgICAgICAgKS5qb2luKCcsJyl9LmBcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKHByaW9yaXR5ICYmIGxvYWRpbmcgPT09ICdsYXp5Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgYm90aCBcInByaW9yaXR5XCIgYW5kIFwibG9hZGluZz0nbGF6eSdcIiBwcm9wZXJ0aWVzLiBPbmx5IG9uZSBzaG91bGQgYmUgdXNlZC5gXG4gICAgICApXG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBsYWNlaG9sZGVyICE9PSAnZW1wdHknICYmXG4gICAgICBwbGFjZWhvbGRlciAhPT0gJ2JsdXInICYmXG4gICAgICAhcGxhY2Vob2xkZXIuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgaW52YWxpZCBcInBsYWNlaG9sZGVyXCIgcHJvcGVydHkgXCIke3BsYWNlaG9sZGVyfVwiLmBcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKHBsYWNlaG9sZGVyICE9PSAnZW1wdHknKSB7XG4gICAgICBpZiAod2lkdGhJbnQgJiYgaGVpZ2h0SW50ICYmIHdpZHRoSW50ICogaGVpZ2h0SW50IDwgMTYwMCkge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyBzbWFsbGVyIHRoYW4gNDB4NDAuIENvbnNpZGVyIHJlbW92aW5nIHRoZSBcInBsYWNlaG9sZGVyXCIgcHJvcGVydHkgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS5gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHF1YWxpdHlJbnQgJiYgcXVhbGl0eUludCAhPT0gNzUgJiYgIWNvbmZpZy5xdWFsaXRpZXMpIHtcbiAgICAgIHdhcm5PbmNlKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyB1c2luZyBxdWFsaXR5IFwiJHtxdWFsaXR5SW50fVwiIHdoaWNoIGlzIG5vdCBjb25maWd1cmVkIGluIGltYWdlcy5xdWFsaXRpZXMuIFRoaXMgY29uZmlnIHdpbGwgYmUgcmVxdWlyZWQgc3RhcnRpbmcgaW4gTmV4dC5qcyAxNi5gICtcbiAgICAgICAgICBgXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLXVuY29uZmlndXJlZC1xdWFsaXRpZXNgXG4gICAgICApXG4gICAgfVxuICAgIGlmIChcbiAgICAgIHNyYy5zdGFydHNXaXRoKCcvJykgJiZcbiAgICAgIHNyYy5pbmNsdWRlcygnPycpICYmXG4gICAgICAoIWNvbmZpZz8ubG9jYWxQYXR0ZXJucz8ubGVuZ3RoIHx8XG4gICAgICAgIChjb25maWcubG9jYWxQYXR0ZXJucy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICBjb25maWcubG9jYWxQYXR0ZXJuc1swXS5wYXRobmFtZSA9PT0gJy9fbmV4dC9zdGF0aWMvbWVkaWEvKionKSlcbiAgICApIHtcbiAgICAgIHdhcm5PbmNlKFxuICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBpcyB1c2luZyBhIHF1ZXJ5IHN0cmluZyB3aGljaCBpcyBub3QgY29uZmlndXJlZCBpbiBpbWFnZXMubG9jYWxQYXR0ZXJucy4gVGhpcyBjb25maWcgd2lsbCBiZSByZXF1aXJlZCBzdGFydGluZyBpbiBOZXh0LmpzIDE2LmAgK1xuICAgICAgICAgIGBcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtdW5jb25maWd1cmVkLWxvY2FscGF0dGVybnNgXG4gICAgICApXG4gICAgfVxuICAgIGlmIChwbGFjZWhvbGRlciA9PT0gJ2JsdXInICYmICFibHVyRGF0YVVSTCkge1xuICAgICAgY29uc3QgVkFMSURfQkxVUl9FWFQgPSBbJ2pwZWcnLCAncG5nJywgJ3dlYnAnLCAnYXZpZiddIC8vIHNob3VsZCBtYXRjaCBuZXh0LWltYWdlLWxvYWRlclxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBcInBsYWNlaG9sZGVyPSdibHVyJ1wiIHByb3BlcnR5IGJ1dCBpcyBtaXNzaW5nIHRoZSBcImJsdXJEYXRhVVJMXCIgcHJvcGVydHkuXG4gICAgICAgIFBvc3NpYmxlIHNvbHV0aW9uczpcbiAgICAgICAgICAtIEFkZCBhIFwiYmx1ckRhdGFVUkxcIiBwcm9wZXJ0eSwgdGhlIGNvbnRlbnRzIHNob3VsZCBiZSBhIHNtYWxsIERhdGEgVVJMIHRvIHJlcHJlc2VudCB0aGUgaW1hZ2VcbiAgICAgICAgICAtIENoYW5nZSB0aGUgXCJzcmNcIiBwcm9wZXJ0eSB0byBhIHN0YXRpYyBpbXBvcnQgd2l0aCBvbmUgb2YgdGhlIHN1cHBvcnRlZCBmaWxlIHR5cGVzOiAke1ZBTElEX0JMVVJfRVhULmpvaW4oXG4gICAgICAgICAgICAnLCdcbiAgICAgICAgICApfSAoYW5pbWF0ZWQgaW1hZ2VzIG5vdCBzdXBwb3J0ZWQpXG4gICAgICAgICAgLSBSZW1vdmUgdGhlIFwicGxhY2Vob2xkZXJcIiBwcm9wZXJ0eSwgZWZmZWN0aXZlbHkgbm8gYmx1ciBlZmZlY3RcbiAgICAgICAgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wbGFjZWhvbGRlci1ibHVyLWRhdGEtdXJsYFxuICAgICAgKVxuICAgIH1cbiAgICBpZiAoJ3JlZicgaW4gcmVzdCkge1xuICAgICAgd2Fybk9uY2UoXG4gICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGlzIHVzaW5nIHVuc3VwcG9ydGVkIFwicmVmXCIgcHJvcGVydHkuIENvbnNpZGVyIHVzaW5nIHRoZSBcIm9uTG9hZFwiIHByb3BlcnR5IGluc3RlYWQuYFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghdW5vcHRpbWl6ZWQgJiYgIWlzRGVmYXVsdExvYWRlcikge1xuICAgICAgY29uc3QgdXJsU3RyID0gbG9hZGVyKHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBzcmMsXG4gICAgICAgIHdpZHRoOiB3aWR0aEludCB8fCA0MDAsXG4gICAgICAgIHF1YWxpdHk6IHF1YWxpdHlJbnQgfHwgNzUsXG4gICAgICB9KVxuICAgICAgbGV0IHVybDogVVJMIHwgdW5kZWZpbmVkXG4gICAgICB0cnkge1xuICAgICAgICB1cmwgPSBuZXcgVVJMKHVybFN0cilcbiAgICAgIH0gY2F0Y2ggKGVycikge31cbiAgICAgIGlmICh1cmxTdHIgPT09IHNyYyB8fCAodXJsICYmIHVybC5wYXRobmFtZSA9PT0gc3JjICYmICF1cmwuc2VhcmNoKSkge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICBgSW1hZ2Ugd2l0aCBzcmMgXCIke3NyY31cIiBoYXMgYSBcImxvYWRlclwiIHByb3BlcnR5IHRoYXQgZG9lcyBub3QgaW1wbGVtZW50IHdpZHRoLiBQbGVhc2UgaW1wbGVtZW50IGl0IG9yIHVzZSB0aGUgXCJ1bm9wdGltaXplZFwiIHByb3BlcnR5IGluc3RlYWQuYCArXG4gICAgICAgICAgICBgXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLW1pc3NpbmctbG9hZGVyLXdpZHRoYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9uTG9hZGluZ0NvbXBsZXRlKSB7XG4gICAgICB3YXJuT25jZShcbiAgICAgICAgYEltYWdlIHdpdGggc3JjIFwiJHtzcmN9XCIgaXMgdXNpbmcgZGVwcmVjYXRlZCBcIm9uTG9hZGluZ0NvbXBsZXRlXCIgcHJvcGVydHkuIFBsZWFzZSB1c2UgdGhlIFwib25Mb2FkXCIgcHJvcGVydHkgaW5zdGVhZC5gXG4gICAgICApXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbbGVnYWN5S2V5LCBsZWdhY3lWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoe1xuICAgICAgbGF5b3V0LFxuICAgICAgb2JqZWN0Rml0LFxuICAgICAgb2JqZWN0UG9zaXRpb24sXG4gICAgICBsYXp5Qm91bmRhcnksXG4gICAgICBsYXp5Um9vdCxcbiAgICB9KSkge1xuICAgICAgaWYgKGxlZ2FjeVZhbHVlKSB7XG4gICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7c3JjfVwiIGhhcyBsZWdhY3kgcHJvcCBcIiR7bGVnYWN5S2V5fVwiLiBEaWQgeW91IGZvcmdldCB0byBydW4gdGhlIGNvZGVtb2Q/YCArXG4gICAgICAgICAgICBgXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLXVwZ3JhZGUtdG8tMTNgXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgIXBlcmZPYnNlcnZlciAmJlxuICAgICAgd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXJcbiAgICApIHtcbiAgICAgIHBlcmZPYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChlbnRyeUxpc3QpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyeUxpc3QuZ2V0RW50cmllcygpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIG1pc3NpbmcgXCJMYXJnZXN0Q29udGVudGZ1bFBhaW50XCIgY2xhc3Mgd2l0aCBcImVsZW1lbnRcIiBwcm9wXG4gICAgICAgICAgY29uc3QgaW1nU3JjID0gZW50cnk/LmVsZW1lbnQ/LnNyYyB8fCAnJ1xuICAgICAgICAgIGNvbnN0IGxjcEltYWdlID0gYWxsSW1ncy5nZXQoaW1nU3JjKVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGxjcEltYWdlICYmXG4gICAgICAgICAgICAhbGNwSW1hZ2UucHJpb3JpdHkgJiZcbiAgICAgICAgICAgIGxjcEltYWdlLnBsYWNlaG9sZGVyID09PSAnZW1wdHknICYmXG4gICAgICAgICAgICAhbGNwSW1hZ2Uuc3JjLnN0YXJ0c1dpdGgoJ2RhdGE6JykgJiZcbiAgICAgICAgICAgICFsY3BJbWFnZS5zcmMuc3RhcnRzV2l0aCgnYmxvYjonKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly93ZWIuZGV2L2xjcC8jbWVhc3VyZS1sY3AtaW4tamF2YXNjcmlwdFxuICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgIGBJbWFnZSB3aXRoIHNyYyBcIiR7bGNwSW1hZ2Uuc3JjfVwiIHdhcyBkZXRlY3RlZCBhcyB0aGUgTGFyZ2VzdCBDb250ZW50ZnVsIFBhaW50IChMQ1ApLiBQbGVhc2UgYWRkIHRoZSBcInByaW9yaXR5XCIgcHJvcGVydHkgaWYgdGhpcyBpbWFnZSBpcyBhYm92ZSB0aGUgZm9sZC5gICtcbiAgICAgICAgICAgICAgICBgXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2UjcHJpb3JpdHlgXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgdHJ5IHtcbiAgICAgICAgcGVyZk9ic2VydmVyLm9ic2VydmUoe1xuICAgICAgICAgIHR5cGU6ICdsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnQnLFxuICAgICAgICAgIGJ1ZmZlcmVkOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIC8vIExvZyBlcnJvciBidXQgZG9uJ3QgY3Jhc2ggdGhlIGFwcFxuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3QgaW1nU3R5bGUgPSBPYmplY3QuYXNzaWduKFxuICAgIGZpbGxcbiAgICAgID8ge1xuICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIG9iamVjdEZpdCxcbiAgICAgICAgICBvYmplY3RQb3NpdGlvbixcbiAgICAgICAgfVxuICAgICAgOiB7fSxcbiAgICBzaG93QWx0VGV4dCA/IHt9IDogeyBjb2xvcjogJ3RyYW5zcGFyZW50JyB9LFxuICAgIHN0eWxlXG4gIClcblxuICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2UgPVxuICAgICFibHVyQ29tcGxldGUgJiYgcGxhY2Vob2xkZXIgIT09ICdlbXB0eSdcbiAgICAgID8gcGxhY2Vob2xkZXIgPT09ICdibHVyJ1xuICAgICAgICA/IGB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwke2dldEltYWdlQmx1clN2Zyh7XG4gICAgICAgICAgICB3aWR0aEludCxcbiAgICAgICAgICAgIGhlaWdodEludCxcbiAgICAgICAgICAgIGJsdXJXaWR0aCxcbiAgICAgICAgICAgIGJsdXJIZWlnaHQsXG4gICAgICAgICAgICBibHVyRGF0YVVSTDogYmx1ckRhdGFVUkwgfHwgJycsIC8vIGFzc3VtZSBub3QgdW5kZWZpbmVkXG4gICAgICAgICAgICBvYmplY3RGaXQ6IGltZ1N0eWxlLm9iamVjdEZpdCxcbiAgICAgICAgICB9KX1cIilgXG4gICAgICAgIDogYHVybChcIiR7cGxhY2Vob2xkZXJ9XCIpYCAvLyBhc3N1bWUgYGRhdGE6aW1hZ2UvYFxuICAgICAgOiBudWxsXG5cbiAgY29uc3QgYmFja2dyb3VuZFNpemUgPSAhSU5WQUxJRF9CQUNLR1JPVU5EX1NJWkVfVkFMVUVTLmluY2x1ZGVzKFxuICAgIGltZ1N0eWxlLm9iamVjdEZpdFxuICApXG4gICAgPyBpbWdTdHlsZS5vYmplY3RGaXRcbiAgICA6IGltZ1N0eWxlLm9iamVjdEZpdCA9PT0gJ2ZpbGwnXG4gICAgICA/ICcxMDAlIDEwMCUnIC8vIHRoZSBiYWNrZ3JvdW5kLXNpemUgZXF1aXZhbGVudCBvZiBgZmlsbGBcbiAgICAgIDogJ2NvdmVyJ1xuXG4gIGxldCBwbGFjZWhvbGRlclN0eWxlOiBQbGFjZWhvbGRlclN0eWxlID0gYmFja2dyb3VuZEltYWdlXG4gICAgPyB7XG4gICAgICAgIGJhY2tncm91bmRTaXplLFxuICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246IGltZ1N0eWxlLm9iamVjdFBvc2l0aW9uIHx8ICc1MCUgNTAlJyxcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ25vLXJlcGVhdCcsXG4gICAgICAgIGJhY2tncm91bmRJbWFnZSxcbiAgICAgIH1cbiAgICA6IHt9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgaWYgKFxuICAgICAgcGxhY2Vob2xkZXJTdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgJiZcbiAgICAgIHBsYWNlaG9sZGVyID09PSAnYmx1cicgJiZcbiAgICAgIGJsdXJEYXRhVVJMPy5zdGFydHNXaXRoKCcvJylcbiAgICApIHtcbiAgICAgIC8vIER1cmluZyBgbmV4dCBkZXZgLCB3ZSBkb24ndCB3YW50IHRvIGdlbmVyYXRlIGJsdXIgcGxhY2Vob2xkZXJzIHdpdGggd2VicGFja1xuICAgICAgLy8gYmVjYXVzZSBpdCBjYW4gZGVsYXkgc3RhcnRpbmcgdGhlIGRldiBzZXJ2ZXIuIEluc3RlYWQsIGBuZXh0LWltYWdlLWxvYWRlci5qc2BcbiAgICAgIC8vIHdpbGwgaW5saW5lIGEgc3BlY2lhbCB1cmwgdG8gbGF6aWx5IGdlbmVyYXRlIHRoZSBibHVyIHBsYWNlaG9sZGVyIGF0IHJlcXVlc3QgdGltZS5cbiAgICAgIHBsYWNlaG9sZGVyU3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybChcIiR7Ymx1ckRhdGFVUkx9XCIpYFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGltZ0F0dHJpYnV0ZXMgPSBnZW5lcmF0ZUltZ0F0dHJzKHtcbiAgICBjb25maWcsXG4gICAgc3JjLFxuICAgIHVub3B0aW1pemVkLFxuICAgIHdpZHRoOiB3aWR0aEludCxcbiAgICBxdWFsaXR5OiBxdWFsaXR5SW50LFxuICAgIHNpemVzLFxuICAgIGxvYWRlcixcbiAgfSlcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IGZ1bGxVcmw6IFVSTFxuICAgICAgdHJ5IHtcbiAgICAgICAgZnVsbFVybCA9IG5ldyBVUkwoaW1nQXR0cmlidXRlcy5zcmMpXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGZ1bGxVcmwgPSBuZXcgVVJMKGltZ0F0dHJpYnV0ZXMuc3JjLCB3aW5kb3cubG9jYXRpb24uaHJlZilcbiAgICAgIH1cbiAgICAgIGFsbEltZ3Muc2V0KGZ1bGxVcmwuaHJlZiwgeyBzcmMsIHByaW9yaXR5LCBwbGFjZWhvbGRlciB9KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHByb3BzOiBJbWdQcm9wcyA9IHtcbiAgICAuLi5yZXN0LFxuICAgIGxvYWRpbmc6IGlzTGF6eSA/ICdsYXp5JyA6IGxvYWRpbmcsXG4gICAgZmV0Y2hQcmlvcml0eSxcbiAgICB3aWR0aDogd2lkdGhJbnQsXG4gICAgaGVpZ2h0OiBoZWlnaHRJbnQsXG4gICAgZGVjb2RpbmcsXG4gICAgY2xhc3NOYW1lLFxuICAgIHN0eWxlOiB7IC4uLmltZ1N0eWxlLCAuLi5wbGFjZWhvbGRlclN0eWxlIH0sXG4gICAgc2l6ZXM6IGltZ0F0dHJpYnV0ZXMuc2l6ZXMsXG4gICAgc3JjU2V0OiBpbWdBdHRyaWJ1dGVzLnNyY1NldCxcbiAgICBzcmM6IG92ZXJyaWRlU3JjIHx8IGltZ0F0dHJpYnV0ZXMuc3JjLFxuICB9XG4gIGNvbnN0IG1ldGEgPSB7IHVub3B0aW1pemVkLCBwcmlvcml0eSwgcGxhY2Vob2xkZXIsIGZpbGwgfVxuICByZXR1cm4geyBwcm9wcywgbWV0YSB9XG59XG4iXSwibmFtZXMiOlsiZ2V0SW1nUHJvcHMiLCJWQUxJRF9MT0FESU5HX1ZBTFVFUyIsInVuZGVmaW5lZCIsIklOVkFMSURfQkFDS0dST1VORF9TSVpFX1ZBTFVFUyIsImlzU3RhdGljUmVxdWlyZSIsInNyYyIsImRlZmF1bHQiLCJpc1N0YXRpY0ltYWdlRGF0YSIsImlzU3RhdGljSW1wb3J0IiwiYWxsSW1ncyIsIk1hcCIsInBlcmZPYnNlcnZlciIsImdldEludCIsIngiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIk5hTiIsInRlc3QiLCJwYXJzZUludCIsImdldFdpZHRocyIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwiZGVjb2RpbmciLCJsYXlvdXQiLCJvYmplY3RGaXQiLCJvYmplY3RQb3NpdGlvbiIsImxhenlCb3VuZGFyeSIsImxhenlSb290IiwicmVzdCIsImltZ0NvbmYiLCJzaG93QWx0VGV4dCIsImJsdXJDb21wbGV0ZSIsImRlZmF1bHRMb2FkZXIiLCJjIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiaW1hZ2VTaXplcyIsInNvcnQiLCJhIiwiYiIsInF1YWxpdGllcyIsIkVycm9yIiwiaXNEZWZhdWx0TG9hZGVyIiwiY3VzdG9tSW1hZ2VMb2FkZXIiLCJvYmoiLCJfIiwib3B0cyIsImxheW91dFRvU3R5bGUiLCJpbnRyaW5zaWMiLCJtYXhXaWR0aCIsInJlc3BvbnNpdmUiLCJsYXlvdXRUb1NpemVzIiwibGF5b3V0U3R5bGUiLCJsYXlvdXRTaXplcyIsInN0YXRpY1NyYyIsIndpZHRoSW50IiwiaGVpZ2h0SW50IiwiYmx1cldpZHRoIiwiYmx1ckhlaWdodCIsInN0YXRpY0ltYWdlRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyYXRpbyIsInJvdW5kIiwiaXNMYXp5Iiwic3RhcnRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJzcGxpdCIsImVuZHNXaXRoIiwicXVhbGl0eUludCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwibG9jYWxQYXR0ZXJucyIsInBhdGhuYW1lIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJzZWFyY2giLCJsZWdhY3lLZXkiLCJsZWdhY3lWYWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ3aW5kb3ciLCJQZXJmb3JtYW5jZU9ic2VydmVyIiwiZW50cnlMaXN0IiwiZW50cnkiLCJnZXRFbnRyaWVzIiwiaW1nU3JjIiwiZWxlbWVudCIsImxjcEltYWdlIiwiZ2V0Iiwib2JzZXJ2ZSIsInR5cGUiLCJidWZmZXJlZCIsImNvbnNvbGUiLCJlcnJvciIsImltZ1N0eWxlIiwiYXNzaWduIiwibGVmdCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwiY29sb3IiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJnZXRJbWFnZUJsdXJTdmciLCJiYWNrZ3JvdW5kU2l6ZSIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiaW1nQXR0cmlidXRlcyIsImZ1bGxVcmwiLCJlIiwibG9jYXRpb24iLCJocmVmIiwic2V0IiwicHJvcHMiLCJtZXRhIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/get-img-props.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/head.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/head.js ***!
\******************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n }, \"charset\")\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }, \"viewport\"));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n 'name',\n 'httpEquiv',\n 'charSet',\n 'itemProp'\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf('$') + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case 'meta':\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of \n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src'] ? '