"use strict"; (self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_a"],{ /***/ "./src/shared/assets/fonts/Bayon-Regular.ttf": /*!***************************************************!*\ !*** ./src/shared/assets/fonts/Bayon-Regular.ttf ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Bayon-Regular.ttf"; /***/ }), /***/ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf": /*!*******************************************************************!*\ !*** ./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Roboto-VariableFont_wdth,wght.ttf"; /***/ }), /***/ "./src/shared/assets/fonts/Siemreap-Regular.ttf": /*!******************************************************!*\ !*** ./src/shared/assets/fonts/Siemreap-Regular.ttf ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Siemreap-Regular.ttf"; /***/ }), /***/ "./src/shared/assets/images/team.png": /*!*******************************************!*\ !*** ./src/shared/assets/images/team.png ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/team.png"; /***/ }), /***/ "./src/shared/assets/logos/logo.png": /*!******************************************!*\ !*** ./src/shared/assets/logos/logo.png ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/logo.png"; /***/ }), /***/ "./src/shared/components/footer/footer-component.tsx": /*!***********************************************************!*\ !*** ./src/shared/components/footer/footer-component.tsx ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); var Footer = antd_es_layout__WEBPACK_IMPORTED_MODULE_2__["default"].Footer; var FooterComponent = function FooterComponent() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(Footer, { style: { background: '#f5f5f5', padding: '24px', textAlign: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_0__["default"], { gutter: [16, 16] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "About Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Learn more about our mission and values.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Contact"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Email: support@gmail.com"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Phone: +855 123 456 7890")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Follow Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("a", { href: "", target: "_blank", rel: "#" }, "#")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("div", { style: { marginTop: '16px' } }, "\xA9 ", new Date().getFullYear(), " #")); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FooterComponent); /***/ }), /***/ "./src/shared/configs/config.ts": /*!**************************************!*\ !*** ./src/shared/configs/config.ts ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ // env: process.env.NODE_ENV, env: 'development', // asset_url: process.env.S3IMAGESBUCKET, asset_url: '', api_url: "https://volunteerapi.joonaakhub.com", upload_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.MEDIA_API, socket_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.SOCKER_SERVER, notification_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.NOTIFICATION, AWS_ACCESS_KEY_ID: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_SECRET_ACCESS_KEY, REACT_APP_API_TOKEN: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.REACT_APP_API_TOKEN, S3_BUCKET: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.106.2","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.gbVZVEMYBy/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"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"}.S3_BUCKET, firebase_config_headers: {}, limit: 10, wallet_limit: 10000, websocketEvent: { DRIVER_LIVE_LOCATION: 'DRIVER_LIVE_LOCATION', UPDATE_JN_WALLET: 'UPDATE_JN_WALLET', CASH_IN_SUCCESS: 'CASH_IN_SUCCESS', CASH_OUT_SUCCESS: 'CASH_OUT_SUCCESS', NO_DRIVER_AVAILABLE: 'NO_DRIVER_AVAILABLE', PACKAGE_TRACKING: 'PACKAGE_TRACKING' }, defaultAdminAccount: 'DEFAULT_ADMIN_ACCOUNT_ID', telegramId: { dev: '-1001136284557', devLogger: '-1001495616386', expressHub: '-1001136284557', expressMerchant: '-1001136284557', expressFinance: '-1001136284557', expressDriver: '-1001136284557' } }); /***/ }), /***/ "./src/shared/configs/constants.ts": /*!*****************************************!*\ !*** ./src/shared/configs/constants.ts ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AUTH_LOGIN: () => (/* binding */ AUTH_LOGIN), /* harmony export */ CURRENCY_TYPE: () => (/* binding */ CURRENCY_TYPE), /* harmony export */ LOGIN_FAILED: () => (/* binding */ LOGIN_FAILED), /* harmony export */ START_LOGIN: () => (/* binding */ START_LOGIN), /* harmony export */ URL: () => (/* binding */ URL) /* harmony export */ }); var START_LOGIN = 'START_LOGIN'; var AUTH_LOGIN = 'AUTH_LOGIN'; var LOGIN_FAILED = 'LOGIN_FAILED'; var URL = { LOGIN: '/auth/login', LOGIN_TELEGRAM: '/auth/login', VERIFY_TOP: 'api/v1/verify', SIGNUP: 'auth/register', DISABILITY_TYPE: 'disability-types/', PROVINCE: 'provinces/', OCCUPATION: 'occupations/', EDUCATION_INSTITUTION: 'education-institutions/', FOODS: 'foods/', FOOD: 'foods/', FAMILIES: 'families/', TRANSPORTATIONS: 'transportations/', TEAM: 'interested-teams/', EVENT: 'volunteer-events/', SOURCE: 'opportunity-sources/', TRAINING_SESSION: 'training-sessions/', LANGUAGE: 'languages/', SKILL: 'skills/', TERMS_CONDITION: 'terms-conditions/', VOLUNTEER_EVENT: 'volunteer-events/', VOLUNTEERS: 'volunteers/', DASHBOARD: 'dashboard/', OFFER_PROGRAM: 'offer-programs/', TRAVEL_DAY: 'travel-days/', USER: 'users/', PUBLIC: 'public/', NOTIFY: 'notify/send/telegram', NOTIFY_STATUS: 'notify/send/status', USER_ATTENDANCE: '/user-attendances/' }; var CURRENCY_TYPE = { USD: 'USD', KHR: 'KHR' }; /***/ }), /***/ "./src/shared/container/dialogs/loading-dialog.tsx": /*!*********************************************************!*\ !*** ./src/shared/container/dialogs/loading-dialog.tsx ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js"); /* harmony import */ var antd_es_spin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/spin */ "../../../node_modules/antd/lib/spin/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var LoadingDialog = /*#__PURE__*/function (_React$Component) { function LoadingDialog() { _classCallCheck(this, LoadingDialog); return _callSuper(this, LoadingDialog, arguments); } _inherits(LoadingDialog, _React$Component); return _createClass(LoadingDialog, [{ key: "render", value: function render() { var visible = this.props.visible; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], { width: 200, visible: visible, centered: true, footer: null, closable: false }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { style: { display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginTop: 20 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_spin__WEBPACK_IMPORTED_MODULE_1__["default"], { size: "large" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("p", { style: { textAlign: 'center', marginTop: '1rem' } }, "Loading..."))); } }]); }((react__WEBPACK_IMPORTED_MODULE_2___default().Component)); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadingDialog); /***/ }), /***/ "./src/shared/core/base/services.ts": /*!******************************************!*\ !*** ./src/shared/core/base/services.ts ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getWithConfig: () => (/* binding */ getWithConfig), /* harmony export */ postUpload: () => (/* binding */ postUpload), /* harmony export */ postWithConfig: () => (/* binding */ postWithConfig), /* harmony export */ postWithConfigFormData: () => (/* binding */ postWithConfigFormData), /* harmony export */ postWithConfigWhitelist: () => (/* binding */ postWithConfigWhitelist), /* harmony export */ pushNotification: () => (/* binding */ pushNotification), /* harmony export */ pushNotificationAllApp: () => (/* binding */ pushNotificationAllApp), /* harmony export */ putWithConfig: () => (/* binding */ putWithConfig), /* harmony export */ removeWithConfig: () => (/* binding */ removeWithConfig) /* harmony export */ }); /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../../node_modules/axios/lib/axios.js"); /* harmony import */ var _configs_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../configs/config */ "./src/shared/configs/config.ts"); /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ "../../../node_modules/qs/lib/index.js"); /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /* eslint-disable no-console */ /** * Helper function to make GET requests with token authorization and optional parameters. * * @param url - The API endpoint. * @param params - Optional query parameters. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ // Ensure axiosInstance is configured properly var axiosInstance = axios__WEBPACK_IMPORTED_MODULE_0__["default"].create({ baseURL: _configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].api_url, timeout: 100000 // Example timeout }); var getWithConfig = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, params, success, failed) { var token, cleanedParams, configs, response, _err$response$data$me, _err$response, _err$response$data$er, _err$response2, message, error, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: _context.p = 0; token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; // 🔥 remove empty, null, undefined cleanedParams = {}; Object.entries(params || {}).forEach(function (_ref2) { var _ref3 = _slicedToArray(_ref2, 2), key = _ref3[0], value = _ref3[1]; if (value !== undefined && value !== null && value !== "" && !(Array.isArray(value) && value.length === 0)) { cleanedParams[key] = value; } }); configs = { headers: { Authorization: token ? "Bearer ".concat(token) : "", // ✅ Fixed incorrect conditional Accept: "application/json" }, params: cleanedParams, paramsSerializer: function paramsSerializer(params) { return qs__WEBPACK_IMPORTED_MODULE_2__.stringify(params, { arrayFormat: "repeat" // 🔥 event_ids=1&event_ids=3 }); } }; _context.n = 1; return axiosInstance.get(url, configs); case 1: response = _context.v; success === null || success === void 0 || success(response.data); return _context.a(2, response.data); case 2: _context.p = 2; _t = _context.v; console.error("Axios GET request failed:", _t); message = (_err$response$data$me = (_err$response = _t.response) === null || _err$response === void 0 || (_err$response = _err$response.data) === null || _err$response === void 0 ? void 0 : _err$response.message) !== null && _err$response$data$me !== void 0 ? _err$response$data$me : "Unknown error!"; error = (_err$response$data$er = (_err$response2 = _t.response) === null || _err$response2 === void 0 || (_err$response2 = _err$response2.data) === null || _err$response2 === void 0 ? void 0 : _err$response2.error) !== null && _err$response$data$er !== void 0 ? _err$response$data$er : "Unknown error!"; console.error({ error: error }); failed === null || failed === void 0 || failed(message); return _context.a(2, undefined); } }, _callee, null, [[0, 2]]); })); return function getWithConfig(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); /** * Helper function to make POST requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @returns A promise with the response data. */ var postWithConfig = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(url, data) { var _sessionStorage$getIt; var token, headers, config, response, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: token = (_sessionStorage$getIt = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt !== void 0 ? _sessionStorage$getIt : ''; headers = { 'Content-Type': 'application/json', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context2.p = 1; console.log('posed========= : ', data); _context2.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context2.v; return _context2.a(2, response.data); case 3: _context2.p = 3; _t2 = _context2.v; console.error('POST request error:', _t2); throw _t2; case 4: return _context2.a(2); } }, _callee2, null, [[1, 3]]); })); return function postWithConfig(_x5, _x6) { return _ref4.apply(this, arguments); }; }(); var postWithConfigFormData = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(url, data) { var _sessionStorage$getIt2; var token, headers, config, response, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: token = (_sessionStorage$getIt2 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt2 !== void 0 ? _sessionStorage$getIt2 : ''; console.log('formData ', data); headers = { 'Content-Type': 'multipart/form-data', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context3.p = 1; _context3.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context3.v; return _context3.a(2, response.data); case 3: _context3.p = 3; _t3 = _context3.v; console.error('POST request error:', _t3); throw _t3; case 4: return _context3.a(2); } }, _callee3, null, [[1, 3]]); })); return function postWithConfigFormData(_x7, _x8) { return _ref5.apply(this, arguments); }; }(); /** * Helper function to make POST requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @returns A promise with the response data. */ var postWithConfigWhitelist = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(url, data) { var token, storedUser, user, headers, config, expertiseStr, response, _t4; return _regenerator().w(function (_context4) { while (1) switch (_context4.p = _context4.n) { case 0: token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; storedUser = sessionStorage.getItem('currentUser'); user = storedUser ? JSON.parse(storedUser) : null; // ✅ Prevents headers = { 'Content-Type': 'application/json', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context4.p = 1; // Ensure required fields are included in the request payload data.phone_number = data.phone_number ? "+".concat(data.phone_number.countryCode, " ").concat(data.phone_number.areaCode, " ").concat(data.phone_number.phoneNumber) : undefined; data.terms_conditions_id = 2; data.volunteer_status = "Register"; data.user_id = user.id; expertiseStr = data.expertise.toString(); data.expertise = expertiseStr; _context4.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context4.v; return _context4.a(2, response.data); case 3: _context4.p = 3; _t4 = _context4.v; console.error('POST request error:', _t4); throw _t4; case 4: return _context4.a(2); } }, _callee4, null, [[1, 3]]); })); return function postWithConfigWhitelist(_x9, _x0) { return _ref6.apply(this, arguments); }; }(); /** * Helper function to make DELETE requests with token authorization and optional data. * * @param url - The API endpoint. * @param data - Optional payload for the DELETE request. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ var removeWithConfig = /*#__PURE__*/function () { var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(url, data, success, failed) { var _sessionStorage$getIt3; var token, configs, response, _err$response$data$me2, _err$response3, message, _t5; return _regenerator().w(function (_context5) { while (1) switch (_context5.p = _context5.n) { case 0: token = (_sessionStorage$getIt3 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt3 !== void 0 ? _sessionStorage$getIt3 : ''; if (!(token === '')) { _context5.n = 1; break; } failed === null || failed === void 0 || failed('Token is missing.'); return _context5.a(2); case 1: configs = { headers: { Authorization: "Bearer ".concat(token) ? "Bearer ".concat(token) : 0, // Ensure correct Bearer format 'Content-Type': 'application/json', Accept: 'application/json' }, data: data !== null && data !== void 0 ? data : {} }; _context5.p = 2; _context5.n = 3; return axiosInstance["delete"](url, configs); case 3: response = _context5.v; success === null || success === void 0 || success(response.data); _context5.n = 5; break; case 4: _context5.p = 4; _t5 = _context5.v; message = (_err$response$data$me2 = (_err$response3 = _t5.response) === null || _err$response3 === void 0 || (_err$response3 = _err$response3.data) === null || _err$response3 === void 0 ? void 0 : _err$response3.message) !== null && _err$response$data$me2 !== void 0 ? _err$response$data$me2 : 'Unknown error!'; failed === null || failed === void 0 || failed(message); case 5: return _context5.a(2); } }, _callee5, null, [[2, 4]]); })); return function removeWithConfig(_x1, _x10, _x11, _x12) { return _ref7.apply(this, arguments); }; }(); /** * Helper function to make PUT requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ var putWithConfig = /*#__PURE__*/function () { var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(url, data) { var token, configs, response, _t6; return _regenerator().w(function (_context6) { while (1) switch (_context6.p = _context6.n) { case 0: token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; if (token) { _context6.n = 1; break; } throw new Error("Token is missing."); case 1: configs = { headers: { Authorization: "Bearer ".concat(token), Accept: "application/json" } }; _context6.p = 2; _context6.n = 3; return axiosInstance.put(url, data, configs); case 3: response = _context6.v; return _context6.a(2, response.data); case 4: _context6.p = 4; _t6 = _context6.v; throw _t6; case 5: return _context6.a(2); } }, _callee6, null, [[2, 4]]); })); return function putWithConfig(_x13, _x14) { return _ref8.apply(this, arguments); }; }(); /** * Function to upload files. * * @param data - The file data to upload. * @returns A promise with the response data. */ var postUpload = /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(data) { var url, configure, response, _t7; return _regenerator().w(function (_context7) { while (1) switch (_context7.p = _context7.n) { case 0: _context7.p = 0; url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].upload_url, "/media/file"); configure = { headers: { token: '949b71ef-a5d2-4a3c-8a95-d77bb7fb2ff4', 'Content-Type': 'multipart/form-data' } }; _context7.n = 1; return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure); case 1: response = _context7.v; return _context7.a(2, response.data); case 2: _context7.p = 2; _t7 = _context7.v; console.log(_t7); case 3: return _context7.a(2); } }, _callee7, null, [[0, 2]]); })); return function postUpload(_x15) { return _ref9.apply(this, arguments); }; }(); /** * Function to push notifications to a specific recipient. * * @param recipient - The topic or currentUser ID. * @param title - The notification title. * @param messageBody - The body of the notification. * @param isDriver - Indicates whether the recipient is a driver. * @param photo - Optional photo URL for the notification. * @param failed - Callback function to handle error response. */ var pushNotification = /*#__PURE__*/function () { var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(recipient, title, messageBody, isDriver, photo, failed) { var url, headers, configure, data, response, _err$response$data$me3, _err$response4, message, _t8; return _regenerator().w(function (_context8) { while (1) switch (_context8.p = _context8.n) { case 0: url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/"); headers = isDriver ? { 'Driver-Header': 'true' } : {}; configure = { headers: headers }; data = { topic_name: recipient, message_title: title, message_body: messageBody, photo: photo }; _context8.p = 1; _context8.n = 2; return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure); case 2: response = _context8.v; _context8.n = 4; break; case 3: _context8.p = 3; _t8 = _context8.v; message = (_err$response$data$me3 = (_err$response4 = _t8.response) === null || _err$response4 === void 0 || (_err$response4 = _err$response4.data) === null || _err$response4 === void 0 ? void 0 : _err$response4.message) !== null && _err$response$data$me3 !== void 0 ? _err$response$data$me3 : 'Unknown error!'; failed === null || failed === void 0 || failed(message); case 4: return _context8.a(2); } }, _callee8, null, [[1, 3]]); })); return function pushNotification(_x16, _x17, _x18, _x19, _x20, _x21) { return _ref0.apply(this, arguments); }; }(); /** * Function to push notifications to all users in the app. * * @param data - The notification payload. * @returns A promise with the response data. */ var pushNotificationAllApp = /*#__PURE__*/function () { var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(data) { var url, configure, response, _t9; return _regenerator().w(function (_context9) { while (1) switch (_context9.p = _context9.n) { case 0: url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/"); configure = { headers: {} }; _context9.p = 1; _context9.n = 2; return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure); case 2: response = _context9.v; return _context9.a(2, response.data); case 3: _context9.p = 3; _t9 = _context9.v; throw new Error('Notification failed'); case 4: return _context9.a(2); } }, _callee9, null, [[1, 3]]); })); return function pushNotificationAllApp(_x22) { return _ref1.apply(this, arguments); }; }(); /***/ }), /***/ "./src/shared/redux/store.ts": /*!***********************************!*\ !*** ./src/shared/redux/store.ts ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ store: () => (/* binding */ store) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts"); /* harmony import */ var _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/volunteer/core/reducer */ "./src/services/volunteer/core/reducer.ts"); /* harmony import */ var _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/disability_type/core/reducer */ "./src/services/disability_type/core/reducer.ts"); /* harmony import */ var _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/education_institution/core/reducer */ "./src/services/education_institution/core/reducer.ts"); /* harmony import */ var _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/food/core/reducer */ "./src/services/food/core/reducer.ts"); /* harmony import */ var _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/interested_team/core/reducer */ "./src/services/interested_team/core/reducer.ts"); /* harmony import */ var _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/occupation/core/reducer */ "./src/services/occupation/core/reducer.ts"); /* harmony import */ var _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/opportunity_source/core/reducer */ "./src/services/opportunity_source/core/reducer.ts"); /* harmony import */ var _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/province/core/reducer */ "./src/services/province/core/reducer.ts"); /* harmony import */ var _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/skill/core/reducer */ "./src/services/skill/core/reducer.ts"); /* harmony import */ var _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/terms_condition/core/reducer */ "./src/services/terms_condition/core/reducer.ts"); /* harmony import */ var _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/training_session/core/reducer */ "./src/services/training_session/core/reducer.ts"); /* harmony import */ var _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/volunteer_event/core/reducer */ "./src/services/volunteer_event/core/reducer.ts"); /* harmony import */ var _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/language/core/reducer */ "./src/services/language/core/reducer.ts"); /* harmony import */ var _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/user/core/reducer */ "./src/services/user/core/reducer.ts"); /* harmony import */ var _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../services/offer_program/core/reducer */ "./src/services/offer_program/core/reducer.ts"); /* harmony import */ var _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../services/travel_day/core/reducer */ "./src/services/travel_day/core/reducer.ts"); /* harmony import */ var _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../services/user_attendance/core/reducer */ "./src/services/user_attendance/core/reducer.ts"); /* harmony import */ var _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../services/family_survey/core/reducer */ "./src/services/family_survey/core/reducer.ts"); var store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.configureStore)({ reducer: { auth: _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__["default"], volunteer: _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__["default"], disabilityType: _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__["default"], educationInstitution: _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__["default"], food: _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__["default"], interestedTeam: _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__["default"], occupation: _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__["default"], opportunitySource: _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__["default"], province: _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__["default"], language: _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__["default"], skill: _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__["default"], termsCondition: _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__["default"], trainingSession: _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__["default"], volunteerEvent: _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__["default"], user: _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__["default"], offerProgram: _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__["default"], travelDay: _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__["default"], userAttendance: _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__["default"], familiSurvey: _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__["default"] }, devTools: "development" !== 'production' }); /***/ }), /***/ "./src/shared/routes/index.tsx": /*!*************************************!*\ !*** ./src/shared/routes/index.tsx ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _views_main_home_main__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../views/main/home/main */ "./src/shared/views/main/home/main.tsx"); /* harmony import */ var _views_login_login__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../views/login/login */ "./src/shared/views/login/login.tsx"); /* harmony import */ var _views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../views/not-found/not-found */ "./src/shared/views/not-found/not-found.tsx"); /* harmony import */ var _protected_route__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protected-route */ "./src/shared/routes/protected-route.tsx"); /* harmony import */ var _views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../views/volunteer/volunteer-register */ "./src/shared/views/volunteer/volunteer-register.tsx"); /* harmony import */ var _views_login_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../views/login/auth */ "./src/shared/views/login/auth.tsx"); /* harmony import */ var _views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../views/login/attendance_qr */ "./src/shared/views/login/attendance_qr.tsx"); /* harmony import */ var _services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/authentication/login/pages/attendance_verification */ "./src/services/authentication/login/pages/attendance_verification.tsx"); // Required for JSX var AppRoutes = function AppRoutes() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Routes, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/login", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_login__WEBPACK_IMPORTED_MODULE_3__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/auth", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_auth__WEBPACK_IMPORTED_MODULE_7__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/attendance", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_9__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/qr", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_8__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_main_home_main__WEBPACK_IMPORTED_MODULE_2__["default"], null)) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "/register", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_6__["default"], null)) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, { path: "*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__["default"], null) })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AppRoutes); /***/ }), /***/ "./src/shared/routes/protected-route.tsx": /*!***********************************************!*\ !*** ./src/shared/routes/protected-route.tsx ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); var ProtectedRoute = function ProtectedRoute(_ref) { var children = _ref.children; var accessToken = sessionStorage.getItem('token'); var storedUser = sessionStorage.getItem('currentUser'); var user = null; if (storedUser) { try { user = JSON.parse(storedUser); } catch (error) { console.error('Error parsing currentUser from sessionStorage:', error); } } console.log('Parsed user:', user); // Check for a valid token and that the user's role is not "USER" var isAuthenticated = Boolean(accessToken && accessToken.length > 0 && user); return isAuthenticated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Navigate, { to: "/login" }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProtectedRoute); /***/ }), /***/ "./src/shared/views/family_survey/FamilySurveyForm.tsx": /*!*************************************************************!*\ !*** ./src/shared/views/family_survey/FamilySurveyForm.tsx ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js"); /* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js"); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts"); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"].Option; // Add interfaces // Update storage key var STORAGE_KEY = { LOCATION_CHAINS: 'family_survey_location_chains', LAST_SELECTION: 'family_survey_last_selection' }; var FamilySurveyForm = function FamilySurveyForm(_ref) { var _transportations$data; var isViewMode = _ref.isViewMode, initialValues = _ref.initialValues; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_14__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]), _useState2 = _slicedToArray(_useState, 2), savedLocationChains = _useState2[0], setSavedLocationChains = _useState2[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useSelector)(function (state) { return state.familiSurvey || {}; }), _useSelector$province = _useSelector.provinces, provinces = _useSelector$province === void 0 ? [] : _useSelector$province, _useSelector$district = _useSelector.districts, districts = _useSelector$district === void 0 ? [] : _useSelector$district, _useSelector$communes = _useSelector.communes, communes = _useSelector$communes === void 0 ? [] : _useSelector$communes, _useSelector$villages = _useSelector.villages, villages = _useSelector$villages === void 0 ? [] : _useSelector$villages, _useSelector$transpor = _useSelector.transportations, transportations = _useSelector$transpor === void 0 ? [] : _useSelector$transpor, familySurvey = _useSelector.familySurvey, registerPending = _useSelector.registerPending, registerErrorMessage = _useSelector.registerErrorMessage; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(false), _useState4 = _slicedToArray(_useState3, 2), isClick = _useState4[0], setIsClick = _useState4[1]; // 👉 Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { if (id) { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.familyDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // 👉 Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { if (id && familySurvey) { form.setFieldsValue({ name: familySurvey.name || '', phone: familySurvey.phone || '', gender: familySurvey.gender || '', age: familySurvey.age || 0, province: familySurvey.province || '', district: familySurvey.district || '', commune: familySurvey.commune || '', village: familySurvey.village || '', total_member: familySurvey.total_member || 0, member_male: familySurvey.member_male || 0, member_female: familySurvey.member_female || 0, total_pregnant: familySurvey.total_pregnant || 0, total_baby: familySurvey.total_baby || 0, baby_male: familySurvey.baby_male || 0, baby_female: familySurvey.baby_female || 0, total_child: familySurvey.total_child || 0, child_male: familySurvey.child_male || 0, child_female: familySurvey.child_female || 0, is_disabled: familySurvey.is_disabled || false, is_old_age: familySurvey.is_old_age || false, transportation_id: familySurvey.transportation_id || null, note: familySurvey.note || '' }); } }, [familySurvey, form, id]); // 👉 Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { if (!registerPending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/family-survey'); } } }, [registerPending, registerErrorMessage, id, isClick, navigate]); (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchProvince)()); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchTransportation)()); }, [dispatch]); // Load saved location chains on mount (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS); if (savedChains) { var chains = JSON.parse(savedChains); setSavedLocationChains(chains); // Auto-select most recent location chain var mostRecent = chains[0]; if (mostRecent) { autoSelectLocationChain(mostRecent); } } }, []); var handleCountTotalChange = function handleCountTotalChange(type, value) { if (type === 'member') { if (!value) { form.setFieldsValue({ member_male: 0, member_female: 0 }); } else { var male = form.getFieldValue('member_male') || 0; var female = form.getFieldValue('member_female') || 0; if (male > 0 && male <= value) { form.setFieldsValue({ member_female: value - male }); } else if (female > 0 && female <= value) { form.setFieldsValue({ member_male: value - female }); } } } if (type === 'baby') { if (!value) { form.setFieldsValue({ baby_male: 0, baby_female: 0 }); } else { var _male = form.getFieldValue('baby_male') || 0; var _female = form.getFieldValue('baby_female') || 0; if (_male > 0 && _male <= value) { form.setFieldsValue({ baby_female: value - _male }); } else if (_female > 0 && _female <= value) { form.setFieldsValue({ baby_male: value - _female }); } } } if (type === 'child') { if (!value) { form.setFieldsValue({ child_male: 0, child_female: 0 }); } else { var _male2 = form.getFieldValue('child_male') || 0; var _female2 = form.getFieldValue('child_female') || 0; if (_male2 > 0 && _male2 <= value) { form.setFieldsValue({ child_female: value - _male2 }); } else if (_female2 > 0 && _female2 <= value) { form.setFieldsValue({ child_male: value - _female2 }); } } } }; var handleCountGenderChange = function handleCountGenderChange(type, gender, value) { var totalField = { member: 'total_member', baby: 'total_baby', child: 'total_child' }[type]; var total = form.getFieldValue(totalField) || 0; if (total === 0) { form.setFieldsValue(_defineProperty(_defineProperty({}, "".concat(type, "_male"), 0), "".concat(type, "_female"), 0)); return; } if (value > total) { antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].warning("Gender count cannot exceed total."); form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender), total)); form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), 0)); return; } form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), total - value)); }; // 👉 Handle form submit var handleSubmit = function handleSubmit(values) { if (id) { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.updateFamilyAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.createFamilyAction)({ data: values })); form.resetFields(); } setIsClick(true); }; var autoSelectLocationChain = function autoSelectLocationChain(locationChain) { // Set province and fetch districts if (locationChain.province) { var provinceValue = "".concat(locationChain.province.id, ",").concat(locationChain.province.name); form.setFieldsValue({ province: provinceValue }); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({ id: Number(locationChain.province.id) })); // Set district and fetch communes if (locationChain.district) { var districtValue = "".concat(locationChain.district.id, ",").concat(locationChain.district.name); form.setFieldsValue({ district: districtValue }); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({ id: Number(locationChain.district.id) })); // Set commune and fetch villages if (locationChain.commune) { var communeValue = "".concat(locationChain.commune.id, ",").concat(locationChain.commune.name); form.setFieldsValue({ commune: communeValue }); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({ id: Number(locationChain.commune.id) })); // Set village if exists if (locationChain.village) { var villageValue = "".concat(locationChain.village.id, ",").concat(locationChain.village.name); form.setFieldsValue({ village: villageValue }); } } } } }; var saveLocationChain = function saveLocationChain(newChain) { var updatedChain = _objectSpread(_objectSpread({}, newChain), {}, { timestamp: new Date().toISOString() }); // Keep only unique chains, limited to 5 most recent var existingChains = savedLocationChains.filter(function (chain) { var _updatedChain$provinc, _chain$district, _updatedChain$distric, _chain$commune, _updatedChain$commune; return chain.province.id !== ((_updatedChain$provinc = updatedChain.province) === null || _updatedChain$provinc === void 0 ? void 0 : _updatedChain$provinc.id) || ((_chain$district = chain.district) === null || _chain$district === void 0 ? void 0 : _chain$district.id) !== ((_updatedChain$distric = updatedChain.district) === null || _updatedChain$distric === void 0 ? void 0 : _updatedChain$distric.id) || ((_chain$commune = chain.commune) === null || _chain$commune === void 0 ? void 0 : _chain$commune.id) !== ((_updatedChain$commune = updatedChain.commune) === null || _updatedChain$commune === void 0 ? void 0 : _updatedChain$commune.id); }); var newChains = [updatedChain].concat(_toConsumableArray(existingChains)).slice(0, 5); setSavedLocationChains(newChains); localStorage.setItem(STORAGE_KEY.LOCATION_CHAINS, JSON.stringify(newChains)); }; var handleProvinceChange = function handleProvinceChange(value) { if (!value) return; var _value$split = value.split(","), _value$split2 = _slicedToArray(_value$split, 2), provinceId = _value$split2[0], provinceName = _value$split2[1]; dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({ id: Number(provinceId.trim()) })); form.setFieldsValue({ district: undefined, commune: undefined, village: undefined }); saveLocationChain({ province: { id: provinceId.trim(), name: provinceName.trim() } }); }; var handleDistrictChange = function handleDistrictChange(value) { var _form$getFieldValue; if (!value) return; var _value$split3 = value.split(","), _value$split4 = _slicedToArray(_value$split3, 2), districtId = _value$split4[0], districtName = _value$split4[1]; dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({ id: Number(districtId.trim()) })); form.setFieldsValue({ commune: undefined, village: undefined }); var currentProvince = (_form$getFieldValue = form.getFieldValue('province')) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue.split(','); if (currentProvince) { saveLocationChain({ province: { id: currentProvince[0].trim(), name: currentProvince[1].trim() }, district: { id: districtId.trim(), name: districtName.trim() } }); } }; var handleCommuneChange = function handleCommuneChange(value) { var _form$getFieldValue2, _form$getFieldValue3; if (!value) return; var _value$split5 = value.split(","), _value$split6 = _slicedToArray(_value$split5, 2), communeId = _value$split6[0], communeName = _value$split6[1]; dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({ id: Number(communeId.trim()) })); form.setFieldsValue({ village: undefined }); var currentProvince = (_form$getFieldValue2 = form.getFieldValue('province')) === null || _form$getFieldValue2 === void 0 ? void 0 : _form$getFieldValue2.split(','); var currentDistrict = (_form$getFieldValue3 = form.getFieldValue('district')) === null || _form$getFieldValue3 === void 0 ? void 0 : _form$getFieldValue3.split(','); if (currentProvince && currentDistrict) { saveLocationChain({ province: { id: currentProvince[0].trim(), name: currentProvince[1].trim() }, district: { id: currentDistrict[0].trim(), name: currentDistrict[1].trim() }, commune: { id: communeId.trim(), name: communeName.trim() } }); } }; var handleCancel = function handleCancel() { form.resetFields(); localStorage.removeItem(STORAGE_KEY.LAST_SELECTION); navigate('/family-survey'); }; var QuickFill = function QuickFill() { var mostRecent = savedLocationChains[0]; if (!mostRecent) return null; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", { style: { marginBottom: 16 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], { align: "center" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1791\u17B8\u178F\u17B6\u17C6\u1784\u1790\u17D2\u1798\u17B8\u17D7 / Recent location:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_8__["default"], { color: "blue" }, mostRecent.province.name, mostRecent.district && " > ".concat(mostRecent.district.name), mostRecent.commune && " > ".concat(mostRecent.commune.name)))); }; // Auto-select location on mount (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS); if (savedChains) { var chains = JSON.parse(savedChains); setSavedLocationChains(chains); // Auto-select most recent location chain without user interaction var mostRecent = chains[0]; if (mostRecent) { autoSelectLocationChain(mostRecent); } } }, []); (0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () { if (initialValues && isViewMode) { form.setFieldsValue(initialValues); } }, [initialValues, form, isViewMode]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"], { form: form, layout: "vertical", onFinish: handleSubmit, disabled: isViewMode, initialValues: initialValues }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(QuickFill, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7\u1782\u17D2\u179A\u17BD\u179F\u17B6\u179A / Family Name", name: "name", rules: [{ required: true, message: "Please enter family name" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], { placeholder: "Enter family name" }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u17D0\u1796\u17D2\u1791 / Phone", name: "phone", rules: [{ required: true, message: "Please enter phone number" }, { pattern: /^[0-9]+$/, message: "Phone must be numbers only" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], { placeholder: "Enter phone number" })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1797\u17C1\u1791 / Gender", name: "gender", rules: [{ required: true, message: "Please select gender" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "Select gender" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { value: "Male" }, "\u1794\u17D2\u179A\u17BB\u179F / Male"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { value: "Female" }, "\u179F\u17D2\u179A\u17B8 / Female")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u17A2\u17B6\u1799\u17BB / Age", name: "age", rules: [{ required: true, message: "Please enter age" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" } })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, sm: 12, md: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "province", label: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 / Province/City", rules: [{ required: true }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "Select Province", onChange: handleProvinceChange }, provinces.length ? provinces.filter(function (p) { return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0')); }).map(function (p) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { key: p.id, value: "".concat(p.id, ", ").concat(p.name.km, " / ").concat(p.name.latin) }, "".concat(p.name.km, " / ").concat(p.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { disabled: true }, "No provinces available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, sm: 12, md: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "district", label: "\u179F\u17D2\u179A\u17BB\u1780/\u1781\u178E\u17D2\u178C / District/Khan", rules: [{ required: true }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "Select District", onChange: handleDistrictChange }, districts.length ? districts.map(function (d) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { key: d.id, value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin) }, "".concat(d.name.km, " / ").concat(d.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { disabled: true }, "No districts available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, sm: 12, md: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "commune", label: "\u1783\u17BB\u17C6/\u179F\u1784\u17D2\u1780\u17B6\u178F\u17CB / Commune/Sangkat", rules: [{ required: true }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "Select Commune", onChange: handleCommuneChange }, communes.length ? communes.map(function (c) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { key: c.id, value: "".concat(c.id, ", ").concat(c.name.km, " / ").concat(c.name.latin) }, "".concat(c.name.km, " / ").concat(c.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { disabled: true }, "No communes available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, sm: 12, md: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "village", label: "\u1797\u17BC\u1798\u17B7 / Village" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "Select Village" }, villages.length ? villages.map(function (v) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { key: v.id, value: "".concat(v.name.km, " / ").concat(v.name.latin) }, "".concat(v.name.km, " / ").concat(v.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { disabled: true }, "No villages available"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794 / Total Members", name: "total_member", rules: [{ required: true, message: "Please enter total member" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountTotalChange('member', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u1794\u17D2\u179A\u17BB\u179F / Male Members", name: "member_male", rules: [{ required: true, message: "Please enter male member" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('member', 'male', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u17D2\u179A\u17B8 / Female Members", name: "member_female", rules: [{ required: true, message: "Please enter female member" }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('member', 'female', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u179F\u17D2\u179A\u17D2\u178F\u17B8\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7 / Total Pregnant", name: "total_pregnant" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" } })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1791\u17B6\u179A\u1780\u179F\u179A\u17BB\u1794 (< \u17E2\u1786\u17D2\u1793\u17B6\u17C6) / Total Babies (< 2 years)", name: "total_baby" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountTotalChange('baby', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1791\u17B6\u179A\u1780\u1794\u17D2\u179A\u17BB\u179F / Baby Male", name: "baby_male" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('baby', 'male', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1791\u17B6\u179A\u1780\u179F\u17D2\u179A\u17B8 / Baby Female", name: "baby_female" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('baby', 'female', value); } })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1780\u17BB\u1798\u17B6\u179A\u179F\u179A\u17BB\u1794 (\u17E2-\u17E1\u17E3\u1786\u17D2\u1793\u17B6\u17C6) / Total Children (2-13 years)", name: "total_child" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountTotalChange('child', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1780\u17BB\u1798\u17B6\u179A\u1794\u17D2\u179A\u17BB\u179F / Child Male", name: "child_male" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('child', 'male', value); } }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1780\u17BB\u1798\u17B6\u179A\u17B8\u179F\u17D2\u179A\u17B8 / Child Female", name: "child_female" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], { min: 0, style: { width: "100%" }, onChange: function onChange(value) { return handleCountGenderChange('child', 'female', value); } })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "is_disabled", valuePropName: "checked", initialValue: false }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796 / Disabled"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "is_old_age", valuePropName: "checked", initialValue: false }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1798\u1793\u17BB\u179F\u17D2\u179F\u1785\u17B6\u179F\u17CB / Old Age (> \u17E6\u17E5)")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], { gutter: 16 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { span: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { name: "transportation_id", label: "\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Transportation" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], { placeholder: "\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Select transportation", allowClear: true }, transportations === null || transportations === void 0 || (_transportations$data = transportations.data) === null || _transportations$data === void 0 ? void 0 : _transportations$data.map(function (option) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, { key: option.id, value: option.id }, option.name); }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, { label: "\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6 / Notes", name: "note" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"].TextArea, { rows: 3, placeholder: "\u1794\u1789\u17D2\u1785\u17BC\u179B\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6\u1794\u1793\u17D2\u1790\u17C2\u1798 / Enter additional notes" })), !isViewMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), { type: "primary", htmlType: "submit", loading: registerPending }, "បញ្ជូន / Submit"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), { onClick: handleCancel }, "\u1794\u17C4\u17C7\u1794\u1784\u17CB / Cancel"))))); }; var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilySurveyForm); /***/ }), /***/ "./src/shared/views/family_survey/index.tsx": /*!**************************************************!*\ !*** ./src/shared/views/family_survey/index.tsx ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js"); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js"); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts"); /* harmony import */ var _FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./FamilySurveyForm */ "./src/shared/views/family_survey/FamilySurveyForm.tsx"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_19__); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var FamilyApprovedList = function FamilyApprovedList(_ref) { var status = _ref.status; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_11__.useNavigate)(); var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_9__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var _useState = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(1), _useState2 = _slicedToArray(_useState, 2), currentPage = _useState2[0], setCurrentPage = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(20), _useState4 = _slicedToArray(_useState3, 2), pageSize = _useState4[0], setPageSize = _useState4[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useSelector)(function (state) { return state.familiSurvey || {}; }), families = _useSelector.families, provinces = _useSelector.provinces, districts = _useSelector.districts, registerPending = _useSelector.registerPending; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false), _useState6 = _slicedToArray(_useState5, 2), isModalVisible = _useState6[0], setIsModalVisible = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""), _useState8 = _slicedToArray(_useState7, 2), searchText = _useState8[0], setSearchText = _useState8[1]; var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false), _useState0 = _slicedToArray(_useState9, 2), isViewMode = _useState0[0], setIsViewMode = _useState0[1]; var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null), _useState10 = _slicedToArray(_useState1, 2), selectedRecord = _useState10[0], setSelectedRecord = _useState10[1]; var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""), _useState12 = _slicedToArray(_useState11, 2), province = _useState12[0], setProvince = _useState12[1]; var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""), _useState14 = _slicedToArray(_useState13, 2), district = _useState14[0], setDistrict = _useState14[1]; var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null), _useState16 = _slicedToArray(_useState15, 2), totalMember = _useState16[0], setTotalMember = _useState16[1]; var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null), _useState18 = _slicedToArray(_useState17, 2), age = _useState18[0], setAge = _useState18[1]; // extract safely var dataSource = (families === null || families === void 0 ? void 0 : families.data) || []; var meta = (families === null || families === void 0 ? void 0 : families.meta) || { total: 0, page: 1, pageSize: 20 }; (0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchProvince)()); }, [dispatch]); // Fetch data with pagination (0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({ search: searchText, province: province, district: district, total_member: totalMember, age: age, page: currentPage, pageSize: pageSize })); }, [dispatch, searchText, province, district, totalMember, age, currentPage, pageSize]); var handleTableChange = function handleTableChange(pagination) { setCurrentPage(pagination.current); setPageSize(pagination.pageSize); }; var handleSearch = function handleSearch() { setCurrentPage(1); // Reset to first page when searching dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({ search: searchText, page: 1, pageSize: pageSize })); }; var handleProvinceChange = function handleProvinceChange(value) { if (!value) return; setProvince(value); var _value$split = value.split(","), _value$split2 = _slicedToArray(_value$split, 2), provinceId = _value$split2[0], provinceName = _value$split2[1]; dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchDistrict)({ id: Number(provinceId.trim()) })); }; var handleReset = function handleReset() { setSearchText(""); setCurrentPage(1); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({ search: "", page: 1, pageSize: pageSize })); }; var handleView = function handleView(record) { setSelectedRecord(record); setIsModalVisible(true); setIsViewMode(true); form.setFieldsValue(record); }; var handleEdit = function handleEdit(id) { navigate("/family-survey/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({ title: 'តើអ្នកប្រាកដទេ? / Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.deleteFamilyAction)(id)).unwrap().then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({ title: 'បានលុប! / Deleted!', text: 'The family has been deleted.', icon: 'success' }); dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({ search: searchText, page: currentPage, pageSize: pageSize })); })["catch"](function () { sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({ title: 'Error!', text: 'Failed to delete family.', icon: 'error' }); }); sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close(); }); } }); }; var columns = [{ title: "ល.រ", key: "no", width: 60, render: function render(_, __, index) { return (currentPage - 1) * pageSize + index + 1; } }, { title: "ឈ្មោះគ្រួសារ", dataIndex: "name", key: "name", width: 120, ellipsis: true }, { title: "លេខទូរស័ព្ទ", dataIndex: "phone", key: "phone", width: 120, ellipsis: true }, { title: "អាសយដ្ឋាន", key: "address", width: 200, render: function render(record) { return "".concat(record.commune || '', ", ").concat(record.district || '', ", ").concat(record.province || ''); } }, { title: "អាយុ", dataIndex: "age", key: "age", width: 60 }, { title: "សមាជិកសរុប", dataIndex: "total_member", key: "total_member", width: 105 }, { title: "សមាជិកប្រុស", dataIndex: "member_male", key: "member_male", width: 105 }, { title: "សមាជិកស្រី", dataIndex: "member_female", key: "member_female", width: 100 }, { title: "ស្ត្រីមានផ្ទៃពោះ", dataIndex: "total_pregnant", key: "total_pregnant", width: 115 }, { title: "មានពិការភាព", dataIndex: "is_disabled", key: "is_disabled", width: 105, render: function render(value) { return value ? "✓" : "✗"; } }, { title: "មានមនុស្សចាស់", dataIndex: "is_old_age", key: "is_old_age", width: 118, render: function render(value) { return value ? "✓" : "✗"; } }, { title: "សកម្មភាព", key: "action", fixed: "right", width: 150, render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null), onClick: function onClick() { return handleView(record); }, title: "\u1798\u17BE\u179B / View" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { type: "primary", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), onClick: function onClick() { return handleEdit(record.id); }, title: "\u1780\u17C2\u1794\u17D2\u179A\u17C2 / Edit" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { danger: true, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null), onClick: function onClick() { return handleDelete(record.id); }, title: "\u179B\u17BB\u1794 / Delete" })); } }]; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", { style: { padding: '10px', background: '#f5f5f5', marginBottom: '10px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], { gutter: [16, 16], justify: "space-between", align: "middle", style: { margin: '10px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u179A\u17BB\u1794 / Total: ", (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780 / Search...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { return setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7 / Filter"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789 / Reset")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null), type: "primary", onClick: function onClick() { return navigate("/family-survey/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8 / Add New"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], { gutter: [16, 16], style: { margin: '5px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8, lg: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u1781\u17C1\u178F\u17D2\u178F\u200B \u17AC \u1780\u17D2\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { width: '100%' }, allowClear: true, placeholder: "Select a Province or City", onChange: handleProvinceChange, showSearch: true }, Array.isArray(provinces) && provinces.length > 0 ? provinces.filter(function (p) { return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0')); }).map(function (province) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, { key: province.id, value: "".concat(province.id, ", ").concat(province.name.km, " / ").concat(province.name.latin) }, "".concat(province.name.km, " / ").concat(province.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, { disabled: true }, "No provinces available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8, lg: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u17D2\u179A\u17BB\u1780 \u17AC\u200B \u1781\u178E\u17D2\u178C"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { width: '100%' }, allowClear: true, placeholder: "Select a District or Khan", onChange: function onChange(value) { return setDistrict(value); }, showSearch: true }, districts.length ? districts.map(function (d) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, { key: d.id, value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin) }, "".concat(d.name.km, " / ").concat(d.name.latin)); }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, { disabled: true }, "No districts available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8, lg: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], { style: { width: '100%' }, placeholder: "Total member", min: 0, value: totalMember, onChange: setTotalMember })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8, lg: 6 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u17A2\u17B6\u1799\u17BB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], { style: { width: '100%' }, placeholder: "Age", min: 0, value: age, onChange: setAge })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_1__["default"], { dataSource: dataSource, columns: columns, loading: registerPending, rowKey: "id", scroll: { x: 1200 }, pagination: { current: currentPage, pageSize: pageSize, total: meta.total, showSizeChanger: true, showTotal: function showTotal(total, range) { return "".concat(range[0], "-").concat(range[1], " of ").concat(total, " items"); } }, onChange: handleTableChange }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], { title: "មើលព័ត៌មានគ្រួសារ / View Family Details", open: isModalVisible, onCancel: function onCancel() { setIsModalVisible(false); setIsViewMode(false); setSelectedRecord(null); form.resetFields(); }, footer: null, width: 900 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__["default"], { isViewMode: isViewMode, initialValues: selectedRecord }))); }; var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilyApprovedList); /***/ }), /***/ "./src/shared/views/login/attendance_qr.tsx": /*!**************************************************!*\ !*** ./src/shared/views/login/attendance_qr.tsx ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/qrcode */ "./src/services/authentication/login/pages/qrcode.tsx"); var AttendanceQR = function AttendanceQR() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__["default"], null); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AttendanceQR); /***/ }), /***/ "./src/shared/views/login/auth.tsx": /*!*****************************************!*\ !*** ./src/shared/views/login/auth.tsx ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx"); var Auth = function Auth() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Auth); /***/ }), /***/ "./src/shared/views/login/login.tsx": /*!******************************************!*\ !*** ./src/shared/views/login/login.tsx ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx"); var Login = function Login() { return ( /*#__PURE__*/ // react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null) ); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Login); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX2Eudm9sdW50ZWVyYXBpLjM5OWZjMDM4OGIyOWRiZmIwMTZmLmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUcxQixJQUFRQyxNQUFNLEdBQUFDLHNEQUFBLENBQU5ELE1BQU07QUFFZCxJQUFNRSxlQUF5QixHQUFHLFNBQTVCQSxlQUF5QkEsQ0FBQTtFQUFBLG9CQUM3QkgsMERBQUEsQ0FBQ0MsTUFBTTtJQUNMSSxLQUFLLEVBQUU7TUFBRUMsVUFBVSxFQUFFLFNBQVM7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsU0FBUyxFQUFFO0lBQVM7RUFBRSxnQkFFdkVSLDBEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCViwwREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDBEQUFBLGFBQUksVUFBWSxDQUFDLGVBQ2pCQSwwREFBQSxZQUFHLDBDQUEyQyxDQUMzQyxDQUFDLGVBQ05BLDBEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMERBQUEsYUFBSSxTQUFXLENBQUMsZUFDaEJBLDBEQUFBLFlBQUcsMEJBQTJCLENBQUMsZUFDL0JBLDBEQUFBLFlBQUcsMEJBQTJCLENBQzNCLENBQUMsZUFDTkEsMERBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwwREFBQSxhQUFJLFdBQWEsQ0FBQyxlQUNsQkEs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QzNCLG9CQUNFcFgsMERBQUEsQ0FBQ3NwQixrRkFBUyxNQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELGlFQUFlbFMsSUFBSSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1RPO0FBR2lEO0FBRTNFLElBQU1KLEtBQWUsR0FBRyxTQUFsQkEsS0FBZUEsQ0FBQSxFQUFTO0VBQzVCO0lBQUE7SUFDRTtJQUNBaFgsMERBQUEsQ0FBQ3NwQixrRkFBUyxNQUFFO0VBQUM7QUFFakIsQ0FBQztBQUVELGlFQUFldFMsS0FBSyxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWNvbXBvbmVudC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yZWR1eC9zdG9yZS50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yb3V0ZXMvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JvdXRlcy9wcm90ZWN0ZWQtcm91dGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvZmFtaWx5X3N1cnZleS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xci50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXV0aC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vbG9naW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMYXlvdXQsIFJvdywgQ29sIH0gZnJvbSAnYW50ZCc7XG5cbmNvbnN0IHsgRm9vdGVyIH0gPSBMYXlvdXQ7XG5cbmNvbnN0IEZvb3RlckNvbXBvbmVudDogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxGb290ZXJcbiAgICBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsIHBhZGRpbmc6ICcyNHB4JywgdGV4dEFsaWduOiAnY2VudGVyJyB9fVxuICA+XG4gICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfT5cbiAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fT5cbiAgICAgICAgPGg0PkFib3V0IFVzPC9oND5cbiAgICAgICAgPHA+TGVhcm4gbW9yZSBhYm91dCBvdXIgbWlzc2lvbiBhbmQgdmFsdWVzLjwvcD5cbiAgICAgIDwvQ29sPlxuICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9PlxuICAgICAgICA8aDQ+Q29udGFjdDwvaDQ+XG4gICAgICAgIDxwPkVtYWlsOiBzdXBwb3J0QGdtYWlsLmNvbTwvcD5cbiAgICAgICAgPHA+UGhvbmU6ICs4NTUgMTIzIDQ1NiA3ODkwPC9wPlxuICAgICAgPC9Db2w+XG4gICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0+XG4gICAgICAgIDxoND5Gb2xsb3cgVXM8L2g0PlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSBocmVmPScnIHRhcmdldD0nX2JsYW5rJyByZWw9JyMnPlxuICAgICAgICAgICAgI1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db2w+XG4gICAgPC9Sb3c+XG4gICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6ICcxNnB4JyB9fT7CqSB7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSAjPC9kaXY+XG4gIDwvRm9vdGVyPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRm9vdGVyQ29tcG9uZW50O1xuIiwiZXhwb3J0IGRlZmF1bHQge1xuICAvLyBlbnY6IHByb2Nlc3MuZW52Lk5PREVfRU5WLFxuICBlbnY6ICdkZXZlbG9wbWVudCcsXG4gIC8vIGFzc2V0X3VybDogcHJvY2Vzcy5lbnYuUzNJTUFHRVNCVUNLRVQsXG4gIGFzc2V0X3VybDogJycsXG4gIGFwaV91cmw6IHByb2Nlc3MuZW52LkJBU0VfVVJMLFxuICB1cGxvYWRfdXJsOiBwcm9jZXNzLmVudi5NRURJQV9BUEksXG4gIHNvY2tldF91cmw6IHByb2Nlc3MuZW52LlNPQ0tFUl9TRVJWRVIsXG4gIG5vdGlmaWNhdGlvbl91cmw6IHByb2Nlc3MuZW52Lk5PVElGSUNBVElPTixcbiAgQVdTX0FDQ0VTU19LRVlfSUQ6IHByb2Nlc3MuZW52LkFXU19BQ0NFU1NfS0VZX0lELFxuICBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6IHByb2Nlc3MuZW52LkFXU19TRUNSRVRfQUNDRVNTX0tFWSxcbiAgUkVBQ1RfQVBQX0FQSV9UT0tFTjogcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX0FQSV9UT0tFTixcbiAgUzNfQlVDS0VUOiBwcm9jZXNzLmVudi5TM19CVUNLRVQsXG4gIGZpcmViYXNlX2NvbmZpZ19oZWFkZXJzOiB7XG4gIH0sXG4gIGxpbWl0OiAxMCxcbiAgd2FsbGV0X2xpbWl0OiAxMDAwMCxcbiAgd2Vic29ja2V0RXZlbnQ6IHtcbiAgICBEUklWRVJfTElWRV9MT0NBVElPTjogJ0RSSVZFUl9MSVZFX0xPQ0FUSU9OJyxcbiAgICBVUERBVEVfSk5fV0FMTEVUOiAnVVBEQVRFX0pOX1dBTExFVCcsXG4gICAgQ0FTSF9JTl9TVUNDRVNTOiAnQ0FTSF9JTl9TVUNDRVNTJyxcbiAgICBDQVNIX09VVF9TVUNDRVNTOiAnQ0FTSF9PVVRfU1VDQ0VTUycsXG4gICAgTk9fRFJJVkVSX0FWQUlMQUJMRTogJ05PX0RSSVZFUl9BVkFJTEFCTEUnLFxuICAgIFBBQ0tBR0VfVFJBQ0tJTkc6ICdQQUNLQUdFX1RSQUNLSU5HJyxcbiAgfSxcbiAgZGVmYXVsdEFkbWluQWNjb3VudDogJ0RFRkFVTFRfQURNSU5fQUNDT1VOVF9JRCcsXG4gIHRlbGVncmFtSWQ6IHtcbiAgICBkZXY6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZGV2TG9nZ2VyOiAnLTEwMDE0OTU2MTYzODYnLFxuICAgIGV4cHJlc3NIdWI6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZXhwcmVzc01lcmNoYW50OiAnLTEwMDExMzYyODQ1NTcnLFxuICAgIGV4cHJlc3NGaW5hbmNlOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBleHByZXNzRHJpdmVyOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3J1xuICAgICxcbiAgfSxcbn07XG4iLCJpbXBvcnQgeyBVU0VSX0FUVEVOREFOQ0UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVJUX0xPR0lOID0gJ1NUQVJUX0xPR0lOJztcbmV4cG9ydCBjb25zdCBBVVRIX0xPR0lOID0gJ0FVVEhfTE9HSU4nO1xuZXhwb3J0IGNvbnN0IExPR0lOX0ZBSUxFRCA9ICdMT0dJTl9GQUlMRUQnO1xuZXhwb3J0IGNvbnN0IFVSTCA9IHtcbiAgTE9HSU46ICcvYXV0aC9sb2dpbicsXG4gIExPR0lOX1RFTEVHUkFNOiAnL2F1dGgvbG9naW4nLFxuICBWRVJJRllfVE9QOiAnYXBpL3YxL3ZlcmlmeScsXG4gIFNJR05VUDogJ2F1dGgvcmVnaXN0ZXInLFxuICBESVNBQklMSVRZX1RZUEU6ICdkaXNhYmlsaXR5LXR5cGVzLycsXG4gIFBST1ZJTkNFOiAncHJvdmluY2VzLycsXG4gIE9DQ1VQQVRJT046ICdvY2N1cGF0aW9ucy8nLFxuICBFRFVDQVRJT05fSU5TVElUVVRJT046ICdlZHVjYXRpb24taW5zdGl0dXRpb25zLycsXG4gIEZPT0RTOiAnZm9vZHMvJyxcbiAgRk9PRDogJ2Zvb2RzLycsXG4gIEZBTUlMSUVTOiAnZmFtaWxpZXMvJyxcbiAgVFJBTlNQT1JUQVRJT05TOiAndHJhbnNwb3J0YXRpb25zLycsXG4gIFRFQU06ICdpbnRlcmVzdGVkLXRlYW1zLycsXG4gIEVWRU5UOiAndm9sdW50ZWVyLWV2ZW50cy8nLFxuICBTT1VSQ0U6ICdvcHBvcnR1bml0eS1zb3VyY2VzLycsXG4gIFRSQUlOSU5HX1NFU1NJT046ICd0cmFpbmluZy1zZXNzaW9ucy8nLFxuICBMQU5HVUFHRTogJ2xhbmd1YWdlcy8nLFxuICBTS0lMTDogJ3NraWxscy8nLFxuICBURVJNU19DT05ESVRJT046ICd0ZXJtcy1jb25kaXRpb25zLycsXG4gIFZPTFVOVEVFUl9FVkVOVDogJ3ZvbHVudGVlci1ldmVudHMvJyxcbiAgVk9MVU5URUVSUzogJ3ZvbHVudGVlcnMvJyxcbiAgREFTSEJPQVJEOiAnZGFzaGJvYXJkLycsXG4gIE9GRkVSX1BST0dSQU06ICdvZmZlci1wcm9ncmFtcy8nLFxuICBUUkFWRUxfREFZOiAndHJhdmVsLWRheXMvJyxcbiAgVVNFUjogJ3VzZXJzLycsXG4gIFBVQkxJQzogJ3B1YmxpYy8nLFxuICBOT1RJRlk6ICdub3RpZnkvc2VuZC90ZWxlZ3JhbScsXG4gIE5PVElGWV9TVEFUVVM6ICdub3RpZnkvc2VuZC9zdGF0dXMnLFxuICBVU0VSX0FUVEVOREFOQ0U6ICcvdXNlci1hdHRlbmRhbmNlcy8nXG59O1xuXG5leHBvcnQgY29uc3QgQ1VSUkVOQ1lfVFlQRSA9IHtcbiAgVVNEOiAnVVNEJyxcbiAgS0hSOiAnS0hSJyxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTW9kYWwsIFNwaW4gfSBmcm9tICdhbnRkJztcblxuaW50ZXJmYWNlIExvYWRpbmdEaWFsb2dQcm9wcyB7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbmNsYXNzIExvYWRpbmdEaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8TG9hZGluZ0RpYWxvZ1Byb3BzPiB7XG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgd2lkdGg9ezIwMH1cbiAgICAgICAgdmlzaWJsZT17dmlzaWJsZX1cbiAgICAgICAgY2VudGVyZWRcbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG1hcmdpblRvcDogMjAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTcGluIHNpemU9J2xhcmdlJyAvPlxuICAgICAgICAgIDxwIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicsIG1hcmdpblRvcDogJzFyZW0nIH19PkxvYWRpbmcuLi48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRpbmdEaWFsb2c7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXF1ZXN0Q29uZmlnLCBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWdzL2NvbmZpZyc7XG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgR0VUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cblxuLy8gRW5zdXJlIGF4aW9zSW5zdGFuY2UgaXMgY29uZmlndXJlZCBwcm9wZXJseVxuY29uc3QgYXhpb3NJbnN0YW5jZSA9IGF4aW9zLmNyZWF0ZSh7XG4gIGJhc2VVUkw6IGNvbmZpZy5hcGlfdXJsLFxuICB0aW1lb3V0OiAxMDAwMDAsIC8vIEV4YW1wbGUgdGltZW91dFxufSlcblxuXG5leHBvcnQgY29uc3QgZ2V0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZFxuKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiA9PiB7ICAvLyDinIUgTm93IHJldHVybnMgZGF0YVxuICB0cnkge1xuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgICAvLyDwn5SlIHJlbW92ZSBlbXB0eSwgbnVsbCwgdW5kZWZpbmVkXG4gICAgY29uc3QgY2xlYW5lZFBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcyB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgdmFsdWUgIT09IFwiXCIgJiZcbiAgICAgICAgIShBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICApIHtcbiAgICAgICAgY2xlYW5lZFBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb25maWdzID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiB0b2tlbiA/IGBCZWFyZXIgJHt0b2tlbn1gIDogXCJcIiwgLy8g4pyFIEZpeGVkIGluY29ycmVjdCBjb25kaXRpb25hbFxuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIHBhcmFtczogY2xlYW5lZFBhcmFtcyxcbiAgICAgIHBhcmFtc1NlcmlhbGl6ZXI6IChwYXJhbXM6IGFueSkgPT5cbiAgICAgICAgcXMuc3RyaW5naWZ5KHBhcmFtcywge1xuICAgICAgICAgIGFycmF5Rm9ybWF0OiBcInJlcGVhdFwiLCAvLyDwn5SlIGV2ZW50X2lkcz0xJmV2ZW50X2lkcz0zXG4gICAgICAgIH0pLFxuICAgIH07XG5cblxuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5nZXQodXJsLCBjb25maWdzKTtcblxuXG4gICAgc3VjY2Vzcz8uKHJlc3BvbnNlLmRhdGEpO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7IC8vIOKchSBFbnN1cmVzIGNhbGxpbmcgZnVuY3Rpb25zIHJlY2VpdmUgZGF0YVxuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJBeGlvcyBHRVQgcmVxdWVzdCBmYWlsZWQ6XCIsIGVycik7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/IFwiVW5rbm93biBlcnJvciFcIjtcbiAgICBjb25zdCBlcnJvciA9IGVyci5yZXNwb25zZT8uZGF0YT8uZXJyb3IgPz8gXCJVbmtub3duIGVycm9yIVwiO1xuXG4gICAgY29uc29sZS5lcnJvcih7IGVycm9yIH0pO1xuXG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyDinIUgUHJldmVudCB1bmRlZmluZWQgaXNzdWVzIGluIFJlZHV4XG4gIH1cbn07XG5cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQT1NUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zb2xlLmxvZygncG9zZWQ9PT09PT09PT0gOiAnLGRhdGEpXG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnBvc3QodXJsLCBkYXRhLCBjb25maWcpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1BPU1QgcmVxdWVzdCBlcnJvcjonLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IHBvc3RXaXRoQ29uZmlnRm9ybURhdGEgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBGb3JtRGF0YVxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcblxuICBjb25zb2xlLmxvZygnZm9ybURhdGEgJywgZGF0YSk7XG5cbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnQ29udGVudC1UeXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9O1xuXG4gIGlmICh0b2tlbikge1xuICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICB9XG5cbiAgY29uc3QgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnMgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBtYWtlIFBPU1QgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBUaGUgcmVxdWVzdCBwYXlsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3N0V2l0aENvbmZpZ1doaXRlbGlzdCA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKSB8fCBcImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSnFZWGxBWjIxaGFXd3VZMjl0SWl3aVpYaHdJam94TnprNE5UZzNOVEUyZlEuOGRyZ25vUTdmNGRZUVliMzFGY0J2QmEyQmRnQUdqdVJKWGNoaVBtUzdkQVwiO1xuXG4gIGNvbnN0IHN0b3JlZFVzZXIgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpO1xuICBjb25zdCB1c2VyID0gc3RvcmVkVXNlciA/IEpTT04ucGFyc2Uoc3RvcmVkVXNlcikgOiBudWxsOyAgLy8g4pyFIFByZXZlbnRzXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICAvLyBFbnN1cmUgcmVxdWlyZWQgZmllbGRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBwYXlsb2FkXG4gICAgZGF0YS5waG9uZV9udW1iZXIgPSBkYXRhLnBob25lX251bWJlciA/IGArJHtkYXRhLnBob25lX251bWJlci5jb3VudHJ5Q29kZX0gJHtkYXRhLnBob25lX251bWJlci5hcmVhQ29kZX0gJHtkYXRhLnBob25lX251bWJlci5waG9uZU51bWJlcn1gIDogdW5kZWZpbmVkO1xuICAgIGRhdGEudGVybXNfY29uZGl0aW9uc19pZCA9IDI7XG4gICAgZGF0YS52b2x1bnRlZXJfc3RhdHVzID0gXCJSZWdpc3RlclwiO1xuICAgIGRhdGEudXNlcl9pZCA9IHVzZXIuaWQ7XG4gICAgY29uc3QgZXhwZXJ0aXNlU3RyID0gIGRhdGEuZXhwZXJ0aXNlLnRvU3RyaW5nKCk7XG4gICAgZGF0YS5leHBlcnRpc2UgPSBleHBlcnRpc2VTdHI7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnBvc3QodXJsLCBkYXRhLCBjb25maWcpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1BPU1QgcmVxdWVzdCBlcnJvcjonLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBERUxFVEUgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uIGFuZCBvcHRpb25hbCBkYXRhLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBPcHRpb25hbCBwYXlsb2FkIGZvciB0aGUgREVMRVRFIHJlcXVlc3QuXG4gKiBAcGFyYW0gc3VjY2VzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBzdWNjZXNzIHJlc3BvbnNlLlxuICogQHBhcmFtIGZhaWxlZCAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBlcnJvciByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZVdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc3VjY2Vzcz86IChkYXRhOiBUKSA9PiB2b2lkLFxuICBmYWlsZWQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcbiAgaWYgKHRva2VuID09PSAnJykge1xuICAgIGZhaWxlZD8uKCdUb2tlbiBpcyBtaXNzaW5nLicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3M6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCA/IGBCZWFyZXIgJHt0b2tlbn1gIDogJycsIC8vIEVuc3VyZSBjb3JyZWN0IEJlYXJlciBmb3JtYXRcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICAgIGRhdGE6IGRhdGEgPz8ge30sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UuZGVsZXRlKHVybCwgY29uZmlncyk7XG4gICAgc3VjY2Vzcz8uKHJlc3BvbnNlLmRhdGEpO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgPz8gJ1Vua25vd24gZXJyb3IhJztcbiAgICBmYWlsZWQ/LihtZXNzYWdlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQVVQgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBUaGUgcmVxdWVzdCBwYXlsb2FkLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBwdXRXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRva2VuIGlzIG1pc3NpbmcuXCIpO1xuICB9XG5cbiAgY29uc3QgY29uZmlnczogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICB9LFxuICB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnB1dCh1cmwsIGRhdGEsIGNvbmZpZ3MpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gdXBsb2FkIGZpbGVzLlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGZpbGUgZGF0YSB0byB1cGxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc3RVcGxvYWQgPSBhc3luYyA8VCA9IGFueT4oZGF0YTogRm9ybURhdGEpOiBQcm9taXNlPFQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmwgPSBgJHtjb25maWcudXBsb2FkX3VybH0vbWVkaWEvZmlsZWA7XG4gICAgY29uc3QgY29uZmlndXJlOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIHRva2VuOiAnOTQ5YjcxZWYtYTVkMi00YTNjLThhOTUtZDc3YmI3ZmIyZmY0JyxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKGVycik7XG4gIH1cblxufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBwdXNoIG5vdGlmaWNhdGlvbnMgdG8gYSBzcGVjaWZpYyByZWNpcGllbnQuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudCAtIFRoZSB0b3BpYyBvciBjdXJyZW50VXNlciBJRC5cbiAqIEBwYXJhbSB0aXRsZSAtIFRoZSBub3RpZmljYXRpb24gdGl0bGUuXG4gKiBAcGFyYW0gbWVzc2FnZUJvZHkgLSBUaGUgYm9keSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICogQHBhcmFtIGlzRHJpdmVyIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlY2lwaWVudCBpcyBhIGRyaXZlci5cbiAqIEBwYXJhbSBwaG90byAtIE9wdGlvbmFsIHBob3RvIFVSTCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBwdXNoTm90aWZpY2F0aW9uID0gYXN5bmMgKFxuICByZWNpcGllbnQ6IHN0cmluZyxcbiAgdGl0bGU6IHN0cmluZyxcbiAgbWVzc2FnZUJvZHk6IHN0cmluZyxcbiAgaXNEcml2ZXI6IGJvb2xlYW4sXG4gIHBob3RvPzogc3RyaW5nLFxuICBmYWlsZWQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHVybCA9IGAke2NvbmZpZy5ub3RpZmljYXRpb25fdXJsfW5vdGlmaWNhdGlvbi9gO1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gaXNEcml2ZXJcbiAgICA/IHsgJ0RyaXZlci1IZWFkZXInOiAndHJ1ZScgfVxuICAgIDoge307XG4gIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICB0b3BpY19uYW1lOiByZWNpcGllbnQsXG4gICAgbWVzc2FnZV90aXRsZTogdGl0bGUsXG4gICAgbWVzc2FnZV9ib2R5OiBtZXNzYWdlQm9keSxcbiAgICBwaG90byxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdCh1cmwsIGRhdGEsIGNvbmZpZ3VyZSk7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSA/PyAnVW5rbm93biBlcnJvciEnO1xuICAgIGZhaWxlZD8uKG1lc3NhZ2UpO1xuICB9XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHB1c2ggbm90aWZpY2F0aW9ucyB0byBhbGwgdXNlcnMgaW4gdGhlIGFwcC5cbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBub3RpZmljYXRpb24gcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcHVzaE5vdGlmaWNhdGlvbkFsbEFwcCA9IGFzeW5jIDxUID0gYW55PihcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB1cmwgPSBgJHtjb25maWcubm90aWZpY2F0aW9uX3VybH1ub3RpZmljYXRpb24vYDtcbiAgY29uc3QgY29uZmlndXJlOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnM6IHt9IH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aWZpY2F0aW9uIGZhaWxlZCcpO1xuICB9XG59O1xuIiwiaW1wb3J0IHsgY29uZmlndXJlU3RvcmUsIFRodW5rQWN0aW9uLCBBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcblxuaW1wb3J0IGF1dGhTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHZvbHVudGVlclNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGRpc2FiaWxpdHlUeXBlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBmb29kU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGludGVyZXN0ZWRUZWFtU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb2NjdXBhdGlvblNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBvcHBvcnR1bml0eVNvdXJjZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHByb3ZpbmNlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvdmluY2UvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBza2lsbFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3NraWxsL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdGVybXNDb25kaXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZXJtc19jb25kaXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB0cmFpbmluZ1Nlc3Npb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFpbmluZ19zZXNzaW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdm9sdW50ZWVyRXZlbnRTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXJfZXZlbnQvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBsYW5ndWFnZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdXNlclNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXIvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBvZmZlclByb2dyYW1TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdHJhdmVsRGF5U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhdmVsX2RheS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHVzZXJBdHRlbmRhbmNlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlcl9hdHRlbmRhbmNlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZmFtaWxpU3VydmV5U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZmFtaWx5X3N1cnZleS9jb3JlL3JlZHVjZXInO1xuXG5leHBvcnQgY29uc3Qgc3RvcmUgPSBjb25maWd1cmVTdG9yZSh7XG4gIHJlZHVjZXI6IHtcbiAgICBhdXRoOiBhdXRoU2xpY2UsXG4gICAgdm9sdW50ZWVyOiB2b2x1bnRlZXJTbGljZSxcbiAgICBkaXNhYmlsaXR5VHlwZTogZGlzYWJpbGl0eVR5cGVTbGljZSxcbiAgICBlZHVjYXRpb25JbnN0aXR1dGlvbjogZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSxcbiAgICBmb29kOiBmb29kU2xpY2UsXG4gICAgaW50ZXJlc3RlZFRlYW06IGludGVyZXN0ZWRUZWFtU2xpY2UsXG4gICAgb2NjdXBhdGlvbjogb2NjdXBhdGlvblNsaWNlLFxuICAgIG9wcG9ydHVuaXR5U291cmNlOiBvcHBvcnR1bml0eVNvdXJjZVNsaWNlLFxuICAgIHByb3ZpbmNlOiBwcm92aW5jZVNsaWNlLFxuICAgIGxhbmd1YWdlOiBsYW5ndWFnZVNsaWNlLFxuICAgIHNraWxsOiBza2lsbFNsaWNlLFxuICAgIHRlcm1zQ29uZGl0aW9uOiB0ZXJtc0NvbmRpdGlvblNsaWNlLFxuICAgIHRyYWluaW5nU2Vzc2lvbjogdHJhaW5pbmdTZXNzaW9uU2xpY2UsXG4gICAgdm9sdW50ZWVyRXZlbnQ6IHZvbHVudGVlckV2ZW50U2xpY2UsXG4gICAgdXNlcjogdXNlclNsaWNlLFxuICAgIG9mZmVyUHJvZ3JhbTogb2ZmZXJQcm9ncmFtU2xpY2UsXG4gICAgdHJhdmVsRGF5OiB0cmF2ZWxEYXlTbGljZSxcbiAgICB1c2VyQXR0ZW5kYW5jZTogdXNlckF0dGVuZGFuY2VTbGljZSxcbiAgICBmYW1pbGlTdXJ2ZXk6IGZhbWlsaVN1cnZleVNsaWNlXG4gIH0sXG4gIGRldlRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxufSk7XG5cbmV4cG9ydCB0eXBlIEFwcERpc3BhdGNoID0gdHlwZW9mIHN0b3JlLmRpc3BhdGNoO1xuZXhwb3J0IHR5cGUgUm9vdFN0YXRlID0gUmV0dXJuVHlwZTx0eXBlb2Ygc3RvcmUuZ2V0U3RhdGU+O1xuZXhwb3J0IHR5cGUgQXBwVGh1bms8UmV0dXJuVHlwZSA9IHZvaWQ+ID0gVGh1bmtBY3Rpb248XG4gIFJldHVyblR5cGUsXG4gIFJvb3RTdGF0ZSxcbiAgdW5rbm93bixcbiAgQWN0aW9uPHN0cmluZz5cbj47XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnOyAvLyBSZXF1aXJlZCBmb3IgSlNYXG5pbXBvcnQgeyBSb3V0ZXMgYXMgUm91dGVyUm91dGVzLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuLi92aWV3cy9tYWluL2hvbWUvbWFpbic7XG5pbXBvcnQgTG9naW4gZnJvbSAnLi4vdmlld3MvbG9naW4vbG9naW4nO1xuaW1wb3J0IE5vdEZvdW5kIGZyb20gJy4uL3ZpZXdzL25vdC1mb3VuZC9ub3QtZm91bmQnO1xuaW1wb3J0IFByb3RlY3RlZFJvdXRlIGZyb20gJy4vcHJvdGVjdGVkLXJvdXRlJztcbmltcG9ydCBWb2x1bnRlZXJSZWdpc3RlckZvcm0gZnJvbSAnLi4vdmlld3Mvdm9sdW50ZWVyL3ZvbHVudGVlci1yZWdpc3Rlcic7XG5pbXBvcnQgQXV0aCBmcm9tICcuLi92aWV3cy9sb2dpbi9hdXRoJztcbmltcG9ydCBBdHRlbmRhbmNlUVIgZnJvbSAnLi4vdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xcic7XG5pbXBvcnQgVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvYXR0ZW5kYW5jZV92ZXJpZmljYXRpb24nO1xuaW1wb3J0IEZhbWlseVN1cnZleUZvcm0gZnJvbSAnLi4vdmlld3MvZmFtaWx5X3N1cnZleS9GYW1pbHlTdXJ2ZXlGb3JtJztcblxuY29uc3QgQXBwUm91dGVzOiBSZWFjdC5GQyA9ICgpID0+IChcbiAgPFJvdXRlclJvdXRlcz5cbiAgICB7LyogUHVibGljIFJvdXRlcyAqL31cbiAgICA8Um91dGUgcGF0aD0nL2xvZ2luJyBlbGVtZW50PXs8TG9naW4gLz59IC8+XG4gICAgPFJvdXRlIHBhdGg9Jy9hdXRoJyBlbGVtZW50PXs8QXV0aCAvPn0gLz5cbiAgICA8Um91dGUgcGF0aD0nL2F0dGVuZGFuY2UnIGVsZW1lbnQ9ezxUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZSAvPn0gLz5cbiAgICA8Um91dGUgcGF0aD0nL3FyJyBlbGVtZW50PXs8QXR0ZW5kYW5jZVFSIC8+fSAvPlxuICAgIFxuXG4gICAgey8qIFByb3RlY3RlZCBSb3V0ZXMgLSBXcmFwcGluZyBldmVyeXRoaW5nIGluc2lkZSBNYWluICovfVxuICAgIDxSb3V0ZVxuICAgICAgcGF0aD0nLyonXG4gICAgICBlbGVtZW50PXtcbiAgICAgICAgPFByb3RlY3RlZFJvdXRlPlxuICAgICAgICAgIDxNYWluIC8+XG4gICAgICAgIDwvUHJvdGVjdGVkUm91dGU+XG4gICAgICB9XG4gICAgLz5cbiAgICB7LyogUHJvdGVjdGVkIFJvdXRlcyAtIFdyYXBwaW5nIGV2ZXJ5dGhpbmcgaW5zaWRlIE1haW4gKi99XG4gICAgPFJvdXRlXG4gICAgICBwYXRoPScvcmVnaXN0ZXInXG4gICAgICBlbGVtZW50PXtcbiAgICAgICAgPFByb3RlY3RlZFJvdXRlPlxuICAgICAgICAgIDxWb2x1bnRlZXJSZWdpc3RlckZvcm0gLz5cbiAgICAgICAgPC9Qcm90ZWN0ZWRSb3V0ZT5cbiAgICAgIH1cbiAgICAvPlxuICAgIFxuICAgIHsvKiBDYXRjaC1BbGwgUm91dGUgKi99XG4gICAgPFJvdXRlIHBhdGg9JyonIGVsZW1lbnQ9ezxOb3RGb3VuZCAvPn0gLz5cbiAgPC9Sb3V0ZXJSb3V0ZXM+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBSb3V0ZXM7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFByb3RlY3RlZFJvdXRlUHJvcHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuY29uc3QgUHJvdGVjdGVkUm91dGU6IFJlYWN0LkZDPFByb3RlY3RlZFJvdXRlUHJvcHM+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBhY2Nlc3NUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XG4gIGNvbnN0IHN0b3JlZFVzZXIgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpO1xuICBsZXQgdXNlciA9IG51bGw7XG5cbiAgaWYgKHN0b3JlZFVzZXIpIHtcbiAgICB0cnkge1xuICAgICAgdXNlciA9IEpTT04ucGFyc2Uoc3RvcmVkVXNlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgY3VycmVudFVzZXIgZnJvbSBzZXNzaW9uU3RvcmFnZTonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5sb2coJ1BhcnNlZCB1c2VyOicsIHVzZXIpO1xuXG4gIC8vIENoZWNrIGZvciBhIHZhbGlkIHRva2VuIGFuZCB0aGF0IHRoZSB1c2VyJ3Mgcm9sZSBpcyBub3QgXCJVU0VSXCJcbiAgY29uc3QgaXNBdXRoZW50aWNhdGVkID1cbiAgICBCb29sZWFuKGFjY2Vzc1Rva2VuICYmIGFjY2Vzc1Rva2VuLmxlbmd0aCA+IDAgJiYgdXNlcik7XG5cbiAgcmV0dXJuIGlzQXV0aGVudGljYXRlZCA/IDw+e2NoaWxkcmVufTwvPiA6IDxOYXZpZ2F0ZSB0bz1cIi9sb2dpblwiIC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUHJvdGVjdGVkUm91dGU7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgRm9ybSxcbiAgSW5wdXQsXG4gIEJ1dHRvbixcbiAgQ2hlY2tib3gsXG4gIFJvdyxcbiAgQ29sLFxuICBJbnB1dE51bWJlcixcbiAgU2VsZWN0LFxuICBDYXJkLFxuICBtZXNzYWdlLFxuICBTcGFjZSxcbiAgVGFnXG59IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlXCI7XG5pbXBvcnQge1xuICBmZXRjaFByb3ZpbmNlLFxuICBmZXRjaERpc3RyaWN0LFxuICBmZXRjaENvbW11bmUsXG4gIGZldGNoVmlsbGFnZVNlcnZpY2UsXG4gIGZldGNoVHJhbnNwb3J0YXRpb24sXG4gIGNyZWF0ZUZhbWlseUFjdGlvbixcbiAgdXBkYXRlRmFtaWx5QWN0aW9uLFxuICBmYW1pbHlEZXRhaWxBY3Rpb25cbn0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9hY3Rpb25zXCI7XG5pbXBvcnQgeyBDcmVhdGVGYW1pbHlNZW1iZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXhcIjtcblxuY29uc3QgeyBPcHRpb24gfSA9IFNlbGVjdDtcblxuLy8gQWRkIGludGVyZmFjZXNcbmludGVyZmFjZSBMb2NhdGlvbkNoYWluIHtcbiAgcHJvdmluY2U6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIGRpc3RyaWN0PzogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgY29tbXVuZT86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIHZpbGxhZ2U/OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICB0aW1lc3RhbXA6IHN0cmluZztcbn1cblxuLy8gVXBkYXRlIHN0b3JhZ2Uga2V5XG5jb25zdCBTVE9SQUdFX0tFWSA9IHtcbiAgTE9DQVRJT05fQ0hBSU5TOiAnZmFtaWx5X3N1cnZleV9sb2NhdGlvbl9jaGFpbnMnLFxuICBMQVNUX1NFTEVDVElPTjogJ2ZhbWlseV9zdXJ2ZXlfbGFzdF9zZWxlY3Rpb24nXG59O1xuXG5pbnRlcmZhY2UgRmFtaWx5U3VydmV5Rm9ybVByb3BzIHtcbiAgaXNWaWV3TW9kZT86IGJvb2xlYW47XG4gIGluaXRpYWxWYWx1ZXM/OiBhbnk7XG59XG5cbmNvbnN0IEZhbWlseVN1cnZleUZvcm06IFJlYWN0LkZDPEZhbWlseVN1cnZleUZvcm1Qcm9wcz4gPSAoe1xuICBpc1ZpZXdNb2RlLFxuICBpbml0aWFsVmFsdWVzXG59KSA9PiB7XG4gIGNvbnN0IFtmb3JtXSA9IEZvcm0udXNlRm9ybSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgW3NhdmVkTG9jYXRpb25DaGFpbnMsIHNldFNhdmVkTG9jYXRpb25DaGFpbnNdID0gdXNlU3RhdGU8TG9jYXRpb25DaGFpbltdPihbXSk7XG4gIGNvbnN0IHtcbiAgICBwcm92aW5jZXMgPSBbXSxcbiAgICBkaXN0cmljdHMgPSBbXSxcbiAgICBjb21tdW5lcyA9IFtdLFxuICAgIHZpbGxhZ2VzID0gW10sXG4gICAgdHJhbnNwb3J0YXRpb25zID0gW10sXG4gICAgZmFtaWx5U3VydmV5LFxuICAgIHJlZ2lzdGVyUGVuZGluZyxcbiAgICByZWdpc3RlckVycm9yTWVzc2FnZSxcbiAgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5mYW1pbGlTdXJ2ZXkgfHwge30pO1xuXG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgY29uc3QgaWQgPSBzZWFyY2hQYXJhbXMuZ2V0KCdpZCcpO1xuXG4gIGNvbnN0IFtpc0NsaWNrLCBzZXRJc0NsaWNrXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyDwn5GJIEZldGNoIGRhdGEgd2hlbiBlZGl0aW5nIG9yIHJlc2V0IGZvcm0gd2hlbiBhZGRpbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKGZhbWlseURldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiBmYW1pbHlTdXJ2ZXkpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoe1xuICAgICAgICBuYW1lOiBmYW1pbHlTdXJ2ZXkubmFtZSB8fCAnJyxcbiAgICAgICAgcGhvbmU6IGZhbWlseVN1cnZleS5waG9uZSB8fCAnJyxcbiAgICAgICAgZ2VuZGVyOiBmYW1pbHlTdXJ2ZXkuZ2VuZGVyIHx8ICcnLFxuICAgICAgICBhZ2U6IGZhbWlseVN1cnZleS5hZ2UgfHwgMCxcbiAgICAgICAgcHJvdmluY2U6IGZhbWlseVN1cnZleS5wcm92aW5jZSB8fCAnJyxcbiAgICAgICAgZGlzdHJpY3Q6IGZhbWlseVN1cnZleS5kaXN0cmljdCB8fCAnJyxcbiAgICAgICAgY29tbXVuZTogZmFtaWx5U3VydmV5LmNvbW11bmUgfHwgJycsXG4gICAgICAgIHZpbGxhZ2U6IGZhbWlseVN1cnZleS52aWxsYWdlIHx8ICcnLFxuICAgICAgICB0b3RhbF9tZW1iZXI6IGZhbWlseVN1cnZleS50b3RhbF9tZW1iZXIgfHwgMCxcbiAgICAgICAgbWVtYmVyX21hbGU6IGZhbWlseVN1cnZleS5tZW1iZXJfbWFsZSB8fCAwLFxuICAgICAgICBtZW1iZXJfZmVtYWxlOiBmYW1pbHlTdXJ2ZXkubWVtYmVyX2ZlbWFsZSB8fCAwLFxuICAgICAgICB0b3RhbF9wcmVnbmFudDogZmFtaWx5U3VydmV5LnRvdGFsX3ByZWduYW50IHx8IDAsXG4gICAgICAgIHRvdGFsX2JhYnk6IGZhbWlseVN1cnZleS50b3RhbF9iYWJ5IHx8IDAsXG4gICAgICAgIGJhYnlfbWFsZTogZmFtaWx5U3VydmV5LmJhYnlfbWFsZSB8fCAwLFxuICAgICAgICBiYWJ5X2ZlbWFsZTogZmFtaWx5U3VydmV5LmJhYnlfZmVtYWxlIHx8IDAsXG4gICAgICAgIHRvdGFsX2NoaWxkOiBmYW1pbHlTdXJ2ZXkudG90YWxfY2hpbGQgfHwgMCxcbiAgICAgICAgY2hpbGRfbWFsZTogZmFtaWx5U3VydmV5LmNoaWxkX21hbGUgfHwgMCxcbiAgICAgICAgY2hpbGRfZmVtYWxlOiBmYW1pbHlTdXJ2ZXkuY2hpbGRfZmVtYWxlIHx8IDAsXG4gICAgICAgIGlzX2Rpc2FibGVkOiBmYW1pbHlTdXJ2ZXkuaXNfZGlzYWJsZWQgfHwgZmFsc2UsXG4gICAgICAgIGlzX29sZF9hZ2U6IGZhbWlseVN1cnZleS5pc19vbGRfYWdlIHx8IGZhbHNlLFxuICAgICAgICB0cmFuc3BvcnRhdGlvbl9pZDogZmFtaWx5U3VydmV5LnRyYW5zcG9ydGF0aW9uX2lkIHx8IG51bGwsXG4gICAgICAgIG5vdGU6IGZhbWlseVN1cnZleS5ub3RlIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZmFtaWx5U3VydmV5LCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcmVnaXN0ZXJQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2ZhbWlseS1zdXJ2ZXknKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZWdpc3RlclBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoUHJvdmluY2UoKSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hUcmFuc3BvcnRhdGlvbigpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgLy8gTG9hZCBzYXZlZCBsb2NhdGlvbiBjaGFpbnMgb24gbW91bnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzYXZlZENoYWlucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZLkxPQ0FUSU9OX0NIQUlOUyk7XG4gICAgaWYgKHNhdmVkQ2hhaW5zKSB7XG4gICAgICBjb25zdCBjaGFpbnMgPSBKU09OLnBhcnNlKHNhdmVkQ2hhaW5zKTtcbiAgICAgIHNldFNhdmVkTG9jYXRpb25DaGFpbnMoY2hhaW5zKTtcblxuICAgICAgLy8gQXV0by1zZWxlY3QgbW9zdCByZWNlbnQgbG9jYXRpb24gY2hhaW5cbiAgICAgIGNvbnN0IG1vc3RSZWNlbnQgPSBjaGFpbnNbMF07XG4gICAgICBpZiAobW9zdFJlY2VudCkge1xuICAgICAgICBhdXRvU2VsZWN0TG9jYXRpb25DaGFpbihtb3N0UmVjZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVDb3VudFRvdGFsQ2hhbmdlID0gKHR5cGU6ICdtZW1iZXInIHwgJ2JhYnknIHwgJ2NoaWxkJywgdmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ21lbWJlcicpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IG1lbWJlcl9tYWxlOiAwLCBtZW1iZXJfZmVtYWxlOiAwIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnbWVtYmVyX21hbGUnKSB8fCAwO1xuICAgICAgICBjb25zdCBmZW1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ21lbWJlcl9mZW1hbGUnKSB8fCAwO1xuXG4gICAgICAgIGlmIChtYWxlID4gMCAmJiBtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IG1lbWJlcl9mZW1hbGU6IHZhbHVlIC0gbWFsZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmZW1hbGUgPiAwICYmIGZlbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBtZW1iZXJfbWFsZTogdmFsdWUgLSBmZW1hbGUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2JhYnknKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBiYWJ5X21hbGU6IDAsIGJhYnlfZmVtYWxlOiAwIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnYmFieV9tYWxlJykgfHwgMDtcbiAgICAgICAgY29uc3QgZmVtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdiYWJ5X2ZlbWFsZScpIHx8IDA7XG5cbiAgICAgICAgaWYgKG1hbGUgPiAwICYmIG1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgYmFieV9mZW1hbGU6IHZhbHVlIC0gbWFsZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmZW1hbGUgPiAwICYmIGZlbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBiYWJ5X21hbGU6IHZhbHVlIC0gZmVtYWxlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdjaGlsZCcpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNoaWxkX21hbGU6IDAsIGNoaWxkX2ZlbWFsZTogMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2NoaWxkX21hbGUnKSB8fCAwO1xuICAgICAgICBjb25zdCBmZW1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2NoaWxkX2ZlbWFsZScpIHx8IDA7XG5cbiAgICAgICAgaWYgKG1hbGUgPiAwICYmIG1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY2hpbGRfZmVtYWxlOiB2YWx1ZSAtIG1hbGUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmVtYWxlID4gMCAmJiBmZW1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY2hpbGRfbWFsZTogdmFsdWUgLSBmZW1hbGUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UgPSAodHlwZTogJ21lbWJlcicgfCAnYmFieScgfCAnY2hpbGQnLCBnZW5kZXI6ICdtYWxlJyB8ICdmZW1hbGUnLCB2YWx1ZTogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IHRvdGFsRmllbGQgPSB7XG4gICAgICBtZW1iZXI6ICd0b3RhbF9tZW1iZXInLFxuICAgICAgYmFieTogJ3RvdGFsX2JhYnknLFxuICAgICAgY2hpbGQ6ICd0b3RhbF9jaGlsZCcsXG4gICAgfVt0eXBlXTtcblxuICAgIGNvbnN0IHRvdGFsID0gZm9ybS5nZXRGaWVsZFZhbHVlKHRvdGFsRmllbGQpIHx8IDA7XG5cbiAgICBpZiAodG90YWwgPT09IDApIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoe1xuICAgICAgICBbYCR7dHlwZX1fbWFsZWBdOiAwLFxuICAgICAgICBbYCR7dHlwZX1fZmVtYWxlYF06IDAsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlID4gdG90YWwpIHtcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIkdlbmRlciBjb3VudCBjYW5ub3QgZXhjZWVkIHRvdGFsLlwiKTtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBbYCR7dHlwZX1fJHtnZW5kZXJ9YF06IHRvdGFsIH0pO1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IFtgJHt0eXBlfV8ke2dlbmRlciA9PT0gJ21hbGUnID8gJ2ZlbWFsZScgOiAnbWFsZSd9YF06IDAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBbYCR7dHlwZX1fJHtnZW5kZXIgPT09ICdtYWxlJyA/ICdmZW1hbGUnIDogJ21hbGUnfWBdOiB0b3RhbCAtIHZhbHVlIH0pO1xuICB9O1xuXG4gIC8vIPCfkYkgSGFuZGxlIGZvcm0gc3VibWl0XG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9ICh2YWx1ZXM6IENyZWF0ZUZhbWlseU1lbWJlcikgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2godXBkYXRlRmFtaWx5QWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZUZhbWlseUFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfVxuICAgIHNldElzQ2xpY2sodHJ1ZSk7XG4gIH07XG5cbiAgY29uc3QgYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4gPSAobG9jYXRpb25DaGFpbjogTG9jYXRpb25DaGFpbikgPT4ge1xuICAgIC8vIFNldCBwcm92aW5jZSBhbmQgZmV0Y2ggZGlzdHJpY3RzXG4gICAgaWYgKGxvY2F0aW9uQ2hhaW4ucHJvdmluY2UpIHtcbiAgICAgIGNvbnN0IHByb3ZpbmNlVmFsdWUgPSBgJHtsb2NhdGlvbkNoYWluLnByb3ZpbmNlLmlkfSwke2xvY2F0aW9uQ2hhaW4ucHJvdmluY2UubmFtZX1gO1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IHByb3ZpbmNlOiBwcm92aW5jZVZhbHVlIH0pO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hEaXN0cmljdCh7IGlkOiBOdW1iZXIobG9jYXRpb25DaGFpbi5wcm92aW5jZS5pZCkgfSkpO1xuXG4gICAgICAvLyBTZXQgZGlzdHJpY3QgYW5kIGZldGNoIGNvbW11bmVzXG4gICAgICBpZiAobG9jYXRpb25DaGFpbi5kaXN0cmljdCkge1xuICAgICAgICBjb25zdCBkaXN0cmljdFZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi5kaXN0cmljdC5pZH0sJHtsb2NhdGlvbkNoYWluLmRpc3RyaWN0Lm5hbWV9YDtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGRpc3RyaWN0OiBkaXN0cmljdFZhbHVlIH0pO1xuICAgICAgICBkaXNwYXRjaChmZXRjaENvbW11bmUoeyBpZDogTnVtYmVyKGxvY2F0aW9uQ2hhaW4uZGlzdHJpY3QuaWQpIH0pKTtcblxuICAgICAgICAvLyBTZXQgY29tbXVuZSBhbmQgZmV0Y2ggdmlsbGFnZXNcbiAgICAgICAgaWYgKGxvY2F0aW9uQ2hhaW4uY29tbXVuZSkge1xuICAgICAgICAgIGNvbnN0IGNvbW11bmVWYWx1ZSA9IGAke2xvY2F0aW9uQ2hhaW4uY29tbXVuZS5pZH0sJHtsb2NhdGlvbkNoYWluLmNvbW11bmUubmFtZX1gO1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjb21tdW5lOiBjb21tdW5lVmFsdWUgfSk7XG4gICAgICAgICAgZGlzcGF0Y2goZmV0Y2hWaWxsYWdlU2VydmljZSh7IGlkOiBOdW1iZXIobG9jYXRpb25DaGFpbi5jb21tdW5lLmlkKSB9KSk7XG5cbiAgICAgICAgICAvLyBTZXQgdmlsbGFnZSBpZiBleGlzdHNcbiAgICAgICAgICBpZiAobG9jYXRpb25DaGFpbi52aWxsYWdlKSB7XG4gICAgICAgICAgICBjb25zdCB2aWxsYWdlVmFsdWUgPSBgJHtsb2NhdGlvbkNoYWluLnZpbGxhZ2UuaWR9LCR7bG9jYXRpb25DaGFpbi52aWxsYWdlLm5hbWV9YDtcbiAgICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyB2aWxsYWdlOiB2aWxsYWdlVmFsdWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNhdmVMb2NhdGlvbkNoYWluID0gKG5ld0NoYWluOiBQYXJ0aWFsPExvY2F0aW9uQ2hhaW4+KSA9PiB7XG4gICAgY29uc3QgdXBkYXRlZENoYWluID0ge1xuICAgICAgLi4ubmV3Q2hhaW4sXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgIH07XG5cbiAgICAvLyBLZWVwIG9ubHkgdW5pcXVlIGNoYWlucywgbGltaXRlZCB0byA1IG1vc3QgcmVjZW50XG4gICAgY29uc3QgZXhpc3RpbmdDaGFpbnMgPSBzYXZlZExvY2F0aW9uQ2hhaW5zLmZpbHRlcihjaGFpbiA9PlxuICAgICAgY2hhaW4ucHJvdmluY2UuaWQgIT09IHVwZGF0ZWRDaGFpbi5wcm92aW5jZT8uaWQgfHxcbiAgICAgIGNoYWluLmRpc3RyaWN0Py5pZCAhPT0gdXBkYXRlZENoYWluLmRpc3RyaWN0Py5pZCB8fFxuICAgICAgY2hhaW4uY29tbXVuZT8uaWQgIT09IHVwZGF0ZWRDaGFpbi5jb21tdW5lPy5pZFxuICAgICk7XG5cbiAgICBjb25zdCBuZXdDaGFpbnMgPSBbdXBkYXRlZENoYWluLCAuLi5leGlzdGluZ0NoYWluc10uc2xpY2UoMCwgNSk7XG4gICAgc2V0U2F2ZWRMb2NhdGlvbkNoYWlucyhuZXdDaGFpbnMpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUT1JBR0VfS0VZLkxPQ0FUSU9OX0NIQUlOUywgSlNPTi5zdHJpbmdpZnkobmV3Q2hhaW5zKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUHJvdmluY2VDaGFuZ2UgPSAodmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgY29uc3QgW3Byb3ZpbmNlSWQsIHByb3ZpbmNlTmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hEaXN0cmljdCh7IGlkOiBOdW1iZXIocHJvdmluY2VJZC50cmltKCkpIH0pKTtcbiAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgZGlzdHJpY3Q6IHVuZGVmaW5lZCwgY29tbXVuZTogdW5kZWZpbmVkLCB2aWxsYWdlOiB1bmRlZmluZWQgfSk7XG5cbiAgICBzYXZlTG9jYXRpb25DaGFpbih7XG4gICAgICBwcm92aW5jZToge1xuICAgICAgICBpZDogcHJvdmluY2VJZC50cmltKCksXG4gICAgICAgIG5hbWU6IHByb3ZpbmNlTmFtZS50cmltKClcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEaXN0cmljdENoYW5nZSA9ICh2YWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBjb25zdCBbZGlzdHJpY3RJZCwgZGlzdHJpY3ROYW1lXSA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcbiAgICBkaXNwYXRjaChmZXRjaENvbW11bmUoeyBpZDogTnVtYmVyKGRpc3RyaWN0SWQudHJpbSgpKSB9KSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNvbW11bmU6IHVuZGVmaW5lZCwgdmlsbGFnZTogdW5kZWZpbmVkIH0pO1xuXG4gICAgY29uc3QgY3VycmVudFByb3ZpbmNlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdwcm92aW5jZScpPy5zcGxpdCgnLCcpO1xuICAgIGlmIChjdXJyZW50UHJvdmluY2UpIHtcbiAgICAgIHNhdmVMb2NhdGlvbkNoYWluKHtcbiAgICAgICAgcHJvdmluY2U6IHtcbiAgICAgICAgICBpZDogY3VycmVudFByb3ZpbmNlWzBdLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBjdXJyZW50UHJvdmluY2VbMV0udHJpbSgpXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3RyaWN0OiB7XG4gICAgICAgICAgaWQ6IGRpc3RyaWN0SWQudHJpbSgpLFxuICAgICAgICAgIG5hbWU6IGRpc3RyaWN0TmFtZS50cmltKClcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbW11bmVDaGFuZ2UgPSAodmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgY29uc3QgW2NvbW11bmVJZCwgY29tbXVuZU5hbWVdID0gdmFsdWUuc3BsaXQoXCIsXCIpO1xuICAgIGRpc3BhdGNoKGZldGNoVmlsbGFnZVNlcnZpY2UoeyBpZDogTnVtYmVyKGNvbW11bmVJZC50cmltKCkpIH0pKTtcbiAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgdmlsbGFnZTogdW5kZWZpbmVkIH0pO1xuXG4gICAgY29uc3QgY3VycmVudFByb3ZpbmNlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdwcm92aW5jZScpPy5zcGxpdCgnLCcpO1xuICAgIGNvbnN0IGN1cnJlbnREaXN0cmljdCA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnZGlzdHJpY3QnKT8uc3BsaXQoJywnKTtcbiAgICBpZiAoY3VycmVudFByb3ZpbmNlICYmIGN1cnJlbnREaXN0cmljdCkge1xuICAgICAgc2F2ZUxvY2F0aW9uQ2hhaW4oe1xuICAgICAgICBwcm92aW5jZToge1xuICAgICAgICAgIGlkOiBjdXJyZW50UHJvdmluY2VbMF0udHJpbSgpLFxuICAgICAgICAgIG5hbWU6IGN1cnJlbnRQcm92aW5jZVsxXS50cmltKClcbiAgICAgICAgfSxcbiAgICAgICAgZGlzdHJpY3Q6IHtcbiAgICAgICAgICBpZDogY3VycmVudERpc3RyaWN0WzBdLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBjdXJyZW50RGlzdHJpY3RbMV0udHJpbSgpXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW11bmU6IHtcbiAgICAgICAgICBpZDogY29tbXVuZUlkLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBjb21tdW5lTmFtZS50cmltKClcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShTVE9SQUdFX0tFWS5MQVNUX1NFTEVDVElPTik7XG4gICAgbmF2aWdhdGUoJy9mYW1pbHktc3VydmV5JylcbiAgfTtcblxuICBjb25zdCBRdWlja0ZpbGwgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9zdFJlY2VudCA9IHNhdmVkTG9jYXRpb25DaGFpbnNbMF07XG5cbiAgICBpZiAoIW1vc3RSZWNlbnQpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAxNiB9fT5cbiAgICAgICAgPFNwYWNlIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgPHNwYW4+4Z6R4Z644Z6P4Z624Z+G4Z6E4Z6Q4Z+S4Z6Y4Z644Z+XIC8gUmVjZW50IGxvY2F0aW9uOjwvc3Bhbj5cbiAgICAgICAgICA8VGFnIGNvbG9yPVwiYmx1ZVwiPlxuICAgICAgICAgICAge21vc3RSZWNlbnQucHJvdmluY2UubmFtZX1cbiAgICAgICAgICAgIHttb3N0UmVjZW50LmRpc3RyaWN0ICYmIGAgPiAke21vc3RSZWNlbnQuZGlzdHJpY3QubmFtZX1gfVxuICAgICAgICAgICAge21vc3RSZWNlbnQuY29tbXVuZSAmJiBgID4gJHttb3N0UmVjZW50LmNvbW11bmUubmFtZX1gfVxuICAgICAgICAgIDwvVGFnPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICAvLyBBdXRvLXNlbGVjdCBsb2NhdGlvbiBvbiBtb3VudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNhdmVkQ2hhaW5zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkFHRV9LRVkuTE9DQVRJT05fQ0hBSU5TKTtcbiAgICBpZiAoc2F2ZWRDaGFpbnMpIHtcbiAgICAgIGNvbnN0IGNoYWlucyA9IEpTT04ucGFyc2Uoc2F2ZWRDaGFpbnMpO1xuICAgICAgc2V0U2F2ZWRMb2NhdGlvbkNoYWlucyhjaGFpbnMpO1xuXG4gICAgICAvLyBBdXRvLXNlbGVjdCBtb3N0IHJlY2VudCBsb2NhdGlvbiBjaGFpbiB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb25cbiAgICAgIGNvbnN0IG1vc3RSZWNlbnQgPSBjaGFpbnNbMF07XG4gICAgICBpZiAobW9zdFJlY2VudCkge1xuICAgICAgICBhdXRvU2VsZWN0TG9jYXRpb25DaGFpbihtb3N0UmVjZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsVmFsdWVzICYmIChpc1ZpZXdNb2RlKSkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZShpbml0aWFsVmFsdWVzKTtcbiAgICB9XG4gIH0sIFtpbml0aWFsVmFsdWVzLCBmb3JtLCBpc1ZpZXdNb2RlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2FyZD5cbiAgICAgIDxGb3JtXG4gICAgICAgIGZvcm09e2Zvcm19XG4gICAgICAgIGxheW91dD1cInZlcnRpY2FsXCJcbiAgICAgICAgb25GaW5pc2g9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgZGlzYWJsZWQ9e2lzVmlld01vZGV9XG4gICAgICAgIGluaXRpYWxWYWx1ZXM9e2luaXRpYWxWYWx1ZXN9XG4gICAgICA+XG4gICAgICAgIDxRdWlja0ZpbGwgLz5cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGeiOGfkuGemOGfhOGfh+GeguGfkuGemuGeveGen+GetuGemiAvIEZhbWlseSBOYW1lXCJcbiAgICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIGZhbWlseSBuYW1lXCIgfV19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJbnB1dCBwbGFjZWhvbGRlcj1cIkVudGVyIGZhbWlseSBuYW1lXCIgLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPVwi4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RIC8gUGhvbmVcIlxuICAgICAgICAgICAgICBuYW1lPVwicGhvbmVcIlxuICAgICAgICAgICAgICBydWxlcz17W1xuICAgICAgICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIHBob25lIG51bWJlclwiIH0sXG4gICAgICAgICAgICAgICAgeyBwYXR0ZXJuOiAvXlswLTldKyQvLCBtZXNzYWdlOiBcIlBob25lIG11c3QgYmUgbnVtYmVycyBvbmx5XCIgfSxcbiAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwiRW50ZXIgcGhvbmUgbnVtYmVyXCIgLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogR2VuZGVyICYgQWdlICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPVwi4Z6X4Z+B4Z6RIC8gR2VuZGVyXCJcbiAgICAgICAgICAgICAgbmFtZT1cImdlbmRlclwiXG4gICAgICAgICAgICAgIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2Ugc2VsZWN0IGdlbmRlclwiIH1dfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGdlbmRlclwiPlxuICAgICAgICAgICAgICAgIDxPcHRpb24gdmFsdWU9XCJNYWxlXCI+4Z6U4Z+S4Z6a4Z674Z6fIC8gTWFsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgIDxPcHRpb24gdmFsdWU9XCJGZW1hbGVcIj7hnp/hn5LhnprhnrggLyBGZW1hbGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGeouGetuGemeGeuyAvIEFnZVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJhZ2VcIlxuICAgICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIGFnZVwiIH1dfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogUHJvdmluY2UsIERpc3RyaWN0LCBDb21tdW5lLCBWaWxsYWdlICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cInByb3ZpbmNlXCIgbGFiZWw9XCLhnoHhn4Hhno/hn5Lhno8v4Z6A4Z+S4Z6a4Z674Z6EIC8gUHJvdmluY2UvQ2l0eVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSB9XX0+XG4gICAgICAgICAgICAgIDxTZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgUHJvdmluY2VcIiBvbkNoYW5nZT17aGFuZGxlUHJvdmluY2VDaGFuZ2V9PlxuICAgICAgICAgICAgICAgIHtwcm92aW5jZXMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgcHJvdmluY2VzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocCA9PiBBTExPV0VEX1BST1ZJTkNFX0lEUy5pbmNsdWRlcyhwLmlkLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKHApID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17cC5pZH0gdmFsdWU9e2Ake3AuaWR9LCAke3AubmFtZS5rbX0gLyAke3AubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtwLm5hbWUua219IC8gJHtwLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBwcm92aW5jZXMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9XCJkaXN0cmljdFwiIGxhYmVsPVwi4Z6f4Z+S4Z6a4Z674Z6AL+GegeGejuGfkuGejCAvIERpc3RyaWN0L0toYW5cIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUgfV19PlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IERpc3RyaWN0XCIgb25DaGFuZ2U9e2hhbmRsZURpc3RyaWN0Q2hhbmdlfT5cbiAgICAgICAgICAgICAgICB7ZGlzdHJpY3RzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIGRpc3RyaWN0cy5tYXAoKGQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2QuaWR9IHZhbHVlPXtgJHtkLmlkfSwgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgICAge2Ake2QubmFtZS5rbX0gLyAke2QubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24gZGlzYWJsZWQ+Tm8gZGlzdHJpY3RzIGF2YWlsYWJsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBuYW1lPVwiY29tbXVuZVwiIGxhYmVsPVwi4Z6D4Z674Z+GL+Gen+GehOGfkuGegOGetuGej+GfiyAvIENvbW11bmUvU2FuZ2thdFwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSB9XX0+XG4gICAgICAgICAgICAgIDxTZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgQ29tbXVuZVwiIG9uQ2hhbmdlPXtoYW5kbGVDb21tdW5lQ2hhbmdlfT5cbiAgICAgICAgICAgICAgICB7Y29tbXVuZXMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgY29tbXVuZXMubWFwKChjKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtjLmlkfSB2YWx1ZT17YCR7Yy5pZH0sICR7Yy5uYW1lLmttfSAvICR7Yy5uYW1lLmxhdGlufWB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtgJHtjLm5hbWUua219IC8gJHtjLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIGNvbW11bmVzIGF2YWlsYWJsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBuYW1lPVwidmlsbGFnZVwiIGxhYmVsPVwi4Z6X4Z684Z6Y4Z63IC8gVmlsbGFnZVwiPlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IFZpbGxhZ2VcIj5cbiAgICAgICAgICAgICAgICB7dmlsbGFnZXMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgdmlsbGFnZXMubWFwKCh2KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXt2LmlkfSB2YWx1ZT17YCR7di5uYW1lLmttfSAvICR7di5uYW1lLmxhdGlufWB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtgJHt2Lm5hbWUua219IC8gJHt2Lm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIHZpbGxhZ2VzIGF2YWlsYWJsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBGYW1pbHkgTWVtYmVyIENvdW50cyAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGen+GemOGetuGeh+Get+GegOGen+GemuGeu+GelCAvIFRvdGFsIE1lbWJlcnNcIiBuYW1lPVwidG90YWxfbWVtYmVyXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciB0b3RhbCBtZW1iZXJcIiB9XX0+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudFRvdGFsQ2hhbmdlKCdtZW1iZXInLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGen+GemOGetuGeh+Get+GegOGelOGfkuGemuGeu+GenyAvIE1hbGUgTWVtYmVyc1wiIG5hbWU9XCJtZW1iZXJfbWFsZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgbWFsZSBtZW1iZXJcIiB9XX0+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnbWVtYmVyJywgJ21hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGen+GemOGetuGeh+Get+GegOGen+GfkuGemuGeuCAvIEZlbWFsZSBNZW1iZXJzXCIgbmFtZT1cIm1lbWJlcl9mZW1hbGVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIGZlbWFsZSBtZW1iZXJcIiB9XX0+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnbWVtYmVyJywgJ2ZlbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6f4Z+S4Z6a4Z+S4Z6P4Z644Z6Y4Z624Z6T4Z6V4Z+S4Z6R4Z+D4Z6W4Z+E4Z+HIC8gVG90YWwgUHJlZ25hbnRcIiBuYW1lPVwidG90YWxfcHJlZ25hbnRcIj48SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogQmFiaWVzICYgQ2hpbGRyZW4gKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpHhnrbhnprhnoDhnp/hnprhnrvhnpQgKDwg4Z+i4Z6G4Z+S4Z6T4Z624Z+GKSAvIFRvdGFsIEJhYmllcyAoPCAyIHllYXJzKVwiIG5hbWU9XCJ0b3RhbF9iYWJ5XCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudFRvdGFsQ2hhbmdlKCdiYWJ5JywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpHhnrbhnprhnoDhnpThn5Lhnprhnrvhnp8gLyBCYWJ5IE1hbGVcIiBuYW1lPVwiYmFieV9tYWxlXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnYmFieScsICdtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpHhnrbhnprhnoDhnp/hn5LhnprhnrggLyBCYWJ5IEZlbWFsZVwiIG5hbWU9XCJiYWJ5X2ZlbWFsZVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ2JhYnknLCAnZmVtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6A4Z674Z6Y4Z624Z6a4Z6f4Z6a4Z674Z6UICjhn6It4Z+h4Z+j4Z6G4Z+S4Z6T4Z624Z+GKSAvIFRvdGFsIENoaWxkcmVuICgyLTEzIHllYXJzKVwiIG5hbWU9XCJ0b3RhbF9jaGlsZFwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRUb3RhbENoYW5nZSgnY2hpbGQnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGegOGeu+GemOGetuGemuGelOGfkuGemuGeu+GenyAvIENoaWxkIE1hbGVcIiBuYW1lPVwiY2hpbGRfbWFsZVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ2NoaWxkJywgJ21hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGegOGeu+GemOGetuGemuGeuOGen+GfkuGemuGeuCAvIENoaWxkIEZlbWFsZVwiIG5hbWU9XCJjaGlsZF9mZW1hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdjaGlsZCcsICdmZW1hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIERpc2FiaWxpdHkgJiBPbGQgQWdlICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+PEZvcm0uSXRlbSBuYW1lPVwiaXNfZGlzYWJsZWRcIiB2YWx1ZVByb3BOYW1lPVwiY2hlY2tlZFwiIGluaXRpYWxWYWx1ZT17ZmFsc2V9PjxDaGVja2JveD7hnpjhnrbhnpPhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYgLyBEaXNhYmxlZDwvQ2hlY2tib3g+PC9Gb3JtLkl0ZW0+PC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT48Rm9ybS5JdGVtIG5hbWU9XCJpc19vbGRfYWdlXCIgdmFsdWVQcm9wTmFtZT1cImNoZWNrZWRcIiBpbml0aWFsVmFsdWU9e2ZhbHNlfT48Q2hlY2tib3g+4Z6Y4Z624Z6T4Z6Y4Z6T4Z674Z6f4Z+S4Z6f4Z6F4Z624Z6f4Z+LIC8gT2xkIEFnZSAoJmd0OyDhn6bhn6UpPC9DaGVja2JveD48L0Zvcm0uSXRlbT48L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIFRyYW5zcG9ydGF0aW9uICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtXG4gICAgICAgICAgICAgIG5hbWU9XCJ0cmFuc3BvcnRhdGlvbl9pZFwiXG4gICAgICAgICAgICAgIGxhYmVsPVwi4Z6Y4Z6S4Z+S4Z6Z4Z+E4Z6U4Z624Z6Z4Z6S4Z+S4Z6c4Z6+4Z6K4Z+G4Z6O4Z6+4Z6aIC8gVHJhbnNwb3J0YXRpb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnofhn5Lhnprhnr7hnp/hnprhnr7hnp/hnpjhnpLhn5Lhnpnhn4ThnpThnrbhnpnhnpLhn5Lhnpzhnr7hnorhn4bhno7hnr7hnpogLyBTZWxlY3QgdHJhbnNwb3J0YXRpb25cIlxuICAgICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0cmFuc3BvcnRhdGlvbnM/LmRhdGE/Lm1hcChvcHRpb24gPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e29wdGlvbi5pZH0gdmFsdWU9e29wdGlvbi5pZH0+XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb24ubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogTm90ZXMgKi99XG4gICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhn4bhno7hno/hn4vhnoXhn4bhno7hnrbhn4YgLyBOb3Rlc1wiIG5hbWU9XCJub3RlXCI+XG4gICAgICAgICAgPElucHV0LlRleHRBcmVhIHJvd3M9ezN9IHBsYWNlaG9sZGVyPVwi4Z6U4Z6J4Z+S4Z6F4Z684Z6b4Z6A4Z+G4Z6O4Z6P4Z+L4Z6F4Z+G4Z6O4Z624Z+G4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6YIC8gRW50ZXIgYWRkaXRpb25hbCBub3Rlc1wiIC8+XG4gICAgICAgIDwvRm9ybS5JdGVtPlxuXG4gICAgICAgIHshaXNWaWV3TW9kZSAmJiAoXG4gICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgIDxTcGFjZT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17cmVnaXN0ZXJQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICB7XCLhnpThnonhn5LhnofhnrzhnpMgLyBTdWJtaXRcIn1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlQ2FuY2VsfT5cbiAgICAgICAgICAgICAgICDhnpThn4Thn4fhnpThnoThn4sgLyBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICApfVxuICAgICAgPC9Gb3JtPlxuICAgIDwvQ2FyZD5cbiAgKTtcbn07XG5cbmNvbnN0IEFMTE9XRURfUFJPVklOQ0VfSURTID0gWycyMicsICcwMScsICcxNScsICcxMyddOyAgLy8gS29tcG9uZyBTcGV1LCBCYW50ZWF5IE1lYW4gQ2hleSwgUHVyc2F0LCBQcmVhaCBWaWhlYXJcblxuZXhwb3J0IGRlZmF1bHQgRmFtaWx5U3VydmV5Rm9ybTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVGFibGUsIEJ1dHRvbiwgTW9kYWwsIElucHV0LCBTcGFjZSwgRm9ybSwgUm93LCBDb2wsIFNlbGVjdCwgSW5wdXROdW1iZXIgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgUGx1c091dGxpbmVkLCBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBFeWVPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlXCI7XG5pbXBvcnQgeyBGYW1pbHlNZW1iZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7XG4gIGZldGNoRmFtaWx5U3VydmV5LFxuICBkZWxldGVGYW1pbHlBY3Rpb24sXG4gIGZldGNoUHJvdmluY2UsXG4gIGZldGNoRGlzdHJpY3QsXG59IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IEZhbWlseVN1cnZleUZvcm0gZnJvbSBcIi4vRmFtaWx5U3VydmV5Rm9ybVwiO1xuaW1wb3J0IFN3YWwgZnJvbSBcInN3ZWV0YWxlcnQyXCI7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHN0YXR1czogc3RyaW5nO1xufVxuXG5jb25zdCBGYW1pbHlBcHByb3ZlZExpc3Q6IFJlYWN0LkZDPFByb3BzPiA9ICh7IHN0YXR1cyB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgyMCk7XG5cbiAgY29uc3QgeyBmYW1pbGllcywgcHJvdmluY2VzLCBkaXN0cmljdHMsIHJlZ2lzdGVyUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmZhbWlsaVN1cnZleSB8fCB7fVxuICApO1xuXG4gIGNvbnN0IFtpc01vZGFsVmlzaWJsZSwgc2V0SXNNb2RhbFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2lzVmlld01vZGUsIHNldElzVmlld01vZGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VsZWN0ZWRSZWNvcmQsIHNldFNlbGVjdGVkUmVjb3JkXSA9IHVzZVN0YXRlPEZhbWlseU1lbWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcHJvdmluY2UsIHNldFByb3ZpbmNlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZGlzdHJpY3QsIHNldERpc3RyaWN0XSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbdG90YWxNZW1iZXIsIHNldFRvdGFsTWVtYmVyXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYWdlLCBzZXRBZ2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gZXh0cmFjdCBzYWZlbHlcbiAgY29uc3QgZGF0YVNvdXJjZSA9IGZhbWlsaWVzPy5kYXRhIHx8IFtdO1xuICBjb25zdCBtZXRhID0gZmFtaWxpZXM/Lm1ldGEgfHwgeyB0b3RhbDogMCwgcGFnZTogMSwgcGFnZVNpemU6IDIwIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFByb3ZpbmNlKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICAvLyBGZXRjaCBkYXRhIHdpdGggcGFnaW5hdGlvblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHByb3ZpbmNlOiBwcm92aW5jZSxcbiAgICAgIGRpc3RyaWN0OiBkaXN0cmljdCxcbiAgICAgIHRvdGFsX21lbWJlcjogdG90YWxNZW1iZXIsXG4gICAgICBhZ2U6IGFnZSxcbiAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemVcbiAgICB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgc2VhcmNoVGV4dCwgcHJvdmluY2UsIGRpc3RyaWN0LCB0b3RhbE1lbWJlciwgYWdlLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKTtcblxuICBjb25zdCBoYW5kbGVUYWJsZUNoYW5nZSA9IChwYWdpbmF0aW9uOiBhbnkpID0+IHtcbiAgICBzZXRDdXJyZW50UGFnZShwYWdpbmF0aW9uLmN1cnJlbnQpO1xuICAgIHNldFBhZ2VTaXplKHBhZ2luYXRpb24ucGFnZVNpemUpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICBzZXRDdXJyZW50UGFnZSgxKTsgLy8gUmVzZXQgdG8gZmlyc3QgcGFnZSB3aGVuIHNlYXJjaGluZ1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQcm92aW5jZUNoYW5nZSA9ICh2YWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBzZXRQcm92aW5jZSh2YWx1ZSk7XG4gICAgY29uc3QgW3Byb3ZpbmNlSWQsIHByb3ZpbmNlTmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hEaXN0cmljdCh7IGlkOiBOdW1iZXIocHJvdmluY2VJZC50cmltKCkpIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVSZXNldCA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEN1cnJlbnRQYWdlKDEpO1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogXCJcIixcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVWaWV3ID0gKHJlY29yZDogRmFtaWx5TWVtYmVyKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRSZWNvcmQocmVjb3JkKTtcbiAgICBzZXRJc01vZGFsVmlzaWJsZSh0cnVlKTtcbiAgICBzZXRJc1ZpZXdNb2RlKHRydWUpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUocmVjb3JkKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBuYXZpZ2F0ZShgL2ZhbWlseS1zdXJ2ZXkvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogbnVtYmVyKSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAn4Z6P4Z6+4Z6i4Z+S4Z6T4Z6A4Z6U4Z+S4Z6a4Z624Z6A4Z6K4Z6R4Z+BPyAvIEFyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPuGem+Geu+GelCAvIERlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPuGelOGfhOGfh+GelOGehOGfiyAvIENhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlRmFtaWx5QWN0aW9uKGlkKSlcbiAgICAgICAgICAgIC51bndyYXAoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn4Z6U4Z624Z6T4Z6b4Z674Z6UISAvIERlbGV0ZWQhJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnVGhlIGZhbWlseSBoYXMgYmVlbiBkZWxldGVkLicsXG4gICAgICAgICAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBkaXNwYXRjaChmZXRjaEZhbWlseVN1cnZleSh7XG4gICAgICAgICAgICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgICAgICAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplXG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRXJyb3IhJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnRmFpbGVkIHRvIGRlbGV0ZSBmYW1pbHkuJyxcbiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6bLuGemlwiLFxuICAgICAga2V5OiBcIm5vXCIsXG4gICAgICB3aWR0aDogNjAsXG4gICAgICByZW5kZXI6IChfOiBhbnksIF9fOiBhbnksIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgIChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemUgKyBpbmRleCArIDEsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnojhn5Lhnpjhn4Thn4fhnoLhn5Lhnprhnr3hnp/hnrbhnppcIixcbiAgICAgIGRhdGFJbmRleDogXCJuYW1lXCIsXG4gICAgICBrZXk6IFwibmFtZVwiLFxuICAgICAgd2lkdGg6IDEyMCxcbiAgICAgIGVsbGlwc2lzOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RXCIsXG4gICAgICBkYXRhSW5kZXg6IFwicGhvbmVcIixcbiAgICAgIGtleTogXCJwaG9uZVwiLFxuICAgICAgd2lkdGg6IDEyMCxcbiAgICAgIGVsbGlwc2lzOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6i4Z624Z6f4Z6Z4Z6K4Z+S4Z6L4Z624Z6TXCIsXG4gICAgICBrZXk6IFwiYWRkcmVzc1wiLFxuICAgICAgd2lkdGg6IDIwMCxcbiAgICAgIHJlbmRlcjogKHJlY29yZDogYW55KSA9PlxuICAgICAgICBgJHtyZWNvcmQuY29tbXVuZSB8fCAnJ30sICR7cmVjb3JkLmRpc3RyaWN0IHx8ICcnfSwgJHtyZWNvcmQucHJvdmluY2UgfHwgJyd9YCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGeouGetuGemeGeu1wiLFxuICAgICAgZGF0YUluZGV4OiBcImFnZVwiLFxuICAgICAga2V5OiBcImFnZVwiLFxuICAgICAgd2lkdGg6IDYwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z6a4Z674Z6UXCIsXG4gICAgICBkYXRhSW5kZXg6IFwidG90YWxfbWVtYmVyXCIsXG4gICAgICBrZXk6IFwidG90YWxfbWVtYmVyXCIsXG4gICAgICB3aWR0aDogMTA1LFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6U4Z+S4Z6a4Z674Z6fXCIsXG4gICAgICBkYXRhSW5kZXg6IFwibWVtYmVyX21hbGVcIixcbiAgICAgIGtleTogXCJtZW1iZXJfbWFsZVwiLFxuICAgICAgd2lkdGg6IDEwNSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGen+GemOGetuGeh+Get+GegOGen+GfkuGemuGeuFwiLFxuICAgICAgZGF0YUluZGV4OiBcIm1lbWJlcl9mZW1hbGVcIixcbiAgICAgIGtleTogXCJtZW1iZXJfZmVtYWxlXCIsXG4gICAgICB3aWR0aDogMTAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z+S4Z6P4Z+S4Z6a4Z644Z6Y4Z624Z6T4Z6V4Z+S4Z6R4Z+D4Z6W4Z+E4Z+HXCIsXG4gICAgICBkYXRhSW5kZXg6IFwidG90YWxfcHJlZ25hbnRcIixcbiAgICAgIGtleTogXCJ0b3RhbF9wcmVnbmFudFwiLFxuICAgICAgd2lkdGg6IDExNSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGemOGetuGek+GeluGet+GegOGetuGemuGel+GetuGellwiLFxuICAgICAgZGF0YUluZGV4OiBcImlzX2Rpc2FibGVkXCIsXG4gICAgICBrZXk6IFwiaXNfZGlzYWJsZWRcIixcbiAgICAgIHdpZHRoOiAxMDUsXG4gICAgICByZW5kZXI6ICh2YWx1ZTogYm9vbGVhbikgPT4gKHZhbHVlID8gXCLinJNcIiA6IFwi4pyXXCIpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6Y4Z624Z6T4Z6Y4Z6T4Z674Z6f4Z+S4Z6f4Z6F4Z624Z6f4Z+LXCIsXG4gICAgICBkYXRhSW5kZXg6IFwiaXNfb2xkX2FnZVwiLFxuICAgICAga2V5OiBcImlzX29sZF9hZ2VcIixcbiAgICAgIHdpZHRoOiAxMTgsXG4gICAgICByZW5kZXI6ICh2YWx1ZTogYm9vbGVhbikgPT4gKHZhbHVlID8gXCLinJNcIiA6IFwi4pyXXCIpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6A4Z6Y4Z+S4Z6Y4Z6X4Z624Z6WXCIsXG4gICAgICBrZXk6IFwiYWN0aW9uXCIsXG4gICAgICBmaXhlZDogXCJyaWdodFwiLFxuICAgICAgd2lkdGg6IDE1MCxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpY29uPXs8RXllT3V0bGluZWQgLz59XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVWaWV3KHJlY29yZCl9XG4gICAgICAgICAgICB0aXRsZT1cIuGemOGevuGemyAvIFZpZXdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgaWNvbj17PEVkaXRPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX1cbiAgICAgICAgICAgIHRpdGxlPVwi4Z6A4Z+C4Z6U4Z+S4Z6a4Z+CIC8gRWRpdFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfVxuICAgICAgICAgICAgdGl0bGU9XCLhnpvhnrvhnpQgLyBEZWxldGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgey8qIEhlYWRlciB3aXRoIENyZWF0ZSAmIFNlYXJjaCAqL31cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogSGVhZGVyIENvbnRyb2xzICovfVxuICAgICAgICA8Um93IGd1dHRlcj17WzE2LCAxNl19IGp1c3RpZnk9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ249XCJtaWRkbGVcIiBzdHlsZT17eyBtYXJnaW46ICcxMHB4JyB9fT5cbiAgICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelCAvIFRvdGFsOiB7ZGF0YVNvdXJjZT8ubGVuZ3RoIHx8IDB9PC9zcGFuPlxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6AIC8gU2VhcmNoLi4uXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVNlYXJjaH0gdHlwZT1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAg4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HIC8gRmlsdGVyXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PlxuICAgICAgICAgICAgICDhnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnokgLyBSZXNldFxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFBsdXNPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL2ZhbWlseS1zdXJ2ZXkvZm9ybWApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrggLyBBZGQgTmV3XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogRmlsdGVycyAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfSBzdHlsZT17eyBtYXJnaW46ICc1cHgnIH19PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICA8c3Bhbj7hnoHhn4Hhno/hn5Lhno/igIsg4Z6sIOGegOGfkuGemuGeu+GehDwvc3Bhbj5cbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgUHJvdmluY2Ugb3IgQ2l0eVwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVQcm92aW5jZUNoYW5nZX1cbiAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShwcm92aW5jZXMpICYmIHByb3ZpbmNlcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIHByb3ZpbmNlcy5maWx0ZXIocCA9PiBBTExPV0VEX1BST1ZJTkNFX0lEUy5pbmNsdWRlcyhwLmlkLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSkpLm1hcCgocHJvdmluY2UpID0+IChcbiAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIGtleT17cHJvdmluY2UuaWR9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtgJHtwcm92aW5jZS5pZH0sICR7cHJvdmluY2UubmFtZS5rbX0gLyAke3Byb3ZpbmNlLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2Ake3Byb3ZpbmNlLm5hbWUua219IC8gJHtwcm92aW5jZS5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICA8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBkaXNhYmxlZD5ObyBwcm92aW5jZXMgYXZhaWxhYmxlPC9TZWxlY3QuT3B0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgIDxzcGFuPuGen+GfkuGemuGeu+GegCDhnqzigIsg4Z6B4Z6O4Z+S4Z6MPC9zcGFuPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBEaXN0cmljdCBvciBLaGFuXCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXREaXN0cmljdCh2YWx1ZSl9XG4gICAgICAgICAgICAgIHNob3dTZWFyY2hcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Rpc3RyaWN0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgZGlzdHJpY3RzLm1hcCgoZCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2QuaWR9IHZhbHVlPXtgJHtkLmlkfSwgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgIHtgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBkaXN0cmljdHMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgPHNwYW4+4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z6a4Z674Z6UPC9zcGFuPlxuICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUb3RhbCBtZW1iZXJcIlxuICAgICAgICAgICAgICBtaW49ezB9XG4gICAgICAgICAgICAgIHZhbHVlPXt0b3RhbE1lbWJlcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFRvdGFsTWVtYmVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgPHNwYW4+4Z6i4Z624Z6Z4Z67PC9zcGFuPlxuICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZ2VcIlxuICAgICAgICAgICAgICBtaW49ezB9XG4gICAgICAgICAgICAgIHZhbHVlPXthZ2V9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtzZXRBZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRmFtaWx5IFRhYmxlICovfVxuICAgICAgPFRhYmxlXG4gICAgICAgIGRhdGFTb3VyY2U9e2RhdGFTb3VyY2V9XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGxvYWRpbmc9e3JlZ2lzdGVyUGVuZGluZ31cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogMTIwMCB9fVxuICAgICAgICBwYWdpbmF0aW9uPXt7XG4gICAgICAgICAgY3VycmVudDogY3VycmVudFBhZ2UsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICAgIHRvdGFsOiBtZXRhLnRvdGFsLFxuICAgICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcbiAgICAgICAgICBzaG93VG90YWw6ICh0b3RhbCwgcmFuZ2UpID0+IGAke3JhbmdlWzBdfS0ke3JhbmdlWzFdfSBvZiAke3RvdGFsfSBpdGVtc2BcbiAgICAgICAgfX1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhYmxlQ2hhbmdlfVxuICAgICAgLz5cblxuICAgICAgey8qIENyZWF0ZSBGb3JtIE1vZGFsICovfVxuICAgICAgPE1vZGFsXG4gICAgICAgIHRpdGxlPXtcIuGemOGevuGem+GeluGfkOGej+GfjOGemOGetuGek+GeguGfkuGemuGeveGen+GetuGemiAvIFZpZXcgRmFtaWx5IERldGFpbHNcIn1cbiAgICAgICAgb3Blbj17aXNNb2RhbFZpc2libGV9XG4gICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XG4gICAgICAgICAgc2V0SXNNb2RhbFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgIHNldElzVmlld01vZGUoZmFsc2UpO1xuICAgICAgICAgIHNldFNlbGVjdGVkUmVjb3JkKG51bGwpO1xuICAgICAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICAgICAgfX1cbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICB3aWR0aD17OTAwfVxuICAgICAgPlxuICAgICAgICA8RmFtaWx5U3VydmV5Rm9ybVxuICAgICAgICAgIGlzVmlld01vZGU9e2lzVmlld01vZGV9XG4gICAgICAgICAgaW5pdGlhbFZhbHVlcz17c2VsZWN0ZWRSZWNvcmR9XG4gICAgICAgIC8+XG4gICAgICA8L01vZGFsPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQUxMT1dFRF9QUk9WSU5DRV9JRFMgPSBbJzIyJywgJzAxJywgJzE1JywgJzEzJ107ICAvLyBLb21wb25nIFNwZXUsIEJhbnRlYXkgTWVhbiBDaGV5LCBQdXJzYXQsIFByZWFoIFZpaGVhclxuXG5leHBvcnQgZGVmYXVsdCBGYW1pbHlBcHByb3ZlZExpc3Q7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgVm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2UgZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvcXJjb2RlJztcblxuY29uc3QgQXR0ZW5kYW5jZVFSOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Vm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2UgLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXR0ZW5kYW5jZVFSO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IExvZ2luRm9ybSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbic7XG5cbmNvbnN0IEF1dGg6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxMb2dpbkZvcm0gLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXV0aDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBUZWxlZ3JhbUxvZ2luRm9ybSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbl90ZWxlZ3JhbSc7XG5pbXBvcnQgTG9naW5Gb3JtIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2xvZ2luJztcblxuY29uc3QgTG9naW46IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIC8vIDxUZWxlZ3JhbUxvZ2luRm9ybS8+XG4gICAgPExvZ2luRm9ybSAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9naW47XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJGb290ZXIiLCJfTGF5b3V0IiwiRm9vdGVyQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInhzIiwic20iLCJtZCIsImhyZWYiLCJ0YXJnZXQiLCJyZWwiLCJtYXJnaW5Ub3AiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJlbnYiLCJhc3NldF91cmwiLCJhcGlfdXJsIiwicHJvY2VzcyIsIkJBU0VfVVJMIiwidXBsb2FkX3VybCIsIk1FRElBX0FQSSIsInNvY2tldF91cmwiLCJTT0NLRVJfU0VSVkVSIiwibm90aWZpY2F0aW9uX3VybCIsIk5PVElGSUNBVElPTiIsIkFXU19BQ0NFU1NfS0VZX0lEIiwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIiwiUkVBQ1RfQVBQX0FQSV9UT0tFTiIsIlMzX0JVQ0tFVCIsImZpcmViYXNlX2NvbmZpZ19oZWFkZXJzIiwibGltaXQiLCJ3YWxsZXRfbGltaXQiLCJ3ZWJzb2NrZXRFdmVudCIsIkRSSVZFUl9MSVZFX0xPQ0FUSU9OIiwiVVBEQVRFX0pOX1dBTExFVCIsIkNBU0hfSU5fU1VDQ0VTUyIsIkNBU0hfT1VUX1NVQ0NFU1MiLCJOT19EUklWRVJfQVZBSUxBQkxFIiwiUEFDS0FHRV9UUkFDS0lORyIsImRlZmF1bHRBZG1pbkFjY291bnQiLCJ0ZWxlZ3JhbUlkIiwiZGV2IiwiZGV2TG9nZ2VyIiwiZXhwcmVzc0h1YiIsImV4cHJlc3NNZXJjaGFudCIsImV4cHJlc3NGaW5hbmNlIiwiZXhwcmVzc0RyaXZlciIsIlNUQVJUX0xPR0lOIiwiQVVUSF9MT0dJTiIsIkxPR0lOX0ZBSUxFRCIsIlVSTCIsIkxPR0lOIiwiTE9HSU5fVEVMRUdSQU0iLCJWRVJJRllfVE9QIiwiU0lHTlVQIiwiRElTQUJJTElUWV9UWVBFIiwiUFJPVklOQ0UiLCJPQ0NVUEFUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRk9PRFMiLCJGT09EIiwiRkFNSUxJRVMiLCJUUkFOU1BPUlRBVElPTlMiLCJURUFNIiwiRVZFTlQiLCJTT1VSQ0UiLCJUUkFJTklOR19TRVNTSU9OIiwiTEFOR1VBR0UiLCJTS0lMTCIsIlRFUk1TX0NPTkRJVElPTiIsIlZPTFVOVEVFUl9FVkVOVCIsIlZPTFVOVEVFUlMiLCJEQVNIQk9BUkQiLCJPRkZFUl9QUk9HUkFNIiwiVFJBVkVMX0RBWSIsIlVTRVIiLCJQVUJMSUMiLCJOT1RJRlkiLCJOT1RJRllfU1RBVFVTIiwiVVNFUl9BVFRFTkRBTkNFIiwiQ1VSUkVOQ1lfVFlQRSIsIlVTRCIsIktIUiIsIkxvYWRpbmdEaWFsb2ciLCJfUmVhY3QkQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsImFyZ3VtZW50cyIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwicmVuZGVyIiwidmlzaWJsZSIsInByb3BzIiwiX01vZGFsIiwid2lkdGgiLCJjZW50ZXJlZCIsImZvb3RlciIsImNsb3NhYmxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJfU3BpbiIsInNpemUiLCJDb21wb25lbnQiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwiX3JlZ2VuZXJhdG9yIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibmV4dCIsInB1c2giLCJpc0FycmF5IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiYXhpb3MiLCJjb25maWciLCJxcyIsImF4aW9zSW5zdGFuY2UiLCJiYXNlVVJMIiwidGltZW91dCIsImdldFdpdGhDb25maWciLCJfcmVmIiwiX2NhbGxlZSIsInVybCIsInBhcmFtcyIsInN1Y2Nlc3MiLCJmYWlsZWQiLCJ0b2tlbiIsImNsZWFuZWRQYXJhbXMiLCJjb25maWdzIiwicmVzcG9uc2UiLCJfZXJyJHJlc3BvbnNlJGRhdGEkbWUiLCJfZXJyJHJlc3BvbnNlIiwiX2VyciRyZXNwb25zZSRkYXRhJGVyIiwiX2VyciRyZXNwb25zZTIiLCJtZXNzYWdlIiwiZXJyb3IiLCJfdCIsIl9jb250ZXh0Iiwic2Vzc2lvblN0b3JhZ2UiLCJnZXRJdGVtIiwiZW50cmllcyIsImZvckVhY2giLCJfcmVmMiIsIl9yZWYzIiwidW5kZWZpbmVkIiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJjb25jYXQiLCJBY2NlcHQiLCJwYXJhbXNTZXJpYWxpemVyIiwic3RyaW5naWZ5IiwiYXJyYXlGb3JtYXQiLCJnZXQiLCJkYXRhIiwiY29uc29sZSIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwicG9zdFdpdGhDb25maWciLCJfcmVmNCIsIl9jYWxsZWUyIiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0IiwiX3QyIiwiX2NvbnRleHQyIiwibG9nIiwicG9zdCIsIl94NSIsIl94NiIsInBvc3RXaXRoQ29uZmlnRm9ybURhdGEiLCJfcmVmNSIsIl9jYWxsZWUzIiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0MiIsIl90MyIsIl9jb250ZXh0MyIsIl94NyIsIl94OCIsInBvc3RXaXRoQ29uZmlnV2hpdGVsaXN0IiwiX3JlZjYiLCJfY2FsbGVlNCIsInN0b3JlZFVzZXIiLCJ1c2VyIiwiZXhwZXJ0aXNlU3RyIiwiX3Q0IiwiX2NvbnRleHQ0IiwiSlNPTiIsInBhcnNlIiwicGhvbmVfbnVtYmVyIiwiY291bnRyeUNvZGUiLCJhcmVhQ29kZSIsInBob25lTnVtYmVyIiwidGVybXNfY29uZGl0aW9uc19pZCIsInZvbHVudGVlcl9zdGF0dXMiLCJ1c2VyX2lkIiwiaWQiLCJleHBlcnRpc2UiLCJfeDkiLCJfeDAiLCJyZW1vdmVXaXRoQ29uZmlnIiwiX3JlZjciLCJfY2FsbGVlNSIsIl9zZXNzaW9uU3RvcmFnZSRnZXRJdDMiLCJfZXJyJHJlc3BvbnNlJGRhdGEkbWUyIiwiX2VyciRyZXNwb25zZTMiLCJfdDUiLCJfY29udGV4dDUiLCJfeDEiLCJfeDEwIiwiX3gxMSIsIl94MTIiLCJwdXRXaXRoQ29uZmlnIiwiX3JlZjgiLCJfY2FsbGVlNiIsIl90NiIsIl9jb250ZXh0NiIsIkVycm9yIiwicHV0IiwiX3gxMyIsIl94MTQiLCJwb3N0VXBsb2FkIiwiX3JlZjkiLCJfY2FsbGVlNyIsImNvbmZpZ3VyZSIsIl90NyIsIl9jb250ZXh0NyIsIl94MTUiLCJwdXNoTm90aWZpY2F0aW9uIiwiX3JlZjAiLCJfY2FsbGVlOCIsInJlY2lwaWVudCIsInRpdGxlIiwibWVzc2FnZUJvZHkiLCJpc0RyaXZlciIsInBob3RvIiwiX2VyciRyZXNwb25zZSRkYXRhJG1lMyIsIl9lcnIkcmVzcG9uc2U0IiwiX3Q4IiwiX2NvbnRleHQ4IiwidG9waWNfbmFtZSIsIm1lc3NhZ2VfdGl0bGUiLCJtZXNzYWdlX2JvZHkiLCJfeDE2IiwiX3gxNyIsIl94MTgiLCJfeDE5IiwiX3gyMCIsIl94MjEiLCJwdXNoTm90aWZpY2F0aW9uQWxsQXBwIiwiX3JlZjEiLCJfY2FsbGVlOSIsIl90OSIsIl9jb250ZXh0OSIsIl94MjIiLCJjb25maWd1cmVTdG9yZSIsImF1dGhTbGljZSIsInZvbHVudGVlclNsaWNlIiwiZGlzYWJpbGl0eVR5cGVTbGljZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UiLCJmb29kU2xpY2UiLCJpbnRlcmVzdGVkVGVhbVNsaWNlIiwib2NjdXBhdGlvblNsaWNlIiwib3Bwb3J0dW5pdHlTb3VyY2VTbGljZSIsInByb3ZpbmNlU2xpY2UiLCJza2lsbFNsaWNlIiwidGVybXNDb25kaXRpb25TbGljZSIsInRyYWluaW5nU2Vzc2lvblNsaWNlIiwidm9sdW50ZWVyRXZlbnRTbGljZSIsImxhbmd1YWdlU2xpY2UiLCJ1c2VyU2xpY2UiLCJvZmZlclByb2dyYW1TbGljZSIsInRyYXZlbERheVNsaWNlIiwidXNlckF0dGVuZGFuY2VTbGljZSIsImZhbWlsaVN1cnZleVNsaWNlIiwic3RvcmUiLCJyZWR1Y2VyIiwiYXV0aCIsInZvbHVudGVlciIsImRpc2FiaWxpdHlUeXBlIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJmb29kIiwiaW50ZXJlc3RlZFRlYW0iLCJvY2N1cGF0aW9uIiwib3Bwb3J0dW5pdHlTb3VyY2UiLCJwcm92aW5jZSIsImxhbmd1YWdlIiwic2tpbGwiLCJ0ZXJtc0NvbmRpdGlvbiIsInRyYWluaW5nU2Vzc2lvbiIsInZvbHVudGVlckV2ZW50Iiwib2ZmZXJQcm9ncmFtIiwidHJhdmVsRGF5IiwidXNlckF0dGVuZGFuY2UiLCJmYW1pbGlTdXJ2ZXkiLCJkZXZUb29scyIsIk5PREVfRU5WIiwiUm91dGVzIiwiUm91dGVyUm91dGVzIiwiUm91dGUiLCJNYWluIiwiTG9naW4iLCJOb3RGb3VuZCIsIlByb3RlY3RlZFJvdXRlIiwiVm9sdW50ZWVyUmVnaXN0ZXJGb3JtIiwiQXV0aCIsIkF0dGVuZGFuY2VRUiIsIlRlbGVncmFtTG9naW5BdHRlbmRhbmNlIiwiQXBwUm91dGVzIiwicGF0aCIsImVsZW1lbnQiLCJOYXZpZ2F0ZSIsImNoaWxkcmVuIiwiYWNjZXNzVG9rZW4iLCJpc0F1dGhlbnRpY2F0ZWQiLCJCb29sZWFuIiwiRnJhZ21lbnQiLCJ0byIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsInVzZU5hdmlnYXRlIiwiZmV0Y2hQcm92aW5jZSIsImZldGNoRGlzdHJpY3QiLCJmZXRjaENvbW11bmUiLCJmZXRjaFZpbGxhZ2VTZXJ2aWNlIiwiZmV0Y2hUcmFuc3BvcnRhdGlvbiIsImNyZWF0ZUZhbWlseUFjdGlvbiIsInVwZGF0ZUZhbWlseUFjdGlvbiIsImZhbWlseURldGFpbEFjdGlvbiIsIk9wdGlvbiIsIl9TZWxlY3QiLCJTVE9SQUdFX0tFWSIsIkxPQ0FUSU9OX0NIQUlOUyIsIkxBU1RfU0VMRUNUSU9OIiwiRmFtaWx5U3VydmV5Rm9ybSIsIl90cmFuc3BvcnRhdGlvbnMkZGF0YSIsImlzVmlld01vZGUiLCJpbml0aWFsVmFsdWVzIiwiX0Zvcm0kdXNlRm9ybSIsIl9Gb3JtIiwidXNlRm9ybSIsIl9Gb3JtJHVzZUZvcm0yIiwiZm9ybSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwic2F2ZWRMb2NhdGlvbkNoYWlucyIsInNldFNhdmVkTG9jYXRpb25DaGFpbnMiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTZWxlY3RvciRwcm92aW5jZSIsInByb3ZpbmNlcyIsIl91c2VTZWxlY3RvciRkaXN0cmljdCIsImRpc3RyaWN0cyIsIl91c2VTZWxlY3RvciRjb21tdW5lcyIsImNvbW11bmVzIiwiX3VzZVNlbGVjdG9yJHZpbGxhZ2VzIiwidmlsbGFnZXMiLCJfdXNlU2VsZWN0b3IkdHJhbnNwb3IiLCJ0cmFuc3BvcnRhdGlvbnMiLCJmYW1pbHlTdXJ2ZXkiLCJyZWdpc3RlclBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0NsaWNrIiwic2V0SXNDbGljayIsIk51bWJlciIsInJlc2V0RmllbGRzIiwic2V0RmllbGRzVmFsdWUiLCJwaG9uZSIsImdlbmRlciIsImFnZSIsImRpc3RyaWN0IiwiY29tbXVuZSIsInZpbGxhZ2UiLCJ0b3RhbF9tZW1iZXIiLCJtZW1iZXJfbWFsZSIsIm1lbWJlcl9mZW1hbGUiLCJ0b3RhbF9wcmVnbmFudCIsInRvdGFsX2JhYnkiLCJiYWJ5X21hbGUiLCJiYWJ5X2ZlbWFsZSIsInRvdGFsX2NoaWxkIiwiY2hpbGRfbWFsZSIsImNoaWxkX2ZlbWFsZSIsImlzX2Rpc2FibGVkIiwiaXNfb2xkX2FnZSIsInRyYW5zcG9ydGF0aW9uX2lkIiwibm90ZSIsIl9tZXNzYWdlIiwic2F2ZWRDaGFpbnMiLCJsb2NhbFN0b3JhZ2UiLCJjaGFpbnMiLCJtb3N0UmVjZW50IiwiYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4iLCJoYW5kbGVDb3VudFRvdGFsQ2hhbmdlIiwidHlwZSIsIm1hbGUiLCJnZXRGaWVsZFZhbHVlIiwiZmVtYWxlIiwiaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UiLCJ0b3RhbEZpZWxkIiwibWVtYmVyIiwiYmFieSIsImNoaWxkIiwidG90YWwiLCJfZGVmaW5lUHJvcGVydHkiLCJ3YXJuaW5nIiwiaGFuZGxlU3VibWl0IiwidmFsdWVzIiwibG9jYXRpb25DaGFpbiIsInByb3ZpbmNlVmFsdWUiLCJkaXN0cmljdFZhbHVlIiwiY29tbXVuZVZhbHVlIiwidmlsbGFnZVZhbHVlIiwic2F2ZUxvY2F0aW9uQ2hhaW4iLCJuZXdDaGFpbiIsInVwZGF0ZWRDaGFpbiIsIl9vYmplY3RTcHJlYWQiLCJ0aW1lc3RhbXAiLCJ0b0lTT1N0cmluZyIsImV4aXN0aW5nQ2hhaW5zIiwiZmlsdGVyIiwiY2hhaW4iLCJfdXBkYXRlZENoYWluJHByb3ZpbmMiLCJfY2hhaW4kZGlzdHJpY3QiLCJfdXBkYXRlZENoYWluJGRpc3RyaWMiLCJfY2hhaW4kY29tbXVuZSIsIl91cGRhdGVkQ2hhaW4kY29tbXVuZSIsIm5ld0NoYWlucyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNldEl0ZW0iLCJoYW5kbGVQcm92aW5jZUNoYW5nZSIsIl92YWx1ZSRzcGxpdCIsInNwbGl0IiwiX3ZhbHVlJHNwbGl0MiIsInByb3ZpbmNlSWQiLCJwcm92aW5jZU5hbWUiLCJ0cmltIiwiaGFuZGxlRGlzdHJpY3RDaGFuZ2UiLCJfZm9ybSRnZXRGaWVsZFZhbHVlIiwiX3ZhbHVlJHNwbGl0MyIsIl92YWx1ZSRzcGxpdDQiLCJkaXN0cmljdElkIiwiZGlzdHJpY3ROYW1lIiwiY3VycmVudFByb3ZpbmNlIiwiaGFuZGxlQ29tbXVuZUNoYW5nZSIsIl9mb3JtJGdldEZpZWxkVmFsdWUyIiwiX2Zvcm0kZ2V0RmllbGRWYWx1ZTMiLCJfdmFsdWUkc3BsaXQ1IiwiX3ZhbHVlJHNwbGl0NiIsImNvbW11bmVJZCIsImNvbW11bmVOYW1lIiwiY3VycmVudERpc3RyaWN0IiwiaGFuZGxlQ2FuY2VsIiwicmVtb3ZlSXRlbSIsIlF1aWNrRmlsbCIsIm1hcmdpbkJvdHRvbSIsIl9TcGFjZSIsImFsaWduIiwiX1RhZyIsImNvbG9yIiwiX0NhcmQiLCJsYXlvdXQiLCJvbkZpbmlzaCIsImRpc2FibGVkIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJfSW5wdXQiLCJwbGFjZWhvbGRlciIsInBhdHRlcm4iLCJfSW5wdXROdW1iZXIiLCJtaW4iLCJvbkNoYW5nZSIsIkFMTE9XRURfUFJPVklOQ0VfSURTIiwiaW5jbHVkZXMiLCJwYWRTdGFydCIsIm1hcCIsImttIiwibGF0aW4iLCJ2YWx1ZVByb3BOYW1lIiwiaW5pdGlhbFZhbHVlIiwiX0NoZWNrYm94IiwiYWxsb3dDbGVhciIsIm9wdGlvbiIsIlRleHRBcmVhIiwicm93cyIsIl9CdXR0b24iLCJodG1sVHlwZSIsImxvYWRpbmciLCJvbkNsaWNrIiwiUGx1c091dGxpbmVkIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsImZldGNoRmFtaWx5U3VydmV5IiwiZGVsZXRlRmFtaWx5QWN0aW9uIiwiU3dhbCIsIkZhbWlseUFwcHJvdmVkTGlzdCIsInN0YXR1cyIsImN1cnJlbnRQYWdlIiwic2V0Q3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsInNldFBhZ2VTaXplIiwiZmFtaWxpZXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTW9kYWxWaXNpYmxlIiwic2V0SXNNb2RhbFZpc2libGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZXRJc1ZpZXdNb2RlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2VsZWN0ZWRSZWNvcmQiLCJzZXRTZWxlY3RlZFJlY29yZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRQcm92aW5jZSIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXREaXN0cmljdCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJ0b3RhbE1lbWJlciIsInNldFRvdGFsTWVtYmVyIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsInNldEFnZSIsImRhdGFTb3VyY2UiLCJtZXRhIiwicGFnZSIsImhhbmRsZVRhYmxlQ2hhbmdlIiwicGFnaW5hdGlvbiIsImN1cnJlbnQiLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZXNldCIsImhhbmRsZVZpZXciLCJyZWNvcmQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwidW53cmFwIiwiY2xvc2UiLCJjb2x1bW5zIiwiXyIsIl9fIiwiaW5kZXgiLCJkYXRhSW5kZXgiLCJlbGxpcHNpcyIsImZpeGVkIiwiZGFuZ2VyIiwianVzdGlmeSIsIm1hcmdpbiIsIndyYXAiLCJsZyIsInNob3dTZWFyY2giLCJfVGFibGUiLCJyb3dLZXkiLCJzY3JvbGwiLCJ4Iiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1RvdGFsIiwicmFuZ2UiLCJvcGVuIiwib25DYW5jZWwiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIkxvZ2luRm9ybSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9