contractApproval/.next/static/webpack/app/dashboard/contracts/create/page.1056132d36edff75.hot-update.js
2026-06-26 15:56:49 +08:00

22 lines
143 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/dashboard/contracts/create/page",{
/***/ "(app-pages-browser)/./src/app/dashboard/contracts/create/page.js":
/*!****************************************************!*\
!*** ./src/app/dashboard/contracts/create/page.js ***!
\****************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ CreateContractPage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(app-pages-browser)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../layout */ \"(app-pages-browser)/./src/app/dashboard/layout.js\");\n/* harmony import */ var _lib_auth_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth-client */ \"(app-pages-browser)/./src/lib/auth-client.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nfunction CreateContractPage() {\n _s();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const user = (0,_layout__WEBPACK_IMPORTED_MODULE_3__.useUser)();\n // Form state\n const [form, setForm] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n project_name: \"\",\n project_leader: \"\",\n sign_date: \"\",\n partner_id: \"\",\n contract_content: \"\",\n cooperate_start: \"\",\n cooperate_end: \"\",\n contract_amount: \"\",\n estimated_profit: \"\",\n payment_type: \"receive\"\n });\n // Supervisors list\n const [supervisors, setSupervisors] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n // Partner search\n const [partners, setPartners] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [partnerSearch, setPartnerSearch] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [partnerDropdownOpen, setPartnerDropdownOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedPartnerName, setSelectedPartnerName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const partnerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // File upload\n const [files, setFiles] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [dragging, setDragging] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // Config\n const [profitPercentage, setProfitPercentage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [profitEdited, setProfitEdited] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // UI state\n const [submitting, setSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [errors, setErrors] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const [toast, setToast] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n // Fetch partners\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_4__.authFetch)(\"/api/partners\").then((r)=>r.json()).then((data)=>{\n setPartners(data.partners || data || []);\n }).catch(()=>{});\n }, []);\n // Fetch supervisors\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_4__.authFetch)(\"/api/users\").then((r)=>r.json()).then((data)=>{\n const list = (data || []).filter((u)=>u.role === \"supervisor\" && u.status === 1);\n setSupervisors(list);\n }).catch(()=>{});\n }, []);\n // Default supervisor selection based on user's department\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (supervisors.length > 0 && user && !form.project_leader) {\n const defaultSupervisor = supervisors.find((s)=>s.department_id === user.department_id);\n if (defaultSupervisor) {\n setForm((prev)=>({\n ...prev,\n project_leader: defaultSupervisor.real_name\n }));\n } else {\n setForm((prev)=>{\n var _supervisors_;\n return {\n ...prev,\n project_leader: ((_supervisors_ = supervisors[0]) === null || _supervisors_ === void 0 ? void 0 : _supervisors_.real_name) || \"\"\n };\n });\n }\n }\n }, [\n supervisors,\n user\n ]);\n // Fetch config for profit percentage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_4__.authFetch)(\"/api/config\").then((r)=>r.json()).then((data)=>{\n var _data_config;\n const pct = data.profit_percentage || ((_data_config = data.config) === null || _data_config === void 0 ? void 0 : _data_config.profit_percentage) || 0;\n setProfitPercentage(Number(pct));\n }).catch(()=>{});\n }, []);\n // Auto-calculate profit when amount changes\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (form.payment_type !== \"pay\" && !profitEdited && form.contract_amount && profitPercentage > 0) {\n const profit = (Number(form.contract_amount) * profitPercentage / 100).toFixed(2);\n setForm((prev)=>({\n ...prev,\n estimated_profit: profit\n }));\n }\n }, [\n form.contract_amount,\n profitPercentage,\n profitEdited,\n form.payment_type\n ]);\n // Close partner dropdown on outside click\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const handleClick = (e)=>{\n if (partnerRef.current && !partnerRef.current.contains(e.target)) {\n setPartnerDropdownOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClick);\n return ()=>document.removeEventListener(\"mousedown\", handleClick);\n }, []);\n const showToast = function(message) {\n let type = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"success\";\n setToast({\n message,\n type\n });\n setTimeout(()=>setToast(null), 3000);\n };\n const handleChange = (field, value)=>{\n setForm((prev)=>{\n const updated = {\n ...prev,\n [field]: value\n };\n if (field === \"payment_type\" && value === \"pay\") {\n updated.estimated_profit = \"\";\n }\n return updated;\n });\n if (errors[field]) {\n setErrors((prev)=>({\n ...prev,\n [field]: null\n }));\n }\n };\n const handleProfitChange = (value)=>{\n setProfitEdited(true);\n handleChange(\"estimated_profit\", value);\n };\n const filteredPartners = partners.filter((p)=>(p.name || \"\").toLowerCase().includes(partnerSearch.toLowerCase()));\n const selectPartner = (partner)=>{\n setForm((prev)=>({\n ...prev,\n partner_id: partner.id\n }));\n setSelectedPartnerName(partner.name);\n setPartnerSearch(partner.name);\n setPartnerDropdownOpen(false);\n };\n // File handling\n const handleFiles = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newFiles)=>{\n const fileArray = Array.from(newFiles);\n setFiles((prev)=>[\n ...prev,\n ...fileArray\n ]);\n }, []);\n const removeFile = (index)=>{\n setFiles((prev)=>prev.filter((_, i)=>i !== index));\n };\n const handleDragOver = (e)=>{\n e.preventDefault();\n setDragging(true);\n };\n const handleDragLeave = (e)=>{\n e.preventDefault();\n setDragging(false);\n };\n const handleDrop = (e)=>{\n e.preventDefault();\n setDragging(false);\n if (e.dataTransfer.files.length > 0) {\n handleFiles(e.dataTransfer.files);\n }\n };\n // Upload files after contract creation\n const uploadFiles = async (contractId)=>{\n for (const file of files){\n const formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"contract_id\", contractId);\n try {\n await (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_4__.authFetch)(\"/api/upload\", {\n method: \"POST\",\n body: formData\n });\n } catch (err) {\n console.error(\"文件上传失败:\", err);\n }\n }\n };\n // Validate and submit\n const validate = ()=>{\n const newErrors = {};\n if (!form.project_name.trim()) newErrors.project_name = \"请输入项目名称\";\n if (!form.partner_id) newErrors.partner_id = \"请选择合作单位\";\n if (!form.contract_amount || Number(form.contract_amount) <= 0) newErrors.contract_amount = \"请输入合同金额\";\n // Validate cooperation duration range\n if (!form.cooperate_start || !form.cooperate_end) {\n newErrors.contract_years = \"请选择完整的合作时间范围\";\n } else if (form.cooperate_start > form.cooperate_end) {\n newErrors.contract_years = \"开始时间不能晚于结束时间\";\n }\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n };\n const handleSubmit = async (e)=>{\n e.preventDefault();\n if (!validate()) return;\n setSubmitting(true);\n try {\n var _data_contract;\n const body = {\n project_name: form.project_name,\n project_leader: form.project_leader || null,\n sign_date: form.sign_date || null,\n partner_id: form.partner_id,\n contract_content: form.contract_content,\n contract_years: form.cooperate_start && form.cooperate_end ? \"\".concat(form.cooperate_start, \" ~ \").concat(form.cooperate_end) : null,\n contract_amount: Number(form.contract_amount),\n estimated_profit: form.estimated_profit === \"\" || form.estimated_profit === null || form.estimated_profit === undefined ? null : Number(form.estimated_profit),\n payment_type: form.payment_type\n };\n const res = await (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_4__.authFetch)(\"/api/contracts\", {\n method: \"POST\",\n body: JSON.stringify(body)\n });\n const data = await res.json();\n if (!res.ok) {\n showToast(data.error || \"创建失败\", \"error\");\n setSubmitting(false);\n return;\n }\n const contractId = data.id || ((_data_contract = data.contract) === null || _data_contract === void 0 ? void 0 : _data_contract.id);\n // Upload files if any\n if (files.length > 0 && contractId) {\n await uploadFiles(contractId);\n }\n showToast(\"合同创建成功!\");\n setTimeout(()=>{\n router.push(\"/dashboard/contracts/\".concat(contractId));\n }, 800);\n } catch (err) {\n showToast(err.message || \"提交失败,请重试\", \"error\");\n setSubmitting(false);\n }\n };\n const formatFileSize = (bytes)=>{\n if (bytes < 1024) return bytes + \" B\";\n if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + \" KB\";\n return (bytes / (1024 * 1024)).toFixed(1) + \" MB\";\n };\n if (user && user.role !== \"employee\") {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-fadeIn\",\n style: {\n maxWidth: 600,\n margin: \"40px auto\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n padding: 40,\n textAlign: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n fontSize: 48,\n marginBottom: 16\n },\n children: \"⚠️\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 266,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n fontSize: 20,\n fontWeight: 600,\n marginBottom: 8\n },\n children: \"暂无访问权限\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 267,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n color: \"var(--gray-500)\",\n marginBottom: 24\n },\n children: \"仅员工角色可新建合同流转任务。\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 268,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"btn btn-primary\",\n onClick: ()=>router.push(\"/dashboard/contracts\"),\n children: \"返回合同列表\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 269,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 265,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 264,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-fadeIn\",\n children: [\n toast && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"toast-container\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"toast toast-\".concat(toast.type),\n children: [\n toast.type === \"success\" ? \"✅\" : \"❌\",\n \" \",\n toast.message\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 282,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"page-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"page-title\",\n children: \"新建合同流转任务\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 290,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"page-subtitle\",\n children: \"填写合同信息并提交审批\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 291,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 289,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 288,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n marginBottom: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"card-title\",\n children: \"\\uD83D\\uDCDD 基本信息\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 299,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 298,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: [\n \"项目名称 \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"required\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 305,\n columnNumber: 24\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 304,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n className: \"form-input\",\n placeholder: \"请输入项目名称\",\n value: form.project_name,\n onChange: (e)=>handleChange(\"project_name\", e.target.value)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 307,\n columnNumber: 17\n }, this),\n errors.project_name && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-error\",\n children: errors.project_name\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 314,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 303,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: \"项目负责人\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 317,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n className: \"form-select\",\n value: form.project_leader,\n onChange: (e)=>handleChange(\"project_leader\", e.target.value),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"-- 请选择部门主管 --\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 323,\n columnNumber: 19\n }, this),\n supervisors.map((s)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: s.real_name,\n children: [\n s.real_name,\n \" (\",\n s.department_name || \"无部门\",\n \")\"\n ]\n }, s.id, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 325,\n columnNumber: 21\n }, this))\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 318,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 316,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: \"签订时间\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 332,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"date\",\n className: \"form-input\",\n value: form.sign_date,\n onChange: (e)=>handleChange(\"sign_date\", e.target.value)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 333,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 331,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 302,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 301,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 297,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n marginBottom: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"card-title\",\n children: [\n \"\\uD83C\\uDFE2 合作单位 \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"required\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 347,\n columnNumber: 48\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 347,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 346,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n ref: partnerRef,\n children: [\n form.partner_id ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"selected-partner-card animate-fadeIn\",\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"10px 14px\",\n background: \"var(--gray-50)\",\n border: \"1.5px solid var(--gray-200)\",\n borderRadius: \"var(--radius-md)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: 14\n },\n children: [\n \"\\uD83C\\uDFE2 \",\n selectedPartnerName\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 361,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"btn btn-ghost btn-sm\",\n style: {\n color: \"var(--danger)\",\n padding: \"4px 8px\"\n },\n onClick: ()=>{\n setForm((prev)=>({\n ...prev,\n partner_id: \"\"\n }));\n setSelectedPartnerName(\"\");\n setPartnerSearch(\"\");\n setPartnerDropdownOpen(true);\n },\n children: \"重新选择\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 362,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 352,\n columnNumber: 17\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search-select\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n className: \"search-select-input\",\n placeholder: \"搜索合作单位...\",\n value: partnerSearch,\n onChange: (e)=>{\n setPartnerSearch(e.target.value);\n setPartnerDropdownOpen(true);\n },\n onFocus: ()=>setPartnerDropdownOpen(true)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 378,\n columnNumber: 19\n }, this),\n partnerDropdownOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search-select-dropdown\",\n children: filteredPartners.length > 0 ? filteredPartners.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search-select-option \".concat(form.partner_id === p.id ? \"selected\" : \"\"),\n onClick: ()=>selectPartner(p),\n children: p.name\n }, p.id, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 393,\n columnNumber: 27\n }, this)) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search-select-empty\",\n children: [\n \"未找到?\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/dashboard/partners\",\n onClick: (e)=>{\n e.preventDefault();\n router.push(\"/dashboard/partners\");\n },\n children: \"前往添加合作单位\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 404,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 402,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 390,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 377,\n columnNumber: 17\n }, this),\n errors.partner_id && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-error\",\n children: errors.partner_id\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 413,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 350,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 349,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 345,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n marginBottom: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"card-title\",\n children: \"\\uD83D\\uDCC4 合同详情\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 421,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 420,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: \"合同内容\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 425,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n className: \"form-textarea\",\n placeholder: \"请输入合同主要内容描述...\",\n value: form.contract_content,\n onChange: (e)=>handleChange(\"contract_content\", e.target.value),\n rows: 4\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 426,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 424,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: [\n \"合作期限 \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"required\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 435,\n columnNumber: 50\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 435,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n maxWidth: 400\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"date\",\n className: \"form-input\",\n value: form.cooperate_start,\n onChange: (e)=>handleChange(\"cooperate_start\", e.target.value)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 437,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: \"var(--gray-400)\"\n },\n children: \"至\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 443,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"date\",\n className: \"form-input\",\n value: form.cooperate_end,\n onChange: (e)=>handleChange(\"cooperate_end\", e.target.value)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 444,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 436,\n columnNumber: 15\n }, this),\n errors.contract_years && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-error\",\n children: errors.contract_years\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 451,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 434,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 423,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 419,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n marginBottom: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"card-title\",\n children: \"\\uD83D\\uDCB0 金额信息\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 459,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 458,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: [\n \"合同金额(元)\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"required\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 465,\n columnNumber: 26\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 464,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"number\",\n className: \"form-input\",\n placeholder: \"请输入合同金额\",\n min: \"0\",\n step: \"0.01\",\n value: form.contract_amount,\n onChange: (e)=>handleChange(\"contract_amount\", e.target.value)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 467,\n columnNumber: 17\n }, this),\n errors.contract_amount && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-error\",\n children: errors.contract_amount\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 476,\n columnNumber: 44\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 463,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"form-group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"form-label\",\n children: \"收款/付款\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 515,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: 24,\n marginTop: 8\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n cursor: \"pointer\",\n fontSize: 14\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"radio\",\n name: \"payment_type\",\n value: \"receive\",\n checked: form.payment_type === \"receive\",\n onChange: (e)=>handleChange(\"payment_type\", e.target.value),\n style: {\n accentColor: \"var(--primary)\"\n }\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 518,\n columnNumber: 21\n }, this),\n \"收款\"\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 517,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n cursor: \"pointer\",\n fontSize: 14\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"radio\",\n name: \"payment_type\",\n value: \"pay\",\n checked: form.payment_type === \"pay\",\n onChange: (e)=>handleChange(\"payment_type\", e.target.value),\n style: {\n accentColor: \"var(--primary)\"\n }\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 529,\n columnNumber: 21\n }, this),\n \"付款\"\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 528,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 516,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 514,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 462,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 461,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 457,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n style: {\n marginBottom: 20\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"card-title\",\n children: \"\\uD83D\\uDCCE 附件上传\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 548,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 547,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"upload-area \".concat(dragging ? \"dragging\" : \"\"),\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDrop: handleDrop,\n onClick: ()=>{\n var _fileInputRef_current;\n return (_fileInputRef_current = fileInputRef.current) === null || _fileInputRef_current === void 0 ? void 0 : _fileInputRef_current.click();\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"upload-icon\",\n children: \"\\uD83D\\uDCC1\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 558,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"upload-text\",\n children: \"点击或拖拽文件到此处上传\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 559,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"upload-hint\",\n children: \"支持各种文件格式\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 560,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n multiple: true,\n style: {\n display: \"none\"\n },\n onChange: (e)=>{\n if (e.target.files.length > 0) {\n handleFiles(e.target.files);\n e.target.value = \"\";\n }\n }\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 561,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 551,\n columnNumber: 13\n }, this),\n files.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"file-list\",\n children: files.map((file, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"file-item\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"file-item-name\",\n children: [\n \"\\uD83D\\uDCC4 \",\n file.name,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: \"var(--gray-400)\",\n fontSize: 12\n },\n children: [\n \"(\",\n formatFileSize(file.size),\n \")\"\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 580,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 578,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"file-item-remove\",\n onClick: ()=>removeFile(index),\n children: \"✕\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 584,\n columnNumber: 21\n }, this)\n ]\n }, index, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 577,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 575,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 550,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 546,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: 12,\n marginTop: 24\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"btn btn-ghost\",\n onClick: ()=>router.back(),\n children: \"取消\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 600,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"submit\",\n className: \"btn btn-primary btn-lg\",\n disabled: submitting,\n children: submitting ? \"提交中...\" : \"✨ 提交审批\"\n }, void 0, false, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 607,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 599,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 295,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/gandanxiangzhao/Desktop/合同流转审批系统/src/app/dashboard/contracts/create/page.js\",\n lineNumber: 278,\n columnNumber: 5\n }, this);\n}\n_s(CreateContractPage, \"/LRfZvW4R7/XtKsBTN0VljcJhfk=\", false, function() {\n return [\n next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter,\n _layout__WEBPACK_IMPORTED_MODULE_3__.useUser\n ];\n});\n_c = CreateContractPage;\nvar _c;\n$RefreshReg$(_c, \"CreateContractPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZGFzaGJvYXJkL2NvbnRyYWN0cy9jcmVhdGUvcGFnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDaUU7QUFDckI7QUFDTDtBQUNPO0FBRS9CLFNBQVNPOztJQUN0QixNQUFNQyxTQUFTSiwwREFBU0E7SUFDeEIsTUFBTUssT0FBT0osZ0RBQU9BO0lBRXBCLGFBQWE7SUFDYixNQUFNLENBQUNLLE1BQU1DLFFBQVEsR0FBR1gsK0NBQVFBLENBQUM7UUFDL0JZLGNBQWM7UUFDZEMsZ0JBQWdCO1FBQ2hCQyxXQUFXO1FBQ1hDLFlBQVk7UUFDWkMsa0JBQWtCO1FBQ2xCQyxpQkFBaUI7UUFDakJDLGVBQWU7UUFDZkMsaUJBQWlCO1FBQ2pCQyxrQkFBa0I7UUFDbEJDLGNBQWM7SUFDaEI7SUFFQSxtQkFBbUI7SUFDbkIsTUFBTSxDQUFDQyxhQUFhQyxlQUFlLEdBQUd2QiwrQ0FBUUEsQ0FBQyxFQUFFO0lBRWpELGlCQUFpQjtJQUNqQixNQUFNLENBQUN3QixVQUFVQyxZQUFZLEdBQUd6QiwrQ0FBUUEsQ0FBQyxFQUFFO0lBQzNDLE1BQU0sQ0FBQzBCLGVBQWVDLGlCQUFpQixHQUFHM0IsK0NBQVFBLENBQUM7SUFDbkQsTUFBTSxDQUFDNEIscUJBQXFCQyx1QkFBdUIsR0FBRzdCLCtDQUFRQSxDQUFDO0lBQy9ELE1BQU0sQ0FBQzhCLHFCQUFxQkMsdUJBQXVCLEdBQUcvQiwrQ0FBUUEsQ0FBQztJQUMvRCxNQUFNZ0MsYUFBYTlCLDZDQUFNQSxDQUFDO0lBRTFCLGNBQWM7SUFDZCxNQUFNLENBQUMrQixPQUFPQyxTQUFTLEdBQUdsQywrQ0FBUUEsQ0FBQyxFQUFFO0lBQ3JDLE1BQU0sQ0FBQ21DLFVBQVVDLFlBQVksR0FBR3BDLCtDQUFRQSxDQUFDO0lBQ3pDLE1BQU1xQyxlQUFlbkMsNkNBQU1BLENBQUM7SUFFNUIsU0FBUztJQUNULE1BQU0sQ0FBQ29DLGtCQUFrQkMsb0JBQW9CLEdBQUd2QywrQ0FBUUEs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QUFZeEIsRUFBRUcsTUFBTSxDQUFDMUMsS0FBSzt3REFDMUJ1QyxFQUFFRyxNQUFNLENBQUNVLEtBQUssR0FBRztvREFDbkI7Z0RBQ0Y7Ozs7Ozs7Ozs7OztvQ0FHSHBELE1BQU15QixNQUFNLEdBQUcsbUJBQ2QsOERBQUMrRTt3Q0FBSUMsV0FBVTtrREFDWnpHLE1BQU1tSSxHQUFHLENBQUMsQ0FBQ3BELE1BQU1WLHNCQUNoQiw4REFBQ21DO2dEQUFnQkMsV0FBVTs7a0VBQ3pCLDhEQUFDb0I7d0RBQUtwQixXQUFVOzs0REFBaUI7NERBQzNCMUIsS0FBS3RCLElBQUk7MEVBQ2IsOERBQUNvRTtnRUFBS25CLE9BQU87b0VBQUVTLE9BQU87b0VBQW1CSixVQUFVO2dFQUFHOztvRUFBRztvRUFDckRULGVBQWV2QixLQUFLNEUsSUFBSTtvRUFBRTs7Ozs7Ozs7Ozs7OztrRUFHaEMsOERBQUN2Qzt3REFDQ3BFLE1BQUs7d0RBQ0x5RCxXQUFVO3dEQUNWWSxTQUFTLElBQU1qRCxXQUFXQztrRUFDM0I7Ozs7Ozs7K0NBWE9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQXNCcEIsOERBQUNtQzt3QkFBSUUsT0FBTzs0QkFBRWUsU0FBUzs0QkFBUWEsZ0JBQWdCOzRCQUFZWCxLQUFLOzRCQUFJdUIsV0FBVzt3QkFBRzs7MENBQ2hGLDhEQUFDOUI7Z0NBQ0NwRSxNQUFLO2dDQUNMeUQsV0FBVTtnQ0FDVlksU0FBUyxJQUFNOUksT0FBT3FMLElBQUk7MENBQzNCOzs7Ozs7MENBR0QsOERBQUN4QztnQ0FDQ3BFLE1BQUs7Z0NBQ0x5RCxXQUFVO2dDQUNWb0QsVUFBVXBKOzBDQUVUQSxhQUFhLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yQztHQW5tQndCbkM7O1FBQ1BILHNEQUFTQTtRQUNYQyw0Q0FBT0E7OztLQUZFRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvYXBwL2Rhc2hib2FyZC9jb250cmFjdHMvY3JlYXRlL3BhZ2UuanM/ZmJiMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi9sYXlvdXQnO1xuaW1wb3J0IHsgYXV0aEZldGNoIH0gZnJvbSAnQC9saWIvYXV0aC1jbGllbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDcmVhdGVDb250cmFjdFBhZ2UoKSB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xuICBjb25zdCB1c2VyID0gdXNlVXNlcigpO1xuXG4gIC8vIEZvcm0gc3RhdGVcbiAgY29uc3QgW2Zvcm0sIHNldEZvcm1dID0gdXNlU3RhdGUoe1xuICAgIHByb2plY3RfbmFtZTogJycsXG4gICAgcHJvamVjdF9sZWFkZXI6ICcnLFxuICAgIHNpZ25fZGF0ZTogJycsXG4gICAgcGFydG5lcl9pZDogJycsXG4gICAgY29udHJhY3RfY29udGVudDogJycsXG4gICAgY29vcGVyYXRlX3N0YXJ0OiAnJyxcbiAgICBjb29wZXJhdGVfZW5kOiAnJyxcbiAgICBjb250cmFjdF9hbW91bnQ6ICcnLFxuICAgIGVzdGltYXRlZF9wcm9maXQ6ICcnLFxuICAgIHBheW1lbnRfdHlwZTogJ3JlY2VpdmUnLFxuICB9KTtcblxuICAvLyBTdXBlcnZpc29ycyBsaXN0XG4gIGNvbnN0IFtzdXBlcnZpc29ycywgc2V0U3VwZXJ2aXNvcnNdID0gdXNlU3RhdGUoW10pO1xuXG4gIC8vIFBhcnRuZXIgc2VhcmNoXG4gIGNvbnN0IFtwYXJ0bmVycywgc2V0UGFydG5lcnNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbcGFydG5lclNlYXJjaCwgc2V0UGFydG5lclNlYXJjaF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtwYXJ0bmVyRHJvcGRvd25PcGVuLCBzZXRQYXJ0bmVyRHJvcGRvd25PcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlbGVjdGVkUGFydG5lck5hbWUsIHNldFNlbGVjdGVkUGFydG5lck5hbWVdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBwYXJ0bmVyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIC8vIEZpbGUgdXBsb2FkXG4gIGNvbnN0IFtmaWxlcywgc2V0RmlsZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbZHJhZ2dpbmcsIHNldERyYWdnaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIC8vIENvbmZpZ1xuICBjb25zdCBbcHJvZml0UGVyY2VudGFnZSwgc2V0UHJvZml0UGVyY2VudGFnZV0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3Byb2ZpdEVkaXRlZCwgc2V0UHJvZml0RWRpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyBVSSBzdGF0ZVxuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtlcnJvcnMsIHNldEVycm9yc10gPSB1c2VTdGF0ZSh7fSk7XG4gIGNvbnN0IFt0b2FzdCwgc2V0VG9hc3RdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgLy8gRmV0Y2ggcGFydG5lcnNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhdXRoRmV0Y2goJy9hcGkvcGFydG5lcnMnKVxuICAgICAgLnRoZW4ociA9PiByLmpzb24oKSlcbiAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICBzZXRQYXJ0bmVycyhkYXRhLnBhcnRuZXJzIHx8IGRhdGEgfHwgW10pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7fSk7XG4gIH0sIFtdKTtcblxuICAvLyBGZXRjaCBzdXBlcnZpc29yc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGF1dGhGZXRjaCgnL2FwaS91c2VycycpXG4gICAgICAudGhlbihyID0+IHIuanNvbigpKVxuICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSAoZGF0YSB8fCBbXSkuZmlsdGVyKHUgPT4gdS5yb2xlID09PSAnc3VwZXJ2aXNvcicgJiYgdS5zdGF0dXMgPT09IDEpO1xuICAgICAgICBzZXRTdXBlcnZpc29ycyhsaXN0KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge30pO1xuICB9LCBbXSk7XG5cbiAgLy8gRGVmYXVsdCBzdXBlcnZpc29yIHNlbGVjdGlvbiBiYXNlZCBvbiB1c2VyJ3MgZGVwYXJ0bWVudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdXBlcnZpc29ycy5sZW5ndGggPiAwICYmIHVzZXIgJiYgIWZvcm0ucHJvamVjdF9sZWFkZXIpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTdXBlcnZpc29yID0gc3VwZXJ2aXNvcnMuZmluZChzID0+IHMuZGVwYXJ0bWVudF9pZCA9PT0gdXNlci5kZXBhcnRtZW50X2lkKTtcbiAgICAgIGlmIChkZWZhdWx0U3VwZXJ2aXNvcikge1xuICAgICAgICBzZXRGb3JtKHByZXYgPT4gKHsgLi4ucHJldiwgcHJvamVjdF9sZWFkZXI6IGRlZmF1bHRTdXBlcnZpc29yLnJlYWxfbmFtZSB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRGb3JtKHByZXYgPT4gKHsgLi4ucHJldiwgcHJvamVjdF9sZWFkZXI6IHN1cGVydmlzb3JzWzBdPy5yZWFsX25hbWUgfHwgJycgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3N1cGVydmlzb3JzLCB1c2VyXSk7XG5cbiAgLy8gRmV0Y2ggY29uZmlnIGZvciBwcm9maXQgcGVyY2VudGFnZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGF1dGhGZXRjaCgnL2FwaS9jb25maWcnKVxuICAgICAgLnRoZW4ociA9PiByLmpzb24oKSlcbiAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICBjb25zdCBwY3QgPSBkYXRhLnByb2ZpdF9wZXJjZW50YWdlIHx8IGRhdGEuY29uZmlnPy5wcm9maXRfcGVyY2VudGFnZSB8fCAwO1xuICAgICAgICBzZXRQcm9maXRQZXJjZW50YWdlKE51bWJlcihwY3QpKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge30pO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1jYWxjdWxhdGUgcHJvZml0IHdoZW4gYW1vdW50IGNoYW5nZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZm9ybS5wYXltZW50X3R5cGUgIT09ICdwYXknICYmICFwcm9maXRFZGl0ZWQgJiYgZm9ybS5jb250cmFjdF9hbW91bnQgJiYgcHJvZml0UGVyY2VudGFnZSA+IDApIHtcbiAgICAgIGNvbnN0IHByb2ZpdCA9IChOdW1iZXIoZm9ybS5jb250cmFjdF9hbW91bnQpICogcHJvZml0UGVyY2VudGFnZSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgICAgIHNldEZvcm0ocHJldiA9PiAoeyAuLi5wcmV2LCBlc3RpbWF0ZWRfcHJvZml0OiBwcm9maXQgfSkpO1xuICAgIH1cbiAgfSwgW2Zvcm0uY29udHJhY3RfYW1vdW50LCBwcm9maXRQZXJjZW50YWdlLCBwcm9maXRFZGl0ZWQsIGZvcm0ucGF5bWVudF90eXBlXSk7XG5cbiAgLy8gQ2xvc2UgcGFydG5lciBkcm9wZG93biBvbiBvdXRzaWRlIGNsaWNrXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZSkgPT4ge1xuICAgICAgaWYgKHBhcnRuZXJSZWYuY3VycmVudCAmJiAhcGFydG5lclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgICBzZXRQYXJ0bmVyRHJvcGRvd25PcGVuKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2spO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2hvd1RvYXN0ID0gKG1lc3NhZ2UsIHR5cGUgPSAnc3VjY2VzcycpID0+IHtcbiAgICBzZXRUb2FzdCh7IG1lc3NhZ2UsIHR5cGUgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiBzZXRUb2FzdChudWxsKSwgMzAwMCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGZpZWxkLCB2YWx1ZSkgPT4ge1xuICAgIHNldEZvcm0ocHJldiA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkID0geyAuLi5wcmV2LCBbZmllbGRdOiB2YWx1ZSB9O1xuICAgICAgaWYgKGZpZWxkID09PSAncGF5bWVudF90eXBlJyAmJiB2YWx1ZSA9PT0gJ3BheScpIHtcbiAgICAgICAgdXBkYXRlZC5lc3RpbWF0ZWRfcHJvZml0ID0gJyc7XG4gICAgICB9XG4gICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICB9KTtcbiAgICBpZiAoZXJyb3JzW2ZpZWxkXSkge1xuICAgICAgc2V0RXJyb3JzKHByZXYgPT4gKHsgLi4ucHJldiwgW2ZpZWxkXTogbnVsbCB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVByb2ZpdENoYW5nZSA9ICh2YWx1ZSkgPT4ge1xuICAgIHNldFByb2ZpdEVkaXRlZCh0cnVlKTtcbiAgICBoYW5kbGVDaGFuZ2UoJ2VzdGltYXRlZF9wcm9maXQnLCB2YWx1ZSk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyZWRQYXJ0bmVycyA9IHBhcnRuZXJzLmZpbHRlcihwID0+XG4gICAgKHAubmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwYXJ0bmVyU2VhcmNoLnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0UGFydG5lciA9IChwYXJ0bmVyKSA9PiB7XG4gICAgc2V0Rm9ybShwcmV2ID0+ICh7IC4uLnByZXYsIHBhcnRuZXJfaWQ6IHBhcnRuZXIuaWQgfSkpO1xuICAgIHNldFNlbGVjdGVkUGFydG5lck5hbWUocGFydG5lci5uYW1lKTtcbiAgICBzZXRQYXJ0bmVyU2VhcmNoKHBhcnRuZXIubmFtZSk7XG4gICAgc2V0UGFydG5lckRyb3Bkb3duT3BlbihmYWxzZSk7XG4gIH07XG5cbiAgLy8gRmlsZSBoYW5kbGluZ1xuICBjb25zdCBoYW5kbGVGaWxlcyA9IHVzZUNhbGxiYWNrKChuZXdGaWxlcykgPT4ge1xuICAgIGNvbnN0IGZpbGVBcnJheSA9IEFycmF5LmZyb20obmV3RmlsZXMpO1xuICAgIHNldEZpbGVzKHByZXYgPT4gWy4uLnByZXYsIC4uLmZpbGVBcnJheV0pO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVtb3ZlRmlsZSA9IChpbmRleCkgPT4ge1xuICAgIHNldEZpbGVzKHByZXYgPT4gcHJldi5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRHJhZ092ZXIgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXREcmFnZ2luZyh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEcmFnTGVhdmUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXREcmFnZ2luZyhmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRHJvcCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldERyYWdnaW5nKGZhbHNlKTtcbiAgICBpZiAoZS5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgaGFuZGxlRmlsZXMoZS5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIH1cbiAgfTtcblxuICAvLyBVcGxvYWQgZmlsZXMgYWZ0ZXIgY29udHJhY3QgY3JlYXRpb25cbiAgY29uc3QgdXBsb2FkRmlsZXMgPSBhc3luYyAoY29udHJhY3RJZCkgPT4ge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdjb250cmFjdF9pZCcsIGNvbnRyYWN0SWQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXV0aEZldGNoKCcvYXBpL3VwbG9hZCcsIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcign5paH5Lu25LiK5Lyg5aSx6LSlOicsIGVycik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIFZhbGlkYXRlIGFuZCBzdWJtaXRcbiAgY29uc3QgdmFsaWRhdGUgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3RXJyb3JzID0ge307XG4gICAgaWYgKCFmb3JtLnByb2plY3RfbmFtZS50cmltKCkpIG5ld0Vycm9ycy5wcm9qZWN0X25hbWUgPSAn6K+36L6T5YWl6aG555uu5ZCN56ewJztcbiAgICBpZiAoIWZvcm0ucGFydG5lcl9pZCkgbmV3RXJyb3JzLnBhcnRuZXJfaWQgPSAn6K+36YCJ5oup5ZCI5L2c5Y2V5L2NJztcbiAgICBpZiAoIWZvcm0uY29udHJhY3RfYW1vdW50IHx8IE51bWJlcihmb3JtLmNvbnRyYWN0X2Ftb3VudCkgPD0gMCkgbmV3RXJyb3JzLmNvbnRyYWN0X2Ftb3VudCA9ICfor7fovpPlhaXlkIjlkIzph5Hpop0nO1xuXG4gICAgLy8gVmFsaWRhdGUgY29vcGVyYXRpb24gZHVyYXRpb24gcmFuZ2VcbiAgICBpZiAoIWZvcm0uY29vcGVyYXRlX3N0YXJ0IHx8ICFmb3JtLmNvb3BlcmF0ZV9lbmQpIHtcbiAgICAgIG5ld0Vycm9ycy5jb250cmFjdF95ZWFycyA9ICfor7fpgInmi6nlrozmlbTnmoTlkIjkvZzml7bpl7TojIPlm7QnO1xuICAgIH0gZWxzZSBpZiAoZm9ybS5jb29wZXJhdGVfc3RhcnQgPiBmb3JtLmNvb3BlcmF0ZV9lbmQpIHtcbiAgICAgIG5ld0Vycm9ycy5jb250cmFjdF95ZWFycyA9ICflvIDlp4vml7bpl7TkuI3og73mmZrkuo7nu5PmnZ/ml7bpl7QnO1xuICAgIH1cblxuICAgIHNldEVycm9ycyhuZXdFcnJvcnMpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhuZXdFcnJvcnMpLmxlbmd0aCA9PT0gMDtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXZhbGlkYXRlKCkpIHJldHVybjtcblxuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgIHByb2plY3RfbmFtZTogZm9ybS5wcm9qZWN0X25hbWUsXG4gICAgICAgIHByb2plY3RfbGVhZGVyOiBmb3JtLnByb2plY3RfbGVhZGVyIHx8IG51bGwsXG4gICAgICAgIHNpZ25fZGF0ZTogZm9ybS5zaWduX2RhdGUgfHwgbnVsbCxcbiAgICAgICAgcGFydG5lcl9pZDogZm9ybS5wYXJ0bmVyX2lkLFxuICAgICAgICBjb250cmFjdF9jb250ZW50OiBmb3JtLmNvbnRyYWN0X2NvbnRlbnQsXG4gICAgICAgIGNvbnRyYWN0X3llYXJzOiBmb3JtLmNvb3BlcmF0ZV9zdGFydCAmJiBmb3JtLmNvb3BlcmF0ZV9lbmQgPyBgJHtmb3JtLmNvb3BlcmF0ZV9zdGFydH0gfiAke2Zvcm0uY29vcGVyYXRlX2VuZH1gIDogbnVsbCxcbiAgICAgICAgY29udHJhY3RfYW1vdW50OiBOdW1iZXIoZm9ybS5jb250cmFjdF9hbW91bnQpLFxuICAgICAgICBlc3RpbWF0ZWRfcHJvZml0OiBmb3JtLmVzdGltYXRlZF9wcm9maXQgPT09ICcnIHx8IGZvcm0uZXN0aW1hdGVkX3Byb2ZpdCA9PT0gbnVsbCB8fCBmb3JtLmVzdGltYXRlZF9wcm9maXQgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBOdW1iZXIoZm9ybS5lc3RpbWF0ZWRfcHJvZml0KSxcbiAgICAgICAgcGF5bWVudF90eXBlOiBmb3JtLnBheW1lbnRfdHlwZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF1dGhGZXRjaCgnL2FwaS9jb250cmFjdHMnLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgIHNob3dUb2FzdChkYXRhLmVycm9yIHx8ICfliJvlu7rlpLHotKUnLCAnZXJyb3InKTtcbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29udHJhY3RJZCA9IGRhdGEuaWQgfHwgZGF0YS5jb250cmFjdD8uaWQ7XG5cbiAgICAgIC8vIFVwbG9hZCBmaWxlcyBpZiBhbnlcbiAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAwICYmIGNvbnRyYWN0SWQpIHtcbiAgICAgICAgYXdhaXQgdXBsb2FkRmlsZXMoY29udHJhY3RJZCk7XG4gICAgICB9XG5cbiAgICAgIHNob3dUb2FzdCgn5ZCI5ZCM5Yib5bu65oiQ5Yqf77yBJyk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcm91dGVyLnB1c2goYC9kYXNoYm9hcmQvY29udHJhY3RzLyR7Y29udHJhY3RJZH1gKTtcbiAgICAgIH0sIDgwMCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzaG93VG9hc3QoZXJyLm1lc3NhZ2UgfHwgJ+aPkOS6pOWksei0pe+8jOivt+mHjeivlScsICdlcnJvcicpO1xuICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGZvcm1hdEZpbGVTaXplID0gKGJ5dGVzKSA9PiB7XG4gICAgaWYgKGJ5dGVzIDwgMTAyNCkgcmV0dXJuIGJ5dGVzICsgJyBCJztcbiAgICBpZiAoYnl0ZXMgPCAxMDI0ICogMTAyNCkgcmV0dXJuIChieXRlcyAvIDEwMjQpLnRvRml4ZWQoMSkgKyAnIEtCJztcbiAgICByZXR1cm4gKGJ5dGVzIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgxKSArICcgTUInO1xuICB9O1xuXG4gIGlmICh1c2VyICYmIHVzZXIucm9sZSAhPT0gJ2VtcGxveWVlJykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFuaW1hdGUtZmFkZUluXCIgc3R5bGU9e3sgbWF4V2lkdGg6IDYwMCwgbWFyZ2luOiAnNDBweCBhdXRvJyB9fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCIgc3R5bGU9e3sgcGFkZGluZzogNDAsIHRleHRBbGlnbjogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogNDgsIG1hcmdpbkJvdHRvbTogMTYgfX0+4pqg77iPPC9kaXY+XG4gICAgICAgICAgPGgyIHN0eWxlPXt7IGZvbnRTaXplOiAyMCwgZm9udFdlaWdodDogNjAwLCBtYXJnaW5Cb3R0b206IDggfX0+5pqC5peg6K6/6Zeu5p2D6ZmQPC9oMj5cbiAgICAgICAgICA8cCBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWdyYXktNTAwKScsIG1hcmdpbkJvdHRvbTogMjQgfX0+5LuF5ZGY5bel6KeS6Imy5Y+v5paw5bu65ZCI5ZCM5rWB6L2s5Lu75Yqh44CCPC9wPlxuICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5XCIgb25DbGljaz17KCkgPT4gcm91dGVyLnB1c2goJy9kYXNoYm9hcmQvY29udHJhY3RzJyl9PlxuICAgICAgICAgICAg6L+U5Zue5ZCI5ZCM5YiX6KGoXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRlLWZhZGVJblwiPlxuICAgICAgey8qIFRvYXN0ICovfVxuICAgICAge3RvYXN0ICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YHRvYXN0IHRvYXN0LSR7dG9hc3QudHlwZX1gfT5cbiAgICAgICAgICAgIHt0b2FzdC50eXBlID09PSAnc3VjY2VzcycgPyAn4pyFJyA6ICfinYwnfSB7dG9hc3QubWVzc2FnZX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtaGVhZGVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInBhZ2UtdGl0bGVcIj7mlrDlu7rlkIjlkIzmtYHovazku7vliqE8L2gxPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInBhZ2Utc3VidGl0bGVcIj7loavlhpnlkIjlkIzkv6Hmga/lubbmj5DkuqTlrqHmibk8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxmb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICB7Lyog5Z+65pys5L+h5oGvICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmRcIiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IDIwIH19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJjYXJkLXRpdGxlXCI+8J+TnSDln7rmnKzkv6Hmga88L2gzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdncmlkJywgZ3JpZFRlbXBsYXRlQ29sdW1uczogJ3JlcGVhdCgyLCAxZnIpJywgZ2FwOiAyMCB9fT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIOmhueebruWQjeensCA8c3BhbiBjbGFzc05hbWU9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpobnnm67lkI3np7BcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm0ucHJvamVjdF9uYW1lfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gaGFuZGxlQ2hhbmdlKCdwcm9qZWN0X25hbWUnLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7ZXJyb3JzLnByb2plY3RfbmFtZSAmJiA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZXJyb3JcIj57ZXJyb3JzLnByb2plY3RfbmFtZX08L2Rpdj59XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZm9ybS1sYWJlbFwiPumhueebrui0n+i0o+S6ujwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm0ucHJvamVjdF9sZWFkZXJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2UoJ3Byb2plY3RfbGVhZGVyJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj4tLSDor7fpgInmi6npg6jpl6jkuLvnrqEgLS08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIHtzdXBlcnZpc29ycy5tYXAocyA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtzLmlkfSB2YWx1ZT17cy5yZWFsX25hbWV9PlxuICAgICAgICAgICAgICAgICAgICAgIHtzLnJlYWxfbmFtZX0gKHtzLmRlcGFydG1lbnRfbmFtZSB8fCAn5peg6YOo6ZeoJ30pXG4gICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZm9ybS1sYWJlbFwiPuetvuiuouaXtumXtDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtLnNpZ25fZGF0ZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZUNoYW5nZSgnc2lnbl9kYXRlJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiDlkIjkvZzljZXkvY0gKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZFwiIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogMjAgfX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlclwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImNhcmQtdGl0bGVcIj7wn4+iIOWQiOS9nOWNleS9jSA8c3BhbiBjbGFzc05hbWU9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCIgcmVmPXtwYXJ0bmVyUmVmfT5cbiAgICAgICAgICAgICAge2Zvcm0ucGFydG5lcl9pZCA/IChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGVkLXBhcnRuZXItY2FyZCBhbmltYXRlLWZhZGVJblwiIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTBweCAxNHB4JyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1ncmF5LTUwKScsXG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tcmFkaXVzLW1kKScsXG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA2MDAsIGZvbnRTaXplOiAxNCB9fT7wn4+iIHtzZWxlY3RlZFBhcnRuZXJOYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tZ2hvc3QgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1kYW5nZXIpJywgcGFkZGluZzogJzRweCA4cHgnIH19XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRGb3JtKHByZXYgPT4gKHsgLi4ucHJldiwgcGFydG5lcl9pZDogJycgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkUGFydG5lck5hbWUoJycpO1xuICAgICAgICAgICAgICAgICAgICAgIHNldFBhcnRuZXJTZWFyY2goJycpO1xuICAgICAgICAgICAgICAgICAgICAgIHNldFBhcnRuZXJEcm9wZG93bk9wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIOmHjeaWsOmAieaLqVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWFyY2gtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzZWFyY2gtc2VsZWN0LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLmkJzntKLlkIjkvZzljZXkvY0uLi5cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGFydG5lclNlYXJjaH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFBhcnRuZXJTZWFyY2goZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgIHNldFBhcnRuZXJEcm9wZG93bk9wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHNldFBhcnRuZXJEcm9wZG93bk9wZW4odHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge3BhcnRuZXJEcm9wZG93bk9wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlYXJjaC1zZWxlY3QtZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7ZmlsdGVyZWRQYXJ0bmVycy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRQYXJ0bmVycy5tYXAocCA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3AuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2VhcmNoLXNlbGVjdC1vcHRpb24gJHtmb3JtLnBhcnRuZXJfaWQgPT09IHAuaWQgPyAnc2VsZWN0ZWQnIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZWxlY3RQYXJ0bmVyKHApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3AubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlYXJjaC1zZWxlY3QtZW1wdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAg5pyq5om+5Yiw77yfXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvZGFzaGJvYXJkL3BhcnRuZXJzXCIgb25DbGljaz17ZSA9PiB7IGUucHJldmVudERlZmF1bHQoKTsgcm91dGVyLnB1c2goJy9kYXNoYm9hcmQvcGFydG5lcnMnKTsgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5re75Yqg5ZCI5L2c5Y2V5L2NXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2Vycm9ycy5wYXJ0bmVyX2lkICYmIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1lcnJvclwiPntlcnJvcnMucGFydG5lcl9pZH08L2Rpdj59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIOWQiOWQjOivpuaDhSAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAyMCB9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiY2FyZC10aXRsZVwiPvCfk4Qg5ZCI5ZCM6K+m5oOFPC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmb3JtLWxhYmVsXCI+5ZCI5ZCM5YaF5a65PC9sYWJlbD5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkIjlkIzkuLvopoHlhoXlrrnmj4/ov7AuLi5cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtLmNvbnRyYWN0X2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gaGFuZGxlQ2hhbmdlKCdjb250cmFjdF9jb250ZW50JywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgIHJvd3M9ezR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZm9ybS1sYWJlbFwiPuWQiOS9nOacn+mZkCA8c3BhbiBjbGFzc05hbWU9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDEyLCBtYXhXaWR0aDogNDAwIH19PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImRhdGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybS5jb29wZXJhdGVfc3RhcnR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2UoJ2Nvb3BlcmF0ZV9zdGFydCcsIGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZ3JheS00MDApJyB9fT7oh7M8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtLmNvb3BlcmF0ZV9lbmR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2UoJ2Nvb3BlcmF0ZV9lbmQnLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHtlcnJvcnMuY29udHJhY3RfeWVhcnMgJiYgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWVycm9yXCI+e2Vycm9ycy5jb250cmFjdF95ZWFyc308L2Rpdj59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIOmHkemineS/oeaBryAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAyMCB9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiY2FyZC10aXRsZVwiPvCfkrAg6YeR6aKd5L+h5oGvPC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZ3JpZCcsIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICdyZXBlYXQoMiwgMWZyKScsIGdhcDogMjAgfX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICDlkIjlkIzph5Hpop3vvIjlhYPvvIk8c3BhbiBjbGFzc05hbWU9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWQiOWQjOmHkeminVwiXG4gICAgICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgICAgIHN0ZXA9XCIwLjAxXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtLmNvbnRyYWN0X2Ftb3VudH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZUNoYW5nZSgnY29udHJhY3RfYW1vdW50JywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge2Vycm9ycy5jb250cmFjdF9hbW91bnQgJiYgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWVycm9yXCI+e2Vycm9ycy5jb250cmFjdF9hbW91bnR9PC9kaXY+fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgey8qIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmb3JtLWxhYmVsXCI+6aKE5Lyw5Yip5ram77yI5YWD77yJPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHBvc2l0aW9uOiAncmVsYXRpdmUnIH19PlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2Zvcm0ucGF5bWVudF90eXBlID09PSAncGF5JyA/ICfku5jmrL7lkIjlkIzml6DliKnmtqYnIDogJ+iHquWKqOiuoeeulyd9XG4gICAgICAgICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBzdGVwPVwiMC4wMVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtLmVzdGltYXRlZF9wcm9maXR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZVByb2ZpdENoYW5nZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmb3JtLnBheW1lbnRfdHlwZSA9PT0gJ3BheSd9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2Zvcm0ucGF5bWVudF90eXBlICE9PSAncGF5JyAmJiBwcm9maXRQZXJjZW50YWdlID4gMCAmJiAhcHJvZml0RWRpdGVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWhpbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICDmjInpu5jorqTmr5Tkvosge3Byb2ZpdFBlcmNlbnRhZ2V9JSDoh6rliqjorqHnrpfvvIzlj6/miYvliqjkv67mlLlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAge2Zvcm0ucGF5bWVudF90eXBlICE9PSAncGF5JyAmJiBwcm9maXRFZGl0ZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0taGludFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLXByaW1hcnkpJywgY3Vyc29yOiAncG9pbnRlcicgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvZml0RWRpdGVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm0uY29udHJhY3RfYW1vdW50ICYmIHByb2ZpdFBlcmNlbnRhZ2UgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZml0ID0gKE51bWJlcihmb3JtLmNvbnRyYWN0X2Ftb3VudCkgKiBwcm9maXRQZXJjZW50YWdlIC8gMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvcm0ocHJldiA9PiAoeyAuLi5wcmV2LCBlc3RpbWF0ZWRfcHJvZml0OiBwcm9maXQgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIOaBouWkjeiHquWKqOiuoeeul1xuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj4gKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmb3JtLWxhYmVsXCI+5pS25qy+L+S7mOasvjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogMjQsIG1hcmdpblRvcDogOCB9fT5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDYsIGN1cnNvcjogJ3BvaW50ZXInLCBmb250U2l6ZTogMTQgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBheW1lbnRfdHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJyZWNlaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtmb3JtLnBheW1lbnRfdHlwZSA9PT0gJ3JlY2VpdmUnfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZUNoYW5nZSgncGF5bWVudF90eXBlJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGFjY2VudENvbG9yOiAndmFyKC0tcHJpbWFyeSknIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIOaUtuasvlxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDYsIGN1cnNvcjogJ3BvaW50ZXInLCBmb250U2l6ZTogMTQgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBheW1lbnRfdHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJwYXlcIlxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm0ucGF5bWVudF90eXBlID09PSAncGF5J31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2UoJ3BheW1lbnRfdHlwZScsIGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBhY2NlbnRDb2xvcjogJ3ZhcigtLXByaW1hcnkpJyB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICDku5jmrL5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiDpmYTku7bkuIrkvKAgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZFwiIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogMjAgfX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlclwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImNhcmQtdGl0bGVcIj7wn5OOIOmZhOS7tuS4iuS8oDwvaDM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdXBsb2FkLWFyZWEgJHtkcmFnZ2luZyA/ICdkcmFnZ2luZycgOiAnJ31gfVxuICAgICAgICAgICAgICBvbkRyYWdPdmVyPXtoYW5kbGVEcmFnT3Zlcn1cbiAgICAgICAgICAgICAgb25EcmFnTGVhdmU9e2hhbmRsZURyYWdMZWF2ZX1cbiAgICAgICAgICAgICAgb25Ecm9wPXtoYW5kbGVEcm9wfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtaWNvblwiPvCfk4E8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGV4dFwiPueCueWHu+aIluaLluaLveaWh+S7tuWIsOatpOWkhOS4iuS8oDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC1oaW50XCI+5pSv5oyB5ZCE56eN5paH5Lu25qC85byPPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUZpbGVzKGUudGFyZ2V0LmZpbGVzKTtcbiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7ZmlsZXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS1saXN0XCI+XG4gICAgICAgICAgICAgICAge2ZpbGVzLm1hcCgoZmlsZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiZmlsZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZpbGUtaXRlbS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAg8J+ThCB7ZmlsZS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZ3JheS00MDApJywgZm9udFNpemU6IDEyIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgKHtmb3JtYXRGaWxlU2l6ZShmaWxlLnNpemUpfSlcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbGUtaXRlbS1yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJlbW92ZUZpbGUoaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAg4pyVXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIOaTjeS9nOaMiemSriAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnZmxleC1lbmQnLCBnYXA6IDEyLCBtYXJnaW5Ub3A6IDI0IH19PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1naG9zdFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByb3V0ZXIuYmFjaygpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIOWPlua2iFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1sZ1wiXG4gICAgICAgICAgICBkaXNhYmxlZD17c3VibWl0dGluZ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c3VibWl0dGluZyA/ICfmj5DkuqTkuK0uLi4nIDogJ+KcqCDmj5DkuqTlrqHmibknfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlUm91dGVyIiwidXNlVXNlciIsImF1dGhGZXRjaCIsIkNyZWF0ZUNvbnRyYWN0UGFnZSIsInJvdXRlciIsInVzZXIiLCJmb3JtIiwic2V0Rm9ybSIsInByb2plY3RfbmFtZSIsInByb2plY3RfbGVhZGVyIiwic2lnbl9kYXRlIiwicGFydG5lcl9pZCIsImNvbnRyYWN0X2NvbnRlbnQiLCJjb29wZXJhdGVfc3RhcnQiLCJjb29wZXJhdGVfZW5kIiwiY29udHJhY3RfYW1vdW50IiwiZXN0aW1hdGVkX3Byb2ZpdCIsInBheW1lbnRfdHlwZSIsInN1cGVydmlzb3JzIiwic2V0U3VwZXJ2aXNvcnMiLCJwYXJ0bmVycyIsInNldFBhcnRuZXJzIiwicGFydG5lclNlYXJjaCIsInNldFBhcnRuZXJTZWFyY2giLCJwYXJ0bmVyRHJvcGRvd25PcGVuIiwic2V0UGFydG5lckRyb3Bkb3duT3BlbiIsInNlbGVjdGVkUGFydG5lck5hbWUiLCJzZXRTZWxlY3RlZFBhcnRuZXJOYW1lIiwicGFydG5lclJlZiIsImZpbGVzIiwic2V0RmlsZXMiLCJkcmFnZ2luZyIsInNldERyYWdnaW5nIiwiZmlsZUlucHV0UmVmIiwicHJvZml0UGVyY2VudGFnZSIsInNldFByb2ZpdFBlcmNlbnRhZ2UiLCJwcm9maXRFZGl0ZWQiLCJzZXRQcm9maXRFZGl0ZWQiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsImVycm9ycyIsInNldEVycm9ycyIsInRvYXN0Iiwic2V0VG9hc3QiLCJ0aGVuIiwiciIsImpzb24iLCJkYXRhIiwiY2F0Y2giLCJsaXN0IiwiZmlsdGVyIiwidSIsInJvbGUiLCJzdGF0dXMiLCJsZW5ndGgiLCJkZWZhdWx0U3VwZXJ2aXNvciIsImZpbmQiLCJzIiwiZGVwYXJ0bWVudF9pZCIsInByZXYiLCJyZWFsX25hbWUiLCJwY3QiLCJwcm9maXRfcGVyY2VudGFnZSIsImNvbmZpZyIsIk51bWJlciIsInByb2ZpdCIsInRvRml4ZWQiLCJoYW5kbGVDbGljayIsImUiLCJjdXJyZW50IiwiY29udGFpbnMiLCJ0YXJnZXQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2hvd1RvYXN0IiwibWVzc2FnZSIsInR5cGUiLCJzZXRUaW1lb3V0IiwiaGFuZGxlQ2hhbmdlIiwiZmllbGQiLCJ2YWx1ZSIsInVwZGF0ZWQiLCJoYW5kbGVQcm9maXRDaGFuZ2UiLCJmaWx0ZXJlZFBhcnRuZXJzIiwicCIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwic2VsZWN0UGFydG5lciIsInBhcnRuZXIiLCJpZCIsImhhbmRsZUZpbGVzIiwibmV3RmlsZXMiLCJmaWxlQXJyYXkiLCJBcnJheSIsImZyb20iLCJyZW1vdmVGaWxlIiwiaW5kZXgiLCJfIiwiaSIsImhhbmRsZURyYWdPdmVyIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVEcmFnTGVhdmUiLCJoYW5kbGVEcm9wIiwiZGF0YVRyYW5zZmVyIiwidXBsb2FkRmlsZXMiLCJjb250cmFjdElkIiwiZmlsZSIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJtZXRob2QiLCJib2R5IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwidmFsaWRhdGUiLCJuZXdFcnJvcnMiLCJ0cmltIiwiY29udHJhY3RfeWVhcnMiLCJPYmplY3QiLCJrZXlzIiwiaGFuZGxlU3VibWl0IiwidW5kZWZpbmVkIiwicmVzIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9rIiwiY29udHJhY3QiLCJwdXNoIiwiZm9ybWF0RmlsZVNpemUiLCJieXRlcyIsImRpdiIsImNsYXNzTmFtZSIsInN0eWxlIiwibWF4V2lkdGgiLCJtYXJnaW4iLCJwYWRkaW5nIiwidGV4dEFsaWduIiwiZm9udFNpemUiLCJtYXJnaW5Cb3R0b20iLCJoMiIsImZvbnRXZWlnaHQiLCJjb2xvciIsImJ1dHRvbiIsIm9uQ2xpY2siLCJoMSIsIm9uU3VibWl0IiwiaDMiLCJkaXNwbGF5IiwiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsImdhcCIsImxhYmVsIiwic3BhbiIsImlucHV0IiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsInNlbGVjdCIsIm9wdGlvbiIsIm1hcCIsImRlcGFydG1lbnRfbmFtZSIsInJlZiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImJhY2tncm91bmQiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJvbkZvY3VzIiwiYSIsImhyZWYiLCJ0ZXh0YXJlYSIsInJvd3MiLCJtaW4iLCJzdGVwIiwibWFyZ2luVG9wIiwiY3Vyc29yIiwiY2hlY2tlZCIsImFjY2VudENvbG9yIiwib25EcmFnT3ZlciIsIm9uRHJhZ0xlYXZlIiwib25Ecm9wIiwiY2xpY2siLCJtdWx0aXBsZSIsInNpemUiLCJiYWNrIiwiZGlzYWJsZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/dashboard/contracts/create/page.js\n"));
/***/ })
});