You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NextWeb/.next/static/webpack/_app-pages-browser_app_comp...

52 lines
362 KiB
JavaScript

"use strict";
/*
* 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["webpackHotUpdate_N_E"]("_app-pages-browser_app_components_settings_tsx",{
/***/ "(app-pages-browser)/./app/icons/config.svg":
/*!******************************!*\
!*** ./app/icons/config.svg ***!
\******************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar _mask, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SvgConfig = function SvgConfig(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", null, _mask || (_mask = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"mask\", {\n id: \"config_svg__b\",\n fill: \"#fff\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"use\", {\n xlinkHref: \"#config_svg__a\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", {\n mask: \"url(#config_svg__b)\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M13.833 4h-2a.665.665 0 0 1-.471-1.138.664.664 0 0 1 .471-.195h2a.665.665 0 0 1 .654.796.666.666 0 0 1-.654.537zM9.833 2v2.667a.665.665 0 0 1-1.037.554.665.665 0 0 1-.296-.554V2a.665.665 0 0 1 1.037-.554.665.665 0 0 1 .296.554z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M9.166 4H1.833a.665.665 0 0 1-.554-1.037.665.665 0 0 1 .554-.296h7.333a.665.665 0 0 1 .555 1.037.665.665 0 0 1-.555.296zM4.5 8.667H1.833A.665.665 0 0 1 1.28 7.63a.665.665 0 0 1 .554-.297H4.5a.665.665 0 0 1 .555 1.037.665.665 0 0 1-.555.297zM7.833 6.667v2.667a.665.665 0 0 1-1.037.554.665.665 0 0 1-.296-.554V6.667a.665.665 0 0 1 1.037-.555.665.665 0 0 1 .296.555z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M14.5 8.667H7.167a.665.665 0 0 1-.555-1.037.665.665 0 0 1 .555-.297H14.5a.665.665 0 0 1 .471 1.138.664.664 0 0 1-.471.196zM13.833 13.333h-2a.666.666 0 1 1 0-1.333h2a.666.666 0 1 1 0 1.333zM9.833 11.333V14a.665.665 0 0 1-.796.654A.666.666 0 0 1 8.5 14v-2.667a.665.665 0 0 1 1.138-.471.664.664 0 0 1 .195.471z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M9.166 13.333H1.833a.666.666 0 1 1 0-1.333h7.333a.666.666 0 1 1 0 1.333z\"\n }))), _defs || (_defs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"defs\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n id: \"config_svg__a\",\n d: \"M0 0h16v16H0z\"\n }))));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SvgConfig);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9pY29ucy9jb25maWcuc3ZnIiwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0Esc0JBQXNCLHNFQUFzRSxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsaUNBQWlDLGtCQUFrQjtBQUMzUTtBQUMvQjtBQUNBLHNCQUFzQixnREFBbUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsdUJBQXVCLGdEQUFtQiwyQ0FBMkMsZ0RBQW1CO0FBQzNHO0FBQ0E7QUFDQSxHQUFHLGVBQWUsZ0RBQW1CO0FBQ3JDO0FBQ0EsR0FBRyxrQkFBa0IsZ0RBQW1CO0FBQ3hDO0FBQ0EsR0FBRyxlQUFlLGdEQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHLGdCQUFnQixnREFBbUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRyxnQkFBZ0IsZ0RBQW1CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUcsZ0JBQWdCLGdEQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHLG9DQUFvQyxnREFBbUIsNEJBQTRCLGdEQUFtQjtBQUN6RztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsK0RBQWUsU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9hcHAvaWNvbnMvY29uZmlnLnN2Zz9mNDBmIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfbWFzaywgX2RlZnM7XG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xudmFyIFN2Z0NvbmZpZyA9IGZ1bmN0aW9uIFN2Z0NvbmZpZyhwcm9wcykge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgX2V4dGVuZHMoe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gICAgd2lkdGg6IDE2LFxuICAgIGhlaWdodDogMTYsXG4gICAgZmlsbDogXCJub25lXCJcbiAgfSwgcHJvcHMpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImdcIiwgbnVsbCwgX21hc2sgfHwgKF9tYXNrID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJtYXNrXCIsIHtcbiAgICBpZDogXCJjb25maWdfc3ZnX19iXCIsXG4gICAgZmlsbDogXCIjZmZmXCJcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ1c2VcIiwge1xuICAgIHhsaW5rSHJlZjogXCIjY29uZmlnX3N2Z19fYVwiXG4gIH0pKSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZ1wiLCB7XG4gICAgbWFzazogXCJ1cmwoI2NvbmZpZ19zdmdfX2IpXCJcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgZmlsbDogXCIjMzMzXCIsXG4gICAgICBvcGFjaXR5OiAxXG4gICAgfSxcbiAgICBkOiBcIk0xMy44MzMgNGgtMmEuNjY1LjY2NSAwIDAgMS0uNDcxLTEuMTM4LjY2NC42NjQgMCAwIDEgLjQ3MS0uMTk1aDJhLjY2NS42NjUgMCAwIDEgLjY1NC43OTYuNjY2LjY2NiAwIDAgMS0uNjU0LjUzN3pNOS44MzMgMnYyLjY2N2EuNjY1LjY2NSAwIDAgMS0xLjAzNy41NTQuNjY1LjY2NSAwIDAgMS0uMjk2LS41NTRWMmEuNjY1LjY2NSAwIDAgMSAxLjAzNy0uNTU0LjY2NS42NjUgMCAwIDEgLjI5Ni41NTR6XCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGZpbGw6IFwiIzMzM1wiLFxuICAgICAgb3BhY2l0eTogMVxuICAgIH0sXG4gICAgZDogXCJNOS4xNjYgNEgxLjgzM2EuNjY1LjY2NSAwIDAgMS0uNTU0LTEuMDM3LjY2NS42NjUgMCAwIDEgLjU1NC0uMjk2aDcuMzMzYS42NjUuNjY1IDAgMCAxIC41NTUgMS4wMzcuNjY1LjY2NSAwIDAgMS0uNTU1LjI5NnpNNC41IDguNjY3SDEuODMzQS42NjUuNjY1IDAgMCAxIDEuMjggNy42M2EuNjY1LjY2NSAwIDAgMSAuNTU0LS4yOTdINC41YS42NjUuNjY1IDAgMCAxIC41NTUgMS4wMzcuNjY1LjY2NSAwIDAgMS0uNTU1LjI5N3pNNy44MzMgNi42Njd2Mi42NjdhLjY2NS42NjUgMCAwIDEtMS4wMzcuNTU0LjY2NS42NjUgMCAwIDEtLjI5Ni0uNTU0VjYuNjY3YS42NjUuNjY1IDAgMCAxIDEuMDM3LS41NTUuNjY1LjY2NSAwIDAgMSAuMjk2LjU1NXpcIlxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgZmlsbDogXCIjMzMzXCIsXG4gICAgICBvcGFjaXR5OiAxXG4gICAgfSxcbiAgICBkOiBcIk0xNC41IDguNjY3SDcuMTY3YS42NjUuNjY1IDAgMCAxLS41NTUtMS4wMzcuNjY1LjY2NSAwIDAgMSAuNTU1LS4yOTdIMTQuNWEuNjY1LjY2NSAwIDAgMSAuNDcxIDEuMTM4LjY2NC42NjQgMCAwIDEtLjQ3MS4xOTZ6TTEzLjgzMyAxMy4zMzNoLTJhLjY2Ni42NjYgMCAxIDEgMC0xLjMzM2gyYS42NjYuNjY2IDAgMSAxIDAgMS4zMzN6TTkuODMzIDExLjMzM1YxNGEuNjY1LjY2NSAwIDAgMS0uNzk2LjY1NEEuNjY2LjY2NiAwIDAgMSA4LjUgMTR2LTIuNjY3YS42NjUuNjY1IDAgMCAxIDEuMTM4LS40NzEuNjY0LjY2NCAwIDAgMSAuMTk1LjQ3MXpcIlxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgZmlsbDogXCIjMzMzXCIsXG4gICAgICBvcGFjaXR5OiAxXG4gICAgfSxcbiAgICBkOiBcIk05LjE2NiAxMy4zMzNIMS44MzNhLjY2Ni42NjYgMCAxIDEgMC0xLjMzM2g3LjMzM2EuNjY2LjY2NiAwIDEgMSAwIDEuMzMzelwiXG4gIH0pKSksIF9kZWZzIHx8IChfZGVmcyA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZGVmc1wiLCBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGlkOiBcImNvbmZpZ19zdmdfX2FcIixcbiAgICBkOiBcIk0wIDBoMTZ2MTZIMHpcIlxuICB9KSkpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBTdmdDb25maWc7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/icons/config.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./app/icons/download.svg":
/*!********************************!*\
!*** ./app/icons/download.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar _defs, _mask;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SvgDownload = function SvgDownload(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), _defs || (_defs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"defs\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n id: \"download_svg__a\",\n d: \"M0 0h16v16H0z\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", null, _mask || (_mask = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"mask\", {\n id: \"download_svg__b\",\n fill: \"#fff\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"use\", {\n xlinkHref: \"#download_svg__a\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", {\n mask: \"url(#download_svg__b)\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"M1 12h10c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1H1C.45 0 0 .45 0 1v10c0 .55.45 1 1 1Z\",\n transform: \"translate(2 2)\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"M0 0h3.67l.66 1.33H9L9.67 0h3.66\",\n transform: \"translate(1.333 10.333)\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"M0 3.33V0\",\n transform: \"translate(14 8.667)\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"m0 0 2 2 2-2\",\n transform: \"translate(6 7.333)\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"M0 5.33V0\",\n transform: \"translate(8 4)\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n stroke: \"#333\",\n strokeWidth: 1.3333333333333333,\n strokeOpacity: 1,\n strokeDasharray: \"0 0\"\n },\n d: \"M0 3.33V0\",\n transform: \"translate(2 8.667)\"\n }))));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SvgDownload);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9pY29ucy9kb3dubG9hZC5zdmciLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQSxzQkFBc0Isc0VBQXNFLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCxpQ0FBaUMsa0JBQWtCO0FBQzNRO0FBQy9CO0FBQ0Esc0JBQXNCLGdEQUFtQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyx5Q0FBeUMsZ0RBQW1CLDRCQUE0QixnREFBbUI7QUFDOUc7QUFDQTtBQUNBLEdBQUcsa0JBQWtCLGdEQUFtQiwyQ0FBMkMsZ0RBQW1CO0FBQ3RHO0FBQ0E7QUFDQSxHQUFHLGVBQWUsZ0RBQW1CO0FBQ3JDO0FBQ0EsR0FBRyxrQkFBa0IsZ0RBQW1CO0FBQ3hDO0FBQ0EsR0FBRyxlQUFlLGdEQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHLGdCQUFnQixnREFBbUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRyxnQkFBZ0IsZ0RBQW1CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCLGdEQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHLGdCQUFnQixnREFBbUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRyxnQkFBZ0IsZ0RBQW1CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLCtEQUFlLFdBQVciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vYXBwL2ljb25zL2Rvd25sb2FkLnN2Zz81ODQxIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfZGVmcywgX21hc2s7XG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xudmFyIFN2Z0Rvd25sb2FkID0gZnVuY3Rpb24gU3ZnRG93bmxvYWQocHJvcHMpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIF9leHRlbmRzKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICAgIHdpZHRoOiAxNixcbiAgICBoZWlnaHQ6IDE2LFxuICAgIGZpbGw6IFwibm9uZVwiXG4gIH0sIHByb3BzKSwgX2RlZnMgfHwgKF9kZWZzID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkZWZzXCIsIG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgaWQ6IFwiZG93bmxvYWRfc3ZnX19hXCIsXG4gICAgZDogXCJNMCAwaDE2djE2SDB6XCJcbiAgfSkpKSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJnXCIsIG51bGwsIF9tYXNrIHx8IChfbWFzayA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwibWFza1wiLCB7XG4gICAgaWQ6IFwiZG93bmxvYWRfc3ZnX19iXCIsXG4gICAgZmlsbDogXCIjZmZmXCJcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ1c2VcIiwge1xuICAgIHhsaW5rSHJlZjogXCIjZG93bmxvYWRfc3ZnX19hXCJcbiAgfSkpKSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJnXCIsIHtcbiAgICBtYXNrOiBcInVybCgjZG93bmxvYWRfc3ZnX19iKVwiXG4gIH0sIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIHN0cm9rZTogXCIjMzMzXCIsXG4gICAgICBzdHJva2VXaWR0aDogMS4zMzMzMzMzMzMzMzMzMzMzLFxuICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcbiAgICAgIHN0cm9rZURhc2hhcnJheTogXCIwIDBcIlxuICAgIH0sXG4gICAgZDogXCJNMSAxMmgxMGMuNTUgMCAxLS40NSAxLTFWMWMwLS41NS0uNDUtMS0xLTFIMUMuNDUgMCAwIC40NSAwIDF2MTBjMCAuNTUuNDUgMSAxIDFaXCIsXG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgyIDIpXCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIHN0cm9rZTogXCIjMzMzXCIsXG4gICAgICBzdHJva2VXaWR0aDogMS4zMzMzMzMzMzMzMzMzMzMzLFxuICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcbiAgICAgIHN0cm9rZURhc2hhcnJheTogXCIwIDBcIlxuICAgIH0sXG4gICAgZDogXCJNMCAwaDMuNjdsLjY2IDEuMzNIOUw5LjY3IDBoMy42NlwiLFxuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoMS4zMzMgMTAuMzMzKVwiXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0eWxlOiB7XG4gICAgICBzdHJva2U6IFwiIzMzM1wiLFxuICAgICAgc3Ryb2tlV2lkdGg6IDEuMzMzMzMzMzMzMzMzMzMzMyxcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICBzdHJva2VEYXNoYXJyYXk6IFwiMCAwXCJcbiAgICB9LFxuICAgIGQ6IFwiTTAgMy4zM1YwXCIsXG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgxNCA4LjY2NylcIlxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgc3Ryb2tlOiBcIiMzMzNcIixcbiAgICAgIHN0cm9rZVdpZHRoOiAxLjMzMzMzMzMzMzMzMzMzMzMsXG4gICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIjAgMFwiXG4gICAgfSxcbiAgICBkOiBcIm0wIDAgMiAyIDItMlwiLFxuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoNiA3LjMzMylcIlxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgc3Ryb2tlOiBcIiMzMzNcIixcbiAgICAgIHN0cm9rZVdpZHRoOiAxLjMzMzMzMzMzMzMzMzMzMzMsXG4gICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIjAgMFwiXG4gICAgfSxcbiAgICBkOiBcIk0wIDUuMzNWMFwiLFxuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoOCA0KVwiXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0eWxlOiB7XG4gICAgICBzdHJva2U6IFwiIzMzM1wiLFxuICAgICAgc3Ryb2tlV2lkdGg6IDEuMzMzMzMzMzMzMzMzMzMzMyxcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICBzdHJva2VEYXNoYXJyYXk6IFwiMCAwXCJcbiAgICB9LFxuICAgIGQ6IFwiTTAgMy4zM1YwXCIsXG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgyIDguNjY3KVwiXG4gIH0pKSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IFN2Z0Rvd25sb2FkOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/icons/download.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./app/icons/upload.svg":
/*!******************************!*\
!*** ./app/icons/upload.svg ***!
\******************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar _mask, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SvgUpload = function SvgUpload(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", null, _mask || (_mask = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"mask\", {\n id: \"upload_svg__b\",\n fill: \"#fff\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"use\", {\n xlinkHref: \"#upload_svg__a\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"g\", {\n mask: \"url(#upload_svg__b)\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M1.822 14.178A1.659 1.659 0 0 1 1.333 13V3a1.658 1.658 0 0 1 .489-1.178A1.658 1.658 0 0 1 3 1.333h10a1.659 1.659 0 0 1 1.178.489A1.658 1.658 0 0 1 14.667 3v10a1.659 1.659 0 0 1-1.018 1.535 1.643 1.643 0 0 1-.649.132H3a1.658 1.658 0 0 1-1.178-.489zm11.413-.943a.32.32 0 0 0 .098-.235V3a.32.32 0 0 0-.098-.235.32.32 0 0 0-.235-.098H3a.32.32 0 0 0-.235.098.32.32 0 0 0-.098.235v10c0 .09.033.17.098.235a.32.32 0 0 0 .235.098h10a.32.32 0 0 0 .235-.098z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M5.186 9.692a.664.664 0 0 1 .415.345l.476.96h3.846l.485-.964a.66.66 0 0 1 .414-.341.664.664 0 0 1 .181-.025h3.66a.665.665 0 0 1 .654.796.667.667 0 0 1-.654.537h-3.249l-.485.963a.665.665 0 0 1-.596.367h-4.67a.664.664 0 0 1-.597-.37L4.59 11H1.333a.666.666 0 1 1 0-1.333h3.67c.062 0 .123.008.183.025z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M13.333 12V8.667a.666.666 0 1 1 1.334 0V12a.666.666 0 1 1-1.334 0zM7.63 3.446a.664.664 0 0 1 .841.083l2 2a.667.667 0 0 1-.942.942L8 4.943 6.471 6.47A.66.66 0 0 1 6 6.667a.66.66 0 0 1-.554-.297.665.665 0 0 1 .083-.841l2-2a.665.665 0 0 1 .1-.083z\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n style: {\n fill: \"#333\",\n opacity: 1\n },\n d: \"M8.667 4v5.333a.665.665 0 0 1-1.037.554.665.665 0 0 1-.297-.554V4a.665.665 0 0 1 1.037-.554.665.665 0 0 1 .297.554zM1.333 12V8.667a.665.665 0 0 1 1.037-.555.665.665 0 0 1 .297.555V12a.665.665 0 0 1-1.138.471.664.664 0 0 1-.196-.471z\"\n }))), _defs || (_defs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"defs\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n id: \"upload_svg__a\",\n d: \"M0 0h16v16H0z\"\n }))));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SvgUpload);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9pY29ucy91cGxvYWQuc3ZnIiwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0Esc0JBQXNCLHNFQUFzRSxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsaUNBQWlDLGtCQUFrQjtBQUMzUTtBQUMvQjtBQUNBLHNCQUFzQixnREFBbUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsdUJBQXVCLGdEQUFtQiwyQ0FBMkMsZ0RBQW1CO0FBQzNHO0FBQ0E7QUFDQSxHQUFHLGVBQWUsZ0RBQW1CO0FBQ3JDO0FBQ0EsR0FBRyxrQkFBa0IsZ0RBQW1CO0FBQ3hDO0FBQ0EsR0FBRyxlQUFlLGdEQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHLGdCQUFnQixnREFBbUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRyxnQkFBZ0IsZ0RBQW1CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUcsZ0JBQWdCLGdEQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHLG9DQUFvQyxnREFBbUIsNEJBQTRCLGdEQUFtQjtBQUN6RztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsK0RBQWUsU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9hcHAvaWNvbnMvdXBsb2FkLnN2Zz84NDBiIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfbWFzaywgX2RlZnM7XG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xudmFyIFN2Z1VwbG9hZCA9IGZ1bmN0aW9uIFN2Z1VwbG9hZChwcm9wcykge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgX2V4dGVuZHMoe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gICAgd2lkdGg6IDE2LFxuICAgIGhlaWdodDogMTYsXG4gICAgZmlsbDogXCJub25lXCJcbiAgfSwgcHJvcHMpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImdcIiwgbnVsbCwgX21hc2sgfHwgKF9tYXNrID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJtYXNrXCIsIHtcbiAgICBpZDogXCJ1cGxvYWRfc3ZnX19iXCIsXG4gICAgZmlsbDogXCIjZmZmXCJcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ1c2VcIiwge1xuICAgIHhsaW5rSHJlZjogXCIjdXBsb2FkX3N2Z19fYVwiXG4gIH0pKSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZ1wiLCB7XG4gICAgbWFzazogXCJ1cmwoI3VwbG9hZF9zdmdfX2IpXCJcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHlsZToge1xuICAgICAgZmlsbDogXCIjMzMzXCIsXG4gICAgICBvcGFjaXR5OiAxXG4gICAgfSxcbiAgICBkOiBcIk0xLjgyMiAxNC4xNzhBMS42NTkgMS42NTkgMCAwIDEgMS4zMzMgMTNWM2ExLjY1OCAxLjY1OCAwIDAgMSAuNDg5LTEuMTc4QTEuNjU4IDEuNjU4IDAgMCAxIDMgMS4zMzNoMTBhMS42NTkgMS42NTkgMCAwIDEgMS4xNzguNDg5QTEuNjU4IDEuNjU4IDAgMCAxIDE0LjY2NyAzdjEwYTEuNjU5IDEuNjU5IDAgMCAxLTEuMDE4IDEuNTM1IDEuNjQzIDEuNjQzIDAgMCAxLS42NDkuMTMySDNhMS42NTggMS42NTggMCAwIDEtMS4xNzgtLjQ4OXptMTEuNDEzLS45NDNhLjMyLjMyIDAgMCAwIC4wOTgtLjIzNVYzYS4zMi4zMiAwIDAgMC0uMDk4LS4yMzUuMzIuMzIgMCAwIDAtLjIzNS0uMDk4SDNhLjMyLjMyIDAgMCAwLS4yMzUuMDk4LjMyLjMyIDAgMCAwLS4wOTguMjM1djEwYzAgLjA5LjAzMy4xNy4wOTguMjM1YS4zMi4zMiAwIDAgMCAuMjM1LjA5OGgxMGEuMzIuMzIgMCAwIDAgLjIzNS0uMDk4elwiXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0eWxlOiB7XG4gICAgICBmaWxsOiBcIiMzMzNcIixcbiAgICAgIG9wYWNpdHk6IDFcbiAgICB9LFxuICAgIGQ6IFwiTTUuMTg2IDkuNjkyYS42NjQuNjY0IDAgMCAxIC40MTUuMzQ1bC40NzYuOTZoMy44NDZsLjQ4NS0uOTY0YS42Ni42NiAwIDAgMSAuNDE0LS4zNDEuNjY0LjY2NCAwIDAgMSAuMTgxLS4wMjVoMy42NmEuNjY1LjY2NSAwIDAgMSAuNjU0Ljc5Ni42NjcuNjY3IDAgMCAxLS42NTQuNTM3aC0zLjI0OWwtLjQ4NS45NjNhLjY2NS42NjUgMCAwIDEtLjU5Ni4zNjdoLTQuNjdhLjY2NC42NjQgMCAwIDEtLjU5Ny0uMzdMNC41OSAxMUgxLjMzM2EuNjY2LjY2NiAwIDEgMSAwLTEuMzMzaDMuNjdjLjA2MiAwIC4xMjMuMDA4LjE4My4wMjV6XCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGZpbGw6IFwiIzMzM1wiLFxuICAgICAgb3BhY2l0eTogMVxuICAgIH0sXG4gICAgZDogXCJNMTMuMzMzIDEyVjguNjY3YS42NjYuNjY2IDAgMSAxIDEuMzM0IDBWMTJhLjY2Ni42NjYgMCAxIDEtMS4zMzQgMHpNNy42MyAzLjQ0NmEuNjY0LjY2NCAwIDAgMSAuODQxLjA4M2wyIDJhLjY2Ny42NjcgMCAwIDEtLjk0Mi45NDJMOCA0Ljk0MyA2LjQ3MSA2LjQ3QS42Ni42NiAwIDAgMSA2IDYuNjY3YS42Ni42NiAwIDAgMS0uNTU0LS4yOTcuNjY1LjY2NSAwIDAgMSAuMDgzLS44NDFsMi0yYS42NjUuNjY1IDAgMCAxIC4xLS4wODN6XCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGZpbGw6IFwiIzMzM1wiLFxuICAgICAgb3BhY2l0eTogMVxuICAgIH0sXG4gICAgZDogXCJNOC42NjcgNHY1LjMzM2EuNjY1LjY2NSAwIDAgMS0xLjAzNy41NTQuNjY1LjY2NSAwIDAgMS0uMjk3LS41NTRWNGEuNjY1LjY2NSAwIDAgMSAxLjAzNy0uNTU0LjY2NS42NjUgMCAwIDEgLjI5Ny41NTR6TTEuMzMzIDEyVjguNjY3YS42NjUuNjY1IDAgMCAxIDEuMDM3LS41NTUuNjY1LjY2NSAwIDAgMSAuMjk3LjU1NVYxMmEuNjY1LjY2NSAwIDAgMS0xLjEzOC40NzEuNjY0LjY2NCAwIDAgMS0uMTk2LS40NzF6XCJcbiAgfSkpKSwgX2RlZnMgfHwgKF9kZWZzID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkZWZzXCIsIG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgaWQ6IFwidXBsb2FkX3N2Z19fYVwiLFxuICAgIGQ6IFwiTTAgMGgxNnYxNkgwelwiXG4gIH0pKSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IFN2Z1VwbG9hZDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/icons/upload.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./app/components/settings.tsx":
/*!*************************************!*\
!*** ./app/components/settings.tsx ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Settings: function() { return /* binding */ Settings; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _settings_module_scss__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./settings.module.scss */ \"(app-pages-browser)/./app/components/settings.module.scss\");\n/* harmony import */ var _settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_settings_module_scss__WEBPACK_IMPORTED_MODULE_37__);\n/* harmony import */ var _icons_reload_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/reload.svg */ \"(app-pages-browser)/./app/icons/reload.svg\");\n/* harmony import */ var _icons_add_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/add.svg */ \"(app-pages-browser)/./app/icons/add.svg\");\n/* harmony import */ var _icons_close_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icons/close.svg */ \"(app-pages-browser)/./app/icons/close.svg\");\n/* harmony import */ var _icons_copy_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icons/copy.svg */ \"(app-pages-browser)/./app/icons/copy.svg\");\n/* harmony import */ var _icons_clear_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../icons/clear.svg */ \"(app-pages-browser)/./app/icons/clear.svg\");\n/* harmony import */ var _icons_three_dots_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icons/three-dots.svg */ \"(app-pages-browser)/./app/icons/three-dots.svg\");\n/* harmony import */ var _icons_edit_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icons/edit.svg */ \"(app-pages-browser)/./app/icons/edit.svg\");\n/* harmony import */ var _icons_fire_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../icons/fire.svg */ \"(app-pages-browser)/./app/icons/fire.svg\");\n/* harmony import */ var _icons_eye_svg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../icons/eye.svg */ \"(app-pages-browser)/./app/icons/eye.svg\");\n/* harmony import */ var _icons_download_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../icons/download.svg */ \"(app-pages-browser)/./app/icons/download.svg\");\n/* harmony import */ var _icons_upload_svg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../icons/upload.svg */ \"(app-pages-browser)/./app/icons/upload.svg\");\n/* harmony import */ var _icons_config_svg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../icons/config.svg */ \"(app-pages-browser)/./app/icons/config.svg\");\n/* harmony import */ var _icons_confirm_svg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../icons/confirm.svg */ \"(app-pages-browser)/./app/icons/confirm.svg\");\n/* harmony import */ var _icons_connection_svg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../icons/connection.svg */ \"(app-pages-browser)/./app/icons/connection.svg\");\n/* harmony import */ var _icons_cloud_success_svg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../icons/cloud-success.svg */ \"(app-pages-browser)/./app/icons/cloud-success.svg\");\n/* harmony import */ var _icons_cloud_fail_svg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../icons/cloud-fail.svg */ \"(app-pages-browser)/./app/icons/cloud-fail.svg\");\n/* harmony import */ var _utils_auth_settings_events__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/auth-settings-events */ \"(app-pages-browser)/./app/utils/auth-settings-events.ts\");\n/* harmony import */ var _ui_lib__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ui-lib */ \"(app-pages-browser)/./app/components/ui-lib.tsx\");\n/* harmony import */ var _model_config__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./model-config */ \"(app-pages-browser)/./app/components/model-config.tsx\");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./button */ \"(app-pages-browser)/./app/components/button.tsx\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../store */ \"(app-pages-browser)/./app/store/index.ts\");\n/* harmony import */ var _locales__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../locales */ \"(app-pages-browser)/./app/locales/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils */ \"(app-pages-browser)/./app/utils.ts\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../constant */ \"(app-pages-browser)/./app/constant.ts\");\n/* harmony import */ var _store_prompt__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../store/prompt */ \"(app-pages-browser)/./app/store/prompt.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./error */ \"(app-pages-browser)/./app/components/error.tsx\");\n/* harmony import */ var _input_range__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./input-range */ \"(app-pages-browser)/./app/components/input-range.tsx\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! react-router-dom */ \"(app-pages-browser)/./node_modules/react-router/dist/index.js\");\n/* harmony import */ var _emoji__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./emoji */ \"(app-pages-browser)/./app/components/emoji.tsx\");\n/* harmony import */ var _config_client__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../config/client */ \"(app-pages-browser)/./app/config/client.ts\");\n/* harmony import */ var _store_sync__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../store/sync */ \"(app-pages-browser)/./app/store/sync.ts\");\n/* harmony import */ var nanoid__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! nanoid */ \"(app-pages-browser)/./node_modules/nanoid/index.browser.js\");\n/* harmony import */ var _store_mask__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../store/mask */ \"(app-pages-browser)/./app/store/mask.ts\");\n/* harmony import */ var _utils_cloud__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../utils/cloud */ \"(app-pages-browser)/./app/utils/cloud/index.ts\");\n/* harmony import */ var _tts_config__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./tts-config */ \"(app-pages-browser)/./app/components/tts-config.tsx\");\n/* harmony import */ var _realtime_chat_realtime_config__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./realtime-chat/realtime-config */ \"(app-pages-browser)/./app/components/realtime-chat/realtime-config.tsx\");\n\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$(), _s3 = $RefreshSig$(), _s4 = $RefreshSig$(), _s5 = $RefreshSig$(), _s6 = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction EditPromptModal(props) {\n _s();\n const promptStore = (0,_store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore)();\n const prompt = promptStore.get(props.id);\n return prompt ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"modal-mask\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Modal, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.EditModal.Title,\n onClose: props.onClose,\n actions: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n onClick: props.onClose,\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Confirm,\n bordered: true\n }, \"\", false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 102,\n columnNumber: 11\n }, void 0)\n ],\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"edit-prompt-modal\"]),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: prompt.title,\n readOnly: !prompt.isUser,\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"edit-prompt-title\"]),\n onInput: (e)=>promptStore.updatePrompt(props.id, (prompt)=>prompt.title = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 111,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Input, {\n value: prompt.content,\n readOnly: !prompt.isUser,\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"edit-prompt-content\"]),\n rows: 10,\n onInput: (e)=>promptStore.updatePrompt(props.id, (prompt)=>prompt.content = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 123,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 98,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 97,\n columnNumber: 5\n }, this) : null;\n}\n_s(EditPromptModal, \"EzYblIzMAFxPJK+yzvwKHzO38X8=\", false, function() {\n return [\n _store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore\n ];\n});\n_c = EditPromptModal;\nfunction UserPromptModal(props) {\n _s1();\n const promptStore = (0,_store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore)();\n const userPrompts = promptStore.getUserPrompts();\n const builtinPrompts = _store_prompt__WEBPACK_IMPORTED_MODULE_27__.SearchService.builtinPrompts;\n const allPrompts = userPrompts.concat(builtinPrompts);\n const [searchInput, setSearchInput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [searchPrompts, setSearchPrompts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const prompts = searchInput.length > 0 ? searchPrompts : allPrompts;\n const [editingPromptId, setEditingPromptId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (searchInput.length > 0) {\n const searchResult = _store_prompt__WEBPACK_IMPORTED_MODULE_27__.SearchService.search(searchInput);\n setSearchPrompts(searchResult);\n } else {\n setSearchPrompts([]);\n }\n }, [\n searchInput\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"modal-mask\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Modal, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Modal.Title,\n onClose: ()=>{\n var _props_onClose;\n return (_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props);\n },\n actions: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n onClick: ()=>{\n const promptId = promptStore.add({\n id: (0,nanoid__WEBPACK_IMPORTED_MODULE_38__.nanoid)(),\n createdAt: Date.now(),\n title: \"Empty Prompt\",\n content: \"Empty Prompt Content\"\n });\n setEditingPromptId(promptId);\n },\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_add_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 178,\n columnNumber: 19\n }, void 0),\n bordered: true,\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Modal.Add\n }, \"add\", false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 167,\n columnNumber: 11\n }, void 0)\n ],\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-modal\"]),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-search\"]),\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Modal.Search,\n value: searchInput,\n onInput: (e)=>setSearchInput(e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 185,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-list\"]),\n children: prompts.map((v, _)=>/*#__PURE__*/ {\n var _v_id;\n return (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-item\"]),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-header\"]),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-title\"]),\n children: v.title\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 197,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-content\"]) + \" one-line\",\n children: v.content\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 198,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 196,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-buttons\"]),\n children: [\n v.isUser && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_clear_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 206,\n columnNumber: 29\n }, void 0),\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-button\"]),\n onClick: ()=>promptStore.remove(v.id)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 205,\n columnNumber: 21\n }, this),\n v.isUser ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_edit_svg__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 213,\n columnNumber: 29\n }, void 0),\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-button\"]),\n onClick: ()=>setEditingPromptId(v.id)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 212,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_eye_svg__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 219,\n columnNumber: 29\n }, void 0),\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-button\"]),\n onClick: ()=>setEditingPromptId(v.id)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 218,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_copy_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 225,\n columnNumber: 27\n }, void 0),\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"user-prompt-button\"]),\n onClick: ()=>(0,_utils__WEBPACK_IMPORTED_MODULE_24__.copyToClipboard)(v.content)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 224,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 203,\n columnNumber: 17\n }, this)\n ]\n }, (_v_id = v.id) !== null && _v_id !== void 0 ? _v_id : v.title, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 195,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 193,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 163,\n columnNumber: 7\n }, this),\n editingPromptId !== undefined && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(EditPromptModal, {\n id: editingPromptId,\n onClose: ()=>setEditingPromptId(undefined)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 162,\n columnNumber: 5\n }, this);\n}\n_s1(UserPromptModal, \"j8e7IC+Qorb6vYwwV+saiLvwdt4=\", false, function() {\n return [\n _store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore\n ];\n});\n_c1 = UserPromptModal;\nfunction DangerItems() {\n _s2();\n const chatStore = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useChatStore)();\n const appConfig = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useAppConfig)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Reset.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Reset.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Reset.Title,\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Reset.Action,\n onClick: async ()=>{\n if (await (0,_ui_lib__WEBPACK_IMPORTED_MODULE_19__.showConfirm)(_locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Reset.Confirm)) {\n appConfig.reset();\n }\n },\n type: \"danger\"\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 252,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Clear.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Clear.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Clear.Title,\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Clear.Action,\n onClick: async ()=>{\n if (await (0,_ui_lib__WEBPACK_IMPORTED_MODULE_19__.showConfirm)(_locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Danger.Clear.Confirm)) {\n chatStore.clearAllData();\n }\n },\n type: \"danger\"\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 267,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 251,\n columnNumber: 5\n }, this);\n}\n_s2(DangerItems, \"bujEX65sRm+zZElj4DteQrQ/PHM=\", false, function() {\n return [\n _store__WEBPACK_IMPORTED_MODULE_22__.useChatStore,\n _store__WEBPACK_IMPORTED_MODULE_22__.useAppConfig\n ];\n});\n_c2 = DangerItems;\nfunction CheckButton() {\n _s3();\n const syncStore = (0,_store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore)();\n const couldCheck = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return syncStore.cloudSync();\n }, [\n syncStore\n ]);\n const [checkState, setCheckState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"none\");\n async function check() {\n setCheckState(\"checking\");\n const valid = await syncStore.check();\n setCheckState(valid ? \"success\" : \"failed\");\n }\n if (!couldCheck) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.Modal.Check,\n bordered: true,\n onClick: check,\n icon: checkState === \"none\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_connection_svg__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 312,\n columnNumber: 11\n }, void 0) : checkState === \"checking\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_three_dots_svg__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 314,\n columnNumber: 11\n }, void 0) : checkState === \"success\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_cloud_success_svg__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 316,\n columnNumber: 11\n }, void 0) : checkState === \"failed\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_cloud_fail_svg__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 318,\n columnNumber: 11\n }, void 0) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_connection_svg__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 320,\n columnNumber: 11\n }, void 0)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 306,\n columnNumber: 5\n }, this);\n}\n_s3(CheckButton, \"/6RI3yEungwoEAZn8dbo3xLpAIg=\", false, function() {\n return [\n _store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore\n ];\n});\n_c3 = CheckButton;\nfunction SyncConfigModal(props) {\n _s4();\n const syncStore = (0,_store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"modal-mask\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Modal, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.Modal.Title,\n onClose: ()=>{\n var _props_onClose;\n return (_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props);\n },\n actions: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(CheckButton, {}, \"check\", false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 336,\n columnNumber: 11\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n onClick: props.onClose,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_confirm_svg__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 340,\n columnNumber: 19\n }, void 0),\n bordered: true,\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Confirm\n }, \"confirm\", false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 337,\n columnNumber: 11\n }, void 0)\n ],\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.SyncType.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.SyncType.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: syncStore.provider,\n onChange: (e)=>{\n syncStore.update((config)=>config.provider = e.target.value);\n },\n children: Object.entries(_utils_cloud__WEBPACK_IMPORTED_MODULE_34__.ProviderType).map((param)=>{\n let [k, v] = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: v,\n children: k\n }, k, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 361,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 351,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 347,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.Proxy.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.Proxy.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n checked: syncStore.useProxy,\n onChange: (e)=>{\n syncStore.update((config)=>config.useProxy = e.currentTarget.checked);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 372,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 368,\n columnNumber: 11\n }, this),\n syncStore.useProxy ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.ProxyUrl.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.ProxyUrl.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: syncStore.proxyUrl,\n onChange: (e)=>{\n syncStore.update((config)=>config.proxyUrl = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 387,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 383,\n columnNumber: 13\n }, this) : null\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 346,\n columnNumber: 9\n }, this),\n syncStore.provider === _utils_cloud__WEBPACK_IMPORTED_MODULE_34__.ProviderType.WebDAV && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.WebDav.Endpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: syncStore.webdav.endpoint,\n onChange: (e)=>{\n syncStore.update((config)=>config.webdav.endpoint = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 404,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 403,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.WebDav.UserName,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: syncStore.webdav.username,\n onChange: (e)=>{\n syncStore.update((config)=>config.webdav.username = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 417,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 416,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.WebDav.Password,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n value: syncStore.webdav.password,\n onChange: (e)=>{\n syncStore.update((config)=>config.webdav.password = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 429,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 428,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 402,\n columnNumber: 13\n }, this)\n }, void 0, false),\n syncStore.provider === _utils_cloud__WEBPACK_IMPORTED_MODULE_34__.ProviderType.UpStash && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.UpStash.Endpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: syncStore.upstash.endpoint,\n onChange: (e)=>{\n syncStore.update((config)=>config.upstash.endpoint = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 446,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 445,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.UpStash.UserName,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: syncStore.upstash.username,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.STORAGE_KEY,\n onChange: (e)=>{\n syncStore.update((config)=>config.upstash.username = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 459,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 458,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Config.UpStash.Password,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n value: syncStore.upstash.apiKey,\n onChange: (e)=>{\n syncStore.update((config)=>config.upstash.apiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 472,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 471,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 444,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 332,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 331,\n columnNumber: 5\n }, this);\n}\n_s4(SyncConfigModal, \"7LGHNOh5zyQVSbzbR8YwVjAXtoY=\", false, function() {\n return [\n _store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore\n ];\n});\n_c4 = SyncConfigModal;\nfunction SyncItems() {\n _s5();\n const syncStore = (0,_store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore)();\n const chatStore = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useChatStore)();\n const promptStore = (0,_store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore)();\n const maskStore = (0,_store_mask__WEBPACK_IMPORTED_MODULE_33__.useMaskStore)();\n const couldSync = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return syncStore.cloudSync();\n }, [\n syncStore\n ]);\n const [showSyncConfigModal, setShowSyncConfigModal] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const stateOverview = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n const sessions = chatStore.sessions;\n const messageCount = sessions.reduce((p, c)=>p + c.messages.length, 0);\n return {\n chat: sessions.length,\n message: messageCount,\n prompt: Object.keys(promptStore.prompts).length,\n mask: Object.keys(maskStore.masks).length\n };\n }, [\n chatStore.sessions,\n maskStore.masks,\n promptStore.prompts\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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.CloudState,\n subTitle: syncStore.lastProvider ? \"\".concat(new Date(syncStore.lastSyncTime).toLocaleString(), \" [\").concat(syncStore.lastProvider, \"]\") : _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.NotSyncYet,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.CloudState + _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Config,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_config_svg__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 527,\n columnNumber: 21\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Config,\n onClick: ()=>{\n setShowSyncConfigModal(true);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 525,\n columnNumber: 13\n }, this),\n couldSync && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_reload_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 535,\n columnNumber: 23\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Sync,\n onClick: async ()=>{\n try {\n await syncStore.sync();\n (0,_ui_lib__WEBPACK_IMPORTED_MODULE_19__.showToast)(_locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Success);\n } catch (e) {\n (0,_ui_lib__WEBPACK_IMPORTED_MODULE_19__.showToast)(_locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Fail);\n console.error(\"[Sync]\", e);\n }\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 534,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 524,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 514,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.LocalState,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.Overview(stateOverview),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.LocalState + _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Export,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_upload_svg__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 558,\n columnNumber: 21\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Export,\n onClick: ()=>{\n syncStore.export();\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 556,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Sync.LocalState + _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Import,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_download_svg__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 566,\n columnNumber: 21\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Import,\n onClick: ()=>{\n syncStore.import();\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 564,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 555,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 551,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 513,\n columnNumber: 7\n }, this),\n showSyncConfigModal && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SyncConfigModal, {\n onClose: ()=>setShowSyncConfigModal(false)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 577,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true);\n}\n_s5(SyncItems, \"nX5YTDzhgMuya10UCPA20+lQ5Uw=\", false, function() {\n return [\n _store_sync__WEBPACK_IMPORTED_MODULE_32__.useSyncStore,\n _store__WEBPACK_IMPORTED_MODULE_22__.useChatStore,\n _store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore,\n _store_mask__WEBPACK_IMPORTED_MODULE_33__.useMaskStore\n ];\n});\n_c5 = SyncItems;\nfunction Settings() {\n var _getClientConfig;\n _s6();\n const navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_39__.useNavigate)();\n const [showEmojiPicker, setShowEmojiPicker] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const config = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useAppConfig)();\n const updateConfig = config.update;\n const updateStore = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useUpdateStore)();\n const [checkingUpdate, setCheckingUpdate] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const currentVersion = updateStore.formatVersion(updateStore.version);\n const remoteId = updateStore.formatVersion(updateStore.remoteVersion);\n const hasNewVersion = (0,_utils__WEBPACK_IMPORTED_MODULE_24__.semverCompare)(currentVersion, remoteId) === -1;\n const updateUrl = ((_getClientConfig = (0,_config_client__WEBPACK_IMPORTED_MODULE_31__.getClientConfig)()) === null || _getClientConfig === void 0 ? void 0 : _getClientConfig.isApp) ? _constant__WEBPACK_IMPORTED_MODULE_26__.RELEASE_URL : _constant__WEBPACK_IMPORTED_MODULE_26__.UPDATE_URL;\n function checkUpdate() {\n let force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n setCheckingUpdate(true);\n updateStore.getLatestVersion(force).then(()=>{\n setCheckingUpdate(false);\n });\n console.log(\"[Update] local version \", updateStore.version);\n console.log(\"[Update] remote version \", updateStore.remoteVersion);\n }\n const accessStore = (0,_store__WEBPACK_IMPORTED_MODULE_22__.useAccessStore)();\n const shouldHideBalanceQuery = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n const isOpenAiUrl = accessStore.openaiUrl.includes(_constant__WEBPACK_IMPORTED_MODULE_26__.OPENAI_BASE_URL);\n return accessStore.hideBalanceQuery || isOpenAiUrl || accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Azure;\n }, [\n accessStore.hideBalanceQuery,\n accessStore.openaiUrl,\n accessStore.provider\n ]);\n const usage = {\n used: updateStore.used,\n subscription: updateStore.subscription\n };\n const [loadingUsage, setLoadingUsage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n function checkUsage() {\n let force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n if (shouldHideBalanceQuery) {\n return;\n }\n setLoadingUsage(true);\n updateStore.updateUsage(force).finally(()=>{\n setLoadingUsage(false);\n });\n }\n const enabledAccessControl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>accessStore.enabledAccessControl(), // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const promptStore = (0,_store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore)();\n const builtinCount = _store_prompt__WEBPACK_IMPORTED_MODULE_27__.SearchService.count.builtin;\n var _promptStore_getUserPrompts_length;\n const customCount = (_promptStore_getUserPrompts_length = promptStore.getUserPrompts().length) !== null && _promptStore_getUserPrompts_length !== void 0 ? _promptStore_getUserPrompts_length : 0;\n const [shouldShowPromptModal, setShowPromptModal] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const showUsage = accessStore.isAuthorized();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n // checks per minutes\n checkUpdate();\n showUsage && checkUsage();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const keydownEvent = (e)=>{\n if (e.key === \"Escape\") {\n navigate(_constant__WEBPACK_IMPORTED_MODULE_26__.Path.Home);\n }\n };\n if (clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.isApp) {\n // Force to set custom endpoint to true if it's app\n accessStore.update((state)=>{\n state.useCustomConfig = true;\n });\n }\n document.addEventListener(\"keydown\", keydownEvent);\n return ()=>{\n document.removeEventListener(\"keydown\", keydownEvent);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const clientConfig = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_config_client__WEBPACK_IMPORTED_MODULE_31__.getClientConfig)(), []);\n const showAccessCode = enabledAccessControl && !(clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.isApp);\n const accessCodeComponent = showAccessCode && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.AccessCode.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.AccessCode.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n value: accessStore.accessCode,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.AccessCode.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.accessCode = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 683,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 679,\n columnNumber: 5\n }, this);\n const saasStartComponent = /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default()[\"subtitle-button\"]),\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.Title + \"\".concat(_locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.Label),\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.Title + _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.ChatNow,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_fire_svg__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 710,\n columnNumber: 15\n }, void 0),\n type: \"primary\",\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SaasStart.ChatNow,\n onClick: ()=>{\n (0,_utils_auth_settings_events__WEBPACK_IMPORTED_MODULE_18__.trackSettingsPageGuideToCPaymentClick)();\n window.location.href = _constant__WEBPACK_IMPORTED_MODULE_26__.SAAS_CHAT_URL;\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 705,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 697,\n columnNumber: 5\n }, this);\n const useCustomConfigComponent = !(clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.isApp) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomEndpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomEndpoint.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomEndpoint.Title,\n type: \"checkbox\",\n checked: accessStore.useCustomConfig,\n onChange: (e)=>accessStore.update((access)=>access.useCustomConfig = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 727,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 723,\n columnNumber: 7\n }, this);\n const openAIConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.OpenAI && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.Endpoint.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.Endpoint.Title,\n type: \"text\",\n value: accessStore.openaiUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.OPENAI_BASE_URL,\n onChange: (e)=>accessStore.update((access)=>access.openaiUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 747,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 743,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.ShowPassword,\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.ApiKey.Title,\n value: accessStore.openaiApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.OpenAI.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.openaiApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 763,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 759,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const azureConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Azure && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Azure.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.Endpoint.Title,\n type: \"text\",\n value: accessStore.azureUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Azure.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.azureUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 788,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 782,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiKey.Title,\n value: accessStore.azureApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.azureApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 804,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 800,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiVerion.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiVerion.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Azure.ApiVerion.Title,\n type: \"text\",\n value: accessStore.azureApiVersion,\n placeholder: \"2023-08-01-preview\",\n onChange: (e)=>accessStore.update((access)=>access.azureApiVersion = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 820,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 816,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const googleConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Google && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Google.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.Endpoint.Title,\n type: \"text\",\n value: accessStore.googleUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Google.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.googleUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 845,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 838,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiKey.Title,\n value: accessStore.googleApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.googleApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 861,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 857,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiVersion.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiVersion.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.ApiVersion.Title,\n type: \"text\",\n value: accessStore.googleApiVersion,\n placeholder: \"2023-08-01-preview\",\n onChange: (e)=>accessStore.update((access)=>access.googleApiVersion = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 877,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 873,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.GoogleSafetySettings.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.GoogleSafetySettings.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Select, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Google.GoogleSafetySettings.Title,\n value: accessStore.googleSafetySettings,\n onChange: (e)=>{\n accessStore.update((access)=>access.googleSafetySettings = e.target.value);\n },\n children: Object.entries(_constant__WEBPACK_IMPORTED_MODULE_26__.GoogleSafetySettingsThreshold).map((param)=>{\n let [k, v] = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: v,\n children: k\n }, k, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 905,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 893,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 889,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const anthropicConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Anthropic && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Anthropic.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.Endpoint.Title,\n type: \"text\",\n value: accessStore.anthropicUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Anthropic.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.anthropicUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 924,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 917,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiKey.Title,\n value: accessStore.anthropicApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.anthropicApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 940,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 936,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiVerion.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiVerion.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Anthropic.ApiVerion.Title,\n type: \"text\",\n value: accessStore.anthropicApiVersion,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Anthropic.Vision,\n onChange: (e)=>accessStore.update((access)=>access.anthropicApiVersion = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 956,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 952,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const baiduConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Baidu && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.Endpoint.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.Endpoint.Title,\n type: \"text\",\n value: accessStore.baiduUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Baidu.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.baiduUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 978,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 974,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.ApiKey.Title,\n value: accessStore.baiduApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.baiduApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 994,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 990,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.SecretKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.SecretKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.SecretKey.Title,\n value: accessStore.baiduSecretKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Baidu.SecretKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.baiduSecretKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1010,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1006,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const tencentConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Tencent && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.Endpoint.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.Endpoint.Title,\n type: \"text\",\n value: accessStore.tencentUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Tencent.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.tencentUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1032,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1028,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.ApiKey.Title,\n value: accessStore.tencentSecretId,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.tencentSecretId = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1048,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1044,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.SecretKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.SecretKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.SecretKey.Title,\n value: accessStore.tencentSecretKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Tencent.SecretKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.tencentSecretKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1064,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1060,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const byteDanceConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.ByteDance && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.ByteDance.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.Endpoint.Title,\n type: \"text\",\n value: accessStore.bytedanceUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.ByteDance.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.bytedanceUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1089,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1082,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.ApiKey.Title,\n value: accessStore.bytedanceApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ByteDance.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.bytedanceApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1105,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1101,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const alibabaConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Alibaba && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Alibaba.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.Endpoint.Title,\n type: \"text\",\n value: accessStore.alibabaUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Alibaba.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.alibabaUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1130,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1123,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.ApiKey.Title,\n value: accessStore.alibabaApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Alibaba.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.alibabaApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1146,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1142,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const moonshotConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Moonshot && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Moonshot.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.Endpoint.Title,\n type: \"text\",\n value: accessStore.moonshotUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Moonshot.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.moonshotUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1171,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.ApiKey.Title,\n value: accessStore.moonshotApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Moonshot.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.moonshotApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1187,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1183,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const deepseekConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.DeepSeek && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.DeepSeek.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.Endpoint.Title,\n type: \"text\",\n value: accessStore.deepseekUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.DeepSeek.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.deepseekUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1212,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1205,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.ApiKey.Title,\n value: accessStore.deepseekApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.DeepSeek.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.deepseekApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1228,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1224,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const XAIConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.XAI && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.XAI.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.Endpoint.Title,\n type: \"text\",\n value: accessStore.xaiUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.XAI.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.xaiUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1251,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1245,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.ApiKey.Title,\n value: accessStore.xaiApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.XAI.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.xaiApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1267,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1263,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const chatglmConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.ChatGLM && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.ChatGLM.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.Endpoint.Title,\n type: \"text\",\n value: accessStore.chatglmUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.ChatGLM.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.chatglmUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1292,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1285,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.ApiKey.Title,\n value: accessStore.chatglmApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.ChatGLM.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.chatglmApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1308,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1304,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const siliconflowConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.SiliconFlow && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.SiliconFlow.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.Endpoint.Title,\n type: \"text\",\n value: accessStore.siliconflowUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.SiliconFlow.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.siliconflowUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1332,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1325,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.ApiKey.Title,\n value: accessStore.siliconflowApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.SiliconFlow.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.siliconflowApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1348,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1344,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const stabilityConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Stability && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Stability.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.Endpoint.Title,\n type: \"text\",\n value: accessStore.stabilityUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Stability.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.stabilityUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1373,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1366,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.ApiKey.Title,\n value: accessStore.stabilityApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Stability.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.stabilityApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1389,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1385,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n const lflytekConfigComponent = accessStore.provider === _constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider.Iflytek && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.Endpoint.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.Endpoint.SubTitle + _constant__WEBPACK_IMPORTED_MODULE_26__.Iflytek.ExampleEndpoint,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.Endpoint.Title,\n type: \"text\",\n value: accessStore.iflytekUrl,\n placeholder: _constant__WEBPACK_IMPORTED_MODULE_26__.Iflytek.ExampleEndpoint,\n onChange: (e)=>accessStore.update((access)=>access.iflytekUrl = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1413,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1406,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiKey.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiKey.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiKey.Title,\n value: accessStore.iflytekApiKey,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiKey.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.iflytekApiKey = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1429,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1425,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiSecret.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiSecret.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.PasswordInput, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiSecret.Title,\n value: accessStore.iflytekApiSecret,\n type: \"text\",\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Iflytek.ApiSecret.Placeholder,\n onChange: (e)=>{\n accessStore.update((access)=>access.iflytekApiSecret = e.currentTarget.value);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1446,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1442,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n var _config_fontSize, _usage_used, _usage_subscription;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_error__WEBPACK_IMPORTED_MODULE_28__.ErrorBoundary, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-header\",\n \"data-tauri-drag-region\": true,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-header-title\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-header-main-title\",\n children: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Title\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1465,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-header-sub-title\",\n children: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SubTitle\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1468,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1464,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-actions\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-action-button\"\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1473,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-action-button\"\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1474,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"window-action-button\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].UI.Close,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_close_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1478,\n columnNumber: 21\n }, void 0),\n onClick: ()=>navigate(_constant__WEBPACK_IMPORTED_MODULE_26__.Path.Home),\n bordered: true\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1476,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1475,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1472,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1463,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default().settings),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Avatar,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Popover, {\n onClose: ()=>setShowEmojiPicker(false),\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_emoji__WEBPACK_IMPORTED_MODULE_30__.AvatarPicker, {\n onEmojiClick: (avatar)=>{\n updateConfig((config)=>config.avatar = avatar);\n setShowEmojiPicker(false);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1491,\n columnNumber: 17\n }, void 0),\n open: showEmojiPicker,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Avatar,\n tabIndex: 0,\n className: (_settings_module_scss__WEBPACK_IMPORTED_MODULE_37___default().avatar),\n onClick: ()=>{\n setShowEmojiPicker(!showEmojiPicker);\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_emoji__WEBPACK_IMPORTED_MODULE_30__.Avatar, {\n avatar: config.avatar\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1508,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1500,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1488,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1487,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.Version(currentVersion !== null && currentVersion !== void 0 ? currentVersion : \"unknown\"),\n subTitle: checkingUpdate ? _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.IsChecking : hasNewVersion ? _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.FoundUpdate(remoteId !== null && remoteId !== void 0 ? remoteId : \"ERROR\") : _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.IsLatest,\n children: checkingUpdate ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_three_dots_svg__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1524,\n columnNumber: 15\n }, this) : hasNewVersion ? (clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.isApp) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_reload_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1528,\n columnNumber: 25\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.GoToUpdate,\n onClick: ()=>(0,_utils__WEBPACK_IMPORTED_MODULE_24__.clientUpdate)()\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1527,\n columnNumber: 17\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n href: updateUrl,\n target: \"_blank\",\n className: \"link\",\n children: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.GoToUpdate\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1533,\n columnNumber: 17\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_reload_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1539,\n columnNumber: 23\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Update.CheckUpdate,\n onClick: ()=>checkUpdate(true)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1538,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1513,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SendKey,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Select, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SendKey,\n value: config.submitKey,\n onChange: (e)=>{\n updateConfig((config)=>config.submitKey = e.target.value);\n },\n children: Object.values(_store__WEBPACK_IMPORTED_MODULE_22__.SubmitKey).map((v)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: v,\n children: v\n }, v, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1558,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1547,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1546,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Theme,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Select, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Theme,\n value: config.theme,\n onChange: (e)=>{\n updateConfig((config)=>config.theme = e.target.value);\n },\n children: Object.values(_store__WEBPACK_IMPORTED_MODULE_22__.Theme).map((v)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: v,\n children: v\n }, v, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1576,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1566,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1565,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Lang.Name,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Select, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Lang.Name,\n value: (0,_locales__WEBPACK_IMPORTED_MODULE_23__.getLang)(),\n onChange: (e)=>{\n (0,_locales__WEBPACK_IMPORTED_MODULE_23__.changeLang)(e.target.value);\n },\n children: _locales__WEBPACK_IMPORTED_MODULE_23__.AllLangs.map((lang)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: lang,\n children: _locales__WEBPACK_IMPORTED_MODULE_23__.ALL_LANG_OPTIONS[lang]\n }, lang, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1592,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1584,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1583,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontSize.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontSize.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_input_range__WEBPACK_IMPORTED_MODULE_29__.InputRange, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontSize.Title,\n title: \"\".concat((_config_fontSize = config.fontSize) !== null && _config_fontSize !== void 0 ? _config_fontSize : 14, \"px\"),\n value: config.fontSize,\n min: \"12\",\n max: \"40\",\n step: \"1\",\n onChange: (e)=>updateConfig((config)=>config.fontSize = Number.parseInt(e.currentTarget.value))\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1603,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1599,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontFamily.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontFamily.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontFamily.Title,\n type: \"text\",\n value: config.fontFamily,\n placeholder: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.FontFamily.Placeholder,\n onChange: (e)=>updateConfig((config)=>config.fontFamily = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1623,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1619,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.AutoGenerateTitle.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.AutoGenerateTitle.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.AutoGenerateTitle.Title,\n type: \"checkbox\",\n checked: config.enableAutoGenerateTitle,\n onChange: (e)=>updateConfig((config)=>config.enableAutoGenerateTitle = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1640,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1636,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SendPreviewBubble.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SendPreviewBubble.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.SendPreviewBubble.Title,\n type: \"checkbox\",\n checked: config.sendPreviewBubble,\n onChange: (e)=>updateConfig((config)=>config.sendPreviewBubble = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1657,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1653,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.Artifacts.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.Artifacts.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.Artifacts.Title,\n type: \"checkbox\",\n checked: config.enableArtifacts,\n onChange: (e)=>updateConfig((config)=>config.enableArtifacts = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1674,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1670,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.CodeFold.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.CodeFold.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Mask.Config.CodeFold.Title,\n type: \"checkbox\",\n checked: config.enableCodeFold,\n \"data-testid\": \"enable-code-fold-checkbox\",\n onChange: (e)=>updateConfig((config)=>config.enableCodeFold = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1690,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1686,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1486,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SyncItems, {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1704,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Splash.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Splash.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Splash.Title,\n type: \"checkbox\",\n checked: !config.dontShowMaskSplashScreen,\n onChange: (e)=>updateConfig((config)=>config.dontShowMaskSplashScreen = !e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1711,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1707,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Builtin.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Builtin.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Mask.Builtin.Title,\n type: \"checkbox\",\n checked: config.hideBuiltinMasks,\n onChange: (e)=>updateConfig((config)=>config.hideBuiltinMasks = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1729,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1725,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1706,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Disable.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Disable.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Disable.Title,\n type: \"checkbox\",\n checked: config.disablePromptHint,\n onChange: (e)=>updateConfig((config)=>config.disablePromptHint = e.currentTarget.checked)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1748,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1744,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.List,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.ListCount(builtinCount, customCount),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.List + _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Edit,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_edit_svg__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1770,\n columnNumber: 21\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Prompt.Edit,\n onClick: ()=>setShowPromptModal(true)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1768,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1761,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1743,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n id: _constant__WEBPACK_IMPORTED_MODULE_26__.SlotID.CustomModel,\n children: [\n saasStartComponent,\n accessCodeComponent,\n !accessStore.hideUserApiKey && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n useCustomConfigComponent,\n accessStore.useCustomConfig && /*#__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)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Provider.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Provider.SubTitle,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.Select, {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.Provider.Title,\n value: accessStore.provider,\n onChange: (e)=>{\n accessStore.update((access)=>access.provider = e.target.value);\n },\n children: Object.entries(_constant__WEBPACK_IMPORTED_MODULE_26__.ServiceProvider).map((param)=>{\n let [k, v] = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: v,\n children: k\n }, k, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1803,\n columnNumber: 25\n }, this);\n })\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1791,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1787,\n columnNumber: 19\n }, this),\n openAIConfigComponent,\n azureConfigComponent,\n googleConfigComponent,\n anthropicConfigComponent,\n baiduConfigComponent,\n byteDanceConfigComponent,\n alibabaConfigComponent,\n tencentConfigComponent,\n moonshotConfigComponent,\n deepseekConfigComponent,\n stabilityConfigComponent,\n lflytekConfigComponent,\n XAIConfigComponent,\n chatglmConfigComponent,\n siliconflowConfigComponent\n ]\n }, void 0, true)\n ]\n }, void 0, true),\n !shouldHideBalanceQuery && !(clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.isApp) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Usage.Title,\n subTitle: showUsage ? loadingUsage ? _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Usage.IsChecking : _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Usage.SubTitle((_usage_used = usage === null || usage === void 0 ? void 0 : usage.used) !== null && _usage_used !== void 0 ? _usage_used : \"[?]\", (_usage_subscription = usage === null || usage === void 0 ? void 0 : usage.subscription) !== null && _usage_subscription !== void 0 ? _usage_subscription : \"[?]\") : _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Usage.NoAccess,\n children: !showUsage || loadingUsage ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1845,\n columnNumber: 17\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_21__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_reload_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1848,\n columnNumber: 25\n }, void 0),\n text: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Usage.Check,\n onClick: ()=>checkUsage(true)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1847,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1831,\n columnNumber: 13\n }, this) : null,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.ListItem, {\n title: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomModel.Title,\n subTitle: _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomModel.SubTitle,\n vertical: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n \"aria-label\": _locales__WEBPACK_IMPORTED_MODULE_23__[\"default\"].Settings.Access.CustomModel.Title,\n style: {\n width: \"100%\",\n maxWidth: \"unset\",\n textAlign: \"left\"\n },\n type: \"text\",\n value: config.customModels,\n placeholder: \"model1,model2,model3\",\n onChange: (e)=>config.update((config)=>config.customModels = e.currentTarget.value)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1861,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1856,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1777,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_model_config__WEBPACK_IMPORTED_MODULE_20__.ModelConfigList, {\n modelConfig: config.modelConfig,\n updateConfig: (updater)=>{\n const modelConfig = {\n ...config.modelConfig\n };\n updater(modelConfig);\n config.update((config)=>config.modelConfig = modelConfig);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1877,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1876,\n columnNumber: 9\n }, this),\n shouldShowPromptModal && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(UserPromptModal, {\n onClose: ()=>setShowPromptModal(false)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1888,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_realtime_chat_realtime_config__WEBPACK_IMPORTED_MODULE_36__.RealtimeConfigList, {\n realtimeConfig: config.realtimeConfig,\n updateConfig: (updater)=>{\n const realtimeConfig = {\n ...config.realtimeConfig\n };\n updater(realtimeConfig);\n config.update((config)=>config.realtimeConfig = realtimeConfig);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1891,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1890,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_19__.List, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_tts_config__WEBPACK_IMPORTED_MODULE_35__.TTSConfigList, {\n ttsConfig: config.ttsConfig,\n updateConfig: (updater)=>{\n const ttsConfig = {\n ...config.ttsConfig\n };\n updater(ttsConfig);\n config.update((config)=>config.ttsConfig = ttsConfig);\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1903,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1902,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DangerItems, {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1913,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1485,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\settings.tsx\",\n lineNumber: 1462,\n columnNumber: 5\n }, this);\n}\n_s6(Settings, \"gamYpAPQsfvuG0awLCYLheWjSrg=\", false, function() {\n return [\n react_router_dom__WEBPACK_IMPORTED_MODULE_39__.useNavigate,\n _store__WEBPACK_IMPORTED_MODULE_22__.useAppConfig,\n _store__WEBPACK_IMPORTED_MODULE_22__.useUpdateStore,\n _store__WEBPACK_IMPORTED_MODULE_22__.useAccessStore,\n _store_prompt__WEBPACK_IMPORTED_MODULE_27__.usePromptStore\n ];\n});\n_c6 = Settings;\nvar _c, _c1, _c2, _c3, _c4, _c5, _c6;\n$RefreshReg$(_c, \"EditPromptModal\");\n$RefreshReg$(_c1, \"UserPromptModal\");\n$RefreshReg$(_c2, \"DangerItems\");\n$RefreshReg$(_c3, \"CheckButton\");\n$RefreshReg$(_c4, \"SyncConfigModal\");\n$RefreshReg$(_c5, \"SyncItems\");\n$RefreshReg$(_c6, \"Settings\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9jb21wb25lbnRzL3NldHRpbmdzLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBcUQ7QUFFVDtBQUVBO0FBQ0w7QUFDSTtBQUNGO0FBQ0U7QUFDTztBQUNUO0FBQ0E7QUFDRjtBQUNVO0FBQ0o7QUFDQTtBQUNFO0FBRU07QUFDSztBQUNOO0FBQ2tDO0FBV3BFO0FBQytCO0FBRVg7QUFRcEI7QUFPRTtBQUNvRDtBQUMzQztBQXlCUjtBQUNtRDtBQUNoQztBQUNHO0FBQ0k7QUFDQTtBQUNJO0FBQ047QUFDYjtBQUNhO0FBQ0M7QUFDRDtBQUN3QjtBQUVyRSxTQUFTb0YsZ0JBQWdCQyxLQUEwQzs7SUFDakUsTUFBTUMsY0FBY2YsOERBQWNBO0lBQ2xDLE1BQU1nQixTQUFTRCxZQUFZRSxHQUFHLENBQUNILE1BQU1JLEVBQUU7SUFFdkMsT0FBT0YsdUJBQ0wsOERBQUNHO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNuRSwyQ0FBS0E7WUFDSm9FLE9BQU90RCxpREFBTUEsQ0FBQ3VELFFBQVEsQ0FBQ0MsTUFBTSxDQUFDQyxTQUFTLENBQUNDLEtBQUs7WUFDN0NDLFNBQVNaLE1BQU1ZLE9BQU87WUFDdEJDLFNBQVM7OEJBQ1AsOERBQUNuRSxnREFBVUE7b0JBRVRvRSxTQUFTZCxNQUFNWSxPQUFPO29CQUN0QkcsTUFBTTlELGlEQUFNQSxDQUFDK0QsRUFBRSxDQUFDQyxPQUFPO29CQUN2QkMsUUFBUTttQkFISjs7Ozs7YUFLUDtzQkFFRCw0RUFBQ2I7Z0JBQUlDLFdBQVd4RixvRkFBMkI7O2tDQUN6Qyw4REFBQ3FHO3dCQUNDQyxNQUFLO3dCQUNMQyxPQUFPbkIsT0FBT0ssS0FBSzt3QkFDbkJlLFVBQVUsQ0FBQ3BCLE9BQU9xQixNQUFNO3dCQUN4QmpCLFdBQVd4RixvRkFBMkI7d0JBQ3RDMEcsU0FBUyxDQUFDQyxJQUNSeEIsWUFBWXlCLFlBQVksQ0FD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Q2pCa1YsZ0JBQWdCdlAsT0FBT3VQLGNBQWM7NEJBQ3JDMUwsY0FBYyxDQUFDeUw7Z0NBQ2IsTUFBTUMsaUJBQWlCO29DQUFFLEdBQUd2UCxPQUFPdVAsY0FBYztnQ0FBQztnQ0FDbERELFFBQVFDO2dDQUNSdlAsT0FBT0QsTUFBTSxDQUNYLENBQUNDLFNBQVlBLE9BQU91UCxjQUFjLEdBQUdBOzRCQUV6Qzs7Ozs7Ozs7Ozs7a0NBR0osOERBQUMvWSwwQ0FBSUE7a0NBQ0gsNEVBQUM0RCx1REFBYUE7NEJBQ1pvVixXQUFXeFAsT0FBT3dQLFNBQVM7NEJBQzNCM0wsY0FBYyxDQUFDeUw7Z0NBQ2IsTUFBTUUsWUFBWTtvQ0FBRSxHQUFHeFAsT0FBT3dQLFNBQVM7Z0NBQUM7Z0NBQ3hDRixRQUFRRTtnQ0FDUnhQLE9BQU9ELE1BQU0sQ0FBQyxDQUFDQyxTQUFZQSxPQUFPd1AsU0FBUyxHQUFHQTs0QkFDaEQ7Ozs7Ozs7Ozs7O2tDQUlKLDhEQUFDclI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSVQ7SUF0ekNnQnBEOztRQUNHbkIsMERBQVdBO1FBRWJyQyxpREFBWUE7UUFHUEYsbURBQWNBO1FBaUJkQyxtREFBY0E7UUFxQ2RtQywwREFBY0E7OztNQTVEcEJzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9hcHAvY29tcG9uZW50cy9zZXR0aW5ncy50c3g/MDkwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL3NldHRpbmdzLm1vZHVsZS5zY3NzXCI7XHJcblxyXG5pbXBvcnQgUmVzZXRJY29uIGZyb20gXCIuLi9pY29ucy9yZWxvYWQuc3ZnXCI7XHJcbmltcG9ydCBBZGRJY29uIGZyb20gXCIuLi9pY29ucy9hZGQuc3ZnXCI7XHJcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIi4uL2ljb25zL2Nsb3NlLnN2Z1wiO1xyXG5pbXBvcnQgQ29weUljb24gZnJvbSBcIi4uL2ljb25zL2NvcHkuc3ZnXCI7XHJcbmltcG9ydCBDbGVhckljb24gZnJvbSBcIi4uL2ljb25zL2NsZWFyLnN2Z1wiO1xyXG5pbXBvcnQgTG9hZGluZ0ljb24gZnJvbSBcIi4uL2ljb25zL3RocmVlLWRvdHMuc3ZnXCI7XHJcbmltcG9ydCBFZGl0SWNvbiBmcm9tIFwiLi4vaWNvbnMvZWRpdC5zdmdcIjtcclxuaW1wb3J0IEZpcmVJY29uIGZyb20gXCIuLi9pY29ucy9maXJlLnN2Z1wiO1xyXG5pbXBvcnQgRXllSWNvbiBmcm9tIFwiLi4vaWNvbnMvZXllLnN2Z1wiO1xyXG5pbXBvcnQgRG93bmxvYWRJY29uIGZyb20gXCIuLi9pY29ucy9kb3dubG9hZC5zdmdcIjtcclxuaW1wb3J0IFVwbG9hZEljb24gZnJvbSBcIi4uL2ljb25zL3VwbG9hZC5zdmdcIjtcclxuaW1wb3J0IENvbmZpZ0ljb24gZnJvbSBcIi4uL2ljb25zL2NvbmZpZy5zdmdcIjtcclxuaW1wb3J0IENvbmZpcm1JY29uIGZyb20gXCIuLi9pY29ucy9jb25maXJtLnN2Z1wiO1xyXG5cclxuaW1wb3J0IENvbm5lY3Rpb25JY29uIGZyb20gXCIuLi9pY29ucy9jb25uZWN0aW9uLnN2Z1wiO1xyXG5pbXBvcnQgQ2xvdWRTdWNjZXNzSWNvbiBmcm9tIFwiLi4vaWNvbnMvY2xvdWQtc3VjY2Vzcy5zdmdcIjtcclxuaW1wb3J0IENsb3VkRmFpbEljb24gZnJvbSBcIi4uL2ljb25zL2Nsb3VkLWZhaWwuc3ZnXCI7XHJcbmltcG9ydCB7IHRyYWNrU2V0dGluZ3NQYWdlR3VpZGVUb0NQYXltZW50Q2xpY2sgfSBmcm9tIFwiLi4vdXRpbHMvYXV0aC1zZXR0aW5ncy1ldmVudHNcIjtcclxuaW1wb3J0IHtcclxuICBJbnB1dCxcclxuICBMaXN0LFxyXG4gIExpc3RJdGVtLFxyXG4gIE1vZGFsLFxyXG4gIFBhc3N3b3JkSW5wdXQsXHJcbiAgUG9wb3ZlcixcclxuICBTZWxlY3QsXHJcbiAgc2hvd0NvbmZpcm0sXHJcbiAgc2hvd1RvYXN0LFxyXG59IGZyb20gXCIuL3VpLWxpYlwiO1xyXG5pbXBvcnQgeyBNb2RlbENvbmZpZ0xpc3QgfSBmcm9tIFwiLi9tb2RlbC1jb25maWdcIjtcclxuXHJcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tIFwiLi9idXR0b25cIjtcclxuaW1wb3J0IHtcclxuICBTdWJtaXRLZXksXHJcbiAgdXNlQ2hhdFN0b3JlLFxyXG4gIFRoZW1lLFxyXG4gIHVzZVVwZGF0ZVN0b3JlLFxyXG4gIHVzZUFjY2Vzc1N0b3JlLFxyXG4gIHVzZUFwcENvbmZpZyxcclxufSBmcm9tIFwiLi4vc3RvcmVcIjtcclxuXHJcbmltcG9ydCBMb2NhbGUsIHtcclxuICBBbGxMYW5ncyxcclxuICBBTExfTEFOR19PUFRJT05TLFxyXG4gIGNoYW5nZUxhbmcsXHJcbiAgZ2V0TGFuZyxcclxufSBmcm9tIFwiLi4vbG9jYWxlc1wiO1xyXG5pbXBvcnQgeyBjb3B5VG9DbGlwYm9hcmQsIGNsaWVudFVwZGF0ZSwgc2VtdmVyQ29tcGFyZSB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XHJcbmltcG9ydCB7XHJcbiAgQW50aHJvcGljLFxyXG4gIEF6dXJlLFxyXG4gIEJhaWR1LFxyXG4gIFRlbmNlbnQsXHJcbiAgQnl0ZURhbmNlLFxyXG4gIEFsaWJhYmEsXHJcbiAgTW9vbnNob3QsXHJcbiAgWEFJLFxyXG4gIEdvb2dsZSxcclxuICBHb29nbGVTYWZldHlTZXR0aW5nc1RocmVzaG9sZCxcclxuICBPUEVOQUlfQkFTRV9VUkwsXHJcbiAgUGF0aCxcclxuICBSRUxFQVNFX1VSTCxcclxuICBTVE9SQUdFX0tFWSxcclxuICBTZXJ2aWNlUHJvdmlkZXIsXHJcbiAgU2xvdElELFxyXG4gIFVQREFURV9VUkwsXHJcbiAgU3RhYmlsaXR5LFxyXG4gIElmbHl0ZWssXHJcbiAgU0FBU19DSEFUX1VSTCxcclxuICBDaGF0R0xNLFxyXG4gIERlZXBTZWVrLFxyXG4gIFNpbGljb25GbG93LFxyXG59IGZyb20gXCIuLi9jb25zdGFudFwiO1xyXG5pbXBvcnQgeyBQcm9tcHQsIFNlYXJjaFNlcnZpY2UsIHVzZVByb21wdFN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL3Byb21wdFwiO1xyXG5pbXBvcnQgeyBFcnJvckJvdW5kYXJ5IH0gZnJvbSBcIi4vZXJyb3JcIjtcclxuaW1wb3J0IHsgSW5wdXRSYW5nZSB9IGZyb20gXCIuL2lucHV0LXJhbmdlXCI7XHJcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcclxuaW1wb3J0IHsgQXZhdGFyLCBBdmF0YXJQaWNrZXIgfSBmcm9tIFwiLi9lbW9qaVwiO1xyXG5pbXBvcnQgeyBnZXRDbGllbnRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2NsaWVudFwiO1xyXG5pbXBvcnQgeyB1c2VTeW5jU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmUvc3luY1wiO1xyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tIFwibmFub2lkXCI7XHJcbmltcG9ydCB7IHVzZU1hc2tTdG9yZSB9IGZyb20gXCIuLi9zdG9yZS9tYXNrXCI7XHJcbmltcG9ydCB7IFByb3ZpZGVyVHlwZSB9IGZyb20gXCIuLi91dGlscy9jbG91ZFwiO1xyXG5pbXBvcnQgeyBUVFNDb25maWdMaXN0IH0gZnJvbSBcIi4vdHRzLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBSZWFsdGltZUNvbmZpZ0xpc3QgfSBmcm9tIFwiLi9yZWFsdGltZS1jaGF0L3JlYWx0aW1lLWNvbmZpZ1wiO1xyXG5cclxuZnVuY3Rpb24gRWRpdFByb21wdE1vZGFsKHByb3BzOiB7IGlkOiBzdHJpbmc7IG9uQ2xvc2U6ICgpID0+IHZvaWQgfSkge1xyXG4gIGNvbnN0IHByb21wdFN0b3JlID0gdXNlUHJvbXB0U3RvcmUoKTtcclxuICBjb25zdCBwcm9tcHQgPSBwcm9tcHRTdG9yZS5nZXQocHJvcHMuaWQpO1xyXG5cclxuICByZXR1cm4gcHJvbXB0ID8gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1tYXNrXCI+XHJcbiAgICAgIDxNb2RhbFxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0LkVkaXRNb2RhbC5UaXRsZX1cclxuICAgICAgICBvbkNsb3NlPXtwcm9wcy5vbkNsb3NlfVxyXG4gICAgICAgIGFjdGlvbnM9e1tcclxuICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgIGtleT1cIlwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xvc2V9XHJcbiAgICAgICAgICAgIHRleHQ9e0xvY2FsZS5VSS5Db25maXJtfVxyXG4gICAgICAgICAgICBib3JkZXJlZFxyXG4gICAgICAgICAgLz4sXHJcbiAgICAgICAgXX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0LXByb21wdC1tb2RhbFwiXX0+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICB2YWx1ZT17cHJvbXB0LnRpdGxlfVxyXG4gICAgICAgICAgICByZWFkT25seT17IXByb21wdC5pc1VzZXJ9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdC1wcm9tcHQtdGl0bGVcIl19XHJcbiAgICAgICAgICAgIG9uSW5wdXQ9eyhlKSA9PlxyXG4gICAgICAgICAgICAgIHByb21wdFN0b3JlLnVwZGF0ZVByb21wdChcclxuICAgICAgICAgICAgICAgIHByb3BzLmlkLFxyXG4gICAgICAgICAgICAgICAgKHByb21wdCkgPT4gKHByb21wdC50aXRsZSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICB2YWx1ZT17cHJvbXB0LmNvbnRlbnR9XHJcbiAgICAgICAgICAgIHJlYWRPbmx5PXshcHJvbXB0LmlzVXNlcn1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0LXByb21wdC1jb250ZW50XCJdfVxyXG4gICAgICAgICAgICByb3dzPXsxMH1cclxuICAgICAgICAgICAgb25JbnB1dD17KGUpID0+XHJcbiAgICAgICAgICAgICAgcHJvbXB0U3RvcmUudXBkYXRlUHJvbXB0KFxyXG4gICAgICAgICAgICAgICAgcHJvcHMuaWQsXHJcbiAgICAgICAgICAgICAgICAocHJvbXB0KSA9PiAocHJvbXB0LmNvbnRlbnQgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPjwvSW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvTW9kYWw+XHJcbiAgICA8L2Rpdj5cclxuICApIDogbnVsbDtcclxufVxyXG5cclxuZnVuY3Rpb24gVXNlclByb21wdE1vZGFsKHByb3BzOiB7IG9uQ2xvc2U/OiAoKSA9PiB2b2lkIH0pIHtcclxuICBjb25zdCBwcm9tcHRTdG9yZSA9IHVzZVByb21wdFN0b3JlKCk7XHJcbiAgY29uc3QgdXNlclByb21wdHMgPSBwcm9tcHRTdG9yZS5nZXRVc2VyUHJvbXB0cygpO1xyXG4gIGNvbnN0IGJ1aWx0aW5Qcm9tcHRzID0gU2VhcmNoU2VydmljZS5idWlsdGluUHJvbXB0cztcclxuICBjb25zdCBhbGxQcm9tcHRzID0gdXNlclByb21wdHMuY29uY2F0KGJ1aWx0aW5Qcm9tcHRzKTtcclxuICBjb25zdCBbc2VhcmNoSW5wdXQsIHNldFNlYXJjaElucHV0XSA9IHVzZVN0YXRlKFwiXCIpO1xyXG4gIGNvbnN0IFtzZWFyY2hQcm9tcHRzLCBzZXRTZWFyY2hQcm9tcHRzXSA9IHVzZVN0YXRlPFByb21wdFtdPihbXSk7XHJcbiAgY29uc3QgcHJvbXB0cyA9IHNlYXJjaElucHV0Lmxlbmd0aCA+IDAgPyBzZWFyY2hQcm9tcHRzIDogYWxsUHJvbXB0cztcclxuXHJcbiAgY29uc3QgW2VkaXRpbmdQcm9tcHRJZCwgc2V0RWRpdGluZ1Byb21wdElkXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmIChzZWFyY2hJbnB1dC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdCA9IFNlYXJjaFNlcnZpY2Uuc2VhcmNoKHNlYXJjaElucHV0KTtcclxuICAgICAgc2V0U2VhcmNoUHJvbXB0cyhzZWFyY2hSZXN1bHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2V0U2VhcmNoUHJvbXB0cyhbXSk7XHJcbiAgICB9XHJcbiAgfSwgW3NlYXJjaElucHV0XSk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLW1hc2tcIj5cclxuICAgICAgPE1vZGFsXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5Qcm9tcHQuTW9kYWwuVGl0bGV9XHJcbiAgICAgICAgb25DbG9zZT17KCkgPT4gcHJvcHMub25DbG9zZT8uKCl9XHJcbiAgICAgICAgYWN0aW9ucz17W1xyXG4gICAgICAgICAgPEljb25CdXR0b25cclxuICAgICAgICAgICAga2V5PVwiYWRkXCJcclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHByb21wdElkID0gcHJvbXB0U3RvcmUuYWRkKHtcclxuICAgICAgICAgICAgICAgIGlkOiBuYW5vaWQoKSxcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkVtcHR5IFByb21wdFwiLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJFbXB0eSBQcm9tcHQgQ29udGVudFwiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9tcHRJZChwcm9tcHRJZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGljb249ezxBZGRJY29uIC8+fVxyXG4gICAgICAgICAgICBib3JkZXJlZFxyXG4gICAgICAgICAgICB0ZXh0PXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0Lk1vZGFsLkFkZH1cclxuICAgICAgICAgIC8+LFxyXG4gICAgICAgIF19XHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widXNlci1wcm9tcHQtbW9kYWxcIl19PlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJ1c2VyLXByb21wdC1zZWFyY2hcIl19XHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0Lk1vZGFsLlNlYXJjaH1cclxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaElucHV0fVxyXG4gICAgICAgICAgICBvbklucHV0PXsoZSkgPT4gc2V0U2VhcmNoSW5wdXQoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgID48L2lucHV0PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJ1c2VyLXByb21wdC1saXN0XCJdfT5cclxuICAgICAgICAgICAge3Byb21wdHMubWFwKCh2LCBfKSA9PiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInVzZXItcHJvbXB0LWl0ZW1cIl19IGtleT17di5pZCA/PyB2LnRpdGxlfT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJ1c2VyLXByb21wdC1oZWFkZXJcIl19PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widXNlci1wcm9tcHQtdGl0bGVcIl19Pnt2LnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widXNlci1wcm9tcHQtY29udGVudFwiXSArIFwiIG9uZS1saW5lXCJ9PlxyXG4gICAgICAgICAgICAgICAgICAgIHt2LmNvbnRlbnR9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInVzZXItcHJvbXB0LWJ1dHRvbnNcIl19PlxyXG4gICAgICAgICAgICAgICAgICB7di5pc1VzZXIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8Q2xlYXJJY29uIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJ1c2VyLXByb21wdC1idXR0b25cIl19XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9tcHRTdG9yZS5yZW1vdmUodi5pZCEpfVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHt2LmlzVXNlciA/IChcclxuICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEVkaXRJY29uIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJ1c2VyLXByb21wdC1idXR0b25cIl19XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRFZGl0aW5nUHJvbXB0SWQodi5pZCl9XHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEV5ZUljb24gLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcInVzZXItcHJvbXB0LWJ1dHRvblwiXX1cclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEVkaXRpbmdQcm9tcHRJZCh2LmlkKX1cclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGljb249ezxDb3B5SWNvbiAvPn1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcInVzZXItcHJvbXB0LWJ1dHRvblwiXX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjb3B5VG9DbGlwYm9hcmQodi5jb250ZW50KX1cclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L01vZGFsPlxyXG5cclxuICAgICAge2VkaXRpbmdQcm9tcHRJZCAhPT0gdW5kZWZpbmVkICYmIChcclxuICAgICAgICA8RWRpdFByb21wdE1vZGFsXHJcbiAgICAgICAgICBpZD17ZWRpdGluZ1Byb21wdElkIX1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEVkaXRpbmdQcm9tcHRJZCh1bmRlZmluZWQpfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICl9XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBEYW5nZXJJdGVtcygpIHtcclxuICBjb25zdCBjaGF0U3RvcmUgPSB1c2VDaGF0U3RvcmUoKTtcclxuICBjb25zdCBhcHBDb25maWcgPSB1c2VBcHBDb25maWcoKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxMaXN0PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5SZXNldC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5SZXNldC5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICBhcmlhPXtMb2NhbGUuU2V0dGluZ3MuRGFuZ2VyLlJlc2V0LlRpdGxlfVxyXG4gICAgICAgICAgdGV4dD17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5SZXNldC5BY3Rpb259XHJcbiAgICAgICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhd2FpdCBzaG93Q29uZmlybShMb2NhbGUuU2V0dGluZ3MuRGFuZ2VyLlJlc2V0LkNvbmZpcm0pKSB7XHJcbiAgICAgICAgICAgICAgYXBwQ29uZmlnLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB0eXBlPVwiZGFuZ2VyXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5DbGVhci5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5DbGVhci5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICBhcmlhPXtMb2NhbGUuU2V0dGluZ3MuRGFuZ2VyLkNsZWFyLlRpdGxlfVxyXG4gICAgICAgICAgdGV4dD17TG9jYWxlLlNldHRpbmdzLkRhbmdlci5DbGVhci5BY3Rpb259XHJcbiAgICAgICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhd2FpdCBzaG93Q29uZmlybShMb2NhbGUuU2V0dGluZ3MuRGFuZ2VyLkNsZWFyLkNvbmZpcm0pKSB7XHJcbiAgICAgICAgICAgICAgY2hhdFN0b3JlLmNsZWFyQWxsRGF0YSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgdHlwZT1cImRhbmdlclwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvTGlzdD5cclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBDaGVja0J1dHRvbigpIHtcclxuICBjb25zdCBzeW5jU3RvcmUgPSB1c2VTeW5jU3RvcmUoKTtcclxuXHJcbiAgY29uc3QgY291bGRDaGVjayA9IHVzZU1lbW8oKCkgPT4ge1xyXG4gICAgcmV0dXJuIHN5bmNTdG9yZS5jbG91ZFN5bmMoKTtcclxuICB9LCBbc3luY1N0b3JlXSk7XHJcblxyXG4gIGNvbnN0IFtjaGVja1N0YXRlLCBzZXRDaGVja1N0YXRlXSA9IHVzZVN0YXRlPFxyXG4gICAgXCJub25lXCIgfCBcImNoZWNraW5nXCIgfCBcInN1Y2Nlc3NcIiB8IFwiZmFpbGVkXCJcclxuICA+KFwibm9uZVwiKTtcclxuXHJcbiAgYXN5bmMgZnVuY3Rpb24gY2hlY2soKSB7XHJcbiAgICBzZXRDaGVja1N0YXRlKFwiY2hlY2tpbmdcIik7XHJcbiAgICBjb25zdCB2YWxpZCA9IGF3YWl0IHN5bmNTdG9yZS5jaGVjaygpO1xyXG4gICAgc2V0Q2hlY2tTdGF0ZSh2YWxpZCA/IFwic3VjY2Vzc1wiIDogXCJmYWlsZWRcIik7XHJcbiAgfVxyXG5cclxuICBpZiAoIWNvdWxkQ2hlY2spIHJldHVybiBudWxsO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPEljb25CdXR0b25cclxuICAgICAgdGV4dD17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLk1vZGFsLkNoZWNrfVxyXG4gICAgICBib3JkZXJlZFxyXG4gICAgICBvbkNsaWNrPXtjaGVja31cclxuICAgICAgaWNvbj17XHJcbiAgICAgICAgY2hlY2tTdGF0ZSA9PT0gXCJub25lXCIgPyAoXHJcbiAgICAgICAgICA8Q29ubmVjdGlvbkljb24gLz5cclxuICAgICAgICApIDogY2hlY2tTdGF0ZSA9PT0gXCJjaGVja2luZ1wiID8gKFxyXG4gICAgICAgICAgPExvYWRpbmdJY29uIC8+XHJcbiAgICAgICAgKSA6IGNoZWNrU3RhdGUgPT09IFwic3VjY2Vzc1wiID8gKFxyXG4gICAgICAgICAgPENsb3VkU3VjY2Vzc0ljb24gLz5cclxuICAgICAgICApIDogY2hlY2tTdGF0ZSA9PT0gXCJmYWlsZWRcIiA/IChcclxuICAgICAgICAgIDxDbG91ZEZhaWxJY29uIC8+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxDb25uZWN0aW9uSWNvbiAvPlxyXG4gICAgICAgIClcclxuICAgICAgfVxyXG4gICAgPjwvSWNvbkJ1dHRvbj5cclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBTeW5jQ29uZmlnTW9kYWwocHJvcHM6IHsgb25DbG9zZT86ICgpID0+IHZvaWQgfSkge1xyXG4gIGNvbnN0IHN5bmNTdG9yZSA9IHVzZVN5bmNTdG9yZSgpO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1tYXNrXCI+XHJcbiAgICAgIDxNb2RhbFxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuU3luYy5Db25maWcuTW9kYWwuVGl0bGV9XHJcbiAgICAgICAgb25DbG9zZT17KCkgPT4gcHJvcHMub25DbG9zZT8uKCl9XHJcbiAgICAgICAgYWN0aW9ucz17W1xyXG4gICAgICAgICAgPENoZWNrQnV0dG9uIGtleT1cImNoZWNrXCIgLz4sXHJcbiAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICBrZXk9XCJjb25maXJtXCJcclxuICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25DbG9zZX1cclxuICAgICAgICAgICAgaWNvbj17PENvbmZpcm1JY29uIC8+fVxyXG4gICAgICAgICAgICBib3JkZXJlZFxyXG4gICAgICAgICAgICB0ZXh0PXtMb2NhbGUuVUkuQ29uZmlybX1cclxuICAgICAgICAgIC8+LFxyXG4gICAgICAgIF19XHJcbiAgICAgID5cclxuICAgICAgICA8TGlzdD5cclxuICAgICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlN5bmNUeXBlLlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlN5bmNUeXBlLlN1YlRpdGxlfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgdmFsdWU9e3N5bmNTdG9yZS5wcm92aWRlcn1cclxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgIChjb25maWcpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbmZpZy5wcm92aWRlciA9IGUudGFyZ2V0LnZhbHVlIGFzIFByb3ZpZGVyVHlwZSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMoUHJvdmlkZXJUeXBlKS5tYXAoKFtrLCB2XSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17dn0ga2V5PXtrfT5cclxuICAgICAgICAgICAgICAgICAge2t9XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICA8L0xpc3RJdGVtPlxyXG5cclxuICAgICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlByb3h5LlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlByb3h5LlN1YlRpdGxlfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e3N5bmNTdG9yZS51c2VQcm94eX1cclxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgIChjb25maWcpID0+IChjb25maWcudXNlUHJveHkgPSBlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID48L2lucHV0PlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICAgIHtzeW5jU3RvcmUudXNlUHJveHkgPyAoXHJcbiAgICAgICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuU3luYy5Db25maWcuUHJveHlVcmwuVGl0bGV9XHJcbiAgICAgICAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkNvbmZpZy5Qcm94eVVybC5TdWJUaXRsZX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgdmFsdWU9e3N5bmNTdG9yZS5wcm94eVVybH1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBzeW5jU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcpID0+IChjb25maWcucHJveHlVcmwgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICAgICkgOiBudWxsfVxyXG4gICAgICAgIDwvTGlzdD5cclxuXHJcbiAgICAgICAge3N5bmNTdG9yZS5wcm92aWRlciA9PT0gUHJvdmlkZXJUeXBlLldlYkRBViAmJiAoXHJcbiAgICAgICAgICA8PlxyXG4gICAgICAgICAgICA8TGlzdD5cclxuICAgICAgICAgICAgICA8TGlzdEl0ZW0gdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkNvbmZpZy5XZWJEYXYuRW5kcG9pbnR9PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3N5bmNTdG9yZS53ZWJkYXYuZW5kcG9pbnR9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29uZmlnLndlYmRhdi5lbmRwb2ludCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID48L2lucHV0PlxyXG4gICAgICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgICAgICAgIDxMaXN0SXRlbSB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLldlYkRhdi5Vc2VyTmFtZX0+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c3luY1N0b3JlLndlYmRhdi51c2VybmFtZX1cclxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3luY1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICAgIChjb25maWcpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb25maWcud2ViZGF2LnVzZXJuYW1lID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICAgICAgICA8TGlzdEl0ZW0gdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkNvbmZpZy5XZWJEYXYuUGFzc3dvcmR9PlxyXG4gICAgICAgICAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3N5bmNTdG9yZS53ZWJkYXYucGFzc3dvcmR9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29uZmlnLndlYmRhdi5wYXNzd29yZCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID48L1Bhc3N3b3JkSW5wdXQ+XHJcbiAgICAgICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICAgICAgPC9MaXN0PlxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgKX1cclxuXHJcbiAgICAgICAge3N5bmNTdG9yZS5wcm92aWRlciA9PT0gUHJvdmlkZXJUeXBlLlVwU3Rhc2ggJiYgKFxyXG4gICAgICAgICAgPExpc3Q+XHJcbiAgICAgICAgICAgIDxMaXN0SXRlbSB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlVwU3Rhc2guRW5kcG9pbnR9PlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgdmFsdWU9e3N5bmNTdG9yZS51cHN0YXNoLmVuZHBvaW50fVxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT5cclxuICAgICAgICAgICAgICAgICAgICAgIChjb25maWcudXBzdGFzaC5lbmRwb2ludCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID48L2lucHV0PlxyXG4gICAgICAgICAgICA8L0xpc3RJdGVtPlxyXG5cclxuICAgICAgICAgICAgPExpc3RJdGVtIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuU3luYy5Db25maWcuVXBTdGFzaC5Vc2VyTmFtZX0+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17c3luY1N0b3JlLnVwc3Rhc2gudXNlcm5hbWV9XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17U1RPUkFHRV9LRVl9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgc3luY1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNvbmZpZy51cHN0YXNoLnVzZXJuYW1lID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgICAgICAgIDxMaXN0SXRlbSB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuQ29uZmlnLlVwU3Rhc2guUGFzc3dvcmR9PlxyXG4gICAgICAgICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17c3luY1N0b3JlLnVwc3Rhc2guYXBpS2V5fVxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN5bmNTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT4gKGNvbmZpZy51cHN0YXNoLmFwaUtleSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID48L1Bhc3N3b3JkSW5wdXQ+XHJcbiAgICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgICAgICA8L0xpc3Q+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9Nb2RhbD5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFN5bmNJdGVtcygpIHtcclxuICBjb25zdCBzeW5jU3RvcmUgPSB1c2VTeW5jU3RvcmUoKTtcclxuICBjb25zdCBjaGF0U3RvcmUgPSB1c2VDaGF0U3RvcmUoKTtcclxuICBjb25zdCBwcm9tcHRTdG9yZSA9IHVzZVByb21wdFN0b3JlKCk7XHJcbiAgY29uc3QgbWFza1N0b3JlID0gdXNlTWFza1N0b3JlKCk7XHJcbiAgY29uc3QgY291bGRTeW5jID0gdXNlTWVtbygoKSA9PiB7XHJcbiAgICByZXR1cm4gc3luY1N0b3JlLmNsb3VkU3luYygpO1xyXG4gIH0sIFtzeW5jU3RvcmVdKTtcclxuXHJcbiAgY29uc3QgW3Nob3dTeW5jQ29uZmlnTW9kYWwsIHNldFNob3dTeW5jQ29uZmlnTW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICBjb25zdCBzdGF0ZU92ZXJ2aWV3ID0gdXNlTWVtbygoKSA9PiB7XHJcbiAgICBjb25zdCBzZXNzaW9ucyA9IGNoYXRTdG9yZS5zZXNzaW9ucztcclxuICAgIGNvbnN0IG1lc3NhZ2VDb3VudCA9IHNlc3Npb25zLnJlZHVjZSgocCwgYykgPT4gcCArIGMubWVzc2FnZXMubGVuZ3RoLCAwKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjaGF0OiBzZXNzaW9ucy5sZW5ndGgsXHJcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VDb3VudCxcclxuICAgICAgcHJvbXB0OiBPYmplY3Qua2V5cyhwcm9tcHRTdG9yZS5wcm9tcHRzKS5sZW5ndGgsXHJcbiAgICAgIG1hc2s6IE9iamVjdC5rZXlzKG1hc2tTdG9yZS5tYXNrcykubGVuZ3RoLFxyXG4gICAgfTtcclxuICB9LCBbY2hhdFN0b3JlLnNlc3Npb25zLCBtYXNrU3RvcmUubWFza3MsIHByb21wdFN0b3JlLnByb21wdHNdKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0PlxyXG4gICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkNsb3VkU3RhdGV9XHJcbiAgICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICAgIHN5bmNTdG9yZS5sYXN0UHJvdmlkZXJcclxuICAgICAgICAgICAgICA/IGAke25ldyBEYXRlKHN5bmNTdG9yZS5sYXN0U3luY1RpbWUpLnRvTG9jYWxlU3RyaW5nKCl9IFske1xyXG4gICAgICAgICAgICAgICAgICBzeW5jU3RvcmUubGFzdFByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICB9XWBcclxuICAgICAgICAgICAgICA6IExvY2FsZS5TZXR0aW5ncy5TeW5jLk5vdFN5bmNZZXRcclxuICAgICAgICAgIH1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgIGFyaWE9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkNsb3VkU3RhdGUgKyBMb2NhbGUuVUkuQ29uZmlnfVxyXG4gICAgICAgICAgICAgIGljb249ezxDb25maWdJY29uIC8+fVxyXG4gICAgICAgICAgICAgIHRleHQ9e0xvY2FsZS5VSS5Db25maWd9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc2V0U2hvd1N5bmNDb25maWdNb2RhbCh0cnVlKTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB7Y291bGRTeW5jICYmIChcclxuICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgaWNvbj17PFJlc2V0SWNvbiAvPn1cclxuICAgICAgICAgICAgICAgIHRleHQ9e0xvY2FsZS5VSS5TeW5jfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17YXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHN5bmNTdG9yZS5zeW5jKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KExvY2FsZS5TZXR0aW5ncy5TeW5jLlN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KExvY2FsZS5TZXR0aW5ncy5TeW5jLkZhaWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJbU3luY11cIiwgZSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkxvY2FsU3RhdGV9XHJcbiAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLlN5bmMuT3ZlcnZpZXcoc3RhdGVPdmVydmlldyl9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgPEljb25CdXR0b25cclxuICAgICAgICAgICAgICBhcmlhPXtMb2NhbGUuU2V0dGluZ3MuU3luYy5Mb2NhbFN0YXRlICsgTG9jYWxlLlVJLkV4cG9ydH1cclxuICAgICAgICAgICAgICBpY29uPXs8VXBsb2FkSWNvbiAvPn1cclxuICAgICAgICAgICAgICB0ZXh0PXtMb2NhbGUuVUkuRXhwb3J0fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHN5bmNTdG9yZS5leHBvcnQoKTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgIGFyaWE9e0xvY2FsZS5TZXR0aW5ncy5TeW5jLkxvY2FsU3RhdGUgKyBMb2NhbGUuVUkuSW1wb3J0fVxyXG4gICAgICAgICAgICAgIGljb249ezxEb3dubG9hZEljb24gLz59XHJcbiAgICAgICAgICAgICAgdGV4dD17TG9jYWxlLlVJLkltcG9ydH1cclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzeW5jU3RvcmUuaW1wb3J0KCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDwvTGlzdD5cclxuXHJcbiAgICAgIHtzaG93U3luY0NvbmZpZ01vZGFsICYmIChcclxuICAgICAgICA8U3luY0NvbmZpZ01vZGFsIG9uQ2xvc2U9eygpID0+IHNldFNob3dTeW5jQ29uZmlnTW9kYWwoZmFsc2UpfSAvPlxyXG4gICAgICApfVxyXG4gICAgPC8+XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNldHRpbmdzKCkge1xyXG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcclxuICBjb25zdCBbc2hvd0Vtb2ppUGlja2VyLCBzZXRTaG93RW1vamlQaWNrZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUFwcENvbmZpZygpO1xyXG4gIGNvbnN0IHVwZGF0ZUNvbmZpZyA9IGNvbmZpZy51cGRhdGU7XHJcblxyXG4gIGNvbnN0IHVwZGF0ZVN0b3JlID0gdXNlVXBkYXRlU3RvcmUoKTtcclxuICBjb25zdCBbY2hlY2tpbmdVcGRhdGUsIHNldENoZWNraW5nVXBkYXRlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHVwZGF0ZVN0b3JlLmZvcm1hdFZlcnNpb24odXBkYXRlU3RvcmUudmVyc2lvbik7XHJcbiAgY29uc3QgcmVtb3RlSWQgPSB1cGRhdGVTdG9yZS5mb3JtYXRWZXJzaW9uKHVwZGF0ZVN0b3JlLnJlbW90ZVZlcnNpb24pO1xyXG4gIGNvbnN0IGhhc05ld1ZlcnNpb24gPSBzZW12ZXJDb21wYXJlKGN1cnJlbnRWZXJzaW9uLCByZW1vdGVJZCkgPT09IC0xO1xyXG4gIGNvbnN0IHVwZGF0ZVVybCA9IGdldENsaWVudENvbmZpZygpPy5pc0FwcCA/IFJFTEVBU0VfVVJMIDogVVBEQVRFX1VSTDtcclxuXHJcbiAgZnVuY3Rpb24gY2hlY2tVcGRhdGUoZm9yY2UgPSBmYWxzZSkge1xyXG4gICAgc2V0Q2hlY2tpbmdVcGRhdGUodHJ1ZSk7XHJcbiAgICB1cGRhdGVTdG9yZS5nZXRMYXRlc3RWZXJzaW9uKGZvcmNlKS50aGVuKCgpID0+IHtcclxuICAgICAgc2V0Q2hlY2tpbmdVcGRhdGUoZmFsc2UpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc29sZS5sb2coXCJbVXBkYXRlXSBsb2NhbCB2ZXJzaW9uIFwiLCB1cGRhdGVTdG9yZS52ZXJzaW9uKTtcclxuICAgIGNvbnNvbGUubG9nKFwiW1VwZGF0ZV0gcmVtb3RlIHZlcnNpb24gXCIsIHVwZGF0ZVN0b3JlLnJlbW90ZVZlcnNpb24pO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgYWNjZXNzU3RvcmUgPSB1c2VBY2Nlc3NTdG9yZSgpO1xyXG4gIGNvbnN0IHNob3VsZEhpZGVCYWxhbmNlUXVlcnkgPSB1c2VNZW1vKCgpID0+IHtcclxuICAgIGNvbnN0IGlzT3BlbkFpVXJsID0gYWNjZXNzU3RvcmUub3BlbmFpVXJsLmluY2x1ZGVzKE9QRU5BSV9CQVNFX1VSTCk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgYWNjZXNzU3RvcmUuaGlkZUJhbGFuY2VRdWVyeSB8fFxyXG4gICAgICBpc09wZW5BaVVybCB8fFxyXG4gICAgICBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT0gU2VydmljZVByb3ZpZGVyLkF6dXJlXHJcbiAgICApO1xyXG4gIH0sIFtcclxuICAgIGFjY2Vzc1N0b3JlLmhpZGVCYWxhbmNlUXVlcnksXHJcbiAgICBhY2Nlc3NTdG9yZS5vcGVuYWlVcmwsXHJcbiAgICBhY2Nlc3NTdG9yZS5wcm92aWRlcixcclxuICBdKTtcclxuXHJcbiAgY29uc3QgdXNhZ2UgPSB7XHJcbiAgICB1c2VkOiB1cGRhdGVTdG9yZS51c2VkLFxyXG4gICAgc3Vic2NyaXB0aW9uOiB1cGRhdGVTdG9yZS5zdWJzY3JpcHRpb24sXHJcbiAgfTtcclxuICBjb25zdCBbbG9hZGluZ1VzYWdlLCBzZXRMb2FkaW5nVXNhZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGZ1bmN0aW9uIGNoZWNrVXNhZ2UoZm9yY2UgPSBmYWxzZSkge1xyXG4gICAgaWYgKHNob3VsZEhpZGVCYWxhbmNlUXVlcnkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExvYWRpbmdVc2FnZSh0cnVlKTtcclxuICAgIHVwZGF0ZVN0b3JlLnVwZGF0ZVVzYWdlKGZvcmNlKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgc2V0TG9hZGluZ1VzYWdlKGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZW5hYmxlZEFjY2Vzc0NvbnRyb2wgPSB1c2VNZW1vKFxyXG4gICAgKCkgPT4gYWNjZXNzU3RvcmUuZW5hYmxlZEFjY2Vzc0NvbnRyb2woKSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcclxuICAgIFtdLFxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHByb21wdFN0b3JlID0gdXNlUHJvbXB0U3RvcmUoKTtcclxuICBjb25zdCBidWlsdGluQ291bnQgPSBTZWFyY2hTZXJ2aWNlLmNvdW50LmJ1aWx0aW47XHJcbiAgY29uc3QgY3VzdG9tQ291bnQgPSBwcm9tcHRTdG9yZS5nZXRVc2VyUHJvbXB0cygpLmxlbmd0aCA/PyAwO1xyXG4gIGNvbnN0IFtzaG91bGRTaG93UHJvbXB0TW9kYWwsIHNldFNob3dQcm9tcHRNb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IHNob3dVc2FnZSA9IGFjY2Vzc1N0b3JlLmlzQXV0aG9yaXplZCgpO1xyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAvLyBjaGVja3MgcGVyIG1pbnV0ZXNcclxuICAgIGNoZWNrVXBkYXRlKCk7XHJcbiAgICBzaG93VXNhZ2UgJiYgY2hlY2tVc2FnZSgpO1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGtleWRvd25FdmVudCA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikge1xyXG4gICAgICAgIG5hdmlnYXRlKFBhdGguSG9tZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoY2xpZW50Q29uZmlnPy5pc0FwcCkge1xyXG4gICAgICAvLyBGb3JjZSB0byBzZXQgY3VzdG9tIGVuZHBvaW50IHRvIHRydWUgaWYgaXQncyBhcHBcclxuICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKChzdGF0ZSkgPT4ge1xyXG4gICAgICAgIHN0YXRlLnVzZUN1c3RvbUNvbmZpZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwga2V5ZG93bkV2ZW50KTtcclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGtleWRvd25FdmVudCk7XHJcbiAgICB9O1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgY29uc3QgY2xpZW50Q29uZmlnID0gdXNlTWVtbygoKSA9PiBnZXRDbGllbnRDb25maWcoKSwgW10pO1xyXG4gIGNvbnN0IHNob3dBY2Nlc3NDb2RlID0gZW5hYmxlZEFjY2Vzc0NvbnRyb2wgJiYgIWNsaWVudENvbmZpZz8uaXNBcHA7XHJcblxyXG4gIGNvbnN0IGFjY2Vzc0NvZGVDb21wb25lbnQgPSBzaG93QWNjZXNzQ29kZSAmJiAoXHJcbiAgICA8TGlzdEl0ZW1cclxuICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWNjZXNzQ29kZS5UaXRsZX1cclxuICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWNjZXNzQ29kZS5TdWJUaXRsZX1cclxuICAgID5cclxuICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuYWNjZXNzQ29kZX1cclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWNjZXNzQ29kZS5QbGFjZWhvbGRlcn1cclxuICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5hY2Nlc3NDb2RlID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfX1cclxuICAgICAgLz5cclxuICAgIDwvTGlzdEl0ZW0+XHJcbiAgKTtcclxuXHJcbiAgY29uc3Qgc2Fhc1N0YXJ0Q29tcG9uZW50ID0gKFxyXG4gICAgPExpc3RJdGVtXHJcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wic3VidGl0bGUtYnV0dG9uXCJdfVxyXG4gICAgICB0aXRsZT17XHJcbiAgICAgICAgTG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TYWFzU3RhcnQuVGl0bGUgK1xyXG4gICAgICAgIGAke0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU2Fhc1N0YXJ0LkxhYmVsfWBcclxuICAgICAgfVxyXG4gICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TYWFzU3RhcnQuU3ViVGl0bGV9XHJcbiAgICA+XHJcbiAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgYXJpYT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlNhYXNTdGFydC5UaXRsZSArXHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlNhYXNTdGFydC5DaGF0Tm93XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGljb249ezxGaXJlSWNvbiAvPn1cclxuICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICB0ZXh0PXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlNhYXNTdGFydC5DaGF0Tm93fVxyXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgIHRyYWNrU2V0dGluZ3NQYWdlR3VpZGVUb0NQYXltZW50Q2xpY2soKTtcclxuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gU0FBU19DSEFUX1VSTDtcclxuICAgICAgICB9fVxyXG4gICAgICAvPlxyXG4gICAgPC9MaXN0SXRlbT5cclxuICApO1xyXG5cclxuICBjb25zdCB1c2VDdXN0b21Db25maWdDb21wb25lbnQgPSAvLyBDb25kaXRpb25hbGx5IHJlbmRlciB0aGUgZm9sbG93aW5nIExpc3RJdGVtIGJhc2VkIG9uIGNsaWVudENvbmZpZy5pc0FwcFxyXG4gICAgIWNsaWVudENvbmZpZz8uaXNBcHAgJiYgKCAvLyBvbmx5IHNob3cgaWYgaXNBcHAgaXMgZmFsc2VcclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ3VzdG9tRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ3VzdG9tRW5kcG9pbnQuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ3VzdG9tRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgY2hlY2tlZD17YWNjZXNzU3RvcmUudXNlQ3VzdG9tQ29uZmlnfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy51c2VDdXN0b21Db25maWcgPSBlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICk7XHJcblxyXG4gIGNvbnN0IG9wZW5BSUNvbmZpZ0NvbXBvbmVudCA9IGFjY2Vzc1N0b3JlLnByb3ZpZGVyID09PVxyXG4gICAgU2VydmljZVByb3ZpZGVyLk9wZW5BSSAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5PcGVuQUkuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuT3BlbkFJLkVuZHBvaW50LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk9wZW5BSS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5vcGVuYWlVcmx9XHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17T1BFTkFJX0JBU0VfVVJMfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5vcGVuYWlVcmwgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk9wZW5BSS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuT3BlbkFJLkFwaUtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhPXtMb2NhbGUuU2V0dGluZ3MuU2hvd1Bhc3N3b3JkfVxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5PcGVuQUkuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLm9wZW5haUFwaUtleX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk9wZW5BSS5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3Mub3BlbmFpQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGF6dXJlQ29uZmlnQ29tcG9uZW50ID0gYWNjZXNzU3RvcmUucHJvdmlkZXIgPT09XHJcbiAgICBTZXJ2aWNlUHJvdmlkZXIuQXp1cmUgJiYgKFxyXG4gICAgPD5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQXp1cmUuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e1xyXG4gICAgICAgICAgTG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BenVyZS5FbmRwb2ludC5TdWJUaXRsZSArIEF6dXJlLkV4YW1wbGVFbmRwb2ludFxyXG4gICAgICAgIH1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BenVyZS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5henVyZVVybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtBenVyZS5FeGFtcGxlRW5kcG9pbnR9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmF6dXJlVXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BenVyZS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQXp1cmUuQXBpS2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQXp1cmUuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmF6dXJlQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQXp1cmUuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmF6dXJlQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQXp1cmUuQXBpVmVyaW9uLlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkF6dXJlLkFwaVZlcmlvbi5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BenVyZS5BcGlWZXJpb24uVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuYXp1cmVBcGlWZXJzaW9ufVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCIyMDIzLTA4LTAxLXByZXZpZXdcIlxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5henVyZUFwaVZlcnNpb24gPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICA8Lz5cclxuICApO1xyXG5cclxuICBjb25zdCBnb29nbGVDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5Hb29nbGUgJiYgKFxyXG4gICAgPD5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtcclxuICAgICAgICAgIExvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkVuZHBvaW50LlN1YlRpdGxlICtcclxuICAgICAgICAgIEdvb2dsZS5FeGFtcGxlRW5kcG9pbnRcclxuICAgICAgICB9XHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmdvb2dsZVVybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtHb29nbGUuRXhhbXBsZUVuZHBvaW50fVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5nb29nbGVVcmwgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkdvb2dsZS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkFwaUtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkdvb2dsZS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuZ29vZ2xlQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkFwaUtleS5QbGFjZWhvbGRlcn1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5nb29nbGVBcGlLZXkgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Hb29nbGUuQXBpVmVyc2lvbi5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Hb29nbGUuQXBpVmVyc2lvbi5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Hb29nbGUuQXBpVmVyc2lvbi5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5nb29nbGVBcGlWZXJzaW9ufVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCIyMDIzLTA4LTAxLXByZXZpZXdcIlxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5nb29nbGVBcGlWZXJzaW9uID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Hb29nbGUuR29vZ2xlU2FmZXR5U2V0dGluZ3MuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuR29vZ2xlLkdvb2dsZVNhZmV0eVNldHRpbmdzLlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Hb29nbGUuR29vZ2xlU2FmZXR5U2V0dGluZ3MuVGl0bGV9XHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuZ29vZ2xlU2FmZXR5U2V0dGluZ3N9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+XHJcbiAgICAgICAgICAgICAgICAoYWNjZXNzLmdvb2dsZVNhZmV0eVNldHRpbmdzID0gZS50YXJnZXRcclxuICAgICAgICAgICAgICAgICAgLnZhbHVlIGFzIEdvb2dsZVNhZmV0eVNldHRpbmdzVGhyZXNob2xkKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge09iamVjdC5lbnRyaWVzKEdvb2dsZVNhZmV0eVNldHRpbmdzVGhyZXNob2xkKS5tYXAoKFtrLCB2XSkgPT4gKFxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXt2fSBrZXk9e2t9PlxyXG4gICAgICAgICAgICAgIHtrfVxyXG4gICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICkpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgPC8+XHJcbiAgKTtcclxuXHJcbiAgY29uc3QgYW50aHJvcGljQ29uZmlnQ29tcG9uZW50ID0gYWNjZXNzU3RvcmUucHJvdmlkZXIgPT09XHJcbiAgICBTZXJ2aWNlUHJvdmlkZXIuQW50aHJvcGljICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5FbmRwb2ludC5TdWJUaXRsZSArXHJcbiAgICAgICAgICBBbnRocm9waWMuRXhhbXBsZUVuZHBvaW50XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5hbnRocm9waWNVcmx9XHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17QW50aHJvcGljLkV4YW1wbGVFbmRwb2ludH1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYW50aHJvcGljVXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BbnRocm9waWMuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5BcGlLZXkuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8UGFzc3dvcmRJbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BbnRocm9waWMuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmFudGhyb3BpY0FwaUtleX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYW50aHJvcGljQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQW50aHJvcGljLkFwaVZlcmlvbi5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BbnRocm9waWMuQXBpVmVyaW9uLlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFudGhyb3BpYy5BcGlWZXJpb24uVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuYW50aHJvcGljQXBpVmVyc2lvbn1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtBbnRocm9waWMuVmlzaW9ufVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5hbnRocm9waWNBcGlWZXJzaW9uID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgPC8+XHJcbiAgKTtcclxuXHJcbiAgY29uc3QgYmFpZHVDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5CYWlkdSAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CYWlkdS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CYWlkdS5FbmRwb2ludC5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CYWlkdS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5iYWlkdVVybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtCYWlkdS5FeGFtcGxlRW5kcG9pbnR9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmJhaWR1VXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CYWlkdS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQmFpZHUuQXBpS2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQmFpZHUuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmJhaWR1QXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQmFpZHUuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmJhaWR1QXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQmFpZHUuU2VjcmV0S2V5LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJhaWR1LlNlY3JldEtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJhaWR1LlNlY3JldEtleS5UaXRsZX1cclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5iYWlkdVNlY3JldEtleX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJhaWR1LlNlY3JldEtleS5QbGFjZWhvbGRlcn1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5iYWlkdVNlY3JldEtleSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICA8Lz5cclxuICApO1xyXG5cclxuICBjb25zdCB0ZW5jZW50Q29uZmlnQ29tcG9uZW50ID0gYWNjZXNzU3RvcmUucHJvdmlkZXIgPT09XHJcbiAgICBTZXJ2aWNlUHJvdmlkZXIuVGVuY2VudCAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5UZW5jZW50LkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuRW5kcG9pbnQuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuVGVuY2VudC5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS50ZW5jZW50VXJsfVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1RlbmNlbnQuRXhhbXBsZUVuZHBvaW50fVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy50ZW5jZW50VXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5UZW5jZW50LkFwaUtleS5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5UZW5jZW50LkFwaUtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLnRlbmNlbnRTZWNyZXRJZH1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnRlbmNlbnRTZWNyZXRJZCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuU2VjcmV0S2V5LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuU2VjcmV0S2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuVGVuY2VudC5TZWNyZXRLZXkuVGl0bGV9XHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUudGVuY2VudFNlY3JldEtleX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlRlbmNlbnQuU2VjcmV0S2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnRlbmNlbnRTZWNyZXRLZXkgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgPC8+XHJcbiAgKTtcclxuXHJcbiAgY29uc3QgYnl0ZURhbmNlQ29uZmlnQ29tcG9uZW50ID0gYWNjZXNzU3RvcmUucHJvdmlkZXIgPT09XHJcbiAgICBTZXJ2aWNlUHJvdmlkZXIuQnl0ZURhbmNlICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJ5dGVEYW5jZS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJ5dGVEYW5jZS5FbmRwb2ludC5TdWJUaXRsZSArXHJcbiAgICAgICAgICBCeXRlRGFuY2UuRXhhbXBsZUVuZHBvaW50XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJ5dGVEYW5jZS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5ieXRlZGFuY2VVcmx9XHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17Qnl0ZURhbmNlLkV4YW1wbGVFbmRwb2ludH1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYnl0ZWRhbmNlVXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CeXRlRGFuY2UuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJ5dGVEYW5jZS5BcGlLZXkuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8UGFzc3dvcmRJbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5CeXRlRGFuY2UuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmJ5dGVkYW5jZUFwaUtleX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkJ5dGVEYW5jZS5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYnl0ZWRhbmNlQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGFsaWJhYmFDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5BbGliYWJhICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFsaWJhYmEuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e1xyXG4gICAgICAgICAgTG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BbGliYWJhLkVuZHBvaW50LlN1YlRpdGxlICtcclxuICAgICAgICAgIEFsaWJhYmEuRXhhbXBsZUVuZHBvaW50XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkFsaWJhYmEuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuYWxpYmFiYVVybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtBbGliYWJhLkV4YW1wbGVFbmRwb2ludH1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYWxpYmFiYVVybCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWxpYmFiYS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWxpYmFiYS5BcGlLZXkuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8UGFzc3dvcmRJbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5BbGliYWJhLkFwaUtleS5UaXRsZX1cclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5hbGliYWJhQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQWxpYmFiYS5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuYWxpYmFiYUFwaUtleSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICA8Lz5cclxuICApO1xyXG5cclxuICBjb25zdCBtb29uc2hvdENvbmZpZ0NvbXBvbmVudCA9IGFjY2Vzc1N0b3JlLnByb3ZpZGVyID09PVxyXG4gICAgU2VydmljZVByb3ZpZGVyLk1vb25zaG90ICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk1vb25zaG90LkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgIHN1YlRpdGxlPXtcclxuICAgICAgICAgIExvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuTW9vbnNob3QuRW5kcG9pbnQuU3ViVGl0bGUgK1xyXG4gICAgICAgICAgTW9vbnNob3QuRXhhbXBsZUVuZHBvaW50XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk1vb25zaG90LkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLm1vb25zaG90VXJsfVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e01vb25zaG90LkV4YW1wbGVFbmRwb2ludH1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MubW9vbnNob3RVcmwgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLk1vb25zaG90LkFwaUtleS5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Nb29uc2hvdC5BcGlLZXkuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8UGFzc3dvcmRJbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Nb29uc2hvdC5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUubW9vbnNob3RBcGlLZXl9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5Nb29uc2hvdC5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MubW9vbnNob3RBcGlLZXkgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgPC8+XHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZGVlcHNlZWtDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5EZWVwU2VlayAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5EZWVwU2Vlay5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkRlZXBTZWVrLkVuZHBvaW50LlN1YlRpdGxlICtcclxuICAgICAgICAgIERlZXBTZWVrLkV4YW1wbGVFbmRwb2ludFxyXG4gICAgICAgIH1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5EZWVwU2Vlay5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5kZWVwc2Vla1VybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtEZWVwU2Vlay5FeGFtcGxlRW5kcG9pbnR9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmRlZXBzZWVrVXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5EZWVwU2Vlay5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuRGVlcFNlZWsuQXBpS2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuRGVlcFNlZWsuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmRlZXBzZWVrQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuRGVlcFNlZWsuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLmRlZXBzZWVrQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcblxyXG4gIGNvbnN0IFhBSUNvbmZpZ0NvbXBvbmVudCA9IGFjY2Vzc1N0b3JlLnByb3ZpZGVyID09PSBTZXJ2aWNlUHJvdmlkZXIuWEFJICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlhBSS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlhBSS5FbmRwb2ludC5TdWJUaXRsZSArIFhBSS5FeGFtcGxlRW5kcG9pbnRcclxuICAgICAgICB9XHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuWEFJLkVuZHBvaW50LlRpdGxlfVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLnhhaVVybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtYQUkuRXhhbXBsZUVuZHBvaW50fVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy54YWlVcmwgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlhBSS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuWEFJLkFwaUtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlhBSS5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUueGFpQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuWEFJLkFwaUtleS5QbGFjZWhvbGRlcn1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy54YWlBcGlLZXkgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgPC8+XHJcbiAgKTtcclxuXHJcbiAgY29uc3QgY2hhdGdsbUNvbmZpZ0NvbXBvbmVudCA9IGFjY2Vzc1N0b3JlLnByb3ZpZGVyID09PVxyXG4gICAgU2VydmljZVByb3ZpZGVyLkNoYXRHTE0gJiYgKFxyXG4gICAgPD5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ2hhdEdMTS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkNoYXRHTE0uRW5kcG9pbnQuU3ViVGl0bGUgK1xyXG4gICAgICAgICAgQ2hhdEdMTS5FeGFtcGxlRW5kcG9pbnRcclxuICAgICAgICB9XHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ2hhdEdMTS5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5jaGF0Z2xtVXJsfVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0NoYXRHTE0uRXhhbXBsZUVuZHBvaW50fVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5jaGF0Z2xtVXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5DaGF0R0xNLkFwaUtleS5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5DaGF0R0xNLkFwaUtleS5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkNoYXRHTE0uQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmNoYXRnbG1BcGlLZXl9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5DaGF0R0xNLkFwaUtleS5QbGFjZWhvbGRlcn1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5jaGF0Z2xtQXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcbiAgY29uc3Qgc2lsaWNvbmZsb3dDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5TaWxpY29uRmxvdyAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TaWxpY29uRmxvdy5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICBMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlNpbGljb25GbG93LkVuZHBvaW50LlN1YlRpdGxlICtcclxuICAgICAgICAgIFNpbGljb25GbG93LkV4YW1wbGVFbmRwb2ludFxyXG4gICAgICAgIH1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TaWxpY29uRmxvdy5FbmRwb2ludC5UaXRsZX1cclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5zaWxpY29uZmxvd1VybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtTaWxpY29uRmxvdy5FeGFtcGxlRW5kcG9pbnR9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnNpbGljb25mbG93VXJsID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgID48L2lucHV0PlxyXG4gICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TaWxpY29uRmxvdy5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU2lsaWNvbkZsb3cuQXBpS2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU2lsaWNvbkZsb3cuQXBpS2V5LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLnNpbGljb25mbG93QXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU2lsaWNvbkZsb3cuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnNpbGljb25mbG93QXBpS2V5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHN0YWJpbGl0eUNvbmZpZ0NvbXBvbmVudCA9IGFjY2Vzc1N0b3JlLnByb3ZpZGVyID09PVxyXG4gICAgU2VydmljZVByb3ZpZGVyLlN0YWJpbGl0eSAmJiAoXHJcbiAgICA8PlxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TdGFiaWxpdHkuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e1xyXG4gICAgICAgICAgTG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TdGFiaWxpdHkuRW5kcG9pbnQuU3ViVGl0bGUgK1xyXG4gICAgICAgICAgU3RhYmlsaXR5LkV4YW1wbGVFbmRwb2ludFxyXG4gICAgICAgIH1cclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TdGFiaWxpdHkuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuc3RhYmlsaXR5VXJsfVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1N0YWJpbGl0eS5FeGFtcGxlRW5kcG9pbnR9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnN0YWJpbGl0eVVybCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU3RhYmlsaXR5LkFwaUtleS5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TdGFiaWxpdHkuQXBpS2V5LlN1YlRpdGxlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPFBhc3N3b3JkSW5wdXRcclxuICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuU3RhYmlsaXR5LkFwaUtleS5UaXRsZX1cclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5zdGFiaWxpdHlBcGlLZXl9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5TdGFiaWxpdHkuQXBpS2V5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAoYWNjZXNzKSA9PiAoYWNjZXNzLnN0YWJpbGl0eUFwaUtleSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICA8Lz5cclxuICApO1xyXG4gIGNvbnN0IGxmbHl0ZWtDb25maWdDb21wb25lbnQgPSBhY2Nlc3NTdG9yZS5wcm92aWRlciA9PT1cclxuICAgIFNlcnZpY2VQcm92aWRlci5JZmx5dGVrICYmIChcclxuICAgIDw+XHJcbiAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLklmbHl0ZWsuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e1xyXG4gICAgICAgICAgTG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5JZmx5dGVrLkVuZHBvaW50LlN1YlRpdGxlICtcclxuICAgICAgICAgIElmbHl0ZWsuRXhhbXBsZUVuZHBvaW50XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLklmbHl0ZWsuRW5kcG9pbnQuVGl0bGV9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT17YWNjZXNzU3RvcmUuaWZseXRla1VybH1cclxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtJZmx5dGVrLkV4YW1wbGVFbmRwb2ludH1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuaWZseXRla1VybCA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuSWZseXRlay5BcGlLZXkuVGl0bGV9XHJcbiAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuSWZseXRlay5BcGlLZXkuU3ViVGl0bGV9XHJcbiAgICAgID5cclxuICAgICAgICA8UGFzc3dvcmRJbnB1dFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5JZmx5dGVrLkFwaUtleS5UaXRsZX1cclxuICAgICAgICAgIHZhbHVlPXthY2Nlc3NTdG9yZS5pZmx5dGVrQXBpS2V5fVxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuSWZseXRlay5BcGlLZXkuUGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgYWNjZXNzU3RvcmUudXBkYXRlKFxyXG4gICAgICAgICAgICAgIChhY2Nlc3MpID0+IChhY2Nlc3MuaWZseXRla0FwaUtleSA9IGUuY3VycmVudFRhcmdldC52YWx1ZSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICA8TGlzdEl0ZW1cclxuICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5JZmx5dGVrLkFwaVNlY3JldC5UaXRsZX1cclxuICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5JZmx5dGVrLkFwaVNlY3JldC5TdWJUaXRsZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxQYXNzd29yZElucHV0XHJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLklmbHl0ZWsuQXBpU2VjcmV0LlRpdGxlfVxyXG4gICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLmlmbHl0ZWtBcGlTZWNyZXR9XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5JZmx5dGVrLkFwaVNlY3JldC5QbGFjZWhvbGRlcn1cclxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICBhY2Nlc3NTdG9yZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgKGFjY2VzcykgPT4gKGFjY2Vzcy5pZmx5dGVrQXBpU2VjcmV0ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9MaXN0SXRlbT5cclxuICAgIDwvPlxyXG4gICk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8RXJyb3JCb3VuZGFyeT5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3aW5kb3ctaGVhZGVyXCIgZGF0YS10YXVyaS1kcmFnLXJlZ2lvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndpbmRvdy1oZWFkZXItdGl0bGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWhlYWRlci1tYWluLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIHtMb2NhbGUuU2V0dGluZ3MuVGl0bGV9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWhlYWRlci1zdWItdGl0bGVcIj5cclxuICAgICAgICAgICAge0xvY2FsZS5TZXR0aW5ncy5TdWJUaXRsZX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWFjdGlvbnNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWFjdGlvbi1idXR0b25cIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWFjdGlvbi1idXR0b25cIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2luZG93LWFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgPEljb25CdXR0b25cclxuICAgICAgICAgICAgICBhcmlhPXtMb2NhbGUuVUkuQ2xvc2V9XHJcbiAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShQYXRoLkhvbWUpfVxyXG4gICAgICAgICAgICAgIGJvcmRlcmVkXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJzZXR0aW5nc1wiXX0+XHJcbiAgICAgICAgPExpc3Q+XHJcbiAgICAgICAgICA8TGlzdEl0ZW0gdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BdmF0YXJ9PlxyXG4gICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dFbW9qaVBpY2tlcihmYWxzZSl9XHJcbiAgICAgICAgICAgICAgY29udGVudD17XHJcbiAgICAgICAgICAgICAgICA8QXZhdGFyUGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIG9uRW1vamlDbGljaz17KGF2YXRhcjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKChjb25maWcpID0+IChjb25maWcuYXZhdGFyID0gYXZhdGFyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0U2hvd0Vtb2ppUGlja2VyKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIG9wZW49e3Nob3dFbW9qaVBpY2tlcn1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5BdmF0YXJ9XHJcbiAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmF2YXRhcn1cclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgc2V0U2hvd0Vtb2ppUGlja2VyKCFzaG93RW1vamlQaWNrZXIpO1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8QXZhdGFyIGF2YXRhcj17Y29uZmlnLmF2YXRhcn0gLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW1cclxuICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5VcGRhdGUuVmVyc2lvbihjdXJyZW50VmVyc2lvbiA/PyBcInVua25vd25cIil9XHJcbiAgICAgICAgICAgIHN1YlRpdGxlPXtcclxuICAgICAgICAgICAgICBjaGVja2luZ1VwZGF0ZVxyXG4gICAgICAgICAgICAgICAgPyBMb2NhbGUuU2V0dGluZ3MuVXBkYXRlLklzQ2hlY2tpbmdcclxuICAgICAgICAgICAgICAgIDogaGFzTmV3VmVyc2lvblxyXG4gICAgICAgICAgICAgICAgPyBMb2NhbGUuU2V0dGluZ3MuVXBkYXRlLkZvdW5kVXBkYXRlKHJlbW90ZUlkID8/IFwiRVJST1JcIilcclxuICAgICAgICAgICAgICAgIDogTG9jYWxlLlNldHRpbmdzLlVwZGF0ZS5Jc0xhdGVzdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtjaGVja2luZ1VwZGF0ZSA/IChcclxuICAgICAgICAgICAgICA8TG9hZGluZ0ljb24gLz5cclxuICAgICAgICAgICAgKSA6IGhhc05ld1ZlcnNpb24gPyAoXHJcbiAgICAgICAgICAgICAgY2xpZW50Q29uZmlnPy5pc0FwcCA/IChcclxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxSZXNldEljb24+PC9SZXNldEljb24+fVxyXG4gICAgICAgICAgICAgICAgICB0ZXh0PXtMb2NhbGUuU2V0dGluZ3MuVXBkYXRlLkdvVG9VcGRhdGV9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNsaWVudFVwZGF0ZSgpfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgPExpbmsgaHJlZj17dXBkYXRlVXJsfSB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzc05hbWU9XCJsaW5rXCI+XHJcbiAgICAgICAgICAgICAgICAgIHtMb2NhbGUuU2V0dGluZ3MuVXBkYXRlLkdvVG9VcGRhdGV9XHJcbiAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgICBpY29uPXs8UmVzZXRJY29uPjwvUmVzZXRJY29uPn1cclxuICAgICAgICAgICAgICAgIHRleHQ9e0xvY2FsZS5TZXR0aW5ncy5VcGRhdGUuQ2hlY2tVcGRhdGV9XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjaGVja1VwZGF0ZSh0cnVlKX1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW0gdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5TZW5kS2V5fT5cclxuICAgICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5TZW5kS2V5fVxyXG4gICAgICAgICAgICAgIHZhbHVlPXtjb25maWcuc3VibWl0S2V5fVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuc3VibWl0S2V5ID0gZS50YXJnZXQudmFsdWUgYXMgYW55IGFzIFN1Ym1pdEtleSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7T2JqZWN0LnZhbHVlcyhTdWJtaXRLZXkpLm1hcCgodikgPT4gKFxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17dn0ga2V5PXt2fT5cclxuICAgICAgICAgICAgICAgICAge3Z9XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICA8L0xpc3RJdGVtPlxyXG5cclxuICAgICAgICAgIDxMaXN0SXRlbSB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlRoZW1lfT5cclxuICAgICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5UaGVtZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17Y29uZmlnLnRoZW1lfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PiAoY29uZmlnLnRoZW1lID0gZS50YXJnZXQudmFsdWUgYXMgYW55IGFzIFRoZW1lKSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtPYmplY3QudmFsdWVzKFRoZW1lKS5tYXAoKHYpID0+IChcclxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e3Z9IGtleT17dn0+XHJcbiAgICAgICAgICAgICAgICAgIHt2fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW0gdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5MYW5nLk5hbWV9PlxyXG4gICAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkxhbmcuTmFtZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0TGFuZygpfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY2hhbmdlTGFuZyhlLnRhcmdldC52YWx1ZSBhcyBhbnkpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7QWxsTGFuZ3MubWFwKChsYW5nKSA9PiAoXHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXtsYW5nfSBrZXk9e2xhbmd9PlxyXG4gICAgICAgICAgICAgICAgICB7QUxMX0xBTkdfT1BUSU9OU1tsYW5nXX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuRm9udFNpemUuVGl0bGV9XHJcbiAgICAgICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuRm9udFNpemUuU3ViVGl0bGV9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxJbnB1dFJhbmdlXHJcbiAgICAgICAgICAgICAgYXJpYT17TG9jYWxlLlNldHRpbmdzLkZvbnRTaXplLlRpdGxlfVxyXG4gICAgICAgICAgICAgIHRpdGxlPXtgJHtjb25maWcuZm9udFNpemUgPz8gMTR9cHhgfVxyXG4gICAgICAgICAgICAgIHZhbHVlPXtjb25maWcuZm9udFNpemV9XHJcbiAgICAgICAgICAgICAgbWluPVwiMTJcIlxyXG4gICAgICAgICAgICAgIG1heD1cIjQwXCJcclxuICAgICAgICAgICAgICBzdGVwPVwiMVwiXHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuZm9udFNpemUgPSBOdW1iZXIucGFyc2VJbnQoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+PC9JbnB1dFJhbmdlPlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW1cclxuICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5Gb250RmFtaWx5LlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLkZvbnRGYW1pbHkuU3ViVGl0bGV9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5TZXR0aW5ncy5Gb250RmFtaWx5LlRpdGxlfVxyXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICB2YWx1ZT17Y29uZmlnLmZvbnRGYW1pbHl9XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e0xvY2FsZS5TZXR0aW5ncy5Gb250RmFtaWx5LlBsYWNlaG9sZGVyfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgICAgIHVwZGF0ZUNvbmZpZyhcclxuICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT4gKGNvbmZpZy5mb250RmFtaWx5ID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlKSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID48L2lucHV0PlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW1cclxuICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BdXRvR2VuZXJhdGVUaXRsZS5UaXRsZX1cclxuICAgICAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BdXRvR2VuZXJhdGVUaXRsZS5TdWJUaXRsZX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkF1dG9HZW5lcmF0ZVRpdGxlLlRpdGxlfVxyXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgY2hlY2tlZD17Y29uZmlnLmVuYWJsZUF1dG9HZW5lcmF0ZVRpdGxlfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgICAgIHVwZGF0ZUNvbmZpZyhcclxuICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT5cclxuICAgICAgICAgICAgICAgICAgICAoY29uZmlnLmVuYWJsZUF1dG9HZW5lcmF0ZVRpdGxlID0gZS5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgICAgICA8L0xpc3RJdGVtPlxyXG5cclxuICAgICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlNlbmRQcmV2aWV3QnViYmxlLlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLlNlbmRQcmV2aWV3QnViYmxlLlN1YlRpdGxlfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuU2VuZFByZXZpZXdCdWJibGUuVGl0bGV9XHJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICBjaGVja2VkPXtjb25maWcuc2VuZFByZXZpZXdCdWJibGV9XHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuc2VuZFByZXZpZXdCdWJibGUgPSBlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuTWFzay5Db25maWcuQXJ0aWZhY3RzLlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLk1hc2suQ29uZmlnLkFydGlmYWN0cy5TdWJUaXRsZX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLk1hc2suQ29uZmlnLkFydGlmYWN0cy5UaXRsZX1cclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5lbmFibGVBcnRpZmFjdHN9XHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuZW5hYmxlQXJ0aWZhY3RzID0gZS5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuTWFzay5Db25maWcuQ29kZUZvbGQuVGl0bGV9XHJcbiAgICAgICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuTWFzay5Db25maWcuQ29kZUZvbGQuU3ViVGl0bGV9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e0xvY2FsZS5NYXNrLkNvbmZpZy5Db2RlRm9sZC5UaXRsZX1cclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5lbmFibGVDb2RlRm9sZH1cclxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVuYWJsZS1jb2RlLWZvbGQtY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgICAgIHVwZGF0ZUNvbmZpZyhcclxuICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT4gKGNvbmZpZy5lbmFibGVDb2RlRm9sZCA9IGUuY3VycmVudFRhcmdldC5jaGVja2VkKSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID48L2lucHV0PlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICA8L0xpc3Q+XHJcblxyXG4gICAgICAgIDxTeW5jSXRlbXMgLz5cclxuXHJcbiAgICAgICAgPExpc3Q+XHJcbiAgICAgICAgICA8TGlzdEl0ZW1cclxuICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5NYXNrLlNwbGFzaC5UaXRsZX1cclxuICAgICAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5NYXNrLlNwbGFzaC5TdWJUaXRsZX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLk1hc2suU3BsYXNoLlRpdGxlfVxyXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgY2hlY2tlZD17IWNvbmZpZy5kb250U2hvd01hc2tTcGxhc2hTY3JlZW59XHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuZG9udFNob3dNYXNrU3BsYXNoU2NyZWVuID1cclxuICAgICAgICAgICAgICAgICAgICAgICFlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuTWFzay5CdWlsdGluLlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLk1hc2suQnVpbHRpbi5TdWJUaXRsZX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLk1hc2suQnVpbHRpbi5UaXRsZX1cclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5oaWRlQnVpbHRpbk1hc2tzfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cclxuICAgICAgICAgICAgICAgIHVwZGF0ZUNvbmZpZyhcclxuICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT5cclxuICAgICAgICAgICAgICAgICAgICAoY29uZmlnLmhpZGVCdWlsdGluTWFza3MgPSBlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgICAgPC9MaXN0PlxyXG5cclxuICAgICAgICA8TGlzdD5cclxuICAgICAgICAgIDxMaXN0SXRlbVxyXG4gICAgICAgICAgICB0aXRsZT17TG9jYWxlLlNldHRpbmdzLlByb21wdC5EaXNhYmxlLlRpdGxlfVxyXG4gICAgICAgICAgICBzdWJUaXRsZT17TG9jYWxlLlNldHRpbmdzLlByb21wdC5EaXNhYmxlLlN1YlRpdGxlfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0LkRpc2FibGUuVGl0bGV9XHJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICBjaGVja2VkPXtjb25maWcuZGlzYWJsZVByb21wdEhpbnR9XHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgdXBkYXRlQ29uZmlnKFxyXG4gICAgICAgICAgICAgICAgICAoY29uZmlnKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maWcuZGlzYWJsZVByb21wdEhpbnQgPSBlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+PC9pbnB1dD5cclxuICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcblxyXG4gICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgIHRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0Lkxpc3R9XHJcbiAgICAgICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0Lkxpc3RDb3VudChcclxuICAgICAgICAgICAgICBidWlsdGluQ291bnQsXHJcbiAgICAgICAgICAgICAgY3VzdG9tQ291bnQsXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgYXJpYT17TG9jYWxlLlNldHRpbmdzLlByb21wdC5MaXN0ICsgTG9jYWxlLlNldHRpbmdzLlByb21wdC5FZGl0fVxyXG4gICAgICAgICAgICAgIGljb249ezxFZGl0SWNvbiAvPn1cclxuICAgICAgICAgICAgICB0ZXh0PXtMb2NhbGUuU2V0dGluZ3MuUHJvbXB0LkVkaXR9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Byb21wdE1vZGFsKHRydWUpfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9MaXN0SXRlbT5cclxuICAgICAgICA8L0xpc3Q+XHJcblxyXG4gICAgICAgIDxMaXN0IGlkPXtTbG90SUQuQ3VzdG9tTW9kZWx9PlxyXG4gICAgICAgICAge3NhYXNTdGFydENvbXBvbmVudH1cclxuICAgICAgICAgIHthY2Nlc3NDb2RlQ29tcG9uZW50fVxyXG5cclxuICAgICAgICAgIHshYWNjZXNzU3RvcmUuaGlkZVVzZXJBcGlLZXkgJiYgKFxyXG4gICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgIHt1c2VDdXN0b21Db25maWdDb21wb25lbnR9XHJcblxyXG4gICAgICAgICAgICAgIHthY2Nlc3NTdG9yZS51c2VDdXN0b21Db25maWcgJiYgKFxyXG4gICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuUHJvdmlkZXIuVGl0bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgc3ViVGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuUHJvdmlkZXIuU3ViVGl0bGV9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLlByb3ZpZGVyLlRpdGxlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2FjY2Vzc1N0b3JlLnByb3ZpZGVyfVxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc1N0b3JlLnVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoYWNjZXNzKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjY2Vzcy5wcm92aWRlciA9IGUudGFyZ2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZSBhcyBTZXJ2aWNlUHJvdmlkZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMoU2VydmljZVByb3ZpZGVyKS5tYXAoKFtrLCB2XSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXt2fSBrZXk9e2t9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtrfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8L0xpc3RJdGVtPlxyXG5cclxuICAgICAgICAgICAgICAgICAge29wZW5BSUNvbmZpZ0NvbXBvbmVudH1cclxuICAgICAgICAgICAgICAgICAge2F6dXJlQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7Z29vZ2xlQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7YW50aHJvcGljQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7YmFpZHVDb25maWdDb21wb25lbnR9XHJcbiAgICAgICAgICAgICAgICAgIHtieXRlRGFuY2VDb25maWdDb21wb25lbnR9XHJcbiAgICAgICAgICAgICAgICAgIHthbGliYWJhQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7dGVuY2VudENvbmZpZ0NvbXBvbmVudH1cclxuICAgICAgICAgICAgICAgICAge21vb25zaG90Q29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7ZGVlcHNlZWtDb25maWdDb21wb25lbnR9XHJcbiAgICAgICAgICAgICAgICAgIHtzdGFiaWxpdHlDb25maWdDb21wb25lbnR9XHJcbiAgICAgICAgICAgICAgICAgIHtsZmx5dGVrQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7WEFJQ29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgICB7Y2hhdGdsbUNvbmZpZ0NvbXBvbmVudH1cclxuICAgICAgICAgICAgICAgICAge3NpbGljb25mbG93Q29uZmlnQ29tcG9uZW50fVxyXG4gICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgIHshc2hvdWxkSGlkZUJhbGFuY2VRdWVyeSAmJiAhY2xpZW50Q29uZmlnPy5pc0FwcCA/IChcclxuICAgICAgICAgICAgPExpc3RJdGVtXHJcbiAgICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5Vc2FnZS5UaXRsZX1cclxuICAgICAgICAgICAgICBzdWJUaXRsZT17XHJcbiAgICAgICAgICAgICAgICBzaG93VXNhZ2VcclxuICAgICAgICAgICAgICAgICAgPyBsb2FkaW5nVXNhZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IExvY2FsZS5TZXR0aW5ncy5Vc2FnZS5Jc0NoZWNraW5nXHJcbiAgICAgICAgICAgICAgICAgICAgOiBMb2NhbGUuU2V0dGluZ3MuVXNhZ2UuU3ViVGl0bGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlPy51c2VkID8/IFwiWz9dXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlPy5zdWJzY3JpcHRpb24gPz8gXCJbP11cIixcclxuICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgOiBMb2NhbGUuU2V0dGluZ3MuVXNhZ2UuTm9BY2Nlc3NcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7IXNob3dVc2FnZSB8fCBsb2FkaW5nVXNhZ2UgPyAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IC8+XHJcbiAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxSZXNldEljb24+PC9SZXNldEljb24+fVxyXG4gICAgICAgICAgICAgICAgICB0ZXh0PXtMb2NhbGUuU2V0dGluZ3MuVXNhZ2UuQ2hlY2t9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNoZWNrVXNhZ2UodHJ1ZSl9XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvTGlzdEl0ZW0+XHJcbiAgICAgICAgICApIDogbnVsbH1cclxuXHJcbiAgICAgICAgICA8TGlzdEl0ZW1cclxuICAgICAgICAgICAgdGl0bGU9e0xvY2FsZS5TZXR0aW5ncy5BY2Nlc3MuQ3VzdG9tTW9kZWwuVGl0bGV9XHJcbiAgICAgICAgICAgIHN1YlRpdGxlPXtMb2NhbGUuU2V0dGluZ3MuQWNjZXNzLkN1c3RvbU1vZGVsLlN1YlRpdGxlfVxyXG4gICAgICAgICAgICB2ZXJ0aWNhbD17dHJ1ZX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17TG9jYWxlLlNldHRpbmdzLkFjY2Vzcy5DdXN0b21Nb2RlbC5UaXRsZX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIG1heFdpZHRoOiBcInVuc2V0XCIsIHRleHRBbGlnbjogXCJsZWZ0XCIgfX1cclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgdmFsdWU9e2NvbmZpZy5jdXN0b21Nb2RlbHN9XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtb2RlbDEsbW9kZWwyLG1vZGVsM1wiXHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgY29uZmlnLnVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgKGNvbmZpZykgPT4gKGNvbmZpZy5jdXN0b21Nb2RlbHMgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWUpLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPjwvaW5wdXQ+XHJcbiAgICAgICAgICA8L0xpc3RJdGVtPlxyXG4gICAgICAgIDwvTGlzdD5cclxuXHJcbiAgICAgICAgPExpc3Q+XHJcbiAgICAgICAgICA8TW9kZWxDb25maWdMaXN0XHJcbiAgICAgICAgICAgIG1vZGVsQ29uZmlnPXtjb25maWcubW9kZWxDb25maWd9XHJcbiAgICAgICAgICAgIHVwZGF0ZUNvbmZpZz17KHVwZGF0ZXIpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBtb2RlbENvbmZpZyA9IHsgLi4uY29uZmlnLm1vZGVsQ29uZmlnIH07XHJcbiAgICAgICAgICAgICAgdXBkYXRlcihtb2RlbENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoY29uZmlnLm1vZGVsQ29uZmlnID0gbW9kZWxDb25maWcpKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9MaXN0PlxyXG5cclxuICAgICAgICB7c2hvdWxkU2hvd1Byb21wdE1vZGFsICYmIChcclxuICAgICAgICAgIDxVc2VyUHJvbXB0TW9kYWwgb25DbG9zZT17KCkgPT4gc2V0U2hvd1Byb21wdE1vZGFsKGZhbHNlKX0gLz5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxMaXN0PlxyXG4gICAgICAgICAgPFJlYWx0aW1lQ29uZmlnTGlzdFxyXG4gICAgICAgICAgICByZWFsdGltZUNvbmZpZz17Y29uZmlnLnJlYWx0aW1lQ29uZmlnfVxyXG4gICAgICAgICAgICB1cGRhdGVDb25maWc9eyh1cGRhdGVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVhbHRpbWVDb25maWcgPSB7IC4uLmNvbmZpZy5yZWFsdGltZUNvbmZpZyB9O1xyXG4gICAgICAgICAgICAgIHVwZGF0ZXIocmVhbHRpbWVDb25maWcpO1xyXG4gICAgICAgICAgICAgIGNvbmZpZy51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAoY29uZmlnKSA9PiAoY29uZmlnLnJlYWx0aW1lQ29uZmlnID0gcmVhbHRpbWVDb25maWcpLFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvTGlzdD5cclxuICAgICAgICA8TGlzdD5cclxuICAgICAgICAgIDxUVFNDb25maWdMaXN0XHJcbiAgICAgICAgICAgIHR0c0NvbmZpZz17Y29uZmlnLnR0c0NvbmZpZ31cclxuICAgICAgICAgICAgdXBkYXRlQ29uZmlnPXsodXBkYXRlcikgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHR0c0NvbmZpZyA9IHsgLi4uY29uZmlnLnR0c0NvbmZpZyB9O1xyXG4gICAgICAgICAgICAgIHVwZGF0ZXIodHRzQ29uZmlnKTtcclxuICAgICAgICAgICAgICBjb25maWcudXBkYXRlKChjb25maWcpID0+IChjb25maWcudHRzQ29uZmlnID0gdHRzQ29uZmlnKSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvTGlzdD5cclxuXHJcbiAgICAgICAgPERhbmdlckl0ZW1zIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9FcnJvckJvdW5kYXJ5PlxyXG4gICk7XHJcbn1cclxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInN0eWxlcyIsIlJlc2V0SWNvbiIsIkFkZEljb24iLCJDbG9zZUljb24iLCJDb3B5SWNvbiIsIkNsZWFySWNvbiIsIkxvYWRpbmdJY29uIiwiRWRpdEljb24iLCJGaXJlSWNvbiIsIkV5ZUljb24iLCJEb3dubG9hZEljb24iLCJVcGxvYWRJY29uIiwiQ29uZmlnSWNvbiIsIkNvbmZpcm1JY29uIiwiQ29ubmVjdGlvbkljb24iLCJDbG91ZFN1Y2Nlc3NJY29uIiwiQ2xvdWRGYWlsSWNvbiIsInRyYWNrU2V0dGluZ3NQYWdlR3VpZGVUb0NQYXltZW50Q2xpY2siLCJJbnB1dCIsIkxpc3QiLCJMaXN0SXRlbSIsIk1vZGFsIiwiUGFzc3dvcmRJbnB1dCIsIlBvcG92ZXIiLCJTZWxlY3QiLCJzaG93Q29uZmlybSIsInNob3dUb2FzdCIsIk1vZGVsQ29uZmlnTGlzdCIsIkljb25CdXR0b24iLCJTdWJtaXRLZXkiLCJ1c2VDaGF0U3RvcmUiLCJUaGVtZSIsInVzZVVwZGF0ZVN0b3JlIiwidXNlQWNjZXNzU3RvcmUiLCJ1c2VBcHBDb25maWciLCJMb2NhbGUiLCJBbGxMYW5ncyIsIkFMTF9MQU5HX09QVElPTlMiLCJjaGFuZ2VMYW5nIiwiZ2V0TGFuZyIsImNvcHlUb0NsaXBib2FyZCIsImNsaWVudFVwZGF0ZSIsInNlbXZlckNvbXBhcmUiLCJMaW5rIiwiQW50aHJvcGljIiwiQXp1cmUiLCJCYWlkdSIsIlRlbmNlbnQiLCJCeXRlRGFuY2UiLCJBbGliYWJhIiwiTW9vbnNob3QiLCJYQUkiLCJHb29nbGUiLCJHb29nbGVTYWZldHlTZXR0aW5nc1RocmVzaG9sZCIsIk9QRU5BSV9CQVNFX1VSTCIsIlBhdGgiLCJSRUxFQVNFX1VSTCIsIlNUT1JBR0VfS0VZIiwiU2VydmljZVByb3ZpZGVyIiwiU2xvdElEIiwiVVBEQVRFX1VSTCIsIlN0YWJpbGl0eSIsIklmbHl0ZWsiLCJTQUFTX0NIQVRfVVJMIiwiQ2hhdEdMTSIsIkRlZXBTZWVrIiwiU2lsaWNvbkZsb3ciLCJTZWFyY2hTZXJ2aWNlIiwidXNlUHJvbXB0U3RvcmUiLCJFcnJvckJvdW5kYXJ5IiwiSW5wdXRSYW5nZSIsInVzZU5hdmlnYXRlIiwiQXZhdGFyIiwiQXZhdGFyUGlja2VyIiwiZ2V0Q2xpZW50Q29uZmlnIiwidXNlU3luY1N0b3JlIiwibmFub2lkIiwidXNlTWFza1N0b3JlIiwiUHJvdmlkZXJUeXBlIiwiVFRTQ29uZmlnTGlzdCIsIlJlYWx0aW1lQ29uZmlnTGlzdCIsIkVkaXRQcm9tcHRNb2RhbCIsInByb3BzIiwicHJvbXB0U3RvcmUiLCJwcm9tcHQiLCJnZXQiLCJpZCIsImRpdiIsImNsYXNzTmFtZSIsInRpdGxlIiwiU2V0dGluZ3MiLCJQcm9tcHQiLCJFZGl0TW9kYWwiLCJUaXRsZSIsIm9uQ2xvc2UiLCJhY3Rpb25zIiwib25DbGljayIsInRleHQiLCJVSSIsIkNvbmZpcm0iLCJib3JkZXJlZCIsImlucHV0IiwidHlwZSIsInZhbHVlIiwicmVhZE9ubHkiLCJpc1VzZXIiLCJvbklucHV0IiwiZSIsInVwZGF0ZVByb21wdCIsImN1cnJlbnRUYXJnZXQiLCJjb250ZW50Iiwicm93cyIsIlVzZXJQcm9tcHRNb2RhbCIsInVzZXJQcm9tcHRzIiwiZ2V0VXNlclByb21wdHMiLCJidWlsdGluUHJvbXB0cyIsImFsbFByb21wdHMiLCJjb25jYXQiLCJzZWFyY2hJbnB1dCIsInNldFNlYXJjaElucHV0Iiwic2VhcmNoUHJvbXB0cyIsInNldFNlYXJjaFByb21wdHMiLCJwcm9tcHRzIiwibGVuZ3RoIiwiZWRpdGluZ1Byb21wdElkIiwic2V0RWRpdGluZ1Byb21wdElkIiwic2VhcmNoUmVzdWx0Iiwic2VhcmNoIiwicHJvbXB0SWQiLCJhZGQiLCJjcmVhdGVkQXQiLCJEYXRlIiwibm93IiwiaWNvbiIsIkFkZCIsInBsYWNlaG9sZGVyIiwiU2VhcmNoIiwibWFwIiwidiIsIl8iLCJyZW1vdmUiLCJ1bmRlZmluZWQiLCJEYW5nZXJJdGVtcyIsImNoYXRTdG9yZSIsImFwcENvbmZpZyIsIkRhbmdlciIsIlJlc2V0Iiwic3ViVGl0bGUiLCJTdWJUaXRsZSIsImFyaWEiLCJBY3Rpb24iLCJyZXNldCIsIkNsZWFyIiwiY2xlYXJBbGxEYXRhIiwiQ2hlY2tCdXR0b24iLCJzeW5jU3RvcmUiLCJjb3VsZENoZWNrIiwiY2xvdWRTeW5jIiwiY2hlY2tTdGF0ZSIsInNldENoZWNrU3RhdGUiLCJjaGVjayIsInZhbGlkIiwiU3luYyIsIkNvbmZpZyIsIkNoZWNrIiwiU3luY0NvbmZpZ01vZGFsIiwiU3luY1R5cGUiLCJzZWxlY3QiLCJwcm92aWRlciIsIm9uQ2hhbmdlIiwidXBkYXRlIiwiY29uZmlnIiwidGFyZ2V0IiwiT2JqZWN0IiwiZW50cmllcyIsImsiLCJvcHRpb24iLCJQcm94eSIsImNoZWNrZWQiLCJ1c2VQcm94eSIsIlByb3h5VXJsIiwicHJveHlVcmwiLCJXZWJEQVYiLCJXZWJEYXYiLCJFbmRwb2ludCIsIndlYmRhdiIsImVuZHBvaW50IiwiVXNlck5hbWUiLCJ1c2VybmFtZSIsIlBhc3N3b3JkIiwicGFzc3dvcmQiLCJVcFN0YXNoIiwidXBzdGFzaCIsImFwaUtleSIsIlN5bmNJdGVtcyIsIm1hc2tTdG9yZSIsImNvdWxkU3luYyIsInNob3dTeW5jQ29uZmlnTW9kYWwiLCJzZXRTaG93U3luY0NvbmZpZ01vZGFsIiwic3RhdGVPdmVydmlldyIsInNlc3Npb25zIiwibWVzc2FnZUNvdW50IiwicmVkdWNlIiwicCIsImMiLCJtZXNzYWdlcyIsImNoYXQiLCJtZXNzYWdlIiwia2V5cyIsIm1hc2siLCJtYXNrcyIsIkNsb3VkU3RhdGUiLCJsYXN0UHJvdmlkZXIiLCJsYXN0U3luY1RpbWUiLCJ0b0xvY2FsZVN0cmluZyIsIk5vdFN5bmNZZXQiLCJzdHlsZSIsImRpc3BsYXkiLCJzeW5jIiwiU3VjY2VzcyIsIkZhaWwiLCJjb25zb2xlIiwiZXJyb3IiLCJMb2NhbFN0YXRlIiwiT3ZlcnZpZXciLCJFeHBvcnQiLCJleHBvcnQiLCJJbXBvcnQiLCJpbXBvcnQiLCJuYXZpZ2F0ZSIsInNob3dFbW9qaVBpY2tlciIsInNldFNob3dFbW9qaVBpY2tlciIsInVwZGF0ZUNvbmZpZyIsInVwZGF0ZVN0b3JlIiwiY2hlY2tpbmdVcGRhdGUiLCJzZXRDaGVja2luZ1VwZGF0ZSIsImN1cnJlbnRWZXJzaW9uIiwiZm9ybWF0VmVyc2lvbiIsInZlcnNpb24iLCJyZW1vdGVJZCIsInJlbW90ZVZlcnNpb24iLCJoYXNOZXdWZXJzaW9uIiwidXBkYXRlVXJsIiwiaXNBcHAiLCJjaGVja1VwZGF0ZSIsImZvcmNlIiwiZ2V0TGF0ZXN0VmVyc2lvbiIsInRoZW4iLCJsb2ciLCJhY2Nlc3NTdG9yZSIsInNob3VsZEhpZGVCYWxhbmNlUXVlcnkiLCJpc09wZW5BaVVybCIsIm9wZW5haVVybCIsImluY2x1ZGVzIiwiaGlkZUJhbGFuY2VRdWVyeSIsInVzYWdlIiwidXNlZCIsInN1YnNjcmlwdGlvbiIsImxvYWRpbmdVc2FnZSIsInNldExvYWRpbmdVc2FnZSIsImNoZWNrVXNhZ2UiLCJ1cGRhdGVVc2FnZSIsImZpbmFsbHkiLCJlbmFibGVkQWNjZXNzQ29udHJvbCIsImJ1aWx0aW5Db3VudCIsImNvdW50IiwiYnVpbHRpbiIsImN1c3RvbUNvdW50Iiwic2hvdWxkU2hvd1Byb21wdE1vZGFsIiwic2V0U2hvd1Byb21wdE1vZGFsIiwic2hvd1VzYWdlIiwiaXNBdXRob3JpemVkIiwia2V5ZG93bkV2ZW50Iiwia2V5IiwiSG9tZSIsImNsaWVudENvbmZpZyIsInN0YXRlIiwidXNlQ3VzdG9tQ29uZmlnIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInNob3dBY2Nlc3NDb2RlIiwiYWNjZXNzQ29kZUNvbXBvbmVudCIsIkFjY2VzcyIsIkFjY2Vzc0NvZGUiLCJhY2Nlc3NDb2RlIiwiUGxhY2Vob2xkZXIiLCJhY2Nlc3MiLCJzYWFzU3RhcnRDb21wb25lbnQiLCJTYWFzU3RhcnQiLCJMYWJlbCIsIkNoYXROb3ciLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJ1c2VDdXN0b21Db25maWdDb21wb25lbnQiLCJDdXN0b21FbmRwb2ludCIsImFyaWEtbGFiZWwiLCJvcGVuQUlDb25maWdDb21wb25lbnQiLCJPcGVuQUkiLCJBcGlLZXkiLCJTaG93UGFzc3dvcmQiLCJvcGVuYWlBcGlLZXkiLCJhenVyZUNvbmZpZ0NvbXBvbmVudCIsIkV4YW1wbGVFbmRwb2ludCIsImF6dXJlVXJsIiwiYXp1cmVBcGlLZXkiLCJBcGlWZXJpb24iLCJhenVyZUFwaVZlcnNpb24iLCJnb29nbGVDb25maWdDb21wb25lbnQiLCJnb29nbGVVcmwiLCJnb29nbGVBcGlLZXkiLCJBcGlWZXJzaW9uIiwiZ29vZ2xlQXBpVmVyc2lvbiIsIkdvb2dsZVNhZmV0eVNldHRpbmdzIiwiZ29vZ2xlU2FmZXR5U2V0dGluZ3MiLCJhbnRocm9waWNDb25maWdDb21wb25lbnQiLCJhbnRocm9waWNVcmwiLCJhbnRocm9waWNBcGlLZXkiLCJhbnRocm9waWNBcGlWZXJzaW9uIiwiVmlzaW9uIiwiYmFpZHVDb25maWdDb21wb25lbnQiLCJiYWlkdVVybCIsImJhaWR1QXBpS2V5IiwiU2VjcmV0S2V5IiwiYmFpZHVTZWNyZXRLZXkiLCJ0ZW5jZW50Q29uZmlnQ29tcG9uZW50IiwidGVuY2VudFVybCIsInRlbmNlbnRTZWNyZXRJZCIsInRlbmNlbnRTZWNyZXRLZXkiLCJieXRlRGFuY2VDb25maWdDb21wb25lbnQiLCJieXRlZGFuY2VVcmwiLCJieXRlZGFuY2VBcGlLZXkiLCJhbGliYWJhQ29uZmlnQ29tcG9uZW50IiwiYWxpYmFiYVVybCIsImFsaWJhYmFBcGlLZXkiLCJtb29uc2hvdENvbmZpZ0NvbXBvbmVudCIsIm1vb25zaG90VXJsIiwibW9vbnNob3RBcGlLZXkiLCJkZWVwc2Vla0NvbmZpZ0NvbXBvbmVudCIsImRlZXBzZWVrVXJsIiwiZGVlcHNlZWtBcGlLZXkiLCJYQUlDb25maWdDb21wb25lbnQiLCJ4YWlVcmwiLCJ4YWlBcGlLZXkiLCJjaGF0Z2xtQ29uZmlnQ29tcG9uZW50IiwiY2hhdGdsbVVybCIsImNoYXRnbG1BcGlLZXkiLCJzaWxpY29uZmxvd0NvbmZpZ0NvbXBvbmVudCIsInNpbGljb25mbG93VXJsIiwic2lsaWNvbmZsb3dBcGlLZXkiLCJzdGFiaWxpdHlDb25maWdDb21wb25lbnQiLCJzdGFiaWxpdHlVcmwiLCJzdGFiaWxpdHlBcGlLZXkiLCJsZmx5dGVrQ29uZmlnQ29tcG9uZW50IiwiaWZseXRla1VybCIsImlmbHl0ZWtBcGlLZXkiLCJBcGlTZWNyZXQiLCJpZmx5dGVrQXBpU2VjcmV0IiwiZGF0YS10YXVyaS1kcmFnLXJlZ2lvbiIsIkNsb3NlIiwib25FbW9qaUNsaWNrIiwiYXZhdGFyIiwib3BlbiIsInRhYkluZGV4IiwiVXBkYXRlIiwiVmVyc2lvbiIsIklzQ2hlY2tpbmciLCJGb3VuZFVwZGF0ZSIsIklzTGF0ZXN0IiwiR29Ub1VwZGF0ZSIsIkNoZWNrVXBkYXRlIiwiU2VuZEtleSIsInN1Ym1pdEtleSIsInZhbHVlcyIsInRoZW1lIiwiTGFuZyIsIk5hbWUiLCJsYW5nIiwiRm9udFNpemUiLCJmb250U2l6ZSIsIm1pbiIsIm1heCIsInN0ZXAiLCJOdW1iZXIiLCJwYXJzZUludCIsIkZvbnRGYW1pbHkiLCJmb250RmFtaWx5IiwiQXV0b0dlbmVyYXRlVGl0bGUiLCJlbmFibGVBdXRvR2VuZXJhdGVUaXRsZSIsIlNlbmRQcmV2aWV3QnViYmxlIiwic2VuZFByZXZpZXdCdWJibGUiLCJNYXNrIiwiQXJ0aWZhY3RzIiwiZW5hYmxlQXJ0aWZhY3RzIiwiQ29kZUZvbGQiLCJlbmFibGVDb2RlRm9sZCIsImRhdGEtdGVzdGlkIiwiU3BsYXNoIiwiZG9udFNob3dNYXNrU3BsYXNoU2NyZWVuIiwiQnVpbHRpbiIsImhpZGVCdWlsdGluTWFza3MiLCJEaXNhYmxlIiwiZGlzYWJsZVByb21wdEhpbnQiLCJMaXN0Q291bnQiLCJFZGl0IiwiQ3VzdG9tTW9kZWwiLCJoaWRlVXNlckFwaUtleSIsIlByb3ZpZGVyIiwiVXNhZ2UiLCJOb0FjY2VzcyIsInZlcnRpY2FsIiwid2lkdGgiLCJtYXhXaWR0aCIsInRleHRBbGlnbiIsImN1c3RvbU1vZGVscyIsIm1vZGVsQ29uZmlnIiwidXBkYXRlciIsInJlYWx0aW1lQ29uZmlnIiwidHRzQ29uZmlnIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/components/settings.tsx\n"));
/***/ })
});