@djb25/digit-ui-module-ekyc 1.0.44 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/components/CeoDashboard.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `${prefix}/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Fields where original value must be preserved (identifiers, numbers, emails, dates)\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to ALL string fields except identifiers/numbers/dates\n if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = apiCountData?.total || countData?.total || countData?.totalCount || 0;\n const pending = apiCountData?.pending || countData?.pending || 0;\n const active = apiCountData?.active || countData?.active || 0;\n const completed = apiCountData?.completed || countData?.completed || 0;\n\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span>\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n <div className=\"health-trend\">↗ +2.1%</div>\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">1.2s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.04%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.map(zone => zone.toUpperCase().replace(\"\", \" \")).join(\", \") : \"N/A\";\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">{zoneIds}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n return vendorSearchResponse.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const supervisor = useMemo(() => {\n // 1. Try to get supervisor from progressData if it succeeded\n if (progressData?.supervisorReport) {\n let found = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n found = progressData.supervisorReport.find((s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n if (found) return found;\n }\n\n // 2. Fallback to supervisorSearchResponse\n if (supervisorSearchResponse?.supervisors) {\n let matchedSup = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n if (matchedSup) {\n // Find surveyors belonging to this supervisor from surveyorSearchResponse\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n // Find surveyor in progressData to get real statistics if available\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId === surv.id || s.surveyorId === surv.owner?.uuid)) ||\n (s.id && (s.id === surv.id || s.id === surv.owner?.uuid))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser?.uuid]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n // Fetch for each surveyor under this supervisor in parallel\n const fetchPromises = surveyors.map(s =>\n Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 5000,\n surveyorId: s.surveyorId || s.id,\n reportDownload: true\n }).catch(err => {\n console.error(`Error fetching applications for surveyor ${s.surveyorName}:`, err);\n return { consumerList: [] };\n })\n );\n\n const results = await Promise.all(fetchPromises);\n const consumerList = results.flatMap(res => res?.consumerList || []);\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">{assignedZone}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard }) => {\n const { t } = useTranslation();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(\"dl.djb\");\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(\"dl.djb\", \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n await refetchDashboard();\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: \"dl.djb\",\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={`Assign ${selectedKnos.length} KNOs`}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {fetchedPincodes.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || `Clear Selected (${selectedKnos.length})`}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: true, staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId) {\n return surveyorSearchById?.surveyors?.length ? surveyorSearchById : surveyorSearchByOwner;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || isLoadingOwner) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nimport { FaUsers, FaUserTie, FaMapMarkedAlt, FaCheckCircle, FaClock, FaExclamationTriangle, FaChartLine } from \"react-icons/fa\";\n\nconst vendors = [\n {\n id: 1,\n name: \"Vendor Alpha\",\n progress: 78,\n supervisors: 12,\n surveyors: 148,\n completed: 154200,\n pending: 43200,\n rejected: 3200,\n },\n {\n id: 2,\n name: \"Vendor Beta\",\n progress: 64,\n supervisors: 10,\n surveyors: 122,\n completed: 121000,\n pending: 68500,\n rejected: 2800,\n },\n {\n id: 3,\n name: \"Vendor Gamma\",\n progress: 91,\n supervisors: 15,\n surveyors: 182,\n completed: 201500,\n pending: 19800,\n rejected: 1800,\n },\n];\n\nconst zones = [\n {\n zone: \"North Delhi\",\n totalConnections: 220000,\n ekycDone: 172000,\n liveSurveyors: 58,\n todayCompleted: 2800,\n },\n {\n zone: \"South Delhi\",\n totalConnections: 198000,\n ekycDone: 154500,\n liveSurveyors: 42,\n todayCompleted: 2100,\n },\n {\n zone: \"East Delhi\",\n totalConnections: 175000,\n ekycDone: 132800,\n liveSurveyors: 37,\n todayCompleted: 1740,\n },\n {\n zone: \"West Delhi\",\n totalConnections: 212000,\n ekycDone: 188300,\n liveSurveyors: 48,\n todayCompleted: 2560,\n },\n];\n\nconst alerts = [\n \"15 Surveyors inactive for more than 2 hours\",\n \"Vendor Beta completion dropped by 12% this week\",\n \"North Delhi has highest pending backlog\",\n \"2,843 eKYC applications rejected today\",\n];\n\nconst CeoDashboard = () => {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"ceo-dashboard\">\n <main className=\"main-content\">\n <div className=\"kpi-grid\">\n <div className=\"kpi-card primary\">\n <div className=\"icon-box\">\n <FaUsers />\n </div>\n <div>\n <h3>7,85,000</h3>\n <p>Total Water Connections</p>\n </div>\n </div>\n\n <div className=\"kpi-card success\">\n <div className=\"icon-box\">\n <FaCheckCircle />\n </div>\n <div>\n <h3>6,47,300</h3>\n <p>eKYC Completed</p>\n </div>\n </div>\n\n <div className=\"kpi-card warning\">\n <div className=\"icon-box\">\n <FaClock />\n </div>\n <div>\n <h3>1,31,500</h3>\n <p>Pending eKYC</p>\n </div>\n </div>\n\n <div className=\"kpi-card danger\">\n <div className=\"icon-box\">\n <FaExclamationTriangle />\n </div>\n <div>\n <h3>7,200</h3>\n <p>Rejected Applications</p>\n </div>\n </div>\n </div>\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaChartLine /> Vendor Performance Overview\n </h2>\n <button>View All</button>\n </div>\n\n <div className=\"vendor-grid\">\n {vendors.map((vendor) => (\n <div className=\"vendor-card\" key={vendor.id}>\n <div className=\"vendor-top\">\n <div>\n <h3>{vendor.name}</h3>\n <p>Jurisdiction Assigned Vendor</p>\n </div>\n\n <span>{vendor.progress}%</span>\n </div>\n\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"vendor-stats\">\n <div>\n <h4>{vendor.supervisors}</h4>\n <p>Supervisors</p>\n </div>\n\n <div>\n <h4>{vendor.surveyors}</h4>\n <p>Surveyors</p>\n </div>\n\n <div>\n <h4>{vendor.completed}</h4>\n <p>Completed</p>\n </div>\n </div>\n\n <div className=\"vendor-footer\">\n <span>Pending: {vendor.pending}</span>\n <span>Rejected: {vendor.rejected}</span>\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Monitoring\n </h2>\n <button>Export Data</button>\n </div>\n\n <div className=\"table-wrapper\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Total Connections</th>\n <th>eKYC Done</th>\n <th>Live Surveyors</th>\n <th>Today's Completion</th>\n <th>Status</th>\n </tr>\n </thead>\n\n <tbody>\n {zones.map((item, index) => (\n <tr key={index}>\n <td>{item.zone}</td>\n <td>{item.totalConnections}</td>\n <td>{item.ekycDone}</td>\n <td>{item.liveSurveyors}</td>\n <td>{item.todayCompleted}</td>\n <td>\n <span className=\"status-badge success\">Active</span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <div className=\"bottom-grid\">\n <section className=\"dashboard-section alerts-section\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n\n <div className=\"alerts-list\">\n {alerts.map((alert, index) => (\n <div className=\"alert-card\" key={index}>\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section team-section\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce Monitoring\n </h2>\n </div>\n\n <div className=\"team-stats-grid\">\n <div className=\"team-box\">\n <h3>37</h3>\n <p>Total Supervisors Online</p>\n </div>\n\n <div className=\"team-box\">\n <h3>154</h3>\n <p>Surveyors Active</p>\n </div>\n\n <div className=\"team-box\">\n <h3>12,430</h3>\n <p>Today's eKYC Completed</p>\n </div>\n\n <div className=\"team-box\">\n <h3>92%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </section>\n </div>\n </main>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\nimport Create from \"../pages/employee/Create\";\nimport Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","loggedInUser","fullName","name","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","total","completed","pending","rejected","active","handleDownloadEkycData","Promise","resolve","EkycService","application_list","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","gender","mobileNumber","emailId","fatherOrHusbandName","relationship","dob","zoneName","assembly","ward","pincode","mrkey","consumerType","createdTime","lastModifiedTime","toTitleCase","str","cleanStr","String","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","chartRef1","useRef","chartInstance1","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","disabled","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","style","background","ref","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","status","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","target","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","Link","to","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","filters","filteredVendors","vendor","keyword","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","todayEkyc","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","submittedCount","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","mobileNo","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","zoneIds","_vendor$zoneIds","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","paginatedSupervisors","start","end","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","targetPath","href","textDecoration","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","p","idx","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","InboxComposer","forceTable","showSearchOnMobile","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","_dashboardData$dashbo","paginationParms","useSurveyorSearch","isDataSearchLoading","surveyors","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","AdminDashboard","vendorsList","_dso$owner","_dso$owner2","dso","supervisorsList","surveyorsList","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS2","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","found","targetId","_s$supervisorId","_s$id","matchedSup","_s$id2","_s$owner$uuid","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$surveyors","matchedSurv","_surv$owner","_surv$owner2","assignedZoneId","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","fetchPromises","catch","all","results","titleCaseFields","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","timer","clearTimeout","unassignedOnly","isFetching","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","stripped","totalPages","SurveyorDetailsDashboard","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","staleTime","Infinity","surveyorSearchById","isLoadingId","surveyorSearchByOwner","isLoadingOwner","_surveyorSearchById$s","_surveyorSearchRespon","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","refetch","knoColumns","_useState9","getDateRange","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","totalConnections","ekycDone","liveSurveyors","todayCompleted","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":";;;;;;;;;;;;AAIA,MAAMA,QAAQ,GAAGA,MAAM;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACrB,MAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAMC,WAAW,IAAAT,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,uBAAtCA,sBAAA,CAAwCY,KAAK;EACjE,MAAMA,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACN,WAAW,CAAC,GAAGA,WAAW,CAACO,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,IAAID,GAAG,CAAC,GAAG,EAAE;EAEzF,MAAAE,qBAAA,GAAsCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAC3E,EAAE,EACF;MAAEjB,QAAQ;MAAEkB,MAAM,EAAE,CAAC;MAAEC,KAAK,EAAE;KAAG,EACjC;MAAEC,OAAO,EAAE,CAAC,CAACpB;KACf,CAAC;IAJaqB,QAAQ,GAAAP,qBAAA,CAAdQ,IAAI;IAAYC,SAAS,GAAAT,qBAAA,CAATS,SAAS;EAMjC,MAAMC,UAAU,GAAGD,SAAS,GAAG,GAAG,GAAG,CAAAF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,CAAC;EAE9D,MAAMC,SAAS,GAAGC,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,UAAU,CAAC;EAC/D,MAAMC,MAAM,GAAGL,SAAS,GAAG,wBAAwB,GAAG,yBAAyB;EAE/E,IAAIM,KAAK,GAAG,EAAE;EACd,IAAIN,SAAS,EAAE;IACb,IAAIjB,KAAK,CAACqB,QAAQ,CAAC,eAAe,CAAC,EAAE;MACnCE,KAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;QAC9BmC,IAAI,EAAKJ,MAAM;OAChB,CAAC;;IAEJ,IAAItB,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,IAAIrB,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;MACtEE,KAAK,CAACC,IAAI,CAAC;QACTG,KAAK,EAAEX,UAAU;QACjBS,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;QACtBmC,IAAI,EAAKJ,MAAM;OAChB,CAAC;;IAEJ,IAAItB,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,EAAE;MACrCE,KAAK,CAACC,IAAI,CACR;QACEC,KAAK,EAAElC,CAAC,CAAC,2BAA2B,CAAC;QACrCmC,IAAI,EAAKJ,MAAM;OAChB,EACD;QACEG,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;QACvBmC,IAAI,EAAKJ,MAAM;OAEnB,CAAC;;IAEH,IAAItB,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;MACjCE,KAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC;QACjCmC,IAAI,EAAKJ,MAAM;OAChB,CAAC;;IAEJ,IAAItB,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,IAAIrB,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;MACtEE,KAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAElC,CAAC,CAAC,yBAAyB,CAAC;QACnCmC,IAAI;OACL,CAAC;;IAEJ,IAAIH,KAAK,CAACK,MAAM,KAAK,CAAC,IAAK5B,KAAK,CAAC4B,MAAM,KAAK,CAAC,IAAI5B,KAAK,CAACqB,QAAQ,CAAC,SAAS,CAAE,EAAE;MAC3EE,KAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;QACvBmC,IAAI,EAAKJ,MAAM;OAChB,CAAC;;GAEL,MAAM;IAELC,KAAK,GAAG,CACN;MACEE,KAAK,EAAElC,CAAC,CAAC,0BAA0B,CAAC;MACpCmC,IAAI,EAAKJ,MAAM;KAChB,EACD;MACEG,KAAK,EAAElC,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB;MACrDmC,IAAI,EAAKJ,MAAM;KAChB,EACD;MACEK,KAAK,EAAEX,UAAU;MACjBS,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;MACtBmC,IAAI,EAAKJ,MAAM;KAChB,EACD,IAAI,CAACtB,KAAK,CAACqB,QAAQ,CAAC,UAAU,CAAC,GAC3B,CACA;MACEI,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBmC,IAAI,EAAKJ,MAAM;KAChB,CACF,GACC,EAAE,CAAC,CACR;;EAGH,MAAMO,kBAAkB,GAAG;IACzBC,IAAI,eAAEC,cAAA,CAAAC,aAAA,CAACC,iCAAU,MAAE,CAAC;IACpBC,UAAU,EAAE3C,CAAC,CAAC,kBAAkB,CAAC;IACjC4C,IAAI,EAAElB,SAAS,GACX,EAAE,GACF,CACE;MACEU,KAAK,EAAEX,UAAU;MACjBS,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;MACtBmC,IAAI,EAAKJ,MAAM;KAChB,CACF;IACLC,KAAK,EAAEA;GACR;EAED,oBAAOQ,cAAA,CAAAC,aAAA,CAACI,yCAAkB,EAAKP,kBAAqB,CAAC;AACvD,CAAC;;ACuDM,MAAMQ,eAAe,gBAAiB,OAAOC,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACC,QAAQ,KAAKD,MAAM,CAACC,QAAQ,GAAGD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAI,YAAY;AAI9J,AAyDO,MAAME,oBAAoB,gBAAiB,OAAOF,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACG,aAAa,KAAKH,MAAM,CAACG,aAAa,GAAGH,MAAM,CAAC,sBAAsB,CAAC,CAAC,GAAI,iBAAiB;AAGvL,AA8UO,SAASI,MAAMA,CAACC,IAAI,EAAEC,OAAO,EAAE;EACrC,IAAI;IACH,IAAIC,MAAM,GAAGF,IAAI,EAAE;GACnB,CAAC,OAAMG,CAAC,EAAE;IACV,OAAOF,OAAO,CAACE,CAAC,CAAC;;EAElB,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;IAC1B,OAAOF,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC,EAAEH,OAAO,CAAC;;EAEpC,OAAOC,MAAM;AACd;AAGA,AAAO,SAASG,gBAAgBA,CAACL,IAAI,EAAEM,SAAS,EAAE;EACjD,IAAI;IACH,IAAIJ,MAAM,GAAGF,IAAI,EAAE;GACnB,CAAC,OAAOG,CAAC,EAAE;IACX,OAAOG,SAAS,CAAC,IAAI,EAAEH,CAAC,CAAC;;EAE1B,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;IAC1B,OAAOF,MAAM,CAACE,IAAI,CAACE,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAED,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;EAE5E,OAAOD,SAAS,CAAC,KAAK,EAAEJ,MAAM,CAAC;AAChC;;ACrkBA,MAAMM,mBAAmB,GAAGA,MAAM;EAChC,MAAMC,CAAC,GAAGC,aAAa,IAAIA,gBAAe,IAAIA,OAAO;EACrD,OAAOD,CAAC;AACV,CAAC;AACD,MAAME,WAAW,GAAGC,IAAA,IAAmB;EAAA,IAAApE,qBAAA;EAAA,IAAhBqE,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC9B,MAAAnE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkE,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAA9DC,mBAAmB,GAAAF,SAAA;IAAEG,sBAAsB,GAAAH,SAAA;EAElD,IAAIjE,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACpD,IAAI,CAACH,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAE;IAClCA,QAAQ,GAAG,QAAQ;;EAErB,MAAMqE,YAAY,IAAA1E,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,uBAAhCA,qBAAA,CAAkCY,IAAI;EAC3D,MAAM+D,QAAQ,GAAG,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,IAAI,KAAI,OAAO;EAE9C,MAAAzD,qBAAA,GAAgCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACwD,wBAAwB,CACvE,EAAE,EACF;MACExE,QAAQ;MACRkB,MAAM,EAAE,CAAC;MACTC,KAAK,EAAE,EAAE;MACTsD,UAAU,EAAE;KACb,EACD;MACErD,OAAO,EAAE,CAAC,CAACpB;KAEf,CAAC;IAXa0E,aAAa,GAAA5D,qBAAA,CAAnBQ,IAAI;EAaZ,MAAMqD,YAAY,GAAGpC,cAAK,CAACqC,OAAO,CAAC,MAAM;IACvC,MAAMrE,IAAI,GAAG,CAAAmE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,aAAa,KAAI,EAAE;IAC/C,OAAO;MACLC,KAAK,EAAEvE,IAAI,CAACuE,KAAK,IAAI,CAAC;MACtBC,SAAS,EAAExE,IAAI,CAACwE,SAAS,IAAI,CAAC;MAC9BC,OAAO,EAAEzE,IAAI,CAACyE,OAAO,IAAI,CAAC;MAC1BC,QAAQ,EAAE1E,IAAI,CAAC0E,QAAQ,IAAI,CAAC;MAC5BC,MAAM,EAAE3E,IAAI,CAAC2E,MAAM,IAAI;KACxB;GACF,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,MAAMS,sBAAsB;IAAA,IAAe;MACzCf,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAAgB,OAAA,CAAAC,OAAA,CAAA7B,gBAAA;QAAA,OAAAN,MAAA,aACzB;UAAA,OAAAkC,OAAA,CAAAC,OAAA,CACqBpF,KAAK,CAACqF,WAAW,CAACC,gBAAgB,CAAC;YACxDvF,QAAQ,EAAEA,QAAQ;YAClBkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZqE,cAAc,EAAE;WACjB,CAAC,EAAAjC,IAAA,WALIkC,QAAQ;YAOd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YACjD,IAAIA,YAAY,CAACtD,MAAM,KAAK,CAAC,EAAE;cAC7BuD,KAAK,CAAC5F,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGF,MAAM6F,YAAY,GAAG,CACnB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC7B;YAED,MAAMC,aAAa,GAAG;cACpBC,GAAG,EAAE/F,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBgG,SAAS,EAAEhG,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CiG,UAAU,EAAEjG,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CkG,QAAQ,EAAElG,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCmG,MAAM,EAAEnG,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BoG,YAAY,EAAEpG,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDqG,OAAO,EAAErG,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpCsG,mBAAmB,EAAEtG,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtEuG,YAAY,EAAEvG,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjDwG,GAAG,EAAExG,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChC0E,UAAU,EAAE1E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CyG,QAAQ,EAAEzG,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B0G,QAAQ,EAAE1G,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC2G,IAAI,EAAE3G,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB4G,OAAO,EAAE5G,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClC6G,KAAK,EAAE7G,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9B8G,YAAY,EAAE9G,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnD+G,WAAW,EAAE/G,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDgH,gBAAgB,EAAEhH,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAC9C;YAED,MAAMiH,WAAW,GAAIC,GAAG,IAAK;cAC3B,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;cAEnB,MAAMC,QAAQ,GAAGC,MAAM,CAACF,GAAG,CAAC,CAACpF,QAAQ,CAAC,GAAG,CAAC,GAAGsF,MAAM,CAACF,GAAG,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGF,MAAM,CAACF,GAAG,CAAC;cACvF,OAAOC,QAAQ,CACZI,WAAW,EAAE,CACbC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAClBA,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;aAC5C;YAGD,MAAMC,aAAa,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC;YAEtH,MAAMC,SAAS,GAAGjC,YAAY,CAAC/E,GAAG,CAAEiH,IAAI,IAAK;cAC3C,MAAMC,QAAQ,GAAG,EAAE;cAEnB,MAAMtD,IAAI,GAAG,CAACqD,IAAI,CAAC7B,SAAS,EAAE6B,IAAI,CAAC5B,UAAU,EAAE4B,IAAI,CAAC3B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;cACvF,IAAIzD,IAAI,EAAE;gBACRsD,QAAQ,CAAC9H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGiH,WAAW,CAACzC,IAAI,CAAC;;cAGrE0D,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC,CAACO,OAAO,CAACC,GAAG,IAAI;gBAC/B,IAAIxC,YAAY,CAAC/D,QAAQ,CAACuG,GAAG,CAAC,EAAE;gBAEhC,MAAMC,GAAG,GAAGT,IAAI,CAACQ,GAAG,CAAC;gBACrB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBAC3C;;gBAGF,MAAMC,cAAc,GAAGzC,aAAa,CAACuC,GAAG,CAAC,IAAIrI,CAAC,CAACqI,GAAG,CAACX,WAAW,EAAE,CAAC,IAAIW,GAAG;gBAGxE,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAI,CAACX,aAAa,CAAC7F,QAAQ,CAACuG,GAAG,CAAC,EAAE;kBAC3DP,QAAQ,CAACS,cAAc,CAAC,GAAGtB,WAAW,CAACqB,GAAG,CAAC;iBAC5C,MAAM;kBACLR,QAAQ,CAACS,cAAc,CAAC,GAAGD,GAAG;;eAEjC,CAAC;cAEF,OAAOR,QAAQ;aAChB,CAAC;YAEF,MAAMU,aAAa,4BAA0BjE,QAAQ,CAACiD,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YACrFtH,KAAK,CAACuI,QAAQ,CAACC,KAAK,CAACd,SAAS,EAAEY,aAAa,CAAC;;SAC/C,YAAQG,KAAK,EAAE;UACdC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACtD;mBAAAE,UAAA,EAAAC,OAAA;QACCzE,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAAwE,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAEjC,QAAAvF,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMyF,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC;EAC9B,MAAMC,cAAc,GAAGD,YAAM,CAAC,IAAI,CAAC;EACnC,MAAMlE,KAAK,GAAG,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,KAAK,MAAId,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEc,KAAK,MAAId,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAExC,UAAU,KAAI,CAAC;EACnF,MAAMwD,OAAO,GAAG,CAAAL,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEK,OAAO,MAAIhB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgB,OAAO,KAAI,CAAC;EAChE,MAAME,MAAM,GAAG,CAAAP,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEO,MAAM,MAAIlB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkB,MAAM,KAAI,CAAC;EAC7D,MAAMH,SAAS,GAAG,CAAAJ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,SAAS,MAAIf,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEe,SAAS,KAAI,CAAC;EAEtE,MAAMmE,eAAe,GAAGnE,SAAS;EACjC,MAAMoE,QAAQ,GAAGD,eAAe;EAEhC,MAAME,UAAU,GAAGtE,KAAK,GAAG,CAAC,GAAGuE,IAAI,CAACC,KAAK,CAAEJ,eAAe,GAAGpE,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;EAC9E,MAAMyE,SAAS,GAAGzE,KAAK,GAAG,CAAC,GAAGuE,IAAI,CAACC,KAAK,CAAEH,QAAQ,GAAGrE,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;EAEtE,MAAM0E,YAAY,GAAIC,GAAG,IAAK,IAAIC,IAAI,CAACC,YAAY,CAAC,OAAO,CAAC,CAACC,MAAM,CAACH,GAAG,IAAI,CAAC,CAAC;EAE7EI,eAAS,CAAC,MAAM;IACd,IAAId,SAAS,CAACe,OAAO,EAAE;MACrB,IAAIb,cAAc,CAACa,OAAO,EAAEb,cAAc,CAACa,OAAO,CAACC,OAAO,EAAE;MAC5D,MAAMC,IAAI,GAAGjB,SAAS,CAACe,OAAO,CAACG,UAAU,CAAC,IAAI,CAAC;MAC/C,MAAMC,gBAAgB,GAAGvG,mBAAmB,EAAE;MAC9CsF,cAAc,CAACa,OAAO,GAAG,IAAII,gBAAgB,CAACF,IAAI,EAAE;QAClDG,IAAI,EAAE,UAAU;QAChB7I,IAAI,EAAE;UACJ8I,MAAM,EAAE,CAACrK,CAAC,CAAC,aAAa,CAAC,EAAEA,CAAC,CAAC,cAAc,CAAC,EAAEA,CAAC,CAAC,gBAAgB,CAAC,CAAC;UAClEsK,QAAQ,EAAE,CACR;YACE/I,IAAI,EAAE,CAAC4D,MAAM,EAAEF,OAAO,EAAED,SAAS,CAAC;YAClCuF,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAClDC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAC9CC,WAAW,EAAE,CAAC;YACdC,WAAW,EAAE;WACd;SAEJ;QACDC,OAAO,EAAE;UACPC,MAAM,EAAE,KAAK;UACbC,OAAO,EAAE;YAAEC,MAAM,EAAE;cAAEC,OAAO,EAAE;;WAAS;UACvCC,mBAAmB,EAAE,KAAK;UAC1BC,UAAU,EAAE;;OAEf,CAAC;;IAGJ,OAAO,MAAM;MACX,IAAI/B,cAAc,CAACa,OAAO,EAAEb,cAAc,CAACa,OAAO,CAACC,OAAO,EAAE;KAC7D;GACF,EAAE,CAAC/E,OAAO,EAAED,SAAS,EAAEG,MAAM,EAAEnF,CAAC,CAAC,CAAC;EAEnC,MAAMkL,WAAW,GAAG,CAClB;IAAEC,KAAK,EAAE,SAAS;IAAEjJ,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;IAAEoL,KAAK,EAAEjG;GAAQ,EAC5D;IAAEgG,KAAK,EAAE,SAAS;IAAEjJ,KAAK,EAAElC,CAAC,CAAC,cAAc,CAAC;IAAEoL,KAAK,EAAEnG;GAAS,EAC9D;IAAEkG,KAAK,EAAE,SAAS;IAAEjJ,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;IAAEoL,KAAK,EAAEpG;GAAW,CACnE;EAED,oBACExC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;GAAe,CAAC,EAC/BrL,CAAC,CAAC,6BAA6B,CAAC,IAAI,oCAClC,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KAAmBrL,CAAC,CAAC,sBAAsB,CAAC,IAAI,6BAAkC,CAAC,eACjGwC,cAAA,CAAAC,aAAA;IAAG4I,SAAS,EAAC;KACVrL,CAAC,CAAC,yBAAyB,CAAC,IAAI,0FAChC,CACA,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,yBAAyB,CAAC,IAAI,8BAAoC,CAAC,eACnGwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAgB5B,YAAY,CAAC1E,KAAK,CAAO,CAAC,eACzDvC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAc,gBAAS,EAACrL,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAyB,CAAC,eAChGwC,cAAA,CAAAC,aAAA;IACE4I,SAAS,EAAC,oBAAoB;IAC9BC,QAAQ,EAAElH,mBAAoB;IAC9BmH,OAAO,EAAEnG;kBAET5C,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACvIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAUwJ,MAAM,EAAC;GAAoB,CAAC,eACtCzJ,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACnC,CAAC,EACLjI,mBAAmB,GAAGpE,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAC/E,CACL,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,uBAAuB,CAAC,IAAI,kBAAwB,CAAC,eACrFwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAkBrL,CAAC,CAAC,6BAA6B,CAAC,IAAI,qCAA2C,CAAC,eACjHwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZH,WAAW,CAACtK,GAAG,CAAEiH,IAAI,iBACpBrF,cAAA,CAAAC,aAAA;IAAK4F,GAAG,EAAER,IAAI,CAAC3F,KAAM;IAACmJ,SAAS,EAAC;kBAC9B7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC,eAAe;IAACiB,KAAK,EAAE;MAAEC,UAAU,EAAE1E,IAAI,CAACsD;;GAAU,CAAC,EACpEtD,IAAI,CAAC3F,KACF,CAAC,eACPM,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAgB5B,YAAY,CAAC5B,IAAI,CAACuD,KAAK,CAAQ,CAC5D,CACN,CACE,CAAC,eACN5I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAQ+J,GAAG,EAAExD,SAAU;IAACsD,KAAK,EAAE;MAAEd,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE;;GAAW,CAAC,eACpEjJ,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAoBhC,UAAU,EAAC,GAAM,CAAC,eACrD7G,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,eAAe,CAAC,IAAI,UAAgB,CACjE,CACF,CACF,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAmB,eACnDwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAiBrL,CAAC,CAAC,cAAc,CAAC,IAAI,SAAgB,CACnE,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAkBrL,CAAC,CAAC,0BAA0B,CAAC,IAAI,iCAAuC,CAAC,eAC1GwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAqB7B,SAAS,EAAC,GAAM,CAAC,eACrDhH,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAe,cAAY,CACvC,CAAC,eACN7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,eAAe;IAACiB,KAAK,EAAE;MAAEd,KAAK,EAAKhC,SAAS;;GAAQ,CAChE,CAAC,eACNhH,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAgBrL,CAAC,CAAC,kBAAkB,CAAC,IAAI,aAAmB,CAAC,eAC5EwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAe,MAAS,CACpC,CAAC,eACN7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAgBrL,CAAC,CAAC,iBAAiB,CAAC,IAAI,YAAkB,CAAC,eAC1EwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAe,OAAU,CACrC,CACF,CACF,CACF,CACF,CACF,CAAC;AAEV,CAAC;;ACvRD,MAAMoB,SAAS,GAAGA,MAAM;EACtB,MAAMxM,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAGtD,MAAAW,qBAAA,GAA2Cb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACwD,wBAAwB,CAClF,EAAE,EACF;MACExE,QAAQ;MACRkB,MAAM,EAAE,CAAC;MACTC,KAAK,EAAE;KACR,EACD;MACEC,OAAO,EAAE,CAAC,CAACpB;KAEf,CAAC;IAVOuB,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQmD,aAAa,GAAA5D,qBAAA,CAAnBQ,IAAI;EAYvB,MAAM0C,SAAS,GAAGY,aAAO,CAAC,MAAM;IAC9B,MAAMrE,IAAI,GAAG,CAAAmE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,aAAa,KAAI,EAAE;IAC/C,OAAO;MACLC,KAAK,EAAEvE,IAAI,CAACuE,KAAK,IAAI,CAAC;MACtBC,SAAS,EAAExE,IAAI,CAACwE,SAAS,IAAI,CAAC;MAC9BC,OAAO,EAAEzE,IAAI,CAACyE,OAAO,IAAI,CAAC;MAC1BC,QAAQ,EAAE1E,IAAI,CAAC0E,QAAQ,IAAI,CAAC;MAC5BC,MAAM,EAAE3E,IAAI,CAAC2E,MAAM,IAAI;KACxB;GACF,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,OAAOnD,SAAS,gBACdgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC,gBAEVlK,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA,CAACsB,WAAW;IAACE,SAAS,EAAEA;GAAY,CAChC,CACP;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;ACxCD,AAMA,MAAM2I,YAAY,GAAG5I,IAAA,IAAgD;EAAA,IAAA6I,qBAAA;EAAA,IAAhCC,eAAe,GAAA9I,IAAA,CAAf8I,eAAe;IAAKC,KAAK,GAAAC,6BAAA,CAAAhJ,IAAA,EAAAiJ,SAAA;EAC5D,MACE1L,IAAI,GAaFwL,KAAK,CAbPxL,IAAI;IACJC,SAAS,GAYPuL,KAAK,CAZPvL,SAAS;IACT0L,MAAM,GAWJH,KAAK,CAXPG,MAAM;IACNC,UAAU,GAURJ,KAAK,CAVPI,UAAU;IACVC,UAAU,GASRL,KAAK,CATPK,UAAU;IACVC,WAAW,GAQTN,KAAK,CARPM,WAAW;IACXC,aAAa,GAOXP,KAAK,CAPPO,aAAa;IACbC,gBAAgB,GAMdR,KAAK,CANPQ,gBAAgB;IAChBC,WAAW,GAKTT,KAAK,CALPS,WAAW;IACXC,YAAY,GAIVV,KAAK,CAJPU,YAAY;IACZC,UAAU,GAGRX,KAAK,CAHPW,UAAU;IACVC,YAAY,GAEVZ,KAAK,CAFPY,YAAY;IACZ1J,SAAS,GACP8I,KAAK,CADP9I,SAAS;EAEX,MAAAnE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAMiH,WAAW,GAAIC,GAAG,IAAK;IAC3B,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;IACnB,OAAOE,MAAM,CAACF,GAAG,CAAC,CACfK,WAAW,EAAE,CACbC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAClBA,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;GAC5C;EACD,MAAMkG,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAM5N,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM0N,eAAe,IAAAjB,qBAAA,GAAG3M,KAAK,CAAC6N,wBAAwB,cAAAlB,qBAAA,uBAA9BA,qBAAA,CAAgCmB,YAAY,CAAClB,eAAe,CAAC;EAGrF,MAAA5I,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAA3C8J,WAAW,GAAA/J,SAAA;IAAEgK,cAAc,GAAAhK,SAAA;EAClC,MAAAnD,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACkN,UAAU,CAAC,QAAQ,EAAElO,QAAQ,CAAC;IAAzEmO,UAAU,GAAArN,qBAAA,CAAhBQ,IAAI;IAAc8M,SAAS,GAAAtN,qBAAA,CAATsN,SAAS;EACnC,MAAMC,YAAY,GAAIvI,GAAG,IAAK;IAC5BmI,cAAc,CAACnI,GAAG,CAAC;IACnBsI,SAAS,CAAC;MAAEtI;KAAK,CAAC;GACnB;EAEDvD,cAAK,CAACsH,SAAS,CAAC,MAAM;IACpB,IAAIsE,UAAU,EAAE;MACdR,OAAO,CAAC3L,IAAI,CAAC,gCAAgC,EAAE;QAAEsM,OAAO,EAAEN,WAAW;QAAEO,WAAW,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,WAAW;QAAEJ;OAAY,CAAC;;GAG7H,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMK,OAAO,GAAG5J,aAAO,CACrB,MAAM,CACJ;IACE6J,MAAM,EAAE1O,CAAC,CAAC,qBAAqB,CAAC;IAChC2O,QAAQ,EAAE,mBAAmB;IAC7BC,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAAA,IAAVC,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACV,MAAMjJ,GAAG,GAAG,EAAA+I,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAc/I,GAAG,OAAAgJ,cAAA,GAAIC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAcG,iBAAiB,KAAI,IAAI;MACxE,oBACE1M,cAAA,CAAAC,aAAA;QAAM4I,SAAS,EAAC,MAAM;QAACE,OAAO,EAAEA,MAAM+C,YAAY,CAACvI,GAAG;SACnDA,GACG,CAAC;;GAGZ,EACD;IACE2I,MAAM,EAAE1O,CAAC,CAAC,mBAAmB,CAAC;IAC9B2O,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEO,KAAA;MAAA,IAAAC,cAAA;MAAA,IAAGJ,GAAG,GAAAG,KAAA,CAAHH,GAAG;MAAA,oBAAOxM,cAAA,CAAAC,aAAA,eAAOwE,WAAW,EAAAmI,cAAA,GAACJ,GAAG,CAACC,QAAQ,cAAAG,cAAA,uBAAZA,cAAA,CAAcC,WAAW,CAAC,IAAI,IAAW,CAAC;;GACjF,EAMD;IACEX,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC;IACxB2O,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAEU,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVR,GAAG,GAAAM,KAAA,CAAHN,GAAG;MACV,MAAMS,MAAM,GAAG,CAAC,EAAAF,cAAA,GAAAP,GAAG,CAACC,QAAQ,cAAAM,cAAA,uBAAZA,cAAA,CAAcE,MAAM,KAAI,SAAS,EAAE/H,WAAW,EAAE;MAChE,oBAAOlF,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqBoE;SAAWxI,WAAW,CAAC,EAAAuI,cAAA,GAAAR,GAAG,CAACC,QAAQ,cAAAO,cAAA,uBAAZA,cAAA,CAAcC,MAAM,KAAI,SAAS,CAAQ,CAAC;;GAE/G,EACD;IACEf,MAAM,EAAE1O,CAAC,CAAC,kBAAkB,CAAC;IAC7B2O,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEc,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVZ,GAAG,GAAAU,KAAA,CAAHV,GAAG;MACV,MAAMa,GAAG,GAAG,EAAAF,cAAA,GAAAX,GAAG,CAACC,QAAQ,cAAAU,cAAA,uBAAZA,cAAA,CAAcjL,UAAU,OAAAkL,cAAA,GAAIZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAcE,UAAU,KAAI,IAAI;MACxE,MAAMpL,UAAU,GAAGmL,GAAG,CAACnI,WAAW,EAAE;MACpC,oBAAOlF,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqB3G;SAAeuC,WAAW,CAAC4I,GAAG,CAAQ,CAAC;;GAErF,EACD;IACEnB,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC;IACxB2O,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAEmB,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVjB,GAAG,GAAAe,KAAA,CAAHf,GAAG;MACV,MAAMjJ,GAAG,GAAG,EAAAiK,cAAA,GAAAhB,GAAG,CAACC,QAAQ,cAAAe,cAAA,uBAAZA,cAAA,CAAcjK,GAAG,OAAAkK,cAAA,GAAIjB,GAAG,CAACC,QAAQ,cAAAgB,cAAA,uBAAZA,cAAA,CAAcf,iBAAiB,KAAI,IAAI;MACxE,oBACE1M,cAAA,CAAAC,aAAA;QAAM4I,SAAS,EAAC,MAAM;QAACE,OAAO,EAAEA,MAAM+C,YAAY,CAACvI,GAAG;SACnD/F,CAAC,CAAC,aAAa,CACZ,CAAC;;GAGZ,CACF,EAED,CAACA,CAAC,EAAEwN,WAAW,CACjB,CAAC;EAED,MAAM0C,SAAS,GAAGrL,aAAO,CAAC,MAAM;IAC9B,OAAO,CAAAtD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4O,KAAK,MAAKzP,KAAK,CAACC,OAAO,CAACY,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE,CAAC;GACxD,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACEiB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ7J,SAAS,iBAAIgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC,eACxBlK,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAGb7I,cAAA,CAAAC,aAAA,CAAC2N,iCAAU;IAACC,UAAU,EAAEtD,KAAK,CAACuD;GAAa,CAAC,EAE3CxC,eAAe,iBACdtL,cAAA,CAAAC,aAAA,CAACqL,eAAe;IACdyC,mBAAmB,EAAExD,KAAK,CAACwD,mBAAoB;IAC/CC,cAAc,EAAEzD,KAAK,CAAC0D,QAAS;IAC/BhD,YAAY,EAAEA,YAAa;IAC3BrD,IAAI,EAAC,SAAS;IACdkG,UAAU,EAAC;GACZ,CAEA,CAAC,eAEN9N,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,uBAAuB;IAACiB,KAAK,EAAE;MAAEoE,IAAI,EAAE;;kBAUpDlO,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA,CAACsB,WAAW;IAACE,SAAS,EAAEA;GAAY,CAChC,CAAC,eAGPzB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,QAAQ;IAACiB,KAAK,EAAE;MAAEoE,IAAI,EAAE;;kBACrClO,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC,iBAAiB;IAACiB,KAAK,EAAE;MAAEqE,OAAO,EAAE;;kBAClDnO,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACJ5Q,CAAC,EAAEA,CAAE;IACLuB,IAAI,EAAE2O,SAAU;IAChBzB,OAAO,EAAEA,OAAQ;IACjBjN,SAAS,EAAEA,SAAU;IACrB0L,MAAM,EAAEA,MAAO;IACfQ,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3BR,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnCsD,YAAY,EAAGC,QAAQ,IAAK;MAC1B,OAAO;QACLzF,SAAS,EAAE;OACZ;;GAEJ,CACG,CACH,CACF,CACF,CACF,CAAC;AAEV,CAAC;;;AC9KD,AAIA,MAAM0F,cAAc,GAAG/M,IAAA,IAAqE;EAAA,IAAAgN,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;EAAA,IAAlET,QAAQ,GAAAzM,IAAA,CAARyM,QAAQ;IAAEhD,YAAY,GAAAzJ,IAAA,CAAZyJ,YAAY;IAAEK,AAAiBqD,QAAQ,GAAAnN,IAAA,CAARmN,QAAQ;IAAKpE,KAAK,GAAAC,6BAAA,CAAAhJ,IAAA,EAAAiJ,WAAA;EACnF,MAAAnN,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkE,SAAA,GAAyCC,cAAQ,CAAC,MAAAiN,QAAA,KAAY3D,YAAY,CAAG,CAAC;IAAvE4D,aAAa,GAAAnN,SAAA;IAAEoN,eAAe,GAAApN,SAAA;EAErC,MAAMqN,QAAQ,GAAGA,CAAClJ,GAAG,EAAE+C,KAAK,KAAK;IAC/BkG,eAAe,CAAEE,IAAI,IAAAJ,QAAA,KAAWI,IAAI;MAAE,CAACnJ,GAAG,GAAG+C;MAAQ,CAAC;GACvD;EAED,MAAMqG,QAAQ,GAAIlO,CAAC,IAAK;IACtB,IAAIA,CAAC,IAAIA,CAAC,CAACmO,cAAc,EAAEnO,CAAC,CAACmO,cAAc,EAAE;IAC7CjB,QAAQ,CAACY,aAAa,CAAC;GACxB;EAED,MAAMM,OAAO,GAAGA,MAAM;IACpB,MAAMC,OAAO,GAAG;MAAErD,OAAO,EAAE,EAAE;MAAEsD,KAAK,EAAE;KAAI;IAC1CP,eAAe,CAACM,OAAO,CAAC;IACxBnB,QAAQ,CAACmB,OAAO,CAAC;GAClB;EAED,oBACEpP,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACqP,+BAAQ,MAAE,CACR,CAAC,eACNtP,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,6BAA6B,CAC7B,CACD,CACH,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAQsP,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAAC,eAChCzP,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,OAAO;IAACC,EAAE,EAAC;GAAS,CAC1C,CACF,CAAC,eACN7J,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KACbrL,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAC1B,CACH,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAMgP,QAAQ,EAAEA;kBACdjP,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,gBACGzC,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,eACjCwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAa,GAAO,CAC/B,CAAC,eACR7I,cAAA,CAAAC,aAAA,CAACyP,gCAAS;IACR9G,KAAK,EAAEiG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9C,OAAQ;IAC9BgD,QAAQ,EAAGhO,CAAC,IAAKgO,QAAQ,CAAC,SAAS,EAAEhO,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAE;IACrDgH,WAAW,EAAEpS,CAAC,CAAC,2BAA2B,CAAC,IAAI;GAChD,CACE,CAAC,eAENwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,gBACGzC,CAAC,CAAC,aAAa,CAAC,IAAI,QAAQ,eAC7BwC,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAQsP,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACC,CAAC,EAAC;GAAK,CAC3B,CACA,CAAC,eACRzP,cAAA,CAAAC,aAAA,CAACyP,gCAAS;IACR9G,KAAK,EAAEiG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,KAAM;IAC5BN,QAAQ,EAAGhO,CAAC,IAAKgO,QAAQ,CAAC,OAAO,EAAEhO,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAE;IACnDgH,WAAW,EAAEpS,CAAC,CAAC,yBAAyB,CAAC,IAAI;GAC9C,CACE,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAQ2H,IAAI,EAAC,QAAQ;IAACmB,OAAO,EAAEoG,OAAQ;IAACtG,SAAS,EAAC;KAC/CrL,CAAC,CAAC,iBAAiB,CAAC,IAAI,OACnB,CAAC,eACTwC,cAAA,CAAAC,aAAA;IAAQ2H,IAAI,EAAC,QAAQ;IAACiB,SAAS,EAAC;KAC7BrL,CAAC,CAAC,kBAAkB,CAAC,IAAI,gBACpB,CACL,CACD,CACH,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAgBrL,CAAC,CAAC,oBAAoB,CAAC,IAAI,gBAAsB,CAAC,eACjFwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAgB,EAAA2F,gBAAA,GAAAjE,KAAK,CAAC9I,SAAS,cAAA+M,gBAAA,uBAAfA,gBAAA,CAAiBqB,YAAY,KAAI,EAAQ,CAAC,eACzE7P,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,eAAM,QAAO,CAAC,EACb,EAAAwO,iBAAA,GAAAlE,KAAK,CAAC9I,SAAS,cAAAgN,iBAAA,uBAAfA,iBAAA,CAAiBqB,WAAW,KAAI,6BAC9B,CAAC,eACN9P,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAmB,GAAM,CACrC,CAAC,eAGN7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAoB,CAAC,eAC7EwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ,EAAA6F,iBAAA,GAAAnE,KAAK,CAAC9I,SAAS,cAAAiN,iBAAA,uBAAfA,iBAAA,CAAiBqB,YAAY,KAAI,CAAC,EAAC,UACjC,CAAC,eACN/P,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAACzK,GAAG,CAAE4R,CAAC,iBACZhQ,cAAA,CAAAC,aAAA;IAAK4F,GAAG,EAAEmK,CAAE;IAACnH,SAAS,EAAC;KACpBjE,MAAM,CAACqL,YAAY,CAAC,EAAE,GAAGD,CAAC,CACxB,CACN,CAAC,eACFhQ,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAc,IAAO,CACjC,CACF,CACF,CACF,CACF,CAAC,EAGL8F,QACE,CACF,CACF,CAAC;AAEV,CAAC;;ACpID,MAAMuB,WAAW,GAAG1O,IAAA,IAOd;EAAA,IAAA2O,WAAA;EAAA,IANFpR,IAAI,GAAAyC,IAAA,CAAJzC,IAAI;IACJC,SAAS,GAAAwC,IAAA,CAATxC,SAAS;IACTiP,QAAQ,GAAAzM,IAAA,CAARyM,QAAQ;IACRhD,YAAY,GAAAzJ,IAAA,CAAZyJ,YAAY;IACZD,WAAW,GAAAxJ,IAAA,CAAXwJ,WAAW;IACXvJ,SAAS,GAAAD,IAAA,CAATC,SAAS;EAET,MAAAnE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAM4S,UAAU,GAAG,CAAArR,IAAI,aAAJA,IAAI,wBAAAoR,WAAA,GAAJpR,IAAI,CAAE4O,KAAK,cAAAwC,WAAA,uBAAXA,WAAA,CAAa/R,GAAG,CAAEiH,IAAI,KAAM;IAC3C,CAAC7H,CAAC,CAAC,qBAAqB,CAAC,GAAG6H,IAAI,CAACqH,iBAAiB;IAClD,CAAClP,CAAC,CAAC,mBAAmB,CAAC,GAAG6H,IAAI,CAACwH,WAAW;IAC1C,CAACrP,CAAC,CAAC,gBAAgB,CAAC,GAAG6H,IAAI,CAACzB,YAAY;IACxC,CAACpG,CAAC,CAAC,aAAa,CAAC,gBACbwC,cAAA,CAAAC,aAAA;MAAM4I,SAAS,uBAAqBxD,IAAI,CAAC4H;OACpCzP,CAAC,kBAAgB6H,IAAI,CAAC4H,MAAQ,CAC7B;GAEb,CAAC,CAAC,KAAI,EAAE;EAET,oBACIjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,CAACiM,6BAAM;IAACrD,SAAS,EAAC;KAASrL,CAAC,CAAC,mBAAmB,CAAU,CAAC,eAC3DwC,cAAA,CAAAC,aAAA,CAACoQ,mBAAI;IAACC,EAAE,EAAKtF,WAAW;kBACpBhL,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IAAC7Q,KAAK,EAAElC,CAAC,CAAC,iBAAiB;GAAI,CACvC,CACL,CAAC,eAENwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,CAACsB,WAAW;IAACE,SAAS,EAAEA;GAAY,CACnC,CAAC,eAENzB,cAAA,CAAAC,aAAA,CAACsO,cAAc;IACXN,QAAQ,EAAEA,QAAS;IACnBhD,YAAY,EAAEA;GACjB,CAAC,eAEFjL,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACV7J,SAAS,gBACNgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC,GACV,CAAAkG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEvQ,MAAM,IAAG,CAAC,gBACtBG,cAAA,CAAAC,aAAA,CAACuQ,kCAAW;IACRzR,IAAI,EAAEqR,UAAW;IACjB5S,CAAC,EAAEA,CAAE;IACLiT,mBAAmB,EAAEjT,CAAC,CAAC,qBAAqB,CAAE;IAC9CkT,UAAU,EAAK1F,WAAW;GAC7B,CAAC,gBAEFhL,cAAA,CAAAC,aAAA,CAACkK,2BAAI,QACA3M,CAAC,CAAC,mBAAmB,CAAC,CAClBqH,KAAK,CAAC,KAAK,CAAC,CACZzG,GAAG,CAAC,CAACuS,IAAI,EAAEC,KAAK,kBACb5Q,cAAA,CAAAC,aAAA;IAAG4F,GAAG,EAAE+K,KAAM;IAAC9G,KAAK,EAAE;MAAE+G,SAAS,EAAE;;KAC9BF,IACF,CACN,CACH,CAET,CACJ,CAAC;AAEd,CAAC;;;ACtED,AAIA,MAAMG,MAAM,GAAGtP,IAAA,IAA4F;EAAA,IAAzFyJ,YAAY,GAAAzJ,IAAA,CAAZyJ,YAAY;IAAE+C,cAAc,GAAAxM,IAAA,CAAdwM,cAAc;IAAED,mBAAmB,GAAAvM,IAAA,CAAnBuM,mBAAmB;IAAEgD,AAA0BxG,KAAK,GAAAC,6BAAA,CAAAhJ,IAAA,EAAAiJ,WAAA;EAClG,MAAAnN,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAAkE,SAAA,GAAyCC,cAAQ,CAAC,MAAAiN,QAAA,KAAY3D,YAAY,CAAG,CAAC;IAAvE4D,aAAa,GAAAnN,SAAA;IAAEoN,eAAe,GAAApN,SAAA;EAErC,MAAMsP,iBAAiB,GAAGA,MAAM;IAC9BhD,cAAc,CAACa,aAAa,CAAC;GAC9B;EAED,MAAMoC,QAAQ,GAAGA,MAAM;IACrBnC,eAAe,CAAAF,QAAA,KAAMb,mBAAmB,CAAE,CAAC;IAC3CC,cAAc,CAAAY,QAAA,KAAMb,mBAAmB,CAAE,CAAC;GAC3C;EAED,MAAMmD,cAAc,GAAItI,KAAK,IAAK;IAChC,MAAMuI,SAAS,GAAAvC,QAAA,KAAQC,aAAa;MAAE5B,MAAM,EAAErE;MAAO;IACrDkG,eAAe,CAACqC,SAAS,CAAC;IAC1BnD,cAAc,CAACmD,SAAS,CAAC;GAC1B;EAED,oBACEnR,cAAA,CAAAC,aAAA,CAACmR,iCAAU;IACTnC,QAAQ,EAAE+B,iBAAkB;IAC5BK,YAAY,EAAGC,EAAE,IAAMvQ,CAAC,IAAK;MAC3BA,CAAC,IAAIA,CAAC,CAACmO,cAAc,EAAE;MACvBoC,EAAE,EAAE;KACJ;IACFC,iBAAiB,EAAEN,QAAS;IAC5BO,EAAE,EAAC,kBAAkB;IACrBC,qCAAqC,EAAElH,KAAK,CAACmH;kBAE7C1R,cAAA,CAAAC,aAAA,CAAC0R,sCAAe,qBACd3R,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,cAAc;IAACiB,KAAK,EAAE;MAAE8H,UAAU,EAAE;;KAChDpU,CAAC,CAAC,aAAa,CAAC,EAAC,GACf,CAAC,eACNwC,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;IACPC,MAAM,EAAE,CACN;MAAEpS,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAC;MAAEoL,KAAK,EAAE;KAAI,EAC1C;MAAElJ,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;MAAEoL,KAAK,EAAE;KAAU,EACnD;MAAElJ,KAAK,EAAElC,CAAC,CAAC,qBAAqB,CAAC;MAAEoL,KAAK,EAAE;KAAiB,CAC3D;IACFmJ,SAAS,EAAC,OAAO;IACjBC,MAAM,EAAEd,cAAe;IACvBe,QAAQ,EAAE,CAAApD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE5B,MAAM,KAAI;MAAEvN,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAC;MAAEoL,KAAK,EAAE;;GAC1E,CACc,CACP,CAAC;AAEjB,CAAC;;ACpDM,MAAMsJ,YAAY,GAAG;EAC1BC,OAAO,EAAE;IACPC,qBAAqB,EAAE,OAAO;IAC9BC,kBAAkB,EAAE,OAAO;IAC3BC,YAAY,EAAE,MAAM;IACpBC,aAAa,EAAE,MAAM;IACrBC,mBAAmB,EAAE,OAAO;IAC5BC,wBAAwB,EAAE,MAAM;IAChCC,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE,EAAE;IACfC,mBAAmB,EAAE;GACtB;EAEDC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,GAAG;IACnBC,gBAAgB,EAAE,EAAE;IACpBC,mBAAmB,EAAE,EAAE;IACvBC,YAAY,EAAE,GAAG;IACjBC,gBAAgB,EAAE,EAAE;IACpBC,eAAe,EAAE,UAAU;IAC3BC,SAAS,EAAE,CAAC;IACZC,eAAe,EAAE;GAClB;EAEDC,MAAM,EAAE,CACN;IACEC,KAAK,EAAE,uCAAuC;IAC9CC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,iCAAiC;IACxCC,QAAQ,EAAE,QAAQ;IAClBC,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,wCAAwC;IAC/CC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,yCAAyC;IAChDC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,CACF;EAEDC,WAAW,EAAE,CACX;IACED,QAAQ,EAAE,aAAa;IACvBE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,eAAe;IACzBE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,gBAAgB;IAC1BE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,qBAAqB;IAC/BE,SAAS,EAAE;GACZ,CACF;EAEDC,UAAU,EAAE,CACV;IACEnU,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,OAAO;IAClBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,OAAO;IAClBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,EACD;IACEhD,KAAK,EAAE,KAAK;IACZ8C,SAAS,EAAE,OAAO;IAClBC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;GACX,CACF;EAEDoR,YAAY,EAAE,CACZ;IACEpU,KAAK,EAAE,SAAS;IAChBqU,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,EACD;IACEtU,KAAK,EAAE,UAAU;IACjBqU,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,EACD;IACEtU,KAAK,EAAE,UAAU;IACjBqU,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,CACF;EAEDC,kBAAkB,EAAE,CAClB;IACEvU,KAAK,EAAE,SAAS;IAChB8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE;GACV,EACD;IACE/C,KAAK,EAAE,UAAU;IACjB8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE;GACV,EACD;IACE/C,KAAK,EAAE,UAAU;IACjB8C,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE;GACV,CACF;EAEDyR,iBAAiB,EAAE,CACjB;IACExU,KAAK,EAAE,SAAS;IAChBgD,QAAQ,EAAE,KAAK;IACfyR,OAAO,EAAE;GACV,EACD;IACEzU,KAAK,EAAE,UAAU;IACjBgD,QAAQ,EAAE,KAAK;IACfyR,OAAO,EAAE;GACV,EACD;IACEzU,KAAK,EAAE,UAAU;IACjBgD,QAAQ,EAAE,KAAK;IACfyR,OAAO,EAAE;GACV,CACF;EAEDC,OAAO,EAAE,CACP;IACE5C,EAAE,EAAE,CAAC;IACLxP,IAAI,EAAE,SAAS;IAEfqS,mBAAmB,EAAE,MAAM;IAE3BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhB9R,OAAO,EAAE,MAAM;IAEfC,QAAQ,EAAE,KAAK;IAEf8R,cAAc,EAAE,OAAO;IAEvB7B,WAAW,EAAE,EAAE;IAEf8B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,CAAC;IAExGC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,CACF;IAEDqS,KAAK,EAAE,CACL;MACEhB,MAAM,EAAE,SAAS;MACjBL,QAAQ,EAAE,aAAa;MACvBsB,OAAO,EAAE,mBAAmB;MAE5BX,mBAAmB,EAAE,MAAM;MAE3BjV,QAAQ,EAAE,QAAQ;MAElB6V,SAAS,EAAE,mBAAmB;MAE9BC,oBAAoB,EAAE,sBAAsB;MAE5CC,WAAW,EAAE,IAAI;MAEjBC,yBAAyB,EAAE,IAAI;MAE/BC,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE,KAAK;MAErBe,yBAAyB,EAAE;KAC5B,EAED;MACExB,MAAM,EAAE,SAAS;MACjBL,QAAQ,EAAE,aAAa;MAEvBsB,OAAO,EAAE,QAAQ;MAEjBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,KAAK;MAEnBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,qBAAqB;MAE/BsB,OAAO,EAAE,cAAc;MAEvBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,eAAe;MAErCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,mBAAmB;MAE7BsB,OAAO,EAAE,kBAAkB;MAE3BX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,wBAAwB;MAEnCC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,gBAAgB;MAE1BsB,OAAO,EAAE,WAAW;MAEpBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,oBAAoB;MAE/BC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,KAAK;MAEnBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,kBAAkB;MAE5BsB,OAAO,EAAE,gBAAgB;MAEzBX,mBAAmB,EAAE,MAAM;MAE3BjV,QAAQ,EAAE,QAAQ;MAElB6V,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB;GAEJ,EAED;IACEhD,EAAE,EAAE,CAAC;IAELxP,IAAI,EAAE,UAAU;IAEhBqS,mBAAmB,EAAE,OAAO;IAE5BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhB9R,OAAO,EAAE,MAAM;IAEfC,QAAQ,EAAE,KAAK;IAEf8R,cAAc,EAAE,OAAO;IAEvB7B,WAAW,EAAE,EAAE;IAEf8B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,gBAAgB,CAAC;IAEhEC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,CACF;IAEDqS,KAAK,EAAE,CACL;MACEhB,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBsB,OAAO,EAAE,sBAAsB;MAE/BX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,sBAAsB;MAEjCC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBsB,OAAO,EAAE,mBAAmB;MAE5BX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,mBAAmB;MAE9BC,oBAAoB,EAAE,eAAe;MAErCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,kCAAkC;MAE5CsB,OAAO,EAAE,YAAY;MAErBX,mBAAmB,EAAE,MAAM;MAE3BjV,QAAQ,EAAE,QAAQ;MAElB6V,SAAS,EAAE,WAAW;MAEtBC,oBAAoB,EAAE,iBAAiB;MAEvCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,gBAAgB;MAE1BsB,OAAO,EAAE,gBAAgB;MAEzBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,WAAW;MAEtBC,oBAAoB,EAAE,qBAAqB;MAE3CG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,gBAAgB;MAE1BsB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB;GAEJ,EAED;IACEhD,EAAE,EAAE,CAAC;IAELxP,IAAI,EAAE,UAAU;IAEhBqS,mBAAmB,EAAE,MAAM;IAE3BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhB9R,OAAO,EAAE,KAAK;IAEdC,QAAQ,EAAE,KAAK;IAEf8R,cAAc,EAAE,OAAO;IAEvB7B,WAAW,EAAE,EAAE;IAEf8B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;IAEtFC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE;KACX,EACD;MACEoS,GAAG,EAAE,KAAK;MACVtS,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE;KACX,CACF;IAEDqS,KAAK,EAAE,CACL;MACEhB,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBsB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,kBAAkB;MAExCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBsB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,qBAAqB;MAE3CG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BsB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,iBAAiB;MAEvCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BsB,OAAO,EAAE,cAAc;MAEvBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,cAAc;MAEzBC,oBAAoB,EAAE,kBAAkB;MAExCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEfd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BsB,OAAO,EAAE,eAAe;MAExBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,eAAe;MAE1BC,oBAAoB,EAAE,OAAO;MAE7BG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB,EAED;MACET,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BsB,OAAO,EAAE,OAAO;MAEhBX,mBAAmB,EAAE,KAAK;MAE1BjV,QAAQ,EAAE,OAAO;MAEjB6V,SAAS,EAAE,oBAAoB;MAE/BC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdd,cAAc,EAAE;KACjB;GAEJ;AAEL,CAAC;;ACluBD,MAAMgB,kBAAkB,GAAGhU,IAAA,IAAmB;EAAA,IAAAiU,SAAA,GAAAjU,IAAA,CAAhBzC,IAAI;IAAJA,IAAI,GAAA0W,SAAA,cAAG,EAAE,GAAAA,SAAA;EACrC,MAAMC,aAAa,GAAG3W,IAAI,CAACX,GAAG,CAAEiH,IAAI,IAAAuJ,QAAA,KAC/BvJ,IAAI;IAEPsQ,SAAS,EAAEtQ,IAAI,CAAC7C,SAAS,IAAI,CAAC;IAE9BoT,OAAO,EAAE9O,IAAI,CAACC,KAAK,CAAC,CAAC1B,IAAI,CAAC7C,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC;IAEjDqT,QAAQ,EAAE,CAACxQ,IAAI,CAAC7C,SAAS,IAAI,CAAC,IAAIsE,IAAI,CAACC,KAAK,CAAC,CAAC1B,IAAI,CAAC7C,SAAS,IAAI,CAAC,IAAI,IAAI;IACzE,CAAC;EAEH,oBACExC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAAC6V,4BAAmB;IAAC9M,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjJ,cAAA,CAAAC,aAAA,CAAC8V,kBAAS;IACRhX,IAAI,EAAE2W,aAAc;IACpBM,MAAM,EAAE;MACNC,GAAG,EAAE,EAAE;MACPC,KAAK,EAAE,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAE;;kBAGVpW,cAAA,CAAAC,aAAA,CAACoW,sBAAa;IAACjN,MAAM,EAAC,SAAS;IAACkN,eAAe,EAAC,KAAK;IAACC,QAAQ,EAAE;GAAQ,CAAC,eAEzEvW,cAAA,CAAAC,aAAA,CAACuW,cAAK;IACJC,OAAO,EAAC,OAAO;IACfC,QAAQ,EAAE,KAAM;IAChBC,QAAQ,EAAE,KAAM;IAChBC,IAAI,EAAE;MACJzN,IAAI,EAAE,SAAS;MACf0N,QAAQ,EAAE,EAAE;MACZjF,UAAU,EAAE;;GAEf,CAAC,eAEF5R,cAAA,CAAAC,aAAA,CAAC6W,cAAK;IACJJ,QAAQ,EAAE,KAAM;IAChBC,QAAQ,EAAE,KAAM;IAChBC,IAAI,EAAE;MACJzN,IAAI,EAAE,SAAS;MACf0N,QAAQ,EAAE;;GAEb,CAAC,eAEF7W,cAAA,CAAAC,aAAA,CAAC8W,gBAAO;IACNC,MAAM,EAAE;MACN5N,MAAM,EAAE,SAAS;MACjBC,WAAW,EAAE;KACb;IACF4N,YAAY,EAAE;MACZlN,UAAU,EAAE,SAAS;MACrBmN,MAAM,EAAE,mBAAmB;MAC3BC,YAAY,EAAE,EAAE;MAChBC,SAAS,EAAE;KACX;IACFC,UAAU,EAAE;MACV1O,KAAK,EAAE,SAAS;MAChBiJ,UAAU,EAAE,GAAG;MACf0F,YAAY,EAAE;;GAEjB,CAAC,eAEFtX,cAAA,CAAAC,aAAA,CAACsX,eAAM;IACLC,aAAa,EAAC,KAAK;IACnBC,KAAK,EAAC,OAAO;IACbC,QAAQ,EAAC,QAAQ;IACjBC,YAAY,EAAE;MACZC,aAAa,EAAE,EAAE;MACjBjP,KAAK,EAAE,SAAS;MAChBiJ,UAAU,EAAE;;GAEf,CAAC,eAIF5R,cAAA,CAAAC,aAAA,CAAC4X,aAAI;IACHjQ,IAAI,EAAC,UAAU;IACf6O,OAAO,EAAC,UAAU;IAClBzU,IAAI,EAAC,YAAY;IACjBoH,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfyO,GAAG,EAAE,KAAM;IACXC,SAAS,EAAE;MACTtI,CAAC,EAAE;;GAEN,CAAC,eAIFzP,cAAA,CAAAC,aAAA,CAAC4X,aAAI;IACHjQ,IAAI,EAAC,UAAU;IACf6O,OAAO,EAAC,WAAW;IACnBzU,IAAI,EAAC,aAAa;IAClBoH,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfyO,GAAG,EAAE;MACHrI,CAAC,EAAE;KACH;IACFsI,SAAS,EAAE;MACTtI,CAAC,EAAE;;GAEN,CAAC,eAIFzP,cAAA,CAAAC,aAAA,CAAC4X,aAAI;IACHjQ,IAAI,EAAC,UAAU;IACf6O,OAAO,EAAC,SAAS;IACjBzU,IAAI,EAAC,WAAW;IAChBoH,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfyO,GAAG,EAAE;MACHrI,CAAC,EAAE;KACH;IACFsI,SAAS,EAAE;MACTtI,CAAC,EAAE;;GAEN,CACQ,CACQ,CAClB,CAAC;AAEV,CAAC;;ACzJD,MAAMuI,iBAAiB,GAAGxW,IAAA,IAAoD;EAAA,IAAAiU,SAAA,GAAAjU,IAAA,CAAjDzC,IAAI;IAAJA,IAAI,GAAA0W,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAwC,eAAA,GAAAzW,IAAA,CAAE0W,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAE,SAAA,GAAA3W,IAAA,CAAE4W,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA;EACrE,oBACEnY,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,YAAY;IAACiB,KAAK,EAAE;MAAEuO,SAAS,EAAE;;kBAC9CrY,cAAA,CAAAC,aAAA,CAAC6V,4BAAmB;IAAC9M,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjJ,cAAA,CAAAC,aAAA,CAACqY,iBAAQ;IAACvZ,IAAI,EAAEA,IAAK;IAACiX,MAAM,EAAE;MAAEC,GAAG,EAAE,EAAE;MAAEC,KAAK,EAAE,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,MAAM,EAAE;;kBACnEpW,cAAA,CAAAC,aAAA,CAACoW,sBAAa;IAACjN,MAAM,EAAC,2BAA2B;IAACkN,eAAe,EAAC;GAAO,CAAC,eAC1EtW,cAAA,CAAAC,aAAA,CAACuW,cAAK;IAACC,OAAO,EAAE2B,IAAK;IAAC1B,QAAQ,EAAE,KAAM;IAACC,QAAQ,EAAE,KAAM;IAACC,IAAI,EAAE;MAAEzN,IAAI,EAAE;;GAAc,CAAC,eACrFnJ,cAAA,CAAAC,aAAA,CAAC6W,cAAK;IAACJ,QAAQ,EAAE,KAAM;IAACC,QAAQ,EAAE,KAAM;IAACC,IAAI,EAAE;MAAEzN,IAAI,EAAE;;GAAc,CAAC,eACtEnJ,cAAA,CAAAC,aAAA,CAAC8W,gBAAO;IAACE,YAAY,EAAE;MAAElN,UAAU,EAAE,SAAS;MAAEmN,MAAM,EAAE,MAAM;MAAEC,YAAY,EAAE;KAAK;IAACoB,SAAS,EAAE;MAAE5P,KAAK,EAAE;;GAAc,CAAC,eACvH3I,cAAA,CAAAC,aAAA,CAACsX,eAAM;IAACC,aAAa,EAAC,KAAK;IAACC,KAAK,EAAC,OAAO;IAACC,QAAQ,EAAC,QAAQ;IAACC,YAAY,EAAE;MAAEhP,KAAK,EAAE;;GAAc,CAAC,EACjGuP,UAAU,CAAC9Z,GAAG,CAAC,CAACoa,MAAM,EAAE5H,KAAK,kBAC5B5Q,cAAA,CAAAC,aAAA,CAACwY,YAAG;IACF5S,GAAG,EAAE2S,MAAM,CAAC3S,GAAI;IAChB4Q,OAAO,EAAE+B,MAAM,CAAC3S,GAAI;IACpB7D,IAAI,EAAEwW,MAAM,CAACxW,IAAK;IAClBmH,IAAI,EAAEyH,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,SAAU;IAC1C8H,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAE;IACvBC,OAAO,EAAE;GACV,CACF,CACO,CACS,CAClB,CAAC;AAEV,CAAC;;ACxBD,MAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAEtE,MAAMC,iBAAiB,GAAGrX,IAAA,IAA0D;EAAA,IAAAiU,SAAA,GAAAjU,IAAA,CAAvDzC,IAAI;IAAJA,IAAI,GAAA0W,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAqD,YAAA,GAAAtX,IAAA,CAAEiV,OAAO;IAAPA,OAAO,GAAAqC,YAAA,cAAG,OAAO,GAAAA,YAAA;IAAAC,aAAA,GAAAvX,IAAA,CAAEwX,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,OAAO,GAAAA,aAAA;EAC3E,oBACE/Y,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,YAAY;IAACiB,KAAK,EAAE;MAAEuO,SAAS,EAAE;;kBAC9CrY,cAAA,CAAAC,aAAA,CAAC6V,4BAAmB;IAAC9M,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjJ,cAAA,CAAAC,aAAA,CAACgZ,iBAAQ,qBACPjZ,cAAA,CAAAC,aAAA,CAACiZ,YAAG;IAACna,IAAI,EAAEA,IAAK;IAAC0X,OAAO,EAAEA,OAAQ;IAAC0C,OAAO,EAAEH,QAAS;IAACzJ,EAAE,EAAC,KAAK;IAACC,EAAE,EAAC,KAAK;IAAC4J,WAAW,EAAE,GAAI;IAACC,WAAW,EAAE,EAAG;IAACC,YAAY,EAAE,CAAE;IAAC5Z,KAAK,EAAE;MAAEyJ,IAAI,EAAE,SAAS;MAAE0N,QAAQ,EAAE;;KAC7J9X,IAAI,CAACX,GAAG,CAAC,CAACmb,KAAK,EAAE3I,KAAK,kBACrB5Q,cAAA,CAAAC,aAAA,CAACmM,aAAI;IAACvG,GAAG,YAAU+K,KAAQ;IAACzH,IAAI,EAAEyP,MAAM,CAAChI,KAAK,GAAGgI,MAAM,CAAC/Y,MAAM;GAAI,CACnE,CACE,CAAC,eACNG,cAAA,CAAAC,aAAA,CAAC8W,gBAAO;IAACE,YAAY,EAAE;MAAElN,UAAU,EAAE,SAAS;MAAEmN,MAAM,EAAE,MAAM;MAAEC,YAAY,EAAE,EAAE;MAAExO,KAAK,EAAE;;GAAc,CAAC,eACxG3I,cAAA,CAAAC,aAAA,CAACsX,eAAM;IAACC,aAAa,EAAC,QAAQ;IAACC,KAAK,EAAC,QAAQ;IAACC,QAAQ,EAAC,QAAQ;IAACC,YAAY,EAAE;MAAEhP,KAAK,EAAE,SAAS;MAAE6Q,SAAS,EAAE;;GAAO,CAC5G,CACS,CAClB,CAAC;AAEV,CAAC;;ACHD,MAAMC,YAAY,GAAGA,MAAM;EAAA,IAAAC,kBAAA;EACzB,MAAMtO,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAMjM,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAAjY,SAAA,GAA0BC,cAAQ,CAAC,EAAE,CAAC;IAA/BiY,KAAK,GAAAlY,SAAA;IAAEmY,QAAQ,GAAAnY,SAAA;EACtB,MAAAoY,UAAA,GAAwCnY,cAAQ,CAAC,KAAK,CAAC;IAAhDoY,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EAEpC,MAAMG,QAAQ,GAAG7a,QAAQ,CAACC,QAAQ,CAAC2F,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;EAClE,MAAMkV,OAAO,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC;EAE/D,MAAM9F,OAAO,GAAG/R,aAAO,CAAC,MAAM6P,YAAY,CAACkC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC;EAC7D,MAAMjC,OAAO,GAAG9P,aAAO,CAAC,MAAM6P,YAAY,CAACC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC;EAC7D,MAAM0B,UAAU,GAAGxR,aAAO,CAAC,MAAM6P,YAAY,CAAC2B,UAAU,IAAI,EAAE,EAAE,EAAE,CAAC;EACnE,MAAMC,YAAY,GAAGzR,aAAO,CAAC,MAAM6P,YAAY,CAAC4B,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;EACvE,MAAMG,kBAAkB,GAAG5R,aAAO,CAAC,MAAM6P,YAAY,CAAC+B,kBAAkB,IAAI,EAAE,EAAE,EAAE,CAAC;EAGnF,MAAMkG,eAAe,GAAG9X,aAAO,CAAC,MAAM;IACpC,OAAO+R,OAAO,CACX7O,MAAM,CAAE6U,MAAM,IAAK;MAClB,IAAIL,YAAY,KAAK,eAAe,EAAE,OAAOK,MAAM,CAACzH,WAAW,GAAG,EAAE;MACpE,IAAIoH,YAAY,KAAK,WAAW,EAAE,OAAOK,MAAM,CAAC3X,OAAO,GAAG,KAAK;MAC/D,IAAIsX,YAAY,KAAK,QAAQ,EAAE,OAAOK,MAAM,CAACzH,WAAW,IAAI,EAAE;MAC9D,OAAO,IAAI;KACZ,CAAC,CACDpN,MAAM,CAAE6U,MAAM,IAAK;MAClB,IAAI,CAACR,KAAK,EAAE,OAAO,IAAI;MACvB,MAAMS,OAAO,GAAGT,KAAK,CAAC7U,WAAW,EAAE;MACnC,OACEqV,MAAM,CAACpY,IAAI,CAAC+C,WAAW,EAAE,CAACzF,QAAQ,CAAC+a,OAAO,CAAC,IAC3CD,MAAM,CAACxF,aAAa,CAAC0F,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACxV,WAAW,EAAE,CAACzF,QAAQ,CAAC+a,OAAO,CAAC,CAAC,IACzED,MAAM,CAACrF,KAAK,CAACuF,IAAI,CAAEC,IAAI;QAAA,IAAAC,cAAA;QAAA,QAAAA,cAAA,GAAKD,IAAI,CAACnb,QAAQ,cAAAob,cAAA,uBAAbA,cAAA,CAAezV,WAAW,EAAE,CAACzF,QAAQ,CAAC+a,OAAO,CAAC;QAAC;KAE9E,CAAC;GACL,EAAE,CAACjG,OAAO,EAAEwF,KAAK,EAAEG,YAAY,CAAC,CAAC;EAElC,MAAMU,QAAQ,GAAGpY,aAAO,CAAC,MAAM;IAC7B,OAAO+R,OAAO,CACXsG,OAAO,CAAEN,MAAM,IAAKA,MAAM,CAACrF,KAAK,CAAC3W,GAAG,CAAEmc,IAAI,IAAA3L,QAAA,KAAW2L,IAAI;MAAExG,MAAM,EAAEqG,MAAM,CAACpY;MAAO,CAAC,CAAC,CACnFuD,MAAM,CAAEiH,GAAG,IAAKA,GAAG,CAACpN,QAAQ,CAAC,CAC7Bub,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACA,CAAC,CAACxF,YAAY,IAAI,CAAC,KAAKuF,CAAC,CAACvF,YAAY,IAAI,CAAC,CAAC,CAAC;GACjE,EAAE,CAACjB,OAAO,CAAC,CAAC;EAEb,MAAMd,MAAM,GAAG,CACb,kEAAkE,EAClE,kEAAkE,EAClE,gEAAgE,EAChE,iEAAiE,CAClE;EAED,MAAMwH,aAAa,GAAIC,QAAQ,IAAK;IAClC3P,OAAO,CAAC3L,IAAI,CAAIwa,QAAQ,iBAAYc,QAAU,CAAC;GAChD;EAED,oBACE/a,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;KAChB,CACC;IACE0K,KAAK,EAAE,yBAAyB;IAChC3K,KAAK,EAAEuJ,OAAO,CAACC,qBAAqB;IACpC4I,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE,CAAC;IACjBC,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,sBAAsB;IAC7B3K,KAAK,EAAEuJ,OAAO,CAACE,kBAAkB;IACjC2I,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE,CAAC;IACvBD,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,eAAe;IACtB3K,KAAK,EAAEuJ,OAAO,CAACG,YAAY;IAC3B0I,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACmb,UAAO,MAAE,CAAC;IACjBF,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,gBAAgB;IACvB3K,KAAK,EAAEuJ,OAAO,CAACI,aAAa;IAC5ByI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC;IAC/BH,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,uBAAuB;IAC9B3K,KAAK,EAAEuJ,OAAO,CAACK,mBAAmB;IAClCwI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACqb,YAAS,MAAE,CAAC;IACnBJ,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,6BAA6B;IACpC3K,KAAK,EAAEuJ,OAAO,CAACM,wBAAwB;IACvCuI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE,CAAC;IACjBC,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,cAAc;IACrB3K,KAAK,EAAEuJ,OAAO,CAACO,UAAU;IACzBsI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACsb,cAAW,MAAE,CAAC;IACrBL,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,cAAc;IACrB3K,KAAK,EAAKuJ,OAAO,CAACQ,WAAW,MAAG;IAChCqI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE,CAAC;IACvBD,OAAO,EAAE;GACV,EACD;IACE3H,KAAK,EAAE,sBAAsB;IAC7B3K,KAAK,EAAKuJ,OAAO,CAACS,mBAAmB,MAAG;IACxCoI,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC;IAC/BH,OAAO,EAAE;GACV,CACF,CAAC9c,GAAG,CAAEod,IAAI;IAAA,IAAAC,qBAAA,EAAAC,WAAA,EAAAC,sBAAA;IAAA,oBACT3b,cAAA,CAAAC,aAAA;MAAS4F,GAAG,EAAE2V,IAAI,CAACjI,KAAM;MAAC1K,SAAS,qBAAmB2S,IAAI,CAACN;oBACzDlb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAY2S,IAAI,CAACR,IAAU,CAAC,eAC3Chb,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;MAAG4I,SAAS,EAAC;OAAa2S,IAAI,CAACjI,KAAS,CAAC,eACzCvT,cAAA,CAAAC,aAAA,cAAAwb,qBAAA,IAAAC,WAAA,GAAKF,IAAI,CAAC5S,KAAK,cAAA8S,WAAA,wBAAAC,sBAAA,GAAVD,WAAA,CAAYE,cAAc,cAAAD,sBAAA,uBAA1BA,sBAAA,CAAAE,IAAA,CAAAH,WAA6B,CAAC,YAAAD,qBAAA,GAAID,IAAI,CAAC5S,KAAU,CACnD,CACE,CAAC;GACX,CACM,CAAC,eAEV5I,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,6BAA+B,CAAC,eACpCD,cAAA,CAAAC,aAAA,YAAG,iFAAkF,CAClF,CAAC,eACND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAAC6b,WAAQ,MAAE,CAAC,eACZ9b,cAAA,CAAAC,aAAA;IAAO2H,IAAI,EAAC,MAAM;IAACgI,WAAW,EAAC,uCAAuC;IAAChH,KAAK,EAAEgR,KAAM;IAAC7K,QAAQ,EAAGhO,CAAC,IAAK8Y,QAAQ,CAAC9Y,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;GAAI,CAC9H,CAAC,eACN5I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZqR,OAAO,CAAC9b,GAAG,CAAE6O,MAAM,iBAClBjN,cAAA,CAAAC,aAAA;IAAQ4F,GAAG,EAAEoH,MAAO;IAACpE,SAAS,oBAAiBkR,YAAY,KAAK9M,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAG;IAAClE,OAAO,EAAEA,MAAMiR,eAAe,CAAC/M,MAAM;KAC5HA,MACK,CACT,CACE,CACF,CACF,CAAC,eAENjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZsR,eAAe,CAAC/b,GAAG,CAAEgc,MAAM,iBAC1Bpa,cAAA,CAAAC,aAAA;IAAK4F,GAAG,EAAEuU,MAAM,CAAC5I,EAAG;IAAC3I,SAAS,EAAC,wBAAwB;IAACE,OAAO,EAAEA,MAAM+R,aAAa,CAACV,MAAM,CAAC5I,EAAE;kBAC5FxR,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAG4I,SAAS,EAAC;KAAeuR,MAAM,CAACpY,IAAQ,CAAC,eAC5ChC,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAAC/F,mBAAmB,CAACuH,cAAc,EAAO,CAAC,eACtD5b,cAAA,CAAAC,aAAA;IAAG4I,SAAS,EAAC;KAAkB,8BAA4B,EAACuR,MAAM,CAACxF,aAAa,CAAC/U,MAAM,EAAC,kBAAmB,CACxG,CAAC,eACNG,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAyBuR,MAAM,CAAC3F,QAAQ,EAAC,GAAM,CAC3D,CAAC,eACNzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,eAAe;IAACiB,KAAK,EAAE;MAAEd,KAAK,EAAKoR,MAAM,CAAC3F,QAAQ;;GAAQ,CACtE,CAAC,eACNzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASma,MAAM,CAAC9F,aAAa,CAACsH,cAAc,EAAW,CAAC,eACxD5b,cAAA,CAAAC,aAAA,eAAM,aAAiB,CACpB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASma,MAAM,CAAC7F,QAAQ,CAACqH,cAAc,EAAW,CAAC,eACnD5b,cAAA,CAAAC,aAAA,eAAM,WAAe,CAClB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASma,MAAM,CAAC3X,OAAO,CAACmZ,cAAc,EAAW,CAAC,eAClD5b,cAAA,CAAAC,aAAA,eAAM,SAAa,CAChB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASma,MAAM,CAAC1X,QAAQ,CAACkZ,cAAc,EAAW,CAAC,eACnD5b,cAAA,CAAAC,aAAA,eAAM,UAAc,CACjB,CACF,CAAC,eACND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,eAAOma,MAAM,CAACzF,eAAe,EAAC,YAAgB,CAAC,eAC/C3U,cAAA,CAAAC,aAAA,eAAOma,MAAM,CAAC1F,WAAW,EAAC,cAAkB,CAAC,eAC7C1U,cAAA,CAAAC,aAAA,eAAOma,MAAM,CAACxF,aAAa,CAACnP,IAAI,CAAC,IAAI,CAAQ,CAC1C,CAAC,eACNzF,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,eAAM,mBAAuB,CAAC,eAC9BD,cAAA,CAAAC,aAAA,CAAC8b,eAAY,MAAE,CACZ,CACF,CACN,CACE,CACE,CAAC,eAEV/b,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,kBAAoB,CAAC,eACzBD,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAgB,YAAgB,CAC7C,CAAC,eACN7I,cAAA,CAAAC,aAAA,CAACuV,kBAAkB;IAACzW,IAAI,EAAE8U,UAAW;IAAC4C,OAAO,EAAC,WAAW;IAACzU,IAAI,EAAC;GAAa,CACzE,CAAC,eAENhC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,qBAAuB,CAAC,eAC5BD,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAa,UAAc,CACxC,CAAC,eACN7I,cAAA,CAAAC,aAAA,CAAC+X,iBAAiB;IAChBjZ,IAAI,EAAE+U,YAAa;IACnBoE,UAAU,EAAE,CACV;MAAErS,GAAG,EAAE,QAAQ;MAAE7D,IAAI,EAAE;KAAU,EACjC;MAAE6D,GAAG,EAAE,SAAS;MAAE7D,IAAI,EAAE;KAAW;GAEtC,CACE,CAAC,eAENhC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,sBAAwB,CAAC,eAC7BD,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAgB,mBAAuB,CACpD,CAAC,eACN7I,cAAA,CAAAC,aAAA,CAAC4Y,iBAAiB;IAAC9Z,IAAI,EAAEkV,kBAAmB;IAACwC,OAAO,EAAC,WAAW;IAACuC,QAAQ,EAAC;GAAS,CAChF,CACE,CAAC,eAEVhZ,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAAC+b,iBAAc,MAAE,CAAC,6BAChB,CAAC,eACLhc,cAAA,CAAAC,aAAA,YAAG,mDAAoD,CACpD,CAAC,eACND,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC;KAAmB,kBAAwB,CAC1D,CAAC,eAEN7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,aAAI,QAAU,CAAC,eACfD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,aAAe,CAAC,eACpBD,cAAA,CAAAC,aAAA,aAAI,SAAW,CAAC,eAChBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CACd,CACC,CAAC,eACRD,cAAA,CAAAC,aAAA,gBACGwa,QAAQ,CAACwB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC7d,GAAG,CAAC,CAACmc,IAAI,EAAE3J,KAAK;IAAA,IAAAsL,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,oBAAA;IAAA,oBACrCvc,cAAA,CAAAC,aAAA;MAAI4F,GAAG,EAAK0U,IAAI,CAACxG,MAAM,SAAIwG,IAAI,CAACnb,QAAQ,SAAIwR;oBAC1C5Q,cAAA,CAAAC,aAAA,aAAKsa,IAAI,CAACxG,MAAW,CAAC,eACtB/T,cAAA,CAAAC,aAAA,aAAKsa,IAAI,CAACnb,QAAa,CAAC,eACxBY,cAAA,CAAAC,aAAA,aAAKsa,IAAI,CAAC7G,QAAQ,IAAI6G,IAAI,CAACvF,OAAY,CAAC,eACxChV,cAAA,CAAAC,aAAA,cAAAic,qBAAA,IAAAC,kBAAA,GAAK5B,IAAI,CAAClF,YAAY,cAAA8G,kBAAA,uBAAjBA,kBAAA,CAAmBP,cAAc,EAAE,YAAAM,qBAAA,GAAI,GAAQ,CAAC,eACrDlc,cAAA,CAAAC,aAAA,cAAAmc,qBAAA,IAAAC,cAAA,GAAK9B,IAAI,CAACjF,QAAQ,cAAA+G,cAAA,uBAAbA,cAAA,CAAeT,cAAc,EAAE,YAAAQ,qBAAA,GAAI,GAAQ,CAAC,eACjDpc,cAAA,CAAAC,aAAA,cAAAqc,qBAAA,IAAAC,oBAAA,GAAKhC,IAAI,CAAC/F,cAAc,cAAA+H,oBAAA,uBAAnBA,oBAAA,CAAqBX,cAAc,EAAE,YAAAU,qBAAA,GAAI,GAAQ,CAAC,eACvDtc,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA;MAAM4I,SAAS,EAAC;OACb/B,IAAI,CAAC0V,GAAG,CAAC,GAAG,EAAE1V,IAAI,CAACC,KAAK,CAAE,CAACwT,IAAI,CAACjF,QAAQ,IAAI,CAAC,IAAIxO,IAAI,CAAC2V,GAAG,CAAClC,IAAI,CAAClF,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC,GAAI,GAAG,CAAC,CAAC,EAAC,GAC3F,CACJ,CACF,CAAC;GACN,CACI,CACF,CACJ,CACE,CAAC,eAEVrV,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC,oBACvB,CACD,CAAC,eACNrb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZyK,MAAM,CAAClV,GAAG,CAAEgF,KAAK,iBAChBpD,cAAA,CAAAC,aAAA;IAAK4F,GAAG,EAAEzC,KAAM;IAACyF,SAAS,EAAC;kBACzB7I,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC,eACzBrb,cAAA,CAAAC,aAAA,YAAImD,KAAS,CACV,CACN,CACE,CACF,CAAC,eAENpD,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACqb,YAAS,MAAE,CAAC,2BACX,CACD,CAAC,eACNtb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,IAAM,CAAC,eACXD,cAAA,CAAAC,aAAA,YAAG,oBAAqB,CACrB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,KAAO,CAAC,eACZD,cAAA,CAAAC,aAAA,YAAG,kBAAmB,CACnB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,cAAAyZ,kBAAA,GAAKvH,OAAO,CAACuK,SAAS,cAAAhD,kBAAA,uBAAjBA,kBAAA,CAAmBkC,cAAc,EAAO,CAAC,eAC9C5b,cAAA,CAAAC,aAAA,YAAG,sBAAuB,CACvB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAKkS,OAAO,CAACQ,WAAW,EAAC,GAAK,CAAC,eAC/B3S,cAAA,CAAAC,aAAA,YAAG,wBAAyB,CACzB,CACF,CACF,CACE,CACN,CACF,CAAC;AAEV,CAAC;;AC3UM,MAAM0c,mBAAmB,aAAAnb,IAAA;EAAA,IAC5Bob,IAAI,GAAApb,IAAA,CAAJob,IAAI;IACJC,YAAY,GAAArb,IAAA,CAAZqb,YAAY;IACZC,UAAU,GAAAtb,IAAA,CAAVsb,UAAU;IACVlZ,YAAY,GAAApC,IAAA,CAAZoC,YAAY;IACZmZ,UAAU,GAAAvb,IAAA,CAAVub,UAAU;IACVC,cAAc,GAAAxb,IAAA,CAAdwb,cAAc;IACd1a,aAAa,GAAAd,IAAA,CAAbc,aAAa;IACb9E,CAAC,GAAAgE,IAAA,CAADhE,CAAC;EAAA,IACC;IACF,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;IACtD,MAAMqf,QAAQ,GAAGvf,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,UAAU,CAAC;IACrD,MAAMmf,OAAO,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,OAAO,KAAI,EAAE;IACvC,MAAMC,UAAU,GAAGD,OAAO,CAACE,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAAC/e,IAAI,KAAKb,QAAQ,CAAC;IAErE,MAAM6f,UAAU,GAAI3M,IAAI,IACpBA,IAAI,IAAIA,IAAI,CAAC4M,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAACrY,WAAW,EAAE,GAAGyL,IAAI,CAAC4M,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAMC,QAAQ,GAAIC,GAAG,IACjBA,GAAG,IACHA,GAAG,CACE1Y,WAAW,EAAE,CACbF,KAAK,CAAC,GAAG,CAAC,CACVzG,GAAG,CAACkf,UAAU,CAAC,CACf7X,IAAI,CAAC,GAAG,CAAC;IAElB,MAAMzD,IAAI,GAAG,iBAAiB;IAC9B,MAAM0b,KAAK,GAAG,8BAA8B;IAC5C,MAAMC,WAAW,GAAG,iBAAiB;IAErC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAC9B,MAAMC,aAAa,GAAGF,WAAW,CAACG,kBAAkB,CAAC,OAAO,EAAE;MAC1DjJ,GAAG,EAAE,SAAS;MACdkJ,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAE;KACT,CAAC;IACF,MAAMC,aAAa,GAAGN,WAAW,CAACO,kBAAkB,CAAC,OAAO,EAAE;MAC1DC,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;KACX,CAAC;IACF,MAAMC,gBAAgB,GAAMV,aAAa,SAAII,aAAe;IAE5D,MAAMO,YAAY,GAAI3Y,GAAG,IAAKA,GAAG,KAAK4Y,SAAS,IAAI5Y,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE;IAE7E,MAAM6Y,OAAO,GAAG,CACZ;MACIpL,KAAK,EAAE/V,CAAC,CAAC,kBAAkB,CAAC;MAC5BohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,eAAe,CAAC;QAAEoL,KAAK,EAAEiU;OAAc,EAClD;QAAEtJ,KAAK,EAAE/V,CAAC,CAAC,eAAe,CAAC;QAAEoL,KAAK,EAAEhF;OAAc,EAClD;QAAE2P,KAAK,EAAE/V,CAAC,CAAC,aAAa,CAAC;QAAEoL,KAAK,EAAEmU;OAAY,EAC9C;QAAExJ,KAAK,EAAE/V,CAAC,CAAC,iBAAiB,CAAC;QAAEoL,KAAK,EAAEoU;OAAgB,CACzD,CAACzX,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,EACD;MACI2K,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAC;MAC9BohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,gBAAgB,CAAC;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,KAAK,KAAI;OAAG,EAChE;QAAEgR,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,SAAS,KAAI;OAAG,EAC/D;QAAE+Q,KAAK,EAAE/V,CAAC,CAAC,SAAS,CAAC;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,OAAO,KAAI;OAAG,EAC3D;QAAE8Q,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwc,cAAc,KAAI;OAAG,CACvE,CAACvZ,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,CACJ;IAED,IACIzJ,MAAM,CAACzB,KAAK,IACZyB,MAAM,CAACzB,KAAK,CAACqhB,KAAK,IAClB5f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,IACtB7f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,EAC/C;MACE9f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,CAAC;QAC1CxhB,QAAQ;QACRyhB,IAAI,EAAE,IAAI;QACVld,IAAI;QACJ0b,KAAK;QACLC,WAAW;QACXwB,OAAO,EAAE3hB,CAAC,CAAC,sBAAsB,CAAC;QAClCmhB,OAAO;QACPjS,iBAAiB,EAAEoQ,UAAU;QAC7BF,IAAI;QACJpf,CAAC;QACD4hB,qBAAqB,EAAE,IAAI;QAC3BC,YAAY,EAAEb;OACjB,CAAC;KACL,MAAM;MACHpY,OAAO,CAACD,KAAK,CAAC,yDAAyD,CAAC;;IAC3E,OAAAtD,OAAA,CAAAC,OAAA;GACJ,QAAA/B,CAAA;IAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;AAAA;AAGD,AAAO,MAAMue,qBAAqB,aAAAjT,KAAA;EAAA,IAC9BuQ,IAAI,GAAAvQ,KAAA,CAAJuQ,IAAI;IACJI,cAAc,GAAA3Q,KAAA,CAAd2Q,cAAc;IACdpZ,YAAY,GAAAyI,KAAA,CAAZzI,YAAY;IACZmZ,UAAU,GAAA1Q,KAAA,CAAV0Q,UAAU;IACVza,aAAa,GAAA+J,KAAA,CAAb/J,aAAa;IACb9E,CAAC,GAAA6O,KAAA,CAAD7O,CAAC;EAAA,IACC;IACF,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;IAEtD,MAAMoE,IAAI,GAAG,iBAAiB;IAC9B,MAAM0b,KAAK,GAAG,8BAA8B;IAC5C,MAAMC,WAAW,GAAG,iBAAiB;IAErC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAC9B,MAAMC,aAAa,GAAGF,WAAW,CAACG,kBAAkB,CAAC,OAAO,EAAE;MAC1DjJ,GAAG,EAAE,SAAS;MACdkJ,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAE;KACT,CAAC;IACF,MAAMC,aAAa,GAAGN,WAAW,CAACO,kBAAkB,CAAC,OAAO,EAAE;MAC1DC,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;KACX,CAAC;IACF,MAAMC,gBAAgB,GAAMV,aAAa,SAAII,aAAe;IAE5D,MAAMO,YAAY,GAAI3Y,GAAG,IAAKA,GAAG,KAAK4Y,SAAS,IAAI5Y,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE;IAE7E,MAAM6Y,OAAO,GAAG,CACZ;MACIpL,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;MACtDohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;QAAEoL,KAAK,EAAEoU;OAAgB,EAC3E;QAAEzJ,KAAK,EAAE/V,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;QAAEoL,KAAK,EAAEhF;OAAc,EACrE;QAAE2P,KAAK,EAAE/V,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;QAAEoL,KAAK,EAAEmU;OAAY,CAClE,CAACxX,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,EACD;MACI2K,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;MACtDohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,KAAK,KAAI;OAAG,EACpF;QAAEgR,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,SAAS,KAAI;OAAG,EAC9E;QAAE+Q,KAAK,EAAE/V,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,OAAO,KAAI;OAAG,EACxE;QAAE8Q,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwc,cAAc,KAAI;OAAG,CACtF,CAACvZ,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,CACJ;IAGD,MAAM2W,UAAU,GAAG3C,IAAI,CAACxe,GAAG,CAAEoO,GAAG;MAAA,IAAAgT,UAAA,EAAAC,WAAA;MAAA,OAAM;QAClClc,GAAG,EAAEiJ,GAAG,CAACxK,IAAI,MAAAwd,UAAA,GAAIhT,GAAG,CAACkT,KAAK,cAAAF,UAAA,uBAATA,UAAA,CAAWxd,IAAI,KAAI,KAAK;QACzCwB,SAAS,EAAE,EAAAic,WAAA,GAAAjT,GAAG,CAACkT,KAAK,cAAAD,WAAA,uBAATA,WAAA,CAAW7b,YAAY,KAAI4I,GAAG,CAACmT,QAAQ,IAAI,KAAK;QAC3Djc,QAAQ,EAAE,EAAE;QACZic,QAAQ,EAAEnT,GAAG,CAACS,MAAM,IAAI,KAAK;QAC7BhJ,QAAQ,EAAEW,MAAM,CAAC4H,GAAG,CAACjK,KAAK,IAAI,CAAC,CAAC;QAChCL,UAAU,GAAKsK,GAAG,CAAChK,SAAS,IAAI,CAAC,aAAMgK,GAAG,CAAC/J,OAAO,IAAI,CAAC,CAAE;QACzDmd,WAAW,EAAE,aAAa;QAC1BnL,QAAQ,EAAEjI,GAAG,CAACiI,QAAQ,IAAI;OAC7B;KAAC,CAAC;IAGH,MAAMoL,0BAA0B,GAAGhC,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB;IACpE,IAAIgC,aAAa,GAAG,CAAC;IACrBlC,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB,GAAG,YAAmB;MACnD,IAAIgC,aAAa,GAAGR,UAAU,CAAC1f,MAAM,EAAE;QACnC,OAAO0f,UAAU,CAACQ,aAAa,EAAE,CAAC,CAACtL,QAAQ,IAAI,IAAI;;MACtD,SAAAuL,IAAA,GAAAC,SAAA,CAAApgB,MAAA,EAH4CqgB,IAAI,OAAAhiB,KAAA,CAAA8hB,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;QAAJD,IAAI,CAAAC,IAAA,IAAAF,SAAA,CAAAE,IAAA;;MAIjD,OAAON,0BAA0B,CAACO,KAAK,CAAC,IAAI,EAAEF,IAAI,CAAC;KACtD;IAGD,MAAMG,OAAO,GAAIxa,GAAG,IAAK;MACrB,IAAIA,GAAG,KAAK,KAAK,EAAE,OAAOrI,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;MAC/D,IAAIqI,GAAG,KAAK,UAAU,EAAE,OAAOrI,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;MACpE,IAAIqI,GAAG,KAAK,QAAQ,EAAE,OAAOrI,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;MACpD,IAAIqI,GAAG,KAAK,MAAM,EAAE,OAAOrI,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;MACpF,IAAIqI,GAAG,KAAK,aAAa,EAAE,OAAOrI,CAAC,CAAC,mBAAmB,CAAC,IAAI,qBAAqB;MACjF,IAAIqI,GAAG,KAAK,gBAAgB,EAAE,OAAOrI,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;MAChF,IAAIqI,GAAG,KAAK,eAAe,EAAE,OAAOrI,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;MACrF,OAAOA,CAAC,CAACqI,GAAG,CAAC;KAChB;IAED,IAAI;MACA,IACI1G,MAAM,CAACzB,KAAK,IACZyB,MAAM,CAACzB,KAAK,CAACqhB,KAAK,IAClB5f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,IACtB7f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,EAC/C;QACE9f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,CAAC;UAC1CxhB,QAAQ;UACRyhB,IAAI,EAAE,IAAI;UACVld,IAAI;UACJ0b,KAAK;UACLC,WAAW;UACXwB,OAAO,EAAE3hB,CAAC,CAAC,wBAAwB,CAAC,IAAI,wBAAwB;UAChEmhB,OAAO;UACPjS,iBAAiB,EAAE9I,YAAY;UAC/BgZ,IAAI,EAAE2C,UAAU;UAChB/hB,CAAC,EAAE6iB,OAAO;UACVjB,qBAAqB,EAAE,IAAI;UAC3BC,YAAY,EAAEb;SACjB,CAAC;OACL,MAAM;QACHpY,OAAO,CAACD,KAAK,CAAC,yDAAyD,CAAC;;KAE/E,SAAS;MACN0X,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB,GAAG8B,0BAA0B;;IACjE,OAAAhd,OAAA,CAAAC,OAAA;GACJ,QAAA/B,CAAA;IAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;AAAA;AAED,AAAO,MAAMuf,iBAAiB,aAAA3T,KAAA;EAAA,IAC1BiQ,IAAI,GAAAjQ,KAAA,CAAJiQ,IAAI;IACJG,UAAU,GAAApQ,KAAA,CAAVoQ,UAAU;IACVnZ,YAAY,GAAA+I,KAAA,CAAZ/I,YAAY;IACZ8Z,KAAK,GAAA/Q,KAAA,CAAL+Q,KAAK;IACLpb,aAAa,GAAAqK,KAAA,CAAbrK,aAAa;IACb9E,CAAC,GAAAmP,KAAA,CAADnP,CAAC;EAAA,IACC;IACF,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;IAEtD,MAAMoE,IAAI,GAAG,iBAAiB;IAC9B,MAAMue,YAAY,GAAG,8BAA8B;IACnD,MAAM5C,WAAW,GAAG,iBAAiB;IAErC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAC9B,MAAMC,aAAa,GAAGF,WAAW,CAACG,kBAAkB,CAAC,OAAO,EAAE;MAC1DjJ,GAAG,EAAE,SAAS;MACdkJ,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAE;KACT,CAAC;IACF,MAAMC,aAAa,GAAGN,WAAW,CAACO,kBAAkB,CAAC,OAAO,EAAE;MAC1DC,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;KACX,CAAC;IACF,MAAMC,gBAAgB,GAAMV,aAAa,SAAII,aAAe;IAE5D,MAAMO,YAAY,GAAI3Y,GAAG,IAAKA,GAAG,KAAK4Y,SAAS,IAAI5Y,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE;IAE7E,MAAM6Y,OAAO,GAAG,CACZ;MACIpL,KAAK,EAAE/V,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;MAC9CohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;QAAEoL,KAAK,EAAEmU;OAAY,EAC/D;QAAExJ,KAAK,EAAE/V,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;QAAEoL,KAAK,EAAEhF;OAAc,EACrE;QAAE2P,KAAK,EAAE/V,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;QAAEoL,KAAK,EAAE8U;OAAO,CACjD,CAACnY,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,EACD;MACI2K,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;MACtDohB,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEtL,KAAK,EAAE/V,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,KAAK,KAAI;OAAG,EACpF;QAAEgR,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,SAAS,KAAI;OAAG,EAC9E;QAAE+Q,KAAK,EAAE/V,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,OAAO,KAAI;OAAG,EACxE;QAAE8Q,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAEoL,KAAK,EAAE,CAAAtG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwc,cAAc,KAAI;OAAG,CACtF,CAACvZ,MAAM,CAAEF,IAAI,IAAKoZ,YAAY,CAACpZ,IAAI,CAACuD,KAAK,CAAC;KAC9C,CACJ;IAGD,MAAM2W,UAAU,GAAG3C,IAAI,CAACxe,GAAG,CAAEoO,GAAG,KAAM;MAClCjJ,GAAG,EAAEiJ,GAAG,CAACxK,IAAI,IAAI,KAAK;MACtBwB,SAAS,EAAEgJ,GAAG,CAACmT,QAAQ,IAAI,KAAK;MAChCjc,QAAQ,EAAE,EAAE;MACZic,QAAQ,EAAEnT,GAAG,CAACS,MAAM,IAAI,KAAK;MAC7BhJ,QAAQ,EAAEW,MAAM,CAAC4H,GAAG,CAACjK,KAAK,IAAI,CAAC,CAAC;MAChCL,UAAU,GAAKsK,GAAG,CAAChK,SAAS,IAAI,CAAC,aAAMgK,GAAG,CAAC/J,OAAO,IAAI,CAAC,CAAE;MACzDmd,WAAW,EAAE,aAAa;MAC1BnL,QAAQ,EAAEjI,GAAG,CAACiI,QAAQ,IAAI;KAC7B,CAAC,CAAC;IAGH,MAAMoL,0BAA0B,GAAGhC,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB;IACpE,IAAIgC,aAAa,GAAG,CAAC;IACrBlC,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB,GAAG,YAAmB;MACnD,IAAIgC,aAAa,GAAGR,UAAU,CAAC1f,MAAM,EAAE;QACnC,OAAO0f,UAAU,CAACQ,aAAa,EAAE,CAAC,CAACtL,QAAQ,IAAI,IAAI;;MACtD,SAAA+L,KAAA,GAAAP,SAAA,CAAApgB,MAAA,EAH4CqgB,IAAI,OAAAhiB,KAAA,CAAAsiB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;QAAJP,IAAI,CAAAO,KAAA,IAAAR,SAAA,CAAAQ,KAAA;;MAIjD,OAAOZ,0BAA0B,CAACO,KAAK,CAAC,IAAI,EAAEF,IAAI,CAAC;KACtD;IAGD,MAAMG,OAAO,GAAIxa,GAAG,IAAK;MACrB,IAAIA,GAAG,KAAK,KAAK,EAAE,OAAOrI,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;MACnE,IAAIqI,GAAG,KAAK,UAAU,EAAE,OAAOrI,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;MACpE,IAAIqI,GAAG,KAAK,QAAQ,EAAE,OAAOrI,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;MACpD,IAAIqI,GAAG,KAAK,MAAM,EAAE,OAAOrI,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;MACpF,IAAIqI,GAAG,KAAK,aAAa,EAAE,OAAOrI,CAAC,CAAC,mBAAmB,CAAC,IAAI,qBAAqB;MACjF,IAAIqI,GAAG,KAAK,gBAAgB,EAAE,OAAOrI,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;MAChF,IAAIqI,GAAG,KAAK,eAAe,EAAE,OAAOrI,CAAC,CAAC,uBAAuB,CAAC,IAAI,uBAAuB;MACzF,OAAOA,CAAC,CAACqI,GAAG,CAAC;KAChB;IAED,IAAI;MACA,IACI1G,MAAM,CAACzB,KAAK,IACZyB,MAAM,CAACzB,KAAK,CAACqhB,KAAK,IAClB5f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,IACtB7f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,EAC/C;QACE9f,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAACC,GAAG,CAACC,sBAAsB,CAAC;UAC1CxhB,QAAQ;UACRyhB,IAAI,EAAE,IAAI;UACVld,IAAI;UACJ0b,KAAK,EAAE6C,YAAY;UACnB5C,WAAW;UACXwB,OAAO,EAAE3hB,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;UACxDmhB,OAAO;UACPjS,iBAAiB,EAAE9I,YAAY;UAC/BgZ,IAAI,EAAE2C,UAAU;UAChB/hB,CAAC,EAAE6iB,OAAO;UACVjB,qBAAqB,EAAE,IAAI;UAC3BC,YAAY,EAAEb;SACjB,CAAC;OACL,MAAM;QACHpY,OAAO,CAACD,KAAK,CAAC,yDAAyD,CAAC;;KAE/E,SAAS;MACN0X,IAAI,CAACiC,SAAS,CAAC/B,kBAAkB,GAAG8B,0BAA0B;;IACjE,OAAAhd,OAAA,CAAAC,OAAA;GACJ,QAAA/B,CAAA;IAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;AAAA;;AC1TD,MAAM2f,iBAAiB,GAAGA,MAAM;EAAA,IAAAtjB,qBAAA,EAAAujB,aAAA,EAAAC,cAAA,EAAAC,kBAAA;EAC5B,MAAAvjB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAM5N,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,IAAI,QAAQ;EAClE,MAAAkjB,UAAA,GAAqBC,wBAAS,EAAE;IAAxBhG,QAAQ,GAAA+F,UAAA,CAAR/F,QAAQ;EAGhB,MAAAxc,qBAAA,GAA6Db,KAAK,CAACc,KAAK,CAACC,IAAI,CAACuiB,yBAAyB,CAAC;MACpGniB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACrB,CAAC;IAHiBC,iBAAiB,GAAA3iB,qBAAA,CAA5BS,SAAS;IAA2BmiB,YAAY,GAAA5iB,qBAAA,CAAlBQ,IAAI;EAM1C,MAAAqiB,qBAAA,GAAyE1jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACC,YAAY,CACjG7jB,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJa8jB,oBAAoB,GAAAH,qBAAA,CAA1BriB,IAAI;IAAmCyiB,qBAAqB,GAAAJ,qBAAA,CAAhCpiB,SAAS;EAO7C,MAAAyiB,qBAAA,GAAiF/jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACK,mBAAmB,CAChHjkB,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJakkB,wBAAwB,GAAAF,qBAAA,CAA9B1iB,IAAI;IAAuC6iB,yBAAyB,GAAAH,qBAAA,CAApCziB,SAAS;EAMjD,MAAM8C,YAAY,IAAA1E,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,uBAAhCA,qBAAA,CAAkCY,IAAI;EAG3D,MAAMoc,MAAM,GAAG/X,aAAO,CAAC,MAAM;IACzB,MAAMwf,QAAQ,GAAG/f,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEggB,IAAI;IACnC,MAAMC,UAAU,GAAGjgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8B,YAAY;IAG7C,MAAMoe,WAAW,GAAIC,CAAC,IAAK;MAAA,IAAAC,QAAA,EAAAC,SAAA,EAAAC,SAAA;MACvB,MAAMC,SAAS,GAAG,EAAAH,QAAA,GAAAD,CAAC,CAACvC,KAAK,cAAAwC,QAAA,uBAAPA,QAAA,CAASJ,IAAI,OAAAK,SAAA,GAAIF,CAAC,CAACvC,KAAK,cAAAyC,SAAA,uBAAPA,SAAA,CAAS3Q,EAAE;MAC9C,MAAM8Q,WAAW,GAAG,EAAAF,SAAA,GAAAH,CAAC,CAACvC,KAAK,cAAA0C,SAAA,uBAAPA,SAAA,CAASxe,YAAY,KAAIqe,CAAC,CAACre,YAAY;MAC3D,OAAQie,QAAQ,IAAIQ,SAAS,KAAKR,QAAQ,IAAME,UAAU,IAAIO,WAAW,KAAKP,UAAW;KAC5F;IAGD,IAAIR,oBAAoB,EAAE;MACtB,IAAIxG,QAAQ,EAAE;QACV,MAAMwH,OAAO,GAAGhB,oBAAoB,CAACnE,IAAI,CACpC6E,CAAC;UAAA,IAAAO,aAAA,EAAAC,cAAA;UAAA,OAAK,EAAAD,aAAA,GAAAP,CAAC,CAACS,UAAU,cAAAF,aAAA,uBAAZA,aAAA,CAAchR,EAAE,MAAKuJ,QAAQ,IAAI,EAAA0H,cAAA,GAAAR,CAAC,CAACS,UAAU,cAAAD,cAAA,uBAAZA,cAAA,CAAc1H,QAAQ,MAAKA,QAAQ,IAAIkH,CAAC,CAACzQ,EAAE,KAAKuJ,QAAQ,IAAIkH,CAAC,CAAClH,QAAQ,KAAKA,QAAQ;SAC/H,CAAC;QACD,IAAIwH,OAAO,EAAE,OAAOA,OAAO,CAACG,UAAU,IAAIH,OAAO;OACpD,MAAM;QAEH,MAAMA,OAAO,GAAGhB,oBAAoB,CAACnE,IAAI,CAAE6E,CAAC,IAAKD,WAAW,CAACC,CAAC,CAACS,UAAU,IAAIT,CAAC,CAAC,CAAC;QAChF,IAAIM,OAAO,EAAE,OAAOA,OAAO,CAACG,UAAU,IAAIH,OAAO;QAEjD,IAAIhB,oBAAoB,CAAC1hB,MAAM,GAAG,CAAC,EAAE,OAAO0hB,oBAAoB,CAAC,CAAC,CAAC,CAACmB,UAAU,IAAInB,oBAAoB,CAAC,CAAC,CAAC;;;IAKjH,IAAIxG,QAAQ,EAAE;MACV,OAAO7I,YAAY,CAACkC,OAAO,CAACgJ,IAAI,CAAE6E,CAAC,IAAKA,CAAC,CAACzQ,EAAE,KAAKmR,MAAM,CAAC5H,QAAQ,CAAC,IAAIkH,CAAC,CAACjgB,IAAI,KAAK+Y,QAAQ,CAAC,IAAI7I,YAAY,CAACkC,OAAO,CAAC,CAAC,CAAC;KACvH,MAAM;MAEH,MAAMwO,WAAW,GAAG1Q,YAAY,CAACkC,OAAO,CAACgJ,IAAI,CAAE6E,CAAC;QAAA,IAAAY,OAAA,EAAAC,kBAAA;QAAA,OAAK,EAAAD,OAAA,GAAAZ,CAAC,CAACjgB,IAAI,cAAA6gB,OAAA,uBAANA,OAAA,CAAQ9d,WAAW,EAAE,OAAKjD,YAAY,aAAZA,YAAY,wBAAAghB,kBAAA,GAAZhhB,YAAY,CAAEE,IAAI,cAAA8gB,kBAAA,uBAAlBA,kBAAA,CAAoB/d,WAAW,EAAE;QAAC;MACjH,OAAO6d,WAAW,IAAI1Q,YAAY,CAACkC,OAAO,CAAC,CAAC,CAAC;;GAEpD,EAAE,CAACmN,oBAAoB,EAAExG,QAAQ,EAAEjZ,YAAY,CAAC,CAAC;EAGlD,MAAMihB,iBAAiB,GAAG1gB,aAAO,CAAC,MAAM;IACpC,IAAI,EAACsf,wBAAwB,aAAxBA,wBAAwB,eAAxBA,wBAAwB,CAAEjN,WAAW,GAAE;MAExC,IAAI0F,MAAM,IAAIlc,KAAK,CAACC,OAAO,CAAC+T,YAAY,CAACkC,OAAO,CAAC,EAAE;QAE/C,MAAM4O,WAAW,GAAG9kB,KAAK,CAAC+kB,IAAI,CAAC;UAAEpjB,MAAM,EAAEua,MAAM,CAAC1F,WAAW,IAAI;SAAG,EAAE,CAACwO,CAAC,EAAElT,CAAC,MAAM;UAC3EwB,EAAE,cAAW4I,MAAM,CAAC5I,EAAE,IAAI,CAAC,UAAIxB,CAAG;UAClChO,IAAI,mBAAgBgO,CAAC,GAAG,CAAC,WAAKoK,MAAM,CAACpY,IAAI,MAAG;UAC5C2d,QAAQ,eAAa3P,CAAG;UACxB/C,MAAM,EAAE,QAAQ;UAChBkW,SAAS,EAAErc,IAAI,CAACC,KAAK,CAAC,IAAI,GAAGD,IAAI,CAACsc,MAAM,EAAE,GAAG,IAAI,CAAC;UAClDC,aAAa,EAAEvc,IAAI,CAACC,KAAK,CAAC,GAAG,GAAGD,IAAI,CAACsc,MAAM,EAAE,GAAG,IAAI,CAAC;UACrDE,WAAW,EAAExc,IAAI,CAACC,KAAK,CAAC,GAAG,GAAGD,IAAI,CAACsc,MAAM,EAAE,GAAG,IAAI,CAAC;UACnDG,eAAe,EAAEzc,IAAI,CAACC,KAAK,CAAC,EAAE,GAAGD,IAAI,CAACsc,MAAM,EAAE,GAAG,EAAE;SACtD,CAAC,CAAC;QACH,OAAOJ,WAAW;;MAEtB,OAAO,EAAE;;IAIb,MAAMQ,eAAe,GAAG,CAAApJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5I,EAAE,MAAI4I,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,QAAQ,KAAIA,QAAQ;IAClE,MAAM0I,WAAW,GAAG9B,wBAAwB,CAACjN,WAAW,CAACnP,MAAM,CAC1Dme,CAAC,IAAKA,CAAC,CAAC3I,QAAQ,KAAKyI,eAC1B,CAAC;IAED,OAAOC,WAAW,CAACrlB,GAAG,CAAEulB,GAAG,IAAK;MAAA,IAAAC,qBAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,WAAA;MAE5B,MAAMC,MAAM,GAAG7C,YAAY,aAAZA,YAAY,wBAAAyC,qBAAA,GAAZzC,YAAY,CAAE8C,gBAAgB,cAAAL,qBAAA,uBAA9BA,qBAAA,CAAgCxG,IAAI,CAC9C3N,CAAC;QAAA,IAAAyU,UAAA;QAAA,OAAKzU,CAAC,CAAC0U,YAAY,KAAKR,GAAG,CAACnS,EAAE,IAAI/B,CAAC,CAAC0U,YAAY,OAAAD,UAAA,GAAKP,GAAG,CAACjE,KAAK,cAAAwE,UAAA,uBAATA,UAAA,CAAWpC,IAAI;OAC1E,CAAC;MAED,OAAO;QACHtQ,EAAE,EAAEmS,GAAG,CAACnS,EAAE,MAAAqS,WAAA,GAAIF,GAAG,CAACjE,KAAK,cAAAmE,WAAA,uBAATA,WAAA,CAAW/B,IAAI;QAC7B9f,IAAI,EAAE2hB,GAAG,CAAC3hB,IAAI,MAAA8hB,WAAA,GAAIH,GAAG,CAACjE,KAAK,cAAAoE,WAAA,uBAATA,WAAA,CAAW9hB,IAAI,KAAI,KAAK;QAC1C2d,QAAQ,EAAE,EAAAoE,WAAA,GAAAJ,GAAG,CAACjE,KAAK,cAAAqE,WAAA,uBAATA,WAAA,CAAWngB,YAAY,KAAI+f,GAAG,CAAChE,QAAQ,IAAI,KAAK;QAC1D1S,MAAM,EAAE0W,GAAG,CAAC1W,MAAM,IAAI,QAAQ;QAC9BkW,SAAS,EAAE,CAAAa,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEb,SAAS,KAAI,CAAC;QACjCE,aAAa,EAAE,CAAAW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEX,aAAa,KAAI,CAAC;QACzCC,WAAW,EAAE,CAAAU,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEV,WAAW,KAAI,CAAC;QACrCC,eAAe,EAAE,CAAAS,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAET,eAAe,KAAI;OAC/C;KACJ,CAAC;GACL,EAAE,CAAC5B,wBAAwB,EAAEvH,MAAM,EAAE+G,YAAY,EAAEpG,QAAQ,CAAC,CAAC;EAE9D,MAAMgC,UAAU,GAAG,CAAA3C,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpY,IAAI,KAAI,KAAK;EACxC,MAAM4B,YAAY,GAAG,CAAAwW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAExW,YAAY,MAAIwW,MAAM,aAANA,MAAM,wBAAAuG,aAAA,GAANvG,MAAM,CAAEsF,KAAK,cAAAiB,aAAA,uBAAbA,aAAA,CAAe/c,YAAY,KAAI,KAAK;EACjF,MAAM8Z,KAAK,GAAG,CAAAtD,MAAM,aAANA,MAAM,wBAAAwG,cAAA,GAANxG,MAAM,CAAEsF,KAAK,cAAAkB,cAAA,uBAAbA,cAAA,CAAe/c,OAAO,KAAI,KAAK;EAC7C,MAAMoJ,MAAM,GAAGmN,MAAM,GAAG,QAAQ,GAAG,KAAK;EACxC,MAAMxF,aAAa,GAAGvS,aAAO,CAAC,MAAM;IAChC,IAAInE,KAAK,CAACC,OAAO,CAACic,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAExF,aAAa,CAAC,EAAE;MACtC,OAAOwF,MAAM,CAACxF,aAAa,CAACnP,IAAI,CAAC,IAAI,CAAC;;IAE1C,OAAO,KAAK;GACf,EAAE,CAAC2U,MAAM,CAAC,CAAC;EACZ,MAAMgK,OAAO,GAAG/hB,aAAO,CAAC,MAAM;IAAA,IAAAgiB,eAAA;IAC1B,OAAOjK,MAAM,aAANA,MAAM,gBAAAiK,eAAA,GAANjK,MAAM,CAAEgK,OAAO,cAAAC,eAAA,eAAfA,eAAA,CAAiBxkB,MAAM,GAAGua,MAAM,CAACgK,OAAO,CAAChmB,GAAG,CAACmc,IAAI,IAAIA,IAAI,CAACrV,WAAW,EAAE,CAACF,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK;GACtH,EAAE,CAAC2U,MAAM,CAAC,CAAC;EAGZ,MAAMkK,KAAK,GAAGjiB,aAAO,CAAC,MAAM;IACxB,MAAMkiB,WAAW,GAAGxB,iBAAiB,CAACzI,IAAI,CAAEoJ,CAAC,IAAKA,CAAC,CAACP,SAAS,GAAG,CAAC,CAAC;IAElE,MAAMA,SAAS,GAAGoB,WAAW,GACvBxB,iBAAiB,CAACyB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACP,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAChE,CAAAhC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgC,SAAS,MAAI/I,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/F,mBAAmB,KAAI,CAAE;IAEnE,MAAMqQ,aAAa,GAAGH,WAAW,GAC3BxB,iBAAiB,CAACyB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACL,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpE,CAAAlC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEuD,aAAa,MAAItK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE9F,aAAa,KAAI,CAAE;IAEjE,MAAMgP,WAAW,GAAGiB,WAAW,GACzBxB,iBAAiB,CAACyB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACJ,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAClEH,SAAS,GAAGuB,aAAc;IAEjC,MAAMnB,eAAe,GAAGJ,SAAS,GAAG,CAAC,GAAGrc,IAAI,CAACC,KAAK,CAAE2d,aAAa,GAAGvB,SAAS,GAAI,GAAG,CAAC,GAAI,CAAA/I,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE3F,QAAQ,KAAI,CAAE;IAE/G,OAAO,CACH;MACI/U,KAAK,EAAE,yBAAyB;MAChCE,KAAK,EAAEujB,SAAS;MAChBxa,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,OAAO;MACboT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE;KACnB,EAQD;MACIvb,KAAK,EAAE,gBAAgB;MACvBE,KAAK,EAAE8kB,aAAa;MACpB/b,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,OAAO;MACboT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE;KACzB,EACD;MACIzb,KAAK,EAAE,sBAAsB;MAC7BE,KAAK,EAAE0jB,WAAW;MAClB3a,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,SAAS;MACfoT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACmb,UAAO,MAAE;KACnB,EACD;MACI1b,KAAK,EAAE,kBAAkB;MACzBE,KAAK,EAAK2jB,eAAe,MAAG;MAC5B5a,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,UAAU;MAChBoT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACsb,cAAW,MAAE;KACvB,CACJ;GACJ,EAAE,CAACwH,iBAAiB,EAAE3I,MAAM,EAAE+G,YAAY,CAAC,CAAC;EAE7C,MAAAzf,SAAA,GAAsCC,cAAQ,CAAC,CAAC,CAAC;IAA1CkJ,WAAW,GAAAnJ,SAAA;IAAEijB,cAAc,GAAAjjB,SAAA;EAClC,MAAAoY,UAAA,GAAgCnY,cAAQ,CAAC,EAAE,CAAC;IAArCijB,QAAQ,GAAA9K,UAAA;IAAE+K,WAAW,GAAA/K,UAAA;EAE5B,MAAAgL,UAAA,GAAsDnjB,cAAQ,CAAC,KAAK,CAAC;IAA9DC,mBAAmB,GAAAkjB,UAAA;IAAEjjB,sBAAsB,GAAAijB,UAAA;EAElD,MAAMliB,sBAAsB;IAAA,IAAe;MACvCf,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAAgB,OAAA,CAAAC,OAAA,CAAA7B,gBAAA;QAAA,OAAAN,MAAA,aACzB;UAAA,OAAAkC,OAAA,CAAAC,OAAA,CACuBpF,KAAK,CAACqF,WAAW,CAACC,gBAAgB,CAAC;YACtDvF,QAAQ,EAAEA,QAAQ;YAClBkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZqE,cAAc,EAAE;WACnB,CAAC,EAAAjC,IAAA,WALIkC,QAAQ;YAOd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YAEjD,IAAI,CAACA,YAAY,IAAIA,YAAY,CAACtD,MAAM,KAAK,CAAC,EAAE;cAC5CuD,KAAK,CAAC5F,CAAC,CAAC,oBAAoB,CAAC,IAAI,iCAAiC,CAAC;cACnE;;YAGJ,MAAM6F,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EACjE,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClBC,GAAG,EAAE/F,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBgG,SAAS,EAAEhG,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CiG,UAAU,EAAEjG,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CkG,QAAQ,EAAElG,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCmG,MAAM,EAAEnG,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BoG,YAAY,EAAEpG,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDqG,OAAO,EAAErG,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpCsG,mBAAmB,EAAEtG,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtEuG,YAAY,EAAEvG,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjDwG,GAAG,EAAExG,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChC0E,UAAU,EAAE1E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CyG,QAAQ,EAAEzG,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B0G,QAAQ,EAAE1G,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC2G,IAAI,EAAE3G,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB4G,OAAO,EAAE5G,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClC6G,KAAK,EAAE7G,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9B+G,WAAW,EAAE/G,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDgH,gBAAgB,EAAEhH,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAM4H,SAAS,GAAGjC,YAAY,CAAC/E,GAAG,CAAEiH,IAAI,IAAK;cACzC,MAAMC,QAAQ,GAAG,EAAE;cAEnB,MAAMvD,QAAQ,GAAG,CAACsD,IAAI,CAAC7B,SAAS,EAAE6B,IAAI,CAAC5B,UAAU,EAAE4B,IAAI,CAAC3B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI1D,QAAQ,EAAE;gBACVuD,QAAQ,CAAC9H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGuE,QAAQ;;cAG9D2D,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC,CAACO,OAAO,CAACC,GAAG,IAAI;gBAC7B,IAAIxC,YAAY,CAAC/D,QAAQ,CAACuG,GAAG,CAAC,EAAE;gBAEhC,MAAMC,GAAG,GAAGT,IAAI,CAACQ,GAAG,CAAC;gBACrB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMC,cAAc,GAAGzC,aAAa,CAACuC,GAAG,CAAC,IAAIrI,CAAC,CAACqI,GAAG,CAACX,WAAW,EAAE,CAAC,IAAIW,GAAG;gBACxEP,QAAQ,CAACS,cAAc,CAAC,GAAGD,GAAG;eACjC,CAAC;cAEF,OAAOR,QAAQ;aAClB,CAAC;YAEF,MAAMU,aAAa,kBAAgB+W,UAAU,CAAC/X,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YAC7EtH,KAAK,CAACuI,QAAQ,CAACC,KAAK,CAACd,SAAS,EAAEY,aAAa,CAAC;;SACjD,YAAQG,KAAK,EAAE;UACZC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;UACrD/C,KAAK,CAAC5F,CAAC,CAAC,sBAAsB,CAAC,IAAI,iDAAiD,CAAC;SACxF;mBAAA6I,UAAA,EAAAC,OAAA;QACGzE,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAAwE,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAErC,QAAAvF,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMgkB,oBAAoB,GAAG1iB,aAAO,CAAC,MAAM;IACvC,MAAM2iB,KAAK,GAAGna,WAAW,GAAG+Z,QAAQ;IACpC,MAAMK,GAAG,GAAGD,KAAK,GAAGJ,QAAQ;IAC5B,OAAO7B,iBAAiB,CAAC9G,KAAK,CAAC+I,KAAK,EAAEC,GAAG,CAAC;GAC7C,EAAE,CAAClC,iBAAiB,EAAElY,WAAW,EAAE+Z,QAAQ,CAAC,CAAC;EAE9C,MAAMM,iBAAiB,GAAG7iB,aAAO,CAC7B,MAAM,CACF;IACI6J,MAAM,EAAE1O,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;IACjD2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAExK,IAAI,KAAI,KAAK;IACrCoK,IAAI,EAAE5K,IAAA,IAAa;MAAA,IAAAnE,sBAAA,EAAA8nB,sBAAA,EAAAC,sBAAA,EAAA9Y,aAAA;MAAA,IAAVE,GAAG,GAAAhL,IAAA,CAAHgL,GAAG;MACR,MAAM6Y,QAAQ,GAAG,EAAAhoB,sBAAA,GAAAK,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAV,sBAAA,wBAAA8nB,sBAAA,GAAhC9nB,sBAAA,CAAkCW,IAAI,cAAAmnB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwCvd,IAAI,cAAAwd,sBAAA,uBAA5CA,sBAAA,CAA8CrgB,WAAW,EAAE,KAAI,SAAS;MACzF,MAAMugB,UAAU,kBAAgBD,QAAQ,mCAA8B7Y,GAAG,CAACC,QAAQ,CAAC+E,EAAI;MACvF,oBACIxR,cAAA,CAAAC,aAAA;QACIslB,IAAI,EAAED,UAAW;QACjBxb,KAAK,EAAE;UAAEnB,KAAK,EAAE,SAAS;UAAEiJ,UAAU,EAAE,KAAK;UAAE4T,cAAc,EAAE;SAAS;QACvEzc,OAAO,EAAGhI,CAAC,IAAK;UACZA,CAAC,CAACmO,cAAc,EAAE;UAClB9D,OAAO,CAAC3L,IAAI,CAAC6lB,UAAU,CAAC;;SAG3B,EAAAhZ,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAActK,IAAI,KAAI,KACxB,CAAC;;GAGf,EACD;IACIkK,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7C2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEmT,QAAQ,KAAI,KAAK;IACzCnO,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;IAC/B2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAES,MAAM,KAAI,QAAQ;IAC1CuE,EAAE,EAAE,QAAQ;IACZpF,IAAI,EAAEC,KAAA;MAAA,IAAGzD,KAAK,GAAAyD,KAAA,CAALzD,KAAK;MAAA,oBACV5I,cAAA,CAAAC,aAAA;QAAM4I,SAAS;SACVrL,CAAC,CAACoL,KAAK,CAAC,IAAIA,KACX,CAAC;;GAEd,EACD;IACIsD,MAAM,EAAE1O,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;IACjE2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE2W,SAAS,KAAI,CAAC;IACtC3R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;IAC/C2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE6W,aAAa,KAAI,CAAC;IAC1C7R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,sBAAsB,CAAC,IAAI,sBAAsB;IAC3D2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE8W,WAAW,KAAI,CAAC;IACxC9R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;IACnD2O,QAAQ,EAAGK,GAAG,KAAQA,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAE+W,eAAe,IAAI,CAAA/W,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+W,eAAe,MAAK,CAAC,GAAG/W,GAAG,CAAC+W,eAAe,GAAG/W,GAAG,CAACiI,QAAQ,OAAG;IAChHjD,EAAE,EAAE;GACP,CACJ,EACD,CAAChU,CAAC,EAAE4N,OAAO,CACf,CAAC;EAGD,MAAAqa,UAAA,GAA4C9jB,cAAQ,CAAC,KAAK,CAAC;IAApD+jB,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,MAAAG,UAAA,GAAoCjkB,cAAQ,CAAC;MAAEshB,IAAI,EAAE,EAAE;MAAE3S,EAAE,EAAE;KAAI,CAAC;IAA3DuV,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,MAAAG,UAAA,GAAgDpkB,cAAQ,CAAC,KAAK,CAAC;IAAxDqkB,gBAAgB,GAAAD,UAAA;IAAEE,mBAAmB,GAAAF,UAAA;EAC5C,MAAAG,UAAA,GAA0CvkB,cAAQ,CAAC,KAAK,CAAC;IAAlDwkB,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,MAAMG,aAAa,GAAG5f,YAAM,CAAC,IAAI,CAAC;EAElCa,eAAS,CAAC,MAAM;IACZ,MAAMgf,OAAO,GAAIvlB,CAAC,IAAK;MACnB,IAAIslB,aAAa,CAAC9e,OAAO,IAAI,CAAC8e,aAAa,CAAC9e,OAAO,CAACgf,QAAQ,CAACxlB,CAAC,CAAC4O,MAAM,CAAC,EAAE;QACpEgW,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAEjC;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAClE,EAAE,EAAE,CAAC;EAEN,MAAMK,cAAc,GAAGA,MAAM;IACzBP,gBAAgB,CAAC,IAAI,CAAC;IACtB,IAAI;MACA,MAAMQ,aAAa,GAAG7D,iBAAiB,CAAC3kB,GAAG,CAAEslB,CAAC,KAAM;QAChD1hB,IAAI,EAAE0hB,CAAC,CAAC1hB,IAAI;QACZ2d,QAAQ,EAAE+D,CAAC,CAAC/D,QAAQ;QACpB1S,MAAM,EAAEyW,CAAC,CAACzW,MAAM;QAChB1K,KAAK,EAAEmhB,CAAC,CAACP,SAAS;QAClB3gB,SAAS,EAAEkhB,CAAC,CAACL,aAAa;QAC1B5gB,OAAO,EAAEihB,CAAC,CAACJ,WAAW;QACtB7O,QAAQ,EAAKiP,CAAC,CAACH,eAAe;OACjC,CAAC,CAAC;MAEH,MAAMJ,SAAS,GAAGJ,iBAAiB,CAACyB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACP,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI/I,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/F,mBAAmB,KAAI,CAAC;MACvH,MAAMqQ,aAAa,GAAG3B,iBAAiB,CAACyB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACL,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAIjJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE9F,aAAa,KAAI,CAAC;MAEzHgM,iBAAiB,CAAC;QACd1D,IAAI,EAAEgK,aAAa;QACnB7J,UAAU;QACVnZ,YAAY;QACZ8Z,KAAK;QACLpb,aAAa,EAAE;UACXC,KAAK,EAAE4gB,SAAS;UAChB3gB,SAAS,EAAEkiB,aAAa;UACxBjiB,OAAO,EAAE0gB,SAAS,GAAGuB,aAAa;UAClC5F,cAAc,EAAE4F;SACnB;QACDlnB;OACH,CAAC;KACL,CAAC,OAAOqpB,GAAG,EAAE;MACVzgB,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAE0gB,GAAG,CAAC;KACnD,SAAS;MACNT,gBAAgB,CAAC,KAAK,CAAC;MACvBT,iBAAiB,CAAC,KAAK,CAAC;MACxBM,mBAAmB,CAAC,KAAK,CAAC;;GAEjC;EAED,MAAMa,oBAAoB,GAAIvhB,MAAM,IAAK;IACrCohB,cAAc,EAAE;GACnB;EAED,MAAMI,oBAAoB,GAAGA,MAAM;IAC/B,IAAI,CAAClB,UAAU,CAAC5C,IAAI,IAAI,CAAC4C,UAAU,CAACvV,EAAE,EAAE;MACpClN,KAAK,CAAC5F,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;MACxE;;IAEJmpB,cAAc,EAAE;GACnB;EAED,MAAMK,QAAQ,GAAGra,KAAA;IAAA,IAAG4G,KAAK,GAAA5G,KAAA,CAAL4G,KAAK;MAAE3K,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAEhB,IAAI,GAAA+E,KAAA,CAAJ/E,IAAI;MAAE5I,SAAS,GAAA2N,KAAA,CAAT3N,SAAS;MAAEgc,IAAI,GAAArO,KAAA,CAAJqO,IAAI;IAAA,oBACnDhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,iBAAejB;OACxB5I,SAAS,gBACNgB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACXjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAAyC,CAAC,eACzD7I,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAA2C,CAC9C,CAAC,gBAEjB7I,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACXjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAc0K,KAAW,CAAC,eACzCvT,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAcD,KAAW,CAAC,EACxCoS,IAAI,iBAAIhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAamS,IAAU,CACnC,CAEnB,CAAC;GACT;EAED,MAAMkM,aAAa,GAAGhG,iBAAiB,IAAIM,qBAAqB,IAAII,yBAAyB;EAE7F,IAAIsF,aAAa,IAAI,CAAC9M,MAAM,EAAE;IAC1B,oBAAOpa,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGrB,IAAI,CAACkQ,MAAM,EAAE;IACT,oBACIpa,cAAA,CAAAC,aAAA,CAACkK,2BAAI,qBACDnK,cAAA,CAAAC,aAAA;MAAK6J,KAAK,EAAE;QAAEqE,OAAO,EAAE;;OAAW3Q,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAuB,CAC/E,CAAC;;EAIf,oBACIwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBAEZ7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAUkU,UAAU,aAAVA,UAAU,wBAAA8D,kBAAA,GAAV9D,UAAU,CAAEoK,MAAM,CAAC,CAAC,CAAC,cAAAtG,kBAAA,uBAArBA,kBAAA,CAAuB3b,WAAW,EAAQ,CAAC,eAEpElF,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KAAQkU,UAAe,CAAC,eACtC/c,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,eAAe,CAAC,IAAI,iBAAuB,CAC1E,CACJ,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,iBAAiB;IAACmB,GAAG,EAAEqc;kBAClCrmB,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,cAAc;IACxBC,QAAQ,EAAEqd,aAAc;IACxBpd,OAAO,EAAEA,MAAM;MACX4c,iBAAiB,CAAEyB,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BnB,mBAAmB,CAAC,KAAK,CAAC;;KAG7BE,aAAa,GAAG3oB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC5E,CAAC,EAERkoB,cAAc,iBACX1lB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACV,CACG;IAAEnJ,KAAK,EAAElC,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAEqI,GAAG,EAAE;GAAS,EAC9C;IAAEnG,KAAK,EAAElC,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAEqI,GAAG,EAAE;GAAQ,EACrD;IAAEnG,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAEqI,GAAG,EAAE;GAAS,CAC3D,CAACzH,GAAG,CAAC0O,KAAA;IAAA,IAAGpN,KAAK,GAAAoN,KAAA,CAALpN,KAAK;MAAEmG,GAAG,GAAAiH,KAAA,CAAHjH,GAAG;IAAA,oBACf7F,cAAA,CAAAC,aAAA;MACI4F,GAAG,EAAEA,GAAI;MACTgD,SAAS,EAAC,WAAW;MACrBE,OAAO,EAAEA,MAAM+d,oBAAoB,CAACjhB,AAAG;OAEtCnG,KACA,CAAC;GACT,CAAC,eAEFM,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,qBAAqB;IAC/BE,OAAO,EAAEA,MAAMkd,mBAAmB,CAAEmB,CAAC,IAAK,CAACA,CAAC;KAE3C5pB,CAAC,CAAC,aAAa,CAAC,IAAI,aACpB,CAAC,EAELwoB,gBAAgB,iBACbhmB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KACZrL,CAAC,CAAC,WAAW,CAAC,IAAI,MAChB,CAAC,eACRwC,cAAA,CAAAC,aAAA;IACI2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAAC5C,IAAK;IACvBlU,QAAQ,EAAGhO,CAAC,IACR+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAEyZ,IAAI,EAAEliB,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GAE5D,CACA,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KACZrL,CAAC,CAAC,SAAS,CAAC,IAAI,IACd,CAAC,eACRwC,cAAA,CAAAC,aAAA;IACI2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAACvV,EAAG;IACrBvB,QAAQ,EAAGhO,CAAC,IACR+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAE8G,EAAE,EAAEvP,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GAE1D,CACA,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,qBAAqB;IAC/BE,OAAO,EAAEge;KAERvpB,CAAC,CAAC,UAAU,CAAC,IAAI,UACd,CACP,CAER,CAER,CACJ,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAEPyb,KAAK,CAAClmB,GAAG,CAAC,CAACod,IAAI,EAAE6L,GAAG,kBAChBrnB,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IACLnhB,GAAG,EAAEwhB,GAAI;IACT9T,KAAK,EAAE/V,CAAC,CAACge,IAAI,CAAC9b,KAAK,CAAE;IACrBkJ,KAAK,EAAE4S,IAAI,CAAC5b,KAAM;IAClBgI,IAAI,EAAE4T,IAAI,CAAC5T,IAAK;IAChB5I,SAAS,EAAEkoB,aAAc;IACzBlM,IAAI,EAAEQ,IAAI,CAACR;GACd,CACJ,CACJ,CAAC,eAGNhb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASjF,YAAmB,CAC3C,CAAC,eAEN5D,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS6U,KAAY,CACpC,CAAC,eAEN1d,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASoE,MAAa,CACrC,CAAC,eAMNjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAuB,CAAC,eACxEwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASub,OAAc,CACtC,CACJ,CACJ,CAAC,eAGNpkB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,aAAKzC,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DwC,cAAA,CAAAC,aAAA,YACKzC,CAAC,CAAC,yBAAyB,CAAC,IACzB,iGACL,CAAC,eACJwC,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,oBAAoB;IAC9BC,QAAQ,EAAElH,mBAAoB;IAC9BmH,OAAO,EAAEnG;kBAET5C,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACrIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAUwJ,MAAM,EAAC;GAAoB,CAAC,eACtCzJ,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACrC,CAAC,EACLjI,mBAAmB,GAAGpE,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBACjF,CACP,CACJ,CACJ,CACJ,CAAC,eAENwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACZ7I,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACF5Q,CAAC,EAAEA,CAAE;IACL8pB,UAAU,EAAE9pB,CAAC,CAAC,uBAAuB,CAAC,IAAI,uBAAwB;IAClE+pB,UAAU,EAAC,WAAW;IACtBxoB,IAAI,EAAEgmB,oBAAqB;IAC3B9Y,OAAO,EAAEiZ,iBAAkB;IAC3BlmB,SAAS,EAAEkoB,aAAc;IACzB/b,YAAY,EAAE4X,iBAAiB,CAACljB,MAAO;IACvCgL,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAE8Z,QAAS;IACxB4C,oBAAoB,EAAE,IAAK;IAC3B7c,UAAU,EAAEA,MAAM;MACd,IAAIE,WAAW,GAAG/D,IAAI,CAAC2gB,IAAI,CAAC1E,iBAAiB,CAACljB,MAAM,GAAG+kB,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClED,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACFpE,UAAU,EAAEA,MAAM;MACd,IAAIC,WAAW,GAAG,CAAC,EAAE;QACjB8Z,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF0Y,WAAW,EAAEA,MAAM;MACf/C,cAAc,CAAC,CAAC,CAAC;KACnB;IACFgD,UAAU,EAAEA,MAAM;MACdhD,cAAc,CAAC7d,IAAI,CAAC2V,GAAG,CAAC3V,IAAI,CAAC2gB,IAAI,CAAC1E,iBAAiB,CAACljB,MAAM,GAAG+kB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACjF;IACF7Z,gBAAgB,EAAGhK,CAAC,IAAK;MACrB8jB,WAAW,CAAClC,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC,CAAC;MACnC+b,cAAc,CAAC,CAAC,CAAC;;GAExB,CACC,CACJ,CAAC;AAEf,CAAC;;AC5nBD,MAAMiD,mBAAmB,GAAGpmB,IAAA,IAYtB;EAAA,IAAAqmB,oBAAA,EAAAC,qBAAA,EAAA1qB,qBAAA,EAAAC,sBAAA,EAAA8nB,sBAAA,EAAA4C,qBAAA;EAAA,IAVJhd,gBAAgB,GAAAvJ,IAAA,CAAhBuJ,gBAAgB;IAChBid,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS;IACT/oB,UAAU,GAAAuC,IAAA,CAAVvC,UAAU;IACVgpB,KAAK,GAAAzmB,IAAA,CAALymB,KAAK;IACLC,QAAQ,GAAA1mB,IAAA,CAAR0mB,QAAQ;IACRC,aAAa,GAAA3mB,IAAA,CAAb2mB,aAAa;IACbC,eAAe,GAAA5mB,IAAA,CAAf4mB,eAAe;IACf3qB,QAAQ,GAAA+D,IAAA,CAAR/D,QAAQ;IAAA4qB,gBAAA,GAAA7mB,IAAA,CACR8mB,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA/mB,IAAA,CAChBgnB,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAEf,MAAAjrB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAMiH,WAAW,GAAIC,GAAG,IAAK;IAC3B,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;IACnB,OAAOE,MAAM,CAACF,GAAG,CAAC,CACfK,WAAW,EAAE,CACbC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAClBA,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;GAC5C;EACD,MAAMkG,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAA3J,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAA3C8J,WAAW,GAAA/J,SAAA;IAAEgK,cAAc,GAAAhK,SAAA;EAClC,MAAAnD,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACkN,UAAU,CAAC,QAAQ,EAAElO,QAAQ,CAAC;IAAzEmO,UAAU,GAAArN,qBAAA,CAAhBQ,IAAI;IAAc8M,SAAS,GAAAtN,qBAAA,CAATsN,SAAS;EACnC,MAAMC,YAAY,GAAIvI,GAAG,IAAK;IAC5BmI,cAAc,CAACnI,GAAG,CAAC;IACnBsI,SAAS,CAAC;MAAEtI;KAAK,CAAC;GACnB;EAED,MAAM3E,KAAK,GAAG,CAAAopB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBjpB,KAAK,KAAI,EAAE;EAC/C,MAAMD,MAAM,GAAG,CAAAqpB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBnpB,MAAM,KAAI,CAAC;EAChD,MAAM0mB,QAAQ,GAAG,EAAAjoB,qBAAA,GAAAM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,wBAAA8nB,sBAAA,GAAtC9nB,sBAAA,CAAwCuK,IAAI,cAAAud,sBAAA,uBAA5CA,sBAAA,CAA8CpgB,WAAW,EAAE,KAAI,SAAS;EAEzF/E,cAAK,CAACsH,SAAS,CAAC,MAAM;IACpB,IAAIsE,UAAU,EAAE;MACdR,OAAO,CAAC3L,IAAI,gBAAc4lB,QAAQ,qBAAgB5Z,WAAW,EAAI;QAAEO,WAAW,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,WAAW;QAAEJ;OAAY,CAAC;;GAGzH,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAM8c,iBAAiB,GAAG,CACxB;IACExc,MAAM,EAAE1O,CAAC,CAAC,qBAAqB,CAAC;IAChC2O,QAAQ,EAAE,mBAAmB;IAC7Bwc,aAAa,EAAE,IAAI;IACnBvc,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAAA,IAAVC,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACV,MAAMjJ,GAAG,GAAG,EAAA+I,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAc/I,GAAG,OAAAgJ,cAAA,GAAIC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAcG,iBAAiB,KAAI,IAAI;MACxE,oBACE1M,cAAA,CAAAC,aAAA;QAAM4I,SAAS,EAAC,MAAM;QAACE,OAAO,EAAEA,MAAM+C,YAAY,CAACvI,GAAG;SACnDA,GACG,CAAC;;GAGZ,EACD;IACE2I,MAAM,EAAE1O,CAAC,CAAC,mBAAmB,CAAC;IAC9B2O,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEO,KAAA;MAAA,IAAAC,cAAA;MAAA,IAAGJ,GAAG,GAAAG,KAAA,CAAHH,GAAG;MAAA,oBAAOxM,cAAA,CAAAC,aAAA,eAAOwE,WAAW,EAAAmI,cAAA,GAACJ,GAAG,CAACC,QAAQ,cAAAG,cAAA,uBAAZA,cAAA,CAAcC,WAAW,CAAC,IAAI,IAAW,CAAC;;GACjF,EACD;IACEX,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC;IACxB2O,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAEU,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVR,GAAG,GAAAM,KAAA,CAAHN,GAAG;MACV,MAAMS,MAAM,GAAG,CAAC,EAAAF,cAAA,GAAAP,GAAG,CAACC,QAAQ,cAAAM,cAAA,uBAAZA,cAAA,CAAcE,MAAM,KAAI,SAAS,EAAE/H,WAAW,EAAE;MAChE,oBAAOlF,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqBoE;SAAWxI,WAAW,CAAC,EAAAuI,cAAA,GAAAR,GAAG,CAACC,QAAQ,cAAAO,cAAA,uBAAZA,cAAA,CAAcC,MAAM,KAAI,SAAS,CAAQ,CAAC;;GAE/G,EACD;IACEf,MAAM,EAAE1O,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;IAC3C2O,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEc,KAAA;MAAA,IAAGtE,KAAK,GAAAsE,KAAA,CAALtE,KAAK;MAAA,OAAQA,KAAK,GAAGlL,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACjgB,KAAK,CAAC,GAAG,GAAG;;GAC9E,EACD;IACEsD,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;IACzC2O,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEmB,KAAA;MAAA,IAAG3E,KAAK,GAAA2E,KAAA,CAAL3E,KAAK;MAAA,OAAQA,KAAK,GAAGlL,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACjgB,KAAK,CAAC,GAAG,GAAG;;GAC9E,EACD;IACEsD,MAAM,EAAE1O,CAAC,CAAC,kBAAkB,CAAC;IAC7B2O,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAE0c,KAAA,IAAa;MAAA,IAAA3b,cAAA,EAAAC,cAAA;MAAA,IAAVZ,GAAG,GAAAsc,KAAA,CAAHtc,GAAG;MACV,MAAMa,GAAG,GAAG,EAAAF,cAAA,GAAAX,GAAG,CAACC,QAAQ,cAAAU,cAAA,uBAAZA,cAAA,CAAcjL,UAAU,OAAAkL,cAAA,GAAIZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAcE,UAAU,KAAI,IAAI;MACxE,MAAMpL,UAAU,GAAGmL,GAAG,CAACnI,WAAW,EAAE;MACpC,oBAAOlF,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqB3G;SAAeuC,WAAW,CAAC4I,GAAG,CAAQ,CAAC;;GAErF,CACF;EAED,OAAO;IACL0b,WAAW,EAAE,KAAK;IAClBC,QAAQ,EAAE,KAAK;IACfC,gBAAgB,EAAE,IAAI;IACtBC,UAAU,EAAE,iBAAiB;IAC7Bne,gBAAgB,EAAEA,gBAAgB;IAClCF,WAAW,EAAElM,MAAM;IACnBgM,UAAU,EAAEA;MAAA,IAAAwe,qBAAA;MAAA,OACVjB,QAAQ,CAAC;QACPkB,MAAM,EAAE,iBAAiB;QACzBrqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;UAAE9pB,MAAM,EAAE0qB,QAAQ,EAAAF,qBAAA,GAACnB,SAAS,CAACS,SAAS,cAAAU,qBAAA,uBAAnBA,qBAAA,CAAqBxqB,MAAM,CAAC,GAAGC;UAAO;QACvFupB;OACD,CAAC;;IACJvd,UAAU,EAAEA;MAAA,IAAA0e,qBAAA;MAAA,OACVpB,QAAQ,CAAC;QACPkB,MAAM,EAAE,iBAAiB;QACzBrqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;UAAE9pB,MAAM,EAAE0qB,QAAQ,EAAAC,qBAAA,GAACtB,SAAS,CAACS,SAAS,cAAAa,qBAAA,uBAAnBA,qBAAA,CAAqB3qB,MAAM,CAAC,GAAGC;UAAO;QACvFupB;OACD,CAAC;;IACJrd,aAAa,EAAElM,KAAK;IACpB8L,MAAM,EAAE0d,eAAe;IAEvBjd,YAAY,EAAElM,UAAU;IACxBgP,QAAQ,EAAE+Z,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEuB,UAAU,cAAAxB,qBAAA,uBAArBA,qBAAA,CAAuByB,OAAO;IACxC7B,UAAU,EAAEA,MACVO,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE9pB,MAAM,EAAEmI,IAAI,CAAC2V,GAAG,CAAC,CAAC,EAAE3V,IAAI,CAAC2iB,KAAK,CAAC,CAACxqB,UAAU,GAAG,CAAC,IAAIL,KAAK,CAAC,GAAGA,KAAK;QAAG;MACnGupB;KACD,CAAC;IACJT,WAAW,EAAEA,MAAMQ,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE9pB,MAAM,EAAE;QAAG;MAAEwpB;KAAe,CAAC;IAGtHppB,IAAI,EAAEkpB,KAAK;IACXhc,OAAO,EAAEyc,iBAAiB;IAC1BJ,WAAW,EAAA1Z,QAAA,KAAO0Z,WAAW,CAAE;IAC/BE,UAAU,EAAA5Z,QAAA,KAAO4Z,UAAU;GAC5B;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HD,MAAMkB,0BAA0B,GAAGloB,IAAA,IAAwD;EAAA,IAArDmoB,eAAe,GAAAnoB,IAAA,CAAfmoB,eAAe;IAAEC,iBAAiB,GAAApoB,IAAA,CAAjBooB,iBAAiB;IAAEC,UAAU,GAAAroB,IAAA,CAAVqoB,UAAU;EAClF,MAAAvsB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAQssB,MAAM,GAAKH,eAAe,CAA1BG,MAAM;EAEd,IAAID,UAAU,KAAK,QAAQ,EAAE;IAC3B,oBACE7pB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBAEbjnB,cAAA,CAAAC,aAAA;MAAM4I,SAAS,EAAC;oBACd7I,cAAA,CAAAC,aAAA,CAAC8pB,4BAAK;MAAClhB,SAAS,EAAC;OACdrL,CAAC,CAAC,sBAAsB,CAAC,IAAI,eAAe,eAC7CwC,cAAA,CAAAC,aAAA,CAAC+pB,oCAAa;MAACR,OAAO,EAAEhsB,CAAC,CAAC,4BAA4B;KAAI,CACrD,CAAC,eAERwC,cAAA,CAAAC,aAAA,CAACgqB,UAAU;MACTjoB,IAAI,EAAC,cAAc;MACnBkoB,OAAO,EAAEN,iBAAkB;MAC3BO,YAAY,EAAC,EAAE;MACfC,KAAK,EAAE;QACLC,OAAO,EAAE;UACPzhB,KAAK,EAAE,cAAc;UACrB4gB,OAAO,EAAEhsB,CAAC,CAAC,2BAA2B;;OAExC;MACF8sB,MAAM,EAAEje,KAAA;QAAA,IAAG0C,QAAQ,GAAA1C,KAAA,CAAR0C,QAAQ;UAAEnG,KAAK,GAAAyD,KAAA,CAALzD,KAAK;QAAA,oBAAO5I,cAAA,CAAAC,aAAA,CAACyP,gCAAS;UAAC9G,KAAK,EAAEA,KAAK,IAAI,EAAG;UAACmG,QAAQ,EAAGhO,CAAC,IAAKgO,QAAQ,CAAChO,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;SAAI,CAAC;;KAC9G,CAAC,EAED,CAAAkhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAElmB,YAAY,kBAAI5D,cAAA,CAAAC,aAAA,CAACsqB,qCAAc,QAAET,MAAM,CAAClmB,YAAY,CAAC4lB,OAAwB,CAClF,CACQ,CAAC;;EAIrB,oBACExpB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBAEbjnB,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA,CAAC8pB,4BAAK;IAAClhB,SAAS,EAAC;KACdrL,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,eACjCwC,cAAA,CAAAC,aAAA,CAAC+pB,oCAAa;IAACR,OAAO,EAAEhsB,CAAC,CAAC,uBAAuB;GAAI,CAChD,CAAC,eAERwC,cAAA,CAAAC,aAAA,CAACgqB,UAAU;IACTjoB,IAAI,EAAC,SAAS;IACdkoB,OAAO,EAAEN,iBAAkB;IAC3BO,YAAY,EAAC,EAAE;IACfC,KAAK,EAAE;MACLC,OAAO,EAAE;QACPzhB,KAAK,EAAE,aAAa;QACpB4gB,OAAO,EAAEhsB,CAAC,CAAC,iBAAiB;;KAE9B;IACF8sB,MAAM,EAAE3d,KAAA;MAAA,IAAGoC,QAAQ,GAAApC,KAAA,CAARoC,QAAQ;QAAEnG,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAA,oBAAO5I,cAAA,CAAAC,aAAA,CAACyP,gCAAS;QAAC9G,KAAK,EAAEA,KAAK,IAAI,EAAG;QAACmG,QAAQ,EAAGhO,CAAC,IAAKgO,QAAQ,CAAChO,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;OAAI,CAAC;;GAC9G,CAAC,EAED,CAAAkhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/d,OAAO,kBAAI/L,cAAA,CAAAC,aAAA,CAACsqB,qCAAc,QAAET,MAAM,CAAC/d,OAAO,CAACyd,OAAwB,CACxE,CACQ,CAAC;AAErB,CAAC;;AC1DD,MAAMgB,uBAAuB,GAAGhpB,IAAA,IAA+C;EAAA,IAAApE,qBAAA,EAAAC,sBAAA,EAAA8nB,sBAAA;EAAA,IAA5C8C,KAAK,GAAAzmB,IAAA,CAALymB,KAAK;IAAExqB,QAAQ,GAAA+D,IAAA,CAAR/D,QAAQ;IAAAgtB,iBAAA,GAAAjpB,IAAA,CAAEkpB,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,KAAK,GAAAA,iBAAA;EACtE,MAAAntB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAA3J,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAA3C8J,WAAW,GAAA/J,SAAA;IAAEgK,cAAc,GAAAhK,SAAA;EAClC,MAAAnD,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACkN,UAAU,CAAC,QAAQ,EAAElO,QAAQ,CAAC;IAAzEmO,UAAU,GAAArN,qBAAA,CAAhBQ,IAAI;IAAc8M,SAAS,GAAAtN,qBAAA,CAATsN,SAAS;EACnC,MAAMwZ,QAAQ,GAAG,EAAAjoB,qBAAA,GAAAM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,wBAAA8nB,sBAAA,GAAtC9nB,sBAAA,CAAwCuK,IAAI,cAAAud,sBAAA,uBAA5CA,sBAAA,CAA8CpgB,WAAW,EAAE,KAAI,SAAS;EAEzF/E,cAAK,CAACsH,SAAS,CAAC,MAAM;IACpB,IAAI,CAACojB,YAAY,IAAI9e,UAAU,EAAE;MAC/BR,OAAO,CAAC3L,IAAI,gBAAc4lB,QAAQ,qBAAgB5Z,WAAW,EAAI;QAAEO,WAAW,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,WAAW;QAAEJ;OAAY,CAAC;;GAGzH,EAAE,CAACA,UAAU,EAAE8e,YAAY,CAAC,CAAC;EAE9B,MAAM5e,YAAY,GAAIvI,GAAG,IAAK;IAC5BmI,cAAc,CAACnI,GAAG,CAAC;IACnBsI,SAAS,CAAC;MAAEtI;KAAK,CAAC;GACnB;EAED,MAAMonB,sBAAsB,GAAInZ,EAAE,IAAK;IACrCpG,OAAO,CAAC3L,IAAI,gBAAc4lB,QAAQ,sCAAiC7T,EAAI,CAAC;GACzE;EAED,MAAMoZ,uBAAuB,GAAG3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE7pB,GAAG,CAAEiH,IAAI,IAAK;IACnD,IAAIqlB,YAAY,EAAE;MAAA,IAAAG,WAAA;MAChB,MAAMrZ,EAAE,GAAGnM,IAAI,CAACmM,EAAE;MAClB,MAAMvE,MAAM,GAAG5H,IAAI,CAAC4H,MAAM,IAAI,SAAS;MAEvC,OAAO;QACL,CAACzP,CAAC,CAAC,eAAe,CAAC,gBACjBwC,cAAA,CAAAC,aAAA;UAAM4I,SAAS,EAAC,MAAM;UAACE,OAAO,EAAEA,MAAM4hB,sBAAsB,CAACnZ,EAAE;WAC5DnM,IAAI,CAACwX,YAAY,IAAIxX,IAAI,CAACrD,IAAI,IAAI,IAC/B,CACP;QACD,CAACxE,CAAC,CAAC,eAAe,CAAC,GAAG6H,IAAI,CAACsa,QAAQ,MAAAkL,WAAA,GAAIxlB,IAAI,CAACqa,KAAK,cAAAmL,WAAA,uBAAVA,WAAA,CAAYjnB,YAAY,KAAI,IAAI;QACvE,CAACpG,CAAC,CAAC,QAAQ,CAAC,gBAAGwC,cAAA,CAAAC,aAAA;UAAM4I,SAAS,uBAAqBoE;WAAWzP,CAAC,CAACyP,MAAM,CAAQ,CAAC;QAC/E,CAACzP,CAAC,CAAC,cAAc,CAAC,GAAG6H,IAAI,CAACylB,WAAW,IAAI;OAC1C;KACF,MAAM;MACL,MAAMvnB,GAAG,GAAG8B,IAAI,CAAC9B,GAAG,IAAI8B,IAAI,CAACqH,iBAAiB,IAAI,IAAI;MACtD,MAAMO,MAAM,GAAG,CAAC5H,IAAI,CAAC4H,MAAM,IAAI,SAAS,EAAE/H,WAAW,EAAE;MACvD,MAAMhD,UAAU,GAAG,CAACmD,IAAI,CAACnD,UAAU,IAAImD,IAAI,CAACiI,UAAU,IAAI,IAAI,EAAEpI,WAAW,EAAE;MAE7E,OAAO;QACL,CAAC1H,CAAC,CAAC,qBAAqB,CAAC,gBACvBwC,cAAA,CAAAC,aAAA;UAAM4I,SAAS,EAAC,MAAM;UAACE,OAAO,EAAEA,MAAM+C,YAAY,CAACvI,GAAG;WACnDA,GACG,CACP;QACD,CAAC/F,CAAC,CAAC,mBAAmB,CAAC,GAAG6H,IAAI,CAACwH,WAAW,IAAI,IAAI;QAClD,CAACrP,CAAC,CAAC,aAAa,CAAC,gBAAGwC,cAAA,CAAAC,aAAA;UAAM4I,SAAS,uBAAqBoE;WAAWzP,CAAC,MAAIyP,MAAQ,CAAQ,CAAC;QACzF,CAACzP,CAAC,CAAC,cAAc,CAAC,GAAG6H,IAAI,CAACua,WAAW,GAAGliB,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACxjB,IAAI,CAACua,WAAW,CAAC,GAAG,GAAG;QAClG,CAACpiB,CAAC,CAAC,aAAa,CAAC,GAAG6H,IAAI,CAAC0lB,UAAU,GAAGrtB,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACxjB,IAAI,CAAC0lB,UAAU,CAAC,GAAG,GAAG;QAC/F,CAACvtB,CAAC,CAAC,kBAAkB,CAAC,gBAAGwC,cAAA,CAAAC,aAAA;UAAM4I,SAAS,uBAAqB3G;WAAe1E,CAAC,MAAI0E,UAAY,CAAQ;OACtG;;GAEJ,CAAC;EAEF,MAAM8oB,oBAAoB,GAAGA,MAAM;IACjC,MAAMC,gBAAgB,GAAG,CACvB;MACE3sB,IAAI,EAAE,MAAM;MACZ4sB,OAAO,EAAE;KACV,EACD;MACE5sB,IAAI,EAAE,KAAK;MACX4sB,OAAO,EAAE;KACV,CACF;IACD,MAAAC,eAAA,GAAqCC,cAAc,EAAE;MAApCC,eAAe,GAAAF,eAAA,CAAxBjB,OAAO;IACf,oBACElqB,cAAA,CAAAC,aAAA,CAACqrB,kCAAW,qBACVtrB,cAAA,CAAAC,aAAA,CAACgqB,UAAU;MACTjoB,IAAI,EAAC,WAAW;MAChBkoB,OAAO,EAAEmB,eAAgB;MACzBf,MAAM,EAAEje,KAAA;QAAA,IAAG0C,QAAQ,GAAA1C,KAAA,CAAR0C,QAAQ;UAAEnG,KAAK,GAAAyD,KAAA,CAALzD,KAAK;QAAA,oBACxB5I,cAAA,CAAAC,aAAA,CAACsrB,mCAAY;UACXC,QAAQ,EAAGzqB,CAAC,IAAK;YACfgO,QAAQ,CAAChO,CAAC,CAACzC,IAAI,CAAC;WAChB;UACFmtB,cAAc,EAAER,gBAAgB,CAAC1lB,MAAM,CAAEuM,MAAM,IAAKA,MAAM,CAACxT,IAAI,KAAKsK,KAAK,CAAC,CAAC,CAAC,CAAE;UAC9E8iB,UAAU,EAAC,SAAS;UACpB1pB,IAAI,EAAC,WAAW;UAChBmG,OAAO,EAAE8iB;SACV,CAAC;;KAEL,CACU,CAAC;GAEjB;EAED,OAAO;IACLlsB,IAAI,EAAE6rB,uBAAuB;IAC7Be,kBAAkB,EAAE,IAAI;IACxBC,kBAAkB,EAAEA,MAAM,EAAE;IAC5BC,kBAAkB,EAAE,KAAK;IACzBpb,mBAAmB,EAAEia,YAAY,GAAG,IAAI,GAAG,eAAe;IAC1DM;GACD;AACH,CAAC;;AChGD,MAAMc,KAAK,GAAGtqB,IAAA,IAAqB;EAAA,IAAA2nB,qBAAA,EAAAG,qBAAA,EAAAyC,sBAAA,EAAAC,sBAAA;EAAA,IAAlBhhB,WAAW,GAAAxJ,IAAA,CAAXwJ,WAAW;EAC1B,MAAMvN,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAMwB,QAAQ,GAAGua,0BAAW,EAAE;EAE9B,MAAMsS,aAAa,GAAG;IACpBC,UAAU,EAAE,EAAE;IACd3C,UAAU,EAAE,EAAE;IACdd,SAAS,EAAE;MACT7pB,KAAK,EAAE,EAAE;MACTD,MAAM,EAAE,CAAC;MACTwtB,MAAM,EAAE,aAAa;MACrBC,SAAS,EAAE;;GAEd;EAED,MAAAC,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DjE,SAAS,GAAAqE,WAAA;IAAEnE,QAAQ,GAAAmE,WAAA;EAE1B,MAAMnS,OAAO,GAAG7X,aAAO,CAAC,MAAM;IAC5B,MAAMknB,UAAU,GAAG,CAAAvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,KAAI,EAAE;IAC9C,OAAA3a,QAAA,KACK2a,UAAU,EACTA,UAAU,CAACxd,OAAO,IAAI;MAAExI,GAAG,EAAEgmB,UAAU,CAACxd;KAAS;GAExD,EAAE,CAACic,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,CAAC,CAAC;EAE3B,MAAMiD,WAAW,GAAGnqB,aAAO,CAAC,MAAM;IAAA,IAAAwlB,oBAAA,EAAAC,qBAAA;IAChC,OAAO;MACLrqB,QAAQ;MACRkB,MAAM,EAAE,CAAAqpB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBlpB,MAAM,KAAI,CAAC;MACzCC,KAAK,EAAE,CAAAopB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBlpB,KAAK,KAAI;KACvC;GACF,EAAE,CAACnB,QAAQ,EAAEuqB,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsBxqB,MAAM,EAAEqpB,SAAS,aAATA,SAAS,wBAAAsB,qBAAA,GAATtB,SAAS,CAAES,SAAS,cAAAa,qBAAA,uBAApBA,qBAAA,CAAsB1qB,KAAK,CAAC,CAAC;EAEzE,MAAAL,qBAAA,GAA0Db,KAAK,CAACc,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAACwb,OAAO,EAAEsS,WAAW,EAAE;MACtH3tB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACnB,CAAC;IAHiBwL,aAAa,GAAAluB,qBAAA,CAAxBS,SAAS;IAAA0tB,sBAAA,GAAAnuB,qBAAA,CAAiBQ,IAAI;IAAED,QAAQ,GAAA4tB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAKrD,MAAMC,aAAa,GAAGtqB,aAAO,CAC3B;IAAA,IAAA0lB,qBAAA,EAAA6E,sBAAA;IAAA,OAAO;MACLrpB,GAAG,EAAE,CAAAykB,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEuB,UAAU,cAAAxB,qBAAA,uBAArBA,qBAAA,CAAuBhc,OAAO,KAAI,EAAE;MACzC/J,IAAI,EAAE,CAAAgmB,SAAS,aAATA,SAAS,wBAAA4E,sBAAA,GAAT5E,SAAS,CAAEuB,UAAU,cAAAqD,sBAAA,uBAArBA,sBAAA,CAAuBvd,KAAK,KAAI;KACvC;GAAC,EACF,CAAC2Y,SAAS,aAATA,SAAS,wBAAA+D,sBAAA,GAAT/D,SAAS,CAAEuB,UAAU,cAAAwC,sBAAA,uBAArBA,sBAAA,CAAuBhgB,OAAO,EAAEic,SAAS,aAATA,SAAS,wBAAAgE,sBAAA,GAAThE,SAAS,CAAEuB,UAAU,cAAAyC,sBAAA,uBAArBA,sBAAA,CAAuB3c,KAAK,CAC/D,CAAC;EAED,MAAMwd,cAAc,GAAG,CAAC,EAAEF,aAAa,CAACppB,GAAG,IAAIopB,aAAa,CAAC3qB,IAAI,CAAC;EAElE,MAAA8qB,sBAAA,GAAyDpvB,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAC3F;MACEtvB,QAAQ;MACRkhB,OAAO,EAAEgO;KACV,EACD;MACE9tB,OAAO,EAAE,CAAC,CAACpB,QAAQ,IAAI,CAAC,CAACkvB,aAAa,CAACppB,GAAG;MAC1C0d,gBAAgB,EAAE;KAEtB,CAAC;IATkB+L,eAAe,GAAAF,sBAAA,CAA1B9tB,SAAS;IAAyBiuB,UAAU,GAAAH,sBAAA,CAAhB/tB,IAAI;EAWxC,MAAMmuB,UAAU,GAAG7qB,aAAO,CAAC,MAAM;IAC/B,IAAIwqB,cAAc,EAAE;MAClB,IAAI,CAACI,UAAU,EAAE,OAAO,EAAE;MAC1B,OAAO,CAACA,UAAU,CAAC;;IAGrB,OAAO,CAAAnuB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqE,YAAY,KAAI,EAAE;GACpC,EAAE,CAAC0pB,cAAc,EAAEI,UAAU,EAAEnuB,QAAQ,CAAC,CAAC;EAE1C,MAAMquB,YAAY,GAAG9qB,aAAO,CAAC,MAAM;IACjC,OAAO,CAAC6qB,UAAU,IAAI,EAAE,EAAE9uB,GAAG,CAAEiH,IAAI,IAAK;MAAA,IAAA+nB,SAAA;MAEtC,MAAMC,YAAY,GAAG,CAAC,CAAChoB,IAAI,CAACioB,iBAAiB;MAE7C,IAAID,YAAY,EAAE;QAAA,IAAAE,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QAChB,OAAO;UACLC,aAAa,EAAE,EAAAR,kBAAA,GAAAloB,IAAI,CAAC2oB,YAAY,cAAAT,kBAAA,uBAAjBA,kBAAA,CAAmBhqB,GAAG,KAAI,EAAE;UAC3C0qB,YAAY,EAAE,EAAAT,mBAAA,GAAAnoB,IAAI,CAAC2oB,YAAY,cAAAR,mBAAA,uBAAjBA,mBAAA,CAAmBjqB,GAAG,KAAI,EAAE;UAC1Cmc,KAAK,EAAE,EAAA+N,qBAAA,GAAApoB,IAAI,CAACioB,iBAAiB,cAAAG,qBAAA,uBAAtBA,qBAAA,CAAwBS,YAAY,KAAI,EAAE;UACjDxhB,iBAAiB,EAAE,EAAAghB,mBAAA,GAAAroB,IAAI,CAAC2oB,YAAY,cAAAN,mBAAA,uBAAjBA,mBAAA,CAAmBnqB,GAAG,KAAI,EAAE;UAC/CsJ,WAAW,EAAE,EAAA8gB,sBAAA,GAAAtoB,IAAI,CAACioB,iBAAiB,cAAAK,sBAAA,uBAAtBA,sBAAA,CAAwBO,YAAY,KAAI,EAAE;UACvDjhB,MAAM,EAAE,EAAA2gB,sBAAA,GAAAvoB,IAAI,CAACioB,iBAAiB,cAAAM,sBAAA,uBAAtBA,sBAAA,CAAwBO,UAAU,KAAI,EAAE;UAChDjsB,UAAU,EAAE,CACV,EAAA2rB,sBAAA,GAAAxoB,IAAI,CAACioB,iBAAiB,cAAAO,sBAAA,uBAAtBA,sBAAA,CAAwB3rB,UAAU,OAAA4rB,sBAAA,GAClCzoB,IAAI,CAACioB,iBAAiB,cAAAQ,sBAAA,uBAAtBA,sBAAA,CAAwBxgB,UAAU,KAClCjI,IAAI,CAACnD,UAAU,IACfmD,IAAI,CAACiI,UAAU,IACf,IAAI,EACJpI,WAAW,EAAE;UACfkpB,GAAG,EAAE;SACN;;MAIH,MAAMrsB,QAAQ,GAAG,CAACsD,IAAI,CAAC7B,SAAS,EAAE6B,IAAI,CAAC5B,UAAU,EAAE4B,IAAI,CAAC3B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAC3F,OAAAmJ,QAAA,KACKvJ,IAAI;QACP0oB,aAAa,EAAE1oB,IAAI,CAAC9B,GAAG,IAAI8B,IAAI,CAACqH,iBAAiB,IAAI,EAAE;QACvDuhB,YAAY,EAAE5oB,IAAI,CAAC9B,GAAG,IAAI,EAAE;QAC5Bmc,KAAK,EAAE3d,QAAQ,IAAIsD,IAAI,CAAC6oB,YAAY,IAAI7oB,IAAI,CAACwH,WAAW,IAAI,EAAE;QAC9DH,iBAAiB,EAAErH,IAAI,CAAC9B,GAAG,IAAI8B,IAAI,CAACqH,iBAAiB,IAAI,EAAE;QAC3DG,WAAW,EAAE9K,QAAQ,IAAIsD,IAAI,CAAC6oB,YAAY,IAAI7oB,IAAI,CAACwH,WAAW,IAAI,EAAE;QACpEI,MAAM,EAAE5H,IAAI,CAAC4H,MAAM,IAAI,EAAE;QACzB/K,UAAU,EAAE,CAACmD,IAAI,CAACnD,UAAU,IAAImD,IAAI,CAACiI,UAAU,IAAI,IAAI,EAAEpI,WAAW,EAAE;QACtEkpB,GAAG,GAAAhB,SAAA,GAAE/nB,IAAI,CAAC+oB,GAAG,YAAAhB,SAAA,GAAI;;KAEpB,CAAC;GACH,EAAE,CAACF,UAAU,CAAC,CAAC;EAEhB,MAAM/hB,YAAY,GAAG,CAAArM,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,CAAC;EAE9C,MAAMkpB,aAAa,GAAG/oB,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,YAAY,CAAC;EAE9D,MAAM+uB,gBAAgB,GAAGC,iBAAW,CAClCjiB,KAAA;IAAA,IAAGkiB,WAAW,GAAAliB,KAAA,CAAXkiB,WAAW;MAAE5E,eAAe,GAAAtd,KAAA,CAAfsd,eAAe;MAAEC,iBAAiB,GAAAvd,KAAA,CAAjBud,iBAAiB;IAAA,oBAChD5pB,cAAA,CAAAC,aAAA,CAACypB,0BAA0B;MAAO6E,WAAW;MAAE5E,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAChhB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAM2lB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBvtB,KAAK,EAAEO,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAAC0P,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD/vB,MAAM,EAAE,CAAC;IACTytB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAI5vB,IAAI,IAAK;IACnCA,IAAI,CAAC6vB,cAAc,CAAC,EAAE,CAAC,KAAW7vB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CmpB,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAO4f,2BAA2B,CAAE;MAAErG;KAAe,CAAC;IAChGD,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB,IAAI;MAAEopB;KAAe,CAAC;GAC9D;EAED,MAAM0G,uBAAuB,GAAG;IAC9B9iB,OAAO,EAAE,EAAE;IACXW,iBAAiB,EAAE,EAAE;IACrBoiB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtC9G,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB,IAAI,EAAE8vB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAE7G,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU;IAC9C2F,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjBlmB,SAAS,EAAE;GACZ;EAED,SAAS0jB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;IAEnC,QAAQA,OAAO,CAAChG,MAAM;MACpB,KAAK,kBAAkB;QACrB1rB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAAC,YAAY,EAAAzgB,QAAA,KAAOugB,KAAK;UAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;UAAM,CAAC;QAC9E,OAAA6P,QAAA,KAAYugB,KAAK;UAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;;MAEzC,KAAK,kBAAkB;QACrBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAAC,YAAY,EAAAzgB,QAAA,KAAOugB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;UAAM,CAAC;QAC9E,OAAA6P,QAAA,KAAYugB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;;MAEzC,KAAK,iBAAiB;QACpBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAAC,YAAY,EAAAzgB,QAAA,KAAOugB,KAAK;UAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;UAAM,CAAC;QAC7E,OAAA6P,QAAA,KAAYugB,KAAK;UAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;;MAExC;QACE,OAAOowB,KAAK;;;EAIlB,MAAMpkB,gBAAgB,GAAIhK,CAAC,IAAK;IAC9B,MAAMuuB,QAAQ,GAAG3M,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC;IAEvCsf,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB7pB,KAAK,EAAE0wB,QAAQ;QACf3wB,MAAM,EAAE;QACT;MACDwpB;KACD,CAAC;GACH;EAED,MAAMC,eAAe,GAAIrnB,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAAClB,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA0vB,GAAA,GAAuBxuB,CAAC;QAAfyQ,EAAE,GAAA+d,GAAA,CAAF/d,EAAE;QAAEge,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAG3a,EAAE;MAEjB,IAAI,EAAEwW,SAAS,CAACS,SAAS,CAAC0D,MAAM,KAAKA,MAAM,IAAInE,SAAS,CAACS,SAAS,CAAC2D,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FlE,QAAQ,CAAC;UACPkB,MAAM,EAAE,iBAAiB;UACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;YACtB0D,MAAM,EAAE3a,EAAE;YACV4a,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;YAC5B;UACDrH;SACD,CAAC;;;GAGP;EAED,MAAMsH,kBAAkB,GAAG7H,mBAAmB,CAAAhZ,QAAA,KACzC;IACD5D,WAAW;IACXD,gBAAgB;IAChBid,SAAS;IACT/oB,UAAU,EAAEkM,YAAY;IACxB8c,KAAK,EAAEkF,YAAY;IACnBjF,QAAQ;IACRE,eAAe;IACf3qB,QAAQ;IACR0qB,aAAa;IACbG,WAAW,EAAE;MAAEoH,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzDnH,UAAU,EAAE;MAAExf,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAM4mB,qBAAqB,GAAI7wB,IAAI,IAAK;IACtC,MAAQqtB,SAAS,GAAKrtB,IAAI,CAAlBqtB,SAAS;IACjBlE,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE2D;;KAAa,CAAC;GACrF;EAED,MAAMyD,eAAe,GAAIC,gBAAgB,IAAK;IAC5CA,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrC5H,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAEyvB;KAA6B,CAAC;GAC3E;EAED,MAAMuB,sBAAsB,GAAG;IAAEH,qBAAqB;IAAEI,qBAAqB,EAAEhI,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAES,SAAS;IAAEoH;GAAiB;EACtH,MAAMI,wBAAwB,GAAGzF,uBAAuB,CAAC;IAAEvC,KAAK,EAAEkF,YAAY;IAAE1vB;GAAU,CAAC;EAE3F,MAAMyyB,cAAc,GAAGzD,aAAa,IAAIO,eAAe;EAEvD,oBACEhtB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACkwB,oCAAa,EAAAvhB,QAAA;IAEVshB;KAEGjB,kBAAkB,EAElBc,sBAAsB;IACzBN,kBAAkB;IAClBQ,wBAAwB;IACxBjI,SAAS;IACTvmB,SAAS,EAAE3C,QAAQ;IACnBsxB,UAAU,EAAE,IAAI;IAChBC,kBAAkB,EAAE;IAEvB,CACE,CAAC;AAEV,CAAC;;ACtPD,MAAMC,cAAc,GAAG,CACnB;EAAEtuB,IAAI,EAAE,YAAY;EAAEwP,EAAE,EAAE,QAAQ;EAAE+e,IAAI,EAAE;AAAW,CAAC,EACtD;EAAEvuB,IAAI,EAAE,cAAc;EAAEwP,EAAE,EAAE,QAAQ;EAAE+e,IAAI,EAAE;AAAW,CAAC,EACxD;EAAEvuB,IAAI,EAAE,cAAc;EAAEwP,EAAE,EAAE,QAAQ;EAAE+e,IAAI,EAAE;AAAW,CAAC,EACxD;EAAEvuB,IAAI,EAAE,aAAa;EAAEwP,EAAE,EAAE,QAAQ;EAAE+e,IAAI,EAAE;AAAW,CAAC,CAC1D;AAED,MAAMC,SAAS,GAAG,CACd;EAAExuB,IAAI,EAAE,yBAAyB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAU,CAAC,EACnE;EAAEvY,IAAI,EAAE,uBAAuB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAQ,CAAC,EAC/D;EAAEvY,IAAI,EAAE,uBAAuB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAQ,CAAC,EAC/D;EAAEvY,IAAI,EAAE,sBAAsB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAO,CAAC,EAC7D;EAAEvY,IAAI,EAAE,sBAAsB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAO,CAAC,EAC7D;EAAEvY,IAAI,EAAE,mBAAmB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAS,CAAC,EAC5D;EAAEvY,IAAI,EAAE,mBAAmB;EAAE1D,IAAI,EAAE,OAAO;EAAEic,IAAI,EAAE;AAAS,CAAC,CAC/D;AAID,MAAMkW,OAAO,GAAGA,MAAM;EAClB,MAAAnzB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAGT,MAAAkE,SAAA,GAAgDC,cAAQ,CAAC,IAAI,CAAC;IAAvD+uB,gBAAgB,GAAAhvB,SAAA;IAAEivB,mBAAmB,GAAAjvB,SAAA;EAC5C,MAAAoY,UAAA,GAAsCnY,cAAQ,CAAC,IAAI,CAAC;IAA7CivB,WAAW,GAAA9W,UAAA;IAAE+W,cAAc,GAAA/W,UAAA;EAGlC,MAAAgL,UAAA,GAAgCnjB,cAAQ,CAAC,EAAE,CAAC;IAArCmvB,QAAQ,GAAAhM,UAAA;IAAEiM,WAAW,GAAAjM,UAAA;EAG5B,MAAAW,UAAA,GAAkC9jB,cAAQ,CAAC,IAAI,CAAC;IAAzCqvB,SAAS,GAAAvL,UAAA;IAAEwL,YAAY,GAAAxL,UAAA;EAC9B,MAAAG,UAAA,GAAwCjkB,cAAQ,CAAC,IAAI,CAAC;IAA/CuvB,YAAY,GAAAtL,UAAA;IAAEuL,eAAe,GAAAvL,UAAA;EACpC,MAAAG,UAAA,GAA8BpkB,cAAQ,CAAC,IAAI,CAAC;IAArCyvB,OAAO,GAAArL,UAAA;IAAEsL,UAAU,GAAAtL,UAAA;EAG1B,MAAAG,UAAA,GAAwCvkB,cAAQ,CAAC,IAAI,CAAC;IAA/C2vB,YAAY,GAAApL,UAAA;IAAEqL,eAAe,GAAArL,UAAA;EAEpC,MAAAsL,UAAA,GAA0B7vB,cAAQ,CAAC,IAAI,CAAC;IAAjC8vB,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAItB,MAAMG,gBAAgB,GAAGA,MAAM;IAC3B,IAAI,CAACjB,gBAAgB,IAAI,CAACE,WAAW,EAAE;MACnCc,QAAQ,CAAC;QAAE9pB,IAAI,EAAE,OAAO;QAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,wBAAwB,CAAC,IAAI;OAAuC,CAAC;MAC1G;;IAEJ,MAAMo0B,MAAM,GAAGd,QAAQ,CAACxW,IAAI,CACxBuX,CAAC,IAAIA,CAAC,CAACC,UAAU,KAAKpB,gBAAgB,CAAClf,EAAE,IAAIqgB,CAAC,CAACE,OAAO,KAAKnB,WAAW,CAACtyB,IAC3E,CAAC;IACD,IAAIszB,MAAM,EAAE;MACRF,QAAQ,CAAC;QAAE9pB,IAAI,EAAE,SAAS;QAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,qBAAqB,CAAC,IAAI;OAA+B,CAAC;MACjG;;IAEJuzB,WAAW,CAAC/hB,IAAI,IAAI,CAAC,GAAGA,IAAI,EAAE;MAC1BwC,EAAE,EAAEqM,IAAI,CAACmU,GAAG,EAAE;MACdnV,YAAY,EAAE6T,gBAAgB,CAAC1uB,IAAI;MACnC8vB,UAAU,EAAEpB,gBAAgB,CAAClf,EAAE;MAC/BygB,OAAO,EAAErB,WAAW,CAAC5uB,IAAI;MACzB+vB,OAAO,EAAEnB,WAAW,CAACtyB,IAAI;MACzBic,IAAI,EAAEqW,WAAW,CAACrW;KACrB,CAAC,CAAC;IACHsW,cAAc,CAAC,IAAI,CAAC;IACpBF,mBAAmB,CAAC,IAAI,CAAC;IACzBe,QAAQ,CAAC;MAAE9pB,IAAI,EAAE,SAAS;MAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,oBAAoB,CAAC,IAAI;KAA8B,CAAC;GAClG;EAED,MAAM00B,eAAe,GAAI1lB,GAAG,IAAK;IAC7BykB,YAAY,CAACzkB,GAAG,CAACgF,EAAE,CAAC;IACpB2f,eAAe,CAACb,cAAc,CAAClT,IAAI,CAACsG,CAAC,IAAIA,CAAC,CAAClS,EAAE,KAAKhF,GAAG,CAACslB,UAAU,CAAC,IAAI,IAAI,CAAC;IAC1ET,UAAU,CAACb,SAAS,CAACpT,IAAI,CAACyU,CAAC,IAAIA,CAAC,CAACvzB,IAAI,KAAKkO,GAAG,CAACulB,OAAO,CAAC,IAAI,IAAI,CAAC;GAClE;EAED,MAAMI,cAAc,GAAI3gB,EAAE,IAAK;IAC3B,IAAI,CAAC0f,YAAY,IAAI,CAACE,OAAO,EAAE;MAC3BM,QAAQ,CAAC;QAAE9pB,IAAI,EAAE,OAAO;QAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,wBAAwB,CAAC,IAAI;OAA+C,CAAC;MAClH;;IAGJ,MAAM40B,SAAS,GAAGtB,QAAQ,CAACxW,IAAI,CAC3BuX,CAAC,IAAIA,CAAC,CAACrgB,EAAE,KAAKA,EAAE,IAAIqgB,CAAC,CAACC,UAAU,KAAKZ,YAAY,CAAC1f,EAAE,IAAIqgB,CAAC,CAACE,OAAO,KAAKX,OAAO,CAAC9yB,IAClF,CAAC;IACD,IAAI8zB,SAAS,EAAE;MACXV,QAAQ,CAAC;QAAE9pB,IAAI,EAAE,SAAS;QAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,qBAAqB,CAAC,IAAI;OAA+B,CAAC;MACjG;;IAEJuzB,WAAW,CAAC/hB,IAAI,IAAIA,IAAI,CAAC5Q,GAAG,CAACyzB,CAAC,IAAIA,CAAC,CAACrgB,EAAE,KAAKA,EAAE,GAAGqgB,CAAC,GAAAjjB,QAAA,KAC1CijB,CAAC;MACJhV,YAAY,EAAEqU,YAAY,CAAClvB,IAAI;MAC/B8vB,UAAU,EAAEZ,YAAY,CAAC1f,EAAE;MAC3BygB,OAAO,EAAEb,OAAO,CAACpvB,IAAI;MACrB+vB,OAAO,EAAEX,OAAO,CAAC9yB,IAAI;MACrBic,IAAI,EAAE6W,OAAO,CAAC7W;MACjB,CAAC,CAAC;IACH0W,YAAY,CAAC,IAAI,CAAC;IAClBS,QAAQ,CAAC;MAAE9pB,IAAI,EAAE,SAAS;MAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,sBAAsB,CAAC,IAAI;KAAgC,CAAC;GACtG;EAED,MAAM60B,gBAAgB,GAAGA,MAAM;IAC3BpB,YAAY,CAAC,IAAI,CAAC;IAClBE,eAAe,CAAC,IAAI,CAAC;IACrBE,UAAU,CAAC,IAAI,CAAC;GACnB;EAED,MAAMiB,mBAAmB,GAAGA,MAAM;IAC9BvB,WAAW,CAAC/hB,IAAI,IAAIA,IAAI,CAACzJ,MAAM,CAACssB,CAAC,IAAIA,CAAC,CAACrgB,EAAE,KAAK8f,YAAY,CAAC9f,EAAE,CAAC,CAAC;IAC/D+f,eAAe,CAAC,IAAI,CAAC;IACrBG,QAAQ,CAAC;MAAE9pB,IAAI,EAAE,SAAS;MAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,sBAAsB,CAAC,IAAI;KAAmB,CAAC;GACzF;EAED,MAAM+0B,kBAAkB,GAAGA,MAAM;IAC7B,IAAIzB,QAAQ,CAACjxB,MAAM,KAAK,CAAC,EAAE;MACvB6xB,QAAQ,CAAC;QAAE9pB,IAAI,EAAE,OAAO;QAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,0BAA0B,CAAC,IAAI;OAAuB,CAAC;MAC5F;;IAGJk0B,QAAQ,CAAC;MAAE9pB,IAAI,EAAE,SAAS;MAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,6BAA6B,CAAC,IAAI;KAAyC,CAAC;GACtH;EAID,MAAMyO,OAAO,GAAG5J,aAAO,CAAC,MAAM,CAC1B;IACI6J,MAAM,EAAE1O,CAAC,CAAC,oBAAoB,CAAC,IAAI,UAAU;IAC7C2O,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAE5K,IAAA,IAAa;MAAA,IAAVgL,GAAG,GAAAhL,IAAA,CAAHgL,GAAG;MACR,MAAMgmB,SAAS,GAAGxB,SAAS,KAAKxkB,GAAG,CAACC,QAAQ,CAAC+E,EAAE;MAC/C,IAAIghB,SAAS,EAAE;QACX,oBACIxyB,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;UACLI,QAAQ,EAAEif,YAAa;UACvBlf,MAAM,EAAEmf,eAAgB;UACxBrf,MAAM,EAAEwe,cAAe;UACvBve,SAAS,EAAC,MAAM;UAChBvU,CAAC,EAAEA,CAAE;UACLoS,WAAW,EAAEpS,CAAC,CAAC,kCAAkC,CAAC,IAAI;SACzD,CAAC;;MAGV,oBACIwC,cAAA,CAAAC,aAAA,2BACID,cAAA,CAAAC,aAAA;QAAM4I,SAAS,EAAC;SAAQ2D,GAAG,CAACC,QAAQ,CAACoQ,YAAmB,CAAC,eACzD7c,cAAA,CAAAC,aAAA;QAAK6J,KAAK,EAAE;UAAE+M,QAAQ,EAAE,MAAM;UAAElO,KAAK,EAAE;;SAAW6D,GAAG,CAACC,QAAQ,CAACqlB,UAAgB,CAC9E,CAAC;;GAGjB,EACD;IACI5lB,MAAM,EAAE1O,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAc;IAChD2O,QAAQ,EAAE,SAAS;IACnBC,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAVG,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACR,MAAMgmB,SAAS,GAAGxB,SAAS,KAAKxkB,GAAG,CAACC,QAAQ,CAAC+E,EAAE;MAC/C,IAAIghB,SAAS,EAAE;QACX,oBACIxyB,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;UACLI,QAAQ,EAAEmf,OAAQ;UAClBpf,MAAM,EAAEqf,UAAW;UACnBvf,MAAM,EAAE0e,SAAU;UAClBze,SAAS,EAAC,MAAM;UAChBvU,CAAC,EAAEA,CAAE;UACLoS,WAAW,EAAEpS,CAAC,CAAC,6BAA6B,CAAC,IAAI;SACpD,CAAC;;MAGV,oBACIwC,cAAA,CAAAC,aAAA,2BACID,cAAA,CAAAC,aAAA,eAAOuM,GAAG,CAACC,QAAQ,CAACwlB,OAAc,CAAC,eACnCjyB,cAAA,CAAAC,aAAA;QAAK6J,KAAK,EAAE;UAAE+M,QAAQ,EAAE,MAAM;UAAElO,KAAK,EAAE;;SAAW6D,GAAG,CAACC,QAAQ,CAAC8N,IAAU,CACxE,CAAC;;GAGjB,EACD;IACIrO,MAAM,EAAE1O,CAAC,CAAC,kBAAkB,CAAC,IAAI,SAAS;IAC1C4O,IAAI,EAAEO,KAAA,IAAa;MAAA,IAAVH,GAAG,GAAAG,KAAA,CAAHH,GAAG;MACR,MAAMgmB,SAAS,GAAGxB,SAAS,KAAKxkB,GAAG,CAACC,QAAQ,CAAC+E,EAAE;MAC/C,IAAIghB,SAAS,EAAE;QACX,oBACIxyB,cAAA,CAAAC,aAAA;UAAK6J,KAAK,EAAE;YAAEvB,OAAO,EAAE,MAAM;YAAEkqB,GAAG,EAAE;;wBAChCzyB,cAAA,CAAAC,aAAA;UACI6J,KAAK,EAAE;YAAEkN,MAAM,EAAE,SAAS;YAAErO,KAAK,EAAE,SAAS;YAAEiJ,UAAU,EAAE;WAAS;UACnE7I,OAAO,EAAEA,MAAMopB,cAAc,CAAC3lB,GAAG,CAACC,QAAQ,CAAC+E,EAAE;WAE5ChU,CAAC,CAAC,gBAAgB,CACjB,CAAC,eACPwC,cAAA,CAAAC,aAAA;UACI6J,KAAK,EAAE;YAAEkN,MAAM,EAAE,SAAS;YAAErO,KAAK,EAAE,SAAS;YAAEiJ,UAAU,EAAE;WAAS;UACnE7I,OAAO,EAAEspB;WAER70B,CAAC,CAAC,kBAAkB,CACnB,CACL,CAAC;;MAGd,oBACIwC,cAAA,CAAAC,aAAA;QAAK6J,KAAK,EAAE;UAAEvB,OAAO,EAAE,MAAM;UAAEkqB,GAAG,EAAE;;sBAChCzyB,cAAA,CAAAC,aAAA;QAAM8I,OAAO,EAAEA,MAAMmpB,eAAe,CAAC1lB,GAAG,CAACC,QAAQ,CAAE;QAAC3C,KAAK,EAAE;UAAEkN,MAAM,EAAE;;sBACjEhX,cAAA,CAAAC,aAAA,CAACyyB,+BAAQ;QAAC7pB,SAAS,EAAC,MAAM;QAACM,IAAI,EAAC;OAAW,CACzC,CAAC,eACPnJ,cAAA,CAAAC,aAAA;QAAM8I,OAAO,EAAEA,MAAMwoB,eAAe,CAAC/kB,GAAG,CAACC,QAAQ,CAAE;QAAC3C,KAAK,EAAE;UAAEkN,MAAM,EAAE;;sBACjEhX,cAAA,CAAAC,aAAA,CAAC0yB,iCAAU;QAAC9pB,SAAS,EAAC,MAAM;QAACM,IAAI,EAAC;OAAW,CAC3C,CACL,CAAC;;GAGjB,CACJ,EAAE,CAAC6nB,SAAS,EAAEE,YAAY,EAAEE,OAAO,EAAEN,QAAQ,EAAEtzB,CAAC,CAAC,CAAC;EAInD,oBACIwC,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACXjnB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC,gCAAgC;IAACiB,KAAK,EAAE;MAAE0P,SAAS,EAAE;;kBACjExZ,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,QAAQ;IAACiB,KAAK,EAAE;MAAEwN,YAAY,EAAE;;kBAC3CtX,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;kBACZ7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACypB,KAAK,EAAC;kBAC9D5yB,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC,iCAAiC;IAACJ,MAAM,EAAC,OAAO;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;GAAS,CAAC,eACxHvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC,gEAAgE;IAACJ,MAAM,EAAC,OAAO;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;GAAS,CACrJ,CACH,CAAC,eACPvJ,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAQrL,CAAC,CAAC,uBAAuB,CAAC,IAAI,kBAAyB,CAC9E,CACJ,CACH,CACL,CAAC,eAENwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI,qBACDnK,cAAA,CAAAC,aAAA,CAAC4yB,iCAAU,QAAEr1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,aAA0B,CAAC,eACjEwC,cAAA,CAAAC,aAAA,CAAC6yB,+BAAQ,QACJt1B,CAAC,CAAC,wBAAwB,CAAC,IAAI,wEAC1B,CAAC,eAEXwC,cAAA,CAAAC,aAAA,CAAC8yB,qCAAc,qBACX/yB,cAAA,CAAAC,aAAA,CAAC+yB,gCAAS,QAAEx1B,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,EAAC,IAAa,CAAC,eACzEwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;IACLI,QAAQ,EAAEye,gBAAiB;IAC3B1e,MAAM,EAAE2e,mBAAoB;IAC5B7e,MAAM,EAAEwe,cAAe;IACvBve,SAAS,EAAC,MAAM;IAChBvU,CAAC,EAAEA,CAAE;IACLoS,WAAW,EAAEpS,CAAC,CAAC,kCAAkC,CAAC,IAAI;GACzD,CACA,CACO,CAAC,eAEjBwC,cAAA,CAAAC,aAAA,CAAC8yB,qCAAc,qBACX/yB,cAAA,CAAAC,aAAA,CAAC+yB,gCAAS,QAAEx1B,CAAC,CAAC,iBAAiB,CAAC,IAAI,YAAY,EAAC,IAAa,CAAC,eAC/DwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;IACLI,QAAQ,EAAE2e,WAAY;IACtB5e,MAAM,EAAE6e,cAAe;IACvB/e,MAAM,EAAE0e,SAAU;IAClBze,SAAS,EAAC,MAAM;IAChBvU,CAAC,EAAEA,CAAE;IACLoS,WAAW,EAAEpS,CAAC,CAAC,6BAA6B,CAAC,IAAI;GACpD,CACA,CACO,CAAC,eAEjBwC,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAEvB,OAAO,EAAE,MAAM;MAAE0qB,cAAc,EAAE,UAAU;MAAEzZ,SAAS,EAAE;;kBAClExZ,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IACN7Q,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC,IAAI,qBAAsB;IACtDyR,QAAQ,EAAE0iB,gBAAiB;IAC3B7oB,QAAQ,EAAE,CAAC4nB,gBAAgB,IAAI,CAACE;GACnC,CACA,CACH,CAAC,EAENE,QAAQ,CAACjxB,MAAM,GAAG,CAAC,iBAChBG,cAAA,CAAAC,aAAA,CAACkK,2BAAI,qBACDnK,cAAA,CAAAC,aAAA,CAAC4yB,iCAAU,QACNr1B,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,EAAC,IAAE,EAACszB,QAAQ,CAACjxB,MAAM,EAAC,GAC3D,CAAC,eACbG,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACF5Q,CAAC,EAAEA,CAAE;IACLuB,IAAI,EAAE+xB,QAAS;IACf7kB,OAAO,EAAEA,OAAQ;IACjBoC,YAAY,EAAGC,QAAQ,IAAK;MACxB,OAAO;QACHxE,KAAK,EAAE;UACHqE,OAAO,EAAE,MAAM;UACf0I,QAAQ,EAAE;;OAEjB;KACH;IACFqc,cAAc,EAAC;GAClB,CACC,CACT,EAEApC,QAAQ,CAACjxB,MAAM,GAAG,CAAC,iBAChBG,cAAA,CAAAC,aAAA,CAACkzB,gCAAS,qBACNnzB,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IACN7Q,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC,IAAI,eAAgB;IAClDyR,QAAQ,EAAEsjB;GACb,CACM,CACd,EAEAjB,YAAY,iBACTtxB,cAAA,CAAAC,aAAA,CAACmzB,4BAAK;IACFC,aAAa,EAAE71B,CAAC,CAAC,qBAAqB,CAAC,IAAI,gBAAiB;IAC5D81B,YAAY,eACRtzB,cAAA,CAAAC,aAAA;MAAM8I,OAAO,EAAEA,MAAMwoB,eAAe,CAAC,IAAI,CAAE;MAACznB,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7I,OAAO,EAAE;;OAAS,GAEpF,CACT;IACDolB,eAAe,EAAE/1B,CAAC,CAAC,kBAAkB,CAAE;IACvCg2B,kBAAkB,EAAElB,mBAAoB;IACxCmB,iBAAiB,EAAEj2B,CAAC,CAAC,kBAAkB,CAAE;IACzCk2B,oBAAoB,EAAEA,MAAMnC,eAAe,CAAC,IAAI,CAAE;IAClDznB,KAAK,EAAE;MAAEqN,YAAY,EAAE;;kBAEvBnX,cAAA,CAAAC,aAAA,CAAC6yB,+BAAQ;IAAChpB,KAAK,EAAE;MAAE0P,SAAS,EAAE,MAAM;MAAElC,YAAY,EAAE;;KAC/C9Z,CAAC,CAAC,iCAAiC,CAAC,IAAI,sDAAsD,eAC/FwC,cAAA,CAAAC,aAAA,iBAASqxB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEzU,YAAqB,CAAC,SAAK,eAAA7c,cAAA,CAAAC,aAAA,iBAASqxB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEW,OAAgB,CAAC,KACpF,CACP,CACV,EAEAR,KAAK,iBACFzxB,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IACFj0B,KAAK,EAAE+xB,KAAK,CAACjI,OAAQ;IACrBrjB,KAAK,EAAEsrB,KAAK,CAAC7pB,IAAI,KAAK,OAAQ;IAC9BgsB,OAAO,EAAEnC,KAAK,CAAC7pB,IAAI,KAAK,SAAU;IAClC5J,IAAI,EAAEyzB,KAAK,CAAC7pB,IAAI,KAAK,MAAO;IAC5BisB,KAAK,EAAE,IAAK;IACZniB,OAAO,EAAEA,MAAMggB,QAAQ,CAAC,IAAI;GAC/B,CAEO,CAAC;AAEzB,CAAC;;AC9VD,MAAMoC,qBAAqB,GAAGtyB,IAAA,IAAsD;EAAA,IAAnDuK,OAAO,GAAAvK,IAAA,CAAPuK,OAAO;IAAEsD,KAAK,GAAA7N,IAAA,CAAL6N,KAAK;IAAEie,iBAAiB,GAAA9rB,IAAA,CAAjB8rB,iBAAiB;IAAEtuB,SAAS,GAAAwC,IAAA,CAATxC,SAAS;EAC3E,MAAA1B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAA0oB,cAAA,GAAiBC,4BAAa,EAAE;IAAxBC,IAAI,GAAAF,cAAA,CAAJE,IAAI;EAEZ,MAAAvyB,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAA1CuyB,SAAS,GAAAxyB,SAAA;IAAEyyB,YAAY,GAAAzyB,SAAA;EAC9B,MAAAoY,UAAA,GAA4CnY,cAAQ,CAAC;MAAErD,IAAI,EAAE,MAAM;MAAE0D,IAAI,EAAE;KAAa,CAAC;IAAlFypB,cAAc,GAAA3R,UAAA;IAAEsa,iBAAiB,GAAAta,UAAA;EAExC,MAAM3R,OAAO,GAAG,CACd;IAAE7J,IAAI,EAAE,MAAM;IAAE0D,IAAI,EAAE;GAAa,EACnC;IAAE1D,IAAI,EAAE,OAAO;IAAE0D,IAAI,EAAE;GAAc,CACtC;EAED,MAAMqyB,uBAAuB,GAAGA,MAAMF,YAAY,CAAC,IAAI,CAAC;EAExD,MAAMG,cAAc,GAAGA,MAAM;IAC3B,MAAMC,UAAU,GAAGN,IAAI,CAAC30B,QAAQ,CAAC,aAAa,CAAC,GAC3C20B,IAAI,CAACjvB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,GAC/BivB,IAAI,CAACjvB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAClCoG,OAAO,CAAC3L,IAAI,CAAI80B,UAAU,wBAAqB;MAAExoB,OAAO;MAAE0f,cAAc;MAAE6B;KAAmB,CAAC;IAC9F6G,YAAY,CAAC,KAAK,CAAC;GACpB;EAED,IAAIn1B,SAAS,EAAE,oBAAOgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;EAChC,IAAI,CAACojB,iBAAiB,EAAE,OAAO,IAAI;EAEnC,MAAM3O,OAAO,GAAG,CAAA2O,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEA,iBAAiB,KAAI,EAAE;EAC1D,MAAMkH,UAAU,GAAG7V,OAAO,CAACwP,UAAU,IAAI,EAAE;EAC3C,MAAMsG,QAAQ,GAAG,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzvB,WAAW,EAAE,MAAK,QAAQ,IAAIyvB,UAAU,KAAK,GAAG;EAE7E,oBACEx0B,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAQsP,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACC,CAAC,EAAC;GAAK,CAC3B,CACF,CAAC,eACNzP,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KACbrL,CAAC,CAAC,uBAAuB,CAAC,IAAI,2BAC3B,CACH,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,qBAAkB4rB,QAAQ,GAAG,QAAQ,GAAG,UAAU;KAC9DA,QAAQ,GAAIj3B,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAmB,GAAKg3B,UAAU,IAAIh3B,CAAC,CAAC,OAAO,CACvF,CACH,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,8BAA8B,CAAC,IAAI,yBACnC,CAAC,eAENwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,oBAAoB,CAAC,IAAI,eACzB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAACuP,YAAY,IAAI7e,KAAK,IAAI7R,CAAC,CAAC,OAAO,CACxC,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,eAAe,CAAC,IAAI,UACpB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZkD,OAAO,IAAIvO,CAAC,CAAC,OAAO,CAClB,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,eAAe,CAAC,IAAI,kBACpB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAAC+V,WAAW,IAAIl3B,CAAC,CAAC,OAAO,CAC9B,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAC3B,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAACgW,cAAc,IAAIn3B,CAAC,CAAC,OAAO,CACjC,CACF,CACF,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;GAAoB,CAAC,eAGpC7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,0BAA0B,CAAC,IAAI,mBAC/B,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAAkD,CAAC,eAC3DxJ,cAAA,CAAAC,aAAA;IAAQsP,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAC5B,CACF,CAAC,eACNzP,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,cAAc,CAAC,IAAI,iBACnB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAACiW,OAAO,IAAIp3B,CAAC,CAAC,OAAO,CAC1B,CACF,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAM40B,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAAC9rB,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAAC8rB,EAAE,EAAC,GAAG;IAACC,EAAE,EAAC;GAAK,CAAC,eACzDh1B,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,OAAO;IAACC,EAAE,EAAC;GAAM,CACvC,CACF,CAAC,eACN7J,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,eAAe,CAAC,IAAI,SACpB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAAChB,WAAW,IAAIngB,CAAC,CAAC,OAAO,CAC9B,CACF,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChIvJ,cAAA,CAAAC,aAAA;IAAQsP,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAAC,eAChCzP,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAAkD,CACvD,CACF,CAAC,eACNxJ,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZrL,CAAC,CAAC,YAAY,CAAC,IAAI,eACjB,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ8V,OAAO,CAACjB,KAAK,IAAIlgB,CAAC,CAAC,OAAO,CACxB,CACF,CACF,CACF,CACF,CACF,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZykB,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAE2H,YAAY,IACzBz3B,CAAC,CAAC,oBAAoB,CAAC,IAAI,gBAAgB,UAAI8vB,iBAAiB,CAAC2H,YAAY,GAChF,EACD,CAAC,eAGNj1B,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,uBAAuB;IAACiB,KAAK,EAAE;MAAE+M,QAAQ,EAAE;;kBACxD7W,cAAA,CAAAC,aAAA;IACE8I,OAAO,EAAEsrB,uBAAwB;IACjCxrB,SAAS,EAAC,oBAAoB;IAC9BiB,KAAK,EAAE;MAAE+M,QAAQ,EAAE;;KAElBrZ,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAc,eACzCwC,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACvIvJ,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,GAAG;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAM,CAAC,eACvC7J,cAAA,CAAAC,aAAA;IAAUwJ,MAAM,EAAC;GAAoB,CAClC,CACC,CACL,CACF,CACF,CACF,CAAC,EAGLyqB,SAAS,iBACRl0B,cAAA,CAAAC,aAAA,CAACmzB,4BAAK;IACJC,aAAa,EAAE71B,CAAC,CAAC,+BAA+B,CAAE;IAClD81B,YAAY,eACVtzB,cAAA,CAAAC,aAAA;MAAM8I,OAAO,EAAEA,MAAMorB,YAAY,CAAC,KAAK,CAAE;MAACrqB,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7I,OAAO,EAAE;;OAAS,GAElF,CACP;IACDolB,eAAe,EAAE/1B,CAAC,CAAC,mBAAmB,CAAE;IACxCg2B,kBAAkB,EAAEc,cAAe;IACnCb,iBAAiB,EAAEj2B,CAAC,CAAC,kBAAkB,CAAE;IACzCk2B,oBAAoB,EAAEA,MAAMS,YAAY,CAAC,KAAK,CAAE;IAChDrqB,KAAK,EAAE;MAAEqN,YAAY,EAAE;;kBAEvBnX,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAEqE,OAAO,EAAE;;kBACrBnO,cAAA,CAAAC,aAAA,CAACsrB,mCAAY;IACXvpB,IAAI,EAAC,kBAAkB;IACvBmG,OAAO,EAAEA,OAAQ;IACjBujB,UAAU,EAAC,MAAM;IACjBD,cAAc,EAAEA,cAAe;IAC/BD,QAAQ,EAAE4I,iBAAkB;IAC5BtqB,KAAK,EAAE;MAAEvB,OAAO,EAAE,MAAM;MAAE2sB,aAAa,EAAE,QAAQ;MAAEzC,GAAG,EAAE,MAAM;MAAE0C,WAAW,EAAE;QAAEhe,YAAY,EAAE;;KAAU;IACvG3Z,CAAC,EAAEA;GACJ,CACE,CACA,CAEK,CAAC;AAErB,CAAC;;ACxOD,MAAM43B,MAAM,GAAGA,MAAM;EACjB,MAAA93B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkE,SAAA,GAAwCC,cAAQ,CAAC,MAAM;MACnD,MAAM0zB,KAAK,GAAGC,cAAc,CAACC,OAAO,CAAC,2BAA2B,CAAC;MACjE,OAAOF,KAAK,GAAGG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAG;QAAEtpB,OAAO,EAAE,EAAE;QAAEsD,KAAK,EAAE;OAAI;KAChE,CAAC;IAHKpE,YAAY,GAAAvJ,SAAA;IAAEoN,eAAe,GAAApN,SAAA;EAIpC,MAAAoY,UAAA,GAA8CnY,cAAQ,CAAC,MAAM;MACzD,OAAO2zB,cAAc,CAACC,OAAO,CAAC,8BAA8B,CAAC,KAAK,MAAM;KAC3E,CAAC;IAFKG,eAAe,GAAA5b,UAAA;IAAE6b,kBAAkB,GAAA7b,UAAA;EAG1C,MAAAgL,UAAA,GAAkCnjB,cAAQ,CAAC,IAAI,CAAC;IAAzCi0B,SAAS,GAAA9Q,UAAA;IAAE+Q,YAAY,GAAA/Q,UAAA;EAC9B,MAAAgR,qBAAA,GAAiDp4B,KAAK,CAACc,KAAK,CAACu3B,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;IAA1FC,AAA2BC,WAAW,GAAAH,qBAAA;EAE7C,MAAMr4B,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAAW,qBAAA,GAA+Eb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAAC;MAChHtvB,QAAQ;MACRkhB,OAAO,EAAE;QAAEpb,GAAG,EAAE0H,YAAY,CAACc,OAAO;QAAE/J,IAAI,EAAEiJ,YAAY,CAACoE;;KAC5D,EAAE;MACCxQ,OAAO,EAAE62B,eAAe,IAAI,CAAC,CAACzqB,YAAY,CAACc,OAAO,IAAI,CAAC,CAACd,YAAY,CAACoE,KAAK;MAC1E6mB,OAAO,EAAG/vB,KAAK,IAAK;QAAA,IAAAgwB,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QAChBT,YAAY,CAAC;UAAE1vB,KAAK,EAAE,IAAI;UAAEzG,KAAK,EAAE,CAAAyG,KAAK,aAALA,KAAK,wBAAAgwB,eAAA,GAALhwB,KAAK,CAAEjD,QAAQ,cAAAizB,eAAA,wBAAAC,oBAAA,GAAfD,eAAA,CAAiBp3B,IAAI,cAAAq3B,oBAAA,wBAAAC,qBAAA,GAArBD,oBAAA,CAAuBG,MAAM,cAAAF,qBAAA,wBAAAC,sBAAA,GAA7BD,qBAAA,CAAgC,CAAC,CAAC,cAAAC,sBAAA,uBAAlCA,sBAAA,CAAoC9M,OAAO,KAAIhsB,CAAC,CAAC,wDAAwD;SAAG,CAAC;QAChJm4B,kBAAkB,CAAC,KAAK,CAAC;QACzBL,cAAc,CAACkB,UAAU,CAAC,8BAA8B,CAAC;;KAEhE,CAAC;IAViBC,WAAW,GAAAl4B,qBAAA,CAAtBS,SAAS;IAAqBsuB,iBAAiB,GAAA/uB,qBAAA,CAAvBQ,IAAI;EAYpC,MAAM23B,YAAY,GAAIC,MAAM,IAAK;IAC7B,IAAI,CAACA,MAAM,CAAC5qB,OAAO,IAAI,CAAC4qB,MAAM,CAACtnB,KAAK,EAAE;MAElCP,eAAe,CAAC;QAAE/C,OAAO,EAAE,EAAE;QAAEsD,KAAK,EAAE;OAAI,CAAC;MAC3CsmB,kBAAkB,CAAC,KAAK,CAAC;MACzBL,cAAc,CAACkB,UAAU,CAAC,2BAA2B,CAAC;MACtDlB,cAAc,CAACkB,UAAU,CAAC,8BAA8B,CAAC;MACzDP,WAAW,EAAE;MACb;;IAGJ,IAAI,CAACU,MAAM,CAAC5qB,OAAO,IAAI,CAAC4qB,MAAM,CAACtnB,KAAK,EAAE;MAClCwmB,YAAY,CAAC;QAAE1vB,KAAK,EAAE,IAAI;QAAEzG,KAAK,EAAElC,CAAC,CAAC,sBAAsB;OAAG,CAAC;MAC/D;;IAEJsR,eAAe,CAAC6nB,MAAM,CAAC;IACvBhB,kBAAkB,CAAC,IAAI,CAAC;IAGxB,MAAMiB,UAAU,GAAGtB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;IAC1D,IAAIqB,UAAU,KAAKD,MAAM,CAAC5qB,OAAO,EAAE;MAC/BkqB,WAAW,EAAE;MAEbvwB,MAAM,CAACC,IAAI,CAAC2vB,cAAc,CAAC,CAAC1vB,OAAO,CAACC,GAAG,IAAI;QACvC,IAAIA,GAAG,CAACgxB,UAAU,CAAC,OAAO,CAAC,IAAIhxB,GAAG,KAAK,aAAa,EAAEyvB,cAAc,CAACkB,UAAU,CAAC3wB,GAAG,CAAC;OACvF,CAAC;;IAGNyvB,cAAc,CAACwB,OAAO,CAAC,2BAA2B,EAAEtB,IAAI,CAACuB,SAAS,CAACJ,MAAM,CAAC,CAAC;IAC3ErB,cAAc,CAACwB,OAAO,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAC9DxB,cAAc,CAACwB,OAAO,CAAC,eAAe,EAAEH,MAAM,CAAC5qB,OAAO,CAAC;GAC1D;EAED,MAAMirB,UAAU,GAAGA,MAAM;IACrBnB,YAAY,CAAC,IAAI,CAAC;GACrB;EAED,oBACI71B,cAAA,CAAAC,aAAA,CAACsO,cAAc;IACXN,QAAQ,EAAEyoB,YAAa;IACvBzrB,YAAY,EAAEA;KAEbyqB,eAAe,iBACZ11B,cAAA,CAAAC,aAAA,CAAC6zB,qBAAqB;IAClB/nB,OAAO,EAAEd,YAAY,CAACc,OAAQ;IAC9BsD,KAAK,EAAEpE,YAAY,CAACoE,KAAM;IAC1Bie,iBAAiB,EAAEA,iBAAkB;IACrCtuB,SAAS,EAAEy3B;GACd,CACJ,EAEA,CAACf,eAAe,IAAI,CAACe,WAAW,iBAC7Bz2B,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACL,KAAK,EAAE;MAAE+G,SAAS,EAAE,QAAQ;MAAE1C,OAAO,EAAE;;kBACzCnO,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAEnB,KAAK,EAAE;;KAAcnL,CAAC,CAAC,6BAA6B,CAAO,CACvE,CACT,EACAo4B,SAAS,iBAAI51B,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IAACxtB,KAAK,EAAEyvB,SAAS,CAACzvB,KAAM;IAACzG,KAAK,EAAEk2B,SAAS,CAACl2B,KAAM;IAACgS,OAAO,EAAEslB,UAAW;IAACnD,KAAK,EAAE;GAAO,CAC5F,CAAC;AAEzB,CAAC;;ACtED,MAAMoD,YAAY,GAAGz1B,IAAA,IAAuB;EAAA,IAApB01B,MAAM,GAAA11B,IAAA,CAAN01B,MAAM;IAAE/H,KAAK,GAAA3tB,IAAA,CAAL2tB,KAAK;EACnC,MAAM/jB,OAAO,GAAGC,yBAAU,EAAE;EAC5B,SAAS8rB,OAAOA,GAAG;IACjB/rB,OAAO,CAAC3L,IAAI,CAACy3B,MAAM,EAAAtoB,QAAA,KAAOugB,KAAK;MAAEqD,SAAS,EAAE;MAAM,CAAC;;EAErD,oBACExyB,cAAA,CAAAC,aAAA,CAACm3B,iCAAU;IAAC13B,KAAK,eAAEM,cAAA,CAAAC,aAAA,CAACyyB,+BAAQ;MAAC5oB,KAAK,EAAE;QAAEd,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE,MAAM;QAAEE,IAAI,EAAE;;KAAc,CAAE;IAACW,KAAK,EAAE;MAAEkM,MAAM,EAAE,CAAC;MAAE7H,OAAO,EAAE;KAAI;IAACpF,OAAO,EAAEouB;GAAU,CAAC;AAEtJ,CAAC;AAED,MAAME,UAAU,GAAIzuB,KAAK,IAAMA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK8V,SAAS,IAAI9V,KAAK,KAAK,EAAE,GAAGA,KAAK,GAAG,KAAM;AAErG,MAAM0uB,WAAW,GAAGA,CAAC1uB,KAAK,EAAEpL,CAAC,KAAK;EAChC,IAAIoL,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,MAAM,IAAIhE,MAAM,CAACgE,KAAK,CAAC,CAAC7D,WAAW,EAAE,KAAK,KAAK,EAAE,OAAOvH,CAAC,CAAC,iBAAiB,CAAC;EAC5G,IAAIoL,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,OAAO,IAAIhE,MAAM,CAACgE,KAAK,CAAC,CAAC7D,WAAW,EAAE,KAAK,IAAI,EAAE,OAAOvH,CAAC,CAAC,gBAAgB,CAAC;EAC5G,IAAIoL,KAAK,KAAK,MAAM,EAAE,OAAOpL,CAAC,CAAC,iBAAiB,CAAC;EACjD,IAAIoL,KAAK,KAAK,OAAO,EAAE,OAAOpL,CAAC,CAAC,gBAAgB,CAAC;AACnD,CAAC;AAKD,MAAM+5B,iBAAiB,GAAGA,CAACtK,UAAU,EAAEuK,SAAS,KAAK;EACnD,MAAMC,OAAO,GAAGxK,UAAU,IAAIvnB,MAAM,CAACC,IAAI,CAACsnB,UAAU,CAAC,CAACptB,MAAM,GAAG,CAAC,GAAGotB,UAAU,GAAG,CAAAuK,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE5rB,UAAU,KAAI,EAAE;EAG3G,MAAM8rB,aAAa,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,qBAAqB,MAAIF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,iBAAiB,KAAIH,OAAO;EAC7F,MAAMI,eAAe,GAAG,CAAC35B,KAAK,CAACC,OAAO,CAACu5B,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;EAE/F,OAAO;IACLI,OAAO,EAAE,CAAAD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;IACpDE,OAAO,EAAE,CAAAF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,OAAO,KAAI;GACtC;AACH,CAAC;AAED,MAAMC,aAAa,GAAG3rB,KAAA,IAA2E;EAAA,IAAxEkH,KAAK,GAAAlH,KAAA,CAALkH,KAAK;IAAE0kB,MAAM,GAAA5rB,KAAA,CAAN4rB,MAAM;IAAEH,OAAO,GAAAzrB,KAAA,CAAPyrB,OAAO;IAAEC,OAAO,GAAA1rB,KAAA,CAAP0rB,OAAO;IAAEv6B,CAAC,GAAA6O,KAAA,CAAD7O,CAAC;IAAE05B,MAAM,GAAA7qB,KAAA,CAAN6qB,MAAM;IAAE/H,KAAK,GAAA9iB,KAAA,CAAL8iB,KAAK;IAAE+I,cAAc,GAAA7rB,KAAA,CAAd6rB,cAAc;EACxF,oBACEl4B,cAAA,CAAAC,aAAA;IACE4I,SAAS,EAAC,wBAAwB;IAClCiB,KAAK,EAAE;MAAEwN,YAAY,EAAE,MAAM;MAAEvN,UAAU,EAAE,MAAM;MAAEoN,YAAY,EAAE,MAAM;MAAED,MAAM,EAAE,mBAAmB;MAAEihB,QAAQ,EAAE;;kBAEhHn4B,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACLqE,OAAO,EAAE,WAAW;MACpBpE,UAAU,EAAE,SAAS;MACrBquB,YAAY,EAAE,mBAAmB;MACjC7vB,OAAO,EAAE,MAAM;MACf0qB,cAAc,EAAE,eAAe;MAC/BoF,UAAU,EAAE;;kBAGdr4B,cAAA,CAAAC,aAAA,CAACq4B,oCAAa;IAACxuB,KAAK,EAAE;MAAEkM,MAAM,EAAE,CAAC;MAAEa,QAAQ,EAAE,MAAM;MAAElO,KAAK,EAAE,SAAS;MAAEiJ,UAAU,EAAE;;KAAU2B,KAAqB,CAAC,EAClH2jB,MAAM,IAAI,CAACgB,cAAc,iBAAIl4B,cAAA,CAAAC,aAAA,CAACg3B,YAAY;IAACC,MAAM,EAAEA,MAAO;IAAC/H,KAAK,EAAEA;GAAQ,CACxE,CAAC,eAENnvB,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAEqE,OAAO,EAAE;;kBACrBnO,cAAA,CAAAC,aAAA;IAAO6J,KAAK,EAAE;MAAEd,KAAK,EAAE,MAAM;MAAEuvB,cAAc,EAAE,UAAU;MAAEC,WAAW,EAAE;;kBACtEx4B,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACLqE,OAAO,EAAE,QAAQ;MACjB0C,SAAS,EAAE,MAAM;MACjBlI,KAAK,EAAE,SAAS;MAChBkO,QAAQ,EAAE,MAAM;MAChBjF,UAAU,EAAE,KAAK;MACjB6mB,aAAa,EAAE,WAAW;MAC1BzvB,KAAK,EAAE;;KAGRxL,CAAC,CAAC,iBAAiB,CAClB,CAAC,eACLwC,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACLqE,OAAO,EAAE,QAAQ;MACjB0C,SAAS,EAAE,MAAM;MACjBlI,KAAK,EAAE,SAAS;MAChBkO,QAAQ,EAAE,MAAM;MAChBjF,UAAU,EAAE,KAAK;MACjB6mB,aAAa,EAAE,WAAW;MAC1BzvB,KAAK,EAAE;;KAGRxL,CAAC,CAAC,2BAA2B,CAC5B,CAAC,eACLwC,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACLqE,OAAO,EAAE,QAAQ;MACjB0C,SAAS,EAAE,MAAM;MACjBlI,KAAK,EAAE,SAAS;MAChBkO,QAAQ,EAAE,MAAM;MAChBjF,UAAU,EAAE,KAAK;MACjB6mB,aAAa,EAAE,WAAW;MAC1BzvB,KAAK,EAAE;;KAGRxL,CAAC,CAAC,uBAAuB,CACxB,CACF,CACC,CAAC,eACRwC,cAAA,CAAAC,aAAA,gBACGg4B,MAAM,CAAC75B,GAAG,CAAC,CAACs6B,KAAK,EAAErR,GAAG,KAAK;IAC1B,MAAMsR,MAAM,GAAGb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGY,KAAK,CAAC7yB,GAAG,CAAC;IACnC,MAAM+yB,MAAM,GAAGb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGW,KAAK,CAAC7yB,GAAG,CAAC;IACnC,MAAMgzB,SAAS,GAAGd,OAAO,IAAInzB,MAAM,CAAC+zB,MAAM,CAAC,KAAK/zB,MAAM,CAACg0B,MAAM,CAAC,IAAIA,MAAM,KAAKla,SAAS,IAAIka,MAAM,KAAK,IAAI;IAEzG,oBACE54B,cAAA,CAAAC,aAAA;MAAI4F,GAAG,EAAEwhB,GAAI;MAACvd,KAAK,EAAE;QAAEgvB,SAAS,EAAE;;oBAChC94B,cAAA,CAAAC,aAAA;MAAI6J,KAAK,EAAE;QAAEqE,OAAO,EAAE,QAAQ;QAAE0I,QAAQ,EAAE,MAAM;QAAElO,KAAK,EAAE,SAAS;QAAEiJ,UAAU,EAAE;;OAAUpU,CAAC,CAACk7B,KAAK,CAACh5B,KAAK,CAAM,CAAC,eAC9GM,cAAA,CAAAC,aAAA;MAAI6J,KAAK,EAAE;QAAEqE,OAAO,EAAE,QAAQ;QAAE0I,QAAQ,EAAE,MAAM;QAAElO,KAAK,EAAE;;OACtD+vB,KAAK,CAACK,MAAM,GAAGzB,WAAW,CAACsB,MAAM,EAAEp7B,CAAC,CAAC,GAAG65B,UAAU,CAACuB,MAAM,CACxD,CAAC,eACL54B,cAAA,CAAAC,aAAA;MACE6J,KAAK,EAAE;QAAEqE,OAAO,EAAE,QAAQ;QAAE0I,QAAQ,EAAE,MAAM;QAAElO,KAAK,EAAEkwB,SAAS,GAAG,SAAS,GAAG,SAAS;QAAEjnB,UAAU,EAAEinB,SAAS,GAAG,KAAK,GAAG;;oBAExH74B,cAAA,CAAAC,aAAA;MAAK6J,KAAK,EAAE;QAAEvB,OAAO,EAAE,MAAM;QAAE8vB,UAAU,EAAE,QAAQ;QAAE5F,GAAG,EAAE;;OACvDiG,KAAK,CAACK,MAAM,GAAGzB,WAAW,CAACqB,MAAM,EAAEn7B,CAAC,CAAC,GAAG65B,UAAU,CAACsB,MAAM,CAAC,EAC1DE,SAAS,iBACR74B,cAAA,CAAAC,aAAA;MACE6J,KAAK,EAAE;QACLC,UAAU,EAAE,SAAS;QACrBpB,KAAK,EAAE,SAAS;QAChBwF,OAAO,EAAE,SAAS;QAClBgJ,YAAY,EAAE,MAAM;QACpBN,QAAQ,EAAE,MAAM;QAChBjF,UAAU,EAAE;;OAGbpU,CAAC,CAAC,cAAc,CACb,CAEL,CACH,CACF,CAAC;GAER,CACI,CACF,CACJ,CACF,CAAC;AAEV,CAAC;AAED,MAAMw7B,MAAM,GAAGA,MAAM;EAAA,IAAA57B,qBAAA,EAAAC,sBAAA,EAAA8nB,sBAAA,EAAA8T,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA;EACnB,MAAAn+B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAMjM,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,IAAAmH,UAAA,GAA6BC,wBAAS,EAAE;IAAlCxd,GAAG,GAAAud,UAAA,CAAHvd,GAAG;IAAEm4B,aAAa,GAAA5a,UAAA,CAAb4a,aAAa;EAExB,MAAAh6B,SAAA,GAA0BC,cAAQ,CAAC,KAAK,CAAC;IAAlCg6B,KAAK,GAAAj6B,SAAA;IAAEk6B,QAAQ,GAAAl6B,SAAA;EACtB,MAAAoY,UAAA,GAAwCnY,cAAQ,CAAC,KAAK,CAAC;IAAhDk6B,YAAY,GAAA/hB,UAAA;EACnB,MAAAgL,UAAA,GAAsCnjB,cAAQ,CAAC,KAAK,CAAC;IAA9Cm6B,WAAW,GAAAhX,UAAA;IAAEiX,cAAc,GAAAjX,UAAA;EAClC,MAAAW,UAAA,GAAoC9jB,cAAQ,CAAC,EAAE,CAAC;IAAzCq6B,UAAU,GAAAvW,UAAA;IAAEwW,aAAa,GAAAxW,UAAA;EAChC,MAAAG,UAAA,GAAsCjkB,cAAQ,CAAC,KAAK,CAAC;IAA9Cu6B,WAAW,GAAAtW,UAAA;IAAEuW,cAAc,GAAAvW,UAAA;EAClC,MAAAG,UAAA,GAAkCpkB,cAAQ,CAAC,KAAK,CAAC;IAA1Ci0B,SAAS,GAAA7P,UAAA;IAAE8P,YAAY,GAAA9P,UAAA;EAC9B,MAAAG,UAAA,GAAkCvkB,cAAQ,CAAC;MAAEwE,KAAK,EAAE,KAAK;MAAEzG,KAAK,EAAE;KAAI,CAAC;IAAhE08B,SAAS,GAAAlW,UAAA;IAAEmW,YAAY,GAAAnW,UAAA;EAE9B,MAAM/d,OAAO,GAAG,CACd;IAAEihB,MAAM,EAAE5rB,CAAC,CAAC,SAAS;GAAG,EACxB;IAAE4rB,MAAM,EAAE5rB,CAAC,CAAC,QAAQ;GAAG,CACxB;EAED,MAAMg6B,SAAS,GAAGp4B,QAAQ,CAAC+vB,KAAK,IAAI,EAAE;EACtC,MAAAmN,gBAAA,GAAuB9E,SAAS,CAAxB+E,KAAK;IAALA,KAAK,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;EAClB,MAAME,SAAS,GAAGj5B,GAAG,IAAIm4B,aAAa;EAEtC,MAAAe,kBAAA,GAAuIF,KAAK,CAApIvwB,WAAW;IAAXA,WAAW,GAAAywB,kBAAA,cAAG,EAAE,GAAAA,kBAAA;IAAAC,qBAAA,GAA+GH,KAAK,CAAlHI,cAAc;IAAEC,aAAa,GAAAF,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAG,qBAAA,GAA2EN,KAAK,CAA9EO,eAAe;IAAEC,cAAc,GAAAF,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAG,mBAAA,GAAqCT,KAAK,CAAxCU,YAAY;IAAEC,WAAW,GAAAF,mBAAA,cAAG,EAAE,GAAAA,mBAAA;EAElI,MAAMv/B,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAMu/B,gBAAgB,GAAGz/B,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC2+B,eAAe,CAAC3/B,QAAQ,CAAC;EACnE,MAAM4/B,cAAc,GAAG3/B,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC6+B,aAAa,CAAC7/B,QAAQ,CAAC;EAE/D,MAAAc,qBAAA,GAAyDb,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC8+B,mBAAmB,CAAC;MAAEh6B,GAAG,EAAEi5B,SAAS;MAAEgB,SAAS,EAAE;KAAU,EAAE//B,QAAQ,EAAE;MAC/IoB,OAAO,EAAE,CAAC,CAAC29B;KACZ,CAAC;IAFYvP,UAAU,GAAA1uB,qBAAA,CAAhBQ,IAAI;IAAyBiuB,eAAe,GAAAzuB,qBAAA,CAA1BS,SAAS;EAInC,MAAMy+B,SAAS,GAAG,EAAArgC,qBAAA,GAAAM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,wBAAA8nB,sBAAA,GAAtC9nB,sBAAA,CAAwCY,KAAK,cAAAknB,sBAAA,uBAA7CA,sBAAA,CAA+C/mB,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,KAAI,EAAE;EAC7F,MAAMo/B,KAAK,GAAGD,SAAS,CAACn+B,QAAQ,CAAC,UAAU,CAAC,IAAIm+B,SAAS,CAACn+B,QAAQ,CAAC,KAAK,CAAC;EACzE,MAAMq+B,8BAA8B,GAAGF,SAAS,CAACn+B,QAAQ,CAAC,iBAAiB,CAAC,IAAIm+B,SAAS,CAACn+B,QAAQ,CAAC,eAAe,CAAC,IAAIm+B,SAAS,CAACn+B,QAAQ,CAAC,aAAa,CAAC;EACxJ,MAAMs+B,YAAY,GAAGx+B,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,UAAU,CAAC;EAC3D,MAAM44B,cAAc,GAAIyF,8BAA8B,IAAI,CAACD,KAAK,IAAKE,YAAY;EAGjF,MAAAC,kBAAA,GAAqDtG,iBAAiB,CAACtK,UAAU,EAAEuK,SAAS,CAAC;IAA5EsG,UAAU,GAAAD,kBAAA,CAAnB/F,OAAO;IAAuBiG,UAAU,GAAAF,kBAAA,CAAnB9F,OAAO;EAEpC,MAAMiG,uBAAuB,GAAIj/B,IAAI,IAAK;IACxC,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;IACtB,MAAMk/B,OAAO,GAAG,CAAAl/B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuuB,iBAAiB,KAAIvuB,IAAI,IAAI,EAAE;IACrD,MAAMm/B,OAAO,GAAG,CAAAn/B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE49B,cAAc,KAAI59B,IAAI,IAAI,EAAE;IAClD,MAAMo/B,OAAO,GAAG,CAAAp/B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEivB,YAAY,KAAIjvB,IAAI,IAAI,EAAE;IAChD,MAAMq/B,QAAQ,GAAG,CAAAr/B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEk+B,YAAY,KAAIl+B,IAAI,IAAI,EAAE;IAEjD,OAAO;MACLs/B,UAAU,EAAE;QACVnQ,YAAY,EACV,CAAA+P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/P,YAAY,MAAK+P,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEz6B,SAAS,GAAG,CAACy6B,OAAO,CAACz6B,SAAS,EAAEy6B,OAAO,CAACx6B,UAAU,EAAEw6B,OAAO,CAACv6B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5ImvB,OAAO,EAAE,CAAAqJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErJ,OAAO,MAAIqJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,UAAU;QAChD3J,cAAc,EAAE,CAAAsJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtJ,cAAc,MAAIsJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,kBAAkB;QACtE7J,WAAW,EAAE,CAAAuJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvJ,WAAW,MAAIuJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO;QACrD7gB,WAAW,EAAE,CAAAsgB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtgB,WAAW,MAAIsgB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEte,QAAQ,MAAIse,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEr6B,YAAY;QAC/E8Z,KAAK,EAAEugB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvgB,KAAK;QACrByQ,UAAU,EAAE,CAAA8P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9P,UAAU,MAAI8P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzJ,UAAU;QACtDtyB,UAAU,EAAE+7B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/7B,UAAU;QAC/Bu8B,OAAO,EAAE,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,OAAO,MAAIR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE16B,GAAG;OAC1C;MACDqxB,OAAO,EAAE;QACP8J,WAAW,EAAE,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,WAAW,MAAIR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,UAAU;QACxDK,eAAe,EAAE,CAAAT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,eAAe,MAAIT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEU,MAAM;QAC5DC,aAAa,EAAE,CAAAX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW,aAAa,MAAIX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,QAAQ;QAC1DC,QAAQ,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEa,QAAQ;QAC3BC,OAAO,EAAE,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,OAAO,MAAId,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE95B,OAAO;QAC7CD,IAAI,EAAE,CAAA+5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/5B,IAAI,MAAI+5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEe,QAAQ;QACxC/6B,QAAQ,EAAEg6B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEh6B,QAAQ;QAC3Bg7B,QAAQ,EAAEhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEgB,QAAQ;QAC3BC,QAAQ,EAAEjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB,QAAQ;QAC3BC,SAAS,EAAElB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkB,SAAS;QAC7Bzf,QAAQ,EAAE,CAAAue,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEve,QAAQ,MAAIue,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEt6B,YAAY;QACpDy7B,UAAU,EAAEnB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEmB,UAAU;QAC/B3hB,KAAK,EAAEwgB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExgB,KAAK;QACrB4hB,UAAU,EAAE,CAAApB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEoB,UAAU,MAAIpB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqB,WAAW;QACvDd,OAAO,EAAE,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO,MAAIP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE36B,GAAG;QACzCi8B,oBAAoB,EAAEtB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEsB;OAChC;MACDC,QAAQ,EAAE;QACRl8B,GAAG,EAAE46B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE56B,GAAG;QACjBm8B,SAAS,EAAEvB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuB,SAAS;QAC7BC,gBAAgB,EAAExB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwB,gBAAgB;QAC3CpB,kBAAkB,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,kBAAkB;QAC/ClZ,QAAQ,EAAE8Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9Y,QAAQ;QAC3Bua,cAAc,EAAE,CAAAzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEyB,cAAc,MAAIzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0B,SAAS;QAC7DC,UAAU,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,UAAU;QAC/BC,YAAY,EAAE5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE4B,YAAY;QACnC79B,UAAU,EAAEi8B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEj8B,UAAU;QAC/B89B,2BAA2B,EAAE7B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6B,2BAA2B;QACjEC,wBAAwB,EAAE9B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8B;OACpC;MACDC,KAAK,EAAE;QACL38B,GAAG,EAAE66B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE76B,GAAG;QAClB48B,OAAO,EAAE,CAAA/B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgC,WAAW,MAAK,SAAS,KAAIhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE+B,OAAO;QACjEzL,WAAW,EAAE,CAAA0J,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE1J,WAAW,MAAI0J,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,OAAO;QACvD6B,SAAS,EAAEjC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEiC,SAAS;QAC9BC,oBAAoB,EAAElC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEkC,oBAAoB;QACpDC,aAAa,EAAEnC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEmC,aAAa;QACtCC,cAAc,EAAEpC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEoC,cAAc;QACxCC,aAAa,EAAErC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqC,aAAa;QACtCC,cAAc,EAAEtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEsC,cAAc;QACxCC,aAAa,EAAEvC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEuC,aAAa;QACtCC,qBAAqB,EAAExC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEwC;;KAEpC;GACF;EAED,MAAMC,UAAU,GAAG7C,uBAAuB,CAACF,UAAU,CAAC;EACtD,MAAMgD,UAAU,GAAG9C,uBAAuB,CAACD,UAAU,CAAC;EAGtD,MAAMgD,cAAc,GAAAnyB,QAAA,KACfiyB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExC,UAAU;IACzBnQ,YAAY,EAAE,CAAAliB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEhK,IAAI,MAAI6+B,UAAU,aAAVA,UAAU,wBAAA5H,qBAAA,GAAV4H,UAAU,CAAExC,UAAU,cAAApF,qBAAA,uBAAtBA,qBAAA,CAAwB/K,YAAY;IACvEvQ,WAAW,EAAE,CAAA3R,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEpI,YAAY,MAAIi9B,UAAU,aAAVA,UAAU,wBAAA3H,sBAAA,GAAV2H,UAAU,CAAExC,UAAU,cAAAnF,sBAAA,uBAAtBA,sBAAA,CAAwBvb,WAAW;IAC7E8gB,OAAO,EAAE,CAAAoC,UAAU,aAAVA,UAAU,wBAAA1H,sBAAA,GAAV0H,UAAU,CAAExC,UAAU,cAAAlF,sBAAA,uBAAtBA,sBAAA,CAAwBsF,OAAO,KAAIjC;IAC7C;EAED,MAAMwE,WAAW,GAAApyB,QAAA,KACZiyB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEjM,OAAO;IACtB8J,WAAW,EAAE,CAAA9B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE8B,WAAW,MAAImC,UAAU,aAAVA,UAAU,wBAAAzH,mBAAA,GAAVyH,UAAU,CAAEjM,OAAO,cAAAwE,mBAAA,uBAAnBA,mBAAA,CAAqBsF,WAAW;IAC3EC,eAAe,EAAE,CAAA/B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+B,eAAe,MAAI/B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEgC,MAAM,MAAIiC,UAAU,aAAVA,UAAU,wBAAAxH,oBAAA,GAAVwH,UAAU,CAAEjM,OAAO,cAAAyE,oBAAA,uBAAnBA,oBAAA,CAAqBsF,eAAe;IAChHE,aAAa,EAAE,CAAAjC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEiC,aAAa,MAAIjC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEkC,QAAQ,MAAI+B,UAAU,aAAVA,UAAU,wBAAAvH,oBAAA,GAAVuH,UAAU,CAAEjM,OAAO,cAAA0E,oBAAA,uBAAnBA,oBAAA,CAAqBuF,aAAa;IAC5GE,QAAQ,EAAE,CAAAnC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEmC,QAAQ,MAAI8B,UAAU,aAAVA,UAAU,wBAAAtH,oBAAA,GAAVsH,UAAU,CAAEjM,OAAO,cAAA2E,oBAAA,uBAAnBA,oBAAA,CAAqBwF,QAAQ;IAClEC,OAAO,EAAE,CAAApC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEoC,OAAO,MAAIpC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEx4B,OAAO,MAAIy8B,UAAU,aAAVA,UAAU,wBAAArH,oBAAA,GAAVqH,UAAU,CAAEjM,OAAO,cAAA4E,oBAAA,uBAAnBA,oBAAA,CAAqBwF,OAAO;IACzF76B,IAAI,EAAE,CAAAy4B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEz4B,IAAI,MAAI08B,UAAU,aAAVA,UAAU,wBAAApH,oBAAA,GAAVoH,UAAU,CAAEjM,OAAO,cAAA6E,oBAAA,uBAAnBA,oBAAA,CAAqBt1B,IAAI;IACtDD,QAAQ,EAAE,CAAA04B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE14B,QAAQ,MAAI28B,UAAU,aAAVA,UAAU,wBAAAnH,oBAAA,GAAVmH,UAAU,CAAEjM,OAAO,cAAA8E,oBAAA,uBAAnBA,oBAAA,CAAqBx1B,QAAQ;IAClEg7B,QAAQ,EAAE,CAAAtC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEsC,QAAQ,MAAKxgB,SAAS,GAAGke,aAAa,CAACsC,QAAQ,GAAG2B,UAAU,aAAVA,UAAU,wBAAAlH,oBAAA,GAAVkH,UAAU,CAAEjM,OAAO,cAAA+E,oBAAA,uBAAnBA,oBAAA,CAAqBuF,QAAQ;IACxGC,QAAQ,EAAE,CAAAvC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEuC,QAAQ,MAAI0B,UAAU,aAAVA,UAAU,wBAAAjH,oBAAA,GAAViH,UAAU,CAAEjM,OAAO,cAAAgF,oBAAA,uBAAnBA,oBAAA,CAAqBuF,QAAQ;IAClEC,SAAS,EAAE,CAAAxC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwC,SAAS,MAAIyB,UAAU,aAAVA,UAAU,wBAAAhH,oBAAA,GAAVgH,UAAU,CAAEjM,OAAO,cAAAiF,oBAAA,uBAAnBA,oBAAA,CAAqBuF,SAAS;IACrEzf,QAAQ,EAAE,CAAAid,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjd,QAAQ,MAAI3T,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEpI,YAAY,MAAIi9B,UAAU,aAAVA,UAAU,wBAAA/G,oBAAA,GAAV+G,UAAU,CAAEjM,OAAO,cAAAkF,oBAAA,uBAAnBA,oBAAA,CAAqBna,QAAQ;IAC/F0f,UAAU,EAAE,CAAAzC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEyC,UAAU,MAAIrzB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEi1B,cAAc,MAAIJ,UAAU,aAAVA,UAAU,wBAAA9G,qBAAA,GAAV8G,UAAU,CAAEjM,OAAO,cAAAmF,qBAAA,uBAAnBA,qBAAA,CAAqBsF,UAAU;IACvG3hB,KAAK,EAAE,CAAAkf,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElf,KAAK,MAAImjB,UAAU,aAAVA,UAAU,wBAAA7G,qBAAA,GAAV6G,UAAU,CAAEjM,OAAO,cAAAoF,qBAAA,uBAAnBA,qBAAA,CAAqBtc,KAAK;IACzD4hB,UAAU,EAAE,CAAA1C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0C,UAAU,MAAItzB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuzB,WAAW,MAAIsB,UAAU,aAAVA,UAAU,wBAAA5G,qBAAA,GAAV4G,UAAU,CAAEjM,OAAO,cAAAqF,qBAAA,uBAAnBA,qBAAA,CAAqBqF,UAAU;IACpGb,OAAO,EAAE,CAAA7B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE6B,OAAO,MAAIoC,UAAU,aAAVA,UAAU,wBAAA3G,qBAAA,GAAV2G,UAAU,CAAEjM,OAAO,cAAAsF,qBAAA,uBAAnBA,qBAAA,CAAqBuE,OAAO,KAAIjC,SAAS;IAC5EgD,oBAAoB,EAAE,CAAA5C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEsE,oBAAoB,MAAIL,UAAU,aAAVA,UAAU,wBAAA1G,qBAAA,GAAV0G,UAAU,CAAEjM,OAAO,cAAAuF,qBAAA,uBAAnBA,qBAAA,CAAqBqF,oBAAoB;IACvG;EAED,MAAM2B,YAAY,GAAAvyB,QAAA,KACbiyB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpB,QAAQ;IACvBl8B,GAAG,EAAE,CAAAs9B,UAAU,aAAVA,UAAU,wBAAAzG,oBAAA,GAAVyG,UAAU,CAAEpB,QAAQ,cAAArF,oBAAA,uBAApBA,oBAAA,CAAsB72B,GAAG,KAAIi5B,SAAS;IAC3CkD,SAAS,EAAE,CAAA3C,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE2C,SAAS,MAAImB,UAAU,aAAVA,UAAU,wBAAAxG,qBAAA,GAAVwG,UAAU,CAAEpB,QAAQ,cAAApF,qBAAA,uBAApBA,qBAAA,CAAsBqF,SAAS;IACvEC,gBAAgB,EAAE,CAAA5C,cAAc,aAAdA,cAAc,wBAAAzC,qBAAA,GAAdyC,cAAc,CAAEqE,kBAAkB,cAAA9G,qBAAA,uBAAlCA,qBAAA,CAAoC56B,KAAK,MAAImhC,UAAU,aAAVA,UAAU,wBAAAtG,qBAAA,GAAVsG,UAAU,CAAEpB,QAAQ,cAAAlF,qBAAA,uBAApBA,qBAAA,CAAsBoF,gBAAgB;IACrGpB,kBAAkB,EAAE,CAAAxB,cAAc,aAAdA,cAAc,wBAAAvC,sBAAA,GAAduC,cAAc,CAAEsE,sBAAsB,cAAA7G,sBAAA,uBAAtCA,sBAAA,CAAwC96B,KAAK,MAAImhC,UAAU,aAAVA,UAAU,wBAAApG,qBAAA,GAAVoG,UAAU,CAAEpB,QAAQ,cAAAhF,qBAAA,uBAApBA,qBAAA,CAAsB8D,kBAAkB;IAC7GlZ,QAAQ,EAAE,CAAA0X,cAAc,aAAdA,cAAc,wBAAArC,qBAAA,GAAdqC,cAAc,CAAEuE,YAAY,cAAA5G,qBAAA,uBAA5BA,qBAAA,CAA8Bh7B,KAAK,MAAImhC,UAAU,aAAVA,UAAU,wBAAAlG,qBAAA,GAAVkG,UAAU,CAAEpB,QAAQ,cAAA9E,qBAAA,uBAApBA,qBAAA,CAAsBtV,QAAQ;IAC/Eua,cAAc,EAAE,CAAA7C,cAAc,aAAdA,cAAc,wBAAAnC,qBAAA,GAAdmC,cAAc,CAAEwE,cAAc,cAAA3G,qBAAA,uBAA9BA,qBAAA,CAAgCl7B,KAAK,MAAImhC,UAAU,aAAVA,UAAU,wBAAAhG,qBAAA,GAAVgG,UAAU,CAAEpB,QAAQ,cAAA5E,qBAAA,uBAApBA,qBAAA,CAAsB+E,cAAc;IAC7FI,2BAA2B,EAAE,CAAAjD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEiD,2BAA2B,MAAIa,UAAU,aAAVA,UAAU,wBAAA/F,qBAAA,GAAV+F,UAAU,CAAEpB,QAAQ,cAAA3E,qBAAA,uBAApBA,qBAAA,CAAsBkF,2BAA2B;IAC9H;EAED,MAAMwB,SAAS,GAAA5yB,QAAA,KACViyB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEX,KAAK;IACpB38B,GAAG,EAAE,CAAA25B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE35B,GAAG,MAAIs9B,UAAU,aAAVA,UAAU,wBAAA9F,iBAAA,GAAV8F,UAAU,CAAEX,KAAK,cAAAnF,iBAAA,uBAAjBA,iBAAA,CAAmBx3B,GAAG,KAAIi5B,SAAS;IAC5D2D,OAAO,EAAE,CAAAjD,WAAW,aAAXA,WAAW,wBAAAlC,qBAAA,GAAXkC,WAAW,CAAEuE,eAAe,cAAAzG,qBAAA,uBAA5BA,qBAAA,CAA8BpyB,KAAK,MAAK,SAAS,KAAIi4B,UAAU,aAAVA,UAAU,wBAAA5F,kBAAA,GAAV4F,UAAU,CAAEX,KAAK,cAAAjF,kBAAA,uBAAjBA,kBAAA,CAAmBkF,OAAO;IACxFzL,WAAW,EAAEmM,UAAU,aAAVA,UAAU,wBAAA3F,kBAAA,GAAV2F,UAAU,CAAEX,KAAK,cAAAhF,kBAAA,uBAAjBA,kBAAA,CAAmBxG,WAAW;IAC3C2L,SAAS,EAAE,CAAAnD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEmD,SAAS,MAAIQ,UAAU,aAAVA,UAAU,wBAAA1F,kBAAA,GAAV0F,UAAU,CAAEX,KAAK,cAAA/E,kBAAA,uBAAjBA,kBAAA,CAAmBkF,SAAS;IACjEC,oBAAoB,EAAE,CAAApD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwE,aAAa,MAAIb,UAAU,aAAVA,UAAU,wBAAAzF,kBAAA,GAAVyF,UAAU,CAAEX,KAAK,cAAA9E,kBAAA,uBAAjBA,kBAAA,CAAmBkF,oBAAoB;IAC3FG,aAAa,EAAE,CAAAvD,WAAW,aAAXA,WAAW,wBAAA7B,qBAAA,GAAX6B,WAAW,CAAEyE,iBAAiB,cAAAtG,qBAAA,uBAA9BA,qBAAA,CAAgCzyB,KAAK,MAAK,SAAS,KAAIi4B,UAAU,aAAVA,UAAU,wBAAAvF,kBAAA,GAAVuF,UAAU,CAAEX,KAAK,cAAA5E,kBAAA,uBAAjBA,kBAAA,CAAmBmF,aAAa;IACtGC,cAAc,EAAE,CAAAxD,WAAW,aAAXA,WAAW,wBAAA3B,qBAAA,GAAX2B,WAAW,CAAE0E,kBAAkB,cAAArG,qBAAA,uBAA/BA,qBAAA,CAAiC3yB,KAAK,MAAK,KAAK,KAAIi4B,UAAU,aAAVA,UAAU,wBAAArF,kBAAA,GAAVqF,UAAU,CAAEX,KAAK,cAAA1E,kBAAA,uBAAjBA,kBAAA,CAAmBkF,cAAc;IACrGE,qBAAqB,EAAE,CAAA1D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0D,qBAAqB,MAAIC,UAAU,aAAVA,UAAU,wBAAApF,kBAAA,GAAVoF,UAAU,CAAEX,KAAK,cAAAzE,kBAAA,uBAAjBA,kBAAA,CAAmBmF,qBAAqB;IACtG;EAGD,MAAMiB,gBAAgB,GAAG,CACvB;IAAEniC,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAW,EAC1C;IAAEnG,KAAK,EAAE,oBAAoB;IAAEmG,GAAG,EAAE;GAAgB,EACpD;IAAEnG,KAAK,EAAE,cAAc;IAAEmG,GAAG,EAAE;GAAW,EACzC;IAAEnG,KAAK,EAAE,sBAAsB;IAAEmG,GAAG,EAAE;GAAkB,EACxD;IAAEnG,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAe,EAC9C;IAAEnG,KAAK,EAAE,gBAAgB;IAAEmG,GAAG,EAAE;GAAe,EAC/C;IAAEnG,KAAK,EAAE,YAAY;IAAEmG,GAAG,EAAE;GAAS,EACrC;IAAEnG,KAAK,EAAE,kBAAkB;IAAEmG,GAAG,EAAE;GAAc,EAChD;IAAEnG,KAAK,EAAE,aAAa;IAAEmG,GAAG,EAAE;GAAc,CAC5C;EAED,MAAMi8B,aAAa,GAAG,CACpB;IAAEpiC,KAAK,EAAE,mBAAmB;IAAEmG,GAAG,EAAE;GAAe,EAClD;IAAEnG,KAAK,EAAE,oBAAoB;IAAEmG,GAAG,EAAE;GAAmB,EACvD;IAAEnG,KAAK,EAAE,qBAAqB;IAAEmG,GAAG,EAAE;GAAiB,EACtD;IAAEnG,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAY,EAC3C;IAAEnG,KAAK,EAAE,cAAc;IAAEmG,GAAG,EAAE;GAAW,EACzC;IAAEnG,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAQ,EACvC;IAAEnG,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAY,EAC3C;IAAEnG,KAAK,EAAE,gBAAgB;IAAEmG,GAAG,EAAE,UAAU;IAAEkzB,MAAM,EAAE;GAAM,EAC1D;IAAEr5B,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAY,EAC3C;IAAEnG,KAAK,EAAE,gBAAgB;IAAEmG,GAAG,EAAE;GAAa,EAC7C;IAAEnG,KAAK,EAAE,gBAAgB;IAAEmG,GAAG,EAAE;GAAY,EAC5C;IAAEnG,KAAK,EAAE,kBAAkB;IAAEmG,GAAG,EAAE;GAAc,EAChD;IAAEnG,KAAK,EAAE,YAAY;IAAEmG,GAAG,EAAE;GAAS,EACrC;IAAEnG,KAAK,EAAE,oBAAoB;IAAEmG,GAAG,EAAE;GAAc,EAClD;IAAEnG,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAW,CAC3C;EAED,MAAMk8B,cAAc,GAAG,CACrB;IAAEriC,KAAK,EAAE,0BAA0B;IAAEmG,GAAG,EAAE;GAAsB,EAChE;IAAEnG,KAAK,EAAE,iBAAiB;IAAEmG,GAAG,EAAE;GAAa,EAC9C;IAAEnG,KAAK,EAAE,yBAAyB;IAAEmG,GAAG,EAAE;GAAoB,EAC7D;IAAEnG,KAAK,EAAE,gBAAgB;IAAEmG,GAAG,EAAE;GAAY,EAC5C;IAAEnG,KAAK,EAAE,kBAAkB;IAAEmG,GAAG,EAAE;GAAkB,EACpD;IAAEnG,KAAK,EAAE,kBAAkB;IAAEmG,GAAG,EAAE;GAAc,EAChD;IAAEnG,KAAK,EAAE,oBAAoB;IAAEmG,GAAG,EAAE;GAAgB,EACpD;IAAEnG,KAAK,EAAE,aAAa;IAAEmG,GAAG,EAAE;GAAc,CAC5C;EAED,MAAMm8B,WAAW,GAAG,CAClB;IAAEtiC,KAAK,EAAE,cAAc;IAAEmG,GAAG,EAAE,SAAS;IAAEkzB,MAAM,EAAE;GAAM,EACvD;IAAEr5B,KAAK,EAAE,eAAe;IAAEmG,GAAG,EAAE;GAAe,EAC9C;IAAEnG,KAAK,EAAE,iBAAiB;IAAEmG,GAAG,EAAE;GAAa,EAC9C;IAAEnG,KAAK,EAAE,6BAA6B;IAAEmG,GAAG,EAAE;GAAwB,EACrE;IAAEnG,KAAK,EAAE,qBAAqB;IAAEmG,GAAG,EAAE;GAAiB,EACtD;IAAEnG,KAAK,EAAE,sBAAsB;IAAEmG,GAAG,EAAE;GAAkB,EACxD;IAAEnG,KAAK,EAAE,qBAAqB;IAAEmG,GAAG,EAAE,eAAe;IAAEkzB,MAAM,EAAE;GAAM,EACpE;IAAEr5B,KAAK,EAAE,uBAAuB;IAAEmG,GAAG,EAAE,gBAAgB;IAAEkzB,MAAM,EAAE;GAAM,EACvE;IAAEr5B,KAAK,EAAE,sBAAsB;IAAEmG,GAAG,EAAE;GAAiB,CACxD;EAED,MAAMo8B,iBAAiB,GAAGA,MAAMrG,QAAQ,CAAC,CAACD,KAAK,CAAC;EAEhD,MAAMuG,YAAY;IAAA,IAAe;MAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MAC/B,MAAMjT,OAAO,GAAG;QACdkT,WAAW,EAAE;UACXC,KAAK,EAAE,WAAW;UAClBC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,YAAY;UACnBhlC,QAAQ,EAAEA,QAAQ;UAClBilC,SAAS,GAAAP,qBAAA,GAAEzkC,KAAK,CAACilC,WAAW,CAACC,OAAO,EAAE,cAAAT,qBAAA,uBAA3BA,qBAAA,CAA6BU;SACzC;QACDt/B,GAAG,EAAEi5B,SAAS;QACdpT,MAAM,EAAE,UAAU;QAClB0Z,OAAO,EAAE,kCAAkC;QAC3CC,UAAU,GAAAX,sBAAA,GAAE1kC,KAAK,CAACilC,WAAW,CAACC,OAAO,EAAE,cAAAR,sBAAA,wBAAAC,sBAAA,GAA3BD,sBAAA,CAA6BpkC,IAAI,cAAAqkC,sBAAA,uBAAjCA,sBAAA,CAAmCW,QAAQ;QACvDzS,IAAI,EAAE;OACP;MAAC,MAAA0S,KAAA,GAAAtiC,MAAA,aACE;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACmBq6B,gBAAgB,CAAC+F,WAAW,CAAC9T,OAAO,CAAC,EAAApuB,IAAA,WAApDF,MAAM;UAAA,IACRA,MAAM;YACRsK,OAAO,CAAC3L,IAAI,CAAC,kCAAkC,EAAE;cAAE0U,OAAO,EAAE,IAAI;cAAErT;aAAQ,CAAC;;;OAE9E,YAAQ+lB,GAAG,EAAE;QACZzgB,OAAO,CAACD,KAAK,CAAC,eAAe,EAAE0gB,GAAG,CAAC;OACpC;MAAA,OAAAhkB,OAAA,CAAAC,OAAA,CAAAmgC,KAAA,IAAAA,KAAA,CAAAjiC,IAAA,GAAAiiC,KAAA,CAAAjiC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMoiC,aAAa;IAAA,IAAe;MAAA,IAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MAChC,MAAMlU,OAAO,GAAG;QACdkT,WAAW,EAAE;UACXC,KAAK,EAAE,WAAW;UAClBC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,YAAY;UACnBhlC,QAAQ,EAAEA,QAAQ;UAClBilC,SAAS,GAAAU,sBAAA,GAAE1lC,KAAK,CAACilC,WAAW,CAACC,OAAO,EAAE,cAAAQ,sBAAA,uBAA3BA,sBAAA,CAA6BP;SACzC;QACDt/B,GAAG,EAAEi5B,SAAS;QACdpT,MAAM,EAAE,UAAU;QAClB0Z,OAAO,EAAE,wBAAwB;QACjCC,UAAU,GAAAM,sBAAA,GAAE3lC,KAAK,CAACilC,WAAW,CAACC,OAAO,EAAE,cAAAS,sBAAA,wBAAAC,sBAAA,GAA3BD,sBAAA,CAA6BrlC,IAAI,cAAAslC,sBAAA,uBAAjCA,sBAAA,CAAmCN,QAAQ;QACvDzS,IAAI,EAAE;OACP;MAAC,MAAAgT,MAAA,GAAA5iC,MAAA,aACE;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACmBq6B,gBAAgB,CAAC+F,WAAW,CAAC9T,OAAO,CAAC,EAAApuB,IAAA,WAApDF,MAAM;UAAA,IACRA,MAAM;YACRu7B,YAAY,CAAC;cACXl2B,KAAK,EAAE,KAAK;cACZzG,KAAK,EAAElC,CAAC,CAAC,qCAAqC,CAAC,IAAI;aACpD,CAAC;YACFq4B,YAAY,CAAC,IAAI,CAAC;YAClB2N,UAAU,CAAC,MAAM;cACfp4B,OAAO,CAAC3L,IAAI,CAAC,+BAA+B,CAAC;aAC9C,EAAE,IAAI,CAAC;;;OAEX,YAAQonB,GAAG,EAAE;QAAA,IAAA4c,aAAA,EAAAC,kBAAA;QACZt9B,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAE0gB,GAAG,CAAC;QACpCwV,YAAY,CAAC;UACXl2B,KAAK,EAAE,IAAI;UACXzG,KAAK,EAAE,CAAAmnB,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE2C,OAAO,MAAI3C,GAAG,aAAHA,GAAG,wBAAA4c,aAAA,GAAH5c,GAAG,CAAE3jB,QAAQ,cAAAugC,aAAA,wBAAAC,kBAAA,GAAbD,aAAA,CAAe1kC,IAAI,cAAA2kC,kBAAA,uBAAnBA,kBAAA,CAAqBla,OAAO,KAAI;SACxD,CAAC;QACFqM,YAAY,CAAC,IAAI,CAAC;OACnB;MAAA,OAAAhzB,OAAA,CAAAC,OAAA,CAAAygC,MAAA,IAAAA,MAAA,CAAAviC,IAAA,GAAAuiC,MAAA,CAAAviC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EA2BD,MAAM4iC,kBAAkB,GAAIC,WAAW,IAAK;IAC1C,IAAI,CAACA,WAAW,EAAE;IAClB,MAAMC,WAAW,uFAAqFD,WAAa;IACnH3H,aAAa,CAAC4H,WAAW,CAAC;IAC1B9H,cAAc,CAAC,IAAI,CAAC;GACrB;EAED,MAAM+H,gBAAgB,GAAIhyB,MAAM,IAAK;IACnCqqB,cAAc,CAAC,KAAK,CAAC;IACrB,IAAIrqB,MAAM,CAACsX,MAAM,KAAK5rB,CAAC,CAAC,SAAS,CAAC,EAAE;MAClC2lC,aAAa,EAAE;KAChB,MAAM,IAAIrxB,MAAM,CAACsX,MAAM,KAAK5rB,CAAC,CAAC,QAAQ,CAAC,EAAE;MACxC0kC,YAAY,EAAE;;GAEjB;EAED,IAAIlV,eAAe,IAAI6O,YAAY,EAAE,oBAAO77B,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;EAEtD,MAAM65B,OAAO,GAAG,yBAAyB;EAEzC,oBACE/jC,cAAA,CAAAC,aAAA,CAACgnB,cAAQ,qBACPjnB,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBAEd7I,cAAA,CAAAC,aAAA,CAAC+3B,aAAa;IACZzkB,KAAK,EAAE/V,CAAC,CAAC,yBAAyB,CAAE;IACpCy6B,MAAM,EAAE4J,gBAAiB;IACzB/J,OAAO,EAAEiJ,cAAe;IACxBhJ,OAAO,EAAE+I,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzC,UAAW;IAChC7gC,CAAC,EAAEA,CAAE;IACL05B,MAAM,EAAK6M,OAAO,8BAAyBvH,SAAY;IACvDrN,KAAK,EAAAvgB,QAAA,KAAO4oB,SAAS;MAAEzrB,OAAO,EAAEywB,SAAS;MAAEj5B,GAAG,EAAEi5B,SAAS;MAAE5wB,UAAU,EAAEqhB,UAAU;MAAEsP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFl4B,cAAA,CAAAC,aAAA,CAAC+3B,aAAa;IACZzkB,KAAK,EAAE/V,CAAC,CAAC,sBAAsB,CAAE;IACjCy6B,MAAM,EAAE6J,aAAc;IACtBhK,OAAO,EAAEkJ,WAAY;IACrBjJ,OAAO,EAAE+I,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAElM,OAAQ;IAC7Bp3B,CAAC,EAAEA,CAAE;IACL05B,MAAM,EAAK6M,OAAO,6BAAwBvH,SAAY;IACtDrN,KAAK,EAAAvgB,QAAA,KAAO4oB,SAAS;MAAEzrB,OAAO,EAAEywB,SAAS;MAAEj5B,GAAG,EAAEi5B,SAAS;MAAE5wB,UAAU,EAAEqhB,UAAU;MAAEsP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFl4B,cAAA,CAAAC,aAAA,CAAC+3B,aAAa;IACZzkB,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAE;IAC/By6B,MAAM,EAAE8J,cAAe;IACvBjK,OAAO,EAAEqJ,YAAa;IACtBpJ,OAAO,EAAE+I,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAErB,QAAS;IAC9BjiC,CAAC,EAAEA,CAAE;IACL05B,MAAM,EAAK6M,OAAO,2BAAsBvH,SAAY;IACpDrN,KAAK,EAAAvgB,QAAA,KAAO4oB,SAAS;MAAEzrB,OAAO,EAAEywB,SAAS;MAAEj5B,GAAG,EAAEi5B,SAAS;MAAE5wB,UAAU,EAAEqhB,UAAU;MAAEsP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFl4B,cAAA,CAAAC,aAAA,CAAC+3B,aAAa;IACZzkB,KAAK,EAAE/V,CAAC,CAAC,oBAAoB,CAAE;IAC/By6B,MAAM,EAAE+J,WAAY;IACpBlK,OAAO,EAAE0J,SAAU;IACnBzJ,OAAO,EAAE+I,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEZ,KAAM;IAC3B1iC,CAAC,EAAEA,CAAE;IACL05B,MAAM,EAAK6M,OAAO,2BAAsBvH,SAAY;IACpDrN,KAAK,EAAAvgB,QAAA,KAAO4oB,SAAS;MAAEzrB,OAAO,EAAEywB,SAAS;MAAEj5B,GAAG,EAAEi5B,SAAS;MAAE5wB,UAAU,EAAEqhB,UAAU;MAAEsP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFl4B,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAE0P,SAAS,EAAE;;kBACvBxZ,cAAA,CAAAC,aAAA,CAACq4B,oCAAa;IAACxuB,KAAK,EAAE;MAAEwN,YAAY,EAAE;;KAAW9Z,CAAC,CAAC,gBAAgB,CAAiB,CAAC,eACrFwC,cAAA,CAAAC,aAAA,CAAC+jC,kCAAW;IAACl6B,KAAK,EAAE;MAAEm6B,QAAQ,EAAE;;kBAC9BjkC,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IACFxkC,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAE;IAC5BmT,IAAI,EAAEqwB,WAAW,CAACxB,oBAAoB,GAAGhiC,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IAChF2mC,YAAY,EACVnD,WAAW,CAACxB,oBAAoB,iBAC9Bx/B,cAAA,CAAAC,aAAA;MAAK8I,OAAO,EAAEA,MAAM46B,kBAAkB,CAAC3C,WAAW,CAACxB,oBAAoB;oBACrEx/B,cAAA,CAAAC,aAAA,CAACmkC,sCAAe;MAACt6B,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7N,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFnJ,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IACFxkC,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAE;IAC7BmT,IAAI,EAAE6wB,SAAS,CAACZ,qBAAqB,GAAGpjC,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IAC/E2mC,YAAY,EACV3C,SAAS,CAACZ,qBAAqB,iBAC7B5gC,cAAA,CAAAC,aAAA;MAAK8I,OAAO,EAAEA,MAAM46B,kBAAkB,CAACnC,SAAS,CAACZ,qBAAqB;oBACpE5gC,cAAA,CAAAC,aAAA,CAACmkC,sCAAe;MAACt6B,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7N,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFnJ,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IACFxkC,KAAK,EAAElC,CAAC,CAAC,qBAAqB,CAAE;IAChCmT,IAAI,EAAEwwB,YAAY,CAAClB,wBAAwB,GAAGziC,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IACrF2mC,YAAY,EACVhD,YAAY,CAAClB,wBAAwB,iBACnCjgC,cAAA,CAAAC,aAAA;MAAK8I,OAAO,EAAEA,MAAM46B,kBAAkB,CAACxC,YAAY,CAAClB,wBAAwB;oBAC1EjgC,cAAA,CAAAC,aAAA,CAACmkC,sCAAe;MAACt6B,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7N,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFnJ,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IACFxkC,KAAK,EAAElC,CAAC,CAAC,yBAAyB,CAAE;IACpCmT,IAAI,EAAEwwB,YAAY,CAACnB,2BAA2B,GAAGxiC,CAAC,CAAC,qBAAqB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IACvF2mC,YAAY,EACVhD,YAAY,CAACnB,2BAA2B,iBACtChgC,cAAA,CAAAC,aAAA;MAAK8I,OAAO,EAAEA,MAAM46B,kBAAkB,CAACxC,YAAY,CAACnB,2BAA2B;oBAC7EhgC,cAAA,CAAAC,aAAA,CAACmkC,sCAAe;MAACt6B,KAAK,EAAE;QAAEkN,MAAM,EAAE,SAAS;QAAE7N,IAAI,EAAE;;KAAc,CAC9D;GAGV,CACU,CACV,CAAC,EAEL,CAAC+uB,cAAc,iBACdl4B,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAE0P,SAAS,EAAE,MAAM;MAAE6qB,UAAU,EAAE,MAAM;MAAEvL,SAAS,EAAE;;kBAC9D94B,cAAA,CAAAC,aAAA,CAACqkC,+BAAQ;IACP9yB,EAAE,EAAC,kBAAkB;IACrBxP,IAAI,EAAC,kBAAkB;IACvBtC,KAAK,eAAEM,cAAA,CAAAC,aAAA;MAAM6J,KAAK,EAAE;QAAE+M,QAAQ,EAAE,MAAM;QAAElO,KAAK,EAAE;;OAAcnL,CAAC,CAAC,wBAAwB,CAAQ,CAAE;IACjGuR,QAAQ,EAAEkzB,iBAAkB;IAC5BsC,OAAO,EAAE5I;GACV,CACE,CACN,EAOA,CAACzD,cAAc,iBACdl4B,cAAA,CAAAC,aAAA,CAACkzB,gCAAS,qBACRnzB,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IACR7Q,KAAK,EAAElC,CAAC,CAAC,gCAAgC,CAAE;IAC3CyR,QAAQ,EAAEA,MAAMktB,cAAc,CAAEntB,IAAI,IAAK,CAACA,IAAI,CAAE;IAChDlG,QAAQ,EAAE,CAAC6yB;GACZ,CAAC,EACDO,WAAW,iBACVl8B,cAAA,CAAAC,aAAA,CAACukC,2BAAI;IACHr8B,OAAO,EAAEA,OAAQ;IACjB4J,SAAS,EAAE,QAAS;IACpBvU,CAAC,EAAEA,CAAE;IACLguB,QAAQ,EAAEsY,gBAAiB;IAC3Bh6B,KAAK,EAAE;MACLnB,KAAK,EAAE,SAAS;MAChBkO,QAAQ,EAAE;;GAEb,CAEM,CAET,CAAC,EAGNilB,WAAW,iBACV97B,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACL26B,QAAQ,EAAE,OAAO;MACjBxuB,GAAG,EAAE,CAAC;MACNE,IAAI,EAAE,CAAC;MACPnN,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdlB,eAAe,EAAE,iBAAiB;MAClCQ,OAAO,EAAE,MAAM;MACf0qB,cAAc,EAAE,QAAQ;MACxBoF,UAAU,EAAE,QAAQ;MACpBqM,MAAM,EAAE;;kBAGV1kC,cAAA,CAAAC,aAAA;IACE6J,KAAK,EAAE;MACL26B,QAAQ,EAAE,UAAU;MACpB18B,eAAe,EAAE,MAAM;MACvBoG,OAAO,EAAE,MAAM;MACfgJ,YAAY,EAAE,MAAM;MACpB8sB,QAAQ,EAAE,OAAO;MACjBj7B,KAAK,EAAE,MAAM;MACb27B,SAAS,EAAE,MAAM;MACjBxM,QAAQ,EAAE,MAAM;MAChB/gB,SAAS,EAAE;;kBAGbpX,cAAA,CAAAC,aAAA;IACE8I,OAAO,EAAEA,MAAMgzB,cAAc,CAAC,KAAK,CAAE;IACrCjyB,KAAK,EAAE;MACL26B,QAAQ,EAAE,UAAU;MACpBxuB,GAAG,EAAE,MAAM;MACXC,KAAK,EAAE,MAAM;MACbc,MAAM,EAAE,SAAS;MACjBpF,UAAU,EAAE,MAAM;MAClBiF,QAAQ,EAAE,MAAM;MAChBlO,KAAK,EAAE,MAAM;MACboB,UAAU,EAAE,MAAM;MAClBf,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdV,OAAO,EAAE,MAAM;MACf0qB,cAAc,EAAE,QAAQ;MACxBoF,UAAU,EAAE,QAAQ;MACpBlhB,YAAY,EAAE;;KAEjB,MAEI,CAAC,eACNnX,cAAA,CAAAC,aAAA;IACE2kC,GAAG,EAAE5I,UAAW;IAChB6I,GAAG,EAAC,kBAAkB;IACtB/6B,KAAK,EAAE;MAAEm6B,QAAQ,EAAE,MAAM;MAAEh7B,MAAM,EAAE,MAAM;MAAEV,OAAO,EAAE;KAAU;IAC9D2tB,OAAO,EAAGn1B,CAAC,IAAK;MACdA,CAAC,CAAC4O,MAAM,CAAC7F,KAAK,CAACvB,OAAO,GAAG,MAAM;MAC/BxH,CAAC,CAAC4O,MAAM,CAACm1B,WAAW,CAACh7B,KAAK,CAACvB,OAAO,GAAG,OAAO;;GAE/C,CAAC,eACFvI,cAAA,CAAAC,aAAA;IAAK6J,KAAK,EAAE;MAAEvB,OAAO,EAAE,MAAM;MAAE4F,OAAO,EAAE,MAAM;MAAE0C,SAAS,EAAE;;kBACzD7Q,cAAA,CAAAC,aAAA,YAAIzC,CAAC,CAAC,qCAAqC,CAAK,CAAC,eACjDwC,cAAA,CAAAC,aAAA,CAACm3B,iCAAU;IAAC13B,KAAK,EAAElC,CAAC,CAAC,sBAAsB,CAAE;IAACuL,OAAO,EAAEA,MAAM5J,MAAM,CAAC4lC,IAAI,CAAC/I,UAAU,EAAE,QAAQ;GAAI,CAC9F,CACF,CACF,CACN,EACApG,SAAS,iBACR51B,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IACJxtB,KAAK,EAAEi2B,SAAS,CAACj2B,KAAM;IACvBzG,KAAK,EAAE08B,SAAS,CAAC18B,KAAM;IACvBgS,OAAO,EAAEA,MAAMmkB,YAAY,CAAC,KAAK;GAClC,CAEK,CAAC;AAEf,CAAC;;AChsBD,MAAMmP,yBAAyB,GAAG,UAACxnC,CAAC,EAAEynC,QAAQ,EAAOC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAK;EAAA,IAAAC,SAAA,EAAAC,qBAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAC,UAAA;EAAA,IAAzDX,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EACjD,MAAM3gC,YAAY,GAAG,EAAA+gC,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAAC,qBAAA,GAARD,SAAA,CAAU/gC,YAAY,cAAAghC,qBAAA,uBAAtBA,qBAAA,CAAwBtjC,IAAI,OAAAujC,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAUjhC,YAAY;EAC3E,MAAMuhC,YAAY,GAAG,EAAAL,UAAA,GAAAP,QAAQ,cAAAO,UAAA,wBAAAC,qBAAA,GAARD,UAAA,CAAUK,YAAY,cAAAJ,qBAAA,uBAAtBA,qBAAA,CAAwBzjC,IAAI,OAAA0jC,UAAA,GAAIT,QAAQ,cAAAS,UAAA,uBAARA,UAAA,CAAUG,YAAY;EAC3E,MAAMC,mBAAmB,IAAAH,qBAAA,IAAAC,UAAA,GAAGX,QAAQ,cAAAW,UAAA,uBAARA,UAAA,CAAUE,mBAAmB,YAAAH,qBAAA,GAAI,IAAI;EAEjE,MAAM1N,MAAM,GAAG,CACb;IACEv4B,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAC;IACzBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,cAAc;IACnBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,cAAc;MACpBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAc,EAAE;UAAEA,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAuB,CAAE;QACpF+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAC;IACzBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,cAAc;IACnBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,cAAc;MACpBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QACjD+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAC;IACzBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,cAAc;IACnBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,cAAc;MACpBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QACjD+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;IACtBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,WAAW;MACjBkkC,UAAU,EAAE;QAAEC,QAAQ,EAAE;;;GAE3B,EACD;IACEzmC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;IACvBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,WAAW,CAAC;IACrBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,QAAQ,CAAC;IAClBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,QAAQ;IACbmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,QAAQ;MACdikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAqB,CAAE;QAClG+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;IAC9BuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,QAAQ,CAAC;IAClBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,QAAQ;MACdkkC,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACd9b,OAAO,EAAE;OACV;MACDlkB,KAAK,EAAE3I,CAAC,CAAC,uBAAuB;;GAEnC,EACD;IACEkC,KAAK,EAAElC,CAAC,CAAC,UAAU,CAAC;IACpBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,OAAO,CAAC;IACjBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,OAAO;MACbkkC,UAAU,EAAE;QACV7b,OAAO,EAAE;OACV;MACDlkB,KAAK,EAAE3I,CAAC,CAAC,uBAAuB;;GAEnC,EACD;IACEkC,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC;IAC5BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,WAAW;MACjBkkC,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACd3pB,GAAG,EAAE;;;GAGV,EACD;IACE9c,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC;IAC5BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,cAAc;IACnBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,cAAc;MACpBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAgB,EAAE;UAAEA,IAAI,EAAE;SAAmB,EAAE;UAAEA,IAAI,EAAE;SAAY,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QAC5G+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,mBAAmB,CAAC;IAC7BuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,QAAQ;IACbmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,QAAQ;MACdikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAACmmC,iCAAU;QACTC,QAAQ,EAAGtlC,CAAC,IAAKmkC,UAAU,CAACnkC,CAAC,EAAEwJ,KAAK,CAACwE,QAAQ,CAAE;QAC/Cu3B,QAAQ,EAAEA,MAAM;UACd/7B,KAAK,CAACwE,QAAQ,CAAC,IAAI,CAAC;UACpBo2B,aAAa,CAAC,IAAI,CAAC;SACnB;QACF3b,OAAO,EAAEjf,KAAK,CAAC3B,KAAK,GAAGpL,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;OAC5D;;GAGN,EACD;IACEkC,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAC;IAC3BuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC;IACjCuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,qBAAqB;IAC1BmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,qBAAqB;MAC3BikC,SAAS,EAAG17B,KAAK;QAAA,IAAAg8B,YAAA;QAAA,oBACfvmC,cAAA,CAAAC,aAAA,CAACqkC,+BAAQ;UACP5kC,KAAK,EAAElC,CAAC,CAAC,oCAAoC,CAAE;UAC/C+mC,OAAO,GAAAgC,YAAA,GAAEh8B,KAAK,CAAC3B,KAAK,YAAA29B,YAAA,GAAI,IAAK;UAC7Bx3B,QAAQ,EAAGhO,CAAC,IAAKwJ,KAAK,CAACwE,QAAQ,CAAChO,CAAC,CAAC4O,MAAM,CAAC40B,OAAO;SACjD,CAAC;;;GAGP,CACF;EAGD,IAAI,CAACuB,mBAAmB,EAAE;IACxB7N,MAAM,CAACx4B,IAAI,CACT;MACEC,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;MAC1BuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;MAC9BuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAGZ,CAAC;;EAIH,IAAI6jC,YAAY,KAAK,UAAU,EAAE;IAC/B5N,MAAM,CAACx4B,IAAI,CAAC;MACVC,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;MAC1BuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,QAAQ;MACd/B,GAAG,EAAE,eAAe;MACpBmgC,UAAU,EAAE;QACVhkC,IAAI,EAAE,eAAe;QACrBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAACmmC,iCAAU;UACTC,QAAQ,EAAGtlC,CAAC,IAAKmkC,UAAU,CAACnkC,CAAC,EAAEwJ,KAAK,CAACwE,QAAQ,CAAE;UAC/Cu3B,QAAQ,EAAEA,MAAM;YACd/7B,KAAK,CAACwE,QAAQ,CAAC,IAAI,CAAC;YACpBo2B,aAAa,CAAC,IAAI,CAAC;WACnB;UACF3b,OAAO,EAAEjf,KAAK,CAAC3B,KAAK,GAAGpL,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;SAC5D;;KAGN,CAAC;IAEF,IAAI,CAAC4nC,UAAU,EAAE;MACfnN,MAAM,CAACx4B,IAAI,CACT;QACEC,KAAK,EAAElC,CAAC,CAAC,cAAc,CAAC;QACxBuoC,WAAW,EAAE,IAAI;QACjBn+B,IAAI,EAAE,MAAM;QACZo+B,UAAU,EAAE;UACVhkC,IAAI,EAAE,aAAa;UACnBkkC,UAAU,EAAE;YACVC,QAAQ,EAAE,IAAI;YACd9b,OAAO,EAAE;;;OAGd,EACD;QACE3qB,KAAK,EAAElC,CAAC,CAAC,qBAAqB,CAAC;QAC/BuoC,WAAW,EAAE,KAAK;QAClBn+B,IAAI,EAAE,MAAM;QACZo+B,UAAU,EAAE;UACVhkC,IAAI,EAAE;;OAGZ,CAAC;;;EAKL,IAAIsC,YAAY,KAAK,MAAM,EAAE;IAC3B2zB,MAAM,CAACx4B,IAAI,CACT;MACEC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;MACtBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAGZ,CAAC;;EAIH,IAAIsC,YAAY,KAAK,qBAAqB,EAAE;IAC1C2zB,MAAM,CAACx4B,IAAI,CACT;MACEC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;MAC1BuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAGZ,CAAC;;EAIHi2B,MAAM,CAACx4B,IAAI,CAAC;IACVC,KAAK,EAAElC,CAAC,CAAC,SAAS,CAAC;IACnBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,SAAS;IACdmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,SAAS;MACfkkC,UAAU,EAAE;QAAEC,QAAQ,EAAE;OAAM;MAC9BF,SAAS,EAAG17B,KAAK;QAAA,IAAAi8B,aAAA;QAAA,oBACfxmC,cAAA,CAAAC,aAAA,CAACqkC,+BAAQ;UACP5kC,KAAK,EAAElC,CAAC,CAAC,gDAAgD,CAAE;UAC3D+mC,OAAO,GAAAiC,aAAA,GAAEj8B,KAAK,CAAC3B,KAAK,YAAA49B,aAAA,GAAI,KAAM;UAC9Bz3B,QAAQ,EAAGhO,CAAC,IAAKwJ,KAAK,CAACwE,QAAQ,CAAChO,CAAC,CAAC4O,MAAM,CAAC40B,OAAO;SACjD,CAAC;;;GAGP,CAAC;EAEF,OAAO,CACL;IACEkC,IAAI,EAAEjpC,CAAC,CAAC,0BAA0B,CAAC;IACnCoD,IAAI,EAAEq3B;GACP,CACF;AACH,CAAC;;ACtWD,MAAMyO,mBAAmB,GAAGllC,IAAA,IAAoC;EAAA,IAAjCmlC,MAAM,GAAAnlC,IAAA,CAANmlC,MAAM;IAAEnb,QAAQ,GAAAhqB,IAAA,CAARgqB,QAAQ;IAAEyZ,QAAQ,GAAAzjC,IAAA,CAARyjC,QAAQ;EACvD,MAAA3nC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAM6d,SAAS,GAAGp4B,QAAQ,CAAC+vB,KAAK,IAAI,EAAE;EAEtC,MAAM1xB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM4uB,WAAW,GAAG,IAAIoa,eAAe,CAACxnC,QAAQ,CAACynC,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGta,WAAW,CAACzuB,GAAG,CAAC,KAAK,CAAC;EACrC,MAAMgpC,SAAS,GACbD,MAAM,KACNtP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEzrB,OAAO,MAClByrB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEj0B,GAAG,MACd0hC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEl5B,OAAO,MACjBk5B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE1hC,GAAG,KACb+xB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC,IACvC,EAAE;EAEJ,MAAAh3B,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAC1E;MAAEtvB,QAAQ;MAAEkhB,OAAO,EAAE;QAAEpb,GAAG,EAAEwjC,SAAS;QAAEvJ,SAAS,EAAE;;KAAgB,EAClE;MAAE3+B,OAAO,EAAE,CAAC,CAACkoC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHOhoC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQiuB,UAAU,GAAA1uB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAMs+B,cAAc,GAAG3/B,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC6+B,aAAa,CAAC7/B,QAAQ,CAAC;EAE/D,MAAMwpC,SAAS,GAAG,CAAAhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEiC,mBAAmB,KAAI,EAAE;EAGrD,MAAAxlC,SAAA,GAAoCC,cAAQ,CAACslC,SAAS,CAAC7B,UAAU,IAAI,IAAI,CAAC;IAAnEA,UAAU,GAAA1jC,SAAA;IAAEyjC,aAAa,GAAAzjC,SAAA;EAChC,MAAAoY,UAAA,GAA0CnY,cAAQ,CAACslC,SAAS,CAACE,aAAa,IAAI,IAAI,CAAC;IAA5EA,aAAa,GAAArtB,UAAA;IAAEstB,gBAAgB,GAAAttB,UAAA;EACtC,MAAAgL,UAAA,GAA0BnjB,cAAQ,CAAC,IAAI,CAAC;IAAjC8vB,KAAK,GAAA3M,UAAA;IAAE4M,QAAQ,GAAA5M,UAAA;EACtB,MAAAW,UAAA,GAAwC9jB,cAAQ,CAAC,KAAK,CAAC;IAAhD0lC,YAAY,GAAA5hB,UAAA;IAAE6hB,eAAe,GAAA7hB,UAAA;EACpC,MAAAG,UAAA,GAAkCjkB,cAAQ,CAAC,KAAK,CAAC;IAA1C4lC,SAAS,GAAA3hB,UAAA;IAAE4hB,YAAY,GAAA5hB,UAAA;EAE9B,MAAAG,UAAA,GAA0CpkB,cAAQ,CAAC;MAAA,IAAA8lC,qBAAA;MAAA,OAAO;QACxDlkC,GAAG,EAAE0jC,SAAS,CAAC1jC,GAAG,IAAIwjC,SAAS,IAAI,EAAE;QACrCziC,YAAY,EAAE2iC,SAAS,CAAC3iC,YAAY,GAAG;UAAEtC,IAAI,EAAEilC,SAAS,CAAC3iC;SAAc,GAAG,IAAI;QAC9EuhC,YAAY,EAAEoB,SAAS,CAACpB,YAAY,GAAG;UAAE7jC,IAAI,EAAEilC,SAAS,CAACpB;SAAc,GAAG,IAAI;QAC9E6B,YAAY,EAAET,SAAS,CAACS,YAAY,GAAG;UAAE1lC,IAAI,EAAEilC,SAAS,CAACS;SAAc,GAAG,IAAI;QAC9ElkC,SAAS,EAAEyjC,SAAS,CAACzjC,SAAS,IAAI,EAAE;QACpCC,UAAU,EAAEwjC,SAAS,CAACxjC,UAAU,IAAI,EAAE;QACtCC,QAAQ,EAAEujC,SAAS,CAACvjC,QAAQ,IAAI,EAAE;QAClCC,MAAM,EAAEsjC,SAAS,CAACtjC,MAAM,GAAG;UAAE3B,IAAI,EAAEilC,SAAS,CAACtjC;SAAQ,GAAG,IAAI;QAC5DgkC,gBAAgB,EAAEV,SAAS,CAACU,gBAAgB,IAAI,EAAE;QAClDC,MAAM,EAAEX,SAAS,CAACW,MAAM,IAAI,EAAE;QAC9BC,QAAQ,EAAEZ,SAAS,CAACY,QAAQ,IAAI,EAAE;QAClCnqB,KAAK,EAAEupB,SAAS,CAACvpB,KAAK,IAAI,EAAE;QAC5BoqB,SAAS,EAAEb,SAAS,CAACa,SAAS,IAAI,EAAE;QACpCC,YAAY,EAAEd,SAAS,CAACc,YAAY,GAAG;UAAE/lC,IAAI,EAAEilC,SAAS,CAACc;SAAc,GAAG,IAAI;QAC9EC,cAAc,EAAEf,SAAS,CAACe,cAAc,IAAI,EAAE;QAC9ClC,mBAAmB,GAAA2B,qBAAA,GAAER,SAAS,CAACnB,mBAAmB,YAAA2B,qBAAA,GAAI,IAAI;QAC1DQ,aAAa,EAAEhB,SAAS,CAACgB,aAAa,IAAI,EAAE;QAC5CC,iBAAiB,EAAEjB,SAAS,CAACiB,iBAAiB,IAAI,EAAE;QACpD9C,UAAU,EAAE6B,SAAS,CAAC7B,UAAU,IAAI,IAAI;QACxC+B,aAAa,EAAEF,SAAS,CAACE,aAAa,IAAI,IAAI;QAC9CgB,MAAM,EAAElB,SAAS,CAACkB,MAAM,IAAI,IAAI;QAChC7lB,WAAW,EAAE2kB,SAAS,CAAC3kB,WAAW,IAAI,EAAE;QACxC8lB,kBAAkB,EAAEnB,SAAS,CAACmB,kBAAkB,IAAI,EAAE;QACtDC,WAAW,EAAEpB,SAAS,CAACoB,WAAW,IAAI,EAAE;QACxCC,UAAU,EAAErB,SAAS,CAACqB,UAAU,IAAI,EAAE;QACtCxrB,UAAU,EAAEmqB,SAAS,CAACnqB,UAAU,IAAI,EAAE;QACtCyrB,UAAU,EAAEtB,SAAS,CAACsB,UAAU,IAAI,EAAE;QACtCC,aAAa,EAAEvB,SAAS,CAACuB,aAAa,IAAI,EAAE;QAC5CC,OAAO,EAAExB,SAAS,CAACwB,OAAO,IAAI;OAC/B;KAAC,CAAC;IA9BIC,aAAa,GAAA3iB,UAAA;IAAE4iB,gBAAgB,GAAA5iB,UAAA;EAgCtC,MAAAG,UAAA,GAA0CvkB,cAAQ,CAAC+mC,aAAa,CAAC;IAA1DE,aAAa,GAAA1iB,UAAA;IAAE2iB,gBAAgB,GAAA3iB,UAAA;EAEtC,MAAM4iB,sBAAsB,GAAI7b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMyK,aAAa,GACjB,CAAAzK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0K,qBAAqB,MAAI1K,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2K,iBAAiB,KAAI3K,UAAU;IAClF,MAAM4K,eAAe,GAAG,CAAC35B,KAAK,CAACC,OAAO,CAACu5B,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAEDvwB,eAAS,CAAC,MAAM;IACd,MAAMyhC,OAAO,GAAGD,sBAAsB,CAAC7b,UAAU,CAAC;IAClD,MAAMwK,OAAO,GAAGsR,OAAO,KAAI9D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB;IACtD,MAAM3O,OAAO,GAAG,CAAA8Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnK,iBAAiB,KAAImK,OAAO,IAAI,EAAE;IAC3D,MAAMuR,WAAW,GAAG,CAAAvR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkF,cAAc,KAAI,EAAE;IAEjD,IAAIhe,OAAO,IAAIjZ,MAAM,CAACC,IAAI,CAACgZ,OAAO,CAAC,CAAC9e,MAAM,GAAG,CAAC,IAAI,CAACwnC,YAAY,EAAE;MAAA,IAAA4B,sBAAA;MAC/D,IAAIC,KAAK,GAAG,EAAE;MACd,IAAIC,KAAK,GAAG,EAAE;MACd,IAAIC,KAAK,GAAG,EAAE;MAEd,IAAIzqB,OAAO,CAACnb,SAAS,EAAE;QACrB0lC,KAAK,GAAGvqB,OAAO,CAACnb,SAAS;QACzB2lC,KAAK,GAAGxqB,OAAO,CAAClb,UAAU,IAAI,EAAE;QAChC2lC,KAAK,GAAGzqB,OAAO,CAACjb,QAAQ,IAAI,EAAE;OAC/B,MAAM,IAAIib,OAAO,CAACuP,YAAY,EAAE;QAC/B,MAAMmb,KAAK,GAAG1qB,OAAO,CAACuP,YAAY,CAACob,IAAI,EAAE,CAACzkC,KAAK,CAAC,KAAK,CAAC;QACtDqkC,KAAK,GAAGG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,IAAIA,KAAK,CAACxpC,MAAM,KAAK,CAAC,EAAEupC,KAAK,GAAGC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAIA,KAAK,CAACxpC,MAAM,GAAG,CAAC,EAAE;UACpBspC,KAAK,GAAGE,KAAK,CAACptB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACxW,IAAI,CAAC,GAAG,CAAC;UACpC2jC,KAAK,GAAGC,KAAK,CAACA,KAAK,CAACxpC,MAAM,GAAG,CAAC,CAAC;;;MAInC,MAAM0pC,eAAe,GAAG;QACtBhmC,GAAG,EAAE0jC,SAAS,CAAC1jC,GAAG,IAAIwjC,SAAS,IAAI,EAAE;QACrCziC,YAAY,EAAE2iC,SAAS,CAAC3iC,YAAY,GAChC;UAAEtC,IAAI,EAAEilC,SAAS,CAAC3iC;SAAc,GAChCqa,OAAO,CAACra,YAAY,GAClB;UAAEtC,IAAI,EAAE2c,OAAO,CAACra;SAAc,GAC9B,IAAI;QACVuhC,YAAY,EAAEoB,SAAS,CAACpB,YAAY,GAChC;UAAE7jC,IAAI,EAAEilC,SAAS,CAACpB;SAAc,GAChClnB,OAAO,CAACknB,YAAY,GAClB;UAAE7jC,IAAI,EAAE2c,OAAO,CAACknB;SAAc,GAC9B,IAAI;QACV6B,YAAY,EAAET,SAAS,CAACS,YAAY,GAAG;UAAE1lC,IAAI,EAAEilC,SAAS,CAACS;SAAc,GAAG,IAAI;QAC9ElkC,SAAS,EAAEyjC,SAAS,CAACzjC,SAAS,IAAI0lC,KAAK;QACvCzlC,UAAU,EAAEwjC,SAAS,CAACxjC,UAAU,IAAI0lC,KAAK;QACzCzlC,QAAQ,EAAEujC,SAAS,CAACvjC,QAAQ,IAAI0lC,KAAK;QACrCzlC,MAAM,EAAEsjC,SAAS,CAACtjC,MAAM,GACpB;UAAE3B,IAAI,EAAEilC,SAAS,CAACtjC;SAAQ,GAC1Bgb,OAAO,CAAChb,MAAM,GACZ;UAAE3B,IAAI,EAAE2c,OAAO,CAAChb;SAAQ,GACxB,IAAI;QACVgkC,gBAAgB,EAAEV,SAAS,CAACU,gBAAgB,IAAIhpB,OAAO,CAAC6qB,YAAY,IAAI,EAAE;QAC1E5B,MAAM,EAAEX,SAAS,CAACW,MAAM,IAAIjpB,OAAO,CAAChB,WAAW,IAAIqrB,WAAW,CAACrpB,QAAQ,IAAI,EAAE;QAC7EkoB,QAAQ,EAAEZ,SAAS,CAACY,QAAQ,IAAImB,WAAW,CAAC3J,UAAU,IAAI,EAAE;QAC5D3hB,KAAK,EAAEupB,SAAS,CAACvpB,KAAK,IAAIiB,OAAO,CAACjB,KAAK,IAAIsrB,WAAW,CAACtrB,KAAK,IAAI,EAAE;QAClEoqB,SAAS,EAAEb,SAAS,CAACa,SAAS,KAAKkB,WAAW,CAAC1J,UAAU,GAAG16B,MAAM,CAACokC,WAAW,CAAC1J,UAAU,CAAC,GAAG,EAAE,CAAC;QAChGyI,YAAY,EAAEd,SAAS,CAACc,YAAY,GAAG;UAAE/lC,IAAI,EAAEilC,SAAS,CAACc;SAAc,GAAG,IAAI;QAC9EC,cAAc,EAAEf,SAAS,CAACe,cAAc,IAAI,EAAE;QAC9ClC,mBAAmB,GAAAmD,sBAAA,GAAEhC,SAAS,CAACnB,mBAAmB,YAAAmD,sBAAA,GAAI,IAAI;QAC1DhB,aAAa,EAAEhB,SAAS,CAACgB,aAAa,IAAItpB,OAAO,CAACspB,aAAa,IAAI,EAAE;QACrEC,iBAAiB,EAAEjB,SAAS,CAACiB,iBAAiB,IAAIvpB,OAAO,CAACupB,iBAAiB,IAAI,EAAE;QACjF9C,UAAU,EAAE6B,SAAS,CAAC7B,UAAU,IAAIzmB,OAAO,CAACqpB,cAAc,IAAI,IAAI;QAClEb,aAAa,EAAEF,SAAS,CAACE,aAAa,IAAI,IAAI;QAC9CgB,MAAM,EAAElB,SAAS,CAACkB,MAAM,IAAI,IAAI;QAChC7lB,WAAW,EAAE2kB,SAAS,CAAC3kB,WAAW,IAAI,EAAE;QACxC8lB,kBAAkB,EAAEnB,SAAS,CAACmB,kBAAkB,IAAI,EAAE;QACtDC,WAAW,EAAEpB,SAAS,CAACoB,WAAW,IAAI,EAAE;QACxCC,UAAU,EAAErB,SAAS,CAACqB,UAAU,IAAI,EAAE;QACtCxrB,UAAU,EAAEmqB,SAAS,CAACnqB,UAAU,IAAI,EAAE;QACtCyrB,UAAU,EAAEtB,SAAS,CAACsB,UAAU,IAAI,EAAE;QACtCC,aAAa,EAAEvB,SAAS,CAACuB,aAAa,IAAI,EAAE;QAC5CC,OAAO,EAAExB,SAAS,CAACwB,OAAO,IAAI;OAC/B;MAEDE,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAACnE,UAAU,EAAE;QAC9BD,aAAa,CAACoE,eAAe,CAACnE,UAAU,CAAC;;MAE3C,IAAImE,eAAe,CAACpC,aAAa,EAAE;QACjCC,gBAAgB,CAACmC,eAAe,CAACpC,aAAa,CAAC;;MAEjDG,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACra,UAAU,EAAEgY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB,EAAE+Z,YAAY,CAAC,CAAC;EAG3D,MAAMoC,iBAAiB,aAAU1oC,CAAC,EAAEgO,QAAQ;IAAA,IAAK;MAC/C,MAAM26B,IAAI,GAAG3oC,CAAC,CAAC4O,MAAM,CAACg6B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAA7mC,OAAA,CAAAC,OAAA;MAEX,IAAI4mC,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBlY,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAqF,OAAA,CAAAC,OAAA;;MACD,MAAAmgC,KAAA,GAAAtiC,MAAA,aAEG;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACgBpF,KAAK,CAACmsC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAEjsC,QAAQ,CAAC,EAAAuD,IAAA,WAApE+oC,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMtG,WAAW,GAAGmG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAEhrC,IAAI,cAAAirC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBtG,WAAW;UAAC,IACnDA,WAAW;YACb70B,QAAQ,CAAC26B,IAAI,CAAC1nC,IAAI,CAAC;YACnBolC,gBAAgB,CAACsC,IAAI,CAAC1nC,IAAI,CAAC;YAC3BmjC,aAAa,CAACvB,WAAW,CAAC;YAC1BlS,QAAQ,CAAC;cAAE9pB,IAAI,EAAE,SAAS;cAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACNk0B,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAmgC,KAAA,IAAAA,KAAA,CAAAjiC,IAAA,GAAAiiC,KAAA,CAAAjiC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMopC,iBAAiB,GAAGA,CAACC,QAAQ,EAAErrC,IAAI,KAAK;IAAA,IAAAsrC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA;IAE5C,MAAMC,mBAAmB,GACvB,CAAC,CAAA1rC,IAAI,aAAJA,IAAI,wBAAAsrC,kBAAA,GAAJtrC,IAAI,CAAEuF,YAAY,cAAA+lC,kBAAA,uBAAlBA,kBAAA,CAAoBroC,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuF,YAAY,QAC9C,CAAAskC,aAAa,aAAbA,aAAa,wBAAA0B,qBAAA,GAAb1B,aAAa,CAAEtkC,YAAY,cAAAgmC,qBAAA,uBAA3BA,qBAAA,CAA6BtoC,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEtkC,YAAY,EAAC;IACpE,MAAMomC,mBAAmB,GACvB,CAAC,CAAA3rC,IAAI,aAAJA,IAAI,wBAAAwrC,kBAAA,GAAJxrC,IAAI,CAAE8mC,YAAY,cAAA0E,kBAAA,uBAAlBA,kBAAA,CAAoBvoC,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8mC,YAAY,QAC9C,CAAA+C,aAAa,aAAbA,aAAa,wBAAA4B,qBAAA,GAAb5B,aAAa,CAAE/C,YAAY,cAAA2E,qBAAA,uBAA3BA,qBAAA,CAA6BxoC,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE/C,YAAY,EAAC;IACpE,MAAM8E,0BAA0B,GAAG,CAAA5rC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+mC,mBAAmB,OAAK8C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9C,mBAAmB;IAEnG,IAAI2E,mBAAmB,IAAIC,mBAAmB,IAAIC,0BAA0B,EAAE;MAC5E9B,gBAAgB,CAAE75B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJjQ,IAAI,CACP,CAAC;;IAIL,MAAM6rC,MAAM,GAAG,CAAA7rC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwE,GAAG,KAAIwjC,SAAS;IACrC,MAAM8D,eAAe,GAAG9rC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuF,YAAY;IAC1C,MAAMwmC,eAAe,GAAG/rC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8mC,YAAY;IAC1C,MAAMkF,eAAe,GAAGhsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2oC,YAAY;IAC1C,MAAMsD,YAAY,GAAGjsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyE,SAAS;IACpC,MAAMynC,SAAS,GAAGlsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6oC,MAAM;IAC9B,MAAMsD,YAAY,GAAGnsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+oC,SAAS;IACpC,MAAMqD,UAAU,GAAGpsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0pC,OAAO;IAChC,MAAM2C,KAAK,GAAG,CAAArsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqmC,UAAU,KAAIA,UAAU;IAC5C,MAAMiG,cAAc,GAAGtsC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEujB,WAAW;IAExC,IAAIgpB,KAAK,GAAG,IAAI;IAChB,IAAI,CAACV,MAAM,EAAEU,KAAK,GAAG,KAAK;IAC1B,IAAI,CAACT,eAAe,EAAES,KAAK,GAAG,KAAK;IACnC,IAAI,CAACR,eAAe,EAAEQ,KAAK,GAAG,KAAK;IACnC,IAAI,CAACP,eAAe,EAAEO,KAAK,GAAG,KAAK;IACnC,IAAI,CAACN,YAAY,EAAEM,KAAK,GAAG,KAAK;IAChC,IAAI,CAACL,SAAS,IAAI,CAAC,cAAc,CAACM,IAAI,CAACN,SAAS,CAAC,EAAEK,KAAK,GAAG,KAAK;IAChE,IAAI,CAACJ,YAAY,IAAIvoB,MAAM,CAACuoB,YAAY,CAAC,IAAI,CAAC,EAAEI,KAAK,GAAG,KAAK;IAC7D,IAAI,CAAAR,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9oC,IAAI,MAAK,UAAU,IAAI,CAACopC,KAAK,IAAI,CAACC,cAAc,EAAEC,KAAK,GAAG,KAAK;IACpF,IAAI,CAACH,UAAU,EAAEG,KAAK,GAAG,KAAK;IAE9B,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAMr8B,QAAQ,aAAUlQ,IAAI;IAAA,IAAK;MAAA,IAAAysC,mBAAA,EAAAC,mBAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA;MAC/B,MAAMC,UAAU,GAAG;QACjBvoC,GAAG,EAAExE,IAAI,CAACwE,GAAG,IAAIwjC,SAAS;QAC1BziC,YAAY,EAAE,EAAAknC,mBAAA,GAAAzsC,IAAI,CAACuF,YAAY,cAAAknC,mBAAA,uBAAjBA,mBAAA,CAAmBxpC,IAAI,KAAIjD,IAAI,CAACuF,YAAY;QAC1DuhC,YAAY,EAAE,EAAA4F,mBAAA,GAAA1sC,IAAI,CAAC8mC,YAAY,cAAA4F,mBAAA,uBAAjBA,mBAAA,CAAmBzpC,IAAI,KAAIjD,IAAI,CAAC8mC,YAAY;QAC1D6B,YAAY,EAAE,EAAAgE,kBAAA,GAAA3sC,IAAI,CAAC2oC,YAAY,cAAAgE,kBAAA,uBAAjBA,kBAAA,CAAmB1pC,IAAI,KAAIjD,IAAI,CAAC2oC,YAAY;QAC1DxZ,YAAY,EAAEnvB,IAAI,CAACmvB,YAAY,IAAI,EAAGnvB,IAAI,CAACyE,SAAS,IAAI,EAAE,WAAIzE,IAAI,CAAC0E,UAAU,IAAI,EAAE,WAAI1E,IAAI,CAAC2E,QAAQ,IAAI,EAAE,GAAG4lC,IAAI,EAAE;QACnH9lC,SAAS,EAAEzE,IAAI,CAACyE,SAAS;QACzBC,UAAU,EAAE1E,IAAI,CAAC0E,UAAU;QAC3BC,QAAQ,EAAE3E,IAAI,CAAC2E,QAAQ;QACvBC,MAAM,EAAE,EAAAgoC,YAAA,GAAA5sC,IAAI,CAAC4E,MAAM,cAAAgoC,YAAA,uBAAXA,YAAA,CAAa3pC,IAAI,KAAIjD,IAAI,CAAC4E,MAAM;QACxCgkC,gBAAgB,EAAE5oC,IAAI,CAAC4oC,gBAAgB;QACvCoE,QAAQ,EAAEhtC,IAAI,CAACgtC,QAAQ,IAAI9E,SAAS,CAAC8E,QAAQ,IAAI,EAAE;QACnDnE,MAAM,EAAE7oC,IAAI,CAAC6oC,MAAM;QACnBC,QAAQ,EAAE9oC,IAAI,CAAC8oC,QAAQ;QACvBnqB,KAAK,EAAE3e,IAAI,CAAC2e,KAAK;QACjBoqB,SAAS,EAAE/oC,IAAI,CAAC+oC,SAAS;QACzB1C,UAAU,EAAEA,UAAU;QACtB+B,aAAa,EAAEA,aAAa;QAC5B7kB,WAAW,EAAEvjB,IAAI,CAACujB,WAAW;QAC7B8lB,kBAAkB,EAAErpC,IAAI,CAACqpC,kBAAkB;QAC3CC,WAAW,EAAEtpC,IAAI,CAACspC,WAAW;QAC7BC,UAAU,EAAEvpC,IAAI,CAACupC,UAAU;QAC3BxrB,UAAU,EAAE/d,IAAI,CAAC+d,UAAU;QAC3BkvB,QAAQ,EAAEjtC,IAAI,CAACitC,QAAQ,IAAI/E,SAAS,CAAC+E,QAAQ,IAAI,EAAE;QACnDC,cAAc,EAAEltC,IAAI,CAACktC,cAAc,IAAIhF,SAAS,CAACgF,cAAc,IAAI,EAAE;QACrEzD,aAAa,EAAEzpC,IAAI,CAACypC,aAAa;QACjCD,UAAU,EAAExpC,IAAI,CAACwpC,UAAU;QAC3B2D,OAAO,EAAE,EAAAN,kBAAA,GAAA7sC,IAAI,CAACgpC,YAAY,cAAA6D,kBAAA,uBAAjBA,kBAAA,CAAmB5pC,IAAI,KAAIjD,IAAI,CAACgpC,YAAY;QACrDoE,QAAQ,EAAEptC,IAAI,CAACipC,cAAc;QAC7BS,OAAO,EAAE1pC,IAAI,CAAC0pC,OAAO;QACrB3C,mBAAmB,GAAA+F,qBAAA,GAAE9sC,IAAI,CAAC+mC,mBAAmB,YAAA+F,qBAAA,GAAI,IAAI;QACrD5D,aAAa,EAAElpC,IAAI,CAACkpC,aAAa;QACjCC,iBAAiB,EAAEnpC,IAAI,CAACmpC;OACzB;MAAC,MAAA3E,MAAA,GAAA5iC,MAAA,aAEE;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACIu6B,cAAc,CAAC6F,WAAW,CAAAt0B,QAAA;UAC9B0zB,WAAW,EAAE,EAAE;UACf8J,UAAU,EAAE;WACTN,UAAU,CACd,CAAC,EAAA9qC,IAAA;UACF0wB,QAAQ,CAAC;YAAE9pB,IAAI,EAAE,SAAS;YAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,4BAA4B;WAAG,CAAC;UACvEguB,QAAQ,CAACmb,MAAM,CAAC9gC,GAAG,EAAEimC,UAAU,CAAC;;OACjC,cAAe;QACdpa,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,mCAAmC;SAAG,CAAC;OAC7E;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAygC,MAAA,IAAAA,MAAA,CAAAviC,IAAA,GAAAuiC,MAAA,CAAAviC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,IAAI/B,SAAS,EAAE;IACb,oBAAOgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGnB,MAAMmiC,MAAM,GAAGrH,yBAAyB,CAACxnC,CAAC,EAAEorC,aAAa,EAAEa,iBAAiB,EAAEtE,aAAa,EAAEC,UAAU,CAAC;EAExG,oBACEplC,cAAA,CAAAC,aAAA,CAACgnB,cAAQ,qBACPjnB,cAAA,CAAAC,aAAA,CAACqsC,mCAAY;IACXzmC,GAAG,EAAEwhC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvB7nC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAE;IAC/BmpC,MAAM,EAAE0F,MAAM,CAACjuC,GAAG,CAAEiH,IAAI,IAAAuJ,QAAA,KACnBvJ,IAAI;MACPmnC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJx9B,QAAQ,EAAEA,QAAS;IACnBy5B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDlb,KAAK,iBACJzxB,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IACJxtB,KAAK,EAAEsrB,KAAK,CAAC7pB,IAAI,KAAK,OAAQ;IAC9BlI,KAAK,EAAE+xB,KAAK,CAACjI,OAAQ;IACrB9X,OAAO,EAAEA,MAAMggB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;ACtTM,MAAMkb,UAAU,GAAG,CACxB;EACEhsC,IAAI,EAAE,CACJ;IACEisC,KAAK,EAAE,kBAAkB;IACzB5G,SAAS,EAAES,mBAAmB;IAC9B7gC,GAAG,EAAE,qBAAqB;IAC1BinC,KAAK,EAAE;MACLC,MAAM,EAAE,0BAA0B;MAClCC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,iBAAiB;IACxB5G,SAAS,EAAE,gBAAgB;IAC3BpgC,GAAG,EAAE,gBAAgB;IACrBunC,SAAS,EAAE,IAAI;IACfC,qBAAqB,EAAE,KAAK;IAC5BP,KAAK,EAAE;MACLC,MAAM,EAAE,sBAAsB;MAC9BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,eAAe;IACtB5G,SAAS,EAAE,cAAc;IACzBpgC,GAAG,EAAE,iBAAiB;IACtBinC,KAAK,EAAE;MACLC,MAAM,EAAE,oBAAoB;MAC5BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,eAAe;IACtB5G,SAAS,EAAE,cAAc;IACzBpgC,GAAG,EAAE,cAAc;IACnBinC,KAAK,EAAE;MACLC,MAAM,EAAE,oBAAoB;MAC5BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ;AAEL,CAAC,CACF;;;ACrED,AAOA,MAAMG,QAAQ,GAAG9rC,IAAA,IAA0B;EAAA,IAAjB+rC,UAAU,GAAA/rC,IAAA,CAAhByyB,IAAI;EAEtB,MAAMuZ,KAAK,GAAGxZ,4BAAa,EAAE;EAC7B,MAAA12B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAQta,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;EAChB,MAAM+L,OAAO,GAAGC,yBAAU,EAAE;EAE5B,IAAIs7B,MAAM,GAAG,EAAE;EACf,MAAA7Q,qBAAA,GAA4Bp4B,KAAK,CAACc,KAAK,CAACu3B,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;IAArEY,MAAM,GAAAb,qBAAA;IAAE2X,SAAS,GAAA3X,qBAAA;EAExBxuB,eAAS,CAAC,MAAM;IACd,IAAIlI,QAAQ,CAAC+vB,KAAK,IAAIzpB,MAAM,CAACC,IAAI,CAACvG,QAAQ,CAAC+vB,KAAK,CAAC,CAACtvB,MAAM,GAAG,CAAC,EAAE;MAC5D,MAAA6tC,eAAA,GAA2BtuC,QAAQ,CAAC+vB,KAAK;QAAjCoN,KAAK,GAAAmR,eAAA,CAALnR,KAAK;QAAKoR,IAAI,GAAAnjC,6BAAA,CAAAkjC,eAAA,EAAAjjC,WAAA;MACtBgjC,SAAS,CAAA7+B,QAAA,KAAM+nB,MAAM,EAAKgX,IAAI,EAAKpR,KAAK,CAAE,CAAC;;GAE9C,EAAE,CAACn9B,QAAQ,CAAC+vB,KAAK,CAAC,CAAC;EAEpB,MAAMye,MAAM,GAAGA,CAACC,QAAQ,EAAEj9B,KAAK,EAAEk9B,aAAa,EAAEjoC,GAAG,KAAK;IACtD,IAAIkoC,WAAW,GAAG1uC,QAAQ,CAACwF,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE;IAC3C,IAAIkpC,QAAQ,GAAGrH,MAAM,CAACvpB,IAAI,CAAE4wB,QAAQ,IAAMnoC,GAAG,GAAGmoC,QAAQ,CAACnoC,GAAG,KAAKA,GAAG,GAAGmoC,QAAQ,CAACnB,KAAK,KAAKkB,WAAY,CAAC;IACvG,IAAI,CAACC,QAAQ,EAAEA,QAAQ,GAAGrH,MAAM,CAACvpB,IAAI,CAAE4wB,QAAQ,IAAKA,QAAQ,CAACnB,KAAK,KAAKkB,WAAW,CAAC;IAEnF,IAAIE,QAAQ,GAAG,IAAI;IACnB,MAAMC,YAAY,GAAGvH,MAAM,CAACwH,SAAS,CAAElpC,CAAC,IAAKA,CAAC,CAAC4nC,KAAK,KAAKmB,QAAQ,CAACnB,KAAK,CAAC;IACxE,IAAIqB,YAAY,GAAG,CAAC,CAAC,IAAIA,YAAY,GAAGvH,MAAM,CAAC9mC,MAAM,GAAG,CAAC,EAAE;MACzDouC,QAAQ,GAAGtH,MAAM,CAACuH,YAAY,GAAG,CAAC,CAAC,CAACrB,KAAK;;IAG3C,IAAIuB,mBAAmB,GAAGhjC,OAAO,CAAC3L,IAAI;IACtC,IAAIouC,QAAQ,EAAE;MACZO,mBAAmB,GAAGhjC,OAAO,CAACpG,OAAO;;IAGvC,MAAMqpC,IAAI,GAAGd,UAAU,IAAIC,KAAK,CAACvZ,IAAI,CAACpvB,KAAK,CAAC,GAAG,CAAC,CAACoX,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACxW,IAAI,CAAC,GAAG,CAAC;IACvE,IAAIwoC,QAAQ,KAAK,IAAI,EAAE;MACrB,OAAOG,mBAAmB,CAAIC,IAAI,cAAAz/B,QAAA,KAAgB+nB,MAAM;QAAE4F,KAAK,EAAE5F;QAAQ,CAAC;;IAG5EyX,mBAAmB,CAAIC,IAAI,SAAIJ,QAAQ,EAAAr/B,QAAA,KAAS+nB,MAAM,CAAE,CAAC;GAC1D;EAED,SAAS2X,YAAYA,CAACzoC,GAAG,EAAE9G,IAAI,EAAE8uC,QAAQ,EAAEj9B,KAAK,EAAEk9B,aAAa,EAAUS,MAAM,EAAU;IAAA,IAAvCT,aAAa;MAAbA,aAAa,GAAG,KAAK;;IAAA,IAAES,MAAM;MAANA,MAAM,GAAG,KAAK;;IACrFd,SAAS,CAAEz+B,IAAI,IAAAJ,QAAA,KAAWI,IAAI;MAAE,CAACnJ,GAAG,GAAA+I,QAAA,KAAQ+nB,MAAM,CAAC9wB,GAAG,CAAC,EAAK9G,IAAI;MAAK,CAAC;IACtE,IAAI,CAACwvC,MAAM,EAAE;MACXX,MAAM,CAACC,QAAQ,EAAEj9B,KAAK,EAAEk9B,aAAa,EAAEjoC,GAAG,CAAC;;;EAS/C+mC,UAAU,CAAChnC,OAAO,CAAE4oC,GAAG,IAAK;IAC1B7H,MAAM,GAAGA,MAAM,CAAC8H,MAAM,CAACD,GAAG,CAAC5tC,IAAI,CAAC;GACjC,CAAC;EAEF+lC,MAAM,CAAC+H,UAAU,GAAG,kBAAkB;EAEtC,MAAMC,cAAc,GAAGhI,MAAM,CAACvoC,GAAG,CAAE6G,CAAC,IAAKA,CAAC,CAAC4nC,KAAK,CAAC;EACjD,MAAM+B,UAAU,GAAGD,cAAc,CAACr0B,IAAI,CAAEuyB,KAAK,IAAKxtC,QAAQ,CAACC,QAAQ,CAACutC,KAAK,CAAC,CAAC;EAE3E,MAAMgC,WAAW,GAAGpoC,YAAM,CAAC,EAAE,CAAC;EAE9Ba,eAAS,CAAC,MAAM;IACd,IAAIsnC,UAAU,EAAE;MACd,MAAME,YAAY,GAAGzvC,QAAQ,CAACwF,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE;MAC9C,IAAI+pC,WAAW,CAACtnC,OAAO,CAACunC,YAAY,CAAC,EAAE;QACrCD,WAAW,CAACtnC,OAAO,CAACunC,YAAY,CAAC,CAACC,cAAc,CAAC;UAAEC,QAAQ,EAAE,QAAQ;UAAEC,KAAK,EAAE;SAAS,CAAC;;;GAG7F,EAAE,CAAC5vC,QAAQ,EAAEuvC,UAAU,CAAC,CAAC;EAE1B,oBACE5uC,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACivC,uCAAgB;IAACvI,MAAM,EAAEA,MAAO;IAACwI,aAAa,EAAE;GAAO,CAAC,eACzDnvC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACmvC,qBAAM,qBACLpvC,cAAA,CAAAC,aAAA,CAACovC,oBAAK;IAACpb,IAAI,EAAE0a,cAAc,CAACvwC,GAAG,CAAEyuC,KAAK,KAAQU,UAAU,IAAIC,KAAK,CAACvZ,IAAI,CAACpvB,KAAK,CAAC,GAAG,CAAC,CAACoX,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACxW,IAAI,CAAC,GAAG,CAAC,UAAIonC,KAAO;kBACjH7sC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ89B,MAAM,CAACvoC,GAAG,CAAC,CAAC4vC,QAAQ,EAAEp9B,KAAK,KAAK;IAC/B,MAAQq1B,SAAS,GAAK+H,QAAQ,CAAtB/H,SAAS;IACjB,MAAMqJ,SAAS,GAAG,OAAOrJ,SAAS,KAAK,QAAQ,GAAGvoC,KAAK,CAAC6N,wBAAwB,CAACC,YAAY,CAACy6B,SAAS,CAAC,GAAGA,SAAS;IAEpH,oBACEjmC,cAAA,CAAAC,aAAA;MAAK4F,GAAG,EAAE+K,KAAM;MAAC5G,GAAG,EAAGulC,EAAE,IAAMV,WAAW,CAACtnC,OAAO,CAACymC,QAAQ,CAACnB,KAAK,CAAC,GAAG0C,EAAI;MAAC1mC,SAAS,EAAC;oBAClF7I,cAAA,CAAAC,aAAA,CAACqvC,SAAS;MACR3I,MAAM,EAAA/3B,QAAA,KAAOo/B,QAAQ;QAAExB,aAAa,EAAE,IAAI;QAAEgD,WAAW,EAAE;QAAO;MAChEhkB,QAAQ,EAAE8iB,YAAa;MACvB9wC,CAAC,EAAEA,CAAE;MACLynC,QAAQ,EAAEtO;KAEX,CACE,CAAC;GAET,CACE,CACA,CAAC,eACR32B,cAAA,CAAAC,aAAA,CAACovC,oBAAK,qBACJrvC,cAAA,CAAAC,aAAA,CAACwvC,uBAAQ;IAACn/B,EAAE,GAAKi9B,UAAU,IAAIC,KAAK,CAACvZ,IAAI,CAACpvB,KAAK,CAAC,GAAG,CAAC,CAACoX,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACxW,IAAI,CAAC,GAAG,CAAC,UAAIkhC,MAAM,CAAC+H;GAAe,CAChG,CACD,CACL,CACF,CACS,CAAC;AAErB,CAAC;;AClHM,SAASniB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;EAC1C,MAAMsgB,UAAU,GAAG,eAAe;EAGlC,QAAQtgB,OAAO,CAAChG,MAAM;IACpB,KAAK,kBAAkB;MACrB1rB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;QAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;QAAM,CAAC;MAC5E,OAAA6P,QAAA,KAAYugB,KAAK;QAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;;IAEzC,KAAK,kBAAkB;MACrBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;QAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;QAAM,CAAC;MAC5E,OAAA6P,QAAA,KAAYugB,KAAK;QAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;;IAEzC,KAAK,iBAAiB;MACpBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;QAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;QAAM,CAAC;MAC3E,OAAA6P,QAAA,KAAYugB,KAAK;QAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;;IAExC;MACE,OAAOowB,KAAK;;AAElB;AAEA,AAAO,MAAMlD,aAAa,GAAG;EAC3BC,UAAU,EAAE,EAAE;EACd3C,UAAU,EAAE,EAAE;EACdd,SAAS,EAAE;IACT7pB,KAAK,EAAE,EAAE;IACTD,MAAM,EAAE,CAAC;IACTwtB,MAAM,EAAE,aAAa;IACrBC,SAAS,EAAE;;AAEf,CAAC;AAED,AAAO,MAAM1D,iBAAiB,GAAGA,CAAClrB,CAAC,EAAEsO,YAAY,KAAK,CACpD;EACEI,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC;EAC1B2O,QAAQ,EAAE,cAAc;EACxBC,IAAI,EAAE5K,IAAA,IAAa;IAAA,IAAA8K,aAAA,EAAAC,cAAA,EAAAK,cAAA;IAAA,IAAVJ,GAAG,GAAAhL,IAAA,CAAHgL,GAAG;IACV,MAAMgF,EAAE,IAAAlF,aAAA,GAAGE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAckF,EAAE;IAC3B,oBACExR,cAAA,CAAAC,aAAA;MAAM4I,SAAS,EAAC,MAAM;MAACE,OAAO,EAAEA,MAAM+C,YAAY,CAAC0F,EAAE;OAClD,EAAAjF,cAAA,GAAAC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAcsQ,YAAY,OAAAjQ,cAAA,GAAIJ,GAAG,CAACC,QAAQ,cAAAG,cAAA,uBAAZA,cAAA,CAAc5K,IAAI,KAAI,IACjD,CAAC;;AAGb,CAAC,EAMD;EACEkK,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC;EAC1B2O,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAEC,KAAA;IAAA,IAAAU,cAAA,EAAAC,cAAA,EAAA2iC,oBAAA;IAAA,IAAGnjC,GAAG,GAAAH,KAAA,CAAHG,GAAG;IAAA,oBAAOxM,cAAA,CAAAC,aAAA,eAAO,EAAA8M,cAAA,GAAAP,GAAG,CAACC,QAAQ,cAAAM,cAAA,uBAAZA,cAAA,CAAc4S,QAAQ,OAAA3S,cAAA,GAAIR,GAAG,CAACC,QAAQ,cAAAO,cAAA,wBAAA2iC,oBAAA,GAAZ3iC,cAAA,CAAc0S,KAAK,cAAAiwB,oBAAA,uBAAnBA,oBAAA,CAAqB/rC,YAAY,KAAI,IAAW,CAAC;;AACvG,CAAC,EACD;EACEsI,MAAM,EAAE1O,CAAC,CAAC,QAAQ,CAAC;EACnB2O,QAAQ,EAAE,QAAQ;EAClBC,IAAI,EAAEO,KAAA,IAAa;IAAA,IAAAQ,cAAA;IAAA,IAAVX,GAAG,GAAAG,KAAA,CAAHH,GAAG;IACV,MAAMS,MAAM,GAAG,EAAAE,cAAA,GAAAX,GAAG,CAACC,QAAQ,cAAAU,cAAA,uBAAZA,cAAA,CAAcF,MAAM,KAAI,SAAS;IAChD,oBAAOjN,cAAA,CAAAC,aAAA;MAAM4I,SAAS,uBAAqBoE;OAAWzP,CAAC,CAACyP,MAAM,CAAQ,CAAC;;AAE3E,CAAC,EACD;EACEf,MAAM,EAAE1O,CAAC,CAAC,cAAc,CAAC;EACzB2O,QAAQ,EAAE,aAAa;EACvBC,IAAI,EAAEU,KAAA;IAAA,IAAAM,cAAA;IAAA,IAAGZ,GAAG,GAAAM,KAAA,CAAHN,GAAG;IAAA,oBAAOxM,cAAA,CAAAC,aAAA,eAAO,EAAAmN,cAAA,GAAAZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAc0d,WAAW,KAAI,IAAW,CAAC;;AACrE,CAAC,CACF;;AClED,MAAM8kB,0BAA0B,GAAGpuC,IAAA,IAS7B;EAAA,IAAApE,qBAAA,EAAAC,sBAAA,EAAA8nB,sBAAA,EAAA0C,oBAAA,EAAAC,qBAAA;EAAA,IARJ/c,gBAAgB,GAAAvJ,IAAA,CAAhBuJ,gBAAgB;IAChBid,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS;IACT/oB,UAAU,GAAAuC,IAAA,CAAVvC,UAAU;IACVgpB,KAAK,GAAAzmB,IAAA,CAALymB,KAAK;IACLC,QAAQ,GAAA1mB,IAAA,CAAR0mB,QAAQ;IACRE,eAAe,GAAA5mB,IAAA,CAAf4mB,eAAe;IAAAC,gBAAA,GAAA7mB,IAAA,CACf8mB,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA/mB,IAAA,CAChBgnB,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAEf,MAAAjrB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAE5B,MAAMga,QAAQ,GAAG,EAAAjoB,qBAAA,GAAAM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,wBAAA8nB,sBAAA,GAAtC9nB,sBAAA,CAAwCuK,IAAI,cAAAud,sBAAA,uBAA5CA,sBAAA,CAA8CpgB,WAAW,EAAE,KAAI,SAAS;EAEzF,MAAM+G,YAAY,GAAI0F,EAAE,IAAK;IAC3BpG,OAAO,CAAC3L,IAAI,gBAAc4lB,QAAQ,sCAAiC7T,EAAI,CAAC;GACzE;EAED,MAAM5S,KAAK,GAAG,CAAAopB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBjpB,KAAK,KAAI,EAAE;EAC/C,MAAMD,MAAM,GAAG,CAAAqpB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBnpB,MAAM,KAAI,CAAC;EAEhD,OAAO;IACLoqB,WAAW,EAAE,KAAK;IAClBC,QAAQ,EAAE,KAAK;IACfC,gBAAgB,EAAE,IAAI;IAEtBpe,WAAW,EAAE/D,IAAI,CAAC2iB,KAAK,CAAC9qB,MAAM,GAAGC,KAAK,CAAC;IAEvCmM,gBAAgB;IAEhBJ,UAAU,EAAEA,MACVud,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB9pB,MAAM,EAAEgkB,MAAM,CAAChkB,MAAM,CAAC,GAAGgkB,MAAM,CAAC/jB,KAAK;;KAExC,CAAC;IAEJgM,UAAU,EAAEA,MACVsd,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB9pB,MAAM,EAAEgkB,MAAM,CAAChkB,MAAM,CAAC,GAAGgkB,MAAM,CAAC/jB,KAAK;;KAExC,CAAC;IAEJ+oB,UAAU,EAAEA,MACVO,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB9pB,MAAM,EAAEmI,IAAI,CAAC2gB,IAAI,CAACxoB,UAAU,GAAGL,KAAK,CAAC,GAAGA,KAAK,GAAG+jB,MAAM,CAAC/jB,KAAK;;KAE/D,CAAC;IAEJ8oB,WAAW,EAAEA,MACXQ,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE9pB,MAAM,EAAE;;KACzC,CAAC;IAEJwM,YAAY,EAAElM,UAAU;IACxByL,MAAM,EAAE0d,eAAe;IAEvBrpB,IAAI,EAAEkpB,KAAK;IACXhc,OAAO,EAAEyc,iBAAiB,CAAClrB,CAAC,EAAEsO,YAAY,CAAC;IAE3Cwc,WAAW,EAAA1Z,QAAA,KAAO0Z,WAAW,CAAE;IAC/BE,UAAU,EAAA5Z,QAAA,KAAO4Z,UAAU;GAC5B;AACH,CAAC;;ACnED,MAAMqnB,UAAU,GAAGA,MAAM;EAAA,IAAAhoB,oBAAA,EAAAC,qBAAA,EAAAqB,qBAAA,EAAAG,qBAAA,EAAAvB,qBAAA,EAAA+nB,qBAAA;EACvB,IAAIryC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACpD,IAAI,CAACH,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAE;IAClCA,QAAQ,GAAG,QAAQ;;EAGrB,MAAA4uB,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DjE,SAAS,GAAAqE,WAAA;IAAEnE,QAAQ,GAAAmE,WAAA;EAE1B,IAAI0jB,eAAe,GAAG;IACpBnxC,KAAK,EAAE,CAAAopB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBjpB,KAAK,KAAI,EAAE;IACxCD,MAAM,EAAE,CAAAqpB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBnpB,MAAM,KAAI,CAAC;IACzCwtB,MAAM,EAAE,CAAAnE,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsBgD,MAAM,KAAI,aAAa;IACrDC,SAAS,EAAE,CAAApE,SAAS,aAATA,SAAS,wBAAAsB,qBAAA,GAATtB,SAAS,CAAES,SAAS,cAAAa,qBAAA,uBAApBA,qBAAA,CAAsB8C,SAAS,KAAI;GAC/C;EAED,MAAMxoB,YAAY,GAAG,CAAAokB,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEuB,UAAU,cAAAxB,qBAAA,uBAArBA,qBAAA,CAAuBnkB,YAAY,KAAI,EAAE;EAC9D,MAAMipB,cAAc,GAAG,CAAC,CAACjpB,YAAY;EAErC,MAAMsW,OAAO,GAAAtL,QAAA,KACRmhC,eAAe;IAClB9iC,MAAM,EAAE;IACT;EAED,IAAI4f,cAAc,EAAE;IAClB3S,OAAO,CAACtW,YAAY,GAAGA,YAAY;;EAGrC,MAAA6d,qBAAA,GAA2C/jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAAC2uB,iBAAiB,CAACvyC,QAAQ,EAAEyc,OAAO,EAAE;MAAErb,OAAO,EAAE,CAAC,CAACpB,QAAQ;MAAEwjB,gBAAgB,EAAE;KAAM,CAAC;IAAlI9e,aAAa,GAAAsf,qBAAA,CAAnB1iB,IAAI;IAAiBC,SAAS,GAAAyiB,qBAAA,CAATziB,SAAS;EAEtC,MAAAT,qBAAA,GAAiDb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACuiB,yBAAyB,CAAC;MAC1FniB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACnB,CAAC;IAHiBgvB,mBAAmB,GAAA1xC,qBAAA,CAA9BS,SAAS;EAKjB,MAAMkuB,UAAU,GAAG7qB,aAAO,CAAC,MAAM;IAC/B,OAAO,CAAAF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+tC,SAAS,KAAI,EAAE;GACtC,EAAE,CAAC/tC,aAAa,CAAC,CAAC;EAEnB,MAAMgrB,YAAY,GAAG9qB,aAAO,CAAC,MAAM;IACjC,OAAO,CAAC6qB,UAAU,IAAI,EAAE,EAAE9uB,GAAG,CAAEiH,IAAI,IAAK;MAAA,IAAA8qC,YAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,mBAAA;MACtC,MAAM7wB,KAAK,GAAG,CAAAra,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqa,KAAK,KAAI,EAAE;MAC/B,MAAM8wB,SAAS,GAAG,CAAA9wB,KAAK,aAALA,KAAK,wBAAAywB,YAAA,GAALzwB,KAAK,CAAEzhB,KAAK,cAAAkyC,YAAA,wBAAAC,gBAAA,GAAZD,YAAA,CAAc/xC,GAAG,CAAEmyB,IAAI,IAAKA,IAAI,CAACjyB,IAAI,CAAC,cAAA8xC,gBAAA,uBAAtCA,gBAAA,CAAwC3qC,IAAI,CAAC,IAAI,CAAC,KAAI,EAAE;MAE1E,OAAAmJ,QAAA,KACKvJ,IAAI;QACPmM,EAAE,EAAE,CAAAnM,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmM,EAAE,KAAI,EAAE;QAClBqL,YAAY,EAAE,CAAAxX,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAErD,IAAI,MAAI0d,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE1d,IAAI,KAAI,EAAE;QAC7C2d,QAAQ,EAAE,CAAAta,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsa,QAAQ,MAAID,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE9b,YAAY,KAAI,EAAE;QACrD8Z,KAAK,EAAE,CAAAgC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE7b,OAAO,KAAI,EAAE;QAC3BkX,QAAQ,EAAE,CAAA1V,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0V,QAAQ,KAAI,EAAE;QAC9Btd,QAAQ,EAAE,CAAA4H,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE5H,QAAQ,KAAI,EAAE;QAC9B0mB,YAAY,EAAE,CAAA9e,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8e,YAAY,KAAI,EAAE;QACtClX,MAAM,EAAE,CAAA5H,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4H,MAAM,KAAI,EAAE;QAC1BujC,SAAS;QACTxN,QAAQ,EAAE,CAAAtjB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsjB,QAAQ,KAAI,EAAE;QAC/Br/B,MAAM,EAAE,CAAA+b,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE/b,MAAM,KAAI,EAAE;QAC3BmnB,WAAW,EAAE,CAAAzlB,IAAI,aAAJA,IAAI,wBAAAgrC,qBAAA,GAAJhrC,IAAI,CAAEorC,iBAAiB,cAAAJ,qBAAA,uBAAvBA,qBAAA,CAAyBvlB,WAAW,KAAI,EAAE;QACvDvmB,WAAW,EAAE,CAAAc,IAAI,aAAJA,IAAI,wBAAAirC,kBAAA,GAAJjrC,IAAI,CAAEqrC,YAAY,cAAAJ,kBAAA,uBAAlBA,kBAAA,CAAoB/rC,WAAW,KAAI,CAAC;QACjDC,gBAAgB,EAAE,CAAAa,IAAI,aAAJA,IAAI,wBAAAkrC,mBAAA,GAAJlrC,IAAI,CAAEqrC,YAAY,cAAAH,mBAAA,uBAAlBA,mBAAA,CAAoB/rC,gBAAgB,KAAI;;KAE7D,CAAC;GACH,EAAE,CAAC0oB,UAAU,CAAC,CAAC;EAEhB,MAAM/hB,YAAY,GAAG,CAAAhJ,aAAa,aAAbA,aAAa,wBAAA2tC,qBAAA,GAAb3tC,aAAa,CAAEG,aAAa,cAAAwtC,qBAAA,uBAA5BA,qBAAA,CAA8B3kC,YAAY,MAAIhJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElD,UAAU,KAAI,CAAC;EAMjG,MAAMovB,gBAAgB,GAAGC,iBAAW,CAClC9sB,IAAA;IAAA,IAAG+sB,WAAW,GAAA/sB,IAAA,CAAX+sB,WAAW;MAAE5E,eAAe,GAAAnoB,IAAA,CAAfmoB,eAAe;MAAEC,iBAAiB,GAAApoB,IAAA,CAAjBooB,iBAAiB;IAAA,oBAChD5pB,cAAA,CAAAC,aAAA,CAACypB,0BAA0B;MAAO6E,WAAW;MAAE5E,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,QAAQ;MAAChhB,SAAS,EAAC;KAAU,CAAC;GAC/H,EACD,EACF,CAAC;EAED,MAAM2lB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBvtB,KAAK,EAAEO,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAAC0P,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD/vB,MAAM,EAAE,CAAC;IACTytB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAI5vB,IAAI,IAAK;IACnCA,IAAI,CAAC6vB,cAAc,CAAC,EAAE,CAAC,KAAW7vB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CmpB,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAO4f,2BAA2B;KAAI,CAAC;IACjFtG,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB;KAAM,CAAC;GAC/C;EAED,MAAM8vB,uBAAuB,GAAG;IAC9BjrB,YAAY,EAAE,EAAE;IAChB8I,iBAAiB,EAAE,EAAE;IACrBoiB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC;IACxCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtC9G,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB,IAAI,EAAE8vB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAE7G,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU;IAC9C2F,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjBlmB,SAAS,EAAE;GACZ;EAeD,MAAMkC,gBAAgB,GAAIhK,CAAC,IAAK;IAC9B,MAAMuuB,QAAQ,GAAG3M,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC;IAEvCsf,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB7pB,KAAK,EAAE0wB,QAAQ;QACf3wB,MAAM,EAAE;;KAEX,CAAC;GACH;EAED,MAAMypB,eAAe,GAAIrnB,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAAClB,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA0vB,GAAA,GAAuBxuB,CAAC;QAAfyQ,EAAE,GAAA+d,GAAA,CAAF/d,EAAE;QAAEge,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAG3a,EAAE;MAEjB,IAAI,EAAEwW,SAAS,CAACS,SAAS,CAAC0D,MAAM,KAAKA,MAAM,IAAInE,SAAS,CAACS,SAAS,CAAC2D,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FlE,QAAQ,CAAC;UACPkB,MAAM,EAAE,iBAAiB;UACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;YACtB0D,MAAM,EAAE3a,EAAE;YACV4a,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;;SAE9B,CAAC;;;GAGP;EAED,MAAMC,kBAAkB,GAAGmgB,0BAA0B,CAAAhhC,QAAA,KAChD;IACD7D,gBAAgB;IAChBid,SAAS;IACT/oB,UAAU,EAAEkM,YAAY;IACxB8c,KAAK,EAAEkF,YAAY;IACnBjF,QAAQ;IACRE,eAAe;IACf3qB,QAAQ;IACR6qB,WAAW,EAAE;MAAEoH,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzDnH,UAAU,EAAE;MAAExf,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAMknB,cAAc,GAAGlxB,SAAS;EA+ChC,MAAM4wB,qBAAqB,GAAI7wB,IAAI,IAAK;IACtC,MAAQqtB,SAAS,GAAKrtB,IAAI,CAAlBqtB,SAAS;IACjBlE,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE2D;;KAAa,CAAC;GACrF;EAED,MAAMyD,eAAe,GAAIC,gBAAgB,IAAK;IAC5CA,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrC5H,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAEyvB;KAA6B,CAAC;GAC3E;EAED,MAAMuB,sBAAsB,GAAG;IAAEH,qBAAqB;IAAEI,qBAAqB,EAAEhI,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAES,SAAS;IAAEoH;GAAiB;EACtH,MAAMI,wBAAwB,GAAGzF,uBAAuB,CAAC;IAAEvC,KAAK,EAAEkF,YAAY;IAAEzC,YAAY,EAAE;GAAM,CAAC;EAErG,oBACE1qB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACkwB,oCAAa,EAAAvhB,QAAA;IAEVshB;KAEGjB,kBAAkB,EAElBc,sBAAsB;IACzBN,kBAAkB;IAClBQ,wBAAwB;IACxBjI,SAAS;IACTvmB,SAAS,EAAEU,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,aAAa;IAEvCquC,aAAa,EAAEV,mBAAmB;IAClC5f,kBAAkB,EAAE,IAAI;IACxBD,UAAU,EAAE;IAEf,CACE,CAAC;AAEV,CAAC;;AC9PD,MAAMwgB,cAAc,GAAGA,MAAM;EAAA,IAAAxzC,qBAAA;EACzB,MAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,IAAI5N,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACpD,IAAI,CAACH,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAE;IAChCA,QAAQ,GAAG,QAAQ;;EAEvB,MAAMqE,YAAY,IAAA1E,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,uBAAhCA,qBAAA,CAAkCY,IAAI;EAG3D,MAAAojB,qBAAA,GAAyE1jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACC,YAAY,CACjG7jB,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJa8jB,oBAAoB,GAAAH,qBAAA,CAA1BriB,IAAI;IAAmCyiB,qBAAqB,GAAAJ,qBAAA,CAAhCpiB,SAAS;EAO7C,MAAAT,qBAAA,GAA6Db,KAAK,CAACc,KAAK,CAACC,IAAI,CAACuiB,yBAAyB,CAAC;MACpGniB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACrB,CAAC;IAHYE,YAAY,GAAA5iB,qBAAA,CAAlBQ,IAAI;IAA2BmiB,iBAAiB,GAAA3iB,qBAAA,CAA5BS,SAAS;EAKrC,MAAM6xC,WAAW,GAAGxuC,aAAO,CAAC,MAAM;IAC9B,IAAIkf,oBAAoB,IAAIA,oBAAoB,CAAC1hB,MAAM,GAAG,CAAC,EAAE;MACzD,OAAO0hB,oBAAoB,CAACnjB,GAAG,CAAE6jB,CAAC,IAAK;QAAA,IAAA2B,qBAAA,EAAAktB,UAAA,EAAA5uB,QAAA,EAAA6uB,WAAA;QACnC,MAAMC,GAAG,GAAG/uB,CAAC,CAACS,UAAU,IAAIT,CAAC;QAC7B,MAAMgvB,eAAe,GAAGD,GAAG,CAACt8B,WAAW,IAAI,EAAE;QAC7C,MAAMw8B,aAAa,GAAGF,GAAG,CAACd,SAAS,IAAI,EAAE;QAGzC,MAAMiB,aAAa,GAAGF,eAAe,CAAC7yC,GAAG,CAAEslB,CAAC;UAAA,IAAA0tB,QAAA;UAAA,OAAK1tB,CAAC,CAAClS,EAAE,MAAA4/B,QAAA,GAAI1tB,CAAC,CAAChE,KAAK,cAAA0xB,QAAA,uBAAPA,QAAA,CAAStvB,IAAI;UAAC,CAACvc,MAAM,CAACC,OAAO,CAAC;QAGvF,MAAM6rC,cAAc,GAAG,CAAAlwB,YAAY,aAAZA,YAAY,wBAAAyC,qBAAA,GAAZzC,YAAY,CAAE8C,gBAAgB,cAAAL,qBAAA,uBAA9BA,qBAAA,CAAgCre,MAAM,CACxDkK,CAAC,IAAK0hC,aAAa,CAAC7xC,QAAQ,CAACmQ,CAAC,CAAC0U,YAAY,CAChD,CAAC,KAAI,EAAE;QAEP,MAAM3hB,SAAS,GAAG6uC,cAAc,CAAC7sB,MAAM,CAAC,CAACC,GAAG,EAAEhV,CAAC,KAAKgV,GAAG,IAAIhV,CAAC,CAAC4T,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM5gB,OAAO,GAAG4uC,cAAc,CAAC7sB,MAAM,CAAC,CAACC,GAAG,EAAEhV,CAAC,KAAKgV,GAAG,IAAIhV,CAAC,CAAC6T,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM/gB,KAAK,GAAG8uC,cAAc,CAAC7sB,MAAM,CAAC,CAACC,GAAG,EAAEhV,CAAC,KAAKgV,GAAG,IAAIhV,CAAC,CAAC0T,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM1O,QAAQ,GAAGlS,KAAK,GAAG,CAAC,GAAGuE,IAAI,CAACC,KAAK,CAAEvE,SAAS,GAAGD,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;QACtE,MAAMG,QAAQ,GAAG,CAAC;QAElB,OAAO;UACH8O,EAAE,EAAEw/B,GAAG,CAACx/B,EAAE,IAAIw/B,GAAG,CAACj2B,QAAQ,IAAIkH,CAAC,CAACzQ,EAAE,IAAIyQ,CAAC,CAAClH,QAAQ;UAChD/Y,IAAI,EAAEgvC,GAAG,CAAChvC,IAAI,IAAIgvC,GAAG,CAACM,WAAW,IAAIrvB,CAAC,CAACjgB,IAAI,IAAI,KAAK;UACpDuvC,SAAS,EAAE,EAAAT,UAAA,GAAAE,GAAG,CAACtxB,KAAK,cAAAoxB,UAAA,uBAATA,UAAA,CAAW9uC,IAAI,OAAAkgB,QAAA,GAAID,CAAC,CAACvC,KAAK,cAAAwC,QAAA,uBAAPA,QAAA,CAASlgB,IAAI,KAAI,KAAK;UACpD4B,YAAY,EAAEotC,GAAG,CAACptC,YAAY,MAAAmtC,WAAA,GAAIC,GAAG,CAACtxB,KAAK,cAAAqxB,WAAA,uBAATA,WAAA,CAAWntC,YAAY,KAAIqe,CAAC,CAACre,YAAY,IAAI,KAAK;UACpF8Q,WAAW,EAAEu8B,eAAe,CAACpxC,MAAM;UACnCqwC,SAAS,EAAEgB,aAAa,CAACrxC,MAAM;UAC/B2C,SAAS,EAAEA,SAAS;UACpBiS,QAAQ,EAAEA,QAAQ;UAClBhS,OAAO,EAAEA,OAAO;UAChBC,QAAQ,EAAEA;SACb;OACJ,CAAC;;IAEN,OAAO,EAAE;GACZ,EAAE,CAAC6e,oBAAoB,EAAEJ,YAAY,CAAC,CAAC;EAExC,oBACInhB,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACZ7I,cAAA,CAAAC,aAAA,CAACgK,SAAS,MAAE,CAAC,eACbjK,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KACTrL,CAAC,CAAC,0BAA0B,CAAC,IAAI,0BAClC,CAAC,EAEJgkB,qBAAqB,IAAIN,iBAAiB,gBACvClhB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC,gBAEVlK,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACVgoC,WAAW,CAAChxC,MAAM,KAAK,CAAC,gBACrBG,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACVrL,CAAC,CAAC,kBAAkB,CAAC,IAAI,mBACzB,CAAC,GAENqzC,WAAW,CAACzyC,GAAG,CAAEgc,MAAM,iBACnBpa,cAAA,CAAAC,aAAA;IACI4F,GAAG,EAAEuU,MAAM,CAAC5I,EAAG;IACf3I,SAAS,EAAC,kBAAkB;IAC5BE,OAAO,EAAEA,MAAMqC,OAAO,CAAC3L,IAAI,sCAAoC2a,MAAM,CAAC5I,EAAI;kBAE1ExR,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAACpY,IAAS,CAAC,eACtBhC,cAAA,CAAAC,aAAA,YAAIzC,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAC,IAAE,EAAC4c,MAAM,CAACxW,YAAgB,CACrD,CAAC,eACN5D,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KACXuR,MAAM,CAAC3F,QAAQ,EAAC,GACf,CACL,CAAC,eAENzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,mBAAmB;IAACiB,KAAK,EAAE;MAAEd,KAAK,EAAKoR,MAAM,CAAC3F,QAAQ;;GAAY,CAChF,CAAC,eAENzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAASuR,MAAM,CAAC1F,WAAiB,CAAC,eACjD1U,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAASrL,CAAC,CAAC,aAAa,CAAC,IAAI,aAAmB,CAC9D,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAASuR,MAAM,CAAC81B,SAAe,CAAC,eAC/ClwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAASrL,CAAC,CAAC,WAAW,CAAC,IAAI,WAAiB,CAC1D,CAAC,eACNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAuBuR,MAAM,CAAC5X,SAAe,CAAC,eAC7DxC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAASrL,CAAC,CAAC,WAAW,CAAC,IAAI,WAAiB,CAC1D,CACJ,CAAC,eAENwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,eAAOzC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,EAAC,IAAE,eAAAwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAiBuR,MAAM,CAAC3X,OAAc,CAAO,CAAC,eACjGzC,cAAA,CAAAC,aAAA,eAAOzC,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,EAAC,IAAE,eAAAwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAkBuR,MAAM,CAAC1X,QAAe,CAAO,CACnG,CACJ,CACR,CAEJ,CAER,CAEH,CAAC;AAEf,CAAC;;AC7HD,MAAM8uC,qBAAqB,GAAGA,MAAM;EAAA,IAAAp0C,qBAAA,EAAAq0C,gBAAA;EAChC,MAAAn0C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4N,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAM5N,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,IAAI,QAAQ;EAClE,MAAAkjB,UAAA,GAA6BC,wBAAS,EAAE;IAA5BoD,YAAY,GAAArD,UAAA,CAAhBtP,EAAE;EACV,MAAM1P,YAAY,IAAA1E,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,uBAAhCA,qBAAA,CAAkCY,IAAI;EAC3D,MAAA0D,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAA9DC,mBAAmB,GAAAF,SAAA;IAAEG,sBAAsB,GAAAH,SAAA;EAGlD,MAAAnD,qBAAA,GAA6Db,KAAK,CAACc,KAAK,CAACC,IAAI,CAACuiB,yBAAyB,CAAC;MACpGniB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACrB,CAAC;IAHiBC,iBAAiB,GAAA3iB,qBAAA,CAA5BS,SAAS;IAA2BmiB,YAAY,GAAA5iB,qBAAA,CAAlBQ,IAAI;EAM1C,MAAA0iB,qBAAA,GAAiF/jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACK,mBAAmB,CAChHjkB,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJakkB,wBAAwB,GAAAF,qBAAA,CAA9B1iB,IAAI;IAAuC6iB,yBAAyB,GAAAH,qBAAA,CAApCziB,SAAS;EAOjD,MAAA0yC,sBAAA,GAA6Eh0C,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAAC2uB,iBAAiB,CAC1GvyC,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJak0C,sBAAsB,GAAAD,sBAAA,CAA5B3yC,IAAI;IAAqC6yC,uBAAuB,GAAAF,sBAAA,CAAlC1yC,SAAS;EAO/C,MAAAoiB,qBAAA,GAAyE1jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACC,YAAY,CACjG7jB,QAAQ,EACR;MAAEwP,MAAM,EAAE;KAAU,EACpB;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KACjB,CAAC;IAJa8jB,oBAAoB,GAAAH,qBAAA,CAA1BriB,IAAI;IAAmCyiB,qBAAqB,GAAAJ,qBAAA,CAAhCpiB,SAAS;EAM7C,MAAM6yC,UAAU,GAAGxvC,aAAO,CAAC,MAAM;IAE7B,IAAI8e,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE8C,gBAAgB,EAAE;MAChC,IAAI6tB,KAAK,GAAG,IAAI;MAChB,MAAMC,QAAQ,GAAG5tB,YAAY,KAAIriB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEggB,IAAI;MACnD,IAAIiwB,QAAQ,EAAE;QACVD,KAAK,GAAG3wB,YAAY,CAAC8C,gBAAgB,CAAC7G,IAAI,CAAEsG,CAAC;UAAA,IAAAsuB,eAAA,EAAAC,KAAA;UAAA,OACzC,EAAAD,eAAA,GAAAtuB,CAAC,CAACS,YAAY,cAAA6tB,eAAA,uBAAdA,eAAA,CAAgBjtC,WAAW,EAAE,OAAKgtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhtC,WAAW,EAAE,KACzD,EAAAktC,KAAA,GAAAvuB,CAAC,CAAClS,EAAE,cAAAygC,KAAA,uBAAJA,KAAA,CAAMltC,WAAW,EAAE,OAAKgtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhtC,WAAW,EAAE;SACnD,CAAC;;MAEL,IAAI+sC,KAAK,EAAE,OAAOA,KAAK;;IAI3B,IAAInwB,wBAAwB,aAAxBA,wBAAwB,eAAxBA,wBAAwB,CAAEjN,WAAW,EAAE;MACvC,IAAIw9B,UAAU,GAAG,IAAI;MACrB,MAAMH,QAAQ,GAAG5tB,YAAY,KAAIriB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEggB,IAAI;MACnD,IAAIiwB,QAAQ,EAAE;QACVG,UAAU,GAAGvwB,wBAAwB,CAACjN,WAAW,CAAC0I,IAAI,CACjDsG,CAAC;UAAA,IAAAyuB,MAAA,EAAAf,QAAA,EAAAgB,aAAA;UAAA,OAAK,EAAAD,MAAA,GAAAzuB,CAAC,CAAClS,EAAE,cAAA2gC,MAAA,uBAAJA,MAAA,CAAMptC,WAAW,EAAE,OAAKgtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhtC,WAAW,EAAE,KAAI,EAAAqsC,QAAA,GAAA1tB,CAAC,CAAChE,KAAK,cAAA0xB,QAAA,wBAAAgB,aAAA,GAAPhB,QAAA,CAAStvB,IAAI,cAAAswB,aAAA,uBAAbA,aAAA,CAAertC,WAAW,EAAE,OAAKgtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhtC,WAAW,EAAE;SACtH,CAAC;;MAGL,IAAImtC,UAAU,EAAE;QAAA,IAAAG,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA;QAEZ,MAAMC,gBAAgB,GAAGb,sBAAsB,aAAtBA,sBAAsB,eAAtBA,sBAAsB,CAAEzB,SAAS,GACpDyB,sBAAsB,CAACzB,SAAS,CAC7B3qC,MAAM,CAAEktC,IAAI;UAAA,IAAAC,iBAAA;UAAA,OAAKD,IAAI,CAACtuB,YAAY,MAAM+tB,UAAU,CAAC1gC,EAAE,MAAAkhC,iBAAA,GAAIR,UAAU,CAACxyB,KAAK,cAAAgzB,iBAAA,uBAAhBA,iBAAA,CAAkB5wB,IAAI,EAAC;UAAC,CACjF1jB,GAAG,CAAEq0C,IAAI,IAAK;UAAA,IAAAE,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,WAAA;UAEX,IAAIC,SAAS,GAAG,IAAI;UACpB,IAAI/xB,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE8C,gBAAgB,EAAE;YAChC,KAAK,MAAMD,MAAM,IAAI7C,YAAY,CAAC8C,gBAAgB,EAAE;cAAA,IAAAkvB,iBAAA;cAChD,MAAMC,WAAW,IAAAD,iBAAA,GAAGnvB,MAAM,CAACksB,SAAS,cAAAiD,iBAAA,uBAAhBA,iBAAA,CAAkB/1B,IAAI,CACrCsG,CAAC;gBAAA,IAAA2vB,WAAA,EAAAC,YAAA;gBAAA,OACG5vB,CAAC,CAACoO,UAAU,KAAKpO,CAAC,CAACoO,UAAU,KAAK2gB,IAAI,CAACjhC,EAAE,IAAIkS,CAAC,CAACoO,UAAU,OAAAuhB,WAAA,GAAKZ,IAAI,CAAC/yB,KAAK,cAAA2zB,WAAA,uBAAVA,WAAA,CAAYvxB,IAAI,EAAC,IAC/E4B,CAAC,CAAClS,EAAE,KAAKkS,CAAC,CAAClS,EAAE,KAAKihC,IAAI,CAACjhC,EAAE,IAAIkS,CAAC,CAAClS,EAAE,OAAA8hC,YAAA,GAAKb,IAAI,CAAC/yB,KAAK,cAAA4zB,YAAA,uBAAVA,YAAA,CAAYxxB,IAAI,EAAE;eACjE,CAAC;cACD,IAAIsxB,WAAW,EAAE;gBACbF,SAAS,GAAGE,WAAW;gBACvB;;;;UAKZ,OAAO;YACHthB,UAAU,EAAE2gB,IAAI,CAACjhC,EAAE,MAAAmhC,YAAA,GAAIF,IAAI,CAAC/yB,KAAK,cAAAizB,YAAA,uBAAVA,YAAA,CAAY7wB,IAAI;YACvCjF,YAAY,EAAE41B,IAAI,CAACzwC,IAAI,MAAA4wC,YAAA,GAAIH,IAAI,CAAC/yB,KAAK,cAAAkzB,YAAA,uBAAVA,YAAA,CAAY5wC,IAAI,KAAI,KAAK;YACpD2d,QAAQ,EAAE,EAAAkzB,YAAA,GAAAJ,IAAI,CAAC/yB,KAAK,cAAAmzB,YAAA,uBAAVA,YAAA,CAAYjvC,YAAY,KAAI6uC,IAAI,CAAC9yB,QAAQ,IAAI,KAAK;YAC5D1S,MAAM,EAAEwlC,IAAI,CAACxlC,MAAM,IAAI,QAAQ;YAC/BkW,SAAS,EAAE,EAAA2vB,UAAA,GAAAI,SAAS,cAAAJ,UAAA,uBAATA,UAAA,CAAW3vB,SAAS,KAAI,CAAC;YACpCE,aAAa,EAAE,EAAA0vB,WAAA,GAAAG,SAAS,cAAAH,WAAA,uBAATA,WAAA,CAAW1vB,aAAa,KAAI,CAAC;YAC5CC,WAAW,EAAE,EAAA0vB,WAAA,GAAAE,SAAS,cAAAF,WAAA,uBAATA,WAAA,CAAW1vB,WAAW,KAAI,CAAC;YACxCC,eAAe,EAAE,EAAA0vB,WAAA,GAAAC,SAAS,cAAAD,WAAA,uBAATA,WAAA,CAAW1vB,eAAe,KAAI;WAClD;SACJ,CAAC,GACJ,EAAE;QAER,MAAMJ,SAAS,GAAGqvB,gBAAgB,CAAChuB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACP,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,MAAME,aAAa,GAAGmvB,gBAAgB,CAAChuB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACL,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAMC,WAAW,GAAGkvB,gBAAgB,CAAChuB,MAAM,CAAC,CAACC,GAAG,EAAEf,CAAC,KAAKe,GAAG,IAAIf,CAAC,CAACJ,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,MAAMC,eAAe,GAAGJ,SAAS,GAAG,CAAC,GAAGrc,IAAI,CAACC,KAAK,CAAEsc,aAAa,GAAGF,SAAS,GAAI,GAAG,CAAC,GAAG,CAAC;QAEzF,OAAO;UACHgB,YAAY,EAAE+tB,UAAU,CAAC1gC,EAAE,MAAA6gC,kBAAA,GAAIH,UAAU,CAACxyB,KAAK,cAAA2yB,kBAAA,uBAAhBA,kBAAA,CAAkBvwB,IAAI;UACrD9E,cAAc,EAAEk1B,UAAU,CAAClwC,IAAI,MAAAswC,kBAAA,GAAIJ,UAAU,CAACxyB,KAAK,cAAA4yB,kBAAA,uBAAhBA,kBAAA,CAAkBtwC,IAAI,KAAI,KAAK;UAClE2d,QAAQ,EAAE,EAAA4yB,kBAAA,GAAAL,UAAU,CAACxyB,KAAK,cAAA6yB,kBAAA,uBAAhBA,kBAAA,CAAkB3uC,YAAY,KAAIsuC,UAAU,CAACvyB,QAAQ,IAAI,KAAK;UACxE1S,MAAM,EAAEilC,UAAU,CAACjlC,MAAM,IAAI,QAAQ;UACrCsmC,cAAc,EAAErB,UAAU,CAACqB,cAAc,IAAI,KAAK;UAClDx4B,QAAQ,EAAEm3B,UAAU,CAACn3B,QAAQ;UAC7Bm1B,SAAS,EAAEsC,gBAAgB;UAC3BrvB,SAAS;UACTE,aAAa;UACbC,WAAW;UACXC;SACH;;;IAIT,OAAO,IAAI;GACd,EAAE,CAACpC,YAAY,EAAEQ,wBAAwB,EAAEgwB,sBAAsB,EAAExtB,YAAY,EAAEriB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEggB,IAAI,CAAC,CAAC;EAEtG,MAAM/f,QAAQ,GAAG,CAAA8vC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE70B,cAAc,KAAI,KAAK;EACpD,MAAMpZ,YAAY,GAAG,CAAAiuC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAElyB,QAAQ,KAAI,KAAK;EAClD,MAAMjC,KAAK,GAAG,CAAA5b,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE+B,OAAO,KAAI,KAAK;EAC5C,MAAMF,MAAM,GAAG,CAAA7B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE6B,MAAM,KAAI,KAAK;EAC5C,MAAMsJ,MAAM,GAAG,CAAA4kC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5kC,MAAM,KAAI,KAAK;EAC1C,MAAMumC,YAAY,GAAG,CAAA3B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0B,cAAc,KAAI,KAAK;EAExD,MAAMx2B,UAAU,GAAG1a,aAAO,CAAC,MAAM;IAAA,IAAAoxC,qBAAA;IAC7B,IAAI,CAAClyB,oBAAoB,IAAI,CAACswB,UAAU,EAAE,OAAO,KAAK;IACtD,MAAM6B,cAAc,GAAG7B,UAAU,CAAC92B,QAAQ;IAC1C,IAAI,CAAC24B,cAAc,EAAE,OAAO,KAAK;IACjC,MAAMC,aAAa,GAAGpyB,oBAAoB,CAACnE,IAAI,CAC1C6E,CAAC;MAAA,IAAAO,aAAA,EAAAC,cAAA;MAAA,OAAK,EAAAD,aAAA,GAAAP,CAAC,CAACS,UAAU,cAAAF,aAAA,uBAAZA,aAAA,CAAchR,EAAE,MAAKkiC,cAAc,IAAI,EAAAjxB,cAAA,GAAAR,CAAC,CAACS,UAAU,cAAAD,cAAA,uBAAZA,cAAA,CAAc1H,QAAQ,MAAK24B,cAAc,IAAIzxB,CAAC,CAACzQ,EAAE,KAAKkiC,cAAc,IAAIzxB,CAAC,CAAClH,QAAQ,KAAK24B,cAAc;KACvJ,CAAC;IACD,OAAO,CAAAC,aAAa,aAAbA,aAAa,wBAAAF,qBAAA,GAAbE,aAAa,CAAEjxB,UAAU,cAAA+wB,qBAAA,uBAAzBA,qBAAA,CAA2BzxC,IAAI,MAAI2xC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE3xC,IAAI,KAAI,KAAK;GACzE,EAAE,CAACuf,oBAAoB,EAAEswB,UAAU,CAAC,CAAC;EAEtC,MAAM3B,SAAS,GAAG7tC,aAAO,CAAC,MAAM;IAC5B,OAAO,CAAAwvC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3B,SAAS,KAAI,EAAE;GACrC,EAAE,CAAC2B,UAAU,CAAC,CAAC;EAEhB,MAAMvtB,KAAK,GAAGjiB,aAAO,CAAC,MAAM,CACxB;IACI3C,KAAK,EAAE,yBAAyB;IAChCE,KAAK,EAAE,CAAAiyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1uB,SAAS,KAAI,CAAC;IACjCxa,KAAK,EAAE,SAAS;IAChBf,IAAI,EAAE,OAAO;IACboT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE;GACnB,EACD;IACIvb,KAAK,EAAE,gBAAgB;IACvBE,KAAK,EAAE,CAAAiyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExuB,aAAa,KAAI,CAAC;IACrC1a,KAAK,EAAE,SAAS;IAChBf,IAAI,EAAE,OAAO;IACboT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE;GACzB,EACD;IACIzb,KAAK,EAAE,sBAAsB;IAC7BE,KAAK,EAAE,CAAAiyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEvuB,WAAW,KAAI,CAAC;IACnC3a,KAAK,EAAE,SAAS;IAChBf,IAAI,EAAE,SAAS;IACfoT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACmb,UAAO,MAAE;GACnB,EACD;IACI1b,KAAK,EAAE,kBAAkB;IACzBE,KAAK,GAAK,CAAAiyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtuB,eAAe,KAAI,CAAC,OAAG;IAC7C5a,KAAK,EAAE,SAAS;IAChBf,IAAI,EAAE,UAAU;IAChBoT,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACsb,cAAW,MAAE;GACvB,CACJ,EAAE,CAACs2B,UAAU,CAAC,CAAC;EAEhB,MAAA/3B,UAAA,GAAsCnY,cAAQ,CAAC,CAAC,CAAC;IAA1CkJ,WAAW,GAAAiP,UAAA;IAAE6K,cAAc,GAAA7K,UAAA;EAClC,MAAAgL,UAAA,GAAgCnjB,cAAQ,CAAC,EAAE,CAAC;IAArCijB,QAAQ,GAAAE,UAAA;IAAED,WAAW,GAAAC,UAAA;EAE5B,MAAM8uB,kBAAkB,GAAGvxC,aAAO,CAAC,MAAM;IACrC,MAAM2iB,KAAK,GAAGna,WAAW,GAAG+Z,QAAQ;IACpC,MAAMK,GAAG,GAAGD,KAAK,GAAGJ,QAAQ;IAC5B,OAAOsrB,SAAS,CAACj0B,KAAK,CAAC+I,KAAK,EAAEC,GAAG,CAAC;GACrC,EAAE,CAACirB,SAAS,EAAErlC,WAAW,EAAE+Z,QAAQ,CAAC,CAAC;EAEtC,MAAMivB,eAAe,GAAGxxC,aAAO,CAC3B,MAAM,CACF;IACI6J,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7C2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEqQ,YAAY,KAAI,KAAK;IAC7CzQ,IAAI,EAAE5K,IAAA,IAAa;MAAA,IAAAnE,sBAAA,EAAA8nB,sBAAA,EAAAC,sBAAA,EAAA9Y,aAAA;MAAA,IAAVE,GAAG,GAAAhL,IAAA,CAAHgL,GAAG;MACR,MAAM6Y,QAAQ,GAAG,EAAAhoB,sBAAA,GAAAK,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAV,sBAAA,wBAAA8nB,sBAAA,GAAhC9nB,sBAAA,CAAkCW,IAAI,cAAAmnB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwCvd,IAAI,cAAAwd,sBAAA,uBAA5CA,sBAAA,CAA8CrgB,WAAW,EAAE,KAAI,SAAS;MACzF,MAAMugB,UAAU,kBAAgBD,QAAQ,iCAA4B7Y,GAAG,CAACC,QAAQ,CAACqlB,UAAY;MAC7F,oBACI9xB,cAAA,CAAAC,aAAA;QACIslB,IAAI,EAAED,UAAW;QACjBxb,KAAK,EAAE;UAAEnB,KAAK,EAAE,SAAS;UAAEiJ,UAAU,EAAE,KAAK;UAAE4T,cAAc,EAAE;SAAS;QACvEzc,OAAO,EAAGhI,CAAC,IAAK;UACZA,CAAC,CAACmO,cAAc,EAAE;UAClB9D,OAAO,CAAC3L,IAAI,CAAC6lB,UAAU,CAAC;;SAG3B,EAAAhZ,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAcuQ,YAAY,KAAI,KAChC,CAAC;;GAGf,EACD;IACI3Q,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7C2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEmT,QAAQ,KAAI,KAAK;IACzCnO,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;IAC/B2O,QAAQ,EAAEA,MAAM,QAAQ;IACxBqF,EAAE,EAAE,QAAQ;IACZpF,IAAI,EAAEC,KAAA;MAAA,IAAGzD,KAAK,GAAAyD,KAAA,CAALzD,KAAK;MAAA,oBACV5I,cAAA,CAAAC,aAAA;QAAM4I,SAAS;SACVrL,CAAC,CAACoL,KAAK,CAAC,IAAIA,KACX,CAAC;;GAEd,EACD;IACIsD,MAAM,EAAE1O,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;IACjE2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE2W,SAAS,KAAI,CAAC;IACtC3R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;IAC/C2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE6W,aAAa,KAAI,CAAC;IAC1C7R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,sBAAsB,CAAC,IAAI,sBAAsB;IAC3D2O,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE8W,WAAW,KAAI,CAAC;IACxC9R,EAAE,EAAE;GACP,EACD;IACItF,MAAM,EAAE1O,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;IACnD2O,QAAQ,EAAGK,GAAG,KAAQ,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+W,eAAe,KAAI,CAAC,OAAG;IAClD/R,EAAE,EAAE;GACP,CACJ,EACD,CAAChU,CAAC,EAAE4N,OAAO,CACf,CAAC;EAGD,MAAAqa,UAAA,GAA4C9jB,cAAQ,CAAC,KAAK,CAAC;IAApD+jB,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,MAAAG,UAAA,GAAoCjkB,cAAQ,CAAC;MAAEshB,IAAI,EAAE,EAAE;MAAE3S,EAAE,EAAE;KAAI,CAAC;IAA3DuV,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,MAAAG,UAAA,GAAgDpkB,cAAQ,CAAC,KAAK,CAAC;IAAxDqkB,gBAAgB,GAAAD,UAAA;IAAEE,mBAAmB,GAAAF,UAAA;EAC5C,MAAAG,UAAA,GAA0CvkB,cAAQ,CAAC,KAAK,CAAC;IAAlDwkB,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,MAAMG,aAAa,GAAG5f,YAAM,CAAC,IAAI,CAAC;EAElCa,eAAS,CAAC,MAAM;IACZ,MAAMgf,OAAO,GAAIvlB,CAAC,IAAK;MACnB,IAAIslB,aAAa,CAAC9e,OAAO,IAAI,CAAC8e,aAAa,CAAC9e,OAAO,CAACgf,QAAQ,CAACxlB,CAAC,CAAC4O,MAAM,CAAC,EAAE;QACpEgW,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAEjC;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAClE,EAAE,EAAE,CAAC;EAEN,MAAMK,cAAc,GAAGA,MAAM;IACzBP,gBAAgB,CAAC,IAAI,CAAC;IACtB,IAAI;MACA,MAAMQ,aAAa,GAAGspB,SAAS,CAAC9xC,GAAG,CAAEslB,CAAC,KAAM;QACxC1hB,IAAI,EAAE0hB,CAAC,CAAC7G,YAAY;QACpB8C,QAAQ,EAAE+D,CAAC,CAAC/D,QAAQ;QACpB1S,MAAM,EAAEyW,CAAC,CAACzW,MAAM;QAChB1K,KAAK,EAAEmhB,CAAC,CAACP,SAAS;QAClB3gB,SAAS,EAAEkhB,CAAC,CAACL,aAAa;QAC1B5gB,OAAO,EAAEihB,CAAC,CAACJ,WAAW;QACtB7O,QAAQ,EAAKiP,CAAC,CAACH,eAAe;OACjC,CAAC,CAAC;MAEH,MAAMJ,SAAS,GAAG,CAAA0uB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1uB,SAAS,KAAI,CAAC;MAC5C,MAAMuB,aAAa,GAAG,CAAAmtB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExuB,aAAa,KAAI,CAAC;MAEpD/D,qBAAqB,CAAC;QAClB1C,IAAI,EAAEgK,aAAa;QACnB5J,cAAc,EAAEjb,QAAQ;QACxBgb,UAAU;QACVnZ,YAAY;QACZ8Z,KAAK;QACLpb,aAAa,EAAE;UACXC,KAAK,EAAE4gB,SAAS;UAChB3gB,SAAS,EAAEkiB,aAAa;UACxBjiB,OAAO,EAAE0gB,SAAS,GAAGuB,aAAa;UAClC5F,cAAc,EAAE4F;SACnB;QACDlnB;OACH,CAAC;KACL,CAAC,OAAOqpB,GAAG,EAAE;MACVzgB,OAAO,CAACD,KAAK,CAAC,uCAAuC,EAAE0gB,GAAG,CAAC;KAC9D,SAAS;MACNT,gBAAgB,CAAC,KAAK,CAAC;MACvBT,iBAAiB,CAAC,KAAK,CAAC;MACxBM,mBAAmB,CAAC,KAAK,CAAC;;GAEjC;EAED,MAAMa,oBAAoB,GAAIvhB,MAAM,IAAK;IACrCohB,cAAc,EAAE;GACnB;EAED,MAAMI,oBAAoB,GAAGA,MAAM;IAC/B,IAAI,CAAClB,UAAU,CAAC5C,IAAI,IAAI,CAAC4C,UAAU,CAACvV,EAAE,EAAE;MACpClN,KAAK,CAAC5F,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;MACxE;;IAEJmpB,cAAc,EAAE;GACnB;EAED,MAAM/jB,sBAAsB;IAAA,IAAe;MACvC,IAAI,CAACstC,SAAS,IAAIA,SAAS,CAACrwC,MAAM,KAAK,CAAC,EAAE;QACtCuD,KAAK,CAAC5F,CAAC,CAAC,uBAAuB,CAAC,IAAI,2CAA2C,CAAC;QAChF,OAAAqF,OAAA,CAAAC,OAAA;;MAGJjB,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAAgB,OAAA,CAAAC,OAAA,CAAA7B,gBAAA;QAAA,OAAAN,MAAA,aACzB;UAEA,MAAMmzC,aAAa,GAAG5D,SAAS,CAAC9xC,GAAG,CAACslB,CAAC,IACjChmB,KAAK,CAACqF,WAAW,CAACC,gBAAgB,CAAC;YAC/BvF,QAAQ,EAAEA,QAAQ,IAAI,QAAQ;YAC9BkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXkzB,UAAU,EAAEpO,CAAC,CAACoO,UAAU,IAAIpO,CAAC,CAAClS,EAAE;YAChCvO,cAAc,EAAE;WACnB,CAAC,CAAC8wC,KAAK,CAACltB,GAAG,IAAI;YACZzgB,OAAO,CAACD,KAAK,+CAA6Cud,CAAC,CAAC7G,YAAY,QAAKgK,GAAG,CAAC;YACjF,OAAO;cAAE1jB,YAAY,EAAE;aAAI;WAC9B,CACL,CAAC;UAAC,OAAAN,OAAA,CAAAC,OAAA,CAEoBD,OAAO,CAACmxC,GAAG,CAACF,aAAa,CAAC,EAAA9yC,IAAA,WAA1CizC,OAAO;YACb,MAAM9wC,YAAY,GAAG8wC,OAAO,CAACv5B,OAAO,CAACqvB,GAAG,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE5mC,YAAY,KAAI,EAAE,CAAC;YAEpE,IAAIA,YAAY,CAACtD,MAAM,KAAK,CAAC,EAAE;cAC3BuD,KAAK,CAAC5F,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGJ,MAAM6F,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClBC,GAAG,EAAE/F,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBgG,SAAS,EAAEhG,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CiG,UAAU,EAAEjG,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CkG,QAAQ,EAAElG,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCmG,MAAM,EAAEnG,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BoG,YAAY,EAAEpG,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDqG,OAAO,EAAErG,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpCsG,mBAAmB,EAAEtG,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtEuG,YAAY,EAAEvG,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjDwG,GAAG,EAAExG,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChC0E,UAAU,EAAE1E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CyG,QAAQ,EAAEzG,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B0G,QAAQ,EAAE1G,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC2G,IAAI,EAAE3G,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB4G,OAAO,EAAE5G,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClC6G,KAAK,EAAE7G,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9B8G,YAAY,EAAE9G,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnD+G,WAAW,EAAE/G,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDgH,gBAAgB,EAAEhH,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAMiH,WAAW,GAAIC,GAAG,IAAK;cACzB,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;cAEnB,MAAMC,QAAQ,GAAGC,MAAM,CAACF,GAAG,CAAC,CAACpF,QAAQ,CAAC,GAAG,CAAC,GAAGsF,MAAM,CAACF,GAAG,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGF,MAAM,CAACF,GAAG,CAAC;cACvF,OAAOC,QAAQ,CACVI,WAAW,EAAE,CACbC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAClBA,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;aAChD;YAGD,MAAMgvC,eAAe,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;YAEhH,MAAM9uC,SAAS,GAAGjC,YAAY,CAAC/E,GAAG,CAAEiH,IAAI,IAAK;cACzC,MAAMC,QAAQ,GAAG,EAAE;cAEnB,MAAMvD,QAAQ,GAAG,CAACsD,IAAI,CAAC7B,SAAS,EAAE6B,IAAI,CAAC5B,UAAU,EAAE4B,IAAI,CAAC3B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI1D,QAAQ,EAAE;gBACVuD,QAAQ,CAAC9H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGiH,WAAW,CAAC1C,QAAQ,CAAC;;cAG3E2D,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC,CAACO,OAAO,CAACC,GAAG,IAAI;gBAC7B,IAAIxC,YAAY,CAAC/D,QAAQ,CAACuG,GAAG,CAAC,EAAE;gBAEhC,MAAMC,GAAG,GAAGT,IAAI,CAACQ,GAAG,CAAC;gBACrB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMC,cAAc,GAAGzC,aAAa,CAACuC,GAAG,CAAC,IAAIrI,CAAC,CAACqI,GAAG,CAACX,WAAW,EAAE,CAAC,IAAIW,GAAG;gBAExE,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIouC,eAAe,CAAC50C,QAAQ,CAACuG,GAAG,CAAC,EAAE;kBAC1DP,QAAQ,CAACS,cAAc,CAAC,GAAGtB,WAAW,CAACqB,GAAG,CAAC;iBAC9C,MAAM;kBACHR,QAAQ,CAACS,cAAc,CAAC,GAAGD,GAAG;;eAErC,CAAC;cAEF,OAAOR,QAAQ;aAClB,CAAC;YAEF,MAAMU,aAAa,6BAA2BjE,QAAQ,CAACiD,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YACtFtH,KAAK,CAACuI,QAAQ,CAACC,KAAK,CAACd,SAAS,EAAEY,aAAa,CAAC;;SACjD,YAAQG,KAAK,EAAE;UACZC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACxD;mBAAAE,UAAA,EAAAC,OAAA;QACGzE,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAAwE,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAErC,QAAAvF,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMimB,QAAQ,GAAGra,KAAA;IAAA,IAAG4G,KAAK,GAAA5G,KAAA,CAAL4G,KAAK;MAAE3K,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAEhB,IAAI,GAAA+E,KAAA,CAAJ/E,IAAI;MAAE5I,SAAS,GAAA2N,KAAA,CAAT3N,SAAS;MAAEgc,IAAI,GAAArO,KAAA,CAAJqO,IAAI;IAAA,oBACnDhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,iBAAejB;OACxB5I,SAAS,gBACNgB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACXjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAAyC,CAAC,eACzD7I,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAA2C,CAC9C,CAAC,gBAEjB7I,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACXjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAc0K,KAAW,CAAC,eACzCvT,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAcD,KAAW,CAAC,EACxCoS,IAAI,iBAAIhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAamS,IAAU,CACnC,CAEnB,CAAC;GACT;EAED,MAAMkM,aAAa,GAAGhG,iBAAiB,IAAIU,yBAAyB,IAAIgwB,uBAAuB,IAAIpwB,qBAAqB;EAExH,IAAI0F,aAAa,IAAI,CAAC2qB,UAAU,EAAE;IAC9B,oBAAO7xC,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGrB,IAAI,CAAC2nC,UAAU,EAAE;IACb,oBACI7xC,cAAA,CAAAC,aAAA,CAACkK,2BAAI,qBACDnK,cAAA,CAAAC,aAAA;MAAK6J,KAAK,EAAE;QAAEqE,OAAO,EAAE;;OAAW3Q,CAAC,CAAC,qBAAqB,CAAO,CAC9D,CAAC;;EAIf,oBACIwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBAEZ7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAU9G,QAAQ,aAARA,QAAQ,wBAAA0vC,gBAAA,GAAR1vC,QAAQ,CAAEolB,MAAM,CAAC,CAAC,CAAC,cAAAsqB,gBAAA,uBAAnBA,gBAAA,CAAqBvsC,WAAW,EAAQ,CAAC,eAElElF,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KAAQ9G,QAAa,CAAC,eACpC/B,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAerL,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAwB,CAC9E,CACJ,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,iBAAiB;IAACmB,GAAG,EAAEqc;kBAClCrmB,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,cAAc;IACxBC,QAAQ,EAAEqd,aAAc;IACxBpd,OAAO,EAAEA,MAAM;MACX4c,iBAAiB,CAAEyB,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BnB,mBAAmB,CAAC,KAAK,CAAC;;KAG7BE,aAAa,GAAG3oB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC5E,CAAC,EAERkoB,cAAc,iBACX1lB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACV,CACG;IAAEnJ,KAAK,EAAElC,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAEqI,GAAG,EAAE;GAAS,EAC9C;IAAEnG,KAAK,EAAElC,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAEqI,GAAG,EAAE;GAAQ,EACrD;IAAEnG,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAEqI,GAAG,EAAE;GAAS,CAC3D,CAACzH,GAAG,CAAC0O,KAAA;IAAA,IAAGpN,KAAK,GAAAoN,KAAA,CAALpN,KAAK;MAAEmG,GAAG,GAAAiH,KAAA,CAAHjH,GAAG;IAAA,oBACf7F,cAAA,CAAAC,aAAA;MACI4F,GAAG,EAAEA,GAAI;MACTgD,SAAS,EAAC,WAAW;MACrBE,OAAO,EAAEA,MAAM+d,oBAAoB,CAACjhB,AAAG;OAEtCnG,KACA,CAAC;GACT,CAAC,eAEFM,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,qBAAqB;IAC/BE,OAAO,EAAEA,MAAMkd,mBAAmB,CAAEmB,CAAC,IAAK,CAACA,CAAC;KAE3C5pB,CAAC,CAAC,aAAa,CAAC,IAAI,aACpB,CAAC,EAELwoB,gBAAgB,iBACbhmB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KACZrL,CAAC,CAAC,WAAW,CAAC,IAAI,MAChB,CAAC,eACRwC,cAAA,CAAAC,aAAA;IACI2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAAC5C,IAAK;IACvBlU,QAAQ,EAAGhO,CAAC,IACR+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAEyZ,IAAI,EAAEliB,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GAE5D,CACA,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KACZrL,CAAC,CAAC,SAAS,CAAC,IAAI,IACd,CAAC,eACRwC,cAAA,CAAAC,aAAA;IACI2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAACvV,EAAG;IACrBvB,QAAQ,EAAGhO,CAAC,IACR+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAE8G,EAAE,EAAEvP,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GAE1D,CACA,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,qBAAqB;IAC/BE,OAAO,EAAEge;KAERvpB,CAAC,CAAC,UAAU,CAAC,IAAI,UACd,CACP,CAER,CAER,CACJ,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACVyb,KAAK,CAAClmB,GAAG,CAAC,CAACod,IAAI,EAAE6L,GAAG,kBACjBrnB,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IACLnhB,GAAG,EAAEwhB,GAAI;IACT9T,KAAK,EAAE/V,CAAC,CAACge,IAAI,CAAC9b,KAAK,CAAE;IACrBkJ,KAAK,EAAE4S,IAAI,CAAC5b,KAAM;IAClBgI,IAAI,EAAE4T,IAAI,CAAC5T,IAAK;IAChB5I,SAAS,EAAEkiB,iBAAkB;IAC7BlG,IAAI,EAAEQ,IAAI,CAACR;GACd,CACJ,CACA,CAAC,eAGNhb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASjF,YAAmB,CAC3C,CAAC,eAEN5D,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS6U,KAAY,CACpC,CAAC,eAEN1d,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASlF,MAAa,CACrC,CAAC,eAEN3D,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASoE,MAAa,CACrC,CAAC,eAENjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,eAAe,CAAC,IAAI,eAAsB,CAAC,eACtEwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS2qC,YAAmB,CAC3C,CAAC,eAENxzC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,aAAa,CAAC,IAAI,aAAoB,CAAC,eAClEwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASkU,UAAiB,CACzC,CACJ,CACJ,CAAC,eAGN/c,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACX7I,cAAA,CAAAC,aAAA,aAAKzC,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DwC,cAAA,CAAAC,aAAA,YACKzC,CAAC,CAAC,yBAAyB,CAAC,IACzB,iGACL,CAAC,eACJwC,cAAA,CAAAC,aAAA;IACI4I,SAAS,EAAC,oBAAoB;IAC9BC,QAAQ,EAAElH,mBAAoB;IAC9BmH,OAAO,EAAEnG;kBAET5C,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACrIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAUwJ,MAAM,EAAC;GAAoB,CAAC,eACtCzJ,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACrC,CAAC,EACLjI,mBAAmB,GAAGpE,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBACjF,CACP,CACJ,CACJ,CACJ,CAAC,eAENwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACZ7I,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACF5Q,CAAC,EAAEA,CAAE;IACL8pB,UAAU,EAAE9pB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAsB;IAC9D+pB,UAAU,EAAC,WAAW;IACtBxoB,IAAI,EAAE60C,kBAAmB;IACzB3nC,OAAO,EAAE4nC,eAAgB;IACzB70C,SAAS,EAAEkiB,iBAAkB;IAC7B/V,YAAY,EAAE+kC,SAAS,CAACrwC,MAAO;IAC/BgL,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAE8Z,QAAS;IACxB4C,oBAAoB,EAAE,IAAK;IAC3B7c,UAAU,EAAEA,MAAM;MACd,IAAIE,WAAW,GAAG/D,IAAI,CAAC2gB,IAAI,CAACyoB,SAAS,CAACrwC,MAAM,GAAG+kB,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1DD,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACFpE,UAAU,EAAEA,MAAM;MACd,IAAIC,WAAW,GAAG,CAAC,EAAE;QACjB8Z,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF0Y,WAAW,EAAEA,MAAM;MACf/C,cAAc,CAAC,CAAC,CAAC;KACnB;IACFgD,UAAU,EAAEA,MAAM;MACdhD,cAAc,CAAC7d,IAAI,CAAC2V,GAAG,CAAC3V,IAAI,CAAC2gB,IAAI,CAACyoB,SAAS,CAACrwC,MAAM,GAAG+kB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACzE;IACF7Z,gBAAgB,EAAGhK,CAAC,IAAK;MACrB8jB,WAAW,CAAClC,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC,CAAC;MACnC+b,cAAc,CAAC,CAAC,CAAC;;GAExB,CACC,CACJ,CAAC;AAEf,CAAC;;ACnpBD,MAAMwvB,eAAe,GAAG3yC,IAAA,IAAgD;EAAA,IAA7C4yC,QAAQ,GAAA5yC,IAAA,CAAR4yC,QAAQ;IAAEC,UAAU,GAAA7yC,IAAA,CAAV6yC,UAAU;IAAEC,gBAAgB,GAAA9yC,IAAA,CAAhB8yC,gBAAgB;EAC/D,MAAAh3C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkE,SAAA,GAAwCC,cAAQ,CAAC,EAAE,CAAC;IAA7C4yC,YAAY,GAAA7yC,SAAA;IAAE8yC,eAAe,GAAA9yC,SAAA;EACpC,MAAAoY,UAAA,GAA8CnY,cAAQ,CAAC,KAAK,CAAC;IAAtD8yC,eAAe,GAAA36B,UAAA;IAAE46B,kBAAkB,GAAA56B,UAAA;EAC1C,MAAAgL,UAAA,GAAsCnjB,cAAQ,CAAC,CAAC,CAAC;IAA1CkJ,WAAW,GAAAia,UAAA;IAAEH,cAAc,GAAAG,UAAA;EAClC,MAAAW,UAAA,GAAgC9jB,cAAQ,CAAC,EAAE,CAAC;IAArCijB,QAAQ,GAAAa,UAAA;IAAEZ,WAAW,GAAAY,UAAA;EAC5B,MAAAG,UAAA,GAAkCjkB,cAAQ,CAAC,KAAK,CAAC;IAA1Ci0B,SAAS,GAAAhQ,UAAA;IAAEiQ,YAAY,GAAAjQ,UAAA;EAC9B,MAAAG,UAAA,GAAkCpkB,cAAQ,CAAC;MACzCwE,KAAK,EAAE,KAAK;MACZzG,KAAK,EAAE;KACR,CAAC;IAHK08B,SAAS,GAAArW,UAAA;IAAEsW,YAAY,GAAAtW,UAAA;EAI9B,MAAAG,UAAA,GAA8BvkB,cAAQ,CAAC;MACrC4B,GAAG,EAAE,EAAE;MACPa,OAAO,EAAE,EAAE;MACXuwC,QAAQ,EAAE,EAAE;MACZ1wC,QAAQ,EAAE,EAAE;MACZE,IAAI,EAAE,EAAE;MACRD,QAAQ,EAAE,EAAE;MACZG,KAAK,EAAE,EAAE;MACTnC,UAAU,EAAE;KACb,CAAC;IATKgY,OAAO,GAAAgM,UAAA;IAAE0uB,UAAU,GAAA1uB,UAAA;EAW1B,MAAAsL,UAAA,GAAgD7vB,cAAQ,CAACuY,OAAO,CAAC;IAA1D26B,gBAAgB,GAAArjB,UAAA;IAAEsjB,mBAAmB,GAAAtjB,UAAA;EAE5C,MAAAujB,qBAAA,GAA4Dr3C,KAAK,CAACc,KAAK,CAACw2C,EAAE,CAACC,eAAe,CAACC,WAAW,CAAC,QAAQ,CAAC;IAAlGC,gBAAgB,GAAAJ,qBAAA,CAAtBh2C,IAAI;IAA+Bq2C,YAAY,GAAAL,qBAAA,CAAvB/1C,SAAS;EACzC,MAAMq2C,iBAAiB,GAAGhzC,aAAO,CAAC,MAAM;IACtC,OAAO,CAAC8yC,gBAAgB,IAAI,EAAE,EAAE/2C,GAAG,CAAEiH,IAAI,KAAM;MAC7C/G,IAAI,EAAE+G,IAAI,CAAC/G,IAAI;MACf0D,IAAI,EAAEqD,IAAI,CAACrD;KACZ,CAAC,CAAC;GACJ,EAAE,CAACmzC,gBAAgB,CAAC,CAAC;EAEtB,MAAAG,qBAAA,GAAmC53C,KAAK,CAACc,KAAK,CAAC+2C,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAA7FC,gBAAgB,GAAAF,qBAAA,CAAtBv2C,IAAI;EAEZ,MAAM02C,YAAY,GAAGpzC,aAAO,CAAC,MAAM;IAAA,IAAAqzC,qBAAA;IACjC,MAAMC,cAAc,GAAG,CAAAH,gBAAgB,aAAhBA,gBAAgB,wBAAAE,qBAAA,GAAhBF,gBAAgB,CAAG,eAAe,CAAC,cAAAE,qBAAA,uBAAnCA,qBAAA,CAAqCE,cAAc,KAAI,EAAE;IAChF,MAAMC,WAAW,GAAGF,cAAc,CAACv4B,IAAI,CAAE/X,IAAI;MAAA,IAAAywC,mBAAA;MAAA,OAAK,CAAAzwC,IAAI,aAAJA,IAAI,wBAAAywC,mBAAA,GAAJzwC,IAAI,CAAE0wC,aAAa,cAAAD,mBAAA,uBAAnBA,mBAAA,CAAqBx3C,IAAI,MAAK,SAAS;MAAC;IAC1F,MAAM03C,QAAQ,GAAG,CAAAH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEG,QAAQ,KAAI,EAAE;IAC5C,OAAO93C,KAAK,CAACC,OAAO,CAAC63C,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;GACvD,EAAE,CAACR,gBAAgB,CAAC,CAAC;EAEtB,MAAAS,QAAA,GAAyC5zC,aAAO,CAAC,MAAM;MACrD,MAAM6zC,UAAU,GAAG,IAAIC,GAAG,EAAE;MAC5B,MAAMC,KAAK,GAAG,IAAID,GAAG,EAAE;MAEvB,MAAME,UAAU,GAAGn4C,KAAK,CAACC,OAAO,CAACs3C,YAAY,CAAC,GAAGA,YAAY,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;MAElG,MAAMa,QAAQ,GAAIC,IAAI,IAAK;QACzB,IAAI,CAACA,IAAI,EAAE;QACX,IAAIA,IAAI,CAAC72C,KAAK,KAAK,MAAM,IAAI62C,IAAI,CAAC72C,KAAK,KAAK,MAAM,IAAI62C,IAAI,CAAC72C,KAAK,KAAK,OAAO,IAAI62C,IAAI,CAAC72C,KAAK,KAAK,OAAO,EAAE;UACtG,MAAMpB,IAAI,GAAGi4C,IAAI,CAACj4C,IAAI,IAAIi4C,IAAI,CAACC,SAAS,IAAID,IAAI,CAACv0C,IAAI;UACrD,MAAMA,IAAI,GAAGu0C,IAAI,CAACv0C,IAAI,IAAIu0C,IAAI,CAACC,SAAS,IAAIl4C,IAAI;UAChD,IAAIA,IAAI,EAAE83C,KAAK,CAAC/mB,GAAG,CAAC/wB,IAAI,EAAE;YAAEA,IAAI;YAAE0D,IAAI,EAAEA;WAAM,CAAC;;QAEjD,IAAIu0C,IAAI,CAAC72C,KAAK,KAAK,uBAAuB,IAAI62C,IAAI,CAAC72C,KAAK,KAAK,uBAAuB,EAAE;UACpF,MAAMpB,IAAI,GAAGi4C,IAAI,CAACj4C,IAAI,IAAIi4C,IAAI,CAACC,SAAS,IAAID,IAAI,CAACv0C,IAAI;UACrD,MAAMA,IAAI,GAAGu0C,IAAI,CAACv0C,IAAI,IAAIu0C,IAAI,CAACC,SAAS,IAAIl4C,IAAI;UAChD,IAAIA,IAAI,EAAE43C,UAAU,CAAC7mB,GAAG,CAAC/wB,IAAI,EAAE;YAAEA,IAAI;YAAE0D,IAAI,EAAEA;WAAM,CAAC;;QAEtD,IAAIu0C,IAAI,CAAC5nC,QAAQ,IAAI4nC,IAAI,CAAC5nC,QAAQ,CAAC9O,MAAM,GAAG,CAAC,EAAE;UAC7C02C,IAAI,CAAC5nC,QAAQ,CAAC/I,OAAO,CAAC0wC,QAAQ,CAAC;;OAElC;MAEDD,UAAU,CAACzwC,OAAO,CAAC0wC,QAAQ,CAAC;MAE5B,OAAO;QACLG,eAAe,EAAEv4C,KAAK,CAAC+kB,IAAI,CAACizB,UAAU,CAACr3B,MAAM,EAAE,CAAC,CAAClE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC5Y,IAAI,CAAC00C,aAAa,CAAC77B,CAAC,CAAC7Y,IAAI,CAAC,CAAC;QAC7F20C,WAAW,EAAEz4C,KAAK,CAAC+kB,IAAI,CAACmzB,KAAK,CAACv3B,MAAM,EAAE,CAAC,CAAClE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC5Y,IAAI,CAAC00C,aAAa,CAAC77B,CAAC,CAAC7Y,IAAI,CAAC;OACpF;KACF,EAAE,CAACyzC,YAAY,CAAC,CAAC;IA7BVgB,eAAe,GAAAR,QAAA,CAAfQ,eAAe;IAAEE,WAAW,GAAAV,QAAA,CAAXU,WAAW;EA+BpC,MAAMC,sBAAsB,GAAGv0C,aAAO,CAAC,MAAM;IAC3C,IAAIw0C,UAAU,GAAG,EAAE;IACnB,MAAMR,UAAU,GAAGn4C,KAAK,CAACC,OAAO,CAACs3C,YAAY,CAAC,GAAGA,YAAY,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;IAElG,MAAMqB,iBAAiB,GAAIP,IAAI,IAAK;MAClC,IAAI,CAACA,IAAI,EAAE;MAEX,IAAIA,IAAI,CAAC72C,KAAK,KAAK,UAAU,IAAI62C,IAAI,CAAC72C,KAAK,KAAK,UAAU,EAAE;QAC1Dm3C,UAAU,CAACp3C,IAAI,CAAAmP,QAAA,KACV2nC,IAAI;UACPv0C,IAAI,EAAEu0C,IAAI,CAACC,SAAS,IAAID,IAAI,CAACv0C,IAAI,IAAIu0C,IAAI,CAACj4C;UAC3C,CAAC;;MAEJ,IAAIi4C,IAAI,CAAC5nC,QAAQ,IAAI4nC,IAAI,CAAC5nC,QAAQ,CAAC9O,MAAM,GAAG,CAAC,EAAE;QAC7C02C,IAAI,CAAC5nC,QAAQ,CAAC/I,OAAO,CAAEmxC,KAAK,IAAKD,iBAAiB,CAACC,KAAK,CAAC,CAAC;;KAE7D;IAEDV,UAAU,CAACzwC,OAAO,CAAEoxC,QAAQ,IAAKF,iBAAiB,CAACE,QAAQ,CAAC,CAAC;IAE7D,OAAOH,UAAU;GAClB,EAAE,CAACpB,YAAY,CAAC,CAAC;EAElB,MAAMwB,eAAe,GAAG50C,aAAO,CAAC,MAAM;IACpC,MAAM60C,MAAM,GAAG,IAAIC,GAAG,EAAE;IAExBP,sBAAsB,CAAChxC,OAAO,CAAEwxC,GAAG,IAAK;MACtC,IAAIA,GAAG,CAAChzC,OAAO,EAAE;QACf,MAAMizC,IAAI,GAAGn5C,KAAK,CAACC,OAAO,CAACi5C,GAAG,CAAChzC,OAAO,CAAC,GAAGgzC,GAAG,CAAChzC,OAAO,GAAG,CAACgzC,GAAG,CAAChzC,OAAO,CAAC;QACrEizC,IAAI,CAACzxC,OAAO,CAAEwhB,CAAC,IAAK;UAClB,IAAIA,CAAC,EAAE;YACL,MAAMkwB,YAAY,GAAGlwB,CAAC,CAACmwB,QAAQ,EAAE,CAAC1yC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/CqyC,MAAM,CAACM,GAAG,CAACF,YAAY,CAAC;;SAE3B,CAAC;;KAEL,CAAC;IAEF,OAAOp5C,KAAK,CAAC+kB,IAAI,CAACi0B,MAAM,CAAC,CAACv8B,IAAI,EAAE;GACjC,EAAE,CAACi8B,sBAAsB,CAAC,CAAC;EAE5BtvC,eAAS,CAAC,MAAM;IACd,MAAMmwC,KAAK,GAAGjU,UAAU,CAAC,MAAM;MAC7BsR,mBAAmB,CAAC56B,OAAO,CAAC;KAC7B,EAAE,GAAG,CAAC;IAEP,OAAO,MAAMw9B,YAAY,CAACD,KAAK,CAAC;GACjC,EAAE,CAACv9B,OAAO,CAAC,CAAC;EAEb5S,eAAS,CAAC,MAAM;IACdqd,cAAc,CAAC,CAAC,CAAC;GAClB,EAAE,CAACkwB,gBAAgB,EAAE36B,OAAO,CAAC3W,GAAG,CAAC,CAAC;EAEnC,MAAAhF,qBAAA,GAAyDb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAAAkQ,QAAA;MAE5F+oC,cAAc,EAAE;OAMZz9B,OAAO,CAAC3W,GAAG,IAAI;MACjBA,GAAG,EAAE2W,OAAO,CAAC3W;KACd,EAEGsxC,gBAAgB,CAAC3yC,UAAU,IAAI;MACjCA,UAAU,EAAE2yC,gBAAgB,CAAC3yC;KAC9B,EAEG2yC,gBAAgB,CAAC5wC,QAAQ,IAAI;MAC/BA,QAAQ,EAAE4wC,gBAAgB,CAAC5wC;KAC5B,EAEG4wC,gBAAgB,CAAC3wC,QAAQ,IAAI;MAC/BA,QAAQ,EAAE2wC,gBAAgB,CAAC3wC;KAC5B,EAEG2wC,gBAAgB,CAAC1wC,IAAI,IAAI;MAC3BA,IAAI,EAAE0wC,gBAAgB,CAAC1wC;KACxB,EAEG0wC,gBAAgB,CAACxwC,KAAK,IAAI;MAC5BA,KAAK,EAAEwwC,gBAAgB,CAACxwC;KACzB,EAEGwwC,gBAAgB,CAACzwC,OAAO,IAAI;MAC9BA,OAAO,EAAEywC,gBAAgB,CAACzwC;KAC3B,GAEH;MACE3G,QAAQ,EAAE,QAAQ;MAClBkB,MAAM,EAAEkM,WAAW,GAAG+Z,QAAQ;MAC9BhmB,KAAK,EAAEgmB;KACR,EACD;MACE3D,gBAAgB,EAAE;KAEtB,CAAC;IA5Ca4W,eAAe,GAAAt5B,qBAAA,CAArBQ,IAAI;IAA+BC,SAAS,GAAAT,qBAAA,CAArBq5C,UAAU;EA8CzC,MAAMC,qBAAqB,GAAGA,CAACC,MAAM,EAAEC,SAAS,KAAK;IACnD,MAAMC,iBAAiB,GACrBF,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,kBAAkB,CAAC,IACjDw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,gBAAgB,CAAC,IAC/Cw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,mBAAmB,CAAC,IAClDw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,OAAO,CAAC,IACtCw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,QAAQ,CAAC,IACvCw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,KAAK,CAAC,IACpCw4C,MAAM,CAAC/yC,WAAW,EAAE,CAACzF,QAAQ,CAAC,gBAAgB,CAAC;IAEjD,IAAI04C,iBAAiB,EAAE;MACrB,MAAMC,WAAW,GAAG,CAAAF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,cAAc,MAAK,OAAO;MAEzD,IAAID,WAAW,EAAE;QACf5b,YAAY,CAAC;UACXl2B,KAAK,EAAE,IAAI;UACXzG,KAAK,EAAElC,CAAC,CAAC,oDAAoD,CAAC,IAAI;SACnE,CAAC;OACH,MAAM;QACL6+B,YAAY,CAAC;UACXl2B,KAAK,EAAE,IAAI;UACXzG,KAAK,EAAElC,CAAC,CAAC,iDAAiD,CAAC,IAAI;SAChE,CAAC;;KAEL,MAAM;MACL6+B,YAAY,CAAC;QACXl2B,KAAK,EAAE,IAAI;QACXzG,KAAK,EAAElC,CAAC,CAACs6C,MAAM,CAAC,IAAIA,MAAM,IAAIt6C,CAAC,CAAC,2BAA2B,CAAC,IAAI;OACjE,CAAC;;IAEJq4B,YAAY,CAAC,IAAI,CAAC;GACnB;EAED,MAAMsiB,kBAAkB,GAAGz6C,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC25C,uBAAuB,CAAC;IAClEC,SAAS,EAAEA,CAACn1C,QAAQ,EAAE60C,SAAS,KAAK;MAClC,IAAI70C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEiD,KAAK,EAAE;QAAA,IAAAmyC,cAAA;QACnB,MAAMR,MAAM,GAAG,CAAA50C,QAAQ,aAARA,QAAQ,wBAAAo1C,cAAA,GAARp1C,QAAQ,CAAEnE,IAAI,cAAAu5C,cAAA,uBAAdA,cAAA,CAAgB9uB,OAAO,KAAI,EAAE;QAC5CquB,qBAAqB,CAACC,MAAM,EAAEC,SAAS,CAAC;QACxC;;MAIF,IAAI70C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEq1C,OAAO,IAAIr1C,QAAQ,CAACq1C,OAAO,CAAC14C,MAAM,GAAG,CAAC,EAAE;QAAA,IAAA24C,kBAAA;QACpD,MAAMC,MAAM,GAAG,EAAAD,kBAAA,GAAAt1C,QAAQ,CAACq1C,OAAO,CAAC,CAAC,CAAC,cAAAC,kBAAA,uBAAnBA,kBAAA,CAAqBC,MAAM,KAAI,EAAE;QAChDZ,qBAAqB,CAACY,MAAM,EAAEV,SAAS,CAAC;QACxC;;MAGF1b,YAAY,CAAC;QACXl2B,KAAK,EAAE,KAAK;QACZzG,KAAK,EAAElC,CAAC,CAAC,4BAA4B,CAAC,IAAI;OAC3C,CAAC;MAEFq4B,YAAY,CAAC,IAAI,CAAC;MAGlB2N,UAAU;QAAA,IAAa;UAAA,OAAA3gC,OAAA,CAAAC,OAAA,CACfwxC,gBAAgB,EAAE,EAAAtzC,IAAA;YACxBqzC,UAAU,EAAE;;SACb,QAAAtzC,CAAA;UAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;SAAE,IAAI,CAAC;KACT;IAEDm1B,OAAO,EAAEA,CAAC/vB,KAAK,EAAE4xC,SAAS,KAAK;MAAA,IAAAW,WAAA,EAAAviB,eAAA,EAAAC,oBAAA;MAC7B,MAAM0hB,MAAM,GAAG,CAAA3xC,KAAK,aAALA,KAAK,wBAAAuyC,WAAA,GAALvyC,KAAK,CAAEpH,IAAI,cAAA25C,WAAA,uBAAXA,WAAA,CAAalvB,OAAO,MAAIrjB,KAAK,aAALA,KAAK,wBAAAgwB,eAAA,GAALhwB,KAAK,CAAEjD,QAAQ,cAAAizB,eAAA,wBAAAC,oBAAA,GAAfD,eAAA,CAAiBp3B,IAAI,cAAAq3B,oBAAA,uBAArBA,oBAAA,CAAuB5M,OAAO,KAAI,EAAE;MAC3EquB,qBAAqB,CAACC,MAAM,EAAEC,SAAS,CAAC;;GAE3C,CAAC;EAEF,MAAMrqC,SAAS,GAAG,CAAAmqB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE10B,YAAY,KAAI,EAAE;EAErD,MAAMw1C,oBAAoB,GAAGA,MAAM;IACjC,IAAIlE,eAAe,EAAE;MACnB,MAAMmE,cAAc,GAAG,CACrB;QAAE/yC,GAAG,EAAE,YAAY;QAAE+B,IAAI,EAAE;OAAc,EACzC;QAAE/B,GAAG,EAAE,UAAU;QAAE+B,IAAI,EAAE;OAAY,EACrC;QAAE/B,GAAG,EAAE,UAAU;QAAE+B,IAAI,EAAE;OAAY,EACrC;QAAE/B,GAAG,EAAE,MAAM;QAAE+B,IAAI,EAAE;OAAQ,EAC7B;QAAE/B,GAAG,EAAE,OAAO;QAAE+B,IAAI,EAAE;OAAS,EAC/B;QAAE/B,GAAG,EAAE,SAAS;QAAE+B,IAAI,EAAE;OAAW,CACpC;MAED,MAAMixC,aAAa,GAAGD,cAAc,CAACx7B,IAAI,CAAC/Q,KAAA;QAAA,IAAGxG,GAAG,GAAAwG,KAAA,CAAHxG,GAAG;QAAA,OAAOgvC,gBAAgB,CAAChvC,GAAG,CAAC;QAAC;MAE7E,IAAIgzC,aAAa,EAAE;QACjB,OAAO;UACLX,cAAc,EAAEW,aAAa,CAACjxC,IAAI;UAClCkxC,eAAe,EAAEjE,gBAAgB,CAACgE,aAAa,CAAChzC,GAAG;SACpD;;;IAIL,OAAO;MACLqyC,cAAc,EAAE,KAAK;MACrBY,eAAe,EAAEvE;KAClB;GACF;EAED,MAAMwE,YAAY,GAAGA,MAAM;IAAA,IAAAC,eAAA;IACzB,MAAAC,qBAAA,GAA4CN,oBAAoB,EAAE;MAA1DT,cAAc,GAAAe,qBAAA,CAAdf,cAAc;MAAEY,eAAe,GAAAG,qBAAA,CAAfH,eAAe;IAEvCX,kBAAkB,CAACe,MAAM,CAAC;MACxBz7C,QAAQ,EAAE,QAAQ;MAClBq0B,UAAU,EAAEsiB,QAAQ,aAARA,QAAQ,wBAAA4E,eAAA,GAAR5E,QAAQ,CAAE10B,KAAK,cAAAs5B,eAAA,uBAAfA,eAAA,CAAiBl3B,IAAI;MACjCo2B,cAAc;MACdY;KACD,CAAC;GACH;EAED,MAAMK,eAAe,GAAGA,MAAM;IAC5BzE,kBAAkB,CAAC,IAAI,CAAC;IAExB,MAAM0E,QAAQ,GAAG1rC,SAAS,CAACtP,GAAG,CAAEiH,IAAI,IAAKA,IAAI,CAAC9B,GAAG,CAAC;IAElD,MAAM81C,WAAW,GAAGD,QAAQ,CAACv5C,MAAM,GAAG,CAAC,IAAIu5C,QAAQ,CAACE,KAAK,CAAE/1C,GAAG,IAAKgxC,YAAY,CAACj1C,QAAQ,CAACiE,GAAG,CAAC,CAAC;IAE9FixC,eAAe,CAAExlC,IAAI,IAAMqqC,WAAW,GAAGrqC,IAAI,CAACzJ,MAAM,CAAEhC,GAAG,IAAK,CAAC61C,QAAQ,CAAC95C,QAAQ,CAACiE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI4zC,GAAG,CAAC,CAAC,GAAGnoC,IAAI,EAAE,GAAGoqC,QAAQ,CAAC,CAAC,CAAE,CAAC;GAChI;EAED,MAAMG,kBAAkB,GAAGA,CAAC1zC,GAAG,EAAE+C,KAAK,KAAK;IACzCgsC,UAAU,CAAE5lC,IAAI,IAAAJ,QAAA,KACXI,IAAI;MACP,CAACnJ,GAAG,GAAG+C;MACP,CAAC;GACJ;EAED,MAAMqD,OAAO,GAAG5J,aAAO,CACrB,MAAM,CACJ;IACE6J,MAAM,EAAEA,mBACNlM,cAAA,CAAAC,aAAA;MACE2H,IAAI,EAAC,UAAU;MACf28B,OAAO,EAAE72B,SAAS,CAAC7N,MAAM,GAAG,CAAC,IAAI6N,SAAS,CAAC4rC,KAAK,CAAEj0C,IAAI,IAAKkvC,YAAY,CAACj1C,QAAQ,CAAC+F,IAAI,CAAC9B,GAAG,CAAC,CAAE;MAC5FwL,QAAQ,EAAEoqC;KACX,CACF;IACD3nC,EAAE,EAAE,WAAW;IACfpF,IAAI,EAAEO,KAAA,IAAa;MAAA,IAAVH,GAAG,GAAAG,KAAA,CAAHH,GAAG;MACV,MAAMjJ,GAAG,GAAGiJ,GAAG,CAACC,QAAQ,CAAClJ,GAAG;MAE5B,oBAAOvD,cAAA,CAAAC,aAAA;QAAO2H,IAAI,EAAC,UAAU;QAAC28B,OAAO,EAAEgQ,YAAY,CAACj1C,QAAQ,CAACiE,GAAG,CAAE;QAACwL,QAAQ,EAAEA,MAAMu/B,YAAY,CAAC/qC,GAAG;OAAI,CAAC;;GAE3G,EACD;IACE2I,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,eAAe;IACvBC,QAAQ,EAAGK,GAAG,IAAK,EAAGA,GAAG,CAAChJ,SAAS,IAAI,EAAE,WAAIgJ,GAAG,CAAC/I,UAAU,IAAI,EAAE,WAAI+I,GAAG,CAAC9I,QAAQ,IAAI,EAAE,GAAG4lC,IAAI,EAAE;IAChG93B,EAAE,EAAE;GACL,EACD;IACEtF,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,SAAS;IACjBC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,QAAQ;IAChBC,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAEU,KAAA;MAAA,IAAGlE,KAAK,GAAAkE,KAAA,CAALlE,KAAK;MAAA,oBACZ5I,cAAA,CAAAC,aAAA;QAAM4I,SAAS,qBAAkBD,KAAK,KAAK,QAAQ,GAAG,UAAU,GAAGA,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,UAAU;SAAKA,KAAY,CAAC;;GAEpI,EACD;IACEsD,MAAM,EAAE,aAAa;IACrBC,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEc,KAAA,IAAe;MAAA,IAAZtE,KAAK,GAAAsE,KAAA,CAALtE,KAAK;MACZ,MAAMqE,MAAM,GAAG,CAACrE,KAAK,IAAI,IAAI,EAAE1D,WAAW,EAAE;MAC5C,OAAO0D,KAAK,gBAAG5I,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqBoE;SAAWzP,CAAC,CAACyP,MAAM,CAAQ,CAAC,GAAG,GAAG;;GAExF,CACF,EAED,CAACsnC,YAAY,EAAE7mC,SAAS,CAC1B,CAAC;EAED,MAAM4gC,YAAY,GAAI/qC,GAAG,IAAK;IAC5BixC,eAAe,CAAExlC,IAAI,IAAMA,IAAI,CAAC1P,QAAQ,CAACiE,GAAG,CAAC,GAAGyL,IAAI,CAACzJ,MAAM,CAAEF,IAAI,IAAKA,IAAI,KAAK9B,GAAG,CAAC,GAAG,CAAC,GAAGyL,IAAI,EAAEzL,GAAG,CAAE,CAAC;GACvG;EAED,oBACEvD,cAAA,CAAAC,aAAA,CAACmzB,4BAAK;IACJC,aAAa,uBAAoB+gB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpyC,IAAI,CAAG;IAClDsxB,YAAY,eAAEtzB,cAAA,CAAAC,aAAA,CAACu5C,4BAAK;MAACzwC,OAAO,EAAEsrC;KAAa,CAAE;IAC7C5gB,iBAAiB,EAAC,QAAQ;IAC1BC,oBAAoB,EAAE2gB,UAAW;IACjC9gB,eAAe,cAAYghB,YAAY,CAAC10C,MAAM,UAAQ;IACtD2zB,kBAAkB,EAAEulB,YAAa;IACjCxM,UAAU,EAAE,EAACgI,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE10C,MAAM;kBAEjCG,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC,cAAc;IAAC+G,WAAW,EAAC,KAAK;IAAChH,KAAK,EAAEsR,OAAO,CAAC3W,GAAI;IAACwL,QAAQ,EAAGhO,CAAC,IAAKw4C,kBAAkB,CAAC,KAAK,EAAEx4C,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;GAAI,CAAC,eAEpI5I,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC,cAAc;IAACD,KAAK,EAAEsR,OAAO,CAAC9V,OAAQ;IAAC2K,QAAQ,EAAGhO,CAAC,IAAKw4C,kBAAkB,CAAC,SAAS,EAAEx4C,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;kBACpH5I,cAAA,CAAAC,aAAA;IAAQ2I,KAAK,EAAC;KAAG,gBAAsB,CAAC,EACvCquC,eAAe,CAAC74C,GAAG,CAAEq7C,GAAG,iBACvBz5C,cAAA,CAAAC,aAAA;IAAQ4F,GAAG,EAAE4zC,GAAI;IAAC7wC,KAAK,EAAE6wC;KACtBA,GACK,CACT,CACK,CAAC,eAETz5C,cAAA,CAAAC,aAAA;IACE4I,SAAS,EAAC,cAAc;IACxBD,KAAK,EAAEsR,OAAO,CAACjW,QAAS;IACxB8K,QAAQ,EAAGhO,CAAC,IAAK;MACf,MAAM+E,GAAG,GAAG/E,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;MAC1BgsC,UAAU,CAAE5lC,IAAI,IAAAJ,QAAA,KACXI,IAAI;QACP2lC,QAAQ,EAAE7uC,GAAG;QACb7B,QAAQ,EAAE6B;QACV,CAAC;KACH;IACFgD,QAAQ,EAAEssC;kBAEVp1C,cAAA,CAAAC,aAAA;IAAQ2I,KAAK,EAAC;KAAIwsC,YAAY,GAAG,0BAA0B,GAAG,qBAA8B,CAAC,EAC5FC,iBAAiB,CAACj3C,GAAG,CAAEg5C,GAAG,iBACzBp3C,cAAA,CAAAC,aAAA;IAAQ4F,GAAG,EAAEuxC,GAAG,CAAC94C,IAAK;IAACsK,KAAK,EAAEwuC,GAAG,CAACp1C;KAC/Bo1C,GAAG,CAACp1C,IACC,CACT,CACK,CAAC,eAEThC,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC,cAAc;IAACD,KAAK,EAAEsR,OAAO,CAAC/V,IAAK;IAAC4K,QAAQ,EAAGhO,CAAC,IAAKw4C,kBAAkB,CAAC,MAAM,EAAEx4C,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;kBAC9G5I,cAAA,CAAAC,aAAA;IAAQ2I,KAAK,EAAC;KAAG,aAAmB,CAAC,EACpC+tC,WAAW,CACTpxC,MAAM,CAAEpB,IAAI,IAAK;IAChB,MAAMu1C,QAAQ,GAAGv1C,IAAI,CAACnC,IAAI,CAACgD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAChF,OAAO00C,QAAQ,CAACpQ,IAAI,EAAE,CAACzpC,MAAM,GAAG,CAAC;GAClC,CAAC,CACDzB,GAAG,CAAE+F,IAAI,IAAK;IACb,MAAMmtC,WAAW,GAAGntC,IAAI,CAACnC,IAAI,CAACgD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACnF,oBACEhF,cAAA,CAAAC,aAAA;MAAQ4F,GAAG,EAAE1B,IAAI,CAAC7F,IAAK;MAACsK,KAAK,EAAEzE,IAAI,CAACnC;OACjCsvC,WACK,CAAC;GAEZ,CACG,CAAC,eAETtxC,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC,cAAc;IAACD,KAAK,EAAEsR,OAAO,CAAChW,QAAS;IAAC6K,QAAQ,EAAGhO,CAAC,IAAKw4C,kBAAkB,CAAC,UAAU,EAAEx4C,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;kBACtH5I,cAAA,CAAAC,aAAA;IAAQ2I,KAAK,EAAC;KAAG,iBAAuB,CAAC,EACxC6tC,eAAe,CAACr4C,GAAG,CAAE8F,QAAQ,iBAC5BlE,cAAA,CAAAC,aAAA;IAAQ4F,GAAG,EAAE3B,QAAQ,CAAC5F,IAAK;IAACsK,KAAK,EAAE1E,QAAQ,CAAClC;KACzCkC,QAAQ,CAAClC,IACJ,CACT,CACK,CAAC,eAEThC,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC,cAAc;IAAC+G,WAAW,EAAC,QAAQ;IAAChH,KAAK,EAAEsR,OAAO,CAAC7V,KAAM;IAAC0K,QAAQ,EAAGhO,CAAC,IAAKw4C,kBAAkB,CAAC,OAAO,EAAEx4C,CAAC,CAAC4O,MAAM,CAAC/G,KAAK;GAAI,CAAC,EAE1I2rC,YAAY,CAAC10C,MAAM,GAAG,CAAC,iBACtBG,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC,oBAAoB;IAACjB,IAAI,EAAC,QAAQ;IAACmB,OAAO,EAAEA,MAAMyrC,eAAe,CAAC,EAAE;KACnFh3C,CAAC,CAAC,sBAAsB,CAAC,yBAAuB+2C,YAAY,CAAC10C,MAAM,MAC9D,CASP,CAAC,eAGNG,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACJkZ,UAAU,EAAC,mBAAmB;IAC9BC,UAAU,EAAC,WAAW;IACtBxoB,IAAI,EAAE2O,SAAU;IAChBzB,OAAO,EAAEA,OAAQ;IACjBjN,SAAS,EAAEA,SAAU;IACrBmM,YAAY,EAAE,CAAA0sB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE54B,UAAU,KAAI,CAAE;IAC/C4L,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAE8Z,QAAS;IACxBqE,gBAAgB,EAAE,IAAK;IACvBzB,oBAAoB,EAAE,IAAK;IAC3B7c,UAAU,EAAEA,MAAM;MAChB,IAAIE,WAAW,GAAG,CAAC,CAAAgtB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE8hB,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE;QACxDh1B,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACFpE,UAAU,EAAEA,MAAM;MAChB,IAAIC,WAAW,GAAG,CAAC,EAAE;QACnB8Z,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF0Y,WAAW,EAAEA,MAAM;MACjB/C,cAAc,CAAC,CAAC,CAAC;KACjB;IACFgD,UAAU,EAAEA,MAAM;MAChBhD,cAAc,CAAC7d,IAAI,CAAC2V,GAAG,CAAC,CAAC,CAAAob,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE8hB,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KACnE;IACF5uC,gBAAgB,EAAGhK,CAAC,IAAK;MACvB8jB,WAAW,CAAClC,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC,CAAC;MACnC+b,cAAc,CAAC,CAAC,CAAC;;GAEpB,CACE,CAAC,EACLiR,SAAS,iBAAI51B,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IAACxtB,KAAK,EAAEi2B,SAAS,CAACj2B,KAAM;IAACzG,KAAK,EAAE08B,SAAS,CAAC18B,KAAM;IAACgS,OAAO,EAAEA,MAAMmkB,YAAY,CAAC,KAAK;GAAI,CACrG,CAAC;AAEZ,CAAC;;ACrdD,MAAM+jB,wBAAwB,GAAGA,MAAM;EAAA,IAAAx8C,qBAAA,EAAAC,sBAAA,EAAA8nB,sBAAA,EAAAC,sBAAA,EAAA4zB,eAAA,EAAAa,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAtI,gBAAA,EAAA3B,qBAAA,EAAAkK,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACrC,MAAM98C,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAA8D,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAA1CuyB,SAAS,GAAAxyB,SAAA;IAAEyyB,YAAY,GAAAzyB,SAAA;EAC9B,MAAAoY,UAAA,GAAsCnY,cAAQ,CAAC,KAAK,CAAC;IAA9Cu6B,WAAW,GAAApiB,UAAA;IAAEqiB,cAAc,GAAAriB,UAAA;EAClC,MAAAgL,UAAA,GAAsDnjB,cAAQ,CAAC,KAAK,CAAC;IAA9DC,mBAAmB,GAAAkjB,UAAA;IAAEjjB,sBAAsB,GAAAijB,UAAA;EAElD,MAAAhE,UAAA,GAA2BC,wBAAS,EAAE;IAA1B+Q,UAAU,GAAAhR,UAAA,CAAdtP,EAAE;EACV,MAAMgpC,QAAQ,IAAAp9C,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,uBAAtCA,sBAAA,CAAwCykB,IAAI;EAE7D,MAAAxkB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAAikB,qBAAA,GAA6D/jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAAC2uB,iBAAiB,CAC5FvyC,QAAQ,EACR;MAAEg9C,GAAG,EAAE3oB;KAAY,EACnB;MAAEjzB,OAAO,EAAE,CAAC,CAACizB,UAAU;MAAE4oB,SAAS,EAAEC;KACtC,CAAC;IAJaC,kBAAkB,GAAAn5B,qBAAA,CAAxB1iB,IAAI;IAAiC87C,WAAW,GAAAp5B,qBAAA,CAAtBziB,SAAS;EAM3C,MAAA0yC,sBAAA,GAAmEh0C,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAAC2uB,iBAAiB,CAClGvyC,QAAQ,EACRq0B,UAAU,GAAG;MAAE0oB,QAAQ,EAAE1oB;KAAY,GAAG;MAAE0oB;KAAU,EACpD;MAAE37C,OAAO,EAAE,IAAI;MAAE67C,SAAS,EAAEC;KAC9B,CAAC;IAJaG,qBAAqB,GAAApJ,sBAAA,CAA3B3yC,IAAI;IAAoCg8C,cAAc,GAAArJ,sBAAA,CAAzB1yC,SAAS;EAM9C,MAAM2yC,sBAAsB,GAAGtvC,aAAO,CAAC,MAAM;IAC3C,IAAIyvB,UAAU,EAAE;MAAA,IAAAkpB,qBAAA;MACd,OAAOJ,kBAAkB,aAAlBA,kBAAkB,gBAAAI,qBAAA,GAAlBJ,kBAAkB,CAAE1K,SAAS,cAAA8K,qBAAA,eAA7BA,qBAAA,CAA+Bn7C,MAAM,GAAG+6C,kBAAkB,GAAGE,qBAAqB;;IAE3F,OAAOA,qBAAqB;GAC7B,EAAE,CAAChpB,UAAU,EAAE8oB,kBAAkB,EAAEE,qBAAqB,CAAC,CAAC;EAE3D,MAAM97C,SAAS,GAAG8yB,UAAU,GAAI+oB,WAAW,IAAIE,cAAc,GAAIA,cAAc;EAE/E,MAAM98C,KAAK,IAAAknB,sBAAA,GAAGznB,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAonB,sBAAA,wBAAAC,sBAAA,GAAhCD,sBAAA,CAAkCnnB,IAAI,cAAAonB,sBAAA,uBAAtCA,sBAAA,CAAwCnnB,KAAK,CAACG,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;EAElF,MAAM81C,QAAQ,GAAG/xC,aAAO,CAAC,MAAM;IAAA,IAAA44C,qBAAA;IAC7B,OAAO,CAAAtJ,sBAAsB,aAAtBA,sBAAsB,wBAAAsJ,qBAAA,GAAtBtJ,sBAAsB,CAAEzB,SAAS,cAAA+K,qBAAA,uBAAjCA,qBAAA,CAAoC,CAAC,CAAC,KAAI,IAAI;GACtD,EAAE,CAACtJ,sBAAsB,CAAC,CAAC;EAE5B,MAAAvwB,qBAAA,GAAyD1jB,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACC,YAAY,CAAC7jB,QAAQ,EAAE;MAAEwP,MAAM,EAAE;KAAU,EAAE;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KAAU,CAAC;IAAhIy9C,UAAU,GAAA95B,qBAAA,CAAhBriB,IAAI;IAAyBo8C,eAAe,GAAA/5B,qBAAA,CAA1BpiB,SAAS;EACnC,MAAAo8C,sBAAA,GAAiF19C,KAAK,CAACc,KAAK,CAAC6iB,GAAG,CAACK,mBAAmB,CAACjkB,QAAQ,EAAE;MAAEwP,MAAM,EAAE;KAAU,EAAE;MAAEpO,OAAO,EAAE,CAAC,CAACpB;KAAU,CAAC;IAA/JkkB,wBAAwB,GAAAy5B,sBAAA,CAA9Br8C,IAAI;IAAuC6iB,yBAAyB,GAAAw5B,sBAAA,CAApCp8C,SAAS;EACjD,MAAM+d,UAAU,GAAG1a,aAAO,CAAC,MAAM;IAAA,IAAAg5C,qBAAA;IAC/B,IAAIjH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEr3B,UAAU,EAAE,OAAOq3B,QAAQ,CAACr3B,UAAU;IACpD,IAAI,CAACm+B,UAAU,IAAI,EAAC9G,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEr5B,QAAQ,GAAE,OAAO,KAAK;IACpD,MAAMugC,YAAY,GAAGJ,UAAU,CAAC99B,IAAI,CAAE6E,CAAC;MAAA,IAAAO,aAAA,EAAAC,cAAA;MAAA,OAAK,EAAAD,aAAA,GAAAP,CAAC,CAACS,UAAU,cAAAF,aAAA,uBAAZA,aAAA,CAAchR,EAAE,MAAK4iC,QAAQ,CAACr5B,QAAQ,IAAI,EAAA0H,cAAA,GAAAR,CAAC,CAACS,UAAU,cAAAD,cAAA,uBAAZA,cAAA,CAAc1H,QAAQ,MAAKq5B,QAAQ,CAACr5B,QAAQ;MAAC;IACnI,OAAO,CAAAugC,YAAY,aAAZA,YAAY,wBAAAD,qBAAA,GAAZC,YAAY,CAAE54B,UAAU,cAAA24B,qBAAA,uBAAxBA,qBAAA,CAA0Br5C,IAAI,KAAIoyC,QAAQ,CAACr5B,QAAQ,IAAI,KAAK;GACpE,EAAE,CAACmgC,UAAU,EAAE9G,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEr5B,QAAQ,EAAEq5B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEr3B,UAAU,CAAC,CAAC;EAE1D,MAAMC,cAAc,GAAG3a,aAAO,CAAC,MAAM;IAAA,IAAAk5C,qBAAA;IACnC,IAAInH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEp3B,cAAc,EAAE,OAAOo3B,QAAQ,CAACp3B,cAAc;IAC5D,IAAI,EAAC2E,wBAAwB,aAAxBA,wBAAwB,eAAxBA,wBAAwB,CAAEjN,WAAW,KAAI,EAAC0/B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjwB,YAAY,GAAE,OAAO,KAAK;IACnF,MAAMq3B,gBAAgB,GAAG75B,wBAAwB,CAACjN,WAAW,CAAC0I,IAAI,CAC/DsG,CAAC;MAAA,IAAA0tB,QAAA;MAAA,OAAK1tB,CAAC,CAAClS,EAAE,KAAK4iC,QAAQ,CAACjwB,YAAY,IAAI,EAAAitB,QAAA,GAAA1tB,CAAC,CAAChE,KAAK,cAAA0xB,QAAA,uBAAPA,QAAA,CAAStvB,IAAI,MAAKsyB,QAAQ,CAACjwB,YAAY;KAClF,CAAC;IACD,OAAO,CAAAq3B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEx5C,IAAI,MAAIw5C,gBAAgB,aAAhBA,gBAAgB,wBAAAD,qBAAA,GAAhBC,gBAAgB,CAAE97B,KAAK,cAAA67B,qBAAA,uBAAvBA,qBAAA,CAAyBv5C,IAAI,KAAIoyC,QAAQ,CAACjwB,YAAY,IAAI,KAAK;GACjG,EAAE,CAACxC,wBAAwB,EAAEyyB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEjwB,YAAY,EAAEiwB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEp3B,cAAc,CAAC,CAAC;EAChF,MAAMjb,QAAQ,GAAG,CAAAqyC,QAAQ,aAARA,QAAQ,wBAAA4E,eAAA,GAAR5E,QAAQ,CAAE10B,KAAK,cAAAs5B,eAAA,uBAAfA,eAAA,CAAiBh3C,IAAI,MAAIoyC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpyC,IAAI,KAAI,KAAK;EACjE,MAAM8a,UAAU,GAAG,CAAAs3B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEt3B,UAAU,MAAIs3B,QAAQ,aAARA,QAAQ,wBAAAyF,gBAAA,GAARzF,QAAQ,CAAE10B,KAAK,cAAAm6B,gBAAA,uBAAfA,gBAAA,CAAiB/3B,IAAI,MAAIsyB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5iC,EAAE;EAChF,MAAM5N,YAAY,GAAG,CAAAwwC,QAAQ,aAARA,QAAQ,wBAAA0F,gBAAA,GAAR1F,QAAQ,CAAE10B,KAAK,cAAAo6B,gBAAA,uBAAfA,gBAAA,CAAiBl2C,YAAY,MAAIwwC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEz0B,QAAQ,KAAI,KAAK;EAEjF,MAAA8F,UAAA,GAAsC9jB,cAAQ,CAAC,CAAC,CAAC;IAA1CkJ,WAAW,GAAA4a,UAAA;IAAEd,cAAc,GAAAc,UAAA;EAClC,MAAAG,UAAA,GAAgCjkB,cAAQ,CAAC,EAAE,CAAC;IAArCijB,QAAQ,GAAAgB,UAAA;IAAEf,WAAW,GAAAe,UAAA;EAC5B,MAAM4G,WAAW,GAAG;IAClB/uB,QAAQ,EAAE,QAAQ;IAClBkB,MAAM,EAAEkM,WAAW,GAAG+Z,QAAQ;IAC9BhmB,KAAK,EAAEgmB,QAAQ;IACfkN,UAAU,EAAEsiB,QAAQ,aAARA,QAAQ,wBAAA2F,gBAAA,GAAR3F,QAAQ,CAAE10B,KAAK,cAAAq6B,gBAAA,uBAAfA,gBAAA,CAAiBj4B;GAC9B;EAED,MAAAvjB,qBAAA,GAAgGb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACwD,wBAAwB,CACvI,EAAE,EACFuqB,WAAW,EACX;MACE3tB,OAAO,EAAE,CAAC,CAAC2tB,WAAW,CAAC/uB,QAAQ,IAAI,CAAC,CAAC+uB,WAAW,CAACsF,UAAU;MAC3D7Q,gBAAgB,EAAE;KAEtB,CAAC;IAPmBw6B,kBAAkB,GAAAl9C,qBAAA,CAA9Bq5C,UAAU;IAAAlrB,sBAAA,GAAAnuB,qBAAA,CAAsBQ,IAAI;IAAEoD,aAAa,GAAAuqB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAW4nB,gBAAgB,GAAA/1C,qBAAA,CAAzBm9C,OAAO;EASzE,MAAMj3C,WAAW,GAAIC,GAAG,IAAK;IAC3B,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;IAEnB,MAAMC,QAAQ,GAAGC,MAAM,CAACF,GAAG,CAAC,CAACpF,QAAQ,CAAC,GAAG,CAAC,GAAGsF,MAAM,CAACF,GAAG,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGF,MAAM,CAACF,GAAG,CAAC;IACvF,OAAOC,QAAQ,CACZI,WAAW,EAAE,CACbC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAClBA,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;GAC5C;EAED,MAAMy2C,UAAU,GAAGt5C,aAAO,CACxB,MAAM,CACJ;IACE6J,MAAM,EAAE1O,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;IACzB2O,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE1O,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7C2O,QAAQ,EAAGK,GAAG,IAAK/H,WAAW,CAAC,EAAG+H,GAAG,CAAChJ,SAAS,IAAI,EAAE,WAAIgJ,GAAG,CAAC/I,UAAU,IAAI,EAAE,WAAI+I,GAAG,CAAC9I,QAAQ,IAAI,EAAE,GAAG4lC,IAAI,EAAE,CAAC;IAC7G93B,EAAE,EAAE;GACL,EACD;IACEtF,MAAM,EAAE1O,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;IAC3B2O,QAAQ,EAAGK,GAAG,IAAK/H,WAAW,CAAC+H,GAAG,CAACvI,QAAQ,CAAC;IAC5CuN,EAAE,EAAE;GACL,EACD;IACEtF,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;IACzC2O,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAE5K,IAAA,IAAe;MAAA,IAAZoH,KAAK,GAAApH,IAAA,CAALoH,KAAK;MACZ,MAAMqE,MAAM,GAAG,CAACrE,KAAK,IAAI,IAAI,EAAE1D,WAAW,EAAE;MAC5C,OAAO0D,KAAK,gBAAG5I,cAAA,CAAAC,aAAA;QAAM4I,SAAS,uBAAqBoE;SAAWxI,WAAW,CAACmE,KAAK,CAAQ,CAAC,GAAG,GAAG;;GAEjG,EACD;IACEsD,MAAM,EAAE1O,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;IAC3C2O,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEC,KAAA;MAAA,IAAGzD,KAAK,GAAAyD,KAAA,CAALzD,KAAK;MAAA,OAAQA,KAAK,GAAGlL,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACjgB,KAAK,CAAC,GAAG,GAAG;;GAC9E,EACD;IACEsD,MAAM,EAAE1O,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;IACzC2O,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEO,KAAA;MAAA,IAAG/D,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAA,OAAQA,KAAK,GAAGlL,KAAK,CAACkrB,SAAS,CAACC,kBAAkB,CAACjgB,KAAK,CAAC,GAAG,GAAG;;GAC9E,CACF,EACD,CAACpL,CAAC,CACJ,CAAC;EAID,MAAAuoB,UAAA,GAA4CpkB,cAAQ,CAAC,KAAK,CAAC;IAApD+jB,cAAc,GAAAK,UAAA;IAAEJ,iBAAiB,GAAAI,UAAA;EACxC,MAAAG,UAAA,GAAoCvkB,cAAQ,CAAC;MAAEshB,IAAI,EAAE,EAAE;MAAE3S,EAAE,EAAE;KAAI,CAAC;IAA3DuV,UAAU,GAAAK,UAAA;IAAEJ,aAAa,GAAAI,UAAA;EAChC,MAAAsL,UAAA,GAAgD7vB,cAAQ,CAAC,KAAK,CAAC;IAAxDqkB,gBAAgB,GAAAwL,UAAA;IAAEvL,mBAAmB,GAAAuL,UAAA;EAC5C,MAAAoqB,UAAA,GAA0Cj6C,cAAQ,CAAC,KAAK,CAAC;IAAlDwkB,aAAa,GAAAy1B,UAAA;IAAEx1B,gBAAgB,GAAAw1B,UAAA;EACtC,MAAMv1B,aAAa,GAAG5f,YAAM,CAAC,IAAI,CAAC;EAElCa,eAAS,CAAC,MAAM;IACd,MAAMgf,OAAO,GAAIvlB,CAAC,IAAK;MACrB,IAAIslB,aAAa,CAAC9e,OAAO,IAAI,CAAC8e,aAAa,CAAC9e,OAAO,CAACgf,QAAQ,CAACxlB,CAAC,CAAC4O,MAAM,CAAC,EAAE;QACtEgW,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAE7B;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAChE,EAAE,EAAE,CAAC;EAEN,MAAMY,aAAa,GAAGloB,SAAS,IAAIm8C,eAAe,IAAIv5B,yBAAyB;EAE/E,IAAIsF,aAAa,IAAI,CAACktB,QAAQ,EAAE;IAC9B,oBAAOp0C,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGnB,IAAI,CAACkqC,QAAQ,EAAE;IACb,oBACEp0C,cAAA,CAAAC,aAAA,CAACkK,2BAAI,qBACHnK,cAAA,CAAAC,aAAA;MAAK6J,KAAK,EAAE;QAAEqE,OAAO,EAAE;;OAAW3Q,CAAC,CAAC,mBAAmB,CAAO,CAC1D,CAAC;;EAIX,MAAMq+C,YAAY,GAAIt2C,MAAM,IAAK;IAC/B,MAAMysB,GAAG,GAAG,IAAInU,IAAI,EAAE;IACtB,MAAMmH,KAAK,GAAG,IAAInH,IAAI,CAACmU,GAAG,CAAC;IAC3B,IAAIzsB,MAAM,KAAK,OAAO,EAAE;MACtByf,KAAK,CAAC82B,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE74B,IAAI,EAAE+B,KAAK;QAAE1U,EAAE,EAAE0hB;OAAK;;IAEjC,IAAIzsB,MAAM,KAAK,MAAM,EAAE;MACrByf,KAAK,CAAC+2B,OAAO,CAAC/pB,GAAG,CAACgqB,OAAO,EAAE,GAAGhqB,GAAG,CAACiqB,MAAM,EAAE,CAAC;MAC3Cj3B,KAAK,CAAC82B,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE74B,IAAI,EAAE+B,KAAK;QAAE1U,EAAE,EAAE0hB;OAAK;;IAEjC,IAAIzsB,MAAM,KAAK,OAAO,EAAE;MACtByf,KAAK,CAAC+2B,OAAO,CAAC,CAAC,CAAC;MAChB/2B,KAAK,CAAC82B,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE74B,IAAI,EAAE+B,KAAK;QAAE1U,EAAE,EAAE0hB;OAAK;;IAEjC,OAAO,IAAI;GACZ;EAED,MAAMlL,oBAAoB,aAAUvhB,MAAM;IAAA,IAAK;MAC7C,MAAM22C,KAAK,GAAGL,YAAY,CAACt2C,MAAM,CAAC;MAClC,IAAI,CAAC22C,KAAK,EAAE,OAAAr5C,OAAA,CAAAC,OAAA;MAEZsjB,gBAAgB,CAAC,IAAI,CAAC;MAAC,MAAA6c,KAAA,GAAAhiC,gBAAA;QAAA,OAAAN,MAAA,aACnB;UAAA,IAAAw7C,gBAAA;UAAA,OAAAt5C,OAAA,CAAAC,OAAA,CACqBpF,KAAK,CAACqF,WAAW,CAACq5C,SAAS,CAChD,EAAE,EACF;YACE3+C,QAAQ,EAAE,QAAQ;YAClBkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXkzB,UAAU,EAAEsiB,QAAQ,aAARA,QAAQ,wBAAA+H,gBAAA,GAAR/H,QAAQ,CAAE10B,KAAK,cAAAy8B,gBAAA,uBAAfA,gBAAA,CAAiBr6B,IAAI;YACjCu6B,QAAQ,EAAEH,KAAK,CAACj5B,IAAI,CAACq5B,OAAO,EAAE;YAC9BC,MAAM,EAAEL,KAAK,CAAC5rC,EAAE,CAACgsC,OAAO;WAE5B,CAAC,EAAAt7C,IAAA,WAVKkC,QAAQ;YAAA,IAAAs5C,qBAAA;YAYd,MAAM5/B,IAAI,GAAG,CAAA1Z,QAAQ,aAARA,QAAQ,wBAAAs5C,qBAAA,GAARt5C,QAAQ,CAAEZ,aAAa,cAAAk6C,qBAAA,uBAAvBA,qBAAA,CAAyBr5C,YAAY,KAAI,EAAE;YAExDwZ,mBAAmB,CAAC;cAClBC,IAAI,EAAEA,IAAI;cACVC,YAAY,EAAE9a,QAAQ;cACtBgb,UAAU;cACVC,cAAc;cACdF,UAAU;cACVlZ,YAAY;cACZtB,aAAa,EAAE,CAAAY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEZ,aAAa,KAAI,EAAE;cAC5C9E;aACD,CAAC;;SACH,YAAQqpB,GAAG,EAAE;UACZzgB,OAAO,CAACD,KAAK,CAAC,qDAAqD,EAAE0gB,GAAG,CAAC;SAC1E;mBAAAxgB,UAAA,EAAAC,OAAA;QACC8f,gBAAgB,CAAC,KAAK,CAAC;QACvBT,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;QAAC,IAAA5f,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;MAAA,OAAAzD,OAAA,CAAAC,OAAA,CAAAmgC,KAAA,IAAAA,KAAA,CAAAjiC,IAAA,GAAAiiC,KAAA,CAAAjiC,IAAA;KAE9B,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMgmB,oBAAoB;IAAA,IAAe;MACvC,IAAI,CAAClB,UAAU,CAAC5C,IAAI,IAAI,CAAC4C,UAAU,CAACvV,EAAE,EAAE;QACtClN,KAAK,CAAC5F,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;QACxE,OAAAqF,OAAA,CAAAC,OAAA;;MAEF,MAAMmgB,IAAI,GAAG,IAAIpF,IAAI,CAACgI,UAAU,CAAC5C,IAAI,CAAC;MACtCA,IAAI,CAAC64B,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACzB,MAAMxrC,EAAE,GAAG,IAAIuN,IAAI,CAACgI,UAAU,CAACvV,EAAE,CAAC;MAClCA,EAAE,CAACwrC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;MAE5B11B,gBAAgB,CAAC,IAAI,CAAC;MAAC,MAAAmd,MAAA,GAAAtiC,gBAAA;QAAA,OAAAN,MAAA,aACnB;UAAA,IAAA87C,gBAAA;UAAA,OAAA55C,OAAA,CAAAC,OAAA,CACqBpF,KAAK,CAACqF,WAAW,CAACq5C,SAAS,CAChD,EAAE,EACF;YACE3+C,QAAQ,EAAE,QAAQ;YAClBkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXkzB,UAAU,EAAEsiB,QAAQ,aAARA,QAAQ,wBAAAqI,gBAAA,GAARrI,QAAQ,CAAE10B,KAAK,cAAA+8B,gBAAA,uBAAfA,gBAAA,CAAiB36B,IAAI;YACjCu6B,QAAQ,EAAEp5B,IAAI,CAACq5B,OAAO,EAAE;YACxBC,MAAM,EAAEjsC,EAAE,CAACgsC,OAAO;WAEtB,CAAC,EAAAt7C,IAAA,WAVKkC,QAAQ;YAAA,IAAAw5C,sBAAA;YAYd,MAAM9/B,IAAI,GAAG,CAAA1Z,QAAQ,aAARA,QAAQ,wBAAAw5C,sBAAA,GAARx5C,QAAQ,CAAEZ,aAAa,cAAAo6C,sBAAA,uBAAvBA,sBAAA,CAAyBv5C,YAAY,KAAI,EAAE;YAExDwZ,mBAAmB,CAAC;cAClBC,IAAI,EAAEA,IAAI;cACVC,YAAY,EAAE9a,QAAQ;cACtBgb,UAAU;cACVC,cAAc;cACdF,UAAU;cACVlZ,YAAY;cACZtB,aAAa,EAAE,CAAAY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEZ,aAAa,KAAI,EAAE;cAC5C9E;aACD,CAAC;;SACH,YAAQqpB,GAAG,EAAE;UACZzgB,OAAO,CAACD,KAAK,CAAC,4DAA4D,EAAE0gB,GAAG,CAAC;SACjF;mBAAA81B,WAAA,EAAAC,QAAA;QACCx2B,gBAAgB,CAAC,KAAK,CAAC;QACvBT,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;QAAC,IAAA02B,WAAA,QAAAC,QAAA;QAAA,OAAAA,QAAA;;MAAA,OAAA/5C,OAAA,CAAAC,OAAA,CAAAygC,MAAA,IAAAA,MAAA,CAAAviC,IAAA,GAAAuiC,MAAA,CAAAviC,IAAA;KAE9B,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMimB,QAAQ,GAAGla,KAAA;IAAA,IAAGyG,KAAK,GAAAzG,KAAA,CAALyG,KAAK;MAAE3K,KAAK,GAAAkE,KAAA,CAALlE,KAAK;MAAEhB,IAAI,GAAAkF,KAAA,CAAJlF,IAAI;MAAE5I,SAAS,GAAA8N,KAAA,CAAT9N,SAAS;MAAEgc,IAAI,GAAAlO,KAAA,CAAJkO,IAAI;IAAA,oBACrDhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,iBAAejB;OAC1B5I,SAAS,gBACRgB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAAyC,CAAC,eACzD7I,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;KAA2C,CAC5C,CAAC,gBAEjB7I,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAc0K,KAAW,CAAC,eACzCvT,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAcD,KAAW,CAAC,EACxCoS,IAAI,iBAAIhb,cAAA,CAAAC,aAAA;MAAK4I,SAAS,EAAC;OAAamS,IAAU,CACjC,CAEf,CAAC;GACP;EAED,MAAM7S,OAAO,GAAG,CAAC;IAAEihB,MAAM,EAAE;GAAU,CAAC;EAEtC,MAAM0a,gBAAgB,GAAIhyB,MAAM,IAAK;IACnCqqB,cAAc,CAAC,KAAK,CAAC;IACrBhI,YAAY,CAAC,IAAI,CAAC;GACnB;EAED,MAAMvxB,sBAAsB;IAAA,IAAe;MACzCf,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAAgB,OAAA,CAAAC,OAAA,CAAA7B,gBAAA;QAAA,OAAAN,MAAA,aACzB;UAAA,IAAAk8C,gBAAA;UAAA,OAAAh6C,OAAA,CAAAC,OAAA,CACqBpF,KAAK,CAACqF,WAAW,CAACC,gBAAgB,CAAC;YACxDvF,QAAQ,EAAEA,QAAQ,IAAI,QAAQ;YAC9BkB,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZkzB,UAAU,EAAEsiB,QAAQ,aAARA,QAAQ,wBAAAyI,gBAAA,GAARzI,QAAQ,CAAE10B,KAAK,cAAAm9B,gBAAA,uBAAfA,gBAAA,CAAiB/6B,IAAI;YACjC7e,cAAc,EAAE;WACjB,CAAC,EAAAjC,IAAA,WANIkC,QAAQ;YAQd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YACjD,IAAIA,YAAY,CAACtD,MAAM,KAAK,CAAC,EAAE;cAC7BuD,KAAK,CAAC5F,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGF,MAAM6F,YAAY,GAAG,CACnB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC7B;YAED,MAAMC,aAAa,GAAG;cACpBC,GAAG,EAAE/F,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBgG,SAAS,EAAEhG,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CiG,UAAU,EAAEjG,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CkG,QAAQ,EAAElG,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCmG,MAAM,EAAEnG,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BoG,YAAY,EAAEpG,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDqG,OAAO,EAAErG,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpCsG,mBAAmB,EAAEtG,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtEuG,YAAY,EAAEvG,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjDwG,GAAG,EAAExG,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChC0E,UAAU,EAAE1E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7CyG,QAAQ,EAAEzG,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B0G,QAAQ,EAAE1G,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC2G,IAAI,EAAE3G,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB4G,OAAO,EAAE5G,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClC6G,KAAK,EAAE7G,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9B8G,YAAY,EAAE9G,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnD+G,WAAW,EAAE/G,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDgH,gBAAgB,EAAEhH,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAC9C;YAED,MAAM4H,SAAS,GAAGjC,YAAY,CAAC/E,GAAG,CAAEiH,IAAI,IAAK;cAC3C,MAAMC,QAAQ,GAAG,EAAE;cAEnB,MAAMvD,QAAQ,GAAG,CAACsD,IAAI,CAAC7B,SAAS,EAAE6B,IAAI,CAAC5B,UAAU,EAAE4B,IAAI,CAAC3B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI1D,QAAQ,EAAE;gBACZuD,QAAQ,CAAC9H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGiH,WAAW,CAAC1C,QAAQ,CAAC;;cAIzE,MAAMmyC,eAAe,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;cAEhHxuC,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC,CAACO,OAAO,CAACC,GAAG,IAAI;gBAC/B,IAAIxC,YAAY,CAAC/D,QAAQ,CAACuG,GAAG,CAAC,EAAE;gBAEhC,MAAMC,GAAG,GAAGT,IAAI,CAACQ,GAAG,CAAC;gBACrB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBAC3C;;gBAGF,MAAMC,cAAc,GAAGzC,aAAa,CAACuC,GAAG,CAAC,IAAIrI,CAAC,CAACqI,GAAG,CAACX,WAAW,EAAE,CAAC,IAAIW,GAAG;gBAGxE,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIouC,eAAe,CAAC50C,QAAQ,CAACuG,GAAG,CAAC,EAAE;kBAC5DP,QAAQ,CAACS,cAAc,CAAC,GAAGtB,WAAW,CAACqB,GAAG,CAAC;iBAC5C,MAAM;kBACLR,QAAQ,CAACS,cAAc,CAAC,GAAGD,GAAG;;eAEjC,CAAC;cAEF,OAAOR,QAAQ;aAChB,CAAC;YAEF,MAAMU,aAAa,kBAAgBjE,QAAQ,CAACiD,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YAC3EtH,KAAK,CAACuI,QAAQ,CAACC,KAAK,CAACd,SAAS,EAAEY,aAAa,CAAC;;SAC/C,YAAQG,KAAK,EAAE;UACdC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACtD;mBAAA22C,WAAA,EAAAC,QAAA;QACCl7C,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAAi7C,WAAA,QAAAC,QAAA;QAAA,OAAAA,QAAA;;KAEjC,QAAAh8C,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMszC,UAAU;IAAA,IAAe;MAC7BlgB,YAAY,CAAC,KAAK,CAAC;MAAC,OAAAtxB,OAAA,CAAAC,OAAA;KACrB,QAAA/B,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,oBACEf,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBAEd7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAU9G,QAAQ,aAARA,QAAQ,wBAAA0vC,gBAAA,GAAR1vC,QAAQ,CAAEolB,MAAM,CAAC,CAAC,CAAC,cAAAsqB,gBAAA,uBAAnBA,gBAAA,CAAqBvsC,WAAW,EAAQ,CAAC,eAElElF,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KAAQ9G,QAAa,CAAC,eAEpC/B,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KAAe,CAAAurC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE4I,WAAW,KAAIx/C,CAAC,CAAC,gBAAgB,CAAO,CAK7E,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,iBAAiB;IAACmB,GAAG,EAAEqc;kBACpCrmB,cAAA,CAAAC,aAAA;IACE4I,SAAS,EAAC,cAAc;IACxBC,QAAQ,EAAEqd,aAAc;IACxBpd,OAAO,EAAEA,MAAM;MACb4c,iBAAiB,CAAEyB,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BnB,mBAAmB,CAAC,KAAK,CAAC;;KAG3BE,aAAa,GAAG3oB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC1E,CAAC,EAERkoB,cAAc,iBACb1lB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ,CACC;IAAEnJ,KAAK,EAAElC,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAEqI,GAAG,EAAE;GAAS,EAC9C;IAAEnG,KAAK,EAAElC,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAEqI,GAAG,EAAE;GAAQ,EACrD;IAAEnG,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAEqI,GAAG,EAAE;GAAS,CACzD,CAACzH,GAAG,CAAC8O,KAAA;IAAA,IAAGxN,KAAK,GAAAwN,KAAA,CAALxN,KAAK;MAAEmG,GAAG,GAAAqH,KAAA,CAAHrH,GAAG;IAAA,oBACjB7F,cAAA,CAAAC,aAAA;MAAK4F,GAAG,EAAEA,GAAI;MAACgD,SAAS,EAAC,WAAW;MAACE,OAAO,EAAEA,MAAM+d,oBAAoB,CAACjhB,GAAG;OACzEnG,KACE,CAAC;GACP,CAAC,eAEFM,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,qBAAqB;IAACE,OAAO,EAAEA,MAAMkd,mBAAmB,CAAEmB,CAAC,IAAK,CAACA,CAAC;KAC9E5pB,CAAC,CAAC,aAAa,CAAC,IAAI,aAClB,CAAC,EAELwoB,gBAAgB,iBACfhmB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KAAcrL,CAAC,CAAC,WAAW,CAAC,IAAI,MAAc,CAAC,eAChEwC,cAAA,CAAAC,aAAA;IACE2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAAC5C,IAAK;IACvBlU,QAAQ,EAAGhO,CAAC,IAAK+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAEyZ,IAAI,EAAEliB,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GACvE,CACE,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAO4I,SAAS,EAAC;KAAcrL,CAAC,CAAC,SAAS,CAAC,IAAI,IAAY,CAAC,eAC5DwC,cAAA,CAAAC,aAAA;IACE2H,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEid,UAAU,CAACvV,EAAG;IACrBvB,QAAQ,EAAGhO,CAAC,IAAK+kB,aAAa,CAAEtc,CAAC,IAAAoF,QAAA,KAAWpF,CAAC;MAAE8G,EAAE,EAAEvP,CAAC,CAAC4O,MAAM,CAAC/G;MAAQ;GACrE,CACE,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IAAQ4I,SAAS,EAAC,qBAAqB;IAACE,OAAO,EAAEge;KAC9CvpB,CAAC,CAAC,UAAU,CAAC,IAAI,UACZ,CACL,CAEJ,CAEJ,CACF,CAAC,eAGNwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IAACzT,KAAK,EAAE/V,CAAC,CAAC,gBAAgB,CAAE;IAACoL,KAAK,EAAE,CAAAzG,aAAa,aAAbA,aAAa,wBAAA2tC,qBAAA,GAAb3tC,aAAa,CAAEG,aAAa,cAAAwtC,qBAAA,uBAA5BA,qBAAA,CAA8BvtC,KAAK,KAAI,CAAE;IAACqF,IAAI,EAAC,OAAO;IAAC5I,SAAS,EAAEy8C,kBAAmB;IAACzgC,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE;GAAI,CAAC,eACxJjb,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IAACzT,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAE;IAACoL,KAAK,EAAE,CAAAzG,aAAa,aAAbA,aAAa,wBAAA63C,sBAAA,GAAb73C,aAAa,CAAEG,aAAa,cAAA03C,sBAAA,uBAA5BA,sBAAA,CAA8Bx3C,SAAS,KAAI,CAAE;IAACoF,IAAI,EAAC,MAAM;IAAC5I,SAAS,EAAEy8C,kBAAmB;IAACzgC,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE;GAAI,CAAC,eAC5Jnb,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IAACzT,KAAK,EAAE/V,CAAC,CAAC,SAAS,CAAE;IAACoL,KAAK,EAAE,CAAAzG,aAAa,aAAbA,aAAa,wBAAA83C,sBAAA,GAAb93C,aAAa,CAAEG,aAAa,cAAA23C,sBAAA,uBAA5BA,sBAAA,CAA8Bx3C,OAAO,KAAI,CAAE;IAACmF,IAAI,EAAC,SAAS;IAAC5I,SAAS,EAAEy8C,kBAAmB;IAACzgC,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACmb,UAAO,MAAE;GAAI,CAAC,eACrJpb,cAAA,CAAAC,aAAA,CAAC+mB,QAAQ;IAACzT,KAAK,EAAE/V,CAAC,CAAC,WAAW,CAAE;IAACoL,KAAK,EAAE,CAAAzG,aAAa,aAAbA,aAAa,wBAAA+3C,sBAAA,GAAb/3C,aAAa,CAAEG,aAAa,cAAA43C,sBAAA,uBAA5BA,sBAAA,CAA8Bp7B,cAAc,KAAI,CAAE;IAAClX,IAAI,EAAC,OAAO;IAAC5I,SAAS,EAAEy8C,kBAAmB;IAACzgC,IAAI,eAAEhb,cAAA,CAAAC,aAAA,CAACsb,cAAW,MAAE;GAAI,CAC5J,CAAC,eAGNvb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;GAsCV,CAAC,eAGN7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS,CAAAurC,QAAQ,aAARA,QAAQ,wBAAA+F,gBAAA,GAAR/F,QAAQ,CAAE10B,KAAK,cAAAy6B,gBAAA,uBAAfA,gBAAA,CAAiBv2C,YAAY,MAAIwwC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEz0B,QAAQ,KAAI,KAAY,CACzF,CAAC,eAEN3f,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS,CAAAurC,QAAQ,aAARA,QAAQ,wBAAAgG,gBAAA,GAARhG,QAAQ,CAAE10B,KAAK,cAAA06B,gBAAA,uBAAfA,gBAAA,CAAiBv2C,OAAO,KAAI,KAAY,CAC9D,CAAC,eAEN7D,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS,CAAAurC,QAAQ,aAARA,QAAQ,wBAAAiG,gBAAA,GAARjG,QAAQ,CAAE10B,KAAK,cAAA26B,gBAAA,uBAAfA,gBAAA,CAAiB12C,MAAM,KAAI,KAAY,CAC7D,CAAC,eAEN3D,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAS,CAAAurC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnnC,MAAM,KAAI,KAAY,CACtD,CAAC,eAONjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,aAAa,CAAC,IAAI,aAAoB,CAAC,eAClEwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASkU,UAAiB,CACvC,CAAC,eAEN/c,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASrL,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAwB,CAAC,eAC1EwC,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAASmU,cAAqB,CAC3C,CACF,CACF,CAAC,eAGNhd,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAKzC,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DwC,cAAA,CAAAC,aAAA,YACGzC,CAAC,CAAC,yBAAyB,CAAC,IAC3B,iGACD,CAAC,eACJwC,cAAA,CAAAC,aAAA;IACE4I,SAAS,EAAC,oBAAoB;IAC9BC,QAAQ,EAAElH,mBAAoB;IAC9BmH,OAAO,EAAEnG;kBAET5C,cAAA,CAAAC,aAAA;IAAK+I,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACvIvJ,cAAA,CAAAC,aAAA;IAAMuJ,CAAC,EAAC;GAA6C,CAAC,eACtDxJ,cAAA,CAAAC,aAAA;IAAUwJ,MAAM,EAAC;GAAoB,CAAC,eACtCzJ,cAAA,CAAAC,aAAA;IAAMyJ,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACnC,CAAC,EACLjI,mBAAmB,GAAGpE,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAC/E,CACL,CACF,CACF,CACF,CAAC,eACNwC,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA,CAACmO,4BAAK;IACJ5Q,CAAC,EAAEA,CAAE;IACL8pB,UAAU,EAAE9pB,CAAC,CAAC,eAAe,CAAE;IAC/B+pB,UAAU,EAAC,WAAW;IACtBxoB,IAAI,EAAE,CAAAoD,aAAa,aAAbA,aAAa,wBAAAm4C,sBAAA,GAAbn4C,aAAa,CAAEG,aAAa,cAAAg4C,sBAAA,uBAA5BA,sBAAA,CAA8Bn3C,YAAY,KAAI,EAAG;IACvD8I,OAAO,EAAE0vC,UAAW;IACpB38C,SAAS,EAAEy8C,kBAAmB;IAC9BtwC,YAAY,EAAEhJ,aAAa,aAAbA,aAAa,wBAAAo4C,sBAAA,GAAbp4C,aAAa,CAAEG,aAAa,cAAAi4C,sBAAA,uBAA5BA,sBAAA,CAA8Bh4C,KAAM;IAClDsI,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAE8Z,QAAS;IACxBq4B,gBAAgB,EAAE,IAAK;IACvBz1B,oBAAoB,EAAE,IAAK;IAC3B7c,UAAU,EAAEA,MAAM;MAAA,IAAAuyC,sBAAA;MAChB,IAAIryC,WAAW,GAAG,CAAC,CAAA1I,aAAa,aAAbA,aAAa,wBAAA+6C,sBAAA,GAAb/6C,aAAa,CAAEG,aAAa,cAAA46C,sBAAA,uBAA5BA,sBAAA,CAA8BvD,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE;QACrEh1B,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACFpE,UAAU,EAAEA,MAAM;MAChB,IAAIC,WAAW,GAAG,CAAC,EAAE;QACnB8Z,cAAc,CAAE3V,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF0Y,WAAW,EAAEA,MAAM;MACjB/C,cAAc,CAAC,CAAC,CAAC;KACjB;IACFgD,UAAU,EAAEA,MAAM;MAAA,IAAAw1B,sBAAA;MAChBx4B,cAAc,CAAC7d,IAAI,CAAC2V,GAAG,CAAC,CAAC,CAAAta,aAAa,aAAbA,aAAa,wBAAAg7C,sBAAA,GAAbh7C,aAAa,CAAEG,aAAa,cAAA66C,sBAAA,uBAA5BA,sBAAA,CAA8BxD,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAChF;IACF5uC,gBAAgB,EAAGhK,CAAC,IAAK;MACvB8jB,WAAW,CAAClC,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC,CAAC;MACnC+b,cAAc,CAAC,CAAC,CAAC;;GAEpB,CACG,CAAC,EAEN1mB,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,iBAChCU,cAAA,CAAAC,aAAA,CAACkzB,gCAAS,qBACRnzB,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IAAC7Q,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAE;IAACyR,QAAQ,EAAEA,MAAMktB,cAAc,CAAEntB,IAAI,IAAK,CAACA,IAAI;GAAI,CAAC,EAE3FktB,WAAW,iBACVl8B,cAAA,CAAAC,aAAA,CAACukC,2BAAI;IACHr8B,OAAO,EAAEA,OAAQ;IACjB4J,SAAS,EAAE,QAAS;IACpBvU,CAAC,EAAEA,CAAE;IACLguB,QAAQ,EAAEsY,gBAAiB;IAC3Bh6B,KAAK,EAAE;MACLnB,KAAK,EAAE,SAAS;MAChBkO,QAAQ,EAAE;;GAEb,CAEM,CACZ,EAEAqd,SAAS,iBAAIl0B,cAAA,CAAAC,aAAA,CAACk0C,eAAe;IAACC,QAAQ,EAAEA,QAAS;IAACC,UAAU,EAAEA,UAAW;IAACC,gBAAgB,EAAEA;GAAmB,CAC5G,CAAC;AAEX,CAAC;;ACjoBD,MAAMlgC,OAAO,GAAG,CACd;EACE5C,EAAE,EAAE,CAAC;EACLxP,IAAI,EAAE,cAAc;EACpByS,QAAQ,EAAE,EAAE;EACZC,WAAW,EAAE,EAAE;EACfw7B,SAAS,EAAE,GAAG;EACd1tC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,KAAK;EACdC,QAAQ,EAAE;AACZ,CAAC,EACD;EACE8O,EAAE,EAAE,CAAC;EACLxP,IAAI,EAAE,aAAa;EACnByS,QAAQ,EAAE,EAAE;EACZC,WAAW,EAAE,EAAE;EACfw7B,SAAS,EAAE,GAAG;EACd1tC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,KAAK;EACdC,QAAQ,EAAE;AACZ,CAAC,EACD;EACE8O,EAAE,EAAE,CAAC;EACLxP,IAAI,EAAE,cAAc;EACpByS,QAAQ,EAAE,EAAE;EACZC,WAAW,EAAE,EAAE;EACfw7B,SAAS,EAAE,GAAG;EACd1tC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,KAAK;EACdC,QAAQ,EAAE;AACZ,CAAC,CACF;AAED,MAAMqS,KAAK,GAAG,CACZ;EACEwF,IAAI,EAAE,aAAa;EACnB6iC,gBAAgB,EAAE,MAAM;EACxBC,QAAQ,EAAE,MAAM;EAChBC,aAAa,EAAE,EAAE;EACjBC,cAAc,EAAE;AAClB,CAAC,EACD;EACEhjC,IAAI,EAAE,aAAa;EACnB6iC,gBAAgB,EAAE,MAAM;EACxBC,QAAQ,EAAE,MAAM;EAChBC,aAAa,EAAE,EAAE;EACjBC,cAAc,EAAE;AAClB,CAAC,EACD;EACEhjC,IAAI,EAAE,YAAY;EAClB6iC,gBAAgB,EAAE,MAAM;EACxBC,QAAQ,EAAE,MAAM;EAChBC,aAAa,EAAE,EAAE;EACjBC,cAAc,EAAE;AAClB,CAAC,EACD;EACEhjC,IAAI,EAAE,YAAY;EAClB6iC,gBAAgB,EAAE,MAAM;EACxBC,QAAQ,EAAE,MAAM;EAChBC,aAAa,EAAE,EAAE;EACjBC,cAAc,EAAE;AAClB,CAAC,CACF;AAED,MAAMjqC,MAAM,GAAG,CACb,6CAA6C,EAC7C,iDAAiD,EACjD,yCAAyC,EACzC,wCAAwC,CACzC;AAED,MAAMmG,cAAY,GAAGA,MAAM;EACzB,oBACEzZ,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACgb,UAAO,MAAE,CACP,CAAC,eACNjb,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,YAAG,yBAA0B,CAC1B,CACF,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACkb,gBAAa,MAAE,CACb,CAAC,eACNnb,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,YAAG,gBAAiB,CACjB,CACF,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACmb,UAAO,MAAE,CACP,CAAC,eACNpb,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,YAAG,cAAe,CACf,CACF,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CACrB,CAAC,eACNrb,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,OAAS,CAAC,eACdD,cAAA,CAAAC,aAAA,YAAG,uBAAwB,CACxB,CACF,CACF,CAAC,eACND,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACsb,cAAW,MAAE,CAAC,gCACb,CAAC,eACLvb,cAAA,CAAAC,aAAA,iBAAQ,UAAgB,CACrB,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZuL,OAAO,CAAChW,GAAG,CAAEgc,MAAM,iBAClBpa,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,aAAa;IAAChD,GAAG,EAAEuU,MAAM,CAAC5I;kBACvCxR,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAACpY,IAAS,CAAC,eACtBhC,cAAA,CAAAC,aAAA,YAAG,8BAA+B,CAC/B,CAAC,eAEND,cAAA,CAAAC,aAAA,eAAOma,MAAM,CAAC3F,QAAQ,EAAC,GAAO,CAC3B,CAAC,eAENzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,eAAe;IAACiB,KAAK,EAAE;MAAEd,KAAK,EAAKoR,MAAM,CAAC3F,QAAQ;;GAAY,CAC1E,CAAC,eAENzU,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAAC1F,WAAgB,CAAC,eAC7B1U,cAAA,CAAAC,aAAA,YAAG,aAAc,CACd,CAAC,eAEND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAAC81B,SAAc,CAAC,eAC3BlwC,cAAA,CAAAC,aAAA,YAAG,WAAY,CACZ,CAAC,eAEND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAKma,MAAM,CAAC5X,SAAc,CAAC,eAC3BxC,cAAA,CAAAC,aAAA,YAAG,WAAY,CACZ,CACF,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,eAAM,WAAS,EAACma,MAAM,CAAC3X,OAAc,CAAC,eACtCzC,cAAA,CAAAC,aAAA,eAAM,YAAU,EAACma,MAAM,CAAC1X,QAAe,CACpC,CACF,CACN,CACE,CACE,CAAC,eAEV1C,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAAC+b,iBAAc,MAAE,CAAC,4BAChB,CAAC,eACLhc,cAAA,CAAAC,aAAA,iBAAQ,aAAmB,CACxB,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,aAAI,MAAQ,CAAC,eACbD,cAAA,CAAAC,aAAA,aAAI,mBAAqB,CAAC,eAC1BD,cAAA,CAAAC,aAAA,aAAI,WAAa,CAAC,eAClBD,cAAA,CAAAC,aAAA,aAAI,gBAAkB,CAAC,eACvBD,cAAA,CAAAC,aAAA,aAAI,oBAAsB,CAAC,eAC3BD,cAAA,CAAAC,aAAA,aAAI,QAAU,CACZ,CACC,CAAC,eAERD,cAAA,CAAAC,aAAA,gBACG8U,KAAK,CAAC3W,GAAG,CAAC,CAACiH,IAAI,EAAEuL,KAAK,kBACrB5Q,cAAA,CAAAC,aAAA;IAAI4F,GAAG,EAAE+K;kBACP5Q,cAAA,CAAAC,aAAA,aAAKoF,IAAI,CAACkV,IAAS,CAAC,eACpBva,cAAA,CAAAC,aAAA,aAAKoF,IAAI,CAAC+3C,gBAAqB,CAAC,eAChCp9C,cAAA,CAAAC,aAAA,aAAKoF,IAAI,CAACg4C,QAAa,CAAC,eACxBr9C,cAAA,CAAAC,aAAA,aAAKoF,IAAI,CAACi4C,aAAkB,CAAC,eAC7Bt9C,cAAA,CAAAC,aAAA,aAAKoF,IAAI,CAACk4C,cAAmB,CAAC,eAC9Bv9C,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KAAuB,QAAY,CACjD,CACF,CACL,CACI,CACF,CACJ,CACE,CAAC,eAEV7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC,oBACvB,CACD,CAAC,eAENrb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZyK,MAAM,CAAClV,GAAG,CAAC,CAACgF,KAAK,EAAEwN,KAAK,kBACvB5Q,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,YAAY;IAAChD,GAAG,EAAE+K;kBAC/B5Q,cAAA,CAAAC,aAAA,CAACob,wBAAqB,MAAE,CAAC,eACzBrb,cAAA,CAAAC,aAAA,YAAImD,KAAS,CACV,CACN,CACE,CACE,CAAC,eAEVpD,cAAA,CAAAC,aAAA;IAAS4I,SAAS,EAAC;kBACjB7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACqb,YAAS,MAAE,CAAC,yBACX,CACD,CAAC,eAENtb,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,IAAM,CAAC,eACXD,cAAA,CAAAC,aAAA,YAAG,0BAA2B,CAC3B,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,KAAO,CAAC,eACZD,cAAA,CAAAC,aAAA,YAAG,kBAAmB,CACnB,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,QAAU,CAAC,eACfD,cAAA,CAAAC,aAAA,YAAG,wBAAyB,CACzB,CAAC,eAEND,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,aAAI,KAAO,CAAC,eACZD,cAAA,CAAAC,aAAA,YAAG,wBAAyB,CACzB,CACF,CACE,CACN,CACD,CACH,CACF,CAAC;AAEV,CAAC;;ACrPD,MAAMu9C,UAAU,GAAGA,CAACn4B,QAAQ,EAAEo4B,SAAS,EAAEC,QAAQ,EAAEC,WAAW,KAAK,CAC/D;EAAEj+C,KAAK,EAAE+9C,SAAS;EAAExpB,IAAI,iBAAe5O,QAAQ,cAASq4B;AAAW,CAAC,EACpE;EAAEh+C,KAAK,EAAEi+C;AAAY,CAAC,CACzB;AAGD,AAAO,MAAMC,aAAa,GAAIv4B,QAAQ,IAAK,CAEvC;EAAE4O,IAAI,EAAE,YAAY;EAAEgS,SAAS,EAAEh8B,SAAS;EAAE4zC,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAiB,CAAC,EAC5F;EAAEvpB,IAAI,EAAE,QAAQ;EAAEgS,SAAS,EAAEna,KAAK;EAAE+xB,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAa,CAAC,EAChF;EAAEvpB,IAAI,EAAE,cAAc;EAAEgS,SAAS,EAAEjN,MAAM;EAAE6kB,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAc,CAAC,EACxF;EAAEvpB,IAAI,EAAE,aAAa;EAAEgS,SAAS,EAAE7Q,MAAM;EAAEyoB,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAkB,CAAC,EAC3F;EAAEvpB,IAAI,EAAE,UAAU;EAAEgS,SAAS,EAAExV,OAAO;EAAEotB,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAe,CAAC,EACtF;EAAEvpB,IAAI,EAAE,kBAAkB;EAAEgS,SAAS,EAAE2K,cAAc;EAAEiN,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAuB,CAAC,EAC7G;EAAEvpB,IAAI,EAAE,gBAAgB;EAAEgS,SAAS,EAAExsB,cAAY;EAAEokC,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAA2B,CAAC,EAG7G;EAAEvpB,IAAI,EAAE,mBAAmB;EAAEgS,SAAS,EAAEqH,QAAQ;EAAEuQ,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAwB,CAAC,EACzG;EAAEvpB,IAAI,EAAE,kBAAkB;EAAEgS,SAAS,EAAEqH,QAAQ;EAAEuQ,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAuB,CAAC,EACvG;EAAEvpB,IAAI,EAAE,gBAAgB;EAAEgS,SAAS,EAAEqH,QAAQ;EAAEuQ,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAqB,CAAC,EACnG;EAAEvpB,IAAI,EAAE,gBAAgB;EAAEgS,SAAS,EAAEqH,QAAQ;EAAEuQ,MAAM,EAAE,QAAQ;EAAEL,UAAU,EAAE;AAAqB,CAAC,EAGnG;EACIvpB,IAAI,EAAE,CAAC,SAAS,CAAC;EACjBgS,SAAS,EAAE4J,UAAU;EACrBgO,MAAM,EAAE,QAAQ;EAChBL,UAAU,EAAE,CAAC;IAAE99C,KAAK,EAAE,aAAa;IAAEu0B,IAAI,iBAAe5O,QAAQ;GAAgB;AACpF,CAAC,EASD;EACI4O,IAAI,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC;EACxCgS,SAAS,EAAEvlB,iBAAiB;EAC5Bm9B,MAAM,EAAE,QAAQ;EAChBL,UAAU,EAAEA,UAAU,CAACn4B,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB;AAC9F,CAAC,EACD;EACI4O,IAAI,EAAE,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;EAC5DgS,SAAS,EAAEuL,qBAAqB;EAChCqM,MAAM,EAAE,QAAQ;EAChBL,UAAU,EAAEA,UAAU,CAACn4B,QAAQ,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,yBAAyB;AACtH,CAAC,EACD;EACI4O,IAAI,EAAE,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;EACxDgS,SAAS,EAAE6X,wBAAmB;EAC9BD,MAAM,EAAE,QAAQ;EAChBL,UAAU,EAAEA,UAAU,CAACn4B,QAAQ,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,uBAAuB;AACjH,CAAC,CACJ;AAGD,AAAO,MAAM04B,UAAU,GAAGH,aAAa,CAAC,UAAU,CAAC;;ACxDnD,MAAMI,WAAW,GAAGx8C,IAAA,IAAc;EAAA,IAAXyyB,IAAI,GAAAzyB,IAAA,CAAJyyB,IAAI;EACzB,MAAA32B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAE9B2b,cAAc,CAACkB,UAAU,CAAC,iBAAiB,CAAC;EAmD5C,MAAMynB,qBAAqB,GAAGA,MAAM;IAClC,MAAMC,MAAM,GAAG,CACb;MAAEljC,IAAI,EAAE1L,+BAAQ;MAAE2kB,IAAI,EAAE;KAAsB,EAC9C;MAAEv0B,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC;MAAEy2B,IAAI,EAAE;KAAqC,CAC5E;IACD,MAAMkqB,YAAY,GAAG/+C,QAAQ,CAACC,QAAQ,CAACwF,KAAK,CAAC,GAAG,CAAC,CAACU,MAAM,CAACC,OAAO,CAAC;IACjE,MAAM44C,SAAS,GAAGD,YAAY,CAACE,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAMC,gBAAgB,GAAGF,SAAS,KAAK,CAAC,CAAC,GAAGD,YAAY,CAACliC,KAAK,CAACmiC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE;IAElF,IAAIG,WAAW,GAAG,EAAE;IACpB,MAAMzP,YAAY,GAAGiP,UAAU,CAAC3gC,IAAI,CAAEyvB,KAAK,IAAK;MAC9C,MAAM2R,KAAK,GAAGtgD,KAAK,CAACC,OAAO,CAAC0uC,KAAK,CAAC5Y,IAAI,CAAC,GAAG4Y,KAAK,CAAC5Y,IAAI,GAAG,CAAC4Y,KAAK,CAAC5Y,IAAI,CAAC;MACnE,OAAOuqB,KAAK,CAAClkC,IAAI,CAAEmkC,UAAU,IAAK;QAChC,MAAMC,aAAa,GAAGD,UAAU,CAAC55C,KAAK,CAAC,GAAG,CAAC,CAACU,MAAM,CAACC,OAAO,CAAC;QAC3D,IAAIk5C,aAAa,CAAC7+C,MAAM,KAAKy+C,gBAAgB,CAACz+C,MAAM,IAAI6+C,aAAa,CAACpF,KAAK,CAAC,CAACqF,GAAG,EAAE3uC,CAAC,KAAK2uC,GAAG,CAAC9nB,UAAU,CAAC,GAAG,CAAC,IAAI8nB,GAAG,KAAKL,gBAAgB,CAACtuC,CAAC,CAAC,CAAC,EAAE;UAC3IuuC,WAAW,GAAGE,UAAU;UACxB,OAAO,IAAI;;QAEb,OAAO,KAAK;OACb,CAAC;KACH,CAAC;IAEF,IAAI3P,YAAY,EAAE;MAChB,IAAI5wC,KAAK,CAACC,OAAO,CAAC2wC,YAAY,CAAC0O,UAAU,CAAC,EAAE;QAC1C1O,YAAY,CAAC0O,UAAU,CAAC53C,OAAO,CAAEg5C,KAAK,IAAK;UACzC,IAAIC,SAAS,GAAGD,KAAK,CAAC3qB,IAAI;UAC1B,IAAI4qB,SAAS,IAAIN,WAAW,EAAE;YAC5BA,WAAW,CAAC15C,KAAK,CAAC,GAAG,CAAC,CAACU,MAAM,CAACC,OAAO,CAAC,CAACI,OAAO,CAAC,CAACk5C,OAAO,EAAEz3B,GAAG,KAAK;cAC/D,IAAIy3B,OAAO,CAACjoB,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC3B,MAAM/wB,GAAG,GAAGw4C,gBAAgB,CAACj3B,GAAG,CAAC;gBACjCw3B,SAAS,GAAGA,SAAS,CAAC75C,OAAO,CAAC,IAAI+5C,MAAM,SAAOD,OAAO,EAAI,GAAG,CAAC,QAAMh5C,GAAK,CAAC,CACvEd,OAAO,CAAC,IAAI+5C,MAAM,YAAUD,OAAO,EAAI,GAAG,CAAC,UAAQh5C,GAAK,CAAC,CACzDd,OAAO,CAAC,IAAI+5C,MAAM,CAACD,OAAO,EAAE,GAAG,CAAC,EAAEh5C,GAAG,CAAC;;aAE5C,CAAC;;UAEJo4C,MAAM,CAACz+C,IAAI,CAAAmP,QAAA;YAAGlP,KAAK,EAAElC,CAAC,CAACohD,KAAK,CAACl/C,KAAK;aAAOm/C,SAAS,GAAG;YAAE5qB,IAAI,EAAE4qB;WAAW,GAAG,EAAE,CAAG,CAAC;SAClF,CAAC;OACH,MAAM;QACLX,MAAM,CAACz+C,IAAI,CAAC;UAAEC,KAAK,EAAElC,CAAC,CAACsxC,YAAY,CAAC0O,UAAU;SAAG,CAAC;;;IAGtD,OAAOU,MAAM;GACd;EACD,MAAMvP,cAAc,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC;EAEhG,oBACE3uC,cAAA,CAAAC,aAAA,CAAC++C,mCAAY,qBACXh/C,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACg/C,mCAAY;IACXC,WAAW,eACTl/C,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA,CAACk/C,gCAAS;MAACt2C,SAAS,EAAC;KAAQ,CAAC,QAEhB,CACjB;IACDu2C,WAAW,EAAEA,MAAMjgD,MAAM,CAACiM,OAAO,CAACi0C,IAAI,EAAG;IACzCC,WAAW,EAAErB,qBAAqB;GACnC,CAAC,eAEFj+C,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACmvC,qBAAM,qBACLpvC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,eAAa;IAC1BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACgK,SAAS;MAACe,WAAW,EAAEipB,IAAK;MAACyrB,eAAe,EAAC,MAAM;MAAC5xC,UAAU,EAAC,MAAM;MAAC6xC,OAAO,EAAE;KAAO,CAC1E;GAElB,CAAC,eACF3/C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,WAAS;IACtBgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC6rB,KAAK;MAAC9gB,WAAW,EAAEipB,IAAK;MAACyrB,eAAe,EAAC,MAAM;MAAC5xC,UAAU,EAAC,MAAM;MAAC6xC,OAAO,EAAE;KAAO,CACtE;GAElB,CAAC,eAEF3/C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,gBAAc;IAC3BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACm1B,MAAM,MAAE,CACI;GAElB,CAAC,eAEFp1B,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,aAAW;IACxBgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACwwB,OAAO,MAAE,CACG;GAElB,CAAC,eAUFzwB,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,iCAA+B;IAC5C2rB,KAAK;IACL3Z,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC69C,wBAAmB,MAAE,CACT;GAElB,CAAC,eAEF99C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAE0a,cAAc,CAACvwC,GAAG,CAAEyuC,KAAK,IAAQ5Y,IAAI,SAAI4Y,KAAO,CAAE;IACxD5G,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACqtC,QAAQ,EAAA1+B,QAAA,KAAKrE,KAAK;MAAE0pB,IAAI,EAAEA;MAAO,CACrB;GAElB,CAAC,eAEFj0B,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,iBAAe;IAC5BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC+4B,MAAM,MAAE,CACI;GAElB,CAAC,eAEFh5B,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACwZ,YAAY,MAAE,CACF;GAElB,CAAC,eAEFzZ,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,qBAAmB;IAChCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC2wC,cAAc,MAAE,CACJ;GAElB,CAAC,eAEF5wC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,uBAAqB;IAClCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACygB,iBAAiB,MAAE,CACP;GAElB,CAAC,eAEF1gB,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAE,CAAIA,IAAI,gCAAgCA,IAAI,2BAAyB;IAC3EgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACuxC,qBAAqB,MAAE,CACX;GAElB,CAAC,eAEFxxC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAE,CAAIA,IAAI,8BAA8BA,IAAI,yBAAuB;IACvEgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC69C,wBAAmB,MAAE,CACT;GAElB,CAMK,CACL,CACF,CACO,CAAC;AAEnB,CAAC;;ACjQD,MAAM+B,kBAAkB,GAAG,UAACriD,CAAC,EAAEynC,QAAQ,EAAOC,UAAU,EAAE4a,aAAa,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,kBAAkB,EAAK;EAAA,IAAA5a,SAAA,EAAA6a,qBAAA,EAAA3a,UAAA;EAAA,IAApGN,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EAC1C,MAAMkb,YAAY,GAAG,EAAA9a,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAA6a,qBAAA,GAAR7a,SAAA,CAAU8a,YAAY,cAAAD,qBAAA,uBAAtBA,qBAAA,CAAwBl+C,IAAI,OAAAujC,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAU4a,YAAY;EAC3E,MAAMC,OAAO,GAAGD,YAAY,KAAK,OAAO;EACxC,MAAME,mBAAmB,GAAGF,YAAY,KAAK,UAAU,IAAIA,YAAY,KAAK,cAAc;EAE1F,MAAMloB,MAAM,GAAG,CACb;IACEv4B,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;IACtBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAC;IACzBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,cAAc;IACnBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,cAAc;MACpBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CACN;UAAE9P,IAAI,EAAE;SAAe,EACvB;UAAEA,IAAI,EAAE;SAAc,EACtB;UAAEA,IAAI,EAAE;SAAS,EACjB;UAAEA,IAAI,EAAE;SAAY,EACpB;UAAEA,IAAI,EAAE;SAAgB,CACxB;QACF+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC;IACjCuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,qBAAqB;IAC1BmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,qBAAqB;MAC3BikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,EAAG;QACXC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAC;IACzBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACdo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,YAAY;MAClBkkC,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACd3pB,GAAG,EAAE;;;GAGV,EACD;IACE9c,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC;IACjCuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAE2gD,mBAAmB,GAAG7iD,CAAC,CAAC,YAAY,CAAC,GAAGA,CAAC,CAAC,YAAY,CAAC;IAC9DuoC,WAAW,EAAEsa,mBAAmB;IAChCz4C,IAAI,EAAE,QAAQ;IACdo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,UAAU;MAChBkkC,UAAU,EAAEma,mBAAmB,GAAG;QAAEla,QAAQ,EAAE,IAAI;QAAE3pB,GAAG,EAAE;OAAG,GAAG;;GAElE,EACD;IACE9c,KAAK,EAAE0gD,OAAO,GAAG5iD,CAAC,CAAC,cAAc,CAAC,GAAGA,CAAC,CAAC,cAAc,CAAC;IACtDuoC,WAAW,EAAEqa,OAAO;IACpBx4C,IAAI,EAAE,QAAQ;IACdo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,WAAW;MACjBkkC,UAAU,EAAEka,OAAO,GAAG;QAAEja,QAAQ,EAAE,IAAI;QAAE3pB,GAAG,EAAE;OAAG,GAAG;;GAEtD,EACD;IACE9c,KAAK,EAAElC,CAAC,CAAC,0BAA0B,CAAC;IACpCuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACdo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;IAC1BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,eAAe;IACpBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,eAAe;MACrBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAACmmC,iCAAU;QACTC,QAAQ,EAAGtlC,CAAC,IAAKmkC,UAAU,CAACnkC,CAAC,EAAEwJ,KAAK,CAACwE,QAAQ,CAAE;QAC/Cu3B,QAAQ,EAAEA,MAAM;UACd/7B,KAAK,CAACwE,QAAQ,CAAC,IAAI,CAAC;UACpBixC,gBAAgB,CAAC,IAAI,CAAC;UACtBC,kBAAkB,CAAC,IAAI,CAAC;SACxB;QACFz2B,OAAO,EAAEu2B,eAAe,GAAGviD,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;OAChE,CAAC,EACDsiD,aAAa,iBACZ9/C,cAAA,CAAAC,aAAA;QAAK6J,KAAK,EAAE;UAAE0P,SAAS,EAAE;;sBACvBxZ,cAAA,CAAAC,aAAA;QACE2kC,GAAG,EAAEkb,aAAc;QACnBjb,GAAG,EAAC,SAAS;QACb/6B,KAAK,EAAE;UAAEm6B,QAAQ,EAAE,MAAM;UAAEU,SAAS,EAAE,OAAO;UAAE2b,SAAS,EAAE;;OAC3D,CACE,CAEJ;;GAGV,CACF;EAED,OAAO,CACL;IACE7Z,IAAI,EAAEjpC,CAAC,CAAC,uBAAuB,CAAC;IAChCoD,IAAI,EAAEq3B;GACP,CACF;AACH,CAAC;;ACxID,MAAMsoB,YAAY,GAAG/+C,IAAA,IAAoC;EAAA,IAAjCmlC,MAAM,GAAAnlC,IAAA,CAANmlC,MAAM;IAAEnb,QAAQ,GAAAhqB,IAAA,CAARgqB,QAAQ;IAAEyZ,QAAQ,GAAAzjC,IAAA,CAARyjC,QAAQ;EAChD,MAAA3nC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAM6d,SAAS,GAAGp4B,QAAQ,CAAC+vB,KAAK,IAAI,EAAE;EACtC,MAAM1xB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAM4uB,WAAW,GAAG,IAAIoa,eAAe,CAACxnC,QAAQ,CAACynC,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGta,WAAW,CAACzuB,GAAG,CAAC,KAAK,CAAC;EACrC,MAAMgpC,SAAS,GACbD,MAAM,KACNtP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEzrB,OAAO,MAClByrB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEj0B,GAAG,MACd0hC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEl5B,OAAO,MACjBk5B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE1hC,GAAG,KACb+xB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;EAEzC,MAAAh3B,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAC1E;MAAEtvB,QAAQ;MAAEkhB,OAAO,EAAE;QAAEpb,GAAG,EAAEwjC,SAAS;QAAEvJ,SAAS,EAAE;;KAAc,EAChE;MAAE3+B,OAAO,EAAE,CAAC,CAACkoC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHOhoC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQiuB,UAAU,GAAA1uB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAMs+B,cAAc,GAAG3/B,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC6+B,aAAa,CAAC7/B,QAAQ,CAAC;EAE/D,MAAMwpC,SAAS,GAAG,CAAAhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnI,eAAe,KAAI,EAAE;EAGjD,MAAAp7B,SAAA,GAA0CC,cAAQ,CAAC,IAAI,CAAC;IAAjDm+C,aAAa,GAAAp+C,SAAA;IAAEs+C,gBAAgB,GAAAt+C,SAAA;EACtC,MAAAoY,UAAA,GAA8CnY,cAAQ,CAACslC,SAAS,CAAC8Y,eAAe,IAAI,IAAI,CAAC;IAAlFA,eAAe,GAAAjmC,UAAA;IAAEmmC,kBAAkB,GAAAnmC,UAAA;EAC1C,MAAAgL,UAAA,GAA0BnjB,cAAQ,CAAC,IAAI,CAAC;IAAjC8vB,KAAK,GAAA3M,UAAA;IAAE4M,QAAQ,GAAA5M,UAAA;EACtB,MAAAW,UAAA,GAAwC9jB,cAAQ,CAAC,KAAK,CAAC;IAAhD0lC,YAAY,GAAA5hB,UAAA;IAAE6hB,eAAe,GAAA7hB,UAAA;EACpC,MAAAG,UAAA,GAAkCjkB,cAAQ,CAAC,KAAK,CAAC;IAA1C4lC,SAAS,GAAA3hB,UAAA;IAAE4hB,YAAY,GAAA5hB,UAAA;EAE9B,MAAAG,UAAA,GAA0CpkB,cAAQ,CAAC,OAAO;MACxD+9B,SAAS,EAAEuH,SAAS,CAACvH,SAAS,IAAI,EAAE;MACpCygB,YAAY,EAAElZ,SAAS,CAACkZ,YAAY,GAAG;QAAEn+C,IAAI,EAAEilC,SAAS,CAACkZ;OAAc,GAAG,IAAI;MAC9EK,mBAAmB,EAAEvZ,SAAS,CAACuZ,mBAAmB,GAAG;QAAEx+C,IAAI,EAAEilC,SAAS,CAACuZ;OAAqB,GAAG,IAAI;MACnGC,UAAU,EAAExZ,SAAS,CAACwZ,UAAU,IAAI,EAAE;MACtCC,OAAO,EAAEzZ,SAAS,CAACyZ,OAAO,IAAI,EAAE;MAChCC,SAAS,EAAE1Z,SAAS,CAAC0Z,SAAS,IAAI,EAAE;MACpCC,QAAQ,EAAE3Z,SAAS,CAAC2Z,QAAQ,IAAI,EAAE;MAClCC,aAAa,EAAE5Z,SAAS,CAAC4Z,aAAa,IAAI,EAAE;MAC5Cf,aAAa,EAAE7Y,SAAS,CAAC8Y,eAAe,GAAG,UAAU,GAAG;KACzD,CAAC,CAAC;IAVIrX,aAAa,GAAA3iB,UAAA;IAAE4iB,gBAAgB,GAAA5iB,UAAA;EAYtC,MAAAG,UAAA,GAA0CvkB,cAAQ,CAAC+mC,aAAa,CAAC;IAA1DE,aAAa,GAAA1iB,UAAA;IAAE2iB,gBAAgB,GAAA3iB,UAAA;EAEtC,MAAM4iB,sBAAsB,GAAI7b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMyK,aAAa,GACjB,CAAAzK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0K,qBAAqB,MAAI1K,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2K,iBAAiB,KAAI3K,UAAU;IAClF,MAAM4K,eAAe,GAAG,CAAC35B,KAAK,CAACC,OAAO,CAACu5B,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAEDvwB,eAAS,CAAC,MAAM;IACd,MAAMyhC,OAAO,GAAGD,sBAAsB,CAAC7b,UAAU,CAAC;IAClD,MAAMwK,OAAO,GAAGsR,OAAO,KAAI9D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB;IACtD,MAAMU,YAAY,GAAG,CAAAyJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzJ,YAAY,MAAIyJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqF,eAAe,KAAIrF,OAAO,IAAI,EAAE;IAEvF,IAAIzJ,YAAY,IAAItoB,MAAM,CAACC,IAAI,CAACqoB,YAAY,CAAC,CAACnuB,MAAM,GAAG,CAAC,IAAI,CAACwnC,YAAY,EAAE;MACzE,IAAIyZ,QAAQ,GAAG,IAAI;MACnB,IAAIC,UAAU,GAAG,IAAI;MAErB,IAAI/yB,YAAY,CAACwyB,mBAAmB,EAAE;QACpC,MAAMQ,YAAY,GAAG,CACnB;UAAEh/C,IAAI,EAAE;SAAe,EACvB;UAAEA,IAAI,EAAE;SAAc,EACtB;UAAEA,IAAI,EAAE;SAAS,EACjB;UAAEA,IAAI,EAAE;SAAY,EACpB;UAAEA,IAAI,EAAE;SAAgB,CACzB,CAACob,IAAI,CAAExV,IAAI,IAAKA,IAAI,CAAC5F,IAAI,CAAC+C,WAAW,EAAE,KAAKipB,YAAY,CAACwyB,mBAAmB,CAACz7C,WAAW,EAAE,CAAC;QAC5F,IAAIi8C,YAAY,EAAEF,QAAQ,GAAGE,YAAY,CAAC,KACrCF,QAAQ,GAAG;UAAE9+C,IAAI,EAAEgsB,YAAY,CAACwyB;SAAqB;QAC1DO,UAAU,GAAG;UAAE/+C,IAAI,EAAEgsB,YAAY,CAACwyB;SAAqB;;MAGzD,IAAIxyB,YAAY,CAACmyB,YAAY,EAAE;QAC7BY,UAAU,GAAG;UAAE/+C,IAAI,EAAEgsB,YAAY,CAACmyB;SAAc;QAChD,IAAI,CAACnyB,YAAY,CAACwyB,mBAAmB,EAAEM,QAAQ,GAAG;UAAE9+C,IAAI,EAAEgsB,YAAY,CAACmyB;SAAc;;MAGvF,MAAM5W,eAAe,GAAG;QACtB7J,SAAS,EAAEuH,SAAS,CAACvH,SAAS,IAAI1R,YAAY,CAAC0R,SAAS,IAAI,EAAE;QAC9DygB,YAAY,EAAElZ,SAAS,CAACkZ,YAAY,GAAG;UAAEn+C,IAAI,EAAEilC,SAAS,CAACkZ;SAAc,GAAGW,QAAQ;QAClFN,mBAAmB,EAAEvZ,SAAS,CAACuZ,mBAAmB,GAC9C;UAAEx+C,IAAI,EAAEilC,SAAS,CAACuZ;SAAqB,GACvCO,UAAU;QACdN,UAAU,EACRxZ,SAAS,CAACwZ,UAAU,KACnBzyB,YAAY,CAAC4R,cAAc,IAAI5R,YAAY,CAAC6R,SAAS,GAClDj7B,MAAM,CAACopB,YAAY,CAAC4R,cAAc,IAAI5R,YAAY,CAAC6R,SAAS,CAAC,GAC7D,EAAE,CAAC;QACT6gB,OAAO,EAAEzZ,SAAS,CAACyZ,OAAO,IAAI1yB,YAAY,CAAC0yB,OAAO,IAAI,EAAE;QACxDC,SAAS,EACP1Z,SAAS,CAAC0Z,SAAS,KAClB3yB,YAAY,CAACizB,aAAa,KAAK,IAAI,IAAIjzB,YAAY,CAACizB,aAAa,KAAKviC,SAAS,GAC5E9Z,MAAM,CAACopB,YAAY,CAACizB,aAAa,CAAC,GAClC,EAAE,CAAC;QACTL,QAAQ,EACN3Z,SAAS,CAAC2Z,QAAQ,KACjB5yB,YAAY,CAACkzB,YAAY,KAAK,IAAI,IAAIlzB,YAAY,CAACkzB,YAAY,KAAKxiC,SAAS,GAC1E9Z,MAAM,CAACopB,YAAY,CAACkzB,YAAY,CAAC,GACjC,EAAE,CAAC;QACTL,aAAa,EACX5Z,SAAS,CAAC4Z,aAAa,KACtB7yB,YAAY,CAACmzB,qBAAqB,KAAK,IAAI,IAAInzB,YAAY,CAACmzB,qBAAqB,KAAKziC,SAAS,GAC5F9Z,MAAM,CAACopB,YAAY,CAACmzB,qBAAqB,CAAC,GAC1C,EAAE,CAAC;QACTrB,aAAa,EAAE7Y,SAAS,CAAC8Y,eAAe,IAAI/xB,YAAY,CAACiS,wBAAwB,IAAI;OACtF;MAED0I,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAACuW,aAAa,EAAE;QACjCG,kBAAkB,CAAC1W,eAAe,CAACuW,aAAa,CAAC;;MAEnDxY,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACra,UAAU,EAAEgY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB,EAAE+Z,YAAY,CAAC,CAAC;EAG3D,MAAM+Z,YAAY,aAAUrgD,CAAC,EAAEgO,QAAQ;IAAA,IAAK;MAC1C,MAAM26B,IAAI,GAAG3oC,CAAC,CAAC4O,MAAM,CAACg6B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAA7mC,OAAA,CAAAC,OAAA;MAEX,IAAI4mC,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBlY,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAqF,OAAA,CAAAC,OAAA;;MACD,MAAAmgC,KAAA,GAAAtiC,MAAA,aAEG;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACgBpF,KAAK,CAACmsC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAEjsC,QAAQ,CAAC,EAAAuD,IAAA,WAApE+oC,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMtG,WAAW,GAAGmG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAEhrC,IAAI,cAAAirC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBtG,WAAW;UAAC,IAEnDA,WAAW;YACb70B,QAAQ,CAAC26B,IAAI,CAAC1nC,IAAI,CAAC;YACnBi+C,kBAAkB,CAACrc,WAAW,CAAC;YAE/B,MAAMyd,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAACE,SAAS,GAAG,MAAMvB,gBAAgB,CAACqB,MAAM,CAACvgD,MAAM,CAAC;YACxDugD,MAAM,CAACG,aAAa,CAAC9X,IAAI,CAAC;YAE1BhY,QAAQ,CAAC;cAAE9pB,IAAI,EAAE,SAAS;cAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACNk0B,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAmgC,KAAA,IAAAA,KAAA,CAAAjiC,IAAA,GAAAiiC,KAAA,CAAAjiC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMopC,iBAAiB,GAAGA,CAACC,QAAQ,EAAErrC,IAAI,KAAK;IAAA,IAAA0iD,kBAAA,EAAAC,qBAAA;IAE5C,MAAMC,mBAAmB,GACvB,CAAC,CAAA5iD,IAAI,aAAJA,IAAI,wBAAA0iD,kBAAA,GAAJ1iD,IAAI,CAAEohD,YAAY,cAAAsB,kBAAA,uBAAlBA,kBAAA,CAAoBz/C,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEohD,YAAY,QAC9C,CAAAvX,aAAa,aAAbA,aAAa,wBAAA8Y,qBAAA,GAAb9Y,aAAa,CAAEuX,YAAY,cAAAuB,qBAAA,uBAA3BA,qBAAA,CAA6B1/C,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEuX,YAAY,EAAC;IAEpE,IAAIwB,mBAAmB,EAAE;MACvB9Y,gBAAgB,CAAE75B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJjQ,IAAI,CACP,CAAC;;IAIL,MAAM6iD,WAAW,GAAG7iD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEohD,YAAY;IACtC,MAAM0B,aAAa,GAAG9iD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyhD,mBAAmB;IAC/C,MAAMsB,aAAa,GAAG/iD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0hD,UAAU;IACtC,MAAMsB,aAAa,GAAGhC,eAAe,KAAIhhD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+gD,aAAa;IAC5D,MAAMkC,YAAY,GAAGjjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4hD,SAAS;IACpC,MAAMsB,WAAW,GAAGljD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6hD,QAAQ;IAElC,IAAItV,KAAK,GAAG,IAAI;IAChB,IAAI,CAACsW,WAAW,EAAEtW,KAAK,GAAG,KAAK;IAC/B,IAAI,CAACuW,aAAa,EAAEvW,KAAK,GAAG,KAAK;IACjC,IAAI,CAACwW,aAAa,IAAIn/B,MAAM,CAACm/B,aAAa,CAAC,GAAG,CAAC,EAAExW,KAAK,GAAG,KAAK;IAC9D,IAAI,CAACyW,aAAa,EAAEzW,KAAK,GAAG,KAAK;IAEjC,IAAI,CAAAsW,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE5/C,IAAI,MAAK,OAAO,IAAI,CAACggD,YAAY,EAAE1W,KAAK,GAAG,KAAK;IACjE,IACE,CAAC,CAAAsW,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE5/C,IAAI,MAAK,UAAU,IAAI,CAAA4/C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE5/C,IAAI,MAAK,cAAc,KACzE,CAACigD,WAAW,EAEZ3W,KAAK,GAAG,KAAK;IAEf,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAMr8B,QAAQ,aAAUlQ,IAAI;IAAA,IAAK;MAAA,IAAAmjD,mBAAA,EAAAC,qBAAA;MAC/B,MAAMrW,UAAU,GAAG;QACjBpM,SAAS,EAAE3gC,IAAI,CAAC2gC,SAAS;QACzBygB,YAAY,EAAE,EAAA+B,mBAAA,GAAAnjD,IAAI,CAACohD,YAAY,cAAA+B,mBAAA,uBAAjBA,mBAAA,CAAmBlgD,IAAI,KAAIjD,IAAI,CAACohD,YAAY;QAC1DK,mBAAmB,EAAE,EAAA2B,qBAAA,GAAApjD,IAAI,CAACyhD,mBAAmB,cAAA2B,qBAAA,uBAAxBA,qBAAA,CAA0BngD,IAAI,KAAIjD,IAAI,CAACyhD,mBAAmB;QAC/EC,UAAU,EAAE1hD,IAAI,CAAC0hD,UAAU;QAC3BC,OAAO,EAAE3hD,IAAI,CAAC2hD,OAAO;QACrBC,SAAS,EAAE5hD,IAAI,CAAC4hD,SAAS;QACzBC,QAAQ,EAAE7hD,IAAI,CAAC6hD,QAAQ;QACvBC,aAAa,EAAE9hD,IAAI,CAAC8hD,aAAa;QACjCd,eAAe,EAAEA;OAClB;MAAC,MAAAxc,MAAA,GAAA5iC,MAAA,aAEE;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACIu6B,cAAc,CAAC6F,WAAW,CAAAt0B,QAAA;UAC9B0zB,WAAW,EAAE,EAAE;UACf8J,UAAU,EAAE,UAAU;UACtB7oC,GAAG,EAAEwjC;WACF+E,UAAU,CACd,CAAC,EAAA9qC,IAAA;UACF0wB,QAAQ,CAAC;YAAE9pB,IAAI,EAAE,SAAS;YAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,wCAAwC;WAAG,CAAC;UACnFguB,QAAQ,CAACmb,MAAM,CAAC9gC,GAAG,EAAEimC,UAAU,CAAC;;OACjC,cAAe;QACdpa,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,mCAAmC;SAAG,CAAC;OAC7E;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAygC,MAAA,IAAAA,MAAA,CAAAviC,IAAA,GAAAuiC,MAAA,CAAAviC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,IAAI/B,SAAS,EAAE;IACb,oBAAOgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGnB,MAAMmiC,MAAM,GAAGwT,kBAAkB,CAC/BriD,CAAC,EACDorC,aAAa,EACbwY,YAAY,EACZtB,aAAa,EACbC,eAAe,EACfC,gBAAgB,EAChBC,kBACF,CAAC;EAED,oBACEjgD,cAAA,CAAAC,aAAA,CAACgnB,cAAQ,qBACPjnB,cAAA,CAAAC,aAAA,CAACqsC,mCAAY;IACXzmC,GAAG,EAAEwhC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvB7nC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAE;IAC/BmpC,MAAM,EAAE0F,MAAM,CAACjuC,GAAG,CAAEiH,IAAI,IAAAuJ,QAAA,KACnBvJ,IAAI;MACPmnC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJx9B,QAAQ,EAAEA,QAAS;IACnBy5B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDlb,KAAK,iBACJzxB,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IACJxtB,KAAK,EAAEsrB,KAAK,CAAC7pB,IAAI,KAAK,OAAQ;IAC9BlI,KAAK,EAAE+xB,KAAK,CAACjI,OAAQ;IACrB9X,OAAO,EAAEA,MAAMggB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;AClQD,MAAM0wB,kBAAkB,GAAG,UAAC5kD,CAAC,EAAEynC,QAAQ,EAAOod,WAAW,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAEC,eAAe,EAAK;EAAA,IAAApd,SAAA,EAAAqd,qBAAA,EAAAnd,UAAA,EAAAC,UAAA,EAAAmd,qBAAA,EAAAjd,UAAA,EAAAE,UAAA,EAAAgd,qBAAA,EAAAC,UAAA;EAAA,IAAzF5d,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EAC1C,MAAM7E,WAAW,GAAG,EAAAiF,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAAqd,qBAAA,GAARrd,SAAA,CAAUjF,WAAW,cAAAsiB,qBAAA,uBAArBA,qBAAA,CAAuB1gD,IAAI,OAAAujC,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAUnF,WAAW;EACxE,MAAM0iB,gBAAgB,GAAG,EAAAtd,UAAA,GAAAP,QAAQ,cAAAO,UAAA,wBAAAmd,qBAAA,GAARnd,UAAA,CAAUsd,gBAAgB,cAAAH,qBAAA,uBAA1BA,qBAAA,CAA4B3gD,IAAI,OAAA0jC,UAAA,GAAIT,QAAQ,cAAAS,UAAA,uBAARA,UAAA,CAAUod,gBAAgB;EACvF,MAAMC,eAAe,GAAG,EAAAnd,UAAA,GAAAX,QAAQ,cAAAW,UAAA,wBAAAgd,qBAAA,GAARhd,UAAA,CAAUmd,eAAe,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA2B5gD,IAAI,OAAA6gD,UAAA,GAAI5d,QAAQ,cAAA4d,UAAA,uBAARA,UAAA,CAAUE,eAAe;EAEpF,MAAMC,QAAQ,GAAG5iB,WAAW,KAAK,uBAAuB;EAGxD,MAAM6iB,gBAAgB,GAAG,EAAE;EAC3B,KAAK,IAAInuB,CAAC,GAAG,IAAI,EAAEA,CAAC,IAAI,IAAI,EAAEA,CAAC,EAAE,EAAE;IACjC,KAAK,IAAIjD,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC5BoxB,gBAAgB,CAACxjD,IAAI,CAAC;QAAEuC,IAAI,EAAK6vB,CAAC,SAAIiD;OAAK,CAAC;;;EAIhD,MAAMouB,KAAK,GAAG,CAAC;IAAElhD,IAAI,EAAE;GAAO,EAAE;IAAEA,IAAI,EAAE;GAAM,CAAC;EAE/C,MAAMi2B,MAAM,GAAG,CACb;IACEv4B,KAAK,EAAElC,CAAC,CAAC,qBAAqB,CAAC;IAC/BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE,oBAAoB;MAC1BkkC,UAAU,EAAE;QAAEC,QAAQ,EAAE;;;GAE3B,EACD;IACEzmC,KAAK,EAAElC,CAAC,CAAC,SAAS,CAAC;IACnBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,QAAQ,CAAC;IAClBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,SAAS,CAAC;IACnBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,WAAW,CAAC;IACrBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,EACD;IACEtC,KAAK,EAAElC,CAAC,CAAC,QAAQ,CAAC;IAClBuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,MAAM;IACZo+B,UAAU,EAAE;MACVhkC,IAAI,EAAE;;GAET,CACF;EAGD,IAAI,CAACghD,QAAQ,EAAE;IACb/qB,MAAM,CAACx4B,IAAI,CACT;MACEC,KAAK,EAAElC,CAAC,CAAC,cAAc,CAAC;MACxBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE;;KAET,EACD;MACEtC,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAC;MAC3BuoC,WAAW,EAAE,KAAK;MAClBn+B,IAAI,EAAE,QAAQ;MACd/B,GAAG,EAAE,gBAAgB;MACrBmgC,UAAU,EAAE;QACVhkC,IAAI,EAAE,gBAAgB;QACtBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;UACPC,MAAM,EAAE,CAAC;YAAE9P,IAAI,EAAE;WAAW,EAAE;YAAEA,IAAI,EAAE;WAAe,CAAE;UACvD+P,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;UACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;SACf;;KAIT,CAAC;IAED,IAAIqxB,WAAW,KAAK,SAAS,EAAE;MAC7BnI,MAAM,CAACx4B,IAAI,CAAC;QACVC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;QACvBuoC,WAAW,EAAE,IAAI;QACjBn+B,IAAI,EAAE,QAAQ;QACd/B,GAAG,EAAE,YAAY;QACjBmgC,UAAU,EAAE;UACVhkC,IAAI,EAAE,YAAY;UAClBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAACmmC,iCAAU;YACTC,QAAQ,EAAGtlC,CAAC,IAAKshD,WAAW,CAACthD,CAAC,EAAEwJ,KAAK,CAACwE,QAAQ,CAAE;YAChDu3B,QAAQ,EAAEA,MAAM;cACd/7B,KAAK,CAACwE,QAAQ,CAAC,IAAI,CAAC;cACpByzC,aAAa,CAAC,IAAI,CAAC;cACnBC,eAAe,CAAC,IAAI,CAAC;aACrB;YACFj5B,OAAO,EAAE+4B,YAAY,GAAG/kD,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;WAC7D,CAAC,EACD8kD,UAAU,iBACTtiD,cAAA,CAAAC,aAAA;YAAK6J,KAAK,EAAE;cAAE0P,SAAS,EAAE;;0BACvBxZ,cAAA,CAAAC,aAAA;YACE2kC,GAAG,EAAE0d,UAAW;YAChBzd,GAAG,EAAC,SAAS;YACb/6B,KAAK,EAAE;cAAEm6B,QAAQ,EAAE,MAAM;cAAEU,SAAS,EAAE,OAAO;cAAE2b,SAAS,EAAE;;WAC3D,CACE,CAEJ;;OAGV,CAAC;;;EAKNroB,MAAM,CAACx4B,IAAI,CACT;IACEC,KAAK,EAAElC,CAAC,CAAC,cAAc,CAAC;IACxBuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,aAAa;IAClBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,aAAa;MACnBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAW,EAAE;UAAEA,IAAI,EAAE;SAAa,EAAE;UAAEA,IAAI,EAAE;SAAyB,CAAE;QACxF+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,gBAAgB,CAAC;IAC1BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,eAAe;IACpBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,eAAe;MACrBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAE9P,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAW,CAAE;QAClD+P,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;IAC9BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,kBAAkB;IACvBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,kBAAkB;MACxBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAEoxC,KAAM;QACdnxC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAIT,CAAC;EAGD,IAAI+zC,gBAAgB,KAAK,KAAK,EAAE;IAC9B7qB,MAAM,CAACx4B,IAAI,CAAC;MACVC,KAAK,EAAElC,CAAC,CAAC,iCAAiC,CAAC;MAC3CuoC,WAAW,EAAE,IAAI;MACjBn+B,IAAI,EAAE,QAAQ;MACd/B,GAAG,EAAE,eAAe;MACpBmgC,UAAU,EAAE;QACVhkC,IAAI,EAAE,eAAe;QACrBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;UACPC,MAAM,EAAEmxC,gBAAiB;UACzBlxC,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;UACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;SACf;;KAGN,CAAC;GACH,MAAM,IAAI+zC,gBAAgB,KAAK,IAAI,EAAE;IACpC7qB,MAAM,CAACx4B,IAAI,CAAC;MACVC,KAAK,EAAElC,CAAC,CAAC,UAAU,CAAC;MACpBuoC,WAAW,EAAE,IAAI;MACjBn+B,IAAI,EAAE,MAAM;MACZo+B,UAAU,EAAE;QACVhkC,IAAI,EAAE,QAAQ;QACdkkC,UAAU,EAAE;UAAEC,QAAQ,EAAE;;;KAE3B,CAAC;;EAGJlO,MAAM,CAACx4B,IAAI,CACT;IACEC,KAAK,EAAElC,CAAC,CAAC,iBAAiB,CAAC;IAC3BuoC,WAAW,EAAE,KAAK;IAClBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,eAAe;IACpBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,eAAe;MACrBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAEoxC,KAAM;QACdnxC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAGN,EACD;IACErP,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC;IAC5BuoC,WAAW,EAAE,IAAI;IACjBn+B,IAAI,EAAE,QAAQ;IACd/B,GAAG,EAAE,iBAAiB;IACtBmgC,UAAU,EAAE;MACVhkC,IAAI,EAAE,iBAAiB;MACvBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;QACPC,MAAM,EAAEoxC,KAAM;QACdnxC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;QACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;OACf;;GAIT,CAAC;EAED,IAAIg0C,eAAe,KAAK,IAAI,EAAE;IAC5B9qB,MAAM,CAACx4B,IAAI,CAAC;MACVC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBuoC,WAAW,EAAE,IAAI;MACjBn+B,IAAI,EAAE,QAAQ;MACd/B,GAAG,EAAE,YAAY;MACjBmgC,UAAU,EAAE;QACVhkC,IAAI,EAAE,YAAY;QAClBikC,SAAS,EAAG17B,KAAK,iBACfvK,cAAA,CAAAC,aAAA,CAAC4R,+BAAQ;UACPC,MAAM,EAAEoxC,KAAM;UACdnxC,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAE1H,KAAK,CAAC3B,KAAM;UACtBoJ,MAAM,EAAEzH,KAAK,CAACwE;SACf;;KAGN,CAAC;;EAGJ,OAAO,CACL;IACE03B,IAAI,EAAEjpC,CAAC,CAAC,oBAAoB,CAAC;IAC7BoD,IAAI,EAAEq3B;GACP,CACF;AACH,CAAC;;AChSD,MAAMkrB,YAAY,GAAG3hD,IAAA,IAAoC;EAAA,IAAjCmlC,MAAM,GAAAnlC,IAAA,CAANmlC,MAAM;IAAEnb,QAAQ,GAAAhqB,IAAA,CAARgqB,QAAQ;IAAEyZ,QAAQ,GAAAzjC,IAAA,CAARyjC,QAAQ;EAChD,MAAA3nC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAM6d,SAAS,GAAGp4B,QAAQ,CAAC+vB,KAAK,IAAI,EAAE;EACtC,MAAM1xB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAM4uB,WAAW,GAAG,IAAIoa,eAAe,CAACxnC,QAAQ,CAACynC,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGta,WAAW,CAACzuB,GAAG,CAAC,KAAK,CAAC;EACrC,MAAMgpC,SAAS,GACbD,MAAM,KACNtP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEzrB,OAAO,MAClByrB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEj0B,GAAG,MACd0hC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEl5B,OAAO,MACjBk5B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE1hC,GAAG,KACb+xB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;EAEzC,MAAAh3B,qBAAA,GAAwCb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAC1E;MAAEtvB,QAAQ;MAAEkhB,OAAO,EAAE;QAAEpb,GAAG,EAAEwjC,SAAS;QAAEvJ,SAAS,EAAE;;KAAW,EAC7D;MAAE3+B,OAAO,EAAE,CAAC,CAACkoC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHOhoC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQiuB,UAAU,GAAA1uB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAMs+B,cAAc,GAAG3/B,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC6+B,aAAa,CAAC7/B,QAAQ,CAAC;EAE/D,MAAMwpC,SAAS,GAAG,CAAAhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhI,YAAY,KAAI,EAAE;EAG9C,MAAAv7B,SAAA,GAAoCC,cAAQ,CAAC,IAAI,CAAC;IAA3C2gD,UAAU,GAAA5gD,SAAA;IAAE8gD,aAAa,GAAA9gD,SAAA;EAChC,MAAAoY,UAAA,GAAwCnY,cAAQ,CAACslC,SAAS,CAACsb,YAAY,IAAI,IAAI,CAAC;IAAzEA,YAAY,GAAAzoC,UAAA;IAAE2oC,eAAe,GAAA3oC,UAAA;EACpC,MAAAgL,UAAA,GAA0BnjB,cAAQ,CAAC,IAAI,CAAC;IAAjC8vB,KAAK,GAAA3M,UAAA;IAAE4M,QAAQ,GAAA5M,UAAA;EACtB,MAAAW,UAAA,GAAwC9jB,cAAQ,CAAC,KAAK,CAAC;IAAhD0lC,YAAY,GAAA5hB,UAAA;IAAE6hB,eAAe,GAAA7hB,UAAA;EACpC,MAAAG,UAAA,GAAkCjkB,cAAQ,CAAC,KAAK,CAAC;IAA1C4lC,SAAS,GAAA3hB,UAAA;IAAE4hB,YAAY,GAAA5hB,UAAA;EAE9B,MAAAG,UAAA,GAA0CpkB,cAAQ,CAAC,OAAO;MACxD48B,kBAAkB,EAAE0I,SAAS,CAAC1I,kBAAkB,IAAI,EAAE;MACtD6kB,MAAM,EAAEnc,SAAS,CAACmc,MAAM,IAAI,EAAE;MAC9Bn2C,MAAM,EAAEg6B,SAAS,CAACh6B,MAAM,IAAI,EAAE;MAC9Bo2C,MAAM,EAAEpc,SAAS,CAACoc,MAAM,IAAI,EAAE;MAC9BC,QAAQ,EAAErc,SAAS,CAACqc,QAAQ,IAAI,EAAE;MAClCC,KAAK,EAAEtc,SAAS,CAACsc,KAAK,IAAI,EAAE;MAC5B7uB,WAAW,EAAEuS,SAAS,CAACvS,WAAW,IAAI,EAAE;MACxC8uB,UAAU,EAAEvc,SAAS,CAACuc,UAAU,IAAI,EAAE;MACtCpjB,WAAW,EAAE6G,SAAS,CAAC7G,WAAW,GAAG;QAAEp+B,IAAI,EAAEilC,SAAS,CAAC7G;OAAa,GAAG,IAAI;MAC3EqjB,cAAc,EAAExc,SAAS,CAACwc,cAAc,GAAG;QAAEzhD,IAAI,EAAEilC,SAAS,CAACwc;OAAgB,GAAG,IAAI;MACpF/hB,aAAa,EAAEuF,SAAS,CAACvF,aAAa,GAAG;QAAE1/B,IAAI,EAAEilC,SAAS,CAACvF;OAAe,GAAG,IAAI;MACjFohB,gBAAgB,EAAE7b,SAAS,CAAC6b,gBAAgB,GAAG;QAAE9gD,IAAI,EAAEilC,SAAS,CAAC6b;OAAkB,GAAG,IAAI;MAC1FY,aAAa,EAAEzc,SAAS,CAACyc,aAAa,GAAG;QAAE1hD,IAAI,EAAEilC,SAAS,CAACyc;OAAe,GAAG,IAAI;MACjFjL,MAAM,EAAExR,SAAS,CAACwR,MAAM,IAAI,EAAE;MAC9BkL,aAAa,EAAE1c,SAAS,CAAC0c,aAAa,GAAG;QAAE3hD,IAAI,EAAEilC,SAAS,CAAC0c;OAAe,GAAG,IAAI;MACjFZ,eAAe,EAAE9b,SAAS,CAAC8b,eAAe,GAAG;QAAE/gD,IAAI,EAAEilC,SAAS,CAAC8b;OAAiB,GAAG,IAAI;MACvFa,UAAU,EAAE3c,SAAS,CAAC2c,UAAU,GAAG;QAAE5hD,IAAI,EAAEilC,SAAS,CAAC2c;OAAY,GAAG,IAAI;MACxEtB,UAAU,EAAErb,SAAS,CAACsb,YAAY,GAAG,UAAU,GAAG;KACnD,CAAC,CAAC;IAnBI7Z,aAAa,GAAA3iB,UAAA;IAAE4iB,gBAAgB,GAAA5iB,UAAA;EAqBtC,MAAAG,UAAA,GAA0CvkB,cAAQ,CAAC+mC,aAAa,CAAC;IAA1DE,aAAa,GAAA1iB,UAAA;IAAE2iB,gBAAgB,GAAA3iB,UAAA;EAEtC,MAAM4iB,sBAAsB,GAAI7b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMyK,aAAa,GACjB,CAAAzK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0K,qBAAqB,MAAI1K,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2K,iBAAiB,KAAI3K,UAAU;IAClF,MAAM4K,eAAe,GAAG,CAAC35B,KAAK,CAACC,OAAO,CAACu5B,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAEDvwB,eAAS,CAAC,MAAM;IACd,MAAMyhC,OAAO,GAAGD,sBAAsB,CAAC7b,UAAU,CAAC;IAClD,MAAMwK,OAAO,GAAGsR,OAAO,KAAI9D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB;IACtD,MAAM8Q,QAAQ,GAAG,CAAA3G,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwF,YAAY,KAAIxF,OAAO,IAAI,EAAE;IAEvD,IAAI2G,QAAQ,IAAI14B,MAAM,CAACC,IAAI,CAACy4B,QAAQ,CAAC,CAACv+B,MAAM,GAAG,CAAC,IAAI,CAACwnC,YAAY,EAAE;MACjE,IAAIwc,OAAO,GAAG,IAAI;MAClB,IAAIC,UAAU,GAAG,IAAI;MACrB,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIC,OAAO,GAAG,IAAI;MAClB,IAAIC,SAAS,GAAG,IAAI;MACpB,IAAIC,UAAU,GAAG,IAAI;MACrB,IAAIC,SAAS,GAAG,IAAI;MACpB,IAAIC,OAAO,GAAG,IAAI;MAElB,IAAIhmB,QAAQ,CAACgC,WAAW,EAAE;QACxB,MAAMikB,cAAc,GAAG,CACrB;UAAEriD,IAAI,EAAE;SAAW,EACnB;UAAEA,IAAI,EAAE;SAAa,EACrB;UAAEA,IAAI,EAAE;SAAyB,CAClC,CAACob,IAAI,CAAEknC,CAAC,IAAKA,CAAC,CAACtiD,IAAI,CAAC+C,WAAW,EAAE,KAAKq5B,QAAQ,CAACgC,WAAW,CAACr7B,WAAW,EAAE,CAAC;QAC1E,IAAIs/C,cAAc,EAAER,OAAO,GAAGQ,cAAc,CAAC,KACxCR,OAAO,GAAG;UAAE7hD,IAAI,EAAEo8B,QAAQ,CAACgC;SAAa;OAC9C,MAAM,IAAIhC,QAAQ,CAAC+B,OAAO,KAAKzhB,SAAS,EAAE;QACzCmlC,OAAO,GAAG;UAAE7hD,IAAI,EAAEo8B,QAAQ,CAAC+B,OAAO,GAAG,SAAS,GAAG;SAAa;;MAGhE,IAAI/B,QAAQ,CAACqlB,cAAc,EAAE;QAC3B,MAAMc,YAAY,GAAG,CAAC;UAAEviD,IAAI,EAAE;SAAW,EAAE;UAAEA,IAAI,EAAE;SAAe,CAAC,CAACob,IAAI,CACrEknC,CAAC,IAAKA,CAAC,CAACtiD,IAAI,CAAC+C,WAAW,EAAE,KAAKq5B,QAAQ,CAACqlB,cAAc,CAAC1+C,WAAW,EACrE,CAAC;QACD,IAAIw/C,YAAY,EAAET,UAAU,GAAGS,YAAY,CAAC,KACvCT,UAAU,GAAG;UAAE9hD,IAAI,EAAEo8B,QAAQ,CAACqlB;SAAgB;;MAGrD,IAAIrlB,QAAQ,CAACsD,aAAa,EAAE;QAC1B,MAAM8iB,WAAW,GAAG,CAAC;UAAExiD,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAW,CAAC,CAACob,IAAI,CAC/DknC,CAAC,IACAA,CAAC,CAACtiD,IAAI,CAAC+C,WAAW,EAAE,KAAKq5B,QAAQ,CAACsD,aAAa,CAAC38B,WAAW,EAAE,IAC7Dq5B,QAAQ,CAACsD,aAAa,CAAC38B,WAAW,EAAE,CAACzF,QAAQ,CAACglD,CAAC,CAACtiD,IAAI,CAAC+C,WAAW,EAAE,CACtE,CAAC;QACD,IAAIy/C,WAAW,EAAET,IAAI,GAAGS,WAAW,CAAC,KAC/BT,IAAI,GAAG;UAAE/hD,IAAI,EAAEo8B,QAAQ,CAACsD;SAAe;;MAG9C,IAAItD,QAAQ,CAACsC,cAAc,KAAKhiB,SAAS,IAAI0f,QAAQ,CAACsC,cAAc,KAAK,IAAI,EAAE;QAC7E,MAAM+jB,MAAM,GAAG7/C,MAAM,CAACw5B,QAAQ,CAACsC,cAAc,CAAC,CAAC37B,WAAW,EAAE;QAC5D,IAAI0/C,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAET,OAAO,GAAG;UAAEhiD,IAAI,EAAE;SAAO,CAAC,KAChEgiD,OAAO,GAAG;UAAEhiD,IAAI,EAAE;SAAM;;MAG/B,IAAIo8B,QAAQ,CAACsmB,oBAAoB,EAAE;QACjC,MAAMC,SAAS,GAAGvmB,QAAQ,CAACsmB,oBAAoB,CAAC1/C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QACjE,MAAM4/C,WAAW,GAAGD,SAAS,CAAC9/C,KAAK,CAAC,GAAG,CAAC;QACxC,IAAI+/C,WAAW,CAAC/kD,MAAM,KAAK,CAAC,EAAE;UAC5B,MAAMglD,GAAG,GAAGx7B,QAAQ,CAACu7B,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACxC,MAAME,EAAE,GAAGz7B,QAAQ,CAACu7B,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACvCX,SAAS,GAAG;YAAEjiD,IAAI,EAAK6iD,GAAG,SAAIC;WAAM;SACrC,MAAM;UACLb,SAAS,GAAG;YAAEjiD,IAAI,EAAEo8B,QAAQ,CAACsmB;WAAsB;;;MAIvD,IAAItmB,QAAQ,CAACulB,aAAa,KAAKjlC,SAAS,IAAI0f,QAAQ,CAACulB,aAAa,KAAK,IAAI,EAAE;QAC3E,MAAMc,MAAM,GAAG7/C,MAAM,CAACw5B,QAAQ,CAACulB,aAAa,CAAC,CAAC5+C,WAAW,EAAE;QAC3D,IAAI0/C,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEP,UAAU,GAAG;UAAEliD,IAAI,EAAE;SAAO,CAAC,KACnEkiD,UAAU,GAAG;UAAEliD,IAAI,EAAE;SAAM;;MAGlC,IAAIo8B,QAAQ,CAAC2kB,eAAe,KAAKrkC,SAAS,IAAI0f,QAAQ,CAAC2kB,eAAe,KAAK,IAAI,EAAE;QAC/E,MAAM0B,MAAM,GAAG7/C,MAAM,CAACw5B,QAAQ,CAAC2kB,eAAe,CAAC,CAACh+C,WAAW,EAAE;QAC7D,IAAI0/C,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEN,SAAS,GAAG;UAAEniD,IAAI,EAAE;SAAO,CAAC,KAClEmiD,SAAS,GAAG;UAAEniD,IAAI,EAAE;SAAM;;MAGjC,IAAIo8B,QAAQ,CAACwlB,UAAU,KAAKllC,SAAS,IAAI0f,QAAQ,CAACwlB,UAAU,KAAK,IAAI,EAAE;QACrE,MAAMa,MAAM,GAAG7/C,MAAM,CAACw5B,QAAQ,CAACwlB,UAAU,CAAC,CAAC7+C,WAAW,EAAE;QACxD,IAAI0/C,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEL,OAAO,GAAG;UAAEpiD,IAAI,EAAE;SAAO,CAAC,KAChEoiD,OAAO,GAAG;UAAEpiD,IAAI,EAAE;SAAM;;MAG/B,MAAMunC,eAAe,GAAG;QACtBhL,kBAAkB,EAAE0I,SAAS,CAAC1I,kBAAkB,IAAIH,QAAQ,CAACG,kBAAkB,IAAI,EAAE;QACrF6kB,MAAM,EAAEnc,SAAS,CAACmc,MAAM,IAAIhlB,QAAQ,CAACglB,MAAM,IAAI,EAAE;QACjDn2C,MAAM,EAAEg6B,SAAS,CAACh6B,MAAM,IAAImxB,QAAQ,CAAC5J,UAAU,IAAI,EAAE;QACrD6uB,MAAM,EAAEpc,SAAS,CAACoc,MAAM,KAAKjlB,QAAQ,CAAC2mB,MAAM,GAAGngD,MAAM,CAACw5B,QAAQ,CAAC2mB,MAAM,CAAC,GAAG,EAAE,CAAC;QAC5EzB,QAAQ,EAAErc,SAAS,CAACqc,QAAQ,KAAKllB,QAAQ,CAAC4mB,QAAQ,GAAGpgD,MAAM,CAACw5B,QAAQ,CAAC4mB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpFzB,KAAK,EAAEtc,SAAS,CAACsc,KAAK,KAAKnlB,QAAQ,CAAC/5B,KAAK,GAAGO,MAAM,CAACw5B,QAAQ,CAAC/5B,KAAK,CAAC,GAAG,EAAE,CAAC;QACxEqwB,WAAW,EAAEuS,SAAS,CAACvS,WAAW,IAAI0J,QAAQ,CAAC1J,WAAW,IAAI,EAAE;QAChE8uB,UAAU,EAAEvc,SAAS,CAACuc,UAAU,IAAIplB,QAAQ,CAACiC,SAAS,IAAI,EAAE;QAC5DD,WAAW,EAAE6G,SAAS,CAAC7G,WAAW,GAAG;UAAEp+B,IAAI,EAAEilC,SAAS,CAAC7G;SAAa,GAAGyjB,OAAO;QAC9EJ,cAAc,EAAExc,SAAS,CAACwc,cAAc,GAAG;UAAEzhD,IAAI,EAAEilC,SAAS,CAACwc;SAAgB,GAAGK,UAAU;QAC1FpiB,aAAa,EAAEuF,SAAS,CAACvF,aAAa,GAAG;UAAE1/B,IAAI,EAAEilC,SAAS,CAACvF;SAAe,GAAGqiB,IAAI;QACjFjB,gBAAgB,EAAE7b,SAAS,CAAC6b,gBAAgB,GAAG;UAAE9gD,IAAI,EAAEilC,SAAS,CAAC6b;SAAkB,GAAGkB,OAAO;QAC7FN,aAAa,EAAEzc,SAAS,CAACyc,aAAa,GAAG;UAAE1hD,IAAI,EAAEilC,SAAS,CAACyc;SAAe,GAAGO,SAAS;QACtFxL,MAAM,EAAExR,SAAS,CAACwR,MAAM,IAAIra,QAAQ,CAAC6mB,uBAAuB,IAAI,EAAE;QAClEtB,aAAa,EAAE1c,SAAS,CAAC0c,aAAa,GAAG;UAAE3hD,IAAI,EAAEilC,SAAS,CAAC0c;SAAe,GAAGO,UAAU;QACvFnB,eAAe,EAAE9b,SAAS,CAAC8b,eAAe,GAAG;UAAE/gD,IAAI,EAAEilC,SAAS,CAAC8b;SAAiB,GAAGoB,SAAS;QAC5FP,UAAU,EAAE3c,SAAS,CAAC2c,UAAU,GAAG;UAAE5hD,IAAI,EAAEilC,SAAS,CAAC2c;SAAY,GAAGQ,OAAO;QAC3E9B,UAAU,EAAErb,SAAS,CAACsb,YAAY,IAAInkB,QAAQ,CAACwC,qBAAqB,IAAI;OACzE;MAED+H,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAAC+Y,UAAU,EAAE;QAC9BG,eAAe,CAAClZ,eAAe,CAAC+Y,UAAU,CAAC;;MAE7Chb,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACra,UAAU,EAAEgY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3X,iBAAiB,EAAE+Z,YAAY,CAAC,CAAC;EAG3D,MAAM+Z,YAAY,aAAUrgD,CAAC,EAAEgO,QAAQ;IAAA,IAAK;MAC1C,MAAM26B,IAAI,GAAG3oC,CAAC,CAAC4O,MAAM,CAACg6B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAA7mC,OAAA,CAAAC,OAAA;MAEX,IAAI4mC,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBlY,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAqF,OAAA,CAAAC,OAAA;;MACD,MAAAmgC,KAAA,GAAAtiC,MAAA,aAEG;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACgBpF,KAAK,CAACmsC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAEjsC,QAAQ,CAAC,EAAAuD,IAAA,WAApE+oC,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMtG,WAAW,GAAGmG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAEhrC,IAAI,cAAAirC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBtG,WAAW;UAAC,IAEnDA,WAAW;YACb70B,QAAQ,CAAC26B,IAAI,CAAC1nC,IAAI,CAAC;YACnBygD,eAAe,CAAC7e,WAAW,CAAC;YAE5B,MAAMyd,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAACE,SAAS,GAAG,MAAMiB,aAAa,CAACnB,MAAM,CAACvgD,MAAM,CAAC;YACrDugD,MAAM,CAACG,aAAa,CAAC9X,IAAI,CAAC;YAE1BhY,QAAQ,CAAC;cAAE9pB,IAAI,EAAE,SAAS;cAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACNk0B,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAmgC,KAAA,IAAAA,KAAA,CAAAjiC,IAAA,GAAAiiC,KAAA,CAAAjiC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,MAAMopC,iBAAiB,GAAGA,CAACC,QAAQ,EAAErrC,IAAI,KAAK;IAAA,IAAAmmD,iBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAC5C,MAAMC,kBAAkB,GACtB,CAAC,CAAAzmD,IAAI,aAAJA,IAAI,wBAAAmmD,iBAAA,GAAJnmD,IAAI,CAAEqhC,WAAW,cAAA8kB,iBAAA,uBAAjBA,iBAAA,CAAmBljD,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqhC,WAAW,QAC5C,CAAAwI,aAAa,aAAbA,aAAa,wBAAAuc,qBAAA,GAAbvc,aAAa,CAAExI,WAAW,cAAA+kB,qBAAA,uBAA1BA,qBAAA,CAA4BnjD,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExI,WAAW,EAAC;IAElE,MAAMqlB,uBAAuB,GAC3B,CAAC,CAAA1mD,IAAI,aAAJA,IAAI,wBAAAqmD,qBAAA,GAAJrmD,IAAI,CAAE+jD,gBAAgB,cAAAsC,qBAAA,uBAAtBA,qBAAA,CAAwBpjD,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+jD,gBAAgB,QACtD,CAAAla,aAAa,aAAbA,aAAa,wBAAAyc,qBAAA,GAAbzc,aAAa,CAAEka,gBAAgB,cAAAuC,qBAAA,uBAA/BA,qBAAA,CAAiCrjD,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEka,gBAAgB,EAAC;IAE5E,MAAM4C,sBAAsB,GAC1B,CAAC,CAAA3mD,IAAI,aAAJA,IAAI,wBAAAumD,qBAAA,GAAJvmD,IAAI,CAAEgkD,eAAe,cAAAuC,qBAAA,uBAArBA,qBAAA,CAAuBtjD,IAAI,MAAIjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgkD,eAAe,QACpD,CAAAna,aAAa,aAAbA,aAAa,wBAAA2c,qBAAA,GAAb3c,aAAa,CAAEma,eAAe,cAAAwC,qBAAA,uBAA9BA,qBAAA,CAAgCvjD,IAAI,MAAI4mC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEma,eAAe,EAAC;IAE1E,IAAIyC,kBAAkB,IAAIC,uBAAuB,IAAIC,sBAAsB,EAAE;MAC3E7c,gBAAgB,CAAE75B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJjQ,IAAI,CACP,CAAC;;IAIL,MAAM4mD,UAAU,GAAG5mD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEw/B,kBAAkB;IAC3C,MAAMqnB,UAAU,GAAG7mD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqhC,WAAW;IACpC,MAAMylB,OAAO,GAAG9mD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2iC,aAAa;IACnC,MAAMokB,UAAU,GAAG/mD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+jD,gBAAgB;IACzC,MAAMiD,YAAY,GAAGhnD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgkD,eAAe;IAC1C,MAAMiD,QAAQ,GAAGzD,YAAY,KAAIxjD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEujD,UAAU;IACjD,MAAM2D,SAAS,GAAGlnD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE05C,MAAM;IAC9B,MAAMyN,YAAY,GAAGnnD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2kD,aAAa;IACxC,MAAMyC,UAAU,GAAGpnD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6kD,UAAU;IAEnC,IAAItY,KAAK,GAAG,IAAI;IAChB,IAAI,CAACqa,UAAU,EAAEra,KAAK,GAAG,KAAK;IAC9B,IAAI,CAACsa,UAAU,EAAEta,KAAK,GAAG,KAAK;IAC9B,IAAI,CAACua,OAAO,EAAEva,KAAK,GAAG,KAAK;IAC3B,IAAI,CAACwa,UAAU,EAAExa,KAAK,GAAG,KAAK;IAC9B,IAAI,CAACya,YAAY,EAAEza,KAAK,GAAG,KAAK;IAEhC,IAAI,CAAAsa,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5jD,IAAI,MAAK,SAAS,IAAI,CAACgkD,QAAQ,EAAE1a,KAAK,GAAG,KAAK;IAC9D,IAAI,CAAAwa,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE9jD,IAAI,MAAK,IAAI,IAAI,CAACikD,SAAS,EAAE3a,KAAK,GAAG,KAAK;IAC1D,IAAI,CAAAwa,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE9jD,IAAI,MAAK,KAAK,IAAI,CAACkkD,YAAY,EAAE5a,KAAK,GAAG,KAAK;IAC9D,IAAI,CAAAya,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE/jD,IAAI,MAAK,IAAI,IAAI,CAACmkD,UAAU,EAAE7a,KAAK,GAAG,KAAK;IAE7D,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAMr8B,QAAQ,aAAUlQ,IAAI;IAAA,IAAK;MAAA,IAAAqnD,kBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,gBAAA;MAC/B,MAAM7a,UAAU,GAAG;QACjBvN,kBAAkB,EAAEx/B,IAAI,CAACw/B,kBAAkB;QAC3C6kB,MAAM,EAAErkD,IAAI,CAACqkD,MAAM;QACnBn2C,MAAM,EAAElO,IAAI,CAACkO,MAAM;QACnBo2C,MAAM,EAAEtkD,IAAI,CAACskD,MAAM;QACnBC,QAAQ,EAAEvkD,IAAI,CAACukD,QAAQ;QACvBC,KAAK,EAAExkD,IAAI,CAACwkD,KAAK;QACjB7uB,WAAW,EAAE31B,IAAI,CAAC21B,WAAW;QAC7B8uB,UAAU,EAAEzkD,IAAI,CAACykD,UAAU;QAC3BpjB,WAAW,EAAE,EAAAgmB,kBAAA,GAAArnD,IAAI,CAACqhC,WAAW,cAAAgmB,kBAAA,uBAAhBA,kBAAA,CAAkBpkD,IAAI,KAAIjD,IAAI,CAACqhC,WAAW;QACvDqjB,cAAc,EAAE,EAAA4C,oBAAA,GAAAtnD,IAAI,CAAC0kD,cAAc,cAAA4C,oBAAA,uBAAnBA,oBAAA,CAAqBrkD,IAAI,KAAIjD,IAAI,CAAC0kD,cAAc;QAChE/hB,aAAa,EAAE,EAAA4kB,mBAAA,GAAAvnD,IAAI,CAAC2iC,aAAa,cAAA4kB,mBAAA,uBAAlBA,mBAAA,CAAoBtkD,IAAI,KAAIjD,IAAI,CAAC2iC,aAAa;QAC7DohB,gBAAgB,EAAE,EAAAyD,sBAAA,GAAAxnD,IAAI,CAAC+jD,gBAAgB,cAAAyD,sBAAA,uBAArBA,sBAAA,CAAuBvkD,IAAI,KAAIjD,IAAI,CAAC+jD,gBAAgB;QACtEY,aAAa,EAAE,EAAA8C,mBAAA,GAAAznD,IAAI,CAAC2kD,aAAa,cAAA8C,mBAAA,uBAAlBA,mBAAA,CAAoBxkD,IAAI,KAAIjD,IAAI,CAAC2kD,aAAa;QAC7DjL,MAAM,EAAE15C,IAAI,CAAC05C,MAAM;QACnBkL,aAAa,EAAE,EAAA8C,mBAAA,GAAA1nD,IAAI,CAAC4kD,aAAa,cAAA8C,mBAAA,uBAAlBA,mBAAA,CAAoBzkD,IAAI,KAAIjD,IAAI,CAAC4kD,aAAa;QAC7DZ,eAAe,EAAE,EAAA2D,sBAAA,GAAA3nD,IAAI,CAACgkD,eAAe,cAAA2D,sBAAA,uBAApBA,sBAAA,CAAsB1kD,IAAI,KAAIjD,IAAI,CAACgkD,eAAe;QACnEa,UAAU,EAAE,EAAA+C,gBAAA,GAAA5nD,IAAI,CAAC6kD,UAAU,cAAA+C,gBAAA,uBAAfA,gBAAA,CAAiB3kD,IAAI,KAAIjD,IAAI,CAAC6kD,UAAU;QACpDrB,YAAY,EAAEA;OACf;MAAC,MAAAhf,MAAA,GAAA5iC,MAAA,aAEE;QAAA,OAAAkC,OAAA,CAAAC,OAAA,CACIu6B,cAAc,CAAC6F,WAAW,CAAAt0B,QAAA;UAC9B0zB,WAAW,EAAE,EAAE;UACf8J,UAAU,EAAE,OAAO;UACnB7oC,GAAG,EAAEwjC;WACF+E,UAAU,CACd,CAAC,EAAA9qC,IAAA;UACF0wB,QAAQ,CAAC;YAAE9pB,IAAI,EAAE,SAAS;YAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,qCAAqC;WAAG,CAAC;UAChFguB,QAAQ,CAACmb,MAAM,CAAC9gC,GAAG,EAAEimC,UAAU,CAAC;;OACjC,cAAe;QACdpa,QAAQ,CAAC;UAAE9pB,IAAI,EAAE,OAAO;UAAE4hB,OAAO,EAAEhsB,CAAC,CAAC,gCAAgC;SAAG,CAAC;OAC1E;MAAA,OAAAqF,OAAA,CAAAC,OAAA,CAAAygC,MAAA,IAAAA,MAAA,CAAAviC,IAAA,GAAAuiC,MAAA,CAAAviC,IAAA;KACF,QAAAD,CAAA;MAAA,OAAA8B,OAAA,CAAA0D,MAAA,CAAAxF,CAAA;;;EAED,IAAI/B,SAAS,EAAE;IACb,oBAAOgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC;;EAGnB,MAAMmiC,MAAM,GAAG+V,kBAAkB,CAC/B5kD,CAAC,EACDorC,aAAa,EACbwY,YAAY,EACZkB,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,eACF,CAAC;EAED,oBACEziD,cAAA,CAAAC,aAAA,CAACgnB,cAAQ,qBACPjnB,cAAA,CAAAC,aAAA,CAACqsC,mCAAY;IACXzmC,GAAG,EAAEwhC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvB7nC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAE;IAC/BmpC,MAAM,EAAE0F,MAAM,CAACjuC,GAAG,CAAEiH,IAAI,IAAAuJ,QAAA,KACnBvJ,IAAI;MACPmnC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJx9B,QAAQ,EAAEA,QAAS;IACnBy5B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDlb,KAAK,iBACJzxB,cAAA,CAAAC,aAAA,CAAC0zB,4BAAK;IACJxtB,KAAK,EAAEsrB,KAAK,CAAC7pB,IAAI,KAAK,OAAQ;IAC9BlI,KAAK,EAAE+xB,KAAK,CAACjI,OAAQ;IACrB9X,OAAO,EAAEA,MAAMggB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;ACpUD,MAAM5F,OAAK,GAAGtqB,IAAA,IAAqB;EAAA,IAAA2nB,qBAAA,EAAAG,qBAAA,EAAAyC,sBAAA,EAAAC,sBAAA,EAAA8jB,qBAAA;EAAA,IAAlB9kC,WAAW,GAAAxJ,IAAA,CAAXwJ,WAAW;EAC1B,MAAMvN,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAMwB,QAAQ,GAAGua,0BAAW,EAAE;EAE9B,MAAMsS,aAAa,GAAG;IACpBC,UAAU,EAAE,EAAE;IACd3C,UAAU,EAAE,EAAE;IACdd,SAAS,EAAE;MACT7pB,KAAK,EAAE,EAAE;MACTD,MAAM,EAAE,CAAC;MACTwtB,MAAM,EAAE,aAAa;MACrBC,SAAS,EAAE;;GAEd;EAED,MAAAC,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DjE,SAAS,GAAAqE,WAAA;IAAEnE,QAAQ,GAAAmE,WAAA;EAE1B,MAAMG,WAAW,GAAGnqB,aAAO,CAAC,MAAM;IAAA,IAAAwlB,oBAAA,EAAAC,qBAAA;IAChC,OAAO;MACLrqB,QAAQ;MACRkB,MAAM,EAAE,CAAAqpB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBlpB,MAAM,KAAI,CAAC;MACzCC,KAAK,EAAE,CAAAopB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBlpB,KAAK,KAAI,EAAE;MACxCioC,MAAM,EAAE,CAAA7e,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,KAAI;KAClC;GACF,EAAE,CAAC9rB,QAAQ,EAAEuqB,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsBxqB,MAAM,EAAEqpB,SAAS,aAATA,SAAS,wBAAAsB,qBAAA,GAATtB,SAAS,CAAES,SAAS,cAAAa,qBAAA,uBAApBA,qBAAA,CAAsB1qB,KAAK,EAAEopB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,CAAC,CAAC;EAEhG,MAAMrP,OAAO,GAAG7X,aAAO,CAAC,MAAM;IAC5B,MAAMknB,UAAU,GAAG,CAAAvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,KAAI,EAAE;IAC9C,OAAA3a,QAAA,KACK2a,UAAU,EACTA,UAAU,CAACxd,OAAO,IAAI;MAAExI,GAAG,EAAEgmB,UAAU,CAACxd;KAAS;GAExD,EAAE,CAACic,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU,CAAC,CAAC;EAE3B,MAAAhrB,qBAAA,GAAgDb,KAAK,CAACc,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAACwb,OAAO,EAAEsS,WAAW,EAAE;MAC5G3tB,OAAO,EAAE,CAAC,CAACpB,QAAQ;MACnBwjB,gBAAgB,EAAE;KACnB,CAAC;IAHMjiB,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAA0tB,sBAAA,GAAAnuB,qBAAA,CAAEQ,IAAI;IAAEoD,aAAa,GAAAuqB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAK3C,MAAMC,aAAa,GAAGtqB,aAAO,CAC3B;IAAA,IAAA0lB,qBAAA,EAAA6E,sBAAA;IAAA,OAAO;MACLrpB,GAAG,EAAE,CAAAykB,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEuB,UAAU,cAAAxB,qBAAA,uBAArBA,qBAAA,CAAuBhc,OAAO,KAAI,EAAE;MACzC/J,IAAI,EAAE,CAAAgmB,SAAS,aAATA,SAAS,wBAAA4E,sBAAA,GAAT5E,SAAS,CAAEuB,UAAU,cAAAqD,sBAAA,uBAArBA,sBAAA,CAAuBvd,KAAK,KAAI;KACvC;GAAC,EACF,CAAC2Y,SAAS,aAATA,SAAS,wBAAA+D,sBAAA,GAAT/D,SAAS,CAAEuB,UAAU,cAAAwC,sBAAA,uBAArBA,sBAAA,CAAuBhgB,OAAO,EAAEic,SAAS,aAATA,SAAS,wBAAAgE,sBAAA,GAAThE,SAAS,CAAEuB,UAAU,cAAAyC,sBAAA,uBAArBA,sBAAA,CAAuB3c,KAAK,CAC/D,CAAC;EAED,MAAMwd,cAAc,GAAG,CAAC,EAAEF,aAAa,CAACppB,GAAG,IAAIopB,aAAa,CAAC3qB,IAAI,CAAC;EAElE,MAAA8qB,sBAAA,GAAyDpvB,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CAC3F;MACEtvB,QAAQ;MACRkhB,OAAO,EAAEgO;KACV,EACD;MACE9tB,OAAO,EAAE,CAAC,CAACpB,QAAQ,IAAI,CAAC,CAACkvB,aAAa,CAACppB,GAAG;MAC1C0d,gBAAgB,EAAE;KAEtB,CAAC;IATkB+L,eAAe,GAAAF,sBAAA,CAA1B9tB,SAAS;IAAyBiuB,UAAU,GAAAH,sBAAA,CAAhB/tB,IAAI;EAWxC,MAAMmuB,UAAU,GAAG7qB,aAAO,CAAC,MAAM;IAC/B,IAAIwqB,cAAc,EAAE;MAClB,IAAI,CAACI,UAAU,EAAE,OAAO,EAAE;MAC1B,OAAO,CAACA,UAAU,CAAC;;IAGrB,OAAO,CAAA9qB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEgB,YAAY,KAAI,EAAE;GACzC,EAAE,CAAC0pB,cAAc,EAAEI,UAAU,EAAE9qB,aAAa,CAAC,CAAC;EAE/C,MAAMgrB,YAAY,GAAG9qB,aAAO,CAAC,MAAM;IACjC,OAAO,CAAC6qB,UAAU,IAAI,EAAE,EAAE9uB,GAAG,CAAEiH,IAAI,IAAK;MAAA,IAAA+nB,SAAA;MAEtC,MAAMC,YAAY,GAAG,CAAC,CAAChoB,IAAI,CAACioB,iBAAiB;MAE7C,IAAID,YAAY,EAAE;QAAA,IAAAE,kBAAA,EAAAC,mBAAA,EAAAE,mBAAA,EAAAD,qBAAA,EAAAE,sBAAA,EAAAC,sBAAA;QAChB,MAAMjB,aAAa,GAAGtnB,IAAI,CAACioB,iBAAiB,IAAI,EAAE;QAClD,MAAMvrB,QAAQ,GAAI4qB,aAAa,CAACnpB,SAAS,IAAImpB,aAAa,CAAClpB,UAAU,IAAIkpB,aAAa,CAACjpB,QAAQ,GAC3F,EAAGipB,aAAa,CAACnpB,SAAS,IAAI,EAAE,WAAImpB,aAAa,CAAClpB,UAAU,IAAI,EAAE,WAAIkpB,aAAa,CAACjpB,QAAQ,IAAI,EAAE,GAAG4lC,IAAI,EAAE,CAACtkC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAChI2nB,aAAa,CAACuB,YAAY,IAAI,EAAE;QAEpC,OAAO;UACLH,aAAa,EAAE,EAAAR,kBAAA,GAAAloB,IAAI,CAAC2oB,YAAY,cAAAT,kBAAA,uBAAjBA,kBAAA,CAAmBhqB,GAAG,KAAI,EAAE;UAC3C0qB,YAAY,EAAE,EAAAT,mBAAA,GAAAnoB,IAAI,CAAC2oB,YAAY,cAAAR,mBAAA,uBAAjBA,mBAAA,CAAmBjqB,GAAG,KAAI,EAAE;UAC1Cmc,KAAK,EAAE3d,QAAQ;UACf2K,iBAAiB,EAAE,EAAAghB,mBAAA,GAAAroB,IAAI,CAAC2oB,YAAY,cAAAN,mBAAA,uBAAjBA,mBAAA,CAAmBnqB,GAAG,KAAI,EAAE;UAC/CsJ,WAAW,EAAE9K,QAAQ;UACrBkL,MAAM,EAAE,EAAAwgB,qBAAA,GAAApoB,IAAI,CAACioB,iBAAiB,cAAAG,qBAAA,uBAAtBA,qBAAA,CAAwBU,UAAU,KAAI,EAAE;UAChDjsB,UAAU,EAAE,CAAC,EAAAyrB,sBAAA,GAAAtoB,IAAI,CAACioB,iBAAiB,cAAAK,sBAAA,uBAAtBA,sBAAA,CAAwBzrB,UAAU,OAAA0rB,sBAAA,GAAIvoB,IAAI,CAACioB,iBAAiB,cAAAM,sBAAA,uBAAtBA,sBAAA,CAAwBtgB,UAAU,KAAIjI,IAAI,CAACnD,UAAU,IAAImD,IAAI,CAACiI,UAAU,IAAI,IAAI,EAAEpI,WAAW,EAAE;UAClJkpB,GAAG,EAAE;SACN;;MAIH,MAAMrsB,QAAQ,GAAIsD,IAAI,CAAC7B,SAAS,IAAI6B,IAAI,CAAC5B,UAAU,IAAI4B,IAAI,CAAC3B,QAAQ,GAChE,EAAG2B,IAAI,CAAC7B,SAAS,IAAI,EAAE,WAAI6B,IAAI,CAAC5B,UAAU,IAAI,EAAE,WAAI4B,IAAI,CAAC3B,QAAQ,IAAI,EAAE,GAAG4lC,IAAI,EAAE,CAACtkC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GACrGK,IAAI,CAAC6oB,YAAY,IAAI7oB,IAAI,CAACwH,WAAW,IAAI,EAAE;MAE/C,OAAA+B,QAAA,KACKvJ,IAAI;QACP0oB,aAAa,EAAE1oB,IAAI,CAAC9B,GAAG,IAAI8B,IAAI,CAACqH,iBAAiB,IAAI,EAAE;QACvDuhB,YAAY,EAAE5oB,IAAI,CAAC4oB,YAAY,IAAI,EAAE;QACrCvO,KAAK,EAAE3d,QAAQ;QACf2K,iBAAiB,EAAErH,IAAI,CAAC9B,GAAG,IAAI8B,IAAI,CAACqH,iBAAiB,IAAI,EAAE;QAC3DG,WAAW,EAAE9K,QAAQ;QACrBkL,MAAM,EAAE5H,IAAI,CAAC4H,MAAM,IAAI,EAAE;QACzB/K,UAAU,EAAE,CAACmD,IAAI,CAACnD,UAAU,IAAImD,IAAI,CAACiI,UAAU,IAAI,IAAI,EAAEpI,WAAW,EAAE;QACtEkpB,GAAG,GAAAhB,SAAA,GAAE/nB,IAAI,CAAC+oB,GAAG,YAAAhB,SAAA,GAAI;;KAEpB,CAAC;GACH,EAAE,CAACF,UAAU,CAAC,CAAC;EAEhB,MAAM/hB,YAAY,GAAG,CAAAhJ,aAAa,aAAbA,aAAa,wBAAA2tC,qBAAA,GAAb3tC,aAAa,CAAEG,aAAa,cAAAwtC,qBAAA,uBAA5BA,qBAAA,CAA8B3kC,YAAY,MAAIhJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElD,UAAU,KAAI,CAAC;EAEjG,MAAMkpB,aAAa,GAAG/oB,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,YAAY,CAAC;EAK9D,MAAM+uB,gBAAgB,GAAGC,iBAAW,CAClCjiB,KAAA;IAAA,IAAGkiB,WAAW,GAAAliB,KAAA,CAAXkiB,WAAW;MAAE5E,eAAe,GAAAtd,KAAA,CAAfsd,eAAe;MAAEC,iBAAiB,GAAAvd,KAAA,CAAjBud,iBAAiB;IAAA,oBAChD5pB,cAAA,CAAAC,aAAA,CAACypB,0BAA0B;MAAO6E,WAAW;MAAE5E,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAChhB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAM2lB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBvtB,KAAK,EAAEO,MAAM,CAACzB,KAAK,CAACqhB,KAAK,CAAC0P,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD/vB,MAAM,EAAE,CAAC;IACTytB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAI5vB,IAAI,IAAK;IACnCA,IAAI,CAAC6vB,cAAc,CAAC,EAAE,CAAC,KAAW7vB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CmpB,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAO4f,2BAA2B,CAAE;MAAErG;KAAe,CAAC;IAChGD,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB,IAAI;MAAEopB;KAAe,CAAC;GAC9D;EAED,MAAM0G,uBAAuB,GAAG;IAC9B9iB,OAAO,EAAE,EAAE;IACXW,iBAAiB,EAAE,EAAE;IACrBoiB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtC9G,QAAQ,CAAC;MAAEkB,MAAM,EAAE,kBAAkB;MAAErqB,IAAI,EAAE8vB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAE7G,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU;IAC9C2F,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjBlmB,SAAS,EAAE;GACZ;EAeD,SAAS0jB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;IACnC,MAAMsgB,UAAU,GAAGtgB,OAAO,CAACjH,aAAa,GAAG,YAAY,GAAG,eAAe;IAGzE,QAAQiH,OAAO,CAAChG,MAAM;MACpB,KAAK,kBAAkB;QACrB1rB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;UAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;UAAM,CAAC;QAC5E,OAAA6P,QAAA,KAAYugB,KAAK;UAAE5F,UAAU,EAAE6F,OAAO,CAACrwB;;MAEzC,KAAK,kBAAkB;QACrBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;UAAM,CAAC;QAC5E,OAAA6P,QAAA,KAAYugB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACrwB;;MAEzC,KAAK,iBAAiB;QACpBrB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAACqgB,UAAU,EAAA9gC,QAAA,KAAOugB,KAAK;UAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;UAAM,CAAC;QAC3E,OAAA6P,QAAA,KAAYugB,KAAK;UAAE1G,SAAS,EAAE2G,OAAO,CAACrwB;;MAExC;QACE,OAAOowB,KAAK;;;EAIlB,MAAMpkB,gBAAgB,GAAIhK,CAAC,IAAK;IAC9B,MAAMuuB,QAAQ,GAAG3M,MAAM,CAAC5hB,CAAC,CAAC4O,MAAM,CAAC/G,KAAK,CAAC;IAEvCsf,QAAQ,CAAC;MACPkB,MAAM,EAAE,iBAAiB;MACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;QACtB7pB,KAAK,EAAE0wB,QAAQ;QACf3wB,MAAM,EAAE;QACT;MACDwpB;KACD,CAAC;GACH;EAED,MAAMC,eAAe,GAAIrnB,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAAClB,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA0vB,GAAA,GAAuBxuB,CAAC;QAAfyQ,EAAE,GAAA+d,GAAA,CAAF/d,EAAE;QAAEge,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAG3a,EAAE;MAEjB,IAAI,EAAEwW,SAAS,CAACS,SAAS,CAAC0D,MAAM,KAAKA,MAAM,IAAInE,SAAS,CAACS,SAAS,CAAC2D,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FlE,QAAQ,CAAC;UACPkB,MAAM,EAAE,iBAAiB;UACzBrqB,IAAI,EAAA6P,QAAA,KACCoZ,SAAS,CAACS,SAAS;YACtB0D,MAAM,EAAE3a,EAAE;YACV4a,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;YAC5B;UACDrH;SACD,CAAC;;;GAGP;EAED,MAAMsH,kBAAkB,GAAG7H,mBAAmB,CAAAhZ,QAAA,KACzC;IACD5D,WAAW;IACXD,gBAAgB;IAChBid,SAAS;IACT/oB,UAAU,EAAEkM,YAAY;IACxB8c,KAAK,EAAEkF,YAAY;IACnBjF,QAAQ;IACRE,eAAe;IACf3qB,QAAQ;IACR0qB,aAAa;IACbG,WAAW,EAAE;MAAEoH,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzDnH,UAAU,EAAE;MAAExf,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAM4mB,qBAAqB,GAAI7wB,IAAI,IAAK;IACtC,MAAQqtB,SAAS,GAAKrtB,IAAI,CAAlBqtB,SAAS;IACjBlE,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAA6P,QAAA,KAAOoZ,SAAS,CAACS,SAAS;QAAE2D;;KAAa,CAAC;GACrF;EAED,MAAMyD,eAAe,GAAIC,gBAAgB,IAAK;IAC5CA,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrC5H,QAAQ,CAAC;MAAEkB,MAAM,EAAE,iBAAiB;MAAErqB,IAAI,EAAEyvB;KAA6B,CAAC;GAC3E;EAED,MAAMuB,sBAAsB,GAAG;IAAEH,qBAAqB;IAAEI,qBAAqB,EAAEhI,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAES,SAAS;IAAEoH;GAAiB;EACtH,MAAMI,wBAAwB,GAAGzF,uBAAuB,CAAC;IAAEvC,KAAK,EAAEkF,YAAY;IAAE1vB;GAAU,CAAC;EAE3F,MAAMyyB,cAAc,GAAGlxB,SAAS,IAAIguB,eAAe;EAEnD,oBACEhtB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACkwB,oCAAa,EAAAvhB,QAAA;IAEVshB;KAEGjB,kBAAkB,EAElBc,sBAAsB;IACzBN,kBAAkB;IAClBQ,wBAAwB;IACxBjI,SAAS;IACToI,UAAU,EAAE,IAAI;IAChBC,kBAAkB,EAAE;IAEvB,CACE,CAAC;AAEV,CAAC;;AC/QD,MAAMu2B,UAAU,GAAGA,MAAM;EACvB,MAAAtpD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAsjB,UAAA,GAAeC,wBAAS,EAAE;IAAlBvP,EAAE,GAAAsP,UAAA,CAAFtP,EAAE;EACV,MAAMpG,OAAO,GAAGC,yBAAU,EAAE;EAG5B,MAAA3J,SAAA,GAAkCC,cAAQ,CAAC;MACzC4nB,UAAU,EAAE;QACVxd,OAAO,EAAEyF,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG;OACpC;MACD0a,UAAU,EAAE;KACb,CAAC;IALKlE,SAAS,GAAAtmB,SAAA;IAAEmlD,YAAY,GAAAnlD,SAAA;EAM9B,MAAAoY,UAAA,GAAsCnY,cAAQ,CAAC6P,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG,EAAE,CAAC;IAArEs1C,WAAW,GAAAhtC,UAAA;IAAEitC,cAAc,GAAAjtC,UAAA;EAClC,MAAAgL,UAAA,GAAgCnjB,cAAQ,CAAC,EAAE,CAAC;IAArCqlD,QAAQ,GAAAliC,UAAA;IAAEmiC,WAAW,GAAAniC,UAAA;EAE5B,MAAMrnB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAItD0J,eAAS,CAAC,MAAM;IAAA,IAAAygB,qBAAA;IACd,MAAMm/B,cAAc,GAAG,CAAAl/B,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEuB,UAAU,cAAAxB,qBAAA,uBAArBA,qBAAA,CAAuBhc,OAAO,KAAI,EAAE;IAC3D,MAAMo7C,aAAa,GAAG31C,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG,EAAE;IAClD,IAAI01C,cAAc,KAAKC,aAAa,EAAE;MACpCN,YAAY,CAAC;QACXt9B,UAAU,EAAE;UAAExd,OAAO,EAAEo7C;SAAe;QACtCj7B,UAAU,EAAE;OACb,CAAC;MACF66B,cAAc,CAACI,aAAa,CAAC;;GAEhC,EAAE,CAAC31C,EAAE,CAAC,CAAC;EAGR,MAAAjT,qBAAA,GAAyDb,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC8+B,mBAAmB,CAC3F;MAAEh6B,GAAG,EAAEujD,WAAW;MAAEtpB,SAAS,EAAE;KAAU,EACzC//B,QAAQ,EACR;MACEoB,OAAO,EAAE,CAAC,CAACioD,WAAW;MACtBM,KAAK,EAAE,KAAK;MACZlxB,OAAO,EAAGrP,GAAG,IAAK;QAChBogC,WAAW,CAAC,CAAApgC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE2C,OAAO,KAAIhsB,CAAC,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,CAAC;;KAG5F,CAAC;IAVayvB,UAAU,GAAA1uB,qBAAA,CAAhBQ,IAAI;IAAyBsoD,eAAe,GAAA9oD,qBAAA,CAA1BS,SAAS;EAanC,MAAA0tB,sBAAA,GAAuEhvB,KAAK,CAACc,KAAK,CAACC,IAAI,CAACsuB,mBAAmB,CACzG;MAAEtvB,QAAQ;MAAEkhB,OAAO,EAAE;QAAEpb,GAAG,EAAEujD;;KAAe,EAC3C;MAAEjoD,OAAO,EAAE,CAAC,CAACioD,WAAW;MAAEM,KAAK,EAAE;KACnC,CAAC;IAHaE,oBAAoB,GAAA56B,sBAAA,CAA1B3tB,IAAI;IAAmCwoD,mBAAmB,GAAA76B,sBAAA,CAA9B1tB,SAAS;EAK7C,MAAMA,SAAS,GAAGqoD,eAAe,IAAIE,mBAAmB;EAExD,MAAM54B,kBAAkB,GAAI5vB,IAAI,IAAK;IAAA,IAAAyoD,aAAA;IACnC,MAAM1hD,GAAG,GAAG/G,IAAI,aAAJA,IAAI,wBAAAyoD,aAAA,GAAJzoD,IAAI,CAAEgN,OAAO,cAAAy7C,aAAA,uBAAbA,aAAA,CAAele,IAAI,EAAE;IACjC,IAAI,CAACxjC,GAAG,EAAE;MACRmhD,WAAW,CAACzpD,CAAC,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;MACzE;;IAEFypD,WAAW,CAAC,EAAE,CAAC;IACfJ,YAAY,CAAC;MACXt9B,UAAU,EAAExqB,IAAI;MAChBmtB,UAAU,EAAE;KACb,CAAC;IACF66B,cAAc,CAACjhD,GAAG,CAAC;IACnBsF,OAAO,CAAC3L,IAAI,6BAA2BqG,GAAK,CAAC;GAC9C;EAED,MAAM+oB,uBAAuB,GAAG;IAC9B9iB,OAAO,EAAE;GACV;EAED,MAAMgjB,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;IACjCi4B,WAAW,CAAC,EAAE,CAAC;IACfJ,YAAY,CAAC;MACXt9B,UAAU,EAAE;QAAExd,OAAO,EAAE;OAAI;MAC3BmgB,UAAU,EAAE;KACb,CAAC;IACF66B,cAAc,CAAC,EAAE,CAAC;IAClB37C,OAAO,CAAC3L,IAAI,CAAC,4BAA4B,CAAC;GAC3C;EAED,MAAM4uB,gBAAgB,GAAGC,iBAAW,CAClC9sB,IAAA;IAAA,IAAG+sB,WAAW,GAAA/sB,IAAA,CAAX+sB,WAAW;MAAE5E,eAAe,GAAAnoB,IAAA,CAAfmoB,eAAe;MAAEC,iBAAiB,GAAApoB,IAAA,CAAjBooB,iBAAiB;IAAA,oBAChD5pB,cAAA,CAAAC,aAAA,CAACypB,0BAA0B;MAAO6E,WAAW;MAAE5E,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAChhB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAMomB,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAE7G,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,UAAU;IAC9C2F,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjBlmB,SAAS,EAAE;GACZ;EAED,MAAM4mB,kBAAkB,GAAG;IACzBxjB,OAAO,EAAE,EAAE;IACXlN,IAAI,EAAE,EAAE;IACRH,KAAK,EAAE,EAAE;IACTD,MAAM,EAAE;GACT;EAED,MAAMsxB,wBAAwB,GAAG;IAC/BlxB,IAAI,EAAE;GACP;EAED,MAAM0oD,gBAAgB,GAAGA,MAAM;IAC7B,IAAI,CAACx6B,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMyK,aAAa,GAAG,CAAAzK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0K,qBAAqB,MAAI1K,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2K,iBAAiB,KAAI3K,UAAU;IACtG,MAAM8b,OAAO,GAAG,CAAC7qC,KAAK,CAACC,OAAO,CAACu5B,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IACvF,MAAMI,OAAO,GAAG,CAAAiR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjR,OAAO,KAAIiR,OAAO;IAC3C,MAAM1K,UAAU,GAAG,CAAAvG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExK,iBAAiB,KAAIwK,OAAO,IAAI,EAAE;IAE9D,MAAM4vB,MAAM,GAAGlqD,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;IAChC,MAAMmqD,OAAO,GAAG,CAAAL,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEh6B,iBAAiB,KAAIg6B,oBAAoB,IAAI,EAAE;IACrF,MAAMM,OAAO,GAAG,CAAAN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE3qB,cAAc,KAAI,EAAE;IAC1D,MAAMkrB,OAAO,GAAG,CAAAP,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEt5B,YAAY,KAAI,EAAE;IACxD,MAAM85B,QAAQ,GAAG,CAAAR,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAErqB,YAAY,KAAI,EAAE;IAEzD,MAAM8qB,SAAS,GAAG,CAAC,CAAA1pB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEn8B,UAAU,MAAIm8B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE/wB,UAAU,MAAIq6C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzlD,UAAU,MAAI2lD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3lD,UAAU,MAAI4lD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5lD,UAAU,KAAI,IAAI,EAAEgD,WAAW,EAAE;IAEhK,MAAM8iD,UAAU,GAAG,CAAA3pB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEnQ,YAAY,KAAI,CAAC4J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEt0B,SAAS,EAAEs0B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEr0B,UAAU,EAAEq0B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEp0B,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;IACrI,MAAMwiD,QAAQ,GAAG,CAAAN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEz5B,YAAY,KAAI,CAACy5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnkD,SAAS,EAAEmkD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElkD,UAAU,EAAEkkD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjkD,QAAQ,CAAC,CAAC6B,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;IAEhI,MAAMyiD,WAAW,GAAG,CAAA7pB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1gB,WAAW,MAAI0gB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1e,QAAQ,MAAI0e,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEz6B,YAAY;IAC/F,MAAMukD,SAAS,GAAG,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhqC,WAAW,MAAIgqC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhoC,QAAQ,MAAIgoC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/jD,YAAY,MAAIgkD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjoC,QAAQ,MAAIioC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjqC,WAAW,MAAIiqC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhkD,YAAY;IAE1J,MAAMwkD,UAAU,GAAG,CAAA/pB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1J,cAAc,MAAI0J,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,kBAAkB;IAC/E,MAAM8pB,QAAQ,GAAG,CAAAV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhzB,cAAc,MAAIgzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEppB,kBAAkB,MAAIopB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW,WAAW,MAAIT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElzB,cAAc,MAAIkzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtpB,kBAAkB,MAAIupB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEvpB,kBAAkB;IAEzL,OAAO;MACLh7B,GAAG,EAAE,CAAA86B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,OAAO,MAAIJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE96B,GAAG,MAAIokD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElpB,OAAO,MAAIkpB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpkD,GAAG,KAAIujD,WAAW;MAC9F54B,YAAY,EAAG85B,UAAU,IAAIA,UAAU,KAAKN,MAAM,IAAIM,UAAU,KAAK,EAAE,GAAIA,UAAU,GAAIC,QAAQ,IAAIP,MAAO;MAC5G/pC,WAAW,EAAGuqC,WAAW,IAAIA,WAAW,KAAKR,MAAM,IAAIQ,WAAW,KAAK,EAAE,GAAIA,WAAW,GAAIC,SAAS,IAAIT,MAAO;MAChH/yB,cAAc,EAAGyzB,UAAU,IAAIA,UAAU,KAAKV,MAAM,IAAIU,UAAU,KAAK,EAAE,GAAIA,UAAU,GAAIC,QAAQ,IAAIX,MAAO;MAC9Gz6C,MAAM,EAAE86C;KACT;GACF;EAED,MAAMppC,OAAO,GAAG8oC,gBAAgB,EAAE;EAGlC,MAAMc,cAAc,GAAG,CACrB;IACE1b,KAAK,EAAE,WAAW;IAClBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE3vC,CAAC,CAAC,qBAAqB,EAAE,uBAAuB;KAC1D;GAEJ,EACD;IACEqvC,KAAK,EAAE,cAAc;IACrBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE3vC,CAAC,CAAC,8BAA8B,EAAE,oBAAoB;KAChE;GAEJ,EACD;IACEqvC,KAAK,EAAE,cAAc;IACrBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE3vC,CAAC,CAAC,wBAAwB,EAAE,cAAc;KACpD;GAEJ,CACF;EAED,IAAIgrD,eAAe,GAAG,CAAC;EACvB,IAAI7pC,OAAO,EAAE;IACX,IAAIA,OAAO,CAAC1R,MAAM,KAAK,UAAU,EAAE;MACjCu7C,eAAe,GAAG,CAAC;KACpB,MAAM,IAAI7pC,OAAO,CAAC1R,MAAM,KAAK,UAAU,EAAE;MACxCu7C,eAAe,GAAG,CAAC;KACpB,MAAM,IAAI7pC,OAAO,CAAC1R,MAAM,KAAK,0BAA0B,EAAE;MACxDu7C,eAAe,GAAG,CAAC;KACpB,MAAM;MACLA,eAAe,GAAG,CAAC;;;EAIvB,MAAMC,aAAa,GAAIx7C,MAAM,IAAK;IAChC,MAAMpH,GAAG,oBAAkBoH,MAAQ;IACnC,MAAMnH,GAAG,GAAGtI,CAAC,CAACqI,GAAG,CAAC;IAClB,IAAIC,GAAG,KAAKD,GAAG,EAAE;MACf,IAAIoH,MAAM,KAAK,UAAU,EAAE,OAAO,UAAU;MAC5C,IAAIA,MAAM,KAAK,UAAU,EAAE,OAAO,UAAU;MAC5C,IAAIA,MAAM,KAAK,0BAA0B,EAAE,OAAO,0BAA0B;MAC5E,OAAOA,MAAM;;IAEf,OAAOnH,GAAG;GACX;EAED,oBACE9F,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ,CAAC7J,SAAS,IAAI2f,OAAO,iBACpB3e,cAAA,CAAAC,aAAA,CAACivC,uCAAgB;IAACvI,MAAM,EAAE4hB,cAAe;IAACG,kBAAkB,EAAEF;GAAkB,CACjF,eACDxoD,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBAEb7I,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBACd7I,cAAA,CAAAC,aAAA,CAAC4yB,iCAAU;IAAChqB,SAAS,EAAC;KACnBrL,CAAC,CAAC,iCAAiC,EAAE,yBAAyB,CACrD,CAAC,eACbwC,cAAA,CAAAC,aAAA,CAAC6yB,+BAAQ;IAACjqB,SAAS,EAAC;KACjBrL,CAAC,CAAC,+BAA+B,EAAE,mFAAmF,CAC/G,CAAC,eAEXwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,CAACkwB,oCAAa,EAAAvhB,QAAA;IAEVshB,cAAc,EAAE;KACbjB,kBAAkB;IACrBQ,kBAAkB;IAClBQ,wBAAwB;IACxBjI,SAAS;IACTqI,kBAAkB,EAAE;IAEvB,CACE,CACD,CAAC,EAEN22B,QAAQ,iBACPhnD,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZm+C,QACE,CACN,EAGAhoD,SAAS,iBAAIgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM,MAAE,CAAC,EAEvB,CAAClL,SAAS,IAAI2f,OAAO,iBACpB3e,cAAA,CAAAC,aAAA,CAACkK,2BAAI;IAACtB,SAAS,EAAC;kBAEd7I,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAM4I,SAAS,EAAC;KACbrL,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,CACtC,CAAC,eACPwC,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;KACZ4/C,aAAa,CAAC9pC,OAAO,CAAC1R,MAAM,CAC1B,CACF,CAAC,eACNjN,cAAA,CAAAC,aAAA;IAAM4I,SAAS,yBAAuB8V,OAAO,CAAC1R,MAAM,CAAClI,WAAW;KAC7D4Z,OAAO,CAAC1R,MACL,CACH,CAAC,eAGNjN,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC;kBACb7I,cAAA,CAAAC,aAAA;IAAI4I,SAAS,EAAC;KACXrL,CAAC,CAAC,yBAAyB,EAAE,oBAAoB,CAChD,CAAC,eACLwC,cAAA,CAAAC,aAAA,CAAC+jC,kCAAW,qBACVhkC,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IAACxkC,KAAK,EAAElC,CAAC,CAAC,eAAe,EAAE,UAAU,CAAE;IAACmT,IAAI,EAAEgO,OAAO,CAACpb;GAAM,CAAC,eACjEvD,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IAACxkC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAE;IAACmT,IAAI,EAAEgO,OAAO,CAACuP;GAAe,CAAC,eACpFluB,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IAACxkC,KAAK,EAAElC,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAE;IAACmT,IAAI,EAAEgO,OAAO,CAAChB;GAAc,CAAC,eAC/E3d,cAAA,CAAAC,aAAA,CAACikC,0BAAG;IAACxkC,KAAK,EAAElC,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAE;IAACmT,IAAI,EAAEgO,OAAO,CAACgW;GAAiB,CAC9E,CACV,CAAC,eAGN30B,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,4BAA4B;IAACiB,KAAK,EAAE;MAAE0P,SAAS,EAAE,MAAM;MAAEjR,OAAO,EAAE,MAAM;MAAE0qB,cAAc,EAAE;;kBACvGjzB,cAAA,CAAAC,aAAA,CAACsQ,gCAAS;IACR7Q,KAAK,EAAElC,CAAC,CAAC,uBAAuB,EAAE,kBAAkB,CAAE;IACtDyR,QAAQ,EAAEA,MAAM7D,OAAO,CAAC3L,IAAI,oCAAkCkf,OAAO,CAACpb,GAAK;GAC5E,CACE,CACD,CAEL,CACF,CACF,CACS,CAAC;AAIrB,CAAC;;AC7RD,MAAMolD,UAAU,GAAGA,MAAM;EACvB,MAAArrD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM4B,QAAQ,GAAGua,0BAAW,EAAE;EAC9B,MAAAoa,cAAA,GAAiBC,4BAAa,EAAE;IAAxBC,IAAI,GAAAF,cAAA,CAAJE,IAAI;EACZ,MAAA20B,qBAAA,GAAqClrD,KAAK,CAACc,KAAK,CAACqqD,QAAQ,CAACC,WAAW,EAAE;EAEvExzB,cAAc,CAACkB,UAAU,CAAC,iBAAiB,CAAC;EAE5C,MAAMynB,qBAAqB,GAAGA,MAAM;IAClC,MAAM5+C,QAAQ,GAAGD,QAAQ,CAACC,QAAQ;IAGlC,MAAM6+C,MAAM,GAAG,CACb;MAAEljC,IAAI,EAAE1L,+BAAQ;MAAE2kB,IAAI,EAAE;KAAqB,EAC7C;MAAEv0B,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAC;MAAEy2B,IAAI;KAA4B,CACjE;IAGD,IAAI50B,QAAQ,CAACC,QAAQ,CAAC,aAAa,CAAC,EAAE;MACpC4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,iBAAiB;OAAG,CAAC;KAC7C,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;MACrD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,2BAA2B;OAAG,CAAC;KACvD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAChD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,sBAAsB;OAAG,CAAC;KAClD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9C4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9C4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvC4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;QAAEy2B,IAAI;OAAkC,CAAC;MAC7EiqB,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;MACxD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;QAAEy2B,IAAI;OAAmC,CAAC;MAC/EiqB,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,uBAAuB;OAAG,CAAC;KACnD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACtC4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,YAAY;OAAG,CAAC;KACxC,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;MACrD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,2BAA2B;OAAG,CAAC;KACvD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;MACnD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,yBAAyB;OAAG,CAAC;KACrD,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;MACjD4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC,IAAI;OAAoB,CAAC;KACzE,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;MAC1C4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,gBAAgB;OAAG,CAAC;KAC5C,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvC4+C,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAElC,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAI6B,QAAQ,CAACC,QAAQ,CAAC,UAAU,CAAC,IAAI,oCAAoC,CAACisC,IAAI,CAAClsC,QAAQ,CAAC,EAAE;MAC/F,MAAM0pD,WAAW,GAAGvrD,CAAC,CAAC,aAAa,CAAC;MACpC0gD,MAAM,CAACz+C,IAAI,CAAC;QAAEC,KAAK,EAAEqpD,WAAW,KAAK,aAAa,IAAIA,WAAW,KAAK,QAAQ,GAAG,aAAa,GAAGA;OAAa,CAAC;;IAIjH,OAAO7K,MAAM;GACd;EAMD,oBACEl+C,cAAA,CAAAC,aAAA,CAAC++C,mCAAY,qBACXh/C,cAAA,CAAAC,aAAA;IAAK4I,SAAS,EAAC,iCAAiC;IAACiB,KAAK,EAAE;MAAEoE,IAAI,EAAE;;kBAC9DlO,cAAA,CAAAC,aAAA,CAACg/C,mCAAY;IACXC,WAAW,eACTl/C,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACinB,QAAQ,qBACbjnB,cAAA,CAAAC,aAAA,CAACk/C,gCAAS;MAACt2C,SAAS,EAAC;KAAQ,CAAC,EAC7BrL,CAAC,CAAC,gBAAgB,CACL,CACjB;IACD4hD,WAAW,EAAEA,MAAMjgD,MAAM,CAACiM,OAAO,CAACi0C,IAAI,EAAG;IACzCC,WAAW,EAAErB,qBAAqB;GACnC,CAAC,eAEFj+C,cAAA,CAAAC,aAAA,CAACmvC,qBAAM,qBACLpvC,cAAA,CAAAC,aAAA,CAACovC,oBAAK;IAACuQ,KAAK;IAAC3rB,IAAI,OAAKA;kBACpBj0B,cAAA,CAAAC,aAAA,CAACwvC,uBAAQ;IAACn/B,EAAE,EAAC;GAA+B,CACvC,CAAC,eACRtQ,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAE,CAAIA,IAAI,kCAAkCA,IAAI,uBAAqB;IACzEgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACygB,iBAAiB,MAAE,CACP;GAElB,CAAC,eACF1gB,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,WAAS;IACtBgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC6rB,OAAK,MAAE,CACK;GAElB,CAAC,eAEF9rB,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,0BAAwB;IACrCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACymC,mBAAmB,MAAE,CACT;GAElB,CAAC,eAWF1mC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACsgD,YAAY,MAAE,CACF;GAElB,CAAC,eAEFvgD,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACkjD,YAAY,MAAE,CACF;GAElB,CAAC,eAEFnjD,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,YAAU;IACvBgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC+4B,MAAM,MAAE,CACI;GAElB,CAAC,eACFh5B,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,YAAU;IACvB2rB,KAAK;IACL3Z,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC4vC,UAAU,MAAE,CACA;GAElB,CAAC,eACF7vC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,iCAA+B;IAC5C2rB,KAAK;IACL3Z,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC69C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACF99C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,4BAA0B;IACvCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC69C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACF99C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,wBAAsB;IACnCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC69C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACF99C,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,2BAAyB;IACtCgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC+4B,MAAM,MAAE,CACI;GAElB,CAAC,eACFh5B,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAE,CAAIA,IAAI,gCAAgCA,IAAI,2BAAyB;IAC3EgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAACuxC,qBAAqB,MAAE,CACX;GAElB,CAAC,eACFxxC,cAAA,CAAAC,aAAA,CAACs/C,mCAAY;IACXtrB,IAAI,EAAKA,IAAI,SAAO;IACpBgS,SAAS,EAAEA,mBACTjmC,cAAA,CAAAC,aAAA,CAACu/C,oCAAa;MAACC,WAAW,EAAC;oBACzBz/C,cAAA,CAAAC,aAAA,CAAC2mD,UAAU,MAAE,CACA;GAElB,CACK,CACL,CACO,CAAC;AAEnB,CAAC;;MC1MYoC,UAAU,GAAGxnD,IAAA,IAAsC;EAAA,IAAnCynD,SAAS,GAAAznD,IAAA,CAATynD,SAAS;IAAE5jC,QAAQ,GAAA7jB,IAAA,CAAR6jB,QAAQ;IAAEnI,OAAO,GAAA1b,IAAA,CAAP0b,OAAO;EACvD,MAAA6W,cAAA,GAAsBC,4BAAa,EAAE;IAA7BC,IAAI,GAAAF,cAAA,CAAJE,IAAI;IAAEi1B,GAAG,GAAAn1B,cAAA,CAAHm1B,GAAG;EACjB,MAAMp7C,UAAU,GAAG,MAAM;EACzB,MAAMq7C,QAAQ,GAAGzrD,KAAK,CAAC0rD,SAAS,CAACC,kBAAkB,EAAE;EACrD,MAAAC,qBAAA,GAAsB5rD,KAAK,CAAC6rD,QAAQ,CAACV,QAAQ,CAAC;MAAEI,SAAS;MAAEn7C,UAAU;MAAEq7C;KAAU,CAAC;IAA1EnqD,SAAS,GAAAsqD,qBAAA,CAATtqD,SAAS;EAEjBtB,KAAK,CAACI,cAAc,CAACuxB,GAAG,CAAC,cAAc,EAAEnS,OAAO,CAAC;EAEjD5V,eAAS,CACP,MACE5J,KAAK,CAAC8rD,mBAAmB,CAACC,SAAS,CAAC;IAClCC,OAAO,EAAE,kCAAgChsD,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,CAAG;IACjF+rD,MAAM,EAAEjsD,KAAK,CAAC0rD,SAAS,CAACC,kBAAkB,EAAE;IAC5C5rD,QAAQ,EAAEC,KAAK,CAACC,UAAU,CAACC,kBAAkB;GAC9C,CAAC,EACJ,EACF,CAAC;EAED,IAAIoB,SAAS,EAAE;IACb,oBAAOgB,cAAA,CAAAC,aAAA,CAACiK,6BAAM;MAAC0/C,IAAI,EAAE;KAAO,CAAC;;EAG/B,IAAIvkC,QAAQ,KAAK,UAAU,EAAE;IAC3B,oBAAOrlB,cAAA,CAAAC,aAAA,CAAC+9C,WAAW;MAAC/pB,IAAI,EAAEA,IAAK;MAACi1B,GAAG,EAAEA,GAAI;MAAC7jC,QAAQ,EAAEA,QAAS;MAACnI,OAAO,EAAEA;KAAU,CAAC;GACnF,MAAM,oBAAOld,cAAA,CAAAC,aAAA,CAAC0oD,UAAU,MAAE,CAAC;AAC9B,CAAC;AAED,MAAakB,SAAS,GAAGx9C,KAAA,IAA6B;EAAA,IAAAjP,qBAAA,EAAAC,sBAAA;EACpD,MAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMsC,kBAAkB,GAAG;IACzBN,KAAK,EAAE;GACR;EACD,MAAM3B,WAAW,IAAAT,qBAAA,GAAGM,KAAK,CAACI,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAAX,qBAAA,wBAAAC,sBAAA,GAAhCD,qBAAA,CAAkCY,IAAI,cAAAX,sBAAA,uBAAtCA,sBAAA,CAAwCY,KAAK;EACjE,MAAMA,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACN,WAAW,CAAC,GAAGA,WAAW,CAACO,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,GAAG,EAAE;EAElF,IAAIL,KAAK,CAACqB,QAAQ,CAAC,eAAe,CAAC,EAAE;IACnCQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAAC;MAC5BC,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAC;MAC9BmC,IAAI;KACL,CAAC;;EAGJ,IAAI1B,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,IAAIrB,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACtEQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAAC;MAC5BC,KAAK,EAAElC,CAAC,CAAC,YAAY,CAAC;MACtBmC,IAAI;KACL,CAAC;;EAGJ,IAAI1B,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,EAAE;IACrCQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAC3B;MACEC,KAAK,EAAElC,CAAC,CAAC,2BAA2B,CAAC;MACrCmC,IAAI;KACL,EACD;MACED,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBmC,IAAI;KAER,CAAC;;EAGH,IAAI1B,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACjCQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAAC;MAC5BC,KAAK,EAAElC,CAAC,CAAC,uBAAuB,CAAC;MACjCmC,IAAI;KACL,CAAC;;EAGJ,IAAI1B,KAAK,CAACqB,QAAQ,CAAC,iBAAiB,CAAC,IAAIrB,KAAK,CAACqB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACtEQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAAC;MAC5BC,KAAK,EAAElC,CAAC,CAAC,yBAAyB,CAAC;MACnCmC,IAAI;KACL,CAAC;;EAGJ,IAAI1B,KAAK,CAAC4B,MAAM,KAAK,CAAC,IAAI5B,KAAK,CAACqB,QAAQ,CAAC,SAAS,CAAC,EAAE;IACnDQ,kBAAkB,CAACN,KAAK,CAACC,IAAI,CAAC;MAC5BC,KAAK,EAAElC,CAAC,CAAC,aAAa,CAAC;MACvBmC,IAAI;KACL,CAAC;;EAGJ,MAAMmqD,cAAc,GAAGhqD,kBAAkB,CAACN,KAAK,CAACpB,GAAG,CAAE2rD,CAAC,KAAM;IAC1D7+B,OAAO,EAAE6+B,CAAC,CAACrqD,KAAK;IAChBC,IAAI,EAAEoqD,CAAC,CAACpqD,IAAI;IACZC,KAAK,EAAEmqD,CAAC,CAACnqD;GACV,CAAC,CAAC;EAEH,oBACEI,cAAA,CAAAC,aAAA,CAAC+pD,sCAAe;IACdjd,MAAM,EAAEvvC,CAAC,CAAC,kBAAkB,CAAE;IAC9BgC,KAAK,EAAEsqD,cAAe;IACtB/pD,IAAI,EAAEA,mBAAMC,cAAA,CAAAC,aAAA,CAACgqD,mCAAY;MAACphD,SAAS,EAAC;KAA0B;GAC/D,CAAC;AAEN,CAAC;AAED,MAAMqhD,oBAAoB,GAAG;EAC3BC,UAAU,EAAEnB,UAAU;EACtB7rD,QAAQ;EACRitD,SAAS,EAAEt+B,SAAK;EAChBu+B,gBAAgB,EAAEjgD,YAAY;EAC9BkgD,eAAe,EAAEp6C,WAAW;EAC5Bq6C,iBAAiB,EAAGhgD,KAAK,iBAAKvK,cAAA,CAAAC,aAAA,CAAC6Q,MAAM,EAAKvG,KAAQ,CAAC;EACnDs/C,SAAS;EACTnjB,mBAAmB;EACnB6Z,YAAY;EACZ4C;AACF,CAAC;AAED,MAAaqH,kBAAkB,GAAGA,MAAM;EACtC9kD,MAAM,CAAC+kD,OAAO,CAACP,oBAAoB,CAAC,CAACtkD,OAAO,CAAC+G,KAAA,IAAkB;IAAA,IAAhB9G,GAAG,GAAA8G,KAAA;MAAE/D,KAAK,GAAA+D,KAAA;IACvDjP,KAAK,CAAC6N,wBAAwB,CAACm/C,YAAY,CAAC7kD,GAAG,EAAE+C,KAAK,CAAC;GACxD,CAAC;AACJ,CAAC;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/components/CeoDashboard.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `${prefix}/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\nimport { color } from \"three/tsl\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Fields where original value must be preserved (identifiers, numbers, emails, dates)\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to ALL string fields except identifiers/numbers/dates\n if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = apiCountData?.total || countData?.total || countData?.totalCount || 0;\n const pending = apiCountData?.pending || countData?.pending || 0;\n const active = apiCountData?.active || countData?.active || 0;\n const completed = apiCountData?.completed || countData?.completed || 0;\n const inprocess = apiCountData?.inProgressCount || countData?.inProgressCount || 0;\n const submitted = apiCountData?.submittedCount || countData?.submittedCount || 0;\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted+completed)/ total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n \n \n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.map(zone => zone.toUpperCase().replace(\"\", \" \")).join(\", \") : \"N/A\";\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">{zoneIds}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const supervisor = useMemo(() => {\n // 1. Try to get supervisor from progressData if it succeeded\n if (progressData?.supervisorReport) {\n let found = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n found = progressData.supervisorReport.find((s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n if (found) return found;\n }\n\n // 2. Fallback to supervisorSearchResponse\n if (supervisorSearchResponse?.supervisors) {\n let matchedSup = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n if (matchedSup) {\n // Find surveyors belonging to this supervisor from surveyorSearchResponse\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n // Find surveyor in progressData to get real statistics if available\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId === surv.id || s.surveyorId === surv.owner?.uuid)) ||\n (s.id && (s.id === surv.id || s.id === surv.owner?.uuid))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser?.uuid]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">{assignedZone}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: tenantId,\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: true, staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId) {\n return surveyorSearchById?.surveyors?.length ? surveyorSearchById : surveyorSearchByOwner;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || isLoadingOwner) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nimport { FaUsers, FaUserTie, FaMapMarkedAlt, FaCheckCircle, FaClock, FaExclamationTriangle, FaChartLine } from \"react-icons/fa\";\n\nconst vendors = [\n {\n id: 1,\n name: \"Vendor Alpha\",\n progress: 78,\n supervisors: 12,\n surveyors: 148,\n completed: 154200,\n pending: 43200,\n rejected: 3200,\n },\n {\n id: 2,\n name: \"Vendor Beta\",\n progress: 64,\n supervisors: 10,\n surveyors: 122,\n completed: 121000,\n pending: 68500,\n rejected: 2800,\n },\n {\n id: 3,\n name: \"Vendor Gamma\",\n progress: 91,\n supervisors: 15,\n surveyors: 182,\n completed: 201500,\n pending: 19800,\n rejected: 1800,\n },\n];\n\nconst zones = [\n {\n zone: \"North Delhi\",\n totalConnections: 220000,\n ekycDone: 172000,\n liveSurveyors: 58,\n todayCompleted: 2800,\n },\n {\n zone: \"South Delhi\",\n totalConnections: 198000,\n ekycDone: 154500,\n liveSurveyors: 42,\n todayCompleted: 2100,\n },\n {\n zone: \"East Delhi\",\n totalConnections: 175000,\n ekycDone: 132800,\n liveSurveyors: 37,\n todayCompleted: 1740,\n },\n {\n zone: \"West Delhi\",\n totalConnections: 212000,\n ekycDone: 188300,\n liveSurveyors: 48,\n todayCompleted: 2560,\n },\n];\n\nconst alerts = [\n \"15 Surveyors inactive for more than 2 hours\",\n \"Vendor Beta completion dropped by 12% this week\",\n \"North Delhi has highest pending backlog\",\n \"2,843 eKYC applications rejected today\",\n];\n\nconst CeoDashboard = () => {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"ceo-dashboard\">\n <main className=\"main-content\">\n <div className=\"kpi-grid\">\n <div className=\"kpi-card primary\">\n <div className=\"icon-box\">\n <FaUsers />\n </div>\n <div>\n <h3>7,85,000</h3>\n <p>Total Water Connections</p>\n </div>\n </div>\n\n <div className=\"kpi-card success\">\n <div className=\"icon-box\">\n <FaCheckCircle />\n </div>\n <div>\n <h3>6,47,300</h3>\n <p>eKYC Completed</p>\n </div>\n </div>\n\n <div className=\"kpi-card warning\">\n <div className=\"icon-box\">\n <FaClock />\n </div>\n <div>\n <h3>1,31,500</h3>\n <p>Pending eKYC</p>\n </div>\n </div>\n\n <div className=\"kpi-card danger\">\n <div className=\"icon-box\">\n <FaExclamationTriangle />\n </div>\n <div>\n <h3>7,200</h3>\n <p>Rejected Applications</p>\n </div>\n </div>\n </div>\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaChartLine /> Vendor Performance Overview\n </h2>\n <button>View All</button>\n </div>\n\n <div className=\"vendor-grid\">\n {vendors.map((vendor) => (\n <div className=\"vendor-card\" key={vendor.id}>\n <div className=\"vendor-top\">\n <div>\n <h3>{vendor.name}</h3>\n <p>Jurisdiction Assigned Vendor</p>\n </div>\n\n <span>{vendor.progress}%</span>\n </div>\n\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"vendor-stats\">\n <div>\n <h4>{vendor.supervisors}</h4>\n <p>Supervisors</p>\n </div>\n\n <div>\n <h4>{vendor.surveyors}</h4>\n <p>Surveyors</p>\n </div>\n\n <div>\n <h4>{vendor.completed}</h4>\n <p>Completed</p>\n </div>\n </div>\n\n <div className=\"vendor-footer\">\n <span>Pending: {vendor.pending}</span>\n <span>Rejected: {vendor.rejected}</span>\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Monitoring\n </h2>\n <button>Export Data</button>\n </div>\n\n <div className=\"table-wrapper\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Total Connections</th>\n <th>eKYC Done</th>\n <th>Live Surveyors</th>\n <th>Today's Completion</th>\n <th>Status</th>\n </tr>\n </thead>\n\n <tbody>\n {zones.map((item, index) => (\n <tr key={index}>\n <td>{item.zone}</td>\n <td>{item.totalConnections}</td>\n <td>{item.ekycDone}</td>\n <td>{item.liveSurveyors}</td>\n <td>{item.todayCompleted}</td>\n <td>\n <span className=\"status-badge success\">Active</span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <div className=\"bottom-grid\">\n <section className=\"dashboard-section alerts-section\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n\n <div className=\"alerts-list\">\n {alerts.map((alert, index) => (\n <div className=\"alert-card\" key={index}>\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section team-section\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce Monitoring\n </h2>\n </div>\n\n <div className=\"team-stats-grid\">\n <div className=\"team-box\">\n <h3>37</h3>\n <p>Total Supervisors Online</p>\n </div>\n\n <div className=\"team-box\">\n <h3>154</h3>\n <p>Surveyors Active</p>\n </div>\n\n <div className=\"team-box\">\n <h3>12,430</h3>\n <p>Today's eKYC Completed</p>\n </div>\n\n <div className=\"team-box\">\n <h3>92%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </section>\n </div>\n </main>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\nimport Create from \"../pages/employee/Create\";\nimport Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","loggedInUser","fullName","name","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","total","completed","pending","submittedCount","inProgressCount","rejected","active","handleDownloadEkycData","Promise","resolve","EkycService","application_list","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","gender","mobileNumber","emailId","fatherOrHusbandName","relationship","dob","zoneName","assembly","ward","pincode","mrkey","consumerType","createdTime","lastModifiedTime","toTitleCase","str","cleanStr","String","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","chartRef1","useRef","chartInstance1","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","disabled","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","style","background","ref","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","status","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","target","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","Link","to","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","filters","filteredVendors","vendor","keyword","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","todayEkyc","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","mobileNo","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","zoneIds","_vendor$zoneIds","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","paginatedSupervisors","start","end","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","targetPath","href","textDecoration","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","p","idx","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","InboxComposer","forceTable","showSearchOnMobile","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","_dashboardData$dashbo","paginationParms","useSurveyorSearch","isDataSearchLoading","surveyors","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","parseAdditionalDetails","AdminDashboard","vendorsList","_additionalDetails$se","dso","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS2","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","found","targetId","_s$supervisorId","_s$id","matchedSup","_s$id2","_s$owner$uuid","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$surveyors","matchedSurv","_surv$owner","_surv$owner2","assignedZoneId","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","titleCaseFields","AssignEkycModal","surveyor","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","staleTime","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_temp4","_temp3","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","stripped","totalPages","SurveyorDetailsDashboard","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","surveyorSearchById","isLoadingId","surveyorSearchByOwner","isLoadingOwner","_surveyorSearchById$s","_surveyorSearchRespon","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","knoColumns","_useState9","getDateRange","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","totalConnections","ekycDone","liveSurveyors","todayCompleted","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}