"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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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","TERM_PROGRAM_VERSION":"1.102.2","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.TcDXvxTXa2/Listeners","__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:/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/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__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":"en_US.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","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","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","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","SECURITYSESSIONID":"186a3","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"); 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 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, 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"; configs = { headers: { Authorization: token ? "Bearer ".concat(token) : "", // ✅ Fixed incorrect conditional Accept: "application/json" }, params: params }; _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 _ref2 = _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 _ref2.apply(this, arguments); }; }(); var postWithConfigFormData = /*#__PURE__*/function () { var _ref3 = _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 _ref3.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 _ref4 = _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 _ref4.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 _ref5 = _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 _ref5.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 _ref6 = _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 _ref6.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 _ref7 = _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 _ref7.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 _ref8 = _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 _ref8.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 _ref9 = _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 _ref9.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 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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX2Eudm9sdW50ZWVyYXBpLmMyNzRhNmNmZTE3NWNhNTJiNTUxLmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUcxQixJQUFRQyxNQUFNLEdBQUFDLHNEQUFBLENBQU5ELE1BQU07QUFFZCxJQUFNRSxlQUF5QixHQUFHLFNBQTVCQSxlQUF5QkEsQ0FBQTtFQUFBLG9CQUM3QkgsMERBQUEsQ0FBQ0MsTUFBTTtJQUNMSSxLQUFLLEVBQUU7TUFBRUMsVUFBVSxFQUFFLFNBQVM7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsU0FBUyxFQUFFO0lBQVM7RUFBRSxnQkFFdkVSLDBEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCViwwREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDBEQUFBLGFBQUksVUFBWSxDQUFDLGVBQ2pCQSwwREFBQSxZQUFHLDBDQUEyQyxDQUMzQyxDQUFDLGVBQ05BLDBEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMERBQUEsYUFBSSxTQUFXLENBQUMsZUFDaEJBLDBEQUFBLFlBQUcsMEJBQTJCLENBQUMsZUFDL0JBLDBEQUFBLFlBQUcsMEJBQTJCLENBQzNCLENBQUMsZUFDTkEsMERBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwwREFBQSxhQUFJLFdBQWEsQ0FBQyxlQUNsQkEsMERBQUEseUJBQ0VBLDBEQUFBO0lBQUdlLElBQUksRUFBQyxFQUFFO0lBQUNDLE1BQU0sRUFBQyxRQUFRO0lBQUNDLEdBQUcsRUFBQztFQUFHLEdBQUMsR0FFaEMsQ0FDRixDQUNBLENBQ0YsQ0FBQyxlQUNOakIsMERBQUE7SUFBS0ssS0FBSyxFQUFFO01BQUVhLFNBQVMsRUFBRTtJQUFPO0VBQUUsR0FBQyxPQUFFLEVBQUMsSUFBSUMsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUMsRUFBQyxJQUFPLENBQ2hFLENBQUM7QUFBQSxDQUNWO0FBRUQsaUVBQWVqQixlQUFlLEU7Ozs7Ozs7Ozs7Ozs7O0FDaEM5QixpRUFBZTtFQUNiO0VBQ0FrQixHQUFHLEVBQUUsYUFBYTtFQUNsQjtFQUNBQyxTQUFTLEVBQUUsRUFBRTtFQUNiQyxPQUFPLEVBQUVDLHFDQUFvQjtFQUM3QkUsVUFBVSxFQUFFRixvdktBQVcsQ0FBQ0csU0FBUztFQUNqQ0MsVUFBVSxFQUFFSixvdktBQVcsQ0FBQ0ssYUFBYTtFQUNyQ0MsZ0JBQWdCLEVBQUVOLG92S0FBVyxDQUFDTyxZQUFZO0VBQzFDQyxpQkFBaUIsRUFBRVIsb3ZLQUFXLENBQUNRLGlCQUFpQjtFQUNoREMscUJBQXFCLEVBQUVULG92S0FBVyxDQUFDUyxxQkFBcUI7RUFDeERDLG1CQUFtQixFQUFFVixvdktBQVcsQ0FBQ1UsbUJBQW1CO0VBQ3BEQyxTQUFTLEVBQUVYLG92S0FBVyxDQUFDVyxTQUFTO0VBQ2hDQyx1QkFBdUIsRUFBRSxDQUN6QixDQUFDO0VBQ0RDLEtBQUssRUFBRSxFQUFFO0VBQ1RDLFlBQVksRUFBRSxLQUFLO0VBQ25CQyxjQUFjLEVBQUU7SUFDZEMsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDQyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcENDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbENDLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQ0MsbUJBQW1CLEVBQUUscUJBQXFCO0lBQzFDQyxnQkFBZ0IsRUFBRTtFQUNwQixDQUFDO0VBQ0RDLG1CQUFtQixFQUFFLDBCQUEwQjtFQUMvQ0MsVUFBVSxFQUFFO0lBQ1ZDLEdBQUcsRUFBRSxnQkFBZ0I7SUFDckJDLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0JDLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUJDLGVBQWUsRUFBRSxnQkFBZ0I7SUFDakNDLGNBQWMsRUFDWixnQkFBZ0I7SUFDbEJDLGFBQWEsRUFDWDtFQUVKO0FBQ0YsQ0FBQyxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNuQ00sSUFBTUMsV0FBVyxHQUFHLGFBQWE7QUFDakMsSUFBTUMsVUFBVSxHQUFHLFlBQVk7QUFDL0IsSUFBTUMsWUFBWSxHQUFHLGNBQWM7QUFDbkMsSUFBTUMsR0FBRyxHQUFHO0VBQ2pCQyxLQUFLLEVBQUUsYUFBYTtFQUNwQkMsY0FBYyxFQUFFLGFBQWE7RUFDN0JDLFVBQVUsRUFBRSxlQUFlO0VBQzNCQyxNQUFNLEVBQUUsZUFBZTtFQUN2QkMsZUFBZSxFQUFFLG1CQUFtQjtFQUNwQ0MsUUFBUSxFQUFFLFlBQVk7RUFDdEJDLFVBQVUsRUFBRSxjQUFjO0VBQzFCQyxxQkFBcUIsRUFBRSx5QkFBeUI7RUFDaERDLEtBQUssRUFBRSxRQUFRO0VBQ2ZDLElBQUksRUFBRSxRQUFRO0VBQ2RDLFFBQVEsRUFBRSxXQUFXO0VBQ3JCQyxlQUFlLEVBQUUsa0JBQWtCO0VBQ25DQyxJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCQyxLQUFLLEVBQUUsbUJBQW1CO0VBQzFCQyxNQUFNLEVBQUUsc0JBQXNCO0VBQzlCQyxnQkFBZ0IsRUFBRSxvQkFBb0I7RUFDdENDLFFBQVEsRUFBRSxZQUFZO0VBQ3RCQyxLQUFLLEVBQUUsU0FBUztFQUNoQkMsZUFBZSxFQUFFLG1CQUFtQjtFQUNwQ0MsZUFBZSxFQUFFLG1CQUFtQjtFQUNwQ0MsVUFBVSxFQUFFLGFBQWE7RUFDekJDLFNBQVMsRUFBRSxZQUFZO0VBQ3ZCQyxhQUFhLEVBQUUsaUJBQWlCO0VBQ2hDQyxVQUFVLEVBQUUsY0FBYztFQUMxQkMsSUFBSSxFQUFFLFFBQVE7RUFDZEMsTUFBTSxFQUFFLFNBQVM7RUFDakJDLE1BQU0sRUFBRSxzQkFBc0I7RUFDOUJDLGFBQWEsRUFBRSxvQkFBb0I7RUFDbkNDLGVBQWUsRUFBRTtBQUNuQixDQUFDO0FBRU0sSUFBTUMsYUFBYSxHQUFHO0VBQzNCQyxHQUFHLEVBQUUsS0FBSztFQUNWQyxHQUFHLEVBQUU7QUFDUCxDQUFDLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDeEN5QjtBQUFBLElBT3BCQyxhQUFhLDBCQUFBQyxnQkFBQTtFQUFBLFNBQUFELGNBQUE7SUFBQUUsZUFBQSxPQUFBRixhQUFBO0lBQUEsT0FBQUcsVUFBQSxPQUFBSCxhQUFBLEVBQUFJLFNBQUE7RUFBQTtFQUFBQyxTQUFBLENBQUFMLGFBQUEsRUFBQUMsZ0JBQUE7RUFBQSxPQUFBSyxZQUFBLENBQUFOLGFBQUE7SUFBQU8sR0FBQTtJQUFBQyxLQUFBLEVBQ2pCLFNBQUFDLE1BQU1BLENBQUEsRUFBb0I7TUFDeEIsSUFBUUMsT0FBTyxHQUFLLElBQUksQ0FBQ0MsS0FBSyxDQUF0QkQsT0FBTztNQUVmLG9CQUNFcEcsMERBQUEsQ0FBQXNHLHFEQUFBO1FBQ0VDLEtBQUssRUFBRSxHQUFJO1FBQ1hILE9BQU8sRUFBRUEsT0FBUTtRQUNqQkksUUFBUTtRQUNSQyxNQUFNLEVBQUUsSUFBSztRQUNiQyxRQUFRLEVBQUU7TUFBTSxnQkFFaEIxRywwREFBQTtRQUNFSyxLQUFLLEVBQUU7VUFDTHNHLE9BQU8sRUFBRSxNQUFNO1VBQ2ZDLGFBQWEsRUFBRSxRQUFRO1VBQ3ZCQyxjQUFjLEVBQUUsUUFBUTtVQUN4QkMsVUFBVSxFQUFFLFFBQVE7VUFDcEI1RixTQUFTLEVBQUU7UUFDYjtNQUFFLGdCQUVGbEIsMERBQUEsQ0FBQStHLG9EQUFBO1FBQU1DLElBQUksRUFBQztNQUFPLENBQUUsQ0FBQyxlQUNyQmhILDBEQUFBO1FBQUdLLEtBQUssRUFBRTtVQUFFRyxTQUFTLEVBQUUsUUFBUTtVQUFFVSxTQUFTLEVBQUU7UUFBTztNQUFFLEdBQUMsWUFBYSxDQUNoRSxDQUNBLENBQUM7SUFFWjtFQUFDO0FBQUEsRUExQnlCbEIsd0RBQWU7QUE2QjNDLGlFQUFlMEYsYUFBYSxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJDbkM1Qix1S0FBQXdCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFBckIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFNLENBQUEsR0FBQVAsQ0FBQSxFQUFBUSxDQUFBLE1BQUFHLENBQUEsR0FBQVosQ0FBQSxFQUFBbUIsQ0FBQSxDQUFBZixDQUFBLEdBQUFGLENBQUEsRUFBQW1CLENBQUEsZ0JBQUFDLEVBQUFwQixDQUFBLEVBQUFFLENBQUEsU0FBQUssQ0FBQSxHQUFBUCxDQUFBLEVBQUFVLENBQUEsR0FBQVIsQ0FBQSxFQUFBSCxDQUFBLE9BQUFpQixDQUFBLElBQUFGLENBQUEsS0FBQVYsQ0FBQSxJQUFBTCxDQUFBLEdBQUFnQixDQUFBLENBQUFPLE1BQUEsRUFBQXZCLENBQUEsVUFBQUssQ0FBQSxFQUFBRSxDQUFBLEdBQUFTLENBQUEsQ0FBQWhCLENBQUEsR0FBQXFCLENBQUEsR0FBQUgsQ0FBQSxDQUFBRixDQUFBLEVBQUFRLENBQUEsR0FBQWpCLENBQUEsS0FBQU4sQ0FBQSxRQUFBSSxDQUFBLEdBQUFtQixDQUFBLEtBQUFyQixDQUFBLE1BQUFRLENBQUEsR0FBQUosQ0FBQSxFQUFBQyxDQUFBLEdBQUFELENBQUEsWUFBQUMsQ0FBQSxXQUFBRCxDQUFBLE1BQUFBLENBQUEsTUFBQVIsQ0FBQSxJQUFBUSxDQUFBLE9BQUFjLENBQUEsTUFBQWhCLENBQUEsR0FBQUosQ0FBQSxRQUFBb0IsQ0FBQSxHQUFBZCxDQUFBLFFBQUFDLENBQUEsTUFBQVUsQ0FBQSxDQUFBQyxDQUFBLEdBQUFoQixDQUFBLEVBQUFlLENBQUEsQ0FBQWYsQ0FBQSxHQUFBSSxDQUFBLE9BQUFjLENBQUEsR0FBQUcsQ0FBQSxLQUFBbkIsQ0FBQSxHQUFBSixDQUFBLFFBQUFNLENBQUEsTUFBQUosQ0FBQSxJQUFBQSxDQUFBLEdBQUFxQixDQUFBLE1BQUFqQixDQUFBLE1BQUFOLENBQUEsRUFBQU0sQ0FBQSxNQUFBSixDQUFBLEVBQUFlLENBQUEsQ0FBQWYsQ0FBQSxHQUFBcUIsQ0FBQSxFQUFBaEIsQ0FBQSxjQUFBSCxDQUFBLElBQUFKLENBQUEsYUFBQW1CLENBQUEsUUFBQUgsQ0FBQSxPQUFBZCxDQUFBLHFCQUFBRSxDQUFBLEVBQUFXLENBQUEsRUFBQVEsQ0FBQSxRQUFBVCxDQUFBLFlBQUFVLFNBQUEsdUNBQUFSLENBQUEsVUFBQUQsQ0FBQSxJQUFBSyxDQUFBLENBQUFMLENBQUEsRUFBQVEsQ0FBQSxHQUFBaEIsQ0FBQSxHQUFBUSxDQUFBLEVBQUFMLENBQUEsR0FBQWEsQ0FBQSxHQUFBeEIsQ0FBQSxHQUFBUSxDQUFBLE9BQUFULENBQUEsR0FBQVksQ0FBQSxNQUFBTSxDQUFBLEtBQUFWLENBQUEsS0FBQUMsQ0FBQSxHQUFBQSxDQUFBLFFBQUFBLENBQUEsU0FBQVUsQ0FBQSxDQUFBZixDQUFBLFFBQUFrQixDQUFBLENBQUFiLENBQUEsRUFBQUcsQ0FBQSxLQUFBTyxDQUFBLENBQUFmLENBQUEsR0FBQVEsQ0FBQSxHQUFBTyxDQUFBLENBQUFDLENBQUEsR0FBQVIsQ0FBQSxhQUFBSSxDQUFBLE1BQUFSLENBQUEsUUFBQUMsQ0FBQSxLQUFBSCxDQUFBLFlBQUFMLENBQUEsR0FBQU8sQ0FBQSxDQUFBRixDQUFBLFdBQUFMLENBQUEsR0FBQUEsQ0FBQSxDQUFBMEIsSUFBQSxDQUFBbkIsQ0FBQSxFQUFBSSxDQUFBLFVBQUFjLFNBQUEsMkNBQUF6QixDQUFBLENBQUEyQixJQUFBLFNBQUEzQixDQUFBLEVBQUFXLENBQUEsR0FBQVgsQ0FBQSxDQUFBakIsS0FBQSxFQUFBeUIsQ0FBQSxTQUFBQSxDQUFBLG9CQUFBQSxDQUFBLEtBQUFSLENBQUEsR0FBQU8sQ0FBQSxlQUFBUCxDQUFBLENBQUEwQixJQUFBLENBQUFuQixDQUFBLEdBQUFDLENBQUEsU0FBQUcsQ0FBQSxHQUFBYyxTQUFBLHVDQUFBcEIsQ0FBQSxnQkFBQUcsQ0FBQSxPQUFBRCxDQUFBLEdBQUFSLENBQUEsY0FBQUMsQ0FBQSxJQUFBaUIsQ0FBQSxHQUFBQyxDQUFBLENBQUFmLENBQUEsUUFBQVEsQ0FBQSxHQUFBVixDQUFBLENBQUF5QixJQUFBLENBQUF2QixDQUFBLEVBQUFlLENBQUEsT0FBQUUsQ0FBQSxrQkFBQXBCLENBQUEsSUFBQU8sQ0FBQSxHQUFBUixDQUFBLEVBQUFTLENBQUEsTUFBQUcsQ0FBQSxHQUFBWCxDQUFBLGNBQUFlLENBQUEsbUJBQUFoQyxLQUFBLEVBQUFpQixDQUFBLEVBQUEyQixJQUFBLEVBQUFWLENBQUEsU0FBQWhCLENBQUEsRUFBQUksQ0FBQSxFQUFBRSxDQUFBLFFBQUFJLENBQUEsUUFBQVMsQ0FBQSxnQkFBQVYsVUFBQSxjQUFBa0Isa0JBQUEsY0FBQUMsMkJBQUEsS0FBQTdCLENBQUEsR0FBQVksTUFBQSxDQUFBa0IsY0FBQSxNQUFBdEIsQ0FBQSxNQUFBTCxDQUFBLElBQUFILENBQUEsQ0FBQUEsQ0FBQSxJQUFBRyxDQUFBLFNBQUFXLG1CQUFBLENBQUFkLENBQUEsT0FBQUcsQ0FBQSxpQ0FBQUgsQ0FBQSxHQUFBVyxDQUFBLEdBQUFrQiwwQkFBQSxDQUFBcEIsU0FBQSxHQUFBQyxTQUFBLENBQUFELFNBQUEsR0FBQUcsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsWUFBQU8sRUFBQWhCLENBQUEsV0FBQWEsTUFBQSxDQUFBbUIsY0FBQSxHQUFBbkIsTUFBQSxDQUFBbUIsY0FBQSxDQUFBaEMsQ0FBQSxFQUFBOEIsMEJBQUEsS0FBQTlCLENBQUEsQ0FBQWlDLFNBQUEsR0FBQUgsMEJBQUEsRUFBQWYsbUJBQUEsQ0FBQWYsQ0FBQSxFQUFBTSxDQUFBLHlCQUFBTixDQUFBLENBQUFVLFNBQUEsR0FBQUcsTUFBQSxDQUFBQyxNQUFBLENBQUFGLENBQUEsR0FBQVosQ0FBQSxXQUFBNkIsaUJBQUEsQ0FBQW5CLFNBQUEsR0FBQW9CLDBCQUFBLEVBQUFmLG1CQUFBLENBQUFILENBQUEsaUJBQUFrQiwwQkFBQSxHQUFBZixtQkFBQSxDQUFBZSwwQkFBQSxpQkFBQUQsaUJBQUEsR0FBQUEsaUJBQUEsQ0FBQUssV0FBQSx3QkFBQW5CLG1CQUFBLENBQUFlLDBCQUFBLEVBQUF4QixDQUFBLHdCQUFBUyxtQkFBQSxDQUFBSCxDQUFBLEdBQUFHLG1CQUFBLENBQUFILENBQUEsRUFBQU4sQ0FBQSxnQkFBQVMsbUJBQUEsQ0FBQUgsQ0FBQSxFQUFBUixDQUFBLGlDQUFBVyxtQkFBQSxDQUFBSCxDQUFBLDhEQUFBdUIsWUFBQSxZQUFBQSxhQUFBLGFBQUFDLENBQUEsRUFBQTVCLENBQUEsRUFBQTZCLENBQUEsRUFBQXJCLENBQUE7QUFBQSxTQUFBRCxvQkFBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQSxRQUFBTyxDQUFBLEdBQUFLLE1BQUEsQ0FBQXlCLGNBQUEsUUFBQTlCLENBQUEsdUJBQUFSLENBQUEsSUFBQVEsQ0FBQSxRQUFBTyxtQkFBQSxZQUFBd0IsbUJBQUF2QyxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBLGFBQUFLLEVBQUFKLENBQUEsRUFBQUUsQ0FBQSxJQUFBVyxtQkFBQSxDQUFBZixDQUFBLEVBQUFFLENBQUEsWUFBQUYsQ0FBQSxnQkFBQXdDLE9BQUEsQ0FBQXRDLENBQUEsRUFBQUUsQ0FBQSxFQUFBSixDQUFBLFNBQUFFLENBQUEsR0FBQU0sQ0FBQSxHQUFBQSxDQUFBLENBQUFSLENBQUEsRUFBQUUsQ0FBQSxJQUFBbEIsS0FBQSxFQUFBb0IsQ0FBQSxFQUFBcUMsVUFBQSxHQUFBeEMsQ0FBQSxFQUFBeUMsWUFBQSxHQUFBekMsQ0FBQSxFQUFBMEMsUUFBQSxHQUFBMUMsQ0FBQSxNQUFBRCxDQUFBLENBQUFFLENBQUEsSUFBQUUsQ0FBQSxJQUFBRSxDQUFBLGFBQUFBLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVMsbUJBQUEsQ0FBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUEyQyxtQkFBQXhDLENBQUEsRUFBQUgsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUksQ0FBQSxFQUFBZSxDQUFBLEVBQUFaLENBQUEsY0FBQUQsQ0FBQSxHQUFBSixDQUFBLENBQUFpQixDQUFBLEVBQUFaLENBQUEsR0FBQUcsQ0FBQSxHQUFBSixDQUFBLENBQUF4QixLQUFBLFdBQUFvQixDQUFBLGdCQUFBSixDQUFBLENBQUFJLENBQUEsS0FBQUksQ0FBQSxDQUFBb0IsSUFBQSxHQUFBM0IsQ0FBQSxDQUFBVyxDQUFBLElBQUFpQyxPQUFBLENBQUFDLE9BQUEsQ0FBQWxDLENBQUEsRUFBQW1DLElBQUEsQ0FBQTdDLENBQUEsRUFBQUksQ0FBQTtBQUFBLFNBQUEwQyxrQkFBQTVDLENBQUEsNkJBQUFILENBQUEsU0FBQUQsQ0FBQSxHQUFBcEIsU0FBQSxhQUFBaUUsT0FBQSxXQUFBM0MsQ0FBQSxFQUFBSSxDQUFBLFFBQUFlLENBQUEsR0FBQWpCLENBQUEsQ0FBQTZDLEtBQUEsQ0FBQWhELENBQUEsRUFBQUQsQ0FBQSxZQUFBa0QsTUFBQTlDLENBQUEsSUFBQXdDLGtCQUFBLENBQUF2QixDQUFBLEVBQUFuQixDQUFBLEVBQUFJLENBQUEsRUFBQTRDLEtBQUEsRUFBQUMsTUFBQSxVQUFBL0MsQ0FBQSxjQUFBK0MsT0FBQS9DLENBQUEsSUFBQXdDLGtCQUFBLENBQUF2QixDQUFBLEVBQUFuQixDQUFBLEVBQUFJLENBQUEsRUFBQTRDLEtBQUEsRUFBQUMsTUFBQSxXQUFBL0MsQ0FBQSxLQUFBOEMsS0FBQTtBQURBO0FBQ2lFO0FBQ3ZCOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBTUksYUFBYSxHQUFHRiw2Q0FBSyxDQUFDdEMsTUFBTSxDQUFDO0VBQ2pDeUMsT0FBTyxFQUFFRix1REFBTSxDQUFDaEosT0FBTztFQUN2Qm1KLE9BQU8sRUFBRSxNQUFNLENBQUU7QUFDbkIsQ0FBQyxDQUFDO0FBR0ssSUFBTUMsYUFBYTtFQUFBLElBQUFDLElBQUEsR0FBQVYsaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQXNCLFFBQzNCQyxHQUFXLEVBQ1hDLE1BQTRCLEVBQzVCQyxPQUEyQixFQUMzQkMsTUFBa0M7SUFBQSxJQUFBQyxLQUFBLEVBQUFDLE9BQUEsRUFBQUMsUUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxhQUFBLEVBQUFDLHFCQUFBLEVBQUFDLGNBQUEsRUFBQUMsT0FBQSxFQUFBQyxLQUFBLEVBQUFDLEVBQUE7SUFBQSxPQUFBdEMsWUFBQSxHQUFBQyxDQUFBLFdBQUFzQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQXpELENBQUEsR0FBQXlELFFBQUEsQ0FBQXRFLENBQUE7UUFBQTtVQUFBc0UsUUFBQSxDQUFBekQsQ0FBQTtVQUcxQitDLEtBQUssR0FBR1csY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUkseUlBQXlJO1VBRXBMWCxPQUFPLEdBQUc7WUFDZFksT0FBTyxFQUFFO2NBQ1BDLGFBQWEsRUFBRWQsS0FBSyxhQUFBZSxNQUFBLENBQWFmLEtBQUssSUFBSyxFQUFFO2NBQUU7Y0FDL0NnQixNQUFNLEVBQUU7WUFDVixDQUFDO1lBQ0RuQixNQUFNLEVBQU5BO1VBQ0YsQ0FBQztVQUFBYSxRQUFBLENBQUF0RSxDQUFBO1VBQUEsT0FHd0NrRCxhQUFhLENBQUMyQixHQUFHLENBQUNyQixHQUFHLEVBQUVLLE9BQU8sQ0FBQztRQUFBO1VBQWxFQyxRQUEwQixHQUFBUSxRQUFBLENBQUF0RCxDQUFBO1VBR2hDMEMsT0FBTyxhQUFQQSxPQUFPLGVBQVBBLE9BQU8sQ0FBR0ksUUFBUSxDQUFDZ0IsSUFBSSxDQUFDO1VBQUMsT0FBQVIsUUFBQSxDQUFBckQsQ0FBQSxJQUVsQjZDLFFBQVEsQ0FBQ2dCLElBQUk7UUFBQTtVQUFBUixRQUFBLENBQUF6RCxDQUFBO1VBQUF3RCxFQUFBLEdBQUFDLFFBQUEsQ0FBQXRELENBQUE7VUFFcEIrRCxPQUFPLENBQUNYLEtBQUssQ0FBQywyQkFBMkIsRUFBQUMsRUFBSyxDQUFDO1VBRXpDRixPQUFPLElBQUFKLHFCQUFBLElBQUFDLGFBQUEsR0FBR0ssRUFBQSxDQUFJUCxRQUFRLGNBQUFFLGFBQUEsZ0JBQUFBLGFBQUEsR0FBWkEsYUFBQSxDQUFjYyxJQUFJLGNBQUFkLGFBQUEsdUJBQWxCQSxhQUFBLENBQW9CRyxPQUFPLGNBQUFKLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksZ0JBQWdCO1VBQ3pESyxLQUFLLElBQUFILHFCQUFBLElBQUFDLGNBQUEsR0FBR0csRUFBQSxDQUFJUCxRQUFRLGNBQUFJLGNBQUEsZ0JBQUFBLGNBQUEsR0FBWkEsY0FBQSxDQUFjWSxJQUFJLGNBQUFaLGNBQUEsdUJBQWxCQSxjQUFBLENBQW9CRSxLQUFLLGNBQUFILHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksZ0JBQWdCO1VBRTNEYyxPQUFPLENBQUNYLEtBQUssQ0FBQztZQUFFQSxLQUFLLEVBQUxBO1VBQU0sQ0FBQyxDQUFDO1VBRXhCVCxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFHUSxPQUFPLENBQUM7VUFBQyxPQUFBRyxRQUFBLENBQUFyRCxDQUFBLElBRVgrRCxTQUFTO01BQUE7SUFBQSxHQUFBekIsT0FBQTtFQUFBLENBRW5CO0VBQUEsZ0JBcENZRixhQUFhQSxDQUFBNEIsRUFBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUE5QixJQUFBLENBQUFULEtBQUEsT0FBQXJFLFNBQUE7RUFBQTtBQUFBLEdBb0N6Qjs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU02RyxjQUFjO0VBQUEsSUFBQUMsS0FBQSxHQUFBMUMsaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQXNELFNBQzVCL0IsR0FBVyxFQUNYc0IsSUFBeUI7SUFBQSxJQUFBVSxxQkFBQTtJQUFBLElBQUE1QixLQUFBLEVBQUFhLE9BQUEsRUFBQXhCLE1BQUEsRUFBQWEsUUFBQSxFQUFBMkIsR0FBQTtJQUFBLE9BQUExRCxZQUFBLEdBQUFDLENBQUEsV0FBQTBELFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBN0UsQ0FBQSxHQUFBNkUsU0FBQSxDQUFBMUYsQ0FBQTtRQUFBO1VBRW5CNEQsS0FBSyxJQUFBNEIscUJBQUEsR0FBR2pCLGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFBZ0IscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxFQUFFO1VBRTdDZixPQUErQixHQUFHO1lBQ3RDLGNBQWMsRUFBRSxrQkFBa0I7WUFDbENHLE1BQU0sRUFBRTtVQUNWLENBQUM7VUFFRCxJQUFJaEIsS0FBSyxFQUFFO1lBQ1RhLE9BQU8sQ0FBQyxlQUFlLENBQUMsYUFBQUUsTUFBQSxDQUFhZixLQUFLLENBQUU7VUFDOUM7VUFFTVgsTUFBMEIsR0FBRztZQUFFd0IsT0FBTyxFQUFQQTtVQUFRLENBQUM7VUFBQWlCLFNBQUEsQ0FBQTdFLENBQUE7VUFHNUNrRSxPQUFPLENBQUNZLEdBQUcsQ0FBQyxtQkFBbUIsRUFBQ2IsSUFBSSxDQUFDO1VBQUFZLFNBQUEsQ0FBQTFGLENBQUE7VUFBQSxPQUNJa0QsYUFBYSxDQUFDMEMsSUFBSSxDQUFDcEMsR0FBRyxFQUFFc0IsSUFBSSxFQUFFN0IsTUFBTSxDQUFDO1FBQUE7VUFBeEVhLFFBQTBCLEdBQUE0QixTQUFBLENBQUExRSxDQUFBO1VBQUEsT0FBQTBFLFNBQUEsQ0FBQXpFLENBQUEsSUFDekI2QyxRQUFRLENBQUNnQixJQUFJO1FBQUE7VUFBQVksU0FBQSxDQUFBN0UsQ0FBQTtVQUFBNEUsR0FBQSxHQUFBQyxTQUFBLENBQUExRSxDQUFBO1VBRXBCK0QsT0FBTyxDQUFDWCxLQUFLLENBQUMscUJBQXFCLEVBQUFxQixHQUFPLENBQUM7VUFBQyxNQUFBQSxHQUFBO1FBQUE7VUFBQSxPQUFBQyxTQUFBLENBQUF6RSxDQUFBO01BQUE7SUFBQSxHQUFBc0UsUUFBQTtFQUFBLENBRy9DO0VBQUEsZ0JBekJZRixjQUFjQSxDQUFBUSxHQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBUixLQUFBLENBQUF6QyxLQUFBLE9BQUFyRSxTQUFBO0VBQUE7QUFBQSxHQXlCMUI7QUFHTSxJQUFNdUgsc0JBQXNCO0VBQUEsSUFBQUMsS0FBQSxHQUFBcEQsaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQWdFLFNBQ3BDekMsR0FBVyxFQUNYc0IsSUFBYztJQUFBLElBQUFvQixzQkFBQTtJQUFBLElBQUF0QyxLQUFBLEVBQUFhLE9BQUEsRUFBQXhCLE1BQUEsRUFBQWEsUUFBQSxFQUFBcUMsR0FBQTtJQUFBLE9BQUFwRSxZQUFBLEdBQUFDLENBQUEsV0FBQW9FLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBdkYsQ0FBQSxHQUFBdUYsU0FBQSxDQUFBcEcsQ0FBQTtRQUFBO1VBRVI0RCxLQUFLLElBQUFzQyxzQkFBQSxHQUFHM0IsY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQUEwQixzQkFBQSxjQUFBQSxzQkFBQSxHQUFJLEVBQUU7VUFFbkRuQixPQUFPLENBQUNZLEdBQUcsQ0FBQyxXQUFXLEVBQUViLElBQUksQ0FBQztVQUV4QkwsT0FBK0IsR0FBRztZQUN0QyxjQUFjLEVBQUUscUJBQXFCO1lBQ3JDRyxNQUFNLEVBQUU7VUFDVixDQUFDO1VBRUQsSUFBSWhCLEtBQUssRUFBRTtZQUNUYSxPQUFPLENBQUMsZUFBZSxDQUFDLGFBQUFFLE1BQUEsQ0FBYWYsS0FBSyxDQUFFO1VBQzlDO1VBRU1YLE1BQTBCLEdBQUc7WUFBRXdCLE9BQU8sRUFBUEE7VUFBUSxDQUFDO1VBQUEyQixTQUFBLENBQUF2RixDQUFBO1VBQUF1RixTQUFBLENBQUFwRyxDQUFBO1VBQUEsT0FHSGtELGFBQWEsQ0FBQzBDLElBQUksQ0FBQ3BDLEdBQUcsRUFBRXNCLElBQUksRUFBRTdCLE1BQU0sQ0FBQztRQUFBO1VBQXhFYSxRQUEwQixHQUFBc0MsU0FBQSxDQUFBcEYsQ0FBQTtVQUFBLE9BQUFvRixTQUFBLENBQUFuRixDQUFBLElBQ3pCNkMsUUFBUSxDQUFDZ0IsSUFBSTtRQUFBO1VBQUFzQixTQUFBLENBQUF2RixDQUFBO1VBQUFzRixHQUFBLEdBQUFDLFNBQUEsQ0FBQXBGLENBQUE7VUFFcEIrRCxPQUFPLENBQUNYLEtBQUssQ0FBQyxxQkFBcUIsRUFBQStCLEdBQU8sQ0FBQztVQUFDLE1BQUFBLEdBQUE7UUFBQTtVQUFBLE9BQUFDLFNBQUEsQ0FBQW5GLENBQUE7TUFBQTtJQUFBLEdBQUFnRixRQUFBO0VBQUEsQ0FHL0M7RUFBQSxnQkExQllGLHNCQUFzQkEsQ0FBQU0sR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQU4sS0FBQSxDQUFBbkQsS0FBQSxPQUFBckUsU0FBQTtFQUFBO0FBQUEsR0EwQmxDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTStILHVCQUF1QjtFQUFBLElBQUFDLEtBQUEsR0FBQTVELGlCQUFBLGNBQUFiLFlBQUEsR0FBQUUsQ0FBQSxDQUFHLFNBQUF3RSxTQUNyQ2pELEdBQVcsRUFDWHNCLElBQXlCO0lBQUEsSUFBQWxCLEtBQUEsRUFBQThDLFVBQUEsRUFBQUMsSUFBQSxFQUFBbEMsT0FBQSxFQUFBeEIsTUFBQSxFQUFBMkQsWUFBQSxFQUFBOUMsUUFBQSxFQUFBK0MsR0FBQTtJQUFBLE9BQUE5RSxZQUFBLEdBQUFDLENBQUEsV0FBQThFLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBakcsQ0FBQSxHQUFBaUcsU0FBQSxDQUFBOUcsQ0FBQTtRQUFBO1VBRW5CNEQsS0FBSyxHQUFHVyxjQUFjLENBQUNDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSx5SUFBeUk7VUFFcExrQyxVQUFVLEdBQUduQyxjQUFjLENBQUNDLE9BQU8sQ0FBQyxhQUFhLENBQUM7VUFDbERtQyxJQUFJLEdBQUdELFVBQVUsR0FBR0ssSUFBSSxDQUFDQyxLQUFLLENBQUNOLFVBQVUsQ0FBQyxHQUFHLElBQUksRUFBRztVQUNwRGpDLE9BQStCLEdBQUc7WUFDdEMsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQ0csTUFBTSxFQUFFO1VBQ1YsQ0FBQztVQUVELElBQUloQixLQUFLLEVBQUU7WUFDVGEsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFBRSxNQUFBLENBQWFmLEtBQUssQ0FBRTtVQUM5QztVQUVNWCxNQUEwQixHQUFHO1lBQUV3QixPQUFPLEVBQVBBO1VBQVEsQ0FBQztVQUFBcUMsU0FBQSxDQUFBakcsQ0FBQTtVQUc1QztVQUNBaUUsSUFBSSxDQUFDbUMsWUFBWSxHQUFHbkMsSUFBSSxDQUFDbUMsWUFBWSxPQUFBdEMsTUFBQSxDQUFPRyxJQUFJLENBQUNtQyxZQUFZLENBQUNDLFdBQVcsT0FBQXZDLE1BQUEsQ0FBSUcsSUFBSSxDQUFDbUMsWUFBWSxDQUFDRSxRQUFRLE9BQUF4QyxNQUFBLENBQUlHLElBQUksQ0FBQ21DLFlBQVksQ0FBQ0csV0FBVyxJQUFLcEMsU0FBUztVQUN0SkYsSUFBSSxDQUFDdUMsbUJBQW1CLEdBQUcsQ0FBQztVQUM1QnZDLElBQUksQ0FBQ3dDLGdCQUFnQixHQUFHLFVBQVU7VUFDbEN4QyxJQUFJLENBQUN5QyxPQUFPLEdBQUdaLElBQUksQ0FBQ2EsRUFBRTtVQUNoQlosWUFBWSxHQUFJOUIsSUFBSSxDQUFDMkMsU0FBUyxDQUFDQyxRQUFRLENBQUMsQ0FBQztVQUMvQzVDLElBQUksQ0FBQzJDLFNBQVMsR0FBR2IsWUFBWTtVQUFDRSxTQUFBLENBQUE5RyxDQUFBO1VBQUEsT0FDV2tELGFBQWEsQ0FBQzBDLElBQUksQ0FBQ3BDLEdBQUcsRUFBRXNCLElBQUksRUFBRTdCLE1BQU0sQ0FBQztRQUFBO1VBQXhFYSxRQUEwQixHQUFBZ0QsU0FBQSxDQUFBOUYsQ0FBQTtVQUFBLE9BQUE4RixTQUFBLENBQUE3RixDQUFBLElBQ3pCNkMsUUFBUSxDQUFDZ0IsSUFBSTtRQUFBO1VBQUFnQyxTQUFBLENBQUFqRyxDQUFBO1VBQUFnRyxHQUFBLEdBQUFDLFNBQUEsQ0FBQTlGLENBQUE7VUFFcEIrRCxPQUFPLENBQUNYLEtBQUssQ0FBQyxxQkFBcUIsRUFBQXlDLEdBQU8sQ0FBQztVQUFDLE1BQUFBLEdBQUE7UUFBQTtVQUFBLE9BQUFDLFNBQUEsQ0FBQTdGLENBQUE7TUFBQTtJQUFBLEdBQUF3RixRQUFBO0VBQUEsQ0FHL0M7RUFBQSxnQkFqQ1lGLHVCQUF1QkEsQ0FBQW9CLEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUFwQixLQUFBLENBQUEzRCxLQUFBLE9BQUFyRSxTQUFBO0VBQUE7QUFBQSxHQWlDbkM7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1xSixnQkFBZ0I7RUFBQSxJQUFBQyxLQUFBLEdBQUFsRixpQkFBQSxjQUFBYixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBOEYsU0FDOUJ2RSxHQUFXLEVBQ1hzQixJQUEwQixFQUMxQnBCLE9BQTJCLEVBQzNCQyxNQUFrQztJQUFBLElBQUFxRSxzQkFBQTtJQUFBLElBQUFwRSxLQUFBLEVBQUFDLE9BQUEsRUFBQUMsUUFBQSxFQUFBbUUsc0JBQUEsRUFBQUMsY0FBQSxFQUFBL0QsT0FBQSxFQUFBZ0UsR0FBQTtJQUFBLE9BQUFwRyxZQUFBLEdBQUFDLENBQUEsV0FBQW9HLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBdkgsQ0FBQSxHQUFBdUgsU0FBQSxDQUFBcEksQ0FBQTtRQUFBO1VBRTVCNEQsS0FBSyxJQUFBb0Usc0JBQUEsR0FBR3pELGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFBd0Qsc0JBQUEsY0FBQUEsc0JBQUEsR0FBSSxFQUFFO1VBQUEsTUFDL0NwRSxLQUFLLEtBQUssRUFBRTtZQUFBd0UsU0FBQSxDQUFBcEksQ0FBQTtZQUFBO1VBQUE7VUFDZDJELE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUcsbUJBQW1CLENBQUM7VUFBQyxPQUFBeUUsU0FBQSxDQUFBbkgsQ0FBQTtRQUFBO1VBSTFCNEMsT0FBMkIsR0FBRztZQUNsQ1ksT0FBTyxFQUFFO2NBQ1BDLGFBQWEsRUFBRSxVQUFBQyxNQUFBLENBQVVmLEtBQUssY0FBQWUsTUFBQSxDQUFlZixLQUFLLElBQUssQ0FBRTtjQUFFO2NBQzNELGNBQWMsRUFBRSxrQkFBa0I7Y0FDbENnQixNQUFNLEVBQUU7WUFDVixDQUFDO1lBQ0RFLElBQUksRUFBRUEsSUFBSSxhQUFKQSxJQUFJLGNBQUpBLElBQUksR0FBSSxDQUFDO1VBQ2pCLENBQUM7VUFBQXNELFNBQUEsQ0FBQXZILENBQUE7VUFBQXVILFNBQUEsQ0FBQXBJLENBQUE7VUFBQSxPQUcwQ2tELGFBQWEsVUFBTyxDQUFDTSxHQUFHLEVBQUVLLE9BQU8sQ0FBQztRQUFBO1VBQXJFQyxRQUEwQixHQUFBc0UsU0FBQSxDQUFBcEgsQ0FBQTtVQUNoQzBDLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUdJLFFBQVEsQ0FBQ2dCLElBQUksQ0FBQztVQUFDc0QsU0FBQSxDQUFBcEksQ0FBQTtVQUFBO1FBQUE7VUFBQW9JLFNBQUEsQ0FBQXZILENBQUE7VUFBQXNILEdBQUEsR0FBQUMsU0FBQSxDQUFBcEgsQ0FBQTtVQUVuQm1ELE9BQU8sSUFBQThELHNCQUFBLElBQUFDLGNBQUEsR0FBR0MsR0FBQSxDQUFJckUsUUFBUSxjQUFBb0UsY0FBQSxnQkFBQUEsY0FBQSxHQUFaQSxjQUFBLENBQWNwRCxJQUFJLGNBQUFvRCxjQUFBLHVCQUFsQkEsY0FBQSxDQUFvQi9ELE9BQU8sY0FBQThELHNCQUFBLGNBQUFBLHNCQUFBLEdBQUksZ0JBQWdCO1VBQy9EdEUsTUFBTSxhQUFOQSxNQUFNLGVBQU5BLE1BQU0sQ0FBR1EsT0FBTyxDQUFDO1FBQUM7VUFBQSxPQUFBaUUsU0FBQSxDQUFBbkgsQ0FBQTtNQUFBO0lBQUEsR0FBQThHLFFBQUE7RUFBQSxDQUVyQjtFQUFBLGdCQTVCWUYsZ0JBQWdCQSxDQUFBUSxHQUFBLEVBQUFDLElBQUEsRUFBQUMsSUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQVYsS0FBQSxDQUFBakYsS0FBQSxPQUFBckUsU0FBQTtFQUFBO0FBQUEsR0E0QjVCOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNaUssYUFBYTtFQUFBLElBQUFDLEtBQUEsR0FBQTlGLGlCQUFBLGNBQUFiLFlBQUEsR0FBQUUsQ0FBQSxDQUFHLFNBQUEwRyxTQUMzQm5GLEdBQVcsRUFDWHNCLElBQXlCO0lBQUEsSUFBQWxCLEtBQUEsRUFBQUMsT0FBQSxFQUFBQyxRQUFBLEVBQUE4RSxHQUFBO0lBQUEsT0FBQTdHLFlBQUEsR0FBQUMsQ0FBQSxXQUFBNkcsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFoSSxDQUFBLEdBQUFnSSxTQUFBLENBQUE3SSxDQUFBO1FBQUE7VUFFbkI0RCxLQUFLLEdBQUdXLGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlJQUF5STtVQUFBLElBRXJMWixLQUFLO1lBQUFpRixTQUFBLENBQUE3SSxDQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ0YsSUFBSThJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztRQUFBO1VBR2hDakYsT0FBMkIsR0FBRztZQUNsQ1ksT0FBTyxFQUFFO2NBQ1BDLGFBQWEsWUFBQUMsTUFBQSxDQUFZZixLQUFLLENBQUU7Y0FDaENnQixNQUFNLEVBQUU7WUFDVjtVQUNGLENBQUM7VUFBQWlFLFNBQUEsQ0FBQWhJLENBQUE7VUFBQWdJLFNBQUEsQ0FBQTdJLENBQUE7VUFBQSxPQUcwQ2tELGFBQWEsQ0FBQzZGLEdBQUcsQ0FBQ3ZGLEdBQUcsRUFBRXNCLElBQUksRUFBRWpCLE9BQU8sQ0FBQztRQUFBO1VBQXhFQyxRQUEwQixHQUFBK0UsU0FBQSxDQUFBN0gsQ0FBQTtVQUFBLE9BQUE2SCxTQUFBLENBQUE1SCxDQUFBLElBQ3pCNkMsUUFBUSxDQUFDZ0IsSUFBSTtRQUFBO1VBQUErRCxTQUFBLENBQUFoSSxDQUFBO1VBQUErSCxHQUFBLEdBQUFDLFNBQUEsQ0FBQTdILENBQUE7VUFBQSxNQUFBNEgsR0FBQTtRQUFBO1VBQUEsT0FBQUMsU0FBQSxDQUFBNUgsQ0FBQTtNQUFBO0lBQUEsR0FBQTBILFFBQUE7RUFBQSxDQUl2QjtFQUFBLGdCQXZCWUYsYUFBYUEsQ0FBQU8sSUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQVAsS0FBQSxDQUFBN0YsS0FBQSxPQUFBckUsU0FBQTtFQUFBO0FBQUEsR0F1QnpCOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU0wSyxVQUFVO0VBQUEsSUFBQUMsS0FBQSxHQUFBdkcsaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQW1ILFNBQWdCdEUsSUFBYztJQUFBLElBQUF0QixHQUFBLEVBQUE2RixTQUFBLEVBQUF2RixRQUFBLEVBQUF3RixHQUFBO0lBQUEsT0FBQXZILFlBQUEsR0FBQUMsQ0FBQSxXQUFBdUgsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUExSSxDQUFBLEdBQUEwSSxTQUFBLENBQUF2SixDQUFBO1FBQUE7VUFBQXVKLFNBQUEsQ0FBQTFJLENBQUE7VUFFOUMyQyxHQUFHLE1BQUFtQixNQUFBLENBQU0xQix1REFBTSxDQUFDN0ksVUFBVTtVQUMxQmlQLFNBQTZCLEdBQUc7WUFDcEM1RSxPQUFPLEVBQUU7Y0FDUGIsS0FBSyxFQUFFLHNDQUFzQztjQUM3QyxjQUFjLEVBQUU7WUFDbEI7VUFDRixDQUFDO1VBQUEyRixTQUFBLENBQUF2SixDQUFBO1VBQUEsT0FDd0NnRCw2Q0FBSyxDQUFDNEMsSUFBSSxDQUFDcEMsR0FBRyxFQUFFc0IsSUFBSSxFQUFFdUUsU0FBUyxDQUFDO1FBQUE7VUFBbkV2RixRQUEwQixHQUFBeUYsU0FBQSxDQUFBdkksQ0FBQTtVQUFBLE9BQUF1SSxTQUFBLENBQUF0SSxDQUFBLElBQ3pCNkMsUUFBUSxDQUFDZ0IsSUFBSTtRQUFBO1VBQUF5RSxTQUFBLENBQUExSSxDQUFBO1VBQUF5SSxHQUFBLEdBQUFDLFNBQUEsQ0FBQXZJLENBQUE7VUFFcEIrRCxPQUFPLENBQUNZLEdBQUcsQ0FBQTJELEdBQUksQ0FBQztRQUFDO1VBQUEsT0FBQUMsU0FBQSxDQUFBdEksQ0FBQTtNQUFBO0lBQUEsR0FBQW1JLFFBQUE7RUFBQSxDQUdwQjtFQUFBLGdCQWZZRixVQUFVQSxDQUFBTSxJQUFBO0lBQUEsT0FBQUwsS0FBQSxDQUFBdEcsS0FBQSxPQUFBckUsU0FBQTtFQUFBO0FBQUEsR0FldEI7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNaUwsZ0JBQWdCO0VBQUEsSUFBQUMsS0FBQSxHQUFBOUcsaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQTBILFNBQzlCQyxTQUFpQixFQUNqQkMsS0FBYSxFQUNiQyxXQUFtQixFQUNuQkMsUUFBaUIsRUFDakJDLEtBQWMsRUFDZHJHLE1BQWtDO0lBQUEsSUFBQUgsR0FBQSxFQUFBaUIsT0FBQSxFQUFBNEUsU0FBQSxFQUFBdkUsSUFBQSxFQUFBaEIsUUFBQSxFQUFBbUcsc0JBQUEsRUFBQUMsY0FBQSxFQUFBL0YsT0FBQSxFQUFBZ0csR0FBQTtJQUFBLE9BQUFwSSxZQUFBLEdBQUFDLENBQUEsV0FBQW9JLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBdkosQ0FBQSxHQUFBdUosU0FBQSxDQUFBcEssQ0FBQTtRQUFBO1VBRTVCd0QsR0FBRyxNQUFBbUIsTUFBQSxDQUFNMUIsdURBQU0sQ0FBQ3pJLGdCQUFnQjtVQUNoQ2lLLE9BQStCLEdBQUdzRixRQUFRLEdBQzVDO1lBQUUsZUFBZSxFQUFFO1VBQU8sQ0FBQyxHQUMzQixDQUFDLENBQUM7VUFDQVYsU0FBNkIsR0FBRztZQUFFNUUsT0FBTyxFQUFQQTtVQUFRLENBQUM7VUFFM0NLLElBQUksR0FBRztZQUNYdUYsVUFBVSxFQUFFVCxTQUFTO1lBQ3JCVSxhQUFhLEVBQUVULEtBQUs7WUFDcEJVLFlBQVksRUFBRVQsV0FBVztZQUN6QkUsS0FBSyxFQUFMQTtVQUNGLENBQUM7VUFBQUksU0FBQSxDQUFBdkosQ0FBQTtVQUFBdUosU0FBQSxDQUFBcEssQ0FBQTtVQUFBLE9BR3dCZ0QsNkNBQUssQ0FBQzRDLElBQUksQ0FBQ3BDLEdBQUcsRUFBRXNCLElBQUksRUFBRXVFLFNBQVMsQ0FBQztRQUFBO1VBQWpEdkYsUUFBUSxHQUFBc0csU0FBQSxDQUFBcEosQ0FBQTtVQUFBb0osU0FBQSxDQUFBcEssQ0FBQTtVQUFBO1FBQUE7VUFBQW9LLFNBQUEsQ0FBQXZKLENBQUE7VUFBQXNKLEdBQUEsR0FBQUMsU0FBQSxDQUFBcEosQ0FBQTtVQUVSbUQsT0FBTyxJQUFBOEYsc0JBQUEsSUFBQUMsY0FBQSxHQUFHQyxHQUFBLENBQUlyRyxRQUFRLGNBQUFvRyxjQUFBLGdCQUFBQSxjQUFBLEdBQVpBLGNBQUEsQ0FBY3BGLElBQUksY0FBQW9GLGNBQUEsdUJBQWxCQSxjQUFBLENBQW9CL0YsT0FBTyxjQUFBOEYsc0JBQUEsY0FBQUEsc0JBQUEsR0FBSSxnQkFBZ0I7VUFDL0R0RyxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFHUSxPQUFPLENBQUM7UUFBQztVQUFBLE9BQUFpRyxTQUFBLENBQUFuSixDQUFBO01BQUE7SUFBQSxHQUFBMEksUUFBQTtFQUFBLENBRXJCO0VBQUEsZ0JBM0JZRixnQkFBZ0JBLENBQUFlLElBQUEsRUFBQUMsSUFBQSxFQUFBQyxJQUFBLEVBQUFDLElBQUEsRUFBQUMsSUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQW5CLEtBQUEsQ0FBQTdHLEtBQUEsT0FBQXJFLFNBQUE7RUFBQTtBQUFBLEdBMkI1Qjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNc00sc0JBQXNCO0VBQUEsSUFBQUMsS0FBQSxHQUFBbkksaUJBQUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQStJLFNBQ3BDbEcsSUFBeUI7SUFBQSxJQUFBdEIsR0FBQSxFQUFBNkYsU0FBQSxFQUFBdkYsUUFBQSxFQUFBbUgsR0FBQTtJQUFBLE9BQUFsSixZQUFBLEdBQUFDLENBQUEsV0FBQWtKLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBckssQ0FBQSxHQUFBcUssU0FBQSxDQUFBbEwsQ0FBQTtRQUFBO1VBRW5Cd0QsR0FBRyxNQUFBbUIsTUFBQSxDQUFNMUIsdURBQU0sQ0FBQ3pJLGdCQUFnQjtVQUNoQzZPLFNBQTZCLEdBQUc7WUFBRTVFLE9BQU8sRUFBRSxDQUFDO1VBQUUsQ0FBQztVQUFBeUcsU0FBQSxDQUFBckssQ0FBQTtVQUFBcUssU0FBQSxDQUFBbEwsQ0FBQTtVQUFBLE9BR1ZnRCw2Q0FBSyxDQUFDNEMsSUFBSSxDQUFDcEMsR0FBRyxFQUFFc0IsSUFBSSxFQUFFdUUsU0FBUyxDQUFDO1FBQUE7VUFBbkV2RixRQUEwQixHQUFBb0gsU0FBQSxDQUFBbEssQ0FBQTtVQUFBLE9BQUFrSyxTQUFBLENBQUFqSyxDQUFBLElBQ3pCNkMsUUFBUSxDQUFDZ0IsSUFBSTtRQUFBO1VBQUFvRyxTQUFBLENBQUFySyxDQUFBO1VBQUFvSyxHQUFBLEdBQUFDLFNBQUEsQ0FBQWxLLENBQUE7VUFBQSxNQUVkLElBQUk4SCxLQUFLLENBQUMscUJBQXFCLENBQUM7UUFBQTtVQUFBLE9BQUFvQyxTQUFBLENBQUFqSyxDQUFBO01BQUE7SUFBQSxHQUFBK0osUUFBQTtFQUFBLENBRXpDO0VBQUEsZ0JBWllGLHNCQUFzQkEsQ0FBQUssSUFBQTtJQUFBLE9BQUFKLEtBQUEsQ0FBQWxJLEtBQUEsT0FBQXJFLFNBQUE7RUFBQTtBQUFBLEdBWWxDLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1VHNFO0FBRUU7QUFDTjtBQUNXO0FBQ1k7QUFDakM7QUFDcUI7QUFDVDtBQUNlO0FBQ25CO0FBQ047QUFDbUI7QUFDRTtBQUNGO0FBQ2I7QUFDUjtBQUNpQjtBQUNOO0FBQ1U7QUFDSjtBQUVuRSxJQUFNZ08sS0FBSyxHQUFHcEIsZ0VBQWMsQ0FBQztFQUNsQ3FCLE9BQU8sRUFBRTtJQUNQQyxJQUFJLEVBQUVyQixtRkFBUztJQUNmc0IsU0FBUyxFQUFFckIsd0VBQWM7SUFDekJzQixjQUFjLEVBQUVyQiw4RUFBbUI7SUFDbkNzQixvQkFBb0IsRUFBRXJCLG9GQUF5QjtJQUMvQ3NCLElBQUksRUFBRXJCLG1FQUFTO0lBQ2ZzQixjQUFjLEVBQUVyQiw4RUFBbUI7SUFDbkNzQixVQUFVLEVBQUVyQix5RUFBZTtJQUMzQnNCLGlCQUFpQixFQUFFckIsaUZBQXNCO0lBQ3pDc0IsUUFBUSxFQUFFckIsdUVBQWE7SUFDdkJzQixRQUFRLEVBQUVqQix3RUFBYTtJQUN2QmtCLEtBQUssRUFBRXRCLHFFQUFVO0lBQ2pCdUIsY0FBYyxFQUFFdEIsK0VBQW1CO0lBQ25DdUIsZUFBZSxFQUFFdEIsZ0ZBQW9CO0lBQ3JDdUIsY0FBYyxFQUFFdEIsK0VBQW1CO0lBQ25DdEYsSUFBSSxFQUFFd0Ysb0VBQVM7SUFDZnFCLFlBQVksRUFBRXBCLDZFQUFpQjtJQUMvQnFCLFNBQVMsRUFBRXBCLDBFQUFjO0lBQ3pCcUIsY0FBYyxFQUFFcEIsK0VBQW1CO0lBQ25DcUIsWUFBWSxFQUFFcEIsNkVBQWlCQTtFQUNqQyxDQUFDO0VBQ0RxQixRQUFRLEVBQUUxVCxhQUFvQixLQUFLO0FBQ3JDLENBQUMsQ0FBQyxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDN0N3QixDQUFDO0FBQ3NDO0FBRXRCO0FBQ0Y7QUFDVztBQUNMO0FBQzJCO0FBQ25DO0FBQ2lCO0FBQ2dEO0FBR3hHLElBQU11VSxTQUFtQixHQUFHLFNBQXRCQSxTQUFtQkEsQ0FBQTtFQUFBLG9CQUN2Qi9WLDBEQUFBLENBQUNxVixvREFBWSxxQkFFWHJWLDBEQUFBLENBQUNzVixtREFBSztJQUFDVSxJQUFJLEVBQUMsUUFBUTtJQUFDQyxPQUFPLGVBQUVqVywwREFBQSxDQUFDd1YsMERBQUssTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMzQ3hWLDBEQUFBLENBQUNzVixtREFBSztJQUFDVSxJQUFJLEVBQUMsT0FBTztJQUFDQyxPQUFPLGVBQUVqVywwREFBQSxDQUFDNFYseURBQUksTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUN6QzVWLDBEQUFBLENBQUNzVixtREFBSztJQUFDVSxJQUFJLEVBQUMsYUFBYTtJQUFDQyxPQUFPLGVBQUVqVywwREFBQSxDQUFDOFYsb0dBQXVCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDbEU5ViwwREFBQSxDQUFDc1YsbURBQUs7SUFBQ1UsSUFBSSxFQUFDLEtBQUs7SUFBQ0MsT0FBTyxlQUFFalcsMERBQUEsQ0FBQzZWLGtFQUFZLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFJL0M3ViwwREFBQSxDQUFDc1YsbURBQUs7SUFDSlUsSUFBSSxFQUFDLElBQUk7SUFDVEMsT0FBTyxlQUNMalcsMERBQUEsQ0FBQzBWLHdEQUFjLHFCQUNiMVYsMERBQUEsQ0FBQ3VWLDZEQUFJLE1BQUUsQ0FDTztFQUNqQixDQUNGLENBQUMsZUFFRnZWLDBEQUFBLENBQUNzVixtREFBSztJQUNKVSxJQUFJLEVBQUMsV0FBVztJQUNoQkMsT0FBTyxlQUNMalcsMERBQUEsQ0FBQzBWLHdEQUFjLHFCQUNiMVYsMERBQUEsQ0FBQzJWLDJFQUFxQixNQUFFLENBQ1Y7RUFDakIsQ0FDRixDQUFDLGVBR0YzViwwREFBQSxDQUFDc1YsbURBQUs7SUFBQ1UsSUFBSSxFQUFDLEdBQUc7SUFBQ0MsT0FBTyxlQUFFalcsMERBQUEsQ0FBQ3lWLGtFQUFRLE1BQUU7RUFBRSxDQUFFLENBQzVCLENBQUM7QUFBQSxDQUNoQjtBQUVELGlFQUFlTSxTQUFTLEU7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDOUNFO0FBQ2tCO0FBRzVDLElBQU1MLGNBQTZDLEdBQUcsU0FBaERBLGNBQTZDQSxDQUFBOUssSUFBQSxFQUFxQjtFQUFBLElBQWZ1TCxRQUFRLEdBQUF2TCxJQUFBLENBQVJ1TCxRQUFRO0VBQy9ELElBQU1DLFdBQVcsR0FBR3ZLLGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQztFQUNuRCxJQUFNa0MsVUFBVSxHQUFHbkMsY0FBYyxDQUFDQyxPQUFPLENBQUMsYUFBYSxDQUFDO0VBQ3hELElBQUltQyxJQUFJLEdBQUcsSUFBSTtFQUVmLElBQUlELFVBQVUsRUFBRTtJQUNkLElBQUk7TUFDRkMsSUFBSSxHQUFHSSxJQUFJLENBQUNDLEtBQUssQ0FBQ04sVUFBVSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxPQUFPdEMsS0FBSyxFQUFFO01BQ2RXLE9BQU8sQ0FBQ1gsS0FBSyxDQUFDLGdEQUFnRCxFQUFFQSxLQUFLLENBQUM7SUFDeEU7RUFDRjtFQUVBVyxPQUFPLENBQUNZLEdBQUcsQ0FBQyxjQUFjLEVBQUVnQixJQUFJLENBQUM7O0VBRWpDO0VBQ0EsSUFBTW9JLGVBQWUsR0FDbkJDLE9BQU8sQ0FBQ0YsV0FBVyxJQUFJQSxXQUFXLENBQUMxTixNQUFNLEdBQUcsQ0FBQyxJQUFJdUYsSUFBSSxDQUFDO0VBRXhELE9BQU9vSSxlQUFlLGdCQUFHclcsMERBQUEsQ0FBQUEsdURBQUEsUUFBR21XLFFBQVcsQ0FBQyxnQkFBR25XLDBEQUFBLENBQUNrVyxzREFBUTtJQUFDTSxFQUFFLEVBQUM7RUFBUSxDQUFFLENBQUM7QUFDckUsQ0FBQztBQUVELGlFQUFlZCxjQUFjLEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzFCc0I7QUFlSTtBQUNSO0FBV087QUFHdEQsSUFBUTRCLE1BQU0sR0FBQUMsdURBQUEsQ0FBTkQsTUFBTTs7QUFFZDs7QUFTQTtBQUNBLElBQU1FLFdBQVcsR0FBRztFQUNsQkMsZUFBZSxFQUFFLCtCQUErQjtFQUNoREMsY0FBYyxFQUFFO0FBQ2xCLENBQUM7QUFPRCxJQUFNQyxnQkFBaUQsR0FBRyxTQUFwREEsZ0JBQWlEQSxDQUFBL00sSUFBQSxFQUdqRDtFQUFBLElBRkpnTixVQUFVLEdBQUFoTixJQUFBLENBQVZnTixVQUFVO0lBQ1ZDLGFBQWEsR0FBQWpOLElBQUEsQ0FBYmlOLGFBQWE7RUFFYixJQUFBQyxhQUFBLEdBQWVDLHFEQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQUMsY0FBQSxDQUFBSixhQUFBO0lBQXRCSyxJQUFJLEdBQUFGLGNBQUE7RUFDWCxJQUFNRyxRQUFRLEdBQUd6Qix5REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTTBCLFFBQVEsR0FBR3hCLDhEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFBeUIsU0FBQSxHQUFzRDVCLGdEQUFRLENBQWtCLEVBQUUsQ0FBQztJQUFBNkIsVUFBQSxHQUFBTCxjQUFBLENBQUFJLFNBQUE7SUFBNUVFLG1CQUFtQixHQUFBRCxVQUFBO0lBQUVFLHNCQUFzQixHQUFBRixVQUFBO0VBQ2xELElBQUFHLFlBQUEsR0FTSTlCLHlEQUFXLENBQUMsVUFBQytCLEtBQWdCO01BQUEsT0FBS0EsS0FBSyxDQUFDMUQsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUFBLEVBQUM7SUFBQTJELHFCQUFBLEdBQUFGLFlBQUEsQ0FSN0RHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0FBQUosWUFBQSxDQUNkSyxTQUFTO0lBQVRBLFNBQVMsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBQUFOLFlBQUEsQ0FDZE8sUUFBUTtJQUFSQSxRQUFRLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBUixZQUFBLENBQ2JTLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0FBQVYsWUFBQSxDQUNiVyxlQUFlO0lBQWZBLGVBQWUsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQ3BCRSxZQUFZLEdBQUFaLFlBQUEsQ0FBWlksWUFBWTtJQUNaQyxlQUFlLEdBQUFiLFlBQUEsQ0FBZmEsZUFBZTtJQUNmQyxvQkFBb0IsR0FBQWQsWUFBQSxDQUFwQmMsb0JBQW9CO0VBR3RCLElBQU1DLFlBQVksR0FBRyxJQUFJQyxlQUFlLENBQUNDLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDO0VBQ3pELElBQU05SyxFQUFFLEdBQUcySyxZQUFZLENBQUN0TixHQUFHLENBQUMsSUFBSSxDQUFDO0VBRWpDLElBQUEwTixVQUFBLEdBQThCbkQsZ0RBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW9ELFVBQUEsR0FBQTVCLGNBQUEsQ0FBQTJCLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7O0VBRTFCO0VBQ0FyRCxpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJM0gsRUFBRSxFQUFFO01BQ05zSixRQUFRLENBQUNmLHlGQUFrQixDQUFDNEMsTUFBTSxDQUFDbkwsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDLE1BQU07TUFDTHFKLElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QjtFQUNGLENBQUMsRUFBRSxDQUFDOUIsUUFBUSxFQUFFdEosRUFBRSxFQUFFcUosSUFBSSxDQUFDLENBQUM7O0VBRXhCO0VBQ0ExQixpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJM0gsRUFBRSxJQUFJd0ssWUFBWSxFQUFFO01BQ3RCbkIsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1FBQ2xCQyxJQUFJLEVBQUVkLFlBQVksQ0FBQ2MsSUFBSSxJQUFJLEVBQUU7UUFDN0JDLEtBQUssRUFBRWYsWUFBWSxDQUFDZSxLQUFLLElBQUksRUFBRTtRQUMvQkMsTUFBTSxFQUFFaEIsWUFBWSxDQUFDZ0IsTUFBTSxJQUFJLEVBQUU7UUFDakNDLEdBQUcsRUFBRWpCLFlBQVksQ0FBQ2lCLEdBQUcsSUFBSSxDQUFDO1FBQzFCL0YsUUFBUSxFQUFFOEUsWUFBWSxDQUFDOUUsUUFBUSxJQUFJLEVBQUU7UUFDckNnRyxRQUFRLEVBQUVsQixZQUFZLENBQUNrQixRQUFRLElBQUksRUFBRTtRQUNyQ0MsT0FBTyxFQUFFbkIsWUFBWSxDQUFDbUIsT0FBTyxJQUFJLEVBQUU7UUFDbkNDLE9BQU8sRUFBRXBCLFlBQVksQ0FBQ29CLE9BQU8sSUFBSSxFQUFFO1FBQ25DQyxZQUFZLEVBQUVyQixZQUFZLENBQUNxQixZQUFZLElBQUksQ0FBQztRQUM1Q0MsV0FBVyxFQUFFdEIsWUFBWSxDQUFDc0IsV0FBVyxJQUFJLENBQUM7UUFDMUNDLGFBQWEsRUFBRXZCLFlBQVksQ0FBQ3VCLGFBQWEsSUFBSSxDQUFDO1FBQzlDQyxjQUFjLEVBQUV4QixZQUFZLENBQUN3QixjQUFjLElBQUksQ0FBQztRQUNoREMsVUFBVSxFQUFFekIsWUFBWSxDQUFDeUIsVUFBVSxJQUFJLENBQUM7UUFDeENDLFNBQVMsRUFBRTFCLFlBQVksQ0FBQzBCLFNBQVMsSUFBSSxDQUFDO1FBQ3RDQyxXQUFXLEVBQUUzQixZQUFZLENBQUMyQixXQUFXLElBQUksQ0FBQztRQUMxQ0MsV0FBVyxFQUFFNUIsWUFBWSxDQUFDNEIsV0FBVyxJQUFJLENBQUM7UUFDMUNDLFVBQVUsRUFBRTdCLFlBQVksQ0FBQzZCLFVBQVUsSUFBSSxDQUFDO1FBQ3hDQyxZQUFZLEVBQUU5QixZQUFZLENBQUM4QixZQUFZLElBQUksQ0FBQztRQUM1Q0MsV0FBVyxFQUFFL0IsWUFBWSxDQUFDK0IsV0FBVyxJQUFJLEtBQUs7UUFDOUNDLFVBQVUsRUFBRWhDLFlBQVksQ0FBQ2dDLFVBQVUsSUFBSSxLQUFLO1FBQzVDQyxpQkFBaUIsRUFBRWpDLFlBQVksQ0FBQ2lDLGlCQUFpQixJQUFJLElBQUk7UUFDekRDLElBQUksRUFBRWxDLFlBQVksQ0FBQ2tDLElBQUksSUFBSTtNQUM3QixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDbEMsWUFBWSxFQUFFbkIsSUFBSSxFQUFFckosRUFBRSxDQUFDLENBQUM7O0VBRTVCO0VBQ0EySCxpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUM4QyxlQUFlLElBQUlRLE9BQU8sRUFBRTtNQUMvQixJQUFJUCxvQkFBb0IsRUFBRTtRQUN4QmlDLHVEQUFBLENBQVEvUCxLQUFLLENBQUM4TixvQkFBb0IsQ0FBQztNQUNyQyxDQUFDLE1BQU07UUFDTGlDLHVEQUFBLENBQVF6USxPQUFPLENBQUM4RCxFQUFFLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkV1SixRQUFRLENBQUMsZ0JBQWdCLENBQUM7TUFDNUI7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDa0IsZUFBZSxFQUFFQyxvQkFBb0IsRUFBRTFLLEVBQUUsRUFBRWlMLE9BQU8sRUFBRTFCLFFBQVEsQ0FBQyxDQUFDO0VBRWxFNUIsaURBQVMsQ0FBQyxZQUFNO0lBQ2QyQixRQUFRLENBQUN0QixvRkFBYSxDQUFDLENBQUMsQ0FBQztJQUN6QnNCLFFBQVEsQ0FBQ2xCLDBGQUFtQixDQUFDLENBQUMsQ0FBQztFQUNqQyxDQUFDLEVBQUUsQ0FBQ2tCLFFBQVEsQ0FBQyxDQUFDOztFQUVkO0VBQ0EzQixpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFNaUYsV0FBVyxHQUFHQyxZQUFZLENBQUM3UCxPQUFPLENBQUMwTCxXQUFXLENBQUNDLGVBQWUsQ0FBQztJQUNyRSxJQUFJaUUsV0FBVyxFQUFFO01BQ2YsSUFBTUUsTUFBTSxHQUFHdk4sSUFBSSxDQUFDQyxLQUFLLENBQUNvTixXQUFXLENBQUM7TUFDdENqRCxzQkFBc0IsQ0FBQ21ELE1BQU0sQ0FBQzs7TUFFOUI7TUFDQSxJQUFNQyxVQUFVLEdBQUdELE1BQU0sQ0FBQyxDQUFDLENBQUM7TUFDNUIsSUFBSUMsVUFBVSxFQUFFO1FBQ2RDLHVCQUF1QixDQUFDRCxVQUFVLENBQUM7TUFDckM7SUFDRjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNRSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJQyxJQUFpQyxFQUFFOVYsS0FBb0IsRUFBSztJQUMxRixJQUFJOFYsSUFBSSxLQUFLLFFBQVEsRUFBRTtNQUNyQixJQUFJLENBQUM5VixLQUFLLEVBQUU7UUFDVmlTLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztVQUFFUyxXQUFXLEVBQUUsQ0FBQztVQUFFQyxhQUFhLEVBQUU7UUFBRSxDQUFDLENBQUM7TUFDM0QsQ0FBQyxNQUFNO1FBQ0wsSUFBTW9CLElBQUksR0FBRzlELElBQUksQ0FBQytELGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ25ELElBQU1DLE1BQU0sR0FBR2hFLElBQUksQ0FBQytELGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBRXZELElBQUlELElBQUksR0FBRyxDQUFDLElBQUlBLElBQUksSUFBSS9WLEtBQUssRUFBRTtVQUM3QmlTLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztZQUFFVSxhQUFhLEVBQUUzVSxLQUFLLEdBQUcrVjtVQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLE1BQU0sSUFBSUUsTUFBTSxHQUFHLENBQUMsSUFBSUEsTUFBTSxJQUFJalcsS0FBSyxFQUFFO1VBQ3hDaVMsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1lBQUVTLFdBQVcsRUFBRTFVLEtBQUssR0FBR2lXO1VBQU8sQ0FBQyxDQUFDO1FBQ3REO01BQ0Y7SUFDRjtJQUVBLElBQUlILElBQUksS0FBSyxNQUFNLEVBQUU7TUFDbkIsSUFBSSxDQUFDOVYsS0FBSyxFQUFFO1FBQ1ZpUyxJQUFJLENBQUNnQyxjQUFjLENBQUM7VUFBRWEsU0FBUyxFQUFFLENBQUM7VUFBRUMsV0FBVyxFQUFFO1FBQUUsQ0FBQyxDQUFDO01BQ3ZELENBQUMsTUFBTTtRQUNMLElBQU1nQixLQUFJLEdBQUc5RCxJQUFJLENBQUMrRCxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNqRCxJQUFNQyxPQUFNLEdBQUdoRSxJQUFJLENBQUMrRCxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUVyRCxJQUFJRCxLQUFJLEdBQUcsQ0FBQyxJQUFJQSxLQUFJLElBQUkvVixLQUFLLEVBQUU7VUFDN0JpUyxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRWMsV0FBVyxFQUFFL1UsS0FBSyxHQUFHK1Y7VUFBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxNQUFNLElBQUlFLE9BQU0sR0FBRyxDQUFDLElBQUlBLE9BQU0sSUFBSWpXLEtBQUssRUFBRTtVQUN4Q2lTLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztZQUFFYSxTQUFTLEVBQUU5VSxLQUFLLEdBQUdpVztVQUFPLENBQUMsQ0FBQztRQUNwRDtNQUNGO0lBQ0Y7SUFFQSxJQUFJSCxJQUFJLEtBQUssT0FBTyxFQUFFO01BQ3BCLElBQUksQ0FBQzlWLEtBQUssRUFBRTtRQUNWaVMsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1VBQUVnQixVQUFVLEVBQUUsQ0FBQztVQUFFQyxZQUFZLEVBQUU7UUFBRSxDQUFDLENBQUM7TUFDekQsQ0FBQyxNQUFNO1FBQ0wsSUFBTWEsTUFBSSxHQUFHOUQsSUFBSSxDQUFDK0QsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDbEQsSUFBTUMsUUFBTSxHQUFHaEUsSUFBSSxDQUFDK0QsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFFdEQsSUFBSUQsTUFBSSxHQUFHLENBQUMsSUFBSUEsTUFBSSxJQUFJL1YsS0FBSyxFQUFFO1VBQzdCaVMsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1lBQUVpQixZQUFZLEVBQUVsVixLQUFLLEdBQUcrVjtVQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLE1BQU0sSUFBSUUsUUFBTSxHQUFHLENBQUMsSUFBSUEsUUFBTSxJQUFJalcsS0FBSyxFQUFFO1VBQ3hDaVMsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1lBQUVnQixVQUFVLEVBQUVqVixLQUFLLEdBQUdpVztVQUFPLENBQUMsQ0FBQztRQUNyRDtNQUNGO0lBQ0Y7RUFDRixDQUFDO0VBRUQsSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBSUosSUFBaUMsRUFBRTFCLE1BQXlCLEVBQUVwVSxLQUFvQixFQUFLO0lBQ3RILElBQU1tVyxVQUFVLEdBQUc7TUFDakJDLE1BQU0sRUFBRSxjQUFjO01BQ3RCQyxJQUFJLEVBQUUsWUFBWTtNQUNsQkMsS0FBSyxFQUFFO0lBQ1QsQ0FBQyxDQUFDUixJQUFJLENBQUM7SUFFUCxJQUFNUyxLQUFLLEdBQUd0RSxJQUFJLENBQUMrRCxhQUFhLENBQUNHLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFFakQsSUFBSUksS0FBSyxLQUFLLENBQUMsRUFBRTtNQUNmdEUsSUFBSSxDQUFDZ0MsY0FBYyxDQUFBdUMsZUFBQSxDQUFBQSxlQUFBLFFBQUF6USxNQUFBLENBQ2IrUCxJQUFJLFlBQVUsQ0FBQyxNQUFBL1AsTUFBQSxDQUNmK1AsSUFBSSxjQUFZLENBQUMsQ0FDdEIsQ0FBQztNQUNGO0lBQ0Y7SUFDQSxJQUFJOVYsS0FBSyxHQUFHdVcsS0FBSyxFQUFFO01BQ2pCaEIsdURBQUEsQ0FBUWtCLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQztNQUNwRHhFLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQXVDLGVBQUEsUUFBQXpRLE1BQUEsQ0FBTytQLElBQUksT0FBQS9QLE1BQUEsQ0FBSXFPLE1BQU0sR0FBS21DLEtBQUssQ0FBRSxDQUFDO01BQ3JEdEUsSUFBSSxDQUFDZ0MsY0FBYyxDQUFBdUMsZUFBQSxRQUFBelEsTUFBQSxDQUFPK1AsSUFBSSxPQUFBL1AsTUFBQSxDQUFJcU8sTUFBTSxLQUFLLE1BQU0sR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFLLENBQUMsQ0FBRSxDQUFDO01BQ2hGO0lBQ0Y7SUFDQW5DLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQXVDLGVBQUEsUUFBQXpRLE1BQUEsQ0FBTytQLElBQUksT0FBQS9QLE1BQUEsQ0FBSXFPLE1BQU0sS0FBSyxNQUFNLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBS21DLEtBQUssR0FBR3ZXLEtBQUssQ0FBRSxDQUFDO0VBQzlGLENBQUM7O0VBRUQ7RUFDQSxJQUFNMFcsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUlDLE1BQTBCLEVBQUs7SUFDbkQsSUFBSS9OLEVBQUUsRUFBRTtNQUNOc0osUUFBUSxDQUFDaEIseUZBQWtCLENBQUM7UUFBRXRJLEVBQUUsRUFBRW1MLE1BQU0sQ0FBQ25MLEVBQUUsQ0FBQztRQUFFMUMsSUFBSSxFQUFFeVE7TUFBTyxDQUFDLENBQUMsQ0FBQztNQUM5RDFFLElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLENBQUMsTUFBTTtNQUNMOUIsUUFBUSxDQUFDakIseUZBQWtCLENBQUM7UUFBRS9LLElBQUksRUFBRXlRO01BQU8sQ0FBQyxDQUFDLENBQUM7TUFDOUMxRSxJQUFJLENBQUMrQixXQUFXLENBQUMsQ0FBQztJQUNwQjtJQUNBRixVQUFVLENBQUMsSUFBSSxDQUFDO0VBQ2xCLENBQUM7RUFFRCxJQUFNOEIsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBSWdCLGFBQTRCLEVBQUs7SUFDaEU7SUFDQSxJQUFJQSxhQUFhLENBQUN0SSxRQUFRLEVBQUU7TUFDMUIsSUFBTXVJLGFBQWEsTUFBQTlRLE1BQUEsQ0FBTTZRLGFBQWEsQ0FBQ3RJLFFBQVEsQ0FBQzFGLEVBQUUsT0FBQTdDLE1BQUEsQ0FBSTZRLGFBQWEsQ0FBQ3RJLFFBQVEsQ0FBQzRGLElBQUksQ0FBRTtNQUNuRmpDLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztRQUFFM0YsUUFBUSxFQUFFdUk7TUFBYyxDQUFDLENBQUM7TUFDaEQzRSxRQUFRLENBQUNyQixvRkFBYSxDQUFDO1FBQUVqSSxFQUFFLEVBQUVtTCxNQUFNLENBQUM2QyxhQUFhLENBQUN0SSxRQUFRLENBQUMxRixFQUFFO01BQUUsQ0FBQyxDQUFDLENBQUM7O01BRWxFO01BQ0EsSUFBSWdPLGFBQWEsQ0FBQ3RDLFFBQVEsRUFBRTtRQUMxQixJQUFNd0MsYUFBYSxNQUFBL1EsTUFBQSxDQUFNNlEsYUFBYSxDQUFDdEMsUUFBUSxDQUFDMUwsRUFBRSxPQUFBN0MsTUFBQSxDQUFJNlEsYUFBYSxDQUFDdEMsUUFBUSxDQUFDSixJQUFJLENBQUU7UUFDbkZqQyxJQUFJLENBQUNnQyxjQUFjLENBQUM7VUFBRUssUUFBUSxFQUFFd0M7UUFBYyxDQUFDLENBQUM7UUFDaEQ1RSxRQUFRLENBQUNwQixtRkFBWSxDQUFDO1VBQUVsSSxFQUFFLEVBQUVtTCxNQUFNLENBQUM2QyxhQUFhLENBQUN0QyxRQUFRLENBQUMxTCxFQUFFO1FBQUUsQ0FBQyxDQUFDLENBQUM7O1FBRWpFO1FBQ0EsSUFBSWdPLGFBQWEsQ0FBQ3JDLE9BQU8sRUFBRTtVQUN6QixJQUFNd0MsWUFBWSxNQUFBaFIsTUFBQSxDQUFNNlEsYUFBYSxDQUFDckMsT0FBTyxDQUFDM0wsRUFBRSxPQUFBN0MsTUFBQSxDQUFJNlEsYUFBYSxDQUFDckMsT0FBTyxDQUFDTCxJQUFJLENBQUU7VUFDaEZqQyxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRU0sT0FBTyxFQUFFd0M7VUFBYSxDQUFDLENBQUM7VUFDOUM3RSxRQUFRLENBQUNuQiwwRkFBbUIsQ0FBQztZQUFFbkksRUFBRSxFQUFFbUwsTUFBTSxDQUFDNkMsYUFBYSxDQUFDckMsT0FBTyxDQUFDM0wsRUFBRTtVQUFFLENBQUMsQ0FBQyxDQUFDOztVQUV2RTtVQUNBLElBQUlnTyxhQUFhLENBQUNwQyxPQUFPLEVBQUU7WUFDekIsSUFBTXdDLFlBQVksTUFBQWpSLE1BQUEsQ0FBTTZRLGFBQWEsQ0FBQ3BDLE9BQU8sQ0FBQzVMLEVBQUUsT0FBQTdDLE1BQUEsQ0FBSTZRLGFBQWEsQ0FBQ3BDLE9BQU8sQ0FBQ04sSUFBSSxDQUFFO1lBQ2hGakMsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO2NBQUVPLE9BQU8sRUFBRXdDO1lBQWEsQ0FBQyxDQUFDO1VBQ2hEO1FBQ0Y7TUFDRjtJQUNGO0VBQ0YsQ0FBQztFQUVELElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFFBQWdDLEVBQUs7SUFDOUQsSUFBTUMsWUFBWSxHQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDYkYsUUFBUTtNQUNYRyxTQUFTLEVBQUUsSUFBSXBjLElBQUksQ0FBQyxDQUFDLENBQUNxYyxXQUFXLENBQUM7SUFBQyxFQUNwQzs7SUFFRDtJQUNBLElBQU1DLGNBQWMsR0FBR2pGLG1CQUFtQixDQUFDa0YsTUFBTSxDQUFDLFVBQUFDLEtBQUs7TUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxlQUFBLEVBQUFDLHFCQUFBLEVBQUFDLGNBQUEsRUFBQUMscUJBQUE7TUFBQSxPQUNyREwsS0FBSyxDQUFDbkosUUFBUSxDQUFDMUYsRUFBRSxPQUFBOE8scUJBQUEsR0FBS1AsWUFBWSxDQUFDN0ksUUFBUSxjQUFBb0oscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QjlPLEVBQUUsS0FDL0MsRUFBQStPLGVBQUEsR0FBQUYsS0FBSyxDQUFDbkQsUUFBUSxjQUFBcUQsZUFBQSx1QkFBZEEsZUFBQSxDQUFnQi9PLEVBQUUsUUFBQWdQLHFCQUFBLEdBQUtULFlBQVksQ0FBQzdDLFFBQVEsY0FBQXNELHFCQUFBLHVCQUFyQkEscUJBQUEsQ0FBdUJoUCxFQUFFLEtBQ2hELEVBQUFpUCxjQUFBLEdBQUFKLEtBQUssQ0FBQ2xELE9BQU8sY0FBQXNELGNBQUEsdUJBQWJBLGNBQUEsQ0FBZWpQLEVBQUUsUUFBQWtQLHFCQUFBLEdBQUtYLFlBQVksQ0FBQzVDLE9BQU8sY0FBQXVELHFCQUFBLHVCQUFwQkEscUJBQUEsQ0FBc0JsUCxFQUFFO0lBQUEsQ0FDaEQsQ0FBQztJQUVELElBQU1tUCxTQUFTLEdBQUcsQ0FBQ1osWUFBWSxFQUFBcFIsTUFBQSxDQUFBaVMsa0JBQUEsQ0FBS1QsY0FBYyxHQUFFVSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRDFGLHNCQUFzQixDQUFDd0YsU0FBUyxDQUFDO0lBQ2pDdEMsWUFBWSxDQUFDeUMsT0FBTyxDQUFDNUcsV0FBVyxDQUFDQyxlQUFlLEVBQUVwSixJQUFJLENBQUNnUSxTQUFTLENBQUNKLFNBQVMsQ0FBQyxDQUFDO0VBQzlFLENBQUM7RUFFRCxJQUFNSyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJcFksS0FBYyxFQUFLO0lBQy9DLElBQUksQ0FBQ0EsS0FBSyxFQUFFO0lBQ1osSUFBQXFZLFlBQUEsR0FBbUNyWSxLQUFLLENBQUNzWSxLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFDLGFBQUEsR0FBQXZHLGNBQUEsQ0FBQXFHLFlBQUE7TUFBNUNHLFVBQVUsR0FBQUQsYUFBQTtNQUFFRSxZQUFZLEdBQUFGLGFBQUE7SUFDL0JyRyxRQUFRLENBQUNyQixvRkFBYSxDQUFDO01BQUVqSSxFQUFFLEVBQUVtTCxNQUFNLENBQUN5RSxVQUFVLENBQUNFLElBQUksQ0FBQyxDQUFDO0lBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUR6RyxJQUFJLENBQUNnQyxjQUFjLENBQUM7TUFBRUssUUFBUSxFQUFFbE8sU0FBUztNQUFFbU8sT0FBTyxFQUFFbk8sU0FBUztNQUFFb08sT0FBTyxFQUFFcE87SUFBVSxDQUFDLENBQUM7SUFFcEY2USxpQkFBaUIsQ0FBQztNQUNoQjNJLFFBQVEsRUFBRTtRQUNSMUYsRUFBRSxFQUFFNFAsVUFBVSxDQUFDRSxJQUFJLENBQUMsQ0FBQztRQUNyQnhFLElBQUksRUFBRXVFLFlBQVksQ0FBQ0MsSUFBSSxDQUFDO01BQzFCO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUkzWSxLQUFjLEVBQUs7SUFBQSxJQUFBNFksbUJBQUE7SUFDL0MsSUFBSSxDQUFDNVksS0FBSyxFQUFFO0lBQ1osSUFBQTZZLGFBQUEsR0FBbUM3WSxLQUFLLENBQUNzWSxLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFRLGFBQUEsR0FBQTlHLGNBQUEsQ0FBQTZHLGFBQUE7TUFBNUNFLFVBQVUsR0FBQUQsYUFBQTtNQUFFRSxZQUFZLEdBQUFGLGFBQUE7SUFDL0I1RyxRQUFRLENBQUNwQixtRkFBWSxDQUFDO01BQUVsSSxFQUFFLEVBQUVtTCxNQUFNLENBQUNnRixVQUFVLENBQUNMLElBQUksQ0FBQyxDQUFDO0lBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekR6RyxJQUFJLENBQUNnQyxjQUFjLENBQUM7TUFBRU0sT0FBTyxFQUFFbk8sU0FBUztNQUFFb08sT0FBTyxFQUFFcE87SUFBVSxDQUFDLENBQUM7SUFFL0QsSUFBTTZTLGVBQWUsSUFBQUwsbUJBQUEsR0FBRzNHLElBQUksQ0FBQytELGFBQWEsQ0FBQyxVQUFVLENBQUMsY0FBQTRDLG1CQUFBLHVCQUE5QkEsbUJBQUEsQ0FBZ0NOLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbEUsSUFBSVcsZUFBZSxFQUFFO01BQ25CaEMsaUJBQWlCLENBQUM7UUFDaEIzSSxRQUFRLEVBQUU7VUFDUjFGLEVBQUUsRUFBRXFRLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1AsSUFBSSxDQUFDLENBQUM7VUFDN0J4RSxJQUFJLEVBQUUrRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNQLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBQ0RwRSxRQUFRLEVBQUU7VUFDUjFMLEVBQUUsRUFBRW1RLFVBQVUsQ0FBQ0wsSUFBSSxDQUFDLENBQUM7VUFDckJ4RSxJQUFJLEVBQUU4RSxZQUFZLENBQUNOLElBQUksQ0FBQztRQUMxQjtNQUNGLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQztFQUVELElBQU1RLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlsWixLQUFjLEVBQUs7SUFBQSxJQUFBbVosb0JBQUEsRUFBQUMsb0JBQUE7SUFDOUMsSUFBSSxDQUFDcFosS0FBSyxFQUFFO0lBQ1osSUFBQXFaLGFBQUEsR0FBaUNyWixLQUFLLENBQUNzWSxLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFnQixhQUFBLEdBQUF0SCxjQUFBLENBQUFxSCxhQUFBO01BQTFDRSxTQUFTLEdBQUFELGFBQUE7TUFBRUUsV0FBVyxHQUFBRixhQUFBO0lBQzdCcEgsUUFBUSxDQUFDbkIsMEZBQW1CLENBQUM7TUFBRW5JLEVBQUUsRUFBRW1MLE1BQU0sQ0FBQ3dGLFNBQVMsQ0FBQ2IsSUFBSSxDQUFDLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRHpHLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztNQUFFTyxPQUFPLEVBQUVwTztJQUFVLENBQUMsQ0FBQztJQUUzQyxJQUFNNlMsZUFBZSxJQUFBRSxvQkFBQSxHQUFHbEgsSUFBSSxDQUFDK0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxjQUFBbUQsb0JBQUEsdUJBQTlCQSxvQkFBQSxDQUFnQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRSxJQUFNbUIsZUFBZSxJQUFBTCxvQkFBQSxHQUFHbkgsSUFBSSxDQUFDK0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxjQUFBb0Qsb0JBQUEsdUJBQTlCQSxvQkFBQSxDQUFnQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRSxJQUFJVyxlQUFlLElBQUlRLGVBQWUsRUFBRTtNQUN0Q3hDLGlCQUFpQixDQUFDO1FBQ2hCM0ksUUFBUSxFQUFFO1VBQ1IxRixFQUFFLEVBQUVxUSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNQLElBQUksQ0FBQyxDQUFDO1VBQzdCeEUsSUFBSSxFQUFFK0UsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDUCxJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNEcEUsUUFBUSxFQUFFO1VBQ1IxTCxFQUFFLEVBQUU2USxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNmLElBQUksQ0FBQyxDQUFDO1VBQzdCeEUsSUFBSSxFQUFFdUYsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDZixJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNEbkUsT0FBTyxFQUFFO1VBQ1AzTCxFQUFFLEVBQUUyUSxTQUFTLENBQUNiLElBQUksQ0FBQyxDQUFDO1VBQ3BCeEUsSUFBSSxFQUFFc0YsV0FBVyxDQUFDZCxJQUFJLENBQUM7UUFDekI7TUFDRixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUM7RUFFRCxJQUFNZ0IsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QnpILElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDO0lBQ2xCeUIsWUFBWSxDQUFDa0UsVUFBVSxDQUFDckksV0FBVyxDQUFDRSxjQUFjLENBQUM7SUFDbkRXLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztFQUM1QixDQUFDO0VBRUQsSUFBTXlILFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFBLEVBQVM7SUFDdEIsSUFBTWpFLFVBQVUsR0FBR3JELG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUNxRCxVQUFVLEVBQUUsT0FBTyxJQUFJO0lBRTVCLG9CQUNFN2IsMkRBQUE7TUFBS0ssS0FBSyxFQUFFO1FBQUUwZixZQUFZLEVBQUU7TUFBRztJQUFFLGdCQUMvQi9mLDJEQUFBLENBQUFnZ0IscURBQUE7TUFBT0MsS0FBSyxFQUFDO0lBQVEsZ0JBQ25CamdCLDJEQUFBLGVBQU0sdUZBQW9DLENBQUMsZUFDM0NBLDJEQUFBLENBQUFrZ0IsbURBQUE7TUFBS0MsS0FBSyxFQUFDO0lBQU0sR0FDZHRFLFVBQVUsQ0FBQ3JILFFBQVEsQ0FBQzRGLElBQUksRUFDeEJ5QixVQUFVLENBQUNyQixRQUFRLFVBQUF2TyxNQUFBLENBQVU0UCxVQUFVLENBQUNyQixRQUFRLENBQUNKLElBQUksQ0FBRSxFQUN2RHlCLFVBQVUsQ0FBQ3BCLE9BQU8sVUFBQXhPLE1BQUEsQ0FBVTRQLFVBQVUsQ0FBQ3BCLE9BQU8sQ0FBQ0wsSUFBSSxDQUNqRCxDQUNBLENBQ0osQ0FBQztFQUVWLENBQUM7O0VBRUQ7RUFDQTNELGlEQUFTLENBQUMsWUFBTTtJQUNkLElBQU1pRixXQUFXLEdBQUdDLFlBQVksQ0FBQzdQLE9BQU8sQ0FBQzBMLFdBQVcsQ0FBQ0MsZUFBZSxDQUFDO0lBQ3JFLElBQUlpRSxXQUFXLEVBQUU7TUFDZixJQUFNRSxNQUFNLEdBQUd2TixJQUFJLENBQUNDLEtBQUssQ0FBQ29OLFdBQVcsQ0FBQztNQUN0Q2pELHNCQUFzQixDQUFDbUQsTUFBTSxDQUFDOztNQUU5QjtNQUNBLElBQU1DLFVBQVUsR0FBR0QsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUM1QixJQUFJQyxVQUFVLEVBQUU7UUFDZEMsdUJBQXVCLENBQUNELFVBQVUsQ0FBQztNQUNyQztJQUNGO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOcEYsaURBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSW9CLGFBQWEsSUFBS0QsVUFBVyxFQUFFO01BQ2pDTyxJQUFJLENBQUNnQyxjQUFjLENBQUN0QyxhQUFhLENBQUM7SUFDcEM7RUFDRixDQUFDLEVBQUUsQ0FBQ0EsYUFBYSxFQUFFTSxJQUFJLEVBQUVQLFVBQVUsQ0FBQyxDQUFDO0VBRXJDLG9CQUNFNVgsMkRBQUEsQ0FBQW9nQixvREFBQSxxQkFDRXBnQiwyREFBQSxDQUFBK1gscURBQUE7SUFDRUksSUFBSSxFQUFFQSxJQUFLO0lBQ1hrSSxNQUFNLEVBQUMsVUFBVTtJQUNqQkMsUUFBUSxFQUFFMUQsWUFBYTtJQUN2QjJELFFBQVEsRUFBRTNJLFVBQVc7SUFDckJDLGFBQWEsRUFBRUE7RUFBYyxnQkFFN0I3WCwyREFBQSxDQUFDOGYsU0FBUyxNQUFFLENBQUMsZUFDYjlmLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQ1JDLEtBQUssRUFBQyx3RkFBNEI7SUFDbEN0RyxJQUFJLEVBQUMsTUFBTTtJQUNYdUcsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRW5WLE9BQU8sRUFBRTtJQUEyQixDQUFDO0VBQUUsZ0JBRWpFekwsMkRBQUEsQ0FBQTZnQixxREFBQTtJQUFPQyxXQUFXLEVBQUM7RUFBbUIsQ0FBRSxDQUMvQixDQUNSLENBQUMsZUFDTjlnQiwyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQ1JDLEtBQUssRUFBQyw0RUFBcUI7SUFDM0J0RyxJQUFJLEVBQUMsT0FBTztJQUNadUcsS0FBSyxFQUFFLENBQ0w7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRW5WLE9BQU8sRUFBRTtJQUE0QixDQUFDLEVBQ3hEO01BQUVzVixPQUFPLEVBQUUsVUFBVTtNQUFFdFYsT0FBTyxFQUFFO0lBQTZCLENBQUM7RUFDOUQsZ0JBRUZ6TCwyREFBQSxDQUFBNmdCLHFEQUFBO0lBQU9DLFdBQVcsRUFBQztFQUFvQixDQUFFLENBQ2hDLENBQ1IsQ0FDRixDQUFDLGVBR045Z0IsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFO0VBQUcsZ0JBQ2RWLDJEQUFBLENBQUFXLG1EQUFBO0lBQUs2ZixJQUFJLEVBQUU7RUFBRSxnQkFDWHhnQiwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFDUkMsS0FBSyxFQUFDLDZCQUFjO0lBQ3BCdEcsSUFBSSxFQUFDLFFBQVE7SUFDYnVHLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUVuVixPQUFPLEVBQUU7SUFBdUIsQ0FBQztFQUFFLGdCQUU3RHpMLDJEQUFBLENBQUF1WCx1REFBQTtJQUFRdUosV0FBVyxFQUFDO0VBQWUsZ0JBQ2pDOWdCLDJEQUFBLENBQUNzWCxNQUFNO0lBQUNwUixLQUFLLEVBQUM7RUFBTSxHQUFDLHVDQUFvQixDQUFDLGVBQzFDbEcsMkRBQUEsQ0FBQ3NYLE1BQU07SUFBQ3BSLEtBQUssRUFBQztFQUFRLEdBQUMsbUNBQXFCLENBQ3RDLENBQ0MsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQ1JDLEtBQUssRUFBQyxnQ0FBWTtJQUNsQnRHLElBQUksRUFBQyxLQUFLO0lBQ1Z1RyxLQUFLLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFblYsT0FBTyxFQUFFO0lBQW1CLENBQUM7RUFBRSxnQkFFekR6TCwyREFBQSxDQUFBZ2hCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUM1Z0IsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTztFQUFFLENBQUUsQ0FDdkMsQ0FDUixDQUNGLENBQUMsZUFHTnZHLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDckcsSUFBSSxFQUFDLFVBQVU7SUFBQ3NHLEtBQUssRUFBQywrRUFBNkI7SUFBQ0MsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFO0lBQUssQ0FBQztFQUFFLGdCQUN6RjVnQiwyREFBQSxDQUFBdVgsdURBQUE7SUFBUXVKLFdBQVcsRUFBQyxpQkFBaUI7SUFBQ0ksUUFBUSxFQUFFNUM7RUFBcUIsR0FDbEV6RixTQUFTLENBQUNuUSxNQUFNLEdBQ2ZtUSxTQUFTLENBQ042RSxNQUFNLENBQUMsVUFBQXZWLENBQUM7SUFBQSxPQUFJZ1osb0JBQW9CLENBQUNDLFFBQVEsQ0FBQ2paLENBQUMsQ0FBQzJHLEVBQUUsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ3FTLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFBQSxFQUFDLENBQzVFQyxHQUFHLENBQUMsVUFBQ25aLENBQUM7SUFBQSxvQkFDTG5JLDJEQUFBLENBQUNzWCxNQUFNO01BQUNyUixHQUFHLEVBQUVrQyxDQUFDLENBQUMyRyxFQUFHO01BQUM1SSxLQUFLLEtBQUErRixNQUFBLENBQUs5RCxDQUFDLENBQUMyRyxFQUFFLFFBQUE3QyxNQUFBLENBQUs5RCxDQUFDLENBQUNpUyxJQUFJLENBQUNtSCxFQUFFLFNBQUF0VixNQUFBLENBQU05RCxDQUFDLENBQUNpUyxJQUFJLENBQUNvSCxLQUFLO0lBQUcsTUFBQXZWLE1BQUEsQ0FDOUQ5RCxDQUFDLENBQUNpUyxJQUFJLENBQUNtSCxFQUFFLFNBQUF0VixNQUFBLENBQU05RCxDQUFDLENBQUNpUyxJQUFJLENBQUNvSCxLQUFLLENBQ3pCLENBQUM7RUFBQSxDQUNWLENBQUMsZ0JBRUp4aEIsMkRBQUEsQ0FBQ3NYLE1BQU07SUFBQ2lKLFFBQVE7RUFBQSxHQUFDLHdCQUE4QixDQUUzQyxDQUNDLENBQ1IsQ0FBQyxlQUNOdmdCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQUNyRyxJQUFJLEVBQUMsVUFBVTtJQUFDc0csS0FBSyxFQUFDLHlFQUE0QjtJQUFDQyxLQUFLLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUU7SUFBSyxDQUFDO0VBQUUsZ0JBQ3hGNWdCLDJEQUFBLENBQUF1WCx1REFBQTtJQUFRdUosV0FBVyxFQUFDLGlCQUFpQjtJQUFDSSxRQUFRLEVBQUVyQztFQUFxQixHQUNsRTlGLFNBQVMsQ0FBQ3JRLE1BQU0sR0FDZnFRLFNBQVMsQ0FBQ3VJLEdBQUcsQ0FBQyxVQUFDOVksQ0FBQztJQUFBLG9CQUNkeEksMkRBQUEsQ0FBQ3NYLE1BQU07TUFBQ3JSLEdBQUcsRUFBRXVDLENBQUMsQ0FBQ3NHLEVBQUc7TUFBQzVJLEtBQUssS0FBQStGLE1BQUEsQ0FBS3pELENBQUMsQ0FBQ3NHLEVBQUUsUUFBQTdDLE1BQUEsQ0FBS3pELENBQUMsQ0FBQzRSLElBQUksQ0FBQ21ILEVBQUUsU0FBQXRWLE1BQUEsQ0FBTXpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ29ILEtBQUs7SUFBRyxNQUFBdlYsTUFBQSxDQUM5RHpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ21ILEVBQUUsU0FBQXRWLE1BQUEsQ0FBTXpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ29ILEtBQUssQ0FDekIsQ0FBQztFQUFBLENBQ1YsQ0FBQyxnQkFFRnhoQiwyREFBQSxDQUFDc1gsTUFBTTtJQUFDaUosUUFBUTtFQUFBLEdBQUMsd0JBQThCLENBRTNDLENBQ0MsQ0FDUixDQUFDLGVBQ052Z0IsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFBQ3JHLElBQUksRUFBQyxTQUFTO0lBQUNzRyxLQUFLLEVBQUMsaUZBQStCO0lBQUNDLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRTtJQUFLLENBQUM7RUFBRSxnQkFDMUY1Z0IsMkRBQUEsQ0FBQXVYLHVEQUFBO0lBQVF1SixXQUFXLEVBQUMsZ0JBQWdCO0lBQUNJLFFBQVEsRUFBRTlCO0VBQW9CLEdBQ2hFbkcsUUFBUSxDQUFDdlEsTUFBTSxHQUNkdVEsUUFBUSxDQUFDcUksR0FBRyxDQUFDLFVBQUMzWixDQUFDO0lBQUEsb0JBQ2IzSCwyREFBQSxDQUFDc1gsTUFBTTtNQUFDclIsR0FBRyxFQUFFMEIsQ0FBQyxDQUFDbUgsRUFBRztNQUFDNUksS0FBSyxLQUFBK0YsTUFBQSxDQUFLdEUsQ0FBQyxDQUFDbUgsRUFBRSxRQUFBN0MsTUFBQSxDQUFLdEUsQ0FBQyxDQUFDeVMsSUFBSSxDQUFDbUgsRUFBRSxTQUFBdFYsTUFBQSxDQUFNdEUsQ0FBQyxDQUFDeVMsSUFBSSxDQUFDb0gsS0FBSztJQUFHLE1BQUF2VixNQUFBLENBQzlEdEUsQ0FBQyxDQUFDeVMsSUFBSSxDQUFDbUgsRUFBRSxTQUFBdFYsTUFBQSxDQUFNdEUsQ0FBQyxDQUFDeVMsSUFBSSxDQUFDb0gsS0FBSyxDQUN6QixDQUFDO0VBQUEsQ0FDVixDQUFDLGdCQUVGeGhCLDJEQUFBLENBQUNzWCxNQUFNO0lBQUNpSixRQUFRO0VBQUEsR0FBQyx1QkFBNkIsQ0FFMUMsQ0FDQyxDQUNSLENBQUMsZUFDTnZnQiwyREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDckcsSUFBSSxFQUFDLFNBQVM7SUFBQ3NHLEtBQUssRUFBQztFQUFnQixnQkFDOUMxZ0IsMkRBQUEsQ0FBQXVYLHVEQUFBO0lBQVF1SixXQUFXLEVBQUM7RUFBZ0IsR0FDakMzSCxRQUFRLENBQUN6USxNQUFNLEdBQ2R5USxRQUFRLENBQUNtSSxHQUFHLENBQUMsVUFBQ2haLENBQUM7SUFBQSxvQkFDYnRJLDJEQUFBLENBQUNzWCxNQUFNO01BQUNyUixHQUFHLEVBQUVxQyxDQUFDLENBQUN3RyxFQUFHO01BQUM1SSxLQUFLLEtBQUErRixNQUFBLENBQUszRCxDQUFDLENBQUM4UixJQUFJLENBQUNtSCxFQUFFLFNBQUF0VixNQUFBLENBQU0zRCxDQUFDLENBQUM4UixJQUFJLENBQUNvSCxLQUFLO0lBQUcsTUFBQXZWLE1BQUEsQ0FDckQzRCxDQUFDLENBQUM4UixJQUFJLENBQUNtSCxFQUFFLFNBQUF0VixNQUFBLENBQU0zRCxDQUFDLENBQUM4UixJQUFJLENBQUNvSCxLQUFLLENBQ3pCLENBQUM7RUFBQSxDQUNWLENBQUMsZ0JBRUZ4aEIsMkRBQUEsQ0FBQ3NYLE1BQU07SUFBQ2lKLFFBQVE7RUFBQSxHQUFDLHVCQUE2QixDQUUxQyxDQUNDLENBQ1IsQ0FDRixDQUFDLGVBR052Z0IsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFO0VBQUcsZ0JBQ2RWLDJEQUFBLENBQUFXLG1EQUFBO0lBQUs2ZixJQUFJLEVBQUU7RUFBRSxnQkFDWHhnQiwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLDhFQUE0QjtJQUFDdEcsSUFBSSxFQUFDLGNBQWM7SUFBQ3VHLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUVuVixPQUFPLEVBQUU7SUFBNEIsQ0FBQztFQUFFLGdCQUNsSXpMLDJEQUFBLENBQUFnaEIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQzVnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQzJhLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHaGIsS0FBSztNQUFBLE9BQUs2VixzQkFBc0IsQ0FBQyxRQUFRLEVBQUU3VixLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDckcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQUNDLEtBQUssRUFBQyxtRkFBNEI7SUFBQ3RHLElBQUksRUFBQyxhQUFhO0lBQUN1RyxLQUFLLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFblYsT0FBTyxFQUFFO0lBQTJCLENBQUM7RUFBRSxnQkFDaEl6TCwyREFBQSxDQUFBZ2hCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUM1Z0IsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQUMyYSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2hiLEtBQUs7TUFBQSxPQUFLa1csdUJBQXVCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRWxXLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUM5RyxDQUNSLENBQUMsZUFDTmxHLDJEQUFBLENBQUFXLG1EQUFBO0lBQUs2ZixJQUFJLEVBQUU7RUFBRSxnQkFDWHhnQiwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLCtFQUE2QjtJQUFDdEcsSUFBSSxFQUFDLGVBQWU7SUFBQ3VHLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUVuVixPQUFPLEVBQUU7SUFBNkIsQ0FBQztFQUFFLGdCQUNySXpMLDJEQUFBLENBQUFnaEIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQzVnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQzJhLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHaGIsS0FBSztNQUFBLE9BQUtrVyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFbFcsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQ2hILENBQ1IsQ0FBQyxlQUNObEcsMkRBQUEsQ0FBQVcsbURBQUE7SUFBSzZmLElBQUksRUFBRTtFQUFFLGdCQUNYeGdCLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDQyxLQUFLLEVBQUMsbUhBQW1DO0lBQUN0RyxJQUFJLEVBQUM7RUFBZ0IsZ0JBQUNwYSwyREFBQSxDQUFBZ2hCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUM1Z0IsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTztFQUFFLENBQUUsQ0FDaEgsQ0FDUixDQUNGLENBQUMsZUFHTnZHLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQUNDLEtBQUssRUFBQyxzSEFBZ0Q7SUFBQ3RHLElBQUksRUFBQztFQUFZLGdCQUNqRnBhLDJEQUFBLENBQUFnaEIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQzVnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQzJhLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHaGIsS0FBSztNQUFBLE9BQUs2VixzQkFBc0IsQ0FBQyxNQUFNLEVBQUU3VixLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDbkcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQUNDLEtBQUssRUFBQyxvRUFBdUI7SUFBQ3RHLElBQUksRUFBQztFQUFXLGdCQUN2RHBhLDJEQUFBLENBQUFnaEIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQzVnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQzJhLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHaGIsS0FBSztNQUFBLE9BQUtrVyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFbFcsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQzVHLENBQ1IsQ0FBQyxlQUNObEcsMkRBQUEsQ0FBQVcsbURBQUE7SUFBSzZmLElBQUksRUFBRTtFQUFFLGdCQUNYeGdCLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDQyxLQUFLLEVBQUMsZ0VBQXdCO0lBQUN0RyxJQUFJLEVBQUM7RUFBYSxnQkFDMURwYSwyREFBQSxDQUFBZ2hCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUM1Z0IsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQUMyYSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2hiLEtBQUs7TUFBQSxPQUFLa1csdUJBQXVCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRWxXLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUM5RyxDQUNSLENBQ0YsQ0FBQyxlQUNObEcsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFO0VBQUcsZ0JBQ2RWLDJEQUFBLENBQUFXLG1EQUFBO0lBQUs2ZixJQUFJLEVBQUU7RUFBRSxnQkFDWHhnQiwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLDBJQUFxRDtJQUFDdEcsSUFBSSxFQUFDO0VBQWEsZ0JBQ3ZGcGEsMkRBQUEsQ0FBQWdoQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDNWdCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFDMmEsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdoYixLQUFLO01BQUEsT0FBSzZWLHNCQUFzQixDQUFDLE9BQU8sRUFBRTdWLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUNwRyxDQUNSLENBQUMsZUFDTmxHLDJEQUFBLENBQUFXLG1EQUFBO0lBQUs2ZixJQUFJLEVBQUU7RUFBRSxnQkFDWHhnQiwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLDJFQUF5QjtJQUFDdEcsSUFBSSxFQUFDO0VBQVksZ0JBQzFEcGEsMkRBQUEsQ0FBQWdoQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDNWdCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFDMmEsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdoYixLQUFLO01BQUEsT0FBS2tXLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUVsVyxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDN0csQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLNmYsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h4Z0IsMkRBQUEsQ0FBQStYLHFEQUFBLENBQU0wSSxJQUFJO0lBQUNDLEtBQUssRUFBQyw2RUFBMkI7SUFBQ3RHLElBQUksRUFBQztFQUFjLGdCQUM5RHBhLDJEQUFBLENBQUFnaEIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQzVnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQzJhLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHaGIsS0FBSztNQUFBLE9BQUtrVyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFbFcsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQy9HLENBQ1IsQ0FDRixDQUFDLGVBR05sRywyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBSzZmLElBQUksRUFBRTtFQUFFLGdCQUFDeGdCLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDckcsSUFBSSxFQUFDLGFBQWE7SUFBQ3FILGFBQWEsRUFBQyxTQUFTO0lBQUNDLFlBQVksRUFBRTtFQUFNLGdCQUFDMWhCLDJEQUFBLENBQUEyaEIsd0RBQUEsUUFBVSwrRUFBZ0MsQ0FBWSxDQUFNLENBQUMsZUFDdEozaEIsMkRBQUEsQ0FBQVcsbURBQUE7SUFBSzZmLElBQUksRUFBRTtFQUFFLGdCQUFDeGdCLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDckcsSUFBSSxFQUFDLFlBQVk7SUFBQ3FILGFBQWEsRUFBQyxTQUFTO0lBQUNDLFlBQVksRUFBRTtFQUFNLGdCQUFDMWhCLDJEQUFBLENBQUEyaEIsd0RBQUEsUUFBVSwyR0FBMkMsQ0FBWSxDQUFNLENBQzVKLENBQUMsZUFHTjNoQiwyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBSzZmLElBQUksRUFBRTtFQUFFLGdCQUNYeGdCLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUNSckcsSUFBSSxFQUFDLG1CQUFtQjtJQUN4QnNHLEtBQUssRUFBQztFQUFvQyxnQkFFMUMxZ0IsMkRBQUEsQ0FBQXVYLHVEQUFBO0lBQ0V1SixXQUFXLEVBQUMsZ0xBQW1EO0lBQy9EYyxVQUFVO0VBQUEsR0FFVHZJLGVBQWUsQ0FBQ2lJLEdBQUcsQ0FBQyxVQUFBTyxNQUFNO0lBQUEsb0JBQ3pCN2hCLDJEQUFBLENBQUNzWCxNQUFNO01BQUNyUixHQUFHLEVBQUU0YixNQUFNLENBQUMvUyxFQUFHO01BQUM1SSxLQUFLLEVBQUUyYixNQUFNLENBQUMvUztJQUFHLEdBQ3RDK1MsTUFBTSxDQUFDekgsSUFDRixDQUFDO0VBQUEsQ0FDVixDQUNLLENBQ0MsQ0FDUixDQUNGLENBQUMsZUFHTnBhLDJEQUFBLENBQUErWCxxREFBQSxDQUFNMEksSUFBSTtJQUFDQyxLQUFLLEVBQUMsc0VBQW9CO0lBQUN0RyxJQUFJLEVBQUM7RUFBTSxnQkFDL0NwYSwyREFBQSxDQUFBNmdCLHFEQUFBLENBQU9pQixRQUFRO0lBQUNDLElBQUksRUFBRSxDQUFFO0lBQUNqQixXQUFXLEVBQUM7RUFBaUQsQ0FBRSxDQUMvRSxDQUFDLEVBRVgsQ0FBQ2xKLFVBQVUsaUJBQ1Y1WCwyREFBQSxDQUFBK1gscURBQUEsQ0FBTTBJLElBQUkscUJBQ1J6Z0IsMkRBQUEsQ0FBQWdnQixxREFBQSxxQkFDRWhnQiwyREFBQSxDQUFBZ2lCLHVEQUFBO0lBQVFoRyxJQUFJLEVBQUMsU0FBUztJQUFDaUcsUUFBUSxFQUFDLFFBQVE7SUFBQ0MsT0FBTyxFQUFFM0k7RUFBZ0IsR0FDL0QsaUJBQ0ssQ0FBQyxlQUNUdlosMkRBQUEsQ0FBQWdpQix1REFBQTtJQUFRRyxPQUFPLEVBQUV2QztFQUFhLEdBQUMsK0NBRXZCLENBQ0gsQ0FDRSxDQUVULENBQ0YsQ0FBQztBQUVYLENBQUM7QUFFRCxJQUFNdUIsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFFOztBQUV4RCxpRUFBZXhKLGdCQUFnQixFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1bUJvQjtBQUNKO0FBRTZDO0FBQ3JDO0FBUUQ7QUFDSjtBQUNuQjtBQU0vQixJQUFNZ0wsa0JBQW1DLEdBQUcsU0FBdENBLGtCQUFtQ0EsQ0FBQS9YLElBQUEsRUFBbUI7RUFBQSxJQUFiZ1ksTUFBTSxHQUFBaFksSUFBQSxDQUFOZ1ksTUFBTTtFQUNuRCxJQUFNeEssUUFBUSxHQUFHekIseURBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQU0wQixRQUFRLEdBQUd4Qiw4REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBQWlCLGFBQUEsR0FBZUMsb0RBQUEsQ0FBS0MsT0FBTyxDQUFDLENBQUM7SUFBQUMsY0FBQSxHQUFBQyxjQUFBLENBQUFKLGFBQUE7SUFBdEJLLElBQUksR0FBQUYsY0FBQTtFQUNYLElBQUFLLFNBQUEsR0FBc0M1QixnREFBUSxDQUFDLENBQUMsQ0FBQztJQUFBNkIsVUFBQSxHQUFBTCxjQUFBLENBQUFJLFNBQUE7SUFBMUN1SyxXQUFXLEdBQUF0SyxVQUFBO0lBQUV1SyxjQUFjLEdBQUF2SyxVQUFBO0VBQ2xDLElBQUFzQixVQUFBLEdBQWdDbkQsZ0RBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQW9ELFVBQUEsR0FBQTVCLGNBQUEsQ0FBQTJCLFVBQUE7SUFBckNrSixRQUFRLEdBQUFqSixVQUFBO0lBQUVrSixXQUFXLEdBQUFsSixVQUFBO0VBRTVCLElBQUFwQixZQUFBLEdBQTREOUIseURBQVcsQ0FDckUsVUFBQytCLEtBQWdCO01BQUEsT0FBS0EsS0FBSyxDQUFDMUQsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUFBLENBQ2hELENBQUM7SUFGT2dPLFFBQVEsR0FBQXZLLFlBQUEsQ0FBUnVLLFFBQVE7SUFBRXBLLFNBQVMsR0FBQUgsWUFBQSxDQUFURyxTQUFTO0lBQUVFLFNBQVMsR0FBQUwsWUFBQSxDQUFUSyxTQUFTO0lBQUVRLGVBQWUsR0FBQWIsWUFBQSxDQUFmYSxlQUFlO0VBSXZELElBQUEySixVQUFBLEdBQTRDeE0sZ0RBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXlNLFVBQUEsR0FBQWpMLGNBQUEsQ0FBQWdMLFVBQUE7SUFBcERFLGNBQWMsR0FBQUQsVUFBQTtJQUFFRSxpQkFBaUIsR0FBQUYsVUFBQTtFQUN4QyxJQUFBRyxVQUFBLEdBQW9DNU0sZ0RBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQTZNLFVBQUEsR0FBQXJMLGNBQUEsQ0FBQW9MLFVBQUE7SUFBekNFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUFvQ2hOLGdEQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFpTixVQUFBLEdBQUF6TCxjQUFBLENBQUF3TCxVQUFBO0lBQTVDOUwsVUFBVSxHQUFBK0wsVUFBQTtJQUFFQyxhQUFhLEdBQUFELFVBQUE7RUFDaEMsSUFBQUUsVUFBQSxHQUE0Q25OLGdEQUFRLENBQXNCLElBQUksQ0FBQztJQUFBb04sV0FBQSxHQUFBNUwsY0FBQSxDQUFBMkwsVUFBQTtJQUF4RUUsY0FBYyxHQUFBRCxXQUFBO0lBQUVFLGlCQUFpQixHQUFBRixXQUFBO0VBQ3hDLElBQUFHLFdBQUEsR0FBZ0N2TixnREFBUSxDQUFDLEVBQUUsQ0FBQztJQUFBd04sV0FBQSxHQUFBaE0sY0FBQSxDQUFBK0wsV0FBQTtJQUFyQ3pQLFFBQVEsR0FBQTBQLFdBQUE7SUFBRUMsV0FBVyxHQUFBRCxXQUFBO0VBQzVCLElBQUFFLFdBQUEsR0FBZ0MxTixnREFBUSxDQUFDLEVBQUUsQ0FBQztJQUFBMk4sV0FBQSxHQUFBbk0sY0FBQSxDQUFBa00sV0FBQTtJQUFyQzVKLFFBQVEsR0FBQTZKLFdBQUE7SUFBRUMsV0FBVyxHQUFBRCxXQUFBO0VBQzVCLElBQUFFLFdBQUEsR0FBc0M3TixnREFBUSxDQUFnQixJQUFJLENBQUM7SUFBQThOLFdBQUEsR0FBQXRNLGNBQUEsQ0FBQXFNLFdBQUE7SUFBNURFLFdBQVcsR0FBQUQsV0FBQTtJQUFFRSxjQUFjLEdBQUFGLFdBQUE7RUFDbEMsSUFBQUcsV0FBQSxHQUFzQmpPLGdEQUFRLENBQWdCLElBQUksQ0FBQztJQUFBa08sV0FBQSxHQUFBMU0sY0FBQSxDQUFBeU0sV0FBQTtJQUE1Q3BLLEdBQUcsR0FBQXFLLFdBQUE7SUFBRUMsTUFBTSxHQUFBRCxXQUFBOztFQUVsQjtFQUNBLElBQU1FLFVBQVUsR0FBRyxDQUFBN0IsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUU3VyxJQUFJLEtBQUksRUFBRTtFQUN2QyxJQUFNMlksSUFBSSxHQUFHLENBQUE5QixRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRThCLElBQUksS0FBSTtJQUFFdEksS0FBSyxFQUFFLENBQUM7SUFBRXVJLElBQUksRUFBRSxDQUFDO0lBQUVqQyxRQUFRLEVBQUU7RUFBRyxDQUFDO0VBRWxFdE0saURBQVMsQ0FBQyxZQUFNO0lBQ2QyQixRQUFRLENBQUN0QixvRkFBYSxDQUFDLENBQUMsQ0FBQztFQUMzQixDQUFDLEVBQUUsQ0FBQ3NCLFFBQVEsQ0FBQyxDQUFDOztFQUVkO0VBQ0EzQixpREFBUyxDQUFDLFlBQU07SUFDZDJCLFFBQVEsQ0FBQ29LLHdGQUFpQixDQUFDO01BQ3pCNUksTUFBTSxFQUFFNEosVUFBVTtNQUNsQmhQLFFBQVEsRUFBRUEsUUFBUTtNQUNsQmdHLFFBQVEsRUFBRUEsUUFBUTtNQUNsQkcsWUFBWSxFQUFFOEosV0FBVztNQUN6QmxLLEdBQUcsRUFBRUEsR0FBRztNQUNSeUssSUFBSSxFQUFFbkMsV0FBVztNQUNqQkUsUUFBUSxFQUFSQTtJQUNGLENBQUMsQ0FBQyxDQUFDO0VBQ0wsQ0FBQyxFQUFFLENBQUMzSyxRQUFRLEVBQUVvTCxVQUFVLEVBQUVoUCxRQUFRLEVBQUVnRyxRQUFRLEVBQUVpSyxXQUFXLEVBQUVsSyxHQUFHLEVBQUVzSSxXQUFXLEVBQUVFLFFBQVEsQ0FBQyxDQUFDO0VBRXZGLElBQU1rQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxVQUFlLEVBQUs7SUFDN0NwQyxjQUFjLENBQUNvQyxVQUFVLENBQUNDLE9BQU8sQ0FBQztJQUNsQ25DLFdBQVcsQ0FBQ2tDLFVBQVUsQ0FBQ25DLFFBQVEsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBTXFDLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekJ0QyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQjFLLFFBQVEsQ0FBQ29LLHdGQUFpQixDQUFDO01BQ3pCNUksTUFBTSxFQUFFNEosVUFBVTtNQUNsQndCLElBQUksRUFBRSxDQUFDO01BQ1BqQyxRQUFRLEVBQVJBO0lBQ0YsQ0FBQyxDQUFDLENBQUM7RUFDTCxDQUFDO0VBRUQsSUFBTXpFLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlwWSxLQUFjLEVBQUs7SUFDL0MsSUFBSSxDQUFDQSxLQUFLLEVBQUU7SUFDWmllLFdBQVcsQ0FBQ2plLEtBQUssQ0FBQztJQUNsQixJQUFBcVksWUFBQSxHQUFtQ3JZLEtBQUssQ0FBQ3NZLEtBQUssQ0FBQyxHQUFHLENBQUM7TUFBQUMsYUFBQSxHQUFBdkcsY0FBQSxDQUFBcUcsWUFBQTtNQUE1Q0csVUFBVSxHQUFBRCxhQUFBO01BQUVFLFlBQVksR0FBQUYsYUFBQTtJQUMvQnJHLFFBQVEsQ0FBQ3JCLG9GQUFhLENBQUM7TUFBRWpJLEVBQUUsRUFBRW1MLE1BQU0sQ0FBQ3lFLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQztFQUM1RCxDQUFDO0VBRUQsSUFBTXlHLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7SUFDeEI1QixhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ2pCWCxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2pCMUssUUFBUSxDQUFDb0ssd0ZBQWlCLENBQUM7TUFDekI1SSxNQUFNLEVBQUUsRUFBRTtNQUNWb0wsSUFBSSxFQUFFLENBQUM7TUFDUGpDLFFBQVEsRUFBUkE7SUFDRixDQUFDLENBQUMsQ0FBQztFQUNMLENBQUM7RUFFRCxJQUFNdUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLE1BQW9CLEVBQUs7SUFDM0N2QixpQkFBaUIsQ0FBQ3VCLE1BQU0sQ0FBQztJQUN6QmxDLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUN2Qk8sYUFBYSxDQUFDLElBQUksQ0FBQztJQUNuQnpMLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQ29MLE1BQU0sQ0FBQztFQUM3QixDQUFDO0VBRUQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUkxVyxFQUFPLEVBQUs7SUFDOUJ1SixRQUFRLDJCQUFBcE0sTUFBQSxDQUEyQjZDLEVBQUUsQ0FBRSxDQUFDO0VBQzFDLENBQUM7RUFFRCxJQUFNMlcsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUkzVyxFQUFVLEVBQUs7SUFDbkM0VCx3REFBUyxDQUFDO01BQ1J2UixLQUFLLEVBQUUsaUNBQWlDO01BQ3hDd1UsSUFBSSxFQUFFLG9DQUFvQztNQUMxQ0MsSUFBSSxFQUFFLFNBQVM7TUFDZkMsaUJBQWlCLEVBQUUsS0FBSztNQUN4QkMsZ0JBQWdCLEVBQUUsS0FBSztNQUN2QkMsSUFBSSx1YkFLSDtNQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO1FBQUEsSUFBQUMsY0FBQSxFQUFBQyxlQUFBO1FBQ2IsSUFBTUMsYUFBYSxJQUFBRixjQUFBLEdBQUd2RCw0REFBYSxDQUFDLENBQUMsY0FBQXVELGNBQUEsdUJBQWZBLGNBQUEsQ0FBaUJJLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RSxJQUFNQyxZQUFZLElBQUFKLGVBQUEsR0FBR3hELDREQUFhLENBQUMsQ0FBQyxjQUFBd0QsZUFBQSx1QkFBZkEsZUFBQSxDQUFpQkcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBRXJFRixhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsWUFBTTtVQUM3Q25PLFFBQVEsQ0FBQ3FLLHlGQUFrQixDQUFDM1QsRUFBRSxDQUFDLENBQUMsQ0FDN0IwWCxNQUFNLENBQUMsQ0FBQyxDQUNSdmMsSUFBSSxDQUFDLFlBQU07WUFDVnlZLHdEQUFTLENBQUM7Y0FDUnZSLEtBQUssRUFBRSxvQkFBb0I7Y0FDM0J3VSxJQUFJLEVBQUUsOEJBQThCO2NBQ3BDQyxJQUFJLEVBQUU7WUFDUixDQUFDLENBQUM7WUFDRnhOLFFBQVEsQ0FBQ29LLHdGQUFpQixDQUFDO2NBQ3pCNUksTUFBTSxFQUFFNEosVUFBVTtjQUNsQndCLElBQUksRUFBRW5DLFdBQVc7Y0FDakJFLFFBQVEsRUFBUkE7WUFDRixDQUFDLENBQUMsQ0FBQztVQUNMLENBQUMsQ0FBQyxTQUNJLENBQUMsWUFBTTtZQUNYTCx3REFBUyxDQUFDO2NBQ1J2UixLQUFLLEVBQUUsUUFBUTtjQUNmd1UsSUFBSSxFQUFFLDBCQUEwQjtjQUNoQ0MsSUFBSSxFQUFFO1lBQ1IsQ0FBQyxDQUFDO1VBQ0osQ0FBQyxDQUFDO1VBQ0psRCx5REFBVSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRjRELFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUVDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzVDN0QseURBQVUsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDO0VBRUQsSUFBTWdFLE9BQU8sR0FBRyxDQUNkO0lBQ0V2VixLQUFLLEVBQUUsS0FBSztJQUNabEwsR0FBRyxFQUFFLElBQUk7SUFDVE0sS0FBSyxFQUFFLEVBQUU7SUFDVEosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUd3Z0IsQ0FBTSxFQUFFQyxFQUFPLEVBQUVDLEtBQWE7TUFBQSxPQUNyQyxDQUFDaEUsV0FBVyxHQUFHLENBQUMsSUFBSUUsUUFBUSxHQUFHOEQsS0FBSyxHQUFHLENBQUM7SUFBQTtFQUM1QyxDQUFDLEVBQ0Q7SUFDRTFWLEtBQUssRUFBRSxjQUFjO0lBQ3JCMlYsU0FBUyxFQUFFLE1BQU07SUFDakI3Z0IsR0FBRyxFQUFFLE1BQU07SUFDWE0sS0FBSyxFQUFFLEdBQUc7SUFDVndnQixRQUFRLEVBQUU7RUFDWixDQUFDLEVBQ0Q7SUFDRTVWLEtBQUssRUFBRSxhQUFhO0lBQ3BCMlYsU0FBUyxFQUFFLE9BQU87SUFDbEI3Z0IsR0FBRyxFQUFFLE9BQU87SUFDWk0sS0FBSyxFQUFFLEdBQUc7SUFDVndnQixRQUFRLEVBQUU7RUFDWixDQUFDLEVBQ0Q7SUFDRTVWLEtBQUssRUFBRSxXQUFXO0lBQ2xCbEwsR0FBRyxFQUFFLFNBQVM7SUFDZE0sS0FBSyxFQUFFLEdBQUc7SUFDVkosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUdvZixNQUFXO01BQUEsVUFBQXRaLE1BQUEsQ0FDZnNaLE1BQU0sQ0FBQzlLLE9BQU8sSUFBSSxFQUFFLFFBQUF4TyxNQUFBLENBQUtzWixNQUFNLENBQUMvSyxRQUFRLElBQUksRUFBRSxRQUFBdk8sTUFBQSxDQUFLc1osTUFBTSxDQUFDL1EsUUFBUSxJQUFJLEVBQUU7SUFBQTtFQUMvRSxDQUFDLEVBQ0Q7SUFDRXJELEtBQUssRUFBRSxNQUFNO0lBQ2IyVixTQUFTLEVBQUUsS0FBSztJQUNoQjdnQixHQUFHLEVBQUUsS0FBSztJQUNWTSxLQUFLLEVBQUU7RUFDVCxDQUFDLEVBQ0Q7SUFDRTRLLEtBQUssRUFBRSxZQUFZO0lBQ25CMlYsU0FBUyxFQUFFLGNBQWM7SUFDekI3Z0IsR0FBRyxFQUFFLGNBQWM7SUFDbkJNLEtBQUssRUFBRTtFQUNULENBQUMsRUFDRDtJQUNFNEssS0FBSyxFQUFFLGFBQWE7SUFDcEIyVixTQUFTLEVBQUUsYUFBYTtJQUN4QjdnQixHQUFHLEVBQUUsYUFBYTtJQUNsQk0sS0FBSyxFQUFFO0VBQ1QsQ0FBQyxFQUNEO0lBQ0U0SyxLQUFLLEVBQUUsWUFBWTtJQUNuQjJWLFNBQVMsRUFBRSxlQUFlO0lBQzFCN2dCLEdBQUcsRUFBRSxlQUFlO0lBQ3BCTSxLQUFLLEVBQUU7RUFDVCxDQUFDLEVBQ0Q7SUFDRTRLLEtBQUssRUFBRSxrQkFBa0I7SUFDekIyVixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCN2dCLEdBQUcsRUFBRSxnQkFBZ0I7SUFDckJNLEtBQUssRUFBRTtFQUNULENBQUMsRUFDRDtJQUNFNEssS0FBSyxFQUFFLGFBQWE7SUFDcEIyVixTQUFTLEVBQUUsYUFBYTtJQUN4QjdnQixHQUFHLEVBQUUsYUFBYTtJQUNsQk0sS0FBSyxFQUFFLEdBQUc7SUFDVkosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUdELEtBQWM7TUFBQSxPQUFNQSxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUc7SUFBQTtFQUNoRCxDQUFDLEVBQ0Q7SUFDRWlMLEtBQUssRUFBRSxlQUFlO0lBQ3RCMlYsU0FBUyxFQUFFLFlBQVk7SUFDdkI3Z0IsR0FBRyxFQUFFLFlBQVk7SUFDakJNLEtBQUssRUFBRSxHQUFHO0lBQ1ZKLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFHRCxLQUFjO01BQUEsT0FBTUEsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHO0lBQUE7RUFDaEQsQ0FBQyxFQUNEO0lBQ0VpTCxLQUFLLEVBQUUsVUFBVTtJQUNqQmxMLEdBQUcsRUFBRSxRQUFRO0lBQ2IrZ0IsS0FBSyxFQUFFLE9BQU87SUFDZHpnQixLQUFLLEVBQUUsR0FBRztJQUNWSixNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBR3dnQixDQUFNLEVBQUVwQixNQUFXO01BQUEsb0JBQzFCdmxCLDJEQUFBLENBQUFnZ0IscURBQUE7UUFBT2haLElBQUksRUFBQztNQUFRLGdCQUNsQmhILDJEQUFBLENBQUFnaUIsdURBQUE7UUFDRTRELElBQUksZUFBRTVsQiwyREFBQSxDQUFDdWlCLDBEQUFXLE1BQUUsQ0FBRTtRQUN0QkosT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRbUQsVUFBVSxDQUFDQyxNQUFNLENBQUM7UUFBQSxDQUFDO1FBQ2xDcFUsS0FBSyxFQUFDO01BQVksQ0FDbkIsQ0FBQyxlQUNGblIsMkRBQUEsQ0FBQWdpQix1REFBQTtRQUNFaEcsSUFBSSxFQUFDLFNBQVM7UUFDZDRKLElBQUksZUFBRTVsQiwyREFBQSxDQUFDc2lCLDBEQUFZLE1BQUUsQ0FBRTtRQUN2QkgsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRcUQsVUFBVSxDQUFDRCxNQUFNLENBQUN6VyxFQUFFLENBQUM7UUFBQSxDQUFDO1FBQ3JDcUMsS0FBSyxFQUFDO01BQWUsQ0FDdEIsQ0FBQyxlQUNGblIsMkRBQUEsQ0FBQWdpQix1REFBQTtRQUNFaUYsTUFBTTtRQUNOckIsSUFBSSxlQUFFNWxCLDJEQUFBLENBQUNxaUIsMERBQWMsTUFBRSxDQUFFO1FBQ3pCRixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtVQUFBLE9BQVFzRCxZQUFZLENBQUNGLE1BQU0sQ0FBQ3pXLEVBQUUsQ0FBQztRQUFBLENBQUM7UUFDdkNxQyxLQUFLLEVBQUM7TUFBYyxDQUNyQixDQUNJLENBQUM7SUFBQTtFQUVaLENBQUMsQ0FDRjtFQUVELG9CQUNFblIsMkRBQUEsMkJBRUVBLDJEQUFBO0lBQ0VLLEtBQUssRUFBRTtNQUNMRSxPQUFPLEVBQUUsTUFBTTtNQUNmRCxVQUFVLEVBQUUsU0FBUztNQUNyQnlmLFlBQVksRUFBRTtJQUNoQjtFQUFFLGdCQUdGL2YsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRTtJQUFDd21CLE9BQU8sRUFBQyxlQUFlO0lBQUNqSCxLQUFLLEVBQUMsUUFBUTtJQUFDNWYsS0FBSyxFQUFFO01BQUU4bUIsTUFBTSxFQUFFO0lBQU87RUFBRSxnQkFDdEZubkIsMkRBQUEsQ0FBQWdnQixxREFBQTtJQUFPb0gsSUFBSTtFQUFBLGdCQUNUcG5CLDJEQUFBLGVBQU0sb0NBQWMsRUFBQyxDQUFBOGtCLFVBQVUsYUFBVkEsVUFBVSx1QkFBVkEsVUFBVSxDQUFFcGMsTUFBTSxLQUFJLENBQVEsQ0FBQyxlQUNwRDFJLDJEQUFBLENBQUE2Z0IscURBQUE7SUFDRUMsV0FBVyxFQUFDLHdEQUFxQjtJQUNqQ3pnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFJLENBQUU7SUFDdEJMLEtBQUssRUFBRXNkLFVBQVc7SUFDbEJ0QyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2hhLENBQUM7TUFBQSxPQUFLdWMsYUFBYSxDQUFDdmMsQ0FBQyxDQUFDbEcsTUFBTSxDQUFDa0YsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUNoRCxDQUFDLGVBQ0ZsRywyREFBQSxDQUFBZ2lCLHVEQUFBO0lBQVFHLE9BQU8sRUFBRWlELFlBQWE7SUFBQ3BKLElBQUksRUFBQztFQUFTLEdBQUMsK0NBRXRDLENBQUMsZUFDVGhjLDJEQUFBLENBQUFnaUIsdURBQUE7SUFBUUcsT0FBTyxFQUFFa0Q7RUFBWSxHQUFDLDRFQUV0QixDQUNILENBQUMsZUFDUnJsQiwyREFBQSxDQUFBZ2dCLHFEQUFBO0lBQU9vSCxJQUFJO0VBQUEsZ0JBQ1RwbkIsMkRBQUEsQ0FBQWdpQix1REFBQTtJQUNFNEQsSUFBSSxlQUFFNWxCLDJEQUFBLENBQUNvaUIsMERBQVksTUFBRSxDQUFFO0lBQ3ZCcEcsSUFBSSxFQUFDLFNBQVM7SUFDZG1HLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUTlKLFFBQVEsc0JBQXNCLENBQUM7SUFBQTtFQUFDLEdBQ2hELHdFQUVPLENBQ0gsQ0FDSixDQUFDLGVBR05yWSwyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFFO0lBQUNMLEtBQUssRUFBRTtNQUFFOG1CLE1BQU0sRUFBRTtJQUFNO0VBQUUsZ0JBQzlDbm5CLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUN1bUIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDcm5CLDJEQUFBLGVBQU0sNEVBQW9CLENBQUMsZUFDM0JBLDJEQUFBLENBQUF1WCxzREFBQTtJQUNFbFgsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQ3pCcWIsVUFBVTtJQUNWZCxXQUFXLEVBQUMsMkJBQTJCO0lBQ3ZDSSxRQUFRLEVBQUU1QyxvQkFBcUI7SUFDL0JnSixVQUFVO0VBQUEsR0FFVEMsS0FBSyxDQUFDQyxPQUFPLENBQUMzTyxTQUFTLENBQUMsSUFBSUEsU0FBUyxDQUFDblEsTUFBTSxHQUFHLENBQUMsR0FDL0NtUSxTQUFTLENBQUM2RSxNQUFNLENBQUMsVUFBQXZWLENBQUM7SUFBQSxPQUFJZ1osb0JBQW9CLENBQUNDLFFBQVEsQ0FBQ2paLENBQUMsQ0FBQzJHLEVBQUUsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ3FTLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFBQSxFQUFDLENBQUNDLEdBQUcsQ0FBQyxVQUFDOU0sUUFBUTtJQUFBLG9CQUNsR3hVLDJEQUFBLENBQUF1WCxzREFBQSxDQUFRRCxNQUFNO01BQ1pyUixHQUFHLEVBQUV1TyxRQUFRLENBQUMxRixFQUFHO01BQ2pCNUksS0FBSyxLQUFBK0YsTUFBQSxDQUFLdUksUUFBUSxDQUFDMUYsRUFBRSxRQUFBN0MsTUFBQSxDQUFLdUksUUFBUSxDQUFDNEYsSUFBSSxDQUFDbUgsRUFBRSxTQUFBdFYsTUFBQSxDQUFNdUksUUFBUSxDQUFDNEYsSUFBSSxDQUFDb0gsS0FBSztJQUFHLE1BQUF2VixNQUFBLENBRWxFdUksUUFBUSxDQUFDNEYsSUFBSSxDQUFDbUgsRUFBRSxTQUFBdFYsTUFBQSxDQUFNdUksUUFBUSxDQUFDNEYsSUFBSSxDQUFDb0gsS0FBSyxDQUNoQyxDQUFDO0VBQUEsQ0FDakIsQ0FBQyxnQkFFRnhoQiwyREFBQSxDQUFBdVgsc0RBQUEsQ0FBUUQsTUFBTTtJQUFDaUosUUFBUTtFQUFBLEdBQUMsd0JBQXFDLENBRXpELENBQ0wsQ0FBQyxlQUNOdmdCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUN1bUIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDcm5CLDJEQUFBLGVBQU0sc0VBQW1CLENBQUMsZUFDMUJBLDJEQUFBLENBQUF1WCxzREFBQTtJQUNFbFgsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQ3pCcWIsVUFBVTtJQUNWZCxXQUFXLEVBQUMsMkJBQTJCO0lBQ3ZDSSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2hiLEtBQVU7TUFBQSxPQUFLb2UsV0FBVyxDQUFDcGUsS0FBSyxDQUFDO0lBQUEsQ0FBQztJQUM3Q29oQixVQUFVO0VBQUEsR0FFVHZPLFNBQVMsQ0FBQ3JRLE1BQU0sR0FDZnFRLFNBQVMsQ0FBQ3VJLEdBQUcsQ0FBQyxVQUFDOVksQ0FBQztJQUFBLG9CQUNkeEksMkRBQUEsQ0FBQ3NYLE1BQU07TUFBQ3JSLEdBQUcsRUFBRXVDLENBQUMsQ0FBQ3NHLEVBQUc7TUFBQzVJLEtBQUssS0FBQStGLE1BQUEsQ0FBS3pELENBQUMsQ0FBQ3NHLEVBQUUsUUFBQTdDLE1BQUEsQ0FBS3pELENBQUMsQ0FBQzRSLElBQUksQ0FBQ21ILEVBQUUsU0FBQXRWLE1BQUEsQ0FBTXpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ29ILEtBQUs7SUFBRyxNQUFBdlYsTUFBQSxDQUM5RHpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ21ILEVBQUUsU0FBQXRWLE1BQUEsQ0FBTXpELENBQUMsQ0FBQzRSLElBQUksQ0FBQ29ILEtBQUssQ0FDekIsQ0FBQztFQUFBLENBQ1YsQ0FBQyxnQkFFRnhoQiwyREFBQSxDQUFDc1gsTUFBTTtJQUFDaUosUUFBUTtFQUFBLEdBQUMsd0JBQThCLENBRTNDLENBQ0wsQ0FBQyxlQUNOdmdCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUN1bUIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDcm5CLDJEQUFBLGVBQU0sOERBQWdCLENBQUMsZUFDdkJBLDJEQUFBLENBQUFnaEIsNERBQUE7SUFDRTNnQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFDekJ1YSxXQUFXLEVBQUMsY0FBYztJQUMxQkcsR0FBRyxFQUFFLENBQUU7SUFDUC9hLEtBQUssRUFBRXVlLFdBQVk7SUFDbkJ2RCxRQUFRLEVBQUV3RDtFQUFlLENBQzFCLENBQ0UsQ0FBQyxlQUNOMWtCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUN1bUIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDcm5CLDJEQUFBLGVBQU0sMEJBQVUsQ0FBQyxlQUNqQkEsMkRBQUEsQ0FBQWdoQiw0REFBQTtJQUNFM2dCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUN6QnVhLFdBQVcsRUFBQyxLQUFLO0lBQ2pCRyxHQUFHLEVBQUUsQ0FBRTtJQUNQL2EsS0FBSyxFQUFFcVUsR0FBSTtJQUNYMkcsUUFBUSxFQUFFMkQ7RUFBTyxDQUNsQixDQUNFLENBQ0YsQ0FDRixDQUFDLGVBR043a0IsMkRBQUEsQ0FBQXluQixxREFBQTtJQUNFM0MsVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCNEIsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCeEUsT0FBTyxFQUFFM0ksZUFBZ0I7SUFDekJtTyxNQUFNLEVBQUMsSUFBSTtJQUNYQyxNQUFNLEVBQUU7TUFBRUMsQ0FBQyxFQUFFO0lBQUssQ0FBRTtJQUNwQjFDLFVBQVUsRUFBRTtNQUNWQyxPQUFPLEVBQUV0QyxXQUFXO01BQ3BCRSxRQUFRLEVBQUVBLFFBQVE7TUFDbEJ0RyxLQUFLLEVBQUVzSSxJQUFJLENBQUN0SSxLQUFLO01BQ2pCb0wsZUFBZSxFQUFFLElBQUk7TUFDckJDLFNBQVMsRUFBRSxTQUFYQSxTQUFTQSxDQUFHckwsS0FBSyxFQUFFc0wsS0FBSztRQUFBLFVBQUE5YixNQUFBLENBQVE4YixLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQUE5YixNQUFBLENBQUk4YixLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUE5YixNQUFBLENBQU93USxLQUFLO01BQUE7SUFDbEUsQ0FBRTtJQUNGeUUsUUFBUSxFQUFFK0Q7RUFBa0IsQ0FDN0IsQ0FBQyxlQUdGamxCLDJEQUFBLENBQUFzRyxxREFBQTtJQUNFNkssS0FBSyxFQUFFLHlDQUEwQztJQUNqRDZXLElBQUksRUFBRTVFLGNBQWU7SUFDckI2RSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBQSxFQUFRO01BQ2Q1RSxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7TUFDeEJPLGFBQWEsQ0FBQyxLQUFLLENBQUM7TUFDcEJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztNQUN2QjdMLElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLENBQUU7SUFDRnpULE1BQU0sRUFBRSxJQUFLO0lBQ2JGLEtBQUssRUFBRTtFQUFJLGdCQUVYdkcsMkRBQUEsQ0FBQzJYLDBEQUFnQjtJQUNmQyxVQUFVLEVBQUVBLFVBQVc7SUFDdkJDLGFBQWEsRUFBRWtNO0VBQWUsQ0FDL0IsQ0FDSSxDQUNKLENBQUM7QUFFVixDQUFDO0FBRUQsSUFBTTVDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBRTs7QUFFeEQsaUVBQWV3QixrQkFBa0IsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqWlA7QUFFZ0U7QUFFMUYsSUFBTTlNLFlBQXNCLEdBQUcsU0FBekJBLFlBQXNCQSxDQUFBLEVBQVM7RUFDbkMsb0JBQ0U3ViwwREFBQSxDQUFDa29CLG1GQUF1QixNQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELGlFQUFlclMsWUFBWSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1REO0FBRWlEO0FBRTNFLElBQU1ELElBQWMsR0FBRyxTQUFqQkEsSUFBY0EsQ0FBQSxFQUFTO0VBQzNCLG9CQUNFNVYsMERBQUEsQ0FBQ21vQixrRkFBUyxNQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELGlFQUFldlMsSUFBSSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1RPO0FBR2lEO0FBRTNFLElBQU1KLEtBQWUsR0FBRyxTQUFsQkEsS0FBZUEsQ0FBQSxFQUFTO0VBQzVCO0lBQUE7SUFDRTtJQUNBeFYsMERBQUEsQ0FBQ21vQixrRkFBUyxNQUFFO0VBQUM7QUFFakIsQ0FBQztBQUVELGlFQUFlM1MsS0FBSyxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWNvbXBvbmVudC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yZWR1eC9zdG9yZS50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yb3V0ZXMvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JvdXRlcy9wcm90ZWN0ZWQtcm91dGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvZmFtaWx5X3N1cnZleS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xci50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXV0aC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vbG9naW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMYXlvdXQsIFJvdywgQ29sIH0gZnJvbSAnYW50ZCc7XG5cbmNvbnN0IHsgRm9vdGVyIH0gPSBMYXlvdXQ7XG5cbmNvbnN0IEZvb3RlckNvbXBvbmVudDogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxGb290ZXJcbiAgICBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsIHBhZGRpbmc6ICcyNHB4JywgdGV4dEFsaWduOiAnY2VudGVyJyB9fVxuICA+XG4gICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfT5cbiAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fT5cbiAgICAgICAgPGg0PkFib3V0IFVzPC9oND5cbiAgICAgICAgPHA+TGVhcm4gbW9yZSBhYm91dCBvdXIgbWlzc2lvbiBhbmQgdmFsdWVzLjwvcD5cbiAgICAgIDwvQ29sPlxuICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9PlxuICAgICAgICA8aDQ+Q29udGFjdDwvaDQ+XG4gICAgICAgIDxwPkVtYWlsOiBzdXBwb3J0QGdtYWlsLmNvbTwvcD5cbiAgICAgICAgPHA+UGhvbmU6ICs4NTUgMTIzIDQ1NiA3ODkwPC9wPlxuICAgICAgPC9Db2w+XG4gICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0+XG4gICAgICAgIDxoND5Gb2xsb3cgVXM8L2g0PlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSBocmVmPScnIHRhcmdldD0nX2JsYW5rJyByZWw9JyMnPlxuICAgICAgICAgICAgI1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db2w+XG4gICAgPC9Sb3c+XG4gICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6ICcxNnB4JyB9fT7CqSB7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSAjPC9kaXY+XG4gIDwvRm9vdGVyPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRm9vdGVyQ29tcG9uZW50O1xuIiwiZXhwb3J0IGRlZmF1bHQge1xuICAvLyBlbnY6IHByb2Nlc3MuZW52Lk5PREVfRU5WLFxuICBlbnY6ICdkZXZlbG9wbWVudCcsXG4gIC8vIGFzc2V0X3VybDogcHJvY2Vzcy5lbnYuUzNJTUFHRVNCVUNLRVQsXG4gIGFzc2V0X3VybDogJycsXG4gIGFwaV91cmw6IHByb2Nlc3MuZW52LkJBU0VfVVJMLFxuICB1cGxvYWRfdXJsOiBwcm9jZXNzLmVudi5NRURJQV9BUEksXG4gIHNvY2tldF91cmw6IHByb2Nlc3MuZW52LlNPQ0tFUl9TRVJWRVIsXG4gIG5vdGlmaWNhdGlvbl91cmw6IHByb2Nlc3MuZW52Lk5PVElGSUNBVElPTixcbiAgQVdTX0FDQ0VTU19LRVlfSUQ6IHByb2Nlc3MuZW52LkFXU19BQ0NFU1NfS0VZX0lELFxuICBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6IHByb2Nlc3MuZW52LkFXU19TRUNSRVRfQUNDRVNTX0tFWSxcbiAgUkVBQ1RfQVBQX0FQSV9UT0tFTjogcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX0FQSV9UT0tFTixcbiAgUzNfQlVDS0VUOiBwcm9jZXNzLmVudi5TM19CVUNLRVQsXG4gIGZpcmViYXNlX2NvbmZpZ19oZWFkZXJzOiB7XG4gIH0sXG4gIGxpbWl0OiAxMCxcbiAgd2FsbGV0X2xpbWl0OiAxMDAwMCxcbiAgd2Vic29ja2V0RXZlbnQ6IHtcbiAgICBEUklWRVJfTElWRV9MT0NBVElPTjogJ0RSSVZFUl9MSVZFX0xPQ0FUSU9OJyxcbiAgICBVUERBVEVfSk5fV0FMTEVUOiAnVVBEQVRFX0pOX1dBTExFVCcsXG4gICAgQ0FTSF9JTl9TVUNDRVNTOiAnQ0FTSF9JTl9TVUNDRVNTJyxcbiAgICBDQVNIX09VVF9TVUNDRVNTOiAnQ0FTSF9PVVRfU1VDQ0VTUycsXG4gICAgTk9fRFJJVkVSX0FWQUlMQUJMRTogJ05PX0RSSVZFUl9BVkFJTEFCTEUnLFxuICAgIFBBQ0tBR0VfVFJBQ0tJTkc6ICdQQUNLQUdFX1RSQUNLSU5HJyxcbiAgfSxcbiAgZGVmYXVsdEFkbWluQWNjb3VudDogJ0RFRkFVTFRfQURNSU5fQUNDT1VOVF9JRCcsXG4gIHRlbGVncmFtSWQ6IHtcbiAgICBkZXY6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZGV2TG9nZ2VyOiAnLTEwMDE0OTU2MTYzODYnLFxuICAgIGV4cHJlc3NIdWI6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZXhwcmVzc01lcmNoYW50OiAnLTEwMDExMzYyODQ1NTcnLFxuICAgIGV4cHJlc3NGaW5hbmNlOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBleHByZXNzRHJpdmVyOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3J1xuICAgICxcbiAgfSxcbn07XG4iLCJpbXBvcnQgeyBVU0VSX0FUVEVOREFOQ0UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVJUX0xPR0lOID0gJ1NUQVJUX0xPR0lOJztcbmV4cG9ydCBjb25zdCBBVVRIX0xPR0lOID0gJ0FVVEhfTE9HSU4nO1xuZXhwb3J0IGNvbnN0IExPR0lOX0ZBSUxFRCA9ICdMT0dJTl9GQUlMRUQnO1xuZXhwb3J0IGNvbnN0IFVSTCA9IHtcbiAgTE9HSU46ICcvYXV0aC9sb2dpbicsXG4gIExPR0lOX1RFTEVHUkFNOiAnL2F1dGgvbG9naW4nLFxuICBWRVJJRllfVE9QOiAnYXBpL3YxL3ZlcmlmeScsXG4gIFNJR05VUDogJ2F1dGgvcmVnaXN0ZXInLFxuICBESVNBQklMSVRZX1RZUEU6ICdkaXNhYmlsaXR5LXR5cGVzLycsXG4gIFBST1ZJTkNFOiAncHJvdmluY2VzLycsXG4gIE9DQ1VQQVRJT046ICdvY2N1cGF0aW9ucy8nLFxuICBFRFVDQVRJT05fSU5TVElUVVRJT046ICdlZHVjYXRpb24taW5zdGl0dXRpb25zLycsXG4gIEZPT0RTOiAnZm9vZHMvJyxcbiAgRk9PRDogJ2Zvb2RzLycsXG4gIEZBTUlMSUVTOiAnZmFtaWxpZXMvJyxcbiAgVFJBTlNQT1JUQVRJT05TOiAndHJhbnNwb3J0YXRpb25zLycsXG4gIFRFQU06ICdpbnRlcmVzdGVkLXRlYW1zLycsXG4gIEVWRU5UOiAndm9sdW50ZWVyLWV2ZW50cy8nLFxuICBTT1VSQ0U6ICdvcHBvcnR1bml0eS1zb3VyY2VzLycsXG4gIFRSQUlOSU5HX1NFU1NJT046ICd0cmFpbmluZy1zZXNzaW9ucy8nLFxuICBMQU5HVUFHRTogJ2xhbmd1YWdlcy8nLFxuICBTS0lMTDogJ3NraWxscy8nLFxuICBURVJNU19DT05ESVRJT046ICd0ZXJtcy1jb25kaXRpb25zLycsXG4gIFZPTFVOVEVFUl9FVkVOVDogJ3ZvbHVudGVlci1ldmVudHMvJyxcbiAgVk9MVU5URUVSUzogJ3ZvbHVudGVlcnMvJyxcbiAgREFTSEJPQVJEOiAnZGFzaGJvYXJkLycsXG4gIE9GRkVSX1BST0dSQU06ICdvZmZlci1wcm9ncmFtcy8nLFxuICBUUkFWRUxfREFZOiAndHJhdmVsLWRheXMvJyxcbiAgVVNFUjogJ3VzZXJzLycsXG4gIFBVQkxJQzogJ3B1YmxpYy8nLFxuICBOT1RJRlk6ICdub3RpZnkvc2VuZC90ZWxlZ3JhbScsXG4gIE5PVElGWV9TVEFUVVM6ICdub3RpZnkvc2VuZC9zdGF0dXMnLFxuICBVU0VSX0FUVEVOREFOQ0U6ICcvdXNlci1hdHRlbmRhbmNlcy8nXG59O1xuXG5leHBvcnQgY29uc3QgQ1VSUkVOQ1lfVFlQRSA9IHtcbiAgVVNEOiAnVVNEJyxcbiAgS0hSOiAnS0hSJyxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTW9kYWwsIFNwaW4gfSBmcm9tICdhbnRkJztcblxuaW50ZXJmYWNlIExvYWRpbmdEaWFsb2dQcm9wcyB7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbmNsYXNzIExvYWRpbmdEaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8TG9hZGluZ0RpYWxvZ1Byb3BzPiB7XG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgd2lkdGg9ezIwMH1cbiAgICAgICAgdmlzaWJsZT17dmlzaWJsZX1cbiAgICAgICAgY2VudGVyZWRcbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG1hcmdpblRvcDogMjAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTcGluIHNpemU9J2xhcmdlJyAvPlxuICAgICAgICAgIDxwIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicsIG1hcmdpblRvcDogJzFyZW0nIH19PkxvYWRpbmcuLi48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRpbmdEaWFsb2c7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXF1ZXN0Q29uZmlnLCBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWdzL2NvbmZpZyc7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgR0VUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cblxuLy8gRW5zdXJlIGF4aW9zSW5zdGFuY2UgaXMgY29uZmlndXJlZCBwcm9wZXJseVxuY29uc3QgYXhpb3NJbnN0YW5jZSA9IGF4aW9zLmNyZWF0ZSh7XG4gIGJhc2VVUkw6IGNvbmZpZy5hcGlfdXJsLFxuICB0aW1lb3V0OiAxMDAwMDAsIC8vIEV4YW1wbGUgdGltZW91dFxufSlcblxuXG5leHBvcnQgY29uc3QgZ2V0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZFxuKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiA9PiB7ICAvLyDinIUgTm93IHJldHVybnMgZGF0YVxuICB0cnkge1xuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgICBjb25zdCBjb25maWdzID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiB0b2tlbiA/IGBCZWFyZXIgJHt0b2tlbn1gIDogXCJcIiwgLy8g4pyFIEZpeGVkIGluY29ycmVjdCBjb25kaXRpb25hbFxuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG5cbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UuZ2V0KHVybCwgY29uZmlncyk7XG5cblxuICAgIHN1Y2Nlc3M/LihyZXNwb25zZS5kYXRhKTtcblxuICAgIHJldHVybiByZXNwb25zZS5kYXRhOyAvLyDinIUgRW5zdXJlcyBjYWxsaW5nIGZ1bmN0aW9ucyByZWNlaXZlIGRhdGFcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiQXhpb3MgR0VUIHJlcXVlc3QgZmFpbGVkOlwiLCBlcnIpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSA/PyBcIlVua25vd24gZXJyb3IhXCI7XG4gICAgY29uc3QgZXJyb3IgPSBlcnIucmVzcG9uc2U/LmRhdGE/LmVycm9yID8/IFwiVW5rbm93biBlcnJvciFcIjtcblxuICAgIGNvbnNvbGUuZXJyb3IoeyBlcnJvciB9KTtcblxuICAgIGZhaWxlZD8uKG1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8g4pyFIFByZXZlbnQgdW5kZWZpbmVkIGlzc3VlcyBpbiBSZWR1eFxuICB9XG59O1xuXG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgUE9TVCByZXF1ZXN0cyB3aXRoIHRva2VuIGF1dGhvcml6YXRpb24uXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBBUEkgZW5kcG9pbnQuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSByZXF1ZXN0IHBheWxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc3RXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcblxuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gIH07XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XG4gIH1cblxuICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coJ3Bvc2VkPT09PT09PT09IDogJyxkYXRhKVxuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5cbmV4cG9ydCBjb25zdCBwb3N0V2l0aENvbmZpZ0Zvcm1EYXRhID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogRm9ybURhdGFcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykgPz8gJyc7XG5cbiAgY29uc29sZS5sb2coJ2Zvcm1EYXRhICcsIGRhdGEpO1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UucG9zdCh1cmwsIGRhdGEsIGNvbmZpZyk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignUE9TVCByZXF1ZXN0IGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQT1NUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWdXaGl0ZWxpc3QgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIikgfHwgXCJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpxWVhsQVoyMWhhV3d1WTI5dElpd2laWGh3SWpveE56azROVGczTlRFMmZRLjhkcmdub1E3ZjRkWVFZYjMxRmNCdkJhMkJkZ0FHanVSSlhjaGlQbVM3ZEFcIjtcblxuICBjb25zdCBzdG9yZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKTtcbiAgY29uc3QgdXNlciA9IHN0b3JlZFVzZXIgPyBKU09OLnBhcnNlKHN0b3JlZFVzZXIpIDogbnVsbDsgIC8vIOKchSBQcmV2ZW50c1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gIH07XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XG4gIH1cblxuICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIHRyeSB7XG4gICAgLy8gRW5zdXJlIHJlcXVpcmVkIGZpZWxkcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgcGF5bG9hZFxuICAgIGRhdGEucGhvbmVfbnVtYmVyID0gZGF0YS5waG9uZV9udW1iZXIgPyBgKyR7ZGF0YS5waG9uZV9udW1iZXIuY291bnRyeUNvZGV9ICR7ZGF0YS5waG9uZV9udW1iZXIuYXJlYUNvZGV9ICR7ZGF0YS5waG9uZV9udW1iZXIucGhvbmVOdW1iZXJ9YCA6IHVuZGVmaW5lZDtcbiAgICBkYXRhLnRlcm1zX2NvbmRpdGlvbnNfaWQgPSAyO1xuICAgIGRhdGEudm9sdW50ZWVyX3N0YXR1cyA9IFwiUmVnaXN0ZXJcIjtcbiAgICBkYXRhLnVzZXJfaWQgPSB1c2VyLmlkO1xuICAgIGNvbnN0IGV4cGVydGlzZVN0ciA9ICBkYXRhLmV4cGVydGlzZS50b1N0cmluZygpO1xuICAgIGRhdGEuZXhwZXJ0aXNlID0gZXhwZXJ0aXNlU3RyO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgREVMRVRFIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgZGF0YS5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgcGF5bG9hZCBmb3IgdGhlIERFTEVURSByZXF1ZXN0LlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykgPz8gJyc7XG4gIGlmICh0b2tlbiA9PT0gJycpIHtcbiAgICBmYWlsZWQ/LignVG9rZW4gaXMgbWlzc2luZy4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb25maWdzOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgaGVhZGVyczoge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgPyBgQmVhcmVyICR7dG9rZW59YCA6ICcnLCAvLyBFbnN1cmUgY29ycmVjdCBCZWFyZXIgZm9ybWF0XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgICBkYXRhOiBkYXRhID8/IHt9LFxuICB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLmRlbGV0ZSh1cmwsIGNvbmZpZ3MpO1xuICAgIHN1Y2Nlc3M/LihyZXNwb25zZS5kYXRhKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/ICdVbmtub3duIGVycm9yISc7XG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG4gIH1cbn07XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgUFVUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEBwYXJhbSBzdWNjZXNzIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHN1Y2Nlc3MgcmVzcG9uc2UuXG4gKiBAcGFyYW0gZmFpbGVkIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIGVycm9yIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY29uc3QgcHV0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKSB8fCBcImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSnFZWGxBWjIxaGFXd3VZMjl0SWl3aVpYaHdJam94TnprNE5UZzNOVEUyZlEuOGRyZ25vUTdmNGRZUVliMzFGY0J2QmEyQmRnQUdqdVJKWGNoaVBtUzdkQVwiO1xuXG4gIGlmICghdG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUb2tlbiBpcyBtaXNzaW5nLlwiKTtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3M6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfSxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wdXQodXJsLCBkYXRhLCBjb25maWdzKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHVwbG9hZCBmaWxlcy5cbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBmaWxlIGRhdGEgdG8gdXBsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3N0VXBsb2FkID0gYXN5bmMgPFQgPSBhbnk+KGRhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUPiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdXJsID0gYCR7Y29uZmlnLnVwbG9hZF91cmx9L21lZGlhL2ZpbGVgO1xuICAgIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICB0b2tlbjogJzk0OWI3MWVmLWE1ZDItNGEzYy04YTk1LWQ3N2JiN2ZiMmZmNCcsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvcy5wb3N0KHVybCwgZGF0YSwgY29uZmlndXJlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhlcnIpO1xuICB9XG5cbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gcHVzaCBub3RpZmljYXRpb25zIHRvIGEgc3BlY2lmaWMgcmVjaXBpZW50LlxuICpcbiAqIEBwYXJhbSByZWNpcGllbnQgLSBUaGUgdG9waWMgb3IgY3VycmVudFVzZXIgSUQuXG4gKiBAcGFyYW0gdGl0bGUgLSBUaGUgbm90aWZpY2F0aW9uIHRpdGxlLlxuICogQHBhcmFtIG1lc3NhZ2VCb2R5IC0gVGhlIGJvZHkgb2YgdGhlIG5vdGlmaWNhdGlvbi5cbiAqIEBwYXJhbSBpc0RyaXZlciAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSByZWNpcGllbnQgaXMgYSBkcml2ZXIuXG4gKiBAcGFyYW0gcGhvdG8gLSBPcHRpb25hbCBwaG90byBVUkwgZm9yIHRoZSBub3RpZmljYXRpb24uXG4gKiBAcGFyYW0gZmFpbGVkIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIGVycm9yIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY29uc3QgcHVzaE5vdGlmaWNhdGlvbiA9IGFzeW5jIChcbiAgcmVjaXBpZW50OiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmcsXG4gIGlzRHJpdmVyOiBib29sZWFuLFxuICBwaG90bz86IHN0cmluZyxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB1cmwgPSBgJHtjb25maWcubm90aWZpY2F0aW9uX3VybH1ub3RpZmljYXRpb24vYDtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IGlzRHJpdmVyXG4gICAgPyB7ICdEcml2ZXItSGVhZGVyJzogJ3RydWUnIH1cbiAgICA6IHt9O1xuICBjb25zdCBjb25maWd1cmU6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgdG9waWNfbmFtZTogcmVjaXBpZW50LFxuICAgIG1lc3NhZ2VfdGl0bGU6IHRpdGxlLFxuICAgIG1lc3NhZ2VfYm9keTogbWVzc2FnZUJvZHksXG4gICAgcGhvdG8sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgPz8gJ1Vua25vd24gZXJyb3IhJztcbiAgICBmYWlsZWQ/LihtZXNzYWdlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBwdXNoIG5vdGlmaWNhdGlvbnMgdG8gYWxsIHVzZXJzIGluIHRoZSBhcHAuXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgbm90aWZpY2F0aW9uIHBheWxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHB1c2hOb3RpZmljYXRpb25BbGxBcHAgPSBhc3luYyA8VCA9IGFueT4oXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdXJsID0gYCR7Y29uZmlnLm5vdGlmaWNhdGlvbl91cmx9bm90aWZpY2F0aW9uL2A7XG4gIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzOiB7fSB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvcy5wb3N0KHVybCwgZGF0YSwgY29uZmlndXJlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlmaWNhdGlvbiBmYWlsZWQnKTtcbiAgfVxufTtcbiIsImltcG9ydCB7IGNvbmZpZ3VyZVN0b3JlLCBUaHVua0FjdGlvbiwgQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5cbmltcG9ydCBhdXRoU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB2b2x1bnRlZXJTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXIvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBkaXNhYmlsaXR5VHlwZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZm9vZFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvb2QvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBpbnRlcmVzdGVkVGVhbVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IG9jY3VwYXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBwcm92aW5jZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb3ZpbmNlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgc2tpbGxTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9za2lsbC9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHRlcm1zQ29uZGl0aW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdGVybXNfY29uZGl0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdHJhaW5pbmdTZXNzaW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhaW5pbmdfc2Vzc2lvbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHZvbHVudGVlckV2ZW50U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyX2V2ZW50L2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgbGFuZ3VhZ2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHVzZXJTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb2ZmZXJQcm9ncmFtU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHRyYXZlbERheVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXZlbF9kYXkvY29yZS9yZWR1Y2VyJztcbmltcG9ydCB1c2VyQXR0ZW5kYW5jZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXJfYXR0ZW5kYW5jZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGZhbWlsaVN1cnZleVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9yZWR1Y2VyJztcblxuZXhwb3J0IGNvbnN0IHN0b3JlID0gY29uZmlndXJlU3RvcmUoe1xuICByZWR1Y2VyOiB7XG4gICAgYXV0aDogYXV0aFNsaWNlLFxuICAgIHZvbHVudGVlcjogdm9sdW50ZWVyU2xpY2UsXG4gICAgZGlzYWJpbGl0eVR5cGU6IGRpc2FiaWxpdHlUeXBlU2xpY2UsXG4gICAgZWR1Y2F0aW9uSW5zdGl0dXRpb246IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UsXG4gICAgZm9vZDogZm9vZFNsaWNlLFxuICAgIGludGVyZXN0ZWRUZWFtOiBpbnRlcmVzdGVkVGVhbVNsaWNlLFxuICAgIG9jY3VwYXRpb246IG9jY3VwYXRpb25TbGljZSxcbiAgICBvcHBvcnR1bml0eVNvdXJjZTogb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSxcbiAgICBwcm92aW5jZTogcHJvdmluY2VTbGljZSxcbiAgICBsYW5ndWFnZTogbGFuZ3VhZ2VTbGljZSxcbiAgICBza2lsbDogc2tpbGxTbGljZSxcbiAgICB0ZXJtc0NvbmRpdGlvbjogdGVybXNDb25kaXRpb25TbGljZSxcbiAgICB0cmFpbmluZ1Nlc3Npb246IHRyYWluaW5nU2Vzc2lvblNsaWNlLFxuICAgIHZvbHVudGVlckV2ZW50OiB2b2x1bnRlZXJFdmVudFNsaWNlLFxuICAgIHVzZXI6IHVzZXJTbGljZSxcbiAgICBvZmZlclByb2dyYW06IG9mZmVyUHJvZ3JhbVNsaWNlLFxuICAgIHRyYXZlbERheTogdHJhdmVsRGF5U2xpY2UsXG4gICAgdXNlckF0dGVuZGFuY2U6IHVzZXJBdHRlbmRhbmNlU2xpY2UsXG4gICAgZmFtaWxpU3VydmV5OiBmYW1pbGlTdXJ2ZXlTbGljZVxuICB9LFxuICBkZXZUb29sczogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcbn0pO1xuXG5leHBvcnQgdHlwZSBBcHBEaXNwYXRjaCA9IHR5cGVvZiBzdG9yZS5kaXNwYXRjaDtcbmV4cG9ydCB0eXBlIFJvb3RTdGF0ZSA9IFJldHVyblR5cGU8dHlwZW9mIHN0b3JlLmdldFN0YXRlPjtcbmV4cG9ydCB0eXBlIEFwcFRodW5rPFJldHVyblR5cGUgPSB2b2lkPiA9IFRodW5rQWN0aW9uPFxuICBSZXR1cm5UeXBlLFxuICBSb290U3RhdGUsXG4gIHVua25vd24sXG4gIEFjdGlvbjxzdHJpbmc+XG4+O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsgLy8gUmVxdWlyZWQgZm9yIEpTWFxuaW1wb3J0IHsgUm91dGVzIGFzIFJvdXRlclJvdXRlcywgUm91dGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW1wb3J0IE1haW4gZnJvbSAnLi4vdmlld3MvbWFpbi9ob21lL21haW4nO1xuaW1wb3J0IExvZ2luIGZyb20gJy4uL3ZpZXdzL2xvZ2luL2xvZ2luJztcbmltcG9ydCBOb3RGb3VuZCBmcm9tICcuLi92aWV3cy9ub3QtZm91bmQvbm90LWZvdW5kJztcbmltcG9ydCBQcm90ZWN0ZWRSb3V0ZSBmcm9tICcuL3Byb3RlY3RlZC1yb3V0ZSc7XG5pbXBvcnQgVm9sdW50ZWVyUmVnaXN0ZXJGb3JtIGZyb20gJy4uL3ZpZXdzL3ZvbHVudGVlci92b2x1bnRlZXItcmVnaXN0ZXInO1xuaW1wb3J0IEF1dGggZnJvbSAnLi4vdmlld3MvbG9naW4vYXV0aCc7XG5pbXBvcnQgQXR0ZW5kYW5jZVFSIGZyb20gJy4uL3ZpZXdzL2xvZ2luL2F0dGVuZGFuY2VfcXInO1xuaW1wb3J0IFRlbGVncmFtTG9naW5BdHRlbmRhbmNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2F0dGVuZGFuY2VfdmVyaWZpY2F0aW9uJztcbmltcG9ydCBGYW1pbHlTdXJ2ZXlGb3JtIGZyb20gJy4uL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybSc7XG5cbmNvbnN0IEFwcFJvdXRlczogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxSb3V0ZXJSb3V0ZXM+XG4gICAgey8qIFB1YmxpYyBSb3V0ZXMgKi99XG4gICAgPFJvdXRlIHBhdGg9Jy9sb2dpbicgZWxlbWVudD17PExvZ2luIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvYXV0aCcgZWxlbWVudD17PEF1dGggLz59IC8+XG4gICAgPFJvdXRlIHBhdGg9Jy9hdHRlbmRhbmNlJyBlbGVtZW50PXs8VGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UgLz59IC8+XG4gICAgPFJvdXRlIHBhdGg9Jy9xcicgZWxlbWVudD17PEF0dGVuZGFuY2VRUiAvPn0gLz5cbiAgICBcblxuICAgIHsvKiBQcm90ZWN0ZWQgUm91dGVzIC0gV3JhcHBpbmcgZXZlcnl0aGluZyBpbnNpZGUgTWFpbiAqL31cbiAgICA8Um91dGVcbiAgICAgIHBhdGg9Jy8qJ1xuICAgICAgZWxlbWVudD17XG4gICAgICAgIDxQcm90ZWN0ZWRSb3V0ZT5cbiAgICAgICAgICA8TWFpbiAvPlxuICAgICAgICA8L1Byb3RlY3RlZFJvdXRlPlxuICAgICAgfVxuICAgIC8+XG4gICAgey8qIFByb3RlY3RlZCBSb3V0ZXMgLSBXcmFwcGluZyBldmVyeXRoaW5nIGluc2lkZSBNYWluICovfVxuICAgIDxSb3V0ZVxuICAgICAgcGF0aD0nL3JlZ2lzdGVyJ1xuICAgICAgZWxlbWVudD17XG4gICAgICAgIDxQcm90ZWN0ZWRSb3V0ZT5cbiAgICAgICAgICA8Vm9sdW50ZWVyUmVnaXN0ZXJGb3JtIC8+XG4gICAgICAgIDwvUHJvdGVjdGVkUm91dGU+XG4gICAgICB9XG4gICAgLz5cbiAgICBcbiAgICB7LyogQ2F0Y2gtQWxsIFJvdXRlICovfVxuICAgIDxSb3V0ZSBwYXRoPScqJyBlbGVtZW50PXs8Tm90Rm91bmQgLz59IC8+XG4gIDwvUm91dGVyUm91dGVzPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwUm91dGVzO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBQcm90ZWN0ZWRSb3V0ZVByb3BzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFByb3RlY3RlZFJvdXRlOiBSZWFjdC5GQzxQcm90ZWN0ZWRSb3V0ZVByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICBjb25zdCBzdG9yZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKTtcbiAgbGV0IHVzZXIgPSBudWxsO1xuXG4gIGlmIChzdG9yZWRVc2VyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHVzZXIgPSBKU09OLnBhcnNlKHN0b3JlZFVzZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGN1cnJlbnRVc2VyIGZyb20gc2Vzc2lvblN0b3JhZ2U6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdQYXJzZWQgdXNlcjonLCB1c2VyKTtcblxuICAvLyBDaGVjayBmb3IgYSB2YWxpZCB0b2tlbiBhbmQgdGhhdCB0aGUgdXNlcidzIHJvbGUgaXMgbm90IFwiVVNFUlwiXG4gIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9XG4gICAgQm9vbGVhbihhY2Nlc3NUb2tlbiAmJiBhY2Nlc3NUb2tlbi5sZW5ndGggPiAwICYmIHVzZXIpO1xuXG4gIHJldHVybiBpc0F1dGhlbnRpY2F0ZWQgPyA8PntjaGlsZHJlbn08Lz4gOiA8TmF2aWdhdGUgdG89XCIvbG9naW5cIiAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFByb3RlY3RlZFJvdXRlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIEZvcm0sXG4gIElucHV0LFxuICBCdXR0b24sXG4gIENoZWNrYm94LFxuICBSb3csXG4gIENvbCxcbiAgSW5wdXROdW1iZXIsXG4gIFNlbGVjdCxcbiAgQ2FyZCxcbiAgbWVzc2FnZSxcbiAgU3BhY2UsXG4gIFRhZ1xufSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHtcbiAgZmV0Y2hQcm92aW5jZSxcbiAgZmV0Y2hEaXN0cmljdCxcbiAgZmV0Y2hDb21tdW5lLFxuICBmZXRjaFZpbGxhZ2VTZXJ2aWNlLFxuICBmZXRjaFRyYW5zcG9ydGF0aW9uLFxuICBjcmVhdGVGYW1pbHlBY3Rpb24sXG4gIHVwZGF0ZUZhbWlseUFjdGlvbixcbiAgZmFtaWx5RGV0YWlsQWN0aW9uXG59IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRmFtaWx5TWVtYmVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4XCI7XG5cbmNvbnN0IHsgT3B0aW9uIH0gPSBTZWxlY3Q7XG5cbi8vIEFkZCBpbnRlcmZhY2VzXG5pbnRlcmZhY2UgTG9jYXRpb25DaGFpbiB7XG4gIHByb3ZpbmNlOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICBkaXN0cmljdD86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIGNvbW11bmU/OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICB2aWxsYWdlPzogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG59XG5cbi8vIFVwZGF0ZSBzdG9yYWdlIGtleVxuY29uc3QgU1RPUkFHRV9LRVkgPSB7XG4gIExPQ0FUSU9OX0NIQUlOUzogJ2ZhbWlseV9zdXJ2ZXlfbG9jYXRpb25fY2hhaW5zJyxcbiAgTEFTVF9TRUxFQ1RJT046ICdmYW1pbHlfc3VydmV5X2xhc3Rfc2VsZWN0aW9uJ1xufTtcblxuaW50ZXJmYWNlIEZhbWlseVN1cnZleUZvcm1Qcm9wcyB7XG4gIGlzVmlld01vZGU/OiBib29sZWFuO1xuICBpbml0aWFsVmFsdWVzPzogYW55O1xufVxuXG5jb25zdCBGYW1pbHlTdXJ2ZXlGb3JtOiBSZWFjdC5GQzxGYW1pbHlTdXJ2ZXlGb3JtUHJvcHM+ID0gKHtcbiAgaXNWaWV3TW9kZSxcbiAgaW5pdGlhbFZhbHVlc1xufSkgPT4ge1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtzYXZlZExvY2F0aW9uQ2hhaW5zLCBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zXSA9IHVzZVN0YXRlPExvY2F0aW9uQ2hhaW5bXT4oW10pO1xuICBjb25zdCB7XG4gICAgcHJvdmluY2VzID0gW10sXG4gICAgZGlzdHJpY3RzID0gW10sXG4gICAgY29tbXVuZXMgPSBbXSxcbiAgICB2aWxsYWdlcyA9IFtdLFxuICAgIHRyYW5zcG9ydGF0aW9ucyA9IFtdLFxuICAgIGZhbWlseVN1cnZleSxcbiAgICByZWdpc3RlclBlbmRpbmcsXG4gICAgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsXG4gIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZmFtaWxpU3VydmV5IHx8IHt9KTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChmYW1pbHlEZXRhaWxBY3Rpb24oTnVtYmVyKGlkKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gYWRkaW5nIGEgbmV3IGl0ZW1cbiAgICB9XG4gIH0sIFtkaXNwYXRjaCwgaWQsIGZvcm1dKTtcblxuICAvLyDwn5GJIFBvcHVsYXRlIGZvcm0gd2l0aCBmZXRjaGVkIGRhdGFcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQgJiYgZmFtaWx5U3VydmV5KSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogZmFtaWx5U3VydmV5Lm5hbWUgfHwgJycsXG4gICAgICAgIHBob25lOiBmYW1pbHlTdXJ2ZXkucGhvbmUgfHwgJycsXG4gICAgICAgIGdlbmRlcjogZmFtaWx5U3VydmV5LmdlbmRlciB8fCAnJyxcbiAgICAgICAgYWdlOiBmYW1pbHlTdXJ2ZXkuYWdlIHx8IDAsXG4gICAgICAgIHByb3ZpbmNlOiBmYW1pbHlTdXJ2ZXkucHJvdmluY2UgfHwgJycsXG4gICAgICAgIGRpc3RyaWN0OiBmYW1pbHlTdXJ2ZXkuZGlzdHJpY3QgfHwgJycsXG4gICAgICAgIGNvbW11bmU6IGZhbWlseVN1cnZleS5jb21tdW5lIHx8ICcnLFxuICAgICAgICB2aWxsYWdlOiBmYW1pbHlTdXJ2ZXkudmlsbGFnZSB8fCAnJyxcbiAgICAgICAgdG90YWxfbWVtYmVyOiBmYW1pbHlTdXJ2ZXkudG90YWxfbWVtYmVyIHx8IDAsXG4gICAgICAgIG1lbWJlcl9tYWxlOiBmYW1pbHlTdXJ2ZXkubWVtYmVyX21hbGUgfHwgMCxcbiAgICAgICAgbWVtYmVyX2ZlbWFsZTogZmFtaWx5U3VydmV5Lm1lbWJlcl9mZW1hbGUgfHwgMCxcbiAgICAgICAgdG90YWxfcHJlZ25hbnQ6IGZhbWlseVN1cnZleS50b3RhbF9wcmVnbmFudCB8fCAwLFxuICAgICAgICB0b3RhbF9iYWJ5OiBmYW1pbHlTdXJ2ZXkudG90YWxfYmFieSB8fCAwLFxuICAgICAgICBiYWJ5X21hbGU6IGZhbWlseVN1cnZleS5iYWJ5X21hbGUgfHwgMCxcbiAgICAgICAgYmFieV9mZW1hbGU6IGZhbWlseVN1cnZleS5iYWJ5X2ZlbWFsZSB8fCAwLFxuICAgICAgICB0b3RhbF9jaGlsZDogZmFtaWx5U3VydmV5LnRvdGFsX2NoaWxkIHx8IDAsXG4gICAgICAgIGNoaWxkX21hbGU6IGZhbWlseVN1cnZleS5jaGlsZF9tYWxlIHx8IDAsXG4gICAgICAgIGNoaWxkX2ZlbWFsZTogZmFtaWx5U3VydmV5LmNoaWxkX2ZlbWFsZSB8fCAwLFxuICAgICAgICBpc19kaXNhYmxlZDogZmFtaWx5U3VydmV5LmlzX2Rpc2FibGVkIHx8IGZhbHNlLFxuICAgICAgICBpc19vbGRfYWdlOiBmYW1pbHlTdXJ2ZXkuaXNfb2xkX2FnZSB8fCBmYWxzZSxcbiAgICAgICAgdHJhbnNwb3J0YXRpb25faWQ6IGZhbWlseVN1cnZleS50cmFuc3BvcnRhdGlvbl9pZCB8fCBudWxsLFxuICAgICAgICBub3RlOiBmYW1pbHlTdXJ2ZXkubm90ZSB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2ZhbWlseVN1cnZleSwgZm9ybSwgaWRdKTtcblxuICAvLyDwn5GJIFNob3cgc3VjY2VzcyBvciBlcnJvciBhbGVydHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXJlZ2lzdGVyUGVuZGluZyAmJiBpc0NsaWNrKSB7XG4gICAgICBpZiAocmVnaXN0ZXJFcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgbWVzc2FnZS5lcnJvcihyZWdpc3RlckVycm9yTWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoaWQgPyAnVXBkYXRlZCBzdWNjZXNzZnVsbHkhJyA6ICdDcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICAgICAgbmF2aWdhdGUoJy9mYW1pbHktc3VydmV5Jyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVnaXN0ZXJQZW5kaW5nLCByZWdpc3RlckVycm9yTWVzc2FnZSwgaWQsIGlzQ2xpY2ssIG5hdmlnYXRlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFByb3ZpbmNlKCkpO1xuICAgIGRpc3BhdGNoKGZldGNoVHJhbnNwb3J0YXRpb24oKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIC8vIExvYWQgc2F2ZWQgbG9jYXRpb24gY2hhaW5zIG9uIG1vdW50XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRDaGFpbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVE9SQUdFX0tFWS5MT0NBVElPTl9DSEFJTlMpO1xuICAgIGlmIChzYXZlZENoYWlucykge1xuICAgICAgY29uc3QgY2hhaW5zID0gSlNPTi5wYXJzZShzYXZlZENoYWlucyk7XG4gICAgICBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zKGNoYWlucyk7XG5cbiAgICAgIC8vIEF1dG8tc2VsZWN0IG1vc3QgcmVjZW50IGxvY2F0aW9uIGNoYWluXG4gICAgICBjb25zdCBtb3N0UmVjZW50ID0gY2hhaW5zWzBdO1xuICAgICAgaWYgKG1vc3RSZWNlbnQpIHtcbiAgICAgICAgYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4obW9zdFJlY2VudCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ291bnRUb3RhbENoYW5nZSA9ICh0eXBlOiAnbWVtYmVyJyB8ICdiYWJ5JyB8ICdjaGlsZCcsIHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtZW1iZXInKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBtZW1iZXJfbWFsZTogMCwgbWVtYmVyX2ZlbWFsZTogMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ21lbWJlcl9tYWxlJykgfHwgMDtcbiAgICAgICAgY29uc3QgZmVtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdtZW1iZXJfZmVtYWxlJykgfHwgMDtcblxuICAgICAgICBpZiAobWFsZSA+IDAgJiYgbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBtZW1iZXJfZmVtYWxlOiB2YWx1ZSAtIG1hbGUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmVtYWxlID4gMCAmJiBmZW1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgbWVtYmVyX21hbGU6IHZhbHVlIC0gZmVtYWxlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdiYWJ5Jykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgYmFieV9tYWxlOiAwLCBiYWJ5X2ZlbWFsZTogMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2JhYnlfbWFsZScpIHx8IDA7XG4gICAgICAgIGNvbnN0IGZlbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnYmFieV9mZW1hbGUnKSB8fCAwO1xuXG4gICAgICAgIGlmIChtYWxlID4gMCAmJiBtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGJhYnlfZmVtYWxlOiB2YWx1ZSAtIG1hbGUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmVtYWxlID4gMCAmJiBmZW1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgYmFieV9tYWxlOiB2YWx1ZSAtIGZlbWFsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnY2hpbGQnKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjaGlsZF9tYWxlOiAwLCBjaGlsZF9mZW1hbGU6IDAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdjaGlsZF9tYWxlJykgfHwgMDtcbiAgICAgICAgY29uc3QgZmVtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdjaGlsZF9mZW1hbGUnKSB8fCAwO1xuXG4gICAgICAgIGlmIChtYWxlID4gMCAmJiBtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNoaWxkX2ZlbWFsZTogdmFsdWUgLSBtYWxlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZlbWFsZSA+IDAgJiYgZmVtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNoaWxkX21hbGU6IHZhbHVlIC0gZmVtYWxlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlID0gKHR5cGU6ICdtZW1iZXInIHwgJ2JhYnknIHwgJ2NoaWxkJywgZ2VuZGVyOiAnbWFsZScgfCAnZmVtYWxlJywgdmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICBjb25zdCB0b3RhbEZpZWxkID0ge1xuICAgICAgbWVtYmVyOiAndG90YWxfbWVtYmVyJyxcbiAgICAgIGJhYnk6ICd0b3RhbF9iYWJ5JyxcbiAgICAgIGNoaWxkOiAndG90YWxfY2hpbGQnLFxuICAgIH1bdHlwZV07XG5cbiAgICBjb25zdCB0b3RhbCA9IGZvcm0uZ2V0RmllbGRWYWx1ZSh0b3RhbEZpZWxkKSB8fCAwO1xuXG4gICAgaWYgKHRvdGFsID09PSAwKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgW2Ake3R5cGV9X21hbGVgXTogMCxcbiAgICAgICAgW2Ake3R5cGV9X2ZlbWFsZWBdOiAwLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IHRvdGFsKSB7XG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCJHZW5kZXIgY291bnQgY2Fubm90IGV4Y2VlZCB0b3RhbC5cIik7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgW2Ake3R5cGV9XyR7Z2VuZGVyfWBdOiB0b3RhbCB9KTtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBbYCR7dHlwZX1fJHtnZW5kZXIgPT09ICdtYWxlJyA/ICdmZW1hbGUnIDogJ21hbGUnfWBdOiAwIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgW2Ake3R5cGV9XyR7Z2VuZGVyID09PSAnbWFsZScgPyAnZmVtYWxlJyA6ICdtYWxlJ31gXTogdG90YWwgLSB2YWx1ZSB9KTtcbiAgfTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAodmFsdWVzOiBDcmVhdGVGYW1pbHlNZW1iZXIpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZUZhbWlseUFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVGYW1pbHlBY3Rpb24oeyBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGF1dG9TZWxlY3RMb2NhdGlvbkNoYWluID0gKGxvY2F0aW9uQ2hhaW46IExvY2F0aW9uQ2hhaW4pID0+IHtcbiAgICAvLyBTZXQgcHJvdmluY2UgYW5kIGZldGNoIGRpc3RyaWN0c1xuICAgIGlmIChsb2NhdGlvbkNoYWluLnByb3ZpbmNlKSB7XG4gICAgICBjb25zdCBwcm92aW5jZVZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi5wcm92aW5jZS5pZH0sJHtsb2NhdGlvbkNoYWluLnByb3ZpbmNlLm5hbWV9YDtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBwcm92aW5jZTogcHJvdmluY2VWYWx1ZSB9KTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRGlzdHJpY3QoeyBpZDogTnVtYmVyKGxvY2F0aW9uQ2hhaW4ucHJvdmluY2UuaWQpIH0pKTtcblxuICAgICAgLy8gU2V0IGRpc3RyaWN0IGFuZCBmZXRjaCBjb21tdW5lc1xuICAgICAgaWYgKGxvY2F0aW9uQ2hhaW4uZGlzdHJpY3QpIHtcbiAgICAgICAgY29uc3QgZGlzdHJpY3RWYWx1ZSA9IGAke2xvY2F0aW9uQ2hhaW4uZGlzdHJpY3QuaWR9LCR7bG9jYXRpb25DaGFpbi5kaXN0cmljdC5uYW1lfWA7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBkaXN0cmljdDogZGlzdHJpY3RWYWx1ZSB9KTtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hDb21tdW5lKHsgaWQ6IE51bWJlcihsb2NhdGlvbkNoYWluLmRpc3RyaWN0LmlkKSB9KSk7XG5cbiAgICAgICAgLy8gU2V0IGNvbW11bmUgYW5kIGZldGNoIHZpbGxhZ2VzXG4gICAgICAgIGlmIChsb2NhdGlvbkNoYWluLmNvbW11bmUpIHtcbiAgICAgICAgICBjb25zdCBjb21tdW5lVmFsdWUgPSBgJHtsb2NhdGlvbkNoYWluLmNvbW11bmUuaWR9LCR7bG9jYXRpb25DaGFpbi5jb21tdW5lLm5hbWV9YDtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY29tbXVuZTogY29tbXVuZVZhbHVlIH0pO1xuICAgICAgICAgIGRpc3BhdGNoKGZldGNoVmlsbGFnZVNlcnZpY2UoeyBpZDogTnVtYmVyKGxvY2F0aW9uQ2hhaW4uY29tbXVuZS5pZCkgfSkpO1xuXG4gICAgICAgICAgLy8gU2V0IHZpbGxhZ2UgaWYgZXhpc3RzXG4gICAgICAgICAgaWYgKGxvY2F0aW9uQ2hhaW4udmlsbGFnZSkge1xuICAgICAgICAgICAgY29uc3QgdmlsbGFnZVZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi52aWxsYWdlLmlkfSwke2xvY2F0aW9uQ2hhaW4udmlsbGFnZS5uYW1lfWA7XG4gICAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgdmlsbGFnZTogdmlsbGFnZVZhbHVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBzYXZlTG9jYXRpb25DaGFpbiA9IChuZXdDaGFpbjogUGFydGlhbDxMb2NhdGlvbkNoYWluPikgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRDaGFpbiA9IHtcbiAgICAgIC4uLm5ld0NoYWluLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICB9O1xuXG4gICAgLy8gS2VlcCBvbmx5IHVuaXF1ZSBjaGFpbnMsIGxpbWl0ZWQgdG8gNSBtb3N0IHJlY2VudFxuICAgIGNvbnN0IGV4aXN0aW5nQ2hhaW5zID0gc2F2ZWRMb2NhdGlvbkNoYWlucy5maWx0ZXIoY2hhaW4gPT5cbiAgICAgIGNoYWluLnByb3ZpbmNlLmlkICE9PSB1cGRhdGVkQ2hhaW4ucHJvdmluY2U/LmlkIHx8XG4gICAgICBjaGFpbi5kaXN0cmljdD8uaWQgIT09IHVwZGF0ZWRDaGFpbi5kaXN0cmljdD8uaWQgfHxcbiAgICAgIGNoYWluLmNvbW11bmU/LmlkICE9PSB1cGRhdGVkQ2hhaW4uY29tbXVuZT8uaWRcbiAgICApO1xuXG4gICAgY29uc3QgbmV3Q2hhaW5zID0gW3VwZGF0ZWRDaGFpbiwgLi4uZXhpc3RpbmdDaGFpbnNdLnNsaWNlKDAsIDUpO1xuICAgIHNldFNhdmVkTG9jYXRpb25DaGFpbnMobmV3Q2hhaW5zKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWS5MT0NBVElPTl9DSEFJTlMsIEpTT04uc3RyaW5naWZ5KG5ld0NoYWlucykpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVByb3ZpbmNlQ2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGNvbnN0IFtwcm92aW5jZUlkLCBwcm92aW5jZU5hbWVdID0gdmFsdWUuc3BsaXQoXCIsXCIpO1xuICAgIGRpc3BhdGNoKGZldGNoRGlzdHJpY3QoeyBpZDogTnVtYmVyKHByb3ZpbmNlSWQudHJpbSgpKSB9KSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGRpc3RyaWN0OiB1bmRlZmluZWQsIGNvbW11bmU6IHVuZGVmaW5lZCwgdmlsbGFnZTogdW5kZWZpbmVkIH0pO1xuXG4gICAgc2F2ZUxvY2F0aW9uQ2hhaW4oe1xuICAgICAgcHJvdmluY2U6IHtcbiAgICAgICAgaWQ6IHByb3ZpbmNlSWQudHJpbSgpLFxuICAgICAgICBuYW1lOiBwcm92aW5jZU5hbWUudHJpbSgpXG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGlzdHJpY3RDaGFuZ2UgPSAodmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgY29uc3QgW2Rpc3RyaWN0SWQsIGRpc3RyaWN0TmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hDb21tdW5lKHsgaWQ6IE51bWJlcihkaXN0cmljdElkLnRyaW0oKSkgfSkpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjb21tdW5lOiB1bmRlZmluZWQsIHZpbGxhZ2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnRQcm92aW5jZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgncHJvdmluY2UnKT8uc3BsaXQoJywnKTtcbiAgICBpZiAoY3VycmVudFByb3ZpbmNlKSB7XG4gICAgICBzYXZlTG9jYXRpb25DaGFpbih7XG4gICAgICAgIHByb3ZpbmNlOiB7XG4gICAgICAgICAgaWQ6IGN1cnJlbnRQcm92aW5jZVswXS50cmltKCksXG4gICAgICAgICAgbmFtZTogY3VycmVudFByb3ZpbmNlWzFdLnRyaW0oKVxuICAgICAgICB9LFxuICAgICAgICBkaXN0cmljdDoge1xuICAgICAgICAgIGlkOiBkaXN0cmljdElkLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBkaXN0cmljdE5hbWUudHJpbSgpXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb21tdW5lQ2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGNvbnN0IFtjb21tdW5lSWQsIGNvbW11bmVOYW1lXSA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcbiAgICBkaXNwYXRjaChmZXRjaFZpbGxhZ2VTZXJ2aWNlKHsgaWQ6IE51bWJlcihjb21tdW5lSWQudHJpbSgpKSB9KSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IHZpbGxhZ2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnRQcm92aW5jZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgncHJvdmluY2UnKT8uc3BsaXQoJywnKTtcbiAgICBjb25zdCBjdXJyZW50RGlzdHJpY3QgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2Rpc3RyaWN0Jyk/LnNwbGl0KCcsJyk7XG4gICAgaWYgKGN1cnJlbnRQcm92aW5jZSAmJiBjdXJyZW50RGlzdHJpY3QpIHtcbiAgICAgIHNhdmVMb2NhdGlvbkNoYWluKHtcbiAgICAgICAgcHJvdmluY2U6IHtcbiAgICAgICAgICBpZDogY3VycmVudFByb3ZpbmNlWzBdLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBjdXJyZW50UHJvdmluY2VbMV0udHJpbSgpXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3RyaWN0OiB7XG4gICAgICAgICAgaWQ6IGN1cnJlbnREaXN0cmljdFswXS50cmltKCksXG4gICAgICAgICAgbmFtZTogY3VycmVudERpc3RyaWN0WzFdLnRyaW0oKVxuICAgICAgICB9LFxuICAgICAgICBjb21tdW5lOiB7XG4gICAgICAgICAgaWQ6IGNvbW11bmVJZC50cmltKCksXG4gICAgICAgICAgbmFtZTogY29tbXVuZU5hbWUudHJpbSgpXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNhbmNlbCA9ICgpID0+IHtcbiAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oU1RPUkFHRV9LRVkuTEFTVF9TRUxFQ1RJT04pO1xuICAgIG5hdmlnYXRlKCcvZmFtaWx5LXN1cnZleScpXG4gIH07XG5cbiAgY29uc3QgUXVpY2tGaWxsID0gKCkgPT4ge1xuICAgIGNvbnN0IG1vc3RSZWNlbnQgPSBzYXZlZExvY2F0aW9uQ2hhaW5zWzBdO1xuXG4gICAgaWYgKCFtb3N0UmVjZW50KSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogMTYgfX0+XG4gICAgICAgIDxTcGFjZSBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuPuGekeGeuOGej+GetuGfhuGehOGekOGfkuGemOGeuOGflyAvIFJlY2VudCBsb2NhdGlvbjo8L3NwYW4+XG4gICAgICAgICAgPFRhZyBjb2xvcj1cImJsdWVcIj5cbiAgICAgICAgICAgIHttb3N0UmVjZW50LnByb3ZpbmNlLm5hbWV9XG4gICAgICAgICAgICB7bW9zdFJlY2VudC5kaXN0cmljdCAmJiBgID4gJHttb3N0UmVjZW50LmRpc3RyaWN0Lm5hbWV9YH1cbiAgICAgICAgICAgIHttb3N0UmVjZW50LmNvbW11bmUgJiYgYCA+ICR7bW9zdFJlY2VudC5jb21tdW5lLm5hbWV9YH1cbiAgICAgICAgICA8L1RhZz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgLy8gQXV0by1zZWxlY3QgbG9jYXRpb24gb24gbW91bnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzYXZlZENoYWlucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZLkxPQ0FUSU9OX0NIQUlOUyk7XG4gICAgaWYgKHNhdmVkQ2hhaW5zKSB7XG4gICAgICBjb25zdCBjaGFpbnMgPSBKU09OLnBhcnNlKHNhdmVkQ2hhaW5zKTtcbiAgICAgIHNldFNhdmVkTG9jYXRpb25DaGFpbnMoY2hhaW5zKTtcblxuICAgICAgLy8gQXV0by1zZWxlY3QgbW9zdCByZWNlbnQgbG9jYXRpb24gY2hhaW4gd2l0aG91dCB1c2VyIGludGVyYWN0aW9uXG4gICAgICBjb25zdCBtb3N0UmVjZW50ID0gY2hhaW5zWzBdO1xuICAgICAgaWYgKG1vc3RSZWNlbnQpIHtcbiAgICAgICAgYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4obW9zdFJlY2VudCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5pdGlhbFZhbHVlcyAmJiAoaXNWaWV3TW9kZSkpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoaW5pdGlhbFZhbHVlcyk7XG4gICAgfVxuICB9LCBbaW5pdGlhbFZhbHVlcywgZm9ybSwgaXNWaWV3TW9kZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPENhcmQ+XG4gICAgICA8Rm9ybVxuICAgICAgICBmb3JtPXtmb3JtfVxuICAgICAgICBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiXG4gICAgICAgIG9uRmluaXNoPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIGRpc2FibGVkPXtpc1ZpZXdNb2RlfVxuICAgICAgICBpbml0aWFsVmFsdWVzPXtpbml0aWFsVmFsdWVzfVxuICAgICAgPlxuICAgICAgICA8UXVpY2tGaWxsIC8+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4fhnoLhn5Lhnprhnr3hnp/hnrbhnpogLyBGYW1pbHkgTmFtZVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBmYW1pbHkgbmFtZVwiIH1dfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBmYW1pbHkgbmFtZVwiIC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGem+GfgeGegeGekeGevOGemuGen+GfkOGeluGfkuGekSAvIFBob25lXCJcbiAgICAgICAgICAgICAgbmFtZT1cInBob25lXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1tcbiAgICAgICAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBwaG9uZSBudW1iZXJcIiB9LFxuICAgICAgICAgICAgICAgIHsgcGF0dGVybjogL15bMC05XSskLywgbWVzc2FnZTogXCJQaG9uZSBtdXN0IGJlIG51bWJlcnMgb25seVwiIH0sXG4gICAgICAgICAgICAgIF19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJbnB1dCBwbGFjZWhvbGRlcj1cIkVudGVyIHBob25lIG51bWJlclwiIC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIEdlbmRlciAmIEFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGel+GfgeGekSAvIEdlbmRlclwiXG4gICAgICAgICAgICAgIG5hbWU9XCJnZW5kZXJcIlxuICAgICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIHNlbGVjdCBnZW5kZXJcIiB9XX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBnZW5kZXJcIj5cbiAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiTWFsZVwiPuGelOGfkuGemuGeu+GenyAvIE1hbGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiRmVtYWxlXCI+4Z6f4Z+S4Z6a4Z64IC8gRmVtYWxlPC9PcHRpb24+XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnqLhnrbhnpnhnrsgLyBBZ2VcIlxuICAgICAgICAgICAgICBuYW1lPVwiYWdlXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBhZ2VcIiB9XX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIFByb3ZpbmNlLCBEaXN0cmljdCwgQ29tbXVuZSwgVmlsbGFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9XCJwcm92aW5jZVwiIGxhYmVsPVwi4Z6B4Z+B4Z6P4Z+S4Z6PL+GegOGfkuGemuGeu+GehCAvIFByb3ZpbmNlL0NpdHlcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUgfV19PlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IFByb3ZpbmNlXCIgb25DaGFuZ2U9e2hhbmRsZVByb3ZpbmNlQ2hhbmdlfT5cbiAgICAgICAgICAgICAgICB7cHJvdmluY2VzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIHByb3ZpbmNlc1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHAgPT4gQUxMT1dFRF9QUk9WSU5DRV9JRFMuaW5jbHVkZXMocC5pZC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJykpKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e3AuaWR9IHZhbHVlPXtgJHtwLmlkfSwgJHtwLm5hbWUua219IC8gJHtwLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YCR7cC5uYW1lLmttfSAvICR7cC5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24gZGlzYWJsZWQ+Tm8gcHJvdmluY2VzIGF2YWlsYWJsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBuYW1lPVwiZGlzdHJpY3RcIiBsYWJlbD1cIuGen+GfkuGemuGeu+GegC/hnoHhno7hn5LhnowgLyBEaXN0cmljdC9LaGFuXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlIH1dfT5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEaXN0cmljdFwiIG9uQ2hhbmdlPXtoYW5kbGVEaXN0cmljdENoYW5nZX0+XG4gICAgICAgICAgICAgICAge2Rpc3RyaWN0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICBkaXN0cmljdHMubWFwKChkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtkLmlkfSB2YWx1ZT17YCR7ZC5pZH0sICR7ZC5uYW1lLmttfSAvICR7ZC5uYW1lLmxhdGlufWB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIGRpc3RyaWN0cyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cImNvbW11bmVcIiBsYWJlbD1cIuGeg+Geu+Gfhi/hnp/hnoThn5LhnoDhnrbhno/hn4sgLyBDb21tdW5lL1NhbmdrYXRcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUgfV19PlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IENvbW11bmVcIiBvbkNoYW5nZT17aGFuZGxlQ29tbXVuZUNoYW5nZX0+XG4gICAgICAgICAgICAgICAge2NvbW11bmVzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIGNvbW11bmVzLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17Yy5pZH0gdmFsdWU9e2Ake2MuaWR9LCAke2MubmFtZS5rbX0gLyAke2MubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YCR7Yy5uYW1lLmttfSAvICR7Yy5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBjb21tdW5lcyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cInZpbGxhZ2VcIiBsYWJlbD1cIuGel+GevOGemOGetyAvIFZpbGxhZ2VcIj5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBWaWxsYWdlXCI+XG4gICAgICAgICAgICAgICAge3ZpbGxhZ2VzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIHZpbGxhZ2VzLm1hcCgodikgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17di5pZH0gdmFsdWU9e2Ake3YubmFtZS5rbX0gLyAke3YubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YCR7di5uYW1lLmttfSAvICR7di5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyB2aWxsYWdlcyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogRmFtaWx5IE1lbWJlciBDb3VudHMgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnp/hnprhnrvhnpQgLyBUb3RhbCBNZW1iZXJzXCIgbmFtZT1cInRvdGFsX21lbWJlclwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgdG90YWwgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRUb3RhbENoYW5nZSgnbWVtYmVyJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnpThn5Lhnprhnrvhnp8gLyBNYWxlIE1lbWJlcnNcIiBuYW1lPVwibWVtYmVyX21hbGVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIG1hbGUgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ21lbWJlcicsICdtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnp/hn5LhnprhnrggLyBGZW1hbGUgTWVtYmVyc1wiIG5hbWU9XCJtZW1iZXJfZmVtYWxlXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBmZW1hbGUgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ21lbWJlcicsICdmZW1hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGen+GfkuGemuGfkuGej+GeuOGemOGetuGek+GeleGfkuGekeGfg+GeluGfhOGfhyAvIFRvdGFsIFByZWduYW50XCIgbmFtZT1cInRvdGFsX3ByZWduYW50XCI+PElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIEJhYmllcyAmIENoaWxkcmVuICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6f4Z6a4Z674Z6UICg8IOGfouGehuGfkuGek+GetuGfhikgLyBUb3RhbCBCYWJpZXMgKDwgMiB5ZWFycylcIiBuYW1lPVwidG90YWxfYmFieVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRUb3RhbENoYW5nZSgnYmFieScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6U4Z+S4Z6a4Z674Z6fIC8gQmFieSBNYWxlXCIgbmFtZT1cImJhYnlfbWFsZVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ2JhYnknLCAnbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6f4Z+S4Z6a4Z64IC8gQmFieSBGZW1hbGVcIiBuYW1lPVwiYmFieV9mZW1hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdiYWJ5JywgJ2ZlbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGegOGeu+GemOGetuGemuGen+GemuGeu+GelCAo4Z+iLeGfoeGfo+GehuGfkuGek+GetuGfhikgLyBUb3RhbCBDaGlsZHJlbiAoMi0xMyB5ZWFycylcIiBuYW1lPVwidG90YWxfY2hpbGRcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50VG90YWxDaGFuZ2UoJ2NoaWxkJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhnrvhnpjhnrbhnprhnpThn5Lhnprhnrvhnp8gLyBDaGlsZCBNYWxlXCIgbmFtZT1cImNoaWxkX21hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdjaGlsZCcsICdtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhnrvhnpjhnrbhnprhnrjhnp/hn5LhnprhnrggLyBDaGlsZCBGZW1hbGVcIiBuYW1lPVwiY2hpbGRfZmVtYWxlXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnY2hpbGQnLCAnZmVtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBEaXNhYmlsaXR5ICYgT2xkIEFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PjxGb3JtLkl0ZW0gbmFtZT1cImlzX2Rpc2FibGVkXCIgdmFsdWVQcm9wTmFtZT1cImNoZWNrZWRcIiBpbml0aWFsVmFsdWU9e2ZhbHNlfT48Q2hlY2tib3g+4Z6Y4Z624Z6T4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WIC8gRGlzYWJsZWQ8L0NoZWNrYm94PjwvRm9ybS5JdGVtPjwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+PEZvcm0uSXRlbSBuYW1lPVwiaXNfb2xkX2FnZVwiIHZhbHVlUHJvcE5hbWU9XCJjaGVja2VkXCIgaW5pdGlhbFZhbHVlPXtmYWxzZX0+PENoZWNrYm94PuGemOGetuGek+GemOGek+Geu+Gen+GfkuGen+GeheGetuGen+GfiyAvIE9sZCBBZ2UgKCZndDsg4Z+m4Z+lKTwvQ2hlY2tib3g+PC9Gb3JtLkl0ZW0+PC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBUcmFuc3BvcnRhdGlvbiAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBuYW1lPVwidHJhbnNwb3J0YXRpb25faWRcIlxuICAgICAgICAgICAgICBsYWJlbD1cIuGemOGekuGfkuGemeGfhOGelOGetuGemeGekuGfkuGenOGevuGeiuGfhuGejuGevuGemiAvIFRyYW5zcG9ydGF0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6H4Z+S4Z6a4Z6+4Z6f4Z6a4Z6+4Z6f4Z6Y4Z6S4Z+S4Z6Z4Z+E4Z6U4Z624Z6Z4Z6S4Z+S4Z6c4Z6+4Z6K4Z+G4Z6O4Z6+4Z6aIC8gU2VsZWN0IHRyYW5zcG9ydGF0aW9uXCJcbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dHJhbnNwb3J0YXRpb25zLm1hcChvcHRpb24gPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e29wdGlvbi5pZH0gdmFsdWU9e29wdGlvbi5pZH0+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+XG4gICAgPExvZ2luRm9ybSAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9naW47XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJGb290ZXIiLCJfTGF5b3V0IiwiRm9vdGVyQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInhzIiwic20iLCJtZCIsImhyZWYiLCJ0YXJnZXQiLCJyZWwiLCJtYXJnaW5Ub3AiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJlbnYiLCJhc3NldF91cmwiLCJhcGlfdXJsIiwicHJvY2VzcyIsIkJBU0VfVVJMIiwidXBsb2FkX3VybCIsIk1FRElBX0FQSSIsInNvY2tldF91cmwiLCJTT0NLRVJfU0VSVkVSIiwibm90aWZpY2F0aW9uX3VybCIsIk5PVElGSUNBVElPTiIsIkFXU19BQ0NFU1NfS0VZX0lEIiwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIiwiUkVBQ1RfQVBQX0FQSV9UT0tFTiIsIlMzX0JVQ0tFVCIsImZpcmViYXNlX2NvbmZpZ19oZWFkZXJzIiwibGltaXQiLCJ3YWxsZXRfbGltaXQiLCJ3ZWJzb2NrZXRFdmVudCIsIkRSSVZFUl9MSVZFX0xPQ0FUSU9OIiwiVVBEQVRFX0pOX1dBTExFVCIsIkNBU0hfSU5fU1VDQ0VTUyIsIkNBU0hfT1VUX1NVQ0NFU1MiLCJOT19EUklWRVJfQVZBSUxBQkxFIiwiUEFDS0FHRV9UUkFDS0lORyIsImRlZmF1bHRBZG1pbkFjY291bnQiLCJ0ZWxlZ3JhbUlkIiwiZGV2IiwiZGV2TG9nZ2VyIiwiZXhwcmVzc0h1YiIsImV4cHJlc3NNZXJjaGFudCIsImV4cHJlc3NGaW5hbmNlIiwiZXhwcmVzc0RyaXZlciIsIlNUQVJUX0xPR0lOIiwiQVVUSF9MT0dJTiIsIkxPR0lOX0ZBSUxFRCIsIlVSTCIsIkxPR0lOIiwiTE9HSU5fVEVMRUdSQU0iLCJWRVJJRllfVE9QIiwiU0lHTlVQIiwiRElTQUJJTElUWV9UWVBFIiwiUFJPVklOQ0UiLCJPQ0NVUEFUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRk9PRFMiLCJGT09EIiwiRkFNSUxJRVMiLCJUUkFOU1BPUlRBVElPTlMiLCJURUFNIiwiRVZFTlQiLCJTT1VSQ0UiLCJUUkFJTklOR19TRVNTSU9OIiwiTEFOR1VBR0UiLCJTS0lMTCIsIlRFUk1TX0NPTkRJVElPTiIsIlZPTFVOVEVFUl9FVkVOVCIsIlZPTFVOVEVFUlMiLCJEQVNIQk9BUkQiLCJPRkZFUl9QUk9HUkFNIiwiVFJBVkVMX0RBWSIsIlVTRVIiLCJQVUJMSUMiLCJOT1RJRlkiLCJOT1RJRllfU1RBVFVTIiwiVVNFUl9BVFRFTkRBTkNFIiwiQ1VSUkVOQ1lfVFlQRSIsIlVTRCIsIktIUiIsIkxvYWRpbmdEaWFsb2ciLCJfUmVhY3QkQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsImFyZ3VtZW50cyIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwicmVuZGVyIiwidmlzaWJsZSIsInByb3BzIiwiX01vZGFsIiwid2lkdGgiLCJjZW50ZXJlZCIsImZvb3RlciIsImNsb3NhYmxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJfU3BpbiIsInNpemUiLCJDb21wb25lbnQiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwiX3JlZ2VuZXJhdG9yIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJheGlvcyIsImNvbmZpZyIsImF4aW9zSW5zdGFuY2UiLCJiYXNlVVJMIiwidGltZW91dCIsImdldFdpdGhDb25maWciLCJfcmVmIiwiX2NhbGxlZSIsInVybCIsInBhcmFtcyIsInN1Y2Nlc3MiLCJmYWlsZWQiLCJ0b2tlbiIsImNvbmZpZ3MiLCJyZXNwb25zZSIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZSIsIl9lcnIkcmVzcG9uc2UiLCJfZXJyJHJlc3BvbnNlJGRhdGEkZXIiLCJfZXJyJHJlc3BvbnNlMiIsIm1lc3NhZ2UiLCJlcnJvciIsIl90IiwiX2NvbnRleHQiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsImNvbmNhdCIsIkFjY2VwdCIsImdldCIsImRhdGEiLCJjb25zb2xlIiwidW5kZWZpbmVkIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJwb3N0V2l0aENvbmZpZyIsIl9yZWYyIiwiX2NhbGxlZTIiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQiLCJfdDIiLCJfY29udGV4dDIiLCJsb2ciLCJwb3N0IiwiX3g1IiwiX3g2IiwicG9zdFdpdGhDb25maWdGb3JtRGF0YSIsIl9yZWYzIiwiX2NhbGxlZTMiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQyIiwiX3QzIiwiX2NvbnRleHQzIiwiX3g3IiwiX3g4IiwicG9zdFdpdGhDb25maWdXaGl0ZWxpc3QiLCJfcmVmNCIsIl9jYWxsZWU0Iiwic3RvcmVkVXNlciIsInVzZXIiLCJleHBlcnRpc2VTdHIiLCJfdDQiLCJfY29udGV4dDQiLCJKU09OIiwicGFyc2UiLCJwaG9uZV9udW1iZXIiLCJjb3VudHJ5Q29kZSIsImFyZWFDb2RlIiwicGhvbmVOdW1iZXIiLCJ0ZXJtc19jb25kaXRpb25zX2lkIiwidm9sdW50ZWVyX3N0YXR1cyIsInVzZXJfaWQiLCJpZCIsImV4cGVydGlzZSIsInRvU3RyaW5nIiwiX3g5IiwiX3gwIiwicmVtb3ZlV2l0aENvbmZpZyIsIl9yZWY1IiwiX2NhbGxlZTUiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQzIiwiX2VyciRyZXNwb25zZSRkYXRhJG1lMiIsIl9lcnIkcmVzcG9uc2UzIiwiX3Q1IiwiX2NvbnRleHQ1IiwiX3gxIiwiX3gxMCIsIl94MTEiLCJfeDEyIiwicHV0V2l0aENvbmZpZyIsIl9yZWY2IiwiX2NhbGxlZTYiLCJfdDYiLCJfY29udGV4dDYiLCJFcnJvciIsInB1dCIsIl94MTMiLCJfeDE0IiwicG9zdFVwbG9hZCIsIl9yZWY3IiwiX2NhbGxlZTciLCJjb25maWd1cmUiLCJfdDciLCJfY29udGV4dDciLCJfeDE1IiwicHVzaE5vdGlmaWNhdGlvbiIsIl9yZWY4IiwiX2NhbGxlZTgiLCJyZWNpcGllbnQiLCJ0aXRsZSIsIm1lc3NhZ2VCb2R5IiwiaXNEcml2ZXIiLCJwaG90byIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZTMiLCJfZXJyJHJlc3BvbnNlNCIsIl90OCIsIl9jb250ZXh0OCIsInRvcGljX25hbWUiLCJtZXNzYWdlX3RpdGxlIiwibWVzc2FnZV9ib2R5IiwiX3gxNiIsIl94MTciLCJfeDE4IiwiX3gxOSIsIl94MjAiLCJfeDIxIiwicHVzaE5vdGlmaWNhdGlvbkFsbEFwcCIsIl9yZWY5IiwiX2NhbGxlZTkiLCJfdDkiLCJfY29udGV4dDkiLCJfeDIyIiwiY29uZmlndXJlU3RvcmUiLCJhdXRoU2xpY2UiLCJ2b2x1bnRlZXJTbGljZSIsImRpc2FiaWxpdHlUeXBlU2xpY2UiLCJlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlIiwiZm9vZFNsaWNlIiwiaW50ZXJlc3RlZFRlYW1TbGljZSIsIm9jY3VwYXRpb25TbGljZSIsIm9wcG9ydHVuaXR5U291cmNlU2xpY2UiLCJwcm92aW5jZVNsaWNlIiwic2tpbGxTbGljZSIsInRlcm1zQ29uZGl0aW9uU2xpY2UiLCJ0cmFpbmluZ1Nlc3Npb25TbGljZSIsInZvbHVudGVlckV2ZW50U2xpY2UiLCJsYW5ndWFnZVNsaWNlIiwidXNlclNsaWNlIiwib2ZmZXJQcm9ncmFtU2xpY2UiLCJ0cmF2ZWxEYXlTbGljZSIsInVzZXJBdHRlbmRhbmNlU2xpY2UiLCJmYW1pbGlTdXJ2ZXlTbGljZSIsInN0b3JlIiwicmVkdWNlciIsImF1dGgiLCJ2b2x1bnRlZXIiLCJkaXNhYmlsaXR5VHlwZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uIiwiZm9vZCIsImludGVyZXN0ZWRUZWFtIiwib2NjdXBhdGlvbiIsIm9wcG9ydHVuaXR5U291cmNlIiwicHJvdmluY2UiLCJsYW5ndWFnZSIsInNraWxsIiwidGVybXNDb25kaXRpb24iLCJ0cmFpbmluZ1Nlc3Npb24iLCJ2b2x1bnRlZXJFdmVudCIsIm9mZmVyUHJvZ3JhbSIsInRyYXZlbERheSIsInVzZXJBdHRlbmRhbmNlIiwiZmFtaWxpU3VydmV5IiwiZGV2VG9vbHMiLCJOT0RFX0VOViIsIlJvdXRlcyIsIlJvdXRlclJvdXRlcyIsIlJvdXRlIiwiTWFpbiIsIkxvZ2luIiwiTm90Rm91bmQiLCJQcm90ZWN0ZWRSb3V0ZSIsIlZvbHVudGVlclJlZ2lzdGVyRm9ybSIsIkF1dGgiLCJBdHRlbmRhbmNlUVIiLCJUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZSIsIkFwcFJvdXRlcyIsInBhdGgiLCJlbGVtZW50IiwiTmF2aWdhdGUiLCJjaGlsZHJlbiIsImFjY2Vzc1Rva2VuIiwiaXNBdXRoZW50aWNhdGVkIiwiQm9vbGVhbiIsIkZyYWdtZW50IiwidG8iLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJ1c2VOYXZpZ2F0ZSIsImZldGNoUHJvdmluY2UiLCJmZXRjaERpc3RyaWN0IiwiZmV0Y2hDb21tdW5lIiwiZmV0Y2hWaWxsYWdlU2VydmljZSIsImZldGNoVHJhbnNwb3J0YXRpb24iLCJjcmVhdGVGYW1pbHlBY3Rpb24iLCJ1cGRhdGVGYW1pbHlBY3Rpb24iLCJmYW1pbHlEZXRhaWxBY3Rpb24iLCJPcHRpb24iLCJfU2VsZWN0IiwiU1RPUkFHRV9LRVkiLCJMT0NBVElPTl9DSEFJTlMiLCJMQVNUX1NFTEVDVElPTiIsIkZhbWlseVN1cnZleUZvcm0iLCJpc1ZpZXdNb2RlIiwiaW5pdGlhbFZhbHVlcyIsIl9Gb3JtJHVzZUZvcm0iLCJfRm9ybSIsInVzZUZvcm0iLCJfRm9ybSR1c2VGb3JtMiIsIl9zbGljZWRUb0FycmF5IiwiZm9ybSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwic2F2ZWRMb2NhdGlvbkNoYWlucyIsInNldFNhdmVkTG9jYXRpb25DaGFpbnMiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTZWxlY3RvciRwcm92aW5jZSIsInByb3ZpbmNlcyIsIl91c2VTZWxlY3RvciRkaXN0cmljdCIsImRpc3RyaWN0cyIsIl91c2VTZWxlY3RvciRjb21tdW5lcyIsImNvbW11bmVzIiwiX3VzZVNlbGVjdG9yJHZpbGxhZ2VzIiwidmlsbGFnZXMiLCJfdXNlU2VsZWN0b3IkdHJhbnNwb3IiLCJ0cmFuc3BvcnRhdGlvbnMiLCJmYW1pbHlTdXJ2ZXkiLCJyZWdpc3RlclBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0NsaWNrIiwic2V0SXNDbGljayIsIk51bWJlciIsInJlc2V0RmllbGRzIiwic2V0RmllbGRzVmFsdWUiLCJuYW1lIiwicGhvbmUiLCJnZW5kZXIiLCJhZ2UiLCJkaXN0cmljdCIsImNvbW11bmUiLCJ2aWxsYWdlIiwidG90YWxfbWVtYmVyIiwibWVtYmVyX21hbGUiLCJtZW1iZXJfZmVtYWxlIiwidG90YWxfcHJlZ25hbnQiLCJ0b3RhbF9iYWJ5IiwiYmFieV9tYWxlIiwiYmFieV9mZW1hbGUiLCJ0b3RhbF9jaGlsZCIsImNoaWxkX21hbGUiLCJjaGlsZF9mZW1hbGUiLCJpc19kaXNhYmxlZCIsImlzX29sZF9hZ2UiLCJ0cmFuc3BvcnRhdGlvbl9pZCIsIm5vdGUiLCJfbWVzc2FnZSIsInNhdmVkQ2hhaW5zIiwibG9jYWxTdG9yYWdlIiwiY2hhaW5zIiwibW9zdFJlY2VudCIsImF1dG9TZWxlY3RMb2NhdGlvbkNoYWluIiwiaGFuZGxlQ291bnRUb3RhbENoYW5nZSIsInR5cGUiLCJtYWxlIiwiZ2V0RmllbGRWYWx1ZSIsImZlbWFsZSIsImhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlIiwidG90YWxGaWVsZCIsIm1lbWJlciIsImJhYnkiLCJjaGlsZCIsInRvdGFsIiwiX2RlZmluZVByb3BlcnR5Iiwid2FybmluZyIsImhhbmRsZVN1Ym1pdCIsInZhbHVlcyIsImxvY2F0aW9uQ2hhaW4iLCJwcm92aW5jZVZhbHVlIiwiZGlzdHJpY3RWYWx1ZSIsImNvbW11bmVWYWx1ZSIsInZpbGxhZ2VWYWx1ZSIsInNhdmVMb2NhdGlvbkNoYWluIiwibmV3Q2hhaW4iLCJ1cGRhdGVkQ2hhaW4iLCJfb2JqZWN0U3ByZWFkIiwidGltZXN0YW1wIiwidG9JU09TdHJpbmciLCJleGlzdGluZ0NoYWlucyIsImZpbHRlciIsImNoYWluIiwiX3VwZGF0ZWRDaGFpbiRwcm92aW5jIiwiX2NoYWluJGRpc3RyaWN0IiwiX3VwZGF0ZWRDaGFpbiRkaXN0cmljIiwiX2NoYWluJGNvbW11bmUiLCJfdXBkYXRlZENoYWluJGNvbW11bmUiLCJuZXdDaGFpbnMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzbGljZSIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJoYW5kbGVQcm92aW5jZUNoYW5nZSIsIl92YWx1ZSRzcGxpdCIsInNwbGl0IiwiX3ZhbHVlJHNwbGl0MiIsInByb3ZpbmNlSWQiLCJwcm92aW5jZU5hbWUiLCJ0cmltIiwiaGFuZGxlRGlzdHJpY3RDaGFuZ2UiLCJfZm9ybSRnZXRGaWVsZFZhbHVlIiwiX3ZhbHVlJHNwbGl0MyIsIl92YWx1ZSRzcGxpdDQiLCJkaXN0cmljdElkIiwiZGlzdHJpY3ROYW1lIiwiY3VycmVudFByb3ZpbmNlIiwiaGFuZGxlQ29tbXVuZUNoYW5nZSIsIl9mb3JtJGdldEZpZWxkVmFsdWUyIiwiX2Zvcm0kZ2V0RmllbGRWYWx1ZTMiLCJfdmFsdWUkc3BsaXQ1IiwiX3ZhbHVlJHNwbGl0NiIsImNvbW11bmVJZCIsImNvbW11bmVOYW1lIiwiY3VycmVudERpc3RyaWN0IiwiaGFuZGxlQ2FuY2VsIiwicmVtb3ZlSXRlbSIsIlF1aWNrRmlsbCIsIm1hcmdpbkJvdHRvbSIsIl9TcGFjZSIsImFsaWduIiwiX1RhZyIsImNvbG9yIiwiX0NhcmQiLCJsYXlvdXQiLCJvbkZpbmlzaCIsImRpc2FibGVkIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJfSW5wdXQiLCJwbGFjZWhvbGRlciIsInBhdHRlcm4iLCJfSW5wdXROdW1iZXIiLCJtaW4iLCJvbkNoYW5nZSIsIkFMTE9XRURfUFJPVklOQ0VfSURTIiwiaW5jbHVkZXMiLCJwYWRTdGFydCIsIm1hcCIsImttIiwibGF0aW4iLCJ2YWx1ZVByb3BOYW1lIiwiaW5pdGlhbFZhbHVlIiwiX0NoZWNrYm94IiwiYWxsb3dDbGVhciIsIm9wdGlvbiIsIlRleHRBcmVhIiwicm93cyIsIl9CdXR0b24iLCJodG1sVHlwZSIsImxvYWRpbmciLCJvbkNsaWNrIiwiUGx1c091dGxpbmVkIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsImZldGNoRmFtaWx5U3VydmV5IiwiZGVsZXRlRmFtaWx5QWN0aW9uIiwiU3dhbCIsIkZhbWlseUFwcHJvdmVkTGlzdCIsInN0YXR1cyIsImN1cnJlbnRQYWdlIiwic2V0Q3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsInNldFBhZ2VTaXplIiwiZmFtaWxpZXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTW9kYWxWaXNpYmxlIiwic2V0SXNNb2RhbFZpc2libGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZXRJc1ZpZXdNb2RlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2VsZWN0ZWRSZWNvcmQiLCJzZXRTZWxlY3RlZFJlY29yZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRQcm92aW5jZSIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXREaXN0cmljdCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJ0b3RhbE1lbWJlciIsInNldFRvdGFsTWVtYmVyIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsInNldEFnZSIsImRhdGFTb3VyY2UiLCJtZXRhIiwicGFnZSIsImhhbmRsZVRhYmxlQ2hhbmdlIiwicGFnaW5hdGlvbiIsImN1cnJlbnQiLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZXNldCIsImhhbmRsZVZpZXciLCJyZWNvcmQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwidW53cmFwIiwiY2xvc2UiLCJjb2x1bW5zIiwiXyIsIl9fIiwiaW5kZXgiLCJkYXRhSW5kZXgiLCJlbGxpcHNpcyIsImZpeGVkIiwiZGFuZ2VyIiwianVzdGlmeSIsIm1hcmdpbiIsIndyYXAiLCJsZyIsInNob3dTZWFyY2giLCJBcnJheSIsImlzQXJyYXkiLCJfVGFibGUiLCJyb3dLZXkiLCJzY3JvbGwiLCJ4Iiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1RvdGFsIiwicmFuZ2UiLCJvcGVuIiwib25DYW5jZWwiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIkxvZ2luRm9ybSJdLCJzb3VyY2VSb290IjoiIn0=