{"version":3,"sources":["components/ControlComponents/ComponentLabel.tsx","Helper/ReplaceSpecialChar.tsx","Services/RequestControlService.tsx","Services/UploadFileService.tsx","hooks/useMasterSetting.tsx","Helper/RequestScreenHelper.tsx","components/TextHeaderComponents/TextHeaderComponents.tsx","Services/AttachFileService.tsx","Helper/formatKeyLogicData.ts","Helper/LogicHelper.ts","Services/LineApprovalsService.tsx","Helper/FormatDateTime.tsx","components/AntdControlComponent/InputControlComponent/InputControlComponent.tsx","Context/AlertContext.tsx","Context/MasterSettingContext.tsx","Helper/formatColumn.tsx","components/AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent.tsx","components/AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent.tsx","components/AntdControlComponent/RadioControlComponent/RadioControlComponent.tsx","components/AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent.tsx","components/AntdControlComponent/MainCheckboxControl/CheckboxComponent.tsx","components/AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent.tsx","components/AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentModal.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent.tsx","Context/UserContext.tsx","hooks/useAlert.tsx","Helper/RequestRefFunctions.tsx","Services/DynamicService.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponent.tsx","components/ControlComponents/SummaryComponent/SummaryComponent.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponentTest.tsx","components/AntdControlComponent/TableComponent/TableComponent.tsx","components/AntdControlComponent/TableComponent/MoveToDialog.tsx","components/AntdControlComponent/TableComponent/TableFooter.tsx","components/AntdControlComponent/TableComponent/ExcelTablePreview.tsx","components/AntdControlComponent/AutoNumberFix/AutoNumberFix.tsx","components/ControlComponents/ButtonComponent/ButtonComponent.tsx","components/ControlComponents/EditorComponent/EditorComponent.tsx","components/ControlComponents/EmptyComponent/EmptyComponent.tsx","components/ControlComponents/ImageComponent/ImageComponent.tsx","components/ControlComponents/MainCheckboxComponents/MainCheckboxComponents.tsx","components/ControlComponents/MainTextComponents/HeadingComponent/HeadingComponent.tsx","components/ControlComponents/MainTextComponents/TextComponent/TextComponent.tsx","components/ControlComponents/MainTextComponents/MainTextComponents.tsx","components/RequestComponents/CoreControllerComponent/Controls.tsx","components/InputTextComponents/InputTextComponents.tsx","Helper/GenerateGuid.tsx","Services/MemoService.tsx","Services/MasterDataService.tsx","constants/logic-type.ts","Services/ConfigurationService.tsx","Context/MemoPageContext.tsx","hooks/useMemoPage.tsx","components/NotificationComponent/NotiPopOverContent.tsx","components/ButtonNav/ButtonNavigation.tsx","IRequestModel/IAuthModel.tsx","Context/AuthContext.tsx","Services/EmployeeService.tsx","Services/PositionService.tsx","Services/DepartmentService.tsx","components/SettingDialogComponents/EmployeeDialog/EmplyeeDialog.tsx","Helper/localStoreFunction.ts","components/ButtonNav/ButtonNavigationDropdown.tsx","Services/NavBarMenuService.tsx","components/NavigationBar/ChangePasswordModal.tsx","Services/AppSettingService.tsx","components/SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed.tsx","components/NavigationBar/NavigationBar.tsx","Services/LoginService.tsx","Context/LoadContext.tsx","hooks/useLoading.tsx","Services/RoleServices.tsx","Services/AuthorizedService.tsx","screens/LoginScreen/LoginScreen.tsx","Helper/DeleteAllCookie.ts","azure/zure-authentication-config.ts","azure/azure-authentication-context.ts","screens/LoginScreen/LoginScreenAzure.tsx","components/FooterComponents/FooterComponents.tsx","components/ButtonComponents/ButtonComponents.tsx","assets/bin-icon.png","assets/edit-icon.png","Services/ApprovalMatrixService.tsx","components/SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog.tsx","components/SettingDialogComponents/CompanyDialog/CompanyDialog.tsx","components/SettingDialogComponents/Department/DepartmentDialog.tsx","components/SettingDialogComponents/DivisionDialog/DivisionDialog.tsx","components/SettingDialogComponents/MasterDataDialog/MasterDataDialog.tsx","components/SettingDialogComponents/MenuDialog/MenuDialog.tsx","components/SettingDialogComponents/PositionDialog/PositionDialog.tsx","components/SettingDialogComponents/RoleDialog/RoleDialog.tsx","components/DropdownComponents/DropdownComponents.tsx","components/TableComponents/Dynamic/DynamicDialog.tsx","components/TableComponents/Dynamic/DialogList.tsx","components/TableComponents/Dynamic/DynamicTable.tsx","Services/TemplateService.tsx","components/TreeSelectNewRequest/TreeSelectNewRequest.tsx","assets/LoadingWOLFmini.gif","screens/Report/DynamicReport.tsx","components/AutoCompleteComponents/AutoCompleteComponents.tsx","components/RadioButtonComponents/RadioButtonComponents.tsx","components/SettingDialogComponents/ReportDialog/ReportDialog.tsx","screens/UnAuthorizePage/UnAurthorization.tsx","components/HOC/withPermission.tsx","components/ButtonComponents/SortingButton.tsx","Helper/SortingFunction.tsx","Helper/ExportExcel.tsx","components/TableComponents/DynamicTableFix/DynamicTable.tsx","components/ReportScreenComponent/SelectedFieldComponent.tsx","screens/Report/DynamicReportFix.tsx","screens/Report/ReportScreen.tsx","screens/WorkList/ShowContentScreen.tsx","components/WorklistScreenComponent/FlowCardComponent.tsx","screens/WorkList/FlowScreen.tsx","components/RequestComponents/HistoryComponent/HistoryComponent.tsx","screens/WorkList/HistoryScreen.tsx","components/WorklistScreenComponent/AttachmentCardComponent.tsx","screens/WorkList/AttachmentScreen.tsx","components/Input/CommentComponent.tsx","components/MemoButton/MemoButtonComponent.tsx","Services/ReviewPdfService.tsx","assets/ic_history.svg","assets/ic_attachment_file.svg","components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate.tsx","screens/WorkList/DetailContentScreen.tsx","components/Select/SelectDate.tsx","components/Select/MultiSelectDropdown.tsx","components/SearchFilterComponent/SearchFilterComponent.tsx","components/Select/SelectDropdown.tsx","screens/WorkList/WorkListSideBarElementUse.tsx","components/WorklistScreenComponent/WorklistCardComponent.tsx","Services/WorklistService.tsx","Services/HistoryService.tsx","Services/ApprovalService.tsx","screens/WorkList/WorkListScreen.tsx","screens/LoginScreen/LoginScreenOpenId.tsx","routes/PrivateRoute.tsx","components/ErrorPageComponent/ErrorPageComponent.tsx","components/CreateControlComponents/ButtonComponent/AddQueryComponent.tsx","components/CreateControlComponents/ButtonComponent/ButtonComponent.tsx","components/CreateControlComponents/AttachmentComponent/AttachmentComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AddConditionComponent.tsx","components/Button/Button.tsx","components/CreateControlComponents/AutoNumberComponent/AddPreFixComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AutoNumberComponent.tsx","components/CreateControlComponents/CalendarComponent/CalendarDefaultValueGroup.tsx","components/CreateControlComponents/CalendarComponent/CalendarComponent.tsx","components/CreateControlComponents/ChoiceComponent/ChoiceComponent.tsx","components/CreateControlComponents/MultiChoiceComponent/MultiChoiceComponent.tsx","components/CreateControlComponents/DropdownComponent/DropdownComponent.tsx","components/CreateControlComponents/EditorComponent/TemplateModal.tsx","components/CreateControlComponents/EditorComponent/EditorComponent.tsx","components/CreateControlComponents/HeadingComponent/HeadingComponent.tsx","components/CreateControlComponents/NumberComponent/NumberComponent.tsx","components/CreateControlComponents/RevisionComponent/AddConditionModal.tsx","components/CreateControlComponents/RevisionComponent/RevisionComponent.tsx","components/CreateControlComponents/ShortTextComponent/ShortTextComponent.tsx","components/CreateControlComponents/ModalCreateComponents/CreateControlSideBarElement.tsx","components/CreateControlComponents/TextAreaComponent/TextAreaComponent.tsx","components/CreateControlComponents/TableComponent/ColumnComponent.tsx","components/CreateControlComponents/TableComponent/ReferenceDocument.tsx","components/CreateControlComponents/TableComponent/FooterTableComponents.tsx","components/CreateControlComponents/TableComponent/TableComponent.tsx","components/CreateControlComponents/ImageComponents/ImageComponents.tsx","components/CreateControlComponents/ModalCreateComponents/ModalCreateComponents.tsx","components/TinyMceComponent/TinyMceComponent.tsx","components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectDataFormTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ReadOnlyTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/AddMatrixCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix.tsx","components/CheckboxCpmponents/CheckboxCpmponents.tsx","components/TemplateDetailComponents/InformationComponents/InformationComponents.tsx","screens/TemplateDetailScreen/TemplateDetailSideBarElement.tsx","components/DataFechDialogComponents/EmployeeDialog/EmployeeDialog.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationTable/AuthorizationTable.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationModel/AuthorizationModel.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryTable/VersionAndHistoryTable.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents.tsx","Services/CompanyService.tsx","components/DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentDialogFix.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformationDialog.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation.tsx","Context/PDFEditorContext.tsx","hooks/usePDFEditor.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFCompontButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/TabsButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/ColorPicker.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFEditorToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticInput.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticImage.tsx","components/TemplateDetailComponents/PDFTemplateComponent/DropableComponent.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PaperLayout.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFTemplateComponent.tsx","screens/TemplateDetailScreen/TemplateDetailScreen.tsx","screens/ForgotPasswordScreen/ForgotPasswordScreen.tsx","screens/DelegateScreen/DelegateApplyTo.tsx","components/RequestComponents/AttachmentComponent/DescriptionConfigComponent.tsx","screens/DelegateScreen/DelegateInformation.tsx","screens/DelegateScreen/DelegateSideBar.tsx","screens/DelegateScreen/DelegateScreen.tsx","Services/EmailTemplateService.tsx","components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail.tsx","screens/SettingsSpecScreen/EmailTemplateDetailScreen.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineSideBar.tsx","screens/SettingScreen/SimLineApproveScreen/InitialComponent/InitialComponent.tsx","screens/SettingScreen/SimLineApproveScreen/ResultComponent/ResultComponent.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineApproveScreen.tsx","screens/DashboardScreen/DashboardCard/DashboardCard.tsx","screens/DashboardScreen/DashboardCalendar/DashboardCalendar.tsx","screens/DashboardScreen/DashboardTimeline/DashboardTimeline.tsx","Services/ProjectService.tsx","screens/DashboardScreen/DashboardScreen.tsx","Services/LogApiService.tsx","screens/LogApi/LogApi.tsx","components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList.tsx","screens/SettingsSpecScreen/EmailTemplateListScreen/EmailTemplateListScreen.tsx","components/RequestComponents/InformationComponent/LeaveTypeComponents/LeaveTypeComponents.tsx","components/RequestComponents/InformationComponent/InformationComponent.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent.tsx","components/RequestComponents/RequestorComponent/RequestorComponent.tsx","components/RequestComponents/AttachmentComponent/AttachmentComponent.tsx","screens/Request/RequestSideBarElement.tsx","components/MemoButton/MemoSingleButton.tsx","screens/Request/RequestScreen.tsx","screens/TemplateDetailScreen/PreviewTemplateScreen.tsx","screens/LoginScreen/LoginGoogle.tsx","screens/RegisterWolfScreen/RegisterWolfScreen.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/TableRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/DialogRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/TemplateVersionComponent/TemplateVersionComponent.tsx","components/RequestComponents/InformationComponent/InformationComponentFix.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix.tsx","components/MemoButton/MemoButtonetcComponent.tsx","Helper/Validation.tsx","Context/AdminEditCompletedMemoPermissionContext.tsx","hooks/useAdminEditCompletedMemo.tsx","screens/Request/RequestScreenFix.tsx","Services/AcountService.tsx","components/SettingDialogComponents/AccountDialog/AccountDialog.tsx","components/TableComponents/DynamicTableFix/DynamicDialog.tsx","Services/UserManualService.tsx","components/SettingDialogComponents/UserManualDialog/UserManualDialog.tsx","components/TableComponents/DynamicTableFix/DialogListFix.tsx","Helper/matrixItemToString.tsx","screens/DelegateListScreen/DelegateListScreen.tsx","Services/LogSendEmailService.tsx","screens/LogSendEmailScreen/LogSendEmailScreen.tsx","screens/SettingScreen/MasterDataScreen/MasterDatascreenFixed.tsx","screens/Report/ReportScreenFix.tsx","Services/TimeStampService.tsx","screens/TimeStamp/TimeStampScreen.tsx","utils/plugins/msdoc/index.tsx","components/PDFPreviewComponent/PDFPreviewComponent.tsx","screens/PreviewAttachmentScreen/PreviewAttachmentScreen.tsx","assets/correct.png","screens/RequestActionMemo/RequestActionMemo.tsx","screens/RejectBrowerScreen/RejectBrowser.tsx","screens/BudgetScreen/BudgetTrackingScreen.tsx","screens/Procurement/ProcurementTrackingScreen.tsx","routes/Routes.tsx","components/LoadComponent/LoadComponent.tsx","components/LoadComponent/LoadPackageComponent.tsx","assets/wolfLogo.png","components/Button/FloatingButton.tsx","components/NotificationComponent/NotificationComponent.tsx","App.tsx","registerServiceWorker.js","i18n.tsx","index.tsx","Services/ReportService.tsx","components/Select/SelectionDataDialog/SelectDataDialog.tsx"],"names":["ComponentLabel","props","_props$errors","_props$errors2","_props$errors3","_props$template","_props$template2","_props$template2$alte","_jsx","_Fragment","children","renderInTable","_jsxs","Col","sm","undefined","col","md","colText","xs","xl","style","paddingTop","rowIdx","className","concat","isSubmitted","errors","items","layout","colIdx","template","label","type","attribute","require","alter","replaceAll","rightComponent","replaceSpecialChar","str","replace","GetAutoNumber","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requestBody","email","respone","wrap","_context","prev","next","window","localStorage","getItem","UserPrincipalName","fetch","method","headers","body","JSON","stringify","then","response","json","data","catch","err","sent","abrupt","stop","_x","apply","arguments","GetSaveRunningNumber","_ref2","_callee2","_context2","_x2","GetRvsRunning","_ref3","_callee3","_context3","_x3","CanAssignMoreThanOne","_ref4","_callee4","_context4","result","console","error","CanRequestCommentMoreThanOne","_ref5","_callee5","_context5","onDatareladToLoadData","_ref6","_callee6","dataJson","_context6","_x4","UploadTinyMce","axios","url","log","UploadFileRenderControl","useMasterSetting","context","useContext","MasterSettingContext","Error","genAutoNum","_genAutoNum","_control","autoNumFormat","template_id","status","isCopy","autoNumberAttibute","isCheck","formats","choiceFormat","tempLabels","tempValues","_loop","i","_i","con","tempCheck","j","showSymbol","prefix","dd","_args5","length","_con","_loop2","_j","condition","forEach","item","value","includes","_toConsumableArray","delegateYield","format","map","push","formattedYear","moment","newPosition","newFormat","_i2","position","split","symbol","RegExp","indexOf","substring","_x6","join","fisrtPreix","Prefix","Digit","digit","TemplateId","Status","Label","rowIndex","colIndex","Message","t1","getValueControl","controlID","memoDetail","strValue","toLowerCase","requestor","EmployeeId","toString","EmployeeCode","NameEn","Email","PositionNameEn","DepartmentNameEn","dataReleteToDD","conditions","res","_x5","balanceParentheses","expression","_step","stack","_iterator","_createForOfIteratorHelper","s","n","done","char","pop","e","f","finalResult","reverse","TextHeaderComponents","useEffect","isRequir","display","alignItems","fontSize","lineHeight","marginBottom","color","fontWeight","textHeaderProps","colorProps","textSubProps","GetAllAttachFiles","UploadFileAttachFiles","errUploadAttach","GetPort","errUpload","formatKeyLogicData","logicData","_logicData","unshift","k","keyValues","Object","keys","key","_defineProperty","checkIsCorrect","aValue","operator","bValue","LogicOperatorType","Equal","MoreThan","Number","LessThan","GreaterThanAndEqual","LessThanAndEqual","NotEqual","Contain","String","StartWith","startsWith","EndWith","endsWith","processHideControlLogic","jsonValue","updateTo","controlValue","isConditionSatisfied","checkValue","comparewith","control","field","objLabel","parse","isInTable","column","isShow","isReadOnly","GetApprovalsByMemoIDs","memoIds","SaveLineApprovalsByMemoId","memoId","current_approval_level","lineApprovals","MemoId","ListApprovalDetails","formatDateTime","defFormat","someDateString","getDateFormat","dateFormat","date","time","use","useSecond","getTimeFormat","InputControlComponent","name","colAction","canEditDoc","buttonType","checkActionPage","onControlChange","_objectWithoutProperties","_excluded","Controller","rules","required","render","_ref2$formState","formState","inpId","Input","_objectSpread","onBlur","onChange","target","id","readOnly","readonly","size","placeholder","description","maxLength","parseInt","disabled","onKeyDown","_e$code","code","toLocaleLowerCase","setTimeout","_document$getElementB","curIndex","document","getElementById","getAttribute","nxtIdx","$","focus","click","InputTableComponent","saveFunc","inputRef","isEditing","onEdit","nId","toggleEdit","_excluded2","nextTab","_document$getElementB2","Tooltip","title","placement","Form","Item","margin","message","autoFocus","ref","defaultValue","onPressEnter","preventDefault","_e$code3","onFocus","select","width","onClick","_e$code2","AlertContext","createContext","alertColors","AlertContextProvider","_notification$useNoti","notification","useNotification","_notification$useNoti2","_slicedToArray","api","contextHolder","Provider","toggleAlert","params","icon","BsFillInfoCircleFill","RiCloseCircleFill","FaCheckCircle","TiWarning","dangerouslySetInnerHTML","__html","onClose","duration","borderRadius","zIndex","MasterSettingContextProvider","_useState","useState","_useState2","masterSetting","setMaterSetting","fecthData","settingDict","getMasterSetting","masterData","GetAllMasterData","filter","MasterType","IsActive","updateMasterData","_masterData","formatToColumns","columns","rowData","formatColumn","newData","_data$row","row","_columns$j","_row","_item","idx","align","_","record","index","_column","tableWidth","widthInTable","dataIndex","editable","DateInputComponent","_masterSetting$Format","_masterSetting$Format2","actionAlert","action","setAction","checkStatus","Data","ErrorType","Value","formatDate","arrDate","mm","DatePicker","dateValue","newDate","Date","toDate","toLocaleString","year","month","day","getDateValue","displayFormat","Value2","showTime","inputReadOnly","DatePickerControlComponent","_ref3$field","_ref3$formState","controlTemplate","controlUpdate","DatePickerTableComponent","_excluded3","onMouseOver","InputNumberComponent","InputNumber","symbolPosition","addonAfter","addonBefore","controls","formatter","isNaN","useComma","minimumFractionDigits","decimal","toFixed","default","_value","maximumFractionDigits","blur","InputNumberControlComponent","useWatch","min","max","_errors$items$rowIdx","_errors$items$rowIdx$","_errors$items$rowIdx$2","_errors$items$rowIdx$3","_errors$items$rowIdx2","_errors$items$rowIdx3","_errors$items$rowIdx4","_errors$items$rowIdx5","intValue","InputNumberTableComponent","useAlert","validator","correct","msg","formatValue","formatMaxValue","formatMinValue","Promise","resolve","reject","border","RadioComponent","Radio","Group","multipleLine","Space","direction","choice","RadioControlComponent","RadioTableComponent","normalize","Option","Select","SelectWithTableDropdownComponent","_template$attribute","_template$attribute$i","tableOptions","onDropdownVisibleChange","loading","showSearch","optionFilterProp","filterOption","input","option","textAlign","height","SelectDropdownComponent","_template$attribute2","_template$attribute2$","selectedItem","find","checked","getValueOrFallback","SelectDropdownControlComponent","allLogicInTable","getValues","_useState3","_useState4","customOptions","setCustomOptions","_useState5","_useState6","setLoading","validate","_ref4$field","_ref4$formState","open","_value$template","des","loadTo","allVal","Key","_layout","_layout$template","val","logicRequest","SelectDropdownTableComponent","_useState7","_useState8","_useState9","_useState10","CheckboxInTableComponent","options","Checkbox","checkedValues","_onChange","test","check","onSelectChange","_values","CheckboxComponent","_res","CheckboxControlComponent","_value$item","_value$item2","_value$item3","every","CheckboxTableComponent","paddingRight","SelectCheckboxInTableComponent","splitData","mode","SelectCheckboxComponent","SelectCheckboxControlComponent","SelectCheckboxTableComponent","InputTextAreaControlComponent","TextArea","tId","errorserrorserrorserrors","autoSize","minRows","rows","InputTextAreaTableComponent","_document$getElementB3","_e$code4","AttachmentModal","visibleDialog","setVisibleDialog","setCheckHasValue","toast","nameFile","setNameFile","link","setLink","setVisibleConfirmDialog","SharepointSiteURL","TinyURL","visibleConfirmDialog","selected","setSelected","setValue","fileType","_useUserContext","useUserContext","userData","onFileSelected","mapData","hasInvalidFiles","file","dataTransfer","files","currentTarget","filefilefile","myArray","filesize","uploadFile","_response$data","formData","_response$data$pathUr","FormData","append","generateQuickGuid","pathUrl","confirm1","t0","confirmDialog","header","rejectClassName","Dialog","blockScroll","visible","breakpoints","modal","onHide","draggable","footer","Button","footerDialog","SelectButton","controlId","Control","accept","alignSelf","marginTop","htmlFor","InputText","_e$target$value","_e$target$value2","AttachmentComponent","useRef","isModalVisible","setIsModalVisible","checkHasValue","_userData","_useState11","_useState12","_useState13","_useState14","uploadType","setUploadType","_sharepointSiteURL","deFaultValue","def","_nameFile","linkFile","_openWindow","_link","protocol","_port","charAt","location","host","port","acceptUpload","Toast","ConfirmDialog","acceptClassName","Popover","content","openWindow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","backgroundColor","boxShadow","AiOutlineClose","AttachmentControlComponent","_ref6$field","_ref6$formState","AttachmentTableComponent","_ref7","AntForm","onMouseEnter","initialSession","_localStorage","employeeData","UserContext","UserContextProvider","defaultUserContext","onChanceRef","refTempSelected","listFormNames","refAttribute","currentTemp","_onControlChange","template_desc","_listRefDocsDetail","listFileAttachDetails","docsCode","refColumn","listRefDocsDetail","RefDocColumn","RefTemplate","temp","DocumentCode","refTems","refDocDetail","selectedColumn","valibCol","memoRefdoc_id","doc_no","DocumentNo","template_ID","template_Name","template_name","memoSubject","subject","MAdvancveForm","ControlValue","Amount","RNameEn","RPositionTh","RPositionEn","DepartmentTh","DepartmentEn","TemplateName","RequestDate","CompanyName","selColLabel","colLabel","TypeControl","sourceRow","sourceCols","targetPositions","selCol","_col$objTable","objTable","tarColIdx","refTable","_selectedColumn$items","_selectedColumn$items2","_selectedColumn$items3","tableRows","newRow","originCol","_colIdx","refCol","_refCol$_colIdx","_layout$data","_col$ControlValue","RefDocDisplay","getMemoForAttch","finish","t2","errorMessage","memoid","GetAttachmentFilesByMemoId","_x7","GetAllDynamic","apiName","queryString","urlParams","UserPrincipal","ConnectionString","URLSearchParams","Scopes","IsActiveOnly","ex","updateDynamic","formBody","model","CoreControllerComponent","advanceForm","setAdvanceForm","tableSummary","setTableSummary","summary","setSummary","isShowSummary","setIsShowSummary","formLoading","setFormLoading","formComponent","setFormComponent","setAutoNumFormat","_useState15","_useState16","autoNumDigit","setAutoNumDigit","_useState17","_useState18","numFormulas","setNumFormulas","_useState19","_useState20","allLogic","setAllLogic","_useState21","_useState22","valueTable","setValueTable","_useState23","_useState24","runningNumber","setRunningNumber","_useState25","_useState26","rvsPosition","setRvsPosition","_useState27","_useState28","currentLogic","setCurrentLogic","sumValue","_useState29","_useState30","isFirstLoad","setIsFirstLoad","getRevision","_getRevision","_callee12","_advanceForm","detail","rvsTemp","revision","_context14","requestDetail","RefId","Labelrevision","Alter","Itemlabel","formTemplate","setSumTable","renderControl","_advanceForm$items","logic","isInitialLogic","checkLogic","_props$listLogicData","_props$listLogicData2","_props$listLogicData3","listLogicData","relateGroup","onDataSourceLoadRelated","onChangeAttributeForm","onDataAjaxLoadTable","onDataRefLoadTable","onLoadLineApproveWithLogic","onClickLogic","mstTable","mstType","mColumn","columnAll","requestLogic","lineLogic","_logic","jsonObject","relateValue","l","labelaction","_k","_advanceForm2","_l","_layout2","_dataJson2","_j2","_labelaction","_k2","_advanceForm3","_l2","_layout3","m","_dataJson3","refFilter","loadToField","_j3","controlFilter","_k3","_advanceForm4","_l3","_layout4","_dataJson4","_k4","_advanceForm5","_l4","_layout5","_dataJson5","jsonvalue","logictype","relatedvalue","group","logicid","labelactions","labelintablestatus","autoloadvaluelabel","Column","Mastertable","Type","MColumn","ColumnAll","Filter","TBColumn","mstColumn","MSTColumn","tbColumn","setListLogicData","empId","dataSourceLoadGroup","dataSourceRelatedToLoadGroup","z","element","roles","fieldaction","_advanceForm6","_layout6","_m","approvals","_m2","_fieldaction","_k5","_advanceForm7","_l5","_layout7","_n","_m3","approver","logicGroupData","_response","setIsInitialLogic","lable","roleids","RoleId","approvetypeids","typeid","sequence","emp_id","ApproveType","onDataSourceLoad","onChangeLogicForm","logicGroup","setInformationMethodProp","tableArray","tableLabel","total","onLoadLogic","templateID","dataLogic","onChangeRefValueTableForm","DT","onChangeAttributeTableForm","_x8","_x9","_x10","_x11","empData","_dataJson","requestData","employee","ComCode","company_id","JsonCondition","templateForm","TemplateApproveId","lstTRNLineApprove","lineApproval","listApprovalDetails","_data","isHas","lineNew","line","setRequestDetail","prevState","_x12","_ref8","_callee7","dataGroup","responseGroup","_context8","dataSource","_context7","_x13","_ref9","_callee8","_context9","onChangeValueForm","_x14","_x15","_ref10","_callee9","_loop3","_context11","_context10","_x16","onTableDatareladToLoadData","_ref11","_callee10","advanceRow","advanceCol","tableRow","tableCol","tableActionCol","_context12","onChangeValueTableForm","_x17","_x18","_x19","_x20","_x21","_x22","_x23","dataRequest","_dataRequest","rowTable","_loop4","_colData","_loop5","_i4","_Object$entries","entries","_Object$entries$_i","relate","_loop6","permittedValues","resRow","perValue","colData","Array","fill","_i5","_Object$entries2","_Object$entries2$_i","onChangeEditForm","statusMemoDetail","onChangeEditFormTable","tableRowIdx","tableColIdx","table","onTableFooterChange","footerVal","footerRow","footerTable","_x24","_callee14","_context16","_ref16","_callee13","_context15","fm","ft","_x26","_x27","sum","updateTableSum","tableName","tableSum","ss","sumTable","calNumberWithFormula","formu","formula","match","_layout$data$row","regExp","eval","NaN","_ref15","_callee11","form","_context13","controlComponent","_x25","ProgressSpinner","padding","SummaryComponent","headtext","subtext","summaryProps","inputId","inputClassName","minFractionDigits","inputStyle","background","CoreControllerComponentTest","setDfCurr","dfCurr","onProcessLogicReference","templateDesc","setMemoDetail","isFirstRun","previousRefTempSelected","register","handleSubmit","onSubmit","documentNo","reset","jsonConditions","setJsonConditions","setLineApproval","isControlLoading","setIsControlLoading","getLineApproveForAmount","setListFileAttachDetails","tableSummaries","setTableSummaries","previousView","setListRefDocDetails","prepareInitialLogic","setTableOptions","setButtonType","edFont","defaultFont","_useFieldArray","useFieldArray","fields","update","controlRef","setAllLogicInTable","tableLogics","LogicType","DataRelatedToLoadData","actionlabel","DataSourceLoad","cons","objectkey","returnToValure","gogo","processRef","_processRef","refResult","_refResult","_context17","refIdOnQuery","current","onRefSelect","refSelected","_listLineApprove","listMemoIds","resApprovals","newControl","isDefaultLineApprove","detechRevisionControl","_onControlChangeRef","isArray","onProcessSummary","jsonCondition","_amount","isSum","isControlHasSum","selTable","tableTemp","AllCol","_row$colIdx","DataLineApprove","calCulateCorecontrol","currentControl","_callee3$","_datepicker","resulstField","variables","datepicker1","_datepicker2","_resulstField","_variables","_selCol","datepicker","formattedTime","_resulstField2","_variables2","callLogics","_loop$","lastIndexOf","diff","hours","Math","trunc","remainingMinutes","abs","selValue","_item$layout","checkCallLogic","onProcessLogic","updateTableSummaries","_tableSummaries","_sumTable","logics","callLogic","DataSourceRelated","DataAjaxLoadTable","labelAction","Reference","HideControl","ReadOnlyControl","refControl","_jsonConditions","_logics","oldRefControl","isRef","_controlString","newControlString","table_dd_to_dd_Result","_yield$onProcessLogic","_args6","Value1","checkFormatForLabel","from","Set","jsonData","_step2","_iterator2","_step3","_iterator3","_templateId","onProcessLogicDataSourceRelated","_controlTemplate$attr","responseDataSourceLoadRelated","controlDescription","jsonRelated","_jsonValue$relatedval","_templateDesc$items","_item$layout2","_layout3$template","_layout3$template2","_layout3$template2$at","_conditions","_relateValue","_item3","_i6","keyRelate","valueRelate","_layout$template2","_layout$template2$att","_label","_des","values","onProcessLogicAjax","_templateDesc$items2","actionFrom","_item$layout3","onProcessLogicLineApprove","conditionsValue","onFilterCondotionsValue","_x28","onProcessLogicDataRelatedToLoadData","_onFindDataJson","rawData","_data2","onFindDataJson","checkIfLogicsHaveValue","_x29","_x30","_x31","_x32","_x33","_bool","checkIfGetData","_ref12","sumRes","controlString","responseData","ee","newColumn","responseDataTable","_i7","_relateGroup","relateData","_responseData","_i9","_i10","_value2","_responseData2","_responseData3","_i11","processData","_jsonValue7","rowTemplate","colTemplate","_x34","_x35","_x36","_x37","_x38","_x39","_ref13","_x40","_controlValue","_column$control$templ2","exit","_column$control$templ","_ref14","_x41","Conditions","Spin","tip","spinning","labelCol","span","wrapperCol","initialValues","remember","onFinish","Row","Controls","nestIndex","confirm","Modal","Text","Typography","EditableContext","React","EditableRow","_Form$useForm","useForm","component","EditableCell","handleSave","isError","refDocOptions","refTableColumn","restProps","editing","setEditing","memoByOption","setMemoByOption","haveLink","setHaveLink","_inputRef$current","cursor","setFieldsValue","save","_responseControlChange","getFieldsValue","responseControlChange","findRefMemoId","isLink","mergecolumnrefdoc","HaveLink","memoData","RefDocLabel","ColumnLabel","Memo_MemoId","childNode","_col","getUrl","baseUrl","href","rel","flexDirection","justifyContent","TableComponent","_layout$template$attr","_layout$template$attr2","_columns","moveToDialogVisible","setMoveToDialogVisible","moveFormIndex","setMoveFormIndex","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","setRefDocOptions","setRefTableColumn","tableFooter","setTableFooter","exportFile","setExportFile","loadFile","setLoadFile","enabledpopupdefdoc","fetchRefDocFormTable","handleDelete","summaryFunc","returnToValue","menu","createRowCopy","x","fmt","handleAdd","eiei","handleAddMultiRow","newRows","newJa","_eiei","calCulateFunc","formulas","_result","resultColIdx","resultDecimal","_row$col$label","_row$col$label$toStri","firstDate","lastDate","resCol","allField","_row$col$label2","_row$col$label2$toStr","cols","_tableSummary","_sum","colidx","_e$col$control$templa","_e$col$control$templa2","_e$col$control$templa3","_e$col$control$templa4","calCulateTableFooter","findIndex","splice","defColumns","fixed","actionBodyTemplate","onCell","_menu$current$record$","toggle","addRowTo","duplicate","moveTo","updateRow","command","Fragment","TieredMenu","popup","el","IoEllipsisVertical","renderTableFooter","_layout$template$attr3","_layout$template$attr4","footers","changeObj","_footer$value","_eval","_eval2","addbits","newForm","strFormula","_fetchRefDocFormTable","tempAtt","refDetails","refReportDetail","refOptions","_refReportDetail$dt_R","_refColumn","refdoc","PageIndex","PageSize","CUserID","creator","RUserID","ConditionRefdoc","conditionrefdoc","Search","docDataSource","docReport","docCancelDoc","docEditDoc","docNewDoc","doccontrol","docref","GetRefDocFormTable","GetReportById","_option","a","CreatorId","report_lang","CNameEn","CNameTh","CPositionEn","CDivisionEn","CDepartmentEn","RequesterId","RNameTh","RDivisionEn","RDivisionTh","RDepartmentEn","RDepartmentTh","StatusName","MemoSubject","headerEn","dt_Report","onImportExcel","onExportExcel","mAdvance","blob","URL","createObjectURL","Blob","createElement","download","appendChild","remove","handleFileUpload","putExcelToTable","resultData","slice","ExcelTablePreview","onCheckedHeader","okButtonProps","CheckCircleOutlined","rev","onOk","cancelButtonProps","CloseSquareOutlined","onCancel","menuClickHandler","onchange","_e$target","menuItem","Menu","info","FileTextOutlined","canImport","Dropdown","overlay","Table","components","cell","rowClassName","bordered","scroll","y","haveInput","useValue","TableFooter","footerAtt","pageData","_layout$template$attr5","isShowSum","isSummary","Summary","Cell","MoveToDialog","dataLength","isVisible","setIsVisible","moveFunc","SelectDataDialog","dialogKey","dataList","dialogVisible","setDialogVisible","selectionMode","mutiable","onSelectFunc","_selectedData","memo","moveValue","setMoveValue","closable","resizable","onValueChange","inputValue","setInputValue","parser","dup","displayData","pageSize","setPageSize","pagination","onShowSizeChange","AutoNumber","ButtonComponent","setUrl","useHistory","newUrl","param","paramiter","EditorComponent","_useUserContext2","_tinyURL","_ref$field","_ref$formState","Editor","tinymceScriptSrc","init","statusbar","paste_data_images","menubar","content_css","object_resizing","default_link_target","fullscreen_native","remove_script_host","relative_urls","image_title","automatic_uploads","image_sourcetab","image_advtab","plugins","toolbar","toolbar1","fontsize_formats","font_formats","content_style","images_upload_handler","_images_upload_handler","blobInfo","success","failure","File","filename","lastModified","now","onEditorChange","editor","handleEditorChange","EmptyComponent","ImageComponent","_TinyURL","setValueState","setFileType","_onFileSelect","_props$template3","guid","_props$template$attri","_props$template$attri2","_ref2$field","pointerEvents","Image","src","alt","CgCloseR","onFileSelect","MainCheckboxComponents","HeadingComponent","istext","wordWrap","whiteSpace","textvalue","MainTextComponents","TextComponent","layoutIdx","layoutLength","_colText","_colAction","_autoNumFormat$format","_createElement2","_isCanEdit","_createElement","isHideAllColumn","o","reduce","pre","cur","hidden","_value$data","pass","_errors$items$nestInd","_errors$items$nestInd2","_tableSummaries$find","_errors$items$nestInd3","_errors$items$nestInd4","_formatColumn","each","setAttribute","InputTextComponents","_props$valueProps","setStyleDivProps","setClassNameSpanProps","setIconProps","setClassNameProps","setStyleProps","onChangeProps","keyProps","valueProps","disabledProps","placeholderProps","onClickProps","readOnlyProps","autoFocusProps","typeProps","acceptProps","onBlurProps","onFocusProps","fieldProps","random","GetButtonMemoByMemoId","ActionMemoPage","GetMemoDetailById","GetMemoDetail","GetMemoDetailOnlyById","GetRefDocTemp","GetAllMemo","SetCheckAcces","MAdvanceFormByMemoIds","getStatusQueueByActorId","_callee15","UpdateDismissById","_callee16","LoadState","GetAllMasterDataService","_classCallCheck","_createClass","_this","this","state","COMPLETE","queue","FAIL","IDLE","_this2","LOADING","r","responseToQueue","retrieve","GetSignature","isActive","GetReportSetting","GetIsDocControl","getAuthorization","getVersion","getVersionTempVC","GetLeaveTemplate","GetLeaveTemplateByEmpId","GetMasterDataFieldInfo","GetMasterDataReportTem","GetFontList","GetMasterDataBrowserAgent","browsers","value1","trim","messages","value2","GetDashboardKeyEndpoint","resultCard","_data$split","GetDashboardFilterStatus","GetDashboardAdvancedFilter","configuration","_data$split3","_data$split4","keyConfig","typeConfig","displayConfig","GetDashboardFilterGroupBy","_data$split5","_data$split6","GetDashboardStatusCard","LoginConfiguration","getAzureConfig","GetDashboardDefaultFilterConFig","ADTitleConfiguration","getUploadFileSettingConfiguration","CannotDowLoadPDFDefaultConfiguration","MemoPageContext","MemoPageContextProvider","processQue","setProcessQue","FailQue","setFailQue","setIsCheck","user","intervalId","setInterval","getMyMemoStatus","clearInterval","fail","onDismiss","checkSyncMemo","useMemoPage","NotiPopOverContent","_useMemoPage","rowGap","que","columnGap","right","top","CloseCircleOutlined","Link","to","ButtonNavigation","setActive","menuButton","setMenuButton","sortableMenu","setSortableMenu","toggleState","setToggleState","t","useTranslation","useLocation","alert","listNotify","setListNotity","useMemo","GroupMenu","create","newResult","Request","uniqueArray","SubMenu","obj","sort","b","OrderGroup","toggleArray","_idx","pathname","_toggleState","Url","res_every","mapIcon","RiTodoLine","AiOutlineReconciliation","AiOutlineSetting","AiOutlineUnorderedList","jobId","_menu$","_menu$2","_menu$1$","_menu$1$2","_menu$1$3","_menu$3","OrderSub","InternalUrl","_url","trigger","AiFillBell","redirectPath","isAuthenticated","Cookies","get","SessionContext","useSessionContext","SessionContextProvider","defaultSessionContext","GetAllEmployee","opts","_URLSearchParams","qs","UpdateEmployee","GetUserData","GetAllPosition","GetDepartment","UpdateDepartment","EmployeeDialog","_props$formData14","_props$formData15","_props$formData16","_props$formData17","_props$formData18","_props$formData19","_props$formData20","_useForm","reValidateMode","shouldUnregister","messageConfirmDialog","setMessageConfirmDialog","formSelectedPosition","setFormSelectedPosition","formSelectedDepartment","setFormSelectedDepartment","formSelectedDivision","positionList","setPositionList","deptList","setDeptList","divList","setDivtList","dataEmployeeList","setDataEmployeeList","setSearchData","report_To","setReport_To","setUploadFile","setUserData","subDialogVisible","setSubDialogVisible","fetchDataEmployee","_fetchDataEmployee","_dataEmployee","selectedEmp","NameTh","Report_ToNameEn","_props$formData21","ReportToEmpCode","fetchPosition","_fetchPosition","_dataPosition","newList","_props$formData22","_positionList","PositionId","fetchDepartment","_fetchDepartment","_dataOrgranize","_props$formData23","_deptList","DepartmentId","fetchDivision","_fetchDivision","_dataDivision","_props$formData24","divtList","DivisionId","isEmptyObject","dialogHeader","_props$formData","_props$formData2","_props$formData3","_props$formData4","_props$formData5","_props$formData6","rowDataPosition","PositionNameTh","rowDataDept","DepartmentNameTh","mainDialogVisible","_props$formData7","_props$formData8","_props$formData9","_props$formData10","_props$formData11","_props$formData12","getFormErrorMessage","acceptSave","isCodeDup","isEmailDup","empDup","_report_To$EmployeeId","_report_To$EmployeeId2","_props$formData13","Username","Position","Department","Division","DivisionNameTh","DivisionNameEn","Lang","ModifiedDate","hour","minute","second","ModifiedBy","CreatedDate","CreatedBy","SignPicPath","setTableData","setMainLoading","setMainDialogVisible","reader","FileReader","readAsDataURL","onload","onerror","getBase64","maxWidth","baseZIndex","fieldState","classNames","invalid","InputSwitch","optionLabel","showClear","filterBy","FiX","FiSave","headerTh","ignore","clearLocalStorageOnLogout","removeItem","ButtonNavigationDropdown","nameUser","setNameUser","shortNameUser","setShortNameUser","emailUser","setEmailUser","setEmpData","cookies","_useSessionContext","_useSessionContext2","sessionState","setSessionState","fullName","firstName","lastName","toUpperCase","Panel","Collapse","history","IoPersonOutline","IoMailOutline","BsFillPersonFill","viewBox","xmlns","d","stroke","IoLogOutSharp","closeDropdown","defaultActiveKey","mapButton","GetNavbarMenu","mail","navBarData","ChangePasswordModal","handleCancel","onSubmitPassword","isPasswordCompared","closeIcon","IoMdClose","current_password","new_password","comfirm_password","CheckAppSetting","CheckCanEditProfile","CheckCanAdminEditCompletedMemo","CheckAutoReport","CheckCanDownloadPdf","EmployeeDialogFix","toggleMainDialog","tableData","canEditOnlySignature","isEditProfile","departmentList","setDepartmentList","editProfileSetting","setEditProfileSetting","i18n","defaultValues","AccountCode","AccountName","DefaultLang","ADTitle","watch","setError","selectedPosition","selectedDept","selectedDiv","_selectedEmp$Employee","_selectedEmp$Employee2","newUser","changeLanguage","setItem","pos","dept","div","emp","getSetting","canEditProfile","CompanyCode","DivisionCode","getReportTo","currentCode","_e$target$files$","_e$target2","_e$target2$files$","validTypes","limitFileSize","_errs$name$message","_errs$name$message2","errs","_formState","ProgressBar","gutter","lg","EmployeeCodeSize","_getWatch","_ref7$formState","pattern","overflowWrap","limitFileInfo","NavigationBar","_props$responeConfig10","navigationMenu","setNavigationMenu","toggleDropdown","setToggleDropdown","popOverClick","setPopOverClick","setPopOverHover","setIsActive","_useMsal","useMsal","instance","accounts","inProgress","setVisible","setIsPasswordCompared","useRouteMatch","_useState31","_useState32","isWolf","setIsWolf","_useState33","_useState34","setCanEditProfile","_useState35","_useState36","setCanEditOnlySignature","addEventListener","handleScroll","initialNameUser","fetchNav","checkState","_navigationMenu","_isWolf","_canEditProfile","handleClickChange","signOutClickHandler","baseurl","_accounts$","logoutRequest","origin","account","getAccountByHomeId","homeAccountId","postLogoutRedirectUri","logoutRedirect","handleOpenEditProfileModal","handleOpenChangePasswordModal","userPopupContent","_baseUrl","hostname","newPassword","oldPassword","webUrl","_data$Remark","updatedRemark","Remark","responeConfig","pathNavbarColor","BsList","_props$responeConfig","_props$responeConfig$","_props$responeConfig2","_props$responeConfig3","_props$responeConfig4","cssConfig","pathLogoNav","onVisibleChange","overlayInnerStyle","NavbarDesktop","_props$responeConfig5","_props$responeConfig6","_props$responeConfig7","_props$responeConfig8","_props$responeConfig9","NavbarMobile","loginWolfAccount","username","password","TmpUrl","loginWolfBD","LoadContext","LoadProvider","isLoad","setLoad","useLoading","UpdateRole","role","formRoleEmployee","GetRolePermission","GetPermissionByEmpId","GetMemoAuthorized","request","RegisterWolfAccount","CheckRolePermission","isAdmin","permissions","thispermiss","permiss","permis","IsDelete","LoginScreen","_errors$username2","_errors$password2","_useLoading","webVersion","setWebVersion","apiVersion","setAPIVersion","onLoading","setOnLoading","remarkValid","setRemarkValid","PathCarousel","carouselItem","fetchVersion","_loginBody","_loginWolfAccount","_loginWolfAccount$emp","fav_storage","_loginWolfAccount2","_loginWolfAccount2$em","_fav_storage","set","GuidVerify","path","expires","hash","Carousel","autoplay","_carousel","PathLogo","AiOutlineMail","_errors$username","AiOutlineLock","_errors$password","HidePassAndRegister","paddingBottom","IsMulti","deleteAllCookies","cookie","c","toUTCString","MSAL_CONFIG","auth","clientId","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","Verbose","debug","Warning","warn","AzureAuthenticationContext","_MSAL_CONFIG$auth","myMSALObj","PublicClientApplication","loginRedirectRequest","loginRequest","isAuthenticationConfigured","setRequestObjects","scopes","prompt","redirectStartPage","signInType","setUser","loginPopup","resp","handleResponse","loginRedirect","logOutRequest","logout","incomingFunction","getAccount","currentAccounts","getAllAccounts","LoginScreenAzure","dialogBD","setDialogBD","useIsAuthenticated","authenticationModule","_useMsalAuthenticatio","useMsalAuthentication","InteractionType","Silent","login","query","search","InteractionStatus","None","submitAzure","onSubmitBD","ActionPassLogin","_accounts","idTokenClaims","aud","exp","pathCarousel","pathLogo","MdOutlineLock","FooterComponents","ButtonComponents","_props$setLabelProps","setLabelProps","UpdateApprovalMatrix","approvalMatrix","approveMatrixItems","GetAllApprovalMatrixItem","ApprovalMatrixDialog","itemsList","setItemsList","itemsListShow","setItemsListShow","subDialogVisible2","setSubDialogVisible2","setMode","approvers","setApprovers","amountFrom","setAmountFrom","amountTo","setAmountTo","positionLevelList","setPositionLevelList","formSelectedPositionLevel","setFormSelectedPositionLevel","itemAction","setItemAction","setSelectedItem","_fecthPositionLevel","positionLevel","fecthPositionLevel","matrixItems","ApproveMatrixId","ApproverId","ApproveMatrixItemId","AmountFrom","AmountTo","PositionLevelId","PositionLevelName","ApproverName","Seq","IsTypePosition","positionLv","posi","resetSubDialog","DataTable","onRowReorder","tableStyle","outlineColor","dataKey","responsiveLayout","rowReorder","bodyClassName","_approver","_pos","_approvers","editIcon","seq","onDeleteRow","binIcon","maxFractionDigits","RadioButton","replaceIndex","AddItem","AiOutlinePlus","CompanyDialog","Tel","Fax","UrlWeb","AddressTh","AddressEn","UrlLogo","InputTextarea","DepartmentDialog","masterCompany","setMasterCompany","setSelectComCode","fecthCompany","company","_formValues","_data$CompanyCode","_data$CompanyCode2","DepartmentCode","DivisionDialog","setFormSelectedRole","setRolesList","_fecthRoles","RolesId","fecthRoles","MasterDataDialog","_props$toast","_props$toast2","MasterId","Value3","Value4","Value5","show","severity","life","MenuDialog","formSelectedRole","rolesList","allRoles","defaultVal","_rolesId","AuMenuId","MultiSelect","PositionDialog","selectComCode","_fecthCompany","_fields","_f","PositionLevel","PositionLevelNameEn","PositionLevelNameTh","AccountId","RoleDialog","searchData","_fetchRoleItem","object","NameThRole","NameEnRole","NameThEmployee","NameEnEmployee","fetchRoleItem","RoleDescription","setData","itemsShow","DropdownComponents","selectValue","setSelectValue","obtions","setObtions","setstyle","_fecthData","_dataDynamic","optionsProps","styleProps","disable","optionLabelProps","borderColor","validationProps","filterProps","panelClassName","DynamicDiaLog","dynamicColumnsGrid","setDynamicColumnsGrid","obtionList","setObtionList","copyFormdata","setCopyFormdata","GetColumns","grids","dropdownList","dataType","_dataArray","_dataArrayCheck","_dataArraygrid","inx","_grid","textTH","text","translateFunc","setControllerId","manageObjectDatas","_dynamicColumnsGrid","getColumns","fieldName","selectedData","objectKey","DialogList","pop_up","setPop_up","dialogs","formDataProp","dataListProp","setDataListProp","tableComfirmDialog","visibleConfirmProp","setTableComfirmDialog","setVisibleConfirmProp","visibleDialogProp","setVisibleDialogProp","setMatrixItems","dialogName","tableColumn","DynamicTable","today","getMonth","getFullYear","prevMonth","prevYear","nextMonth","nextYear","minDate","setMonth","setFullYear","maxDate","dataDynamicTable","setDataDynamicTable","showdataDynamicTable","setShowDataDynamicTable","exportData","setExportData","toggleSelect","setToggleSelect","clearFilter","setClearFilter","filters2","setFilters2","showClearDate","setshowClearDatel","titleHead","setTitleHead","dataEdit","setDataEdit","checkAction","setCheckAction","messageButtonDialog","setMessageButtonDialog","visibleConfirm","setVisibleConfirm","canReoderColumn","setCanReoderColumn","reportFileName","setReportFileName","colletionField","setColletionField","canAction","setCanTableAction","setColumns","_useState37","_useState38","selectData","setSelectData","_useState39","_useState40","filteredData","setFilteredData","dt","_useState41","_useState42","selectedColumns","setSelectedColumns","toggleLoading","isload","arrayDataColumn","collection","isChecked","dispalyLebelAndAlter","fieldTypeFilterDynamic","FieldTypeFilterDynamic","setDefSelected","fetchData","visibleDialogAddProps","isEditProps","isDeleteProps","displayFormDialog","items_label","getElementsByClassName","innerHTML","setItemsCount","matrixItem","myData","_filters","canReorderColumn","FieldCollection","matchMode","FilterMatchMode","EQUALS","DATE_AFTER","DATE_BEFORE","BETWEEN","DATE_IS","CONTAINS","ReportName","statusItemTemplate","monthNavigatorTemplate","event","originalEvent","normalFilterTemplate","filterApplyCallback","filterModel","AutoComplete","suggestions","completeMethod","datas","array","property","has","Map","getUnique","_c$option$field","onSelect","dynamicColumns","_filters2$col$field","_filters2$col$field2","_filters2$col$field3","_filters2$col$field4","_filters2$col$field5","_filters2$col$field6","_filters2$col$field7","_filters2$col$field8","_filters2$col$field9","_filters2$col$field10","_filters2$col$field11","_filters2$col$field12","_filters2$col$field13","_filters2$col$field14","_filters2$col$field15","_filters2$col$field16","_filters2$col$field17","_filters2$col$field18","_filters2$col$field19","_filters2$col$field20","flexGrow","flexBasis","sortable","filterMatchMode","filterElement","itemTemplate","statusRowFilterTemplate","filterHeaderClassName","showClearButton","onFilterClear","Calendar","monthNavigator","yearNavigator","yearRange","yearNavigatorTemplate","readOnlyInput","dateFilterTemplate","_rowData$col$field","_unused","mainStr","subStr","AmountFrom_AmountTo","_unused2","image","textDecoration","Memo_DocumentNo","actionLinkIReport","_unused3","toastShowSuccess","toastShowError","selData","SplitButton","setDisplayFormDialog","dropdownIcon","onColumnToggle","orderedSelectedColumns","some","sCol","exportExcel","excelData","dataExport","dataField","_data$col$field","reconStructionForExport","xlsx","workbook","Sheets","utils","json_to_sheet","SheetNames","excelBuffer","write","bookType","saveAsExcelFile","buffer","fileName","FileSaver","saveAs","getTime","importExcel","wb","wsname","ws","_importedData","_props$apiName","apiNamereplace","read","sheet_to_json","shift","readAsArrayBuffer","header1","showSelCol","showCol","showSelectAll","recon","dataShow","reconStructionForShowData","canExport","renderHeader1","stripedRows","paginator","reorderableColumns","onRowClick","rowClickFunc","onColReorder","colOrder","rowPointer","selection","onSelectionChange","globalFilterFields","rowsPerPageOptions","rowHover","filters","filterDisplay","paginatorTemplate","currentPageReportTemplate","actionBody","exportable","frozen","alignFrozen","renderActionColumn","checkActionProp","titleHeaderProp","toastShowSuccessProp","toastShowErrorProp","messageButtonDialogProp","GetTemplateFromDDL","GetTemplateTemplateListVersion","GetTemplateeBindFormNameDDL","SearchTemplateListEditing","GetTemplateListVersionHistory","GetTemplateByDocTypeCode","GetTemplateById","GetTemplate","GetAllByCreateTemplate","ReportTemplateList","GetTemplateControlById","AddTemplate","AddTemplateAndVersion","DeleteTemplate","_ref17","_callee17","LoadLogic","_ref18","_callee18","_context18","ValidateRefTemplate","_ref19","_callee19","refValid","_context19","TreeSelectNewRequest","groupDataTemplate","setGroupDataTemplate","searchTemplate","setSearchTemplate","isOpen","setIsOpen","checkActionFavorite","setCheckActionFavorite","checkFilter","setCheckFilter","_fetchDataTemplate","fetchDataTemplate","removeEventListener","_dataTemplate","_groupDataTemplate","fav_cookie","groupTemplate","keyDataTemplate","_fav_cookie","_fav_cookie$k","_value$i","selectAll","DefultMode","OnlyActive","GroupTemplateName","localeCompare","fromEntries","TemplateNameWithCode","favorite","onClickStar","groupIdx","templateIdx","checkUnClickStar","element2","checkHasFavorite","_groupDataTemplate$0$","_groupDataTemplate2","onUnFavorite","_groupTemplateName","_templateNameWithCode","onFilterChange","_searchTemplate","_data$data$i","_data$data$i$Template","_data$data$i2","_data$data$i2$Templat","_data$header","filteredList","filteredGroup","filtered","_data$TemplateName","_data$TemplateNameWit","_data$GroupTemplateNa","_groupTemplate","activeDefault","_searchTemplate$i$dat","_group","setDataTemplateTreeProps","listFormName","AiFillStar","AiOutlineStar","_searchTemplate$i$dat2","paddingLeft","BsSearch","expandIcon","IoChevronDownSharp","IoChevronForward","expandIconPosition","BsPlusCircle","DynamicReport","reportId","useParams","reportName","itemsCount","reportDetailBody","ReportTemplateId","LogoLoading","imgLoading","_fetchData","minHeight","flex","AutoCompleteComponents","suggestionsProps","completeMethodProps","onKeyPress","notButton","multiple","readOnlyprops","onMouseDown","RadioButtonComponents","inputIdProps","nameProps","checkedProps","labelProps","reportModelIReportModel","Selectedfieldlist","ReportDescription","IsPrivate","CreatedByname","ModifiedByname","Selectedfieldlistfilter","Columns","Rows","TemplateNewVersion","CanDelete","RoleEmp","Mode","ReportDialog","selectedField","setSelectedField","templateKey","setTemplateKey","templateField","setTemplateField","templateMulti","setTemplateMulti","templateFieldMulti","setTemplateFieldMulti","globalFilterValue","setGlobalFilterValue","isDialogVisible","keyAutoComplete","setKeyAutoComplete","employeeRequest","setEmployeeRequest","setEmployee","roleData","setRoleData","radioButtonCheck","setRadioButtonCheck","radioButtonCheckToday","setRadioButtonCheckToday","radioButtonCheckFrom","setRadioButtonCheckFrom","filterValue","setFilterValue","reportModel","setReportModel","filterValueSelected","setFilterValueSelected","setDropdownfilterValue","setGroup","groupData","setGroupData","_useState43","_useState44","indexOrderBy","setIndexOrderBy","_useState45","_useState46","indexHideColumn","setIndexHideColumn","_useState47","_useState48","indexSortingBy","setIndexSortingBy","_useState49","_useState50","textHeader","setTextHeader","_useState51","_useState52","tableLoading","setTableLoading","_useState53","_useState54","templateMode","setTemplateMode","_useState55","TemplateIdValidation","FieldCollectionValidation","ReportNameValidation","ReportDescriptionValidation","RoleEmpValidation","RoleIdValidation","DisabledSave","_useState56","validationForm","setValidationForm","_Data","_editData","_props$dataEditReport","_props$dataEditReport2","_employee","_RoleEmpSplit","_RoleIdSplit","arrayRoleEmp","arrayGroup","dataEditReportProps","onTemplateMode","_dataRoleEmp","Isprivate","_editReportData","_props$dataEditReport3","_props$dataEditReport4","_dataJSONParse","_dataFavoritesItem","arrayTemplate","_arrayItes","_i3","arrayDataReplace","_element$FieldText","_dataSplit","_element2","_element","TemplateID","_props$templateDataPr","dataFilter","templateDataProps","_SelectFormEdit","FieldText","FieldCode","_save2","objSave","_arrayName","_UpdatrReport","dataDF","reportTemplateId","remove_character","editProps","AddReport","checkSetProps","toggleDialog","UpdateReport","setEditReportProps","_TemplateKey","_TemplateKeyArray","TemplateKey","addTemplateKey","editData","_fechData2","_fechData","CreateBy","CreateDate","Reportdescription","Reportname","ReporttemplateID","SecretId","Templateversion","editReportData","indexGroupByFilter","indexGroupBy","indexSortingByByFilter","indexHideColumnByByFilter","indexOrderByColumnByByFilter","searchTextEnter","_rowData","_filterValueSelected","char_pos","IoCloseOutline","marginRight","BiSave","_save","_SelectFliedMulti","onRowReorderFilter","onChangeReportName","onChangeFilterValue","onChangeGroupData","_FilterValueSelected","allFilter","valueSelected","_RadioButtonFormType","_RadioButtonFormType2","_dataFilter","_SelectFormEdit2","_SelectFliedEdit","_SelectForm2","_SelectFlied","_CalendarDate","rowdata","_DateTime","_SelectFliedMulti2","edit","arrayPush","arraySelected","_element3","_element4","_showModal","req","_SelectFliedEdit2","arrayFliedTest","arrayFliedId","_selectFliedData","_selectFliedData$i","replaceString","_objJson","_templateSelect","_SelectedfieldlistAll","arrayFieldMulti","_arraykey","_i8","_element6","ReportListTemplateSelect","SelectedfieldlistAll","arrayFliedFliter","_SelectFlied2","_element8","_arrayKey","_i12","_element9","_element10","_AutoComplete","_dataName","Height","borderBottom","_SelectForm","resetFilterOnHide","editReport","_dataArrya","dataFilterValueSelected","ID","FieldDisplay","IsExcludeBlankData","FieldType","IsEquals","FieldTextFrom","FieldTextTo","FieldBit","FieldTypeFilterStatic","IsTodayFrom","IsTodayTo","FilterParameter","FilterValueSelected","onChangeDropdownSelectForm","scrollable","scrollHeight","showButtonBar","onChangeDropdownfilterValue","_AutoCompleteText","showModal","dataSelectEmployee","UnAurthorization","withPerMission","Component","assign","_objectDestructuringEmpty","isAuthorize","setIsAuthorizeo","_empData$employeeData","menus","_query","_isAuthorize","_menu$Url","_location$pathname","_menu$Url2","_location$pathname2","_menu$Url3","SortingButton","sortType","AiOutlineSortAscending","AiOutlineSortDescending","sorterFunc","filterType","nameA","nameB","_a$key","_a$key2","_b$key","_a$key3","_b$key2","RangePicker","customColumns","canEdit","rowClickAction","reloadData","customImportFileButton","paginationOption","onPageChange","allColumns","setAllColumns","showData","setShowData","isHoverAction","setIsHoverAction","setFilters","canOpenMemo","setCanOpenMemo","exportLoading","setExportLoading","importLoading","setImportLoading","GetFilter","formatData","_allColumns","dateTimeFormat","FormatDate","tableFilter","getsettingReportTableColumns","getsettingTableColumns","previousFilter","sessionStorage","colField","colType","colWidth","getWitdthFormText","getSorterButton","getInputFilter","onMouseLeave","ellipsis","showTitle","htmlBody","isPublishVersion","Tag","ctx","getContext","font","measureText","_tableFilter$find","_tableFilter$find2","v","filterFunc","rowFilter","ranges","Today","startOf","endOf","allowClear","uniq","isDuplicate","add","_option$value","onClear","startDate","endDate","_e$filter$key","_e$filter$key$toStrin","allCol","_location$search","_location$search2","showHeader","showSizeChanger","onRow","onDoubleClick","onContextMenu","SelectedFieldComponent","reportTemp","setReportColumns","setGettingreport","rtcon","setRtcon","findSelected","fecthMasterData","_rtcon","_rtcon$","_rtcon$$value","_selectedfieldlist","_selectedfieldlistfilter","formatNumberWithTrailingZeros","number","decimalPlaces","_numberString$split","_numberString$split2","integerPart","decimalPart","padEnd","countDigitsAfterDecimal","numberString","decimalIndex","fecthDataReport","fieldCollection","numCols","dateCols","edCols","FavoritesItem","suffix","Decimal","doc","DOMParser","parseFromString","innerText","getChipValue","fieldValue","onChangeSelectField","exitFilter","_data$Selectedfieldli","isPass","request_date","dateForm","validateFun","Chips","separator","DynamicReportFix","_isAutoReport","setIsAutoReport","setReportTemp","_reportName","setReportName","reportColumns","gettingFilter","setGettingFilter","gettingReport","controller","AbortController","abort","atCols","_reportTemp","signal","_data$col$key$split","_data$col$key$split2","ReportTemplateSelectByReportID","panelTemplate","headText","toggleIcon","collapsed","titleClassName","togglerClassName","onTogglerClick","Ripple","IoArrowBackSharp","headerTemplate","toggleable","pathLoading","setTemplate","empList","setEmpList","checkReport","setCheckReport","setEditReport","dataEditReport","setDataEditReport","setbaseUrl","setIsAdmin","_fetchEmployee","t3","fetchReport","_fetchReport","userId","_fetchTemplate","empid","dataJsonn","_dataTemplatee","_fetchGetReportById","rePortId","_ReportById","fetchTemplate","fetchEmployee","Switch","Route","exact","adminActionBody","fetchGetReportById","_accept","DeleteReport","_user","checkProps","ShowContentScreen","pdfdff","pdfData","isShowPdfData","allowFullScreen","frameBorder","Empty","FlowCardComponent","setSeq","setCurrent","requestDetails","nameEn","positionNameEn","departmentNameEn","signature_en","FlowScreen","HistoryComponent","dataDialog","setDataDialog","responeWorkList","listHistoryDetails","sortDate","aa","action_date","bb","convertDate","momentObj","convertAction","formatPlatform","IoDesktopOutline","AiFillApple","AiFillAndroid","FaLine","convertPlatform","convertHtml","_comment","_textAbstract","last","textAbstract","dismissableMask","actor_name_en","actor_name_th","actor_position_name_en","actor_position_name_th","comment","platform","_data$comment","HistoryScreen","historyData","AttachmentCardComponent","comploteLink","setComploteLink","showFile","attachPath","attach_path","BsFileEarmarkPdfFill","FaFileWord","BsFileEarmarkExcelFill","FaFilePowerpoint","BsFillFileEarmarkTextFill","attach_file","actor","attach_date","AttachmentScreen","attachFiles","CommentComponent","setComment","setPlaceholder","setInvalid","dataEmployee","setDataEmployee","isLoading","setIsLoading","selectedEmployee","setSelectedEmployee","isMultiAssign","isMultiRequestComment","showAll","setShowAll","onGlobalFilterChange","dataEmp","_data$NameTh","_data$NameEn","showError","EmployeeDialogFooter","ConfirmMultiSelectEmployee","renderHeader","sentToMemo","inputComment","waiting_for_id","waiting_for","setCommentStatus","pageName","onUpdate","waitingFor","waitingForId","commentStatus","overFlow","_props$lineApproval","_props$lineApproval2","_props$lineApproval2$","approvalSequence","department","signature","columnKey","BiCommentDetail","HeaderDialogComment","onInit","metaKeySelection","MemoButtonComponent","memoMenuButton","setMemoMenuButton","setRequire","mapMemoButton","memoMenu","menuData","mapMenuData","commandName","setSelectedView","setCurPage","BiSend","marginLeft","IoMdCheckmarkCircleOutline","IoMdArrowRoundBack","RiDeleteBinLine","AiOutlineSave","MdOutlineCancel","IoMdRefresh","BsArrowRight","RiFileForbidLine","GeneratePDF","_requestDetail","responeMemoDetail","responePreviewPDF","Memoid","MemoPage","BadgeNotificate","count","setCount","hasLastComment","setHasLastComment","setNotificate","dataMemo","_props$dataMemo","_props$dataMemo2","_props$dataMemo3","IsMemoHistoryLastComment","MemoHistoryAmount","MemoAttachFileAmount","_history$slice$shift","lastComment","amountAttachment","dataDetail","_data$attachfiles","attachfiles","_request$listFileAtta","action_id","amountComment","amount","Badge","dot","IC_ATTACHMENT_FILE","IC_HISTORY","isCard","Ribbon","offset","badgeSize","DetailContentScreen","_memo$requestDetails","_memo$requestDetails2","_memo$requestDetails3","onDetailLoading","page","setPage","setPdfData","setMemoMenu","setMemo","_onFetchPdf","onFetchPdf","MemoID","_Fetch","Fetch","menuButtonSort","responeData","motion","transition","animate","IoDocumentText","RiNodeTree","BsClockHistory","GrAttachment","IoOpenOutline","AnimatePresence","exitBeforeEnter","initial","opacity","SelectDate","dates","setDates","isFullWidth","showIcon","BsCalendarDate","left","onOpenChange","suffixIcon","GrFormNextLink","onCalendarChange","MultiSelectDropdown","defaultVaue","dropdownStyle","onDeselect","_selected","valueFilter","dropdownRender","flexWrap","onSelectAll","Divider","SearchFilterComponent","searchKeyword","SelectDropdown","alowClear","WorkListSideBarElementUse","_props$searchObject","_props$searchObject2","_props$searchObject3","_props$searchObject4","_props$searchObject5","_props$searchObject6","_props$searchObject7","_props$searchObject8","_props$searchObject9","_props$searchObject10","_props$searchObject11","searchObject","keyword","BsListTask","onSelectTask","defaultTask","RiListCheck2","formStatus","IoNewspaperOutline","formType","BiBuildings","allCompany","allDepartment","WorklistCardComponent","_props$data","_props$data2","_props$data3","_props$data4","dataUrl","setDataUrl","isCommentActive","setIsCommentActive","amount_label","currentMemoId","onApproveActionClick","_requestor","Requestor","setContent","setOnDetailLoading","Subject","IsDelegated","delegateMemo","FaChevronRight","WaitingFor","taskGourp","GetWorkListByTaskGroup","employees","todoFormatDate","todoFormatWaitingFor","todo","_todo","_emp","GetAllHistory","GetApprovalByTemplate","GetAllApprovals","_worklistToShow$slice","workListData","setWorkListData","dtWorkListData","worklistToShow","setWorklistToShow","formTypeOptions","setFormTypeOptions","companiesOptions","setCompaniesOptions","departmentsOptions","setDepartmentsOptions","formStatusOptions","setFormStatusOptions","setSearchObject","currentPage","setCurrentPage","itemPerPage","setItemPerPage","setIsShowPdfData","isCardLoading","setIsCardLoading","toggleDetail","setToggleDetail","sidebarState","setSidebarState","setCurrentMemoId","taskHeader","setTaskHeader","currentIndex","setCurrentIndex","selectedCard","setSelectedCard","setDefaultTask","setTaskGourp","setGetMemoDetail","previousQue","abortController","_itemPerPage","indexOfLastPost","indexOfFirstPost","onpopstate","onbeforeunload","firstRetrieveData","updateWorklistToShow","fetchWorklist","task","silent","dateFrom","dateTo","_userData$EmployeeId","dataWorklist","_args","iItemPerMore","CountMoreItem","FilterDateFrom","toISOString","FilterDateTo","initialWorklistOption","worklist","_formTypeOption","_formStatusOption","_companiesOption","_departmentsOption","resultFormTypeOption","resultFormStatusOption","resultAllCompanyOption","resultAllDepartmentOption","DepartmentName","_Object$entries3","_Object$entries3$_i","_Object$entries4","_Object$entries4$_i","onUpdateMemo","_getMemoDetailById","listControlRunning","_autoNumFormat","templateDescJson","_ActionMemoPage","desc","getElementsByTagName","overflow","is_text_form","detechAutonumberFormula","CheckSaveAutonumber","listRefDocDetails","_autoFormats","templateId","autoTemp","gg","newRunning","checkAuto","checkNum","RunningNumber","_requestor$EmployeeId","_memoDetail","_dataAttachfiles","_dataApprovals","memoButton","_dataMemobutton","_dataHistory","Permission","View","subtract","formSelect","rawObject","_worklist","statusFilter","companyFilter","departmentFilter","formFilter","keywordFilter","filterStatusWorklistCard","filterCompanyWorklistCard","filterDepartmentWorklistCard","filterFormWorklistCard","_searchObject$keyword","_todo$DepartmentName","_todo$TemplateName","_todo$CompanyName","_todo$Status","_todo$DocumentNo","_todo$Subject","_waitingFor$NameEn","_requestor$NameEn","_requestor$NameTh","_keyword","filterKeywordWorklistCard","actionBack","selecteCard","_taskHeader","_currentMemoId","sidebar","previous","IoMenu","numItem","Pagination","defaultCurrent","LoginScreenOpenId","GetOpenId","PathCodeUrl","onSubmitLoginOpenId","_loginOpenId","redirect","_loginOpenId$employee","PrivateRoute","authenticationPath","setRedirectPath","routeProps","currentLocation","paramString","_codeUrl","sessionContext","updateSessionContext","chaeckLastActtion","lastAction","diffMilliseconds","timeout","_masterData$find","_masterData$find2","Redirect","ErrorPageComponent","AddQueryComponent","selectedValue","setSelectedValue","_items","attributeButton","setAttributeButton","setViewModal","onSaveQuery","IoSaveOutline","viewModal","hideInPdf","HiPlus","idx2","_data$layout$idx","_data$layout$idx$para","_data$layout$idx2","_data$layout$idx2$con","BsTrash","deleteAttributeButton","_props$template$attri3","_props$template$attri4","_props$template$attri5","setLinkFile","maxFile","uploadFileState","_props$uploadFileStat","_props$uploadFileStat2","_response$data2","_response$data3","_response$data4","_response$data5","_response$data6","setUploadFileState","fromRender","openLink","RiDeleteBack2Line","AddConditionComponent","_conditions$condition","selectedFormName","setSelectedFormName","selectedFormValue","setSelectedFormValue","setDefaultValue","defaultValueItem","setDefaultValueItem","setConditions","actionConditions","setActionConditions","idxConditions","setIdxConditions","_props$attributeNumbe","_condition","attributeNumber","attributeIdx","_props$advanceForm$it","arrayItem","arrayDataItem","_dataLayout","_dataItem","_formats","setAttributeNumber","setConditionViewModal","Save","conditionViewModal","dataRequestValue","onSaveToCondition","RiEditLine","deleteCondition","_props$title","curPage","onSelectView","checkTypeIcon","AddPreFixComponent","_formats$format","setFormats","setDateFormat","formatsIdx","setFormatsIdx","saveToFormatAction","setSaveToFormatAction","selectedCondition","setSelectedCondition","symbolValue","setSymbolValue","positionValue","setPositionValue","_format","dtformat","_attribute","SavePreFix","BiFont","AiOutlineFileText","AiOutlineCalendar","onSaveToFormat","DragDropContext","onDragEnd","_components","destination","list","startIndex","endIndex","_result$splice","removed","reorder","source","Droppable","droppableId","provided","snapshot","_formats$format2","innerRef","Draggable","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","updateFormat","deleteFormat","AutoNumberComponent","setAttributeIdx","_data$condition","deleteAutoNumber","CalendarDefaultValueGroup","CalendarComponent","_props$template$attri6","_props$template$attri7","_props$template$attri8","_props$template$attri9","_props$template$attri10","_props$template$attri11","_useMasterSetting","defaultType","setDisabled","ChoiceComponent","setInput","setCheckBoxRequire","handleKeyDown","cellEditor","editorCallback","textEditor","onCellEditComplete","newValue","rowEditor","MultiChoiceComponent","displayDropdown","dropdown","setDropdown","setDisplayDropdown","idex","tooltip","tooltipOptions","DropdownComponent","checkBoxRequire","_props$itemsList$item","TemplateModal","contentEditor","setContentEditor","setRichText","IoDocumentTextOutline","checkBoxHeading","displayCheckBox","setCheckBoxHeading","NumberComponent","_props$template$attri12","_props$template$attri13","_props$template$attri14","_props$template$attri15","_props$template$attri16","_props$template$attri17","_props$template$attri18","_props$template$attri19","_props$template$attri20","setDecimal","setReadonly","setMin","AddConditionModal","_props$revisionCondit","revisionConditions","conditionsIdx","newConditions","boxid","controltype","setRevisionConditions","saveConditions","BiArchiveIn","RevisionComponent","setConditionsIdx","BsX","ShortTextComponent","CreateControlSideBarElement","SideBarData","FaHeading","BiText","ImTextHeight","AiOutlineNumber","FiCalendar","IoMdRadioButtonOn","MdOutlineCheckBox","FaRegListAlt","BsTable","BsFileEarmarkRichtext","FaRegImage","CgPlayButtonO","BsSortNumericDown","BiTimeFive","SideBarDataInColumn","renderIn","_data$component","_data$component$props","_data$component2","_data$component2$prop","_data$component2$prop2","_data$component2$prop3","_data$component3","_data$component3$prop","_data$component4","_data$component4$prop","_data$component4$prop2","_data$component4$prop3","TextAreaComponent","autoResize","ColumnComponent","setComponent","control2","errors2","handleSubmit2","setFromRender","checkType","renderComponent","attributeColumn","checkActionButton","columnData","columnIdx","setAttributeColumn","_respone$control","_respone$control$temp","_respone$control2","_respone$control2$tem","_respone$control2$tem2","_respone$control3","_respone$control3$tem","_respone$control3$tem2","_respone$control4","_respone$control4$tem","_respone$control4$tem2","_respone$control5","_respone$control5$tem","_respone$control5$tem2","_respone$control6","_respone$control6$tem","_respone$control6$tem2","_respone$control7","_respone$control7$tem","_respone$control7$tem2","_respone$control8","_respone$control8$tem","_respone$control8$tem2","_respone$control9","_respone$control9$tem","_respone$control9$tem2","_respone$control10","_respone$control10$te","_respone$control10$te2","_respone$control11","_respone$control11$te","_respone$control11$te2","_respone$control12","_respone$control12$te","_respone$control12$te2","_respone$control13","_respone$control13$te","_respone$control13$te2","_respone$control14","_respone$control14$te","_respone$control14$te2","_respone$control15","_respone$control15$te","_respone$control15$te2","_respone$control16","_respone$control16$te","_respone$control16$te2","_respone$control17","_respone$control17$te","_respone$control17$te2","_respone$control17$te3","_respone$control18","_respone$control18$te","_respone$control18$te2","_respone$control19","_respone$control19$te","_respone$control19$te2","_respone$control20","_respone$control20$te","_respone$control20$te2","_respone$control21","_respone$control21$te","_respone$control21$te2","_respone$control22","_respone$control22$te","_respone$control22$te2","_data$length","_data$widthInTable","_data$decimal","_data$min","_data$max","symbolNumber","useDate","fullYear","fileTypeFile","defaultValueImage","callback","shiftKey","ReferenceDocument","_props$selectedReport5","_props$mergeColumnRef4","_props$mergeColumnRef5","_props$mergeColumnRef6","_props$mergeColumnRef7","_props$conditions","_props$conditions$con","_props$conditions2","_props$conditions2$co","visibleDocControl","setVisibleDocControl","itemsControlLabel","itemsConditionList","conditionRefDoc","conditionType","defaultValueRefDoc","setDefaultValueRefDoc","defaultValueRefDoc2","setDefaultValueRefDoc2","defaultValueReport","setDefaultValueReport","actionSubmit","setActionSubmit","defaultValueDocControl","defaultValueDropDown","_props$mergeColumnRef","_props$mergeColumnRef2","mergeColumnRefDoc","columnRefDoc","_props$mergeColumnRef3","array2","arr3","setMergeColumnRefDoc","_fetchMyAPI","fetchMyAPI","MapData","dafault","setSelectedTemplateRef","mapDefaultData","_fetchDataTemplateById","fetchDataTemplateById","selectedReportRef","_newValueAlterSelected","newValueAlterSelected","setValueConfigColumnTable","selectedTemplateRef","_props$selectedReport","_props$selectedReport2","_props$selectedTempla","_props$selectedTempla2","mapper","_props$selectedReport3","_props$selectedReport4","selectedFieldList","_props$selectedTempla3","_props$selectedTempla4","_array2","_data3","prototype","setDefaultConfigColumn","AdvanceForm","defaultConfigColumn","setSelectedReportRef","_props$selectedReport6","_props$selectedReport7","templateCode","arrayCode","_response2","_dataReportTemplate","setDocDataSource","_selectedReportById","idReport","arrayReport","arrayMerge","optionGroupChildren","_props$selectedDocCon","_props$selectedDocCon2","_props$selectedDocCon3","selectedDocControlTemplate","setSelectedDocControlTemplate","renderIsDocControl","_e$value","selectedReportById","_val","_props$conditions3","_props$conditions3$co","_props$conditions4","_props$conditions4$co","_props$conditions5","_props$conditions5$co","_props$conditions6","_props$conditions6$co","_props$conditions7","_props$conditions7$co","_props$conditions8","_props$conditions8$co","maxHeight","FooterTableComponents","_props$footerTable2","_props$footerTable2$r","footerData","setFooterTable","_props$footerTable3","_props$footerTable3$r","_props$footerTable5","_props$footerTable5$r","_props$footerTable7","_props$footerTable7$r","_props$footerTable10","_props$footerTable10$","_props$footerTable4","_props$footerTable6","_props$footerTable8","_props$footerTable9","_props$footerTable","_footerTable","deleteFooterTable","setLayoutIdx","activeIndex","setActiveIndex","TabMenu","onTabChange","deleteColumn","ImageComponents","widthControl","setWidthControl","heightControl","setHeightControl","fileTypeImage","preview","ModalCreateComponents","richText","_itemsLength","itemIdx","_templatesDes","templatesDes","_templatesDes$attribu","defaultCheckBoxHeading","defaultValueReportTable","defaultValueTemplateTable","defaultValueFooterTable","defaultValueConfigColumnTable","_templatesDes$attribu2","_templatesDes$attribu3","_templatesDes$attribu4","_templatesDes$attribu5","_templatesDes$attribu6","_templatesDes$attribu7","_templatesDes$attribu8","_template","_templatesDes$attribu9","docRef","setDefaultValueDocControl","_templatesDes$attribu10","_templatesDes$attribu11","_templatesDes$attribu12","_templatesDes$attribu13","_templatesDes$attribu14","_templatesDes$attribu15","_templatesDes$attribu16","_templatesDes$attribu17","_templatesDes$attribu20","_templatesDes$attribu21","_templatesDes$attribu22","_templatesDes$attribu23","_templatesDes$attribu18","_templatesDes$attribu19","_templatesDes$attribu24","_templatesDes$attribu25","_templatesDes$attribu26","_array","_templatesDes$attribu27","_templatesDes$attribu28","_templatesDes$attribu32","_templatesDes$attribu33","_templatesDes$attribu37","_templatesDes$attribu38","_templatesDes$attribu29","_templatesDes$attribu30","_templatesDes$attribu31","_newDoc","docNewDocArray","newDoc","_templatesDes$attribu34","_templatesDes$attribu35","_templatesDes$attribu36","_docEditDoc","docEditDocArray","_template2","_templatesDes$attribu39","_templatesDes$attribu40","_templatesDes$attribu41","_docCancelDoc","docCancelDocArray","_template3","templates","_templates","requestDataToLayout","updateChanges","checkUnique","defaultDataValue","_defaultDataValue","_dataRequest2","_defaultDataValue2","_dataRequest3","_defaultDataValue3","_dataRequest4","_defaultDataValue4","_dataRequest5","_defaultDataValue5","_dataRequest6","_defaultDataValue6","_dataRequest7","_defaultDataValue7","_attributeColumn$colu","_selectedReportRef$do","_selectedReportRef$do2","_selectedTemplateRef$","_dataRequest8","_defaultDataValue8","_dataRequest9","_dataRequest10","defValue","_defaultDataValue9","_data$width","_data$height","_dataRequest11","_defValue","_defaultDataValue10","_dataRequest12","_defaultDataValue11","_dataRequest13","_defaultDataValue12","_dataRequest14","_defaultDataValue13","index2","_dataLayout$template$","labelHeading","autoRowNumber","textButton","setVisibleCreateControl","visibleCreateControl","TinyMceComponent","loadingTextFromValue","textFromValue","setTextFromValue","FormSettingComponent","viewModalControl","setViewModalControl","setItemsIdx","setLayoutLength","column1","column2","findUnique","viewManageComponent","setViewManageComponent","setControlModel","IsTextForm","BsFileEarmarkText","BsFileFont","droppableProps","_data$template","_data$template2","no_words","deleteControl","unique","newCol1","unique1","unique2","newCol2","copyLayout","BiCopyAlt","deleteLayout","SelectCondition","_selectedColumn$contr3","_selectedColumn$contr4","setSelectedColumn","setOptions","numCondition","setNumCondition","isMultiValue","setIsMultiValue","multiOptions","setMultiOptions","multiValues","setMultiValues","isCheckBox","setIsCheckBox","_selectedColumn$contr","_selectedColumn$contr2","updateData","SelectDataFormTable","setGlobalFilterValue1","global","filters1","setFilters1","globalFilter","setSelectedData","_filters1","headerStyle","ReadOnlyTable","jsonConditionField","handleChange","maxSelectedLabels","isRequester","PlusCircleOutlined","AddMatrixForm","_props$rowData","_props$rowData2","positionLevelOptions","setPositionLevelOptions","matrixOptions","setMatrixOptions","setShowDialogFootter","maxLevel","setMaxLevel","setPositionLevel","approvalMatrixDD","setApprovalMatrixDD","setConditionsValue","specficApprovals","setSpecficApprovals","dialogTitle","setDialogTitle","dialogBody","setDialogBody","loadingSelectData","setLoadingSelectData","defSignatureID","setDefSignatureID","loc","setLoc","dtp","setDtp","doa","setDoa","spc","setSpc","isParallel","setIsParallel","parallelType","setParallelType","approveSlot","_useState57","_useState58","_useState59","_useState60","setJsonConditionField","labelStyle","fontStyle","ColumnJsonCondValue","jsonCon","MaxLevelId","Line_of_Command","Direct_to_Position","matrixList","Approval_MatrixId","Design_of_Authority","Specific_Approver","spc_isParallel","IsParallel","IsApproveAll","approverSlot","ApproveSlot","setDefValue","signatureList","masterId","componentName","specific_Approver","TemLineId","allApproveLength","EmployeeName","SpecificTypeId","SignatureID","_fetchMatrixData","matrix","_callSelectUserDialog","_callSelectRoleDialog","fetchMatrixData","_fetchTemplatData","fetchTemplatData","statusBodyTemplate","sig","getSign","SignatureId","rowInx","onSelected_Sinatures","templateCol","FiPlus","callSelectUserDialog","callSelectRoleDialog","ApproveMatrix","redundant_Approver","setRedundant_Approver","auto_Approve","setAuto_Approve","allApprovals","setAllApprovals","selectedApprovals","setSelectedApprovals","setTemplateLogics","setDialogMode","onRedundantChange","AutoApprove","ApproverCanEdit","IsCheckAccess","GetApproveType","ApproveTypeId","TemLineApprove","spc_approval","TemplateLogic","approval","LstCondition","conIndex","Tem_LineId","_approval","ApprovalMatrixId","eIdx","_approval$TemLineId","logicControl","methodtype","InsertType","amountstatus","Logictype","Jsonvalue","setLogicsApprover","specificApprovers","_props$controlModel$t","_props$controlModel$t2","_props$controlModel$t3","_props$controlModel$t4","controlModel","spcApprove","tem","_ColumnJson","spcApproves","maxLevelName","matrixId","Leng","GetMatrixData","MaxLevelName","maxLevelId","GetMaxLevelName","setAllApprovalsForControl","AutoApproveWhen","AddMatrixCondition","dragIndex","dropIndex","appSpcific","_rowData$Conditions","_rowData$Conditions$C","allSelected","spcs","TemSpecificId","RiFileCopy2Line","newSpcApprovals","isToggleDialog","approveType","_data$Conditions","spc_isApproveAll","CheckboxCpmponents","notLable","InformationComponents","_props$checkValidatio","_props$InformationDat","_props$InformationDat2","_props$InformationDat3","_props$InformationDat4","_props$InformationDat5","_props$InformationDat6","_props$InformationDat7","_props$InformationDat8","_props$InformationDat9","_props$InformationDat10","_props$InformationDat11","_props$InformationDat12","_props$InformationDat13","_props$InformationDat14","_props$InformationDat15","_props$InformationDat16","InformationDataProps","filteredAutoComplete","setFilteredAutoComplete","setKey","setIsloading","setDepartmentSelect","toSelect","setToSelect","ccSelect","setCcSelect","toName","setToName","ccnName","setCcName","setCategoryFilter","isMobile","setIsMobile","toValue","setToValue","CCValue","setCCValue","checkDevice","isMobileDevice","navigator","userAgent","dataToAndCC","_dataToAndCC","_to","_cc","_employeeData","_toArray","_toName","_ccArray","_ccName","ToId","CcId","_duplicate","_event","ExpiredDate","RegisteredDate","t4","_fechDepartment2","_fechDepartment","_fechEmployee2","_fechEmployee","showDialogEmp","setShowDialogEmp","employeeList","_props$InformationDat17","_Department","_dataFilterDepartmentId","_department","_props$InformationDat18","_CheckboxCpmponents","_CheckboxCpmponents2","setControlModelObj","_InputText","_InputText2","selecteOrTypeListInToAndPass","_AutoComplete2","_ToArray","_CcArray","searchAutoComplete","_filteredEmployee","dataemployee","customModalStyle","filterToCC","destroyAll","columnsTo","danger","RiDeleteBin6Line","columnsCC","showMore","insertDataByEnter","toArr","ccArr","auto","checkValidation","_filtered","isVersion","TemplateSubject","isPDFShowInfo","ReportLang","isRequesterEditApproval","isFormControl","RequiredAttachment","TemplateDetailSideBarElement","checkMergeApi","setCheckMergeApi","sideBarData","setSideBarData","MergeAPI","isEnabledPDFDesign","_sideBarData","IoAlertCircleOutline","BsNewspaper","IoPeopleOutline","IoShieldCheckmarkOutline","IoCloudUploadOutline","isDialogVisibleProps","dataProps","findData","setDataProps","showModalProps","searchDataProps","onRowSelect","onRowSelectProps","setisDialogVisibleProps","sortField","sortOrder","AuthorizationTableDepartment","departmentSelect","departmentPlaceholderDropdown","setDepartmentPlaceholderDropdown","_arrayNull","departmentListProps","departmentRequestProp","depID","depaction","_dataMap","_arrayFilter","departmentManageProp","gatPlaceholder","depname","setValueProps","_setDepartmentSelect","AuthorizationDepartmentModel","departmentSelectManage","setDepartmentSelectManage","departmentSelectRequest","setDepartmentSelectRequest","onSave","setVisibleProps","globalFilterValueTemplate","visibleProps","_Arrayfilters","AuthorizationPermissionModel","_permissionType$formc","_permissionType$formc2","_permissionType$formc3","_permissionType$formc4","_advanceFormLabal$","_permissionType$formc5","_permissionType$formc6","_permissionType$Permi","_permissionType$Permi2","_permissionType$Permi3","permissionType","setPermissionType","setRole","roleName","setRoleName","advanceFormLabalSelect","setAdvanceFormLabalSelect","ValueType","valueType","setValueType","Informition","informition","setInformition","setCompany","setDepartment","departmentName","setDepartmentName","companyAction","setCompanyAction","companyActionEdit","setCompanyActionEdit","advanceFormLabal","setAdvanceFormLabal","RoleValidation","DepartmentValidation","CompanyValidation","validation","setValidation","editTablePermissionProps","permissiontype","arrayRole","ids","dataRole","_props$editTablePermi","arrayDepartment","companyData","CompanyId","_advanceFormJson$item","actionProps","_arrayAdvanceFormLabal","__data","_arrayColumn","_Informition","formcontrol","labelInformition","Information","_advanceFormJson","advanceFormProps","_arrayRolePermission","Print","Copy","_objTable","Description","setDataTable","setDataAuthorization_view","labeltype","labelcolumnname","labelvaluetype","dataFile","Authorization_view","setDataAuthorization_viewEdit","_uuid","uuidv4","Download","labelvalue","_arrayRole","_arrayRoleName","_dataRole","_Role","typee","_arrayCompany","_dataCompany","_Company","_arrayDepartment","_arrayDepartmentName","_newData","AuthorizationComponent","_props$controlModel","_props$controlModel$A","_props$controlModel2","_props$controlModel2$","visibleModel","setVisibleModel","visiblePermissionModel","setVisiblePermissionModel","roleManage","setRoleManage","companyManage","setCompanyManage","companyRequest","setCompanyRequest","roleRequest","setRoleRequest","departmentManage","setDepartmentManage","departmentCompanyManage","setDepartmentCompanyManage","departmentCompanyRequest","setDepartmentCompanyRequest","departmentRequest","setDepartmentRequest","objectDataAuthorizationProps","Employee","permissionTable","setPermissionTable","setAuthorization_view","keyAuthorization_view","setKeyAuthorization_view","editTablePermission","setEditTablePermission","_SpecificEmployeeId","SpecificEmployeeId","_specificArray","dataTo","RoleID","_GameRoleID","SpecificRoleID","Authorization_manage_department","_DepartmentData","Authorization_request_company","_arrayManageCompanyDepartment","_ManageCompany","_arrayManageCompany","companyDataFilter","Company","_dataFilterCompany","Authorization_manage_company","Authorization_request_department","_DepartmentGetJson","_arrayRoleTable","_dataTable2","_dataAuthorization_view2","_dataAuthorization_viewEdit2","_VisibleModel","_onDeleteRow","dataRow","_arrayPush","_arrayPushPermissionTable","roleDataFilter","Role","_specificEmployeeId","_RoleIdManage","_RoleIdRequest","_CompanyManage","_CompanyRequest","Name","_VisibleEditModel","VersionAndHistoryTable","previewVersionTemplate","_previewVersionTemplate","documentCode","ModifiedByName","VersionAndHistoryComponents","setVersionCheckProps","SetVersionDataProps","VersionDataProps","templateListVersionHistoryProps","VersionTempVCProps","ObjectDataAuthorizationProps","version","Boolean","value3","value5","VersionCheckProps","value4","versionCheckProps","dataCompany","TableTemplateDialogComponentsFixed","refTemplateList","rowSelectedData","onSaveObjTable","objectTable","setObjectTable","convertType","_type","hide","onShow","Template","dragSelection","_newObj","ReferenceDocumentDialogFix","listRefTemplateProps","templateList","visibleRefenceDocumentDialog","setVisibleRefenceDocumentDialog","Display","Affiliation","Quarter","ReferenceAttachment","IsDefaultLineApprove","DocControl","selectField","tableDialog","listRefTemplate","rowDataTable","ReferenceForm","TemplateNewDoc","TemplateEditDoc","TemplateCancelDoc","SaveDataTable","referenceDocumentDialogObject","setReferenceDocumentDialogObject","searchTemplateList","setSearchTemplateList","setSelectField","tableRefDialog","setTableRefDialog","tableRefData","setTableRefData","tableRefDialogHeader","setTableRefDialogHeader","templateAddCodeMulti","setTemplateAddCodeMulti","selectFieldtoshow","setSelectFieldtoshow","listMasterData","setListMasterData","onShowDialog","_templateForm$RefDocD","_listRefTemplateProps","docControl","mappingLstMaster","defaultRefModel","templateAddCode","_IsDocControl","isDocControl","D_NewTpl","D_EditTpl","D_CanTpl","dynamicSelect","_lstMasterData","lstMasterData","_lstMasterData$find","_lstMasterData$find2","_lstMasterData$find3","_lstMasterDataSplitD_NewTpl","masterType","_lstMasterDataSplitD_EditTpl","_lstMasterDataSplitD_CanTpl","seltectItems","_RefDocColumn","selectedCol","objs","newOBJ","selectedOBJ","_ReferenceDocumentDialog","_Object","_controlModel$templat","_e$selectedValue","_e$selectedValue2","_e$selectedValue3","_controlModel","lstMastData","_list","newTplId","editTplId","canTplId","requestModelD_NewTpl","createdBy","createdDate","modifiedBy","modifiedDate","requestModelD_EditTpl","requestModelD_CanTpl","lstMastDataFunction","_MapSelectTable","_MapSelectTable2","_arraySelect","_referenceDocumentDialogObject","_MapSelectTableItem","_MapSelectTableItem2","_arraylayout","getOptions","first","_refObject","_rowData$selectedValu","_referenceDocumentDia","_refTemp","_selectField","ReferenceDocumentComponentsFix","_props$listRefTemplat","_props$listRefTemplat2","isLoadTemplate","setIsLoadTemplate","mstTemplateList","setMstTemplateList","fecthRefTemplate","newRef","onClickAction","filterRefDocColum","controlModelObj","ReferenceInformationDialog","refInformation","listRefInformationProps","setRefInformation","setLogicsRefIn","refLogic","templateSelected","setTemplateSelected","requestSelected","setRequestorSelected","requestField","setRequestorField","_fetchRequestorData","fetchRequestorData","refValue","arrayRef","ReferenceInformation","referenceData","setReferenceData","setRefLogic","dataValue","_props$dataLogic","fecthRefInformation","Logics","cMSTTemplateLogic","PDFEditorContext","PDFEditorProvider","papers","Letter","A4","w","h","static","minW","layoutType","paperLayout","setPaperLayout","doctype","pageAmount","gridSize","isDragingFromOutSide","pageProperty","setPageProperty","selectionBlock","setSelectionBlock","refHtml","updatePageProperties","prevSettings","addLayout","parent","targetParent","childList","round","minH","tempAttibute","fontFamily","isBold","isItalic","isUnderlined","hAlign","vAlign","urlLink","hideLabel","backgroundSize","onSelectPropertyChange","_selectionBlock","newLayout","_layout$children","child","onDeselected","removeSelectedChild","_e$children","changeDocType","docType","usePDFEditor","PDFCompontButton","unselectable","onDragStart","dataString","dragingType","PDFToolBar","reportTem","controlItem","setControlItems","getItems","getIcon","CollapsePanel","_e$template","_item$template","_item$template2","_item$template3","_item$template4","fontStyte","TabsButton","activeKey","setActiveKey","ColorPicker","onChageColor","overlayClassName","SketchPicker","hex","onChangeComplete","BgColorsOutlined","PDFEditorToolBar","_tabsItems$find","fontList","_usePDFEditor","controlProperty","setControlProperty","isLinkModalOpen","setIsLinkModalOpen","linkUrl","setLinkUrl","ConfigProvider","config","theme","primaryColor","imagmeToolComponent","newProps","textToolComponent","BoldOutlined","ItalicOutlined","UnderlineOutlined","AlignLeftOutlined","AlignCenterOutlined","AlignRightOutlined","VerticalAlignBottomOutlined","VerticalAlignMiddleOutlined","VerticalAlignTopOutlined","LinkOutlined","_selectionBlock$templ","tabsItems","centered","_e$children2","StaticInput","_template$attribute3","_template$attribute4","_template$attribute5","_template$attribute6","_template$attribute7","_template$attribute8","resize","StaticImage","onUploadComplete","imageUrl","setImageUrl","getLink","imgSize","contain","cover","imgUrl","uploadButton","LoadingOutlined","PlusOutlined","Upload","listType","beforeUpload","isImage","showUploadList","uploadedFile","originFileObj","DropableComponent","paperWidth","rowHeight","tableDisplay","_layout$template$attr6","keyCode","renderContent","_layout$template$attr7","_layout$template$attr11","_layout$template$attr12","_layout$template$attr13","_layout$template$attr14","isStaticText","isSelected","_layout$template$attr8","_layout$template$attr9","_layout$template$attr10","childrenLayout","_layout$template3","_layout$template$attr15","_layout$template$attr16","_layout$template$attr17","_layout$template$attr18","_layout$template$attr19","_layout$template$attr20","_layout$template$attr21","_layout$template$attr22","_layout$template$attr23","_layout$template$attr24","isPortrait","resizeHandles","isDraggable","isResizable","isBounded","GridLayout","isDroppable","containerPadding","allowOverlap","preventCollision","onDragStop","layouts","_e$children3","onResizeStop","_e$children4","onDrop","getData","PaperLayout","WidthProvider","Responsive","_pageProperty$pageSiz6","_refPaper$current5","scale","refPaper","_refPaper$current","parentElement","_refPaper$current2","_refPaper$current2$pa","_refPaper$current3","_refPaper$current3$pa","boardWidth","clientWidth","boardHeight","clientHeight","offsetX","transform","handleZoom","breakPages","lines","renderedPaperLayout","_refPaper$current4","offsetWidth","onResize","_refPaper$current6","bodyElement","querySelector","HTMLElement","_pageProperty$pageSiz","_pageProperty$pageSiz2","_pageProperty$pageSiz3","_pageProperty$pageSiz4","_pageProperty$pageSiz5","checkForNewPage","offsetHeight","oldItem","newItem","PDFTemplateComponent","templatePDF","setScale","isEnabled","setIsEnabled","JsonLayout","JsonProps","genFormat","requestResult","_refHtml$current","elements","allDivElement","tableCount","tempAfter","beforeTb","isBeforeTb","afterTb","tableControl","Alabel","html","getDivForTemplate","_tempAfter","HeaderLayout","BodyLayout","FooterLayout","tempDiv","computedStyle","getComputedStyle","cloneNode","outerHTML","ZoomOutOutlined","ZoomInOutlined","createVersionMasterData","createFormControl","isPublic","TemplateDetail","TextForm","IsEdit","DepID","DocTypeCode","TemplateType","PDFLanguage","Location","To","CC","TemplateDesc","LineOfCommand","MaxLevelID","SpecificApprover","DOA","ApprovalMatrixID","CC_Viewer","ApproverCanEditContent","Modified","MultiDeptId","ReqAttach","AutoStartTemplate","AutoStartColumn","AdvanceRefCondition","specificTempApprovers","lstCondition","VEmployee","cMSTApprovalMatrix","cMSTPositionLevel","cMSTCompany","cMSTMasterData","_controlModel$templat15","_controlModel$templat16","_controlModel$templat17","selectView","setSelectView","setControlVersionModel","createVersionMasterModel","setCreateVersionMasterModel","setInterfaceTemplateLogic","groupTemplateName","setGroupTemplateName","templateNameWithCode","setTemplateNameWithCode","setTemplateId","isDelete","setIsDelete","isCopyValue","setIsCopyValue","setIsVersion","setIsLoad","positonLevelList","setMatrixList","setVersion","versionStatus","setVersionStatus","versionCheck","setVersionCheck","setReportTem","setFontList","sinatureOptions","setSinatureOptions","_useState61","_useState62","versionTempVC","setVersionTempVC","_useState63","_useState64","templateListVersionHistory","setTemplateListVersionHistory","_useState65","DepartmentManage","DepartmentRequest","_useState66","objectDataAuthorization","setObjectDataAuthorization","_useState67","_useState68","validationInformation","setValidationInformation","_useState69","_useState70","logicsApprover","_useState71","_useState72","logicsRefIn","_useState73","_useState74","setDataLogic","intiFunc","_isCopyValue","_fetchPositionLevel","fetchPositionLevel","_fetchMatrix","fetchMatrix","_fetchMasterData","fetchMasterData","_fetchDataAuthorization","fetchDataAuthorization","_templateVersionCode","_versionTemplate","_versionFunction","versionFunction","companies","_dataFilterDepartment","signatrue","allHistory","_fontList$","_fontList$$Value","_templateList","_templateIdList","_dataLogic","dataValueInterface","_advanceForm$ReqCondi","_templateIdList2$temp","_templateIdList2$temp2","_templateIdList2$temp3","_templateIdList2","_dataLogic2","_TemplateLogic","_dataValue","_dataValueInterface","_jsonValue","_advanceForm$ReqCondi2","_advanceForm$ReqCondi3","TemplateVersionCode","VersionTemplate","versionTemplate","refTemplateByEditFunction","advanceFormByEditFunction","ReqConditions","_dataVersion","_arrayVersion","_dataVersionTempVC","_templateListVersionHistory","_refTemplateByEditFunction","_RefTemplate","_dataTemplatetMasterData","_dataAuthorizationMasterData","_manage_company","_manage_department","_request_company","_request_department","_Authorization_view","_manage_companyArrayIndx0","_request_companyArrayIndx0","_manage_departmentArrayIndx0","_request_departmentArrayIndx0","Authorization_for_ViewIndx0","lstMasterDataByEditFunction","_lstMasterDataByEditFunction","_MasterData","_dataTemplatetMasterDatafilter","_templateIdList$templ","addTemplateDetail","_addTemplateDetail","previewTemplate","_previewTemplate","_userData$EmployeeId2","_userData$EmployeeId3","_control$cMSTTemplate","_cMSTTemplateLogic","newLogic","_dataTemplateByDocTypeCode","_history","_control$templateForm","_templateListVersionH","_userData$EmployeeId4","_controlModel$templat2","_controlModel$templat3","_controlModel$templat4","_controlModel$templat5","_controlModel$templat6","_checkValidationOBJ","_controlModel$templat7","_controlModel$templat8","_controlModel$templat9","_controlModel$templat10","_controlModel$templat11","_controlModel$templat12","_controlModel$templat13","_controlModel$templat14","_checkValidationOBJ2","_userData$EmployeeId5","cMstMasterData","responeAddTemplate","typeTemplate","go","isActiveTemp","FaRegCopy","MdPreview","minWidth","isLoadProps","stateProps","ForgotPasswordScreen","haveKey","setHaveKey","isSuccess","setIsSuccess","remark","setRemark","confirm_password","checkKey","FiChevronLeft","goBack","autoComplete","DelegateApplyTo","delegateTemplate","setDelegateTemplate","selectedCustomers","setSelectedCustomers","fetchDelegateTemplate","delegateData","DelegateList","templateData","_delegateDetail","DelegateDetail","current_sorted_idx","setDelegateData","filterPlaceholder","DescriptionConfigComponent","setDescription","saveChange","_listAttach","Index","modified_date","setVisibleStatus","BiCommentEdit","visibleStatus","DelegateInformation","_props$delegateData","attachData","setAttachData","fileData","setFileData","requestFile","setRequestFile","setPathData","descriptionValue","setDescriptionValue","setEmployeeData","currentModal","setCurrentModal","isDialogApproverVisible","setIsDialogApproverVisible","approverTextFilter","setApproverTextFilter","setApprover","dateRange","deleteVisible","setDeleteVisible","descriptionRespone","rowDeleted","setRowDeleted","setSearchEmployee","DelegateToId","delegater","setDelegater","_date","_attachmentData","AttachmentList","_delegater","attachment","ActorId","DateFrom","DateTo","formatDateTimeToMoment","formatDateTimeWithSlash","formatDateTimeAttachment","rowDelete","reoderSequence","_onUploadFile","attachWorkList","lastFile","NewDate","newFile","AttachedDate","AttachFile","FileName","FilePath","onError","userName","showModalApprover","usePeriod","setUsePeriod","BiUpload","confirmDialogfunction","sequenceIndex","DelegateSideBar","DelegateScreen","attachmentData","setAttachmentData","errorState","setErrorState","delegateId","setDelegateId","fetchDelegate","fetchAttachment","DelegateId","_delegateData","_attachList","valid","onDelete","MdDeleteOutline","getAllEmailTemplate","getEmailTemplateById","AddEmailTemplate","updateEmailTemplate","EmailTemplateDetail","_Dropdown","_EmailTemplate2","_getEmailTemplate","_EmailTemplate","_textEditor","EmailBody","_clickSelectProps","clickSelectProps","_textEditoPropsr","_clickSelectText","EmailTo","FormState","EmailCC","EmailSubject","createEmailTemplate","EmailTemplateId","TemplateDocumentCode","CreatedByName","setDataTreeSelectProps","setFormSelect","clickSelect","setClickSelect","formSelectLabel","setFormSelectLabel","emailTemplateObj","setEmailTemplateObj","_onSave","_emailTemplateObj","_dataEdit","_responeData","_templateDropdown","_fetchEmailTemplateById","_dataAdvanceForm","layoutLabel","_emailTemplateId","fetchEmailTemplateById","onClickSelect","SimLineSideBar","InitialComponent","nameTh","ResultComponent","DashboardCard","_props$dashboard","_props$dashboard2","dashboard","TextAbstract","_data$items","headData","colorValue","statusCard","_color","_color$split","_color$split2","Memo_StatusName","endpoint","RiDatabase2Line","DashboardCalendar","dataCalendar","setDataCalendar","setDefaultValueDashboard","_mapData","_color$split3","_color$split4","allDay","renderStatusView","_status","_status$split","_status$split2","displayName","_element$split","_element$split2","tt","_dd","zz","zz15","priority","valueDropdownInCalendar","FullCalendar","dayGridPlugin","timeGridPlugin","interactionPlugin","initialView","weekends","eventClick","jsEvent","headerToolbar","center","dayMaxEvents","events","DashboardTimeline","dataTimeline","setDataTimeline","dataGroups","setDataGroups","rightTitle","start","end","bgColor","itemProps","onMouseUp","sideBarWidth","setSideBarWidth","Timeline","groupIdKey","groupTitleKey","groupRightTitleKey","itemIdKey","itemTitleKey","itemDivTitleKey","itemGroupKey","itemTimeStartKey","itemTimeEndKey","groupLabelKey","groups","defaultTimeStart","defaultTimeEnd","itemHeightRatio","canMove","canResize","stackItems","sidebarWidth","TimelineHeaders","SidebarHeader","getRootProps","MinusCircleOutlined","DateHeader","unit","GetAllProject","itemFilter","setResponeConfig","op","ref2","isMounted","filterGroupBy","setFilterGroupBy","dataFilterGroupBy","setDataFilterGroupBy","ItemsStatus","setItemsStatus","dataAdvancedFilter","setDataAdvancedFilter","dataAdvancedFilterList","setDataAdvancedFilterList","setDashboard","setFilter","selectedFilter","setSelectedFilter","setEndpoint","onSetSelectView","setStatusCard","setEmployeeList","project","setProject","selectedProject","setSelectedProject","setSelectedStatus","keyEnter","setKeyEnter","onClickFilter","setOnClickFilter","filterAttribute","setFilterAttribute","isOpenDateFilter","setIsOpenDateFilter","setValueDropdownInCalendar","isFetchData","setIsFetchData","responseConfig","_filter","_responeDefaultAdvanced","_endpoint","_advancedFilter","_filterGroupBy","_statusCard","_mapGroupData","defaultAdvancedFilter","FilterAdvanceSearch","MapDataEndpoint","MapGroupData","fetchProject","defaultFilterStatus","_defaultAdvancedFilter","_filterStatus","_defaultFilter","dataMapping","_dataItemFilter","_fieldText","_fieldType","_fieldTextFrom","_fieldTextTo","_filterParameter","fieldType","fieldTextFrom","fieldTextTo","_itemFilter","fieldDisplay","fieldCode","fieldSpited","fieldText","_data$split2","userPrincipalName","connectionString","_fetchProject","_Project","arrayProject","ProjectName","_defaultFilterStatus","sleep","ms","timeoutHandler","_timeoutHandler","globalFilterInput","advancedSearch","_advancedSearch","_filterAttribute$item17","_filterAttribute$item18","_filterAttribute$item19","_filterAttribute$item20","responeTest","_dropdown","_dropdown$dropdown","_dropdown$dropdown2","_dropdown$dropdown3","_dropdown$dropdown4","statusValue","_dropdown$value$","_dropdown$value$2","_dataArray2","jj","_element$data","OverlayPanel","_op$current2","_op$current3","_filterAttribute$item","_filterAttribute$item2","_filterAttribute$item3","_filterAttribute$item4","_filterAttribute$item5","_filterAttribute$item6","_filterAttribute$item7","_filterAttribute$item8","_filterAttribute$item9","_filterAttribute$item10","_filterAttribute$item11","_filterAttribute$item12","_filterAttribute$item13","_filterAttribute$item14","_filterAttribute$item15","_filterAttribute$item16","nameValue","_e$value2","_e$value3","_dataByLang","_e$value4","projectValue","_e$value5","_e$value6","_dataByProject","_op$current4","BsLayoutThreeColumns","IoCalendarOutline","BsCalendarRange","_op$current","FiFilter","BsChevronDown","overflowY","GetLogApi","PostedDate","LogApi","postDate","setPostDate","textLog","setTextLog","fetchGetLogApi","_fetchGetLogApi","_Log","onSearch","enterButton","EmailTemplateList","columnsHeader","setcolumnsHeader","Header","arrayHeader","columnComponents","emailTemplate","setEmailTemplate","LeaveTypeComponents","_props$leaveTypeTable","leaveTypeTable","InformationComponent","_props$getInformation","_props$refAttibutePro","_props$refAttibutePro2","_props$refAttibutePro3","_props$refAttibutePro4","_props$refAttibutePro5","_props$refAttibutePro6","_props$refAttibutePro7","_props$refAttibutePro8","_props$refAttibutePro9","_props$refAttibutePro10","_props$refAttibutePro11","projectData","setProjectData","setCanNotEdit","treeTemplate","setTreeTemplate","companyList","setCompanyList","nameEnCompanyTo","setNameEnCompanyTo","nameEnCompanyCc","setNameEnCompanyCc","searchDataCc","setSearchDataCc","searchCompanyData","setSearchCompanyData","searchRefDocData","setSearchRefDocData","setSubject","globalFilterValueCc","setGlobalFilterValueCc","globalFilterCompanyValue","setGlobalFilterCompanyValue","globalFilterRefTempValue","setGlobalFilterRefTempValue","isDialogVisibleCc","setDialogVisibleCc","isDialogVisibleCompany","setDialogVisibleCompany","isDialogVisibleRefTemp","setDialogVisibleRefTemp","selectProject","setSelectProject","selectedEmployeeTo","setSelectedEmployeeTo","filteredEmployeeTo","setFilteredEmployeeTo","selectedEmployeeCc","setSelectedEmployeeCc","filteredEmployeeCc","setFilteredEmployeeCc","refTempSelectedProps","setRefTempSelected","selectFormTemplate","setSelectFormTemplate","searchTemplateListEditing","setSearchTemplateListEditing","setIsSearchTemplateEditing","locationPathName","coreRender","setCoreRender","onLazyLoad","setOnLazyLoad","refAttibuteProps","setListRefDocsDetail","_TemplateListEditing","searchTemplateEdit","dataStatusDraftSetDateNew","setInformationTemplate_Desc","formatDateTimeDataReQuest","created_date","checkCanEdit","getInformationMethodProp","setIsSetCanEdit","_detail$listFormName$","getInformation","_getInformation","info_template","fetchDataCompany","copyInformation","getInformationTemplateProp","fetchDataTemplateByid","dataGetInformationMethodProp","templateListFormName","template_detail","setGuid","document_set","dataGetInformationMethodMemoProp","_setGuid","_templateListFormName","_props$requestDetail","_templateIdListFormName","setListFormName","_dataGetInformationMethodProp","_dataSetInformation","modified_by","created_by","auto_approve_when","template_code","document_no","company_name","project_id","TemplateListEditing","refId","selQuery","refDoc","CompanyCodeWithName","onGlobalFilterChangeCc","onGlobalFilterCompanyChange","dataCpl","_data$AddressEn","_project","answer_array","dataName","_answer_array","_fetchDataTemplateByid","setOnLoadLineApprove","fetchDataLineApproveWithTemplate","_fetchDataLineApproveWithTemplate","localStorageData","_templateByid","lineApprove","responeAprovaWithTemplate","getLineApprove","setLineApporve","_fetchDataCompany","responeCompanyData","onChangeSubjectMemo","showModalCompany","showModalRefTemp","showModalCc","onChangeSelectProject","ProjectId","setSelectedEmployeeToFunction","setSelectedEmployeeCcFunction","isCopyProps","isBranchFromADTitle","branchFromADTitle","searchEmployeeToEnter","searchEmployeeCcEnter","isHideProject","virtualScrollerOptions","itemSize","panelStyle","checkTypeLeave","isTextFromValue","showControl","setShowControl","selectedView","errorResult","errorTable","datafilterEmployee","useBreakpoint","Grid","LineApprovalsComponent","lineData","setLineData","setdataEmployeeList","setGlobalFilterValue2","setCanEdit","fromIndex","setFromIndex","moveToNumber","setMoveToNumber","fetchApprovals","_fetchApprovals","getLineAproveMethodProp","signature_id","signature_th","getRequestorDetailProp","setLineApproveMethodProp","sinatures","acceptMoveto","targetIndex","moveItem","scrollDirection","raw","lastData","lineid","addData","RequestorComponent","actionAdd","setIsActionAdd","masterEmployee","setRequestor","renderSelectedRequestor","isADTitleToPosition","masterATDLFT","selectedRows","setSelectedRows","indexState","setIndexState","setDescriptionRespone","configFile","setConfigFile","fechData","filterArr","maxMb","memo_id","is_merge_pdf","IoMdAlert","_selectedRows$find","splitPath","cannotDownloadPdfAppSetting","_listFormNames$RefDoc","_memoDetail$Permissio","rootPath","docPath","lastIndex","extension","checkCanDownload","checkCanDownloadAttach","checkRoleId","checkDLAttach","downloadFileType","_listFormNames$RefDoc2","_memoDetail$Permissio2","_rootPath","_docPath","_fullName","_lastIndex","_extension","_name","_checkCanDownload","_checkCanDownloadAttach","_checkDLAttach","_downloadFileType","_checkRoleId","roleId","AttachDownload","cannotDowLoadPDFDefault","_selectedRows","_SecRow","handleCheckboxChange","RequestSideBarElement","setSidebar","sidebarM","setSidebarM","BsPerson","AiOutlineApartment","ImAttachment","SideBarDataResponsive","workList","AiOutlineHistory","MemoSingleButton","RequestScreen","_requestDetail$memoDe4","setTtemplateId","setMemoId","dataTreeSelectProps","listFormNameState","setListFormNameState","isSetCanEdit","templateTree","setTemplateTree","setCheck","setImgLoading","setErrorResult","setErrorTable","isActionPdf","setIsActionPdf","setIsTextFromValue","setIsShowPdfButton","requestorId","setRequestorId","setCheckTypeLeave","onLoadLineApprove","setPreviewTemplate","setIsHideProject","setBranchFromADTitle","setIsBranchFromADTitle","_useState75","_useState76","isActiveADTitleToPosition","setIsActiveADTitleToPosition","_useState77","_useState78","_useState79","_useState80","refAttibute","setRefAttibute","_useState81","_useState82","memoPageModel","approver_can_edit","auto_approve","costcenter","department_id","document_library","is_editable","is_public","last_action_by","last_status_id","last_status_name","status_id","_useState83","_useState84","setLeaveTypeTable","_requestDetail$memoDe","_requestDetail$memoDe2","_requestDetail$memoDe3","fetchLineApproveWithSummary","_queryData","queryData","_requestDetail$memoDe5","fetchTemplateDocTypeCode","onCheckPermission","checkRefTemplate","_checkRefTemplate","_memoPageModel$listRe","_refDoc","refObject","refDocsDetail","results","docDetail","replaceTitleInfo","_replaceTitleInfo","_responeADTitle$activ","_responeADTitle","_respone$memoDetail","_respone$memoDetail$r","_respone$memoDetail2","_respone$memoDetail2$","_respone$memoDetail3","_respone","_respone$0$Value","_respone$","_display","_dataReplace","documentElement","activeBranchFromADTitle","activeADTitleToPosition","checkLeaveRequestTemplate","_checkLeaveRequestTemplate","_leaveTemplate","_listFormName","_memoPageModel","_template$SpecificEmp","_template$SpecificEmp2","_template$SpecificRol","_template$SpecificRol2","emp_authorize","role_authorize","isEmpAuthorize","isRoleAuthorize","_template2$SpecificEm","_template2$SpecificEm2","_template2$SpecificRo","_template2$SpecificRo2","_empid","_emp_authorize","_role_authorize2","_isEmpAuthorize","_isRoleAuthorize","_roles","_role","permission","editDataMemoDetail","fechMemoDetail","fechMemoButton","_fetchLeaveTemplate","fetchLeaveTemplate","_fetchTemplateDocTypeCode","setCreator","setInformation","setLineApprove","setFileAttach","getRequestor","getFileAttach","getTemplateTree","_memoId","fechMemoButtonDefault","error_result","error_table","ess_","_requestDetail$listFo","_requestDetail$memoDe6","_template_desc","runControls","_requestDetail$listFo2","_requestDetail$memoDe7","_newRunning","_template_desc2","_j4","_runControls","_gg","_requestBody","_checkAuto","_checkNum","isTableRequire","_j5","table_row","table_col","_errpr","onAdd","getRequestorMethodProp","setRequestorMethodProp","setCreatorMethodProp","getInformationTemplateSetDataProp","getFileAttachMethodProp","setFileAttachMethodProp","PreviewTemplateScreen","LoginGoogle","RegisterWolfScreen","checkLength","setCheckLength","checkEmail","setCheckEmail","displayPopup","setDisplayPopup","dataRemark","setDataRemark","_onSubmit","validateEmail","Password","Note","Regis","TableReferenceComponent","_props$refAttribute","_props$refAttribute2","_props$refAttribute3","refLoading","DialogRefTemplateComponent","_props$searchRefDocDa","_props$refAttribute4","filterRefTempValue","setFilterRefTempValue","setRefSelected","refObtions","_data$props$refAttrib","refMemoId","advanceFormList","RefSelected","matchedItem","MAdvacveForm","setDialogVisibleInRefTemplate","_onSelect","refTemp","ValidateSelected","_ValidateSelected","SelectField","DocNo","ValidateRef","dialogVisibleInRefTemplate","TemplateVersionComponent","selectedTemplateVersion","templateListVersion","setSelectedTemplateVersion","InformationComponentFix","_memoDetail$requestor","_memoDetail$requestor2","_listInToAndPass$to","_listInToAndPass$to2","_listInToAndPass$pass","_listInToAndPass$pass2","masterCompanies","canEditRefDoc","setListInToAndPass","listInToAndPass","masterProjects","finFo","checkedLeaveTemplate","isTemplateVersion","dialogVisibleInCompany","setDialogVisibleInCompany","dialogVisibleInEmployee","setDialogVisibleInEmployee","hideProject","hideBranch","setIsHideBranch","hideTo","setIsHideTo","hideCc","setIsHideCc","hideSubject","setIsHideSubject","typeEmployeeDialog","setTypeEmployeeDialog","filteredEmployee","setFilteredEmployee","filterCompany","setFilterCompany","hasUserManual","setHasUserManual","_finFo$Value","_finFo","_showBranch","checkHasFifoFunction","searchEmployeeToAndPass","showModalInEmployeeToAndPass","_showModalInEmployeeToAndPass","masterDataList","userManual","userManualList","manual","_userManual$0$AttachF","_userManual$0$AttachF2","nameFileSplit","linkFileSplit","masterlist","master","UserManualGroupName","com_name","checkChangeComp","LineApprovalsComponentFix","canEditLineApproval","currentLevel","hightLight","setHightLight","_toggleModal","_employeeList","dynamicTable","IsAdmin","onResetClick","employeeId","positionNameTh","departmentNameTh","onSaveLineApprovals","justify","toggleModal","okText","defSignature","OtherButtonMemoComponent","_props$memoDetail$mem7","_t","_props$permission","_props$permission2","_t2","setResponeData","isCheckByOrigin","setIsCheckByOrigin","_setData","IsCheckAccessEditing","_props$memoDetail","_props$memoDetail$mem","_props$memoDetail$mem2","actorCheckAccess","onSetCheckAccess","checkAccessRequestModel","memoIdForCopy","_props$memoDetail$mem3","_props$memoDetail$mem4","_props$memoDetail$mem5","_props$memoDetail$mem6","checkIsAccessComponent","site","encodeURIComponent","isCheckAcces","BsPencilSquare","FaPrint","Validation","_submitType","dateValidField1","dateValidField2","ResponeValidation","_checkRespone","AdminEditCompletedMemoPermissionContext","AdminEditCompletedMemoProvider","canEditMemo","setCanEditMemo","getCanAdminEditCompletedMemo","useAdminEditCompletedMemoPermissionContext","RequestScreenFix","_memoDetail$template_","_location$state","_location$state2","_jsx2","checkUseEffect","setCheckUseEffect","setCheckActionPage","setCheckedLeaveTemplate","_setIsControlLoading","setActionAlert","showLoadTimer","hideLoadTimer","isShowLoad","clearTimeout","setCanEditDoc","canEditLineApprove","setCanEditLineApprove","_useAdminEditComplete","isCheckAccess","setIsCheckAccess","isSkipapm","setIsSkipapm","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","setMasterDLAttach","setFinFo","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","setMasterCompanies","_useState85","_useState86","setTemplateListVersion","_useState87","_useState88","_useState89","_useState90","setIsTemplateVersion","_useState91","_useState92","_useState93","_useState94","_useState95","_useState96","_useState97","_useState98","loadingPDF","setLoadingPDF","_useState99","_useState100","setIsShowPdf","_useState101","_useState102","setIsShowSum","_useState103","_useState104","setPermission","_useState105","_useState106","masterDataValidField","setMasterDataValidField","_useState107","_useState108","setMessageValidField","_useState109","_useState110","setDuration","_useState111","_useState112","skipapm","setSkipapm","_useState113","_useState114","requestActionMemo","setRequestActionMemo","_useState115","_useState116","checkRequestActionMemo","setCheckRequestActionMemo","_useState117","_useState118","_useState119","_useState120","_useState121","_useState122","_useState123","_useState124","previousAmount","_useState125","_useState126","_useState127","_useState128","setFocus","_useState129","_useState130","_useState131","_useState132","_useState133","_useState134","_useState135","_useState136","setIsADTitleToPosition","_useState137","_useState138","_useState139","_useState140","_useState141","_useState142","_useState143","_useState144","_useState145","_useState146","setEdFont","_masterData$find$Valu","projects","temCodes","_e$MasterType","_useState147","_useState148","setDefault","_useState149","_useState150","rishFont","setrishFont","fontFormat","detectLineApproval","getAllRefDoc","_RefID","optionValue","_signature","checkQuery","autoApprove","canAccess","_usrId","_docTypeCode","_isCopy","_isPreview","_documentNo","getInitialData","_requestDetail4","_requestDetail5","_requestDetail6","_requestDetail6$reque","_requestDetail6$reque2","userDataByQuery","hasQueryUserId","_isTextForm","_requestDetail2","_requestDetail2$reque","_requestDetail3","_requestDetail3$reque","requestConditions","canViewAndPrint","memoButtons","templateDescWithLogic","autoNum","_templateDesc","_templateDesc2","_templateDesc3","_requestDetail7","_requestDetail7$reque","_requestDetail7$reque2","mewLine","_templateDescWithLogic","_autoNum","_control2","_templateDesc4","_templateDesc5","getLineApproveAtFirsts","initialActionFiedFormLineApprove","setDefaultTemplateDesc","detechFormulas","checkTemplateVersion","checkDataAndSetFunction","createTableSums","templateItems","templateType","defaultDate","logicType","responseDataLineApprove","dataJsonApproverType","approverType","_responseDataLineApprove","onLoadDataLiveApprove","onLoadLiveApproveType","RequestConditions","tempdescItem","_templateDesc6","errerrerr","dataLineApprove","currentApprovals","_datalineapprove","TempCurrentApprovals","WaitForCommentcondition","_ReqConditions$Condit","deserializeColumnJsonCondValue","fieldAction","fieldSplited","condValue","_formulas","memoStatus","isRequestorChange","_templateDesc7","_templateDesc7$items","initialLogicData","showTemplate","_jsonValue2","userRole","_templateItems2","_templateDesc$items$r","_templateDesc$items$r2","_permittedValues","_resRow","_templateDesc$items$r3","_templateDesc$items$r4","_perValue","_key","_jsonValue4","_i13","_templateItems3","notInPos","onCheckUserRolePermissionInLogic","_templateItems","templateLayouts","targetCols","notTargetCols","_field$column","tableCols","notUseCols","_pos$tableCols","onProcessLogicReferenceNoFilter","getInitialLogicData","dataSourceLoad","_context21","_x44","userRoles","accessRoles","accessRole","onFilterLoadtoField","onFilterRefFilterField","currentFieldValue","_refFilter","onLoadReferenceData","_ref20","orCondition","refFilterValueEqualComlumAll","refFilterValue","_i16","_ref21","_context23","_x46","_ref22","_callee20","responseDataReference","refData","_context24","_x47","_x48","_x49","_x50","_ref23","_callee21","refFil","_context25","_x51","_x52","_ref24","_callee22","controlName","_context26","_x53","_x54","_x55","_ref25","_callee23","_context29","_context28","_context27","SQLCommand","_x56","_checkedLeaveTemplateLogic","_callee31","_context37","statusm","_x57","checkedLeaveTemplateLogic","CompanyNameTh","CompanyNameEn","_ref26","_callee24","_context30","_x58","_x59","_x60","_x61","_renderSelectedRequestor","_callee34","allTemplateControl","logicRefInfomation","_loop7","resTemp","logicDataLineApprove","logiceiei","_context41","_context39","_ref33","_callee32","refInfor","logicRefInformation","_context38","_x78","_ref34","_callee33","_context40","_x79","_x63","_x64","_checkTemplateVersion","_callee35","_templateApproveId","_listTemplate","arrayEditingVersion","_responseTemplate","_context42","IsFormControl","_ref27","_callee25","_lRTempCode","_context31","_x65","_ref28","_callee26","_responeADTitle$activ2","_context32","_x66","_ref29","_callee27","_guid","_spited","_spited2","_context33","_x67","_ref30","_callee28","_memoButtons","_context34","IsRequesterEditApproval","_x68","_x69","_x70","_x71","_x72","_x73","_x74","_callee36","refDocs","_refTemplate","_results","_context43","Template_desc","เลขที่เอกสาร","Template_name","_templateDesc$items3","sumIntable","CheckValidField","datepicker2","datepickerLabel1","datepickerLabel2","getCheckValid","masterDataValid","masterDataLabel1","masterDataLabel2","newDate1","newDate2","_ref31","_callee29","_lineApproval","_listHistoryDetails","_listFileAttachDetails","_listRefDocDetails","_listControlRunning","_listFormNames","_listInToAndPass","_tempVersion","_validation","_formData$items","formatFormData","_memoDetail$memoid","_requestMemoPage","_context35","_x75","_x76","_memoDetail$actorChec","_ref32","_callee30","_template_desc$items$","_template_desc$items$2","_template_desc$items$3","_template_desc$items$4","_context36","_x77","_x62","listLineApprove","UpdateWOLFAccount","CreateWOLFAccount","AccountDialog","onsubmit","NewPassword","ConfirmNewPassword","IsVerify","AddUserManual","UserManualDialog","userManualValue","setUserManualValue","fileInputType","masterDataValue","onUploadFile","_acceptSave","attachFile","userManualformData","_formData$UserManualG","_formData$UserManualG2","UserManualId","FileDescription","TagKeyword","Sep","ActorName","OrderItem","uploadAttach","DialogListFix","subTableData","setSubTableData","matrixItemToString","approvalMatrixes","DelegateListScreen","approverData","setApproverData","searchDelegateData","setSearchDelegateData","departmentData","setDepartmentData","setFilterEmployee","checkIsAdmin","fetchDelegateList","_isAdmin","_delegate","delegate","assignedData","AssignedId","Approver","onResetFilter","onClickSearch","_data$","isBetween","AiFillPlusCircle","MdOutlineFormatListBulleted","RiUserSearchLine","momentWorklistFrom","momentWorklistTo","formatWorklistFrom","formatWorklistTo","formatDateTo","onSelectDate","RequesterDeptId","ActionId","WaitingId","setDataSource","bottom","GetAll","ReSend","LogSendEmailScreen","pageNumber","setPageNumber","logData","setLogData","setTotal","setSearchKeyword","fetchGetAll","_fetchGetAll","SendMails","_onResend","Id","dayjs","onResend","SearchOutlined","rowKey","setApiName","dynamicData","setDynamicData","emp_data","setEmp_data","subData","setSubData","getQuery","eriei","apiPath","_emp_dataFind2","_emp_data","_emp_dataFind","_apiPath","_emp_dataFind3","_emp_dataFind3$Employ","_emp_dataFind4","_emp_dataFind5","_emp_dataFind6","getAll","fecthApprovalMatrixItem","_data$AttachFile$spli","_data$AttachFile$spli2","_emp_data2","_emp_data3","SimLineApproveScreen","ReportScreenFix","setText","reportList","setReportList","isAutoReport","_page","setPaginationOption","checkAutoReport","isEnable","_empList","_empList2","UploadTimeStamp","ExportTimeStamp","TimeStampScreen","setDataList","isLoadTable","setIsLoadTable","PageNumber","SearchDateTimeFrom","SearchDateTimeTo","Paging","timeStampRequest","setTimeStampRequest","fileSelected","setFileSelected","uploading","setUploading","exporting","setExporting","fecthTimeStamp","_paginationOption","PageCount","RecordCount","fecthExportTimeStamp","handleUpload","showTotal","paginationValue","MSDocRenderer","uri","Container","IFrame","MSDocFTMaps","fileTypes","weight","styled","_templateObject","_taggedTemplateLiteral","iframe","_templateObject2","PDFPreviewComponent","setElement","pdfjs","pdfjsLib","getDocument","promise","pdf","pv","node","canvas","pageNum","getPage","viewport","getViewport","outputScale","devicePixelRatio","floor","renderContext","intent","canvasContext","reason","renderPage","numPages","PreviewAttachmentScreen","selectedDoc","setSelectedDoc","fileExt","setFileExt","imageType","pdfType","msType","ext","getTypeOfFile","_imageType","_pdfType","_msType","objectFit","RequestActionMemo","RejectBrowser","browserConfig","BUDGET","PR","PO","PV","GR","renderNumber","view","alloc","remain","percentage","genBudgetColumn","BudgetSummary","renderDescription","dataSet","PublishStatus","TrackStatus","ProcurementTracking","renderPublish","BLANK","WAIT_FOR_APPROVE","PUBLISH_ON_WEB","GlobalOutlined","verticalAlign","SKIP","renderTrack","COMPLETED","CheckOutlined","retrieveFn","retreiveProcurement","tor","stdPrice","pr","rfp","compare","po","award","eGP","Routes","loginScreen","setLoginScreen","guidVerify","fetchApp","browser","browserDetector","defaultProtectedRouteProps","canDownLoadPdf","setIsLoadPackage","pathLogoLogin","isMulti","hidePassAndRegister","SwitchTransition","CSSTransition","addEndListener","WorkListScreen","TemplateDetailScreen","EmailTemplateListScreen","EmailTemplateDetailScreen","ReportScreen","MasterDatascreenFixed","DashboardScreen","LoadComponent","LoadPackageComponent","Animate","transitionName","isLoadPackage","SyncOutlined","spin","FloatingButton","NotificationComponent","BellOutlined","App","_localStorage$getItem","auzreConfig","setAuzreConfig","ua","msie","msie11","msedge","firefox","timer","setTimer","isCountDown","setIsCountDown","isIE","isEdge","isFirefox","lang","fetchCon","_document$querySelect","reponseAzureConfig","titleWeb","pathFavicon","msToTime","pad","secs","sec","formatKey","_useIdleTimer","useIdleTimer","onIdle","countDown","_timer","reload","onAction","promptTimeout","immediateEvents","debounce","throttle","eventsThrottle","startOnMount","startManually","stopOnIdle","crossTab","syncTimers","publicClientApplication","authority","redirectUri","secureCookies","MsalProvider","Router","isLocalhost","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","Backend","LanguageDetector","initReactI18next","returnNull","fallbackLng","lng","_lang$toLowerCase","interpolation","escapeValue","rootElement","ReactDOM","BrowserRouter","Suspense","fallback","process","ready","unregister","checkValidServiceWorker","registerServiceWorker","_configuration$j2","_configuration$j$spli3","_configuration$j$spli4","formatConfig","_priorities","_priority","GetDashboardEndpoint","statusName","displayStatusName","card","searchKey","setSearchKey","tooltipRef","multiSwitch","setMultiSwitch","selectedDatas","_col$field","_col$field2","newField","updateTargetEvents","mouseTrack","mouseTrackLeft","mouseTrackTop","autoHide","alignContent","customFooter"],"mappings":"kGAAA,kCAgEeA,IAhDQ,SAACC,GAAkB,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACvC,OACEC,cAAAC,WAAA,CAAAC,UACIT,EAAMU,eACNC,eAACC,IAAG,CACFC,QAAkBC,IAAdd,EAAMe,IAAoB,QAAKD,EACnCE,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CI,QAAkBJ,IAAdd,EAAMe,IAAoB,QAAKD,EACnCK,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CM,MACEpB,EAAMoB,MACFpB,EAAMoB,MACN,CAAEC,WAA6B,IAAjBrB,EAAMsB,OAAe,GAAK,GAE9CC,UAAS,GAAAC,YACiBV,IAAxBd,EAAMU,cACF,qBACA,IAAU,OAALV,QAAK,IAALA,OAAK,EAALA,EAAOyB,cACP,OAALzB,QAAK,IAALA,GAAa,QAARC,EAALD,EAAO0B,cAAM,IAAAzB,GAAbA,EAAe0B,OACV,OAAL3B,QAAK,IAALA,GAAa,QAARE,EAALF,EAAO0B,cAAM,IAAAxB,GAAbA,EAAeyB,MAAM3B,EAAMsB,SACtB,OAALtB,QAAK,IAALA,GAAa,QAARG,EAALH,EAAO0B,cAAM,IAAAvB,GAAbA,EAAewB,MAAM3B,EAAMsB,QAAQM,OAAO5B,EAAM6B,QAChD,sBACA,IACHpB,SAAA,CAEHF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCE,eAAA,QAAMY,UAAU,gBAAed,SAAA,CAAET,EAAM8B,SAASC,MAAM,QAC5B,OAAxB/B,EAAM8B,SAASE,MACsB,MAArChC,EAAM8B,SAASG,UAAUC,UACzB3B,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAGpDF,cAAA,KAAGgB,UAAU,eAAcd,SACxBT,EAAM8B,WACS,QADD1B,EACbJ,EAAM8B,gBAAQ,IAAA1B,OAAA,EAAdA,EAAgB+B,SACF,QADO9B,EACrBL,EAAM8B,gBAAQ,IAAAzB,GAAO,QAAPC,EAAdD,EAAgB8B,aAAK,IAAA7B,OAAP,EAAdA,EAAuB8B,WAAW,IAAK,YAI9CpC,EAAMqC,mBAKjB,C,mCC9DO,SAASC,EAAmBC,GACjC,MAAY,KAARA,EAAmB,GAwBvBA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAMA,EAAIC,QAAQ,KAAM,MACdA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,MACbA,QAAQ,IAAK,IAEzB,CA3BA,iC,2QCAaC,EAAa,eAAAC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAAgB,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEZ,OADhCL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDT,EAAYU,kBAAoBT,EAAMG,EAAAE,KAAA,EAChBK,MAAM,mCAAoC,CAC9DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUhB,KAEpBiB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAYNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAhByB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBbC,EAAoB,eAAAC,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO/B,GAAgB,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEnB,OADhCL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDT,EAAYU,kBAAoBT,EAAM+B,EAAA1B,KAAA,EAChBK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUhB,KAEpBiB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAhBgCE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAkBpBM,EAAa,eAAAC,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOpC,GAAgB,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAEZ,OADhCL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDT,EAAYU,kBAAoBT,EAAMoC,EAAA/B,KAAA,EAChBK,MAAM,gCAAiC,CAC3DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUhB,KAEpBiB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAYNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAhByBE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KAkBbW,EAAoB,eAAAC,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAxC,EAAAD,EAAAE,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAIjC,OAHKL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GAClDT,EAAc,CAChBU,kBAAmBT,GACpByC,EAAApC,KAAA,EACqBK,MAAM,0CAA2C,CACrEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUhB,KAEpBiB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAEL,OADAA,EAAKuB,OAAwB,QAAfvB,EAAKuB,OACZvB,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQC,MAAM,8BAA+BvB,EAC/C,IAAG,KAAD,EAdS,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAeNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,kBArBgC,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KAuBpBkB,EAA4B,eAAAC,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,IAAA,IAAA/C,EAAAD,EAAAE,EAAA,OAAAL,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAIzC,OAHKL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GAClDT,EAAc,CAChBU,kBAAmBT,GACpBgD,EAAA3C,KAAA,EACqBK,MACpB,kDACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUhB,KAGtBiB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAEL,OADAA,EAAKuB,OAAwB,QAAfvB,EAAKuB,OACZvB,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQC,MAAM,sCAAuCvB,EACvD,IAAG,KAAD,EAjBS,OAAPpB,EAAO+C,EAAA1B,KAAA0B,EAAAzB,OAAA,SAkBNtB,GAAO,wBAAA+C,EAAAxB,OAAA,GAAAuB,EAAA,KACf,kBAxBwC,OAAAD,EAAApB,MAAA,KAAAC,UAAA,KA0B5BsB,EAAqB,eAAAC,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,EAAOC,GAAa,IAAAnC,EAAA,OAAArB,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EAChCK,MACrB,kEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,kBAAM,CAAK,IAAE,KAAD,EAdP,OAARH,EAAQoC,EAAA/B,KAAA+B,EAAA9B,OAAA,SAePN,GAAQ,wBAAAoC,EAAA7B,OAAA,GAAA2B,EAAA,KAChB,gBAjBiCG,GAAA,OAAAJ,EAAAxB,MAAA,KAAAC,UAAA,I,qJCrGrB4B,EAAa,eAAA7D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOsD,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACzBmD,IAAM,CAC1B7C,OAAQ,OACR8C,IAAK,4BACLtC,KAAMiC,IAELpC,MAAK,SAAUC,GACd,OAAOA,CACT,IACCG,OAAM,SAACC,GACNsB,QAAQe,IAAI,aAAcrC,EAC5B,IAAG,KAAD,EAVS,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAWNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAbyB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KA+BbgC,EAAuB,eAAAzB,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACnCmD,IAAM,CAC1B7C,OAAQ,OACR8C,IAAK,yCACLtC,KAAMiC,IAELpC,MAAK,SAAUC,GACd,OAAOA,CACT,IACCG,OAAM,SAAUH,GACf,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPhB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAWNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAbmCE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,I,mCCjCpC,oBAUeiC,IAPU,WACvB,IAAMC,EAAUC,qBAAWC,KAC3B,IAAKF,EACH,MAAM,IAAIG,MAAM,0DAClB,OAAOH,CACT,C,iPCMO,SAAeI,EAAUxC,EAAAO,EAAAK,EAAAiB,GAAA,OAAAY,EAAAxC,MAAC,KAADC,UAAA,CAoL/B,SAAAuC,IAAA,OAAAA,EAAAvE,YAAAC,IAAAC,MApLM,SAAAsC,EACLgC,EACAC,EACAC,EACAC,GAAW,IAAAC,EAAAC,EAAAjF,EAAAkF,EAAA1E,EAAA2E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA5D,UAAA,OAAA/B,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OACY,GAAvBkE,EAAegB,EAAAC,OAAA,QAAA1H,IAAAyH,EAAA,IAAAA,EAAA,GAAQvC,EAAA5C,KAAA,IAGjBgE,EAAcM,QAAQc,OAAS,GAAC,CAAAxC,EAAA3C,KAAA,SAE9Bd,EAAgB,GAChBkF,GAAmB,EACnB1E,EAAmB,CAAC,EACpB2E,GAJAF,EAA0CJ,GAIQM,QAClDC,EAAe,KACfC,EAAuB,GACvBC,EAAuB,GAAEC,EAAAlF,IAAAC,MAAA,SAAAiF,IAAA,IAAAW,EAAAC,EAAAC,EAAC,OAAD/F,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,YAEvBqE,EAAQK,GAAGa,UAAUJ,OAAS,GAAC,CAAA/C,EAAApC,KAAA,QAC3B4E,EAAMP,EAAQK,GAAGa,UAASF,EAAA9F,IAAAC,MAAA,SAAA6F,EAAAC,GAAA,OAAA/F,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAE9B8D,EAAS0B,SAAQ,SAACC,EAAWxH,GAC3BwH,EAAKlH,OAAOiH,SAAQ,SAACjH,GACfqG,EAAIE,GAAGpG,QAAUH,EAAOE,SAASC,OAC/BkG,EAAIE,GAAGY,QAAUnH,EAAOuC,KAAK4E,QAC1BnB,EAAWoB,SAASf,EAAIE,GAAGpG,SAC9B6F,EAAU,GAAApG,OAAAyH,YAAOrB,GAAU,CAAEK,EAAIE,GAAGpG,QACpC8F,EAAU,GAAArG,OAAAyH,YAAOpB,GAAU,CAAEI,EAAIE,GAAGY,SAI5C,GACF,IAAG,wBAAA3D,EAAAZ,OAAA,GAAAkE,EAAA,IAZIP,EAAI,EAAE,KAAD,OAAEA,EAAIF,EAAIO,QAAM,CAAA/C,EAAApC,KAAA,eAAAoC,EAAAyD,cAAAR,EAAAC,GAAA,eAAER,IAAG1C,EAAApC,KAAA,gCAAAoC,EAAAjB,OAAA,GAAAsD,EAAA,IAH9BC,EAAI,EAAE,KAAD,QAAEA,EAAIL,EAAQc,QAAM,CAAAxC,EAAA3C,KAAA,gBAAA2C,EAAAkD,cAAApB,IAAA,iBAAEC,IAAG/B,EAAA3C,KAAA,iBAoB9B0E,EAAI,EAAE,KAAD,QAAEA,EAAIL,EAAQc,QAAM,CAAAxC,EAAA3C,KAAA,YACZ,MAAhBsE,EAAoB,CAAA3B,EAAA3C,KAAA,gBAAA2C,EAAAzB,OAAA,oBAIxB,GAAImD,EAAQK,GAAGa,UAAUJ,OAAS,GAGhC,GAFMP,EAAMP,EAAQK,GAAGa,UACnBV,EAAY,EACZN,EAAWY,OAAS,EACtB,IAASL,EAAI,EAAGA,EAAIF,EAAIO,OAAQL,IAE5BP,EAAWoB,SAASf,EAAIE,GAAGpG,QAC3B8F,EAAWmB,SAASf,EAAIE,GAAGY,QAE3Bb,IAEe,GAAbA,GACEA,GAAaD,EAAIO,SACnBb,EAAeD,EAAQK,SAM/BJ,EAAeD,EAAQK,GACxB,QAzBiCA,IAAG/B,EAAA3C,KAAA,iBAyGtC,GA7EoB,OAAjBsE,IACFA,EAAawB,OAAOC,KAAI,SAACD,GACvB,GAAIA,EAAOnH,KACT,GAAoB,OAAhBmH,EAAOnH,KACJO,EAAIyG,SAASG,EAAOpH,QACvBQ,EAAI8G,KAAKF,EAAOpH,YAEb,GAAoB,aAAhBoH,EAAOnH,KAAqB,CACrC,IAAMsH,EAAgBC,MAASJ,OAAOA,EAAOpH,OAC7CQ,EAAI8G,KAAKC,EACX,KAA2B,QAAhBH,EAAOnH,MAChBmF,EAAS0B,SAAQ,SAACC,EAAWxH,GAC3BwH,EAAKlH,OAAOiH,QAAO,eAAAhE,EAAAlC,YAAAC,IAAAC,MAAC,SAAAiC,EAAOlD,GAAW,IAAAmH,EAAAS,EAAAC,EAAAC,EAAA,OAAA9G,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACpC,GAAIzB,EAAOE,SAASC,QAAUoH,EAAOpH,QAC/BgH,EAAgBnH,EAAOuC,KAAK4E,MAC5BS,EAAcL,EAAOQ,SAEX,OAAVZ,GACF,GAAyB,UAArBI,EAAOP,UAAuB,CAGhC,IAFIa,EAAYV,EAAMa,MAAMT,EAAOU,QACnClE,QAAQe,IAAI,0BAA2B+C,GAC9B1B,EAAI,EAAGA,EAAI0B,EAAUjB,OAAQT,IACpCyB,EAAcA,EAAYhH,QACxB,IAAIsH,OAAO,UAAY/B,EAAI,GAAK,MAAO,MACvC0B,EAAU1B,IAIZyB,EAAYO,QAAQ,MAAQ,GAC5BP,EAAYO,QAAQ,KAEpBxH,EAAI8G,KACFG,EAAYQ,UACVR,EAAYO,QAAQ,KAAO,EAC3BP,EAAYO,QAAQ,OAIxBxH,EAAI8G,KAAKG,EAEb,MACMT,EAAMgB,QAAQ,MAAQ,GAAKhB,EAAMgB,QAAQ,KAC3CxH,EAAI8G,KACFN,EAAMiB,UACJjB,EAAMgB,QAAQ,KAAO,EACrBhB,EAAMgB,QAAQ,OAIlBxH,EAAI8G,KAAKN,GAIhB,wBAAAhE,EAAAP,OAAA,GAAAM,EAAA,KACF,gBAAAmF,GAAA,OAAApF,EAAAH,MAAA,KAAAC,UAAE,CAAF,CA1CkB,GA2CrB,GAGN,IACIpC,EAAIiG,SAAWb,EAAawB,OAAOX,SAElCjG,EAAIyG,SAAS,eACbzG,EAAIyG,SAAS,iBACbzG,EAAIyG,SAAS,wBACbzG,EAAIyG,SAAS,0BACbzG,EAAIyG,SAAS,sBACbzG,EAAIyG,SAAS,wBACbzG,EAAIyG,SAAS,eACbzG,EAAIyG,SAAS,iBACbzG,EAAIyG,SAAS,wBACbzG,EAAIyG,SAAS,0BACbzG,EAAIyG,SAAS,sBACbzG,EAAIyG,SAAS,yBAEdvB,GAAU,KAID,gBAAXH,IAA4BC,EAAM,CAAAvB,EAAA3C,KAAA,aAChCoE,EAAQ,CAADzB,EAAA3C,KAAA,SAiBU,OAhBb+E,EAAahB,EAAcgB,WAC7BC,EAAS,GAEXA,EADED,EACO7F,EAAI2H,KAAK,KAAO,IAEhB3H,EAAI2H,KAAK,IAEpBvE,QAAQe,IAAI,oBAAqBnE,GACjC6E,EAAc+C,WAAa9B,EAC3BtF,EAAYqH,OAAS/B,EACrBtF,EAAYsH,MAAQjD,EAAckD,MAClCvH,EAAYwH,WAAalD,EACzBtE,EAAYyH,OAASlD,EACrBvE,EAAY0H,MACVtD,EAASK,EAAmBkD,UAAU9I,OACpC4F,EAAmBmD,UACnB7I,SAASC,MAAMiE,EAAA3C,KAAA,GACFZ,YAAcM,GAAa,KAAD,QACxBjC,KADbwH,EAAEtC,EAAA1B,MACDsG,UAELzD,EAASK,EAAmBkD,UAAU9I,OACpC4F,EAAmBmD,UACnBxG,KAAK4E,MAAQT,GAChBtC,EAAA3C,KAAA,iBACSoE,IACVN,EAASK,EAAmBkD,UAAU9I,OACpC4F,EAAmBmD,UACnBxG,KAAK4E,MAAQ,IAChB,eAAA/C,EAAAzB,OAAA,SAEI4C,GAAQ,QAAAnB,EAAA3C,KAAA,iBAAA2C,EAAA5C,KAAA,GAAA4C,EAAA6E,GAAA7E,EAAA,SAGjBL,QAAQC,MAAM,cAAaI,EAAA6E,IAAS,yBAAA7E,EAAAxB,OAAA,GAAAW,EAAA,mBAEvC+B,EAAAxC,MAAA,KAAAC,UAAA,CAEM,SAASmG,EACdC,EACAC,GAEA,IAAIC,EAAmB,GAEvB,OAAQF,EAAUG,eAChB,IAAK,eACHD,EAAWD,EAAWG,UAAUC,WAAWC,WAC3C,MACF,IAAK,iBACHJ,EAAWD,EAAWG,UAAUG,aAChC,MACF,IAAK,iBACHL,EAAWD,EAAWG,UAAUI,OAChC,MACF,IAAK,kBACHN,EAAWD,EAAWG,UAAUK,MAChC,MACF,IAAK,qBACHP,EAAWD,EAAWG,UAAUM,eAChC,MACF,IAAK,uBACHR,EAAWD,EAAWG,UAAUO,iBAOpC,OAAOT,CACT,CAEO,IAAMU,EAAc,eAAAjJ,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO8I,GAAiB,IAAAC,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAClC4C,YAAsB2F,GAAY,KAAD,EAA1C,OAAHC,EAAG1I,EAAAmB,KAAAnB,EAAAoB,OAAA,SACFsH,GAAG,wBAAA1I,EAAAqB,OAAA,GAAA1B,EAAA,KACX,gBAH0BgJ,GAAA,OAAApJ,EAAAgC,MAAA,KAAAC,UAAA,KAIpB,SAASoH,EAAmBC,GACjC,IAI2BC,EAJvBC,EAAQ,GACRxG,EAAS,GAEbyG,EAAAC,YACiBJ,GAAU,IAA3B,IAAAG,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA6B,CAAC,IAArBC,EAAIP,EAAAlD,MACE,MAATyD,GACFN,EAAM7C,KAAKmD,GACX9G,EAAO2D,KAAKmD,IACM,MAATA,EACLN,EAAM1D,OAAS,IACjB0D,EAAMO,MACN/G,EAAO2D,KAAKmD,IAGd9G,EAAO2D,KAAKmD,EAEhB,CAEA,OAAAnI,GAAA8H,EAAAO,EAAArI,EAAA,SAAA8H,EAAAQ,GAAA,CACAT,EAAQ,GAGR,IAFA,IAAIU,EAAc,GAET7E,EAAIrC,EAAO8C,OAAS,EAAGT,GAAK,EAAGA,IAAK,CAC3C,IAAIyE,EAAO9G,EAAOqC,GACL,MAATyE,GACFN,EAAM7C,KAAKmD,GACXI,EAAYvD,KAAKmD,IACC,MAATA,EACLN,EAAM1D,OAAS,IACjB0D,EAAMO,MACNG,EAAYvD,KAAKmD,IAGnBI,EAAYvD,KAAKmD,EAErB,CAGA,OAAOI,EAAYC,UAAU3C,KAAK,GACpC,C,kCCjRA,oDASa4C,EAAuB,SAAC9M,GAEnC,OADA+M,qBAAU,WAAO,GAAG,IAElBpM,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CAClCT,EAAMgN,SACLrM,eAAA,OACES,MAAO,CACL6L,QAAS,OACTC,WAAY,UACZzM,SAAA,CAEFF,cAAA,KACEa,MAAO,CACL+L,SAAU,QACVC,WAAY,OACZC,aAAc,MACdC,MAAO,UACPC,WAAY,KACZ9M,SAEDT,EAAMwN,kBAGTjN,cAAA,QACEa,MAAO,CACLkM,MAAO,OACP7M,SACH,SAKHF,cAAA,KACEa,MAAO,CACL+L,SAAU,QACVC,WAAY,OACZC,aAAc,MACdC,MAAO,UACPC,WAAY,KACZ9M,SAEDT,EAAMwN,kBAIXjN,cAAA,KACEa,MAAO,CACL+L,SAAU,QACVC,WAAY,OACZC,aAAc,MACdC,WAA4BxM,IAArBd,EAAMyN,WAA2BzN,EAAMyN,WAAa,YAC3DhN,SAEDT,EAAM0N,iBAIf,C,uLC/DaC,EAAiB,eAAAjL,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC/BsD,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAESK,MAAM,yBAA0B,CACpDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAGL,OAFAwB,QAAQe,IAAI,CAAEvC,SAEPA,CACT,IAAG,KAAD,EAZS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAaNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAjB6B2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBjBiJ,EAAqB,eAAA/I,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACjCmD,IAAM,CAC1B7C,OAAQ,OACR8C,IAAK,0BACLtC,KAAMiC,IAELpC,MAAK,SAAUC,GACd,OAAOA,CACT,IACCG,OAAM,SAACC,GACNsB,QAAQe,IAAI,CAAEmH,gBAAiBxJ,GACjC,IAAG,KAAD,EAVS,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAWNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAbiCE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KA+BrBmJ,EAAO,eAAAvI,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAvC,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACCK,MAAM,2BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACC,GAAQ,OAAKA,CAAQ,IAC3BG,OAAM,SAACC,GACNsB,QAAQe,IAAI,CAAEqH,UAAW1J,GAC3B,IAAG,KAAD,EACiB,OANfpB,EAAOwC,EAAAnB,KAMbqB,QAAQe,IAAIzD,GAASwC,EAAAlB,OAAA,SAEdtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,kBAVmB,OAAAD,EAAAb,MAAA,KAAAC,UAAA,I,gFCpDPqJ,EAAqB,SAACC,GACjC,IACE,IAAIC,EAAaD,EACjBC,EAAW/J,KAAKgK,QAAQ,CAAErF,KAAM,wBAChC,IADyD,IAAAhB,EAAA,WAEvD,IAAM3D,EAAO+J,EAAW/J,KAAKiK,GACvBC,EAAYC,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GAEvC,OAAAC,YAAA,GADe,OACItK,EAAKqK,GAC1B,IACAN,EAAW/J,KAAKiK,GAAKC,EAAU,EACjC,EAPSD,EAAI,EAAGA,EAAIF,EAAW/J,KAAKqE,OAAQ4F,IAAGtG,IAS/C,OAAOoG,CACT,CAAE,MAAOtI,GACPD,QAAQe,IAAI,mCAAoCd,EAClD,CACF,C,wHCkDa8I,EAAiB,SAC5BC,EACAC,EACAC,GAEA,OAAQD,GACN,KAAKE,IAAkBC,MACrB,OAAOJ,IAAWE,EACpB,KAAKC,IAAkBE,SACrB,OAAOC,OAAON,GAAUM,OAAOJ,GACjC,KAAKC,IAAkBI,SACrB,OAAOD,OAAON,GAAUM,OAAOJ,GACjC,KAAKC,IAAkBK,oBACrB,OAAOF,OAAON,IAAWM,OAAOJ,GAClC,KAAKC,IAAkBM,iBACrB,OAAOH,OAAON,IAAWM,OAAOJ,GAClC,KAAKC,IAAkBO,SACrB,OAAOV,IAAWE,EACpB,KAAKC,IAAkBQ,QACrB,OAAOC,OAAOZ,GAAQ3F,SAASuG,OAAOV,IACxC,KAAKC,IAAkBU,UACrB,OAAOD,OAAOZ,GAAQc,WAAWF,OAAOV,IAC1C,KAAKC,IAAkBY,QACrB,OAAOH,OAAOZ,GAAQgB,SAASJ,OAAOV,IACxC,QACE,OAAO,EAEb,EAEae,EAA0B,SACrCC,EACA1I,EACA2I,EACAC,GAEAF,EAAUjE,WAAW/C,SAAQ,SAACZ,GAC5B,IAAI+H,GAAuB,EAEvBC,EAAaF,GAA8B9H,EAAIc,MACnDpD,QAAQe,IAAIuB,GAERA,EAAIiI,cACN/I,EAAS0B,SAAQ,SAACsH,GAChBA,EAAQvO,OAAOiH,SAAQ,SAACjH,GAClBA,EAAOE,SAASC,QAAUkG,EAAIiI,cAChCD,EAAarO,EAAOuC,KAAK4E,MAE7B,GACF,IACApD,QAAQe,IAAIuJ,IAEd9I,EAAS0B,SAAQ,SAACsH,GAChBA,EAAQvO,OAAOiH,SAAQ,SAACjH,GAClBA,EAAOE,SAASC,QAAUkG,EAAImI,MAAMrO,QACtCiO,EAAuBtB,EACrBuB,EACAhI,EAAI2G,SACJhN,EAAOuC,KAAK4E,OAGlB,GACF,IACA,IAAMsH,EACJvM,KAAKwM,MAAMT,EAAU9N,OACvBoF,EAAS0B,SAAQ,SAACsH,GAChBA,EAAQvO,OAAOiH,SAAQ,SAACjH,GAClByO,EAASE,WAAoC,KAAvBF,EAASE,UAC7BF,EAASE,YAAc3O,EAAOE,SAASC,OACzCH,EAAOE,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC9H,GACpCA,EAAIgB,QAAUsO,EAAStO,QACR,WAAb+N,EACF/O,EAAI0P,QAAUT,EAEdjP,EAAI2P,WAAazI,EAAImI,MAAMG,UACvBtI,EACA+H,EAGV,IAGEpO,EAAOE,SAASC,QAAUsO,EAAStO,QACpB,WAAb+N,EACFlO,EAAO6O,QAAUT,EAEjBpO,EAAO8O,WAAaV,EAI5B,GACF,GACF,GACF,C,yJC7JaW,EAAqB,eAAAjO,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO8N,GAAiB,IAAA3N,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACrCK,MAAM,+BAAgC,CAC1DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAE6M,QAASA,MAE/B5M,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,iBAAkBrC,EAChC,IAAG,KAAD,EAbS,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAcNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAhBiC2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBrBkM,EAAyB,eAAAhM,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EACvCgM,EACAC,EACAC,GAOG,IAAA/N,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAEmBK,MAAM,kCAAmC,CAC7DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBkN,OAAQH,EACRC,uBAAwBA,EACxBG,oBAAqBF,MAGtBhN,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,iBAAkBrC,EAChC,IAAG,KAAD,EAjBS,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAkBNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBA/BqCE,EAAAK,EAAAiB,GAAA,OAAAzB,EAAAH,MAAA,KAAAC,UAAA,I,mCCpBtC,yFAGawM,EAAiB,SAACpI,EAAYqI,GACzC,GAAa,IAATrI,EAAa,CACf,IAAIsI,EAAiB9H,IAAOR,EAAO,uBAInC,OAHgBQ,IAAO8H,GAAgBlI,OACrCiI,GAAwB,cAG5B,CAEE,MADgB,EAGpB,EAcaE,EAAgB,SAACnI,GAC5B,IAAMoI,EACJ,MACwB,KAAvBpI,EAAOqI,KAAK3H,OAAgBV,EAAOqI,KAAK3H,OAAS,KAClD,OACwB,KAAvBV,EAAOqI,KAAK3H,OAAgBV,EAAOqI,KAAK3H,OAAS,KAAI,OAAArI,OAjB7B,SAAC2H,GAC5B,IAAMU,EACmB,MAAvBV,EAAOsI,KAAK5H,QAAyC,KAAvBV,EAAOsI,KAAK5H,OACtCV,EAAOsI,KAAK5H,OACZ,IAKN,MAHsB,MAApBV,EAAOsI,KAAKC,IAAW,KAAAlQ,OACdqI,EAAM,MAAArI,OAA+B,MAA1B2H,EAAOsI,KAAKE,UAAiB,GAAAnQ,OAAMqI,EAAM,MAAO,IAChE,EAER,CAQW+H,CAAczI,IAEvB,OAAOoI,CACT,C,wfCZaM,EAAkD,SAAHnP,GAerD,IAdLb,EAAMa,EAANb,OACAP,EAAMoB,EAANpB,OACA6O,EAAOzN,EAAPyN,QACA2B,EAAIpP,EAAJoP,KAEAhQ,GADIY,EAAJyB,KACQzB,EAARZ,UACAf,EAAG2B,EAAH3B,IACAgR,EAASrP,EAATqP,UACA9Q,EAAOyB,EAAPzB,QACA+Q,EAAUtP,EAAVsP,WAEAC,GADevP,EAAfwP,gBACUxP,EAAVuP,YACAE,EAAezP,EAAfyP,gBACQC,YAAA1P,EAAA2P,GAER,OACE9R,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAA5N,GAAoD,IAAjDuL,EAAKvL,EAALuL,MAAKsC,EAAA7N,EAAE8N,UAAajR,EAAMgR,EAANhR,OAAQD,EAAWiR,EAAXjR,YAIjCmR,EAAQ9Q,EAASC,MAAMK,WAAW,IAAK,KAE3C,OACEzB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAGHF,cAACsS,IAAKC,wBAAA,GACA1C,GAAK,IACT2C,OAAQ,SAACrG,GACP0D,EAAM4C,SAAStG,GACfyF,EAAgBrQ,EAAU4K,EAAEuG,OAAOlK,MACrC,EACAmK,GAAIN,EACJ7J,MAAOqH,EAAMrH,MAAQqH,EAAMrH,WAAQjI,EACnCqS,UAAWnB,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CC,KAAM,QACN9R,UAAU,8BACV+R,YACoB,OAAlBxR,EAASE,KACLF,EAASG,UAAUsR,YACnB,cAENC,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAGlCkL,UACG1B,GAC+B,MAAhClQ,EAASG,UAAUmR,UACD,OAAlBtR,EAASE,KAGXsF,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,QAEF8R,UAAW,SAACjH,GAAO,IAADkH,EACoB,SAA1B,QAANA,EAAAlH,EAAEmH,YAAI,IAAAD,OAAA,EAANA,EAAQE,sBACVC,YAAW,WAAO,IAADC,EAIXC,EACqB,QADbD,EAAGE,SACZC,eAAevB,UAAO,IAAAoB,OAAA,EADVA,EAEXI,aAAa,YACbC,EAASZ,SAASQ,GAAa,EAEnCK,IACE,kBACED,EACA,wBACAA,EACA,KAEDE,QACAC,OACL,GAAG,IAEP,KAED/S,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAOhC,GAGN,EAGa0S,EAAiD,SAAHvP,GAepD,IAdL4M,EAAI5M,EAAJ4M,KACAhQ,EAAQoD,EAARpD,SACA4S,EAAQxP,EAARwP,SACAC,EAAQzP,EAARyP,SACAC,EAAS1P,EAAT0P,UACAC,EAAM3P,EAAN2P,OACApU,EAAQyE,EAARzE,SACAuR,EAAU9M,EAAV8M,WAEAC,GADe/M,EAAfgN,gBACUhN,EAAV+M,YACA3Q,EAAM4D,EAAN5D,OACAO,EAAMqD,EAANrD,OAIIiT,GAHM5P,EAAV6P,WACQ3C,YAAAlN,EAAA8P,GAEE1T,EAAS,IAAMO,EAAS,IAAMC,EAASC,OAC3CkT,EAAU,WACdlB,YAAW,WAAO,IAADmB,EAIXjB,EAAuC,QAA/BiB,EAAGhB,SAASC,eAAeW,UAAI,IAAAI,OAAA,EAA5BA,EAA8Bd,aAAa,YACtDC,EAASZ,SAASQ,GAAa,EAEnCK,IAAE,kBAAoBD,EAAS,wBAA0BA,EAAS,KAC/DE,QACAC,OACL,GAAG,IACL,EAEA,OAAKI,EAyCHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC4U,IAAO,CAACC,MAAO3U,EAAS,GAAI4U,UAAU,UAAS5U,SAC9CF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAACsS,IAAK,CACJ6C,UAAWd,EACXvB,KAAK,QACLH,GAAI4B,EACJa,IAAKhB,EACL5L,MAAOtI,EAAS,GAChBmV,aAAcnV,EAAS,GACvBc,UAAU,8BACV4R,UAAWnB,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CM,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CE,YAAaxR,EAASG,UAAUsR,YAChCC,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAElCqN,aAAcnB,EACd3B,OAAQ,SAACrG,GACPA,EAAEoJ,iBACFpB,GACF,EACAf,UAAW,SAACjH,GAAO,IAADqJ,EACoB,SAA1B,QAANA,EAAArJ,EAAEmH,YAAI,IAAAkC,OAAA,EAANA,EAAQjC,sBACVmB,GAEJ,EACAe,QAAS,SAACtJ,GAKRA,EAAEuG,OAAOgD,QACX,UAxFN1V,cAAA,OAAKa,MAAO,CAAE8U,MAAO,QAAUC,QAAStB,EAAOpU,SAC7CF,cAACsS,IAAK,CACJ6C,UAAWd,EACX1B,GAAI4B,EACJzB,KAAK,QACLsC,IAAKhB,EACLpT,UAAU,8BACVwH,MAAOtI,EAAS,GAChBmV,aAAcnV,EAAS,GACvB6S,YAAaxR,EAASG,UAAUsR,YAChCJ,UAAWnB,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CM,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CI,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAElCuK,OAAQ,SAACrG,GACPA,EAAEoJ,iBACFpB,GACF,EACAf,UAAW,SAACjH,GAAO,IAAD0J,EACoB,SAA1B,QAANA,EAAA1J,EAAEmH,YAAI,IAAAuC,OAAA,EAANA,EAAQtC,sBACVmB,GAEJ,EACAe,QAAS,SAACtJ,GAKRA,EAAEuG,OAAOgD,QACX,KA8DV,C,mLC1QMI,EAAeC,wBAAwC,MACvDC,EACG,UADHA,EAEK,UAFLA,EAGE,UAHFA,EAIK,UAELC,EAAqD,SAACxW,GAC1D,IAAAyW,EAA6BC,IAAaC,kBAAiBC,EAAAC,YAAAJ,EAAA,GAApDK,EAAGF,EAAA,GAAEG,EAAaH,EAAA,GA2BzB,OACEjW,eAAC0V,EAAaW,SAAQ,CAACjO,MAAO,CAAEkO,YA3BR,SAACC,GACzB,IAAIC,EAAoB5W,cAAC6W,IAAoB,IAEzB,UAAhBF,EAAOlV,KACTmV,EAAO5W,cAAC8W,IAAiB,CAAC/J,MAAOiJ,EAAmBlD,KAFrC,KAGU,SAAhB6D,EAAOlV,KAChBmV,EAAO5W,cAAC6W,IAAoB,CAAC9J,MAAOiJ,EAAkBlD,KAJvC,KAKU,YAAhB6D,EAAOlV,KAChBmV,EAAO5W,cAAC+W,IAAa,CAAChK,MAAOiJ,EAAqBlD,KANnC,KAOU,YAAhB6D,EAAOlV,OAChBmV,EAAO5W,cAACgX,IAAS,CAACjK,MAAOiJ,EAAqBlD,KAR/B,MAUjByD,EAAII,EAAOlV,MAAM,CACfT,UAAW,eACXkU,QAASyB,EAAOzB,QAChBlC,YAAahT,cAAA,OAAKiX,wBAAyB,CAAEC,OAAQP,EAAO3D,eAC5D8B,UAAW,WACXqC,QAASR,EAAOQ,QAChBC,SAAUT,EAAOS,UAAYT,EAAOS,SACpCvW,MAAO,CACLwW,aAAc,EACdC,OAAQ,KAEVV,QAEJ,GAEmE1W,SAAA,CAC9DsW,EACA/W,EAAMS,WAGb,C,gKC1DasG,EACXuP,wBAAgD,MAErCwB,EAAyC,SAAC9X,GACrD,IAAA+X,EAAyCC,mBAAiC,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAAtEG,EAAaD,EAAA,GAAEE,EAAeF,EAAA,GAErClL,qBAAU,WACRqL,GACF,GAAG,IAEH,IAAMA,EAAS,eAAA1V,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAuV,EAAA,OAAAzV,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACQiV,IAAmB,KAAD,EAAtCD,EAAWlV,EAAAmB,KACf6T,EAAgBE,GAAa,wBAAAlV,EAAAqB,OAAA,GAAA1B,EAAA,KAC9B,kBAHc,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAiBT2T,EAAgB,eAAAzT,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAyT,EAAAF,EAAA,OAAAzV,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACEmV,cACtBxU,MAAK,SAAC0I,GAAC,OAAKA,EAAE+L,QAAO,SAAC/L,GAAM,MAAK,CAAC,cAAc1D,SAAS0D,EAAEgM,WAAW,GAAC,IACvE1U,MAAK,SAAC0I,GAAC,OAAKA,EAAE+L,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,GAAC,IAC5CvU,OAAM,SAACC,GACNsB,QAAQC,MAAMvB,EAChB,IAAG,KAAD,EAKD,OAVGkU,EAAUxT,EAAAT,KAOZ+T,EAAmB,CAAC,EACd,OAAVE,QAAU,IAAVA,KAAY1P,SAAQ,SAAC6D,GACnB2L,EAAY3L,EAAEgM,YAAchM,CAC9B,IAAG3H,EAAAR,OAAA,SACI8T,GAAW,wBAAAtT,EAAAP,OAAA,GAAAM,EAAA,KACnB,kBAbqB,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAetB,OACEpE,cAACwG,EAAqBiQ,SAAQ,CAACjO,MAAO,CAAEmP,gBAAeU,iBA7BhC,SAACL,GACxB,GAAIA,EAAW/P,OAAS,EAAG,CACzB,IAAMqQ,EAAcN,EAAWE,QAC7B,SAAC/L,GAAC,MAAK,CAAC,cAAc1D,SAAS0D,EAAEgM,aAAehM,EAAEiM,QAAQ,IAExDN,EAAmB,CAAC,EACxBQ,EAAYhQ,SAAQ,SAAC6D,GACnB2L,EAAY3L,EAAEgM,YAAchM,CAC9B,IACAyL,EAAgBE,EAClB,CACF,EAkB2EC,oBAAmB7X,SACzFT,EAAMS,UAGb,C,mCCvDA,oFAKaqY,EAAkB,SAACC,EAAgB5U,GAC9C,IAAI6U,EAAe,CAAC,EACpBA,EAAa,IAAI7U,EAAKqK,IACtB,IAAK,IAAIzG,EAAI,EAAGA,EAAIgR,EAAQvQ,OAAQT,IAAK,CAEvCiR,EADeD,EAAQhR,GACRhG,OAASoC,EAAK4D,GAAGgB,KAClC,CACA,OAAOiQ,CACT,EAEaC,EAAe,SAACF,EAAgB5U,GAK3C,IAJA,IAAI+U,EAAiB,GAIZnR,EAAI,EAAGA,GAAQ,OAAJ5D,QAAI,IAAJA,GAAS,QAALgV,EAAJhV,EAAMiV,WAAG,IAAAD,OAAL,EAAJA,EAAW3Q,QAAQT,IAAK,CAAC,IAADoR,EACpCC,EAAMjV,EAAKiV,IAAIrR,GACjBiR,EAAe,CAAC,EACpBA,EAAa,IAAIjR,EACjB,IADmB,IAAAD,EAAA,SAAAK,GACmB,IAADkR,EAC7BC,EAAOF,EAAIjR,GACjB6Q,EAAkB,QAAXK,EAACN,EAAQ5Q,UAAE,IAAAkR,OAAA,EAAVA,EAAYtX,OAASuX,EAAKvQ,MAC9BuQ,EAAKvQ,MACLuQ,EAAKxQ,KACLwQ,EAAKxQ,KACFM,KAAI,SAACmQ,EAAYC,GAAW,MACjB,MAAVD,EACIR,EAAQ5Q,GAAGgI,QAAQrO,SAASG,UAAUN,MAAM6X,GAAK1Q,KACjD,EAAE,IAEPuC,WACHiO,EAAKvQ,KAEX,EAdSZ,EAAI,EAAGA,EAAIiR,EAAI5Q,OAAQL,IAAGL,EAAAK,GAenCxC,QAAQe,IAAI,CAAEsS,UAASI,QAEvBF,EAAQ7P,KAAK2P,EACf,CACA,IAAMxI,EAAgB,GAEtBA,EAAOnH,KAAK,CACV+L,MAAO,IACP5G,IAAK,QACL0H,MAAO,OACPuD,MAAO,SACPhH,OAAQ,SAACiH,EAAQC,EAAyBC,GAAa,YACtC9Y,IAAf6Y,EAAOnL,IAAoBjO,cAAA,KAAAE,SAAIkZ,EAAOnL,IAAM,IAASjO,cAAA,KAAAE,SAAImZ,EAAQ,GAAM,IAqC3E,OAlCAb,EAAQ3P,KAAI,SAACyQ,GACX,IAAIC,EAAc,IAIhBD,EAAQ1J,QAAQrO,SAASG,UAAU8X,cACnCF,EAAQ1J,QAAQrO,SAASG,UAAU8X,aAAe,IAGlDD,EADc7K,OAAO4K,EAAQ1J,QAAQrO,SAASG,UAAU8X,cAClC,IAAO,MAExB,IAEPvJ,EAAOnH,KAAK,CACV+L,MACEzU,eAAA,OAAKY,UAAU,kDAAiDd,SAAA,CAC9DE,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEoZ,EAAQ9X,QACO,MAA/C8X,EAAQ1J,QAAQrO,SAASG,UAAUC,SAClC3B,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,SAInCF,cAAA,QAAMgB,UAAU,4BAA2Bd,SAAEoZ,EAAQ1X,WAGzD6X,UAAWH,EAAQ9X,MACnBkY,UAzBqB,EA0BrB/D,MAAO4D,EACPrJ,OAAQoJ,EAAQpJ,QAEpB,IAGO,CAAED,SAAQ0I,UACnB,C,klBCtCMgB,EAA+C,SAAHxX,GAW3C,IAADyX,EAAAC,EAVJzE,EAAGjT,EAAHiT,IACA7T,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MAEAiK,GADMtQ,EAAN4E,OACQ5E,EAARsQ,UACAhB,EAAUtP,EAAVsP,WAEAqI,GADe3X,EAAfwP,gBACWxP,EAAX2X,aAIAtC,GAHerV,EAAfyP,gBACQC,YAAA1P,EAAA2P,GAEoB2F,oBAAkB,IAAMC,EAAApB,YAAAkB,EAAA,GAA7CuC,EAAMrC,EAAA,GAAEsC,EAAStC,EAAA,GAChBC,EAAkBtR,cAAlBsR,cAERnL,qBAAU,WACRyN,GACF,GAAG,CAACF,IAEJ,IAAME,EAAc,WACdH,GACEA,EAAYI,MACdJ,EAAYI,KAAKrR,KAAI,SAACjF,GAEQ,iBAA1BkW,EAAYK,WACZvW,EAAKsG,QAAU3I,EAASC,OACxBoC,EAAKwW,QAAU5R,EAEfwR,GAAU,GAEVA,GAAU,EAEd,GAGN,EAEA,SAASK,EAAWpJ,GAClB,IAAIqJ,EAAUrJ,EAAK5H,MAAM,KAEnBkR,EAAK7L,OAAO4L,EAAQ,IA0B1B,OAzBW,IAAPC,EACFD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,IACTD,EAAQ,GAAK,OAERA,EAAQ3Q,KACsB,KAAnCpI,EAASG,UAAUuP,KAAK3H,OACpB/H,EAASG,UAAUuP,KAAK3H,OACxB,IAER,CA+BA,OACEtJ,cAAAC,WAAA,CAAAC,SACEF,cAACwa,IAAU,CACTrH,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CuC,IAAKA,EACLzC,GAAIpR,EAASC,MACbsR,KAAM,QACNtK,MAAOA,GArCQ,SAACiS,GAEpB,IAAIC,EAAU1R,IACZA,IAAO,IAAI2R,KAAKF,IAAY7R,OAAO,eACnC,eACAgS,SAeF,MAbyC,iBAArCF,EAAQ5P,WAAWH,cACrB+P,EAAU1R,IAAOqR,EAAWI,GAAY,eAAeG,SAMd,kBAJzCF,EAAU1R,IACRA,IAAOqR,EAAWI,IAAY7R,OAAO,eACrC,eACAgS,UACU9P,WAAWH,eACrBvF,QAAQe,IAAI,wBAAyBsU,GAKlCzR,IACL,IAAI2R,KAAKD,GAASG,eAAe,QAAS,CACxCC,KAAM,UACNC,MAAO,QACPC,IAAK,YAEPjK,YAAcxP,EAASG,WAE3B,CASsBuZ,CAAazS,GAC7BI,OACErH,EAASG,UAAUwZ,cACf3Z,EAASG,UAAUwZ,cACQ,QAA3BtB,EAAAjC,EAA0B,kBAAC,IAAAiC,GAA3BA,EAA6BuB,OACF,QADQtB,EACnClC,EAA0B,kBAAC,IAAAkC,OAAA,EAA3BA,EAA6BsB,OAC7BpK,YAAcxP,EAASG,WAE7B0Z,SACkC,MAAhC7Z,EAASG,UAAUwP,KAAKC,KACpB,CAAEkE,aAAcrM,IAAO,WAAY,aAGzCyJ,SAAU,SAACjK,GACTiK,EACEjK,EAAa,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOI,OAAOmI,YAAcxP,EAASG,YAAc,GAE/D,EACAqF,OAAQgT,EAAS,QAAU,GAC3BsB,eAAa,KAIrB,EAEaC,EAA0D,SAAHhX,GAe7D,IAdLhD,EAAMgD,EAANhD,OACAP,EAAMuD,EAANvD,OACA6O,EAAOtL,EAAPsL,QACA2B,EAAIjN,EAAJiN,KAEAhQ,GADI+C,EAAJV,KACQU,EAAR/C,UACAf,EAAG8D,EAAH9D,IACAgR,EAASlN,EAATkN,UACA9Q,EAAO4D,EAAP5D,QACA+Q,EAAUnN,EAAVmN,WACAE,EAAerN,EAAfqN,gBACAD,EAAUpN,EAAVoN,WACAE,EAAetN,EAAfsN,gBACQC,YAAAvN,EAAAmQ,GAER,OACEzU,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAvN,GAAA,IAAA4W,EAAA5W,EACNkL,MAAS4C,EAAQ8I,EAAR9I,SAAUjK,EAAK+S,EAAL/S,MAAwBgT,GAAXD,EAAN/I,OAAY+I,EAAJhK,KAASgK,EAAHnG,IAAGzQ,EAC3CyN,WAAajR,EAAMqa,EAANra,OAAQD,EAAWsa,EAAXta,YAAW,OAEhCd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAAC2Z,EAAkB,CACjB/H,gBAAiB,SACf6J,EACAjM,EACAkM,GAEA,MAAM,IAAIjV,MAAM,4BAClB,EACMgL,aAAYE,kBAClBpQ,SAAUA,EACViH,MAAOA,EACPzB,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,QAEFmR,SAAU,SAACjK,GACTiK,EAASjK,GACToJ,EAAgBrQ,EAAUiH,GAAO,EACnC,IAGDtH,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAKzB,GAIX,EAEama,EAAsD,SAAH3W,GAYzD,IAXLuM,EAAIvM,EAAJuM,KACAhQ,EAAQyD,EAARzD,SACA4S,EAAQnP,EAARmP,SACAC,EAAQpP,EAARoP,SACAC,EAASrP,EAATqP,UACAC,EAAMtP,EAANsP,OACApU,EAAQ8E,EAAR9E,SACAuR,EAAUzM,EAAVyM,WACAE,EAAe3M,EAAf2M,gBACAD,EAAU1M,EAAV0M,WACQG,YAAA7M,EAAA4W,GAER,OAAKvH,EAcHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EAQNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAAC2Z,EAAkB,CACXlI,aAAYE,kBAClByD,IAAKhB,EACL7S,SAAUA,EACVkR,SAAU,SAACtG,GACTgI,EAAS5S,EAASE,KAAMF,EAASE,KACnC,QAzCJzB,cAAA,OAAK6b,YAAavH,EAAOpU,SACvBF,cAAC2Z,EAAkB,CACXlI,aAAYE,kBAClByD,IAAKhB,EACL5L,MAAOtI,EAAS,GAChBqB,SAAUA,EACVkR,SAAU0B,KAwCpB,C,mCCzVA,oKA4Ca2H,EAAmD,SAAH3Z,GAUtD,IATLwQ,EAAExQ,EAAFwQ,GACApR,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MACAzB,EAAM5E,EAAN4E,OACA0L,EAAQtQ,EAARsQ,SACAhB,EAAUtP,EAAVsP,WACA4C,EAASlS,EAATkS,UACAG,EAAUrS,EAAVqS,WACAY,EAAGjT,EAAHiT,IAEA,OACEpV,cAAAC,WAAA,CAAAC,SACEF,cAAC+b,IAAW,CACVpJ,GAAI5Q,YAAqB,OAAF4Q,QAAE,IAAFA,IAAM,IAE7BwC,UAAWd,EACXvB,KAAM,QACN9R,UAAS,+BAAAC,OACsB,MAA7BM,EAASG,UAAUwX,MAAgB,aAAe,YAAW,KAAAjY,OAE/B,KAA9BM,EAASG,UAAU4H,OACsB,KAArC/H,EAASG,UAAUsa,gBAAyB,eACP,KAArCza,EAASG,UAAUsa,gBAAyB,iBAElDjJ,YAAaxR,EAASG,UAAUsR,YAChCiJ,WACuC,KAArC1a,EAASG,UAAUsa,gBAAyBza,EAASG,UAAU4H,OAEjE4S,YACuC,KAArC3a,EAASG,UAAUsa,gBAAyBza,EAASG,UAAU4H,OAEjE6S,UAAU,EACVC,UAAW,SAAC5T,GACV,OAAI6T,MAAM3N,OAAOlG,EAAM3G,WAAW,IAAK,MAC9B,GAE6B,MAAhCN,EAASG,UAAU4a,SACd5N,OAAOlG,EAAM3G,WAAW,IAAK,KAAKgZ,eAAe,QAAS,CAC/D0B,sBAAuB7N,OAAOnN,EAASG,UAAU8a,WAG5C9N,OAAOlG,EAAM3G,WAAW,IAAK,KAAK4a,QACvC/N,OAAOnN,EAASG,UAAU8a,SAIlC,EACA3b,MAAO,CACL8U,MAAO,QAETxC,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAE5CrK,MAAOA,GAAmB,KAAVA,EAAeA,EAAQ,IACvC6M,aAAc9T,EAASG,UAAUgb,QACjCjH,QAAS,SAACtJ,GACJqI,GACFA,IAEFrI,EAAEuG,OAAOgD,QACX,EACAlD,OAAQ,SAACrG,GACPA,EAAEoJ,iBAEF,IAAIoH,EAAS,GAEXA,EADEN,MAAM3N,OAAOvC,EAAEuG,OAAOlK,MAAM3G,WAAW,IAAK,MACrC,IAEA6M,OAAOvC,EAAEuG,OAAOlK,MAAM3G,WAAW,IAAK,KAAKgZ,eAClD,QACA,CACE0B,sBAAuB7N,OAAOnN,EAASG,UAAU8a,SACjDI,sBAAuBlO,OAAOnN,EAASG,UAAU8a,WAKvD/J,EAASkK,EAAO9a,WAAW,IAAK,IAClC,EACAuR,UAAW,SAACjH,GAAO,IAADkH,EACoB,SAA1B,QAANA,EAAAlH,EAAEmH,YAAI,IAAAD,OAAA,EAANA,EAAQE,sBACVC,YAAW,WAAO,IAADC,EAIXC,EACkB,QADVD,EAAGE,SACZC,eAAejB,UAAI,IAAAc,OAAA,EADPA,EAEXI,aAAa,YACbC,EAASZ,SAASQ,GAAa,EAGnCK,IACE,kBACED,EACA,wBACAA,EACA,KAEDE,QACAC,OACL,GAAG,IAEP,EACAqB,aAAc,SAACnJ,GACbA,EAAEuG,OAAOmK,MACX,EACA9V,OAAQA,EACRqO,IAAKA,KAIb,EAEa0H,EAAoD,SAAHxY,GAevD,IAdLhD,EAAMgD,EAANhD,OACAP,EAAMuD,EAANvD,OACA6O,EAAOtL,EAAPsL,QACA2B,EAAIjN,EAAJiN,KAEAhQ,GADI+C,EAAJV,KACQU,EAAR/C,UACAf,EAAG8D,EAAH9D,IACAgR,EAASlN,EAATkN,UACA9Q,EAAO4D,EAAP5D,QACAkR,EAAetN,EAAfsN,gBACAH,EAAUnN,EAAVmN,WACAE,EAAerN,EAAfqN,gBAEAD,GADapN,EAAboX,cACUpX,EAAVoN,YAG0BqL,YAAS,CACjCnN,UACA2B,KAAMA,IAQR,OACEvR,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFsL,KAC6B,MAA3Bzb,EAASG,UAAUsb,KAA0C,MAA3Bzb,EAASG,UAAUub,MACtB,KAA3B1b,EAASG,UAAUsb,IACjBzb,EAASG,UAAUsb,SAErBzc,EACN0c,KAC6B,MAA3B1b,EAASG,UAAUub,KAA0C,MAA3B1b,EAASG,UAAUsb,MACtB,KAA3Bzb,EAASG,UAAUub,IACjB1b,EAASG,UAAUub,SAErB1c,GAER2R,OAAQ,SAAAvN,GAGD,IAADuY,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlC,EAAA5W,EAFJkL,MAAS4C,EAAQ8I,EAAR9I,SAAUjK,EAAK+S,EAAL/S,MAAKgT,EAAA7W,EACxByN,UAAajR,EAAMqa,EAANra,OAAQD,EAAWsa,EAAXta,YAIrB,OACEd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAAC8b,EAAoB,CACbrK,aAAYE,kBAClBgB,GAAIpR,EAASC,MAAMK,WAAW,IAAK,KACnCN,SAAUA,EACVkR,SAAU,SAACjK,GACT,IAAIkV,EAAgBlV,EACP,GAATA,GAAuB,GAATA,IAChBkV,EAAW,IAEbjL,EAASiL,GACT9L,EAAgBrQ,EAAUmc,GAAU,EACtC,EACAlV,MAAOA,EACPzB,QACQ,OAAN5F,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,UAYHJ,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,sBAGf,OAANL,QAAM,IAANA,OAAM,EAANA,EAAQC,SACD,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MAE3B,SADK,OAANH,QAAM,IAANA,GAAqB,QAAf+b,EAAN/b,EAAQC,MAAML,UAAO,IAAAmc,GAAgB,QAAhBC,EAArBD,EAAuB7b,OAAOC,UAAO,IAAA6b,GAAM,QAANC,EAArCD,EAAuCvZ,YAAI,IAAAwZ,GAAO,QAAPC,EAA3CD,EAA6C5U,aAAK,IAAA6U,OAA5C,EAANA,EAAoD5b,OAGrC,SADR,OAANN,QAAM,IAANA,GAAqB,QAAfmc,EAANnc,EAAQC,MAAML,UAAO,IAAAuc,GAAgB,QAAhBC,EAArBD,EAAuBjc,OAAOC,UAAO,IAAAic,GAAM,QAANC,EAArCD,EAAuC3Z,YAAI,IAAA4Z,GAAO,QAAPC,EAA3CD,EAA6ChV,aAAK,IAAAiV,OAA5C,EAANA,EACIhc,QACJrB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,oBAAkBD,EAASG,UAAUsb,IAAK,IAAI,MAC1Dzb,EAASG,UAAUub,IAAI,cAO3C,GAGN,EAEaU,EAAuD,SAAH3Y,GAa1D,IAZLjE,EAAMiE,EAANjE,OACAO,EAAM0D,EAAN1D,OACAiQ,EAAIvM,EAAJuM,KACAhQ,EAAQyD,EAARzD,SACA4S,EAAQnP,EAARmP,SACAC,EAAQpP,EAARoP,SACAC,EAASrP,EAATqP,UACAC,EAAMtP,EAANsP,OACApU,EAAQ8E,EAAR9E,SACAuR,EAAUzM,EAAVyM,WACAE,EAAe3M,EAAf2M,gBACAD,EAAU1M,EAAV0M,WAEQgF,EAAgBkH,cAAhBlH,YAER,OAAKrC,EA+DHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,kBAE5B,CACEqc,UAAW,SAAC1E,EAAG3Q,GACb,IAAIsV,GAAU,EACVC,EAAM,GACV,GAAIvV,EAAO,CACT,IAAMwV,EAActP,OAAOlG,GACrByV,EAAiBvP,OAAOnN,EAASG,UAAUub,KAC3CiB,EAAiBxP,OAAOnN,EAASG,UAAUsb,KAEjD5X,QAAQe,IACN,UACA6X,EACAC,EACAC,EACA3c,EAASC,QAGY,IAAnByc,GAAwBD,EAAcC,GAKrB,IAAnBC,GACAF,EAAcE,KALdJ,GAAU,EAEVC,EAAG,GAAA9c,OAAMM,EAASC,MAAK,qBAAAP,OAAoBM,EAASG,UAAUsb,IAAG,QAAA/b,OAAOM,EAASG,UAAUub,IAAG,WAQlG,MAAYzU,GAAwC,MAA/BjH,EAASG,UAAUC,UACtCmc,GAAU,GASZ,OAPKA,GACHpH,EAAY,CACV1D,YAAY,IACZkC,QAAS6I,EACTtc,KAAM,UAGHqc,EACHK,QAAQC,UACRD,QAAQE,OAAO,IAAI5X,MAAMsX,GAC/B,IAEF7d,SAEFF,cAAC8b,EAAoB,CACnBnJ,GAAI5R,EAAS,IAAMO,EAAS,IAAMC,EAASC,MACrCiQ,aAAYE,kBAClBpQ,SAAUA,EACV8S,UAAWA,EACXe,IAAKhB,EACL3B,SAAU,WACR0B,EAAS5S,EAASE,KAAMF,EAASE,KACnC,QAhIJrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OACEa,MACoB,MAAlBU,EAASE,MACTiN,OAAOnN,EAASG,UAAUsb,OAAStO,OAAOnN,EAASG,UAAUub,KACzD,CAAEtH,MAAO,QACU,MAAlBpU,EAASE,MAC2B,IAAnCiN,OAAOnN,EAASG,UAAUub,MACF,IAAxBvO,OAAOxO,EAAS,KAChBwO,OAAOxO,EAAS,IAAMwO,OAAOnN,EAASG,UAAUub,MAC/B,MAAlB1b,EAASE,MAC2B,IAAnCiN,OAAOnN,EAASG,UAAUub,MACF,IAAxBvO,OAAOxO,EAAS,KAChBwO,OAAOxO,EAAS,IAAMwO,OAAOnN,EAASG,UAAUsb,KAClD,CACErH,MAAO,OACP2I,OAAQ,gBACRjH,aAAc,OAEhB,CACE1B,MAAO,QAEdzV,SAEDF,cAAC8b,EAAoB,CACnBnJ,GAAI5R,EAAS,IAAMO,EAAS,IAAMC,EAASC,MACrCiQ,aAAYE,kBAAiBD,aACnClJ,MAAOtI,EAAS,GAChBqB,SAAUA,EACVkR,SAAU0B,EACVK,WAAYF,MAGG,MAAlB/S,EAASE,MACVF,EAASG,UAAUsb,MAAQzb,EAASG,UAAUub,IAC5Cjd,cAAAC,WAAA,IAEmB,MAAlBsB,EAASE,MAC2B,IAAnCiN,OAAOnN,EAASG,UAAUub,MACF,IAAxBvO,OAAOxO,EAAS,KAChBwO,OAAOxO,EAAS,IAAMwO,OAAOnN,EAASG,UAAUub,MAC9C7c,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,oBAAkBD,EAASG,UAAUsb,IAAI,MAAI,IAC5Dzb,EAASG,UAAUub,IAAI,QAGX,MAAlB1b,EAASE,MAC2B,IAAnCiN,OAAOnN,EAASG,UAAUsb,MACF,IAAxBtO,OAAOxO,EAAS,KAChBwO,OAAOxO,EAAS,IAAMwO,OAAOnN,EAASG,UAAUsb,MAC9C5c,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,oBAAkBD,EAASG,UAAUsb,IAAI,MAAI,IAC5Dzb,EAASG,UAAUub,IAAI,SAiFxC,C,ycC1ZasB,EAA4C,SAAHpc,GACjDA,EAAHiT,IAOK,IANL7T,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MACAzB,EAAM5E,EAAN4E,OACA0L,EAAQtQ,EAARsQ,SACAhB,EAAUtP,EAAVsP,WACetP,EAAfwP,gBAEA,OACE3R,cAAAC,WAAA,CAAAC,SACEE,eAACoe,IAAMC,MAAK,CACVhM,SAAUA,EACVjK,MAAOA,EACPsK,KAAM,QACNK,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAAiB3S,SAAA,CAExB,MAApCqB,EAASG,UAAUgd,cACpB1e,cAAC2e,IAAK,CACJC,UAAU,WAAU1e,SAEnBqB,EAASG,UAAUN,MAAMyH,KAAI,SAACgW,GAAW,OACxC7e,cAACwe,IAAK,CACJxd,UAAS,GAAAC,OAAK8F,EAAS,mBAAqB,IAC5CyB,MAAOqW,EAAOtW,KAAKrI,SAElB2e,EAAOtW,MACF,MAKyB,MAApChH,EAASG,UAAUgd,cAClB1e,cAAAC,WAAA,CAAAC,SACCqB,EAASG,UAAUN,MAAMyH,KAAI,SAACgW,GAAW,OACxC7e,cAACwe,IAAK,CACJxd,UAAS,GAAAC,OAAK8F,EAAS,mBAAqB,IAC5CyB,MAAOqW,EAAOtW,KAAKrI,SAElB2e,EAAOtW,MACF,UAOpB,EAEauW,EAA8C,SAAHxa,GAejD,IAdLhD,EAAMgD,EAANhD,OACAP,EAAMuD,EAANvD,OACA6O,EAAOtL,EAAPsL,QACA2B,EAAIjN,EAAJiN,KAEAhQ,GADI+C,EAAJV,KACQU,EAAR/C,UACAf,EAAG8D,EAAH9D,IACAgR,EAASlN,EAATkN,UACA9Q,EAAO4D,EAAP5D,QACA+Q,EAAUnN,EAAVmN,WACAE,EAAerN,EAAfqN,gBACAC,EAAetN,EAAfsN,gBACAF,EAAUpN,EAAVoN,WACQG,YAAAvN,EAAAwN,GAER,OACE9R,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAvN,GAAA,IAAA4W,EAAA5W,EACNkL,MAAS4C,EAAQ8I,EAAR9I,SAAUjK,EAAK+S,EAAL/S,MAAwBgT,GAAXD,EAAN/I,OAAY+I,EAAJhK,KAASgK,EAAHnG,IAAGzQ,EAC3CyN,WAAajR,EAAMqa,EAANra,OAAQD,EAAWsa,EAAXta,YAAW,OAEhCd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAACue,EAAc,CACP9M,aAAYE,kBAClBpQ,SAAUA,EACViH,MAAOA,EACPiK,SAAU,SAACjK,GACTpD,QAAQe,IAAI,CAAEqC,UACdiK,EAASjK,GACToJ,EAAgBrQ,EAAUiH,EAAMkK,OAAOlK,OAAO,EAChD,EACAzB,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MAGhCJ,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAKzB,GAIX,EAEaud,EAAiD,SAAH/Z,GAapD,IAZLuM,EAAIvM,EAAJuM,KACAhQ,EAAQyD,EAARzD,SACA4S,EAAQnP,EAARmP,SAEAE,GADQrP,EAARoP,SACSpP,EAATqP,WACAC,EAAMtP,EAANsP,OAEApU,GADK8E,EAALwD,MACQxD,EAAR9E,UACAuR,EAAUzM,EAAVyM,WACAE,EAAe3M,EAAf2M,gBACAD,EAAU1M,EAAV0M,WACQG,YAAA7M,EAAAyP,GAER,OAAKJ,EAaHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNyN,UAAW,SAACxW,GAAU,OAAKA,CAAK,EAChCwJ,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAACue,EAAc,CACP9M,aAAYE,kBAClBpQ,SAAUA,EACVkR,SAAU,SAACtG,GACTgI,EAAS5S,EAASE,KACpB,QAjCJzB,cAAA,OAAK6b,YAAavH,EAAOpU,SACvBF,cAACue,EAAc,CACP9M,aAAYE,kBAClBpQ,SAAUA,EACViH,MAAOtI,EAAS,MAkC1B,C,ykBCxLQ+e,EAAWC,IAAXD,OAEKE,EAET,SAAHhd,GACIA,EAAHiT,IAUK,IAADgK,EAAAC,EATJ9d,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MAEAiJ,GADMtP,EAAN4E,OACU5E,EAAVsP,YACAgB,EAAQtQ,EAARsQ,SACA6M,EAAYnd,EAAZmd,aACAxF,EAAW3X,EAAX2X,YACAyF,EAAuBpd,EAAvBod,wBACAC,EAAOrd,EAAPqd,QAEAhI,EAA4BC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA7CuC,EAAMrC,EAAA,GAAEsC,EAAStC,EAAA,GACxBlL,qBAAU,WACRyN,GACF,GAAG,CAACH,IACJ,IAAMG,EAAc,WACdH,GACEA,EAAYI,MACdJ,EAAYI,KAAKrR,KAAI,SAACjF,GAEQ,iBAA1BkW,EAAYK,WACZvW,EAAKsG,QAAU3I,EAASC,OACxBoC,EAAKwW,QAAU5R,GAEfwR,GAAU,EAEd,GAGN,EAEA,OACEha,cAAAC,WAAA,CAAAC,SACEF,cAACkf,IAAM,CACLO,YAAU,EACVjX,MACY,KAAVA,GAA0B,OAAVA,EACZA,EACAjH,EAASG,UAAUN,OAASG,EAASG,UAAUN,MAAM6G,OAAS,EAC9D1G,EAASG,UAAUN,MAAM,GAAGmH,KAC5B,aAENgX,wBAAyBA,EACzBxM,YAAaxR,EAASG,UAAUsR,YAChC0M,iBAAiB,WACjBF,QAASA,EACT/M,SAAU,SAACjK,GAAK,OAAKiK,EAASjK,EAAO,KAAK,EAC1C2K,UACG1B,GAC+B,MAAhClQ,EAASG,UAAUmR,UACG,MAAtBtR,EAASsR,SAEX8M,aAAc,SAACC,EAAOC,GAAM,OACzBA,EAAQ3f,SACNyK,cACAlC,SAASmX,EAAMjV,cAAc,EAElC9J,MAAO,CACLif,UAAwC,MAA7Bve,EAASG,UAAUwX,MAAgB,QAAU,OACxD6G,OAAQ,IAEVjN,KAAM,QACN/L,OAAQgT,EAAS,QAAU,GAAG7Z,SAE7Bof,EACe,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAczW,KAAI,SAACgX,EAAa5G,GAAW,OACzCjZ,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,IAElC,QADhB6W,EACF7d,EAASG,iBAAS,IAAA0d,GAAO,QAAPC,EAAlBD,EAAoBhe,aAAK,IAAAie,OAAP,EAAlBA,EAA2BxW,KAAI,SAACgX,EAAa5G,GAAW,OACtDjZ,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,OAKhE,EACayX,EAAyD,SAAH1b,GAC9DA,EAAH8Q,IAUK,IAAD6K,EAAAC,EATJ3e,EAAQ+C,EAAR/C,SACAiH,EAAKlE,EAALkE,MACAzB,EAAMzC,EAANyC,OACA0L,EAAQnO,EAARmO,SACAhB,EAAUnN,EAAVmN,WACA6N,EAAYhb,EAAZgb,aAGAC,GAFWjb,EAAXwV,YACexV,EAAfqN,gBACuBrN,EAAvBib,yBAkBA,OACEvf,cAAAC,WAAA,CAAAC,SACEF,cAACkf,IAAM,CACLO,YAAU,EACVtM,UACG1B,GAC+B,MAAhClQ,EAASG,UAAUmR,UACG,MAAtBtR,EAASsR,SAGXrK,MA1BN,WACE,GAAc,KAAVA,GAA0B,OAAVA,EAClB,OAAOA,EACF,GACLjH,EAASG,UAAUN,OACnBG,EAASG,UAAUN,MAAM6G,OAAS,EAClC,CACA,IAAMkY,EAAe5e,EAASG,UAAUN,MAAMgf,MAC5C,SAACjU,GAAM,MAAmB,MAAdA,EAAEkU,OAAe,IAG/B,OAAmB,OAAZF,QAAY,IAAZA,OAAY,EAAZA,EAAc5X,OAAQ,YAC/B,CACE,MAAO,YAEX,CAWa+X,GACPvN,YAAaxR,EAASG,UAAUsR,YAChC0M,iBAAiB,WACjBjN,SAAU,SAACjK,GAAU,OAAKiK,EAASjK,EAAO,KAAK,EAC/C+W,wBAAyBA,EACzBI,aAAc,SAACC,EAAOC,GAAM,OACzBA,EAAQ3f,SACNyK,cACAlC,SAASmX,EAAMjV,cAAc,EAElC9J,MAAO,CACLif,UAAwC,MAA7Bve,EAASG,UAAUwX,MAAgB,QAAU,QAE1DpG,KAAM,QACN/L,OAAQA,GAAU,QAAQ7G,SAEzBof,EACe,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAczW,KAAI,SAACgX,EAAa5G,GAAW,OACzCjZ,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,IAElC,QADhB0X,EACF1e,EAASG,iBAAS,IAAAue,GAAO,QAAPC,EAAlBD,EAAoB7e,aAAK,IAAA8e,OAAP,EAAlBA,EAA2BrX,KAAI,SAACgX,EAAa5G,GAAW,OACtDjZ,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,OAKhE,EACagY,EAAuD,SAAH5b,GAmB1D,IAlBL6b,EAAe7b,EAAf6b,gBACAlf,EAAMqD,EAANrD,OACAP,EAAM4D,EAAN5D,OACA6O,EAAOjL,EAAPiL,QACA2B,EAAI5M,EAAJ4M,KAEAhQ,GADIoD,EAAJf,KACQe,EAARpD,UACAf,EAAGmE,EAAHnE,IACAgR,EAAS7M,EAAT6M,UACA9Q,EAAOiE,EAAPjE,QACAkR,EAAejN,EAAfiN,gBAEAH,GADa9M,EAAb+W,cACU/W,EAAV8M,YACAE,EAAehN,EAAfgN,gBACAD,EAAU/M,EAAV+M,WACAoI,EAAWnV,EAAXmV,YACA2G,EAAS9b,EAAT8b,UAGAC,GAFQ7O,YAAAlN,EAAAmN,GAEkC2F,sBAAiBkJ,EAAArK,YAAAoK,EAAA,GAApDE,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACtCG,EAA8BrJ,oBAAS,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAtCtB,EAAOuB,EAAA,GAAEC,EAAUD,EAAA,GAuC1B,OACE/gB,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLiP,SAAU,SAACzY,GACT,OAAIA,EAAM5E,KAAK4E,MAEU,iBAArBA,EAAM5E,KAAK4E,OACU,wBAArBA,EAAM5E,KAAK4E,OACU,sBAArBA,EAAM5E,KAAK4E,OACU,eAArBA,EAAM5E,KAAK4E,QAIoB,KAA/BjH,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAMQlJ,EAAM5E,KAAK4E,WAAhB,GAEFjH,EAASG,UAAUC,SACW,KAA/BJ,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,CAON,GAEFQ,OAAQ,SAAAlN,GAGD,IAADkc,EAAAlc,EAFJ6K,MAAS4C,EAAQyO,EAARzO,SAAUjK,EAAK0Y,EAAL1Y,MAAwB2Y,GAAXD,EAAN1O,OAAY0O,EAAJ3P,KAAS2P,EAAH9L,IAAGpQ,EAC3CoN,WAAajR,EAAMggB,EAANhgB,OAAQD,EAAWigB,EAAXjgB,YAEfyb,EAASnU,EACf,OACEpI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAACggB,EAAuB,CAChBvO,aAAYE,kBAClBnJ,MAAOmU,EAAO/Y,KAAK4E,MACnBjH,SAAUob,EAAOpb,SACjBkR,SAAU,SAACjK,GACTiK,EAAQF,wBAAC,CAAC,EACLoK,GAAM,IACT/Y,KAAM,CACJ4E,YAGJoJ,EAAgBrQ,EAAUiH,EAC5B,EACA8W,aAAcsB,EACdpB,QAASA,EACTD,wBAAyB,SAAC6B,GACb,IAADC,EAAND,EA3HD,SAACE,GACpB,IACE,GAAId,GAAmBC,EAAW,CAChC,IAAIpV,EAAkCmV,EAAgBtI,QACpD,SAAC/L,GAAC,OAAKA,EAAEoV,SAAWhgB,EAASC,KAAK,IAG9BggB,EAASf,IACXpV,EAAWpD,OAAS,IACtB+Y,GAAW,GAEX5V,YACEC,EAAWxC,KAAI,SAACnB,GAUd,MATgB,KAAZA,EAAI+Z,KACND,EAAOpgB,MAAMkH,SAAQ,SAACC,GACpBA,EAAKlH,OAAOiH,SAAQ,SAACoZ,GAAkB,IAADC,EAChCD,EAAQngB,SAASC,QAAUkG,EAAI+Z,MAAc,OAAPC,QAAO,IAAPA,GAAiB,QAAVC,EAAPD,EAASngB,gBAAQ,IAAAogB,OAAV,EAAPA,EAAmB3O,cAAesO,IAC1E5Z,EAAI0S,MAAQsH,EAAQ9d,KAAK4E,MAE7B,GACF,IAEKd,CACT,KACAjE,MAAK,SAACme,GACN,IAAMtW,EAAMmC,YAAmB,CAAE7J,KAAMge,IACnCtW,GACFuV,EAAgBnY,YAAK4C,EAAI1H,OAE3Bod,GAAW,EACb,IAEJ,CACF,CAAE,MAAO3b,GACPD,QAAQC,MAAMA,EAChB,CACF,CAwFoBwc,CAAkB,OAALrZ,QAAK,IAALA,GAAe,QAAV6Y,EAAL7Y,EAAOjH,gBAAQ,IAAA8f,OAAV,EAALA,EAAiBrO,cAE9B6N,OAAiBtgB,GACjBygB,GAAW,GAEf,EACAlH,YAAaA,EACb/S,OACE7F,KACQ,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAClB,eAAXqb,KAILzb,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAOhC,GAGN,EAEasgB,EAA0D,SAAHvc,GAgB7D,IAfLgM,EAAIhM,EAAJgM,KACAhQ,EAAQgE,EAARhE,SACA4S,EAAQ5O,EAAR4O,SAEAE,GADQ9O,EAAR6O,SACS7O,EAAT8O,WACAC,EAAM/O,EAAN+O,OACApU,EAAQqF,EAARrF,SACAuR,EAAUlM,EAAVkM,WACAE,EAAepM,EAAfoM,gBACAyH,EAAM7T,EAAN6T,OACAoH,EAAejb,EAAfib,gBAGA1G,GAFMvU,EAANxE,OACMwE,EAANjE,OACWiE,EAAXuU,aAGAiI,GAFQlQ,YAAAtM,EAAAkP,GAEkCgD,sBAAiBuK,EAAA1L,YAAAyL,EAAA,GAApDnB,EAAaoB,EAAA,GAAEnB,EAAgBmB,EAAA,GACtCC,EAA8BxK,oBAAS,GAAMyK,EAAA5L,YAAA2L,EAAA,GAAtCzC,EAAO0C,EAAA,GAAElB,EAAUkB,EAAA,GAE1B,IAAK7N,EACH,OACErU,cAAA,OAAK6b,YAAavH,EAAOpU,SACvBF,cAACmf,EAAgC,CACzB1N,aAAYE,kBAClBnJ,MAAOtI,EAAS,GAChBqB,SAAUA,EACVkR,SAAU0B,EACVmL,aAAcsB,EACd9G,YAAaA,MAmCrB,OACE9Z,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACkC,MAAhC1Q,EAASG,UAAUuQ,UACnB1Q,EAASG,UAAUN,MAAM6G,OAAS,EACpC4V,UAAW,SAAC1E,EAAG3Q,GACb,IAAI8C,GAAM,EAoBV,OAlBI/J,EAASG,UAAUN,MAAM6G,OAAS,IAGhCqD,EAFA9C,GACY,eAAVA,GAAoC,sBAAVA,GAQK,MAA/BjH,EAASG,UAAUC,SAQpB2J,EACH6S,QAAQC,UACRD,QAAQE,OAAO,GAADpd,OAAIM,EAASC,MAAK,iBACtC,IAEFtB,SAEFF,cAACmf,EAAgC,CACzB1N,aAAYE,kBAClBpQ,SAAUA,EACVkR,SAAU0B,EACVmL,aAAcsB,EACd9G,YAAaA,EACb0F,QAASA,EACTD,wBAAyB,SAAC6B,GACpBA,EA3EO,WACnB,GAAIZ,EAAiB,CACnB,IAAInV,EAAkCmV,EAAgBtI,QACpD,SAAC/L,GAAC,OAAKA,EAAEoV,SAAWhgB,EAASC,KAAK,IAGhC6J,EAAWpD,OAAS,IACtB+Y,GAAW,GAEX5V,YACEC,EAAWxC,KAAI,SAACnB,GAMd,MALgB,KAAZA,EAAI+Z,KACFrI,EAAO1R,EAAI+Z,OACb/Z,EAAI0S,MAAQhB,EAAO1R,EAAI+Z,MAGpB/Z,CACT,KACAjE,MAAK,SAACme,GACN,IAAMtW,EAAMmC,YAAmB,CAAE7J,KAAMge,IACnCtW,GACFuV,EAAgBnY,YAAK4C,EAAI1H,OAE3Bod,GAAW,EACb,IAEJ,CACF,CAiDYa,IAEAhB,OAAiBtgB,GACjBygB,GAAW,GAEf,OAKV,C,2aChdamB,EAAoD,SAAHhgB,GACzDA,EAAHiT,IAOK,IAuCkBgN,EA7CvB7gB,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MACAzB,EAAM5E,EAAN4E,OACA0L,EAAQtQ,EAARsQ,SACAhB,EAAUtP,EAAVsP,WACetP,EAAfwP,gBAwEA,OACE3R,cAAAC,WAAA,CAAAC,SACEF,cAACqiB,IAAS5D,MAAK,CACbtL,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5C7R,UAAS,GAAAC,OAAK8F,EAAS,mBAAqB,GAAE,KAAA9F,OACR,MAApCM,EAASG,UAAUgd,aACf,2BACA,IAEN0D,SAzCiBA,EAyCM7gB,EAASG,UAAUN,MAxC7BghB,EAAQvZ,KACvB,SAACgX,GAAwC,OAAKA,EAAOtX,IAAI,KAwCvDkK,SAAU,SAAC/C,GAAU,OAhFJ,SACrB4S,EACAC,GAEA,IAAInhB,EAAQG,EAASG,UAAUN,MAC3BohB,EAAc,GACNphB,EAAMyH,KAAI,SAACN,EAAW0Q,GAGhC,IAFA,IAAIwJ,EAAQ,IAEHjb,EAAI,EAAGA,EAAI8a,EAAcra,OAAQT,IACzB8a,EAAc9a,KAEde,EAAKA,OAClBka,EAAQ,IACRD,EAAK1Z,KAAKP,EAAKA,OAGnB,OAAOka,CACT,IAgBAF,EAAUC,EAAK1X,WAAY,KAE7B,CA4CgC4X,CAAehT,EAAY+C,EAAS,EAC9DjK,MApCc,SAACA,GACnB,IAAIpH,EAAQG,EAASG,UAAUN,MAI/B,GAAIoH,GAASA,EAAMP,OAAS,EAAG,CAE7B,IADA,IAAM0a,EAAUna,EAAMa,MAAM,KACnB7B,EAAI,EAAGA,EAAIpG,EAAM6G,OAAQT,IAEhC,IADA,IAAMe,EAAYnH,EAAMoG,GACfI,EAAI,EAAGA,EAAI+a,EAAQ1a,OAAQL,IAAK,CACxB+a,EAAQ/a,GACRW,EAAKA,IAEtB,CAOF,OAAOoa,CACT,CAEA,MAAO,EACT,CAYa3E,CAAYxV,MAI3B,EACaoa,EAA6C,SAAHte,GAClDA,EAAH8Q,IAOK,IAqCkBgN,EA3CvB7gB,EAAQ+C,EAAR/C,SACAiH,EAAKlE,EAALkE,MACAzB,EAAMzC,EAANyC,OACA0L,EAAQnO,EAARmO,SACAhB,EAAUnN,EAAVmN,WACenN,EAAfqN,gBAgEA,OACE3R,cAAAC,WAAA,CAAAC,SACEF,cAACqiB,IAAS5D,MAAK,CACbtL,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5C7R,UAAS,GAAAC,OAAK8F,EAAS,mBAAqB,GAAE,KAAA9F,OACR,MAApCM,EAASG,UAAUgd,aACf,2BACA,IAEN0D,SAnCiBA,EAmCM7gB,EAASG,UAAUN,MAlC7BghB,EAAQvZ,KACvB,SAACgX,GAAwC,OAAKA,EAAOtX,IAAI,KAkCvDkK,SAAU,SAAC/C,GAAU,OAxEJ,SACrB4S,EACAC,GAEA,IAAInhB,EAAQG,EAASG,UAAUN,MAC3BuhB,EAAiB,GAqBrBJ,EACE,CACEha,KAtBQnH,EAAMyH,KAAI,SAACN,EAAW0Q,GAGhC,IAFA,IAAIwJ,EAAQ,IAEHjb,EAAI,EAAGA,EAAI8a,EAAcra,OAAQT,IACzB8a,EAAc9a,KAEde,EAAKA,OAClBka,EAAQ,IACRE,EAAQ7Z,KAAKP,EAAKA,OAGtB,OAAOka,CACT,IAWIja,MAAOma,EAAQ7X,YAEjB,KAGJ,CAsCgC4X,CAAehT,EAAY+C,EAAS,EAC9DjK,MA9Bc,SAACA,GACnB,IAAIpH,EAAQG,EAASG,UAAUN,MAC3ByhB,EAAc,GAElB,GAAIra,GAASA,EAAMD,KAAM,CACvB,IAAK,IAAIf,EAAI,EAAGA,EAAIpG,EAAM6G,OAAQT,IAAK,CACrC,IAAMe,EAAYnH,EAAMoG,GAED,OAAd,OAALgB,QAAK,IAALA,OAAK,EAALA,EAAOD,KAAKf,KACdqb,EAAK/Z,KAAKP,EAAKA,KAGnB,CAEA,OAAOsa,CACT,CAEA,MAAO,EACT,CAYa7E,CAAYxV,MAI3B,EAEasa,EAAiD,SAAHne,GAcpD,IAbLrD,EAAMqD,EAANrD,OACAP,EAAM4D,EAAN5D,OACA6O,EAAOjL,EAAPiL,QACA2B,EAAI5M,EAAJ4M,KACAhQ,EAAQoD,EAARpD,SACAf,EAAGmE,EAAHnE,IACAgR,EAAS7M,EAAT6M,UACA9Q,EAAOiE,EAAPjE,QACA+Q,EAAU9M,EAAV8M,WACAC,EAAU/M,EAAV+M,WACAC,EAAehN,EAAfgN,gBACAC,EAAejN,EAAfiN,gBACQC,YAAAlN,EAAAmN,GAER,OACE9R,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAlN,GAAA,IAAA+d,EAAAC,EAAAC,EAAA/B,EAAAlc,EACN6K,MAAS4C,EAAQyO,EAARzO,SAAUjK,EAAK0Y,EAAL1Y,MAAwB2Y,GAAXD,EAAN1O,OAAY0O,EAAJ3P,KAAS2P,EAAH9L,IAAGpQ,EAC3CoN,WAAajR,EAAMggB,EAANhgB,OAAQD,EAAWigB,EAAXjgB,YAAW,OAEhCd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,IACQ,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,IACvB,OAALkH,QAAK,IAALA,GAAW,QAANua,EAALva,EAAOD,YAAI,IAAAwa,GAAXA,EAAaG,OAAM,SAACvG,GAAc,MAAgB,MAAXA,CAAc,KACrB,MAA/Bpb,EAASG,UAAUC,SACJ,UAAf+P,GACA,sBACA,IACHxR,SAAA,CAgBHF,cAAC4iB,EAAiB,CACVnR,aAAYE,kBAClBpQ,SAAUA,EACVkR,SAAU,SAACjK,GACTiK,EAAQF,wBAAC,CAAC,EACL/J,GAAK,IACR5E,KAAM,CACJ4E,YAGJoJ,EAAgBrQ,EAAUiH,EAAMA,MAClC,EACAA,MAAOA,EACPzB,OACE7F,KACQ,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MACvB,OAALkH,QAAK,IAALA,GAAW,QAANwa,EAALxa,EAAOD,YAAI,IAAAya,OAAN,EAALA,EAAaE,OAAM,SAACvG,GAAc,MAAgB,MAAXA,CAAc,MACrB,MAA/Bpb,EAASG,UAAUC,SACJ,UAAf+P,KAGPxQ,KACS,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MACvB,OAALkH,QAAK,IAALA,GAAW,QAANya,EAALza,EAAOD,YAAI,IAAA0a,OAAN,EAALA,EAAaC,OAAM,SAACvG,GAAc,MAAgB,MAAXA,CAAc,MACrB,MAA/Bpb,EAASG,UAAUC,SACJ,UAAf+P,IACFtR,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAKzB,GAIX,EAEa2hB,EAAoD,SAAH5d,GAWvD,IAVLgM,EAAIhM,EAAJgM,KACAhQ,EAAQgE,EAARhE,SACA4S,EAAQ5O,EAAR4O,SAEAE,GADQ9O,EAAR6O,SACS7O,EAAT8O,WACAC,EAAM/O,EAAN+O,OACApU,EAAQqF,EAARrF,SACAuR,EAAUlM,EAAVkM,WACAE,EAAepM,EAAfoM,gBACQE,YAAAtM,EAAAkP,GAER,OAAKJ,EAeHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SAAuC,SAApBgQ,EAGxCuD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAACmiB,EAAwB,CACvB5gB,SAAUA,EACVkR,SAAU0B,EACJ1C,aAAYE,wBA5BtB3R,cAAA,OAAKa,MAAO,CAAEuiB,aAAc,IAAMvH,YAAavH,EAAOpU,SACpDF,cAACmiB,EAAwB,CACjB1Q,aAAYE,kBAClBnJ,MAAOtI,EAAS,GAChBqB,SAAUA,EACVkR,SAAU0B,KA4BpB,C,qdC3VMkP,EAAgE,SAAHlhB,GAC9DA,EAAHiT,IAQK,IAPL7T,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MAEAiK,GADMtQ,EAAN4E,OACQ5E,EAARsQ,UACAhB,EAAUtP,EAAVsP,WACAqI,EAAW3X,EAAX2X,YAGQmF,GAFO9c,EAAfwP,gBAEmBuN,IAAXD,QAERzH,EAA4BC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA7CuC,EAAMrC,EAAA,GAAEsC,EAAStC,EAAA,GAKxBlL,qBAAU,WACRyN,GACF,GAAG,CAACH,IAEJ,IAqCMG,EAAc,WACdH,GACEA,EAAYI,MACdJ,EAAYI,KAAKrR,KAAI,SAACjF,GACR4E,EAAMa,MAAM,KAClBR,KAAI,SAACya,GAEmB,iBAA1BxJ,EAAYK,WACZvW,EAAKsG,QAAU3I,EAASC,OACxBoC,EAAKwW,QAAUkJ,GAEftJ,GAAU,EAEd,GACF,GAGN,EAGA,OACEha,cAAAC,WAAA,CAAAC,SACEF,cAACkf,IACC,CACApM,KAAM,QACN2M,YAAU,EACVjX,MA3Cc,SAACA,GACnB,IAAIpH,EAAQG,EAASG,UAAUN,MAE3ByhB,EAAc,GAClB,GAAIra,GAASA,EAAMP,OAAS,EAAG,CAE7B,IADA,IAAM0a,EAAUna,EAAMa,MAAM,KACnB7B,EAAI,EAAGA,EAAIpG,EAAM6G,OAAQT,IAAK,CACrC,IAAMe,EAAYnH,EAAMoG,GACP,MAAbgB,EAAMhB,IACRqb,EAAK/Z,KAAKP,EAAKA,KAEnB,CACA,OAAOoa,CACT,CACA,MAAO,EACT,CA4Ba3E,CAAYxV,GACnBuK,YAAaxR,EAASG,UAAUsR,YAChC0M,iBAAiB,WACjBjN,SAlEiB,SAACjK,GACtB,IAAIpH,EAAQG,EAASG,UAAUN,MAC3BohB,EAAc,GACNphB,EAAMyH,KAAI,SAACN,EAAW0Q,GAGhC,IAFA,IAAIwJ,EAAQ,IAEHjb,EAAI,EAAGA,EAAIgB,EAAMP,OAAQT,IAAK,CACtBgB,EAAMhB,KAENe,EAAKA,OAClBka,EAAQ,IACRD,EAAK1Z,KAAKP,EAAKA,MAEnB,CACA,OAAOka,CACT,IAEAhQ,EAAS+P,EAAK1X,WAAY,KAC5B,EAiDM6U,aAAc,SAACC,EAAOC,GAEpB,OADAza,QAAQe,IAAI,CAAE0Z,WACNA,EAAQ3f,SACbyK,cACAlC,SAASmX,EAAMjV,cACpB,EACAwI,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5C9L,OAAQgT,EAAS,QAAU,GAC3BwJ,KAAK,OAAMrjB,SAEVqB,EAASG,UAAUN,MAAMyH,KAAI,SAACgX,GAAW,OACxC7f,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,OAK5D,EACMib,EAAyD,SAAHlf,GACvDA,EAAH8Q,IAOK,IANL7T,EAAQ+C,EAAR/C,SACAiH,EAAKlE,EAALkE,MACAzB,EAAMzC,EAANyC,OACA0L,EAAQnO,EAARmO,SACAhB,EAAUnN,EAAVmN,WAGQwN,GAFO3a,EAAfqN,gBAEmBuN,IAAXD,QAgDR,OACEjf,cAAAC,WAAA,CAAAC,SACEF,cAACkf,IACC,CACApM,KAAM,QACN2M,YAAU,EACVjX,MApBc,SAACA,GACnB,IAAIqa,EAAc,GAClB,GAAIra,GAASA,EAAMD,KAAM,CACvB,GAAIC,EAAMA,OAA+B,iBAAfA,EAAMA,MAE9Bqa,EADiBra,EAAMA,MAAMvG,QAAQ,WAAY,IAAIoH,MAAM,KAI7D,OAAOwZ,CACT,CAEA,MAAO,EACT,CAQa7E,CAAYxV,GACnBuK,YAAaxR,EAASG,UAAUsR,YAChC0M,iBAAiB,WACjBjN,SAvDiB,SAACjK,GACtB,IAAIpH,EAAQG,EAASG,UAAUN,MAC3BohB,EAAc,GACZlX,EAAMlK,EAAMyH,KAAI,SAACN,EAAW0Q,GAGhC,IAFA,IAAIwJ,EAAQ,IAEHjb,EAAI,EAAGA,EAAIgB,EAAMP,OAAQT,IAAK,CACtBgB,EAAMhB,KAENe,EAAKA,OAClBka,EAAQ,IACRD,EAAK1Z,KAAKP,EAAKA,MAEnB,CACA,OAAOka,CACT,IAQAhQ,EACE,CACElK,KAAM+C,EACN9C,MAAOga,EAAK1X,YAEd,KAEJ,EA0BM6U,aAAc,SAACC,EAAOC,GAEpB,OADAza,QAAQe,IAAI,CAAE0Z,WACNA,EAAQ3f,SACbyK,cACAlC,SAASmX,EAAMjV,cACpB,EACAwI,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5C9L,OAAQA,EACRwc,KAAK,OAAMrjB,SAEVqB,EAASG,UAAUN,MAAMyH,KAAI,SAACgX,GAAW,OACxC7f,cAACif,EAAM,CAACzW,MAAOqX,EAAOtX,KAAKrI,SAAE2f,EAAOtX,MAAc,OAK5D,EAEakb,EAAuD,SAAH9e,GAgB1D,IAfLrD,EAAMqD,EAANrD,OACAP,EAAM4D,EAAN5D,OACA6O,EAAOjL,EAAPiL,QACA2B,EAAI5M,EAAJ4M,KAEAhQ,GADIoD,EAAJf,KACQe,EAARpD,UACAf,EAAGmE,EAAHnE,IACAgR,EAAS7M,EAAT6M,UACA9Q,EAAOiE,EAAPjE,QACA+Q,EAAU9M,EAAV8M,WACAE,EAAehN,EAAfgN,gBACAD,EAAU/M,EAAV+M,WACAoI,EAAWnV,EAAXmV,YACAlI,EAAejN,EAAfiN,gBACQC,YAAAlN,EAAAmN,GAER,OACE9R,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAlN,GAAA,IAAA+d,EAAAC,EAAA9B,EAAAlc,EACN6K,MAAS4C,EAAQyO,EAARzO,SAAUjK,EAAK0Y,EAAL1Y,MAAwB2Y,GAAXD,EAAN1O,OAAY0O,EAAJ3P,KAAS2P,EAAH9L,IAAGpQ,EAC3CoN,WAAajR,EAAMggB,EAANhgB,OAAQD,EAAWigB,EAAXjgB,YAAW,OAEhCd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAACwjB,EAAuB,CAChB/R,aAAYE,kBAClBpQ,SAAUA,EACVkR,SAAU,SAACjK,GACTiK,EAAQF,wBAAC,CAAC,EACL/J,GAAK,IACR5E,KAAM,CACJ4E,YAGJoJ,EAAgBrQ,EAAUiH,EAAMA,MAClC,EACAA,MAAOA,EACPzB,OACE7F,KACQ,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MACvB,OAALkH,QAAK,IAALA,GAAW,QAANua,EAALva,EAAOD,YAAI,IAAAwa,OAAN,EAALA,EAAaG,OAAM,SAACvG,GAAc,MAAgB,MAAXA,CAAc,MACrB,MAA/Bpb,EAASG,UAAUC,SACJ,UAAf+P,IACJ,QAEFoI,YAAaA,IAGd5Y,KACS,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,MACvB,OAALkH,QAAK,IAALA,GAAW,QAANwa,EAALxa,EAAOD,YAAI,IAAAya,OAAN,EAALA,EAAaE,OAAM,SAACvG,GAAc,MAAgB,MAAXA,CAAc,MACrB,MAA/Bpb,EAASG,UAAUC,SACJ,UAAf+P,IACFtR,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAKzB,GAIX,EAEakiB,EAA0D,SAAHne,GAY7D,IAXLgM,EAAIhM,EAAJgM,KACAhQ,EAAQgE,EAARhE,SACA4S,EAAQ5O,EAAR4O,SACAC,EAAQ7O,EAAR6O,SACAC,EAAS9O,EAAT8O,UACAC,EAAM/O,EAAN+O,OACApU,EAAQqF,EAARrF,SACAuR,EAAUlM,EAAVkM,WACAE,EAAepM,EAAfoM,gBACAmI,EAAWvU,EAAXuU,YACQjI,YAAAtM,EAAAkP,GAER,OAAKJ,EAeHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SAAuC,SAApBgQ,EAGxCuD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAACqjB,EAA8B,CACvB5R,aAAYE,kBAClByD,IAAKhB,EACL7S,SAAUA,EACVkR,SAAU0B,EACV2F,YAAaA,QAhCjB9Z,cAAA,OAAKa,MAAO,CAAEuiB,aAAc,IAAMvH,YAAavH,EAAOpU,SACpDF,cAACqjB,EAA8B,CACvB5R,aAAYE,kBAClByD,IAAKhB,EACL5L,MAAOtI,EAAS,GAChBqB,SAAUA,EACVkR,SAAU0B,EACV2F,YAAaA,KA8BvB,C,wfCpRa6J,EAAsD,SAAHrf,GAczD,IAbLhD,EAAMgD,EAANhD,OACAP,EAAMuD,EAANvD,OACA6O,EAAOtL,EAAPsL,QACA2B,EAAIjN,EAAJiN,KAEAhQ,GADI+C,EAAJV,KACQU,EAAR/C,UACAf,EAAG8D,EAAH9D,IACAgR,EAASlN,EAATkN,UACA9Q,EAAO4D,EAAP5D,QACA+Q,EAAUnN,EAAVmN,WAEAC,GADepN,EAAfqN,gBACUrN,EAAVoN,YAGQkS,GAFA/R,YAAAvN,EAAAwN,GAEaQ,IAAbsR,UACJC,EAAMtiB,EAASC,MAAMK,WAAW,IAAK,KAgBzC,OACE7B,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,KAA/B1Q,EAASG,UAAUC,SACY,MAA/BJ,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAvN,GAAoD,IAAjDkL,EAAKlL,EAALkL,MAAK2L,EAAA7W,EAAEyN,UAAajR,EAAMqa,EAANra,OAAQD,EAAWsa,EAAXta,YAQrC,OAPAkE,QAAQe,IAAI,CACV2d,yBAA0B3iB,EAC1BuQ,aACAnQ,WACAsO,UAIAzP,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAAC4jB,EAAQrR,wBAAA,GACH1C,GAAK,IACT8C,GAAIpR,EAASC,MAAMK,WAAW,IAAK,KACnC2G,MAAOqH,EAAMrH,MAAQqH,EAAMrH,WAAQjI,EACnCwjB,SAAU,CAAEC,QAAS,GACrBhjB,UAAU,kBACV+R,YAAaxR,EAASG,UAAUsR,YAChCC,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAGlCkL,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CwC,aAAc9T,EAASG,UAAUgb,QACjC3V,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,QAEF2iB,KAAM,EACN7Q,UAAW,SAACjH,GAAO,IAAD0J,EACoB,SAA1B,QAANA,EAAA1J,EAAEmH,YAAI,IAAAuC,OAAA,EAANA,EAAQtC,sBApF5BC,YAAW,WAAO,IAADmB,EAIXjB,EAAuC,QAA/BiB,EAAGhB,SAASC,eAAeiQ,UAAI,IAAAlP,OAAA,EAA5BA,EAA8Bd,aAAa,YACtDC,EAASZ,SAASQ,GAAa,EAGnCK,IACE,kBAAoBD,EAAS,wBAA0BA,EAAS,KAChEE,OACJ,GAAG,IA4EW,KAED9S,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAOhC,GAGN,EAEa0iB,EAAyD,SAAHlf,GAe5D,IAdLjE,EAAMiE,EAANjE,OACAO,EAAM0D,EAAN1D,OACAiQ,EAAIvM,EAAJuM,KACAhQ,EAAQyD,EAARzD,SACA4S,EAAQnP,EAARmP,SACAC,EAAQpP,EAARoP,SACAC,EAASrP,EAATqP,UACAC,EAAMtP,EAANsP,OACApU,EAAQ8E,EAAR9E,SACAuR,EAAUzM,EAAVyM,WAEAC,GADe1M,EAAf2M,gBACU3M,EAAV0M,YACA8C,EAAUxP,EAAVwP,WAMIqP,GALIhS,YAAA7M,EAAAyP,GAKE1T,EAAS,IAAMO,EAAS,IAAMC,EAASC,OAE3CkT,EAAU,WACdlB,YAAW,WAAO,IAAD2Q,EAIXzQ,EAAuC,QAA/ByQ,EAAGxQ,SAASC,eAAeiQ,UAAI,IAAAM,OAAA,EAA5BA,EAA8BtQ,aAAa,YACtDC,EAASZ,SAASQ,GAAa,EAGnCK,IAAE,kBAAoBD,EAAS,wBAA0BA,EAAS,KAC/DE,QACAC,OACL,GAAG,IACL,EAEA,OAAKI,EAyCHrU,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,IAAKC,KAAI,CACRnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNS,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SAAkC,SAAf+P,EAGxCwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAAC4jB,IAAQ,CACPjR,GAAIkR,EACJzO,IAAKhB,EACLe,UAAWd,EACX0P,SAAU,CAAEC,QAAS,GACrB7Q,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5C7R,UAAU,kBACV+R,YAAaxR,EAASG,UAAUA,UAChC2T,aAAc9T,EAASG,UAAUgb,QACjC9G,QAAS,kBAAMxQ,QAAQe,IAAI,MAAO5E,EAASG,UAAU,EACrDuR,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAKlCuK,OAAQ,SAACrG,GACPA,EAAEoJ,iBACFpB,GACF,EACAf,UAAW,SAACjH,GAAO,IAADiY,EACoB,SAA1B,QAANA,EAAAjY,EAAEmH,YAAI,IAAA8Q,OAAA,EAANA,EAAQ7Q,sBACVmB,GAEJ,QA/EJ1U,cAAA,OAEE4V,QAAStB,EAAOpU,SAEhBF,cAAC4jB,IACC,CACAjR,GAAIkR,EACJ1O,UAAWd,EACXe,IAAKhB,EACL2P,SAAU,CAAEC,QAAS,GACrBhjB,UAAU,kBACVwH,MAAOtI,EAAS,GAChBmV,aAAc9T,EAASG,UAAUgb,QACjC3J,YAAaxR,EAASG,UAAUsR,YAChCG,UAAW1B,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CI,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAKlCmL,UAAW,SAACjH,GAAO,IAADqJ,EACoB,SAA1B,QAANA,EAAArJ,EAAEmH,YAAI,IAAAkC,OAAA,EAANA,EAAQjC,sBACVmB,GAEJ,EACAe,QAAS,SAACtJ,GACJqI,GACFA,IAEFrI,EAAEuG,OAAOgD,QACX,KAmDV,C,ukBC9Ta2O,EAAiD,SAAHliB,GAoB/B,IAnB1BmiB,EAAaniB,EAAbmiB,cACAC,EAAgBpiB,EAAhBoiB,iBAGAhjB,GAFgBY,EAAhBqiB,iBACKriB,EAALsiB,MACQtiB,EAARZ,UACAkR,EAAQtQ,EAARsQ,SACAiS,EAAQviB,EAARuiB,SACAC,EAAWxiB,EAAXwiB,YACAC,EAAIziB,EAAJyiB,KACAC,EAAO1iB,EAAP0iB,QAIAC,GAHiB3iB,EAAjB4iB,kBACO5iB,EAAP6iB,QACoB7iB,EAApB8iB,qBACuB9iB,EAAvB2iB,yBACAI,EAAQ/iB,EAAR+iB,SACAC,EAAWhjB,EAAXgjB,YACA3c,EAAKrG,EAALqG,MACA4c,EAAQjjB,EAARijB,SAGA5N,GAFQ3F,YAAA1P,EAAA2P,GAEwB2F,mBAAiB,gBAAcC,EAAApB,YAAAkB,EAAA,GAAxD6N,EAAQ3N,EAAA,GACPhB,GADoBgB,EAAA,GACJkG,cAAhBlH,aACR4O,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GAGTG,EAAiB,SAACtZ,GACtB,IAAIuZ,EAAe,GACfC,GAAkB,EAEhBC,EAAOzZ,EAAE0Z,aACX1Z,EAAE0Z,aAAaC,MAAM,GACrB3Z,EAAE4Z,cAAcD,MAAM,GAC1B,QAAavlB,IAATqlB,EACF,OAAO,EAGT,GADAxgB,QAAQe,IAAI,CAAE6f,aAAcJ,IACxBrkB,EAASyR,YAEX,IADA,IAAMiT,EAAU1kB,EAASyR,YAAY3J,MAAM,KAClCgQ,EAAQ,EAAGA,EAAQ4M,EAAQhe,OAAQoR,IAC1CqM,EAAQ5c,KAAKmd,EAAQ5M,IACjBuM,EAAKrU,KAAKnC,SAAS6W,EAAQ5M,MAC7BsM,GAAkB,GAKxB,IAAKA,EAQH,OAPAxZ,EAAEuG,OAAOlK,MAAQ,KACjBkO,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,iBAER0jB,OAAY5kB,GAGd,IAAI2lB,EAAWN,EAAK9S,KAAO,KAAO,KAClC,GAAII,SAAS3R,EAASG,UAAUub,KAAOiJ,EASrC,OARAxP,EAAY,CACV1D,YAAY,qBAAD/R,OAAuBM,EAASG,UAAUub,IAAG,OACxD/H,QAAQ,qBACRzT,KAAM,YAGR0K,EAAEuG,OAAOlK,MAAQ,KACjB2c,OAAY5kB,IACL,EAET4kB,EAAYS,EACd,EA0EMO,EAAU,eAAA7hB,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,EAAOkQ,GAAa,IAAA2T,EAAAC,EAAA3iB,EAAA4iB,EAAA,OAAAjkB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAAAF,EAAAC,KAAA,EAErB,gBAAV2F,EAAuB,CAAA5F,EAAAE,KAAA,aACrBoiB,EAAS,CAADtiB,EAAAE,KAAA,SAMiD,OALrDujB,EAAW,IAAIE,UACZC,OAAO,QAAStB,GACzBmB,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAUC,eAC1BJ,EAASG,OAAO,WAAY,iBAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GACpCuK,YAAsBgZ,GAAU,KAAD,GAAhD3iB,EAAQd,EAAAmB,KACdqB,QAAQe,IAAIzC,EAAU,YAEV,OAARA,QAAQ,IAARA,GAAc,QAAN0iB,EAAR1iB,EAAUE,YAAI,IAAAwiB,GAAdA,EAAgBjhB,SAClBsN,EACE1Q,YAAmBmjB,EAAS3T,MAC1B,IACAxP,YAAmB2B,EAASE,KAAK8iB,UAErC/B,EAAY5iB,YAAmBmjB,EAAS3T,OAIxCsT,EAAgB,OAARnhB,QAAQ,IAARA,GAAsB,QAAd4iB,EAAR5iB,EAAUE,KAAK8iB,eAAO,IAAAJ,OAAd,EAARA,EAAwBzkB,WAAW,IAAK,OAGlDijB,GAAwB,GAAMliB,EAAAE,KAAA,iBAE9B6jB,EAAS,yBAAyB,QAAA/jB,EAAAE,KAAA,iBAEjB,gBAAV0F,IACTpD,QAAQe,IAAI,OAAQye,QACPrkB,IAATqkB,GACFnS,GAAiB,OAARiS,QAAQ,IAARA,OAAQ,EAARA,EAAU7iB,WAAW,IAAK,MAAO,IAAM+iB,GAChDD,EAAoB,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAU7iB,WAAW,IAAK,MACtCgjB,EAAQD,GACRE,GAAwB,IAExB6B,EAAS,0BAEZ,QAAA/jB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,YAAWvD,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAEnC,gBA5Ce2B,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KA6CVuiB,EAAW,SAAC5I,GAChB8I,YAAc,CACZ3R,QAAS6I,EACT+I,OAAQ,QACRlQ,KAAM,oBACNmQ,gBAAiB,kBAErB,EACA,OACE/mB,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLC,aAAW,EACXC,QAAS5C,EACT6C,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAO,iBACPM,OAAK,EACLhe,SAAS,MACTpI,UAAU,UACVqmB,OAAQ,kBAAM9C,GAAiB,EAAM,EACrC+C,WAAW,EACXC,OAtFe,SAAC9U,GACpB,OACErS,eAAA,OAAAF,SAAA,CACEF,cAACwnB,IAAM,CACL3mB,MAAO,CAAEkf,OAAQ,QACjBnK,QAAS,kBAAM2O,GAAiB,EAAM,EACtC/iB,MAAM,QACNmR,GAAG,cACH3R,UAAU,0CAEZhB,cAACwnB,IAAM,CACL5R,QAAS,kBAAMuQ,EAAW1T,EAAS,EACnC5R,MAAO,CAAEkf,OAAQ,QACjBve,MAAM,eACNmR,GAAG,oBACH3R,UAAU,2CAIlB,CAmEcymB,CAAahV,GAAUvS,SAAA,CAE/BF,cAAC0nB,IAAY,CAEXlf,MAAOA,EACP4Z,QA/LQ,CAAC,cAAe,eAiMxB3P,SAAU,SAACtG,GAAC,OAAKiZ,EAASjZ,EAAE3D,MAAM,IAGzB,gBAAVA,GAnJHxI,cAAA,OAAKgB,UAAU,GAAEd,SACfF,cAAA,OAAKgB,UAAU,cAAad,SAC1BE,eAAC2U,IAAK0J,MAAK,CACTkJ,UAAU,WACV3mB,UAAU,4BAA2Bd,SAAA,CAErCF,cAAC+U,IAAK6S,QAAO,CACXnmB,KAAK,OACLomB,OAAQxC,EACR5S,SAAUgT,IAEZrlB,eAAA,QAAMS,MAAO,CAAEinB,UAAW,YAAa5nB,SAAA,CAAC,yBACfqB,EAASyR,sBAwI3B,gBAAVxK,GA/HHpI,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,UAAUH,MAAO,CAAEknB,UAAW,QAAS7nB,SAAA,CACpDF,cAAA,SAAOgoB,QAAQ,OAAOhnB,UAAU,YAAWd,SAAC,SAG5CF,cAACioB,IAAS,CACRtV,GAAG,OACH,mBAAiB,YAEjBF,SAAU,SAACtG,GAAY,IAAD+b,EACpBvD,EAA0B,QAAfuD,EAAC/b,EAAEuG,OAAOlK,aAAK,IAAA0f,OAAA,EAAdA,EAAgBrmB,WAAW,IAAK,KAC9C,OAGJzB,eAAA,OAAKY,UAAU,UAASd,SAAA,CACtBF,cAAA,SAAOgoB,QAAQ,OAAOhnB,UAAU,YAAWd,SAAC,SAG5CF,cAACioB,IAAS,CACRtV,GAAG,OACH,mBAAiB,YAEjBF,SAAU,SAACtG,GAAY,IAADgc,EACpBtD,EAAsB,QAAfsD,EAAChc,EAAEuG,OAAOlK,aAAK,IAAA2f,OAAA,EAAdA,EAAgBtmB,WAAW,IAAK,KAC1C,cA2GZ,E,wWCzNaumB,EAAsD,SAAHjmB,GAC3DA,EAAHiT,IAW2B,IAV3BrU,EAAMoB,EAANpB,OACAO,EAAMa,EAANb,OACAC,EAAQY,EAARZ,SACAiH,EAAKrG,EAALqG,MACAzB,EAAM5E,EAAN4E,OACA0L,EAAQtQ,EAARsQ,SAEAhB,GADEtP,EAAFwQ,GACUxQ,EAAVsP,YAIMgT,GAHStiB,EAAfwP,gBACQE,YAAA1P,EAAA2P,GAEMuW,iBAAY,OAC1B7Q,EAA4CC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA7D8Q,EAAc5Q,EAAA,GAAE6Q,EAAiB7Q,EAAA,GACxCgJ,EAA0CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA3D8H,EAAa7H,EAAA,GAAE6D,EAAgB7D,EAAA,GACtCG,EAAwBrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhC8D,EAAI7D,EAAA,GAAE8D,EAAO9D,EAAA,GACpBgB,EAAgCtK,mBAAiB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA7C2C,EAAQ1C,EAAA,GAAE2C,EAAW3C,EAAA,GACtByG,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACxEgf,EACExK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GADnBgD,EAAoB/C,EAAA,GAAE4C,EAAuB5C,EAAA,GAEpDwG,EAAgCjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAAxCxD,EAAQyD,EAAA,GAAExD,EAAWwD,EAAA,GAC5BC,EAAoCnR,mBAAiB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAjDE,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC1BG,EAAqBP,EAAU1D,kBAErCvY,qBAAU,WACRyc,GACF,GAAG,CAACzgB,IAEJ,IAAMygB,EAAY,eAAA3kB,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA2mB,EAAAvkB,EAAAK,EAAAmkB,EAAAC,EAAA,OAAA/mB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE4B,GAF5BF,EAAAC,KAAA,EAEXqmB,EAAM3nB,EAASG,UAAUgb,SAAW,GACrClU,GAAU0gB,EAAG,CAAAtmB,EAAAE,KAAA,eAAAF,EAAAoB,OAAA,oBAGJ,KAAVwE,GAAwB,KAAR0gB,EAAU,CAAAtmB,EAAAE,KAAA,eAAAF,EAAAoB,OAAA,iBAAAW,GAII,OAAL6D,QAAK,IAALA,OAAK,EAALA,EAAOa,MAAM,QAAW,OAAH6f,QAAG,IAAHA,OAAG,EAAHA,EAAK7f,MAAM,MAAIrE,EAAAsR,YAAA3R,EAAA,GAA1D+f,EAAQ1f,EAAA,GAAEokB,EAAQpkB,EAAA,GAGzB6f,EAFgBuE,GAGhBzE,EAAYD,GACZF,GAAiB,GAAM5hB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEvBwC,QAAQC,MAAKzC,EAAAgkB,IAAQ,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAExB,kBAnBiB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAoCO,SAAAilB,IA6DxB,OA7DwBA,EAAAjnB,YAAAC,IAAAC,MAAzB,SAAAiC,IAAA,IAAA+kB,EAAAC,EAAAC,EAAA,OAAAnnB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACkB8hB,EAAKvb,MAAM,KACrBigB,EAAQ1E,EACS,MAAnBA,EAAK6E,OAAO,IAAeT,EAEzBpE,EADA,IAAMA,EAER,GAEE2E,EAAWxmB,OAAO2mB,SAASH,SAC7BP,EACEM,EAAMpa,WAAW8Z,IACnB5jB,QAAQe,IAAI,QAASmjB,GAErBvmB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,gBAElClkB,QAAQe,IAAI,QAAQ,GAADlF,OAAK+nB,GAAkB/nB,OAAGqoB,IAE7CvmB,OAAOqe,KAAK,GAADngB,OAAI+nB,GAAkB/nB,OAAGqoB,GAAS,SAAU,eAEhDb,EAAUzD,SACG,mBAAlB0E,SAASC,OACPH,EAAQE,SAASE,QAEnBnB,EAAUzD,QAAUyD,EAAUzD,QAAU,IAAMwE,GAIhDF,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKwnB,EAAUzD,SAAO/jB,OAAGqoB,GACpC,SACA,eAGMb,EAAUzD,SACpBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cACnC,wBAAA9kB,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAED,IAmBMylB,GAAe,WACA,gBAAff,GAGsB,gBAAfA,GAFTtE,GAAiB,GACjB+D,GAAkB,KAKlB/D,GAAiB,GACjBW,OAAY5kB,GACZskB,EAAQ,IACRF,EAAY,IACZoE,EAAc,eACdtW,EAAS,IACT8V,GAAkB,GAEtB,EAEA,OACEnoB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,IAAK,CAAC1U,IAAKqP,IArCZzkB,cAAAC,WAAA,CAAAC,SACEF,cAAC+pB,IAAa,CACZ7C,QAASjC,EACToC,OAAQ,kBAAMvC,GAAwB,EAAM,EAC5C5P,QAAQ,oCACR4R,OAAO,eACPlQ,KAAK,6BACLxN,SAAS,MACTye,OAAQgC,GACRG,gBAAgB,wDAChBjD,gBAAgB,yDAChBO,WAAW,MA4BflnB,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACiqB,IAAO,CAACnV,UAAU,SAASoV,QAASxF,EAASxkB,SAC5CF,cAACwnB,IAEC,CACA7U,GAAI5R,EAAS,IAAMO,EAAS,IAAMC,EAASC,MAC3CA,MACEgnB,EACI9D,EAASzc,QAAU,GACjByc,EACAA,EAASjb,UAAU,EAAG,IAAM,OAC9B,SAENmM,QAAS,WACH4S,EAvHhB,WACyBa,EAAAllB,MAAC,KAADC,UAAA,CAuHX+lB,GAEA5B,GAAkB,EAEtB,EACAvnB,UAAU,IACVS,KAAK,SACLZ,MAAO,CACLupB,oBAAqB,MACrBC,uBAAwB,MACxBC,qBACE9B,GAAiB/W,GAAclQ,EAASG,UAAUmR,cAC9CtS,EACA,MACNgqB,wBACE/B,GAAiB/W,GAAclQ,EAASG,UAAUmR,cAC9CtS,EACA,MACNiqB,gBAAiB,mBACjBlM,OAAQ,6BACRmM,UAAW,OACX9U,MAAO,OACPoK,OAAQ,YAKbyI,GAAiD,MAAhCjnB,EAASG,UAAUmR,UACnC7S,cAAA,OACEgB,UAAU,cACVH,MAAO,CACL6L,QACE3F,IAAW0K,GAA8C,MAAhClQ,EAASG,UAAUmR,SACxC,OACA,IAER+C,QAAS,WACPmT,EAAc,SAEdjE,GAAwB,EAC1B,EAAE5kB,SAEFF,cAAC0qB,IAAc,SAIrB1qB,cAACqkB,EAAe,CACdC,cAAegE,EACf/D,iBAAkBgE,EAClB/D,iBAAkBA,EAClBC,MAAOA,EACPljB,SAAUA,EACVkR,SAAUA,EACViS,SAAUA,EACVC,YAAaA,EACbC,KAAMA,EACNC,QAASA,EACTE,kBAAmB0D,EAAU1D,kBAC7BC,QAASyD,EAAUzD,QACnBE,SAAUA,EACVC,YAAaA,EACbF,qBAAsBA,EACtBH,wBAAyBA,EACzBtc,MAAOsgB,EACP1D,SAAU2D,MAIlB,EAEa4B,EAA8C,SAAHplB,GAcjD,IAbLjE,EAAMiE,EAANjE,OACAP,EAAMwE,EAANxE,OACA6O,EAAOrK,EAAPqK,QACA2B,EAAIhM,EAAJgM,KAEAhQ,GADIgE,EAAJ3B,KACQ2B,EAARhE,UACAf,EAAG+E,EAAH/E,IACAgR,EAASjM,EAATiM,UACA9Q,EAAO6E,EAAP7E,QACA+Q,EAAUlM,EAAVkM,WACAE,EAAepM,EAAfoM,gBACAD,EAAUnM,EAAVmM,WACQG,YAAAtM,EAAAkP,GAER,OACEzU,cAAAC,WAAA,CAAAC,SACEF,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,GAIJQ,OAAQ,SAAAvM,GAAA,IAAAilB,EAAAjlB,EACNkK,MAAS4C,EAAQmY,EAARnY,SAAUjK,EAAKoiB,EAALpiB,MAAwBqiB,GAAXD,EAANpY,OAAYoY,EAAJrZ,KAASqZ,EAAHxV,IAAGzP,EAC3CyM,WAAajR,EAAM0pB,EAAN1pB,OAAQD,EAAW2pB,EAAX3pB,YAAW,OAEhCd,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OAAKY,UAAS,4BAA8Bd,SAAA,CAC1CF,cAACooB,EAAmB,CACZzW,kBACNF,WAAYA,EACZlQ,SAAUA,EACVkR,SAAUA,EACVjK,MAAOA,EACPzB,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,UAGHJ,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAKzB,KAKb,EAEaspB,EAAsD,SAAHC,GAczD,IAbLxZ,EAAIwZ,EAAJxZ,KACAhQ,EAAQwpB,EAARxpB,SACA4S,EAAQ4W,EAAR5W,SAEAE,GADQ0W,EAAR3W,SACS2W,EAAT1W,WACAC,EAAMyW,EAANzW,OACA9L,EAAKuiB,EAALviB,MACAtI,EAAQ6qB,EAAR7qB,SACAuR,EAAUsZ,EAAVtZ,WACAE,EAAeoZ,EAAfpZ,gBACAD,EAAUqZ,EAAVrZ,WAEQG,YAAAkZ,EAAAnP,GAER,OAAKvH,EAcHrU,cAAAC,WAAA,CAAAC,SACEF,cAACgrB,IAAQhW,KAAI,CACXnU,MAAO,CAAEoU,OAAQ,GACjB1D,KAAMA,EACNyN,UAAW,SAACxW,GAAU,OAAKA,CAAK,EAChCwJ,MAAO,CACL,CACEC,SACiC,MAA/B1Q,EAASG,UAAUC,SACJ,UAAf+P,GACe,WAAfA,EAGFwD,QAAQ,GAADjU,OAAKM,EAASC,MAAK,mBAE5BtB,SAEFF,cAACooB,EAAmB,CACZzW,kBACNF,WAAYA,EACZlQ,SAAUA,EACVkR,SAAU0B,EACV3L,MAAOA,QAlCXxI,cAAA,OAAKa,MAAO,CAAE8U,MAAO,QAAUsV,aAAc3W,EAAOpU,SAClDF,cAACooB,EAAmB,CACZzW,kBACNF,WAAYA,EACZlQ,SAAUA,EACVkR,SAAU0B,EACV3L,MAAOtI,EAAS,MAiC1B,C,2RCzaMgrB,GAJY3nB,KAAKwM,OAAkB,QAAZob,EAAAnoB,oBAAY,IAAAmoB,OAAA,EAAZA,EAAcloB,QAAQ,cAAe,SAAW,CAAEmoB,aAAc,CAAC,IAG/DA,aAGlBC,EAActV,wBAEzB,CAACmV,EAAgB,WAAO,IAEb3F,EAAiB,WAAH,OAAShf,qBAAW8kB,EAAa,EAE/CC,EAAgC,SAAC7rB,GAC5C,IAAA+X,EAAgCC,mBAASyT,GAAexT,EAAApB,YAAAkB,EAAA,GAClD+T,EAAuD,CAD9C7T,EAAA,GAAaA,EAAA,IAM5B,OACE1X,cAACqrB,EAAY5U,SAAQ,CAACjO,MAAO+iB,EAAmBrrB,SAC7CT,EAAMS,UAGb,C,kCC3BA,oBAUe0d,IAPE,WACf,IAAMtX,EAAUC,qBAAWuP,KAC3B,IAAKxP,EACH,MAAM,IAAIG,MAAM,iDAClB,OAAOH,CACT,C,yHCMaklB,EAAW,eAAArpB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACzBkpB,EACAhhB,EACAihB,EACAC,EACAC,EACAC,GAKS,IAAA1mB,EAAA2mB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtgB,EAAAF,EAAAnE,EAAA,OAAAlF,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAMR,GAJGqC,EAAoB,CACtB/D,MAAO,GACP+qB,kBAAmB,GACnBH,sBAAuB,IACxBxnB,EAAA3B,KAAA,GAGK4H,EAAW,CAADjG,EAAA1B,KAAA,mBAEUvC,IAApBkrB,GACoB,OAApBA,GACAA,EAAgBxjB,OAAS,GAAC,CAAAzD,EAAA1B,KAAA,SAEtBgpB,EAAgBF,EAChBG,EAA4B,GAC5BC,EAA+B,GAC/BC,EAAkB,GAEhBC,EAAY3oB,KAAKwM,MAAmB,OAAb2b,QAAa,IAAbA,OAAa,EAAbA,EAAeU,cAEX,MAAlB,OAAbV,QAAa,IAAbA,OAAa,EAAbA,EAAeW,cACgB,QAAlB,OAAbX,QAAa,IAAbA,OAAa,EAAbA,EAAeW,cAEL9oB,KAAKwM,MAAmB,OAAb2b,QAAa,IAAbA,OAAa,EAAbA,EAAeW,aAC5BxjB,KAAI,SAACyjB,GACe,KAAtBA,EAAKC,cACPN,EAASnjB,KAAKwjB,EAAKC,aAEvB,IACD3gB,EAAAC,YAEqB4f,GAAejnB,EAAA3B,KAAA,GAAA0E,EAAAlF,IAAAC,MAAA,SAAAiF,IAAA,IAAAilB,EAAAC,EAAAC,EAAAC,EAAA,OAAAtqB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAmKhC,GAnKM0pB,EAAO9gB,EAAAlD,MACZikB,EAAe,CACjBG,cAAeJ,EAAQ9b,OACvBmc,OAAQL,EAAQM,WAChBC,YAA0B,OAAbrB,QAAa,IAAbA,OAAa,EAAbA,EAAe5kB,YAC5BkmB,cAA4B,OAAbtB,QAAa,IAAbA,OAAa,EAAbA,EAAeuB,cAC9BC,YAA0B,OAAbxB,QAAa,IAAbA,OAAa,EAAbA,EAAeyB,SAExBT,EAAiBnpB,KAAKwM,MAAMyc,EAAQY,eACtCT,EAAkB,GACtBZ,EAAmBjjB,KAAK2jB,GAExBP,EAAUrjB,KAAI,SAACrI,GACb,GAAkB,OAAdA,EAAI4Z,OAAgC,KAAd5Z,EAAI4Z,MAAc,CAC1C,GAAkB,gBAAd5Z,EAAI4Z,MACN5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQM,iBAC/B,GAAkB,oBAAdtsB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQc,aAC/B,GAAkB,2BAAd9sB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQe,cAC/B,GAAkB,iCAAd/sB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQgB,kBAC/B,GAAkB,iCAAdhtB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQiB,kBAC/B,GAAkB,mCAAdjtB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQkB,mBAC/B,GAAkB,mCAAdltB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQmB,mBAC/B,GAAkB,yBAAdntB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQoB,mBAC/B,GAAkB,4BAAdptB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQqB,kBAC/B,GAAkB,wBAAdrtB,EAAI4Z,MACb5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQsB,iBAC/B,CACL,IAAIC,EAAc,GAClB,IAAgC,IAA5BvtB,EAAI4Z,MAAM5Q,QAAQ,KAAa,CACjC,IAAIwkB,EAAWxtB,EAAI4Z,MAAM/Q,MAAM,KAC/B0kB,EAAcC,EAAS9hB,KACzB,MACE6hB,EAAcvtB,EAAI4Z,MAEpB,GAAwB,UAApB5Z,EAAIytB,YAAyB,CAC/B,IAAIC,GAAkB,EAClBC,EAAoB,GACpBC,EAAyB,GA6B7B,GA3BA1B,EAAetrB,MAAMyH,KAAI,SAACwlB,EAAattB,GACrCstB,EAAOhtB,OAAOwH,KAAI,SAAC6Y,GAId,IAAD4M,EAFAP,IAAgBrM,EAAQngB,SAASC,OACP,OAA1BkgB,EAAQngB,SAASE,OAEL,QAAZ6sB,EAAA9tB,EAAI+tB,gBAAQ,IAAAD,GAAZA,EAAczlB,KACZ,SAAC0lB,EAAeC,GACU,QAAZ,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAUnU,QACZsH,EAAQngB,SAASG,UAAUuO,OAAOpH,KAChC,SAAC4lB,EAAentB,GACVmtB,EAASjtB,QAAU+sB,EAASnU,QAE9B8T,EAAYntB,EACZotB,EAAWrlB,KAAK,CACdxH,OAAQA,IAEV8sB,EAAgBtlB,KAAK0lB,GAEzB,GAGN,IAGN,GACF,IACIN,GAAa,EAAG,CAAC,IAADQ,EAAAC,EAAAC,EACdC,EAAmB,GACI,YAAX,OAAZlD,QAAY,IAAZA,OAAY,EAAZA,EAAcpI,OAEZ/iB,EAAI6sB,eACNwB,EAAYruB,EAAI6sB,cAGqB,QAAzCqB,EAAAhC,EAAetrB,MAAM8sB,GAAW7sB,OAAO,UAAE,IAAAqtB,GAAM,QAANC,EAAzCD,EAA2C9qB,YAAI,IAAA+qB,GAAK,QAALC,EAA/CD,EAAiD9V,WAAG,IAAA+V,GAApDA,EAAsD/lB,KACpD,SAACgQ,GAGC,IAFA,IAAIiW,EAAgB,GAEXtnB,EAAI,EAAGA,EAAIhH,EAAI+tB,SAAStmB,OAAQT,IACvCsnB,EAAOhmB,KAAK,CAAEN,MAAO,OAGvB2lB,EAAWtlB,KAAI,SAACrI,EAAUc,GACxBwtB,EAAOV,EAAgB9sB,IAAWuX,EAAIrY,EAAIc,OAC5C,IACIwtB,EAAO7mB,OAAS,GAClB4mB,EAAU/lB,KAAKgmB,EAEnB,IAEF1pB,QAAQe,IAAI,YAAa0oB,GACzBruB,EAAI6sB,aAAewB,CACrB,CACF,MACEnC,EAAetrB,MAAMyH,KAAI,SAACwlB,GACxBA,EAAOhtB,OAAOwH,KAAI,SAAC6Y,GACbA,EAAQngB,SAASC,QAAUusB,IAC7BvtB,EAAI6sB,aAAe3L,EAAQ9d,KAE/B,GACF,GAEJ,CACA+oB,EAAS7jB,KAAKtI,EAChB,CACF,IAGA4E,QAAQe,IAAI,gBAAiBwmB,GAC7Bb,EAAcjjB,KAAI,SAACN,EAAWxH,GAC5BwH,EAAKlH,OAAOwH,KAAI,SAAC6Y,EAAcpgB,GAC7BqrB,EAAS9jB,KAAI,SAACrI,GACZ,GAAKA,EAAI6sB,aACT,GACsB,UAApB7sB,EAAIytB,aACsB,OAA1BvM,EAAQngB,SAASE,KAEbjB,EAAIihB,MAAQC,EAAQngB,SAASC,OAE7B+B,KAAKC,UAAUke,EAAQ9d,KAAKiV,OAC5BtV,KAAKC,UAAUhD,EAAI6sB,gBAEnB3L,EAAQngB,SAASG,UAAUuO,OAAO3H,SAChC,SAACymB,EAAgBC,GACfxuB,EAAI6sB,aAAaxkB,KAAI,SAAComB,GAAiB,IAADC,EACL,QAAZ,QAAfA,EAAAD,EAAOD,UAAQ,IAAAE,OAAA,EAAfA,EAAiB1mB,QAGjB,KADAumB,EAAUnf,QAAQrO,SAASG,UAAUgb,UAGrCuS,EAAOD,GAASxmB,MACdumB,EAAUnf,QAAQrO,SAASG,UAAUgb,QAG7C,GACF,IAGFgF,EAAQ9d,KAAKiV,IAAGnQ,YAAOlI,EAAI6sB,oBAG1B,GACc,SAAnB7sB,EAAIytB,aACqB,KAAzBvM,EAAQngB,SAASE,KACjB,CACyC,IAAD0tB,EAAAC,EAAxC,GAAI5uB,EAAIihB,MAAQC,EAAQngB,SAASC,OACf,QAAZ2tB,EAAAzN,EAAQ9d,YAAI,IAAAurB,OAAA,EAAZA,EAAc3mB,UAA0B,QAArB4mB,EAAK5uB,EAAI6sB,oBAAY,IAAA+B,OAAA,EAAhBA,EAAkB5mB,SAC5CkZ,EAAQ9d,KAAOpD,EAAI6sB,aAGzB,CAGF,GACF,GACF,KAEE3B,EAAc2D,cAAchmB,MAAM,KAAK,IACO,QAA9CqiB,EAAc2D,cAAchmB,MAAM,KAAK,GAAY,CAAAzG,EAAAE,KAAA,SAE/B,MAAF,GAAEF,EAAAE,KAAA,GACdwsB,EAAgB9C,EAAQ9b,QAAQjN,MAAK,SAAC0I,GACtCA,IACFhH,EAAO6mB,sBAAqB,GAAA/qB,OAAO+qB,EAAqBtjB,YAAKyD,IAEjE,IAAG,KAAD,oBAAAvJ,EAAAqB,OAAA,GAAAsD,EAAA,IAAAqE,EAAAE,IAAA,YAAAJ,EAAAE,EAAAG,KAAAC,KAAA,CAAAxH,EAAA1B,KAAA,gBAAA0B,EAAAmE,cAAApB,IAAA,iBAAA/C,EAAA1B,KAAA,iBAAA0B,EAAA1B,KAAA,iBAAA0B,EAAA3B,KAAA,GAAA2B,EAAA8F,GAAA9F,EAAA,UAAAoH,EAAAO,EAAA3H,EAAA8F,IAAA,eAAA9F,EAAA3B,KAAA,GAAA+I,EAAAQ,IAAA5H,EAAA+qB,OAAA,YAINpqB,EAAO/D,MAAQ0qB,EACf3mB,EAAOgnB,kBAAoBJ,EAAmB,eAAAvnB,EAAAR,OAAA,SAI3CmB,GAAM,QAIe,OAJfX,EAAA3B,KAAA,GAAA2B,EAAAgrB,GAAAhrB,EAAA,SAEbY,QAAQe,IAAI,aAAY3B,EAAAgrB,IAExBrqB,EAAOsqB,aAAYjrB,EAAAgrB,GAAShrB,EAAAR,OAAA,SACrBmB,GAAM,yBAAAX,EAAAP,OAAA,GAAA1B,EAAA,iCAEhB,gBAzOuB2B,EAAAO,EAAAK,EAAAiB,EAAAwF,EAAA7B,GAAA,OAAAvH,EAAAgC,MAAA,KAAAC,UAAA,KA2OlBkrB,EAAe,eAAAhrB,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOgM,GAAc,IAAA/N,EAAA8I,EAAA,OAAAjJ,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAIxB,OAHbN,EAAc,CAClBktB,OAAQnf,GAENjF,EAAa,GAAEzG,EAAA/B,KAAA,EACb6sB,YAA2BntB,GAAaiB,MAAK,SAAC0I,GAClDb,EAAMa,CACR,IAAG,KAAD,SAAAtH,EAAAb,OAAA,SACKsH,GAAG,wBAAAzG,EAAAZ,OAAA,GAAAM,EAAA,KACX,gBAToBqrB,GAAA,OAAAtrB,EAAAH,MAAA,KAAAC,UAAA,I,0YCzPRyrB,EAAa,eAAA1tB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC3ButB,EACAttB,EACAutB,GAAiB,IAAAttB,EAAAyD,EAAA8pB,EAAAttB,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAiBd,OAjBcF,EAAAC,KAAA,GAGVL,GAAeO,OAAOC,aAAaC,QAAQ,WACxCR,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDT,EAAc,CAAEytB,cAAextB,EAAOytB,iBAAkB,KAGtDhqB,EAAM,GACN6pB,GACEC,EAAY,IAAIG,gBAAgB,CAClCC,QAAmB,OAAXL,QAAW,IAAXA,OAAW,EAAXA,EAAaK,SAAU,GAC/BC,cAAyB,OAAXN,QAAW,IAAXA,OAAW,EAAXA,EAAaM,eAAgB,KAE7CnqB,EAAM,QAAU4pB,EAAU,IAAME,EAAUllB,YAE1C5E,EAAM,QAAU4pB,EACjBltB,EAAAE,KAAA,EAEqBK,MAAM+C,EAAK1D,GAC9BiB,MAAK,SAACC,GAAa,OAAKA,EAASC,MAAM,IACvCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACysB,GACN,OAAOA,CACT,IAAG,KAAD,EAPS,OAAP5tB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SASNtB,GAAO,QAAAE,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEdwC,QAAQe,IAAI,gCAA+BvD,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAEvD,gBAnCyB2B,EAAAO,EAAAK,GAAA,OAAA3C,EAAAgC,MAAA,KAAAC,UAAA,KAqCbmsB,EAAa,eAAAjsB,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOurB,EAAcU,GAAa,IAAA5sB,EAAAlB,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQ5D,OAPGgtB,EAAQ1gB,SAAS,OACnB0gB,EAAUA,EAAQrmB,UAAU,EAAGqmB,EAAQ7nB,OAAS,IAG5CrE,EAAO,CACX2N,KAAkB,eAAZue,EAA2BA,EAAQ7tB,QAAQ,SAAU,IAAM6tB,EACjEW,MAAOltB,KAAKC,UAAUgtB,IACvBhsB,EAAA1B,KAAA,EACqBK,MAAM,6BAA8B,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAtByBwB,EAAAwF,GAAA,OAAAjH,EAAAH,MAAA,KAAAC,UAAA,I,65ECyBbssB,wBAA0B,SAA1BA,wBAA2BjxB,OACtC,IAAA+X,UAAsCC,oDAAc,CAAC,GAAEC,WAAApB,uJAAAkB,UAAA,GAAhDmZ,YAAWjZ,WAAA,GAAEkZ,eAAclZ,WAAA,GAClCgJ,WAAwCjJ,oDAAgB,IAAGkJ,WAAArK,uJAAAoK,WAAA,GAApDmQ,aAAYlQ,WAAA,GAAEmQ,gBAAenQ,WAAA,GACpCG,WAA8BrJ,oDAAiB,GAAEsJ,WAAAzK,uJAAAwK,WAAA,GAA1CiQ,QAAOhQ,WAAA,GAAEiQ,WAAUjQ,WAAA,GAC1BgB,WAA0CtK,qDAAkB,GAAMuK,WAAA1L,uJAAAyL,WAAA,GAA3DkP,cAAajP,WAAA,GAAEkP,iBAAgBlP,WAAA,GACtCC,WAAsCxK,qDAAc,GAAKyK,YAAA5L,uJAAA2L,WAAA,GAAlDkP,YAAWjP,YAAA,GAAEkP,eAAclP,YAAA,GAClCwG,YAA0CjR,sDAAekR,YAAArS,uJAAAoS,YAAA,GAAlD2I,cAAa1I,YAAA,GAAE2I,iBAAgB3I,YAAA,GACtCC,YAA0CnR,sDAAoBoR,YAAAvS,uJAAAsS,YAAA,GAAvD/hB,cAAagiB,YAAA,GAAE0I,iBAAgB1I,YAAA,GACtC2I,YAAwC/Z,sDAAkBga,YAAAnb,uJAAAkb,YAAA,GAAnDE,aAAYD,YAAA,GAAEE,gBAAeF,YAAA,GACpCG,YAAsCna,oDAAgB,IAAGoa,YAAAvb,uJAAAsb,YAAA,GAAlDE,YAAWD,YAAA,GAAEE,eAAcF,YAAA,GAClCG,YAAgCva,oDAAgB,IAAGwa,YAAA3b,uJAAA0b,YAAA,GAA5CE,SAAQD,YAAA,GAAEE,YAAWF,YAAA,GAC5BG,YAAoC3a,oDAAc,IAAG4a,YAAA/b,uJAAA8b,YAAA,GAA9CE,WAAUD,YAAA,GAAEE,cAAaF,YAAA,GAChCG,YAA0C/a,oDAAiB,IAAGgb,YAAAnc,uJAAAkc,YAAA,GAAvDE,cAAaD,YAAA,GAAEE,iBAAgBF,YAAA,GACtCG,YAAsCnb,sDAAeob,YAAAvc,uJAAAsc,YAAA,GAA9CE,YAAWD,YAAA,GAAEE,eAAcF,YAAA,GAClCG,YAAwCvb,oDAAc,IAAGwb,YAAA3c,uJAAA0c,YAAA,GAAlDE,aAAYD,YAAA,GAAEE,gBAAeF,YAAA,GAC9BzN,SAAgBjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAE7DuJ,sDAAU,WACJykB,eACFmC,UAEJ,GAAG,CAACnC,gBAEJ,IAAAoC,YAAsC5b,qDAAS,GAAK6b,YAAAhd,uJAAA+c,YAAA,GAA7CE,YAAWD,YAAA,GAAEE,eAAcF,YAAA,GA6FR,SACXG,cAAW,OAAAC,aAAAvvB,MAAC,KAADC,UAAA,CA6C1B,SAAAsvB,eAZC,OAYDA,aAAAtxB,0JAAAC,+IAAAC,MA7CA,SAAAqxB,IAAA,IAAAC,EAAAC,EAAArxB,EAAApB,EAAA0yB,EAAAC,EAAA,OAAA1xB,+IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,OAI4B,GAHtB8wB,EAAoBjD,YAClBkD,EAASp0B,MAAMw0B,cAEjBzxB,EAAmB,CAAC,OACJjC,IAAhBuyB,YAAyB,CAAAkB,EAAAlxB,KAAA,SAsBG,OArB1B1B,EAAe,GACf0yB,EACFF,EAAaxyB,MAAM0xB,YAAY/xB,QAAQM,OAAOyxB,YAAYxxB,QAC5DkB,EAAYwH,WAAa6pB,EAAOppB,WAAW3D,YAC3CtE,EAAY0xB,MAAQ,EACpB1xB,EAAYsH,MAAQgqB,EAAQvyB,SAASG,UAAUqI,MAC/CvH,EAAY2xB,cAAgBL,EAAQvyB,SAASC,MAC7CgB,EAAY4xB,MAAQN,EAAQvyB,SAASK,MAEjCkyB,EAAQvyB,SAASG,UAAU2J,WAAWpD,OAAS,GACjD6rB,EAAQvyB,SAASG,UAAU2J,WAAWxC,KAAI,SAACnB,GACzCksB,EAAaxyB,MAAMyH,KAAI,SAACN,EAAWxH,GACjCwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GACxBoG,EAAIlG,QAAUH,EAAOE,SAASC,OAChCJ,EAAM0H,KAAK,CAAEoB,MAAOxC,EAAIlG,MAAOgH,MAAOnH,EAAOuC,KAAK4E,OAEtD,GACF,GACF,IAEFhG,EAAYkO,OAAS,KACrBlO,EAAY6xB,UAAYjzB,EAAM4yB,EAAAlxB,KAAA,GACP4B,uEAAclC,GAAa,KAAD,IAA3CuxB,EAAQC,EAAAjwB,OAEZ4uB,iBAAiBoB,EAASxrB,MAC3B,yBAAAyrB,EAAA/vB,OAAA,GAAA0vB,EAAA,MAEJxvB,MAAA,KAAAC,UAAA,CA9HDoI,sDAAU,WACRokB,eAAertB,KAAKwM,MAAMtQ,MAAM60B,eAEJ,IAAxBzD,aAAa5oB,QACfssB,aAIJ,GAAG,CAAC90B,MAAM60B,eAEV9nB,sDAAU,gBACYjM,IAAhBowB,aAAiE,IAApC5iB,OAAOC,KAAK2iB,aAAa1oB,SAOlC,KAAlByqB,eACFe,cAGFe,cAAcjxB,KAAKwM,MAAMtQ,MAAM60B,eAC/BlD,gBAAe,GAEnB,GAAG,CAACT,cACJnkB,sDAAU,WACJ8lB,WAAWrqB,OAAS,IACtBusB,cAAcjxB,KAAKwM,MAAMtQ,MAAM60B,eAC/BlD,gBAAe,GAEnB,GAAG,CAACkB,aAEJ9lB,sDAAU,WAAO,IAADioB,EAEZh1B,MAAMi1B,MAAMzsB,OAAS,IACI,IAAzBxI,MAAMk1B,iBACK,OAAXhE,kBAAW,IAAXA,aAAkB,QAAP8D,EAAX9D,YAAavvB,aAAK,IAAAqzB,OAAP,EAAXA,EAAoBxsB,QAAS,GAE7B2sB,YAEJ,GAAG,CAACn1B,MAAMi1B,MAAO/D,cAEjBnkB,sDAAU,WAAO,IAADqoB,EAAAC,EAAAC,EAMd,GALA3vB,QAAQe,IAAI,gBAAiB1G,MAAMu1B,cAAezB,cAE3B,QAAnBsB,EAAAp1B,MAAMu1B,qBAAa,IAAAH,OAAA,EAAnBA,EAAqB5sB,QAAS,GAChCurB,gBAAe,IAGI,QAAnBsB,EAAAr1B,MAAMu1B,qBAAa,IAAAF,OAAA,EAAnBA,EAAqB7sB,QAAS,GAC9BxI,MAAMk1B,iBACLpB,YACD,CACAnuB,QAAQe,IAAI,gBAAiB1G,MAAMu1B,cAAezB,aAElD,IAAK,IAAI/rB,EAAI,EAAGA,EAAI/H,MAAMu1B,cAAc/sB,OAAQT,IAAK,CACnD,IAAMktB,EAAQj1B,MAAMu1B,cAAcxtB,GACf,sBAAfktB,EAAMnjB,MACJmjB,EAAM9wB,KAAKqxB,YAAYhtB,OAAS,GAClCitB,wBACER,EAAM9wB,KAAKqxB,YACXP,EAAM9wB,KAAKiC,UAIE,wBAAf6uB,EAAMnjB,MACJmjB,EAAM9wB,KAAKqE,OAAS,GACtBktB,sBAAsBT,EAAM9wB,KAAM8wB,EAAM7b,IAAK6b,EAAMl0B,KAGpC,sBAAfk0B,EAAMnjB,MACR6jB,oBACEV,EAAM7b,IACN6b,EAAMl0B,IACNk0B,EAAM9wB,KAAKpC,MACXkzB,EAAM9wB,KAAKiC,UAGI,cAAf6uB,EAAMnjB,MACR8jB,mBAAmBX,EAAM7b,IAAK6b,EAAMl0B,IAAKk0B,EAAM9wB,KAAKiC,SAExD,CACF,CACA,IAAuB,QAAnBkvB,EAAAt1B,MAAMu1B,qBAAa,IAAAD,OAAA,EAAnBA,EAAqB9sB,QAAS,GAAKxI,MAAMk1B,eAC3C,IAAK,IAAIntB,EAAI,EAAGA,EAAI/H,MAAMu1B,cAAc/sB,OAAQT,IAAK,CACnD,IAAMktB,EAAQj1B,MAAMu1B,cAAcxtB,GACf,oBAAfktB,EAAMnjB,MACR+jB,2BAA2BZ,EAAM9wB,KAAKiC,SAE1C,CAEJ,GAAG,CAACpG,MAAMu1B,gBAgDV,IAAMO,aAAY,eAAApzB,EAAAC,0JAAAC,+IAAAC,MAAG,SAAAC,EACnBhB,EACAR,EACAO,GAAc,IAAAk0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAX,EAAA5pB,EAAAwqB,EAAAC,EAAAtuB,EAAAktB,EAAAqB,EAAAnuB,EAAAouB,EAAAnoB,EAAA+lB,EAAAqC,EAAAvU,EAAA7b,EAAAuC,EAAA8tB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3yB,EAAA4yB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAxV,EAAAyV,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAx1B,+IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGV0yB,EAAW,GACXC,EAAU,GACVC,EAAU,GACVC,EAAY,GACZC,EAAoB,GACpBX,EAAmB,GACnB5pB,EAAkB,GAClBwqB,EAAoB,GAClBC,EAAcr2B,MAAMi1B,MACjBltB,EAAI,EAAE,KAAD,QAAEA,EAAIsuB,EAAO7tB,QAAM,CAAArF,EAAAE,KAAA,SAE/B,GAEwB,QAHlB4xB,EAAaoB,EAAOtuB,IAGhBswB,UAAkB,CAAAl1B,EAAAE,KAAA,cACtB4xB,EAAMoD,UAAU7vB,OAAS,GAAC,CAAArF,EAAAE,KAAA,SAE5B,GADMizB,EAAaxyB,KAAKwM,MAAM+lB,EAAOtuB,GAAGswB,WAChB,sBAApBpD,EAAMqD,UAAmC,CAC3C,IAASnwB,EAAI,EAAGA,EAAImuB,EAAWiC,aAAa/vB,OAAQL,IAGlD,IAFMouB,EAAcD,EAAWiC,aAAapwB,GAEnCiG,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAG5C,IAFM+lB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,IACxCvU,EAAUkS,EAAavyB,OAAO40B,GAElCD,EAAYx0B,QAAUkgB,EAAQngB,SAASC,OACvCD,EAASA,SAASyR,cAChB0O,EAAQngB,SAASG,UAAUsR,aAC7B+iB,EAAWv0B,QAAUD,EAASA,SAASC,OAQvCyzB,EAAYnsB,KAAK,CACfmvB,MAAOjC,EACPnd,IAAKhL,EACLrN,IAAKy1B,IAMTpwB,EAAW,CACf4b,IAAKlgB,EAASA,SAASC,MACvB4Y,MAAO7Y,EAASqC,KAAK4E,MACrB0vB,QAASxD,EAAMwD,SAGjBtC,EAAa9sB,KAAK,CAChByI,KAAMmjB,EAAMqD,UACZn0B,KAAM,CACJqxB,cACApvB,aAIN,CAAC,GACuB,wBAApB6uB,EAAMqD,UAAmC,CAAAn1B,EAAAE,KAAA,SAClC8E,EAAI,EAAE,KAAD,QAAEA,EAAImuB,EAAWoC,aAAalwB,QAAM,CAAArF,EAAAE,KAAA,SAEhD,IACuC,KAFjCozB,EAAcH,EAAWoC,aAAavwB,IAE5BwwB,mBAA4B,CAAAx1B,EAAAE,KAAA,SACjC+K,EAAI,EAAE,KAAD,QAAEA,EAAI8iB,YAAYvvB,MAAM6G,QAAM,CAAArF,EAAAE,KAAA,SACpC8wB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAE,KAAD,QAAEA,EAAIrC,EAAavyB,OAAO4G,QAAM,CAAArF,EAAAE,KAAA,SACL,GAAjC4e,EAAUkS,EAAavyB,OAAO40B,GAElCC,EAAY10B,QAAUD,EAASA,SAASC,OACxCu0B,EAAWsC,mBAAmB72B,QAC5BkgB,EAAQngB,SAASC,MAAK,CAAAoB,EAAAE,KAAA,SAYvB,OAJK+C,EAAW,CACf4b,IAAKlgB,EAASA,SAASC,MACvB4Y,MAAO7Y,EAASqC,KAAK4E,MACrB0vB,QAASxD,EAAMwD,SAChBt1B,EAAAE,KAAA,GACuB4C,sBAAsB,CAACG,IAAW,KAAD,IAAnDjC,EAAShB,EAAAmB,MAENkE,OAAS,GAChB2tB,EAAa9sB,KAAK,CAChByI,KAAMmjB,EAAMqD,UACZn0B,KAAMA,EAAK,GAAGA,KACdiV,IAAKhL,EACLrN,IAAKy1B,IAGR,QA5B2CA,IAAGrzB,EAAAE,KAAA,iBAHP+K,IAAGjL,EAAAE,KAAA,iBAJD8E,IAAGhF,EAAAE,KAAA,iBA0CzD,GAAwB,sBAApB4xB,EAAMqD,UACR,IAASnwB,EAAI,EAAGA,EAAImuB,EAAWoC,aAAalwB,OAAQL,IAGlD,IAAuC,KAFjCsuB,EAAcH,EAAWoC,aAAavwB,IAE5BwwB,mBACd,IAASvqB,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAG5C,IAFM+lB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,IAE9C,GAA8B,QADxBvU,EAAUkS,EAAavyB,OAAO40B,IACxB10B,SAASE,KAEnB,IACMq1B,EAAI,EACRA,EAAIpV,EAAQngB,SAASG,UAAUuO,OAAOhI,OACtC6uB,IAEiBpV,EAAQngB,SAASG,UAAUuO,OAAO6mB,GAExCt1B,QAAUu0B,EAAWsC,mBAAmB72B,QAE3CqE,EAAW,CACf4b,IAAKyU,EAAY10B,MACjB4Y,WAC0B7Z,IAAxBgB,EAASqC,KAAK4E,MACVjH,EAASqC,KAAK4E,MAAMsC,WACpB,GACNotB,QAASxD,EAAMwD,SAEjBtC,EAAa9sB,KAAK,CAChByI,KAAMmjB,EAAMqD,UACZn0B,KAAM,CACJpC,MAAOu0B,EAAWsC,mBAAmB72B,MACrCqE,YAEFgT,IAAKrR,EACLhH,IAAKoH,IAQPurB,gBAAgBuB,EAAMqD,YAUtC,GAAwB,cAApBrD,EAAMqD,UAA2B,CAQnC,IAPIxW,EAAS,CAAE1I,KAAM,EAAGrY,KAAM,GAC1Bw2B,EAAiB,GACjBC,EAAclB,EAAWuC,OAC7B9C,EAAWO,EAAWwC,aAAe,GACrC9C,EAAUM,EAAWyC,MAAQ,GAC7B9C,EAAUK,EAAW0C,SAAW,GAChC9C,EAAYI,EAAW2C,WAAa,GAC3B9wB,EAAI,EAAGA,EAAImuB,EAAW4C,OAAO1wB,OAAQL,IAE5C,IADMuvB,EAAgBpB,EAAW4C,OAAO/wB,GAC/BiG,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAG5C,IAFM+lB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,KACxCvU,EAAUkS,EAAavyB,OAAO40B,IACxB10B,SAASC,QAAUu0B,EAAWv0B,QACxC+f,EAAS,CACP1I,IAAKhL,EACLrN,IAAKy1B,IAGLvU,EAAQngB,SAASC,QAAU21B,EAAcyB,UAC3C5B,EAAUluB,KAAK,CACb+vB,UAAW1B,EAAc2B,UACzBC,SAAUrX,EAAQ9d,KAAK4E,QAO3B3C,EAAW,CACf2vB,WACAC,UACAC,UACAC,YACAqB,YACAC,eAEF9D,gBAAgBuB,EAAMqD,WACtBnC,EAAa9sB,KAAK,CAChByI,KAAMmjB,EAAMqD,UACZn0B,KAAM,CACJiC,YAEFgT,IAAK0I,EAAO1I,IACZrY,IAAK+gB,EAAO/gB,KAGhB,CACA,GAAwB,oBAApBk0B,EAAMqD,UAAiC,CAEzC,IAASlqB,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAE5C,IADM+lB,EAAejD,YAAYvvB,MAAMyM,GAC9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,IACxCvU,EAAUkS,EAAavyB,OAAO40B,GAChCF,EAAWv0B,QAAUkgB,EAAQngB,SAASC,QAOxC6J,EAAWvC,KAAK,CACdtH,MAAOkgB,EAAQngB,SAASC,MACxBgH,MACyB,OAAvBkZ,EAAQ9d,KAAK4E,MACT,GAC0B,MAA1BkZ,EAAQngB,SAASE,KACjBiN,OAAOgT,EAAQ9d,KAAK4E,OAAOqS,iBAC3B6G,EAAQ9d,KAAK4E,QAErBqtB,EAAYnB,EAAMwD,SAIpB7sB,EAAWpD,OAAS,IAChBpC,EAAW,CACfqyB,QAASrC,EACTxqB,WAAYA,GAEduqB,EAAa9sB,KAAK,CAChByI,KAAMmjB,EAAMqD,UACZn0B,KAAM,CACJiC,cAIJwF,EAAa,GACbwqB,EAAY,GAGhB,CAAC,QAjP4BruB,IAAG5E,EAAAE,KAAA,iBA0PlCS,KAAKC,UAAU/D,MAAMu1B,iBAAmBzxB,KAAKC,UAAUoyB,IAEzDn2B,MAAMu5B,iBAAiB,GAAD/3B,OAAK20B,IAE7BxwB,QAAQe,IAAI,eAAgByvB,EAAcn2B,MAAMu1B,eAAe,yBAAApyB,EAAAqB,OAAA,GAAA1B,EAAA,KAChE,gBA9QiB2B,EAAAO,EAAAK,GAAA,OAAA3C,EAAAgC,MAAA,KAAAC,UAAA,KA+QZwwB,WAAU,eAAAtwB,EAAAlC,0JAAAC,+IAAAC,MAAG,SAAAiC,IAAA,IAAAuxB,EAAAmD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtD,EAAAvuB,EAAAosB,EAAAhsB,EAAA0xB,EAAAxC,EAAAyC,EAAA1rB,EAAA2rB,EAAAvD,EAAAwD,EAAA1tB,EAAA2tB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA32B,EAAA42B,EAAA,OAAAj4B,+IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACXgzB,EAASr2B,MAAMi1B,MACrBj1B,MAAM86B,mBAAkB,GAExBn1B,QAAQe,IAAI,eAAgB1G,MAAM86B,mBAG5BtB,EAAQzT,SAAS4F,aAAavgB,WAEhCquB,EAA6B,GAC7BC,EAAsC,GAC3B,GACD,GACA,GACE,GACF,EAEZ15B,MAAMw0B,cAAcxpB,WAAW+F,uBAGxB4oB,EAAI,EAAE,KAAD,QAAEA,EAAItD,EAAO7tB,QAAM,CAAAzD,EAAA1B,KAAA,SACL,GACA,QADpBu2B,EAAUvD,EAAOsD,IACXtB,WAA4C,OAAtBuB,EAAQvB,UAAkB,CAAAtzB,EAAA1B,KAAA,cACtDu2B,EAAQvB,UAAU7vB,OAAS,GAAC,CAAAzD,EAAA1B,KAAA,SAM9B,GALMizB,EAAaxyB,KAAKwM,MAAM+lB,EAAOsD,GAAGtB,WAGpB,CAAEjf,KAAM,EAAGrY,KAAM,GAEX,mBAAtB64B,EAAQtB,UACV,IAASvwB,EAAI,EAAGA,EAAImpB,YAAYvvB,MAAM6G,OAAQT,IAG5C,IAFMosB,EAAejD,YAAYvvB,MAAMoG,GAE9BI,EAAI,EAAGA,EAAIgsB,EAAavyB,OAAO4G,OAAQL,IAC9BgsB,EAAavyB,OAAOuG,GACxBrG,SAASC,QAAUu0B,EAAWv0B,OAGxC03B,EAAoBpwB,KAAK,CACvBtI,IAAKoH,EACLiR,IAAKrR,EACL5D,KAAMy1B,EAAQnB,UAKvB,GACyB,SAAtBmB,EAAQtB,UAAoB,CAAAvzB,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GACV+sB,iEAAc,oBAAgBtvB,GAAW,KAAD,GAG5D,GAHM+4B,EAAK90B,EAAAT,KAGe,SAAtBgyB,EAAWhc,OACb,IAAS+c,EAAI,EAAGA,EAAIf,EAAWwD,YAAYtxB,OAAQ6uB,IAEjD,IADMyC,EAAcxD,EAAWwD,YAAYzC,GAClCjpB,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAG5C,IAFM+lB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,IAG9C,GAFMvU,EAAUkS,EAAavyB,OAAO40B,GAEhCsD,EAAYiB,QAAU9Y,EAAQngB,SAASC,MAWzC,IAASuK,EAAI,EAAGA,EAAIgqB,EAAW0E,QAAQxyB,OAAQ8D,IAE7C,IADegqB,EAAW0E,QAAQ1uB,GAAG4G,GAC5BmkB,EAAI,EAAGA,EAAIwC,EAAMrxB,OAAQ6uB,IACnBwC,EAAMxC,GACA4D,OAiBhC,WAEuB,gBAAtBrB,EAAQtB,UAA2B,CAAAvzB,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GAWbK,MAAM,8BAA+B,CAC3DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBksB,OAAQjwB,MAAMw0B,cAAcxpB,WAAWilB,WAGxCjsB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,GAEJ,GAdM+1B,EAASn1B,EAAAT,KAcW,SAAtBgyB,EAAWhc,OACb,IAAS+c,EAAI,EAAGA,EAAIf,EAAWwD,YAAYtxB,OAAQ6uB,IAEjD,IADMyC,EAAcxD,EAAWwD,YAAYzC,GAClCjpB,EAAI,EAAGA,EAAI8iB,YAAYvvB,MAAM6G,OAAQ4F,IAG5C,IAFM+lB,EAAejD,YAAYvvB,MAAMyM,GAE9BooB,EAAI,EAAGA,EAAIrC,EAAavyB,OAAO4G,OAAQguB,IAG9C,GAFMvU,EAAUkS,EAAavyB,OAAO40B,GAEhCsD,EAAYiB,QAAU9Y,EAAQngB,SAASC,MACzC,IACMuK,EAAI,EACRA,EAAIgqB,EAAW4E,eAAe1yB,OAC9B8D,IAIA,IAFegqB,EAAW4E,eAAe5uB,GAAG6uB,OAEnC9D,EAAI,EAAGA,EAAI6C,EAAU1xB,OAAQ6uB,IAC9BsD,EAAWT,EAAU7C,GAWzBr3B,MAAMw0B,cAAcxpB,WACjB+F,wBAA0B4pB,EAASS,UACtCT,EAASU,QAAU7B,GACTmB,EAASW,YAUlC,QA7I0B3B,IAAG50B,EAAA1B,KAAA,iBAoJtC,GADIu3B,EAAwB,KAExBnB,EAAoBjxB,OAAS,GAAC,CAAAzD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GACTk4B,iBAAiB9B,GAAqB,KAAD,GAAtDx1B,EAAQc,EAAAT,KACds2B,EAAevxB,KAAK,CAAErH,KAAM,mBAAoBmC,KAAMF,IACtD,aAEEy1B,EAA6BlxB,OAAS,GAAC,CAAAzD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GAClB4C,sBACrByzB,GACA,KAAD,GAFKz1B,EAAQc,EAAAT,KAGds2B,EAAevxB,KAAK,CAAErH,KAAM,wBAAyBmC,KAAMF,IAC3D,QAEFu3B,kBAAkBZ,GAElBjJ,gBAAe,GAAO,yBAAA5sB,EAAAP,OAAA,GAAAM,EAAA,KACvB,kBAxLe,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAyLV62B,kBAAoB,SAACZ,GACzB,IAAIzG,EAAejD,YACnBlxB,MAAM86B,mBAAkB,GACxB,IAAK,IAAI/yB,EAAI,EAAGA,EAAI6yB,EAAepyB,OAAQT,IAAK,CAC9C,IAAM0zB,EAAab,EAAe7yB,GAClC,GAAwB,qBAApB0zB,EAAWz5B,KACb,IAAK,IAAImG,EAAI,EAAGA,EAAIszB,EAAWt3B,KAAKqE,OAAQL,IAAK,CAC/C,IAAI8F,EAAYwtB,EAAWt3B,KAAKgE,GAChC8F,EAAU9J,KAAKkF,KAAK,CAAEP,KAAM,wBAC5B,IADqD,IAAAhB,EAAA,WAEnD,IAAM3D,EAAO8J,EAAU9J,KAAKiK,GACtBC,EAAYC,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GAEvC,OAAAC,wJAAA,GADe,OACItK,EAAKqK,GAC1B,IACAP,EAAU9J,KAAKiK,GAAKC,EAAU,EAChC,EAPSD,EAAI,EAAGA,EAAIH,EAAU9J,KAAKqE,OAAQ4F,IAAGtG,IAQ9CqsB,EAAaxyB,MAAMsM,EAAUmL,KAAKxX,OAChCqM,EAAUlN,KACVe,SAASG,UAAUN,MAAQsM,EAAU9J,KAGxB,wBADbgwB,EAAaxyB,MAAMsM,EAAUmL,KAAKxX,OAAOqM,EAAUlN,KAAKoD,KACrD4E,QAEHorB,EAAaxyB,MAAMsM,EAAUmL,KAAKxX,OAAOqM,EAAUlN,KAAKoD,KAAK4E,MAC3D,sBAIN,CAEJ,CAGA/I,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,GAChD,EAEA,SAASW,cACP,IAAMnzB,EAAQmC,KAAKwM,MAAMtQ,MAAM60B,cAAclzB,MACzCg6B,EAAoB,GAExBh6B,EAAMyH,KAAI,SAACN,EAAWxH,GACpBwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GAC5B,GAA6B,OAAzBD,EAAOE,SAASE,OAClB2D,QAAQe,IAAI,yBAA0B9E,EAAOE,UACzCF,EAAOE,SAASG,UAAUuO,QAC5B,IAAK,IAAIzI,EAAI,EAAGA,EAAInG,EAAOE,SAASG,UAAUuO,OAAOhI,OAAQT,IAAK,CAChE,IAAMyI,EAAS5O,EAAOE,SAASG,UAAUuO,OAAOzI,GACX,MAAjCyI,EAAOL,QAAQrO,SAASE,MACwB,MAA9CwO,EAAOL,QAAQrO,SAASG,UAAUqvB,UACpCqK,EAAWtyB,KAAK,CACduyB,WAAYh6B,EAAOE,SAASC,MAC5B85B,MAAO,IAGTxK,gBAAgB,GAAD7vB,OAAKm6B,IAG1B,CAGN,GACF,GACF,CACA,IAAMG,YAAW,eAAAv2B,EAAA5C,0JAAAC,+IAAAC,MAAG,SAAAsC,EAAO42B,GAAe,IAAAC,EAAA,OAAAp5B,+IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAChBK,MAAM,0CAA2C,CACvEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEwG,WAAYwxB,MAElC/3B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAIL,OADAuuB,YAAWzpB,2JAAK9E,IACTA,CACT,IAAG,KAAD,EAbW,OAAT63B,EAAS52B,EAAAd,KAAAc,EAAAb,OAAA,SAcRy3B,GAAS,wBAAA52B,EAAAZ,OAAA,GAAAW,EAAA,KACjB,gBAhBgBmB,GAAA,OAAAf,EAAAb,MAAA,KAAAC,UAAA,KAkBXixB,mBAAkB,eAAA9vB,EAAAnD,0JAAAC,+IAAAC,MAAG,SAAA2C,EAAO4T,EAAUrY,EAAUqF,GAAa,IAAA2B,EAAAwvB,EAAA,OAAA30B,+IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAMjE,IALAsuB,gBAAe,GAGN,iBAAAnwB,OAAoB4E,EAAS2vB,SAAQ,WAErChuB,EAAI,EAAGA,EAAI3B,EAASmxB,UAAU/uB,OAAQT,IACvCwvB,EAAYnxB,EAASmxB,UAAUxvB,GAC3B,IAANA,GAAW3B,EAASmxB,UAAU/uB,OAAS,GAC5B,GAAAhH,OAAM+1B,EAAU6B,UAAS,MAAA53B,OAAK+1B,EAAU+B,SAAQ,UAE3DvxB,EAAI,IAAM,GACC,GAAAvG,OAAM+1B,EAAU6B,UAAS,MAAA53B,OAAK+1B,EAAU+B,SAAQ,KAE3DvxB,EAAI,IAAM,GAAW,IAANA,GACJ,QAAAvG,OAAW+1B,EAAU6B,UAAS,MAAA53B,OAAK+1B,EAAU+B,SAAQ,KAYtE,MAT0B,kBAAtBlzB,EAAS2vB,UAAgC3vB,EAAS4vB,QAAQxtB,OAAS,GACxD,oBAAAhH,OAAuB4E,EAAS4vB,QAAO,KAElD5vB,EAAS6vB,QAAQztB,OAAS,GACf,QAAAhH,OAAW4E,EAAS6vB,QAAO,MAAAz0B,OAAK4E,EAAS4vB,QAAO,KAE3D5vB,EAAS8vB,UAAU1tB,OAAS,GACjB,QAAAhH,OAAW4E,EAAS8vB,UAAS,UAE5CzwB,EAAApC,KAAA,EAEyBK,MACvB,oEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACLwB,QAAQe,IAAI,gCAAiCvC,GAC7CwtB,gBAAe,GAEfsK,0BAA0B93B,EAAK+3B,GAAI91B,EAASoxB,YAAape,EAAKrY,EAChE,IAAG,KAAD,EAhBY0E,EAAAnB,KAAA,wBAAAmB,EAAAjB,OAAA,GAAAgB,EAAA,KAiBjB,gBA9CuBsG,EAAA7B,EAAAkmB,GAAA,OAAArqB,EAAApB,MAAA,KAAAC,UAAA,KA+ClBgxB,oBAAmB,eAAAzvB,EAAAvD,0JAAAC,+IAAAC,MAAG,SAAAkD,EAC1BqT,EACArY,EACA63B,EACAxyB,GAAa,OAAAxD,+IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EAUYK,MACvB,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MACC,SAACG,GACCwB,QAAQe,IAAI,gBAAiBvC,GAE7Bg4B,2BAA2Bh4B,EAAMiV,EAAKrY,EAAK63B,EAC7C,IAEA,KAAD,EAlBa5yB,EAAA1B,KAAA,wBAAA0B,EAAAxB,OAAA,GAAAuB,EAAA,KAmBjB,gBAjCwBq2B,EAAAC,EAAAC,EAAAC,GAAA,OAAAr2B,EAAAxB,MAAA,KAAAC,UAAA,KAkCnBkxB,2BAA0B,eAAAvK,EAAA3oB,0JAAAC,+IAAAC,MAAG,SAAAsD,EAAOC,GAAa,IAAAo2B,EAAAC,EAAA10B,EAAA20B,EAAA,OAAA95B,+IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAKrD,GAFMm5B,EAAUzW,SAAS4F,cACrB8Q,EAAYr2B,GACFoC,OAAS,EACrB,IAAST,EAAI,EAAGA,EAAI00B,EAAUj0B,OAAQT,IACvB00B,EAAU10B,GAc3B,OAXM20B,EAAc,CAClBC,SAAUH,EACVI,QAAS58B,MAAMw0B,cAAcxpB,WAAW6xB,WACxCC,cAAeh5B,KAAKC,UAAUqC,GAC9B22B,aAAYjqB,8SAAA,GACP9S,MAAMw0B,cAAcxpB,YAAU,IACjCgyB,kBAAmB,IAErBC,kBAAmB,IAGrB52B,EAAAhD,KAAA,EAEMK,MACJ,wEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU24B,KAGtB14B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MACC,SAACG,GAOC,IALA,IAAI+4B,EAAel9B,MAAMw0B,cAAc2I,oBACnCC,EAAQj5B,EACR+U,EAAe,GAEfmkB,GAAQ,EACHt1B,EAAI,EAAGA,EAAIq1B,EAAM50B,OAAQT,IAAK,CAErC,IADA,IAAMu1B,EAAUF,EAAMr1B,GACbI,EAAI,EAAGA,EAAI+0B,EAAa10B,OAAQL,IAAK,CAC5C,IAAMo1B,EAAOL,EAAa/0B,GACtBo1B,EAAKlC,SAAWiC,EAAQjC,SAC1BniB,EAAQ7P,KAAKk0B,GACbF,GAAQ,EAEZ,CACIA,EACFA,GAAQ,EAERnkB,EAAQ7P,KAAKi0B,EAEjB,CAEA33B,QAAQe,IAAI,YAAawS,EAAS/U,GAElCnE,MAAMw9B,kBAAiB,SAACC,GAAc,OAAA3qB,8SAAA,GACjC2qB,GAAS,IACZN,oBAAmBl0B,2JAAM9E,IAAK,GAElC,IAEA,KAAD,mBAAAkC,EAAA7B,OAAA,GAAA2B,EAAA,KAGJ,gBArE+Bu3B,GAAA,OAAApS,EAAA5mB,MAAA,KAAAC,UAAA,KAsE1BsB,sBAAqB,eAAA03B,EAAAh7B,0JAAAC,+IAAAC,MAAG,SAAA+6B,EAAOC,GAAc,IAAAC,EAAAp1B,EAAAX,EAAA,OAAAnF,+IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAE7Cy6B,EAAuB,GAC3BnM,gBAAe,GAAMjpB,EAAA9F,+IAAAC,MAAA,SAAA6F,IAAA,IAAAs1B,EAAA53B,EAAA,OAAAxD,+IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OASlB,OANK26B,EAAkBH,EAAU91B,GAE5B3B,EAAW,CACfqyB,QAASuF,EAAWvF,QACpBzW,IAAKgc,EAAWhc,IAChBrH,MAAOqjB,EAAWrjB,OACnBsjB,EAAA56B,KAAA,EACKK,MACJ,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MACC,SAACG,GAECwtB,gBAAe,GACfmM,EAAcz0B,KAAK,CACjBlF,KAAMA,EACNiV,IAAK4kB,EAAW5kB,IAChBrY,IAAKi9B,EAAWj9B,KAGpB,IAEA,KAAD,mBAAAk9B,EAAAz5B,OAAA,GAAAkE,EAAA,IA/BIX,EAAI,EAAE,KAAD,OAAEA,EAAI81B,EAAUr1B,QAAM,CAAAu1B,EAAA16B,KAAA,eAAA06B,EAAA70B,cAAAR,IAAA,eAAEX,IAAGg2B,EAAA16B,KAAA,sBAAA06B,EAAAx5B,OAAA,SAiClCu5B,GAAa,yBAAAC,EAAAv5B,OAAA,GAAAo5B,EAAA,KACrB,gBAvC0BM,GAAA,OAAAP,EAAAj5B,MAAA,KAAAC,UAAA,KAwCrB8wB,wBAAuB,eAAA0I,EAAAx7B,0JAAAC,+IAAAC,MAAG,SAAAu7B,EAAO5I,EAAkBpvB,GAAa,OAAAxD,+IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EAO3CK,MACvB,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACLwtB,gBAAe,GAEf2M,kBAAkBn6B,EAAMqxB,EAC1B,IAAG,KAAD,EAfY6I,EAAA/5B,KAAA,wBAAA+5B,EAAA75B,OAAA,GAAA45B,EAAA,KAgBjB,gBAvB4BG,EAAAC,GAAA,OAAAL,EAAAz5B,MAAA,KAAAC,UAAA,KAwBvB42B,iBAAgB,eAAAkD,EAAA97B,0JAAAC,+IAAAC,MAAG,SAAA67B,EAAOb,GAAc,IAAAC,EAAAa,EAAA52B,EAAA,OAAAnF,+IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAExCy6B,EAAuB,GAC3Bn4B,QAAQe,IAAI,mBAAoBm3B,GAAWc,EAAA/7B,+IAAAC,MAAA,SAAA87B,IAAA,IAAAX,EAAA53B,EAAA,OAAAxD,+IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OASxC,OANK26B,EAAkBH,EAAU91B,GAE5B3B,EAAW,CACfqyB,QAASuF,EAAW75B,KACpB6d,IAAK,GACLrH,MAAO,IACRkkB,EAAAx7B,KAAA,EACKK,MACJ,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MACC,SAACG,GACC25B,EAAcz0B,KAAK,CACjBlF,KAAMA,EACNiV,IAAK4kB,EAAW5kB,IAChBrY,IAAKi9B,EAAWj9B,KAGpB,IAEA,KAAD,mBAAA89B,EAAAr6B,OAAA,GAAAm6B,EAAA,IA7BI52B,EAAI,EAAE,KAAD,OAAEA,EAAI81B,EAAUr1B,QAAM,CAAAo2B,EAAAv7B,KAAA,eAAAu7B,EAAA11B,cAAAy1B,IAAA,eAAE52B,IAAG62B,EAAAv7B,KAAA,sBAAAu7B,EAAAr6B,OAAA,SA+BlCu5B,GAAa,yBAAAc,EAAAp6B,OAAA,GAAAk6B,EAAA,KACrB,gBArCqBI,GAAA,OAAAL,EAAA/5B,MAAA,KAAAC,UAAA,KAsChBo6B,2BAA0B,eAAAC,EAAAr8B,0JAAAC,+IAAAC,MAAG,SAAAo8B,EACjC7lB,EACA8lB,EACAC,EACAC,EACAC,EACAC,EACAl5B,GAAa,IAAA43B,EAAA,OAAAp7B,+IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAIb,OADsB+V,EACtBmmB,EAAAl8B,KAAA,EAEyBK,MACvB,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAAI,OAAKA,CAAI,IAAE,KAAD,EAXjB65B,EAAUuB,EAAAj7B,KAahBk7B,uBACEpmB,EACA4kB,EACAkB,EACAC,EACAC,EACAC,EACAC,GAUF,wBAAAC,EAAA/6B,OAAA,GAAAy6B,EAAA,KACD,gBA5C+BQ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAf,EAAAt6B,MAAA,KAAAC,UAAA,KA6C1B66B,uBAAyB,SAC7BpmB,EACA4mB,EAEAd,EACAC,EACAC,EACAC,EACAC,GAMA,IAJA,IACIW,EAAeD,EAEfE,EAAgB9mB,EAAI+mB,EAAA,WAEtB,IAAMC,EAAWH,EAAal4B,GACxBsG,EAAYC,OAAOC,KAAK6xB,GAAUh3B,KAAI,SAACoF,GAE3C,OAAAC,wJAAA,GADe,OACI2xB,EAAS5xB,GAC9B,IACAyxB,EAAal4B,GAAKsG,EAAU,EAC9B,EAPStG,EAAI,EAAGA,EAAIk4B,EAAaz3B,OAAQT,IAAGo4B,IAQ5CD,EAASd,GAAUE,GAAkBW,EAErCnN,cAAa7pB,2JAAKi3B,GAGpB,EAIM/D,2BAA6B,SACjC6D,EACA1+B,EACAO,EACA+2B,GAKA,IAHA,IAAIzE,EAAejD,YACf+O,EAAeD,EACnBK,EAAA,WAEE,IAAMl8B,EAAO87B,EAAal4B,GACpBsG,EAAYC,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GAEvC,OAAAC,wJAAA,GADe,OACItK,EAAKqK,GAC1B,IACAyxB,EAAal4B,GAAKsG,EAAU,EAC9B,EAPStG,EAAI,EAAGA,EAAIk4B,EAAaz3B,OAAQT,IAAGs4B,IAe5C,IACE,IACE,IAAIt4B,EAAI,EACRA,EACAosB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASG,UAAUuO,OAC1DhI,OACHT,IACA,CAEEosB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASG,UAAUuO,OAC3DzI,GAEIhG,QAAU62B,IAChBzE,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASG,UAAUuO,OAC3DzI,GACAoI,QAAQrO,SAASG,UAAUN,MAAQs+B,EAEzC,CACF,CAAE,MAAOr6B,GAAQ,CAKjB5F,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,GAEhD,EACMmK,kBAAoB,SAAC0B,EAAkBxK,GAI3C,IAHA,IAAIrB,EAAejD,YACf+O,EAAeD,EAEVj4B,EAAI,EAAGA,EAAIk4B,EAAaz3B,OAAQT,IAEvC,IADA,IAAM5D,EAAO87B,EAAal4B,GAC1Bu4B,EAAA,EAAAC,EAA2BjyB,OAAOkyB,QAAQr8B,GAAKm8B,EAAAC,EAAA/3B,OAAA83B,IAC7C,IADG,IAAAG,EAAA5pB,uJAAA0pB,EAAAD,GAAA,GAAO9xB,EAAGiyB,EAAA,GAAE13B,EAAK03B,EAAA,GACXt4B,EAAI,EAAGA,EAAIqtB,EAAYhtB,OAAQL,IAAK,CAC3C,IAAMu4B,EAASlL,EAAYrtB,GACvBu4B,EAAOlI,MAAMzvB,QAAUyF,IACzB2lB,EAAaxyB,MAAM++B,EAAOtnB,KAAKxX,OAAO8+B,EAAO3/B,KAAKoD,KAAO,CACvD4E,MAAOA,GAOb,CAgBJ/I,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,GAEhD,EACMuB,sBAAwB,SAC5BsK,EACA1+B,EACAO,GAMA,IAJA,IAAIsyB,EAAejD,YACf+O,EAAeD,EACnBW,EAAA,WAGE,IAAMx8B,EAAO87B,EAAal4B,GAEtBsG,EAAYC,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GAErC,OAAAC,wJAAA,GADe,OACItK,EAAKqK,GAC1B,IACAyxB,EAAal4B,GAAKsG,EAAU,EAC9B,EARStG,EAAI,EAAGA,EAAIk4B,EAAaz3B,OAAQT,IAAG44B,IAS5C,GAAqB,OAAjBV,EAAuB,CACzB,IAAIt+B,EAAQs+B,OAEFn/B,IADAa,EAAMgf,MAAK,SAACjU,GAAM,MAAgB,yBAAXA,EAAE5D,IAA+B,KAEhEnH,EAAM0H,KAAK,CAAEP,KAAM,yBAErBqrB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQsC,KAAK4E,MAC7C,uBACFk3B,EAAet+B,CACjB,CACAwyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASG,UAAUN,MAC3Ds+B,EACFtO,gBAAe,GAEf3xB,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,GAChD,EACM8H,0BAA4B,SAChC+D,EACAxI,EACA0H,EACAC,GAEA,IAAIhL,EAAejD,YACf+O,EAAoBD,EAExBr6B,QAAQe,IAAI,kBAAmBu5B,EAAc9L,EAAc+K,GAE3D,IAAM0B,EAAkBX,EAAa72B,KAAI,SAAUL,GAEjD,IADA,IAAI8C,EAAW,CAAC,EACP9D,EAAI,EAAGA,EAAIyvB,EAAYhvB,OAAQT,IAAK,CAC3C,IAAMqI,EAAQonB,EAAYzvB,GAC1B8D,EAAIuE,EAAgB,UAAKrH,EAAMqH,EAAiB,UAElD,CACA,OAAOvE,CACT,IAEIg1B,EAAc,GAClB,GAAI1M,EAAaxyB,MACf,IAAK,IAAIoG,EAAI,EAAGA,EAAI64B,EAAgBp4B,OAAQT,IAAK,CAO/C,IANA,IAAM+4B,EAAWF,EAAgB74B,GAC7Bg5B,EAAU,IAAIC,MACJ,OAAZ7M,QAAY,IAAZA,OAAY,EAAZA,EAAcxyB,MAAMu9B,GAAYt9B,OAC9Bu9B,GACAr9B,SAASG,UAAUuO,OAAOhI,QAC5By4B,KAAK,CAAEl4B,MAAO,KAChBm4B,EAAA,EAAAC,EAA2B7yB,OAAOkyB,QAAQM,GAASI,EAAAC,EAAA34B,OAAA04B,IAEjD,IAFG,IAAAE,EAAAvqB,uJAAAsqB,EAAAD,GAAA,GAAO1yB,EAAG4yB,EAAA,GAAEr4B,EAAKq4B,EAAA,GAGdj5B,EAAI,EACRA,GACY,OAAZgsB,QAAY,IAAZA,OAAY,EAAZA,EAAcxyB,MAAMu9B,GAAYt9B,OAAOu9B,GAAYr9B,SAChDG,UAAUuO,OAAOhI,QACpBL,IACA,EAEc,OAAZgsB,QAAY,IAAZA,OAAY,EAAZA,EAAcxyB,MAAMu9B,GAAYt9B,OAAOu9B,GAAYr9B,SAChDG,UAAUuO,OAAOrI,IAERpG,QAAUyM,IACtBuyB,EAAQ54B,GAAK,CAAEY,SAEnB,CAEF83B,EAAOx3B,KAAK03B,EACd,CAEEd,EAAaz3B,OAAS,GAAKq4B,EAAOr4B,OAAS,GAAK2rB,EAAaxyB,QAC/DwyB,EAAaxyB,MAAMu9B,GAAYt9B,OAAOu9B,GAAYh7B,KAAKiV,IAAMynB,EAE7D7gC,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,IAGlD,EAEMkN,iBAAmB,SACvBrB,EACA1+B,EACAO,GAEA,IAAIsyB,EAAejD,YACf+O,EAAeD,EACf7L,IACFA,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQsC,KAAO87B,EAEe,OAA5D9L,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,OAChDhC,MAAMshC,kBACTr6B,WAAWktB,EAAaxyB,QAKmC,OAA5DwyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,MACU,MAA5DmyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,MACS,OAA5DmyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,MACS,MAA5DmyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,OACrDhC,MAAMk1B,gBAENY,aAAa3B,EAAaxyB,MAAML,GAAQM,OAAOC,GAASP,EAAQO,GAOJ,MAA5DsyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,MACS,OAA5DmyB,EAAaxyB,MAAML,GAAQM,OAAOC,GAAQC,SAASE,MAEnD2xB,WAcF3zB,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,IAGlD,EACMoN,sBAAwB,SAC5BxoB,EACAK,EACA4mB,EACA1+B,EACAO,EACA2/B,EACAC,GAQA,IANA,IAEIC,EAFexQ,YAEMvvB,MAAM6/B,GAAa5/B,OAAO6/B,GAE7CpL,EAAcr2B,MAAMi1B,MAEjBltB,EAAI,EAAGA,EAAIsuB,EAAO7tB,OAAQT,IAAK,CACtC,IAAMktB,EAAaoB,EAAOtuB,GAE1B,GAAwB,OAApBktB,EAAMoD,WACJpD,EAAMoD,UAAU7vB,OAAS,EAAG,CAC9B,IAAM8tB,EAAaxyB,KAAKwM,MAAM+lB,EAAOtuB,GAAGswB,WAExC,GAAwB,wBAApBpD,EAAMqD,UAAqC,CAG7C,GAAuB,OAAnBoJ,EAAMv9B,KAAKiV,KACTsoB,EAAMv9B,KAAKiV,IAAI5Q,OAAS,EAAG,CAI7B,IAHA,IAAIpC,EAAgB,CAAC,EACjBk5B,EAAiB,EAEZlxB,EAAI,EAAGA,EAAIkoB,EAAWoC,aAAalwB,OAAQ4F,IAAK,CACvD,IAAMqoB,EAAcH,EAAWoC,aAAatqB,GAExCqoB,EAAY10B,QAAUgX,EAAQlX,GAAQuO,QACxChK,EAAW,CACT4b,IAAKyU,EAAY10B,MACjB4Y,MAAOqlB,EAAYj3B,MACnB0vB,QAASxD,EAAMwD,SAGrB,CACA,IAAK,IAAIrqB,EAAI,EAAGA,EAAI2K,EAAQvQ,OAAQ4F,IAAK,CACvC,IAAMyL,EAAUd,EAAQ3K,GAEpBkoB,EAAWsC,mBAAmB72B,QAAU8X,EAAQzJ,QAClDkvB,EAAiBlxB,EAErB,CACa2wB,2BACX3lB,EACAooB,EACAC,EACAngC,EACAO,EACAy9B,EACAl5B,EAEJ,CAEJ,CACF,CAEJ,CACF,EAMA,SAASu7B,oBACPC,EACAC,EACAvgC,EACAO,GAEA,IAAIsyB,EAAejD,YAEnBiD,EAAaxyB,MAAML,GAAQM,OACzBC,GACAC,SAASG,UAAU6/B,YAAYtd,KAAKqd,GAAW94B,MAAQ64B,EACzD5hC,MAAM07B,yBAAyB53B,KAAKC,UAAUowB,GAChD,CAAC,SAEcltB,WAAU86B,GAAA,OAAA76B,YAAAxC,MAAC,KAADC,UAAA,UAAAuC,cA4IxB,OA5IwBA,YAAAvE,0JAAAC,+IAAAC,MAAzB,SAAAm/B,EAA0B7xB,GAAc,IAAAzI,EAAA4C,EAAA/H,EAAAkF,EAAA,OAAA7E,+IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,YAChBvC,IAAlBsG,eACEM,EAAiB,GACjB4C,EAAgB,EACpB6F,EAAQtH,SAAQ,SAACC,GACfA,EAAKlH,OAAOiH,SAAQ,SAACjH,GACU,OAAzBA,EAAOE,SAASE,OAClB0F,EAAU9F,EAAOE,SAASG,UAAUyF,QACpC4C,EAAQ1I,EAAOE,SAASwI,MAE5B,GACF,IACA4nB,gBAAgB5nB,GAChBwnB,iBAAiBpqB,KAEbnF,EAAgB,GAChBkF,GAAmB,EACvB0I,EAAQtH,SAAQ,SAACC,EAAWxH,GAC1BwH,EAAKlH,OAAOiH,QAAO,eAAAq5B,EAAAv/B,0JAAAC,+IAAAC,MAAC,SAAAs/B,EAAOvgC,EAAaC,GAAc,IAAA8F,EAAA5E,EAAAuF,EAAA,OAAA1F,+IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,WAElD+D,cAAcuZ,MAAK,SAACxX,GAClB,GACEA,EAAOA,OAAOwX,MAAK,SAAC0hB,GAClB,GAAgB,OAAZA,EAAGrgC,MACDqgC,EAAGtgC,QAAUH,EAAOE,SAASC,MAC/B,OAAO,CAGb,IAEA,OAAO,CAEX,IAAE,CAAAqgC,EAAA/+B,KAAA,SAyED,GAvEGsE,EAAoB,KACpB5E,EAAmB,CAAC,EACxBqE,cAAcgC,KAAI,SAACD,GACjBA,EAAOP,UAAUQ,KAAI,SAACnB,GAElBA,EAAIlG,QAAUH,EAAOE,SAASC,OAC9BkG,EAAIc,QAAUnH,EAAOuC,KAAK4E,QAE1BpB,EAAewB,EAEnB,GACF,IACqB,OAAjBxB,EACFA,EAAawB,OAAOC,KAAI,SAACD,GACvB,GAAoB,OAAhBA,EAAOnH,KACJO,EAAIyG,SAASG,EAAOpH,QACvBQ,EAAI8G,KAAKF,EAAOpH,YAEb,GAAIH,EAAOE,SAASC,QAAUoH,EAAOpH,MAAO,CACjD,IAAIgH,EAAgBnH,EAAOuC,KAAK4E,MAClB,OAAVA,IACEA,EAAMgB,QAAQ,KAAO,GAAKhB,EAAMgB,QAAQ,KAC1CxH,EAAI8G,KACFN,EAAMiB,UACJjB,EAAMgB,QAAQ,KAAO,EACrBhB,EAAMgB,QAAQ,OAIlBxH,EAAI8G,KAAKN,IAGTxG,EAAIiG,SAAWW,EAAOX,SACxBf,GAAU,EAEd,CACF,IAEAL,cAAcgC,KAAI,SAACk5B,GACW,IAAxBA,EAAG15B,UAAUJ,QACf85B,EAAGn5B,OAAOC,KAAI,SAACD,GACb,GAAoB,OAAhBA,EAAOnH,KACJO,EAAIyG,SAASG,EAAOpH,QACvBQ,EAAI8G,KAAKF,EAAOpH,YAEb,GAAIH,EAAOE,SAASC,QAAUoH,EAAOpH,MAAO,CACjD,IAAIgH,EAAgBnH,EAAOuC,KAAK4E,MAClB,OAAVA,IACEA,EAAMgB,QAAQ,KAAO,GAAKhB,EAAMgB,QAAQ,KAC1CxH,EAAI8G,KACFN,EAAMiB,UACJjB,EAAMgB,QAAQ,KAAO,EACrBhB,EAAMgB,QAAQ,OAIlBxH,EAAI8G,KAAKN,GAGf,CACIxG,EAAIiG,SAAW85B,EAAGn5B,OAAOX,SAExBjG,EAAIyG,SAAS,eACbzG,EAAIyG,SAAS,gBAEdvB,GAAU,GAGhB,GAEJ,KAEEA,EAAQ,CAAD26B,EAAA/+B,KAAA,SAGiC,GAF1CN,EAAYqH,OAAS7H,EAAI2H,KAAK,KAAO,IACrCnH,EAAYsH,MAAQ4nB,aACpBlvB,EAAYwH,WAAavK,MAAM+7B,WAC1Bh5B,EAAYqH,OAAOc,cAAclC,SAAS,UAAU,CAADo5B,EAAA/+B,KAAA,gBAAA++B,EAAA/+B,KAAA,GACrCZ,uEAAcM,GAAa,KAAD,QACxBjC,KADbwH,EAAE85B,EAAA99B,MACDsG,SAELuF,EAAQtH,SAAQ,SAACC,EAAWxH,GAC1BwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,OAAzBD,EAAOE,SAASE,MACdJ,EAAOuC,KAAK4E,QAAUT,GACxB+4B,iBAAiB,CAAEt4B,MAAOT,GAAMhH,EAAQO,EAG9C,GACF,IACD,QAAAugC,EAAA/+B,KAAA,iBAGH8M,EAAQtH,SAAQ,SAACC,EAAWxH,GAC1BwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,OAAzBD,EAAOE,SAASE,MACQ,OAAtBJ,EAAOuC,KAAK4E,OACds4B,iBAAiB,CAAEt4B,MAAO,MAAQzH,EAAQO,EAGhD,GACF,IAAG,yBAAAugC,EAAA59B,OAAA,GAAA29B,EAAA,KAGR,gBAAAI,EAAAC,GAAA,OAAAN,EAAAx9B,MAAA,KAAAC,UAAE,CAAF,CAvHkB,GAwHrB,KACD,wBAAAs9B,EAAAz9B,OAAA,GAAAw9B,EAAA,KACF96B,YAAAxC,MAAA,KAAAC,UAAA,CAYD,SAASgvB,WACP,QAAoB7yB,IAAhBowB,aAAiE,IAApC5iB,OAAOC,KAAK2iB,aAAa1oB,OAAc,CACtE,IAAI7G,EAAQuvB,YAAYvvB,MACpB8gC,EAAM,EACNn4B,EAAQ,EACZ3I,EAAMyH,KAAI,SAACN,EAAWxH,GACpBwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GACC,MAAzBD,EAAOE,SAASE,MACwB,MAAtCJ,EAAOE,SAASG,UAAUqvB,UAC5BhnB,EAAQ2E,OAAOrN,EAAOE,SAASG,UAAU8a,SACP,IAA9B9N,OAAOrN,EAAOuC,KAAK4E,SACrB05B,GAAYxzB,OAAOrN,EAAOuC,KAAK4E,QAIvC,GACF,IACAqoB,aAAahoB,KAAI,SAACs4B,GACI,IAAhBA,EAAM7F,QACR4G,GAAYf,EAAM7F,MAEtB,IAEI4G,IAAQnR,UACVC,WAAWkR,GACXziC,MAAMuxB,WAAWkR,EAAIzlB,QAAQ1S,IAEjC,CACF,CAEA,SAASo4B,eAAeC,EAAmBC,GACzC,GAAIxR,aAAa5oB,OAAS,EAAG,CAC3B,IAAMq6B,EAAK/+B,KAAKC,UAAUqtB,cACtB0R,EAAWh/B,KAAKwM,MAAMuyB,GAE1B,GAAiB,IAAbD,EAAgB,CAMlB,GALAE,EAAS15B,KAAI,SAACs4B,GACRA,EAAM9F,aAAe+G,IACvBjB,EAAM7F,MAAQ+G,EAElB,SAEkB9hC,IAAhBowB,aACoC,IAApC5iB,OAAOC,KAAK2iB,aAAa1oB,OACzB,CACA,IAAI7G,EAAQuvB,YAAYvvB,MACpB8gC,EAAM,EACNn4B,EAAQ,EACZ3I,EAAMyH,KAAI,SAACN,EAAWxH,GACpBwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GACC,MAAzBD,EAAOE,SAASE,MACwB,MAAtCJ,EAAOE,SAASG,UAAUqvB,UAC5BhnB,EAAQ2E,OAAOrN,EAAOE,SAASG,UAAU8a,SACP,IAA9B9N,OAAOrN,EAAOuC,KAAK4E,SACrB05B,GAAYxzB,OAAOrN,EAAOuC,KAAK4E,QAIvC,GACF,IACA+5B,EAAS15B,KAAI,SAACs4B,GACP9kB,MAAM8kB,EAAM7F,SACf4G,GAAYf,EAAM7F,MAEtB,IAEKjf,MAAM6lB,KACTlR,WAAWkR,GACXziC,MAAMuxB,WAAWkR,EAAIzlB,QAAQ1S,IAEjC,CACA+mB,gBAAepoB,2JAAK65B,GACtB,MACEvR,WAAW,GACXvxB,MAAMuxB,WAAW,OAErB,CACF,CAEA,SAASwR,qBAAqBlW,KAAWvrB,OAAgBO,QACvD,IACE,IAAIF,MAAQuvB,YAAYvvB,MACpBqhC,MAAgBnW,KAAK/qB,SAASG,UAAUghC,QAExCpH,MAAQ,EACE,KAAVmH,OAA0B,OAAVA,QAClBrhC,MAAMyH,KAAI,SAACN,KAAWxH,QACpBwH,KAAKlH,OAAOwH,KAAI,SAACxH,OAAaC,QAC5B,GAAImhC,MAAMh6B,SAAS,OAAQ,CACzB,IAAMk6B,MACJF,MACGh5B,UAAUg5B,MAAMj5B,QAAQ,KAAMi5B,MAAMj5B,QAAQ,MAC5Cm5B,MAAM,8DAA4C,GAEvD,GAAIA,MAAMl6B,SAASpH,OAAOE,SAASC,OAAQ,CACzC,IAAM6sB,OAASsU,MAAM,GACrBthC,OAAOE,SAASG,UAAUuO,OAAOpH,KAC/B,SAACrI,EAAUc,GACkB,IAAD6tB,EAAAyT,EAAtBvU,SAAW7tB,EAAIgB,QACN,QAAX2tB,EAAA9tB,OAAOuC,YAAI,IAAAurB,GAAK,QAALyT,EAAXzT,EAAatW,WAAG,IAAA+pB,GAAhBA,EAAkB/5B,KAAI,SAACgQ,EAAU9X,GAC/Bu6B,OAAS5sB,OAAOmK,EAAIvX,GAAQkH,MAC9B,IAEJ,GAEJ,CACF,KAAO,CACL,IAAMm6B,OACJF,MAAME,MAAM,8DAA4C,GAEtDA,OAAMl6B,SAASpH,OAAOE,SAASC,SAE/BihC,MADwB,OAAtBphC,OAAOuC,KAAK4E,MACNi6B,MAAMxgC,QACZZ,OAAOE,SAASC,MAChBH,OAAOuC,KAAK4E,MAAMsC,YAGZ23B,MAAMxgC,QAAQZ,OAAOE,SAASC,MAAO,MAIjD,IAAIqhC,OAAS,yBACRA,OAAOrgB,KAAKigB,SACfnH,MAAQwH,KAAKL,OAEjB,CACF,GACF,IAEc,OAAVnH,OAA4ByH,MAAVzH,MAChB5sB,OAAO4d,KAAK1oB,KAAK4E,SAAW8yB,OAC9BwF,iBACE,CAAEt4B,MAAO8yB,MAAM7e,QAAQ/N,OAAO4d,KAAK/qB,SAASG,UAAU8a,WACtDzb,OACAO,QAIJw/B,iBAAiB,CAAEt4B,MAAO,GAAKzH,OAAQO,QAG7C,CAAE,MAAO+D,OACPD,QAAQe,IAAI,gBAAiBd,MAC/B,CACF,CA1JAmH,sDAAU,gBACYjM,IAAhBuyB,aACFgO,iBACE,CAAEt4B,MAAOkqB,eACTI,YAAY/xB,OACZ+xB,YAAYxxB,OAGlB,GAAG,CAACoxB,gBAoJJ,IAAM8B,cAAa,eAAAwO,EAAA5gC,0JAAAC,+IAAAC,MAAG,SAAA2gC,EAAOC,GAAS,OAAA7gC,+IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,OACpCwuB,iBAAgB5oB,2JAAK06B,mBAqWrB,wBAAAD,EAAAl/B,OAAA,GAAAg/B,EAAA,KACD,gBAvWkBI,GAAA,OAAAL,EAAA7+B,MAAA,KAAAC,UAAA,KAyWnB,OACEhE,6DAAA,OAAKY,UAAU,oDAAmDd,SAAA,CAC/DixB,aACCnxB,4DAAA,OAAKgB,UAAU,eAAcd,SAC3BF,4DAACsjC,2DAAe,MAGnBjS,cACAJ,eACCjxB,4DAAA,OAAKa,MAAO,CAAE0iC,QAAS,iBAAkBrjC,SACvCF,4DAACwjC,oFAAgB,CACfC,SAAS,YACTC,QAAQ,iFACRC,aAAc5S,cAM1B,C,mCCriEA,6EAWayS,EAAmB,SAAC/jC,GAC/B,OACEW,eAAA,OAAKY,UAAU,kDAAiDd,SAAA,CAC9DF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAACuM,IAAoB,CACnBU,gBAAiBxN,EAAMgkC,SACvBt2B,aAAc1N,EAAMikC,YAIxB1jC,cAAC+b,IAAW,CACV6nB,QAAQ,cACRp7B,MAAO/I,EAAMkkC,aACbE,eAAe,qCACfC,kBAAmB,EAEnBC,WAAY,CACVjkB,UAAW,QACXkkB,WAAY,UACZ3sB,aAAc,MACd0I,OAAQ,OACRpK,MAAO,SAETxC,UAAU,MAIlB,C,syGCyFa8wB,4BAAyC,SAAzCA,4BAAsC9hC,MA+C5C,IA9CL+hC,UAAS/hC,KAAT+hC,UACAC,OAAMhiC,KAANgiC,OACAC,wBAAuBjiC,KAAvBiiC,wBACAC,aAAYliC,KAAZkiC,aACA5jB,UAASte,KAATse,UACA6jB,cAAaniC,KAAbmiC,cACAC,WAAUpiC,KAAVoiC,WACAC,wBAAuBriC,KAAvBqiC,wBACA50B,QAAOzN,KAAPyN,QACA60B,SAAQtiC,KAARsiC,SACAC,aAAYviC,KAAZuiC,aACAC,SAAQxiC,KAARwiC,SACAC,WAAUziC,KAAVyiC,WACAzjC,OAAMgB,KAANhB,OACAyQ,gBAAezP,KAAfyP,gBACAizB,MAAK1iC,KAAL0iC,MACAp6B,WAAUtI,KAAVsI,WACAynB,SAAQ/vB,KAAR+vB,SACA4S,eAAc3iC,KAAd2iC,eACAC,kBAAiB5iC,KAAjB4iC,kBACAjT,YAAW3vB,KAAX2vB,YACA6K,aAAYx6B,KAAZw6B,aACAqI,gBAAe7iC,KAAf6iC,gBACAn+B,cAAa1E,KAAb0E,cACAue,SAAQjjB,KAARijB,SACA3T,WAAUtP,KAAVsP,WACAE,gBAAexP,KAAfwP,gBACAD,WAAUvP,KAAVuP,WACAuzB,iBAAgB9iC,KAAhB8iC,iBACAC,oBAAmB/iC,KAAnB+iC,oBACAC,wBAAuBhjC,KAAvBgjC,wBACAC,yBAAwBjjC,KAAxBijC,yBACAC,eAAcljC,KAAdkjC,eACAC,kBAAiBnjC,KAAjBmjC,kBACAC,aAAYpjC,KAAZojC,aACA9Z,gBAAetpB,KAAfspB,gBACAC,cAAavpB,KAAbupB,cACAC,aAAYxpB,KAAZwpB,aACA6Z,qBAAoBrjC,KAApBqjC,qBACAC,oBAAmBtjC,KAAnBsjC,oBACAnmB,aAAYnd,KAAZmd,aACAomB,gBAAevjC,KAAfujC,gBACA5rB,YAAW3X,KAAX2X,YACA6rB,cAAaxjC,KAAbwjC,cACAC,OAAMzjC,KAANyjC,OACAC,YAAW1jC,KAAX0jC,YAEAC,eAA2BC,wDAAc,CACvCn2B,gBACA2B,KAAM,UAFAy0B,OAAMF,eAANE,OAAQC,OAAMH,eAANG,OAKVC,WAAa7d,kDAAO,IAC1B7Q,UAA8CC,oDAC5C,IACDC,WAAApB,uJAAAkB,UAAA,GAFMgJ,gBAAe9I,WAAA,GAAEyuB,mBAAkBzuB,WAAA,GAI1ClL,sDAAU,WAER,GADApH,QAAQe,IAAI,oBAAqBsE,YAC7B6U,aAAarX,OAAS,EAAG,CAC3B,IAAIm+B,EAAqB,GAEzB9mB,aAAahX,SAAQ,SAACosB,GACpB,GAAIA,EAAMqD,YAAcsO,sDAAUC,sBAAuB,CACvD,IAAMh3B,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QACjDmkC,EAAW,GAAAnlC,OAAAyH,2JACN09B,GAAW19B,2JACX4G,EAAU6oB,aAAatvB,KAAI,SAACqtB,GAC7B,MAAO,CACLzU,IAAKyU,EAAY10B,MACjB+kC,YAAaj3B,EAAU+oB,mBAAmB72B,MAC1C+f,OAAQjS,EAAU+oB,mBAAmB72B,MACrC4Y,MAAO,KACP8d,QAASxD,EAAMwD,QAEnB,KAEJ,MAAO,GAAIxD,EAAMqD,YAAcsO,sDAAUG,eAAgB,CACvD,IAAMl3B,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QAC3CwkC,EAAOn3B,EAAUjE,WAAW6M,QAAO,SAACxQ,GACxC,OAAOA,EAAIg/B,SACb,IAEID,EAAKx+B,OAAS,EAChBw+B,EAAK59B,KAAI,SAACnB,GACR,MAAO,CACLwwB,QAASxD,EAAMwD,QACfzW,IAAK/Z,EAAIg/B,UACTtsB,MAAO7P,oEAAgB7C,EAAIg/B,UAAWj8B,YAE1C,IAEA27B,EAAYt9B,KAAK,CACfovB,QAASxD,EAAMwD,QACfzW,IAAK,GACL8kB,YAAaj3B,EAAU9N,MACvB4Y,MAAO,MAGb,CACF,IACA+rB,mBAAkBz9B,2JAAK09B,GACzB,CACF,GAAG,CAAC9mB,aAAc7U,aAElB,IAAMk8B,eAAiB,SAACplC,EAAes7B,GAErC,IADA,IAAI+J,EAAO,GACFh/B,EAAI,EAAGA,EAAIrG,EAASG,UAAUuO,OAAOhI,OAAQL,IAAK,CACzD,IAAMqI,EAAS1O,EAASG,UAAUuO,OAAOrI,GACzCg/B,EAAK99B,KAAK,CAAEN,MAAOq0B,EAAM5sB,EAAOzO,QAClC,CACA,OAAOolC,CACT,EAIoC,SAErBC,aAAU,OAAAC,YAAA3iC,MAAC,KAADC,UAAA,UAAA0iC,cAsDxB,OAtDwBA,YAAA1kC,0JAAAC,+IAAAC,MAAzB,SAAAm/B,IAAA,IAAAsF,EAAAC,EAAA,OAAA3kC,+IAAAM,MAAA,SAAAskC,GAAA,cAAAA,EAAApkC,KAAAokC,EAAAnkC,MAAA,UAAAmkC,EAAApkC,KAAA,GAEQ8oB,aAAa,CAADsb,EAAAnkC,KAAA,aACV6oB,aAAaub,aAAa,CAADD,EAAAnkC,KAAA,gBAAAmkC,EAAApkC,KAAA,EAAAokC,EAAAnkC,KAAA,EAEU0oB,oEACjCC,gBACAhhB,WACAihB,cACAC,aACAqa,OACAna,kBACA,KAAD,GAPKkb,EAAoBE,EAAAljC,MASZ0rB,cACHsX,EAAU3lC,MAAM6G,OAAS,GAC9BwJ,aACF+yB,wBAAwB2C,QAAU1b,gBAClC2b,YAAYL,EAAWtb,kBAE1Bwb,EAAAnkC,KAAA,iBAAAmkC,EAAApkC,KAAA,GAAAokC,EAAArgB,GAAAqgB,EAAA,SAED7hC,QAAQC,MAAM,aAAY4hC,EAAArgB,IAAS,QAAAqgB,EAAAnkC,KAAA,oBAGpCyhC,WAAW4C,SACa,MAAzB5B,aAAa4B,SACb5jC,KAAKC,UAAUghC,wBAAwB2C,WACrC5jC,KAAKC,UAAUioB,iBAAgB,CAAAwb,EAAAnkC,KAAA,gBAAAmkC,EAAApkC,KAAA,GAAAokC,EAAAnkC,KAAA,GAGI0oB,oEACjCC,gBACAhhB,WACAihB,cACAC,aACAqa,OACAna,kBACA,KAAD,IAPKkb,EAAoBE,EAAAljC,MAQZ0rB,cACHsX,EAAU3lC,MAAM6G,OAAS,GAC9BwJ,aACF+yB,wBAAwB2C,QAAU1b,gBAClC2b,YAAYL,EAAWtb,kBAE1Bwb,EAAAnkC,KAAA,iBAAAmkC,EAAApkC,KAAA,GAAAokC,EAAA38B,GAAA28B,EAAA,UAED7hC,QAAQC,MAAM,aAAY4hC,EAAA38B,IAAS,QAAA28B,EAAAnkC,KAAA,iBAAAmkC,EAAApkC,KAAA,GAAAokC,EAAAzX,GAAAyX,EAAA,SAKzC7hC,QAAQC,MAAM,wBAAuB4hC,EAAAzX,IAAS,yBAAAyX,EAAAhjC,OAAA,GAAAw9B,EAAA,mCAEjDt9B,MAAA,KAAAC,UAAA,CA1DDoI,sDAAU,WACRq6B,YACF,GAAG,CAAClb,aAAcF,kBA0DlB,IAAM2b,YAAW,eAAA9iC,EAAAlC,0JAAAC,+IAAAC,MAAG,SAAAC,EAAOwkC,EAAgBM,GAAgB,IAAAC,EAAAC,EAAAC,EAAA5gC,EAAA6gC,EAAA,OAAAplC,+IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAOpD,GAPoDF,EAAAC,KAAA,EAEvDqiC,qBAAoB,GAChBoC,EAAuB5+B,2JAAOi0B,cAC9B4K,EAAwB,GAC5BF,EAAY/+B,SAAQ,SAAC6D,GACnBo7B,EAAYz+B,KAAKqD,EAAEuE,OACrB,IAEgB,OAAZib,mBAAY,IAAZA,4BAAc+b,qBAAoB,CAAA9kC,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACFsN,uEAAsBm3B,GAAa,KAAD,GACpD,QADVC,EAAmB5kC,EAAAmB,YACT,IAAZyjC,OAAY,EAAZA,EAAcv/B,QAAS,GACzB+8B,gBAAgB,GAAD/jC,OAAAyH,2JAAK4+B,GAAgB5+B,2JAAK8+B,KAC1C,eAAA5kC,EAAAE,KAAA,GAGoB6kC,sBACrBl9B,WAAW3D,YACXigC,EAAU3lC,MACVmmC,EAAY,IACZ,KAAD,GAJa,OAAR3gC,EAAQhE,EAAAmB,KAAAnB,EAAAE,KAAA,GAMW8kC,oBAAoBhhC,GAAU,KAAD,GAAhD6gC,EAAU7kC,EAAAmB,KACZ08B,MAAMoH,QAAQJ,GAChBriB,SAAS,QAAO1c,2JAAM++B,IAEtBriB,SAAS,QAAO1c,2JAAM++B,EAAWrmC,QAGnCokC,qBAAqBuB,EAAU5a,mBAE/BiZ,yBAAyB2B,EAAU/a,uBAAuBppB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAE1DwC,QAAQC,MAAM,aAAYzC,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAEtC,gBAnCgB2B,EAAAO,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAoCX0jC,iBAAgB,eAAAnjC,EAAAvC,0JAAAC,+IAAAC,MAAG,SAAAiC,EACvBqC,EACAmhC,EACAtsB,EACAjM,GAAkB,IAAAw4B,EAAAC,EAAAC,EAAA,OAAA7lC,+IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAsEb,OAtEa0B,EAAA3B,KAAA,EAGZmlC,EAAU,EACVC,GAAQ,EACRC,GAAkB,EAGpBzsB,GACyB,MAAzBA,EAAgBha,MACsB,MAAtCga,EAAgB/Z,UAAUqvB,UAE1BmX,GAAkB,GAEZ,OAARthC,QAAQ,IAARA,KAAU0B,SAAQ,SAACC,EAAWxH,GAC5BwH,EAAKlH,OAAOiH,SAAQ,SAACjH,GACnB,IACE,GAA6B,MAAzBA,EAAOE,SAASE,KACwB,MAAtCJ,EAAOE,SAASG,UAAUqvB,UAC5BmX,GAAkB,EAClBD,GAAQ,EACRD,GAAWt5B,OAAOrN,EAAOuC,KAAK4E,OAAS,SAEpC,GAA6B,OAAzBnH,EAAOE,SAASE,KAAe,CACxC,IAAMq9B,EAAkBz9B,EAAOE,SAASG,UAAUuO,OAC9CoyB,EAAmB,EACvB,IAAgB,OAAZ7yB,QAAY,IAAZA,OAAY,EAAZA,EAAcvH,QAAS,EAAG,CAC5B,IAAMkgC,EACsB,QAAX,OAAf1sB,QAAe,IAAfA,OAAe,EAAfA,EAAiBha,MACD,OAAZ+N,QAAY,IAAZA,OAAY,EAAZA,EAAc4Q,MACZ,SAACjU,GAAM,OAAKA,EAAEi8B,UAAU5mC,QAAUH,EAAOE,SAASC,KAAK,IAE3C,OAAd6jC,qBAAc,IAAdA,oBAAc,EAAdA,eAAgBjlB,MACd,SAACjU,GAAM,OAAKA,EAAEi8B,UAAU5mC,QAAUH,EAAOE,SAASC,KAAK,IAG/Ds9B,EAASx2B,SAAQ,SAAC9H,EAAUc,GACqB,MAA3Cd,EAAIoP,QAAQrO,SAASG,UAAUqvB,UAE9BriB,OAAO2N,MACN3N,OAAOy5B,EAASE,OAAO7nC,EAAIoP,QAAQrO,SAASC,WAG9CymC,GAAQ,EACRC,GAAkB,EAClB7F,GAAY3zB,OACVy5B,EAASE,OAAO7nC,EAAIoP,QAAQrO,SAASC,SAI7C,GACF,MACEs9B,EAASx2B,SAAQ,SAAC9H,EAAUc,GAC2B,IAADshC,EAAL,MAA3CpiC,EAAIoP,QAAQrO,SAASG,UAAUqvB,UAClB,QAAf6R,EAAAvhC,EAAOuC,KAAKiV,WAAG,IAAA+pB,GAAfA,EAAiBt6B,SAAQ,SAACuQ,GAGQ,IAADyvB,GAF/BL,GAAQ,EACRC,GAAkB,EACU,IAAxBx5B,OAAOmK,EAAIvX,OACb+gC,GAAY3zB,QAAkB,QAAX45B,EAAAzvB,EAAIvX,UAAO,IAAAgnC,OAAA,EAAXA,EAAa9/B,QAAS,GAE7C,IAEJ,IAEFw/B,GAAW3F,CACb,CACF,CAAE,MAAOh9B,GACPD,QAAQC,MAAM,aAAcA,EAC9B,CACF,GACF,IAAGb,EAAA1B,KAAA,EAEGqiC,wBACJ6C,EACAD,EACAA,EAAgB1B,sDAAUkC,qBAAkBhoC,EAC5Ckb,GACA,KAAD,SAAAjX,EAAAR,OAAA,SAEM,CACLgkC,QAASA,EACTC,MAAOA,EACPC,gBAAiBA,IAClB,QAAA1jC,EAAA3B,KAAA,GAAA2B,EAAAoiB,GAAApiB,EAAA,SAEDY,QAAQC,MAAM,aAAYb,EAAAoiB,IAAS,yBAAApiB,EAAAP,OAAA,GAAAM,EAAA,mBAEtC,gBA3FqBO,EAAAiB,EAAAwF,EAAA7B,GAAA,OAAA/E,EAAAR,MAAA,KAAAC,UAAA,KA6FhBokC,qBAAoB,eAAAxjC,MAAA5C,0JAAAC,+IAAAC,MAAG,SAAAsC,SAC3B6jC,eACAhtB,gBACAjM,cAAiB,IAAAjI,MAAAC,EAAAq7B,OAAA,OAAAxgC,+IAAAM,MAAA,SAAA+lC,UAAAxjC,WAAA,cAAAA,UAAArC,KAAAqC,UAAApC,MAAA,OAGW,GAHXoC,UAAArC,KAAA,EAGfqiC,qBAAoB,GAEA,MAAhB11B,aAAoB,CAAAtK,UAAApC,KAAA,SAAAyE,MAAAlF,+IAAAC,MAAA,SAAAiF,QAAA,IAAAm7B,QAAApH,MAAAqN,YAAAC,aAAAC,UAAAxa,OAAAya,YAAAC,aAAAC,cAAAC,WAAAC,QAAAC,WAAA79B,IAAA89B,cAAAC,eAAAC,YAAA3G,MAAA4G,WAAA9hC,GAAA6yB,UAAA,OAAAj4B,+IAAAM,MAAA,SAAA6mC,OAAA3kC,WAAA,cAAAA,UAAAhC,KAAAgC,UAAA/B,MAAA,OAmKnB,GAjKG4/B,QAAU5Q,YAAYtqB,GAEtB8zB,MAAgByH,IAChBL,QAAQA,QAAQxzB,WAAW,aACzB05B,aAAelG,QAAQA,QAAQr5B,MAAM,KACrCw/B,UAAYD,aAAa,GACvBva,OAASwa,UACZp/B,UAAUo/B,UAAUr/B,QAAQ,KAAO,EAAGq/B,UAAUY,YAAY,MAC5DpgC,MAAM,KAEsCs/B,YAAA,GAAAz6B,wJAAAy6B,YAC5Cta,OAAO,GAAKrlB,kDAAQkF,wJAAAy6B,YACpBta,OAAO,GAAKrlB,kDAFX8/B,YAEmBH,YAGvBC,aAAatgC,SAAQ,SAACm6B,GACpBgG,eAAengC,SAAQ,SAACjH,GACtBA,EAAOA,OAAOiH,SAAQ,SAAC9H,GACjB6tB,OAAO5lB,SAASjI,EAAIe,SAASC,SAC/BsnC,YAAYtoC,EAAIe,SAASC,OAASwH,+CAAOxI,EAAIoD,KAAK4E,OAClDpD,QAAQe,IAAI,kBAAmB2iC,aAEnC,GACF,GACF,IACAxN,MAAQwN,YAAYza,OAAO,IAAIqb,KAAKZ,YAAYza,OAAO,IAAK,QACxDiN,OAAS,IACXA,OAAS,IAEFoH,QAAQA,QAAQxzB,WAAW,aAChC05B,cAAelG,QAAQA,QAAQr5B,MAAM,KACrCw/B,WAAYD,cAAa,GACvBva,QAASwa,WACZp/B,UAAUo/B,WAAUr/B,QAAQ,KAAO,EAAGq/B,WAAUY,YAAY,MAC5DpgC,MAAM,KACqC0/B,aAAA,GAAA76B,wJAAA66B,aAC3C1a,QAAO,GAAKrlB,kDAAQkF,wJAAA66B,aACpB1a,QAAO,GAAKrlB,kDAFXmgC,WAEmBJ,aAEnBz9B,IAAc,EACd89B,cAAwB,GAC5BR,cAAatgC,SAAQ,SAACm6B,GACpBgG,eAAengC,SAAQ,SAACjH,GACtBA,EAAOA,OAAOiH,SAAQ,SAAC9H,GACrB,GAAI6tB,QAAO5lB,SAASjI,EAAIe,SAASC,OAAQ,CACvC2nC,WAAW3oC,EAAIe,SAASC,OAASwH,+CAC/BxI,EAAIoD,KAAK4E,MACT,QAEF8C,IAAM69B,WAAW9a,QAAO,IAAIqb,KAC1BP,WAAW9a,QAAO,IAClB,WAEFjpB,QAAQe,IAAI,aAAcgjC,WAAY79B,KAEtC,IAAIq+B,EAAQC,KAAKC,MAAMv+B,IAAM,IACzBw+B,EAAmBx+B,IAAM,GAC7B89B,cACE99B,MAAQ,GAAKA,MAAQ,EAAC,OAAArK,OACX2oC,KAAKG,IAAID,KACL,IAAXH,GAAgBr+B,KAAO,GAAE,IAAArK,OACrB0oC,EAAK,KAAA1oC,OAAI2oC,KAAKG,IAAID,IACtBx+B,KAAO,GAAE,GAAArK,OACN0oC,EAAK,KAAA1oC,OAAI2oC,KAAKG,IAAID,IAAiB,GAAA7oC,OACnC0oC,EAAK,KAAA1oC,OAAI6oC,EACpB,CACF,GACF,GACF,IACAxO,MAAQ5sB,OAAO06B,iBAEXR,eAAelG,QAAQA,QAAQr5B,MAAM,KACrCw/B,YAAYD,eAAa,GAEzBjG,MAAakG,YAAUlG,MAAM,kBAAoB,GAErDA,MAAQA,MAAM95B,KAAI,SAACsD,GACjB,OAAOX,oEAAmBW,EAC5B,IAEAw2B,MAAMr6B,SAAQ,SAACm6B,GACb,GAAS,OAALA,QAAK,IAALA,KAAOh6B,SAAS,OAClB,GAA6B,OAAzBgT,gBAAgBha,KAClB,IACE,IAAM4sB,EAASoU,EACZh5B,UAAUg5B,EAAMj5B,QAAQ,KAAO,EAAGi5B,EAAMgH,YAAY,MACpDpgC,MAAM,KAEHy1B,EAAkBrjB,gBAAgB/Z,UAAUuO,OAE5C+5B,EAAWx6B,aAAa4Q,MAC5B,SAACjU,GAAM,OAAKA,EAAEi8B,UAAU5mC,QAAU6sB,EAAO,EAAE,IAErC,OAARyQ,QAAQ,IAARA,KAAUx2B,SAAQ,SAAC9H,GACb6tB,EAAO,KAAO7tB,EAAIgB,QACpB85B,MAAQ,OAC2B/6B,IAAvB,OAARypC,QAAQ,IAARA,OAAQ,EAARA,EAAU3B,OAAO7nC,EAAIgB,UACvBqnC,YAAYA,YAAU5mC,QACpBwgC,EACAuH,EAAS3B,OAAOha,EAAO,IAAIvjB,aAInC,GACF,CAAE,MAAOzF,GACPD,QAAQC,MAAM,aAAcA,EAC9B,MAEAojC,eAAengC,SAAQ,SAACjH,GACtBA,EAAOA,OAAOiH,SAAQ,SAAC9H,GACrB,GAA0B,OAAtBA,EAAIe,SAASE,KAAe,CAC9B,IAAM4sB,EAASoU,EACZh5B,UACCg5B,EAAMj5B,QAAQ,KAAO,EACrBi5B,EAAMgH,YAAY,MAEnBpgC,MAAM,KACHy1B,EAAkBt+B,EAAIe,SAASG,UAAUuO,OAEzC+5B,EAAW3E,eAAejlB,MAC9B,SAACjU,GAAM,OAAKA,EAAEi8B,UAAU5mC,QAAU6sB,EAAO,EAAE,IAErC,OAARyQ,QAAQ,IAARA,KAAUx2B,SAAQ,SAAC9H,GACb6tB,EAAO,KAAO7tB,EAAIgB,OACR,OAARwoC,QAAQ,IAARA,KAAU3B,OAAO7nC,EAAIgB,SACvBqnC,YAAYA,YAAU5mC,QACpBwgC,EACAuH,EAAS3B,OAAOha,EAAO,IAAIvjB,YAInC,GACF,CACF,GACF,SAGY,OAAd29B,qBAAc,IAAdA,+BAAgBngC,SAAQ,SAACC,EAAWxH,GAAoB,IAADkpC,EACjD,OAAJ1hC,QAAI,IAAJA,GAAY,QAAR0hC,EAAJ1hC,EAAMlH,cAAM,IAAA4oC,GAAZA,EAAc3hC,SAAQ,SAACjH,GACjBshC,MAAMl6B,SAASpH,EAAOE,SAASC,SAE/BqnC,YADExnC,EAAOuC,KAAK4E,OAA+B,KAAtBnH,EAAOuC,KAAK4E,MACvBqgC,YAAU5mC,QACpBZ,EAAOE,SAASC,MAChBH,EAAOuC,KAAK4E,MAAMsC,WAAWjJ,WAAW,IAAK,KAGnCgnC,YAAU5mC,QACpBZ,EAAOE,SAASC,MAChB,KAIR,GACF,GAEJ,IACIqhC,OAAS,yBAERA,OAAOrgB,KAAKqmB,eACfvN,MAAQwH,KAAK+F,eAGZxsB,MAAMif,OAAO,CAADz2B,UAAA/B,KAAA,SAWb,GAVIymC,WAAoBW,eACxBhY,SACAuW,eAAe/F,QAAQv4B,UAAU9I,OAAOqhC,QAAQt4B,UAAU7I,UAG5DknC,eAAe/F,QAAQv4B,UAAU9I,OAC/BqhC,QAAQt4B,UACRxG,KAAK4E,MAAQ8yB,MAAM7e,QACnBgsB,eAAe/F,QAAQv4B,UAAU9I,OAAOqhC,QAAQt4B,UAAU7I,SACvDG,UAAU8a,WAEX+sB,WAAWthC,OAAS,GAAC,CAAApD,UAAA/B,KAAA,SAEd0E,GAAI,EAAE,KAAD,OAAEA,GAAI+hC,WAAWthC,QAAM,CAAApD,UAAA/B,KAAA,gBAAA+B,UAAA/B,KAAA,GACXqnC,eACtBZ,WAAW/hC,IACXihC,eAAe/F,QAAQv4B,UAAU9I,OAAOqhC,QAAQt4B,UAC7C7I,SACHknC,eAAe/F,QAAQv4B,UAAU9I,OAAOqhC,QAAQt4B,UAAUxG,KACvD4E,MACHigC,gBACA,GACA,KAAD,GARKnO,UAASz1B,UAAAd,KAAA,QADsByD,KAAG3C,UAAA/B,KAAA,iCAAA+B,UAAAZ,OAAA,GAAAsD,MAAA,IAjLvCC,EAAI,EAAE,KAAD,OAAEA,EAAIsqB,YAAY7pB,QAAM,CAAA/C,UAAApC,KAAA,gBAAAoC,UAAAyD,cAAApB,QAAA,eAAEC,IAAGtC,UAAApC,KAAA,uBAAAoC,UAAAlB,OAAA,SAmMtCykC,gBAAc,QAAAvjC,UAAArC,KAAA,GAAAqC,UAAAoF,GAAApF,UAAA,SAErBE,QAAQC,MAAM,aAAYH,UAAAoF,IAAS,yBAAApF,UAAAjB,OAAA,GAAAW,SAAA,mBAEtC,gBAhNyBgrB,EAAAiM,EAAAC,GAAA,OAAA92B,MAAAb,MAAA,KAAAC,UAAA,KAkNpBgmC,qBAAuB,SAAChC,EAAgB5/B,GAC5C,GAAI68B,eAAgB,CAClB,IAAMgF,EAAkB9mC,KAAKC,UAAU6hC,gBACnCiF,EAAY/mC,KAAKwM,MAAMs6B,GAE3BC,EAAUzhC,KAAI,SAACsD,GACTA,EAAEi8B,UAAU5mC,QAAU4mC,EAAU5mC,QAClC2K,EAAEk8B,OAAS7/B,EAEf,IAEIjF,KAAKC,UAAU8mC,KAAe/mC,KAAKC,UAAU6hC,kBAC/CxZ,iBAAiBuc,EAAWkC,GAAW,GACvChF,kBAAiB58B,2JAAK4hC,IAE1B,CACF,EAGMJ,eAAiB,SAACK,EAAa9uB,GACnC,IAAI+uB,EAAmB,GA6FvB,OA3FAD,EAAOjiC,SAAQ,SAACosB,GACd,GAAIA,EAAMqD,YAAcsO,sDAAUoE,kBAAmB,CACnD,IAAMn7B,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QAEjD,GAA6B,OAAzBwZ,EAAgBha,KAClB,IAAK,IAAImG,EAAI,EAAGA,EAAI6T,EAAgB/Z,UAAUuO,OAAOhI,OAAQL,IAAK,CAChE,IAAMpH,EAAMib,EAAgB/Z,UAAUuO,OAAOrI,GACzC0H,EAAU9N,QAAUhB,EAAIgB,OAC1BgpC,EAAU1hC,KAAK4rB,EAEnB,MAEIplB,EAAU9N,QAAUia,EAAgBja,OACtCgpC,EAAU1hC,KAAK4rB,EAGrB,MAAO,GAAIA,EAAMqD,YAAcsO,sDAAUqE,kBAAmB,EAExDhW,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,SAElBk2B,aAAa/X,MAC1C,SAACjU,GAAC,OAAKA,EAAE3K,QAAUia,EAAgBja,KAAK,KAGxCgpC,EAAU1hC,KAAK4rB,EAEnB,MAAO,GAAIA,EAAMqD,YAAcsO,sDAAUC,sBAAuB,CAC9D,IAAMh3B,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QACjD,GAA6B,OAAzBwZ,EAAgBha,KAClB,IAAK,IAAI+F,EAAI,EAAGA,EAAI8H,EAAU6oB,aAAalwB,OAAQT,IAEjD,IADA,IAAMmjC,EAAcr7B,EAAU6oB,aAAa3wB,GAClCI,EAAI,EAAGA,EAAI6T,EAAgB/Z,UAAUuO,OAAOhI,OAAQL,IAAK,CAChE,IAAMpH,EAAMib,EAAgB/Z,UAAUuO,OAAOrI,GACzC+iC,EAAYnpC,QAAUhB,EAAIgB,OAC5BgpC,EAAU1hC,KAAK4rB,EAEnB,MAGF,IAAK,IAAIltB,EAAI,EAAGA,EAAI8H,EAAU6oB,aAAalwB,OAAQT,IAAK,CAClC8H,EAAU6oB,aAAa3wB,GAE3BhG,QAAUia,EAAgBja,OACxCgpC,EAAU1hC,KAAK4rB,EAEnB,CAEJ,MAAO,GAAIA,EAAMqD,YAAcsO,sDAAUuE,UAKvC,IAJA,IAAMt7B,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QACxCuF,EAAI,EAAGA,EAAI8H,EAAUqpB,OAAO1wB,OAAQT,IAAK,CACjC8H,EAAUqpB,OAAOnxB,GACrBoxB,WAAand,EAAgBja,OACtCgpC,EAAU1hC,KAAK4rB,EAEnB,MACK,GAAIA,EAAMqD,YAAcsO,sDAAUkC,gBAAiB,EAEtD7T,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,SACnCT,QAAUia,EAAgBja,OACtCgpC,EAAU1hC,KAAK4rB,EAEnB,MAAO,GACLA,EAAMqD,YAAcsO,sDAAUwE,aAC9BnW,EAAMqD,YAAcsO,sDAAUyE,gBAC9B,CACyCvnC,KAAKwM,MAAM2kB,EAAMoD,WAChDzsB,WAAW/C,SAAQ,SAACZ,GAE1B+T,EAAgBja,QAAUkG,EAAImI,MAAMrO,OACpCia,EAAgBja,QAAUkG,EAAIiI,aAC9B8L,EAAgBja,QAAUkG,EAAImI,MAAMG,WAEpCw6B,EAAU1hC,KAAK4rB,EAEnB,GACF,CACF,IAEO8V,CACT,EACM5C,oBAAmB,eAAAriC,EAAAnD,0JAAAC,+IAAAC,MAAG,SAAA2C,EAAO8lC,GAAe,IAAAC,EAAAzpC,EAAA0pC,EAAAC,EAAA1jC,EAAAe,EAAAX,EAAA0uB,EAAAkU,EAAAzK,EAAAzF,EAAA,OAAAj4B,+IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAEvB,GADrBkoC,EAAkBlG,eAClBvjC,EAAgB,KACL,OAAVgjC,iBAAU,IAAVA,uBAAY4C,QAAQ,CAAD1hC,EAAA3C,KAAA,YACQ,OAAd,OAAZyiC,mBAAY,IAAZA,kBAAY,EAAZA,aAAc4B,SAAe,CAAA1hC,EAAA3C,KAAA,SAKL,OAJpBynC,EAASrY,SAEXgZ,EAAgBH,EAEpB7F,qBAAoB,GAAMz/B,EAAA3C,KAAA,EAEJ2iC,oBACpB8E,EACA,CACEnpC,MAAO8pC,GAETzgC,YACA,KAAD,EANDygC,EAAazlC,EAAA1B,KAQJyD,EAAI,EAAE,KAAD,QAAEA,EAAI0jC,EAAc9pC,MAAM6G,QAAM,CAAAxC,EAAA3C,KAAA,SACtCyF,EAAO2iC,EAAc9pC,MAAMoG,GACxBI,EAAI,EAAE,KAAD,QAAEA,EAAIW,EAAKlH,OAAO4G,QAAM,CAAAxC,EAAA3C,KAAA,SACN,GACD,QADvBzB,EAASkH,EAAKlH,OAAOuG,IAChBrG,SAASE,KAAa,CAAAgE,EAAA3C,KAAA,UACzB0nC,EAAYN,eAAeK,EAAQlpC,EAAOE,WAElC0G,OAAS,IACrB1G,EAAWF,EAAOE,UAEXiG,EAAI,EAAE,KAAD,QAAEA,EAAIgjC,EAAUviC,QAAM,CAAAxC,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,GACVqnC,eACtBK,EAAUhjC,GACVnG,EAAOE,SACPF,EAAOuC,KAAK4E,MACZuiC,GACA,GACA,KAAD,GAEsB,gBAAV,QARPzQ,EAAS70B,EAAA1B,YAQF,IAATu2B,OAAS,EAATA,EAAW74B,QACbupC,GAA2B,OAAT1Q,QAAS,IAATA,OAAS,EAATA,EAAW9xB,QAAS,IACvC,QAXmChB,IAAG/B,EAAA3C,KAAA,iBARL8E,IAAGnC,EAAA3C,KAAA,iBAFG0E,IAAG/B,EAAA3C,KAAA,sBA2B/C+D,cAAcM,QAAQc,OAAS,GAAKwJ,YAAU,CAAAhM,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,GACpB4D,oEAC1BwkC,EAAc9pC,MACdyF,cACA4D,WAAW3D,YACX2D,WAAW1D,QACX,KAAD,GALDmkC,EAAc9pC,MAAKqE,EAAA1B,KAAA,eAAA0B,EAAA3C,KAAA,GAOAglC,iBACnBiD,EACAC,EACAzpC,EACA,MACA,KAAD,GAOA,OAZWkE,EAAA1B,KAOZmhC,qBAAoB,GAChB8F,GACEA,EAAgBvpC,MAAQupC,EAAgBxiC,QAC1C0iC,EAAgBF,EAAgBxiC,OAEnC/C,EAAAzB,OAAA,SACMknC,GAAa,QAEL,eAAAzlC,EAAAzB,OAAA,SAEZ+mC,GAAU,yBAAAtlC,EAAAxB,OAAA,GAAAgB,EAAA,KAClB,gBAxEwB82B,GAAA,OAAAx2B,EAAApB,MAAA,KAAAC,UAAA,KA2EnBynB,iBAAgB,eAAAlmB,EAAAvD,0JAAAC,+IAAAC,MAAG,SAAAkD,EACvBiW,EACAjM,GAAiB,IAAAQ,EAAAm7B,EAAAH,EAAAR,EAAAY,EAAAxkC,EAAAykC,EAAA5D,EAAA6D,EAAA9jC,EAAA+jC,EAAA9pC,EAAAkb,EAAA5U,EAAAyjC,EAAApnC,UAAA,OAAA/B,+IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OASf,GARFkN,EAAkBw7B,EAAAvjC,OAAA,QAAA1H,IAAAirC,EAAA,IAAAA,EAAA,GAClBL,EAAeK,EAAAvjC,OAAA,EAAAujC,EAAA,QAAAjrC,EAAAuF,EAAAjD,KAAA,EAGC,EACVmoC,EAA0BlG,eAC9BI,qBAAoB,GAOA,MAAhB11B,GAAmC,OAAV+0B,iBAAU,IAAVA,uBAAY4C,QAAO,CAAArhC,EAAAhD,KAAA,YAChB,OAAd,OAAZyiC,mBAAY,IAAZA,kBAAY,EAAZA,aAAc4B,SAAe,CAAArhC,EAAAhD,KAAA,SAgB/B,OAZM0nC,EAAYN,eAHHhY,SAG0BzW,GAGnC2vB,EAAiB7nC,KAAKC,UAAUwiC,QACnBziC,KAAKwM,MAAMq7B,GACxBxkC,EAAWrD,KAAKwM,MAAMq7B,GAEtBC,EAAmB9nC,KAAKC,UAAUoD,GACpC6gC,EAAalkC,KAAKwM,MAAMs7B,GACxBC,EAA+B,GAGnCxlC,EAAAhD,KAAA,GACmB0lC,qBACjB5hC,EACA6U,EACAjM,GACA,KAAD,GAMA,GAVDi4B,EAAU3hC,EAAA/B,KAKNogC,SAAgB,OAANA,aAAM,IAANA,YAAM,EAANA,OAAQhpB,UAAWM,EAAgBja,OAC/C0iC,WAAU,SAAChH,GAAc,OAAA3qB,8SAAA,GACpB2qB,GAAS,IACZuO,OAAQj8B,GAAY,KAKtBk8B,oBAAoB7kC,cAAe4U,EAAgBja,SACnDiQ,WAAU,CAAA3L,EAAAhD,KAAA,gBAAAgD,EAAAhD,KAAA,GAES4D,oEACjB+gC,EACA5gC,cACA4D,WAAW3D,YACX2D,WAAW1D,QACX,KAAD,GALD0gC,EAAU3hC,EAAA/B,KAAA,WASgB,OAAzB0X,EAAgBha,OAAiBuO,KAClCw6B,EAAUviC,OAAS,GAAC,CAAAnC,EAAAhD,KAAA,SAOX0E,EAAI,EAAE,KAAD,QAAEA,EAAIgjC,EAAUviC,QAAM,CAAAnC,EAAAhD,KAAA,gBAAAgD,EAAAhD,KAAA,GACMqnC,eACtCK,EAAUhjC,GACViU,EACAjM,EACAi4B,EACAz3B,GACA,KAAD,GAQD,GARCu7B,EAAAzlC,EAAA/B,KANOtC,EAAI8pC,EAAJ9pC,KAAM+G,EAAK+iC,EAAL/iC,MAAe+iC,EAARpvB,SAQR,mBAAT1a,EAEF6pC,EAAsBxiC,KAAK0hC,EAAUhjC,IACnB,YAAT/F,IACTgmC,EAAaj/B,GAGD,UAAT/G,GAA6B,YAATA,IAAuBuO,EAAS,CAAAlK,EAAAhD,KAAA,SAItD,OAHDoiC,qBAAoB,GACP,UAATzjC,GAAoBuO,GACtBs7B,EAAsBxiC,KAAK0hC,EAAUhjC,IACtC1B,EAAA9B,OAAA,SACM,CAAEvC,OAAM+G,UAAO,QACJ,gBAAT/G,GAA2BuO,IAGpCg7B,EAAkBxiC,GAAS,IAC5B,QA1BmChB,IAAG1B,EAAAhD,KAAA,wBAAAgD,EAAAhD,KAAA,GA8BtBglC,iBACnBL,EACAuD,EACAvvB,EACAjM,GACA,KAAD,GALW1J,EAAA/B,KAONgE,EAAK04B,MAAMkL,KACf,IAAIC,IAAI,GAAD3qC,OAAAyH,2JAAK4W,cAAiBgsB,KAG/B5F,gBAAgB,GAADzkC,OAAK8G,IAEhB0/B,IAAe0D,GACjB/lB,SAAS,QAAO1c,2JAAM++B,IACvB,QAGLvC,qBAAoB,GAAOp/B,EAAAhD,KAAA,iBAAAgD,EAAAjD,KAAA,GAAAiD,EAAA8gB,GAAA9gB,EAAA,SAE3Bo/B,qBAAoB,GACpB9/B,QAAQe,IAAI,cAAaL,EAAA8gB,IAAS,yBAAA9gB,EAAA7B,OAAA,GAAAuB,EAAA,mBAErC,gBAxHqBw2B,EAAAmB,GAAA,OAAAx3B,EAAAxB,MAAA,KAAAC,UAAA,KA0HtB,SAASsnC,oBAAoBG,EAA+BrqC,GAC1D,GAAIqqC,GAAYA,EAAS1kC,QAAS,CAAC,IACEuE,EADHE,EAAAC,mKACbggC,EAAS1kC,SAAO,IAAnC,IAAAyE,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAqC,CAAC,IACN8/B,EADvBljC,EAAM8C,EAAAlD,MAAAujC,EAAAlgC,mKACIjD,EAAOA,QAAM,IAA9B,IAAAmjC,EAAAjgC,MAAAggC,EAAAC,EAAAhgC,KAAAC,MAAgC,CAAC,IAAxBzD,EAAIujC,EAAAtjC,MACX,GAAkB,QAAdD,EAAK9G,MAAkB8G,EAAK/G,QAAUA,EACxC,OAAO,CAEX,CAAC,OAAAsC,GAAAioC,EAAA5/B,EAAArI,EAAA,SAAAioC,EAAA3/B,GAAA,KACgC4/B,EADhCC,EAAApgC,mKACgBjD,EAAOP,WAAS,IAAjC,IAAA4jC,EAAAngC,MAAAkgC,EAAAC,EAAAlgC,KAAAC,MAAmC,CACjC,GADWggC,EAAAxjC,MACFhH,QAAUA,EACjB,OAAO,CAEX,CAAC,OAAAsC,GAAAmoC,EAAA9/B,EAAArI,EAAA,SAAAmoC,EAAA7/B,GAAA,CACH,CAAC,OAAAtI,GAAA8H,EAAAO,EAAArI,EAAA,SAAA8H,EAAAQ,GAAA,CACH,CACA,OAAO,CACT,CAEA,IAAMu7B,sBAAqB,eAAA5c,EAAA3oB,0JAAAC,+IAAAC,MAAG,SAAAsD,EAC5BsmC,EACAtlC,EACA2J,GAAe,IAAA/N,EAAApB,EAAA+I,EAAAC,EAAAlD,EAAA6sB,EAAA,OAAA1xB,+IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAqBV,GArBU46B,EAAA76B,KAAA,EAGTL,EAAmB,CAAC,EACpBpB,EAAe,GACf+I,GAAY,EACZC,GAAY,EAEhBxD,EAAS0B,SAAQ,SAACC,EAAWxH,GAC3BwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,QAAzBD,EAAOE,SAASE,OAClBe,EAAYwH,WAAakiC,EACzB1pC,EAAY0xB,MAAQ3jB,EACpB/N,EAAYsH,MAAQzI,EAAOE,SAASG,UAAUqI,MAC9CvH,EAAY2xB,cAAgB9yB,EAAOE,SAASC,MAC5CgB,EAAY4xB,MAAQ/yB,EAAOE,SAASK,MACpCY,EAAYkO,OAAS,KACrBvG,EAAWpJ,EACXqJ,EAAW9I,EAEf,GACF,KAEkB,IAAd6I,IAAiC,IAAdC,EAAe,CAAAszB,EAAA56B,KAAA,SAoBN,GAlB5B8D,EAASuD,GAAU9I,OAAO+I,GAAU7I,SAASG,UAAU2J,WACpDpD,OAAS,GAEGrB,EAASuD,GAAU9I,OAAO+I,GAClC7I,SAASG,UAAU2J,WAAWxC,KAAI,SAACnB,GACxCd,EAASiC,KAAI,SAACN,EAAWxH,GACvBwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GACxBoG,EAAIlG,QAAUH,EAAOE,SAASC,OAChCJ,EAAM0H,KAAK,CACToB,MAAOxC,EAAIlG,MACXgH,MAAOnH,EAAOuC,KAAK4E,OAGzB,GACF,GACF,IAGFhG,EAAY6xB,UAAYjzB,IAEpBoB,EAAY6xB,UAAUpsB,OAAS,GAAC,CAAAy1B,EAAA56B,KAAA,SAQ/B,GAPCoE,GAAU,EAEd1E,EAAY6xB,UAAU/rB,SAAQ,SAACC,GACxBA,EAAKC,OAAwB,KAAfD,EAAKC,QACtBtB,GAAU,EAGd,KAEIA,EAAQ,CAADw2B,EAAA56B,KAAA,gBAAA46B,EAAA56B,KAAA,GACc4B,wEAAclC,GAAa,KAAD,GAA3CuxB,EAAQ2J,EAAA35B,KACd6C,EAASuD,GAAU9I,OAAO+I,GAAUxG,KAAK4E,MAAQurB,EAASxrB,KAAK,eAAAm1B,EAAA15B,OAAA,SAI9D4C,GAAQ,QAAA82B,EAAA76B,KAAA,GAAA66B,EAAA9W,GAAA8W,EAAA,SAEft4B,QAAQC,MAAM,aAAYq4B,EAAA9W,IAAS,yBAAA8W,EAAAz5B,OAAA,GAAA2B,EAAA,mBAEtC,gBApE0B+3B,EAAAK,EAAAC,GAAA,OAAAlT,EAAA5mB,MAAA,KAAAC,UAAA,KAuErB+nC,gCAA+B,eAAA/O,EAAAh7B,0JAAAC,+IAAAC,MAAG,SAAA+6B,EACtC3I,EACAjZ,EACAjM,EACAQ,EACAJ,GAAY,IAAAw8B,EAAAC,EAAAC,EAAAh9B,EAAAi9B,EAAAlhC,EAAAxF,EAAA2B,EAAAglC,EAAAxW,EAAApuB,EAAA6kC,EAAAlkC,EAAAsF,EAAA6+B,EAAAC,EAAAC,EAAAC,EAAAhW,EAAAqF,EAAA4Q,EAAAlmC,EAAA+5B,EAAAoM,EAAAvW,EAAAwW,EAAAtW,EAAAyJ,EAAA8M,EAAAjN,EAAAE,EAAAgN,EAAAC,EAAA,OAAA9qC,+IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAWc,GATtBupC,EAAqC,CACvCpX,YAAa,GACbrxB,KAAM,IAEF0oC,GAAoC,OAAf7wB,QAAe,IAAfA,OAAe,EAAfA,EAAiBzI,eAA8B,OAAfyI,QAAe,IAAfA,GAA0B,QAAX2wB,EAAf3wB,EAAiB/Z,iBAAS,IAAA0qC,OAAX,EAAfA,EAA4Bp5B,cAAe,GAChG1D,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QAC7CsqC,EAAmB,GACnBj9B,EAAU9N,QAAUia,EAAgBja,OAAUwO,EAAS,CAAAwtB,EAAA16B,KAAA,SAEjB,MAAlCuI,EAAaiE,EAAUjE,YACdpD,OAAS,GAAC,CAAAu1B,EAAA16B,KAAA,SAqBpB,OApBHuI,EAAW/C,SAAQ,SAAC6D,GAClB,IAAK,IAAI0B,EAAI,EAAGA,EAAI+B,EAAQ3H,OAAQ4F,IAElC,IADA,IAAMtF,EAAOqH,EAAQ/B,GACZooB,EAAI,EAAGA,EAAI1tB,EAAKlH,OAAO4G,OAAQguB,IAAK,CAAC,IAADtU,EAAAyrB,EAAAC,EACrC3rB,EAAUnZ,EAAKlH,OAAO40B,GACtBqX,EAAS5rB,EAAQlgB,OAASkgB,EAAQngB,SAASC,MAC3C+rC,GAAc,OAAP7rB,QAAO,IAAPA,GAAiB,QAAVC,EAAPD,EAASngB,gBAAQ,IAAAogB,OAAV,EAAPA,EAAmB3O,eAAsB,OAAP0O,QAAO,IAAPA,GAAiB,QAAV0rB,EAAP1rB,EAASngB,gBAAQ,IAAA6rC,GAAW,QAAXC,EAAjBD,EAAmB1rC,iBAAS,IAAA2rC,OAArB,EAAPA,EAA8Br6B,cAAe,GACxF7G,EAAE3K,OACA2K,EAAE3K,QAAU8rC,GACVhB,IAAuBiB,GACzBhB,EAAYzjC,KAAK,CACf2Y,IAAK6rB,EACLlzB,MAAOsH,EAAQ9d,KAAK4E,MACpB0vB,QAASxD,EAAMwD,SAKzB,CAEJ,IAAGsF,EAAA16B,KAAA,GACwC4C,sBACzC6mC,GACA,KAAD,GAFDF,EAA8BzoC,KAAI45B,EAAAz5B,KAAAy5B,EAAA16B,KAAA,iBAQjC,OAJK+C,EAAW,CACf4b,IAAKhG,EAAgBja,MACrB4Y,MAAO5K,EACP0oB,QAASxD,EAAMwD,SAChBsF,EAAA16B,KAAA,GAC0CoyB,wBACzCrvB,GACA,KAAD,GAFDwmC,EAA8BzoC,KAAI45B,EAAAz5B,KAAA,aAMhCsoC,EAA8BzoC,KAAKqE,OAAS,GAAC,CAAAu1B,EAAA16B,KAAA,SAE/C,IAAS0E,EAAI,EAAGA,GAA0B,QAAzBglC,EAAGl9B,EAAU0oB,oBAAY,IAAAwU,OAAA,EAAtBA,EAAwBvkC,QAAQT,IAElD,IADMwuB,EAAuB,OAAT1mB,QAAS,IAATA,OAAS,EAATA,EAAW0oB,aAAaxwB,GACnCI,EAAI,EAAGA,GAAgB,OAAZy8B,mBAAY,IAAZA,cAAmB,QAAPoI,EAAZpI,aAAcjjC,aAAK,IAAAqrC,OAAP,EAAZA,EAAqBxkC,QAAQL,IAE/C,IADMW,EAAmB,OAAZ87B,mBAAY,IAAZA,kBAAY,EAAZA,aAAcjjC,MAAMwG,GACxBiG,EAAI,EAAGA,GAAe,QAAd6+B,EAAGnkC,EAAKlH,cAAM,IAAAqrC,OAAA,EAAXA,EAAazkC,QAAQ4F,IACjCxM,EAAa,OAAJkH,QAAI,IAAJA,OAAI,EAAJA,EAAMlH,OAAOwM,GAES,MAAnCtK,KAAKC,UAAUnC,EAAOE,WACrB,CAAC,IAAK,MAAMkH,SAASpH,EAAOE,SAASE,OACtCJ,EAAOE,SAASC,QAAUw0B,EAAYx0B,OACtC8qC,MACkB,QAAfK,EAAAtrC,EAAOE,gBAAQ,IAAAorC,OAAA,EAAfA,EAAiB35B,eACD,QADY45B,EAC3BvrC,EAAOE,gBAAQ,IAAAqrC,GAAW,QAAXC,EAAfD,EAAiBlrC,iBAAS,IAAAmrC,OAAX,EAAfA,EAA4B75B,cAC5B,KAGJq5B,EAA8BpX,YAAYnsB,KAAK,CAC7C+P,IAAKjR,EACLpH,IAAKqN,EACLmoB,gBAKT,OAAAwH,EAAAx5B,OAAA,SAEM,CAAEqoC,gCAA+Br8B,cAAW,QAAAwtB,EAAA16B,KAAA,qBAE5CkN,EAAU,CAADwtB,EAAA16B,KAAA,YACd0M,EAAaiK,YAAcnK,EAAU9N,MAAK,CAAAg8B,EAAA16B,KAAA,SAsBzC,MArBc,CACf2e,IAAKjS,EAAaiK,UAClBW,MAAO5K,EAAag+B,OAAOh+B,EAAaiK,WACxCye,QAASxD,EAAMwD,SAGXgE,EAAmB,GACnB7wB,EAAaiE,EAAUjE,WACvBzE,EAAW6U,EAAgB/Z,UAAUuO,OAE3C5E,EAAW/C,SAAQ,SAAC6D,GAClB,IAAK,IAAI0B,EAAI,EAAGA,EAAIjH,EAASqB,OAAQ4F,IAAK,CACxC,IAAMtF,EAAO3B,EAASiH,GAClB1B,EAAE3K,QAAU+G,EAAK/G,OACnB06B,EAAUpzB,KAAK,CACb2Y,IAAKlZ,EAAK/G,MACV4Y,MAAO5K,EAAarD,EAAE3K,OACtB02B,QAASxD,EAAMwD,SAGrB,CACF,IAAGsF,EAAA16B,KAAA,GAEwC4C,sBACzCw2B,GACA,KAAD,GAFiC,GAAlCmQ,EAA8BzoC,KAAI45B,EAAAz5B,OAI9BsoC,EAA8BzoC,KAAKqE,OAAS,GAAC,CAAAu1B,EAAA16B,KAAA,SAC/C,IAAS0E,EAAI,EAAGA,EAAI8H,EAAU0oB,aAAa/vB,OAAQT,IAEjD,IADMwuB,EAAc1mB,EAAU0oB,aAAaxwB,GAClCI,EAAI,EAAGA,EAAI6T,EAAgB/Z,UAAUuO,OAAOhI,OAAQL,IAE3D,IADMW,EAAOkT,EAAgB/Z,UAAUuO,OAAOrI,GAExCiG,EAAI,EACRA,EAAIw+B,EAA8BzoC,KAAKqE,OACvC4F,IAGA,IADMsyB,EAASkM,EAA8BzoC,KAAKiK,GAClDo/B,EAAA,EAAAjN,EAAuCjyB,OAAOkyB,QAAQE,GAAO8M,EAAAjN,EAAA/3B,OAAAglC,IAAE/M,EAAA5pB,uJAAA0pB,EAAAiN,GAAA,GAAnDC,EAAShN,EAAA,GAAEiN,EAAWjN,EAAA,GAE9BgN,IAAclX,EAAYxtB,OAC1BwtB,EAAYx0B,QAAU+G,EAAK/G,OAE3B6qC,EAA8BpX,YAAYnsB,KAAK,CAC7C+P,IAAKrJ,EAAavB,IAClBzN,IAAKoH,EACLulC,gBAMX,OAAA3P,EAAAx5B,OAAA,SACM,CAAEqoC,gCAA+Br8B,cAAW,eAAAwtB,EAAAx5B,OAAA,UAIlD,GAAK,yBAAAw5B,EAAAv5B,OAAA,GAAAo5B,EAAA,KACb,gBAnJoCkB,EAAAW,EAAAC,EAAAC,EAAAC,GAAA,OAAAjC,EAAAj5B,MAAA,KAAAC,UAAA,KAqJ/BqpC,mBAAkB,eAAA7P,EAAAx7B,0JAAAC,+IAAAC,MAAG,SAAAu7B,EACzBnJ,EACAjZ,EACAjM,EACAQ,GAAkB,IAAAq8B,EAAA/8B,EAAAzJ,EAAAmwB,EAAAxuB,EAAAW,EAAAP,EAAA8lC,EAAA,OAAArrC,+IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAiBjB,OAfGupC,EAAqC,CACvCpX,YAAa,GACbrxB,KAAM,GACN+pC,WAAY,CAAE90B,KAAM,EAAGrY,KAAM,IAEzB8O,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QAG3C4D,EAAW,CACf4b,IAAKhG,EAAgBja,MACrB4Y,MAAO5K,EACP0oB,QAASxD,EAAMwD,SAChBmG,EAAAv7B,KAAA,EAC0CoyB,wBACzCrvB,GACA,KAAD,EAFiC,GAAlCwmC,EAA8BzoC,KAAIy6B,EAAAt6B,OAI9BsoC,EAA8BzoC,KAAKqE,OAAS,GAAC,CAAAo2B,EAAAv7B,KAAA,SAEzCkzB,EAAc1mB,EAAU+oB,mBAAmB72B,MACxCgG,EAAI,EAAE,KAAD,OAAEA,EAAI8H,EAAU6oB,aAAalwB,QAAM,CAAAo2B,EAAAv7B,KAAA,YAC3CwM,EAAU6oB,aAAa3wB,GAAGhG,QAAUia,EAAgBja,MAAK,CAAA68B,EAAAv7B,KAAA,SAAAqF,EAAA9F,+IAAAC,MAAA,SAAA6F,EAAAP,GAAA,IAAAW,EAAA61B,EAAAvwB,EAAA+/B,EAAA,OAAAvrC,+IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OAEnDyF,EAAmB,OAAZ87B,mBAAY,IAAZA,kBAAY,EAAZA,aAAcjjC,MAAMwG,GAAEw2B,EAAA/7B,+IAAAC,MAAA,SAAA87B,EAAAvwB,GAAA,IAAAxM,EAAC,OAADgB,+IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAGJ,QADvBzB,EAAa,OAAJkH,QAAI,IAAJA,OAAI,EAAJA,EAAMlH,OAAOwM,IACjBtM,SAASE,MAClBJ,EAAOE,SAASG,UAAUuO,OAAO3H,SAC/B,SAAC9H,EAAUc,GACLd,EAAIgB,QAAUw0B,GAChBqW,EAA8BpX,YAAYnsB,KAAK,CAC7C+P,IAAKjR,EACLpH,IAAKqN,EACLmoB,cACA8I,SAAUx9B,GAGhB,IAEH,wBAAAw8B,EAAA75B,OAAA,GAAAm6B,EAAA,IAfMvwB,EAAI,EAAE,KAAD,OAAEA,GAAe,QAAd+/B,EAAGrlC,EAAKlH,cAAM,IAAAusC,OAAA,EAAXA,EAAa3lC,SAAM,CAAAq2B,EAAAx7B,KAAA,eAAAw7B,EAAA31B,cAAAy1B,EAAAvwB,GAAA,eAAEA,IAAGywB,EAAAx7B,KAAA,gCAAAw7B,EAAAr6B,OAAA,GAAAkE,EAAA,IAFrCP,EAAI,EAAE,KAAD,QAAEA,GAAgB,OAAZy8B,mBAAY,IAAZA,cAAmB,QAAPqJ,EAAZrJ,aAAcjjC,aAAK,IAAAssC,OAAP,EAAZA,EAAqBzlC,SAAM,CAAAo2B,EAAAv7B,KAAA,gBAAAu7B,EAAA11B,cAAAR,EAAAP,GAAA,iBAAEA,IAAGy2B,EAAAv7B,KAAA,iBAFL0E,IAAG62B,EAAAv7B,KAAA,uBAAAu7B,EAAAr6B,OAAA,SAyB/C,CAAEqoC,gCAA+Br8B,cAAW,eAAAquB,EAAAr6B,OAAA,UAG9C,GAAK,yBAAAq6B,EAAAp6B,OAAA,GAAA45B,EAAA,KACb,gBA1DuByB,EAAAC,EAAAC,EAAAgC,GAAA,OAAA5D,EAAAz5B,MAAA,KAAAC,UAAA,KA6DlBypC,0BAAyB,eAAA3P,EAAA97B,0JAAAC,+IAAAC,MAAG,SAAA67B,EAChCzJ,EACAjZ,EACAjM,EACAI,GAAY,IAAAN,EAAAw+B,EAAA,OAAAzrC,+IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAYV,GAVIwM,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,WAE3C6rC,EAAkBC,wBACtBz+B,EACAM,EACA6L,EACAjM,IAGkBvH,OAAS,GAAC,CAAA+2B,EAAAl8B,KAAA,eAAAk8B,EAAAh7B,OAAA,SACrBT,KAAKC,UAAU,CACpB00B,QAASxD,EAAMwD,QACf7sB,WAAYyiC,KACZ,cAAA9O,EAAAh7B,OAAA,UAEG,GAAK,wBAAAg7B,EAAA/6B,OAAA,GAAAk6B,EAAA,KACb,gBAzB8BkF,EAAArB,EAAAC,EAAA+L,GAAA,OAAA9P,EAAA/5B,MAAA,KAAAC,UAAA,KA0BzB6pC,oCAAmC,eAAAxP,EAAAr8B,0JAAAC,+IAAAC,MAAG,SAAAo8B,EAC1ChK,EACAjZ,EACAjM,EACAI,EACAI,GAAkB,IAAAV,EAAA4+B,EAAAroC,EAAA0b,EAAAosB,EAAAQ,EAAAC,EAAA,OAAA/rC,+IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,OAcI,GAZhBwM,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,QAAOisC,EACfG,eACvC5yB,EACAjM,EACAI,EACAN,EACAolB,EAAMwD,QACNloB,GANMnK,EAAQqoC,EAARroC,SAAU0b,EAAM2sB,EAAN3sB,OAAQosB,EAAUO,EAAVP,WAQ1BvoC,QAAQe,IAAIN,IAERA,EAAS,CAADs9B,EAAArgC,KAAA,cAEN+C,EAASoC,OAAS,GAAC,CAAAk7B,EAAArgC,KAAA,aACjByhC,WAAW4C,UAAWmH,uBAAuBzoC,GAAS,CAAAs9B,EAAArgC,KAAA,gBAAAqgC,EAAArgC,KAAA,EAC7B4C,sBAAsBG,GAAU,KAAD,EAAxC,KAAZsoC,EAAYhL,EAAAp/B,QAEHwd,EAAM,CAAA4hB,EAAArgC,KAAA,SAC8B,OAA7Cc,EAAO6J,mEAAmB,CAAE7J,KAAMuqC,IAAUhL,EAAAn/B,OAAA,SAEzC,CAAEJ,OAAM2d,SAAQosB,eAAY,eAAAxK,EAAAn/B,OAAA,UAKpC,GAAK,yBAAAm/B,EAAAl/B,OAAA,GAAAy6B,EAAA,KACb,gBApCwC6P,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAlQ,EAAAt6B,MAAA,KAAAC,UAAA,KAsCnCkqC,uBAAyB,SAACzoC,GAC9B,IAAI+oC,GAAQ,EASZ,OARA/oC,EAASyC,SAAQ,SAAC1E,GAChBmK,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GACK,UAAtBA,EAAItD,gBACNikC,GAAQ,EAEZ,GACF,IAEOA,CACT,EAEMC,eAAiB,SAACjrC,GAGtB,IAFA,IAAIgrC,GAAQ,EAEHpnC,EAAI,EAAGA,EAAI5D,EAAKqE,OAAQT,IAC/B,GAAqB,KAAjB5D,EAAK4D,GAAGe,KAEV,OADAqmC,GAAQ,EAIZ,OAAoB,IAAhBhrC,EAAKqE,QAAiC,wBAAjBrE,EAAK,GAAG2E,KAC/BqmC,GAAQ,EAGHA,CACT,EAEMzE,eAAc,eAAA2E,EAAA1sC,0JAAAC,+IAAAC,MAAG,SAAA2gC,EACrBvO,EACAjZ,EACAjM,EACA5I,EACAoJ,EACA++B,GAAY,IAAAC,EAAAvH,EAAAwH,EAAAC,EAAAC,EAAA3nC,EAAAytB,EAAAma,EAAAC,EAAAC,EAAA1nC,EAAA2nC,EAAAC,EAAAnP,EAAAC,EAAAmP,EAAAlP,EAAAC,EAAAkP,EAAA9O,EAAAC,EAAA5yB,EAAA0hC,EAAAzY,EAAA0Y,EAAAC,EAAAC,EAAAC,EAAAzgC,EAAA0gC,EAAA,OAAA3tC,+IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,OAkBT,GAZsC,CACvCmyB,YAAa,GACbrxB,KAAM,IACPowB,EAAAnxB,KAAA,GAEOmsC,EAAgBpoC,EAClBrD,KAAKC,UAAUoD,GACfrD,KAAKC,UAAU6gC,aAAajjC,UAI9BqmC,EAAalkC,KAAKwM,MAAMi/B,KAEtBta,EAAM,CAADV,EAAAlxB,KAAA,SAEmB,GAA1BoiC,qBAAoB,GAChBxQ,EAAMqD,YAAcsO,sDAAUoE,kBAAiB,CAAAzW,EAAAlxB,KAAA,gBAAAkxB,EAAAlxB,KAAA,EACtBqpC,gCACzBzX,EACAjZ,EACAjM,EACAQ,EACAy3B,GACA,KAAD,EANiB,KAAZwH,EAAYjb,EAAAjwB,MAQD,CAADiwB,EAAAlxB,KAAA,YAEe,OAAzB2Y,EAAgBha,OAAiBuO,EAAS,CAAAgkB,EAAAlxB,KAAA,SAO5C,IALMosC,EAAKvI,eAAelrB,EAAiBjM,GAC3CpK,QAAQe,IAAI+oC,GAERC,EAAiB,CAAC,EAGhB3nC,EAAI,EACRA,EACAynC,EAAa5C,8BAA8BpX,YAAYhtB,OACvDT,IAGMytB,EACJga,EAAa5C,8BAA8BpX,YAAYztB,GACzDigC,EAAWj4B,EAAaygC,aAAa5uC,OACnCmO,EAAa0gC,aACbtsC,KAAKiV,IAAIoc,EAAYpc,KAAOq2B,EAE9BzH,EAAWj4B,EAAaygC,aAAa5uC,OACnCmO,EAAa0gC,aACbtsC,KAAKiV,IAAIoc,EAAYpc,KAAKoc,EAAYz0B,KAAKgI,MAC3CysB,EAAYkY,YAGdgC,EAAY52B,6DACVkD,EAAgB/Z,UAAUuO,OAC1Bw3B,EAAWj4B,EAAaygC,aAAa5uC,OACnCmO,EAAa0gC,aACbtsC,KAAKiV,IAAIoc,EAAYpc,MAMJ,OAFjBu2B,EAAiB78B,8SAAA,GAClB48B,GAAS,IACZlhC,IAAKuB,EAAavB,MAAG+lB,EAAAhwB,OAAA,SAGhB,CAAEvC,KAAM,QAAS+G,MAAO4mC,IAAmB,QAElD,IACM5nC,EAAI,EACRA,EACAynC,EAAa5C,8BAA8BpX,YAAYhtB,OACvDT,IAKA,IAHMytB,EACJga,EAAa5C,8BAA8BpX,YAAYztB,GAGnDI,EAAI,EACRA,EAAIqnC,EAAa5C,8BAA8BzoC,KAAKqE,OACpDL,IAEM2nC,EACJN,EAAa5C,8BAA8BzoC,KAAKgE,GAElD6/B,EAAWxS,EAAYpc,KAAKxX,OAC1B4zB,EAAYz0B,KACZoD,KAAK4E,MAAQ+mC,EAAWta,EAAYe,YAAYxtB,OAErD,OAAAwrB,EAAAhwB,OAAA,SACM,CAAEvC,KAAM,UAAW+G,MAAOi/B,IAAY,QAAAzT,EAAAlxB,KAAA,oBAGxC4xB,EAAMqD,YAAcsO,sDAAUuE,UAAS,CAAA5W,EAAAlxB,KAAA,gBAAAkxB,EAAAlxB,KAAA,GACrBshC,wBACzB1P,EACAjZ,EACAjM,EACAi4B,GACA,KAAD,GALiB,KAAZwH,EAAYjb,EAAAjwB,MAOD,CAADiwB,EAAAlxB,KAAA,SAYS,GAVjBu9B,EAAkB4O,EAAarrC,KAAKiF,KAAI,SAC5CL,GAGA,IADA,IAAI8C,EAAW,CAAC,EACP9D,EAAI,EAAGA,EAAIynC,EAAa1tB,OAAOtZ,OAAQT,IAAK,CACnD,IAAMqI,EAAQo/B,EAAa1tB,OAAO/Z,GAClC8D,EAAIuE,EAAgB,UAAKrH,EAAMqH,EAAiB,UAClD,CACA,OAAOvE,CACT,IACIg1B,EAAgB,IAEhBD,EAAgB,CAADrM,EAAAlxB,KAAA,SACjB,IAAS0E,EAAI,EAAGA,EAAI64B,EAAgBp4B,OAAQT,IAAK,CAW/C,IAVM+4B,EAAWF,EAAgB74B,GAG7Bg5B,EAAU,IAAIC,MACJ,OAAZ4D,mBAAY,IAAZA,kBAAY,EAAZA,aAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5By4B,KAAK,CAAEl4B,MAAO,KAGhBknC,EAAA,EAAA9O,EAA2B7yB,OAAOkyB,QAAQM,GAASmP,EAAA9O,EAAA34B,OAAAynC,IAEjD,IAFmD7O,EAAAvqB,uJAAAsqB,EAAA8O,GAAA,GAAzCzhC,EAAG4yB,EAAA,GAAEr4B,EAAKq4B,EAAA,GAGdj5B,EAAI,EACRA,GACY,OAAZy8B,mBAAY,IAAZA,kBAAY,EAAZA,aAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5BL,KAGc,OAAZy8B,mBAAY,IAAZA,kBAAY,EAAZA,aAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOrI,IAGhBpG,QAAUyM,IACtBuyB,EAAQ54B,GAAK,CAAEY,UAKrB83B,EAAOx3B,KAAK03B,EACd,CAGS,OADTiH,EAAWwH,EAAap2B,KAAKxX,OAAO4tC,EAAazuC,KAAKoD,KAAKiV,IACzDynB,EAAOtM,EAAAhwB,OAAA,SACF,CAAEvC,KAAM,UAAW+G,MAAOi/B,IAAY,QAAAzT,EAAAlxB,KAAA,oBAGxC4xB,EAAMqD,YAAcsO,sDAAUkC,gBAAe,CAAAvU,EAAAlxB,KAAA,gBAAAkxB,EAAAlxB,KAAA,GAC3B+qC,0BACzBnZ,EACAjZ,EACAjM,EACAi4B,GACA,KAAD,GALiB,KAAZwH,EAAYjb,EAAAjwB,MAOD,CAADiwB,EAAAlxB,KAAA,SAOa,OAA3BoiC,qBAAoB,GAAOlR,EAAAhwB,OAAA,SAEpB,CAAEvC,KAAM,cAAe+G,MAAOymC,IAAc,QAAAjb,EAAAlxB,KAAA,oBAE5C4xB,EAAMqD,YAAcsO,sDAAUC,sBAAqB,CAAAtS,EAAAlxB,KAAA,SACzB,OAAnCsC,QAAQe,IAAI,eAAgBuuB,GAAOV,EAAAhwB,OAAA,SAE5B,CACLvC,KAAM,iBACN+G,MAAO,OACR,WACQksB,EAAMqD,YAAcsO,sDAAUqE,kBAAiB,CAAA1W,EAAAlxB,KAAA,gBAAAkxB,EAAAlxB,KAAA,GAC7B2qC,mBACzB/Y,EACAjZ,EACAjM,EACAQ,GACA,KAAD,GACD,GANMi/B,EAAYjb,EAAAjwB,KAMA,CAChB,IACMyD,EAAI,EACRA,EAAIynC,EAAa5C,8BAA8BpX,YAAYhtB,OAC3DT,IAEMuoC,EAActiC,mEAClBwhC,EAAa5C,+BAGfzlC,EAASmpC,EAAY9a,YAAYztB,GAAGqR,KAAKxX,OACvC0uC,EAAY9a,YAAYztB,GAAGhH,KAC3Be,SAASG,UAAUuO,OACnB8/B,EAAY9a,YAAYztB,GAAGs3B,UAC3BlvB,QAAQrO,SAASG,UAAUN,MAAQ2uC,EAAYnsC,KAGnDihC,MAAM,CACJzjC,MAAOwF,GAEX,CAACotB,EAAAlxB,KAAA,iBACQ4xB,EAAMqD,YAAcsO,sDAAUwE,aACjCv7B,EAAmC/L,KAAKwM,MAAM2kB,EAAMoD,WAC1DzoB,4DAAwBC,EAAW1I,EAAU,UAC7Ci+B,MAAM,CAAEzjC,MAAOwF,KACN8tB,EAAMqD,YAAcsO,sDAAUyE,kBACjCx7B,EAAgC/L,KAAKwM,MAAM2kB,EAAMoD,WACvD1yB,QAAQe,IAAImJ,GAEZD,4DAAwBC,EAAW1I,EAAU,cAE7Ci+B,MAAM,CAAEzjC,MAAOwF,KAChB,QACDs+B,qBAAoB,GAAO,QAAAlR,EAAAlxB,KAAA,iBAAAkxB,EAAAnxB,KAAA,GAAAmxB,EAAApN,GAAAoN,EAAA,SAG7B5uB,QAAQC,MACN,wBAAuB2uB,EAAApN,GAEvB,WAAa8N,EACb,WACAllB,GACA,eAAAwkB,EAAAhwB,OAAA,SAEG,CAAEvC,KAAM,KAAM+G,MAAO,OAAM,yBAAAwrB,EAAA/vB,OAAA,GAAAg/B,EAAA,mBACnC,gBAvPmBkN,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAA1B,EAAA3qC,MAAA,KAAAC,UAAA,KAyPd8wB,wBAAuB,eAAAub,EAAAruC,0JAAAC,+IAAAC,MAAG,SAAAqxB,EAAO9tB,GAAa,IAAA43B,EAAA,OAAAp7B,+IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,cAAA++B,EAAA/+B,KAAA,EACzBK,MACvB,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CAIT,IAAG,KAAD,EAhBY,OAAV65B,EAAUoE,EAAA99B,KAAA89B,EAAA79B,OAAA,SAiBTy5B,GAAU,wBAAAoE,EAAA59B,OAAA,GAAA0vB,EAAA,KAClB,gBAnB4B+c,GAAA,OAAAD,EAAAtsC,MAAA,KAAAC,UAAA,KAqBvBiqC,eAAiB,SACrB5yB,EACAjM,EACA5I,EACA0I,EACA4oB,EACAloB,GAEA,IAAMtM,EAIF,CACFmC,SAAU,GACV0b,OAAQ,CAAE1I,KAAM,EAAGrY,KAAM,GACzBmtC,WAAY,CAAE90B,KAAM,EAAGrY,KAAM,IAG/B,GAAKwP,EAgCH,IADA,IAAM2gC,EAAgBnhC,EACb5H,EAAI,EAAGA,EAAI0H,EAAU6oB,aAAalwB,OAAQL,IAGjD,IAFA,IAAMsuB,EAAc5mB,EAAU6oB,aAAavwB,GAAGg4B,EAAA,WAG5C,IAAM3vB,EAASwL,EAAgB/Z,UAAUuO,OAAOpC,GAE5CoC,EAAOL,QAAQrO,SAASC,QAAU00B,EAAY10B,QAC7B8N,EAAUjE,WAElB/C,SAAQ,SAAC6D,GAClB,IAAK,IAAI0B,EAAI,EAAGA,EAAIjH,EAASqB,OAAQ4F,IAEnC,IADA,IAAMtF,EAAO3B,EAASiH,GACbooB,EAAI,EAAGA,EAAI1tB,EAAKlH,OAAO4G,OAAQguB,IAAK,CAC3C,IAAMvU,EAAUnZ,EAAKlH,OAAO40B,GACtBqX,EAAS5rB,EAAQlgB,OAASkgB,EAAQngB,SAASC,MAEjD,GAAI2K,EAAE3K,QAAU8rC,EACd5pC,EAASmC,SAASiD,KAAK,CACrB2Y,IAAK6rB,EACLlzB,MAAOsH,EAAQ9d,KAAK4E,MACpB0vB,QAASA,SAEN,GAAIjoB,EAAOL,QAAQrO,SAASC,QAAU2K,EAAE3K,MAAO,CACpD,IAGWovC,EAHLC,EAAOntC,EAASmC,SAASua,MAC7B,SAACjU,GAAC,IAAA2kC,EAAA,OAAK3kC,EAAEsV,OAA+B,QAA5BqvB,EAAK7gC,EAAOL,QAAQrO,gBAAQ,IAAAuvC,OAAA,EAAvBA,EAAyBtvC,MAAK,IAEjD,IAAKqvC,EACHntC,EAASmC,SAASiD,KAAK,CACrB2Y,IAA4B,QAAzBmvB,EAAE3gC,EAAOL,QAAQrO,gBAAQ,IAAAqvC,OAAA,EAAvBA,EAAyBpvC,MAC9B4Y,MACEu2B,EAAcnD,OAAOv9B,EAAOL,QAAQrO,SAASC,OAC/C02B,QAASA,GAGf,CACF,CAEJ,IAEAx0B,EAASiqC,WAAa,CAAE90B,IAAK83B,EAAc1iC,IAAKzN,IAAKqN,IAKrDoC,EAAOL,QAAQrO,SAASC,QAAU8N,EAAU+oB,mBAAmB72B,QAE/DkC,EAAS6d,OAAS,CAChB1I,IAAK83B,EAAc1iC,IACnBzN,IAAKqN,GAGX,EAhDSA,EAAI,EAAGA,EAAI4N,EAAgB/Z,UAAUuO,OAAOhI,OAAQ4F,IAAG+xB,SAlClE,IAAK,IAAIh4B,EAAI,EAAGA,EAAI0H,EAAU6oB,aAAalwB,OAAQL,IAAK,CACtD,IAAMsuB,EAAc5mB,EAAU6oB,aAAavwB,GAAGpG,MAE9C,GAAIia,EAAgBja,QAAU00B,EACT5mB,EAAUjE,WAClB/C,SAAQ,SAAC6D,GAClB,IAAK,IAAI0B,EAAI,EAAGA,EAAIjH,EAASqB,OAAQ4F,IAEnC,IADA,IAAMtF,EAAO3B,EAASiH,GACbooB,EAAI,EAAGA,EAAI1tB,EAAKlH,OAAO4G,OAAQguB,IAAK,CAC3C,IAAMvU,EAAUnZ,EAAKlH,OAAO40B,GACtBqX,EAAS5rB,EAAQlgB,OAASkgB,EAAQngB,SAASC,MAC7C2K,EAAE3K,QAAU8rC,GACd5pC,EAASmC,SAASiD,KAAK,CACrB2Y,IAAK6rB,EACLlzB,MAAOsH,EAAQ9d,KAAK4E,MACpB0vB,QAASA,IAGT5oB,EAAU+oB,mBAAmB72B,QAAU8rC,IACzC5pC,EAAS6d,OAAS,CAChB1I,IAAKhL,EACLrN,IAAKy1B,GAGX,CAEJ,GAEJ,CA0DF,OAAOvyB,CACT,EACMgC,sBAAqB,eAAAqrC,EAAA3uC,0JAAAC,+IAAAC,MAAG,SAAAs/B,EAAO/7B,GAAa,IAAAnC,EAAA,OAAArB,+IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,OAC1B,OAAtBsC,QAAQe,IAAIN,GAAU67B,EAAA5+B,KAAA,EAECK,MACrB,kEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,kBAAM,CAAK,IAAE,KAAD,EAdP,OAARH,EAAQg+B,EAAA39B,KAAA29B,EAAA19B,OAAA,SAePN,GAAQ,wBAAAg+B,EAAAz9B,OAAA,GAAA29B,EAAA,KAChB,gBAnB0BoP,GAAA,OAAAD,EAAA5sC,MAAA,KAAAC,UAAA,KAqBrB2pC,wBAA0B,SAC9Bz+B,EACA1I,EACA6U,EACAjM,GAGA,IADA,IAAInE,EAAkE,GAC7D7D,EAAI,EAAGA,EAAI8H,EAAU2hC,WAAWhpC,OAAQT,IAAK,CACpD,IAAMa,EAAYiH,EAAU2hC,WAAWzpC,GASvC,GAPIa,EAAU7G,QAAUia,EAAgBja,OACtC6J,EAAWvC,KAAK,CACdtH,MAAO6G,EAAU7G,MACjBgH,MAAOgH,EAAeA,EAAaqL,iBAAmB,IACtDd,OAAQ1R,EAAU0R,SAGlBnT,EACF,IAAK,IAAIgB,EAAI,EAAGA,EAAIhB,EAASqB,OAAQL,IAGnC,IAFA,IAAMW,EAAO3B,EAASgB,GAEbiG,EAAI,EAAGA,EAAItF,EAAKlH,OAAO4G,OAAQ4F,IAAK,CAC3C,IAAMxM,EAASkH,EAAKlH,OAAOwM,GAGzBxF,EAAU7G,QAAUH,EAAOE,SAASC,OACpCH,EAAOE,SAASC,QAAUia,EAAgBja,QAEb,OAAzBH,EAAOE,SAASE,KAEhBJ,EAAOE,SAASG,UAAUN,MAAM,GAAGmH,OAASlH,EAAOuC,KAAK4E,OAExD6C,EAAWvC,KAAK,CACdtH,MAAO6G,EAAU7G,MACjBgH,MAAOnH,EAAOuC,KAAK4E,MACfnH,EAAOuC,KAAK4E,MAAMqS,iBAClB,IACJd,OAAQ1R,EAAU0R,SAItB1O,EAAWvC,KAAK,CACdtH,MAAO6G,EAAU7G,MACjBgH,MAAOnH,EAAOuC,KAAK4E,MACfnH,EAAOuC,KAAK4E,MAAMqS,iBAClB,IACJd,OAAQ1R,EAAU0R,SAI1B,CAKN,CACA,OAAO1O,CACT,EAEA,OACErL,4DAACkxC,qCAAI,CACHlwC,UAAU,mBACVmwC,IAAI,aACJC,SAAUnM,iBAAiB/kC,SAE3BF,4DAAC+U,qCAAI,CACHxD,KAAK,QACL8/B,SAAU,CAAEC,KAAM,GAClBC,WAAY,CAAED,KAAM,IACpBE,cAAe,CAAEC,UAAU,GAC3BC,SAAUhN,aAAaC,UACvB3jC,UAAU,8BAA6Bd,SAEtC8lC,OAAOn9B,KAAI,SAACjC,EAAeqS,GAE1B,OACEjZ,4DAAC2xC,mDAAG,CAAC3wC,UAFU,2BAEId,SACjBF,4DAAC4xC,0CAAQ,CACPpJ,qBAAsBA,qBACtBtC,WAAYA,WACZ2L,UAAW54B,EACX0rB,SAAUD,aAAaC,UAErBnkB,gCACA3Z,4BACA6K,sBACAD,sBACA7B,gBACA60B,kBACA7yB,gBAAiBia,iBACjBpL,oBACA/E,cAAeuqB,OACfhB,kCACAtzB,gCACA0zB,8BACA+E,0CACA3/B,sBAEFm6B,WAAYA,WACZ9qB,YAAaA,YACb6rB,cAAeA,cACfC,OAAQA,OACRC,YAAaA,eA1BQj/B,EAAS+L,GA8BtC,OAIR,C,+xKC9wDQm/B,QAAYC,qCAAZD,QACAE,KAASC,oCAATD,KAEFE,gBAAkBC,8CAAMp8B,cAAwC,MA+ChEq8B,YAA0C,SAAHjwC,GAAWA,EAALkX,MAAuB,IAAb5Z,EAAKoS,iKAAA1P,EAAA2P,WAChEugC,EAAet9B,qCAAKu9B,UAAbpP,EAAsB5sB,uJAAA+7B,EAAA,GAAlB,GACX,OACEryC,4DAAC+U,qCAAI,CAACmuB,KAAMA,EAAMqP,WAAW,EAAMryC,SACjCF,4DAACkyC,gBAAgBz7B,SAAQ,CAACjO,MAAO06B,EAAKhjC,SACpCF,4DAAA,KAAAuS,uJAAA,GAAQ9S,OAIhB,EAyBM+yC,aAA4C,SAAHluC,GACxCA,EAALuQ,MAoBK,IAnBL6E,EAAQpV,EAARoV,SACAxZ,EAAQoE,EAARpE,SACAuZ,EAASnV,EAATmV,UACAL,EAAM9U,EAAN8U,OACAq5B,EAAUnuC,EAAVmuC,WACAlxC,EAAQ+C,EAAR/C,SACAqQ,EAAetN,EAAfsN,gBACAq+B,EAAW3rC,EAAX2rC,YACAC,EAAW5rC,EAAX4rC,YACAz+B,EAAUnN,EAAVmN,WACAE,EAAerN,EAAfqN,gBACAD,EAAUpN,EAAVoN,WAGA8O,GAFalc,EAAbqhC,cACOrhC,EAAPouC,QACepuC,EAAfkc,iBACAmyB,EAAaruC,EAAbquC,cAEA74B,GADcxV,EAAdsuC,eACWtuC,EAAXwV,aACG+4B,EAAShhC,iKAAAvN,EAAAmQ,YAEZ+C,EAA8BC,sDAAS,GAAMC,EAAApB,uJAAAkB,EAAA,GAAtCs7B,EAAOp7B,EAAA,GAAEq7B,EAAUr7B,EAAA,GACpBtD,EAAWiU,mDAAiB,MAC5B6a,EAAO38B,uDAAW2rC,iBACxBxxB,EAAwCjJ,qDAAiB,GAAEkJ,EAAArK,uJAAAoK,EAAA,GAApDsyB,EAAYryB,EAAA,GAAEsyB,EAAetyB,EAAA,GACpCG,EAAgCrJ,uDAAesJ,EAAAzK,uJAAAwK,EAAA,GAAxCoyB,EAAQnyB,EAAA,GAAEoyB,EAAWpyB,EAAA,GAE5BvU,uDAAU,WACM,IAAD4mC,EAATN,IACM,OAAR1+B,QAAQ,IAARA,GAAiB,QAATg/B,EAARh/B,EAAU+yB,eAAO,IAAAiM,GAAjBA,EAAoBp/B,MAAM,CACxBq/B,OAAQ,QAGd,GAAG,CAACP,IAEJ,IAAMt+B,EAAU,eAAA7P,EAAAvC,0JAAAC,+IAAAC,MAAG,SAAAC,IAAA,OAAAF,+IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACjBiwC,GAAYD,GACZ5P,EAAKoQ,eAAcplC,wJAAC,CAAC,EAAEuL,EAAYL,EAAOK,KAAc,wBAAA7W,EAAAqB,OAAA,GAAA1B,EAAA,KACzD,kBAHe,OAAAoC,EAAAR,MAAA,KAAAC,UAAA,KAKVmvC,EAAI,eAAAvuC,EAAA5C,0JAAAC,+IAAAC,MAAG,SAAAiC,EAAOiE,EAAa/G,GAAU,IAAA+rC,EAAAgG,EAAA,OAAAnxC,+IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAIpBogC,EAAKuQ,iBAAiB,KAAD,EACP,GAD7BjG,EAAMhpC,EAAAT,KACN2vC,EAAwB,KACf,OAATjyC,EAAa,CAAA+C,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EACe8O,EAC5BrQ,EAAQgR,qcAAA,GACH6G,GAAWo0B,GAAM,IAAEyC,cAAaC,cAAaz2B,YAAW+zB,YAC7D,GACA,KAAD,GAJDkG,EAAqBlvC,EAAAT,OAKuC,UAA/B2vC,EAAsBjyC,OACjD+rC,EAASkG,EAAsBlrC,OAChC,QAEHiqC,EAAUlgC,8SAAC,CAAC,EAAI6G,GAAWo0B,GAAUkG,GAErCl/B,IAAahQ,EAAA1B,KAAA,iBAAA0B,EAAA3B,KAAA,GAAA2B,EAAAoiB,GAAApiB,EAAA,SAEbY,QAAQe,IAAI,eAAc3B,EAAAoiB,IAAW,yBAAApiB,EAAAP,OAAA,GAAAM,EAAA,mBAExC,gBAtBSL,EAAAO,GAAA,OAAAO,EAAAb,MAAA,KAAAC,UAAA,KAuBVoI,uDAAU,WACRmnC,EAAcv6B,EAChB,GAAG,CAAC45B,EAAcL,IAElB,IAAMgB,EAAgB,SAACv6B,GAAiB,IAADgG,EAC/Bw0B,EAAiB,OAARryC,QAAQ,IAARA,GAAmB,QAAX6d,EAAR7d,EAAUG,iBAAS,IAAA0d,OAAX,EAARA,EAAqBy0B,kBAAkBzzB,MACpD,SAAC5f,GAAQ,OAAKA,EAAIszC,QAAQ,IAE5B,GAAIF,EAAQ,CACV,IAAMG,EAAWpB,EAAcvyB,MAC7B,SAACjU,GAAC,OAAKA,EAAEynC,EAAOI,eAAiB56B,EAAOw6B,EAAOK,YAAY,IAE7Dd,EAAYS,GACRG,GAAUd,EAAgBc,EAASG,YACzC,CACF,EACIC,EAAYj0C,EAEhB,GAAIwZ,EACF,IAAK,IAAIlS,EAAI,EAAGA,EAAIjG,EAASG,UAAUuO,OAAOhI,OAAQT,IAAK,CACzD,IAAI4sC,EAAO7yC,EAASG,UAAUuO,OAAOzI,GAC/BhG,EAAQ4yC,EAAKxkC,QAAQrO,SAASC,MAChC4yC,EAAKxkC,QAAQrO,SAASC,MACtB4yC,EAAK5yC,MACHC,EAAO2yC,EAAKxkC,QAAQrO,SAASE,KAC/B0O,EAAasB,EAEjB,QACsBlR,IAApB6zC,EAAKjkC,YACsB,mBAApBikC,EAAKjkC,WACZ,CACA,IAAM9H,EAA6B+rC,EAAKjkC,WAExCA,EACEA,IACChC,4DACCiL,EAAO/Q,EAAUwH,MAAMrO,OACvB6G,EAAUgG,SACVhG,EAAUG,MAEhB,MACE2H,EAAaA,IAAeikC,EAAKjkC,WAGnC,GAAI3O,IAAUiY,EACZ,GAAa,OAAThY,EACF0yC,EACEn0C,4DAACkkB,wFAA2B,CACpBvS,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACVa,OAAQ2N,OAAO0K,EAAOnL,KACtB3M,OAAQkG,EACRsS,YAAaA,EACbtF,WAAYA,SAGX,GAAa,OAAT/S,EACT0yC,EACEn0C,4DAAC8hB,+FAA4B,CAEzBnQ,kBACAD,aACA0H,SACAoH,kBAEF/O,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACVa,OAAQ2N,OAAO0K,EAAOnL,KACtB3M,OAAQkG,EACRsS,YAAaA,SAGZ,GAAa,MAATrY,QACJ,GAAa,MAATA,EACT0yC,EACEn0C,4DAAC2d,yFAAyB,CAClBhM,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVrT,OAAQ2N,OAAO0K,EAAOnL,KACtB3M,OAAQkG,EACR2M,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,SAGZ,GAAa,OAATrY,EAEP0yC,EAD8C,OAA5CC,EAAKxkC,QAAQrO,SAASG,UAAUgL,QAEhC1M,4DAAC0jB,6EAA4B,CACrB/R,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,IAKf9Z,4DAACmjB,uEAAsB,CACfxR,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,SAId,GAAa,MAATrY,EAAc,CACvB,IAAI4yC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAE9CwqB,EACEjB,IACsB,IAAtBA,EAASY,UACTZ,EAASe,cAAgBzyC,EACvBxB,4DAAA,KACEu0C,KAAI,GAAAtzC,OAAKqzC,EAAO,oBAAArzC,OAAmB+xC,GACnCtgC,OAAO,SACP8hC,IAAI,aAAYt0C,SAEfkZ,EAAOK,KAGVzZ,4DAACkU,6EAAmB,CACZvC,kBAAiBD,aACvB0C,SAAUA,EACV3C,WAAYtB,EACZgE,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,EACb/Y,OAAQ2N,OAAO0K,EAAOnL,KACtB3M,OAAQkG,EACRgN,WAAYA,GAIpB,MAAO,GAAa,MAAT/S,EACT0yC,EACEn0C,4DAAC+e,6EAAmB,CACZpN,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNjR,MAAO4Q,EAAOK,GACdlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,SAGZ,GAAa,MAATrY,EACT0yC,EACEn0C,4DAAC2b,uFAAwB,CACjBhK,kBAAiBD,aACvBD,WAAYtB,EACZiE,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNlY,SAAU6yC,EAAKxkC,QAAQrO,SACvB8S,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACV4Z,YAAaA,SAGZ,GAAa,OAATrY,EACT0yC,EACEn0C,4DAAC8qB,sFAAwB,CACjBnZ,kBAAiBD,aACvB0C,SAAUA,EACVD,SAAUo/B,EACVhiC,KAAMkI,EACNhI,YAAY,EACZlQ,SAAU6yC,EAAKxkC,QAAQrO,SACvBiH,MAAO4Q,EAAOK,GACdpF,UAAWy+B,EACXx+B,OAAQE,EACRtU,SAAUA,EACVa,OAAQ2N,OAAO0K,EAAOnL,KACtB3M,OAAQkG,EACRsS,YAAaA,SAGZ,GAAa,OAATrY,QACJ,GAAa,OAATA,EACT,OAAOzB,4DAAAC,yDAAA,CAAAC,SAAE,KAKf,CAGF,OACEF,4DAAA,KAAAuS,8SAAA,CACE1R,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfC,eAAgB,eAEd7B,GAAS,IAAA3yC,SAEbF,4DAAA,OAAAE,SAAMi0C,MAGZ,EA+BMQ,eAAuC,SAAvCA,eAAoCpvC,OAwBnC,IAADqvC,sBAAAC,uBAvBJC,SAAQvvC,MAARuvC,SACAjY,MAAKt3B,MAALs3B,MACApqB,SAAQlN,MAARkN,SACApR,OAAMkE,MAANlE,OACA4jC,iBAAgB1/B,MAAhB0/B,iBACArzB,gBAAerM,MAAfqM,gBACAq+B,YAAW1qC,MAAX0qC,YACAC,YAAW3qC,MAAX2qC,YACAz+B,WAAUlM,MAAVkM,WACAE,gBAAepM,MAAfoM,gBACAD,WAAUnM,MAAVmM,WACAmf,aAAYtrB,MAAZsrB,aACA8T,SAAQp/B,MAARo/B,SACA+N,QAAOntC,MAAPmtC,QACAjoC,WAAUlF,MAAVkF,WACA+V,gBAAejb,MAAfib,gBACA4pB,qBAAoB7kC,MAApB6kC,qBACAtwB,YAAWvU,MAAXuU,YACA6rB,cAAapgC,MAAbogC,cACArkC,OAAMiE,MAANjE,OACAP,OAAMwE,MAANxE,OACAL,QAAO6E,MAAP7E,QACGjB,MAAKoS,iKAAAtM,MAAAqW,YAERmG,WACEtK,sDAAkB,GAAMuK,WAAA1L,uJAAAyL,WAAA,GADnBgzB,oBAAmB/yB,WAAA,GAAEgzB,uBAAsBhzB,WAAA,GAElDC,WAA0CxK,sDAAkB,GAAEyK,YAAA5L,uJAAA2L,WAAA,GAAvDgzB,cAAa/yB,YAAA,GAAEgzB,iBAAgBhzB,YAAA,GAEtCwG,YAA8BjR,uDAAekR,YAAArS,uJAAAoS,YAAA,GAAtCqI,SAAOpI,YAAA,GAAEqI,WAAUrI,YAAA,GAC1BC,YAAkCnR,sDAAkB,GAAMoR,YAAAvS,uJAAAsS,YAAA,GAAnDusB,UAAStsB,YAAA,GAAEusB,aAAYvsB,YAAA,GAC9B2I,YACE/Z,sDAAkB,GAAMga,YAAAnb,uJAAAkb,YAAA,GADnB6jB,sBAAqB5jB,YAAA,GAAE6jB,yBAAwB7jB,YAAA,GAEtDG,YAA8Cna,sDAAkB,GAAMoa,YAAAvb,uJAAAsb,YAAA,GAA/D2jB,gBAAe1jB,YAAA,GAAE2jB,mBAAkB3jB,YAAA,GAC1CG,YAA0Cva,qDAAgB,IAAGwa,YAAA3b,uJAAA0b,YAAA,GAAtD2gB,cAAa1gB,YAAA,GAAEwjB,iBAAgBxjB,YAAA,GACtCG,YAA4C3a,qDAAoB,IAAG4a,YAAA/b,uJAAA8b,YAAA,GAA5DwgB,eAAcvgB,YAAA,GAAEqjB,kBAAiBrjB,YAAA,GACxCG,YAAsC/a,sDACX,QAAzBm9B,sBAAAvzC,OAAOE,SAASG,iBAAS,IAAAkzC,uBAAa,QAAbC,uBAAzBD,sBAA2BrT,mBAAW,IAAAsT,4BAAb,EAAzBA,uBAAwC5wB,OAAQ,IACjDwO,YAAAnc,uJAAAkc,YAAA,GAFMmjB,YAAWljB,YAAA,GAAEmjB,eAAcnjB,YAAA,GAGlCG,YAAoCnb,qDAAgB,IAAGob,YAAAvc,uJAAAsc,YAAA,GAAhDijB,WAAUhjB,YAAA,GAAEijB,cAAajjB,YAAA,GAChCG,YAAgCvb,sDAAkB,GAAMwb,YAAA3c,uJAAA0c,YAAA,GAAjD+iB,SAAQ9iB,YAAA,GAAE+iB,YAAW/iB,YAAA,GAC5BzmB,uDAAU,WAC6C,MAAjDnL,OAAOE,SAASG,UAAUu0C,oBAC5BC,sBAEJ,GAAG,IAEH1pC,uDAAU,WACRwkB,WAAWH,aACb,GAAG,CAACA,eAEJ,IAAMslB,aAAe,SAACloC,GACpB,IAAM0K,EAAUkkB,MAAM3kB,QAAO,SAAC3P,GAAS,OAAKA,EAAK0F,MAAQA,CAAG,IACrC,IAAnB0K,EAAQ1Q,QACVmuC,cAGF3jC,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAc19B,OAEjDnF,YAAW,WACT4hC,cAAa,EACf,GAAG,IACL,EAEMkB,KAAOjuB,mDAAc,IAE3B,SAASkuB,cAActoC,GACrB,IAAI0K,EAAe,CACjB1K,IAAKA,GA6BP,OA3Ba5M,OAAOE,SAASG,UAAUuO,OAElCpH,KAAI,SAACrI,EAAUgH,GAClB,IAAI/F,EAAOjB,EAAIoP,QAAQrO,SAASE,KAChC,GAAY,MAARA,EACFkX,EAAQnY,EAAIgB,OAAS,QAChB,GAAY,KAARC,GAAuB,MAARA,GAAwB,KAARA,EACxCkX,EAAQnY,EAAIgB,OAAShB,EAAIoP,QAAQrO,SAASG,UAAUgb,QAChDlc,EAAIoP,QAAQrO,SAASG,UAAUgb,QAC/B,KACA/D,EAAQnY,EAAIgB,SACdmX,EAAQnY,EAAIgB,OAASmX,EAAQnY,EAAIgB,OAAOS,QACtC,YACA,SAACu0C,GACC,IAAIC,EAAMD,EAAEv0C,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IAC1C,OAAO+G,iDAASJ,OAAO6tC,EACzB,UAGC,GAAY,MAARh1C,EAAc,CACvB,IAAIL,EAAQZ,EAAIoP,QAAQrO,SAASG,UAAUN,MAC3CuX,EAAQnY,EAAIgB,OAASJ,EAAM,GAAGmH,IAChC,MACEoQ,EAAQnY,EAAIgB,OAAS,IAEzB,IAEOmX,CACT,CAEA,IAAM+9B,UAAY,WAChB,IAAI/9B,EAAe49B,cAAc1Z,MAAM50B,QAEnC0uC,EAAI,GAAA11C,OAAAyH,2JAAOm0B,OAAK,CAAElkB,IAEtBlG,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcM,MACnD,EAEMC,kBAAoB,SAACC,GACzB,IAAIl+B,EAAek+B,EACf5yB,EAAWvb,2JAAOm0B,OACtBlkB,EAAQ9P,KAAI,SAACsD,GACX8X,EAAKnb,KAAKqD,EACZ,IACA8X,EAAKpb,KAAI,SAACsD,EAAQ8M,GAChB9M,EAAE8B,IAAMgL,CACV,IACA7T,QAAQe,IAAI,MAAO8d,GAEnBxR,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcpyB,MACnD,EAEMoyB,cAAgB,SAACxZ,GAErB,IADA,IAAIia,EAAa,GACRtvC,EAAI,EAAGA,EAAIq1B,EAAM50B,OAAQT,IAAK,CAGrC,IAFA,IAAMuvC,EAAQla,EAAMr1B,GAChBo/B,EAAO,GACFh/B,EAAI,EAAGA,EAAIvG,OAAOE,SAASG,UAAUuO,OAAOhI,OAAQL,IAAK,CAChE,IAAMqI,EAAS5O,OAAOE,SAASG,UAAUuO,OAAOrI,GAChDg/B,EAAK99B,KAAK,CAAEN,MAAOuuC,EAAM9mC,EAAOzO,QAClC,CACAs1C,EAAMhuC,KAAK89B,EACb,CAEA,OAAOkQ,CACT,EAEME,cAAgB,SAAhBA,cAAiBn+B,KACrB,IACE,GAAgC,KAA5BxX,OAAOE,SAASmhC,QAAgB,CAClC,IAAMuU,SAAW51C,OAAOE,SAASmhC,QAAQr5B,MAAM,KACzCmP,UAAUnX,OAAOE,SAASG,UAAUuO,OAE1CgnC,SAASpuC,KAAI,SAAC65B,SAAqB,IAADwU,QAC5BtO,aAAelG,QAAQr5B,MAAM,KAC7Bo5B,MAAgBmG,aAAa,GAC7BuO,cAAgB,EAChBC,cAAgB,EAChBjyC,OAAiB,EACrB,GAAIs9B,MAAMvzB,WAAW,QAAUuzB,MAAMvzB,WAAW,OAAQ,CACtD,IAAMb,SAAWo0B,MAAMvzB,WAAW,OAAS,MAAQ,MAC7C82B,OAASvD,MACZh5B,UAAUg5B,MAAMj5B,QAAQ,KAAO,EAAGi5B,MAAMgH,YAAY,MACpDpgC,MAAM,KAET28B,OAAO19B,SAAQ,SAACuH,GACd2I,UAAQlQ,SAAQ,SAAC9H,EAAUc,GACzB,GAAIuO,IAAUrP,EAAIgB,MAAO,CACPkN,OACdlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAFT,IAAD66B,EAAAC,EAIjB9uC,EAAQkG,OACE,QADI2oC,EAClBx+B,IAAIrY,EAAIgB,cAAM,IAAA61C,GAAY,QAAZC,EAAdD,EAAgBvsC,kBAAU,IAAAwsC,OAAZ,EAAdA,EAA4Bz1C,WAAW,IAAK,KAGzC6M,OAAO2N,MAAM7T,KAEH,IAAXrD,QACc,QAAbkJ,UAAsB7F,EAAQrD,QACjB,QAAbkJ,UAAsB7F,EAAQrD,UAE/BA,OAASqD,EAEf,CACIhI,EAAIgB,QAAUonC,aAAa,KAC7BuO,aAAe71C,EACf81C,cAAgB1oC,OACdlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAGrC,GACF,GACF,MAAO,GAAIimB,MAAMvzB,WAAW,YAAa,CACvC,IAAM82B,QAASvD,MACZh5B,UAAUg5B,MAAMj5B,QAAQ,KAAO,EAAGi5B,MAAMgH,YAAY,MACpDpgC,MAAM,KAELkuC,UAAYvuC,+CAAO6P,IAAImtB,QAAO,KAC9BwR,SAAWxuC,+CAAO6P,IAAImtB,QAAO,KAC7B16B,IAAMisC,UAAU7N,KAAK8N,SAAU,QAC/BlsC,KAAO,IACTA,KAAO,GAGTnG,OAASmG,IACT,IAAMmsC,OAASj/B,UAAQ4H,MACrB,SAAC5f,GAAQ,OAAKA,EAAIgB,QAAUonC,aAAa,EAAE,IAE7CwO,cAAgB1oC,OAAO+oC,OAAO7nC,QAAQrO,SAASG,UAAU8a,QAC3D,MAAO,GAAIimB,MAAMvzB,WAAW,YAAa,CACvC,IAAM82B,SAASvD,MACZh5B,UAAUg5B,MAAMj5B,QAAQ,KAAO,EAAGi5B,MAAMgH,YAAY,MACpDpgC,MAAM,KAELkuC,WAAYvuC,+CAAO6P,IAAImtB,SAAO,IAAK,QACnCwR,UAAWxuC,+CAAO6P,IAAImtB,SAAO,IAAK,QAClC16B,KAAMisC,WAAU7N,KAAK8N,UAAU,WAE7B7N,MAAQC,KAAKC,MAAMv+B,KAAM,IACzBw+B,iBAAmBx+B,KAAM,GAC3B89B,cACF99B,OAAQ,GAAKA,OAAQ,EAAC,OAAArK,OACX2oC,KAAKG,IAAID,oBACL,IAAXH,OAAgBr+B,MAAO,GAAE,IAAArK,OACrB0oC,MAAK,KAAA1oC,OAAI2oC,KAAKG,IAAID,mBACtBx+B,MAAO,GAAE,GAAArK,OACN0oC,MAAK,KAAA1oC,OAAI2oC,KAAKG,IAAID,mBAAiB,GAAA7oC,OACnC0oC,MAAK,KAAA1oC,OAAI6oC,kBAElB3kC,OAASuJ,OAAO06B,eAChB,IAAMqO,QAASj/B,UAAQ4H,MACrB,SAAC5f,GAAQ,OAAKA,EAAIgB,QAAUonC,aAAa,EAAE,IAE7CwO,cAAgB1oC,OAAO+oC,QAAO7nC,QAAQrO,SAASG,UAAU8a,QAC3D,KAAO,CAEL,IAAIk7B,SAAgB9O,aAAa,GAAGjG,MAAM,kBAAoB,GAE9D+U,SAAWA,SAAS7uC,KAAI,SAACsD,GACvB,OAAOX,oEAAmBW,EAC5B,IAEAurC,SAASpvC,SAAQ,SAACuH,GAChB2I,UAAQlQ,SAAQ,SAAC9H,EAAUc,GACzB,GAAIuO,IAAUrP,EAAIgB,MAAO,CAAC,IAADm2C,EAAAC,EACjBp7B,EAAU9N,OACdlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAE3BhU,EAAQkG,OACE,QADIipC,EAClB9+B,IAAIrY,EAAIgB,cAAM,IAAAm2C,GAAY,QAAZC,EAAdD,EAAgB7sC,kBAAU,IAAA8sC,OAAZ,EAAdA,EAA4B/1C,WAAW,IAAK,KAC5C4a,QAAQD,GACVimB,MAAQA,MAAMxgC,QACZzB,EAAIgB,MACM,QAAVgH,EAAkBA,EAAQkG,OAAO,GAAG+N,QAAQD,GAEhD,CACIhc,EAAIgB,QAAUonC,aAAa,KAC7BuO,aAAe71C,EACf81C,cAAgB1oC,OACdlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAGrC,GACF,IAEA,IAAIzU,GAAK06B,MAAM5gC,WAAW,IAAK,IAE/BsD,OAAS29B,KAAK/6B,GAChB,CAEA8Q,IAAI+vB,aAAa,IAAY,QAATsO,QAAG/xC,cAAM,IAAA+xC,aAAA,EAANA,QAAQz6B,QAAQ26B,cACzC,GACF,CACF,CAAE,MAAO/xC,OACPD,QAAQC,MAAM,oBAAqBA,MACrC,CACF,EAEM+wC,YAAc,WAClB,IACE,GAAIvlB,aAAc,CAChB,IAAMgnB,EAAOx2C,OAAOE,SAASG,UAAUuO,OACjC6nC,EAAgBv0C,KAAKC,UAAUqtB,cACjCknB,EAAOx0C,KAAKwM,MAAM+nC,GACtBD,EAAKhvC,KAAI,SAACsD,GACwB,MAA5BA,EAAEyD,QAAQrO,SAASE,OACrBs2C,EAAK5rC,EAAE3K,OAAS,EAEpB,IAEAq7B,MAAMv0B,SAAQ,SAAC6D,GACb0rC,EAAKhvC,KAAI,SAACrI,EAAUw3C,GAQsB,IAADC,EAAAC,EAU/BC,EAAAC,EAjB0B,MAA9B53C,EAAIoP,QAAQrO,SAASE,OAElB0K,EAAE3L,EAAIoP,QAAQrO,SAASC,SAC1BhB,EAAIoP,QAAQrO,SAASC,MAAQhB,EAAIgB,OAG/B2K,EAAE3L,EAAIoP,QAAQrO,SAASC,QACrB2K,EAAE3L,EAAIoP,QAAQrO,SAASC,SACzBhB,EAAIoP,QAAQrO,SAASC,MAAQhB,EAAIgB,MAE9BkN,OAAO2N,MACN3N,OAC+B,QADzBupC,EACJ9rC,EAAE3L,EAAIoP,QAAQrO,SAASC,cAAM,IAAAy2C,GACf,QADeC,EAA7BD,EACIntC,kBAAU,IAAAotC,OADe,EAA7BA,EAEIr2C,WAAW,IAAK,MAUvB6M,OAAO2N,MAAM3N,OAAOvC,EAAE3L,EAAIoP,QAAQrO,SAASC,WAE5Cu2C,EAAKv3C,EAAIoP,QAAQrO,SAASC,QAAUkN,OAClCvC,EAAE3L,EAAIoP,QAAQrO,SAASC,SATzBu2C,EAAKv3C,EAAIoP,QAAQrO,SAASC,QAAUkN,OACL,QADWypC,EACxChsC,EAAE3L,EAAIoP,QAAQrO,SAASC,cAAM,IAAA22C,GACf,QADeC,EAA7BD,EACIrtC,kBAAU,IAAAstC,OADe,EAA7BA,EAEIv2C,WAAW,IAAK,MAYhC,GACF,IACAw2C,uBACAjO,qBAAqB/oC,OAAOE,SAAUw2C,EACxC,CACF,CAAE,MAAO1yC,GACPD,QAAQe,IAAI,oBAAqBd,EACnC,CACF,EAEAmH,uDAAU,kBAAM4pC,aAAa,GAAE,CAACvZ,QAEhC,IAAM4V,WAAa,SAAC55B,EAAU66B,GAC5B,IAAM/6B,EAAOjQ,2JAAOm0B,OACdxjB,EAAQV,EAAQ2/B,WAAU,SAAC/vC,GAAI,OAAKsQ,EAAI5K,MAAQ1F,EAAK0F,GAAG,IAE9D+oC,cAAcn+B,GAEd,IAAMtQ,EAAOoQ,EAAQU,GACrBV,EAAQ4/B,OAAOl/B,EAAO,EAAC9G,8SAAA,GAClBhK,GACAsQ,IAEL,IAAIvN,EAAMjK,OACV,GAAIqyC,GAAwD,YAA/BA,EAAsBjyC,KAAoB,CACrE2D,QAAQe,IAAI,cACZ,IAAK,IAAIqB,EAAI,EAAGA,EAAIksC,EAAsBlrC,MAAMP,OAAQT,IAEtD,IADA,IAAMpG,EAAQsyC,EAAsBlrC,MAAMhB,GACjCI,EAAI,EAAGA,EAAIxG,EAAMC,OAAO4G,OAAQL,IAAK,CAC5C,IAAM8Z,EAAUtgB,EAAMC,OAAOuG,GACzB8Z,EAAQngB,SAASC,QAAUH,OAAOE,SAASC,QAC7C8J,EAAMoW,EAEV,CAEJ,CAOAjP,SAAQF,8SAAC,CAAC,EAAIjH,GAAG,IAAE1H,KAAM,CAAEiV,IAAKw9B,cAAc19B,MAChD,EAEM6/B,WAAoB1D,SAASjsC,KAAI,SAACurC,EAAWn7B,GACjD,OAAA1G,uJAAA,GACK6hC,EAEP,IAEI3iC,YACF+mC,WAAW1vC,KAAK,CACd+L,MACE7U,4DAAA,KACEgB,UAAU,aACV2R,GAAG,SACHiD,QAAS,WACP+vB,cAAc,IACd,IACuD,MAAjDtkC,OAAOE,SAASG,UAAUu0C,mBAC5BX,0BAAyB,GAEzBoB,WAEJ,CAAE,MAAOrxC,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,IAGJrE,UAAW,gBACXiN,IAAK,YACLiL,MAAO,SACPu/B,MAAO,QACP9iC,MAAO,GACPzD,OAAQ,SAACiH,EAAQC,GAAuB,OACtCpZ,4DAAA,OAAAE,SAAMw4C,mBAAmBt/B,EAAOnL,MAAW,EAE7C0qC,OAAQ,SAACv/B,EAAajP,GACpB,MAAO,CACLyL,QAAS,SAACzJ,GAAY,IAADysC,EACf,OAAJtC,WAAI,IAAJA,MAA0B,QAAtBsC,EAAJtC,KAAMnP,QAAc,OAAN/tB,QAAM,IAANA,OAAM,EAANA,EAAQnL,YAAI,IAAA2qC,GAA1BA,EAA4BC,OAAO1sC,EACrC,EAEJ,IAIJ,IAAM2sC,SAAW,SAAC7qC,GAChB,IACE,IAAIgW,EAAc4Y,MACdlkB,EAAe49B,cAActoC,GACjCgW,EAAKs0B,OAAOtqC,EAAK,EAAG0K,GACpBsL,EAAKpb,KAAI,SAACgQ,EAAUI,GAAW,OAAMJ,EAAI5K,IAAMgL,CAAG,IAClDxG,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcpyB,OAEjDzQ,YAAW,WACT4hC,cAAa,EACf,GAAG,IACL,CAAE,MAAO/vC,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,EAEM0zC,UAAY,SAAC9qC,GACjB,IACE,IAAIgW,EAAc4Y,MACdlkB,EAAe49B,cAActoC,GACjC5M,OAAOE,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC8rC,GACxCz7B,EAAQy7B,EAAK5yC,OAASyiB,EAAKhW,GAAKmmC,EAAK5yC,MACvC,IACAyiB,EAAKs0B,OAAOtqC,EAAK,EAAG0K,GACpBsL,EAAKpb,KAAI,SAACgQ,EAAUI,GAAW,OAAMJ,EAAI5K,IAAMgL,CAAG,IAClD7T,QAAQe,IAAI,cAAekwC,cAAcpyB,IAEzCxR,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcpyB,MACnD,CAAE,MAAO5e,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACAmO,YAAW,WACT4hC,cAAa,EACf,GAAG,IACL,EAEM4D,OAAS,SAAC/qC,GACd,IACE,IAAuB,IAAnBgnC,cAAsB,CACxB,IAAIltC,EAAKxE,KAAKC,UAAUq5B,OACpB5Y,EAAc1gB,KAAKwM,MAAMhI,GACzBkxC,EAAYh1B,EAAKs0B,OAAOtD,cAAe,GAAG,GAC9ChxB,EAAKs0B,OAAOtqC,EAAK,EAAGgrC,GACpB/D,kBAAkB,GAClBjxB,EAAKpb,KAAI,SAACgQ,EAAUI,GAAW,OAAMJ,EAAI5K,IAAMgL,CAAG,IAElDxG,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcpyB,OAEjDzQ,YAAW,WACT4hC,cAAa,EACf,GAAG,IACL,CACF,CAAE,MAAO/vC,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,EAEMqzC,mBAAqB,SAACzqC,GAC1B,IAAM7M,EAAQ,CACZ,CACEI,MAAO,kBACPoV,KAAM,mBACNxV,MAAO,CACL,CACEI,MAAO,wBACPoV,KAAM,mBACNsiC,QAAS,WACP9D,cAAa,GACb0D,SAAS7qC,EACX,GAEF,CACEzM,MAAO,wBACPoV,KAAM,mBACNsiC,QAAS,WACP9D,cAAa,GACb0D,SAAS7qC,EAAM,EACjB,KAIN,CACEzM,MAAO,UACPoV,KAAM,uBACNsiC,QAAS,WACPhE,iBAAiBjnC,GACjB+mC,wBAAuB,EACzB,GAEF,CACExzC,MAAO,YACPoV,KAAM,mBACNsiC,QAAS,WACP9D,cAAa,GACb2D,UAAU9qC,EACZ,GAEF,CACEzM,MAAO,SACPoV,KAAM,oBACNsiC,QAAS,WACP9D,cAAa,GACbe,aAAaloC,EACf,IAGJ,OACE7N,6DAAC+xC,8CAAMgH,SAAQ,CAAAj5C,SAAA,CACbF,4DAACo5C,sDAAU,CACT3oB,MAAOrvB,EACPi4C,OAAK,EACLjkC,IAAK,SAACkkC,GACJhD,KAAKnP,QAAQl5B,GAAOqrC,CACtB,IAEFt5C,4DAAA,KAAGgB,UAAU,gBAAed,SAC1BF,4DAACu5C,gDAAkB,CAACv4C,UAAU,mBAItC,EAEMwX,QAAUggC,WAAW3vC,KAAI,SAACrI,GAC9B,OAAKA,EAAIkZ,SAITnH,8SAAA,GACK/R,GAAG,IACNm4C,OAAQ,SAACv/B,GAAW,MAAM,CACxBA,SACAM,SAAUlZ,EAAIkZ,SACdD,UAAWjZ,EAAIiZ,UACf5E,MAAOrU,EAAIqU,MACX49B,sBACAlxC,SAAUF,OAAOE,SACjBqQ,gCACAq+B,wBACAC,wBACAz+B,sBACAE,gCACAD,sBACA8O,gCACD,IAnBMhgB,CAqBX,IAEA,SAASg5C,oBACP,IAAK,IAADC,EAAAC,EACEC,EAAmC,QAA5BF,EAAGp4C,OAAOE,SAASG,iBAAS,IAAA+3C,GAAa,QAAbC,EAAzBD,EAA2BlY,mBAAW,IAAAmY,OAAb,EAAzBA,EAAwCz1B,KACtC5iB,OAAOE,SAASG,UAAUuO,OACtC0pC,IACFv0C,QAAQe,IAAIwzC,GAwDZ/D,eAAcltC,2JAAKixC,IA0DvB,CAAE,MAAOt0C,GACPD,QAAQC,MAAMA,EAChB,CACF,CAEA,IAAMgzC,qBAAuB,SAAvBA,qBAAwBuB,WAC5B,IACE,IAAMphC,UAAUnX,OAAOE,SAASG,UAAUuO,OACtCuM,QAAkB,EAEtBo5B,eAAcltC,2JACTitC,YAAY9sC,KAAI,SAAC0e,QAClB,IAAIkb,MAAc,OAANlb,aAAM,IAANA,YAAM,EAANA,OAAQmb,QAEdgV,SAAWjV,MAAME,MAAM,kBAAoB,GAE7CiX,WAAaA,UAAUp4C,QAAU+lB,OAAO/lB,QAC1C+lB,OAAO/e,MAAiB,OAAToxC,gBAAS,IAATA,eAAS,EAATA,UAAWpxC,OAE5BgQ,UAAQlQ,SAAQ,SAAC9H,EAAUc,GACzB,GAAIo2C,SAASjvC,SAASjI,EAAIgB,OACxBgb,QAAU9N,OAAOlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAEhDimB,MAAQA,MAAMxgC,QACZzB,EAAIgB,MACoC,QAAxCuvB,SAAQvwB,EAAIgB,OAAOib,QAAQD,SACvBuU,SAAQvwB,EAAIgB,OAAOib,QAAQD,SAC3B9N,OAAO,GAAG+N,QAAQD,eAEnB,GAAIk7B,SAASjvC,SAAS,SAAU,CAAC,IAADoxC,EACrCr9B,QAAU9N,OAAOlO,EAAIoP,QAAQrO,SAASG,UAAU8a,SAEhDimB,MAAQA,MAAM5gC,WACZ,QACM,OAAN0lB,aAAM,IAANA,QAAa,QAAPsyB,EAANtyB,OAAQ/e,aAAK,IAAAqxC,OAAP,EAANA,EAAep9B,QAAQD,SAE3B,CACF,IACA,IAAMyE,SACJwhB,MAAME,MAAM,uCAAyC,GAavD,GAXI1hB,SAAShZ,OAAS,GACpB0tC,YAAY9sC,KAAI,SAACsD,IACiB,IAA5Bs2B,MAAMj5B,QAAQ2C,EAAE3K,SAClBihC,MAAQA,MAAMxgC,QACZkK,EAAE3K,MACFkN,OAAQ,OAADvC,QAAC,IAADA,OAAC,EAADA,EAAGhH,OAAOtD,WAAW,IAAK,MAGvC,IAGQ,OAAN0lB,aAAM,IAANA,eAAQmb,QAAQj6B,SAAS,SAAU,CAAC,IAADqxC,MAC/BtxC,QAAmB,QAAdsxC,MAAGhX,KAAKL,cAAM,IAAAqX,WAAA,EAAXA,MAAaj/B,oBAAeta,EAAW,CACnDqc,sBAAuB,IAGzB2K,OAAOpiB,OAASqD,OAClB,KAAO,CAAC,IAADuxC,OACCvxC,QAAmB,QAAduxC,OAAGjX,KAAKL,cAAM,IAAAsX,YAAA,EAAXA,OAAal/B,oBAAeta,EAAW,CACnDqc,sBAAuB,IAEzB2K,OAAOpiB,OAASqD,OAClB,CAEA,OAAO+e,MACT,KAEJ,CAAE,MAAOliB,OACPD,QAAQC,MAAMA,MAChB,CACF,EAEA,SAAS20C,QAAQluC,GACf,IACE,IAAImuC,QAAUnuC,EAAEzC,MAAM,KAClBiyB,MAAQ,EACRn2B,OACF80C,QAAQ,GAAGtX,MACT,kGACG,GAEP,GAAIx9B,OAAO8C,OAAS,EAClBqzB,MAAQwH,KAAK39B,OAAOwE,KAAK,WAOzB,GALAxE,OACE80C,QAAQ,GAAGtX,MACT,4GACG,GAEHx9B,OAAO8C,OAAS,EAAG,CAGrB,IAFA,IAAIiyC,WAAa,GAER1yC,EAAI,EAAGA,EAAIrC,OAAO8C,OAAQT,IACjC0yC,YAA0B/0C,OAAOqC,GAGnC8zB,MAAQwH,KAAKoX,WACf,CAEF,OAAO5e,KACT,CAAE,MAAOj2B,OACPD,QAAQe,IAAI,iBAAkBd,MAChC,CACF,CAAC,SAEc6wC,uBAAoB,OAAAiE,sBAAAh2C,MAAC,KAADC,UAAA,UAAA+1C,wBA2KlC,OA3KkCA,sBAAA/3C,0JAAAC,+IAAAC,MAAnC,SAAAsD,IAAA,IAAAw0C,EAAA3a,EAAA4a,EAAAC,EAAApuB,EAAAquB,EAAAC,EAAAC,EAAA,OAAAp4C,+IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAC0C,GAApCs3C,EAAU/4C,OAAOE,SAASG,UAED,IAAzBixC,cAAc1qC,OAAY,CAAAnC,EAAAhD,KAAA,SACH,GAAzB0yC,oBAAmB,QAEHj1C,IAAZ65C,EAAqB,CAAAt0C,EAAAhD,KAAA,iBACAvC,IAAnB65C,EAAQM,OAAoB,CAAA50C,EAAAhD,KAAA,SAkB7B,OAjBK28B,EAAc,CAClBkb,UAAW,EACXC,SAAU,EACVC,QAASpwC,WAAWqwC,QAAQjwC,WAAWC,WACvCiwC,QAAStwC,WAAWG,UAAUC,WAAWC,WACzCkwC,gBACEZ,EAAQa,gBAAgBhzC,OAAS,EAC7B1E,KAAKC,UAAU42C,EAAQa,iBACvB,GACNC,OAAQzwC,WAAWqwC,QAAQ9vC,OAC3BmwC,cAAef,EAAQM,OAAOS,cAC9BC,UAAWhB,EAAQM,OAAOU,UAC1BC,aAAcjB,EAAQM,OAAOW,aAC7BC,WAAYlB,EAAQM,OAAOY,WAC3BC,UAAWnB,EAAQM,OAAOa,UAC1BC,WAA0C,MAA9BpB,EAAQM,OAAOc,WAC3BC,OAAQrB,EAAQM,OAAOe,QACxB31C,EAAAhD,KAAA,EACwB44C,8DAAmBjc,GAAa,KAAD,EAAxC,OAAV4a,EAAUv0C,EAAA/B,KAAA+B,EAAAhD,KAAA,GACc64C,gEAAcvB,EAAQM,OAAOU,WAAW,KAAD,GAA/Dd,EAAex0C,EAAA/B,KAEgB,aAAjCq2C,EAAQM,OAAOS,eACbjvB,EAAmB,GACnBquB,EAAoB,GACxBF,EAAW/xC,SAAQ,SAAC6D,GAClB,IAAIyvC,EAAe,CAAE1H,YAAa/nC,EAAEuE,QAClBnN,KAAKwM,MAAM5D,EAAEihB,eACnBhsB,MAAMyH,KAAI,SAACgzC,GACrBA,EAAEx6C,OAAOwH,KAAI,SAACotB,GACZ,IAAMvjB,EAAS0nC,EAAQvG,kBAAkBzzB,MACvC,SAAC5f,GAAQ,OACPA,EAAIwzC,YAAY3qC,MAAM,KAAK,KAAO4sB,EAAE10B,SAASC,KAAK,IAGlDkR,IACFkpC,EAAQlpC,EAAOshC,aAAe/d,EAAEryB,KAAK4E,MACrCozC,EAAQ3lB,EAAE10B,SAASC,OAASy0B,EAAEryB,KAAK4E,OAErC4xC,EAAQvG,kBAAkBhrC,KAAI,SAACgzC,GACP,eAAlBA,EAAE7H,aACJ4H,EAAQC,EAAE7H,aAAe7nC,EAAE2gB,WAC3B8uB,EAAQC,EAAE7H,aAAe7nC,EAAE2gB,YACA,mBAAlB+uB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEmhB,OAC3BsuB,EAAQC,EAAE7H,aAAe7nC,EAAEmhB,QACA,wBAAlBuuB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAE2vC,UAC3BF,EAAQC,EAAE7H,aAAe7nC,EAAE2vC,WACA,wBAAlBD,EAAE7H,YACkC,OAAzCvpC,WAAWsxC,YAAYpxC,eACzBixC,EAAQC,EAAE7H,aAAe7nC,EAAE6vC,QAC3BJ,EAAQC,EAAE7H,aAAe7nC,EAAE6vC,UAE3BJ,EAAQC,EAAE7H,aAAe7nC,EAAE8vC,QAC3BL,EAAQC,EAAE7H,aAAe7nC,EAAE8vC,SAEF,4BAAlBJ,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAE+vC,YAC3BN,EAAQC,EAAE7H,aAAe7nC,EAAE+vC,aACA,4BAAlBL,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEgwC,YAC3BP,EAAQC,EAAE7H,aAAe7nC,EAAEgwC,aACA,8BAAlBN,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEiwC,cAC3BR,EAAQC,EAAE7H,aAAe7nC,EAAEiwC,eACA,yBAAlBP,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe,GACzB4H,EAAQC,EAAE7H,aAAe,IACE,0BAAlB6H,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEkwC,YAC3BT,EAAQC,EAAE7H,aAAe7nC,EAAEkwC,aACA,0BAAlBR,EAAE7H,YACkC,OAAzCvpC,WAAWsxC,YAAYpxC,eACzBixC,EAAQC,EAAE7H,aAAe7nC,EAAEohB,QAC3BquB,EAAQC,EAAE7H,aAAe7nC,EAAEohB,UAE3BquB,EAAQC,EAAE7H,aAAe7nC,EAAEmwC,QAC3BV,EAAQC,EAAE7H,aAAe7nC,EAAEmwC,SAEF,8BAAlBT,EAAE7H,YACkC,OAAzCvpC,WAAWsxC,YAAYpxC,eACzBixC,EAAQC,EAAE7H,aAAe7nC,EAAEshB,YAC3BmuB,EAAQC,EAAE7H,aAAe7nC,EAAEshB,cAE3BmuB,EAAQC,EAAE7H,aAAe7nC,EAAEqhB,YAC3BouB,EAAQC,EAAE7H,aAAe7nC,EAAEqhB,aAEF,8BAAlBquB,EAAE7H,YACkC,OAAzCvpC,WAAWsxC,YAAYpxC,eACzBixC,EAAQC,EAAE7H,aAAe7nC,EAAEowC,YAC3BX,EAAQC,EAAE7H,aAAe7nC,EAAEowC,cAE3BX,EAAQC,EAAE7H,aAAe7nC,EAAEqwC,YAC3BZ,EAAQC,EAAE7H,aAAe7nC,EAAEqwC,aAGX,gCAAlBX,EAAE7H,YAE2C,OAAzCvpC,WAAWsxC,YAAYpxC,eACzBixC,EAAQC,EAAE7H,aAAe7nC,EAAEswC,cAC3Bb,EAAQC,EAAE7H,aAAe7nC,EAAEswC,gBAE3Bb,EAAQC,EAAE7H,aAAe7nC,EAAEuwC,cAC3Bd,EAAQC,EAAE7H,aAAe7nC,EAAEuwC,eAEF,2BAAlBb,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe,GACzB4H,EAAQC,EAAE7H,aAAe,IACE,8BAAlB6H,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEwwC,WAC3Bf,EAAQC,EAAE7H,aAAe7nC,EAAEwwC,YACA,wBAAlBd,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEyhB,aAC3BguB,EAAQC,EAAE7H,aAAe7nC,EAAEyhB,cACA,2BAAlBiuB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAE0hB,YAC3B+tB,EAAQC,EAAE7H,aAAe7nC,EAAE0hB,aACA,uBAAlBguB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAE2hB,YAC3B8tB,EAAQC,EAAE7H,aAAe7nC,EAAE2hB,aACA,sBAAlB+tB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAE2gB,WAC3B8uB,EAAQC,EAAE7H,aAAe7nC,EAAE2gB,YACA,uBAAlB+uB,EAAE7H,aACX4H,EAAQC,EAAE7H,aAAe7nC,EAAEywC,YAC3BhB,EAAQC,EAAE7H,aAAe7nC,EAAEywC,aACA,uBAAlBf,EAAE7H,cACX4H,EAAQC,EAAE7H,aAAe,GACzB4H,EAAQC,EAAE7H,aAAe,GAE7B,GACF,GACF,IACAuG,EAAWzxC,KAAK8yC,EAClB,IACAxB,EAAQvG,kBAAkBvrC,SAAQ,SAAC6D,GACjC+f,EAAUpjB,KAAK,CACb+G,MAAO1D,EAAE6nC,YACT6I,SAAU1wC,EAAE6nC,aAEhB,IACAyB,iBAAiB,GAADx0C,OAAKs5C,IACrB7E,kBAAkB,GAADz0C,OAAKirB,KACoB,WAAjCkuB,EAAQM,OAAOS,gBACL,OAAfb,QAAe,IAAfA,GAA0B,QAAXE,EAAfF,EAAiBwC,iBAAS,IAAAtC,OAAX,EAAfA,EAA4BvyC,QAAS,IACnCikB,EAAmB,GAEvBkuB,EAAQvG,kBAAkBvrC,SAAQ,SAAC6D,GACjC+f,EAAUpjB,KAAK,CACb+G,MAAO1D,EAAE6nC,YACT6I,SAAU1wC,EAAE6nC,aAEhB,IAEA0B,kBAAkB,GAADz0C,OAAKirB,IAEtBupB,iBAAgB/sC,2JAAK4xC,EAAgBwC,aAExC,QAIPtH,oBAAmB,GAAO,yBAAA1vC,EAAA7B,OAAA,GAAA2B,EAAA,MAC3BzB,MAAA,KAAAC,UAAA,CAED,IAAM24C,cAAa,eAAAp3C,EAAAvD,0JAAAC,+IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAAnC,EAAA,OAAArB,+IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACjBK,MAAM,uBAAwB,CACnDC,OAAQ,OACRE,KAAMuC,IAELpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAPU,OAARF,EAAQmB,EAAAd,KAAAc,EAAAb,OAAA,SAQPN,GAAQ,wBAAAmB,EAAAZ,OAAA,GAAAW,EAAA,KAChB,gBAVkBE,GAAA,OAAAa,EAAAxB,MAAA,KAAAC,UAAA,KAYb44C,cAAa,eAAAjyB,EAAA3oB,0JAAAC,+IAAAC,MAAG,SAAA2C,EAAOY,GAAa,OAAAxD,+IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAER,OAFQoC,EAAArC,KAAA,EAErB,cAAaqC,EAAApC,KAAA,EACPK,MAAM,uBAAwB,CACnDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBy5C,SAAU15C,KAAKC,UAAUqC,OAG1BpC,MAAK,SAACC,GAAQ,OAAKA,EAASw5C,MAAM,IAClCz5C,MAAK,SAACy5C,GACL,IAAMh3C,EAAMnD,OAAOo6C,IAAIC,gBAAgB,IAAIC,KAAK,CAACH,KAC3CrB,EAAIloC,SAAS2pC,cAAc,KACjCzB,EAAEtH,KAAOruC,EACT21C,EAAE0B,SAfW,cAgBb5pC,SAASrQ,KAAKk6C,YAAY3B,GAC1BA,EAAE5nC,QACF4nC,EAAE4B,QACJ,IACC55C,OAAM,SAACwB,GAAK,OAAKD,QAAQC,MAAM,mBAAoBA,EAAM,IAAE,KAAD,EAnB/CH,EAAAnB,KAAAmB,EAAApC,KAAA,gBAAAoC,EAAArC,KAAA,EAAAqC,EAAA0hB,GAAA1hB,EAAA,SAqBdE,QAAQC,MAAM,SAAQH,EAAA0hB,IAAS,yBAAA1hB,EAAAjB,OAAA,GAAAgB,EAAA,kBAElC,gBA1BkBc,GAAA,OAAAglB,EAAA5mB,MAAA,KAAAC,UAAA,KA4Bbs5C,iBAAgB,eAAAtgB,EAAAh7B,0JAAAC,+IAAAC,MAAG,SAAAkD,EAAOogB,GAAS,IAAAO,EAAAzjB,EAAA,OAAAL,+IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAGL,OAHK2C,EAAA5C,KAAA,GAE/BsjB,EAAa,IAAII,UACZC,OAAO,OAAQZ,GAAMngB,EAAA3C,KAAA,EACVi6C,cAAc52B,GAAY,KAAD,GAAzCzjB,EAAO+C,EAAA1B,QAEX45C,gBAAgBj7C,GAChBozC,cAAcpzC,IACf+C,EAAA3C,KAAA,gBAAA2C,EAAA5C,KAAA,EAAA4C,EAAAmhB,GAAAnhB,EAAA,SAEDL,QAAQC,MAAMI,EAAAmhB,GAAM1R,SAAS,yBAAAzP,EAAAxB,OAAA,GAAAuB,EAAA,kBAEhC,gBAZqB+F,GAAA,OAAA6xB,EAAAj5B,MAAA,KAAAC,UAAA,KAchBu5C,gBAAkB,SAACC,GACvB,IAAMz4C,EAASy4C,EAAWC,MAAM,EAAGD,EAAW31C,QAE1C4uC,EAAU+G,EAAWC,MAAM,EAAGD,EAAW31C,QAC7C6pC,QAAQ,CACNj9B,MAAO,eACP+B,KAAM,GACN5V,UAAW,oBACXkpB,QACElqB,4DAAC89C,mDAAiB,CAChBjH,QAAS1xC,EACTqT,QAASA,QACTulC,gBAAiB,SAAC5xC,GAEd0qC,EADE1qC,EACQhH,EAAO04C,MAAM,EAAGhH,EAAQ5uC,QAExB9C,CAEd,IAGJwQ,MAAO,MACPqoC,cAAe,CACbpnC,KAAM5W,4DAACi+C,kDAAmB,CAACC,SAAK39C,IAChCS,UAAW,iBACXH,MAAO,CAAE6L,QAAS,OAAQC,WAAY,WAExCwxC,KAAI,WAGF1rC,SAAQF,8SAAC,CAAC,EAAIlR,QAAM,IAAEuC,KAAM,CAAEiV,IAAKw9B,cAAcQ,MACnD,EACAuH,kBAAmB,CACjBxnC,KAAM5W,4DAACq+C,kDAAmB,CAACH,SAAK39C,IAChCkB,KAAM,QACNT,UAAW,SACXH,MAAO,CAAE6L,QAAS,OAAQC,WAAY,WAExC2xC,SAAQ,WACNl5C,QAAQe,IAAI,SACd,GAEJ,EAEMo4C,iBAAmB,SAACtwC,GACxB,GAAY,WAARA,EAAkB,CAEpB,IAAM2R,EAAQjM,SAAS2pC,cAAc,SACrC19B,EAAMne,KAAO,OACbme,EAAMiI,OAAS,QACfjI,EAAM4+B,SAAW,SAACryC,GAAY,IAADsyC,EACrB74B,EAAQ,OAADzZ,QAAC,IAADA,GAAS,QAARsyC,EAADtyC,EAAGuG,cAAM,IAAA+rC,OAAR,EAADA,EAAW34B,MAAM,GAC1BF,GACF83B,iBAAiB93B,EAErB,EACAhG,EAAM3L,OACR,KAAmB,WAARhG,IACT5M,OAAOuC,KAAO,CAAEiV,IAAKw9B,cAAcxZ,QACnCmgB,cAAc37C,QAElB,EACMq9C,SACJt+C,6DAACu+C,oCAAI,CACH/oC,QAAS,SAACgpC,GACRL,iBAAiBK,EAAK3wC,IACxB,EAAE/N,SAAA,CAEFF,4DAAC2+C,oCAAK3pC,KAAI,CAAc4B,KAAM5W,4DAAC6+C,kDAAgB,CAACX,SAAK39C,IAAcL,SACjEF,4DAAA,OAAAE,SAAK,YADQ,UAIfF,4DAAC2+C,oCAAK3pC,KAAI,CAAc4B,KAAM5W,4DAAC6+C,kDAAgB,CAACX,SAAK39C,IAAcL,SACjEF,4DAAA,KAAAE,SAAG,YADU,aAMnB,OACEE,6DAAAH,yDAAA,CAAAC,SAAA,CACEF,4DAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQI,aAAc,IAAK5M,SAChDF,4DAACR,kEAAc,CACbkB,QAAS,GACTK,OAAQA,OACRO,OAAQP,OACRQ,SAAUF,OAAOE,SACjBV,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,gBAChB/nC,WAAY,UAEd7K,eACgC,MAA9BT,OAAOE,SAASu9C,WACd9+C,4DAAC++C,oCAAQ,CAACC,QAASN,SAASx+C,SAC1BF,4DAACwnB,kDAAM,CACLhmB,MAAM,gBACNoV,KAAK,aACLnV,KAAM,SACN+d,QAASu2B,SACTngC,QAAS,SAACzJ,GAAC,OAAKA,EAAEoJ,gBAAgB,EAClC1U,MAAO,CACLkf,OAAQ,OACRhT,MAAO,UACPH,SAAU,MACVyK,aAAc,MACdpC,OAAQ,qBACRy/B,eAAgB,kBAmB9Bt0C,6DAACC,gDAAG,CACFC,GAAI,GACJG,GAAI,GACJE,GAAI,GACJC,GAAI,GACJI,UAAW,qBACX4U,QAAS,WACHu/B,WACFC,cAAa,EAEjB,EAAEl1C,SAAA,CAEFF,4DAACi/C,qCAAK,CACJj+C,UAAS,oCAAAC,OACPyxC,SAAW,eAEbwM,WACG/J,UAkBG,CAAC,EAjBD,CACE7xC,KAAM,CACJ67C,KAAM,SACJ1/C,GAEA,OACEO,4DAACwyC,aAAYjgC,8SAAA,GACP9S,GAAK,IACTkzC,cAAeA,cACfC,eAAgBA,eAChB94B,YAAaA,cAGnB,EACAjB,IAAKu5B,cAKf3U,WAAYZ,MACZrd,QAAS21B,UACT38B,QAASA,QACT4mC,aAAc,iBAAM,cAAc,EAClCC,UAAQ,EACR1sC,GAAG,gBACH2sC,OAAQ,CAAE9I,EAAG,IAAa+I,EAAG,KAC7Bh4B,OAAQ,WACN,IAAMi4B,EAAuB,OAAX7J,kBAAW,IAAXA,iBAAW,EAAXA,YAAav1B,MAAK,SAACjU,GAAM,OAAKA,EAAEszC,QAAQ,IAE1D,OAAO9J,YAAY9sC,KAAI,SAAC0e,GACtB,OACEvnB,4DAAC0/C,6CAAW,CACVC,UAAWp4B,EACX9U,SAAU4lC,qBACVmH,eAAyBj/C,IAAdi/C,GAGjB,GACF,EACAzuB,QAAS,SAAC6uB,GACR,IAAK,IAADj+B,EAAAk+B,EACIhI,EAAa,OAANx2C,aAAM,IAANA,QAAgB,QAAVsgB,EAANtgB,OAAQE,gBAAQ,IAAAogB,GAAW,QAAXk+B,EAAhBl+B,EAAkBjgB,iBAAS,IAAAm+C,OAArB,EAANA,EAA6B5vC,OACtC6vC,GAAY,EAOhB,GANAjI,EAAKvvC,SAAQ,SAAC9H,EAAUyY,GAC2B,MAA7CzY,EAAIoP,QAAQrO,SAASG,UAAUq+C,YACjCD,GAAY,EAGhB,IACIA,GAAajjB,MAAM50B,OAAS,GAAK8oB,SACnC,OACE/wB,4DAACi/C,qCAAMe,QAAO,CAACvH,OAAK,EAAAv4C,SAClBE,6DAAC6+C,qCAAMe,QAAQrO,IAAG,CAAAzxC,SAAA,CAChBF,4DAACi/C,qCAAMe,QAAQC,KAAI,CAAC5mC,MAAO,EAAEnZ,SAC3BF,4DAAA,QAAAE,SAAM,YAEP23C,EAAKhvC,KAAI,SAACrI,EAAUyY,GACnB,MAAiD,MAA7CzY,EAAIoP,QAAQrO,SAASG,UAAUq+C,UAE/B//C,4DAACi/C,qCAAMe,QAAQC,KAAI,CACjB5mC,MAAOJ,IAKTjZ,4DAACi/C,qCAAMe,QAAQC,KAAI,CAAC5mC,MAAOJ,EAAKC,MAAM,QAAOhZ,SAC3CF,4DAACgyC,KAAI,CAACnxC,MAAO,CAAEoU,OAAQ,QAAS/U,SAC5Bmc,MACA3N,OAAOqiB,SAAQvwB,EAAIoP,QAAQrO,SAASC,SAWlC,OATAkN,OACEA,OACEqiB,SAAQvwB,EAAIoP,QAAQrO,SAASC,SAE/BqZ,eAAe,QAAS,CACxB0B,sBAAuB7N,OACrBlO,EAAIoP,QAAQrO,SAASG,UAAU8a,cAQjD,IACAxc,4DAACi/C,qCAAMe,QAAQC,KAAI,CACjB5mC,MAAOw+B,EAAK5vC,OAAS,QAMjC,CAAE,MAAO5C,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,IAGFrF,4DAACkgD,8CAAY,CACXp5B,OAAQ,UACRq5B,WAAYtjB,MAAM50B,OAClBm4C,UAAWrL,oBACXsL,aAAcrL,uBACdh0B,WAAYo0B,aACZkL,SAAUtH,SAGZh5C,4DAACugD,6EAAgB,CACfC,UAAW,YACXC,SAAU9N,cACV+N,cAAerL,sBACfsL,iBAAkBrL,yBAClB98B,QAASo6B,eACTpzB,QAAS+1B,gBACTqL,cAAc,QACdC,UAAQ,EACRC,aAAc,SAACC,GACb,IACE,IAAiB,OAAbA,QAAa,IAAbA,OAAa,EAAbA,EAAe94C,QAAS,EAAG,CAC7B,IAAI4uC,EAAiB,GACR,OAAbkK,QAAa,IAAbA,KAAel4C,KAAI,SAACsD,EAAQ8M,GAC1B,IAAI6V,EAASynB,cAAct9B,GAC3B5X,OAAOE,SAASG,UAAUmyC,kBAAkBvrC,SAC1C,SAAC9H,GACCsuB,EAAOtuB,EAAIyzC,aAAe9nC,EAAE3L,EAAIwzC,YAClC,IAEF6C,EAAQ/tC,KAAKgmB,EACf,IACA8nB,kBAAkBC,GAElBvB,0BAAyB,EAC3B,CACF,CAAE,MAAOjwC,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,SA2CV,EAEe8sC,oEAAM6O,KAAKrM,e,6FCprDXuL,IAnEM,SAAH/9C,GAOJ,IANZ2kB,EAAM3kB,EAAN2kB,OACAq5B,EAAUh+C,EAAVg+C,WACAC,EAASj+C,EAATi+C,UACAp/B,EAAU7e,EAAV6e,WACAq/B,EAAYl+C,EAAZk+C,aACAC,EAAQn+C,EAARm+C,SAEA9oC,EAAkCC,mBAAiB,GAAEC,EAAApB,YAAAkB,EAAA,GAA9CypC,EAASvpC,EAAA,GAAEwpC,EAAYxpC,EAAA,GAyB9B,OACE1X,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OAAQA,EACRI,QAASk5B,EACTv/C,MAAO,CAAE8U,MAAO,QAChB0R,OAAQ,WACNg5B,GAAa,GACba,EAAa,EACf,EACA35B,OAlCe,WACnB,OACEnnB,eAAA,OAAAF,SAAA,CACEF,cAACwnB,IAAM,CACLhmB,MAAM,KACNoV,KAAK,cACLhB,QAAS,kBAAMyqC,GAAa,EAAM,EAClCx/C,MAAO,CAAEkf,OAAQ,QACjB/e,UAAU,kBAEZhB,cAACwnB,IAAM,CACLhmB,MAAM,MACNoV,KAAK,cACLhB,QAAS,WACPoL,GAAW,GACXs/B,EAASW,EAAY,GACrBZ,GAAa,EACf,EACAx/C,MAAO,CAAEkf,OAAQ,QACjB5K,WAAS,MAIjB,EAYMnU,UAAU,qBACVsmB,WAAW,EACX65B,UAAU,EACVC,WAAW,EACXn6B,aAAW,EAAA/mB,SAEXF,cAAC2xC,IAAG,CAAAzxC,SACFF,cAAC+b,IAAW,CACV6nB,QAAQ,cACR5mB,IAAK,EACLC,IAAKkjC,EACLkB,cAAe,SAACl1C,IACT,OAADA,QAAC,IAADA,OAAC,EAADA,EAAG3D,QAAS23C,GACde,EAAc,OAAD/0C,QAAC,IAADA,OAAC,EAADA,EAAG3D,MAEpB,SAMZ,C,uGCUek3C,IAhFK,SAAHv9C,GAAmD,IAA7Cw9C,EAASx9C,EAATw9C,UAAWltC,EAAQtQ,EAARsQ,SAAU+sC,EAASr9C,EAATq9C,UAC1ChoC,EAAoCC,mBAASkoC,EAAUn3C,OAAMkP,EAAApB,YAAAkB,EAAA,GAAtD8pC,EAAU5pC,EAAA,GAAE6pC,EAAa7pC,EAAA,GAGhC,OAFAtS,QAAQe,IAAIq5C,GAGVx/C,cAAA,OAAKgB,UAAW,gBAAgBd,SAC9BE,eAACuxC,IAAG,CAAAzxC,SAAA,CACFF,cAACK,IAAG,CACFM,GAAI6+C,EAAY,EAAI,GACpBl/C,GAAIk/C,EAAY,EAAI,GACpB5+C,GAAI4+C,EAAY,EAAI,GACpB3+C,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,WAChB/nC,WAAY,UACZzM,SAEDy/C,EAAUn+C,MAAQ,QAEpBm+C,EAAUF,SACTr/C,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACK,IAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+b,IAAW,CACV/a,UAAU,kBACV+R,YAAa4sC,EAAUn+C,MAAVm+C,SACb9+C,MAAO,CAAE8U,MAAO,QAChB7C,KAAM,QACNtK,MAAO84C,EACPllC,UAAW,SAAC5T,GAAK,MACf,GAAAvH,OAAGuH,GAAQvG,QAAQ,wBAAyB,IAAI,EAElDu/C,OAAQ,SAACh5C,GAAK,OAAKA,EAAOvG,QAAQ,cAAe,GAAG,EACpDwQ,SAAU,SAACtG,GACTo1C,EAAcp1C,EAChB,EACAqG,OAAQ,SAACrG,GACP,GAAIuC,OAAOvC,EAAEuG,OAAOlK,OAAQ,CAC1BpD,QAAQe,IAAIw5C,GAEZ,IAAI8B,EAAGlvC,YAAA,GAAQotC,GACf8B,EAAIj5C,MAAQkG,OAAOvC,EAAEuG,OAAOlK,OAC5BiK,EAASgvC,EACX,CACF,EACAtlC,UAAU,MAGdnc,cAACK,IAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsS,IAAK,CACJM,UAAQ,EACRE,KAAM,QACNC,YAAa4sC,EAAUn+C,MACvBya,WAAY0jC,EAAUr2C,OACtBd,MAAOm3C,EAAUx6C,cAKvBnF,cAAAC,WAAA,CAAAC,SACEF,cAACK,IAAG,CACFM,GAAI6+C,EAAY,EAAI,EACpBl/C,GAAIk/C,EAAY,EAAI,EACpB5+C,GAAI4+C,EAAY,EAAI,EAAEt/C,SAEtBF,cAACsS,IAAK,CACJM,UAAQ,EACRE,KAAM,QACNC,YAAa4sC,EAAUn+C,MACvBya,WAAY0jC,EAAUr2C,OACtBd,MAAOm3C,EAAUx6C,iBAQjC,C,qECtDe24C,IAzBW,SAAH37C,GAAsD,IAAhD00C,EAAO10C,EAAP00C,QAASr+B,EAAOrW,EAAPqW,QACpChB,GAD4DrV,EAAf47C,gBACTtmC,mBAASo/B,IAAQn/B,EAAApB,YAAAkB,EAAA,GAErDkJ,GAFiBhJ,EAAA,GAAeA,EAAA,GAEMD,mBAASo/B,IAAQl2B,EAAArK,YAAAoK,EAAA,GAAhDghC,EAAW/gC,EAAA,GAClBG,GADkCH,EAAA,GACFlJ,mBAAS,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAArC6gC,EAAQ5gC,EAAA,GAAE6gC,EAAW7gC,EAAA,GAC5BgB,EAA8BtK,mBAAS,GAAEuK,EAAA1L,YAAAyL,EAAA,GAA3BC,EAAA,GAAYA,EAAA,GAG1B,OAFA5c,QAAQe,IAAI,UAAW0wC,GACvBzxC,QAAQe,IAAI,mBAAoBqS,GAE9BxY,cAAAC,WAAA,CAAAC,SACEF,cAACi/C,IAAK,CACJxhB,WAAYikB,EACZlpC,QAASA,EAAQN,QAAO,SAAC/L,GAAC,MAAe,cAAVA,EAAE8B,GAAmB,IACpDqxC,OAAQ,CAAE9I,EAAG,IAAa+I,EAAG,KAC7BsC,WAAY,CACVF,SAAUA,EACVG,iBAAkB,SAAC3a,EAASr0B,GAC1B8uC,EAAY9uC,EACd,MAKV,C,oSCTaivC,EAAuC,SAAH5/C,GAe1C,IAdLb,EAAMa,EAANb,OACAP,EAAMoB,EAANpB,OACA6O,EAAOzN,EAAPyN,QACA2B,EAAIpP,EAAJoP,KACA3N,EAAIzB,EAAJyB,KACArC,EAAQY,EAARZ,SACAf,EAAG2B,EAAH3B,IACAgR,EAASrP,EAATqP,UACA9Q,EAAOyB,EAAPzB,QACA+Q,EAAUtP,EAAVsP,WAGAG,GAFezP,EAAfwP,gBACUxP,EAAVuP,WACevP,EAAfyP,iBACQC,YAAA1P,EAAA2P,GAER,OACE9R,cAAC+R,IAAU,CACTR,KAAMA,EACN3B,QAASA,EACToC,MAAO,CACLC,SAAyB,KAAfrO,EAAK4E,OAEjB0J,OAAQ,SAAA5N,GAAoD,IAAjDuL,EAAKvL,EAALuL,MAAKsC,EAAA7N,EAAE8N,UAAajR,EAAMgR,EAANhR,OAAQD,EAAWiR,EAAXjR,YAOrC,OANAkE,QAAQe,IAAI,QAAU5E,EAASC,MAAOqO,EAAMrH,OAC5CpD,QAAQe,IAAI,CAAEsL,eAMZrR,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IACC,CACAgB,IAAKA,EACLE,QAASA,EACTK,OAAQA,EACRO,OAAQP,EACRQ,SAAUA,IAEZvB,cAACK,IAAG,CACFC,GAAwB,GACxBG,QAAYF,IAARC,EAAoBgR,EAAY,GACpC7Q,GAAwB,GACxBC,QAAYL,IAARC,EAAoBgR,EAAY,GACpCxQ,UAAW,qBAAqBd,SAEhCE,eAAA,OACEY,UAAS,8BAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAML,IACR,OAANI,QAAM,IAANA,KAAQC,MAAML,GAAQM,OAAOC,GACzB,sBACA,IACHpB,SAAA,CAEHF,cAACsS,IAAKC,wBAAA,GACA1C,GAAK,IACT2C,OAAQ,SAACrG,GACP0D,EAAM4C,SAAStG,GACfyF,EAAgBrQ,EAAU4K,EAAEuG,OAAOlK,MACrC,EACAmK,GAAIpR,EAASC,MAAMK,WAAW,IAAK,KACnC2G,MAAOqH,EAAMrH,MAAQqH,EAAMrH,WAAQjI,EACnCqS,UAAWnB,GAA8C,MAAhClQ,EAASG,UAAUmR,SAC5CC,KAAM,QACN9R,UAAU,kBACV+R,YACoB,OAAlBxR,EAASE,KACLF,EAASG,UAAUsR,YACnB,cAENC,UAC0C,IAAxCC,SAAS3R,EAASG,UAAUuG,aACxB1H,EACA2S,SAAS3R,EAASG,UAAUuG,QAGlCkL,UACG1B,GAC+B,MAAhClQ,EAASG,UAAUmR,UACD,OAAlBtR,EAASE,KAGXsF,OACE7F,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC7B,WAGHJ,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,MACR,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAML,GAAQM,OAAOC,KAC3BlB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDqB,EAASC,MAAM,0BAQhC,GAGN,E,uGC5Ge,SAASwgD,EAAgBviD,GACtC,IAAA+X,EAAsBC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAnCtR,EAAGwR,EAAA,GAAEuqC,EAAMvqC,EAAA,GAElBgJ,GADgBwhC,cACYzqC,mBAAiB,KAAGkJ,EAAArK,YAAAoK,EAAA,GAAnCC,EAAA,GAAWA,EAAA,GAwBxB,OAtBAnU,qBAAU,WACR,GAAI/M,EAAM8B,SAAS47C,IAAK,CACtB,IAAIgF,EAAiB1iD,EAAM8B,SAAS47C,KAEF,KADlCgF,EAASA,EAAOlgD,QAAQ,KAAM,aACnBuH,QAAQ,YACjB24C,EAASA,EAAOlgD,QAAQ,SAAU,cAEhCkgD,EAAOjzC,WAAW,SAEVizC,EAAOjzC,WAAW,OAC5BizC,EAAS,IAAMA,GAEjBF,EAAOE,EACT,CACF,GAAG,IASD/hD,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbW,cAAeV,EAAMU,cACrBK,IAAKf,EAAMe,IACXE,QAASjB,EAAMiB,QACfK,OAAQtB,EAAMsB,OACdO,OAAQ7B,EAAMsB,OACdQ,SAAU9B,EAAM8B,WAElBvB,cAACK,IAAG,CACFC,IAAIb,EAAMe,IAAoB,IAC9BC,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChD7Q,IAAIlB,EAAMe,IAAoB,IAC9BI,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChDxQ,eAC0BT,IAAxBd,EAAMU,cAA8B,qBAAuB,GAC5DD,SAEDF,cAAA,OAAAE,SACEF,cAACwnB,IAAM,CACLhmB,MAAO/B,EAAM8B,SAASK,MACtBH,KAAM,SACNmU,QAAS,WACP,IAAM0W,EAAO7sB,EAAM8B,SACfS,EAAM,GACV,GAAyB,kBAArBvC,EAAMmlC,WAAgC,CACxC,IAAIwd,EAAQ,GACRxgC,EAAM,GACV0K,EAAK5qB,UAAUN,MAAMyH,KAAI,SAACN,GACxBA,EAAKlH,OAAOwH,KAAI,SAAC6Y,GACe,gBAA1BA,EAAQ9R,QAAQpO,QAClBogB,EAAMniB,EAAMmlC,YAEdwd,EAAQ1gC,EAAQ2gC,UAAU75C,KAC5B,GACF,IACAxG,EAAM,IAAMogD,EAAQ,IAAMxgC,EACrB1b,EAAIgJ,WAAW,SAGlBnM,OAAOqe,KAAK,GAADngB,OAAIiF,GAAO,SAAS,cAF/BnD,OAAOqe,KAAK,WAADngB,OAAYiF,EAAMlE,GAAO,SAAU,aAIlD,MACE6kB,YAAc,CACZ3R,QAAS,mJACT4R,OAAQ,QACRlQ,KAAM,6BACNmQ,gBAAiB,kBAGvB,UAMZ,C,wEC1Cau7B,EAAkB,SAAC7iD,GAC9B,IAGA+X,EAA0CC,mBACvChY,EAAMmE,KAAK4E,MAAwB/I,EAAMmE,KAJtB,CACpB4E,MAAO,OAIRkP,EAAApB,YAAAkB,EAAA,GAEDkJ,GAJoBhJ,EAAA,GAAkBA,EAAA,GAIRD,oBAAS,IAAKkJ,EAAArK,YAAAoK,EAAA,GAC5C4E,GADc3E,EAAA,GAAYA,EAAA,GACM4E,eAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACX95B,GADwB85B,EAAA,GACZh/C,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KAChE+lB,EAAqBP,EAAU1D,kBACjCy9B,EAAW/5B,EAAUzD,QA4BzB,OACEhlB,cAAC+R,IAAU,CACTG,OAAQ,SAAA/P,GAID,IAADsgD,EAAAtgD,EAHJ0N,MAAS4C,EAAQgwC,EAARhwC,SAAUjK,EAAKi6C,EAALj6C,MAAwBk6C,GAAXD,EAANjwC,OAAYiwC,EAAJlxC,KAASkxC,EAAHrtC,IAAGjT,EAC3CiQ,WAAajR,EAAMuhD,EAANvhD,OAAQD,EAAWwhD,EAAXxhD,YAGfyb,GACC,OAALnU,QAAK,IAALA,OAAK,EAALA,EAAOvG,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAAKA,QAAQ,MAAO,MAC9D,GAGF,OACEjC,cAAAC,WAAA,CAAAC,SACEF,cAACK,IAAG,CACFC,IAAIb,EAAMe,IAAoB,IAC9BC,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChD7Q,IAAIlB,EAAMe,IAAoB,IAC9BI,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChDxQ,UAAS,sBAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAM3B,EAAMsB,SACd,OAANI,QAAM,IAANA,KAAQC,MAAM3B,EAAMsB,QAAQM,OAAO5B,EAAM6B,QACrC,iBACA,GAAE,KAAAL,OAE+B,KAArCxB,EAAM8B,SAASG,UAAUmR,UAAoBpT,EAAMgS,WAE/C,GADA,uBAEHvR,SAEoC,MAAtCT,EAAM8B,SAASG,UAAUmR,SACxB7S,cAAA,OAAKiX,wBAAyB,CAAEC,OAAQyF,KAE1C3c,cAAC2iD,IAAM,CACLxvC,SACuC,KAArC1T,EAAM8B,SAASG,UAAUmR,WAAoBpT,EAAMgS,WAGrDmxC,iBAC2B,qCAE3BC,KAAM,CACJC,WAAW,EACXC,mBAAmB,EACnBC,QAAS,OACTC,aAAa,EACbC,iBAAiB,EAEjBC,oBAAqB,SACrBpjC,OAAO,IAAMrR,OAAOjP,EAAM8B,SAASwe,QACnCqjC,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,QAAS,CACP,aACA,8EACA,2CACA,yEACA,qEAEFC,QAAS,kBACTC,SACE,iQACFC,iBACE,mDACFC,aACE,0nBAsBAtkD,EAAMmmC,OAAO,IAAKnmC,EAAMmmC,OAAO,IACjCoe,cACE,sOAEAvkD,EAAMomC,YACNoe,sBAAsB,WAAD,IAAAC,EAAA9hD,YAAAC,IAAAC,MAAE,SAAAC,EACvB4hD,EACAC,EACAC,GAAO,IAAAz+B,EAAAS,EAAAkD,EAAA7lB,EAAA8lB,EAAA,OAAAnnB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAeoD,OAbvD8iB,EAAO,IAAI0+B,KACb,CAACH,EAASjH,QACViH,EAASI,WACT,CACEC,aAAc7pC,KAAK8pC,QAGjBp+B,EAAW,IAAIE,SACfgD,EAAWxmB,OAAO2mB,SAASH,SACjClD,EAASG,OAAO,OAAQZ,GACxBS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAY,IAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GACjCkD,YAAcqgB,GAAU,KAAD,GACf,GAD9B3iB,EAAad,EAAAmB,KACjBqB,QAAQe,IAAIzC,EAAU,aAClBA,EAASE,KAAKuB,OAAO,CAADvC,EAAAE,KAAA,aAClBkmB,EAAmB,CAADpmB,EAAAE,KAAA,SACpBshD,EACEp7B,EAAqB,IAAMtlB,EAASE,KAAK8iB,SACzC9jB,EAAAE,KAAA,wBAAAF,EAAAE,KAAA,GAEkByK,cAAU,KAAD,IAAvBic,EAAK5mB,EAAAmB,QAETy+C,EAAW/5B,EAAUzD,QAAU,IAAMwE,GAEvC46B,EACE,GAAAnjD,OAAGsoB,EAAQ,MAAOi5B,EAAW9+C,EAASE,KAAK8iB,SAC3C,QAAA9jB,EAAAE,KAAA,iBAGJuhD,EAAQ3gD,EAASE,KAAK8iB,SAAS,yBAAA9jB,EAAAqB,OAAA,GAAA1B,EAAA,KAElC,gBAAA2B,EAAAO,EAAAK,GAAA,OAAAo/C,EAAA//C,MAAA,KAAAC,UAAA,EAtCuB,IAwC1BoE,MAAOmU,EACP+nC,eAAgB,SAACx6B,EAAcy6B,IAxJlB,SAACz6B,EAAcy6B,EAAalyC,GACrDA,EAASyX,EASX,CA+IgB06B,CAAmB16B,EAASy6B,EAAQlyC,EACtC,OAMV,EACAlB,KAAM9R,EAAM8R,KACZS,MAAO,CACLC,SACuC,KAArCxS,EAAM8B,SAASG,UAAUC,SACY,MAArClC,EAAM8B,SAASG,UAAUC,SACJ,UAArBlC,EAAMiS,YACe,WAArBjS,EAAMiS,YAIV9B,QAASnQ,EAAMmQ,SAGrB,EClQai1C,EAAiB,SAACplD,GAC7B,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,IAAG,CACFC,QAAkBC,IAAdd,EAAMe,IAAoB,QAAKD,EACnCE,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CI,QAAkBJ,IAAdd,EAAMe,IAAoB,QAAKD,EACnCK,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CS,UAAU,qBAAoBd,SAE9BF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,oBAElBhB,cAAA,KAAGgB,UAAU,wBAInBhB,cAACK,IAAG,CACFC,IAAIb,EAAMe,IAAoB,IAC9BC,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChD7Q,IAAIlB,EAAMe,IAAoB,IAC9BI,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChDxQ,UAAU,qBAAoBd,SAE9BF,cAAA,OAAKgB,UAAU,GAAG2R,GAAIlT,EAAMwO,UAIpC,E,6DCPe,SAAS62C,EAAerlD,GACrC,IAAMglB,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YACF8O,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACjE+lB,EAAqBxD,EAAST,kBAChC6E,EAAyB,mBAAlBF,SAASC,UAA4BppB,EAAYmpB,SAASE,KACjEm7B,OACOxkD,IAATqpB,EAA2BpE,EAASR,QAAU,IAAM4E,EAAOpE,EAASR,QAItExN,EAAoCC,mBACd,MAApBhY,EAAMmE,KAAK4E,MAJS,CACpBA,MAAO,MAGiD/I,EAAMmE,MAC/D8T,EAAApB,YAAAkB,EAAA,GAFkBwtC,GAAFttC,EAAA,GAAeA,EAAA,IAGhCgJ,EAAgCjJ,mBAAiB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA7C2E,EAAQ1E,EAAA,GAAEskC,EAAWtkC,EAAA,GAC5BnU,qBAAU,WACRyc,GACF,GAAG,IAEH,IAAMA,EAAY,eAAA9mB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA0jB,EAAAP,EAAArM,EAAAmQ,EAAA,OAAAnnB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACnB,GAAIrD,EAAM8B,SAAS8jB,SAAU,CAG3B,IAFMY,EAAUxmB,EAAM8B,SAAS8jB,SAAShc,MAAM,KAC1Cqc,EAAe,GACVrM,EAAQ,EAAGA,EAAQ4M,EAAQhe,OAAQoR,IAC1C4M,EAAQ5M,GAAS,IAAM4M,EAAQ5M,GAC/BqM,EAAQ5c,KAAKmd,EAAQ5M,IAEvB4rC,EAAYv/B,EAAQ5a,WACtB,CACI0e,EAAQE,SAASE,KACC,mBAAlBF,SAASC,MACPH,IACFhE,EAASR,QAAUQ,EAASR,QAAU,IAAMwE,GAE/C,wBAAA5mB,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBAhBiB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAiBS,SAAA8gD,IA4D1B,OA5D0BA,EAAA9iD,YAAAC,IAAAC,MAA3B,SAAAiC,EAA4B4H,EAAQsG,GAAa,IAAA3S,EAAAgmB,EAAAH,EAAAw/B,EAAAl/B,EAAA5M,EAAAmQ,EAAAnD,EAAA++B,EAAA1hD,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,UACrB,OAAtBqJ,EAAEuG,OAAOoT,MAAM,GAAW,CAAAthB,EAAA1B,KAAA,SAEA,GADtBgjB,EAAQ3Z,EAAEuG,OAAOoT,MAAM,GACzBH,GAAkB,EACJ,QADS7lB,EACvBL,EAAM8B,gBAAQ,IAAAzB,IAAdA,EAAgBulB,SAAQ,CAAA7gB,EAAA1B,KAAA,SACpBmjB,EAAwB,QAAjBk/B,EAAG1lD,EAAM8B,gBAAQ,IAAA4jD,OAAA,EAAdA,EAAgB9/B,SAAShc,MAAM,KACtCgQ,EAAQ,EAAE,KAAD,OAAEA,EAAQ4M,EAAQhe,QAAM,CAAAzD,EAAA1B,KAAA,aACpCgjB,EAAMvU,KAAKnC,SAAS6W,EAAQ5M,IAAQ,CAAD7U,EAAA1B,KAAA,SACd,OAAvB6iB,GAAkB,EAAKnhB,EAAAR,OAAA,uBAFiBqV,IAAO7U,EAAA1B,KAAA,gBAYpD,GALK0mB,EAAQE,SAASE,KACD,mBAAlBF,SAASC,MACPH,IACFhE,EAASR,QAAUQ,EAASR,QAAU,IAAMwE,GAG3C7D,EAAgB,CAADnhB,EAAA1B,KAAA,SAgBI,OAftB4T,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,YAQRujD,GAAc,SAAC9nB,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ10B,MAAO,MAAI,IAEb2D,EAAEuG,OAAOlK,MAAQ,KAAKhE,EAAAR,OAAA,kBAOqC,OAJvDqiB,EAAW,IAAIE,SACjB6+B,EAAO,eAAiB3+B,cAC5BJ,EAASG,OAAO,QAASV,GACzBO,EAASG,OAAO,SAAU4+B,GAC1B/+B,EAASG,OAAO,UAAWhB,EAAS4F,aAAavgB,YAAYrG,EAAA1B,KAAA,GACxCsD,YAAwBigB,GAAU,KAAD,GAAlD3iB,EAAQc,EAAAT,KACZqB,QAAQe,IAAI,eAAgB,CAAEzC,aAM9B0B,QAAQe,IAAI,OAAQpE,YAAmB2B,EAASE,KAAK8iB,UACrDjU,EAAS1Q,YAAmB2B,EAASE,KAAK8iB,UAO1C,yBAAAliB,EAAAP,OAAA,GAAAM,EAAA,MAEHJ,MAAA,KAAAC,UAAA,CACD,OACEhE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,IAAK,CAAC1U,IAAKqP,IACZzkB,cAAC+R,IAAU,CACTG,OAAQ,SAAA5N,GAGD,IAAD+gD,EAAAC,EAAAzlD,EAAA0lD,EAAAjhD,EAFJuL,MAAS4C,EAAQ8yC,EAAR9yC,SAAUjK,EAAK+8C,EAAL/8C,MAAwB2J,GAAXozC,EAAN/yC,OAAY+yC,EAAJh0C,KAASg0C,EAAHnwC,IAAG9Q,EAC3C8N,WAAajR,EAAMgR,EAANhR,OAAQD,EAAWiR,EAAXjR,YAIrB,OAFAkE,QAAQe,IAAI,CAAEqC,UAGZpI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,IAAG,CACFuV,QAAS,WACPxQ,QAAQe,IAAI,GAADlF,OACN+nB,GAAkB/nB,OAAGuH,GACxB,oBAEFpD,QAAQe,IAAI,WAADlF,OACEukB,EAASR,SAAO/jB,OAAGuH,GAC9B,oBAEJ,EACAlI,QAAkBC,IAAdd,EAAMe,IAAoB,QAAKD,EACnCE,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CI,QAAkBJ,IAAdd,EAAMe,IAAoB,QAAKD,EACnCK,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAMiB,aAAUH,EAC9CS,eAC0BT,IAAxBd,EAAMU,cAA8B,qBAAuB,GAC5DD,SAEuB,iBAAvBT,EAAMU,eACLH,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAC5BT,EAAM8B,SAASC,QAEoB,MAArC/B,EAAM8B,SAASG,UAAUC,SACxB3B,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAKpDF,cAAA,KAAGgB,UAAU,eAAcd,SAAET,EAAM8B,SAASK,eAKpD5B,cAACK,IAAG,CACFC,IAAIb,EAAMe,IAAoB,IAC9BC,QAAkBF,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChD7Q,IAAIlB,EAAMe,IAAoB,IAC9BI,QAAkBL,IAAdd,EAAMe,IAAoBf,EAAM+R,UAAY,GAChDxQ,eAC0BT,IAAxBd,EAAMU,cAA8B,qBAAuB,GAC5DD,SAEDE,eAAA,OACEY,UAAS,gBAAAC,OACPC,GACM,OAANC,QAAM,IAANA,KAAQC,OACF,OAAND,QAAM,IAANA,KAAQC,MAAM3B,EAAMsB,SACd,OAANI,QAAM,IAANA,KAAQC,MAAM3B,EAAMsB,QAAQM,OAAO5B,EAAM6B,QACrC,sBACA,IAENT,MAAO,CAAE6L,QAAQ,GAADzL,OAAMuH,EAAqB,GAAb,WAAe,MAAMtI,SAAA,CAElDsI,EACCpI,eAAA,OACES,MAAO,CACL6L,QAAS,OACTtD,SAAU,WACVo8C,cACG/lD,EAAMgS,YAC+B,MAAtChS,EAAM8B,SAASG,UAAUmR,SAErB,OADA,QAEN3S,SAAA,CAEFF,cAAA,OAAAE,SACEF,cAACylD,IAAK,CACJC,IACE18B,EAAkB,GAAA/nB,OACX+nB,GAAkB/nB,OAAGuH,GAAK,WAAAvH,OAClB8jD,GAAQ9jD,OAAGuH,GAE5Bm9C,IAAI,QACJhwC,MAAOzC,SAASzT,EAAM8B,SAASG,UAAUiU,OACzCoK,OAAQ7M,SAASzT,EAAM8B,SAASG,UAAUqe,YAGN,OAAf,QAAxBslC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BxyC,WACzB7S,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAC4lD,IAAQ,CACP/kD,MAAO,CAAE+L,SAAU,QACnB5L,UAAU,yBACV4U,QAAS,WACPovC,GAAc,SAAC9nB,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ10B,MAAO,MAAI,IAEbiK,EAAS,KAQX,SAMRrS,eAAAH,WAAA,CAAAC,SAAA,CAC0C,OAAf,QAAxBolD,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0BzyC,WACzB7S,cAAC+U,IAAK6S,QAAO,CACXhS,QAAS,WACPxQ,QAAQe,IAAIkf,EAAU,WACxB,EACAlS,UACG1T,EAAMgS,YAC+B,MAAtChS,EAAM8B,SAASG,UAAUmR,SAE3BpR,KAAK,OACLgR,SAAU,SAACtG,IA9LjC,SACyBjI,EAAAO,GAAAygD,EAAA/gD,MAAC,KAADC,UAAA,CA8LDyhD,CAAa15C,EAAGsG,EAClB,EAEAzR,UAAS,yCAGbZ,eAAA,OACES,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,OAChBx0C,SAAA,CACH,yBACsC,QAAfL,EAACJ,EAAM8B,gBAAQ,IAAA1B,OAAA,EAAdA,EAAgBwlB,eAK5CnkB,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAM3B,EAAMsB,WACd,OAANI,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAM3B,EAAMsB,QAAQM,OAAO5B,EAAM6B,UACvClB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDT,EAAM8B,SAASC,MAAM,0BAOtC,EACAwQ,MAAO,CACLC,SACuC,MAArCxS,EAAM8B,SAASG,UAAUC,SACJ,UAArBlC,EAAMiS,YACe,WAArBjS,EAAMiS,YAIVH,KAAM9R,EAAM8R,KACZ3B,QAASnQ,EAAMmQ,YAKvB,C,sBCxRe,SAASk2C,EAAuBrmD,GAC7C,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACwC,OAArCT,EAAM8B,SAASG,UAAUgL,SACxB1M,cAACyjB,IAA8B,CAC7BhS,WAAYhS,EAAMgS,WAClBE,gBAAiBlS,EAAMkS,gBACvBpQ,SAAU9B,EAAM8B,SAChBqC,KAAMnE,EAAMmE,KACZ8N,WAAYjS,EAAMiS,WAGlB3Q,OAAQtB,EAAMsB,OACdO,OAAQ7B,EAAM6B,OACdZ,aAA0BH,GAAjBd,EAAMiB,QAAuBjB,EAAMiB,QAAU,EACtD8Q,eAA8BjR,GAAnBd,EAAM+R,UAAyB/R,EAAM+R,UAAY,EAC5D5B,QAASnQ,EAAMmQ,QACf2B,KAAM9R,EAAM8R,KACZK,gBAAiBnS,EAAMmS,kBAGW,OAArCnS,EAAM8B,SAASG,UAAUgL,SACxB1M,cAAC8iB,IACC,CACApR,WAAYjS,EAAMiS,WAClBD,WAAYhS,EAAMgS,WAClBE,gBAAiBlS,EAAMkS,gBACvBpQ,SAAU9B,EAAM8B,SAEhBR,OAAQtB,EAAMsB,OACdO,OAAQ7B,EAAM6B,OACdZ,aAA0BH,GAAjBd,EAAMiB,QAAuBjB,EAAMiB,QAAU,EACtD8Q,eAA8BjR,GAAnBd,EAAM+R,UAAyB/R,EAAM+R,UAAY,EAC5D5B,QAASnQ,EAAMmQ,QACf2B,KAAM9R,EAAM8R,KACZK,gBAAiBnS,EAAMmS,oBAKjC,C,OCvDe,SAASm0C,EAAiBtmD,GACvC,OACEO,cAAA,OAAKgB,UAAU,6BAA4Bd,SACzCE,eAAA,KAAGY,UAAU,cAAad,SAAA,CACxBE,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAAET,EAAM8B,SAASC,MAAM,OACrDxB,cAAA,OAAKgB,UAAU,mBAAkBd,SACN,IAAxBT,EAAM8B,SAASK,MAAW,GAAAX,OAAMxB,EAAM8B,SAASK,OAAU,SAKpE,CCZe,SAASmkD,EAAiBtmD,GACvC,OACEO,cAAAC,WAAA,CAAAC,SAC4B,KAAzBT,EAAM8B,SAASykD,OACdhmD,cAAA,OACEa,MAAO,CACL0iC,QAAS,SAETziC,WAA6B,IAAjBrB,EAAMsB,OAAe,GAAK,GACtCb,SAEFF,cAAA,QAAMa,MAAO,CAAEolD,SAAU,aAAcC,WAAY,UAAWhmD,SAC3DT,EAAM8B,SAAS4kD,cAIpBnmD,cAAA,OAAKgB,UAAU,gBAAed,SAAET,EAAM8B,SAAS4kD,aAIvD,CCjBe,SAASC,EAAmB3mD,GACzC,OACEW,eAAAH,WAAA,CAAAC,SAAA,CAC6B,MAA1BT,EAAM8B,SAASykD,QACdhmD,cAAC+lD,EAAgB,CACfxkD,SAAU9B,EAAM8B,SAChBqC,KAAMnE,EAAMmE,KACZ7C,OAAQtB,EAAMsB,OACdO,OAAQ7B,EAAM6B,SAGS,MAA1B7B,EAAM8B,SAASykD,QACdhmD,cAACqmD,EAAa,CACZ9kD,SAAU9B,EAAM8B,SAChBqC,KAAMnE,EAAMmE,KACZ7C,OAAQtB,EAAMsB,OACdO,OAAQ7B,EAAM6B,WAKxB,C,qBC+BMswC,GAAsB,SAAHzvC,GAuBlB,IAtBLyN,EAAOzN,EAAPyN,QACAiiC,EAAS1vC,EAAT0vC,UAEAjN,GADQziC,EAARsiC,SACUtiC,EAAVyiC,YAEAhzB,GADUzP,EAAV+jC,WACe/jC,EAAfyP,iBACA8J,EAAavZ,EAAbuZ,cACA7U,EAAa1E,EAAb0E,cACAo+B,EAAgB9iC,EAAhB8iC,iBAEAzkB,GADoBre,EAApBqmC,qBACermC,EAAfqe,iBACA/V,EAAUtI,EAAVsI,WACAk6B,EAAQxiC,EAARwiC,SACAlzB,EAAUtP,EAAVsP,WACAE,EAAexP,EAAfwP,gBACA0zB,EAAcljC,EAAdkjC,eACA+E,EAAoBjoC,EAApBioC,qBACA14B,EAAUvP,EAAVuP,WACAi0B,EAAaxjC,EAAbwjC,cAAcllB,EAASte,EAATse,UACd3G,EAAW3X,EAAX2X,YACA8rB,EAAMzjC,EAANyjC,OACAC,EAAW1jC,EAAX0jC,YAEQnvB,EAAgBkH,cAAhBlH,YACRovB,EAA2CC,YAAc,CACvDn2B,UACA2B,KAAK,SAADtQ,OAAW4wC,EAAS,cAFlB7L,EAAMF,EAANE,OAAcF,EAAN2X,OAAc3X,EAANtf,OAAcsf,EAANG,OAKhC,OACEjmC,cAAAC,WAAA,CAAAC,SACG8lC,EAAOn9B,KAAI,SAACxH,EAAailD,GACxB,IAAMC,EAAevgB,EAAO/9B,OAExBu+C,EAAW,EACXC,EAAa,EACG,GAAhBF,GACFC,EAC2B,OAAzBnlD,EAAOE,SAASE,MAA0C,OAAzBJ,EAAOE,SAASE,KAC7C,GACA,EACNglD,EAAsC,OAAzBplD,EAAOE,SAASE,KAAgB,GAAK,IACzB,GAAhB8kD,IACTC,EAAW,EACXC,EAAa,GAEf,IAEyCC,EAmX2BC,EArXhEC,EAAan1C,EAES,gBAAtBhH,EAAW1D,SACA,OAAbF,QAAa,IAAbA,GAAsB,QAAT6/C,EAAb7/C,EAAeM,eAAO,IAAAu/C,GAAtBA,EAAwBp+C,SAAQ,SAAC6D,GAAC,OAChCA,EAAEvD,OAAOwX,MAAK,SAAC6V,GACTA,EAAEz0B,QAAUH,EAAOE,SAASC,QAAOolD,GAAa,EACtD,GAAE,KAGN,GAA6B,MAAzBvlD,EAAOE,SAASE,OAAkC,IAAlBJ,EAAO6O,OACzC,OACElQ,cAAComD,EAAkB,CAEjBrlD,OAAQ8wC,EACRvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,MALRvC,EAAOsR,IAQX,GAA6B,OAAzBtR,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OACjD,OAEE9P,cADA,CACAH,WAAA,CAAAC,SAAA,CACEF,cAACR,IAAc,CACbkB,QAAS8lD,EACTzlD,OAAQ8wC,EACRvwC,OAAQglD,EACR/kD,SAAUF,EAAOE,WAEnBvB,cAACsiD,EAAe,CAEd5wC,WAAYA,EACZ3Q,OAAQ8wC,EACRvwC,OAAQglD,EACR70C,YAAapQ,EAAO8O,YAAcy2C,EAClClmD,QAAS8lD,EACTh1C,UAAWi1C,EAEXllD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACb2N,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EACTg2B,OAAQA,EACRC,YAAaA,GAbRxkC,EAAOsR,OAoBb,GAA6B,MAAzBtR,EAAOE,SAASE,OAAkC,IAAlBJ,EAAO6O,OAChD,OACE22C,wBAAC/pC,IAA2B,CACpBnL,kBAAiBD,aACvBH,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EAET3B,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EAERvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX70C,gBAAiBA,EACjB8J,cAAeA,EACfjK,YAAapQ,EAAO8O,YAAcy2C,IAGjC,GAA6B,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OACjD,OACE22C,wBAACljC,IAA6B,CACtBhS,kBAAiBD,aACvBH,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7Cr4C,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EAERvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX72C,QAASA,EAGT6B,YAAapQ,EAAO8O,YAAcy2C,IAIjC,GAA6B,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OACjD,OACE22C,wBAACtmC,IAA8B,CAC3B5O,kBAAiBD,aAAY8O,kBACjCvS,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EACR/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX72C,QAASA,EACT2B,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,KAC7C10C,gBAAiBA,EACjB8J,cAAeA,EACf+E,UAAWA,EAGXhP,YAAapQ,EAAO8O,YAAcy2C,EAClC9sC,YAAaA,IAEV,GAA6B,OAAzBzY,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OACjD,OACE22C,wBAACf,EAAsB,CACfn0C,kBAAiBD,aACvBzD,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EAERvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX72C,QAASA,EACTgC,gBAAiBA,EACjBL,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,UAG7C70C,YAAapQ,EAAO8O,YAAcy2C,IAGjC,GAA6B,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OAGjD,OAFA9K,QAAQe,IAAI9E,EAAO8O,YAGjB02C,wBAACl8B,IAA0B,CACnBhZ,kBAAiBD,aACvBzD,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EAERvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX72C,QAASA,EACT2B,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C70C,YAAapQ,EAAO8O,YAAcy2C,IAmBjC,GAA6B,MAAzBvlD,EAAOE,SAASE,OAAkC,IAAlBJ,EAAO6O,OAGhD,MAF8B,SAA1B7O,EAAOE,SAASC,OAAkB4D,QAAQe,IAAI9E,GAGhDwlD,wBAACv1C,IAAqB,CACdK,kBAAiBD,aAAYE,kBACnC3D,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EACR/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACXl1C,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EACT6B,YAAapQ,EAAO8O,YAAcy2C,IAGjC,GAA6B,MAAzBvlD,EAAOE,SAASE,OAAkC,IAAlBJ,EAAO6O,OAChD,OACE22C,wBAAC/nC,IAAqB,CACdnN,kBAAiBD,aACvBzD,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EAERvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX70C,gBAAiBA,EACjBL,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EACT6B,YAAapQ,EAAO8O,YAAcy2C,IAGjC,GAA6B,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OAAkB,CAGnE,IAIM42C,GAJUzlD,EAAOE,SAASG,UAAUuO,OAKvCpH,KAAI,SAACk+C,GAAC,YAAkBxmD,GAAZwmD,EAAE72C,QAA6B62C,EAAE72C,MAAM,IACnD82C,QAAO,SAACC,EAAKC,GAAG,OAAKD,GAAOC,CAAG,IAElC,OACElnD,cAAAC,WAAA,CAAAC,SASEF,cAAA,OAAKmnD,OAAQL,EAAgB5mD,SAC3BF,cAAC+R,IAAU,CACTR,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,KAC7C12C,QAASA,EACTyF,aAAchU,EAAOuC,KAAKiV,IAC1B7G,MAAO,CACLxJ,MAAOnH,EAAOuC,KAAKiV,IACnB5G,SACiB,UAAfP,GAAyC,WAAfA,EAG5BuP,SAAU,SAACzY,GACT,IACE,GACiB,UAAfkJ,GACe,WAAfA,GACe,KAAfA,EACA,CAAC,IAAD01C,EACIC,GAAgB,EAChBpjC,GAAiB,OAALzb,QAAK,IAALA,OAAK,EAALA,EAAOqQ,OAAY,OAALrQ,QAAK,IAALA,GAAW,QAAN4+C,EAAL5+C,EAAO5E,YAAI,IAAAwjD,OAAN,EAALA,EAAavuC,KAoC3C,OAnCAxX,EAAOE,SAASG,UAAUuO,OAAO3H,SAC/B,SAAC9H,EAAUc,GAEoC,MAA3Cd,EAAIoP,QAAQrO,SAASG,UAAUC,UAE3BsiB,EACFA,EAAK3b,SAAQ,SAACuQ,GAETA,EAAIvX,GAAQkH,OACS,KAAtBqQ,EAAIvX,GAAQkH,OACU,eAAtBqQ,EAAIvX,GAAQkH,OAEV,wBADFqQ,EAAIvX,GAAQkH,QAGZ6+C,GAAO,EAEX,IAEAA,GAAO,EAGb,IAGGA,GACH3wC,EAAY,CACVjV,KAAM,QACNyT,QAAS,sBACTlC,YACE,2CACA3R,EAAOE,SAASC,MAClB4V,SAAU,IAGduuB,EAAc,IACP0hB,CACT,CACE,OAAO,CAEX,CAAE,MAAOhiD,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CACF,GAEF6M,OAAQ,SAAA5N,GAGD,IAADgjD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAnC,EAAAjhD,EAFJuL,MAAS4C,EAAQ8yC,EAAR9yC,SAAkBjK,GAAF+8C,EAAN/yC,OAAa+yC,EAAL/8C,OAAgB2J,GAALozC,EAAJh0C,KAASg0C,EAAHnwC,IAAG9Q,EAC3C8N,WAAajR,EAAMgR,EAANhR,OAAQD,EAAWiR,EAAXjR,YAErBymD,EAA4BjvC,YAC1BrX,EAAOE,SAASG,UAAUuO,OAC1BzH,EAAM5E,MAFAqM,EAAM03C,EAAN13C,OAAQ0I,EAAOgvC,EAAPhvC,QAgBhB,OARAnF,YAAW,WACTO,IAAE,mBAAmB6zC,MAAK,SAACpgD,EAAG8xC,GAAQ,IAAD7lC,EAEX,QADxBA,EAAAE,SACGC,eAAe0lC,EAAG3mC,WAAG,IAAAc,GADxBA,EAEIo0C,aAAa,YAAargD,EAAI,GAAGsD,WACvC,GACF,GAAG,KAGD1K,eAAA,OAAKY,UAAS,sBAAwBd,SAAA,CACpCF,cAAC20C,IAAc,CAEXhjC,kBACAD,aACA8O,kBAEF9f,QAAS8lD,EACTzlD,OAAQ8wC,EACRvwC,OAAQglD,EACR3gB,cAAeA,EACfl0B,YAAapQ,EAAO8O,YAAcy2C,EAClCh1C,gBAAiBA,EACjBkjC,SAAU7kC,EAAOiI,QACf,SAAC/L,GAAM,OAAKA,EAAE+D,aAAuB3P,IAAb4L,EAAE+D,MAAoB,IAEhD2sB,MAAOlkB,EACPlO,WAAYA,EAEZgI,SAAUA,EACVpR,OAAQA,EACR4jC,iBAAkBA,EAClBgL,YAAa4B,EACb3B,YAAaoW,EACb3hB,SAAUA,EACV+N,QACExxC,IACM,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAMywC,MACR,OAAN1wC,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAMywC,GAAWxwC,OAAOilD,KAEnB,cADP,OAANnlD,QAAM,IAANA,GAA0C,QAApCmmD,EAANnmD,EAAQC,MAAMywC,GAAWxwC,OAAOilD,UAAU,IAAAgB,GAAM,QAANC,EAA1CD,EAA4C1jD,YAAI,IAAA2jD,OAA1C,EAANA,EACI9lD,MAENovB,aACgB,OAAdwU,QAAc,IAAdA,GAGC,QAHamiB,EAAdniB,EAAgBjlB,MACd,SAACjU,GAAM,OACLA,EAAEi8B,UAAU5mC,QAAUH,EAAOE,SAASC,KAAK,WAC9C,IAAAgmD,OAHa,EAAdA,EAGGnf,OAEL+B,qBAAsBA,EACtBtwB,YAAaA,IAEd5Y,IACO,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQC,SACF,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAMywC,MACR,OAAN1wC,QAAM,IAANA,OAAM,EAANA,EAAQC,MAAMywC,GAAWxwC,OAAOilD,KAEnB,cADP,OAANnlD,QAAM,IAANA,GAA0C,QAApCsmD,EAANtmD,EAAQC,MAAMywC,GAAWxwC,OAAOilD,UAAU,IAAAmB,GAAM,QAANC,EAA1CD,EAA4C7jD,YAAI,IAAA8jD,OAA1C,EAANA,EACIjmD,OACFrB,eAAA,SAAOuS,GAAG,YAAY3R,UAAU,oBAAmBd,SAAA,CAChDmB,EAAOE,SAASC,MAAM,qBAKnC,OAKV,CAAO,MAA6B,MAAzBH,EAAOE,SAASE,OAAkC,IAAlBJ,EAAO6O,OAE9C22C,wBAACvrC,KAA0BqrC,EAAA,CACnBh1C,kBAAiBD,aAAYE,kBACnC3D,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACXl1C,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,GAET1B,YAAAy4C,EAAA,kBACiB/0C,GAAe1D,YAAAy4C,EAAA,cACnBtlD,EAAO8O,YAAcy2C,GAAU14C,YAAAy4C,EAAA,cAC/B7sC,GAAW6sC,IAGM,OAAzBtlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OAI/C22C,wBAAC7E,EAAe,CACRrwC,kBACN1D,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACXl1C,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EACTg1B,WAAYA,EAGZnzB,YAAapQ,EAAO8O,YAAcy2C,IAGJ,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OAE/C22C,wBAAC9E,EAAU,CACHtwC,aAAYE,kBAAiBD,aAAYE,kBAC/C3D,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACX72C,QAASA,EACT2B,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,kBAKf,QAAzBjlD,EAAOE,SAASE,OAAoC,IAAlBJ,EAAO6O,OAIhD22C,wBAACv1C,IAAqB,CACdK,kBAAiBD,aAAYE,kBACnC3D,IAAK5M,EAAOsR,GACZ5R,OAAQ8wC,EACRvwC,OAAQglD,EAER/kD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KAEblD,QAAS8lD,EACTh1C,UAAWi1C,EACXl1C,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,EACT6B,YAAapQ,EAAO8O,YAAcy2C,IAGJ,OAAzBvlD,EAAOE,SAASE,OAAmC,IAAlBJ,EAAO6O,OAE/ClQ,cAAC8kD,EAAc,CAEb/jD,OAAQ8wC,EACRvwC,OAAQglD,EACR50C,WAAYA,EACZD,YAAapQ,EAAO8O,YAAcy2C,EAElCrlD,SAAUF,EAAOE,SACjBqC,KAAMvC,EAAOuC,KACblD,QAAS8lD,EACTh1C,UAAWi1C,EACXl1C,KAAI,SAAAtQ,OAAW4wC,EAAS,aAAA5wC,OAAYqlD,EAAS,gBAC7C12C,QAASA,GAXJvO,EAAOsR,IAgBS,OAAzBtR,EAAOE,SAASE,MACwB,IAAxCsM,OAAOC,KAAK3M,EAAOE,UAAU0G,OAG3BjI,cAAC6kD,EAAc,CAEbnkD,QAAS8lD,EACTh1C,UAAWi1C,GAFNplD,EAAOsR,SANX,CAYT,KAGN,EAEew/B,QAAM6O,KAAKpP,G,8GC3jBbkW,EAAsB,SAACroD,GAAkB,IAADsoD,EACnD,OACE/nD,cAAA,OAAKa,MAAOpB,EAAMuoD,iBAAiB9nD,SACjCE,eAAA,QACEY,eACkCT,IAAhCd,EAAMwoD,sBACF,6BACAxoD,EAAMwoD,sBACX/nD,SAAA,MAEuBK,IAAvBd,EAAMyoD,aAA6BzoD,EAAMyoD,aAAe,KACzDloD,cAACioB,IAAS1V,YAAA,CACRvR,UAAWvB,EAAM0oD,kBACjBtnD,MAAOpB,EAAM2oD,cACb31C,SAAU,SAACtG,GAAC,OAAK1M,EAAM4oD,cAAcl8C,EAAEuG,OAAOlK,MAAO/I,EAAM6oD,SAAS,EACpE9/C,MAAO/I,EAAM8oD,WAEbp1C,SAAU1T,EAAM+oD,cAChBz1C,YAAatT,EAAMgpD,iBACnB7yC,QAASnW,EAAMipD,aACf91C,SAAUnT,EAAMkpD,cAGhBh2C,GAAI5Q,YAAmC,QAAjBgmD,EAACtoD,EAAM8oD,kBAAU,IAAAR,IAAE,IAEzC5yC,UAAW1V,EAAMmpD,eACjBnnD,KAAMhC,EAAMopD,UACZhhC,OAAQpoB,EAAMqpD,YACdt2C,OAAQ/S,EAAMspD,YACdtzC,QAAShW,EAAMupD,cAOXvpD,EAAMwpD,iBAKpB,C,kuBCpEA,kCAAO,IAAMxiC,EAAoB,WAC/B,OACEmjB,KAAKsf,SAASp+C,SAAS,IAAIrB,UAAU,EAAG,IACxCmgC,KAAKsf,SAASp+C,SAAS,IAAIrB,UAAU,EAAG,GAE5C,C,wfCLa0/C,EAAqB,eAAAhnD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOsD,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEpB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMG,EAAAE,KAAA,EACbK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAaNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAjBiC2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBrBglD,EAAc,eAAA9kD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEb,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM+B,EAAA1B,KAAA,EACbK,MAAM,0BAA2B,CACrDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACN,OAAOA,CACT,IAAG,KAAD,EAbS,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAeNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAnB0BE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAoBdilD,EAAiB,eAAA1kD,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC7BK,MAAM,6BAA8B,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAaNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAf6BE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KAiBjBklD,EAAa,eAAAtkD,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EAAOY,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACzBK,MAAM,yBAA0B,CACpDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GACL,OAAOA,EAASC,MAClB,IACCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,qBAAsBrC,EACpC,IAAG,KAAD,EAfS,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAgBNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,gBAlByBc,GAAA,OAAAf,EAAAb,MAAA,KAAAC,UAAA,KAqCburB,EAA0B,eAAAhqB,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,EAAOC,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAEzB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMqD,EAAAhD,KAAA,EACbK,MAAM,sCAAuC,CACjEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAOoD,EAAA/B,KAAA+B,EAAA9B,OAAA,SAYNtB,GAAO,wBAAAoD,EAAA7B,OAAA,GAAA2B,EAAA,KACf,gBAhBsC8D,GAAA,OAAA/D,EAAAxB,MAAA,KAAAC,UAAA,KAkB1BmlD,EAAqB,eAAAx+B,EAAA3oB,YAAAC,IAAAC,MAAG,SAAA+6B,EAAOx3B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAEpB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMi7B,EAAA56B,KAAA,EACbK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOg7B,EAAA35B,KAAA25B,EAAA15B,OAAA,SAaNtB,GAAO,wBAAAg7B,EAAAz5B,OAAA,GAAAo5B,EAAA,KACf,gBAjBiCzN,GAAA,OAAA7E,EAAA5mB,MAAA,KAAAC,UAAA,KAmBrBolD,EAAa,eAAApsB,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAu7B,EAAOh4B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAEZ,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM+6B,EAAA16B,KAAA,EACbK,MAAM,yBAA0B,CACpDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO86B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAYNtB,GAAO,wBAAA86B,EAAAv5B,OAAA,GAAA45B,EAAA,KACf,gBAhByBhC,GAAA,OAAAuB,EAAAj5B,MAAA,KAAAC,UAAA,KAkBbqlD,EAAU,eAAA7rB,EAAAx7B,YAAAC,IAAAC,MAAG,SAAA67B,EAAOt4B,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EACtBK,MAAM,uBAAwB,CAClDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOo7B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAYNtB,GAAO,wBAAAo7B,EAAA75B,OAAA,GAAAk6B,EAAA,KACf,gBAdsBrC,GAAA,OAAA8B,EAAAz5B,MAAA,KAAAC,UAAA,KAgBVs3C,EAAkB,eAAAxd,EAAA97B,YAAAC,IAAAC,MAAG,SAAAo8B,EAAO74B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OAEjB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM67B,EAAAx7B,KAAA,EACbK,MAAM,8BAA+B,CACzDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO47B,EAAAv6B,KAAAu6B,EAAAt6B,OAAA,SAYNtB,GAAO,wBAAA47B,EAAAr6B,OAAA,GAAAy6B,EAAA,KACf,gBAhB8B3C,GAAA,OAAAmC,EAAA/5B,MAAA,KAAAC,UAAA,KAkClBslD,EAAa,eAAA5a,EAAA1sC,YAAAC,IAAAC,MAAG,SAAAqxB,EAAO9tB,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAEZ,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMu8B,EAAAl8B,KAAA,EACbK,MAAM,0BAA2B,CACrDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACN,IACC,KAAD,EAbS,OAAPpB,EAAOs8B,EAAAj7B,KAAAi7B,EAAAh7B,OAAA,SAeNtB,GAAO,wBAAAs8B,EAAA/6B,OAAA,GAAA0vB,EAAA,KACf,gBAnByBwJ,GAAA,OAAA2R,EAAA3qC,MAAA,KAAAC,UAAA,KAoBbulD,EAAqB,eAAAlZ,EAAAruC,YAAAC,IAAAC,MAAG,SAAAs/B,EAAOvxB,GAAiB,IAAA3M,EAAA,OAAArB,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,cAAAqgC,EAAArgC,KAAA,EACpCK,MAAM,kCAAmC,CAC9DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU6M,KAEpB5M,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EACU,OAZzBJ,EAAQy/B,EAAAp/B,KAYdqB,QAAQe,IAAI,QAASzC,GAAUy/B,EAAAn/B,OAAA,SACxBN,GAAQ,wBAAAy/B,EAAAl/B,OAAA,GAAA29B,EAAA,KAChB,gBAfiCjE,GAAA,OAAA8S,EAAAtsC,MAAA,KAAAC,UAAA,KAqCrBwlD,EAAuB,eAAA5mB,EAAA5gC,YAAAC,IAAAC,MAAG,SAAAunD,EAAOl3C,GAAU,IAAAjQ,EAAA,OAAAL,IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,cAAA++B,EAAA/+B,KAAA,EAChCK,MAAM,uCAADlC,OAAwC0R,GAAM,CACvEvP,OAAQ,QAEPK,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAPR,OAAPpB,EAAOm/B,EAAA99B,KAAA89B,EAAA79B,OAAA,SASNtB,GAAO,wBAAAm/B,EAAA59B,OAAA,GAAA4lD,EAAA,KACf,gBAXmC5rB,GAAA,OAAA+E,EAAA7+B,MAAA,KAAAC,UAAA,KAavB0lD,EAAiB,eAAAnoB,EAAAv/B,YAAAC,IAAAC,MAAG,SAAAynD,EAAOp3C,GAAU,IAAAjQ,EAAA,OAAAL,IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,cAAA4+B,EAAA5+B,KAAA,EAC1BK,MAAM,iCAADlC,OAAkC0R,GAAM,CACjEvP,OAAQ,UAEPK,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAPR,OAAPpB,EAAOg/B,EAAA39B,KAAA29B,EAAA19B,OAAA,SASNtB,GAAO,wBAAAg/B,EAAAz9B,OAAA,GAAA8lD,EAAA,KACf,gBAX6BxrB,GAAA,OAAAoD,EAAAx9B,MAAA,KAAAC,UAAA,I,wgBC3QzB4lD,EAAS,SAATA,GAAS,OAATA,IAAS,eAATA,IAAS,qBAATA,IAAS,uBAATA,IAAS,eAATA,CAAS,EAATA,GAAS,IAMRC,EAAuB,oBAAAA,IAAAC,YAAA,KAAAD,EAAA,CA0C1B,OA1C0BE,YAAAF,EAAA,OAAAh8C,IAAA,kBAAAzF,MAM3B,WAAkC,IAAD4hD,EAAA,KAC3BC,KAAKC,OAASN,EAAUO,SAC1BF,KAAKG,MAAMliD,SAAQ,SAAAnG,IACjBic,EAD2Bjc,EAAPic,SACZgsC,EAAKxmD,KACf,IACSymD,KAAKC,OAASN,EAAUS,OACjCJ,KAAKG,MAAMliD,SAAQ,SAAAhE,IACjB+Z,EAD0B/Z,EAAN+Z,QACb+rC,EAAK/kD,MACd,IAEAglD,KAAKC,MAAQN,EAAUU,KACvBL,KAAKhlD,MAAQ,KACbglD,KAAKzmD,KAAO,KAEhB,GAAC,CAAAqK,IAAA,WAAAzF,MAED,WAA0B,IAADmiD,EAAA,KACvB,OAAO,IAAIxsC,QAAO,eAAAxZ,EAAAvC,YAAAC,IAAAC,MAAM,SAAAC,EAAO6b,EAASC,GAAM,OAAAhc,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGL,GAHKF,EAAAC,KAAA,EAG1C8nD,EAAKH,MAAM1hD,KAAK,CAAEsV,UAASC,WAEvBssC,EAAKL,OAASN,EAAUU,KAAI,CAAA9nD,EAAAE,KAAA,QACC,OAA/B6nD,EAAKL,MAAQN,EAAUY,QAAQhoD,EAAAE,KAAA,EACbK,MAAM,0BAA0BM,MAAK,SAAConD,GAAC,OACvDA,EAAElnD,MAAM,IACR,KAAD,EAFDgnD,EAAK/mD,KAAIhB,EAAAmB,KAGT4mD,EAAKL,MAAQN,EAAUO,SAAS,OAAA3nD,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAGlC+nD,EAAKtlD,MAAKzC,EAAAgkB,GACV+jC,EAAKL,MAAQN,EAAUS,KAAK,QAG9BE,EAAKG,kBAAkB,yBAAAloD,EAAAqB,OAAA,GAAA1B,EAAA,mBACxB,gBAAA2B,EAAAO,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAE,CAAF,CAlBiB,GAmBpB,KAAC6lD,CAAA,CA1C0B,GAAvBA,EACWrmD,KAAY,KADvBqmD,EAEW5kD,MAAa,KAFxB4kD,EAGWK,MAAmBN,EAAUU,KAHxCT,EAIWO,MAAmD,GAyC7D,IAAMvyC,EAAmB,WAC9B,OAAOgyC,EAAwBc,UACjC,EAEaC,EAAY,eAAAhmD,EAAA5C,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAA7B,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACJK,MAAM,gCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAONtB,EAAQwV,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAE8+C,QAAiB,KAAC,wBAAAzmD,EAAAP,OAAA,GAAAM,EAAA,KACvD,kBATwB,OAAAS,EAAAb,MAAA,KAAAC,UAAA,KAUZ8mD,EAAgB,eAAA3lD,EAAAnD,YAAAC,IAAAC,MAAG,SAAAsC,IAAA,IAAAlC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACRK,MAAM,oCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAONtB,EAAQwV,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAE8+C,QAAiB,KAAC,wBAAApmD,EAAAZ,OAAA,GAAAW,EAAA,KACvD,kBAT4B,OAAAW,EAAApB,MAAA,KAAAC,UAAA,KAUhB+mD,EAAe,eAAAxlD,EAAAvD,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAvC,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACPK,MAAM,mCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAJS,OAAPlB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAKNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,kBAP2B,OAAAU,EAAAxB,MAAA,KAAAC,UAAA,KAQfgnD,EAAgB,eAAArgC,EAAA3oB,YAAAC,IAAAC,MAAG,SAAAkD,IAAA,IAAA9C,EAAA,OAAAL,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACRK,MAAM,oCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAO+C,EAAA1B,KAAA0B,EAAAzB,OAAA,SAMNtB,GAAO,wBAAA+C,EAAAxB,OAAA,GAAAuB,EAAA,KACf,kBAR4B,OAAAulB,EAAA5mB,MAAA,KAAAC,UAAA,KAShBinD,EAAU,eAAAjuB,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAsD,IAAA,IAAAlD,EAAA,OAAAL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EACFK,MAAM,8BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOoD,EAAA/B,KAAA+B,EAAA9B,OAAA,SAMNtB,GAAO,wBAAAoD,EAAA7B,OAAA,GAAA2B,EAAA,KACf,kBARsB,OAAAw3B,EAAAj5B,MAAA,KAAAC,UAAA,KASVknD,EAAgB,eAAA1tB,EAAAx7B,YAAAC,IAAAC,MAAG,SAAA+6B,IAAA,IAAA36B,EAAA,OAAAL,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,cAAA46B,EAAA56B,KAAA,EACRK,MAAM,oCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOg7B,EAAA35B,KAAA25B,EAAA15B,OAAA,SAMNtB,GAAO,wBAAAg7B,EAAAz5B,OAAA,GAAAo5B,EAAA,KACf,kBAR4B,OAAAO,EAAAz5B,MAAA,KAAAC,UAAA,KAUhBmnD,EAAgB,eAAArtB,EAAA97B,YAAAC,IAAAC,MAAG,SAAAu7B,IAAA,IAAAn7B,EAAA,OAAAL,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,cAAA06B,EAAA16B,KAAA,EACRK,MAAM,mCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAPS,OAAPpB,EAAO86B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAQNtB,GAAO,wBAAA86B,EAAAv5B,OAAA,GAAA45B,EAAA,KACf,kBAV4B,OAAAK,EAAA/5B,MAAA,KAAAC,UAAA,KAYhBonD,EAAuB,eAAA/sB,EAAAr8B,YAAAC,IAAAC,MAAG,SAAA67B,EAAOlF,GAAa,IAAAv2B,EAAA,OAAAL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EACnCK,MAAM,mCAADlC,OAAoCg4B,IAC5Dx1B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAPS,OAAPpB,EAAOo7B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAQNtB,GAAO,wBAAAo7B,EAAA75B,OAAA,GAAAk6B,EAAA,KACf,gBAVmCr5B,GAAA,OAAA25B,EAAAt6B,MAAA,KAAAC,UAAA,KAYvBqnD,EAAsB,eAAA3c,EAAA1sC,YAAAC,IAAAC,MAAG,SAAAo8B,IAAA,IAAAh8B,EAAA,OAAAL,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,cAAAw7B,EAAAx7B,KAAA,EACdK,MAAM,4BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAPS,OAAPpB,EAAO47B,EAAAv6B,KAAAu6B,EAAAt6B,OAAA,SAQNtB,GAAO,wBAAA47B,EAAAr6B,OAAA,GAAAy6B,EAAA,KACf,kBAVkC,OAAAoQ,EAAA3qC,MAAA,KAAAC,UAAA,KAYtBsnD,EAAsB,eAAAjb,EAAAruC,YAAAC,IAAAC,MAAG,SAAA2gC,IAAA,IAAAvgC,EAAA,OAAAL,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,cAAAu7B,EAAAv7B,KAAA,EACdK,MAAM,+BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAPS,OAAPpB,EAAO27B,EAAAt6B,KAAAs6B,EAAAr6B,OAAA,SAQNtB,GAAO,wBAAA27B,EAAAp6B,OAAA,GAAAg/B,EAAA,KACf,kBAVkC,OAAAwN,EAAAtsC,MAAA,KAAAC,UAAA,KAYtBunD,EAAW,eAAA5a,EAAA3uC,YAAAC,IAAAC,MAAG,SAAAqxB,IAAA,IAAAjxB,EAAA,OAAAL,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,cAAAk8B,EAAAl8B,KAAA,EACHK,MAAM,2BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAPS,OAAPpB,EAAOs8B,EAAAj7B,KAAAi7B,EAAAh7B,OAAA,SAQNtB,GAAO,wBAAAs8B,EAAA/6B,OAAA,GAAA0vB,EAAA,KACf,kBAVuB,OAAAod,EAAA5sC,MAAA,KAAAC,UAAA,KAYXwnD,EAAyB,eAAA5oB,EAAA5gC,YAAAC,IAAAC,MAAG,SAAAs/B,IAAA,OAAAv/B,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,cAAAqgC,EAAAn/B,OAAA,SAChCb,MAAM,kCACVM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAIA,EAAKqE,OAAS,EACF,CACZ4jD,UAAWjoD,EAAK,GAAGkoD,QAAU,IAC1BziD,MAAM,KACNR,KAAI,SAAC2tC,GAAS,OAAKA,EAAEuV,OAAOphD,aAAa,IAC5CqhD,UAAWpoD,EAAK,GAAGqoD,QAAU,IAC1B5iD,MAAM,KACNR,KAAI,SAAC2tC,GAAS,OAAKA,EAAEuV,MAAM,KAIzB,IAEX,IACCloD,OAAM,SAACC,GAEN,OADAsB,QAAQC,MAAMumD,EAA0Br6C,KAAM,IAAKzN,GAC5Cqa,QAAQE,OAAOva,EACxB,KAAE,wBAAAq/B,EAAAl/B,OAAA,GAAA29B,EAAA,KACL,kBAtBqC,OAAAoB,EAAA7+B,MAAA,KAAAC,UAAA,I,kCC3KtC,oEAAO,IAAKiiC,EAAS,SAATA,GAAS,OAATA,EAAS,sCAATA,EAAS,sBAATA,EAAS,gCAATA,EAAS,kCAATA,EAAS,4CAATA,EAAS,sCAATA,EAAS,wBAATA,EAAS,YAATA,EAAS,8BAATA,EAAS,4CAATA,EAAS,0BAATA,EAAS,kCAATA,CAAS,MAeT93B,EAAiB,SAAjBA,GAAiB,OAAjBA,EAAiB,UAAjBA,EAAiB,aAAjBA,EAAiB,aAAjBA,EAAiB,yBAAjBA,EAAiB,sBAAjBA,EAAiB,cAAjBA,EAAiB,kBAAjBA,EAAiB,sBAAjBA,EAAiB,kBAAjBA,CAAiB,K,6zBCJhB29C,EAAuB,eAAA5nD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAY,EAAAgnD,EAAA,OAAA9pD,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAChBK,MAAM,yCACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAIlB,OATGqB,EAAMX,EAAAT,KAMNooD,EAAahnD,EAAO0D,KAAI,SAACg0B,GAC7B,IAAAuvB,EAAoBvvB,EAAMxzB,MAAM,MAChC,OADqCiN,YAAA81C,EAAA,GAArB,EAElB,IAAE5nD,EAAAR,OAAA,SACKmoD,GAAU,wBAAA3nD,EAAAP,OAAA,GAAAM,EAAA,KAClB,kBAZmC,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAyBvBioD,EAAwB,eAAArnD,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAE,EAAA,OAAA9C,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACjBK,MAAM,6CACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMD,EAAAnB,KAAAmB,EAAAlB,OAAA,SAMLmB,GAAM,wBAAAD,EAAAjB,OAAA,GAAAgB,EAAA,KACd,kBARoC,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KAUxBkoD,EAA0B,eAAA/mD,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,IAAA,IAAA+mD,EAAA3oD,EAAA,OAAAvB,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACZK,MAC1B,+CAECM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAUlB,OAjBGyoD,EAAa9mD,EAAA1B,KAQfH,EAAY,GAChB2oD,EAAc1jD,KAAI,SAACg0B,GACjB,IAAA2vB,EAA+C3vB,EAAMxzB,MAAM,MAAKojD,EAAAn2C,YAAAk2C,EAAA,GAAzDE,EAASD,EAAA,GAAEE,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAM3C,OALA7oD,EAAKkF,KAAK,CACRyI,KAAMm7C,EACNjrD,KAAMkrD,EACNjgD,QAASkgD,IAEJhpD,CACT,IAAG6B,EAAAzB,OAAA,SACIJ,GAAI,wBAAA6B,EAAAxB,OAAA,GAAAuB,EAAA,KACZ,kBApBsC,OAAAD,EAAApB,MAAA,KAAAC,UAAA,KAqB1ByoD,EAAyB,eAAAlnD,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,IAAA,IAAA2mD,EAAA3oD,EAAA,OAAAvB,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EACXK,MAC1B,8CAECM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAUlB,OAjBGyoD,EAAazmD,EAAA/B,KAQfH,EAAY,GAChB2oD,EAAc1jD,KAAI,SAACg0B,GACjB,IAAAiwB,EAA+CjwB,EAAMxzB,MAAM,MAAK0jD,EAAAz2C,YAAAw2C,EAAA,GAAzDJ,EAASK,EAAA,GAAEJ,EAAUI,EAAA,GAAEH,EAAaG,EAAA,GAM3C,OALAnpD,EAAKkF,KAAK,CACRyI,KAAMm7C,EACNjrD,KAAMkrD,EACNjgD,QAASkgD,IAEJhpD,CACT,IAAGkC,EAAA9B,OAAA,SACIJ,GAAI,wBAAAkC,EAAA7B,OAAA,GAAA2B,EAAA,KACZ,kBApBqC,OAAAD,EAAAxB,MAAA,KAAAC,UAAA,KAsBzB4oD,EAAsB,eAAAjiC,EAAA3oB,YAAAC,IAAAC,MAAG,SAAA+6B,IAAA,IAAAl4B,EAAA,OAAA9C,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,cAAA46B,EAAA56B,KAAA,EACfK,MAAM,2CACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMu4B,EAAA35B,KAAA25B,EAAA15B,OAAA,SAMLmB,GAAM,wBAAAu4B,EAAAz5B,OAAA,GAAAo5B,EAAA,KACd,kBARkC,OAAAtS,EAAA5mB,MAAA,KAAAC,UAAA,KAStB6oD,EAAkB,eAAA7vB,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAu7B,IAAA,IAAA14B,EAAA,OAAA9C,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,cAAA06B,EAAA16B,KAAA,EACXK,MAAM,yCACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMq4B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAMLmB,GAAM,wBAAAq4B,EAAAv5B,OAAA,GAAA45B,EAAA,KACd,kBAR8B,OAAAT,EAAAj5B,MAAA,KAAAC,UAAA,KASlB8oD,EAAc,eAAAtvB,EAAAx7B,YAAAC,IAAAC,MAAG,SAAA67B,IAAA,IAAAh5B,EAAA,OAAA9C,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EACPK,MAAM,kCACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAM24B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAMLmB,GAAM,wBAAA24B,EAAA75B,OAAA,GAAAk6B,EAAA,KACd,kBAR0B,OAAAP,EAAAz5B,MAAA,KAAAC,UAAA,KASd+oD,EAA+B,eAAAjvB,EAAA97B,YAAAC,IAAAC,MAAG,SAAAo8B,IAAA,IAAAv5B,EAAA,OAAA9C,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,cAAAw7B,EAAAx7B,KAAA,EACxBK,MAAM,8CACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,EAAKA,IACd,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMm5B,EAAAv6B,KAAAu6B,EAAAt6B,OAAA,SAMLmB,GAAM,wBAAAm5B,EAAAr6B,OAAA,GAAAy6B,EAAA,KACd,kBAR2C,OAAAR,EAAA/5B,MAAA,KAAAC,UAAA,KAU/BgpD,EAAoB,eAAA3uB,EAAAr8B,YAAAC,IAAAC,MAAG,SAAA2gC,IAAA,IAAA99B,EAAA,OAAA9C,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,cAAAu7B,EAAAv7B,KAAA,EACbK,MAAM,8BACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMk5B,EAAAt6B,KAAAs6B,EAAAr6B,OAAA,SAMLmB,GAAM,wBAAAk5B,EAAAp6B,OAAA,GAAAg/B,EAAA,KACd,kBARgC,OAAAxE,EAAAt6B,MAAA,KAAAC,UAAA,KAoBpBinD,EAAa,WAAH,OAA4DloD,MAAM,iCACtFM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,GAAC,EAEzB0pD,EAAiC,eAAA5c,EAAAruC,YAAAC,IAAAC,MAAG,SAAAs/B,IAAA,IAAAz8B,EAAA,OAAA9C,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,cAAAqgC,EAAArgC,KAAA,EAC1BK,MAAM,wCACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAMg+B,EAAAp/B,KAAAo/B,EAAAn/B,OAAA,SAMLmB,GAAM,wBAAAg+B,EAAAl/B,OAAA,GAAA29B,EAAA,KACd,kBAR6C,OAAA6O,EAAAtsC,MAAA,KAAAC,UAAA,KAUjCkpD,EAAoC,eAAAvc,EAAA3uC,YAAAC,IAAAC,MAAG,SAAAm/B,IAAA,IAAAt8B,EAAA,OAAA9C,IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,cAAAkxB,EAAAlxB,KAAA,EAC7BK,MAAM,8CACxBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALT,OAANqB,EAAM6uB,EAAAjwB,KAAAiwB,EAAAhwB,OAAA,SAMLmB,GAAM,wBAAA6uB,EAAA/vB,OAAA,GAAAw9B,EAAA,KACd,kBARgD,OAAAsP,EAAA5sC,MAAA,KAAAC,UAAA,I,ykBCtIpCmpD,EAAkBx3C,wBAA2C,MAE7Dy3C,EAAoC,SAAC/tD,GAChD,IAAA+X,EAAoCC,mBAAmB,IAAGC,EAAApB,YAAAkB,EAAA,GAAnDi2C,EAAU/1C,EAAA,GAAEg2C,EAAah2C,EAAA,GAChCgJ,EAA8BjJ,mBAA0B,IAAGkJ,EAAArK,YAAAoK,EAAA,GAApDitC,EAAOhtC,EAAA,GAAEitC,EAAUjtC,EAAA,GAC1BG,EAA8BrJ,oBAAS,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAtC5Z,EAAO6Z,EAAA,GAAE8sC,EAAU9sC,EAAA,GAEpB+sC,EAAOvoC,cAEb/Y,qBAAU,WACR,GAAItF,EAAS,CACX,IAAM6mD,EAAaC,aAAY,WAC7BC,GACF,GAAG,KAEH,OAAO,WACLC,cAAcH,EAChB,CACF,CACF,GAAG,CAAC7mD,IAEJ,IAAM+mD,EAAe,eAAA9rD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA4C,EAAAgpD,EAAA,OAAA9rD,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAAAF,EAAAC,KAAA,GAEhBirD,EAAK,GAAG,CAADlrD,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EAC6B8mD,YACpCkE,EAAK,GAAGjjD,YACR,KAAD,GAFK1F,EAAuBvC,EAAAmB,QAKvBoB,EAAO+d,OAAM,SAAC/W,GAAC,MAAiB,cAAZA,EAAEm+C,KAAqB,KAC7CuD,GAAW,IAGL,QADFM,EAAa,OAANhpD,QAAM,IAANA,OAAM,EAANA,EAAQ+S,QAAO,SAAC/L,GAAC,MAAiB,WAAZA,EAAEm+C,KAAkB,WAC/C,IAAJ6D,OAAI,EAAJA,EAAMlmD,QAAS,GACb1E,KAAKC,UAAU2qD,KAAU5qD,KAAKC,UAAUmqD,IAC1CE,GAAW,GAGfH,EAAahlD,YACF,OAANvD,QAAM,IAANA,OAAM,EAANA,EACC+S,QACA,SAAC/L,GAAC,MACY,eAAZA,EAAEm+C,OACU,aAAZn+C,EAAEm+C,OACU,cAAZn+C,EAAEm+C,OACU,YAAZn+C,EAAEm+C,KAAmB,IAExBzhD,KAAI,SAACsD,GAAC,OAAKA,EAAEoE,MAAM,MAExBq9C,EAAUllD,YAAKylD,KAChB,OAAAvrD,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAGHwC,QAAQC,MAAKzC,EAAAgkB,IAAQ,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,kBAExB,kBAlCoB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAoCfgqD,EAAS,eAAA9pD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOoO,GAAU,OAAAtQ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACZgnD,YAAkBn3C,GAAI,KAAD,EAA9BnO,EAAAT,KACZkqD,IAAkB,wBAAAzpD,EAAAP,OAAA,GAAAM,EAAA,KACnB,gBAHcL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KASf,OACEpE,cAACutD,EAAgB92C,SAAQ,CACvBjO,MAAO,CAAEilD,aAAYE,UAASS,YAAWH,kBAAiBI,cANxC,WACpBR,GAAY3mD,EACd,GAI8EhH,SAEzET,EAAMS,UAGb,ECxFeouD,EAPK,WAClB,IAAMhoD,EAAUC,qBAAWgnD,GAC3B,IAAKjnD,EACH,MAAM,IAAIG,MAAM,0DAClB,OAAOH,CACT,EC4EeioD,EAzEY,SAAC9uD,GAC1B,IAAA+uD,EAA+BF,IAAvBX,EAAOa,EAAPb,QAASS,EAASI,EAATJ,UAMjB,OACEpuD,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAAA,MAAAE,SAAI,iBACJF,cAAA,OACEgB,UAAU,cACVH,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfga,OAAQ,GACRvuD,SAEDytD,EAAQ9kD,KAAI,SAAC6lD,GAAG,OACftuD,eAAA,OACES,MAAO,CACL6L,QAAS,OACT8d,gBAAiB,YACjB7U,MAAO,QACP0B,aAAc,GACdksB,QAAS,GACTorB,UAAW,EACXvlD,SAAU,YACVlJ,SAAA,CAEFF,cAAA,QACEa,MAAO,CACLuI,SAAU,WACVwlD,MAAO,GACPC,IAAK,EACL9hD,MAAO,YACPsmC,OAAQ,WAEVz9B,QAAS,kBApCIjD,EAoCoB+7C,EAAI/7C,QAnCjDy7C,EAAUz7C,GADc,IAACA,CAoC2B,EAACzS,SAC1C,MAGDF,cAAC8uD,IAAmB,CAClB5Q,SAAK39C,EACLM,MAAO,CAAE+L,SAAU,OAAQG,MAAO,UAAWgb,UAAW,KAE1D3nB,eAAC2uD,IAAI,CACHluD,MAAO,CAAEkM,MAAO,SAChBiiD,GAAE,mBAAA/tD,OAAqBytD,EAAIn+C,QAASrQ,SAAA,CAEpCE,eAAA,QAAAF,SAAA,CAAM,yDACmD,IACtDwuD,EAAI9pB,WAAW,gCAElB5kC,cAAA,QACEa,MAAO,CACLknB,UAAW,OACXrb,QAAS,QACTK,MAAO,WACP7M,SAEDwuD,EAAIx5C,eAGL,UAMlB,E,sBCxDa+5C,EAAoC,SAAH9sD,GAA6B,IAAvByB,EAAIzB,EAAJyB,KAAMsrD,EAAS/sD,EAAT+sD,UACxD13C,EAAoCC,mBAAiB,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAAjD23C,EAAUz3C,EAAA,GAAE03C,EAAa13C,EAAA,GAChCgJ,EAAwCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAApD2uC,EAAY1uC,EAAA,GAAE2uC,EAAe3uC,EAAA,GACpCG,EAAsCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAlDyuC,EAAWxuC,EAAA,GAAEyuC,EAAczuC,EAAA,GAC1B0uC,EAAMC,YAAe,CAAC,gBAAtBD,EAEF/lC,GADUw4B,cACCyN,eACThC,EAAYW,IAAZX,QACFiC,EAAQhyC,cACdmE,EAAoCtK,mBAA0Bk2C,GAAQ3rC,EAAA1L,YAAAyL,EAAA,GAA/D8tC,EAAU7tC,EAAA,GAAE8tC,EAAa9tC,EAAA,GAChC+tC,mBAAQ,WAUN,IATA,IAAI5qD,EAASvB,EAAKojD,QAAO,SAAU6D,EAAGhP,GAGpC,OAFAgP,EAAEhP,EAAEmU,WAAanF,EAAEhP,EAAEmU,YAAc,GACnCnF,EAAEhP,EAAEmU,WAAWlnD,KAAK+yC,GACbgP,CACT,GAAG98C,OAAOkiD,OAAO,OAEGC,GAAc/qD,EAA1BgrD,QAAqBt+C,YAAK1M,EAAM2M,IAEpC+Q,EAAY,CAAC,EAAEtb,EAAA,WACd,IAAA24B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAOwG,EAAGiyB,EAAA,GACPkwB,GADclwB,EAAA,GACAgwB,EAAUjiD,GAAKiK,QAAO,SAAC1P,EAAY6Q,GACrD,IAAMsD,EAASpZ,KAAKC,UAAUgF,EAAM6nD,SACpC,OACEh3C,IACA62C,EAAUjiD,GAAKqqC,WAAU,SAACgY,GACxB,OAAO/sD,KAAKC,UAAU8sD,EAAID,WAAa1zC,CACzC,GAEJ,KACAkG,EAAK5U,GAAOmiD,CACd,EAXA3oD,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQiwB,GAAUzoD,EAAAu4B,EAAA/3B,OAAAR,IAAAF,IAapD,IAAI8nD,EAAe,GACnB,IAAK,IAAI/Y,KAAQzzB,EACfwsC,EAAavmD,KAAK,CAACwtC,EAAMzzB,EAAKyzB,KAGhC+Y,EAAakB,MAAK,SAAU1U,EAAG2U,GAC7B,OAAO3U,EAAE,GAAG,GAAG4U,WAAaD,EAAE,GAAG,GAAGC,UACtC,IACArrD,QAAQe,IAAI,SAAUkpD,GAEtBC,EAAgB,GAADruD,OAAKouD,IAEpBD,EAAa78C,YAAC,CAAC,EAAIsQ,IACnB,IAAM6tC,EAAmB,GACzB3iD,OAAOkyB,QAAQkvB,GAAY7mD,SAAQ,SAAAhE,GAAmB,IAADK,EAAA2R,YAAAhS,EAAA,GAAbK,EAAA,GAAOA,EAAA,GAC7C+rD,EAAY5nD,MAAK,EACnB,IACA0mD,EAAe,GAADvuD,OAAKyvD,GACrB,GAAG,CAAC9sD,IACJ4I,qBAAU,WACRuB,OAAOkyB,QAAQkvB,GAAY7mD,SAAQ,SAAAtD,EAAe2rD,GAAU,IAADprD,EAAA+Q,YAAAtR,EAAA,GAAtBiJ,EAAG1I,EAAA,GAAEiD,EAAKjD,EAAA,GAC7C,IAAwC,IAApCmkB,EAASknC,SAASpnD,QAAQyE,GAAa,CACzC,IAAI4iD,EAAe,IAAIpwB,MAAM8uB,EAAYtnD,QAAQy4B,MAAK,GACtDmwB,EAAaroD,EAAM,GAAGioD,WAAa,IAAK,EACxCjB,EAAc9mD,YAAKmoD,GACrB,CAEInnC,EAASknC,WAAQ,IAAA3vD,OAASgN,IAC5BzF,EAAMF,SAAQ,SAACu0B,GACb,GACEnT,EAASknC,WAAQ,IAAA3vD,OAAS47B,EAAMmzB,aACU,IAA1CtmC,EAASknC,SAASpnD,QAAQqzB,EAAMi0B,KAChC,CACA,IAAID,EAAe,IAAIpwB,MAAM8uB,EAAYtnD,QAAQy4B,MAAK,GAEtDmwB,EAAaroD,EAAM,GAAGioD,WAAa,IAAK,EACxCjB,EAAc9mD,YAAKmoD,GACrB,CACF,GAEJ,GACF,GAAG,CAACnnC,EAASknC,SAAUzB,IACvB3iD,qBAAU,WACR,IAAMqkD,EAAetB,EACK,aAAtB7lC,EAASknC,UACX1B,GAAU,GAGZ,IADA,IAAM6B,EAAYF,EAAa3tC,OAAM,SAACstC,GAAC,OAAW,IAANA,CAAW,IAC9ChpD,EAAI,EAAGA,EAAIqpD,EAAa5oD,OAAQT,IAAK,EAE9B,IADAqpD,EAAarpD,IAEzB0nD,GAAU,EAEd,CACI6B,GAAmC,aAAtBrnC,EAASknC,UACxB1B,GAAU,EAEd,GAAG,CAACK,IACJ,IAAMyB,EAAU,SAAC/iD,GACf,MAAY,aAARA,EACKjO,cAACixD,IAAU,IAER,WAARhjD,EACKjO,cAACkxD,IAAuB,IAErB,aAARjjD,EACKjO,cAACmxD,IAAgB,IAEd,uBAARljD,EACKjO,cAACoxD,IAAsB,SADhC,CAGF,EAoBA,OAlBA5kD,qBAAU,WACJmhD,EAAQ1lD,OAAS,GACL0lD,EAAQz1C,QACpB,SAAC1Q,GAAC,OAAMqoD,EAAWzvC,MAAK,SAACxY,GAAC,OAAKJ,EAAE6pD,OAASzpD,EAAEypD,KAAK,GAAC,IAE5C/oD,SAAQ,SAACd,GACfooD,EAAMl5C,YAAY,CAChBjV,KAAM,QACNyT,QAAQ,6BACRlC,YAAY,oDAAD/R,OAAsDuG,EAAEo9B,WAAU,4CAAA3jC,OAC3EuG,EAAE0N,SACJkC,SAAU,GAEd,IAEF04C,EAAcnC,EAChB,GAAG,CAACA,IAGFvtD,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACrCmvD,EAAaxmD,KAAI,SAACytC,EAAMqa,GAAU,IAADW,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChC,OACE3xD,cAAA,OAAAE,SACGo2C,EAAK,GAAGruC,OAAS,GAClBquC,EAAK,GAAGpzB,OACN,SAAC2Z,GAAU,OAAuB,OAAlBA,EAAMwzB,SAAsC,KAAlBxzB,EAAMwzB,OAAc,IAE9DrwD,cAACiqB,IAAO,CAENnV,UAAU,SACVoV,QAAS,kBACPosB,EAAK,GACFia,MACC,SAAC1U,EAAQ2U,GAAM,OACb9hD,OAAOmtC,EAAE+V,UAAYljD,OAAO8hD,EAAEoB,SAAS,IAE1C/oD,KAAI,SAACsD,EAAQ8M,GACIlX,YAAmBoK,EAAEkkD,SAErC,OACErwD,cAACm5C,WAAQ,CAAAj5C,SACQ,KAAdiM,EAAEkkD,SACW,OAAdlkD,EAAEkkD,SACc,aAAhBlkD,EAAE6jD,UACkB,IAAlB7jD,EAAE0lD,YACA7xD,cAAA,OAAAE,SACEF,cAAC+uD,IAAI,CAACC,GAAI7iD,EAAE2kD,IAAK9vD,UAAU,mBAAkBd,SAC3CF,cAAA,KAAagB,UAAU,iBAAgBd,SACpCuvD,EAAEtjD,EAAEkkD,UADCp3C,MAFFA,GAQVjZ,cAAA,OAAAE,SACEF,cAAA,KAEEgB,UAAU,iBACV4U,QAAS,WAEP7S,OAAOqe,KAAKjV,EAAE2kD,IAChB,EACAp+C,OAAO,SAAQxS,SAEduvD,EAAEtjD,EAAEkkD,UARAp3C,IAFCA,GAcQ,IAAlB9M,EAAE0lD,YACJ7xD,cAAA,OAAAE,SACEF,cAAC+uD,IAAI,CACH/tD,UAAU,mBACVguD,GAAI,kBAAoB7iD,EAAE2kD,IAAI7uD,QAAQ,IAAK,IAAI/B,SAE/CF,cAAA,KAAagB,UAAU,iBAAgBd,SACpCuvD,EAAEtjD,EAAEkkD,UADCp3C,MALFA,GAWVjZ,cAAA,OAAAE,SACEF,cAAA,KAEEgB,UAAU,iBACV4U,QAAS,WACP,IAAMk8C,EAAO3lD,EAAE2kD,IACf/tD,OAAOqe,KAAK0wC,EAAM,QACpB,EAAE5xD,SAEDuvD,EAAEtjD,EAAEkkD,UAPAp3C,IAFCA,IAvCCA,EAsDnB,GAAE,EAEN84C,QAAQ,QAAO7xD,SAEfE,eAAA,UACEY,UAAS,cAAAC,OAAgBsuD,EAAYoB,IAAK,WAC1Ch+C,GAAI5Q,YAA0B,QAARuvD,EAAChb,EAAK,UAAE,IAAAgb,IAAI,IAAIpxD,SAAA,CAErC8wD,EAAQ1a,EAAK,IACdt2C,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAEnZ,EAAK,UA3EhCqa,IA8EE,QAAPY,EAAAjb,EAAK,UAAE,IAAAib,OAAA,EAAPA,EAAStpD,QAAS,GAAC,GAAAhH,OACR,QADQuwD,EAClBlb,EAAK,GAAG,UAAE,IAAAkb,OAAA,EAAVA,EAAYV,MACa,KAAlB,QAAVW,EAAAnb,EAAK,GAAG,UAAE,IAAAmb,OAAA,EAAVA,EAAYI,aACZzxD,eAAA,KACEY,UAAS,cAAAC,OAAgBsuD,EAAYoB,IAAK,WAC1Cpc,KAAI,GAAAtzC,OAAe,QAAfywD,EAAKpb,EAAK,GAAG,UAAE,IAAAob,OAAA,EAAVA,EAAYZ,KACrBp+C,OAAQ,SACRC,GAAI5Q,YAA0B,QAAR4vD,EAACrb,EAAK,UAAE,IAAAqb,IAAI,IAAIzxD,SAAA,CAErC8wD,EAAQ1a,EAAK,IACdt2C,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAEnZ,EAAK,SAGrCl2C,eAAC2uD,IAAI,CACH/tD,UAAS,cAAAC,OAAgBsuD,EAAYoB,IAAK,WAC1C3B,GAAI1Y,EAAK,GAAGruC,OAAS,EAAC,GAAAhH,OAAMq1C,EAAK,GAAG,GAAGwa,KAAQ,GAAG5wD,SAAA,CAEjD8wD,EAAQ1a,EAAK,IACdt2C,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAEnZ,EAAK,UAtG/Bqa,EA2Gd,IACA3wD,cAACiqB,IAAO,CAENnV,UAAU,SACVoV,QAAS,kBAAMlqB,cAACuuD,EAAkB,GAAG,EACrCwD,QAAQ,QAAO7xD,SAEfE,eAAA,UAAQY,UAAS,aAAgB2R,GAAI,eAAezS,SAAA,CAClDF,cAACgyD,IAAU,IACX5xD,eAAA,KAAGY,UAAU,cAAad,SAAA,CAAC,eACZ2vD,EAAW5nD,OAAS,EAAC,KAAAhH,OAAQ4uD,EAAW5nD,OAAM,KAAM,UARhE,UAcb,E,0BC9QaijB,EAAuB,CAClC+mC,aAAc,SACdC,mBARc,IAAIC,KAQOC,IAAI,eCLlBC,EAAiBt8C,wBAA+C,CAC3EmV,EACA,WAAO,IAEIonC,EAAoB,WAAH,OAAS/rD,qBAAW8rD,EAAgB,EAErDE,EAAmC,SAAC9yD,GAC/C,IAAA+X,EAAwCC,mBAASyT,GAAexT,EAAApB,YAAAkB,EAAA,GAC1Dg7C,EAAwD,CAD3C96C,EAAA,GAAiBA,EAAA,IAMpC,OACE1X,cAACqyD,EAAe57C,SAAQ,CAACjO,MAAOgqD,EAAsBtyD,SACnDT,EAAMS,UAGb,E,wFCtBauyD,EAAc,eAAAtwD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOmwD,GAAgD,IAAAC,EAAAC,EAAAlwD,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAIjF,OAHE8vD,EAAK,IAAIziC,iBAAewiC,EAAA,GAAAzkD,YAAAykD,EACzB,UAAe,OAAJD,QAAI,IAAJA,OAAI,EAAJA,EAAMtiC,SAAU,IAAEliB,YAAAykD,EAC7B,iBAAsB,OAAJD,QAAI,IAAJA,OAAI,EAAJA,EAAMriC,gBAAgB,GAAMvlB,YAAU6nD,IACzD/vD,EAAAE,KAAA,EACoBK,MAAM,uBAAyByvD,EAAG9nD,YACrDrH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAOC,OAAPtB,QAAO,IAAPA,OAAO,EAAPA,EAASwV,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,KAAC,wBAAAxV,EAAAqB,OAAA,GAAA1B,EAAA,KACxD,gBAb0B2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KA4CdyuD,EAAc,eAAAluD,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC1BK,MAAM,0BAA2B,CACrDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAEN,OADAsB,QAAQe,IAAI,WAAYrC,GACjBA,CACT,IAAG,KAAD,EAdS,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAeNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAjB0BE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KAwCd0uD,EAAW,eAAAvtD,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,EAAOy2B,GAAY,IAAAx5B,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAEV,OAD5BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDg5B,EAAQ/4B,kBAAoBT,EAAMgD,EAAA3C,KAAA,EACZK,MAAM,uBAAwB,CAClDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUy4B,KAEpBx4B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACN,OAAOA,CACT,IAAG,KAAD,EAbS,OAAPpB,EAAO+C,EAAA1B,KAAA0B,EAAAzB,OAAA,SAeNtB,GAAO,wBAAA+C,EAAAxB,OAAA,GAAAuB,EAAA,KACf,gBAnBuB+F,GAAA,OAAAhG,EAAApB,MAAA,KAAAC,UAAA,KCpFX2uD,EAAc,eAAA5wD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACNK,MAAM,gCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAJS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAMNtB,EAAQwV,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,KAAC,wBAAAxV,EAAAqB,OAAA,GAAA1B,EAAA,KACvD,kBAR0B,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KCAd4uD,EAAa,eAAA7wD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACLK,MAAM,yBACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAMNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,kBARyB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAUb6uD,GAAgB,eAAA3uD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAApD,EAAAmB,EAAAlB,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAMjD,OALKL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EACvBmB,EAAO,CACX2N,KAAM,aACNkf,MAAOltB,KAAKC,UAAUqC,IACvBrB,EAAA1B,KAAA,EACqBK,MAAM,+BAAgC,CAC1DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KACpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAAE,KAAD,EACjB,OAPfjB,EAAO8B,EAAAT,KAObqB,QAAQe,IAAIzD,GAAS8B,EAAAR,OAAA,SAEdtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAjB4BL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,K,sDC6BhB8uD,GAAiB,SAACzzD,GAAkB,IAAD0zD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9CC,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAA7Dq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAwDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAlEqzC,EAAoBpzC,EAAA,GAAEqzC,EAAuBrzC,EAAA,GACpDG,EAA4DrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAtEmzC,EAAsBlzC,EAAA,GAAEmzC,EAAyBnzC,EAAA,GACxDgB,EAAwDtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAlEoyC,EAAoBnyC,EAAA,GAC3BC,GADoDD,EAAA,GACZvK,mBAAc,KAAGyK,EAAA5L,YAAA2L,EAAA,GAAlDmyC,EAAYlyC,EAAA,GAAEmyC,EAAenyC,EAAA,GACpCwG,EAAgCjR,mBAAc,IAAGkR,GAAArS,YAAAoS,EAAA,GAA1C4rC,GAAQ3rC,GAAA,GAAE4rC,GAAW5rC,GAAA,GAC5BC,GAA+BnR,mBAAc,IAAGoR,GAAAvS,YAAAsS,GAAA,GAAzC4rC,GAAO3rC,GAAA,GAAE4rC,GAAW5rC,GAAA,GAC3B2I,GAAgD/Z,mBAAgB,IAAGga,GAAAnb,YAAAkb,GAAA,GAA5DkjC,GAAgBjjC,GAAA,GAAEkjC,GAAmBljC,GAAA,GAC5CG,GAAkDna,mBAAS,IAAGoa,GAAAvb,YAAAsb,GAAA,GAC9DI,IADwBH,GAAA,GAAsBA,GAAA,GACVpa,mBAAgB,KAAGwa,GAAA3b,YAAA0b,GAAA,GAApC4iC,IAAF3iC,GAAA,GAAeA,GAAA,IAChCG,GAAkC3a,mBAAc,MAAK4a,GAAA/b,YAAA8b,GAAA,GAA9CyiC,GAASxiC,GAAA,GAAEyiC,GAAYziC,GAAA,GAC9BG,GAA8B/a,oBAAkB,GAAKgb,GAAAnc,YAAAkc,GAAA,GAArCxR,IAAFyR,GAAA,GAAYA,GAAA,IAC1BG,GAAoCnb,qBAAeob,GAAAvc,YAAAsc,GAAA,GAA5CzM,GAAU0M,GAAA,GAAEkiC,GAAaliC,GAAA,GAChCvN,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GAAEyS,GAAWzS,GAAA,GAC5BvvB,GAAgDvb,oBAAkB,GAAMwb,GAAA3c,YAAA0c,GAAA,GAAjEiiC,GAAgBhiC,GAAA,GAAEiiC,GAAmBjiC,GAAA,GAC5CI,GAA4B5b,mBAAiB,IAAG6b,GAAAhd,YAAA+c,GAAA,GAAzCtZ,GAAMuZ,GAAA,GAAEtZ,GAASsZ,GAAA,GAClB7O,GAAQ4D,iBAAY,MA4DI,SAEf8sC,KAAiB,OAAAC,GAAAjxD,MAAC,KAADC,UAAA,UAAAgxD,KAqB/B,OArB+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAiC,IAAA,IAAA8wD,EAAAC,EAAA,OAAAjzD,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC4B2vD,IAAiB,KAAD,EAAtC4C,EAAa7wD,EAAAT,KACbuxD,EAAc,CAChBzqD,WAAY6D,OACZ3D,aAAciE,OACdumD,OAAQvmD,OACRwmD,gBAAiBxmD,QAGnBqmD,EAAcxsD,KAAI,SAACsD,GAAY,IAADspD,EACxBtpD,EAAEtB,aAAe6D,OAAqB,QAAf+mD,EAACh2D,EAAM4mB,gBAAQ,IAAAovC,OAAA,EAAdA,EAAgBC,mBAC1CJ,EAAYzqD,WAAasB,EAAEtB,WAC3ByqD,EAAYvqD,aAAeoB,EAAEpB,aAC7BuqD,EAAYC,OAASppD,EAAEopD,OACvBD,EAAYE,gBAAkBrpD,EAAEnB,OAChC8pD,GAAaQ,GAEjB,IAEAX,GAAoBU,GACpBT,GAAcS,GAAe,wBAAA7wD,EAAAP,OAAA,GAAAM,EAAA,MAC9BJ,MAAA,KAAAC,UAAA,UAEcuxD,KAAa,OAAAC,GAAAzxD,MAAC,KAADC,UAAA,UAAAwxD,KAwB3B,OAxB2BA,GAAAxzD,YAAAC,IAAAC,MAA5B,SAAAsC,IAAA,IAAAixD,EAAAC,EAAAtuD,EAAAuuD,EAAAC,EAAA,OAAA3zD,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC4BiwD,IAAiB,KAAD,EAI1C,IAJI8C,EAAahxD,EAAAd,KAEb+xD,EAAe,GAEVtuD,EAAI,EAAGA,EAAIquD,EAAc5tD,OAAQT,KACpC4sD,EAAe,CACjB6B,WAAYvnD,OACZ6mD,OAAQvmD,OACRhE,OAAQgE,SAGGinD,WAAaJ,EAAcruD,GAAGyuD,WAC3C7B,EAAamB,OAASM,EAAcruD,GAAG+tD,OACvCnB,EAAappD,OAAS6qD,EAAcruD,GAAGwD,OAEnCopD,EAAa6B,cAA6B,QAAnBF,EAAKt2D,EAAM4mB,gBAAQ,IAAA0vC,OAAA,EAAdA,EAAgBE,aAC9CjC,EAAwBI,GAG1B0B,EAAQhtD,KAAKsrD,GAGfC,EAAgByB,GAAS,wBAAAjxD,EAAAZ,OAAA,GAAAW,EAAA,MAC1BT,MAAA,KAAAC,UAAA,UAEc8xD,KAAe,OAAAC,GAAAhyD,MAAC,KAADC,UAAA,UAAA+xD,KAsB7B,OAtB6BA,GAAA/zD,YAAAC,IAAAC,MAA9B,SAAA2C,IAAA,IAAAmxD,EAAAN,EAAAtuD,EAAA6uD,EAAAC,EAAA,OAAAj0D,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EAC6BkwD,IAAgB,KAAD,EAI1C,IAJIoD,EAAclxD,EAAAnB,KAEd+xD,EAAe,GAEVtuD,EAAI,EAAGA,EAAI4uD,EAAenuD,OAAQT,KACrC8sD,EAAW,CACbiC,aAAc7nD,OACd6mD,OAAQvmD,OACRhE,OAAQgE,SAGDunD,aAAeH,EAAe5uD,GAAG+uD,aAC1CjC,EAASiB,OAASa,EAAe5uD,GAAG+tD,OACpCjB,EAAStpD,OAASorD,EAAe5uD,GAAGwD,OAChCspD,EAASiC,gBAA+B,QAAnBF,EAAK52D,EAAM4mB,gBAAQ,IAAAgwC,OAAA,EAAdA,EAAgBE,eAC5CrC,EAA0BI,GAE5BwB,EAAQhtD,KAAKwrD,GAGfC,GAAYuB,GAAS,wBAAA5wD,EAAAjB,OAAA,GAAAgB,EAAA,MACtBd,MAAA,KAAAC,UAAA,UAEcoyD,KAAa,OAAAC,GAAAtyD,MAAC,KAADC,UAAA,UAAAqyD,KAsB3B,OAtB2BA,GAAAr0D,YAAAC,IAAAC,MAA5B,SAAAkD,IAAA,IAAAkxD,EAAAZ,EAAAtuD,EAAAmvD,EAAAC,EAAA,OAAAv0D,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EAC4B+sB,aAAc,uBAAmBtvB,GAAW,KAAD,EAIrE,IAJIm2D,EAAajxD,EAAA1B,KAEb+xD,EAAe,GAEVtuD,EAAI,EAAGA,EAAIkvD,EAAczuD,OAAQT,KACpCovD,EAAW,CACbC,WAAYnoD,OACZ6mD,OAAQvmD,OACRhE,OAAQgE,SAGD6nD,WAAaH,EAAclvD,GAAGqvD,WACvCD,EAASrB,OAASmB,EAAclvD,GAAG+tD,OACnCqB,EAAS5rD,OAAS0rD,EAAclvD,GAAGwD,OAC/B4rD,EAASC,cAA6B,QAAnBF,EAAKl3D,EAAM4mB,gBAAQ,IAAAswC,OAAA,EAAdA,EAAgBE,aAC1C3C,EAA0B0C,GAE5Bd,EAAQhtD,KAAK8tD,GAGfnC,GAAYqB,GAAS,wBAAArwD,EAAAxB,OAAA,GAAAuB,EAAA,MACtBrB,MAAA,KAAAC,UAAA,CA3JDoI,qBAAU,WAMR,GALAmpD,KACAR,KACAqB,KACAN,KAGGY,yBAAcr3D,EAAM4mB,WACE,iBAAvB5mB,EAAMs3D,aAgBN/8C,GAAU,WAfV,CAAC,IAADg9C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACMC,EAAkB,CACtBrB,WAA0B,QAAhBe,EAAEv3D,EAAM4mB,gBAAQ,IAAA2wC,OAAA,EAAdA,EAAgBf,WAC5BV,OAAsB,QAAhB0B,EAAEx3D,EAAM4mB,gBAAQ,IAAA4wC,OAAA,EAAdA,EAAgBM,eACxBvsD,OAAsB,QAAhBksD,EAAEz3D,EAAM4mB,gBAAQ,IAAA6wC,OAAA,EAAdA,EAAgBhsD,gBAEpBssD,EAAc,CAClBjB,aAA4B,QAAhBY,EAAE13D,EAAM4mB,gBAAQ,IAAA8wC,OAAA,EAAdA,EAAgBZ,aAC9BhB,OAAsB,QAAhB6B,EAAE33D,EAAM4mB,gBAAQ,IAAA+wC,OAAA,EAAdA,EAAgBK,iBACxBzsD,OAAsB,QAAhBqsD,EAAE53D,EAAM4mB,gBAAQ,IAAAgxC,OAAA,EAAdA,EAAgBlsD,kBAE1B6oD,EAAwBsD,GACxBpD,EAA0BsD,GAC1Bx9C,GAAU,OACZ,CAGAgH,IAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,GAAS,gBACvD,GAAG,CAACA,KAEJvN,qBAAU,WACR,GAAI/M,EAAMi4D,kBAAmB,CAAC,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrBV,EAAkB,CACtBrB,WAA0B,QAAhB0B,EAAEl4D,EAAM4mB,gBAAQ,IAAAsxC,OAAA,EAAdA,EAAgB1B,WAC5BV,OAAsB,QAAhBqC,EAAEn4D,EAAM4mB,gBAAQ,IAAAuxC,OAAA,EAAdA,EAAgBL,eACxBvsD,OAAsB,QAAhB6sD,EAAEp4D,EAAM4mB,gBAAQ,IAAAwxC,OAAA,EAAdA,EAAgB3sD,gBAEpBssD,EAAc,CAClBjB,aAA4B,QAAhBuB,EAAEr4D,EAAM4mB,gBAAQ,IAAAyxC,OAAA,EAAdA,EAAgBvB,aAC9BhB,OAAsB,QAAhBwC,EAAEt4D,EAAM4mB,gBAAQ,IAAA0xC,OAAA,EAAdA,EAAgBN,iBACxBzsD,OAAsB,QAAhBgtD,EAAEv4D,EAAM4mB,gBAAQ,IAAA2xC,OAAA,EAAdA,EAAgB7sD,kBAE1B6oD,EAAwBsD,GACxBpD,EAA0BsD,GAC1B7B,KACAR,KAEAe,KACAM,KACAx1C,IAAW,EACb,MACEgzC,EAAwB,MACxBE,EAA0B,MAC1Ba,QAAcx0D,EAElB,GAAG,CAACd,EAAMi4D,oBAmGV,IA0BMO,GAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAEMgjD,GAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA8xC,EAAAC,EAAAC,EAAAC,EAAAC,EAAApzD,EAAAwT,EAAA,OAAAtW,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAiB9B,GAhBCujB,EAAgB,CAAC,EACjB8xC,GAAY,EACZC,GAAa,EAEjB1D,GAAiBpsD,SAAQ,SAAC6D,GAAY,IAADqsD,EACnC,GAAIrsD,EAAEtB,cAA6B,QAAnB2tD,EAAK/4D,EAAM4mB,gBAAQ,IAAAmyC,OAAA,EAAdA,EAAgB3tD,YAAY,CAC/C,GAAIsB,EAAEpB,eAAiBnH,EAAKmH,aAG1B,OAFAotD,GAAY,OACZE,EAASlsD,GAEJ,GAAIA,EAAElB,QAAUrH,EAAKqH,MAG1B,OAFAmtD,GAAa,OACbC,EAASlsD,EAGb,CACF,IACKgsD,GAAcC,EAAU,CAAAx1D,EAAAE,KAAA,SA2E1B,MA1Ec,QAAXiX,IACFsM,EAASxb,WAAa,EACtBwb,EAASoyC,SAAW70D,EAAK60D,SACzBpyC,EAAStb,aAAenH,EAAKmH,aAC7Bsb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASpb,MAAQrH,EAAKqH,MACtBob,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS4vC,WAAaryD,EAAK80D,SAASzC,WACpC5vC,EAASkxC,eAAiB3zD,EAAK80D,SAASnD,OACxClvC,EAASnb,eAAiBtH,EAAK80D,SAAS1tD,OACxCqb,EAASkwC,aAAe3yD,EAAK+0D,WAAWpC,aACxClwC,EAASoxC,iBAAmB7zD,EAAK+0D,WAAWpD,OAC5ClvC,EAASlb,iBAAmBvH,EAAK+0D,WAAW3tD,OAC5Cqb,EAASwwC,WAAajzD,EAAKg1D,SAAS/B,WACpCxwC,EAASwyC,eAAiBj1D,EAAKg1D,SAASrD,OACxClvC,EAASyyC,eAAiBl1D,EAAKg1D,SAAS5tD,OACxCqb,EAAS0yC,KAAOn1D,EAAKm1D,KACrB1yC,EAASqvC,gBAA2B,OAATb,SAAS,IAATA,IAAqB,QAAZyD,EAATzD,GAAWhqD,kBAAU,IAAAytD,OAAZ,EAATA,EAAuBxtD,WAClDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,GAAS3a,WAAWC,WAC1Cub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,GAAS3a,WAAWC,cAEzCub,EAAW5mB,EAAM4mB,UACRoyC,SAAW70D,EAAK60D,SACzBpyC,EAAStb,aAAenH,EAAKmH,aAC7Bsb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASpb,MAAQrH,EAAKqH,MACC,iBAAvBxL,EAAMs3D,kBACgBx2D,IAAlBqD,EAAKwU,UAA4C,KAAlBxU,EAAKwU,SACjCiO,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASjO,UAAW,EACtBiO,EAASjO,UAAW,EACzBiO,EAAS4vC,WAAaryD,EAAK80D,SAASzC,WACpC5vC,EAASkxC,eAAiB3zD,EAAK80D,SAASnD,OACxClvC,EAASnb,eAAiBtH,EAAK80D,SAAS1tD,OACxCqb,EAASkwC,aAAe3yD,EAAK+0D,WAAWpC,aACxClwC,EAASoxC,iBAAmB7zD,EAAK+0D,WAAWpD,OAC5ClvC,EAASlb,iBAAmBvH,EAAK+0D,WAAW3tD,OAC5Cqb,EAASwwC,WAAajzD,EAAKg1D,SAAS/B,WACpCxwC,EAASwyC,eAAiBj1D,EAAKg1D,SAASrD,OACxClvC,EAASyyC,eAAiBl1D,EAAKg1D,SAAS5tD,OACxCqb,EAAS0yC,KAAOn1D,EAAKm1D,KACrB1yC,EAASqvC,gBAA2B,OAATb,SAAS,IAATA,IAAqB,QAAZ0D,EAAT1D,GAAWhqD,kBAAU,IAAA0tD,OAAZ,EAATA,EAAuBztD,WAClDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,GAAS3a,WAAWC,iBAGzBvK,IAAf4lB,KACFE,EAASkzC,YAAcpzC,IAExBvjB,EAAAE,KAAA,EAEkB+vD,EAAexsC,GAAU,KAAD,EAAjC,GAEY,aAFlBlhB,EAAMvC,EAAAmB,MAECoB,OAAoB,CAAAvC,EAAAE,KAAA,SACK,GAAlCsC,QAAQe,IAAI,CAAEkgB,WAAUlhB,WAEG,iBAAvB1F,EAAMs3D,aAA+B,CAAAn0D,EAAAE,KAAA,SACzB0iB,GAEdwvC,GADU3uC,GACWzjB,EAAAE,KAAA,yBAEMvC,IAAvBd,EAAM+5D,aAA0B,CAAA52D,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACP+sB,aACzB,uBACAtvB,GACA,KAAD,IAHGoY,EAAc/V,EAAAmB,MAKNkE,OAAS,GACnBxI,EAAM+5D,aAAa7gD,QAEQpY,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,QAGLh6D,EAAMi6D,sBAAqB,GAAO92D,EAAAE,KAAA,sBAELvC,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAOvB,QAAA72D,EAAAE,KAAA,iBAGEq1D,GACFzhD,EAAY,CACV1D,YAAY,qBAAD/R,OAAuBo3D,EAAOttD,aAAY,uBAAA9J,OAAsBo3D,EAAOrtD,QAClFkK,QAAQ,4BACRzT,KAAM,YAaN22D,GACF1hD,EAAY,CACV1D,YAAY,cAAD/R,OAAgBo3D,EAAOptD,MAAK,uBAAAhK,OAAsBo3D,EAAOrtD,QACpEkK,QAAQ,4BACRzT,KAAM,iBAamBlB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,gBA1Ke2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkNVyhD,GAAe,SAAC15C,IAItB,SAAmByZ,GACjB,IAAI+zC,EAAS,IAAIC,WACjBD,EAAOE,cAAcj0C,GACrB+zC,EAAOG,OAAS,WACd/E,GAAc4E,EAAOx0D,OACvB,EACAw0D,EAAOI,QAAU,SAAU10D,GACzB,CAEJ,CAZE20D,CAAU7tD,EAAEuG,OAAOoT,MAAM,GAC3B,EAaA,OACE1lB,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAC4mB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,MAAO0B,aAAc,OAAQ4iD,SAAU,UACvDC,WAAY,MACZpzC,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMi6D,sBAAqB,EAC7B,EACApyC,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAAA,CAEXF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACZrkB,eAAA,QAAMukC,SAAUD,GApRA,SAAC9gC,IAChBqxD,IAAoBx1D,EAAMi4D,wBAEEn3D,IAA7BqD,EAAK80D,SAASzC,iBACmB11D,IAAjCqD,EAAK+0D,WAAWpC,cAEhB1vC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,GACI,mBACA,oBACNnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACFpoB,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,GAAWt0D,EACb,GAIR,IA4PmD5C,UAAU,UAASd,SAAA,CAC7D,IACDE,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACTyF,aAA4B,QAAhB89C,EAAE1zD,EAAM4mB,gBAAQ,IAAA8sC,OAAA,EAAdA,EAAgBpoD,aAC9BiH,MAAO,CAAEC,SAAU,8BACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACToD,UAAW,GACXkC,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,mBAGvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACTyF,aAA4B,QAAhB+9C,EAAE3zD,EAAM4mB,gBAAQ,IAAA+sC,OAAA,EAAdA,EAAgBqF,SAC9BzmD,MAAO,CAAEC,SAAU,yBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,eAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAA4B,QAAhBg+C,EAAE5zD,EAAM4mB,gBAAQ,IAAAgtC,OAAA,EAAdA,EAAgBkC,OAC9BvjD,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,aAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAA4B,QAAhBi+C,EAAE7zD,EAAM4mB,gBAAQ,IAAAitC,OAAA,EAAdA,EAAgBtoD,OAC9BgH,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,aAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,QACjBE,aAAc,iCACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,EACTyF,aAA4B,QAAhBk+C,EAAE9zD,EAAM4mB,gBAAQ,IAAAktC,OAAA,EAAdA,EAAgBtoD,MAC9B+G,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,YAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+BAGlBnN,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,OACL3B,QAASA,EACTyF,aAA4B,QAAhBm+C,EAAE/zD,EAAM4mB,gBAAQ,IAAAmtC,OAAA,EAAdA,EAAgBuF,KAC9B7mD,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTuS,QAAS,CAAC,KAAM,MAChBrP,YAAY,kBACZ,MAIgB,iBAAvBtT,EAAMs3D,cACL32D,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,aACE5V,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAEjBxI,QAASA,EACTsC,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,OAIXr6D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,6CACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACToC,MAAO,CAAEC,SAAU,yBACnBoD,aAAc0+C,EACd7hD,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAC++C,IACCxsC,wBAAA,CACAI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTuS,QAASgyC,EACTmG,YAA+B,OAAlB/0C,GAASuzC,KAAgB,SAAW,SACjD7gD,QAAM,EACNsiD,WAAS,EACTC,SAA4B,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAC9ChmD,YAAY,oBACZ/R,UAAWo5D,YAAW,CACpB,iBAAsC75D,IAAzBwzD,MAGf,IAGLkE,GAAoB,eAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,mDACdV,UAAQ,MAGZrM,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,EACToC,MAAO,CAAEC,SAAU,2BACnBoD,aAAc4+C,EACd/hD,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTuS,QAASkyC,GACTiG,YAA+B,OAAlB/0C,GAASuzC,KAAgB,SAAW,SACjD/3D,UAAWo5D,YAAW,CACpB,iBAAwC75D,IAA3B0zD,IAEf/7C,QAAM,EACNsiD,WAAS,EACTC,SAA4B,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAC9ChmD,YAAY,wBAEZ,IAGLklD,GAAoB,iBAEvBj4D,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,iDAGlBnN,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACTyF,aAAc8+C,EACdjiD,OAAQ,SAAAusB,GAAA,IAAG5uB,EAAK4uB,EAAL5uB,MAAiB4uB,EAAV07B,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTuS,QAASoyC,GACT+F,YAA+B,OAAlB/0C,GAASuzC,KAAgB,SAAW,SACjD7gD,QAAM,EACNsiD,WAAS,EACTC,SAA4B,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAC9ChmD,YAAY,sBAGZ,MAIR/S,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,yEAGlB/M,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,kBACL3B,QAASA,EACTyF,aAAcw/C,GACd3iD,OAAQ,SAAA48B,GAAA,IAAGj/B,EAAKi/B,EAALj/B,MAAOsqD,EAAUrrB,EAAVqrB,WAAU,OAC1B/5D,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRtV,GAAI9C,EAAM0B,KACV/I,MAAqB,OAAdqsD,GAAqB,GAAc,OAATA,SAAS,IAATA,QAAS,EAATA,GAAWU,OAC5Cv0D,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1Bx5D,MAAO,CAAEwW,aAAc,cAAe0I,OAAQ,QAC9CnN,UAAQ,KAERkkD,yBAAcjC,KACd70D,cAACwnB,IAAM,CACL/lB,KAAK,QACLmV,KAAK,cACL5V,UAAU,wCACV4U,QAAS,WACPk/C,GAAa,KACf,EACAj0D,MAAO,CACLkf,OAAQ,UAId/f,cAACwnB,IAAM,CACL5Q,KAAK,eACL5V,UAAU,uDACVH,MAAO,CACL2pB,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVnK,QAAS,WACPs/C,IAAoB,EACtB,MAEE,IAGT+C,GAAoB,sBAEX,QAAXl+C,IACC3Z,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,iDAGlBnN,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAAF,SAAA,CACEF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,EACTyF,aAAc8Q,GACdjU,OAAQ,SAAAu+B,GAAQA,EAAL5gC,MAAiB4gC,EAAV0pB,WAAU,OAC1B/5D,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRxmB,KAAK,OACLomB,OAAO,UACPlV,GAAG,WACHF,SAAUozC,GACVhlD,MAAO,CACLwW,aAAc,cACd0I,OAAQ,UAGZ/f,cAACwnB,IAAM,CACL/lB,KAAK,QACLmV,KAAK,cACL5V,UAAU,wCACV4U,QAAS,WACPm/C,GAAc,GAChB,EACAl0D,MAAO,CACLkf,OAAQ,OACR1I,aAAc,mBAGd,SAGM9W,IAAf4lB,GACCnmB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,YAAY0kD,IAAKv/B,OAGlCnmB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OACEgB,UAAU,YACV0kD,IAAmB,QAAhB+N,EAAEh0D,EAAM4mB,gBAAQ,IAAAotC,OAAA,EAAdA,EAAgB8F,2BASrCn5D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAAA,UACEwV,QAAS,WACPivB,IACAplC,EAAMi6D,sBAAqB,EAC7B,EACA14D,UAAU,gBAAed,SAAA,CAEzBF,cAAC06D,KAAG,IAAG,WAITt6D,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAMlB36D,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUiU,GACV5T,aAnec,SAACl9C,GACnBkxD,GAAalxD,GACbsxD,IAAoB,GACpBl0C,IAAW,EACb,EAgeMxI,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeuU,GACftU,iBAAkBuU,OAI1B,EC76BM2F,GAAS,CAAC,WAAY,UACfC,GAA4B,WACvC/sD,OAAOC,KAAKhL,cAAcsF,SAAQ,SAAC2F,GAAG,OACnC4sD,GAAOpyD,SAASwF,GAAsC,GAA/BjL,aAAa+3D,WAAW9sD,EAAS,GAE7D,E,eCUa+sD,GAA2B,SAACv7D,GACvC,IAAA+X,EAAoCC,mBAAiB,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAAjD23C,EAAUz3C,EAAA,GAAE03C,EAAa13C,EAAA,GAChCgJ,EAAsCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAlD6uC,EAAW5uC,EAAA,GAAE6uC,EAAc7uC,EAAA,GAClCG,EAAgCrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA7Cm6C,EAAQl6C,EAAA,GAAEm6C,EAAWn6C,EAAA,GAC5BgB,EAA0CtK,mBAAiB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAvDo5C,EAAan5C,EAAA,GAAEo5C,EAAgBp5C,EAAA,GACtCC,EAAkCxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA/Co5C,EAASn5C,EAAA,GAAEo5C,EAAYp5C,EAAA,GAC9BwG,EAA8BjR,mBAAc,CAAC,GAAEkR,EAAArS,YAAAoS,EAAA,GAAxCuT,EAAOtT,EAAA,GAAE4yC,EAAU5yC,EAAA,GAC1BC,EAAkDnR,oBAAkB,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAnE8uC,EAAiB7uC,EAAA,GAAE6wC,EAAoB7wC,EAAA,GACxC2yC,EAAU,IAAIrJ,IACpBsJ,EAAwCnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAApDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAC5BjM,EAAMC,YAAe,CAAC,gBAAtBD,EACRjjD,qBAAU,WACR,IAAMyvB,EAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACtE,GAAgB,OAAZg5B,EAAkB,CAMpB,IALA,IAAI1qB,EAAO0qB,EAAQ7Q,aAAapgB,QAAU,GACtCvI,EAAQw5B,EAAQ7Q,aAAangB,OAAS,GACpC4wD,EAA6BtqD,EAAKlI,MAAM,KAC1CyyD,EAAY,GACZC,EAAW,GACNv0D,EAAI,EAAGA,EAAIq0D,EAAS5zD,OAAQT,IACzB,IAANA,IACFs0D,EAAYD,EAASr0D,GAAGq2C,MAAM,EAAG,GAAGme,eAE5B,IAANx0D,IACFu0D,EAAWF,EAASr0D,GAAGq2C,MAAM,EAAG,GAAGme,eAIvCV,EAAa74D,GACb24D,EAAiBU,EAAYC,GAC7Bb,EAAY3pD,GACZgqD,EAAWt/B,EAAQ7Q,aACrB,CACF,GAAG,CAACuwC,EAAazJ,kBACjB1lD,qBAAU,WASR,IARA,IAAIrH,EAAS1F,EAAMmE,KAAKojD,QAAO,SAAU6D,EAAQhP,GAG/C,OAFAgP,EAAEhP,EAAEmU,WAAanF,EAAEhP,EAAEmU,YAAc,GACnCnF,EAAEhP,EAAEmU,WAAWlnD,KAAK+yC,GACbgP,CACT,GAAG98C,OAAOkiD,OAAO,OAEGC,GAAc/qD,EAA1BgrD,QAAqBt+C,YAAK1M,EAAM2M,KACpC+Q,EAAY,CAAC,EAAEtb,EAAA,WACd,IAAA24B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAOwG,EAAGiyB,EAAA,GACPkwB,GADclwB,EAAA,GACAgwB,EAAUjiD,GAAKiK,QAAO,SAAC1P,EAAY6Q,GACrD,IAAMsD,EAASpZ,KAAKC,UAAUgF,EAAM6nD,SACpC,OACEh3C,IACA62C,EAAUjiD,GAAKqqC,WAAU,SAACgY,GACxB,OAAO/sD,KAAKC,UAAU8sD,EAAID,WAAa1zC,CACzC,GAEJ,KACAkG,EAAK5U,GAAOmiD,CACd,EAXA3oD,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQiwB,GAAUzoD,EAAAu4B,EAAA/3B,OAAAR,IAAAF,IAapD6nD,EAAcvsC,GACd,IAAM6tC,EAAmB,GACzB3iD,OAAOkyB,QAAQkvB,GAAY7mD,SAAQ,SAAAnG,GAAmB,IAADmC,EAAAgS,YAAAnU,EAAA,GAAbmC,EAAA,GAAOA,EAAA,GAC7CosD,EAAY5nD,MAAK,EACnB,IAEA0mD,EAAe,GAADvuD,OAAKyvD,GACrB,GAAG,CAACjxD,EAAMmE,OACV,IAAQq4D,EAAUC,IAAVD,MACFvyC,EAAWimC,cACXwM,EAAUja,cAChB11C,qBAAU,WACRuB,OAAOkyB,QAAQkvB,GAAY7mD,SAAQ,SAAA3D,EAAegsD,GAAU,IAAD3rD,EAAAsR,YAAA3R,EAAA,GAAtBsJ,EAAGjJ,EAAA,GAAEwD,EAAKxD,EAAA,GAC7C,GAAI0kB,EAASknC,WAAQ,IAAA3vD,OAASgN,GAAO,CACnC,IAAI4iD,EAAe,IAAIpwB,MAAM8uB,EAAYtnD,QAAQy4B,MAAK,GACtDmwB,EAAaF,IAAQ,EACrBnB,EAAc9mD,YAAKmoD,GACrB,CAUA,GATInnC,EAASknC,WAAQ,IAAA3vD,OAASgN,IAC5BzF,EAAMF,SAAQ,SAACu0B,GACb,GAAInT,EAASknC,WAAQ,GAAA3vD,OAAQ47B,EAAMi0B,KAAO,CACxC,IAAID,EAAe,IAAIpwB,MAAM8uB,EAAYtnD,QAAQy4B,MAAK,GACtDmwB,EAAaF,IAAQ,EACrBnB,EAAc9mD,YAAKmoD,GACrB,CACF,IAEmB,aAAjBnnC,EAASknC,SAAyB,CACpC,IAAIC,EAAe,IAAIpwB,MAAM8uB,EAAYtnD,QAAQy4B,MAAK,GACtD8uB,EAAc9mD,YAAKmoD,GACrB,CACF,GACF,GAAG,CAACnnC,EAASknC,SAAUzB,IAuOvB,OACE/uD,eAAA,OAAKY,UAAU,mCAAkCd,SAAA,CAC/CF,cAACkzD,GAAc,CACb6D,aAAa,eACb1wC,SAAU4V,EACVy7B,kBAAmBA,EACnBgC,qBAAsBA,IAEvBj6D,EAAMmE,KAAKqE,OAAS,EAjKP,WAChB,IAAMY,EAAW,GAgIjB,OA/HAA,EAAIC,KACF9I,cAAAC,WAAA,CAAAC,SACEF,cAACi8D,EAAK,CACJn1C,OACE9mB,cAAA,OAAKgB,UAAU,wBAAuBd,SACpCE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,KAAGgB,UAAU,eAAcd,SAAEi7D,MAE/Bn7D,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCF,cAACo8D,IAAe,CAACp7D,UAAU,oBAC3BhB,cAAA,KAAGgB,UAAU,qCAAoCd,SAC9C+6D,OAGL76D,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCF,cAACq8D,IAAa,CAACr7D,UAAU,qBACzBhB,cAAA,KAAGgB,UAAU,qCAAoCd,SAC9Cm7D,iBAOdn7D,SAGDE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAAA,OACEY,UAAU,kBACV4U,QAAS,WACP8jD,GAAqB,EAEvB,EAAEx5D,SAAA,CAEFF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAACs8D,IAAgB,MAEnBt8D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAE,gBAEhCrvD,eAAA,OACEY,UAAU,kBACV4U,QAAS,WAEP,EACA1V,SAAA,CAEFF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAAA,OACE2V,MAAM,KACNoK,OAAO,KACPw8C,QAAQ,YACR77B,KAAK,OACL87B,MAAM,6BAA4Bt8D,SAElCF,cAAA,QACEy8D,EAAE,8gBACF/7B,KAAK,QACLg8B,OAAO,QACP,eAAa,MACb,iBAAe,QACf,kBAAgB,cAItB18D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAE,wBAEhCrvD,eAAA,OACEY,UAAU,kBACV4U,QAAS,WACP4lD,EAAQ/d,OAAO,cACfqd,KAGAc,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,IAEtD,EAAEhyD,SAAA,CAEFF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAAC28D,IAAa,MAEhB38D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAE,mBAxD9B,aA8DV1hD,OAAOkyB,QAAQkvB,GAAY7mD,SAAQ,SAAA/C,EAAeorD,GAAU,IAADhrD,EAAA2Q,YAAA/Q,EAAA,GAAtB0I,EAAGtI,EAAA,GAAE6C,EAAK7C,EAAA,GACjC,YAARsI,GACFpF,EAAIC,KACF9I,cAAAC,WAAA,CAAAC,SACGsI,EAAMP,OAAS,EACdjI,cAACi8D,EAAK,CAACn1C,OAAQ7Y,EAAI/N,SAChBsI,EAAMK,KAAI,SAACsD,EAAQ8M,GAAQ,OAC1BjZ,cAAA,KAEEgB,UAAU,iBACV4U,QAAS,WACPumD,EAAQrzD,KACN,kBAAoBqD,EAAE2kD,IAAIjvD,WAAW,IAAK,KAE5CpC,EAAMm9D,eACR,EAAE18D,SAEDiM,EAAEkkD,SATEp3C,EAUH,KAbiBhL,GAiBzBjO,cAAA,UACEgB,UAAS,cAAAC,OAAgBsuD,EAAYoB,IAAK,WAC1C/6C,QAAS,WACPumD,EAAQrzD,KAAK,GAAD7H,OAAIuH,EAAM,GAAGsoD,MACzBrxD,EAAMm9D,eACR,EAAE18D,SAEFF,cAAA,KAAGgB,UAAU,cAAad,SAAE+N,QAMxC,IAuBEjO,aApBA,CAoBCk8D,IAAQ,CAACW,iBAAkB,CAAC,KAAK38D,SAAE2I,GAExC,CAS6Bi0D,GAAc,OAG7C,E,mBCvVaC,GAAa,eAAA56D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC3BE,GAAa,IAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAE4BK,MACvC,+BACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEw5D,KAAMv6D,MAG9BgB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACw5D,GACL,OAAIA,EACgBA,EAAWp0D,KAAI,SAACytC,GAChC,OAAA/jC,wBAAA,GACK+jC,GAAI,IACP0Z,UACE1Z,EAAK0Z,UAAUvmC,OAAO,GAAGuyC,cAAgB1lB,EAAK0Z,UAAUnS,MAAM,IAEpE,IAGK,EACT,IAAG,KAAD,EAvB4B,OAA1Bn7C,EAA0BE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAyBzBtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBA7ByB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,K,uCCqKX84D,GAlIiD,SAAH/6D,GAQtD,IAPL+kB,EAAO/kB,EAAP+kB,QACAi2C,EAAYh7D,EAAZg7D,aACAC,EAAgBj7D,EAAhBi7D,iBACA14B,EAAYviC,EAAZuiC,aACA90B,EAAOzN,EAAPyN,QACAzO,EAAMgB,EAANhB,OACAk8D,EAAkBl7D,EAAlBk7D,mBAEQ5N,EAAMC,YAAe,CAAC,gBAAtBD,EACR,OACEzvD,cAAC+xC,KAAK,CACJurB,UAAWt9D,cAACu9D,KAAS,IACrBv8D,UAAU,iBACV2U,MAAO,IACPuR,QAASA,EACTK,QAAQ,EACR+2B,SAAU6e,EAAaj9D,SAEvBF,cAAA,QAAM2kC,SAAUD,EAAa04B,GAAkBl9D,SAC7CE,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAE,qBAC9BrvD,eAAA,OAAKY,UAAU,8BAA6Bd,SAAA,CAC1CE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BE,eAAA,KAAGY,UAAU,aAAYd,SAAA,CAAC,sBACLF,cAAA,QAAAE,SAAM,SAE3BF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0GAE3BF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAK,OACdzP,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,WACLT,UAAS,kBAAAC,OACPE,EAAOq8D,iBAAmB,UAAY,OAGzCr8D,EAAOq8D,kBACNx9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,iGAExB,OAIZE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BE,eAAA,KAAGY,UAAU,aAAYd,SAAA,CAAC,kBACTF,cAAA,QAAAE,SAAM,SAEvBF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,kFAE3BF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAK,OACdzP,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,WACLT,UAAS,kBAAAC,OACPE,EAAOs8D,aAAe,UAAY,OAGrCt8D,EAAOs8D,cACNz9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,iGAExB,OAIZE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BE,eAAA,KAAGY,UAAU,aAAYd,SAAA,CAAC,sBACLF,cAAA,QAAAE,SAAM,SAE3BF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,8FAE3BF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAK,OACdzP,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,WACLT,UAAS,kBAAAC,OACPE,EAAOu8D,mBAAqBL,EACxB,UACA,OAGPl8D,EAAOu8D,kBACN19D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,gGAE1Bm9D,GACAr9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,mKAExB,UAKdE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,UACEgB,UAAU,gBACVS,KAAK,SACLmU,QAASunD,EAAaj9D,SACvB,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAQxB,E,8BCrKagD,GAAe,eAAAx7D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACPK,MAAM,kCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAMNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,kBAR2B,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAUfw5D,GAAmB,eAAAt5D,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAA7B,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACXK,MAAM,sCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAMNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,kBAR+B,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAUnBy5D,GAA8B,eAAAl5D,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,IAAA,IAAAlC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACtBK,MAAM,iDACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,sCAAuCrC,EACrD,IAAG,KAAD,EAPS,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAQNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,kBAV0C,OAAAD,EAAAR,MAAA,KAAAC,UAAA,KAY9B05D,GAAe,eAAA94D,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAvC,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACPK,MAAM,kCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAMNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,kBAR2B,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KAUf25D,GAAmB,eAAAx4D,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,IAAA,IAAA9C,EAAA,OAAAL,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACXK,MAAM,sCACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAO+C,EAAA1B,KAAA0B,EAAAzB,OAAA,SAMNtB,GAAO,wBAAA+C,EAAAxB,OAAA,GAAAuB,EAAA,KACf,kBAR+B,OAAAD,EAAApB,MAAA,KAAAC,UAAA,KC8mCjB45D,GAhlCsB,SAAH77D,GAU3B,IATLsW,EAAOtW,EAAPsW,QACAs+C,EAAY50D,EAAZ40D,aACAW,EAAiBv1D,EAAjBu1D,kBACAuG,EAAgB97D,EAAhB87D,iBAEAzE,GADSr3D,EAAT+7D,UACY/7D,EAAZq3D,cAEA2E,GADch8D,EAAds3D,eACoBt3D,EAApBg8D,sBAGA3mD,GAFarV,EAAbi8D,cAEwC3mD,mBAAgB,KAAGC,EAAApB,YAAAkB,EAAA,GAApD48C,EAAY18C,EAAA,GAAE28C,EAAe38C,EAAA,GACpCgJ,EAA4CjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAxD29C,EAAc19C,EAAA,GAAE29C,EAAiB39C,EAAA,GACxCG,EAA+BrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA3C0zC,EAAOzzC,EAAA,GAAE0zC,EAAW1zC,EAAA,GAC3BgB,EAAgDtK,mBAAgB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA5D2yC,EAAgB1yC,EAAA,GAAE2yC,EAAmB3yC,EAAA,GAC5CC,EAAgDxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAAjEgzC,EAAgB/yC,EAAA,GAAEgzC,EAAmBhzC,EAAA,GAC5CwG,EAA8BjR,oBAAkB,GAAKkR,EAAArS,YAAAoS,EAAA,GAA9ClJ,EAAOmJ,EAAA,GAAE3H,EAAU2H,EAAA,GAC1BC,EAA4BnR,mBAAiB,IAAGoR,GAAAvS,YAAAsS,EAAA,GAAzC7O,GAAM8O,GAAA,GAAE7O,GAAS6O,GAAA,GACxB2I,GAAoC/Z,qBAAega,GAAAnb,YAAAkb,GAAA,GAA5CrL,GAAUsL,GAAA,GAAEsjC,GAAatjC,GAAA,GAChCnM,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GAAEyS,GAAWzS,GAAA,GAC5B3wB,GAAwDna,mBAAS,IAAGoa,GAAAvb,YAAAsb,GAAA,GAA7DiiC,GAAoBhiC,GAAA,GAAEiiC,GAAuBjiC,GAAA,GACpDG,GAAoDva,qBAAewa,GAAA3b,YAAA0b,GAAA,GAA5DusC,GAAkBtsC,GAAA,GAAEusC,GAAqBvsC,GAAA,GAC1CxN,GAAQ4D,iBAAY,MAClBo2C,GAAS/O,YAAe,CAAC,gBAAzB+O,KACA/nD,GAAgBkH,cAAhBlH,YAgCRg9C,GAUIphB,YAAuB,CACzBosB,cAzCiC,CACjC7zD,WAAY,EACZE,aAAc,GACd0tD,SAAU,GACVlD,OAAQ,GACRvqD,OAAQ,GACRC,MAAO,GACPmN,UAAU,EACV69C,WAAY,EACZsB,eAAgB,GAChBrsD,eAAgB,GAChBqrD,aAAc,EACdkB,iBAAkB,GAClBtsD,iBAAkB,GAClB0rD,WAAY,EACZgC,eAAgB,GAChBC,eAAgB,GAChBpD,gBAAiB,GACjB6D,YAAa,GACbR,KAAM,GACN4F,YAAa,GACbC,YAAa,GACbC,YAAa,GACbxF,YAAa,GACbC,UAAW,GACXN,aAAc,GACdI,WAAY,GACZ0F,QAAS,MAITlvD,GAAO8jD,GAAP9jD,QAEA80B,IADQgvB,GAARjvB,SACYivB,GAAZhvB,cAGAG,IAFS6uB,GAATjzC,UACKizC,GAALqL,MACKrL,GAAL7uB,OACAzf,GAAQsuC,GAARtuC,SACQsuC,GAARsL,SACmBtL,GAAnBthD,UAAajR,OAKfqL,qBAAU,WACJkrD,EAEA19C,GADmB,iBAAjB+8C,GAEwB,aAAjBA,EADC,OAIA,OAGZhC,QAAcx0D,EAElB,GAAG,CAACm3D,IAEJlrD,qBAAU,WACRsnD,GAAwB,kBAAoB/5C,GAAS,gBACvD,GAAG,CAACA,KAEJ,IAAMm+C,GAAU,eAAA5zD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAmB,IAAAyiB,EAAA44C,EAAAC,EAAAC,EAAA7J,EAAA8J,EAAAC,EAAAl6D,EAAAm6D,EAAA3mD,EAAA,OAAAtW,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAiH1C,MAhHiB,OAAdc,EAAKm1D,KACP0F,GAAKc,eAAe,MAEpBd,GAAKc,eAAe,MAEtBv8D,aAAaw8D,QAAQ,OAAQ57D,EAAKm1D,MAC9B1yC,EAAgB,CAAC,GACL,GACC,EAEjBquC,EAAiBpsD,SAAQ,SAAC6D,GACxB,GAAIA,EAAEtB,aAAe4N,EAAQ5N,WAAY,CACvC,GAAIsB,EAAEpB,eAAiBnH,EAAKmH,aAG1B,OAFY,OACHoB,EAEJ,GAAIA,EAAElB,QAAUrH,EAAKqH,MAG1B,OAFa,OACJkB,CAGb,CACF,IAEM8yD,EAAmB7K,EAAah0C,MACpC,SAACq/C,GAAQ,OAAKA,EAAIxJ,aAAeryD,EAAKqyD,UAAU,IAE5CiJ,EAAeb,EAAej+C,MAClC,SAACs/C,GAAS,OAAKA,EAAKnJ,eAAiB3yD,EAAK2yD,YAAY,IAElD4I,EAAc3K,EAAQp0C,MAC1B,SAACu/C,GAAQ,OAAKA,EAAI9I,aAAejzD,EAAKizD,UAAU,IAE5CvB,EAAcZ,EAAiBt0C,MACnC,SAACw/C,GAAQ,OAAKA,EAAI/0D,YAAcjH,EAAK8xD,eAAe,IAIvC,QAAX37C,IACFsM,EAASxb,WAAa,EACtBwb,EAASoyC,SAAW70D,EAAK60D,SACzBpyC,EAAStb,aAAenH,EAAKmH,aAC7Bsb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASpb,MAAQrH,EAAKqH,MACtBob,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS4vC,WAA6B,OAAhBgJ,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBhJ,WACxC5vC,EAASkxC,eAAiC,OAAhB0H,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB1J,OAC5ClvC,EAASnb,eAAiC,OAAhB+zD,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBj0D,OAC5Cqb,EAASkwC,aAA2B,OAAZ2I,QAAY,IAAZA,OAAY,EAAZA,EAAc3I,aACtClwC,EAASoxC,iBAA+B,OAAZyH,QAAY,IAAZA,OAAY,EAAZA,EAAc3J,OAC1ClvC,EAASlb,iBAA+B,OAAZ+zD,QAAY,IAAZA,OAAY,EAAZA,EAAcl0D,OAC1Cqb,EAASwwC,WAAwB,OAAXsI,QAAW,IAAXA,OAAW,EAAXA,EAAatI,WACnCxwC,EAASwyC,eAA4B,OAAXsG,QAAW,IAAXA,OAAW,EAAXA,EAAa5J,OACvClvC,EAASyyC,eAA4B,OAAXqG,QAAW,IAAXA,OAAW,EAAXA,EAAan0D,OACvCqb,EAAS0yC,KAAOn1D,EAAKm1D,KACrB1yC,EAASqvC,gBAA6B,OAAXJ,QAAW,IAAXA,GAAuB,QAAZ8J,EAAX9J,EAAazqD,kBAAU,IAAAu0D,OAAZ,EAAXA,EAAyBt0D,WACpDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,GAAS3a,WAAWC,WAC1Cub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,GAAS3a,WAAWC,cAEzCub,EAAW5N,GACFggD,SAAW70D,EAAK60D,SACzBpyC,EAAStb,aAAenH,EAAKmH,aAC7Bsb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASpb,MAAQrH,EAAKqH,MACL,iBAAjB8rD,OACsBx2D,IAAlBqD,EAAKwU,UAAuD,KAA7BxU,EAAKwU,SAAStN,WAC1Cub,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASjO,UAAW,EACtBiO,EAASjO,UAAW,EACzBiO,EAAS4vC,WAA6B,OAAhBgJ,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBhJ,WACxC5vC,EAASkxC,eAAiC,OAAhB0H,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB1J,OAC5ClvC,EAASnb,eAAiC,OAAhB+zD,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBj0D,OAC5Cqb,EAASkwC,aAA2B,OAAZ2I,QAAY,IAAZA,OAAY,EAAZA,EAAc3I,aACtClwC,EAASoxC,iBAA+B,OAAZyH,QAAY,IAAZA,OAAY,EAAZA,EAAc3J,OAC1ClvC,EAASlb,iBAA+B,OAAZ+zD,QAAY,IAAZA,OAAY,EAAZA,EAAcl0D,OAC1Cqb,EAASwwC,WAAwB,OAAXsI,QAAW,IAAXA,OAAW,EAAXA,EAAatI,WACnCxwC,EAASwyC,eAA4B,OAAXsG,QAAW,IAAXA,OAAW,EAAXA,EAAa5J,OACvClvC,EAASyyC,eAA4B,OAAXqG,QAAW,IAAXA,OAAW,EAAXA,EAAan0D,OACvCqb,EAAS0yC,KAAOn1D,EAAKm1D,KACrB1yC,EAASqvC,gBAA6B,OAAXJ,QAAW,IAAXA,GAAuB,QAAZ+J,EAAX/J,EAAazqD,kBAAU,IAAAw0D,OAAZ,EAAXA,EAAyBv0D,WACpDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,GAAS3a,WAAWC,iBAGzBvK,IAAf4lB,KACFE,EAASkzC,YAAcpzC,IAExBvjB,EAAAE,KAAA,GAEkB+vD,EAAexsC,GAAU,KAAD,GAAjC,GAGY,aAHlBlhB,EAAMvC,EAAAmB,MAGCoB,OAAoB,CAAAvC,EAAAE,KAAA,YACR,iBAAjBi0D,EAA+B,CAAAn0D,EAAAE,KAAA,SAC7Bw8D,EAAsBj5C,EAC1B2uC,GAAWziD,YAAC,CAAC,EACR+sD,IACF18D,EAAAE,KAAA,yBAEkBvC,IAAjBi5D,EAA0B,CAAA52D,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACD+sB,aACzB,uBACAtvB,GACA,KAAD,IAHGoY,EAAc/V,EAAAmB,MAINkE,OAAS,GACnBuxD,EAAa7gD,GAKfqI,GAAW,GAAO,QAItBi9C,GAAiB,EAAO,QAAQr7D,EAAAE,KAAA,iBAKhC4T,GAAY,CACV1D,YAAY,GAAD/R,OAAKkE,EAAOsqB,cAAgBtqB,EAAO0P,OAC9CK,QAAQ,QACRzT,KAAM,UAQRuf,GAAW,GAAO,yBAAApe,EAAAqB,OAAA,GAAA1B,EAAA,KAmBrB,gBA/Ke2B,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAoMhBoI,qBAAU,WACRwU,GAAW,GA+CZ,WAE6Bm1C,GAAAhyD,MAAC,KAADC,UAAA,CA/C5B8xD,GA6DD,WAC2BO,GAAAtyD,MAAC,KAADC,UAAA,CA7D1BoyD,GA4BD,WAC+BpB,GAAAjxD,MAAC,KAADC,UAAA,CA5B9B+wD,GACA0K,KAQA,WAE0BjK,GAAAzxD,MAAC,KAADC,UAAA,CAT1BuxD,EACF,GAAG,IAEH,IAAMkK,GAAU,eAAAl7D,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAu7D,EAAA,OAAAz9D,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACY86D,KAAsB,KAAD,EAA5CkC,EAAct7D,EAAAT,KAEpBy6D,GAAsBsB,GAAgB,wBAAAt7D,EAAAP,OAAA,GAAAM,EAAA,KACvC,kBAJe,OAAAI,EAAAR,MAAA,KAAAC,UAAA,KAMY,SAAAwxD,KAgB3B,OAhB2BA,GAAAxzD,YAAAC,IAAAC,MAA5B,SAAAsC,IAAA,IAAAixD,EAAA,OAAAxzD,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC4B+sB,aAAc,uBAAmBtvB,GAAW,KAAD,GAAjEs1D,EAAahxD,EAAAd,OAEf8xD,EAAchtD,KAAI,SAACsD,GACjB,OAAKA,EAAE4zD,aAKP5zD,EAAEnB,OAASmB,EAAE4zD,YAAc,MAAQ5zD,EAAEnB,OACrCmB,EAAEopD,OAASppD,EAAE4zD,YAAc,MAAQ5zD,EAAEopD,OAC9BppD,IANLA,EAAEnB,OAASmB,EAAEnB,OACbmB,EAAEopD,OAASppD,EAAEopD,OACNppD,EAKX,IAGFkoD,EAA6B,OAAbwB,QAAa,IAAbA,OAAa,EAAbA,EAAe39C,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,KAAG,wBAAAvT,EAAAZ,OAAA,GAAAW,EAAA,MAChET,MAAA,KAAAC,UAAA,CAC+B,SAAAgxD,KAe/B,OAf+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAA2C,IAAA,IAAArB,EAAAkqD,EAAAuH,EAAA,OAAAhzD,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,WACM2V,EAAQ5N,WAAW,CAAD3F,EAAApC,KAAA,QAGnB,OAFGc,EAAO,CACTiH,WAAY4N,EAAQ5N,WAAWC,YAChC5F,EAAApC,KAAA,EACgBgwD,EAAYlvD,GAAM,KAAD,GAA9BkqD,EAAI5oD,EAAAnB,OAEN8gC,GAAMipB,GACP,cAAA5oD,EAAApC,KAAA,EAEuB2vD,EAAe,CAAEriC,OAAQ,mBAAoB,KAAD,GAAlEilC,EAAanwD,EAAAnB,OAEf4wD,EAAiC,OAAbU,QAAa,IAAbA,OAAa,EAAbA,EAAen9C,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,KAElE4I,GAAW,GAAO,yBAAA9b,EAAAjB,OAAA,GAAAgB,EAAA,MACnBd,MAAA,KAAAC,UAAA,CAE6B,SAAA+xD,KAc7B,OAd6BA,GAAA/zD,YAAAC,IAAAC,MAA9B,SAAAkD,IAAA,IAAA4wD,EAAA,OAAA/zD,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EAC6BkwD,IAAgB,KAAD,GAAtCoD,EAAc3wD,EAAA1B,MACH8E,KAAI,SAACsD,GAClB,OAAKA,EAAE4zD,aAKP5zD,EAAEnB,OAASmB,EAAE4zD,YAAc,MAAQ5zD,EAAEnB,OACrCmB,EAAEopD,OAASppD,EAAE4zD,YAAc,MAAQ5zD,EAAEopD,OAC9BppD,IANLA,EAAEnB,OAASmB,EAAEnB,OACbmB,EAAEopD,OAASppD,EAAEopD,OACNppD,EAKX,IAEAmyD,EAAgC,OAAdlI,QAAc,IAAdA,OAAc,EAAdA,EAAgBl+C,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,KAAG,wBAAA3S,EAAAxB,OAAA,GAAAuB,EAAA,MACnErB,MAAA,KAAAC,UAAA,CAC2B,SAAAqyD,KAkB3B,OAlB2BA,GAAAr0D,YAAAC,IAAAC,MAA5B,SAAAsD,IAAA,IAAA8wD,EAAA,OAAAr0D,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAjD,KAAA,EAAAiD,EAAAhD,KAAA,EAEqC+sB,aAC/B,uBACAtvB,GACA,KAAD,GAHGm2D,EAAoB5wD,EAAA/B,MAIV8E,KAAI,SAACsD,GACjB,OAAKA,EAAE6zD,cAKP7zD,EAAEnB,OAASmB,EAAE6zD,aAAe,MAAQ7zD,EAAEnB,OACtCmB,EAAEopD,OAASppD,EAAE6zD,aAAe,MAAQ7zD,EAAEopD,OAC/BppD,IANLA,EAAEnB,OAASmB,EAAEnB,OACbmB,EAAEopD,OAASppD,EAAEopD,OACNppD,EAKX,IACAsoD,EAAW/rD,YAAkB,OAAbguD,QAAa,IAAbA,OAAa,EAAbA,EAAex+C,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,MAAItS,EAAAhD,KAAA,gBAAAgD,EAAAjD,KAAA,EAAAiD,EAAA8gB,GAAA9gB,EAAA,kCAAAA,EAAA7B,OAAA,GAAA2B,EAAA,mBAEnEzB,MAAA,KAAAC,UAAA,CAED,IAAM67D,GAAc,SAACC,GACnB,IAAIt+C,EAAM,GACV,GAAIs+C,EAAa,CACf,IAAMN,EAAMlL,EAAiBt0C,MAC3B,SAACjU,GAAM,OAAKA,EAAEtB,YAAcq1D,CAAW,IAErCN,IAEAh+C,EADqB,QAAX,OAAR4D,SAAQ,IAARA,QAAQ,EAARA,GAAUuzC,MACN6G,EAAI50D,OAEJ40D,EAAIrK,OAGhB,CACA,OAAO3zC,CACT,EAEMikC,GAAe,SAAC15C,GAAY,IAADsyC,EAAA0hB,EAAAC,EAAAC,EACzBC,EAAa,CAAC,YAAa,cAE7Bn0D,EAAEuG,OAAOoT,MAAM,GAAGhT,MAAQpE,OAAyB,OAAlB6vD,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBgC,gBAA4B,OAAVD,QAAU,IAAVA,KAAY73D,SAAU,OAAD0D,QAAC,IAADA,GAAS,QAARsyC,EAADtyC,EAAGuG,cAAM,IAAA+rC,GAAU,QAAV0hB,EAAT1hB,EAAW34B,MAAM,UAAE,IAAAq6C,OAAlB,EAADA,EAAqB1+D,MA0DvH,SAAmBmkB,GACjB,IAAI+zC,EAAS,IAAIC,WACjBD,EAAOE,cAAcj0C,GACrB+zC,EAAOG,OAAS,WACd/E,GAAc4E,EAAOx0D,OACvB,EACAw0D,EAAOI,QAAU,SAAU10D,GAAQ,CACrC,CAhEI20D,CAAU7tD,EAAEuG,OAAOoT,MAAM,IAEP,OAAVw6C,QAAU,IAAVA,KAAY73D,SAAU,OAAD0D,QAAC,IAADA,GAAS,QAARi0D,EAADj0D,EAAGuG,cAAM,IAAA0tD,GAAU,QAAVC,EAATD,EAAWt6C,MAAM,UAAE,IAAAu6C,OAAlB,EAADA,EAAqB5+D,MAQlDiV,GAAY,CACV1D,YAAY,uDACZkC,QAAQ,qBACRzT,KAAM,YAVRiV,GAAY,CACV1D,YAAY,oCACZkC,QAAQ,qBACRzT,KAAM,WAgBZ,EAEMw2D,GAAsB,SAAC1mD,GAC3B,IAOIivD,EASAC,EAhBEC,EAAY9wD,GAAQ+wD,WAAWx/D,OACrC,GAAIu/D,EAAKnvD,GACP,MAAwB,aAApBmvD,EAAKnvD,GAAM9P,KACNzB,cAAA,SAAOgB,UAAU,UAASd,SAAEwgE,EAAKnvD,GAAM2D,UAE5CwrD,EAAKnvD,GAAM2D,SACbwrD,EAAKnvD,GAAM2D,QAAQytB,MAAM,oBAGvB3iC,cAAA,SAAOgB,UAAU,UAASd,SACL,QADKsgE,EACvBE,EAAKnvD,GAAM2D,eAAO,IAAAsrD,OAAA,EAAlBA,EAAoBv+D,QAAQ,kBAAmB,MAIlDy+D,EAAKnvD,GAAM2D,SACbwrD,EAAKnvD,GAAM2D,QAAQytB,MAAM,sBAGvB3iC,cAAA,SAAOgB,UAAU,UAASd,SACL,QADKugE,EACvBC,EAAKnvD,GAAM2D,eAAO,IAAAurD,OAAA,EAAlBA,EAAoBx+D,QAAQ,oBAAqB,MAKpDjC,cAAA,SAAOgB,UAAU,UAASd,SACvB,QAAUqR,EAAO,+BAK5B,EAWA,OACEnR,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACZzkB,cAACgnB,IAAM,CACLE,QAASwwC,EACT5wC,OAAQiwC,EACR5vC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,MAAO0B,aAAc,OAAQ4iD,SAAU,UACvDC,WAAY,MACZ9yC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACF42C,GACFA,GAAiB,EAAO,QAE5B,EACA32C,WAAW,EACXL,aAAW,EAAA/mB,SAEXF,cAAAC,WAAA,CAAAC,SACGsf,EACCxf,cAAC4gE,KAAW,CACVr9C,KAAK,gBACL1iB,MAAO,CAAEkf,OAAQ,SAGnB3f,eAAA,QAAMukC,SAAUD,IAzNT,SAAC9gC,GAChBijB,YAAc,CACZ3R,QAAS2+C,GACT/sC,OACa,QAAX/M,GAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,iIACFnC,OAAQ,WAIN7G,GAAW,GAEXk3C,GAAWt0D,EACb,GAEJ,IAwMiD1D,SAAA,CACrCE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAI3gE,SAAA,CACpBF,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SAAA,CACzCF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,GACToC,MAAO,CAAEC,SAAU,8BACnBC,OAAQ,SAAAlN,GAAA,IACN6K,EAAK7K,EAAL6K,MACUsR,GAAAnc,EAAVm1D,WAAUn1D,EACVoN,WAAmB+O,EAANhgB,OAAmBggB,EAAXjgB,YAAW,OAEhClB,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAEN0S,UAA6B,OAAlBsrD,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBwC,iBAC/B5rD,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,UAExC,IAGL0mD,GAAoB,mBAEvBj4D,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SAAA,CACzCF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,GACToC,MAAO,CAAEC,SAAU,yBACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAENS,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,UAExC,IAGL0mD,GAAoB,oBAI3Bj4D,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SAAA,CACzCF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,GACToC,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAENS,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,UAExC,IAGL0mD,GAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SAAA,CACzCF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,GACToC,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAA6Y,GAAA,IACNlb,EAAKkb,EAALlb,MACUoxD,GAAAl2C,EAAVovC,WAAUpvC,EACV3Y,WAAmB6uD,EAAN9/D,OAAmB8/D,EAAX//D,YAAW,OAEhClB,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAENS,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,UAExC,IAGL0mD,GAAoB,kBAI3Bj4D,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,QACjBE,aAAc,iCACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SAAA,CACzCF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,GACToC,MAAO,CACLC,SAAU,qBACVivD,QACE,kKAEJhvD,OAAQ,SAAAkrB,GAAA,IACNvtB,EAAKutB,EAALvtB,MACUutB,EAAV+8B,WACmB/8B,EAAnBhrB,UAAajR,OAAM,OAEnBnB,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAENS,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,UAExC,IAGL0mD,GAAoB,YAEvBj4D,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+BAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SACzCF,cAAC+R,IAAU,CACTR,KAAK,OACL3B,QAASA,GACTsC,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,SACEgrD,QAEI59D,EAEN6hB,QAAS,CAAC,KAAM,MAChBrP,YAAY,kBACZ,WAMZ/S,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,EAAEV,SACzCF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,GACTsC,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV3nD,GAAI9C,EAAM0B,KACV8O,QAASxQ,EAAMrH,MACf2K,SACEgrD,QAEI59D,EAENkS,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,MACnB,EACAxH,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,SAExC,WAMZvR,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,6CACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAC1CF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,GACToC,MAAO,CACLC,SAAU,wBACV+K,IAAK,CACHxU,MAAO,EACP0M,QAAS,yCAGbG,aAAc,EACdnD,OAAQ,SAAAusB,GAA4B,IAAzB5uB,EAAK4uB,EAAL5uB,MAAiB4uB,EAAV07B,WAChB,OACEn6D,cAAC++C,IACC,CACA38B,QAASgyC,EACTmG,YACoB,OAAlB/0C,GAASuzC,KAAgB,SAAW,SAEtC7gD,QAAM,EACNsiD,WAAS,EACTC,SACoB,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAEtC5lD,SACEgrD,QAEI59D,EAENoS,GAAI9C,EAAM0B,KACV/I,MAAO4rD,EAAah0C,MAClB,SAACq/C,GAAQ,OAAKA,EAAIxJ,aAAepmD,EAAMrH,KAAK,IAE9CiK,SAAU,SAACtG,GACLA,EAAE3D,MACJqH,EAAM4C,SAAStG,EAAE3D,MAAMytD,YAEvBpmD,EAAM4C,SAAS,KAEnB,EACAzR,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,SAI9C,IAED0mD,GAAoB,sBAI3Bj4D,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC9CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,mDACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAC1CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,GACToC,MAAO,CACLC,SAAU,0BACV+K,IAAK,CACHxU,MAAO,EACP0M,QAAS,6CAGbG,aAAc,EACdnD,OAAQ,SAAA48B,GAA4B,IAAzBj/B,EAAKi/B,EAALj/B,MAAiBi/B,EAAVqrB,WAChB,OACEn6D,cAAC++C,IACC,CACA38B,QAASi8C,EACT9D,YACoB,OAAlB/0C,GAASuzC,KAAgB,SAAW,SAEtC7gD,QAAM,EACN/E,SACEgrD,QAEI59D,EAENi6D,WAAS,EACTC,SACoB,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAEtCpmD,GAAI9C,EAAM0B,KACV/I,MAAO61D,EAAej+C,MACpB,SAACs/C,GAAS,OAAKA,EAAKnJ,eAAiB1mD,EAAMrH,KAAK,IAElDiK,SAAU,SAACtG,GACLA,EAAE3D,MACJqH,EAAM4C,SAAStG,EAAE3D,MAAM+tD,cAEvB1mD,EAAM4C,SAAS,KAEnB,EACAzR,UAAWo5D,YAAW,CACpB,aAAcxqD,GAAQoxD,UAAUnxD,EAAM0B,SAI9C,IAED0mD,GAAoB,wBAI3Bj4D,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,iDAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAC1CF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,GACTsC,OAAQ,SAAAu+B,GAAA,IAAG5gC,EAAK4gC,EAAL5gC,MAAiB4gC,EAAV0pB,WAAU,OAC1Bn6D,cAAC++C,IACC,CACA38B,QAASoyC,EACT+F,YACoB,OAAlB/0C,GAASuzC,KAAgB,SAAW,SAEtC7gD,QAAM,EACNsiD,WAAS,EACTrnD,SACEgrD,QAEI59D,EAENk6D,SACoB,OAAlBj1C,GAASuzC,KAAgB,SAAW,SAEtCpmD,GAAI9C,EAAM0B,KACV/I,MAAc,OAAPgsD,QAAO,IAAPA,OAAO,EAAPA,EAASp0C,MACd,SAACu/C,GAAQ,OAAKA,EAAI9I,aAAehnD,EAAMrH,KAAK,IAE9CiK,SAAU,SAACtG,GACLA,EAAE3D,MACJqH,EAAM4C,SAAStG,EAAE3D,MAAMquD,YAEvBhnD,EAAM4C,SAAS,KAEnB,GACA,WAMZzS,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAC1CF,cAAC+R,IAAU,CACTR,KAAK,kBACL3B,QAASA,GACTsC,OAAQ,SAAA6+B,GAAA,IAAGlhC,EAAKkhC,EAALlhC,MAAOsqD,EAAUppB,EAAVopB,WAAU,OAC1B/5D,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRtV,GAAI9C,EAAM0B,KACV/I,MAAOy3D,GAAYpwD,EAAMrH,OACzBxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BlnD,SACEgrD,QAEI59D,EAENM,MAAO,CACLwW,aAAc,cACd0I,OAAQ,QAEVnN,UAAQ,IAEThD,GAAQoxD,UAAUnxD,EAAM0B,OACvBvR,cAACwnB,IAAM,CACL/lB,KAAK,SACLmV,KAAK,cACL5V,UAAU,wCACV4U,QAAS,WACPwP,GAAS,kBAAmB,GAC9B,EACAjS,SACEgrD,QAEI59D,EAENM,MAAO,CACLkf,OAAQ,UAId/f,cAACwnB,IAAM,CACL5Q,KAAK,eACL5V,UAAU,uDACVH,MAAO,CACL2pB,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEV5M,SACEgrD,QAEI59D,EAENkB,KAAM,SACNmU,QAAS,WACPs/C,GAAoB,EACtB,MAEE,WAOhBl1D,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,iDAGlB/M,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAC1CF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,GACTsC,OAAQ,SAAA8wB,GAAQA,EAALnzB,MAAiBmzB,EAAVm3B,WAAU,OAC1B/5D,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRxmB,KAAK,OACLomB,OAAO,UACPlV,GAAG,WACHF,SAAUozC,GACVhlD,MAAO,CACLwW,aAAc,cACd1B,MAAO,OACPoK,OAAQ,UAGZ/f,cAACwnB,IAAM,CACL/lB,KAAK,QACLmV,KAAK,cACL5V,UAAU,wCACV4U,QAAS,WACPm/C,GAAc,IACd3vC,GAAS,cAAe,GAC1B,EACAvkB,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACR1I,aAAc,mBAGd,IAGT8O,IAA6B,KAAfA,GACbnmB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,YAAY0kD,IAAKv/B,OAGlCnmB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OACEgB,UAAU,YACV0kD,IAAK91C,GAAQoxD,UAAU,2BAOnChhE,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CF,cAACK,KAAG,CAACixC,KAAM,IACXtxC,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZF,cAAA,KACEgB,UAAU,sBACVH,MAAO,CAAEsgE,aAAc,cAAejhE,SAEtCF,cAAA,OACEiX,wBAAyB,CACvBC,OAA0B,OAAlBqnD,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoB6C,6BAQ1ChhE,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAAA,UACEwV,QAAS,WACPiR,YAAc,CACZ3R,QAAS,+CACT4R,OAAQ,sBACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACNgd,KACAo5B,GAAiB,EAAO,QAC1B,GAEJ,EACAx8D,KAAM,SACNT,UAAU,gBAAed,SAAA,CAEzBF,cAAC06D,KAAG,IAAG,WAITt6D,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAQtB36D,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUiU,EACV5T,aAAc,SAAC30C,GACbiZ,GAAS,kBAAmBjZ,EAAEtB,WAAWC,YACzCoqD,GAAoB,EACtB,EACA18C,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeuU,EACftU,iBAAkBuU,MAI1B,ECjnCamM,GAAgB,SAAC5hE,GAAkB,IAAD6hE,EACrC5qD,EAAgBkH,cAAhBlH,YACR4O,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACf/qC,GAD4B+qC,EAAA,GACgB9qC,mBAA4B,KAAGC,EAAApB,YAAAkB,EAAA,GAApE+pD,EAAc7pD,EAAA,GAAE8pD,EAAiB9pD,EAAA,GACxCgJ,EAA4CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA7D+gD,EAAc9gD,EAAA,GAAE+gD,EAAiB/gD,EAAA,GACxCG,EAAwCrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAzD6gD,EAAY5gD,EAAA,GAAE6gD,EAAe7gD,EAAA,GACpCgB,EAAwCtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAA3C8/C,GAAF7/C,EAAA,GAAiBA,EAAA,IACpCC,EAA8BxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GACtDyG,GADcxG,EAAA,GAAYA,EAAA,GACMzK,mBAAiB,KAAGkR,EAAArS,YAAAoS,EAAA,GACpDE,GADeD,EAAA,GAAaA,EAAA,GACclR,mBAAiB,KAAGoR,EAAAvS,YAAAsS,EAAA,GAAvDuyC,EAAatyC,EAAA,GAAEuyC,EAAgBvyC,EAAA,GACtC2I,EAAkC/Z,mBAAiB,IAAGga,EAAAnb,YAAAkb,EAAA,GACtDI,GADgBH,EAAA,GAAcA,EAAA,GACEha,oBAAkB,IAAMoa,EAAAvb,YAAAsb,EAAA,GAAjDq5B,EAAQp5B,EAAA,GAAEiwC,EAAWjwC,EAAA,GAC5BG,EAAkDva,oBAAkB,GAAMwa,GAAA3b,YAAA0b,EAAA,GAAnE0lC,GAAiBzlC,GAAA,GAAEynC,GAAoBznC,GAAA,GAC9CG,GAA8B3a,mBAAc,CAAC,GAAE4a,GAAA/b,YAAA8b,GAAA,GAC/C2vC,IADc1vC,GAAA,GAAYA,GAAA,GACiB2vC,gBAAnCC,GAAQF,GAARE,SAAsBC,IAAFH,GAAVI,WAAoBJ,GAARG,UAC9B1vC,GAA8B/a,oBAAS,GAAMgb,GAAAnc,YAAAkc,GAAA,GAAtCtL,GAAOuL,GAAA,GAAE2vC,GAAU3vC,GAAA,GAC1BG,GAA4Cnb,oBAAS,GAAMob,GAAAvc,YAAAsc,GAAA,GAC3DI,IADqBH,GAAA,GAAmBA,GAAA,GACYpb,oBAAkB,IAAKwb,GAAA3c,YAAA0c,GAAA,GAApEqqC,GAAkBpqC,GAAA,GAAEovC,GAAqBpvC,GAAA,GAChDI,GAAoC5b,oBAAS,GAAM6b,GAAAhd,YAAA+c,GAAA,GAC3Co8B,IADSn8B,GAAA,GAAeA,GAAA,GAClBo8B,YAAe,CAAC,gBAAtBD,GAIJ0M,IADWxM,cACDzN,eACRsZ,GAAU,IAAIrJ,IACpBsJ,GAAwCnJ,IAAmBoJ,GAAAplD,YAAAmlD,GAAA,GAApDE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GAE9Bj3C,IADU69C,cAARp8D,IACMmiB,iBAAY,OAE1Bk6C,GAA4B9qD,oBAAkB,GAAM+qD,GAAAlsD,YAAAisD,GAAA,GAA7CE,GAAMD,GAAA,GAAEE,GAASF,GAAA,GACxBG,GAA4ClrD,oBAAkB,GAAKmrD,GAAAtsD,YAAAqsD,GAAA,GAA5D7C,GAAc8C,GAAA,GAAEC,GAAiBD,GAAA,GACxCE,GACErrD,oBAAkB,GAAKsrD,GAAAzsD,YAAAwsD,GAAA,GADlB3E,GAAoB4E,GAAA,GAAEC,GAAuBD,GAAA,GAGpDrP,GAKIphB,YAAQ,CACVosB,cAAe,CACblB,iBAAkB,GAClBC,aAAc,GACdC,iBAAkB,MARpBh5B,GAAYgvB,GAAZhvB,aACA90B,GAAO8jD,GAAP9jD,QACazO,GAAMuyD,GAAnBthD,UAAajR,OACb0jC,GAAK6uB,GAAL7uB,MAQFr4B,qBAAU,WACRzJ,OAAOkgE,iBAAiB,SAAUC,GACpC,GAAG,IACH12D,qBAAU,WACJgZ,IACF29C,KACAC,KACAC,KAEJ,GAAG,CAAC79C,IAEJ,IAAM29C,GAAkB,WACtB,GAAI39C,EAAU,CAKZ,IAJA,IACMq2C,GADKr2C,EAASxa,QAAU,IACU3B,MAAM,KAC1CyyD,EAAY,GACZC,EAAW,GACNv0D,EAAI,EAAGA,EAAIq0D,EAAS5zD,OAAQT,IACzB,IAANA,IACFs0D,EAAYD,EAASr0D,GAAGq2C,MAAM,EAAG,GAAGme,eAE5B,IAANx0D,IACFu0D,EAAWF,EAASr0D,GAAGq2C,MAAM,EAAG,GAAGme,eAGvCZ,EAAiBU,EAAYC,EAC/B,CACF,EAEMqH,GAAQ,eAAAjhE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA+gE,EAAA,OAAAjhE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACei6D,GAAsB,OAARv3C,QAAQ,IAARA,OAAQ,EAARA,EAAUva,OAAO,KAAD,EAAtDq4D,EAAe1gE,EAAAmB,KAErBy9D,EAAiB94D,YAAK46D,IAAkB,wBAAA1gE,EAAAqB,OAAA,GAAA1B,EAAA,KACzC,kBAJa,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAMRi/D,GAAa,WACjB,IAAME,EAAUxgE,OAAOC,aAAaC,QAAQ,UACtCugE,EAAkBzgE,OAAOC,aAAaC,QAAQ,kBAQpD,GALEy/D,GADa,QAAXa,GAOFC,GACAA,EAAgBv7D,OAAS,GACL,cAApBu7D,EACA,CACA,IAAMjF,EAGFh7D,KAAKwM,MAAMyzD,GACXjF,IACFyE,GAAwBzE,EAAmBJ,sBAC3C0E,GAAkBtE,EAAmBuB,gBAEzC,CACF,EAEMoD,GAAe,WACnBtB,GAAgB,EAClB,EACMzE,GAAe,WACnBt4B,KACAu9B,IAAW,EACb,EAMMqB,GAAoB,SAACv8C,GACzB26C,GAAgB,GAChBD,EAAgB16C,EAClB,EACMw8C,GAAmB,eAAAp/D,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO09D,GAAa,IAAAv/D,EAAAihE,EAAAC,EAAAC,EAAA,OAAAxhE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC1BmqD,eAAqB,KAAD,EAMxC,GANIvqD,EAAO8B,EAAAT,KACL4/D,EAAU5gE,OAAO2mB,SAASo6C,OAAOh5D,WACvC0wD,GAAQ/d,OAAO,cACfqd,KACAc,GAAerpD,wBAAC,CAAC,EAAIopD,IAAY,IAAEzJ,iBAAiB,KACpDsP,EAAkB,IAEG,eAAjB9+D,EAAQjB,KAAqB,CAAA+C,EAAA1B,KAAA,SAI9B,OAHK+gE,EAAgB,CACpBE,QAAS9B,EAAS+B,mBAA8B,QAAZJ,EAAC1B,GAAS,UAAE,IAAA0B,OAAA,EAAXA,EAAaK,eAClDC,sBAAsB,GAADjjE,OAAK0iE,EAAO,WAClCn/D,EAAA1B,KAAA,GACKm/D,EAASkC,eAAeN,GAAe,KAAD,GAE9CjC,GAAgB,GAGhB,yBAAAp9D,EAAAP,OAAA,GAAAM,EAAA,KACD,gBAnBwBL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAoBnBggE,GAA6B,WACjC1K,IAAqB,GACrBkI,GAAgB,EAClB,EACMyC,GAAgC,WACpCjC,IAAW,GACXR,GAAgB,EAClB,EACM0C,GAAmB,WACvB,OACElkE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCF,cAACo8D,IAAe,CAACp7D,UAAU,oBAC3BhB,cAAA,KAAGgB,UAAU,qCAAoCd,SACtC,OAARslB,QAAQ,IAARA,OAAQ,EAARA,EAAUxa,YAGf5K,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCF,cAACq8D,IAAa,CAACr7D,UAAU,qBACzBhB,cAAA,KAAGgB,UAAU,qCAAoCd,SACtC,OAARslB,QAAQ,IAARA,OAAQ,EAARA,EAAUva,cAIjB7K,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAE9B4/D,IACC1/D,eAAA,OACEY,UAAU,kBACV4U,QAASwuD,GAA2BlkE,SAAA,CAEpCF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAACs8D,IAAgB,MAEnBt8D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,GAAE,qBAGjCgT,IACCriE,eAAA,OACEY,UAAU,kBACV4U,QAASyuD,GAA8BnkE,SAAA,CAEvCF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAAA,OACE2V,MAAM,KACNoK,OAAO,KACPw8C,QAAQ,YACR77B,KAAK,OACL87B,MAAM,6BAA4Bt8D,SAElCF,cAAA,QACEy8D,EAAE,8gBACF/7B,KAAK,QACLg8B,OAAO,QACP,eAAa,MACb,iBAAe,QACf,kBAAgB,cAItB18D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,GAAE,wBAGlCrvD,eAAA,OACEY,UAAU,kBACV4U,QAAS,kBAAM8tD,GAAoBzB,GAAS,EAAC/hE,SAAA,CAE7CF,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAAC28D,IAAa,MAEhB38D,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,GAAE,oBAKxC,EAmEM2N,GAAgB,eAAAz4D,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAO0G,GAA2B,IAAAi5D,EAAA,OAAAliE,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAEf,GAD1CsC,QAAQe,IAAImF,GACNi5D,EAAWxhE,OAAO2mB,SAAS86C,SAC7Bl5D,EAAImyD,eAAiBnyD,EAAIoyD,iBAAgB,CAAA74D,EAAA/B,KAAA,QAC3Cu/D,IAAsB,GAAOx9D,EAAA/B,KAAA,uBAAA+B,EAAA/B,KAAA,EAGPK,MAAM,mCAAoC,CAC9DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBf,MAAO+iB,EAASva,MAChBw5D,YAAan5D,EAAImyD,aACjBiH,YAAap5D,EAAIkyD,iBACjBmH,OAGMJ,MAGP9gE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAEL,GADAwB,QAAQe,IAAI,QAASvC,GACjBA,EAAM,CAAC,IAADghE,EACFC,EAA2B,QAAdD,EAAGhhE,EAAKkhE,cAAM,IAAAF,OAAA,EAAXA,EAAa3iE,QAAQ,mBAAoBujB,EAASva,OACxEyL,EAAY,CACV1D,YAAY,GAAD/R,OAAK4jE,GAChB3vD,QAAQ,UACRzT,KAAM,YAER+5D,GAAQ/d,OAAO,cACfmkB,GAAgB,GAChBhG,GAAerpD,wBAAC,CAAC,EAAIopD,IAAY,IAAEzJ,iBAAiB,KACpDwR,GAAoBzB,GACtB,MACEvrD,EAAY,CACV1D,YAAY,8BACZkC,QAAQ,QACRzT,KAAM,UAGV07D,IACF,IAAG,KAAD,EArCSt4D,EAAAd,KAsCbs+D,IAAsB,GAAM,yBAAAx9D,EAAAZ,OAAA,GAAAW,EAAA,KAE/B,gBA/CqBH,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KAgDhBkyC,GACJt2C,cAAA,OAAKgB,UAAU,6BAA4Bd,SACzCF,cAACg7D,GAAwB,CACvBp3D,KAAM29D,EACN3E,cA/NgB,WACpB8E,GAAkB,EACpB,MAkOMzD,GAAmB,SAAC3T,EAAgBvwC,GACnCuwC,GACHoP,GAAqBpP,EAEzB,EAcA,OACEtqD,cAAAC,WAAA,CAAAC,SACGy7D,GAAazJ,iBACZ9xD,eAAAH,WAAA,CAAAC,SAAA,CACGw3D,IAdL13D,cAACg+D,GAAiB,CAChBjH,aAAa,eACbt+C,QAAS+M,EACT24C,qBAAsBA,GACtBzG,kBAAmBA,GACnBuG,iBAAkBA,GAClBG,eAAe,IASbp+D,cAACk9D,GAAmB,CAEhBttD,WACAzO,UACAg8D,gBACAz4B,gBACA24B,sBACAD,oBACAl2C,aAGJlnB,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACZrkB,eAAA,OACEY,UAAS,oBAAAC,OAAsBgqD,EAAW,UAAY,IACtDpqD,MAAO,CACL2pB,gBAAoC,QAArB82C,EAAE7hE,EAAMslE,qBAAa,IAAAzD,OAAA,EAAnBA,EAAqB0D,iBAEtC9kE,SAAA,CAEFF,cAAC++C,KAAQ,CACPC,QAAS1I,GACTyb,QAAS,CAAC,SACV7qC,QAASu6C,EACT3sD,UAAU,eACV9T,UAAU,kBAAiBd,SAE3BF,cAAA,OACEgB,UAAU,oBACV4U,QAAS,kBAAM8rD,GAAmBD,EAAe,EAACvhE,SAElDF,cAACilE,IAAM,QAGV1D,EAAet5D,OAAS,GACvB7H,eAAAH,WAAA,CAAAC,SAAA,CApLU,WAAO,IAADglE,EAAAC,EAAAC,EAAAC,EAAAC,EAC1B,OACEllE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OACEgB,UAAU,yBACV4U,QAAS,kBAAMumD,GAAQrzD,KAAK,WAAW,EAAC5I,SAExCF,cAAA,OACEa,MAAO,CACL8U,MAAM,GAAD1U,OAAwB,QAAxBikE,EAAKzlE,EAAMslE,qBAAa,IAAAG,GAAW,QAAXC,EAAnBD,EAAqBK,iBAAS,IAAAJ,OAAX,EAAnBA,EAAgCxvD,OAC1CoK,OAAO,GAAD9e,OAAwB,QAAxBmkE,EAAK3lE,EAAMslE,qBAAa,IAAAK,GAAW,QAAXC,EAAnBD,EAAqBG,iBAAS,IAAAF,OAAX,EAAnBA,EAAgCtlD,SAE7C/e,UAAU,WACV0kD,IAAwB,QAArB4f,EAAE7lE,EAAMslE,qBAAa,IAAAO,OAAA,EAAnBA,EAAqBE,YAC1B7f,IAAI,WAGR3lD,cAAA,OAAKgB,UAAU,kCAAiCd,SAC9CF,cAACivD,EAAgB,CAACrrD,KAAM29D,EAAgBrS,UAAW4S,MAErD9hE,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACiqB,IAAO,CACNnV,UAAU,cACVoV,QAASo6C,GACTvS,QAAQ,QACR7qC,QAASy6C,EACT8D,gBAAiBhC,GACjBiC,kBAAmB,CAAEruD,aAAc,OAAQnX,SAE3CF,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,KAAGgB,UAAU,eAAcd,SAAEi7D,YAMzC,CAiJewK,GAhJM,WAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EACzB,OACEhmE,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,wBAAuBd,SACpCF,cAAA,OACEgB,UAAU,WACVH,MAAO,CACL8U,MAAM,GAAD1U,OAAwB,QAAxB2kE,EAAKnmE,EAAMslE,qBAAa,IAAAa,GAAW,QAAXC,EAAnBD,EAAqBL,iBAAS,IAAAM,OAAX,EAAnBA,EAAgClwD,OAC1CoK,OAAO,GAAD9e,OAAwB,QAAxB6kE,EAAKrmE,EAAMslE,qBAAa,IAAAe,GAAW,QAAXC,EAAnBD,EAAqBP,iBAAS,IAAAQ,OAAX,EAAnBA,EAAgChmD,SAE7C2lC,IAAwB,QAArBsgB,EAAEvmE,EAAMslE,qBAAa,IAAAiB,OAAA,EAAnBA,EAAqBR,YAC1B7f,IAAI,YAiBd,CAqHesgB,aAQjB,E,6BC/baC,GAAgB,eAAA/jE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOa,EAAaQ,GAAS,IAAAlB,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACrCK,MAAM,wBAAyB,CACnDC,OAAQA,EACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB2iE,SAAUviE,EAAKuiE,SACfC,SAAUxiE,EAAKwiE,SACfC,OAAQziE,EAAKyiE,WAGd5iE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAdS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAeNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAjB4B2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KAkBhBkiE,GAAW,eAAAhiE,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOnB,EAAaQ,GAAS,IAAAnB,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEvB,OADzBL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDW,EAAKV,kBAAoBT,EAAM+B,EAAA1B,KAAA,EACTK,MAAM,oBAAqB,CAC/CC,OAAQA,EACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB2iE,SAAUviE,EAAKuiE,SACfC,SAAUxiE,EAAKwiE,SACfC,OAAQziE,EAAKyiE,WAGd5iE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAdS,OAAPlB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAeNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAnBuBO,EAAAiB,GAAA,OAAAzB,EAAAH,MAAA,KAAAC,UAAA,KCLlBmiE,GAAcxwD,wBAAuC,MAErDywD,GAA4C,SAAC/mE,GACjD,IAAA+X,EAA0BC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA3CivD,EAAM/uD,EAAA,GAAEgvD,EAAOhvD,EAAA,GAEtB,OACE1X,cAACumE,GAAY9vD,SAAQ,CAACjO,MAAO,CAAEi+D,SAAQC,WAAUxmE,SAC9CT,EAAMS,UAGb,ECbeymE,GAPI,WACjB,IAAMrgE,EAAUC,qBAAWggE,IAC3B,IAAKjgE,EACH,MAAM,IAAIG,MAAM,iDAClB,OAAOH,CACT,ECRasgE,GAAU,eAAAzkE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO8jB,EAAejlB,GAAU,IAAAwC,EAAAlB,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAIvD,OAHKc,EAAO,CACXijE,KAAMxgD,EACNygD,iBAAkB1lE,GACnBwB,EAAAE,KAAA,EACqBK,MAAM,uBAAwB,CAClDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAaNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAnBsB2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KAqBV2iE,GAAiB,eAAAziE,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAA7B,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACTK,MAAM,+BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAONtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,kBAT6B,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAWjB4iE,GAAoB,eAAAriE,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOhB,GAAS,IAAAnB,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAEnB,OADzBL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDW,EAAKV,kBAAoBT,EAAMoC,EAAA/B,KAAA,EACTK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAYNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAhBgCE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KCpBpB6iE,GAAiB,eAAA3iE,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO2iE,GAAY,IAAAxkE,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAClB,OAAhCsC,QAAQe,IAAI,UAAW+gE,GAAS1iE,EAAA1B,KAAA,EAEVK,MAAM,6BAA8B,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU0jE,KAEpBzjE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAaNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAjB6BL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAoCjB+iE,GAAmB,eAAAniE,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EAAOiiE,GAAY,IAAAxkE,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OACpB,OAAhCsC,QAAQe,IAAI,UAAW+gE,GAAShiE,EAAApC,KAAA,EAEVK,MAAM,yCAA0C,CACpEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU0jE,KAEpBzjE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAaNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,gBAjB+BH,GAAA,OAAAE,EAAAb,MAAA,KAAAC,UAAA,KAmBnBgjE,GAAmB,eAAA7hE,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,EAAOqF,GAAkB,IAAAw8D,EAAAC,EAAAhuC,EAAAiuC,EAAA,OAAAllE,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAC9B,OAAxBukE,GAAmB,EAAK5hE,EAAA3C,KAAA,EACGikE,KAAoB,KAAD,EAA5B,OAAlBO,EAAkB7hE,EAAA1B,KAAA0B,EAAA3C,KAAA,EACG+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAkBhE,OAlBG+4B,EAAY7zB,EAAA1B,KAEZujE,IACEC,EAAcD,EAAYpvD,QAC5B,SAACsvD,GAAY,OAAKA,EAAQ38D,aAAeA,CAAU,IAGhD,OAALyuB,QAAK,IAALA,KAAOhxB,SAAQ,SAACu+D,GACdU,EAAYj/D,SAAQ,SAACm/D,IACK,IAApBA,EAAOC,UACLD,EAAO/sC,SAAWmsC,EAAKnsC,QACL,IAAhBmsC,EAAKnsC,SACP2sC,GAAU,EAIlB,GACF,KACD5hE,EAAAzB,OAAA,SAEMqjE,GAAO,wBAAA5hE,EAAAxB,OAAA,GAAAuB,EAAA,KACf,gBAxB+BO,GAAA,OAAAR,EAAApB,MAAA,KAAAC,UAAA,KCrCnBujE,GAAc,SAACloE,GAAkB,IAADmoE,EAAAC,EAC3CC,EAA4BnB,KAAZD,GAAFoB,EAANrB,OAAeqB,EAAPpB,SAChBlvD,EAAoCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAA5CuwD,EAAUrwD,EAAA,GAAEswD,EAAatwD,EAAA,GAChCgJ,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5CunD,EAAUtnD,EAAA,GAAEunD,EAAavnD,EAAA,GAEhCG,EAAkCrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAnDqnD,EAASpnD,EAAA,GAAEqnD,EAAYrnD,EAAA,GAC9BgB,EAAsCtK,mBAAS,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA3CsmD,EAAWrmD,EAAA,GAAEsmD,EAActmD,EAAA,GAClCC,EAAuBxK,mBAAchY,EAAM8oE,cAApCC,EAAiDlyD,YAAA2L,EAAA,GAArC,GACnBw5C,EAAwCnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAApDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAChChyC,EAAWimC,cACXwM,EAAUja,cACNuc,EAAS/O,YAAe,CAAC,gBAAzB+O,KACRn5C,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAA/B0vC,GAAFzS,EAAA,GAAaA,EAAA,IACtBiZ,EAAU,IAAIrJ,IACpBuB,EAIIphB,YAAQ,CACVosB,cAAe,CACbyH,SAAU,GACVC,SAAU,MANZ1hC,EAAYgvB,EAAZhvB,aACA90B,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OAQfqL,qBAAU,WACRi8D,GACF,GAAG,IACH,IAAMA,EAAY,eAAAtmE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAmB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACIuoD,eAAa,KAAD,EAA7B3nD,EAAQd,EAAAmB,KACdikE,EAActkE,EAASqkE,YACvBG,EAAcxkE,EAASukE,YAAY,wBAAArlE,EAAAqB,OAAA,GAAA1B,EAAA,KACpC,kBAJiB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAMZugC,EAAQ,eAAArgC,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOX,GAA4C,IAAA2gE,EAAAmE,EAAAC,EAAAC,EAAAC,EAAAxB,EAAAyB,EAAAC,EAAAC,EAAAr2D,EAAA,OAAAtQ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAiBhE,GAhBFslE,GAAa,GAEP7D,EAAWxhE,OAAO2mB,SAAS86C,SACrB,iBACNkE,EAAa,CACjBvC,SAAUviE,EAAKuiE,SACfC,SAAUxiE,EAAKwiE,SAMfC,OAGM9B,IAEJ3gE,EAAKuiE,SAAS19D,SAdN,kBAcoB,CAADjE,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EACCwjE,GAAY,OAAQoC,GAAY,KAAD,EAAxC,GACY,QAD7BC,EAAiBnkE,EAAAT,MACC+gE,OAAe,CAAAtgE,EAAA1B,KAAA,SAyBY,OAzBZ0B,EAAA3B,KAAA,GAE7BgmE,EAAc7lE,aAAaC,QAAQ,eAErC4lE,EAActlE,KAAKwM,MAAM84D,IAE3B/N,KACA93D,aAAa+3D,WAAW,WACxBS,EAAQ/d,OAAO,cACf+d,EAAQyN,IAAI,aAAcN,EAAkBO,WAAY,CACtDC,KAAM,IACNC,QAAS,IAAIzuD,KAAKA,KAAK8pC,MAAQ,SAEb,OAAhBokB,EACEA,EAAY5gE,OAAS,GACvBjF,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUqlE,IAGlD7lE,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAU,KAEJ,QAAzB,OAAjBmlE,QAAiB,IAAjBA,GAA+B,QAAdC,EAAjBD,EAAmBv9C,oBAAY,IAAAw9C,OAAd,EAAjBA,EAAiC7P,MACnC0F,EAAKc,eAAe,MAEpBd,EAAKc,eAAe,MAEtBvK,EAA6B,OAAjB2T,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBv9C,cAAc5mB,EAAA1B,KAAA,GACvBskE,GACpBuB,EAAkBv9C,aAAavgB,YAC/B,KAAD,GAFKw8D,EAAO7iE,EAAAT,KAGbf,aAAaw8D,QAAQ,WAAY6H,EAAU,OAAS,SACpDrkE,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUmlE,IAChD3lE,aAAaw8D,QACX,aACAmJ,EAAkBv9C,aAAavgB,YAEjC7H,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAargB,cAEjC/H,aAAaw8D,QAAQ,OAAQmJ,EAAkBv9C,aAAa2tC,MAC5D/1D,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAapgB,QAC9DhI,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAamqC,QAC9DvyD,aAAaw8D,QAAQ,QAASmJ,EAAkBv9C,aAAangB,OAC7DjI,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAamsC,gBAEjCv0D,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAalgB,gBAEjClI,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAamrC,cAEjCvzD,aAAaw8D,QACX,mBACAmJ,EAAkBv9C,aAAajgB,kBAEjCnI,aAAaw8D,QAAQ,UAAWmJ,EAAkB3jD,SAElD42C,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,KAAQ1tD,EAAA1B,KAAA,iBAAA0B,EAAA3B,KAAA,GAAA2B,EAAAoiB,GAAApiB,EAAA,SAE5DY,QAAQe,IAAI,eAAc3B,EAAAoiB,IAAS,QAErCwhD,GAAa,GAEbjM,EAAQrzD,KAAK,YAAY,QAEM,OAA7B6/D,EAAkB7D,QACpBwD,EAAeK,EAAkB7D,QAClCtgE,EAAA1B,KAAA,wBAAA0B,EAAA1B,KAAA,GAE6BojE,GAAiB,OAAQwC,GAAY,KAAD,GAElE,GAAiC,QAF7BC,EAAiBnkE,EAAAT,MAEC+gE,OAAiB,CACrC,KACM+D,EAAc7lE,aAAaC,QAAQ,eAGrC4lE,EAActlE,KAAKwM,MAAM84D,IAG3B/N,KACA93D,aAAaw8D,QAAQ,SAAU,QAC/Bx8D,aAAa+3D,WAAW,WACxBS,EAAQ/d,OAAO,cACf+d,EAAQyN,IAAI,aAAcN,EAAkBO,WAAY,CACtDC,KAAM,IACNC,QAAS,IAAIzuD,KAAKA,KAAK8pC,MAAQ,SAEb,OAAhBokB,EACEA,EAAY5gE,OAAS,GACvBjF,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUqlE,IAGlD7lE,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAU,KAEJ,QAAzB,OAAjBmlE,QAAiB,IAAjBA,GAA+B,QAAdI,EAAjBJ,EAAmBv9C,oBAAY,IAAA29C,OAAd,EAAjBA,EAAiChQ,MACnC0F,EAAKc,eAAe,MAEpBd,EAAKc,eAAe,MAEtBvK,EAA6B,OAAjB2T,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBv9C,cAC/BpoB,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUmlE,IAChD3lE,aAAaw8D,QACX,aACAmJ,EAAkBv9C,aAAavgB,YAEjC7H,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAargB,cAEjC/H,aAAaw8D,QAAQ,OAAQmJ,EAAkBv9C,aAAa2tC,MAC5D/1D,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAapgB,QAC9DhI,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAamqC,QAC9DvyD,aAAaw8D,QAAQ,QAASmJ,EAAkBv9C,aAAangB,OAC7DjI,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAamsC,gBAEjCv0D,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAalgB,gBAEjClI,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAamrC,cAEjCvzD,aAAaw8D,QACX,mBACAmJ,EAAkBv9C,aAAajgB,kBAEjCnI,aAAaw8D,QAAQ,UAAWmJ,EAAkB3jD,SAElD42C,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,IACtD,CAAE,MAAO7sD,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CAEErC,aAAaC,QAAQ,WACc,KAAnCD,aAAaC,QAAQ,WAEf0P,EAAK3P,aAAaC,QAAQ,UAChCD,aAAa+3D,WAAW,UACxBqN,GAAa,GAEbjM,EAAQrzD,KAAK,mBAAqB6J,KAElCy1D,GAAa,GAEbjM,EAAQrzD,KAAK,YAEjB,CAEiC,OAA7B6/D,EAAkB7D,QACpBwD,EAAeK,EAAkB7D,QAClC,QAEHsD,GAAa,GAAO,yBAAA5jE,EAAAP,OAAA,GAAAM,EAAA,mBACrB,gBApLaL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAiMd,OAZAoI,qBAAU,WACRk6D,GAAQ,GACJ/K,EAAazJ,iBACfiK,EAAQrzD,KAAK,WAEjB,GAAG,IAEH0D,qBAAU,WACJkd,EAAS2/C,KAAK7/D,QAAQ,4BAE5B,GAAG,CAACkgB,EAAS2/C,OAGXrpE,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OAAKgB,UAAU,WAAUd,SACvBE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAACspE,KAAQ,CAACC,UAAQ,EAACvoE,UAAU,eAAcd,SACxCsoE,EAAa3/D,KAAI,SAAC2gE,EAAgBvwD,GACjC,OACEjZ,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OAAK0lD,IAAK8jB,EAAW7jB,IAAI,WAG/B,QAIJ3lD,cAAA,QAAM2kC,SAAUD,EAAaC,GAAUzkC,SACpCioE,EACC/nE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAACkxC,KAAI,CAACp+B,KAAK,UACX9S,cAAA,KAAGgB,UAAU,YAAWd,SAAC,wGAG3BE,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,OACE0lD,IAAKjmD,EAAMgqE,SACX9jB,IAAI,aACJ3kD,UAAU,WACVH,MAAO,CAAEC,WAAY,QAEvBV,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACEgB,UAAU,UACVH,MAAO,CACLkM,MAAO,UAEPH,SAAU,OACV1M,SACH,6BAGDE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAC0pE,IAAa,CACZ7oE,MAAO,CAAEkM,MAAO,UAAWH,SAAU,UAEvC5M,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAvN,GAAA,IAAAglE,EAAG95D,EAAKlL,EAALkL,MAAK,OACd7P,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,OACLsR,YAAY,sCACZ/R,UAAS,eAAAC,OACPonE,GAC0B,cAAX,QAAfsB,EAAAxoE,EAAOglE,gBAAQ,IAAAwD,OAAA,EAAfA,EAAiBloE,MACb,gBACA,MAEN,OAIRzB,cAAA,KACEgB,UAAU,eACVH,MAAO,CAAEuI,SAAU,YAAalJ,SAEL,cAAX,QAAf0nE,EAAAzmE,EAAOglE,gBAAQ,IAAAyB,OAAA,EAAfA,EAAiBnmE,OAChB,oHAGNrB,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACEgB,UAAU,UACVH,MAAO,CACLkM,MAAO,UACPH,SAAU,OACV1M,SACH,eAGDE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAC4pE,IAAa,CACZ/oE,MAAO,CAAEkM,MAAO,UAAWH,SAAU,QACrC5L,UAAU,iBAEZhB,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAlN,GAAA,IAAA6kE,EAAGh6D,EAAK7K,EAAL6K,MAAK,OACd7P,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,WACLsR,YAAY,iBACZ/R,UAAS,eAAAC,OACPonE,GAC0B,cAAX,QAAfwB,EAAA1oE,EAAOilE,gBAAQ,IAAAyD,OAAA,EAAfA,EAAiBpoE,MACb,gBACA,MAEN,IAGNzB,cAAA,KACEgB,UAAU,eACVH,MAAO,CAAEuI,SAAU,YAAalJ,SAEL,cAAX,QAAf2nE,EAAA1mE,EAAOilE,gBAAQ,IAAAyB,OAAA,EAAfA,EAAiBpmE,OAChB,2GAE0B,GAA7BhC,EAAMqqE,oBACL1pE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,OAAQx0C,SAAA,CACrDF,cAAA,QACEgB,UAAU,uBACV4U,QAAS,kBAAMumD,EAAQrzD,KAAK,UAAU,EAAC5I,SACxC,qBAIDE,eAAA,QAAMS,MAAO,CAAE0iC,QAAS,qBAAsBrjC,SAAA,CAC3C,IAAI,OAGPE,eAAA,QACEY,UAAU,uBACV4U,QAAS,kBAAMumD,EAAQrzD,KAAK,sBAAsB,EAAC5I,SAAA,CAElD,IAAI,iBAKT,SAKNE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLZ,MAAO,CAAEkpE,cAAe,MAAO7pE,SAChC,WAGDF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAEmoE,OAEjCroE,cAAA,OAAKa,MAAO,CAAEkM,MAAO,WAAY7M,SAC/BE,eAAA,KAAAF,SAAA,CAAG,iBACW6nE,EAAW,WAASE,UAKlB,OAAd,OAALxoE,QAAK,IAALA,OAAK,EAALA,EAAOuqE,UACN5pE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAAE,SACEF,cAAA,OAAKgB,UAAU,kBAAiBd,SAC9BF,cAAA,QAAMgB,UAAU,WAAUd,SAAC,iCAG/BF,cAACwnB,IAAM,CACL3mB,MAAO,CACL8U,MAAO,OACP6U,gBAAiB,UACjBzd,MAAO,QACPsK,aAAc,MACdC,OAAQ,EACR1K,SAAU,OAEZgJ,QAAS,WACP5S,aAAaw8D,QAAQ,SAAU,SAC/BrD,EAAQrzD,KAAK,cACf,EACArH,KAAK,SACLD,MAAM,WACNR,UAAU,4CACV4V,KAAK,kCAW3B,E,mBChcO,SAASqzD,KACZt2D,SAASu2D,OAAO7gE,MAAM,KAAKf,SAAQ,SAAS6hE,GAAKx2D,SAASu2D,OAASC,EAAEloE,QAAQ,MAAO,IAAIA,QAAQ,MAAO,cAAe,IAAI0Y,MAAOyvD,cAAgB,UAAY,GACjK,C,0CCGaC,GAA6B,CACxCC,KAAM,CACJC,SALwC,wCAO1CC,MAAO,CACLC,cAAe,iBACfC,wBAAwB,GAE1BC,OAAQ,CACNC,cAAe,CACbC,eAAgB,SAACC,EAAO51D,EAAS61D,GAC/B,IAAIA,EAGJ,OAAQD,GACN,KAAKE,KAASvkE,MAEZ,YADArB,QAAQC,MAAM6P,GAEhB,KAAK81D,KAASC,KAEZ,YADA7lE,QAAQw5C,KAAK1pC,GAEf,KAAK81D,KAASE,QAEZ,YADA9lE,QAAQ+lE,MAAMj2D,GAEhB,KAAK81D,KAASI,QAEZ,YADAhmE,QAAQimE,KAAKn2D,GAGnB,KCgEWo2D,GAtFwB,WAUrC,SAAAA,IAAe,IAADC,EAAArhB,aAAA,KAAAohB,GAAA,KATNE,UAAqC,IAAIC,KAC/CpB,IACA,KACMtG,aAAO,OACP2H,0BAAoB,OACpBC,kBAAY,OAEbC,4BAA6B,EAIlCvhB,KAAK0Z,QAAU,KACf1Z,KAAKwhB,oBACU,OAAXxB,SAAW,IAAXA,IAAiB,QAANkB,EAAXlB,GAAaC,YAAI,IAAAiB,GAAjBA,EAAmBhB,WACrBlgB,KAAKuhB,4BAA6B,EAEtC,CAkEC,OAlEAzhB,aAAAmhB,EAAA,EAAAr9D,IAAA,oBAAAzF,MAED,WACE6hD,KAAKshB,aAAe,CAClBG,OAAQ,GACRC,OAAQ,kBAGV1hB,KAAKqhB,qBAAoBn5D,wBAAA,GACpB83C,KAAKshB,cAAY,IACpBK,kBAAmBjpE,OAAO2mB,SAAS6qB,MAEvC,GAAC,CAAAtmC,IAAA,QAAAzF,MAED,SAAMyjE,EAAoBC,GAAqB,IAAD9hB,EAAA,KACzB,eAAf6hB,EACF5hB,KAAKmhB,UACFW,WAAW9hB,KAAKshB,cAChBloE,MAAK,SAAC2oE,GACLhiB,EAAKiiB,eAAeD,EAAMF,EAC5B,IACCroE,OAAM,SAACC,GACNsB,QAAQC,MAAMvB,EAChB,IACsB,kBAAfmoE,GACT5hB,KAAKmhB,UAAUc,cAAcjiB,KAAKqhB,qBAEtC,GAAC,CAAAz9D,IAAA,SAAAzF,MAED,SAAOu7D,GACL,IAAMwI,EAAmC,CACvCxI,WAGF1Z,KAAKmhB,UAAUgB,OAAOD,EACxB,GAAC,CAAAt+D,IAAA,iBAAAzF,MACD,SAAe9E,EAAgC+oE,GAC9B,OAAZ/oE,GAAwC,OAApBA,EAASqgE,QAC9B1Z,KAAK0Z,QAAUrgE,EAASqgE,QAExB1Z,KAAK0Z,QAAU1Z,KAAKqiB,aAGlBriB,KAAK0Z,SACP0I,EAAiBpiB,KAAK0Z,QAE1B,GAAC,CAAA91D,IAAA,aAAAzF,MACD,WACEpD,QAAQe,IAAI,kBACZ,IAAMwmE,EAAkBtiB,KAAKmhB,UAAUoB,iBACvC,GAAwB,OAApBD,EAMJ,OAAIA,EAAgB1kE,OAAS,GAG3B7C,QAAQe,IACN,gEAEKwmE,EAAgB,IACa,IAA3BA,EAAgB1kE,OAClB0kE,EAAgB,QADlB,EAXLvnE,QAAQe,IAAI,uBAchB,KAACmlE,CAAA,CAnFoC,GCyB5BuB,GAAmB,SAACptE,GAAkB,IAADmoE,EAAAC,EAChDrwD,EAAsCC,qBAAuBC,EAAApB,YAAAkB,EAAA,GAC7DkJ,GADkBhJ,EAAA,GAAgBA,EAAA,GACAD,oBAAkB,IAAMkJ,EAAArK,YAAAoK,EAAA,GAAnDynD,EAASxnD,EAAA,GAAEynD,EAAYznD,EAAA,GAC9BG,EAAwBrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhCgtC,EAAI/sC,EAAA,GACXuE,GADoBvE,EAAA,GACYwE,eAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAA/B0vC,GAAFzS,EAAA,GAAaA,EAAA,IAC5BxgC,EAAgCtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAAjD+qD,EAAQ9qD,EAAA,GAAE+qD,EAAW/qD,EAAA,GAC5BC,EAAsCxK,mBAAS,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA3ComD,EAAWnmD,EAAA,GAAEomD,EAAcpmD,EAAA,GAClCwG,EAAwCjR,mBAAS,IAAGkR,EAAArS,YAAAoS,EAAA,GACpDq5C,GADmBp5C,EAAA,GAAiBA,EAAA,GACOq5C,gBAAnCC,EAAQF,EAARE,SAAUE,EAAUJ,EAAVI,WAAYD,EAAQH,EAARG,SACtBzD,EAAS/O,YAAe,CAAC,gBAAzB+O,KAEFvM,EAAkB8a,eAClBC,EACJ,IAAI3B,GACN7P,EAAwCnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAApDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAC9BwL,EAAU,CACd4E,OAAQ,CAAC,cAEXoB,EAAiCC,aAC/BC,KAAgBC,OAChBnG,GAFa/hE,GAAF+nE,EAALI,MAAaJ,EAAN/nE,QAITq2D,GAJsB0R,EAAL7nE,MAIP,IAAI8sD,KACdgK,GAAUja,cACVqrB,GAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAChD1F,GAA4BnB,KAAZD,IAAFoB,GAANrB,OAAeqB,GAAPpB,SAEhBhT,GAKIphB,YAAQ,CACVosB,cAAe,CACbyH,SAAU,GACVC,SAAU,MAPZ1hC,GAAYgvB,GAAZhvB,aACA90B,GAAO8jD,GAAP9jD,QACazO,GAAMuyD,GAAnBthD,UAAajR,OACRuyD,GAAL7uB,MAQFr4B,qBAAU,WACRk6D,IAAQ,GACJ/K,EAAazJ,iBAAmBA,GAClCiK,GAAQrzD,KAAK,WAEjB,GAAG,IACH0D,qBAAU,WACkB,OAAtB+gE,GAAMnb,IAAI,SACZ2a,GAAY,EAEhB,GAAG,CAACQ,KACJ/gE,qBAAU,WACRpH,QAAQe,IACN,MACA+rD,EACAub,KAAkBC,KAClBxL,EACA,gBACAC,EACA,UACAh9D,EAEJ,GAAG,CAAC+sD,EAAiBiQ,EAAYF,EAAU98D,IAC3CqH,qBAAU,WACRmhE,IACF,GAAG,CAACzL,IAEJ,IAAM0L,GAAU,eAAAzrE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAA2gE,EAAAt2D,EAAAy6D,EAAAC,EAAA,OAAAtmE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAWuB,GAVlDyhE,EAAWxhE,OAAO2mB,SAAS86C,SAC3Bv2D,EAAM,iBACNy6D,EAAa,CACjBvC,SAAUviE,EAAKuiE,SACfC,SAAUxiE,EAAKwiE,SACfC,OAGM9B,GAERn/D,QAAQe,IAAI,cAAevC,EAAKuiE,SAAS19D,SAASwF,KAE9CrK,EAAKuiE,SAAS19D,SAASwF,GAAK,CAADrL,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACCwjE,GAAY,OAAQoC,GAAY,KAAD,EAAzDC,EAAiB/lE,EAAAmB,KACrBqB,QAAQe,IAAI,2BAA4BwiE,GAEP,OAA7BA,EAAkB7D,SACpBhK,KACA93D,aAAa+3D,WAAW,WACxBS,EAAQ/d,OAAO,cACf+d,EAAQyN,IAAI,aAAcN,EAAkBO,WAAY,CACtDC,KAAM,IACNC,QAAS,IAAIzuD,KAAKA,KAAK8pC,MAAQ,SAEjCopB,GAAgBlF,IAEe,OAA7BA,EAAkB7D,QACpBwD,EAAeK,EAAkB7D,QAClC,yBAAAliE,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,gBA/Be2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAiCVupE,GAAW,eAAArpE,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAupE,EAAA,OAAAzrE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACI,GAAtBsC,QAAQe,IAAI+7D,KACRA,EAASj6D,OAAS,GAAC,CAAAzD,EAAA1B,KAAA,QAEF,OADbgrE,EAAiB5L,EAAS,GAChCkG,GAAa,GAAM5jE,EAAA1B,KAAA,EACbK,MAAM,yBAA0B,CACpCC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB2iE,SAAUjE,EAAS,GAAGiE,aAGvB1iE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,IAAM+kE,EAAyB/kE,EAC/Bk3D,KACAU,EAAQ/d,OAAO,cACf+d,EAAQyN,IAAI,aAAc6E,EAAUC,cAAcC,IAAK,CACrD7E,KAAM,IACNC,QAAS,IAAIzuD,KAAKA,KAAK8pC,MAAQqpB,EAAUC,cAAcE,OAEzDJ,GAAgBlF,EAClB,IAAG,KAAD,mBAAAnkE,EAAAP,OAAA,GAAAM,EAAA,KAEP,kBA1BgB,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KA4BXypE,GAAe,eAAAlpE,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAO+jE,GAAsB,IAAAC,EAAAC,EAAAl2D,EAAA,OAAAtQ,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,WACzB,IAAtB6lE,EAA2B,CAAA9jE,EAAA/B,KAAA,QAMK,OALlCg4D,KACAmP,KAEA3B,EAAe,kOACfF,GAAa,GACb6E,EAAqBT,OAAO1e,GAAMjpD,EAAAb,OAAA,iBAMhB,QAHd6kE,EAAc7lE,aAAaC,QAAQ,YACrCM,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAC/C,IAEE4lE,EAAY5gE,OAAS,GACvBjF,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUqlE,IAGlD7lE,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAU,KAEJ,QAAzB,OAAjBmlE,QAAiB,IAAjBA,GAA+B,QAAdC,EAAjBD,EAAmBv9C,oBAAY,IAAAw9C,OAAd,EAAjBA,EAAiC7P,MACnC0F,EAAKc,eAAe,MAEpBd,EAAKc,eAAe,MAEtBvK,EAA6B,OAAjB2T,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBv9C,cAC/BpoB,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUmlE,IAChD3lE,aAAaw8D,QACX,aACAmJ,EAAkBv9C,aAAavgB,YAEjC7H,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAargB,cAEjC/H,aAAaw8D,QAAQ,OAAQmJ,EAAkBv9C,aAAa2tC,MAC5D/1D,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAapgB,QAC9DhI,aAAaw8D,QAAQ,SAAUmJ,EAAkBv9C,aAAamqC,QAC9DvyD,aAAaw8D,QAAQ,QAASmJ,EAAkBv9C,aAAangB,OAC7DjI,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAamsC,gBAEjCv0D,aAAaw8D,QACX,iBACAmJ,EAAkBv9C,aAAalgB,gBAEjClI,aAAaw8D,QACX,eACAmJ,EAAkBv9C,aAAamrC,cAEjCvzD,aAAaw8D,QACX,mBACAmJ,EAAkBv9C,aAAajgB,kBAEjCnI,aAAaw8D,QAAQ,UAAWmJ,EAAkB3jD,SAElD42C,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,KACpDkW,GAAa,GAEXplE,aAAaC,QAAQ,WACc,KAAnCD,aAAaC,QAAQ,WAEf0P,EAAK3P,aAAaC,QAAQ,UAChCD,aAAa+3D,WAAW,UACxBoB,GAAQrzD,KAAK,mBAAqB6J,IAElCwpD,GAAQrzD,KAAK,YACd,yBAAAjE,EAAAZ,OAAA,GAAAW,EAAA,KACF,gBArEoBH,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KA8ErB,OAPAoI,qBAAU,WACRk6D,IAAQ,GACJ/K,EAAazJ,iBACfiK,GAAQrzD,KAAK,WAEjB,GAAG,IAGD1I,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAACspE,KAAQ,CAACC,UAAQ,EAACvoE,UAAU,eAAcd,SACxCT,EAAMyuE,aAAarlE,KAAI,SAAC2gE,EAAgBvwD,GACvC,OACEjZ,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OAAK0lD,IAAK8jB,EAAW7jB,IAAI,WAG/B,QAIJ3lD,cAAA,OAAKgB,UAAU,uBAAsBd,SAClCioE,EACC/nE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAACkxC,KAAI,CAACp+B,KAAK,UACX9S,cAAA,KAAGgB,UAAU,YAAWd,SAAC,wGAG3BE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,OAAK0lD,IAAKjmD,EAAM0uE,SAAUxoB,IAAI,aAAa3kD,UAAU,aAErDhB,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,UACEgB,UAAU,eACV4U,QAAS,WACPqsD,EAASkK,WAAWjF,GAASrjE,OAAM,SAACsI,GAClC/G,QAAQC,MAAM8G,EAChB,GACF,EAAEjM,SACH,qBAQXF,cAACgnB,IAAM,CACLE,QAAS4lD,EACTjsE,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAO,UACPO,OAAQ,WACN80C,GAAQrzD,KAAK,UACbikE,GAAY,EACd,EACA/rE,UAAU,mBACVsmB,WAAW,EACXL,aAAW,EACXm6B,WAAW,EACXD,UAAU,EAAKjhD,SAEfF,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,QAAM2kC,SAAUD,GAAakpC,IAAY1tE,SACtCioE,EACC/nE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAACkxC,KAAI,CAACp+B,KAAK,UACX9S,cAAA,KAAGgB,UAAU,YAAWd,SAAC,wGAG3BE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACEgB,UAAU,UACVH,MAAO,CACLkM,MAAO,UAEPH,SAAU,QACV1M,SACH,oBAGDE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAC0pE,IAAa,CAAC7oE,MAAO,CAAEkM,MAAO,aAC/B/M,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,GACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAlN,GAAA,IAAA2kE,EAAG95D,EAAK7K,EAAL6K,MAAK,OACd7P,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,OACLsR,YAAY,sBACZ/R,UAAS,eAAAC,OACPonE,GAAyC,cAAX,QAAfsB,EAAAxoE,GAAOglE,gBAAQ,IAAAwD,OAAA,EAAfA,EAAiBloE,MAC5B,gBACA,MAEN,OAIRzB,cAAA,KAAGgB,UAAU,eAAeH,MAAO,CAAEuI,SAAU,YAAalJ,SAC/B,cAAX,QAAf0nE,EAAAzmE,GAAOglE,gBAAQ,IAAAyB,OAAA,EAAfA,EAAiBnmE,OAChB,oHAGNrB,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACEgB,UAAU,UACVH,MAAO,CACLkM,MAAO,UACPH,SAAU,QACV1M,SACH,eAGDE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAACouE,KAAa,CACZvtE,MAAO,CAAEkM,MAAO,WAChB/L,UAAU,iBAEZhB,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,GACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAA3M,GAAA,IAAAskE,EAAGh6D,EAAKtK,EAALsK,MAAK,OACd7P,cAAA,QAAAuS,wBAAA,GACM1C,GAAK,IACTpO,KAAK,WACLsR,YAAY,iBACZ/R,UAAS,eAAAC,OACPonE,GAAyC,cAAX,QAAfwB,EAAA1oE,GAAOilE,gBAAQ,IAAAyD,OAAA,EAAfA,EAAiBpoE,MAC5B,gBACA,MAEN,IAGNzB,cAAA,KACEgB,UAAU,eACVH,MAAO,CAAEuI,SAAU,YAAalJ,SAEL,cAAX,QAAf2nE,EAAA1mE,GAAOilE,gBAAQ,IAAAyB,OAAA,EAAfA,EAAiBpmE,OAChB,iHAIRrB,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,UAAQgB,UAAU,eAAeS,KAAK,SAAQvB,SAAC,WAG/CF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAEmoE,kBASjD,ECtYagG,I,OAAmB,SAAC5uE,GAC/B,IAAA+X,EAAoCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAA5CuwD,EAAUrwD,EAAA,GAAEswD,EAAatwD,EAAA,GAChCgJ,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5CunD,EAAUtnD,EAAA,GAAEunD,EAAavnD,EAAA,GAChCnU,qBAAU,WACRi8D,GACF,GAAG,IACH,IAAMA,EAAY,eAAAtmE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAmB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACIuoD,eAAa,KAAD,EAA7B3nD,EAAQd,EAAAmB,KACdikE,EAActkE,EAASqkE,YACvB3iE,QAAQe,IAAI,aAAczC,EAASqkE,YACnCG,EAAcxkE,EAASukE,YACvB7iE,QAAQe,IAAI,aAAczC,EAASukE,YAAY,wBAAArlE,EAAAqB,OAAA,GAAA1B,EAAA,KAChD,kBANiB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAQlB,OACEhE,eAAA,OAAKY,UAAU,+BAA8Bd,SAAA,CAC3CF,cAAA,KAAGgB,UAAU,4BACbZ,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCE,eAAA,KAAAF,SAAA,CAAG,qBACkB,IACnBF,cAAA,SAAOgB,UAAU,2BAA0Bd,SAAC,mBAAsB,MAAI,IACtEF,cAAA,SAAOgB,UAAU,2BAA0Bd,SAAC,kBAAqB,oBAGnEE,eAAA,KAAAF,SAAA,CAAG,iBAAY6nE,EAAW,WAASE,UAI3C,G,qHCjBaqG,I,OAAmB,SAAC7uE,GAAkB,IAAD8uE,EAChD,OACEvuE,cAACwnB,IAAM,CACLhmB,MAAO/B,EAAM+uE,cACb53D,KAAMnX,EAAMyoD,aACZv1C,GAAI5Q,YAAsC,QAApBwsE,EAAC9uE,EAAM+uE,qBAAa,IAAAD,IAAI,IAE9CvtE,UAAWvB,EAAM0oD,kBAAoB,+BACrCvyC,QAASnW,EAAMipD,aACflpC,QAAc,OAAL/f,QAAK,IAALA,OAAK,EAALA,EAAO+f,QAChB3e,MAAK0R,YAAA,GACA9S,EAAM2oD,eAGXj1C,SAAU1T,EAAM+oD,cAChB/mD,KAAMhC,EAAMopD,WAGlB,G,mBClCe,ofCAA,ofCAF4lB,GAAoB,eAAAtsE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO8jB,EAAejlB,GAAU,IAAAwC,EAAAnB,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQlC,OAP1Bc,EAAO,CACX8qE,eAAgBroD,EAChBsoD,mBAAoBvtE,EAAM6G,OAAS,EAAI7G,EAAQ,MAEjDgE,QAAQe,IAAI,8BAA+BvC,GAErCnB,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD7B,EAAM8B,kBAAoBT,EAAMG,EAAAE,KAAA,EACVK,MAAM,0CAA2C,CACrEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAYNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAtBgC2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KA8CpBwqE,GAAwB,eAAAjqE,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,IAAA,IAAAlC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAChBK,MAAM,+CACzBM,MAAK,SAACC,GAAa,OAAKA,EAASC,MAAM,IACvCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACysB,GACN,OAAO,CACT,IAAG,KAAD,EAPS,OAAP5tB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SASNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,kBAXoC,OAAAD,EAAAR,MAAA,KAAAC,UAAA,KCFxByqE,GAAuB,SAACpvE,GACnC,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAOFrtB,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAkCjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA5CouD,EAASnuD,EAAA,GAAEouD,EAAYpuD,EAAA,GAC9BG,EAA0CrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAtDkuD,EAAajuD,EAAA,GAAEkuD,EAAgBluD,EAAA,GACtCgB,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GAC1BsD,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACftgC,GAD4BsgC,EAAA,GACA9qC,mBAAiB,KAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GACxBwG,EAAgDjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAA5DgsC,EAAgB/rC,EAAA,GAAEgsC,EAAmBhsC,EAAA,GAC5CC,EAAgDnR,oBAAkB,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAjEqsC,EAAgBpsC,EAAA,GAAEqsC,GAAmBrsC,EAAA,GAC5C2I,GAAkD/Z,oBAAkB,GAAMga,GAAAnb,YAAAkb,GAAA,GAAnE09C,GAAiBz9C,GAAA,GAAE09C,GAAoB19C,GAAA,GAC9CG,GAAwBna,mBAAc,gEAAaoa,GAAAvb,YAAAsb,GAAA,GAA5CrO,GAAIsO,GAAA,GAAEu9C,GAAOv9C,GAAA,GACpBG,GAAkCva,mBAAgB,IAAGwa,GAAA3b,YAAA0b,GAAA,GAA9Cq9C,GAASp9C,GAAA,GAAEq9C,GAAYr9C,GAAA,GAC9BG,GAAoC3a,mBAAiB,GAAE4a,GAAA/b,YAAA8b,GAAA,GAAhDm9C,GAAUl9C,GAAA,GAAEm9C,GAAan9C,GAAA,GAChCG,GAAgC/a,mBAAiB,GAAEgb,GAAAnc,YAAAkc,GAAA,GAA5Ci9C,GAAQh9C,GAAA,GAAEi9C,GAAWj9C,GAAA,GAC5BG,GAAkDnb,mBAAgB,IAAGob,GAAAvc,YAAAsc,GAAA,GAA9D+8C,GAAiB98C,GAAA,GAAE+8C,GAAoB/8C,GAAA,GAC9CG,GACEvb,mBAAc,IAAGwb,GAAA3c,YAAA0c,GAAA,GADZ68C,GAAyB58C,GAAA,GAAE68C,GAA4B78C,GAAA,GAE9DI,GAAoC5b,mBAAiB,IAAG6b,GAAAhd,YAAA+c,GAAA,GAAjD08C,GAAUz8C,GAAA,GAAE08C,GAAa18C,GAAA,GAChCivC,GAAwC9qD,qBAAe+qD,GAAAlsD,YAAAisD,GAAA,GAAhDpiD,GAAYqiD,GAAA,GAAEyN,GAAezN,GAAA,GA+GH,SAAA0N,KAShC,OATgCA,GAAA9tE,YAAAC,IAAAC,MAAjC,SAAAiC,IAAA,IAAA4rE,EAAA,OAAA9tE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAEqC+sB,aAC/B,0CACAtvB,GACA,KAAD,EAHG4vE,EAAoB3rE,EAAAT,KAKxB6rE,GAAoBlnE,YAAKynE,IAAgB3rE,EAAA1B,KAAA,eAAA0B,EAAA3B,KAAA,EAAA2B,EAAAoiB,GAAApiB,EAAA,iCAAAA,EAAAP,OAAA,GAAAM,EAAA,mBAE5CJ,MAAA,KAAAC,UAAA,CAtHDoI,qBAAU,YAwNR,WAE8B4oD,GAAAjxD,MAAC,KAADC,UAAA,CAzN9B+wD,GA0Gc,WAEiB+a,GAAA/rE,MAAC,KAADC,UAAA,CA3G/BgsE,GAEKtZ,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,OAId,GAAG,IAEHxN,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJvN,qBAAU,WACR,QAA0BjM,IAAtBd,EAAM4wE,aAA6B5wE,EAAM4wE,YAAYpoE,OAAS,GAC5DysD,EAAkB,CACpB,IAAI9wD,EAAOnE,EAAM4wE,YAAYn4D,QAC3B,SAAC3P,GAAS,OAAKA,EAAK+nE,kBAAoB7wE,EAAM4mB,SAASiqD,eAAe,IAGpElvE,EAAe,GACnBwC,EAAKiF,KAAI,SAACsD,GACR,GAAIA,EAAEiM,SACJ,GACmB,OAAjBjM,EAAEokE,iBACehwE,IAAjB4L,EAAEokE,YACe,IAAjBpkE,EAAEokE,WACF,CACA,IAAMn2C,EAAWs6B,EAAiBt0C,MAAK,SAACw/C,GACtC,OAAOzzD,EAAEokE,aAAe3Q,EAAI/0D,UAC9B,IACA,GAAIuvB,EAAU,CACZ,IAAI7xB,EAAY,CAAC,EACjBA,EAAKioE,oBAAsBrkE,EAAEqkE,oBAC7BjoE,EAAKkoE,WAAatkE,EAAEskE,WACpBloE,EAAKmoE,SAAWvkE,EAAEukE,SAClBnoE,EAAKooE,gBAAkB,KACvBpoE,EAAKqoE,kBAAoB,KACzBroE,EAAKgoE,WAAan2C,EAASvvB,WAC3BtC,EAAKsoE,aACHz2C,EAA2B,OAAlB5U,EAASuzC,KAAgB,SAAW,UAC/CxwD,EAAK6P,SAAWjM,EAAEiM,SAClB7P,EAAKuoE,IAAM3kE,EAAE2kE,IACbvoE,EAAKwoE,gBAAiB,EACtB3vE,EAAM0H,KAAKP,EACb,KAAO,CACL,IAAIA,EAAY,CAAC,EACjBA,EAAKioE,oBAAsBrkE,EAAEqkE,oBAC7BjoE,EAAKkoE,WAAatkE,EAAEskE,WACpBloE,EAAKmoE,SAAWvkE,EAAEukE,SAClBnoE,EAAKooE,gBAAkB,KACvBpoE,EAAKqoE,kBAAoB,KACzBroE,EAAKgoE,WAAapkE,EAAEtB,WACpBtC,EAAKsoE,aAAe,YACpBtoE,EAAKuoE,IAAM3kE,EAAE2kE,IACbvoE,EAAK6P,SAAWjM,EAAEiM,SAClB7P,EAAKwoE,gBAAiB,EACtB3vE,EAAM0H,KAAKP,EACb,CACF,MAAO,GAAI4D,EAAEwkE,gBAAkB,EAAG,CAChC,IAAMK,EAAarB,GAAkBvvD,MAAK,SAAC6wD,GACzC,OAAO9kE,EAAEwkE,iBAAmBM,EAAKN,eACnC,IACA,GAAIK,EAAY,CACd,IAAIzoE,EAAY,CAAC,EACjBA,EAAKioE,oBAAsBrkE,EAAEqkE,oBAC7BjoE,EAAKkoE,WAAatkE,EAAEskE,WACpBloE,EAAKmoE,SAAWvkE,EAAEukE,SAClBnoE,EAAKooE,gBAAkBK,EAAWL,gBAClCpoE,EAAKqoE,kBACHI,EAA6B,OAAlBxrD,EAASuzC,KAAgB,SAAW,UACjDxwD,EAAKgoE,WAAa,KAClBhoE,EAAKsoE,aAAe,KACpBtoE,EAAKuoE,IAAM3kE,EAAE2kE,IACbvoE,EAAK6P,SAAWjM,EAAEiM,SAClB7P,EAAKwoE,gBAAiB,EACtB3vE,EAAM0H,KAAKP,EACb,KAAO,CACL,IAAIA,EAAY,CAAC,EACjBA,EAAKioE,oBAAsBrkE,EAAEqkE,oBAC7BjoE,EAAKkoE,WAAatkE,EAAEskE,WACpBloE,EAAKmoE,SAAWvkE,EAAEukE,SAClBnoE,EAAKooE,iBAAmB,EACxBpoE,EAAKqoE,kBAAoB,YACzBroE,EAAKgoE,WAAa,KAClBhoE,EAAKsoE,aAAe,KACpBtoE,EAAKuoE,IAAM3kE,EAAE2kE,IACbvoE,EAAK6P,SAAWjM,EAAEiM,SAClB7P,EAAKwoE,gBAAiB,EACtB3vE,EAAM0H,KAAKP,EACb,CACF,CAEJ,IAEAwmE,EAAa,GAAD9tE,OAAKG,GACnB,CAEJ,GAAG,CAACszD,EAAkBib,KAEtBnjE,qBAAU,WACR,IAAIspD,EAAUgZ,EAAU52D,QAAO,SAAC3P,GAAS,OAAuB,IAAlBA,EAAK6P,QAAiB,IACpE09C,EAAQvF,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM3U,EAAEi1B,IAAMtgB,EAAEsgB,IAAM,GAAK,CAAC,IACxD7B,EAAgBvmE,YAAKotD,IACrB90C,GAAW,EACb,GAAG,CAAC8tD,IAaJ,IAAM7W,GAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAqBMgjD,GAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA,OAAAhkB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAoD/B,OApD+BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAASiqD,gBAAkB,EAC3BjqD,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,WAC1Cub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS3a,WAAWC,cAEzCub,EAAW5mB,EAAM4mB,UACRkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,YAa5ClI,EAAAE,KAAA,EAEqB2rE,GAAqBpoD,EAAUyoD,GAAW,KAAD,EAE3C,YAFPlsE,EAAAmB,KAEJoB,OACN1F,EAAMw+D,kBAAiB,EAAO,aAED19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAExB72D,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,gBAAevD,EAAAgkB,IAE3BnnB,EAAMw+D,kBAAiB,EAAO,aACD19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,kBAEJ,gBAvEe2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAyEgB,SAAAgxD,KAG/B,OAH+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAsC,IAAA,IAAAywD,EAAA,OAAAhzD,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC4B2vD,IAAiB,KAAD,EAAtC4C,EAAaxwD,EAAAd,KACjB4wD,EAAoBU,GAAe,wBAAAxwD,EAAAZ,OAAA,GAAAW,EAAA,MACpCT,MAAA,KAAAC,UAAA,CAkID,SAAS8sE,KACP1B,GAAc,GACdE,GAAY,GACZJ,GAAa,IACbQ,QAA6BvvE,EAC/B,CAuBA,OACEH,eAAA,OAAAF,SAAA,CACEF,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA9c,UAAU,EACV75B,WAAW,EACXL,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GA9QA,SAAC9gC,GAChBqxD,GAAqBia,KAAqBzvE,EAAMi4D,mBACnD7wC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,GAAWt0D,EACb,GAGN,IA6PmD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsuE,GAAgB,CACfE,cAAe,6BACfpmB,cAAe,CACbroC,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,8BAEVoqC,aAAc,WACZsnB,GAAc,OACd9a,IAAoB,EACtB,MAGJl1D,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,QAE3BZ,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SACpCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASA,EACTyF,aAAc25D,EACd98D,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1B/5D,eAAC+wE,KAAS,CACRx+D,GAAI9C,EAAM0B,KACV6/D,aAAc,SAACjlE,GAEb,IADA,IAAI3D,EAAQ2D,EAAE3D,MACLhB,EAAI,EAAGA,GAAS,OAALgB,QAAK,IAALA,OAAK,EAALA,EAAOP,QAAQT,IAAK,CACtC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACRgB,EAAMhB,GAAGspE,IAAMj1B,CACjB,CACAhsC,EAAM4C,SAASjK,GACfymE,EAAiBzmE,EACnB,EACA64C,cAAe,SAACl1C,GACd0D,EAAM4C,SAAStG,EAAE3D,OACjB,IAAI5E,EAAOuI,EAAE3D,MACb5E,EAAKiF,KAAI,SAACjF,EAAWqV,GACnBrV,EAAKktE,IAAM73D,EAAM,CACnB,IACA81D,EAAanrE,EACf,EACA4b,QAASA,EACThX,MAAOwmE,EACPqC,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAGhBC,QAAQ,KACRC,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CAACm5C,YAAU,EAAC5wE,MAAO,CAAE8U,MAAO,SACnC3V,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,2EAKtBukE,cAAc,aACdpuE,KAAM,SAACmV,GACL,OAAO/J,OAAO+J,EAAoB,YAAGoC,oBACnCta,EACA,CACEgc,sBAAuB,EACvBK,sBAAuB,GAG7B,IAEF5c,cAACs4B,KAAM,CACLzoB,MAAM,WACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,qEAKtBukE,cAAc,aACdpuE,KAAM,SAACmV,GACL,OAAO/J,OAAO+J,EAAkB,UAAGoC,oBACjCta,EACA,CACEgc,sBAAuB,EACvBK,sBAAuB,GAG7B,IAEF5c,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,qEAKtB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAMuY,EAAsB,gBAGlC,IAEFzY,cAACs4B,KAAM,CACLzoB,MAAM,oBACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,mFAMxBnN,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,mCAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,WACP45D,GAAc9gE,OAAO+J,EAAQg4D,aAC7Bf,GAAYhhE,OAAO+J,EAAQi4D,WAC3BT,GAAgBx3D,GAChBu3D,GAAc,QACd,IAAM2B,EAAYjd,EAAiBt0C,MACjC,SAACjU,GAAM,OACLA,EAAEtB,cAAsB,OAAP4N,QAAO,IAAPA,OAAO,EAAPA,EAAS83D,WAAU,IAElCqB,EAAOjC,GAAkBvvD,MAC7B,SAACjU,GAAM,OACLA,EAAEwkE,mBACK,OAAPl4D,QAAO,IAAPA,OAAO,EAAPA,EAASk4D,gBAAe,IAE5B,GAAIgB,EAAW,CAEb,IAAIE,EACJA,EAAa,CAACF,GAEdvC,GAAQ,gEACRE,GAAauC,EACf,MAAWD,GACTxC,GAAQ,oJACRU,GAA6B8B,IAE7BxC,GAAQ,gEAEVp1D,EAAU,QACVk7C,IAAoB,EACtB,EAAEh1D,SAEFF,cAAA,OAAK0lD,IAAKosB,GAAUnsB,IAAI,UAG9B,IAEF3lD,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,YAlSjB,SAAC6C,GACnB,IAAIyM,EAAaxc,YAAOomE,GAExBjoD,YAAc,CACZ3R,QAAS,6BACT4R,OAAQ,sBACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACNpP,EAAQL,UAAW,EACnB8M,EAASrc,KAAI,SAACsD,GACRA,EAAE4lE,MAAQt5D,EAAQs5D,MACpB5lE,EAAIsM,EAER,IAEAs2D,EAAYrmE,YAAKwc,GACnB,GAEJ,CA+Q8B8sD,CAAYv5D,EACd,EAAEvY,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,MAEQ,QAKpBvlD,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACe,SAA5B3Y,EAAM4mB,SAASjO,SAInBxI,QAASA,EACTsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,UAGXj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAx8D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAGDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,kBAMlBv6D,eAAC4mB,IAAM,CACLE,QAAS+tC,EACTp0D,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ,WACN6pD,KACAhc,IAAoB,EACtB,EACAl0D,UAAU,mBACVsmB,WAAW,EACXL,aAAW,EACXm6B,WAAW,EACXD,UAAU,EAAMjhD,SAAA,CAEhBE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,qEACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,QAAOd,SACpBF,cAAC+b,KAAW,CACVvT,MAAO+mE,GACP98D,SAAU,SAACtG,GAAM,OAAKqjE,GAAcrjE,EAAE3D,MAAM,EAC5Cu7B,WAAY,CACVjkB,UAAW,SAEbgkB,kBAAmB,EACnBouC,kBAAmB,EACnBrxE,MAAO,CACLwW,aAAc,cACd1B,MAAO,OACPoK,OAAQ,cAKhB/f,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+DACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,QAAOd,SACpBF,cAAC+b,KAAW,CACVvT,MAAOinE,GACPh9D,SAAU,SAACtG,GAAM,OAAKujE,GAAYvjE,EAAE3D,MAAM,EAC1Cu7B,WAAY,CACVjkB,UAAW,SAEbgkB,kBAAmB,EACnBouC,kBAAmB,EACnBrxE,MAAO,CACLwW,aAAc,cACd1B,MAAO,OACPoK,OAAQ,iBAMlB3f,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,IACvBR,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAAA,CAC1BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFE,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAACmyE,KAAW,CACVvuC,QAAQ,QACRryB,KAAK,OACL/I,MAAM,+DACNiK,SAAU,SAACtG,GACT2jE,QAA6BvvE,GAC7B6uE,GAAQjjE,EAAE3D,MACZ,EACA6X,QAAkB,iEAATkD,KACR,OAELvjB,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACuM,KAAoB,CACnBU,gBAAiB,+DACjBE,cAAY,EACZV,UAAQ,aAMlBzM,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACmyE,KAAW,CACVvuC,QAAQ,QACRryB,KAAK,OACL/I,MAAM,mJACNiK,SAAU,SAACtG,GACTmjE,GAAa,IACbF,GAAQjjE,EAAE3D,MACZ,EACA6X,QAAkB,qJAATkD,OAGbvjB,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACuM,KAAoB,CACnBU,gBAAiB,mJACjBR,UAAQ,mBAQtBzM,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAC3B,gEAARqjB,GACCnjB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+DACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRtV,GAAI,WACJnK,MAAO,CAEiB,OAAlBgd,EAASuzC,KACE,OAATsW,SAAS,IAATA,QAAS,EAATA,GAAWxmE,KAAI,SAACsD,GAAM,OAAKA,EAAEnB,MAAM,IAAErB,KAAK,KACjC,OAAT0lE,SAAS,IAATA,QAAS,EAATA,GAAWxmE,KAAI,SAACsD,GAAM,OAAKA,EAAEopD,MAAM,IAAE5rD,KAAK,MAKlDiM,QAAS,kBAAMu5D,IAAqB,EAAK,EACzCtuE,MAAO,CACLwW,aAAc,cACd0I,OAAQ,QAEVnN,UAAQ,IAEV5S,cAACwnB,IAAM,CACL5Q,KAAK,eACL5V,UAAU,uDACVH,MAAO,CACL2pB,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVnK,QAAS,WACP05D,GAAa,IACbH,IAAqB,EACvB,YAMR/uE,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAA,KAAGgB,UAAU,kBACbhB,cAACuM,KAAoB,CACnBU,gBAAiB,wBACjBE,aAAc,6IACdV,UAAQ,OAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAC++C,IAAQ,CACPv2C,MAAOqnE,GACPztD,QAASutD,GACTpV,YAA+B,OAAlB/0C,EAASuzC,KAAgB,SAAW,SACjD7gD,QAAM,EACNsiD,WAAS,EACTC,SAA4B,OAAlBj1C,EAASuzC,KAAgB,SAAW,SAC9ChmD,YAAY,oBACZN,SAAU,SAACtG,GAAM,OACf2jE,GAA6B3jE,EAAE3D,MAAM,gBASrDpI,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPs7D,KACAhc,IAAoB,EACtB,EACAzzD,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UACEY,UAAU,cACVS,KAAK,SACLmU,QAAS,kBA9rBnB,WACE,IACE,GAAmB,OAAf25D,IAAoC,OAAbE,GACzB,GAAIA,GAAWF,GAAY,CACzB,IAAInuE,EAAe0tE,EACnB,GAAa,iEAATvrD,GACE8rD,IACFjqE,QAAQe,IAAIkpE,IACZA,GAAUxmE,KAAI,SAACuxB,GACb,IAAI7xB,EAAY,CAAC,EAQjB,GAPAA,EAAKkoE,WAAalB,GAAW9yD,QAAQ,GACrClU,EAAKmoE,SAAWjB,GAAShzD,QAAQ,GACjClU,EAAKgoE,WAAan2C,EAASvvB,WAC3BtC,EAAKsoE,aACHz2C,EAA2B,OAAlB5U,EAASuzC,KAAgB,SAAW,UAC/CxwD,EAAK6P,UAAW,EAChB7P,EAAKwoE,gBAAiB,EACH,QAAfhB,GACFxnE,EAAKuoE,KAAmB,OAAb9B,QAAa,IAAbA,OAAa,EAAbA,EAAe/mE,QAAS,EACnC7G,EAAM0H,KAAKP,OACN,CACL,IAAI6pE,GAAgB,EACpBhxE,EAAMkH,SAAQ,SAAC6D,EAAQ8M,GACjB9M,EAAE2kE,MAAQ3wD,GAAa2wD,MACrB3wD,GAAaqwD,sBACfjoE,EAAKioE,oBACHrwD,GAAaqwD,qBAEjBjoE,EAAKuoE,IAAM3wD,GAAa2wD,IACxBsB,EAAen5D,EAEnB,KACsB,IAAlBm5D,IACFhxE,EAAMgxE,GAAgB7pE,EAE1B,CACF,IACA2oE,KACAhc,IAAoB,IAEpBruC,YAAc,CACZ3R,QAAS,4BACT4R,OAAQ,QACRlQ,KAAM,0CACNmQ,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAQ,SAIpB,QACgCtnB,IAA9BsvE,IACqC,IAArCA,GAA0B5nE,OAC1B,CACA,IAAIM,EAAY,CAAC,EAUjB,GATAA,EAAKkoE,WAAalB,GAAW9yD,QAAQ,GACrClU,EAAKmoE,SAAWjB,GAAShzD,QAAQ,GACjClU,EAAKooE,gBAAkBd,GAA0Bc,gBACjDpoE,EAAKqoE,kBACHf,GACkB,OAAlBrqD,EAASuzC,KAAgB,SAAW,UAEtCxwD,EAAK6P,UAAW,EAChB7P,EAAKwoE,gBAAiB,EACH,QAAfhB,GACFxnE,EAAKuoE,KAAmB,OAAb9B,QAAa,IAAbA,OAAa,EAAbA,EAAe/mE,QAAS,EACnC7G,EAAM0H,KAAKP,OACN,CACL,IAAI6pE,GAAgB,EACpBhxE,EAAMkH,SAAQ,SAAC6D,EAAQ8M,GACjB9M,EAAE2kE,MAAQ3wD,GAAa2wD,MACrB3wD,GAAaqwD,sBACfjoE,EAAKioE,oBACHrwD,GAAaqwD,qBAEjBjoE,EAAKuoE,IAAM3wD,GAAa2wD,IACxBsB,EAAen5D,EAEnB,KACsB,IAAlBm5D,IACFhxE,EAAMgxE,GAAgB7pE,EAE1B,CACA2oE,KACAhc,IAAoB,EACtB,MACEruC,YAAc,CACZ3R,QAAS,4BACT4R,OAAQ,QACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WAAQ,EAChBd,gBAAiB,SAIvBgoD,EAAYrmE,YAAKtH,GACnB,MACEylB,YAAc,CACZ3R,QAAS,2CACT4R,OAAQ,QACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACN6nD,GAAY,EACd,EACA3oD,gBAAiB,cAIrBF,YAAc,CACZ3R,QAAS,gCACT4R,OAAQ,QACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WAAQ,EAChBd,gBAAiB,QAGvB,CAAE,MAAO1hB,GACPD,QAAQe,IAAI,gBAAiBd,EAC/B,CACF,CAgkByBgtE,EAAS,EAACnyE,SAAA,CAEzBF,cAACsyE,IAAa,IAAG,eAKvBtyE,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUiU,EACV5T,aAAc,SAACl9C,GACb,IAAIiuE,EACJA,EAAUnpE,YAAO9E,GACjB0rE,GAAauC,GACb1C,IAAqB,GACrBnuD,GAAW,EACb,EACA4/B,cAAe,QACfpoC,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAewuB,GACfvuB,iBAAkBwuB,OAI1B,E,UCr/BaoD,GAAgB,SAAC9yE,GAC5B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAA8BjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAA9ClB,EAAOmB,EAAA,GAAEK,EAAUL,EAAA,GAC1BG,EAAoCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAA5CqF,EAAUpF,EAAA,GAAEg0C,EAAah0C,EAAA,GAChCuE,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACfxgC,GAD4BwgC,EAAA,GACA9qC,mBAAiB,KAAGuK,EAAA1L,YAAAyL,EAAA,GAAzChI,EAAMiI,EAAA,GAAEhI,EAASgI,EAAA,GAClByC,EAAQ4D,iBAAY,MAE1B7b,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJ,IAiBMm+C,EAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA,OAAAhkB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAsD9B,OAtD8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAAS05C,YAAcn8D,EAAKm8D,YAC5B15C,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASmsD,IAAM5uE,EAAK4uE,IACpBnsD,EAASosD,IAAM7uE,EAAK6uE,IACpBpsD,EAASqsD,YAAyBnyE,IAAhBqD,EAAK8uE,OAAuB,GAAK9uE,EAAK8uE,OACxDrsD,EAASssD,eAA+BpyE,IAAnBqD,EAAK+uE,UAA0B,GAAK/uE,EAAK+uE,UAC9DtsD,EAASusD,eAA+BryE,IAAnBqD,EAAKgvE,UAA0B,GAAKhvE,EAAKgvE,UAC9DvsD,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,WAC1Cub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS3a,WAAWC,cAEzCub,EAAW5mB,EAAM4mB,UACR05C,YAAcn8D,EAAKm8D,YAC5B15C,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASmsD,IAAM5uE,EAAK4uE,IACpBnsD,EAASosD,IAAM7uE,EAAK6uE,IACpBpsD,EAASqsD,YAAyBnyE,IAAhBqD,EAAK8uE,OAAuB,GAAK9uE,EAAK8uE,OACxDrsD,EAASssD,eAA+BpyE,IAAnBqD,EAAK+uE,UAA0B,GAAK/uE,EAAK+uE,UAC9DtsD,EAASusD,eAA+BryE,IAAnBqD,EAAKgvE,UAA0B,GAAKhvE,EAAKgvE,UAC9DvsD,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,iBAEzBvK,IAAf4lB,IACFE,EAASwsD,QAAU1sD,GACpBvjB,EAAAE,KAAA,EAEoBytB,aAAc,gBAAiBlK,GAAU,KAAD,EAE1C,YAFPzjB,EAAAmB,KAEJoB,QACN1F,EAAMw+D,kBAAiB,EAAO,aACD19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,KAGvB/iD,EAAY,CACV1D,YAAY,sBACZkC,QAAQ,uBACRzT,KAAM,iBAQqBlB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,IAExB72D,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAED8T,EAAY,CACV1D,YAAY,yBACZkC,QAAQ,GAADjU,OAAA2B,EAAAgkB,IACPnlB,KAAM,iBAQqBlB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,mBAEJ,gBA/Fe2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAiGVyhD,EAAe,SAAC15C,IAItB,SAAmByZ,GACjB,IAAI+zC,EAAS,IAAIC,WACjBD,EAAOE,cAAcj0C,GACrB+zC,EAAOG,OAAS,WACd/E,EAAc4E,EAAOx0D,OACvB,EACAw0D,EAAOI,QAAU,SAAU10D,GACzB,CAEJ,CAZE20D,CAAU7tD,EAAEuG,OAAOoT,MAAM,GAC3B,EAaA,IAAMmyC,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAEA,OACE9U,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GA1JF,SAAC9gC,GACrBijB,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAEJ,IA2IqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAAA,CAC1BF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAAS05C,YAC7B/tD,MAAO,CAAEC,SAAU,6BACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTlC,UAAW,GACXjS,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,qBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,MACjBE,aAAc,mDACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASmsD,IAC7BxgE,MAAO,CAAEC,SAAU,oBACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,UAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,MACjBE,aAAc,2CAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASosD,IAC7BvgE,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,SAKVj6D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,2FAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASssD,UAC7BzgE,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZI,GAAI9C,EAAM0B,MACN1B,GAAK,IACToU,KAAM,EACN4zB,KAAM,KACN,MAIR73C,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,6GAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASusD,UAC7B1gE,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZI,GAAI9C,EAAM0B,MACN1B,GAAK,IACToU,KAAM,EACN4zB,KAAM,KACN,SAKVz3C,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,yCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASqsD,OAC7BxgE,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,YAAA,CAACI,GAAI9C,EAAM0B,MAAU1B,GAAS,MAGvC,OAETzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAAF,SAAA,CACEF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,EACTyF,aAAc8Q,EACdjU,OAAQ,SAAAgsB,GAAQA,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1B/5D,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRxmB,KAAK,OACLomB,OAAO,UACPlV,GAAG,WACHF,SAAUozC,EACVhlD,MAAO,CACLwW,aAAc,cACd0I,OAAQ,UAGZ/f,cAACwnB,IAAM,CACL/lB,KAAK,QACLmV,KAAK,cACL5V,UAAU,wCACV4U,QAAS,WACPm/C,OAAcx0D,EAChB,EACAM,MAAO,CACLkf,OAAQ,OACR1I,aAAc,mBAGd,SAGM9W,IAAf4lB,GAA2C,KAAfA,EAC3BnmB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OACEgB,UAAU,YACV0kD,IAAKv/B,EACLxQ,MAAM,MACNoK,OAAO,UAIX/f,cAAA,OAAKgB,UAAU,YAAWd,SACI,KAA3BT,EAAM4mB,SAASwsD,SACd7yE,cAAA,OACEgB,UAAU,YACV0kD,IAAKjmD,EAAM4mB,SAASwsD,QACpBl9D,MAAM,MACNoK,OAAO,eAMZ,OAET3f,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAAusB,GAAA,IAAG5uB,EAAK4uB,EAAL5uB,MAAOsqD,EAAU17B,EAAV07B,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,YAMZj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAS1B,ECxeaoY,I,OAAmB,SAACtzE,GAC/B,IAAAi0D,EAMIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IARlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbikB,EAAQsuC,EAARtuC,SACAsf,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAA7Dq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAA8BjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAA9ClB,EAAOmB,EAAA,GAAEK,EAAUL,EAAA,GACpB6E,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACxD6d,EAAgDrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAjEm0C,EAAgBl0C,EAAA,GACvBgB,GAD4ChB,EAAA,GACMtJ,oBAAkB,IAAMuK,EAAA1L,YAAAyL,EAAA,GAAnEmtD,EAAiBltD,EAAA,GACxBC,GAD8CD,EAAA,GAClBvK,mBAAiB,KAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GACxBwG,EAA0CjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAAlDsqD,EAAarqD,EAAA,GAAEsqD,EAAgBtqD,EAAA,GACtCC,EAAoCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAAnCsqD,GAAFrqD,EAAA,GAAkBA,EAAA,IAC1BpE,EAAQ4D,iBAAY,MAE1B7b,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAKvBrM,EAAU,QAJVA,EAAU,QAEVgH,GAAW,GAIf,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJvN,qBAAU,WACJ/M,EAAMi4D,oBACRyb,IACAnyD,GAAW,GAEf,GAAG,CAACvhB,EAAMi4D,oBAEV,IAAMyb,EAAY,eAAAhxE,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA6wE,EAAA,OAAA/wE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACdkwE,EAAc,CAADpwE,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACM+sB,aAAc,4BAAwBtvB,GAAW,KAAD,GAAhE6yE,EAAOxwE,EAAAmB,QAEXmvE,EACS,OAAPE,QAAO,IAAPA,OAAO,EAAPA,EAAShzD,MAAK,SAACjU,GACb,GAAIA,EAAE4zD,cAAgBtgE,EAAM4mB,SAAS05C,YACnC,OAAO5zD,CAEX,KAEFyD,EAAQyjE,YAAyB,YAAID,EAAQhzD,MAC3C,SAACjU,GAAM,OAAKA,EAAE4zD,cAAgBtgE,EAAM4mB,SAAS05C,WAAW,IAE1D36C,EAAS,cAAexV,EAAQyjE,YAAyB,aACzDJ,EAAgBvqE,YAAK0qE,KACtB,wBAAAxwE,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,kBAlBiB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAuCZ6zD,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAEMgjD,EAAU,eAAA5zD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOX,GAAS,IAAAyiB,EAAAitD,EAAAC,EAAAjoE,EAAA,OAAAjJ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OA6C9B,OA7C8B0B,EAAA3B,KAAA,EAE3BwjB,EAAgB,CAAC,EAEN,QAAXtM,GACFsM,EAASkwC,aAAe,EACxBlwC,EAASmtD,eAAiB5vE,EAAK4vE,eAC/BntD,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAAS05C,YAAkB,OAAJn8D,QAAI,IAAJA,GAAiB,QAAb0vE,EAAJ1vE,EAAMm8D,mBAAW,IAAAuT,OAAb,EAAJA,EAAmBvT,YAC1C15C,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,WACvDub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS4F,aAAavgB,WAAWC,cAEtDub,EAAW5mB,EAAM4mB,UACRmtD,eAAiB5vE,EAAK4vE,eAC/BntD,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAAS05C,YAAkB,OAAJn8D,QAAI,IAAJA,GAAiB,QAAb2vE,EAAJ3vE,EAAMm8D,mBAAW,IAAAwT,OAAb,EAAJA,EAAmBxT,YAC1C15C,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,YACxDtG,EAAA1B,KAAA,EACemwD,GAAiB5sC,GAAU,KAAD,EAEvB,aAFf/a,EAAG9G,EAAAT,MAECoB,OACN1F,EAAMw+D,kBAAiB,EAAO,cAED19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAImkB,cACpBva,QAAQ,QACRzT,KAAM,WAET+C,EAAA1B,KAAA,gBAAA0B,EAAA3B,KAAA,EAAA2B,EAAAoiB,GAAApiB,EAAA,cAE4BjE,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAAuD,EAAAoiB,IACX1R,QAAQ,QACRzT,KAAM,UACL,yBAAA+C,EAAAP,OAAA,GAAAM,EAAA,kBAEN,gBAtEeL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAwEhB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GApHF,SAAC9gC,GAChBqxD,GAAqBia,IAAqBzvE,EAAMi4D,mBACnD7wC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAGN,IAmGqD5C,UAAU,UAASd,SAAA,CAC9DE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,mDACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,iBACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASmtD,eAC7BxhE,MAAO,CAAEC,SAAU,gCACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,qBAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,mEAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EAITsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAK,OACd7P,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IAETuS,QAAS4wD,EACTzY,YAAa,cACbriD,QAAM,EACNsiD,WAAS,EACTC,SAAU,cACV1nD,YAAY,0BAEZ,SAKV3S,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,uBACnBC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAOsqD,EAAUpvC,EAAVovC,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,SAMVj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAS1B,GClWa8Y,GAAiB,SAACh0E,GAC7B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAgDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAxCgzD,GAAF/yD,EAAA,GAAqBA,EAAA,IAC5CG,EAAkCrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAjC6yD,GAAF5yD,EAAA,GAAcA,EAAA,IAC9BgB,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GACpBwD,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACxDgf,EAA4BxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GAClBuC,EAAQ4D,iBAAY,MAgBD,SAAAurD,IAaxB,OAbwBA,EAAAxxE,YAAAC,IAAAC,MAAzB,SAAAiC,IAAA,IAAA+0B,EAAA,OAAAj3B,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAE6B+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAA7D+4B,EAAY90B,EAAAT,UACexD,IAA3Bd,EAAM4mB,SAASwtD,UACZ,OAALv6C,QAAK,IAALA,KAAOzwB,KAAI,SAACsD,GACNA,EAAE0nE,UAAYp0E,EAAM4mB,SAASwtD,SAC/BH,EAAoBvnE,EAExB,KAGFwnE,EAAYjrE,YAAK4wB,IAAQ90B,EAAA1B,KAAA,gBAAA0B,EAAA3B,KAAA,EAAA2B,EAAAoiB,GAAApiB,EAAA,kCAAAA,EAAAP,OAAA,GAAAM,EAAA,mBAE5BJ,MAAA,KAAAC,UAAA,CA3BDoI,qBAAU,YAYG,WAEYonE,EAAAzvE,MAAC,KAADC,UAAA,CAbvB0vE,GACKhd,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAiBJ,IAAMk+C,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAmBMgjD,EAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OA0C9B,OA1C8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAASwwC,WAAa,EACtBxwC,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS25C,aAAep8D,EAAKo8D,aAC7B35C,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,WACvDub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS4F,aAAavgB,WAAWC,cAEtDub,EAAW5mB,EAAM4mB,UACRkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS25C,aAAep8D,EAAKo8D,aAC7B35C,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,YACxDlI,EAAAE,KAAA,EACeytB,aAAc,WAAYlK,GAAU,KAAD,EAEhC,aAFf/a,EAAG1I,EAAAmB,MAECoB,OACN1F,EAAMw+D,kBAAiB,EAAO,cAED19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAImkB,cACpBva,QAAQ,QACRzT,KAAM,WAQTmB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,cAE4BrC,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAA2B,EAAAgkB,IACX1R,QAAQ,QACRzT,KAAM,UAOR,yBAAAmB,EAAAqB,OAAA,GAAA1B,EAAA,kBAEH,gBA/Ee2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAiFhB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACXL,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GApHF,SAAC9gC,GACrBijB,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAEJ,IAqGqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,iDAGlB/M,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAAS25C,aAE7B9tD,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI,gBACA9C,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,sBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,iCACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI,UACA9C,GAAK,IAET7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,iCACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI,UACA9C,GAAK,IAET7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,UAGXj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAS1B,ECnSaoZ,GAAmB,SAACt0E,GAC/B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMFrtB,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAA8BjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAA9ClB,EAAOmB,EAAA,GAAEK,EAAUL,EAAA,GAC1B2E,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACfzhC,GAD4ByhC,EAAA,GACA9qC,mBAAiB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAAzC/G,EAAMgH,EAAA,GAAE/G,EAAS+G,EAAA,GAExBvU,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJ,IA6F6BxI,EA3EvB2mD,EAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAA0oE,EAAAC,EAAA,OAAA5xE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAkD9B,OAlD8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAAS6tD,UAAY,EACrB7tD,EAASolB,OAAS7nC,EAAK6nC,OACvBplB,EAASlL,OAASvX,EAAKuX,OACvBkL,EAAS8tD,OAASvwE,EAAKuwE,OACvB9tD,EAAS+tD,OAASxwE,EAAKwwE,OACvB/tD,EAASguD,OAASzwE,EAAKywE,OACvBhuD,EAASlO,WAAavU,EAAKuU,WAC3BkO,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASyqD,IAAMltE,EAAKktE,IACpBzqD,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,WAC1Cub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS3a,WAAWC,cAEzCub,EAAW5mB,EAAM4mB,UACRolB,OAAS7nC,EAAK6nC,OACvBplB,EAASlL,OAASvX,EAAKuX,OACvBkL,EAAS8tD,OAASvwE,EAAKuwE,OACvB9tD,EAAS+tD,OAASxwE,EAAKwwE,OACvB/tD,EAASguD,OAASzwE,EAAKywE,OACvBhuD,EAASlO,WAAavU,EAAKuU,WAC3BkO,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASyqD,IAAMltE,EAAKktE,IACpBzqD,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,YAC3ClI,EAAAE,KAAA,EACeytB,aAAc,aAAclK,GAAU,KAAD,EAElC,aAFf/a,EAAG1I,EAAAmB,MAECoB,OACN1F,EAAMw+D,kBAAiB,EAAO,cAED19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEZ,QAAXua,EAAAv0E,EAAMglB,aAAK,IAAAuvD,GAAXA,EAAa7sC,QAAQmtC,KAAK,CACxBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQvoB,EAAImkB,aACZ+kD,KAAM,OAET5xE,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEU,QAAXqxE,EAAAx0E,EAAMglB,aAAK,IAAAwvD,GAAXA,EAAa9sC,QAAQmtC,KAAK,CACxBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAMjxB,EAAAgkB,GACN4tD,KAAM,MACL,yBAAA5xE,EAAAqB,OAAA,GAAA1B,EAAA,kBAEN,gBA1Ee2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAgFhB,OACEpE,cAAA,OAAAE,UACIsf,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GApHF,SAAC9gC,GACjBnE,EAAMi4D,mBACR7wC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAGN,IAmGqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,cACjBE,aAAc,uCACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASlO,WAC7BnG,MAAO,CAAEC,SAAU,4BACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,KA/CO9oD,EAkDQ,aAhDjCpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,cAkD/ClV,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,OAETj6D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASolB,OAC7Bv5B,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,YAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GACJ,SAKVzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASlL,OAC7BjJ,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,YAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GACJ,SAKVzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAAS8tD,OAC7BjiE,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,YAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GACJ,SAKVzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAAS+tD,OAC7BliE,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,YAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GACJ,SAKVzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASguD,OAC7BniE,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,YAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GACJ,SAKVzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASyqD,IAC7B5+D,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,YAAA,CAACI,GAAI9C,EAAM0B,MAAU1B,GAAS,YAMlDzP,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAx8D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAS1B,ECnXa8Z,GAAa,SAACh1E,GACzB,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,aANhB/jD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAgDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1Dg0D,EAAgB/zD,EAAA,GAAE+yD,EAAmB/yD,EAAA,GAC5CG,EAAkCrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA5C6zD,EAAS5zD,EAAA,GAAE4yD,EAAY5yD,EAAA,GAC9BgB,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GACpBwD,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACxDgf,EAA4BxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GAClBuC,EAAQ4D,iBAAY,MAiBD,SAAAurD,IAmBxB,OAnBwBA,EAAAxxE,YAAAC,IAAAC,MAAzB,SAAAiC,IAAA,IAAA+0B,EAAAs7C,EAAAC,EAAA,OAAAxyE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAE6B+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAA7D+4B,EAAY90B,EAAAT,KACZtE,EAAM4mB,SAASwtD,UACbe,EAAqBn1E,EAAM4mB,SAASwtD,QAAQxqE,MAAM,KAChDwrE,EAAkB,OAALv7C,QAAK,IAALA,OAAK,EAALA,EAAOphB,QAAO,SAAC/L,GAChC,GAAIyoE,EAASnsE,SAAS0D,EAAEuuB,OAAO5vB,YAC7B,OAAOqB,CAEX,IACA/G,QAAQe,IAAI,mBAAoB0uE,GAEhCnB,EAAmBhrE,YAAKmsE,IAExBzvE,QAAQe,IAAI,gCAAiC1G,EAAM4mB,SAASwtD,UAG9DF,EAAYjrE,YAAK4wB,IAAQ90B,EAAA1B,KAAA,gBAAA0B,EAAA3B,KAAA,EAAA2B,EAAAoiB,GAAApiB,EAAA,kCAAAA,EAAAP,OAAA,GAAAM,EAAA,mBAE5BJ,MAAA,KAAAC,UAAA,CAlCDoI,qBAAU,WACRpH,QAAQe,IAAI,KAAM+M,SAASzT,EAAM4mB,SAASoqC,aAY/B,WAEYmjB,EAAAzvE,MAAC,KAADC,UAAA,CAbvB0vE,GACKhd,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAuBJ,IAAMk+C,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAoBMgjD,EAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAAyuD,EAAAxpE,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAyD9B,OAzD8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACrBjhB,QAAQe,IAAI,SAAUuuE,GAClBI,EAAqB,GACrBJ,GACFA,EAAiBpsE,SAAQ,SAACu+D,GACxBiO,EAAShsE,KAAK+9D,EAAKnsC,OACrB,IAEa,QAAX3gB,GACFsM,EAAS0uD,SAAW,EACpB1uD,EAAS2pC,UAAYpsD,EAAKosD,UAC1B3pC,EAASgqC,QAAUzsD,EAAKysD,QACxBhqC,EAASwrC,aAAmC,IAArBjuD,EAAKiuD,YAAuB,EAAI,EACvDxrC,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASoqC,WAAa7sD,EAAK6sD,WAC3BpqC,EAASurC,SAAWhuD,EAAKguD,SACzBvrC,EAASyqC,IAAMltD,EAAKktD,IACpBzqC,EAASwtD,QAAUiB,EAASnrE,KAAK,KACjC0c,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,WACvDub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS4F,aAAavgB,WAAWC,cAEtDub,EAAW5mB,EAAM4mB,UACR2pC,UAAYpsD,EAAKosD,UAC1B3pC,EAASgqC,QAAUzsD,EAAKysD,QACxBhqC,EAASwrC,aAAmC,IAArBjuD,EAAKiuD,YAAuB,EAAI,EACvDxrC,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASoqC,WAAa7sD,EAAK6sD,WAC3BpqC,EAASurC,SAAWhuD,EAAKguD,SACzBvrC,EAASyqC,IAAMltD,EAAKktD,IACpBzqC,EAASwtD,QAAUiB,EAASnrE,KAAK,KACjC0c,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,YACxDlI,EAAAE,KAAA,EAEeytB,aAAc,iBAAkBlK,GAAU,KAAD,EAEtC,aAFf/a,EAAG1I,EAAAmB,MAECoB,OACN1F,EAAMw+D,kBAAiB,EAAO,QAE9BvnD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAImkB,cACpBva,QAAQ,QACRzT,KAAM,UAQTmB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAED8T,EAAY,CACV1D,YAAY,GAAD/R,OAAA2B,EAAAgkB,IACX1R,QAAQ,QACRzT,KAAM,eAQqBlB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,mBAEJ,gBA5Fe2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KA8FhB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACXL,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GAlIF,SAAC9gC,GACrBwB,QAAQe,IAAIvC,EAAM,QAClBijB,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAEJ,IAkHqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,yDACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAAS2pC,UAC7Bh+C,MAAO,CAAEC,SAAU,2BACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,gBAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,uDAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASgqC,QAC7Bn+C,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAiBlL,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,YAAA,CAACI,GAAI9C,EAAM0B,MAAU1B,GAAS,SAKhDzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,cACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAACC,KAAG,CACFM,GAAI,EACJL,GAAI,EACJM,GAAI,EACJgV,QAAS,WACPxQ,QAAQe,IACN,sBACO1G,EAAM4mB,SAASoqC,WAE1B,EAAEvwD,SAAA,CAEFF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASoqC,WAC7Bz+C,MAAO,CAAEC,SAAU,4BACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAICxJ,wBAAA,CACAqxB,QAAQ,cACRjxB,GAAI9C,EAAM0B,MACN1B,GAAK,IAET4C,SAAU,SAACtG,GACO,OAAZA,EAAE3D,MACJqH,EAAM4C,SAAS,GAEf5C,EAAM4C,SAAStG,EAAE3D,MAErB,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAG1B,IAGLpC,EAAoB,iBAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,iFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASurC,SAC7B5/C,MAAO,CAAEC,SAAU,0BACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC+b,KAAWxJ,wBAAA,CACVI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTmN,IAAK,EACLvK,SAAU,SAACtG,GACO,OAAZA,EAAE3D,MACJqH,EAAM4C,SAAS,GAEf5C,EAAM4C,SAAStG,EAAE3D,MAErB,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,kBAIzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,yCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,cACL8D,aACiC,IAA/B5V,EAAM4mB,SAASwrC,YAEjBjiD,QAASA,EACTsC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAIRr6D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAOsqD,EAAUpvC,EAAVovC,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,OAGTj6D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACnC,IACDF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,MACjBE,aAAc,yCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASyqC,IAC7B5+C,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,YAAA,CAACI,GAAI9C,EAAM0B,MAAU1B,GAAS,SAKhDzP,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,mKAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,OACL3B,QAASA,EACTyF,aAAcq/D,EACdxiE,OAAQ,SAAA0rB,GAAQA,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAACg1E,KAAW,CACVxsE,MAAOksE,EACPtyD,QAASuyD,EACTpa,YACiC,OAA/B/0C,EAAS4F,aAAa2tC,KAClB,SACA,SAENhmD,YAAY,gBACZmF,QAAM,EACNuiD,SACiC,OAA/Bj1C,EAAS4F,aAAa2tC,KAClB,SACA,SAENtmD,SAAU,SAACtG,GAAM,OAAKunE,EAAoBvnE,EAAE3D,MAAM,EAClDgyD,WAAY1D,yBAAc4d,IAC1B,YAOZt0E,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAS1B,ECzcasa,GAAiB,SAACx1E,GAC7B,IAAAi0D,EAMIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IARlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAOMnuB,GANEg9C,EAARtuC,SAMsBxH,cAAhBlH,aACRc,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAkDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA5DivD,EAAiBhvD,EAAA,GAAEivD,EAAoBjvD,EAAA,GAC9CG,EAAwDrJ,mBAAc,CAAC,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAAlEizC,EAAoBhzC,EAAA,GAAEizC,EAAuBjzC,EAAA,GACpDgB,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GACpBwD,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACxDgf,EAA4BxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GACxBwG,EAAgDjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GACnEE,GADuBD,EAAA,GAAqBA,EAAA,GACMlR,mBAAS,KAAGoR,EAAAvS,YAAAsS,EAAA,GAC9D4I,GADwB3I,EAAA,GAAsBA,EAAA,GACVpR,mBAAgB,KAAGga,EAAAnb,YAAAkb,EAAA,GACvDI,GADiBH,EAAA,GAAeA,EAAA,GACgBha,oBAAkB,IAAMoa,EAAAvb,YAAAsb,EAAA,GAAjEqjC,EAAgBpjC,EAAA,GACvBG,GAD4CH,EAAA,GACMpa,oBAAkB,IAAMwa,EAAA3b,YAAA0b,EAAA,GAAnEk9C,GAAiBj9C,EAAA,GACxBG,IAD8CH,EAAA,GACJxa,sBAAe4a,GAAA/b,YAAA8b,GAAA,GAAlD4gD,GAAa3gD,GAAA,GAAE4gD,GAAgB5gD,GAAA,GACtCG,GAA0C/a,qBAAegb,GAAAnc,YAAAkc,GAAA,GAAlD0iD,GAAaziD,GAAA,GAAEygD,GAAgBzgD,GAAA,GAEhChO,GAAQ4D,mBAEd7b,qBAAU,YA4CT,WAEgC0jE,GAAA/rE,MAAC,KAADC,UAAA,CA7C/BgsE,GACKtZ,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJ,IAAMk+C,GAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAS2B,SAAAigE,KAiB1B,OAjB0BA,GAAA/yE,YAAAC,IAAAC,MAA3B,SAAAiC,IAAA,IAAA6uE,EAAA,OAAA/wE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACwB+sB,aACpB,0CACAtvB,GACA,KAAD,GAHK6yE,EAAO5uE,EAAAT,QAKXqvE,EAAQvqE,KAAI,SAACsD,GAAY,IAAD6qD,EAClB7qD,EAAE4zD,eAA8B,QAAnB/I,EAAKv3D,EAAM4mB,gBAAQ,IAAA2wC,OAAA,EAAdA,EAAgB+I,oBACAx/D,IAAhCqP,EAAQwlE,QAAQrV,cAClBnwD,EAAQwlE,QAAQrV,YAAYsV,GAAG7sE,MAAQ2D,EACvCyD,EAAQyjE,YAAYtT,YAAc5zD,GAEpC+mE,GAAgB3gE,YAAC,CAAC,EAAIpG,IAE1B,IACA8mE,GAAgBvqE,YAAK0qE,KACtB,wBAAA5uE,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAEgC,SAAA8rE,KAiBhC,OAjBgCA,GAAA9tE,YAAAC,IAAAC,MAAjC,SAAAsC,IAAA,IAAAhB,EAAA,OAAAvB,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACqB+sB,aACjB,0CACAtvB,GACA,KAAD,GAHKqD,EAAIiB,EAAAd,QAKRH,EAAKiF,KAAI,SAACsD,GAAY,IAAD8qD,EACf9qD,EAAEwkE,mBAAkC,QAAnB1Z,EAAKx3D,EAAM4mB,gBAAQ,IAAA4wC,OAAA,EAAdA,EAAgB0Z,wBACFpwE,IAAlCqP,EAAQwlE,QAAQE,gBAClB1lE,EAAQwlE,QAAQE,cAAcD,GAAG7sE,MAAQ2D,EACzCyD,EAAQyjE,YAAYiC,cAAgBnpE,GAEtC6nD,EAAuBzhD,YAAC,CAAC,EAAIpG,IAEjC,IACAyjE,EAAoBlnE,YAAK9E,KAC1B,wBAAAiB,EAAAZ,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,CA3CDoI,qBAAU,WACJ/M,EAAMi4D,qBAIkB,WAEHyd,GAAAhxE,MAAC,KAADC,UAAA,CALvB+uE,GACAnyD,GAAW,GAEf,GAAG,CAACvhB,EAAMi4D,oBAwCV,IAAMQ,GAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAuD9B,OAvD8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAAS4vC,WAAa,EACtB5vC,EAASsqD,gBAAkB5c,EAAqB4c,gBAChDtqD,EAASivD,cAAgBvhB,EAAqBuhB,cAE9CjvD,EAASkvD,oBAAsBxhB,EAAqB/oD,OACpDqb,EAASmvD,oBAAsBzhB,EAAqBwB,OACpDlvC,EAAS05C,YAAcmV,GAAcnV,YACrC15C,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASovD,UAAYjwD,EAAS4F,aAAavgB,WAAWC,WACtDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,WACvDub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS4F,aAAavgB,WAAWC,cAEtDub,EAAW5mB,EAAM4mB,UAERsqD,gBAAkB5c,EAAqB4c,gBAChDtqD,EAASivD,cAAgBvhB,EAAqBuhB,cAE9CjvD,EAASkvD,oBAAsBxhB,EAAqB/oD,OACpDqb,EAASmvD,oBAAsBzhB,EAAqBwB,OACpDlvC,EAAS05C,YAAcmV,GAAcnV,YACrC15C,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAASovD,UAAYjwD,EAAS4F,aAAavgB,WAAWC,WACtDub,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,YACxDlI,EAAAE,KAAA,EAEeytB,aAAc,WAAYlK,GAAU,KAAD,EAChC,aADf/a,EAAG1I,EAAAmB,MACCoB,OACN1F,EAAMw+D,kBAAiB,EAAO,cAED19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAIjG,OACpB6P,QAAQ,QACRzT,KAAM,WAQTmB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,cAE4BrC,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAA2B,EAAAgkB,IACX1R,QAAQ,QACRzT,KAAM,UAOR,yBAAAmB,EAAAqB,OAAA,GAAA1B,EAAA,kBAEH,gBA5Fe2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAsHhB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,MACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GA3CF,SAAC9gC,GAElBqxD,GACAia,KACDzvE,EAAMi4D,mBACLZ,yBAAc/C,IAEfltC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,GAAWt0D,EACb,GAGN,IAqBqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACToC,MAAO,CACLC,SAAU6kD,yBAAcoe,IACpB,iCACA30E,GAEN2R,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAW90D,QAE1BmD,MAAO0sE,GACP9yD,QAAS4wD,GACTzY,YAAa,cACbriD,QAAM,EACNsiD,WAAS,EACTC,SAAU,cACV1nD,YAAY,wBACZN,SAAU,SAACtG,GAAM,OAAK+mE,GAAiB/mE,EAAE3D,MAAM,IAC/C,IAGJ0sE,GAAqD,KAArCjd,GAAoB,kBACjC,IACPj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,2EACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASA,EACToC,MAAO,CACLC,SAAU6kD,yBAAc/C,GACpB,mCACAxzD,GAEN2R,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTrH,MAAOurD,EACP3xC,QAASutD,EACTl9D,SAAU,SAACtG,GACT6nD,EAAwB7nD,EAAE3D,MAC5B,EACA+xD,YACiC,OAA/B/0C,EAAS4F,aAAa2tC,KAClB,SACA,SAENhmD,YAAY,yBACZ/R,UAAWo5D,YAAW,CACpB,YAAaD,EAAW90D,QAE1B6S,QAAM,EACNsiD,WAAS,EACTC,SACiC,OAA/Bj1C,EAAS4F,aAAa2tC,KAClB,SACA,WAEN,IAGJhF,EAEE,KADAkE,GAAoB,uBAI5B73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,YAMZj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAx8D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,oBAS1B,ECpaa+a,GAAa,SAACj2E,GACzB,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAwDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArEq8C,EAAoBn8C,EAAA,GAAEo8C,EAAuBp8C,EAAA,GACpDgJ,EAAkCjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA5CouD,EAASnuD,EAAA,GAAEouD,EAAYpuD,EAAA,GAC9BG,EAA0CrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAApDkuD,EAAajuD,EAAA,GAAEkuD,EAAgBluD,EAAA,GACtCgB,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GACpBwD,EAAWjiB,KAAKwM,MACpBhN,OAAOC,aAAaC,QAAQ,aAAe,QAE7Cgf,EAA4BxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GACxBwG,EAAgDjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAA5DgsC,EAAgB/rC,EAAA,GAAEgsC,EAAmBhsC,EAAA,GAC5CC,EAAkDnR,mBAAS,IAAGoR,EAAAvS,YAAAsS,EAAA,GAC9D4I,GADwB3I,EAAA,GAAsBA,EAAA,GACVpR,mBAAgB,KAAGga,EAAAnb,YAAAkb,EAAA,GAAhDmkD,EAAUlkD,EAAA,GAAEmjC,EAAanjC,EAAA,GAChCG,EAAgDna,oBAAkB,GAAMoa,GAAAvb,YAAAsb,EAAA,GAAjEqjC,GAAgBpjC,GAAA,GAAEqjC,GAAmBrjC,GAAA,GAC5CG,GAAkDva,oBAAkB,GAAMwa,GAAA3b,YAAA0b,GAAA,GAAnEk9C,GAAiBj9C,GAAA,GAElBxN,IAFwCwN,GAAA,GAEhC5J,oBAqBc,SAAAutD,KAmD3B,OAnD2BA,GAAAxzE,YAAAC,IAAAC,MAA5B,SAAAiC,IAAA,IAAA+iE,EAAAlmE,EAAA,OAAAiB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC0BikE,KAAoB,KAAD,EAAvCO,EAAW9iE,EAAAT,KACX3C,EAAe,GACfkmE,IACeA,EAAYpvD,QAC3B,SAACuvD,GAAW,OACVA,EAAO/sC,SAAWj7B,EAAM4mB,SAASqU,SAAW+sC,EAAOC,QAAQ,IAGpD7+D,KAAI,SAAC4+D,EAAaxuD,GAC3B,IAAI48D,EAAc,CAAC,EACnBA,EAAOn7C,OAAS+sC,EAAO/sC,OACvBm7C,EAAOhrE,WAAa48D,EAAO58D,WAC3BgrE,EAAO9qE,aAAe,KACtB8qE,EAAOC,WAAa,KACpBD,EAAOE,WAAa,KACpBF,EAAO5qE,MAAQ,KACf4qE,EAAOG,eAAiB,KACxBH,EAAOI,eAAiB,KACxBJ,EAAOz9D,UAAW,EAClBy9D,EAAOnO,SAA+B,OAApBD,EAAOC,UAA4BD,EAAOC,SAC5DmO,EAAO/E,IAAM73D,EAAM,EACnB7X,EAAM0H,KAAK+sE,EACb,IAEAz0E,EAAMyH,KAAI,SAACN,GACTmsD,EAAiB7rD,KAAI,SAAC+2D,GAChBr3D,EAAKsC,aAAe+0D,EAAI/0D,aAC1BtC,EAAKsC,WAAa+0D,EAAI/0D,WACtBtC,EAAKwC,aAAe60D,EAAI70D,aACxBxC,EAAKytE,eAAiBpW,EAAIrK,OAC1BhtD,EAAK0tE,eAAiBrW,EAAI50D,OAC1BzC,EAAK0C,MAAQ20D,EAAI30D,MAErB,IACA1C,EAAKutE,WAAar2E,EAAM4mB,SAASkvC,OACjChtD,EAAKwtE,WAAat2E,EAAM4mB,SAASrb,MACnC,IACA4pD,EAAalsD,YACRgsD,EAAiBx8C,QAClB,SAACtU,GAAS,OACPxC,EAAMgf,MACL,SAAAza,GAAA,IAAGkF,EAAUlF,EAAVkF,WAAY68D,EAAQ/hE,EAAR+hE,SAAQ,OACrB9jE,EAAKiH,aAAeA,IAAe68D,CAAQ,GAC9C,MAGPtiE,QAAQe,IAAI,cAAe/E,GAE3B2tE,EAAa,GAAD9tE,OAAKG,KAClB,wBAAAoD,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAtEDoI,qBAAU,YA4HR,WAE8B4oD,GAAAjxD,MAAC,KAADC,UAAA,CA7H9B+wD,GAEK2B,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,QAIZgH,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJvN,qBAAU,YAEa,WAEKopE,GAAAzxE,MAAC,KAADC,UAAA,CAH1B8xE,EACF,GAAG,CAACxhB,IAuDJ,IAAMuD,GAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAkDgC,SAAAkgD,KAG/B,OAH+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAsC,IAAA,IAAAywD,EAAA,OAAAhzD,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAC4B2vD,IAAiB,KAAD,EAAtC4C,EAAaxwD,EAAAd,KACjB4wD,EAAoBU,GAAe,wBAAAxwD,EAAAZ,OAAA,GAAAW,EAAA,MACpCT,MAAA,KAAAC,UAAA,CAqBDoI,qBAAU,WACR,IAAIspD,EAAUgZ,EAAU52D,QAAO,SAAC3P,GAAS,OAAMA,EAAKm/D,QAAQ,IAC5DuH,EAAgBvmE,YAAKotD,GACvB,GAAG,CAACgZ,IAEJ,IAAM5W,GAAU,eAAA/1D,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OA2C9B,OA3C8BF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EACN,QAAXtM,GACFsM,EAASqU,QAAU,EACnBrU,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS8vD,gBAAkB,GAC3B9vD,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,WACvDub,EAASgzC,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CACxDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAASizC,UAAY9zC,EAAS4F,aAAavgB,WAAWC,cAEtDub,EAAW5mB,EAAM4mB,UACRqU,OAASj7B,EAAM4mB,SAASqU,OACjCrU,EAASkvC,OAAS3xD,EAAK2xD,OACvBlvC,EAASrb,OAASpH,EAAKoH,OACvBqb,EAASjO,SAAWxU,EAAKwU,SACzBiO,EAAS8vD,gBAAkB,GAC3B9vD,EAAS2yC,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACzDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV9yC,EAAS+yC,WAAa5zC,EAAS4F,aAAavgB,WAAWC,YACxDlI,EAAAE,KAAA,EAEe8jE,GAAWvgD,EAAUyoD,GAAW,KAAD,EAA3CxjE,EAAG1I,EAAAmB,KACH+qE,EAAY,EACK,YAAfxjE,EAAInG,OACN1F,EAAMw+D,kBAAiB,EAAO,QAE9BvnD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAIjG,OACpB6P,QAAQ,QACRzT,KAAM,UAUN6J,EACF7L,EAAMw+D,kBAAiB,EAAO,QAE9BvnD,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAIjG,OACpB6P,QAAQ,QACRzT,KAAM,UASXmB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,eAAcvD,EAAAgkB,SAEGrmB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAA2B,EAAAgkB,IACX1R,QAAQ,QACRzT,KAAM,UAQRhC,EAAMw+D,kBAAiB,EAAO,SAAS,yBAAAr7D,EAAAqB,OAAA,GAAA1B,EAAA,kBAE1C,gBAlGe2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAuHhB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,MACVjF,GACAxf,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EACXL,aAAW,EACXk6B,UAAU,EAAMjhD,SAEhBE,eAAA,QAAMukC,SAAUD,GAtCF,SAAC9gC,GAChBqxD,IAAqBia,KAAqBzvE,EAAMi4D,mBACnD7wC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,GAAWt0D,EACb,GAGN,IAqBqD5C,UAAU,UAASd,SAAA,CAC9DE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qEACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASkvC,OAC7BvjD,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,aAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,uFACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASrb,OAC7BgH,MAAO,CAAEC,SAAU,wBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,GAAoB,gBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL8D,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBxI,QAASA,EACTsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAGD,OAETj6D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsuE,GAAgB,CACfE,cAAe,eACfpmB,cAAe,CACbroC,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,8BAEVoqC,aAAc,WACZwM,IAAoB,EACtB,MAGJl1D,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,QAE3BZ,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SACpCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,EACTyF,aAAc25D,EACd98D,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1B/5D,eAAC+wE,KAAS,CACRx+D,GAAI9C,EAAM0B,KACV6/D,aAAc,SAACjlE,GACb,IAAI/K,EAAe+K,EAAE3D,MACrBpH,EAAMyH,KAAI,SAACN,EAAW0Q,GACpB1Q,EAAKuoE,IAAM73D,EAAM,CACnB,IAEApJ,EAAM4C,SAAQ/J,YAAKtH,IACnB2tE,EAAYrmE,YAAKtH,GACnB,EACAoH,MAAOwmE,EACPqC,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAGhBC,QAAQ,KACRC,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CAACm5C,YAAU,EAAC5wE,MAAO,CAAE8U,MAAO,SACnC3V,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,8EAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,iBACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,cAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,8EAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,iBACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gGAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,QACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0CAKnCF,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,WA7VnB,IAAChS,EAAWwyE,EAAcn9C,EAAzBr1B,EA+VakrE,EA/VFsH,EAgWErH,EAhWY91C,EAiWZxgB,EAAoB,WAhWpDoO,YAAc,CACZ3R,QAAS,6BACT4R,OAAQ,sBACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACNjkB,EAAKiF,KAAI,SAACsD,GACJA,EAAc,aAAM8sB,IACtB9sB,EAAEiM,UAAW,EACbjM,EAAEu7D,UAAW,EAEjB,IACA0O,EAAO1tE,YAAK9E,GACd,GAoV0B,EAAE1D,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,MAEQ,WAMtBvlD,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAx8D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,kBAOpB36D,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUiU,EACV5T,aAAc,SAACl9C,GACb,IAAI2E,EAAO3E,OACErD,IAATqD,GACFgxD,EAAalsD,YACRitE,EAAWz9D,QACZ,SAAC0nD,GAAQ,OAAKA,EAAI/0D,aAAetC,EAAKsC,UAAU,MAItD,IAAIwrE,EAAmBvH,EACnB+G,EAAc,CAAC,EACnBA,EAAOn7C,OAAoB,QAAX3gB,GAAoB,EAAIta,EAAM4mB,SAASqU,OACvDm7C,EAAOhrE,WAAatC,EAAKsC,WACzBgrE,EAAO9qE,aAAexC,EAAKwC,aAC3B8qE,EAAOC,WAAwB,QAAX/7D,EAAmB,GAAKta,EAAM4mB,SAASkvC,OAC3DsgB,EAAOE,WAAwB,QAAXh8D,EAAmB,GAAKta,EAAM4mB,SAASrb,OAC3D6qE,EAAO5qE,MAAQ1C,EAAK0C,MACpB4qE,EAAOG,eAAiBztE,EAAKgtD,OAC7BsgB,EAAOI,eAAiB1tE,EAAKyC,OAC7B6qE,EAAOz9D,UAAW,EAClBy9D,EAAOnO,UAAW,EAClBmO,EAAO/E,IAAMuF,EAAUpuE,OACvBouE,EAAUvtE,KAAK+sE,GAEf9G,EAAYrmE,YAAK2tE,IACjBnhB,IAAoB,EACtB,EACA18C,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeuU,GACftU,iBAAkBuU,OAI1B,EC7mBaohB,I,OAAqB,SAAC72E,GACjC,IAAA+X,EAAsCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAA9C++D,EAAW7+D,EAAA,GAAE8+D,EAAc9+D,EAAA,GAClCgJ,EAA8BjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1C+1D,EAAO91D,EAAA,GAAE+1D,EAAU/1D,EAAA,GAC1BG,EAA0BrJ,mBAAc,CAAC,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAApCjgB,EAAKkgB,EAAA,GAAE41D,EAAQ51D,EAAA,GAChByE,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAiDtC,SAEH4U,IAAS,OAAA++D,EAAAzyE,MAAC,KAADC,UAAA,UAAAwyE,IAQvB,OARuBA,EAAAx0E,YAAAC,IAAAC,MAAxB,SAAAC,IAAA,IAAAs0E,EAAA,OAAAx0E,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC2B+sB,aACvBpwB,EAAMqwB,QAAU,eAChBvvB,GACA,KAAD,GACoB,KAJjBs2E,EAAYj0E,EAAAmB,OAKd2yE,EAAWG,GACZ,wBAAAj0E,EAAAqB,OAAA,GAAA1B,EAAA,MACF4B,MAAA,KAAAC,UAAA,CAED,OA5DAoI,qBAAU,gBACcjM,IAAlBd,EAAMqwB,QACRjY,IAEA6+D,EAAWj3E,EAAMq3E,aAErB,GAAG,CAACr3E,EAAMq3E,eAEVtqE,qBAAU,WACRpH,QAAQe,IAAI,sBAAuB1G,EAAMq3E,aAC3C,GAAG,CAACr3E,EAAMq3E,eAEVtqE,qBAAU,gBACiBjM,IAArBd,EAAMs3E,YACRJ,EAASl3E,EAAMs3E,WAEnB,GAAG,CAACt3E,EAAMs3E,aAEVvqE,qBAAU,gBACQjM,IAAZk2E,QACqBl2E,IAAnBd,EAAM6oD,UACRmuB,EAAQ5tE,KAAI,SAACjF,GACPA,EAAKnE,EAAMqwB,QAAU,QAAUrwB,EAAM8oD,WAAW//C,OAClDguE,EAAe5yE,EAEnB,GAGN,GAAG,CAAC6yE,IAEJjqE,qBAAU,gBACcjM,IAAlBd,EAAMqwB,SACRjY,GAEJ,GAAG,CAACpY,EAAMqwB,UAEVtjB,qBAAU,WACRgqE,EAAe,KACjB,GAAG,CAAC/2E,EAAMu3E,UAEVxqE,qBAAU,gBACajM,GAAjBd,EAAMqwB,QACRrwB,EAAM4oD,cAAc5oD,EAAMqwB,QAASymD,QACPh2E,IAAnBd,EAAM6oD,SACf7oD,EAAM4oD,cAAckuB,EAAa92E,EAAM6oD,UAEvC7oD,EAAM4oD,cAAckuB,EAExB,GAAG,CAACA,IAaFv2E,cAAAC,WAAA,CAAAC,SACEF,cAAC++C,IAAQ,CACPv2C,WACkBjI,IAAhBg2E,GAA6C,OAAhBA,EACzB92E,EAAM8oD,WACNguB,EAENn0D,aACc7hB,IAAZk2E,GAAqC,OAAZA,GAAuC,IAAnBA,EAAQxuE,OACjDxI,EAAMq3E,aACNL,EAENtjE,SAAU1T,EAAMu3E,QAChBzc,iBAC6Bh6D,IAA3Bd,EAAMw3E,iBACFx3E,EAAMw3E,iBACyB,OAA/BzxD,EAAS4F,aAAa2tC,KACtB,SACA,SAENhmD,YAAatT,EAAMgpD,iBACnBh2C,SAAU,SAACtG,GACTqqE,EAAerqE,EAAEuG,OAAOlK,MAC1B,EACA3H,MAAK0R,wBAAA,CACHoD,WAAuBpV,IAAhBM,EAAM8U,MAAsB9U,EAAM8U,MAAQ,OACjD0B,kBACyB9W,IAAvBM,EAAMwW,aACFxW,EAAMwW,aACN,mBACHxW,GAAK,IACRq2E,aAAuC,IAA1Bz3E,EAAM03E,gBAA2B,MAAQ,KAExDj/D,YAA8B3X,IAAtBd,EAAM23E,aAAoC33E,EAAM23E,YACxDC,eAAe,4BAIvB,G,SCvFaC,GAAgB,SAAC73E,GAC5B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAMMnuB,EAAgBkH,cAAhBlH,YACRc,EAAoDC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA9D+/D,EAAkB7/D,EAAA,GAAE8/D,EAAqB9/D,EAAA,GAChDgJ,EAAoCjJ,mBAAc,CAAC,GAAEkJ,EAAArK,YAAAoK,EAAA,GAA9C+2D,EAAU92D,EAAA,GAAE+2D,EAAa/2D,EAAA,GAChCG,EAAoCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GACnDiB,GADiBhB,EAAA,GAAeA,EAAA,GACQtJ,sBAAeuK,EAAA1L,YAAAyL,EAAA,GAAhD41D,EAAY31D,EAAA,GAAE41D,EAAe51D,EAAA,GAC9BwD,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACxDgf,EAAgDxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GACxEyG,GADuBxG,EAAA,GAAqBA,EAAA,GAChBzK,mBAAiB,KAAGkR,EAAArS,YAAAoS,EAAA,GAAzC3O,EAAM4O,EAAA,GAAE3O,EAAS2O,EAAA,GACxBC,EAAwDnR,mBAAiB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAArEirC,EAAoBhrC,EAAA,GAAEirC,EAAuBjrC,EAAA,GACtCR,iBAAY,MAC1B7b,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAIvBrM,EAAU,QAHV49D,EAAgBn4E,EAAM4mB,UACtBrM,EAAU,SA4Bd,WACE,IAAIpW,EAAci0E,IACdC,EAAe,GACfC,EAAyB,GACzBjoD,EAAUrwB,EAAMqwB,QAChBA,EAAQ1gB,SAAS,OACnB0gB,EAAUA,EAAQ+tB,MAAM,GAAI,IAG9Bj6C,EAAK0E,SAAQ,SAAC9H,EAAU6Y,GACtB,IACG7Y,EAAIyN,IAAItD,cAAclC,SAAS,aAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,sBAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,uBAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,eAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,uBAEhC,GAAIjI,EAAIyN,IAAIxF,SAAS,OACnB,GAAgB,eAAZqnB,GAEAtvB,EAAIyN,KACJ6hB,EAAQ7tB,QAAQ,IAAK,IAAIA,QAAQ,SAAU,IAAM,KAEjD,GACEzB,EAAIyN,IAAItD,cAAclC,SAAS,aAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,WAC/B,CACA,IAAMoH,EAAQrP,EAAIyN,IAAIhM,QAAQ,KAAM,IAEpC81E,EAAajvE,KAAK+G,GAClBioE,EAAMhvE,KAAK,CACT+G,MAAOA,EACPiX,OAAQtmB,EAAIyN,IACZxM,KAAM,QACN4X,MAAOA,GAEX,KAAO,CACL,IAAMxJ,EAAQrP,EAAIyN,IAAIhM,QAAQ,KAAM,IAEpC81E,EAAajvE,KAAK+G,GAClBioE,EAAMhvE,KAAK,CACT+G,MAAOA,EACPiX,OAAQtmB,EAAIyN,IACZxM,KAAM,SACN4X,MAAOA,GAEX,MAIsB,cAA1B7Y,EAAIyN,IAAItD,eACkB,eAA1BnK,EAAIyN,IAAItD,eACkB,gBAA1BnK,EAAIyN,IAAItD,eACkB,iBAA1BnK,EAAIyN,IAAItD,eACPnK,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,eAG7BsvE,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,KAAM,MAC5C81E,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,SAAU,MAChD81E,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,SAAU,OAE7CzB,EAAIyN,IAAIxF,SAAS,OACnBqvE,EAAMhvE,KAAK,CACT+G,MAAOrP,EAAIyN,IACX6Y,OAAQtmB,EAAIyN,IACZxM,KAAM,QACN4X,MAAO,MAGTy+D,EAAMhvE,KAAK,CACT+G,MAAOrP,EAAIyN,IACX6Y,OAAQtmB,EAAIyN,IACZxM,KAAMjB,EAAIw3E,SACV3+D,MAAOA,IAMnB,IACAy+D,EAAMvnB,MAAK,SAAC1U,EAAG2U,GAAC,OAAK3U,EAAExiC,MAAQm3C,EAAEn3C,KAAK,IAEtCm+D,EAqCF,SAA6BM,GAC3B,IAAIG,EAAkB,GAClBC,EAAuB,GACvBC,EAAsB,GAyS1B,OAxSAL,EAAMjvE,KAAI,SAACrI,EAAU43E,GACnBF,EAAgBpvE,KAAKtI,GACjB43E,EAAM,IAAM,IACdH,EAAWnvE,KAAKovE,GAChBA,EAAkB,GAEtB,IAEAD,EAAWpvE,KAAI,SAACrI,EAAUO,GACxB,IAAIs3E,EACFr4E,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SACnCM,EAAIqI,KAAI,SAACjF,EAAWtC,GACnB,IAAIg3E,EA5Cd,SAAuBC,GACrB,IAAID,EAAS,GAkBb,OAhBAA,EAASC,EAAKt2E,QAAQ,kBAAmB,oGACzCq2E,EAASA,EAAOr2E,QAAQ,gBAAiB,4EACzCq2E,EAASA,EAAOr2E,QAAQ,OAAQ,4BAChCq2E,EAASA,EAAOr2E,QAAQ,KAAM,8CAC9Bq2E,EAASA,EAAOr2E,QAAQ,KAAM,gEAC9Bq2E,EAASA,EAAOr2E,QAAQ,kBAAmB,8FAC3Cq2E,EAASA,EAAOr2E,QAAQ,QAAS,sBACjCq2E,EAASA,EAAOr2E,QAAQ,MAAO,oDAC/Bq2E,EAASA,EAAOr2E,QAAQ,MAAO,oDAC/Bq2E,EAASA,EAAOr2E,QAAQ,UAAW,8CACnCq2E,EAASA,EAAOr2E,QAAQ,UAAW,wCACnCq2E,EAASA,EAAOr2E,QAAQ,OAAQ,4BAChCq2E,EAASA,EAAOr2E,QAAQ,WAAY,kCACpCq2E,EAASA,EAAOr2E,QAAQ,MAAO,kCAC/Bq2E,EAASA,EAAOr2E,QAAQ,UAAW,wDAE5Bq2E,CACT,CAwBuBE,CAAc50E,EAAKkjB,QAChC,GAAkB,WAAdljB,EAAKnC,KAAmB,CAC1B,GAAImC,EAAKkjB,OAAOre,SAAS,WACvB,OACErI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASziB,EAAKiM,OAClCqC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAiB1N,EAAVg4D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZI,GAAI9C,EAAM0B,MACN1B,GAAK,IACToU,KAAM,EACN4zB,KAAM,GACN1iC,UACa,IAAXpU,GAA2B,IAAXO,EAElBT,MAAO,CACLkf,OAAQ,OACR1I,aAAc,qBAEhB,WAOT,GAAoB,WAAhBzT,EAAKkjB,QAAuC,WAAhBljB,EAAKkjB,OAAqB,CAC/D,IAAI9kB,EAAM,GAOV,OALEA,EADkB,WAAhB4B,EAAKkjB,OACD,UAEA,UAIN1mB,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBjL,EACjBmL,aAAcmrE,EACd7rE,UAAQ,QAIdrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASziB,EAAKiM,OAClCmC,MAAO,CAAEC,SAAUrO,EAAKkjB,OAAS,iBACjC5U,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BllD,UACa,IAAXpU,GAA2B,IAAXO,EAElBT,MAAO,CACLkf,OAAQ,OACR1I,aAAc,qBAEhB,MAIP4gD,EAAoBr0D,EAAKkjB,aAIlC,CACE,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASziB,EAAKiM,OAClCqC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC8nD,KAAmB,CAClB2wB,gBAAiB5oE,EAAM0B,KACvB03C,WAAYp5C,EACZs4C,kBAAmBiS,YAAW,CAC5B,YAAaD,EAAWE,UAE1BjS,cAAe,CACbroC,OAAQ,OACR1I,aAAc,oBAEhB,UAQlB,CAAO,MAAkB,YAAdzT,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXwF,kBACgC9U,GAA9Bd,EAAM4mB,SAASziB,EAAKiM,QAEhBpQ,EAAM4mB,SAASziB,EAAKiM,OAE1BD,QAASA,EACTsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,WAOS,WAAdz2D,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXwF,kBACuC9U,GAArCd,EAAM4mB,SAASziB,EAAKiM,MAAQ,MACxB,KACApQ,EAAM4mB,SAASziB,EAAKiM,MAAQ,MAElCD,QAASA,EACTsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAACs2E,GAAkB,CACjBxmD,QAASjgB,EAAM0B,KACfg3C,WAAY14C,EACZw4C,cAAeqwB,EACf3B,WAAY,CACVphE,MAAO,OACP0B,aAAc,oBAEhB,WAOS,WAAdzT,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAc5V,EAAM4mB,SAASziB,EAAKiM,OAClCqC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAS/zB,EAAM0B,KACf/I,MAAOqH,EAAMrH,MACb2M,UACa,IAAXpU,GAA2B,IAAXO,EAElBmR,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EACxCxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,gBAOS,UAAdz2D,EAAKnC,OACdxB,WAEkC2D,EAAKkjB,OAIlC/U,IAGetS,EAAM4mB,SAASziB,EAAKiM,OAiCnCooD,EAAoB,oBAI7B,MAGJkgB,EAAervE,KAAKuvE,EACtB,IACM,GAANp3E,OAAWk3E,EACb,CAlVwBQ,CAAoBb,GAC5C,CA9GEc,EACF,GAAG,IAEHpsE,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJ,IAAM89D,EAAa,WACjB,IAAIr/D,EAAiB,GAarB,OAZAzK,OAAOC,KAAKvO,EAAMy+D,UAAU,GAAKz+D,EAAMy+D,UAAU,GAAK,IAAIr1D,KACxD,SAACoF,EAAagL,GACPhL,EAAItD,cAAclC,SAAS,OAClB,gBAARwF,GAAiC,YAARA,GAC3BuK,EAAQ1P,KAAK,CACXmF,IAAKA,EACL+pE,gBAAiBv4E,EAAMy+D,UAAU,GAAGjwD,IAI5C,IAEKuK,CACT,EA0FA,IAAMy/C,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAwBA,SAASwjE,EAAkBG,EAAmBC,GAC5C,IAAIrC,EAAUgB,EACdhB,EAAQoC,GAAaC,EACrBpB,EAAanlE,YAAC,CAAC,EAAIkkE,GACrB,CAiTA,IAqBMve,EAAU,eAAA96B,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAAqN,EAAA,OAAAtW,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OA0CT,OA1CSF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EAEN,SAAXtM,KACFsM,EAAWsxD,GACS,UAAInyD,EAAS4F,aAAavgB,WAAWC,WACzDub,EAAsB,YAAIrd,KAAO,IAAI2R,MAAQ/R,OAAO,gBAEtDmF,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GACrBoY,EAASpY,QAAqB1N,IAAdqD,EAAKqK,GAAqB,GAAKrK,EAAKqK,EACtD,IACK6oD,yBAAc2gB,IACjB1pE,OAAOC,KAAKqY,GAAUxd,KAAI,SAACoF,GACrBA,IAAQxO,EAAMqwB,QAAU,MAC1B/hB,OAAOC,KAAKypE,GAAY5uE,KAAI,SAACkwE,GACvB9qE,EAAIxF,SAASswE,IACfhrE,OAAOC,KAAKypE,EAAWsB,IAAYlwE,KAAI,SAACgH,GAClCA,EAAMpH,SAAS,MACjB4d,EAASxW,GAAS4nE,EAAWsB,GAAWlpE,GAEpCA,IAAU5B,EACZoY,EAASpY,GAAOwpE,EAAWsB,GAAW9qE,QAIpC1N,IADAk3E,EAAWsB,GAAW9qE,EAAIhM,QAAQ82E,EAAW,OAG7C1yD,EAASpY,GACPwpE,EAAWsB,GAAW9qE,EAAIhM,QAAQ82E,EAAW,KAIvD,GAEJ,GAEJ,IAGF1yD,EAAqB,WAAIb,EAAS4F,aAAavgB,WAAWC,WAC1Dub,EAAuB,aAAIrd,KAAO,IAAI2R,MAAQ/R,OAAO,eACrDxD,QAAQe,IAAIkgB,GAAUzjB,EAAAE,KAAA,GAEDytB,aACnB9wB,EAAMqwB,QAAQ7tB,QAAQ,IAAK,IAC3BokB,GACA,KAAD,GAHW,GAKO,aALf/a,EAAQ1I,EAAAmB,MAKJoB,OAAoB,CAAAvC,EAAAE,KAAA,iBACCvC,IAAvBd,EAAM+5D,aAA0B,CAAA52D,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACP+sB,aACzBpwB,EAAMqwB,QAAQ7tB,QAAQ,IAAK,IAAM,eACjC1B,GACA,KAAD,IAHGoY,EAAc/V,EAAAmB,MAINkE,OAAS,GACnBxI,EAAM+5D,aAAa7gD,GACpB,QAEHlZ,EAAMi6D,sBAAqB,QACEn5D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB72D,EAAAE,KAAA,iBAED4T,EAAY,CACV1D,YAAY,GAAD/R,OAAKqK,EAAImkB,cACpBva,QAAQ,QACRzT,KAAM,UAOR,QAAAmB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAGFwC,QAAQe,IAAI,QAAOvD,EAAAgkB,SACUrmB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,mBAEJ,gBAlFe2B,GAAA,OAAAk5B,EAAAj5B,MAAA,KAAAC,UAAA,KAmFhB,OACEpE,cAAA,OAAAE,SACEF,cAACgnB,IAAM,CACLF,OAAQrnB,EAAMs3D,aACd7vC,QAASznB,EAAMi4D,kBACf72D,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ,WACNwd,IACAplC,EAAMi6D,sBAAqB,EAC7B,EACAvyC,YAAa,CAAC,EACdG,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GAvHA,SAAC9gC,GACrB,IACEijB,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAEJ,CAAE,MAAOyB,GACPD,QAAQe,IAAI,QAASd,EACvB,CACF,IAoGmDrE,UAAU,UAASd,SAAA,CAC9DF,cAAA,OAAKgB,UAAU,kCAAiCd,SAC7Cq3E,IAEHn3E,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMi6D,sBAAqB,EAC7B,EACAj4D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAQxB,EC/mBaqe,GAAa,SAACv5E,GACzB,IAAA+X,EAA4BC,qBAAeC,EAAApB,YAAAkB,EAAA,GAApCyhE,EAAMvhE,EAAA,GAAEwhE,EAASxhE,EAAA,GAClByhE,EAAU,CACd,CACE5nE,KAAM,WACNhJ,KACEvI,cAACkzD,GAAc,CACb6D,aAAc,WACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,aACtB3jD,MAAOhlB,EAAMglB,SAInB,CACElT,KAAM,aACNhJ,KACEvI,cAAC+yE,GAAgB,CACfhc,aAAc,aACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAI5B,CACE72D,KAAM,aACNhJ,KACEvI,cAACy0E,GAAU,CACT1d,aAAc,kBACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAI5B,CACE72D,KAAM,WACNhJ,KACEvI,cAACyzE,GAAc,CACb1c,aAAc,WACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAI5B,CACE72D,KAAM,kBACNhJ,KACEvI,cAAC6uE,GAAoB,CACnB9X,aAAc,kBACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,aACtBiI,YAAa5wE,EAAM4wE,YACnBwJ,eAAgBp6E,EAAMo6E,kBAI5B,CACEtoE,KAAM,cACNhJ,KACEvI,cAAC+zE,GAAgB,CACfhd,aAAc,cACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAI5B,CACE72D,KAAM,iBACNhJ,KACEvI,cAACuyE,GAAa,CACZxb,aAAc,iBACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAK5B,CACE72D,KAAM,QACNhJ,KACEvI,cAAC01E,GAAU,CACT3e,aAAc,OACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,gBAI5B,CACE72D,KAAM,WACNhJ,KACEvI,cAACi1E,GAAc,CACble,aAAc,WACd1wC,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,iBAiB9B,OAXA57D,qBAAU,WACR,IAAIzE,EAAKoxE,EAAQjhE,QAAO,SAACtU,EAAMqV,GAC7B,GAAIrV,EAAK2N,KAAK9I,SAAShJ,EAAMq6E,YAC3B,OAAOl2E,CAEX,IACImE,EAAGE,OAAS,GACdixE,EAAUnxE,EAAG,GAEjB,GAAG,IAGD/H,cAAA,OAAAE,cACcK,IAAX04E,EACCj5E,cAAA,OAAAE,SAAwB+4E,EAAO1wE,MAArB0wE,EAAO1nE,MAEjBvR,cAACs3E,GAAa,CACZvgB,aAAct3D,EAAMq6E,WACpBC,YAAat6E,EAAMs6E,YACnBjqD,QAASrwB,EAAMq6E,WACfzzD,SAAU5mB,EAAM25E,aAChBlb,UAAWz+D,EAAM45E,aACjB7f,aAAc/5D,EAAM65E,gBACpBC,mBAAoB95E,EAAM+5E,mBAC1BC,sBAAuBh6E,EAAMi6E,sBAC7BhiB,kBAAmBj4D,EAAMk6E,kBACzBjgB,qBAAsBj6D,EAAMm6E,qBAC5BngB,eAAgBh6D,EAAM2oE,aACtB3jD,MAAOhlB,EAAMglB,SAKvB,E,mBCtKau1D,GAAe,SAACv6E,GAC3B,IAAIw6E,EAAQ,IAAIt/D,KACZI,EAAQk/D,EAAMC,WACdp/D,EAAOm/D,EAAME,cACbC,EAAsB,IAAVr/D,EAAc,GAAKA,EAAQ,EACvCs/D,EAAyB,KAAdD,EAAmBt/D,EAAO,EAAIA,EACzCw/D,EAAsB,KAAVv/D,EAAe,EAAIA,EAAQ,EACvCw/D,EAAyB,IAAdD,EAAkBx/D,EAAO,EAAIA,EACxC0/D,EAAU,IAAI7/D,KACZ8J,EAAQ4D,iBAAY,MAC1BmyD,EAAQC,SAASL,GACjBI,EAAQE,YAAYL,GACpB,IAAIM,EAAU,IAAIhgE,KAClBggE,EAAQF,SAASH,GACjBK,EAAQD,YAAYH,GACJr4B,cAAhB,IACQxrC,EAAgBkH,cAAhBlH,YACRc,EAAgDC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA1DojE,EAAgBljE,EAAA,GAAEmjE,EAAmBnjE,EAAA,GAC5CgJ,EAAwDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAlEo6D,EAAoBn6D,EAAA,GAAEo6D,EAAuBp6D,EAAA,GACpDG,EAAoCrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA9Ck6D,EAAUj6D,EAAA,GAAEk6D,EAAal6D,EAAA,GAChCgB,EAAwCtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAAzDm5D,EAAYl5D,EAAA,GAAEm5D,EAAen5D,EAAA,GACpCC,EAAsCxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAAvDm5D,EAAWl5D,EAAA,GAAEm5D,EAAcn5D,EAAA,GAClCwG,EAAgCjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAAxC4yD,EAAQ3yD,EAAA,GAAE4yD,EAAW5yD,EAAA,GAC5BC,EAA2CnR,oBAAS,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAnD4yD,EAAa3yD,EAAA,GAAE4yD,EAAiB5yD,EAAA,GACvC2I,EAAkC/Z,mBAAiB,IAAGga,GAAAnb,YAAAkb,EAAA,GAA/CkqD,GAASjqD,GAAA,GAAEkqD,GAAYlqD,GAAA,GAC9BG,GAAgCna,mBAAc,CAAC,GAAEoa,GAAAvb,YAAAsb,GAAA,GAA1CgqD,GAAQ/pD,GAAA,GAAEgqD,GAAWhqD,GAAA,GAC5BG,GAAsCva,mBAAS,IAAGwa,GAAA3b,YAAA0b,GAAA,GAA3C8pD,GAAW7pD,GAAA,GAAE8pD,GAAc9pD,GAAA,GAClCG,GAAsD3a,mBAAS,IAAG4a,GAAA/b,YAAA8b,GAAA,GAA3D4pD,GAAmB3pD,GAAA,GAAE4pD,GAAsB5pD,GAAA,GAClDG,GAA4C/a,oBAAc,GAAMgb,GAAAnc,YAAAkc,GAAA,GAAzD0pD,GAAczpD,GAAA,GAAE0pD,GAAiB1pD,GAAA,GACxCG,GAA8Cnb,oBAAS,GAAMob,GAAAvc,YAAAsc,GAAA,GAAtDwpD,GAAevpD,GAAA,GAAEwpD,GAAkBxpD,GAAA,GAC1CG,GAA4Cvb,qBAAkBwb,GAAA3c,YAAA0c,GAAA,GAAvDspD,GAAcrpD,GAAA,GAAEspD,GAAiBtpD,GAAA,GACxCI,GAA4C5b,qBAAe6b,GAAAhd,YAAA+c,GAAA,GAApDmpD,GAAclpD,GAAA,GAAEmpD,GAAiBnpD,GAAA,GACxCivC,GAA4C9qD,mBAAShY,EAAMi9E,WAAUla,GAAAlsD,YAAAisD,GAAA,GAA9Coa,IAAFna,GAAA,GAAmBA,GAAA,IACxCG,GAAsClrD,mBAAgB,IAAGmrD,GAAAtsD,YAAAqsD,GAAA,GAAlD0N,GAAWzN,GAAA,GAAEiX,GAAcjX,GAAA,GAClCE,GAA8BrrD,mBAAc,IAAGsrD,GAAAzsD,YAAAwsD,GAAA,GAAxCtqD,GAAOuqD,GAAA,GAAE6Z,GAAU7Z,GAAA,GAC1B8Z,GAAoCplE,mBAAgB,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAAhDE,GAAUD,GAAA,GAAEE,GAAaF,GAAA,GAChCG,GAAwCxlE,qBAAeylE,GAAA5mE,YAAA2mE,GAAA,GAAhDE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GAEpC53D,IADkB/hB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACtCsiB,eAAZC,GAA4BlP,YAAAgP,GAAA,GAApB,GAET+3D,GAAKh1D,iBAAO,MAElBi1D,GAA8C7lE,mBAAc,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAAxDE,GAAeD,GAAA,GAAEE,GAAkBF,GAAA,GAqE1C,SAASG,GAAcC,QACMp9E,IAAvBd,EAAM2oE,cACR3oE,EAAM2oE,aAAauV,EAEvB,CAoCA,SAAS/E,KACP,QAAyBr4E,IAArBq6E,EAAgC,CAClC,IAAIgD,EAAyB,QACNr9E,IAAnBi8E,GACFA,GAAe3zE,KAAI,SAACg1E,EAAiB5kE,GAC/B4kE,EAAWC,UAAY,GACzBF,EAAgB90E,KAAK,CACnB+G,MAAOguE,EAAW5vE,IAClB6Y,OAAQ+2D,EAAWE,qBACnBn8E,MAAOi8E,EAAWj8E,MAClBo8E,uBAAwBH,EAAWI,uBACnClM,IAAK94D,GAGX,IAEAlL,OAAOC,UACkBzN,GAAvBq6E,EAAiB,IAA0C,MAAvBA,EAAiB,GACjDA,EAAiB,GAChBA,EAAiB,GAAK,IAC3B/xE,KAAI,SAACoF,EAAUgL,GAEO,kBAApBxZ,EAAM2iC,WACc,kBAApB3iC,EAAM2iC,UAEM,iBAARn0B,GAAkC,aAARA,GAC5B2vE,EAAgB90E,KAAK,CACnB+G,MAAO5B,EACP6Y,OAAQ7Y,EAAIhM,QAAQ,gBAAiB,iBACrC+1E,gBAAiB4C,EAAiB,GAAG3sE,GACrC8jE,IAAK94D,IAIG,uBAARhL,GACF2vE,EAAgB90E,KAAK,CACnB+G,MAAO5B,EACP6Y,OAAQ7Y,EAAIhM,QAAQ,gBAAiB,iBACrC+1E,gBAAiB4C,EAAiB,GAAG3sE,GACrC8jE,IAAK94D,GAIb,IAEF2jE,GAAWgB,GACXH,GAAmBG,EACrB,CACF,CAEA,SAASM,KACP,IAAI97D,EAAe,GACnB5J,GAAQ3P,KAAI,SAACsD,GACK,uBAAZA,EAAE0D,OAAmC1D,EAAE0D,MAAMpH,SAAS,OACxD2Z,EAAQtZ,KAAKqD,EAEjB,IAEAsxE,GAAmBr7D,EACrB,CAvKA5V,qBAAU,WACRkxE,IAAc,EAChB,GAAG,IACHlxE,qBAAU,WACRkxE,IAAc,GACdS,IACF,GAAG,CAAC1+E,EAAMqwB,QAASrwB,EAAMmE,OAEzB4I,qBAAU,WACJ/M,EAAM2+E,wBAE0B,IAAhC3+E,EAAM2+E,uBACY,yBAAlB3+E,EAAMqwB,UACgB,IAAtBrwB,EAAM4+E,cAENX,IAAc,GAEdS,KAGN,GAAG,CAAC1+E,EAAM2+E,wBAEV5xE,qBAAU,gBACoBjM,IAAxBd,EAAM6+E,eACJ7+E,EAAM6+E,gBACRZ,IAAc,GAEdS,KAGN,GAAG,CAAC1+E,EAAM6+E,gBAEV9xE,qBAAU,WACE,OAAL/M,QAAK,IAALA,KAAO8+E,mBACV1C,GAAY,CAAC,EAEjB,GAAG,CAAM,OAALp8E,QAAK,IAALA,OAAK,EAALA,EAAO8+E,oBAEX/xE,qBAAU,WACR,GAAIouE,EACF,IACEO,GAAgB,GAChB+C,KACAtF,KACIgC,EAAiB3yE,OAAS,IACA,KAAxB2yE,EAAiB,IACnBA,EAAiB/xE,KAAI,SAACsD,EAAQ8M,GAC5B9M,EAAEpL,OAASkY,CACb,IACA8hE,EAAuBryE,YAAKkyE,KAE5BG,EAAwB,IAG9B,CAAE,MAAO11E,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CAEJ,GAAG,CAACu1E,IAEJpuE,qBAAU,WACJsuE,GACFtnE,YAAW,WACTkqE,IAAc,EAChB,GAAG,IAEP,GAAG,CAAC5C,IAQJtuE,qBAAU,WACR2uE,GAAgB,GAChB+C,KACAtF,IACF,GAAG,IAEHpsE,qBAAU,WACR,IAAIgyE,EAAc7qE,SAAS8qE,uBACzB,6BAGED,EAAYv2E,OAAS,IACvBu2E,EAAY,GAAGE,UAAYF,EAAY,GAAGE,UAAUz8E,QAClD,QACA,WAGN,GAAG,CAACu7E,KAQJhxE,qBAAU,WACR,IACE6uE,GAAe,QACa96E,IAAxBd,EAAMk/E,eACRl/E,EAAMk/E,cAAc7D,EAAqB7yE,OAE7C,CAAE,MAAO5C,GAAQ,CACnB,GAAG,CAACy1E,IA+DJ,IAAMqD,GAAS,eAAAh8E,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAC,EAAAq0E,EAAA+H,EAAAC,EAAAlmE,EAAAmmE,EAAAr3E,EAAAu4B,EAAAE,EAAAjyB,EAAAzF,EAAA,OAAAnG,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAab,GAbaF,EAAAC,KAAA,EAEd66E,IAAc,GAEVl7E,OAAcjC,EAClBs6E,EAAoB,IACpBU,EAAY,WAEah7E,GAArBd,EAAM+C,cACRA,EAAc/C,EAAM+C,kBAEQjC,GAA1Bd,EAAMs/E,kBACR1C,GAAmB58E,EAAMs/E,uBAIRx+E,IAAfd,EAAMmE,KAAkB,CAAAhB,EAAAE,KAAA,SAC1B+zE,EAAep3E,EAAMmE,KAAKhB,EAAAE,KAAA,yBACCvC,IAAlBd,EAAMqwB,QAAqB,CAAAltB,EAAAE,KAAA,SAanC,MAZqB,wBAAlBrD,EAAMqwB,UACRttB,EAAc,CACZY,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB81D,UAAW9zC,GAAS3a,WAAWC,WAC/ByrD,aAAc/wC,GAAS+wC,aACvBkC,SAAUjzC,GAASizC,aAGxB71D,EAAAE,KAAA,GACoB+sB,aAAcpwB,EAAMqwB,QAASttB,GAAa,KAAD,GAAlD,GAAZq0E,EAAYj0E,EAAAmB,KAEU,0BAAlBtE,EAAMqwB,QAAmC,CAAAltB,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACpB8rE,KAA2B,KAAD,IAA7CgQ,EAAUh8E,EAAAmB,OAEZ81E,GAAcnxE,YACTk2E,EAAW1mE,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,MAEvD,QAEmB,wBAAlB3Y,EAAMqwB,UACR+mD,EAAeA,EAAa3+D,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,KAmBpE,QAEF,QAAqB7X,IAAjBs2E,GAA8BA,EAAc,CAgB9C,GAfIgI,EAAc,GACdlmE,EAAe,QAEkBpY,IAAjCs2E,EAAamI,iBACfvC,GAAkBl5E,KAAKwM,MAAM8mE,EAAamI,uBAEbz+E,IAA3Bs2E,EAAa/5B,WACf+hC,EAAShI,EAAa,GACtBl+D,EAAUk+D,IAEVgI,EAAShI,EAAa/5B,UAAU,GAChCnkC,EAAUk+D,EAAa/5B,WAGrBw+B,EAAgB,CAAC,OACP/6E,GAAVs+E,EACF,IAAAp3E,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQ4+C,GAAOp3E,EAAAu4B,EAAA/3B,OAAAR,IAAE,CAAAy4B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAvCwG,EAAGiyB,EAAA,GAAE13B,EAAK03B,EAAA,GACpB,IACuB,kBAAV13B,EACT8yE,EAASrtE,GAAO,CACdzF,MAAO,KACPy2E,UAAWC,KAAgBC,QAEpBlxE,EAAItD,cAAclC,SAAS,QAElC6yE,EAASrtE,GADC,aAARA,EACc,CACdzF,MAAO,KACPy2E,UAAWC,KAAgBE,YAEZ,WAARnxE,EACO,CACdzF,MAAO,KACPy2E,UAAWC,KAAgBG,aAGb,CACd72E,MAAO,KACPy2E,UAAWC,KAAgBI,SAGtBrxE,EAAItD,cAAclC,SAAS,UACpC6yE,EAASrtE,GAAO,CACdzF,MAAO,KACPy2E,UAAWC,KAAgBK,SAG7BjE,EAASrtE,GAAO,CACdzF,MAAO,KACPy2E,UAAWC,KAAgBM,SAGjC,CAAE,MAAOn6E,GAAQ,CACnB,CAGFsT,EAAQ9P,KAAI,SAACsD,GACX4B,OAAOC,KAAK2K,EAAQ,IAAI9P,KAAI,SAACoF,GAC3B,GACU,iBAARA,GACAA,EAAIsF,oBAAoB9K,SAAS,SACjCwF,EAAIxF,SAAS,yCAEb,GAAe,OAAX0D,EAAE8B,GACJ,OAAQ9B,EAAE8B,GAAO,IAAI0M,KAAKxO,EAAE8B,QAGZ,kBAAX9B,EAAE8B,IACRA,EAAItD,cAAclC,SAAS,OAC3BwF,EAAItD,cAAclC,SAAS,OAC3BwF,EAAItD,cAAclC,SAAS,eAC3BwF,EAAItD,cAAclC,SAAS,eAE5B0D,EAAE8B,GAAOS,OAAOvC,EAAE8B,IAEtB,GACF,SAE+B1N,GAA3Bs2E,EAAa4I,YACflD,GAAkB1F,EAAa4I,YAGjClE,EAAYD,GACR3iE,EAAQ1Q,OAAS,IACnB4yE,EAAmBnyE,YAAKiQ,IACxBsiE,EAAavyE,YAAKiQ,IAEtB,CAAC/V,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,sBAAqBvD,EAAAgkB,IACjC82D,IAAc,GAAO,yBAAA96E,EAAAqB,OAAA,GAAA1B,EAAA,mBAExB,kBA5Jc,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAqKTs7E,GAAqB,SAAC7/D,GAC1B,OAAO7f,cAAA,QAAMgB,UAAS,yBAAAC,OAA2B4e,GAAS3f,SAAE2f,GAC9D,EAmBM8/D,GAAyB,SAACxzE,GAC9B,OACEnM,cAAC++C,IAAQ,CACPv2C,MAAO2D,EAAE3D,MACT4Z,QAASjW,EAAEiW,QACX3P,SAAU,SAACmtE,GAAU,OAAKzzE,EAAEsG,SAASmtE,EAAMC,cAAeD,EAAMp3E,MAAM,EACtE3H,MAAO,CAAEgM,WAAY,IAG3B,EA6BMizE,GAAuB,SAACjgE,EAAare,GACzC,IAKE,GAJI45E,IACFv7D,EAAOrX,MAAQ,GACfqX,EAAOkgE,oBAAoB,OAEzBlgE,EAAOmgE,YAAYf,UACrB,MAAqC,WAAjCp/D,EAAOmgE,YAAYf,UAEnBj/E,cAAC+b,KAAW,CACVpJ,GAAIkN,EAAOhQ,MACXrH,MAAOqX,EAAOrX,MACduK,YAAa,UAAYvR,EACzB6/C,cAAe,SAACl1C,GAAC,OAAK0T,EAAOkgE,oBAAoB5zE,EAAEuG,OAAOlK,MAAM,EAChE+a,KAAK,UACLugB,kBAA6B,kBAAVtiC,EAA4B,EAAI,IAKrDxB,cAACigF,KAAY,CACXttE,GAAIkN,EAAOhQ,MACXrH,MAAOqX,EAAOrX,MACd03E,YAAa/C,GACbpqE,YAAa,UAAYvR,EACzB2+E,eAAgB,SAACh0E,GACfqH,YAAW,WACT,IAAI4sE,EAUJA,EAkBhB,SAAmBC,EAAcpyE,GAC/B,GAAmB,oBAARA,EAAoB,CAC7B,IAAMqyE,EAAWryE,EACjBA,EAAM,SAAU1F,GACd,OAAOA,EAAK+3E,EACd,CACF,CACA,OAAO7/C,MAAMkL,KACX00C,EACGr5B,QAAO,SAAUn+C,EAAKN,GACrB,IAAMsF,EAAII,EAAI1F,GAEd,OADKM,EAAI03E,IAAI1yE,IAAIhF,EAAIogE,IAAIp7D,EAAGtF,GACrBM,CACT,GAAG,IAAI23E,KACNhzC,SAEP,CAlCwBizC,CANNL,EAHGj0E,EAAEohE,MAAMxhB,OAAO9jD,OAGV2yE,EAAiB1iE,QAAO,SAACiyD,GAAY,IAADuW,EAC1C,OAAsB,QAAtBA,EAAOvW,EAAEtqD,EAAOhQ,cAAM,IAAA6wE,OAAA,EAAfA,EACH/1E,cACDuE,WAAW/C,EAAEohE,MAAM5iE,cACxB,IANKjC,YAAOkyE,GAQW/6D,EAAOhQ,OAChCutE,GAAe10E,YAAK03E,GACtB,GAAG,IACL,EACAO,SAAU,SAACx0E,GACT0T,EAAOkgE,oBAAoB5zE,EAAE3D,MAAMqX,EAAOhQ,OAC5C,EACAA,MAAOgQ,EAAOhQ,MACd4C,SAAU,SAACtG,GACT0T,EAAOkgE,oBAAoB5zE,EAAE3D,MAC/B,GAKV,CAAE,MAAOnD,GAAQ,CACnB,EAoBA,IAaMgV,GAAa,SAAC7R,GAClB,GAAa,IAATA,EAAa,CACf,IAAIsI,EAAiB9H,KAAOR,EAAO,uBAEnC,OADgBQ,KAAO8H,GAAgBlI,OAAO,cAEhD,CACE,MAAO,EAEX,EAiGA,IAqBMg4E,GAAiBpD,GAAgB30E,KAAI,SAACrI,GAC1C,IACE,IACGA,EAAIqP,MAAMpH,SAAS,SACN,eAAdjI,EAAIqP,OACU,cAAdrP,EAAIqP,MACJ,CAMG,IAADgxE,EAAAC,EAAAC,EAAAC,EA6CAC,EAAAC,EAAAC,EAAAC,EAsGAC,EAAAC,EAAAC,EAAAC,EA6CoDC,EAAAC,EAAAC,EAAAC,EAmFpDC,EAAAC,EAAAC,EAAAC,EAxRF,GACExhF,EAAIqP,MAAMlF,cAAclC,SAAS,aACjCjI,EAAIqP,MAAMlF,cAAclC,SAAS,aACjCjI,EAAIqP,MAAMlF,cAAclC,SAAS,cACjCjI,EAAIqP,MAAMlF,cAAclC,SAAS,eAEjC,OACEzI,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjC5+E,KAAM,SAACmV,GACL,IACE,OAzSD,OADSjQ,EA0SciQ,EAAQjY,EAAIqP,SAtSzCrH,EAAMsC,UAuSD,CAAE,MAAOzF,GAAQ,CA3SR,IAACmD,CA4SZ,EACAse,OACE1mB,eAAA,OAAKY,UAAU,4CAA2Cd,SAAA,CACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEM,EAAIsmB,WAGvC9mB,cAAA,QAAMgB,UAAU,4BAA2Bd,cAC1BK,IAAdC,EAAIoB,OAAuBpB,EAAIoB,WAItCugF,UAAQ,EACRjqE,OACqC,QAAhB,QAAnB2oE,EAAAvF,EAAS96E,EAAIqP,cAAM,IAAAgxE,OAAA,EAAnBA,EAAqB5B,WACE,QADgB6B,EACnCxF,EAAS96E,EAAIqP,cAAM,IAAAixE,OAAA,EAAnBA,EAAqB7B,eACrB1+E,EAEN6hF,gBACqC,QAAhB,QAAnBrB,EAAAzF,EAAS96E,EAAIqP,cAAM,IAAAkxE,OAAA,EAAnBA,EAAqB9B,WACE,QADgB+B,EACnC1F,EAAS96E,EAAIqP,cAAM,IAAAmxE,OAAA,EAAnBA,EAAqB/B,eACrB1+E,EAEN8hF,cAAe,SAACxiE,GAAW,OAzTP,SAACA,EAAare,GAK5C,OAJI45E,IACFv7D,EAAOrX,MAAQ,KACfqX,EAAOkgE,oBAAoB,OAG3B//E,cAAC++C,IAAQ,CACPv2C,MAAOqX,EAAOrX,MACd4Z,QAAS,CAAC,OAAQ,SAClB3P,SAAU,SAACtG,GAAC,OAAK0T,EAAOkgE,oBAAoB5zE,EAAE3D,MAAM,EACpD85E,aAAc5C,GACd3sE,YAAa,UAAYvR,EACzBR,UAAU,kBACVw5D,WAAS,GAGf,CA0Sc+nB,CAAwB1iE,EAAQrf,EAAIsmB,OAAO,EAE7C07D,sBAAuB,OACvBC,gBAAiBjH,EACjBkH,cAAe,kBAAMjH,GAAkB,EAAM,GAnCxCj7E,EAAIqP,OAsCR,GACLrP,EAAIqP,MAAMpH,SAAS,SACnBjI,EAAIqP,MAAMpH,SAAS,yCACY,MAA/BjI,EAAIw9E,uBAEJ,OACEh+E,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjCp7D,OACE1mB,eAAA,OAAKY,UAAU,4CAA2Cd,SAAA,CACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEM,EAAIsmB,WAGvC9mB,cAAA,QAAMgB,UAAU,4BAA2Bd,cAC1BK,IAAdC,EAAIoB,OAAuBpB,EAAIoB,WAItC0B,KAAM,SAACmV,GACL,IACE,IAAIjY,EAAIqP,MAAMlF,cAAclC,SAAS,UAqB9B,CACL,GACyB,OAAvBgQ,EAAQjY,EAAIqP,aACWtP,IAAvBkY,EAAQjY,EAAIqP,QACW,KAAvB4I,EAAQjY,EAAIqP,OACZ,CACA,IAAI6K,EAAUL,GAAW5B,EAAQjY,EAAIqP,QACrC,GAAgB,iBAAZ6K,EAEF,OADAjC,EAAQjY,EAAIqP,OAAS,IAAI8K,KAAKD,GACvBA,EAEP,IAAI5J,EAAiB9H,KACnByP,EAAQjY,EAAIqP,OACZ,cAGF,MAAgB,kBADhB6K,EAAU1R,KAAO8H,GAAgBlI,OAAO,iBAQtB,kBAHhB8R,EAAU1R,KAAOyP,EAAQjY,EAAIqP,QAAQjH,OACnC,iBAJF6P,EAAQjY,EAAIqP,OAAS,IAAI8K,KAAKD,GACvBA,GASE,EAIf,CAEE,OADAjC,EAAQjY,EAAIqP,OAAS,KACd,EAEX,CAvDE,GACyB,OAAvB4I,EAAQjY,EAAIqP,aACWtP,IAAvBkY,EAAQjY,EAAIqP,QACW,KAAvB4I,EAAQjY,EAAIqP,OAeZ,OADA4I,EAAQjY,EAAIqP,OAAS,KACd,GAbP,IAAI6K,EAAUjC,EAAQjY,EAAIqP,OAAOgL,eAAe,QAAS,CACvDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV,GAAgB,iBAAZz+C,EACF,OAAOA,CA0Cf,CAAE,MAAOrV,GAAQ,CACnB,EACA88E,UAAQ,EACRnK,SAAS,OACT9/D,OACqC,QAAhB,QAAnB+oE,EAAA3F,EAAS96E,EAAIqP,cAAM,IAAAoxE,OAAA,EAAnBA,EAAqBhC,WACE,QADgBiC,EACnC5F,EAAS96E,EAAIqP,cAAM,IAAAqxE,OAAA,EAAnBA,EAAqBjC,eACrB1+E,EAEN6hF,gBACqC,QAAhB,QAAnBjB,EAAA7F,EAAS96E,EAAIqP,cAAM,IAAAsxE,OAAA,EAAnBA,EAAqBlC,WACE,QADgBmC,EACnC9F,EAAS96E,EAAIqP,cAAM,IAAAuxE,OAAA,EAAnBA,EAAqBnC,eACrB1+E,EAEN8hF,cAAe,SAACxiE,GAAW,OAlYZ,SAACA,EAAare,GAKvC,OAJI45E,IACFv7D,EAAOrX,MAAQ,KACfqX,EAAOkgE,oBAAoB,OAG3B//E,cAAC2iF,KAAQ,CACPhwE,GAAG,QACHnK,MAAOqX,EAAOrX,MACduK,YAAa,UAAYvR,EACzBiR,SAAU,SAACtG,GACTsvE,GAAkB,GAElB57D,EAAOkgE,oBAAoB5zE,EAAE3D,MAC/B,EACAo6E,gBAAc,EACdC,eAAa,EACbC,UAAW,YACXnD,uBAAwBA,GACxBoD,sBAAuBA,GACvBniC,cAAc,QACdoiC,eAAa,EACbhyE,WAAW,WAGjB,CA0WciyE,CAAmBpjE,EAAQrf,EAAIsmB,OAAO,EAExC27D,gBAAiBjH,EACjBkH,cAAe,kBAAMjH,GAAkB,EAAM,GA3FxCj7E,EAAIqP,OA8FR,IACHrP,EAAIqP,MAAMpH,SAAS,OACF,WAAjBjI,EAAIw3E,UACW,kBAAfx3E,EAAIsmB,QACyB,MAA/BtmB,EAAIw9E,uBAEJ,OACEh+E,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjCp7D,OACE1mB,eAAA,OAAKY,UAAU,4CAA2Cd,SAAA,CACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEM,EAAIsmB,WAGvC9mB,cAAA,QAAMgB,UAAU,4BAA2Bd,cAC1BK,IAAdC,EAAIoB,OAAuBpB,EAAIoB,WAItC8vE,cAAe,eACfpuE,KAAM,SAACmV,GACL,IACoC,IAADyqE,EAAjC,GAA2B,OAAvBzqE,EAAQjY,EAAIqP,OACd,OAAyB,QAAzBqzE,EAAOzqE,EAAQjY,EAAIqP,cAAM,IAAAqzE,OAAA,EAAlBA,EAAoBroE,oBAAeta,EAAW,CACnDgc,sBAAuB,GAG7B,CAAE,MAAA4mE,GAAO,CACX,EACAhB,UAAQ,EACRnK,SAAS,UACT9/D,OACqC,QAAhB,QAAnBmpE,EAAA/F,EAAS96E,EAAIqP,cAAM,IAAAwxE,OAAA,EAAnBA,EAAqBpC,WACE,QADgBqC,EACnChG,EAAS96E,EAAIqP,cAAM,IAAAyxE,OAAA,EAAnBA,EAAqBrC,eACrB1+E,EAEN6hF,gBACqC,QAAhB,QAAnBb,EAAAjG,EAAS96E,EAAIqP,cAAM,IAAA0xE,OAAA,EAAnBA,EAAqBtC,WACE,QADgBuC,EACnClG,EAAS96E,EAAIqP,cAAM,IAAA2xE,OAAA,EAAnBA,EAAqBvC,eACrB1+E,EAEN8hF,cAAe,SAACxiE,GAAW,OACzBigE,GAAqBjgE,EAAQrf,EAAIsmB,OAAO,EAE1C27D,iBAAiB,GAvCZjiF,EAAIqP,OA0CR,GAAIrP,EAAIqP,MAAMpH,SAAS,uBAC5B,OACEzI,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjCp7D,OACE1mB,eAAA,OAAKY,UAAU,4CAA2Cd,SAAA,CACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEM,EAAIsmB,WAGvC9mB,cAAA,QAAMgB,UAAU,4BAA2Bd,cAC1BK,IAAdC,EAAIoB,OAAuBpB,EAAIoB,WAItCugF,UAAQ,EACR7+E,KAAM,SAACmV,GACL,IACE,IAAI2qE,EAAU,GACVx/E,EAAOysE,GAAYn4D,QACrB,SAAC3P,GAAS,OACRA,EAAK+nE,kBAAoB73D,EAAQ63D,kBACf,IAAlB/nE,EAAK6P,WACgB,IAApB7P,EAAKgoE,YAA6C,IAAzBhoE,EAAKooE,gBAAsB,IAEzD/sE,EAAK2sD,MAAK,SAAC1U,EAAG2U,GAAC,OAAM3U,EAAEi1B,IAAMtgB,EAAEsgB,IAAM,GAAK,CAAC,IAC3C,IAAI/oE,EAAKnE,EAAKiF,KAAI,SAACsD,EAAQ8M,GACzB,GAAIA,EAAM,EAAG,CACX,IAAIoqE,EAWJ,OAVAA,EACE30E,OAAOvC,EAAEskE,YAAY51D,oBAAeta,EAAW,CAC7Cgc,sBAAuB,IAEzB,IACA7N,OAAOvC,EAAEukE,UAAU71D,oBAAeta,EAAW,CAC3Cgc,sBAAuB,IAEzB,KACF6mE,GAAoBC,EACbrjF,cAAA,KAAAE,SAAImjF,GACb,CAAO,GAAIpqE,GAAO,EAAG,CACnB,IAAIoqE,EAWJ,OAVAA,EACE30E,OAAOvC,EAAEskE,YAAY51D,oBAAeta,EAAW,CAC7Cgc,sBAAuB,IAEzB,IACA7N,OAAOvC,EAAEukE,UAAU71D,oBAAeta,EAAW,CAC3Cgc,sBAAuB,IAEzB,KACF6mE,GAAoBC,EACbrjF,cAAA,KAAAE,SAAG,UACZ,CACF,IAGA,OADAuY,EAAQ6qE,oBAAsBF,EACvBr7E,CACT,CAAE,MAAAw7E,GAAO,CACX,EACArrE,OACqC,QAAhB,QAAnBupE,EAAAnG,EAAS96E,EAAIqP,cAAM,IAAA4xE,OAAA,EAAnBA,EAAqBxC,WACE,QADgByC,EACnCpG,EAAS96E,EAAIqP,cAAM,IAAA6xE,OAAA,EAAnBA,EAAqBzC,eACrB1+E,EAEN6hF,gBACqC,QAAhB,QAAnBT,EAAArG,EAAS96E,EAAIqP,cAAM,IAAA8xE,OAAA,EAAnBA,EAAqB1C,WACE,QADgB2C,EACnCtG,EAAS96E,EAAIqP,cAAM,IAAA+xE,OAAA,EAAnBA,EAAqB3C,eACrB1+E,EAEN8hF,cAAe,SAACxiE,GAAW,OACzBigE,GAAqBjgE,EAAQrf,EAAIsmB,OAAO,EAE1C27D,iBAAiB,GAxEZjiF,EAAIqP,OA2ER,IACJrP,EAAIqP,MAAMpH,SAAS,OACN,eAAdjI,EAAIqP,OACU,cAAdrP,EAAIqP,OACU,gBAAdrP,EAAIqP,MAEJ,OACE7P,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjCp7D,OACE1mB,eAAA,OAAKY,UAAU,4CAA2Cd,SAAA,CACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAEM,EAAIsmB,WAGvC9mB,cAAA,QAAMgB,UAAU,4BAA2Bd,cAC1BK,IAAdC,EAAIoB,OAAuBpB,EAAIoB,WAItCugF,UAAQ,EACR7+E,KAAM,SAACmV,GACL,IACE,GAAkC,kBAAvBA,EAAQjY,EAAIqP,OAAqB,CAC1C,IAAIjM,EAAe6U,EAAQjY,EAAIqP,OAC/B,GAAIjM,EAAK6E,SAAS,UAAW,CAC3B,IAAI+6E,EAAQ,IAAI/9B,MAEhB,OADA+9B,EAAM99B,IAAM9hD,EACL5D,cAAA,OAAKgB,UAAU,YAAY0kD,IAAK89B,EAAM99B,KAC/C,CACE,MAAoB,mBAAbllD,EAAIqP,MA/UL,SAAC4I,GACzB,OACEzY,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEgB,UAAU,mBACV4U,QAAS,WACkB6C,EAAQy7B,YACjCnxC,OAAOqe,KAAK,mBAADngB,OAAoBwX,EAAQy7B,aAAe,QAExD,EAAEh0C,SAEFF,cAAA,KACEa,MAAO,CAAEkM,MAAO,oBAAqB02E,eAAgB,aAAcvjF,SAElEuY,EAAQirE,qBAKnB,CA6TwBC,CAAkBlrE,GAClBA,EAAQjY,EAAIqP,MAEpB,CACE,OAAO4I,EAAQjY,EAAIqP,MAEvB,CAAE,MAAA+zE,GAAO,CACX,EACA1rE,OACqC,QAAhB,QAAnB2pE,EAAAvG,EAAS96E,EAAIqP,cAAM,IAAAgyE,OAAA,EAAnBA,EAAqB5C,WACE,QADgB6C,EACnCxG,EAAS96E,EAAIqP,cAAM,IAAAiyE,OAAA,EAAnBA,EAAqB7C,eACrB1+E,EAEN6hF,gBACqC,QAAhB,QAAnBL,EAAAzG,EAAS96E,EAAIqP,cAAM,IAAAkyE,OAAA,EAAnBA,EAAqB9C,WACE,QADgB+C,EACnC1G,EAAS96E,EAAIqP,cAAM,IAAAmyE,OAAA,EAAnBA,EAAqB/C,eACrB1+E,EAEN8hF,cAAe,SAACxiE,GAAW,OACzBigE,GAAqBjgE,EAAQrf,EAAIsmB,OAAO,EAE1C27D,iBAAiB,GA9CZjiF,EAAIqP,MAkDjB,CACF,CAAE,MAAOygB,GACPlrB,QAAQe,IAAI,YAAamqB,EAC3B,CACF,IAEMuzD,GAAmB,WACvBntE,EAAY,CACV1D,YAAY,WACZkC,QAAQ,UACRzT,KAAM,WAOV,EACMqiF,GAAiB,WACrBptE,EAAY,CACV1D,YAAY,SACZkC,QAAQ,QACRzT,KAAM,SAOV,EAEMi3C,GAAqB,SAACjgC,GAC1B,IAAIsrE,EAAiB,GAMrB,OALAnJ,EAAiB/xE,KAAI,SAACsD,GAChBA,EAAEqxE,GAAgB,GAAG3tE,SAAW4I,EAAQ+kE,GAAgB,GAAG3tE,QAC7Dk0E,EAAQj7E,KAAKqD,EAEjB,IAEEnM,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACgkF,KAAW,CACVhjF,UAAU,qBACVyvB,MAAO,CACL,CACEjvB,MAAO,OACPoV,KAAM,eACNsiC,QAAS,WACP2iC,GAAYkI,EAAQ,IACpBpI,GAAa,kFACbM,GAAuB,kBACvBF,GAAe,aACqBx7E,KAA3B,OAALd,QAAK,IAALA,OAAK,EAALA,EAAOwkF,wBACJ,OAALxkF,QAAK,IAALA,KAAOwkF,uBAA2B,OAALxkF,QAAK,IAALA,KAAO8+E,qBAEtCpC,IAAkB,EACpB,IAGJ+H,aAAa,sBAIrB,EAEMC,GAAiB,SAACvE,GACtB,IAAIpC,EAAkBoC,EAAMp3E,MACxB47E,EAAyB5rE,GAAQN,QAAO,SAAC1X,GAAQ,OACnDg9E,EAAgB6G,MAAK,SAACC,GAAS,OAAKA,EAAKz0E,QAAUrP,EAAIqP,KAAK,GAAC,IAG/D4tE,GAAmB2G,EACrB,EAMMG,GAAc,WAClB,IAAMC,EAthBR,WACE,IACE,IAAIC,EAAkB,GA0DtB,OAxDAzJ,EAAWnyE,KAAI,SAACjF,GACd,IAAI8gF,EAAiB,CAAC,EACtBlH,GAAgB30E,KAAI,SAACrI,GAEc,IAADmkF,EADhC,GAAmC,MAA/BnkF,EAAIw9E,uBACkB,OAApBp6E,EAAKpD,EAAIqP,SACX60E,EAAUlkF,EAAIsmB,QAAyB,QAAlB69D,EAAG/gF,EAAKpD,EAAIqP,cAAM,IAAA80E,OAAA,EAAfA,EAAiB9pE,oBACvCta,EACA,CACEgc,sBAAuB,UAIxB,GAC0B,MAA/B/b,EAAIw9E,wBACJx9E,EAAIqP,MAAMlF,cAAclC,SAAS,QAEjC,GAAIjI,EAAIsmB,OAAOnc,cAAclC,SAAS,UAAW,CAC/C,IAAIiS,EAAU9W,EAAKpD,EAAIqP,OAAOgL,eAAe,QAAS,CACpDC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEM,iBAAZz+C,IACFgqE,EAAUlkF,EAAIsmB,QAAUpM,EAE5B,KAAO,CACL,IAAIA,EAAUL,GAAWzW,EAAKpD,EAAIqP,QAClC,GAAgB,iBAAZ6K,EACFgqE,EAAUlkF,EAAIsmB,QAAUpM,MACnB,CACL,IAAI5J,EAAiB9H,KAAOpF,EAAKpD,EAAIqP,OAAQ,cAE7B,kBADhB6K,EAAU1R,KAAO8H,GAAgBlI,OAAO,gBAEtC87E,EAAUlkF,EAAIsmB,QAAUpM,GAExBA,EAAU1R,KAAOpF,EAAKpD,EAAIqP,QAAQjH,OAAO,eAEvC87E,EAAUlkF,EAAIsmB,QADA,iBAAZpM,EACsBA,EAEA,GAG9B,CACF,MAEAgqE,EAAUlkF,EAAIsmB,QAAUljB,EAAKpD,EAAIqP,MAErC,IACsB,yBAAlBpQ,EAAMqwB,gBACD40D,EAAmB,QAE5BD,EAAW37E,KAAK47E,EAClB,IACOD,CACT,CAAE,MAAOp/E,GAAQ,CACnB,CAwdoBu/E,GAClB,wDAAenhF,MAAK,SAACohF,GACnB,IACMC,EAAW,CAAEC,OAAQ,CAAEnhF,KADXihF,EAAKG,MAAMC,cAAcT,IACKU,WAAY,CAAC,SACvDC,EAAcN,EAAKO,MAAMN,EAAU,CACvCO,SAAU,OACV5jF,KAAM,UAER6jF,GAAgBH,EAAa7I,GAAiB,MAAQ,IAAI3hE,MAC1D+iE,IAAc,EAChB,GACF,EAEM4H,GAAkB,SAACC,EAAaC,GACpC,kCAAqB/hF,MAAK,SAACgiF,GACzB,IAGM7hF,EAAO,IAAIy5C,KAAK,CAACkoC,GAAS,CAC9B9jF,KAHA,oFAKFgkF,EAAUC,OACR9hF,EACA4hF,EAAW,YAAa,IAAI7qE,MAAOgrE,UANf,QAQxB,GACF,EAEM5C,GAAwB,SAAC52E,GAC7B,OACEnM,cAAC++C,IAAQ,CACPv2C,MAAO2D,EAAE3D,MACT4Z,QAASjW,EAAEiW,QACX3P,SAAU,SAACmtE,GAAU,OAAKzzE,EAAEsG,SAASmtE,EAAMC,cAAeD,EAAMp3E,MAAM,EACtExH,UAAU,SACVH,MAAO,CAAEgM,WAAY,IAG3B,EAqHM+4E,GAAW,eAAAthF,EAAAlC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOuH,GAAM,IAAAyZ,EAAA,OAAAvjB,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACzB8iB,EAAOzZ,EAAEuG,OAAOoT,MAAM,GAC5B,SACuBvlB,GAAjBm9E,IAA4BA,IAAc,GAC9C,wDAAej6E,MAAK,SAACohF,GACnB,IAAMlrB,EAAS,IAAIC,WACnB,IACED,EAAOG,OAAM,eAAAn1D,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO4H,GAAM,IAAA05E,EAAAC,EAAAC,EAAAniF,EAAAi0C,EAAAmuC,EAAAx+E,EAAAy+E,EAAA5sD,EAAA6sD,EAAArP,EAAA,OAAAx0E,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAYxB,GAXG+iF,EAAKhB,EAAKsB,KAAKh6E,EAAEuG,OAAOvN,OAAQ,CAAE1D,KAAM,UACxCqkF,EAASD,EAAGX,WAAW,GACvBa,EAAKF,EAAGd,OAAOe,GACfliF,EAAOihF,EAAKG,MAAMoB,cAAcL,EAAI,CAAEj/D,OAAQ,IAC9C+wB,EAAYj0C,EAAK,GACvBA,EAAKyiF,QACDL,EAAgBpiF,EAAKiF,KAAI,SAAC4zD,GAC5B,OAAO5kB,EAAKmP,QAAO,SAACsJ,EAAU6Z,EAAQ3iE,GAEpC,OADA8oD,EAAI6Z,GAAK1N,EAAEj1D,GACJ8oD,CACT,GAAG,CAAC,EACN,IAE6B,IAAzB01B,EAAc/9E,OAAY,CAAAzD,EAAA1B,KAAA,SACnB0E,EAAI,EAAE,KAAD,OAAEA,EAAIw+E,EAAc/9E,QAAM,CAAAzD,EAAA1B,KAAA,SAEoB,OADpDu2B,EAAU2sD,EAAcx+E,GAC1B0+E,EAA8B,QAAhBD,EAAGxmF,EAAMqwB,eAAO,IAAAm2D,OAAA,EAAbA,EAAehkF,QAAQ,UAAW,IAAGuC,EAAA1B,KAAA,GAE1CytB,aAAc21D,EAAgB7sD,GAAS,KAAD,GAA/C,GACY,YADZ70B,EAAAT,KACCoB,OAAoB,CAAAX,EAAA1B,KAAA,YACtBkjF,EAAc/9E,OAAS,IAAMT,EAAC,CAAAhD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GACP+sB,aACvBpwB,EAAMqwB,aACNvvB,GACA,KAAD,GAHGs2E,EAAYryE,EAAAT,KAKhB82E,EAAmBnyE,YAAKmuE,SACFt2E,IAAlBm9E,IACFA,IAAc,GACf,QAAAl5E,EAAA1B,KAAA,iBAfmC0E,IAAGhD,EAAA1B,KAAA,iCAAA0B,EAAAP,OAAA,GAAAM,EAAA,KAqBhD,gBAAAE,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,EApCY,GAsCbu1D,EAAO2sB,kBAAkB1gE,EAC3B,CAAE,MAAOvgB,GAAQ,CACnB,GACF,CAAE,MAAOA,GAAQ,CAAC,wBAAAR,EAAAZ,OAAA,GAAAW,EAAA,KACnB,gBAjDgBV,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAwDjB,IAAMmiF,GA3KgB,WACpB,IAAMl4D,EAAM3lB,YAAO80E,IACfgJ,EAAoB,GAClBhmF,EAAGkI,YAAO8P,IACZiuE,EAAiB,GAYrB,OAXAp4D,EAAOxlB,KAAI,SAACsD,GACLA,EAAE0D,MAAMlF,cAAclC,SAAS,OAClC+9E,EAAW19E,KAAKqD,EAEpB,IACA3L,EAAIqI,KAAI,SAACsD,GACFA,EAAE0D,MAAMlF,cAAclC,SAAS,OAClCg+E,EAAQ39E,KAAKqD,EAEjB,IAGEnM,cAAA,OAAKgB,UAAU,SAAQd,SACrBE,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrCF,cAAA,OAAKa,MAAO,CAAEif,UAAW,QAAS5f,SAChCF,cAACg1E,KAAW,CACVxsE,MAAOg+E,EACPpkE,QAASqkE,EACTlsB,YAAY,SACZmsB,cAAexL,EACf7zD,OAAQ,WACN,IAAMs/D,EAxhBpB,WACE,IACE,IAAIC,EAAgB,GAyBpB,OAxBAhM,EAAiB/xE,KAAI,SAACjF,GACpB,IAAI8gF,EAAiB,CAAC,EACtBlH,GAAgB30E,KAAI,SAACrI,GACgB,MAA/BA,EAAIw9E,uBACkB,OAApBp6E,EAAKpD,EAAIqP,SACX60E,EAAUlkF,EAAIqP,OAASjM,EAAKpD,EAAIqP,QAGH,MAA/BrP,EAAIw9E,wBACJx9E,EAAIsmB,OAAOnc,cAAclC,SAAS,QAEV,OAApB7E,EAAKpD,EAAIqP,QAAuC,KAApBjM,EAAKpD,EAAIqP,SACvC60E,EAAUlkF,EAAIqP,OAAS,IAAI8K,KAAK/W,EAAKpD,EAAIqP,SAG3C60E,EAAUlkF,EAAIqP,OAASjM,EAAKpD,EAAIqP,MAEpC,IACsB,yBAAlBpQ,EAAMqwB,gBACD40D,EAAmB,QAE5BkC,EAAS99E,KAAK47E,EAChB,IAEOkC,CACT,CAAE,MAAOvhF,GAAQ,CACnB,CA2f4BwhF,GACRz2B,EAAcu2B,EAAMzuE,QAAO,SAAC1P,EAAY6Q,GAC5C,IAAMsD,EAASpZ,KAAKC,UAAUgF,GAC9B,OACE6Q,IACAstE,EAAMruC,WAAU,SAACgY,GACf,OAAO/sD,KAAKC,UAAU8sD,KAAS3zC,CACjC,GAEJ,IACAo+D,EAAuBryE,YAAK0nD,IAC5BirB,GAAe,EACjB,EACA5oE,SAAU0xE,GACVpxE,YAAY,iBACZlS,MAAO,CAAE8U,MAAO,YAGnBlW,EAAMqnF,WACL1mF,eAAA,OAAKS,MAAO,CAAEif,UAAW,SAAW9e,UAAU,mBAAkBd,SAAA,CAC9DF,cAACwnB,IAAM,CACL/lB,KAAK,SACLD,MAAM,kBACNoV,KAAK,mBACLhB,QAAS,WACP8nE,IAAc,GACd6G,IACF,EACA1jF,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,MACdpC,OAAQ,qBAEV,kBAAgB,QAGC,sCAAlBxV,EAAMqwB,SACL1vB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,SACEyB,KAAK,OACLomB,OAAO,8FACPpV,SAAUmzE,GACV/kF,MAAO,CAAE6L,QAAS,QAClBiG,GAAG,SAEL3S,cAAA,SACEgoB,QAAQ,OACRnnB,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,MACd1B,MAAO,QACPV,OAAQ,qBAEVjU,UAAU,SAAQd,SAElBE,eAAA,QACES,MAAO,CACLmM,WAAY,SACZ+a,UAAW,MACXrb,QAAS,OACTgoC,eAAgB,SAChBz/B,OAAQ,kBACRo+B,OAAQ,WAEVryC,UAAU,SAAQd,SAAA,CAElBF,cAAA,KACEgB,UAAU,mBACVH,MAAO,CAAEoU,OAAQ,qBACd,mCAWzB,CAyDgB8xE,GA8ChB,OACE3mF,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACVhlB,EAAM0oE,WACN/nE,eAAA,OAAKY,UAAU,OAAMd,SAAA,CACnBE,eAAC+wE,KAAS,CACR/7D,IAAKioE,GACLr8E,UAAW,sCACXgmF,aAAW,EACXx+E,MAAOsyE,EACPvJ,QAAQ,SACR0V,WAAS,EACThjE,KAAM,GACNijE,mBAAoB9K,GACpB+K,WAlEV,SAAoB1uE,QACQlY,GAAtBd,EAAM2nF,cACR3nF,EAAM2nF,aAAa3uE,EAEvB,EA+DU4uE,aA7zBW,SAACC,GACpBA,EAAS9uE,QAAQ3P,KAAI,SAACrI,EAAUyY,GAC9BukE,GAAgB30E,KAAI,SAACwlB,GACfA,EAAOxe,QAAUrP,EAAIf,MAAMoQ,QAC7Bwe,EAAO0jD,IAAM94D,EAEjB,GACF,IACAwkE,GAAkB/0E,YACb80E,GAAgBjtB,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM3U,EAAEk2B,IAAMvhB,EAAEuhB,IAAM,GAAK,CAAC,KAEvE,EAmzBU3yB,aAxBW,WACnB,OAAI3/C,EAAM8nF,WACD,cAEA,EAEX,EAmBUzgE,OAAQy/D,GACR3lC,cAAe,SACf4mC,UAAWzK,GACX0K,kBAAmB,SAACt7E,GAAM,OAAK6wE,GAAc7wE,EAAE3D,MAAM,EACrDk/E,mBAAoBlvE,GAAQ3P,KAAI,SAACsD,GAAM,OAAKA,EAAE0D,KAAK,IACnD83E,mBAAoB,CAAC,GAAI,GAAI,GAAI,GAAI,KACrCC,SAAUnoF,EAAMmoF,SAChBvmC,cAAe,SAACl1C,QACc5L,IAAxBd,EAAMk/E,eACRl/E,EAAMk/E,cAAcxyE,EAAElE,QAExBgzE,EAAc9uE,EAChB,EACA07E,QAASvM,EACTwM,cAAc,MACdC,kBAAkB,uGAClBC,0BAA0B,uDAC1BxW,iBAAiB,SACjB1+D,KAAK,QAAO5S,SAAA,CAEX0gF,GAAe34E,OAAS,EAjFnC,WACE,GAAIxI,EAAMi9E,UACR,YAAyBn8E,IAArBd,EAAMwoF,WAENjoF,cAACs4B,KAAM,CACLh1B,KAAM7D,EAAMwoF,WACZC,YAAY,EACZrnF,MAAO,CACL8U,MAAO,OACP4tB,QAAS,kBACT0+C,SAAU,EACVC,UAAW,QAEbiG,QAAM,EACNC,YAAY,UAKdpoF,cAACs4B,KAAM,CACLh1B,KAAMo1C,GACNwvC,YAAY,EACZrnF,MAAO,CACL8U,MAAO,OACP4tB,QAAS,kBACT0+C,SAAU,EACVC,UAAW,QAEbiG,QAAM,EACNC,YAAY,SAKtB,CA+CuCC,GAAuB,KACnDzH,MAEF1E,IAA8C,IAAvB,OAALz8E,QAAK,IAALA,OAAK,EAALA,EAAO8+E,oBACxBv+E,cAACg5E,GAAU,CACTc,WAAYr6E,EAAM2iC,UAClBkmD,gBAAiBxM,GACjBtC,mBAAoB0C,GACpBtC,qBAAsBn6E,EAAMwkF,qBAC5BvK,sBAAuByC,GACvB/C,aAAcwC,GACd7B,YAAavhE,GACb+vE,gBAAiB7M,GACjBrC,aAAcuB,EACdvK,YAAaA,GACbiJ,gBAAiBuB,EACjB2N,qBAAsB3E,GACtB4E,mBAAoB3E,GACpB4E,wBAAyB1M,GACzBW,kBAAmBA,GACnBvU,aAAcsV,GACd7D,eAAgBA,GAChBp1D,MAAOA,KAGL,OAALhlB,QAAK,IAALA,OAAK,EAALA,EAAO8+E,oBACNv+E,cAACg5E,GAAU,CACTc,WAAYr6E,EAAM2iC,UAClBw3C,qBAA2B,OAALn6E,QAAK,IAALA,OAAK,EAALA,EAAOwkF,qBAC7BtK,kBAAwB,OAALl6E,QAAK,IAALA,OAAK,EAALA,EAAO8+E,kBAC1B+J,gBAAiBxM,GACjB/B,YAAavhE,GACbghE,mBAAoB0C,GACpBxC,sBAAuByC,GACvBoM,gBAAiB7M,GACjBtC,aAAcwC,GACdvC,aAAcuB,EACdvK,YAAaA,GACbiJ,gBAAiBuB,EACjB2N,qBAAsB3E,GACtB4E,mBAAoB3E,GACpB4E,wBAAyB1M,GACzBW,kBAAmBA,GACnBvU,aAAcsV,GACd7D,eAAgBA,GAChBp1D,MAAOA,SAOrB,ECj7CakkE,I,OAAkB,eAAArkF,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC9BK,MAAM,sCAAuC,CACjEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAd8BL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,MAelBwkF,GAA8B,eAAAjkF,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAG7B,OAFnCsC,QAAQe,IAAI,WAAYN,GAClBpD,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMoC,EAAA/B,KAAA,EACbK,MAAM,8CAA+C,CACzEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAYNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAjB0CH,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KAkB9BykF,GAA2B,eAAA7jF,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EAAOY,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAG1B,OAFnCsC,QAAQe,IAAI,WAAYN,GAClBpD,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMyC,EAAApC,KAAA,EACbK,MAAM,8CAA+C,CACzEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAYNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,gBAjBuCH,GAAA,OAAAE,EAAAb,MAAA,KAAAC,UAAA,KAqC3B0kF,GAAyB,eAAAnjF,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,EAAOC,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAGzB,OAF5BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAC7B2C,QAAQe,IAAI,WAAYN,GAAUC,EAAAhD,KAAA,EACZK,MAAM,6CAA8C,CACxEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOoD,EAAA/B,KAAA+B,EAAA9B,OAAA,SAYNtB,GAAO,wBAAAoD,EAAA7B,OAAA,GAAA2B,EAAA,KACf,gBAjBqC2F,GAAA,OAAA5F,EAAAxB,MAAA,KAAAC,UAAA,KAkBzB2kF,GAA6B,eAAAh+D,EAAA3oB,YAAAC,IAAAC,MAAG,SAAA+6B,EAAOx3B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAG5B,OAFnCsC,QAAQe,IAAI,WAAYN,GAClBpD,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMi7B,EAAA56B,KAAA,EACbK,MACpB,iDACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAdR,OAAPpB,EAAOg7B,EAAA35B,KAAA25B,EAAA15B,OAAA,SAeNtB,GAAO,wBAAAg7B,EAAAz5B,OAAA,GAAAo5B,EAAA,KACf,gBApByC3zB,GAAA,OAAAqhB,EAAA5mB,MAAA,KAAAC,UAAA,KAqB7B4kF,GAAwB,eAAA5rD,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAu7B,EAAOh4B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAGvB,OAFnCsC,QAAQe,IAAI,WAAYN,GAClBpD,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM+6B,EAAA16B,KAAA,EACbK,MAAM,4CAA6C,CACvEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO86B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAYNtB,GAAO,wBAAA86B,EAAAv5B,OAAA,GAAA45B,EAAA,KACf,gBAjBoCjO,GAAA,OAAAwN,EAAAj5B,MAAA,KAAAC,UAAA,KAkBxB6kF,GAAe,eAAArrD,EAAAx7B,YAAAC,IAAAC,MAAG,SAAA67B,EAAOt4B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAEd,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMq7B,EAAAh7B,KAAA,EACbK,MAAM,2BAA4B,CACtDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACN,IACC,KAAD,EAbS,OAAPpB,EAAOo7B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAcNtB,GAAO,wBAAAo7B,EAAA75B,OAAA,GAAAk6B,EAAA,KACf,gBAlB2BtC,GAAA,OAAA+B,EAAAz5B,MAAA,KAAAC,UAAA,KAoBf8kF,GAAW,eAAAhrD,EAAA97B,YAAAC,IAAAC,MAAG,SAAAo8B,IAAA,IAAAh8B,EAAA,OAAAL,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,cAAAw7B,EAAAx7B,KAAA,EACHK,MAAM,2BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,aAAcrC,EAC5B,IAAG,KAAD,EAPS,OAAPpB,EAAO47B,EAAAv6B,KAAAu6B,EAAAt6B,OAAA,SAQNtB,GAAO,wBAAA47B,EAAAr6B,OAAA,GAAAy6B,EAAA,KACf,kBAVuB,OAAAR,EAAA/5B,MAAA,KAAAC,UAAA,KAYX+kF,GAAsB,eAAA1qD,EAAAr8B,YAAAC,IAAAC,MAAG,SAAA2gC,IAAA,IAAAvgC,EAAA,OAAAL,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,cAAAu7B,EAAAv7B,KAAA,EACdK,MAAM,2CACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,EAAKsU,QAAO,SAAC3P,GAClB,OAAyB,IAAlBA,EAAK6P,QACd,GACF,IACCvU,OAAM,SAACC,GAAS,IAAG,KAAD,EAPR,OAAPpB,EAAO27B,EAAAt6B,KAAAs6B,EAAAr6B,OAAA,SAQNtB,GAAO,wBAAA27B,EAAAp6B,OAAA,GAAAg/B,EAAA,KACf,kBAVkC,OAAAxE,EAAAt6B,MAAA,KAAAC,UAAA,KAYtBglF,GAAkB,eAAAt6C,EAAA1sC,YAAAC,IAAAC,MAAG,SAAAqxB,IAAA,IAAAjxB,EAAA,OAAAL,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,cAAAk8B,EAAAl8B,KAAA,EACVK,MAAM,6CACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOs8B,EAAAj7B,KAAAi7B,EAAAh7B,OAAA,SAMNtB,GAAO,wBAAAs8B,EAAA/6B,OAAA,GAAA0vB,EAAA,KACf,kBAR8B,OAAAmb,EAAA3qC,MAAA,KAAAC,UAAA,KA4BlBilF,GAAsB,eAAAt4C,EAAA3uC,YAAAC,IAAAC,MAAG,SAAAm/B,EAAO57B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,OAErB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMuxB,EAAAlxB,KAAA,EACbK,MAAM,0CAA2C,CACrEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GACL,OAAOA,EAASC,MAClB,IACCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACwB,GACN,OAAOA,CACT,IAAG,KAAD,EAfS,OAAP3C,EAAOsxB,EAAAjwB,KAAAiwB,EAAAhwB,OAAA,SAgBNtB,GAAO,wBAAAsxB,EAAA/vB,OAAA,GAAAw9B,EAAA,KACf,gBApBkC1F,GAAA,OAAAgV,EAAA5sC,MAAA,KAAAC,UAAA,KAsBtBklF,GAAW,eAAAtmD,EAAA5gC,YAAAC,IAAAC,MAAG,SAAAunD,EAAOhkD,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,OAEV,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMo/B,EAAA/+B,KAAA,EACbK,MAAM,2BAA4B,CACtDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOm/B,EAAA99B,KAAA89B,EAAA79B,OAAA,SAYNtB,GAAO,wBAAAm/B,EAAA59B,OAAA,GAAA4lD,EAAA,KACf,gBAhBuB7tB,GAAA,OAAAgH,EAAA7+B,MAAA,KAAAC,UAAA,KAiBXmlF,GAAqB,eAAA5nD,EAAAv/B,YAAAC,IAAAC,MAAG,SAAAynD,EAAOlkD,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,OAEpB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMi/B,EAAA5+B,KAAA,EACbK,MAAM,0CAA2C,CACrEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOg/B,EAAA39B,KAAA29B,EAAA19B,OAAA,SAYNtB,GAAO,wBAAAg/B,EAAAz9B,OAAA,GAAA8lD,EAAA,KACf,gBAhBiC5sB,GAAA,OAAAwE,EAAAx9B,MAAA,KAAAC,UAAA,KAkBrBolF,GAAc,eAAAC,EAAArnF,YAAAC,IAAAC,MAAG,SAAAonF,EAAO7jF,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAskC,GAAA,cAAAA,EAAApkC,KAAAokC,EAAAnkC,MAAA,OAEb,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMwkC,EAAAnkC,KAAA,EACbK,MAAM,kCAAmC,CAC7DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOukC,EAAAljC,KAAAkjC,EAAAjjC,OAAA,SAYNtB,GAAO,wBAAAukC,EAAAhjC,OAAA,GAAAylF,EAAA,KACf,gBAhB0B/rD,GAAA,OAAA8rD,EAAAtlF,MAAA,KAAAC,UAAA,KAkBdulF,GAAS,eAAAC,EAAAxnF,YAAAC,IAAAC,MAAG,SAAAunF,EAAO/iF,GAAgB,IAAA20B,EAAA,OAAAp5B,IAAAM,MAAA,SAAAmnF,GAAA,cAAAA,EAAAjnF,KAAAinF,EAAAhnF,MAAA,cAAAgnF,EAAAhnF,KAAA,EACtBK,MAAM,0CAA2C,CACvEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEwG,WAAYlD,MAElCrD,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAGL,OAAOA,CACT,IAAG,KAAD,EAZW,OAAT63B,EAASquD,EAAA/lF,KAAA+lF,EAAA9lF,OAAA,SAaRy3B,GAAS,wBAAAquD,EAAA7lF,OAAA,GAAA4lF,EAAA,KACjB,gBAfqB7rD,GAAA,OAAA4rD,EAAAzlF,MAAA,KAAAC,UAAA,KAiBT2lF,GAAmB,eAAAC,EAAA5nF,YAAAC,IAAAC,MAAG,SAAA2nF,EAAOpkF,GAAa,IAAAqkF,EAAA,OAAA7nF,IAAAM,MAAA,SAAAwnF,GAAA,cAAAA,EAAAtnF,KAAAsnF,EAAArnF,MAAA,cAAAqnF,EAAArnF,KAAA,EAC9BK,MAAM,uCAAwC,CACnEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAGL,OAAOA,CACT,IAAG,KAAD,EAZU,OAARsmF,EAAQC,EAAApmF,KAAAomF,EAAAnmF,OAAA,SAaPkmF,GAAQ,wBAAAC,EAAAlmF,OAAA,GAAAgmF,EAAA,KAChB,gBAf+BhsD,GAAA,OAAA+rD,EAAA7lF,MAAA,KAAAC,UAAA,KClRnBgmF,GAAuB,SAAC3qF,GACnC,IAAA+X,EAAkDC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA5D6yE,EAAiB3yE,EAAA,GAAE4yE,EAAoB5yE,EAAA,GAC9CgJ,EAA4CjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAtD6pE,EAAc5pE,EAAA,GAAE6pE,EAAiB7pE,EAAA,GACxCG,EAA4BrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA7C2pE,EAAM1pE,EAAA,GAAE2pE,EAAS3pE,EAAA,GACxBgB,EACEtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GADnB4oE,EAAmB3oE,EAAA,GAAE4oE,EAAsB5oE,EAAA,GAElDC,EAAgDxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GACxEyG,GADuBxG,EAAA,GAAqBA,EAAA,GACNzK,oBAAkB,IAAMkR,EAAArS,YAAAoS,EAAA,GAAvDmiE,EAAWliE,EAAA,GAAEmiE,EAAcniE,EAAA,GAClCrD,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACP22C,EAAUC,IAAVD,MAEFvyC,GADU,IAAIyoC,IACHxC,eACXwM,EAAUja,cACRuN,EAAMC,YAAe,CAAC,gBAAtBD,EACRjjD,qBAAU,WAGR,OAIA,WAE8Bu+E,EAAA5mF,MAAC,KAADC,UAAA,CAR9B4mF,GACAjoF,OAAOkgE,iBAAiB,SAAUC,GAC3B,kBAAMngE,OAAOkoF,oBAAoB,SAAU/nB,EAAc,CAClE,GAAG,IACH,IAAMA,EAAe,SAAC/2D,GACpBu+E,GAAU,EACZ,EAEgC,SAAAK,IAmD/B,OAnD+BA,EAAA3oF,YAAAC,IAAAC,MAAhC,SAAAC,IAAA,IAAA05B,EAAAp2B,EAAAqlF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAvrD,EAAAC,EAAAE,EAAAjyB,EAAAzF,EAAAmU,EAAAnV,EAAA+jF,EAAA19E,EAAA29E,EAAAC,EAAA,OAAAppF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAaK,OAbLF,EAAAC,KAAA,EAEUo5B,EAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACxDg5B,EAAQ7Q,aAAavgB,WACdoxB,EAAQ7Q,aAAamrC,aACpC1wD,EAAW,CACf4yD,SAAUjzC,EAASizC,SACnBlC,aAAc7nD,OAAO8W,EAAS+wC,cAC9B1rD,WAAY6D,OAAO8W,EAAS3a,YAC5BI,MAAOua,EAASva,MAChBygF,WAAW,EACXC,YAAY,EACZC,YAAY,GACbhpF,EAAAE,KAAA,EAEyB6lF,GAAmB9iF,GAAU,KAAD,EAQ/B,OARnBqlF,EAAatoF,EAAAmB,KACbonF,EAA0B,CAAC,CAAErkE,OAAQ,WAAYljB,KAAM,KACvDwnF,EAAkBroF,OAAOC,aAAaC,QAAQ,aAAe,KACjEmoF,EAAa7nF,KAAKwM,MAAMq7E,GACpBC,EAA6B,OAAbH,QAAa,IAAbA,OAAa,EAAbA,EAAelkC,QAAO,SAAU6D,EAAQhP,GAG1D,OAFAgP,EAAEhP,EAAEgwC,mBAAqBhhC,EAAEhP,EAAEgwC,oBAAsB,GACnDhhC,EAAEhP,EAAEgwC,mBAAmB/iF,KAAK+yC,GACrBgP,CACT,GAAG98C,OAAOkiD,OAAO,OAAMrtD,EAAAE,KAAA,GACHikE,KAAoB,KAAD,GAMvC,IANWnkE,EAAAmB,MAELunF,EAAkBv9E,OAAOkyB,QAAQorD,IACvB96B,MAAK,SAAC1U,EAAG2U,GAAC,OAAK3U,EAAE,GAAGiwC,cAAct7B,EAAE,GAAG,IACvD66B,EAAgBt9E,OAAOg+E,YAAYT,GAEnCvrD,EAAA,EAAAC,EAA2BjyB,OAAOkyB,QAAQorD,GAActrD,EAAAC,EAAA/3B,OAAA83B,IAAE,CAExD,IAFwDG,EAAA5pB,YAAA0pB,EAAAD,GAAA,GAA9C9xB,EAAGiyB,EAAA,GAAE13B,EAAK03B,EAAA,GAChBvjB,EAAcnU,EACThB,EAAI,EAAGA,EAAImV,EAAO1U,OAAQT,IACjC,IAAc,QAAV+jF,EAAAH,SAAU,IAAAG,OAAA,EAAVA,EAAYtjF,QAAS,EACvB,IAAS4F,EAAI,EAAGA,EAAIu9E,EAAWnjF,OAAQ4F,KAEtB,QAAb29E,EAAAJ,EAAWv9E,UAAE,IAAA29E,OAAA,EAAbA,EAAeQ,yBACN,QAD0BP,EACnC9uE,EAAOnV,UAAE,IAAAikF,OAAA,EAATA,EAAWO,wBAEXrvE,EAAOnV,GAAa,SAAI4jF,EAAWv9E,GAAGo+E,SACtCd,EAAmB,GAAGvnF,KAAKkF,KAAK6T,EAAOnV,KAM/C2jF,EAAmBriF,KAAK,CAAEge,OAAQ7Y,EAAKrK,KAAM+Y,GAC/C,CACA2tE,EAAqBa,GACrBX,EAAkBW,GAAoBvoF,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,kCAAAA,EAAAqB,OAAA,GAAA1B,EAAA,oBAEzC4B,MAAA,KAAAC,UAAA,CACD,IAAM8nF,EAAc,SAACC,EAAeC,EAAkBnzE,GACpD2xE,GAAuB,GAEvB,IADA,IAAIO,EAAqBZ,EAChB/iF,EAAI,EAAGA,EAAI2jF,EAAmBljF,OAAQT,IAC7C,GAAI2kF,IAAahB,EAAmB3jF,GAAGsf,OACrC,IAAK,IAAIlf,EAAI,EAAGA,EAAIujF,EAAmB3jF,GAAG5D,KAAKqE,OAAQL,IAEnDujF,EAAmB3jF,GAAG5D,KAAKgE,GAAGokF,uBAAyBI,IAEvDjB,EAAmB3jF,GAAG5D,KAAKgE,GAAGqkF,UAC3Bd,EAAmB3jF,GAAG5D,KAAKgE,GAAGqkF,UAKzC,IAAIb,EAAkBroF,OAAOC,aAAaC,QAAQ,aAAe,KACjEmoF,EAAa7nF,KAAKwM,MAAMq7E,GAExB,IADA,IAAIiB,GAA4B,EACvB7kF,EAAI,EAAGA,EAAI2jF,EAAmBljF,OAAQT,IAC7C,GACE2jF,EAAmB3jF,GAAGsf,SAAWqlE,GACA,aAAjChB,EAAmB3jF,GAAGsf,OACtB,CACA,IAAK,IAAIlf,EAAI,EAAGA,EAAIwjF,EAAWnjF,OAAQL,IAAK,CAC1C,IAAM0kF,EAAWlB,EAAWxjF,GAE1BujF,EAAmB3jF,GAAG5D,KAAKqV,GAAKjP,aAAesiF,EAAStiF,aAExDohF,EAAW7yC,OAAO3wC,EAAG,GACrBykF,GAAmB,EAEvB,CACKA,GACHjB,EAAWtiF,KAAKqiF,EAAmB3jF,GAAG5D,KAAKqV,GAE/C,CAGF,IADA,IAAIszE,GAA4B,EACvB/kF,EAAI,EAAGA,EAAI2jF,EAAmBljF,OAAQT,IAAK,CAE3B,aADP2jF,EAAmB3jF,GACvBsf,SACVylE,GAAmB,EAEvB,CACA,GAAIA,EAAkB,CAAC,IAADC,GACpBA,EAAArB,EAAmB,GAAGvnF,MAAK20C,OAAMp0C,MAAAqoF,EAAA,CAC/B,EACArB,EAAmB,GAAGvnF,KAAKqE,QAAMhH,OAAAyH,YAC9B0iF,IAEP,KAAO,CACL,IAAIqB,EAA2B,CAAC,CAAE3lE,OAAQ,WAAYljB,KAAM,KAC5D6oF,EAAoB,GAAG7oF,KAAOwnF,EAC9BhmF,QAAQe,IAAIilF,EAAY,8BACxBhmF,QAAQe,IAAIsmF,EAAqB,uBACjCtB,EAAmB5yC,OAAO,EAAG,EAAGk0C,EAAoB,GACtD,CAEA1pF,OAAOC,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAU4nF,IACvDZ,EAAiB9hF,YAAKyiF,GACxB,EACMuB,EAAe,SACnBC,EACAC,EACA3zE,GAEA2xE,GAAuB,GACvB,IAAIO,EAAqBd,EACrBe,EAAkBroF,OAAOC,aAAaC,QAAQ,aAAe,KACjEmoF,EAAa7nF,KAAKwM,MAAMq7E,GACxBD,EAAmB,GAAGvnF,KAAOwnF,EAC7B,IAAK,IAAI5jF,EAAI,EAAGA,EAAI2jF,EAAmB,GAAGvnF,KAAKqE,OAAQT,IAAK,CAC1D2jF,EAAmB,GAAGvnF,KAAK20C,OAAOt/B,EAAK,GACvC,KACF,CACA,IAAK,IAAIzR,EAAI,EAAGA,EAAI2jF,EAAmBljF,OAAQT,IAC7C,GAAImlF,IAAuBxB,EAAmB3jF,GAAGsf,OAC/C,IAAK,IAAIlf,EAAI,EAAGA,EAAIujF,EAAmB3jF,GAAG5D,KAAKqE,OAAQL,IAEnDujF,EAAmB3jF,GAAG5D,KAAKgE,GAAGokF,uBAC9BY,IAEAzB,EAAmB3jF,GAAG5D,KAAKgE,GAAGqkF,UAC3Bd,EAAmB3jF,GAAG5D,KAAKgE,GAAGqkF,UAKzClpF,OAAOC,aAAaw8D,QAClB,WACAj8D,KAAKC,UAAU2nF,EAAmB,GAAGvnF,OAEvC4mF,EAAiB9hF,YAAKyiF,GACxB,EAqMM0B,EAAiB,SAACtU,GAEtB,GADAqS,GAAuB,GACnBP,GACEA,EAAkBpiF,OAAS,EAAG,CAChC,IAAIkjF,EAAqBd,EAGzB,GAFAjlF,QAAQe,IAAIkkF,EAAmB,qBAE1B9R,EAOHuS,GAAe,OAPN,CACTA,GAAe,GACf,IAAIM,EAAkBroF,OAAOC,aAAaC,QAAQ,aAAe,KACjEmoF,EAAa7nF,KAAKwM,MAAMq7E,GACxBD,EAAmB,GAAGvnF,KAAOwnF,EAC7BZ,EAAiB9hF,YAAKyiF,GACxB,CAyBA,IAtBA,IAAM2B,EAAkB3B,EAAmBjzE,QACzC,SAAC2kB,EAAY5jB,GACX,GAAqB,aAAjB4jB,EAAM/V,OACR,OAAO,EAET,IAAK,IAAItf,EAAI,EAAGA,EAAIq1B,EAAMj5B,KAAKqE,OAAQT,IAAK,CAAC,IAADulF,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,IAGS,KAFM,QAAbJ,EAAAlwD,EAAMj5B,KAAK4D,UAAE,IAAAulF,GAAc,QAAdC,EAAbD,EAAen/D,oBAAY,IAAAo/D,OAAd,EAAbA,EAA6BriF,cAAcnB,QACzC+uE,EAAK5tE,kBAIA,KAFM,QAAbsiF,EAAApwD,EAAMj5B,KAAK4D,UAAE,IAAAylF,GAAsB,QAAtBC,EAAbD,EAAejB,4BAAoB,IAAAkB,OAAtB,EAAbA,EAAqCviF,cAAcnB,QACjD+uE,EAAK5tE,kBAEsD,KAAjD,QAAZwiF,EAAAtwD,EAAM/V,cAAM,IAAAqmE,OAAA,EAAZA,EAAcxiF,cAAcnB,QAAQ+uE,EAAK5tE,gBAEzC,OAAO,CAEX,CACF,IAEIyiF,EAAoB,GAEjB5lF,EAAI,EAAGA,EAAIslF,EAAgB7kF,OAAQT,IAAK,CAC/C,IAAM6lF,EAAgBP,EAAgBtlF,GAChC8lF,EAAWD,EAAczpF,KAAKsU,QAAO,SAAC2kB,EAAY5jB,GAAc,IAADs0E,EAAAC,EAAAC,EACnE,IAEK,KADE,OAAL5wD,QAAK,IAALA,GAAmB,QAAd0wD,EAAL1wD,EAAOjP,oBAAY,IAAA2/D,OAAd,EAALA,EAAqB5iF,cAAcnB,QAAQ+uE,EAAK5tE,kBAIzC,KAFF,OAALkyB,QAAK,IAALA,GAA2B,QAAtB2wD,EAAL3wD,EAAOmvD,4BAAoB,IAAAwB,OAAtB,EAALA,EAA6B7iF,cAAcnB,QACzC+uE,EAAK5tE,kBAIA,KAFF,OAALkyB,QAAK,IAALA,GAAwB,QAAnB4wD,EAAL5wD,EAAOgvD,yBAAiB,IAAA4B,OAAnB,EAALA,EAA0B9iF,cAAcnB,QACtC+uE,EAAK5tE,gBAGP,OAAO,CAEX,IACI2iF,EAASrlF,OAAS,GACpBmlF,EAAatkF,KAAK,CAChBge,OAAQumE,EAAcvmE,OACtBljB,KAAM0pF,GAGZ,CACA9C,EAAkB,GAADvpF,OAAKmsF,GACxB,CAEJ,EAIA,OACEhtF,eAAC6pB,IAAO,CACNnV,UAAU,aACVi9C,QAAQ,QACR7nC,QA5Qe,WACjB,IAIE,IAHA,IAAIwjE,EAAsB,GACtBC,EAAajlF,YAAO+3B,MAAoB,OAAditD,QAAc,IAAdA,OAAc,EAAdA,EAAgBzlF,QAAQ+F,QAClD8+E,EAAkBvC,EACb/iF,EAAI,EAAGA,EAAIslF,EAAgB7kF,OAAQT,IAAK,CAC/C,GAAkC,aAA9BslF,EAAgBtlF,GAAGsf,OAAuB,CAAC,IAAD8mE,EACxCC,EACF7tF,cAACi8D,EAAK,CAEJn1C,OACE9mB,cAAA,KAAGgB,UAAU,eAAcd,SAAE4sF,EAAgBtlF,GAAGsf,SAElD9lB,UAAU,wBAAuBd,SAET,QAFS0tF,EAEhCd,EAAgBtlF,GAAG5D,YAAI,IAAAgqF,OAAA,EAAvBA,EAAyB/kF,KAAI,SAACg0B,EAAY5jB,GACzC,OACE7Y,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,KACEgB,UAAU,gBACV4U,QAAS,WAEiB,aAAtB8T,EAASknC,eAC0BrwD,IAAnCd,EAAMquF,2BAEN3xB,EAAQrzD,KAAK,8BAAD7H,OACoB47B,EAAM7yB,aAEtCvK,EAAMquF,yBAAyBjxD,IAEP,aAAtBnT,EAASknC,UACXuL,EAAQrzD,KAAK,8BAAD7H,OACoB47B,EAAM7yB,YACpC,CAAE+jF,aAAclxD,IAGpB6tD,GAAU,EACZ,EAAExqF,SAED28B,EAAMmvD,uBAERnvD,EAAMovD,SACLjsF,cAACguF,IAAU,CACTntF,MAAO,CAAE6L,QAAS,WAClBkJ,QAAS,kBACPs2E,EACErvD,EAAMgvD,kBACNhvD,EAAMmvD,qBACN/yE,EACD,IAILjZ,cAACiuF,IAAa,CACZr4E,QAAS,kBACPs2E,EACErvD,EAAMgvD,kBACNhvD,EAAMmvD,qBACN/yE,EACD,MA1CqCA,EAgDlD,KAxDKzR,GA2DTkmF,EAAe5kF,KAAK+kF,EACtB,KAAO,CAAC,IAADK,EACDL,EACF7tF,cAACi8D,EAAK,CAEJn1C,OACE9mB,cAAA,KAAGgB,UAAU,eAAcd,SAAE4sF,EAAgBtlF,GAAGsf,SAElD9lB,UAAU,uBAAsBd,SAER,QAFQguF,EAE/BpB,EAAgBtlF,GAAG5D,YAAI,IAAAsqF,OAAA,EAAvBA,EAAyBrlF,KAAI,SAACg0B,EAAY5jB,GACzC,OACE7Y,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,KACEgB,UAAU,gBACV4U,QAAS,WAEiB,aAAtB8T,EAASknC,eAC0BrwD,IAAnCd,EAAMquF,2BAEN3xB,EAAQrzD,KAAK,8BAAD7H,OACoB47B,EAAM7yB,aAEtCvK,EAAMquF,yBAAyBjxD,IAEP,aAAtBnT,EAASknC,UACXuL,EAAQrzD,KAAK,8BAAD7H,OACoB47B,EAAM7yB,YACpC,CAAE+jF,aAAclxD,IAGpB6tD,GAAU,EACZ,EAAExqF,SAED28B,EAAMmvD,uBAGThsF,cAACguF,IAAU,CACTntF,MAAO,CAAE6L,QAAS,WAClBkJ,QAAS,kBACP82E,EACE7vD,EAAMgvD,kBACNhvD,EAAMmvD,qBACN/yE,EACD,MAKX,KA7CKzR,GAgDTkmF,EAAe5kF,KAAK+kF,EACtB,CAEIlD,IACFgD,EAAgB,CAAC,GAErB,CAEA,OACEvtF,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,SACEgB,UAAU,eACVS,KAAK,OACL8P,KAAK,MACLwB,YAAY,yKACZlS,MAAO,CAAEstF,YAAa,QACtBx7E,GAAG,MACHF,SAAU,SAACtG,GAAC,OAAK0gF,EAAe1gF,EAAEuG,OAAOlK,MAAM,IAEjDxI,cAACouF,IAAQ,OAEVvD,GACC7qF,cAACk8D,IAAQ,CACPl7D,UAAU,0BACV67D,iBAAgBn0D,YAAM+3B,MAAoB,OAAditD,QAAc,IAAdA,OAAc,EAAdA,EAAgBzlF,QAAQ+F,QACpDqgF,WAAY,SAAAlsF,GAAW,OAAAA,EAAR8oD,SAEXjrD,cAACsuF,IAAkB,CAACx7E,KAAM,KAE1B9S,cAACuuF,IAAgB,CAACz7E,KAAM,IACzB,EAEH07E,mBAAoB,QAAQtuF,SAE3BwtF,KAGH7C,IAAgBF,GAChB3qF,cAACk8D,IAAQ,CACPW,iBAAkB8wB,EAClB3sF,UAAU,0BACVqtF,WAAY,SAAA/pF,GAAW,OAAAA,EAAR2mD,SAEXjrD,cAACsuF,IAAkB,CAACx7E,KAAM,KAE1B9S,cAACuuF,IAAgB,CAACz7E,KAAM,IACzB,EAEH07E,mBAAoB,QAAQtuF,SAE3BwtF,KAGH7C,GAAeF,GACf3qF,cAACk8D,IAAQ,CACPW,iBAAkB8wB,EAClB3sF,UAAU,0BACVqtF,WAAY,SAAA1pF,GAAW,OAAAA,EAARsmD,SAEXjrD,cAACsuF,IAAkB,CAACx7E,KAAM,KAE1B9S,cAACuuF,IAAgB,CAACz7E,KAAM,IACzB,EAEH07E,mBAAoB,QAAQtuF,SAE3BwtF,MAKX,CAAE,MAAOroF,GACPD,QAAQe,IAAI,oBAAqBd,EACnC,CACF,EA0EI6hB,QAASujE,EACT/kB,kBAAmB,CAAEruD,aAAc,OACnCouD,gBAVoB,SAACv+C,GACvBwjE,EAAUxjE,EACZ,EAQqChnB,SAAA,CAEV,aAAtBwpB,EAASknC,UACRxwD,eAAA,UACEY,UAAU,wEACV2R,GAAG,aAAYzS,SAAA,CAEfF,cAACyuF,IAAY,IACbzuF,cAAA,KAAAE,SAAIuvD,EAAE,oBAIa,aAAtB/lC,EAASknC,UACR5wD,cAACwnB,IAAM,CACL5Q,KAAK,aACL5V,UAAU,kHAGS,aAAtB0oB,EAASknC,UACRxwD,eAAA,UAAQY,UAAU,wEAAuEd,SAAA,CACvFF,cAACyuF,IAAY,IACbzuF,cAAA,KAAAE,SAAIuvD,EAAE,oBAIa,aAAtB/lC,EAASknC,UACRxwD,eAAA,UACEY,UAAU,gFACVH,MAAO,CAAE8U,MAAO,QAASzV,SAAA,CAEzBF,cAACyuF,IAAY,IACbzuF,cAAA,KAAAE,SAAIuvD,EAAE,sBAKhB,ECrfe,OAA0B,4CCe5Bi/B,GAAgB,SAACjvF,GAC5B,IAAMkvF,EAAaC,cAAbD,SACAE,EAAeD,cAAfC,WAEA/+D,EAAU,oCAChBtY,EAAoCC,mBAAiB,GAAEC,EAAApB,YAAAkB,EAAA,GAAhDs3E,EAAUp3E,EAAA,GAAEinE,EAAajnE,EAAA,GAC1Bq3E,EAAmB,CACvB3rF,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,EAClBh0C,UAAW,EACXC,SAAU,OAGdl6B,EAAkCjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAlDynD,EAASxnD,EAAA,GAAEynD,EAAYznD,EAAA,GAC9BG,EAAoCrJ,mBAAcw3E,IAAYluE,EAAAzK,YAAAwK,EAAA,GAAvDouE,EAAUnuE,EAAA,GACjBgB,GADgChB,EAAA,GACRtJ,sBAAiBuK,EAAA1L,YAAAyL,EAAA,GAAlCne,EAAIoe,EAAA,GAAEo0D,EAAOp0D,EAAA,GAYI,SAAAmtE,IAavB,OAbuBA,EAAA/sF,YAAAC,IAAAC,MAAxB,SAAAC,IAAA,IAAAs0E,EAAA,OAAAx0E,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEuB,OAFvBF,EAAAC,KAAA,EAEIulE,GAAa,GAAMxlE,EAAAE,KAAA,EAEe+sB,aAChCC,EACAi/D,GACA,KAAD,EAHKlY,EAAmBj0E,EAAAmB,KAKzBqyE,EAAQS,GAAcj0E,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEtBwC,QAAQe,IAAI,eAAcvD,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAEtC4B,MAAA,KAAAC,UAAA,CAED,OAzBAoI,qBAAU,YAQC,WAEa2iF,EAAAhrF,MAAC,KAADC,UAAA,CATtB+5E,EACF,GAAG,IAEH3xE,qBAAU,WACJ5I,GACFwkE,GAAa,EAEjB,GAAG,CAACxkE,IAkBFxD,eAAA,OAAAF,SAAA,CACGioE,EACCnoE,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAKwpC,EAAYvpC,IAAI,iBAG5B3lD,cAAA,OAAKgB,UAAU,iBAAiBH,MAAO,CAAEuuF,UAAW,SAAUlvF,SAC5DE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,MAEvBpqF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,aAAYd,SACtB2uF,EAAW5sF,QAAQ,KAAM,KAAO,IAAM6sF,EAAa,WAI1D9uF,cAACg6E,GAAY,CACXp2E,KAAMA,EACNw+B,UAhEC,gBAiED0kD,WAAW,EACXpK,WAAW,EACXqC,kBAAkB,EAClBJ,cAAeA,SAMvB3+E,cAAA,OACEa,MAAO,CACL2pB,gBAAiB,qBACjBpH,aAAc,OACd+qE,YAAa,OACbpkB,cAAe,OACfslB,KAAM,MACN15E,MAAO,QACPzV,SAEFF,cAACquE,GAAgB,QAIzB,E,gCCxFe,SAASihB,GAAuB7vF,GAC7C,OACEO,cAAAC,WAAA,CAAAC,SACEF,cAACigF,KAAY,CACXp/E,MAAOpB,EAAMs3E,WACbvuE,MAAO/I,EAAM8oD,WACb23B,YAAazgF,EAAM8vF,iBACnBpP,eAAgB1gF,EAAM+vF,oBACtBh9E,OAAQ,SAACrG,GACH1M,EAAM+S,SACR/S,EAAMgwF,WAAWtjF,EAAEuG,OAAOlK,MAAO/I,EAAM6oD,UACvCn8C,EAAEuG,OAAOlK,MAAQ,GAErB,EACAqH,MAAOpQ,EAAMwpD,WACbjoD,WACsB,IAApBvB,EAAMiwF,UACF,gDACA,sCAENC,UAAQ,EACRtY,gBACsB,IAApB53E,EAAMiwF,UACF,gDACA,sCAENv8E,SAAU1T,EAAM+oD,cAChB51C,SAAUnT,EAAMmwF,cAChBn9E,SAAU,SAACtG,GAAC,OAAK1M,EAAM4oD,cAAcl8C,EAAE3D,MAAO/I,EAAM6oD,SAAUn8C,EAAE,EAChE0jF,YAAa,SAAC1jF,GACZ/G,QAAQe,IAAI,IAAKgG,EACnB,EACAsjF,WAAY,SAACtjF,GACX/G,QAAQe,IAAI,SAAUgG,EAAEmH,MAET,UAAXnH,EAAEmH,YACqB/S,IAArBd,EAAMgwF,YACRhwF,EAAMgwF,WAAWtjF,EAAEuG,OAAOlK,MAAO/I,EAAM6oD,UACzCn8C,EAAEuG,OAAOlK,MAAQ,GAErB,KAIR,C,WCjDasnF,GAAwB,SAACrwF,GACpC,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACmyE,KAAW,CACVvuC,QAASnkC,EAAMswF,aACfx+E,KAAM9R,EAAMuwF,UACZxnF,MAAO/I,EAAM8oD,WACb91C,SAAU,SAACtG,GACT/G,QAAQe,IAAI,YAAagG,GACzB1M,EAAM4oD,cAAcl8C,EAAE3D,MAAO/I,EAAM6oD,SACrC,EACAjoC,QAAS5gB,EAAMwwF,eAEjBjwF,cAAA,SAAOgoB,QAASvoB,EAAMswF,aAAc/uF,UAAU,0BAAyBd,SACpET,EAAMywF,eAIf,E,mBCaMC,GAAwC,CAC5CnB,iBAAkB,EAClBvP,WAAY,GACZz1E,WAAY,GACZomF,kBAAmB,GACnBC,kBAAmB,GACnBC,WAAW,EACXl4E,UAAU,EACVkhD,UAAW,GACXi3B,cAAe,GACfl3B,YAAa,GACbD,WAAY,GACZo3B,eAAgB,GAChBx3B,aAAc,GACdy3B,wBAAyB,GACzBC,QAAS,GACTC,KAAM,GACNC,oBAAoB,EACpBj2C,UAAW,EACXC,SAAU,GACVi2C,WAAW,EACXn2D,OAAQ,GACRo2D,QAAS,GACTC,MAAM,GAGKC,GAAe,SAACvxF,GAC3B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QASI4V,GARekuC,EAAnBthD,UAAajR,OACDuyD,EAAZhvB,aACKgvB,EAAL7uB,MAMethC,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,cACxDuU,EAA0CC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAAtDy5E,EAAav5E,EAAA,GAAEw5E,EAAgBx5E,EAAA,GACtCgJ,EAAsCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAlDywE,EAAWxwE,EAAA,GAAEywE,EAAczwE,EAAA,GAClCG,EAA0CrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAtDuwE,EAAatwE,EAAA,GAAEuwE,EAAgBvwE,EAAA,GACtCgB,EAA0CtK,mBAAgB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAtDwvE,EAAavvE,EAAA,GAAEwvE,EAAgBxvE,EAAA,GAEtCC,EAAoDxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA9DwvE,EAAkBvvE,EAAA,GAAEwvE,EAAqBxvE,EAAA,GAEhDwG,EAAkDjR,mBAAS,IAAGkR,EAAArS,YAAAoS,EAAA,GAAvDipE,EAAiBhpE,EAAA,GAAEipE,EAAoBjpE,EAAA,GAC9CC,EAA4CnR,oBAAS,GAAMoR,EAAAvS,YAAAsS,EAAA,GAApDipE,EAAehpE,EAAA,GAAE83B,EAAgB93B,EAAA,GACxC2I,EAA8C/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GAAtDsgE,EAAergE,EAAA,GAAEsgE,EAAkBtgE,EAAA,GAC1CG,EAA8Cna,mBAAc,IAAGoa,EAAAvb,YAAAsb,EAAA,GAAxDogE,EAAengE,EAAA,GAAEogE,EAAkBpgE,EAAA,GAC1CG,GAAoCva,mBAAgB,IAAGwa,GAAA3b,YAAA0b,GAAA,GAApC4iC,IAAF3iC,GAAA,GAAeA,GAAA,IAChCG,GAAgC3a,mBAAc,IAAG4a,GAAA/b,YAAA8b,GAAA,GAA1CgK,GAAQ/J,GAAA,GAAE6/D,GAAW7/D,GAAA,GAC5BG,GAAgC/a,mBAAc,IAAGgb,GAAAnc,YAAAkc,GAAA,GAA1C2/D,GAAQ1/D,GAAA,GAAE2/D,GAAW3/D,GAAA,GAC5BG,GAAgDnb,oBAAc,GAAMob,GAAAvc,YAAAsc,GAAA,GAA7Dy/D,GAAgBx/D,GAAA,GAAEy/D,GAAmBz/D,GAAA,GAC5CG,GACEvb,oBAAc,GAAMwb,GAAA3c,YAAA0c,GAAA,GADfu/D,GAAqBt/D,GAAA,GAAEu/D,GAAwBv/D,GAAA,GAEtDI,GAAwD5b,oBAAc,GAAM6b,GAAAhd,YAAA+c,GAAA,GAArEo/D,GAAoBn/D,GAAA,GAAEo/D,GAAuBp/D,GAAA,GACpDivC,GAAsC9qD,mBAAc,IAAG+qD,GAAAlsD,YAAAisD,GAAA,GAAhDowB,GAAWnwB,GAAA,GAAEowB,GAAcpwB,GAAA,GAClCG,GAAsClrD,mBAAc,CAAC,GAAEmrD,GAAAtsD,YAAAqsD,GAAA,GAAhDkwB,GAAWjwB,GAAA,GAAEkwB,GAAclwB,GAAA,GAClCE,GAAsDrrD,mBAAc,IAAGsrD,GAAAzsD,YAAAwsD,GAAA,GAAhEiwB,GAAmBhwB,GAAA,GAAEiwB,GAAsBjwB,GAAA,GAClD8Z,GAAsDplE,mBAAc,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAA3CoW,IAAFnW,GAAA,GAAwBA,GAAA,IAClDG,GAA0BxlE,mBAAc,IAAGylE,GAAA5mE,YAAA2mE,GAAA,GAApChlD,GAAKilD,GAAA,GAAEgW,GAAQhW,GAAA,GACtBI,GAAkC7lE,mBAAc,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAA5C6V,GAAS5V,GAAA,GAAE6V,GAAY7V,GAAA,GAC9B8V,GAAwC57E,mBAAc,IAAG67E,GAAAh9E,YAAA+8E,GAAA,GAAlDE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GACpCG,GAA8Ch8E,mBAAc,IAAGi8E,GAAAp9E,YAAAm9E,GAAA,GAAxDE,GAAeD,GAAA,GAAEE,GAAkBF,GAAA,GAC1CG,GAA4Cp8E,mBAAc,IAAGq8E,GAAAx9E,YAAAu9E,GAAA,GAAtDE,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GACxCG,GAAoCx8E,mBAAc,IAAGy8E,GAAA59E,YAAA29E,GAAA,GAA9CE,GAAUD,GAAA,GAAEE,GAAaF,GAAA,GAEhCG,GAAwC58E,oBAAS,GAAK68E,GAAAh+E,YAAA+9E,GAAA,GAA/CE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GAEpCG,GAAwCh9E,mBAAc,CAAEs5E,KAAM,cAAc2D,GAAAp+E,YAAAm+E,GAAA,GAArEE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GAGpCG,GAA4Cp9E,mBAAc,CACxDq9E,sBAAsB,EACtBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,6BAA6B,EAC7BC,mBAAmB,EACnBC,kBAAkB,EAClBC,cAAc,IACdC,GAAA/+E,YAAAu+E,GAAA,GARKS,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GAwFf,SACVn7E,KAAI,OAAAs7E,GAAArxF,MAAC,KAADC,UAAA,UAAAoxF,KA0BlB,OA1BkBA,GAAApzF,YAAAC,IAAAC,MAAnB,SAAAC,IAAA,OAAAF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACEgwF,GAAe3C,IAEfe,EAAiB,IACjBE,EAAe,IACfE,EAAiB,IACjBE,EAAiB,IACjBE,EAAsB,IACtBO,EAAmB,IACnBr9B,GAAc,IACds9B,GAAY,IACZE,GAAY,IACZQ,GAAe,IACfI,GAAuB,IACvBE,GAAS,IACTE,GAAa,IACbI,GAAgB,IAChBI,GAAmB,IACnBI,GAAkB,IAClBuB,GAAkB,CAChBT,sBAAsB,EACtBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,6BAA6B,EAC7BG,cAAc,IACb,yBAAAxyF,EAAAqB,OAAA,GAAA1B,EAAA,MACJ4B,MAAA,KAAAC,UAAA,CACD,SAASiW,GAAWpJ,GAClB,IAAIqJ,EAAUrJ,EAAK5H,MAAM,KACnBkR,EAAK7L,OAAO4L,EAAQ,IA0B1B,OAzBW,IAAPC,EACFD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,IACTD,EAAQ,GAAK,OAERA,EAAQ3Q,KAAK,IACtB,CAEuB,SAAA8rF,KAgDtB,OAhDsBA,GAAArzF,YAAAC,IAAAC,MAAvB,SAAAiC,IAAA,IAAAmxF,EAAAC,EAAAC,EAAAt8D,EAAAu8D,EAAAC,EAAAC,EAAAC,EAAA,OAAA3zF,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAMI,GALFsC,QAAQe,IAAI,kCAAmC1G,EAAMw2F,qBACrDC,IACsC,KAAX,QAAzBR,EAAAj2F,EAAMw2F,2BAAmB,IAAAP,OAAA,EAAzBA,EAA2B3E,MACvB,CAAEA,KAAM,aACR,CAAEA,KAAM,uBAEoBxwF,IAA9Bd,EAAMw2F,oBAAiC,CAAAzxF,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EACjB2vD,IAAiB,KAAD,EAAzB,OAATmjC,EAASpxF,EAAAT,KAAAS,EAAA1B,KAAA,EACK+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAAtD+4B,EAAK90B,EAAAT,KACP8xF,OACoCt1F,IAAtCd,EAAMw2F,oBAAoBnF,QACtB,GACsC,OAAtCrxF,EAAMw2F,oBAAoBnF,QAC1BrxF,EAAMw2F,oBAAoBnF,QAAQznF,MAAM,KACxC,GACFysF,OACmCv1F,IAArCd,EAAMw2F,oBAAoBv7D,OACtB,GACqC,OAArCj7B,EAAMw2F,oBAAoBv7D,OAC1Bj7B,EAAMw2F,oBAAoBv7D,OAAOrxB,MAAM,KACvC,GACF0sF,EAAoB,GACpBC,EAAkB,GACO,IAAzBH,EAAc5tF,QAChB4tF,EAAchtF,KAAI,SAACg0B,GACjB,IAAIs5D,EAAeP,EAAU19E,QAC3B,SAAC3P,GAAS,OAAKA,EAAKsC,aAAe6D,OAAOmuB,EAAM,IAEtB,IAAxBs5D,EAAaluF,QACf8tF,EAAajtF,KAAKqtF,EAAa,GAEnC,IAE0B,IAAxBL,EAAa7tF,QACf6tF,EAAajtF,KAAI,SAACg0B,GAChB,IAAIs5D,EAAe78D,EAAMphB,QACvB,SAAC3P,GAAS,OAAKA,EAAKmyB,SAAWhsB,OAAOmuB,EAAM,IAElB,IAAxBs5D,EAAaluF,QACf+tF,EAAWltF,KAAKqtF,EAAa,GAEjC,IAEFlE,EAAmB,GAADhxF,OAAK80F,IACvB7C,GAAS,GAADjyF,OAAK+0F,IACb1D,GAA6C,QAA1BqD,EAACl2F,EAAMw2F,2BAAmB,IAAAN,OAAA,EAAzBA,EAA2BS,WAAW,yBAAA5xF,EAAAP,OAAA,GAAAM,EAAA,MAE7DJ,MAAA,KAAAC,UAAA,CAC4B,SAAAiyF,KA2E5B,OA3E4BA,GAAAj0F,YAAAC,IAAAC,MAA7B,SAAAsC,IAAA,IAAA0xF,EAAAC,EAAAC,EAAAxsF,EAAAxC,EAAAivF,EAAAC,EAAAnvF,EAAA4B,EAAAwtF,EAAAC,EAAAv9D,EAAAw9D,EAAAC,EAAAC,EAAAnvF,EAAAm4B,EAAAi3D,EAAA5uF,EAAA6uF,EAAA,OAAA50F,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAYE,IAXI0zF,EAAsB,GACtBxsF,EAAsC,QAA5BssF,EAAG72F,EAAMw2F,2BAAmB,IAAAK,GAAY,QAAZC,EAAzBD,EAA2BY,kBAAU,IAAAX,OAAZ,EAAzBA,EAAuCltF,MAAM,KAC9DmtF,OACkDj2F,IAAhDd,EAAMw2F,oBAAoB7F,mBAC0B,OAAhD3wF,EAAMw2F,oBAAoB7F,mBAC6B,IAAvD3wF,EAAMw2F,oBAAoB7F,kBAAkBnoF,QACI,OAAhDxI,EAAMw2F,oBAAoB7F,kBACxB3wF,EAAMw2F,oBAAoB7F,kBAE5B,GAEG5oF,EAAI,EAAGA,EAAIgvF,EAAevuF,OAAQT,WAClCgvF,EAAehvF,GAAU,MAaN,GAVxBivF,EAA0B,GAC9BA,OACwDl2F,IAAtDd,EAAMw2F,oBAAoBxF,yBACgC,OAAtDhxF,EAAMw2F,oBAAoBxF,yBACmC,IAA7DhxF,EAAMw2F,oBAAoBxF,wBAAwBxoF,QACI,OAAtDxI,EAAMw2F,oBAAoBxF,wBACxBhxF,EAAMw2F,oBAAoBxF,wBAE5B,GAEFiG,EAAqB,QACNn2F,IAAfyJ,EAAwB,CAAA9E,EAAApC,KAAA,YACA,IAAtBkH,EAAW/B,OAAY,CAAA/C,EAAApC,KAAA,SAAAyE,EAAAlF,IAAAC,MAAA,SAAAiF,EAAA4B,GAAA,IAAAguF,EAAAC,EAAA,OAAA/0F,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAEnBs0F,EAAoC,QAA1BD,EAAG13F,EAAM43F,yBAAiB,IAAAF,OAAA,EAAvBA,EAAyBj/E,QACxC,SAAC3P,GAAS,OACRA,EAAKgkB,eAAiBviB,EAAWxC,IACjCe,EAAKyB,aAAe0E,OAAO1E,EAAWxC,GAAG,IAE7CkvF,EAAc5tF,KAAKsuF,EAAW,IAC1BptF,EAAW/B,OAAS,IAAMT,GAC5B8vF,GAAgBZ,EAAeF,GAChC,wBAAA3xF,EAAAZ,OAAA,GAAAsD,EAAA,IATMC,EAAI,EAAE,KAAD,QAAEA,EAAIwC,EAAW/B,QAAM,CAAA/C,EAAApC,KAAA,gBAAAoC,EAAAyD,cAAApB,EAAA4B,GAAA,iBAAE3B,IAAGtC,EAAApC,KAAA,iBAc9C,GADI6zF,EAAkB,GACY,IAA9BF,EAAmBxuF,OAAc,CACnC,IAAST,EAAI,EAAGA,EAAIivF,EAAmBxuF,OAAQT,IAAK,CAGlD,GAFM6xB,EAAUo9D,EAAmBjvF,GAC/BqvF,EAAwB,GACxBx9D,EAAQk+D,WAA0C,IAA7Bl+D,EAAQk+D,UAAUtvF,OAEzC,IADI8uF,EAA8B,QAApBD,EAAGz9D,EAAQk+D,iBAAS,IAAAT,OAAA,EAAjBA,EAAmBztF,MAAM,KACjCzB,EAAI,EAAGA,EAAImvF,EAAW9uF,OAAQL,IACrCivF,EAAiB/tF,KAAK,CACpByuF,UAAWR,EAAWnvF,GAAG/F,WAAW,IAAK,WAI7Cw3B,EAAQk+D,UAAY,GAEtBl+D,EAAQk+D,UAAYV,CACtB,CAEA,IAASrvF,EAAI,EAAGA,EAAIgvF,EAAevuF,OAAQT,IAEzC,IADM6xB,EAAUm9D,EAAehvF,GACtBI,EAAI,EAAGA,EAAI6uF,EAAmBxuF,OAAQL,IACvCqvF,EAAWR,EAAmB7uF,GAChCyxB,EAAQprB,MAAQgpF,EAASO,WAC3Bb,EAAW7tF,KAAKuwB,GAItB25D,GAAuByD,GACvBvF,EAAiByF,EACnB,MACE3D,GAAuB,IACvB9B,EAAiB,IAClB,yBAAAhsF,EAAAjB,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,CACmB,SAAAqzF,KA8GnB,OA9GmBA,GAAAr1F,YAAAC,IAAAC,MAApB,SAAA2C,IAAA,IAAAyyF,EAAAlwF,EAAAmwF,EAAAt+D,EAAAzxB,EAAAqvF,EAAAW,EAAA,OAAAv1F,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,eAE+BvC,IAA3BsyF,GAAY7oF,YACe,OAA3B6oF,GAAY7oF,YACsB,IAAlC6oF,GAAY7oF,WAAW/B,aACW1H,IAAlCsyF,GAAYzC,mBACsB,OAAlCyC,GAAYzC,mBAC6B,IAAzCyC,GAAYzC,kBAAkBnoF,QACI,OAAlC4qF,GAAYzC,wBACe7vF,IAA3BsyF,GAAYpT,YACe,OAA3BoT,GAAYpT,YACsB,IAAlCoT,GAAYpT,WAAWx3E,aACW1H,IAAlCsyF,GAAYxC,mBACsB,OAAlCwC,GAAYxC,mBAC6B,IAAzCwC,GAAYxC,kBAAkBpoF,OAAY,CAAAxC,EAAA3C,KAAA,QAE1CyyF,IAAkB,SAACsC,GAAW,OAAAtlF,wBAAA,GACzBslF,GAAM,IACT/C,0BAC6Bv0F,IAA3BsyF,GAAY7oF,YACe,OAA3B6oF,GAAY7oF,YACsB,IAAlC6oF,GAAY7oF,WAAW/B,OAGzB8sF,+BACoCx0F,IAAlCsyF,GAAYzC,mBACsB,OAAlCyC,GAAYzC,mBAC6B,IAAzCyC,GAAYzC,kBAAkBnoF,QACI,OAAlC4qF,GAAYzC,kBAGd4E,0BAC6Bz0F,IAA3BsyF,GAAYpT,YACe,OAA3BoT,GAAYpT,YACsB,IAAlCoT,GAAYpT,WAAWx3E,OAGzBgtF,iCACoC10F,IAAlCsyF,GAAYxC,mBACsB,OAAlCwC,GAAYxC,mBAC6B,IAAzCwC,GAAYxC,kBAAkBpoF,QAErB,IACTxC,EAAA3C,KAAA,gBAgBJ,IAdI40F,EAAOnlF,wBAAA,GACNsgF,IAAW,IACdpC,wBACiC,IAA/BsC,GAAoB9qF,OAChB8qF,GAEA,MAEA3C,kBAAkBvnF,KAAI,SAACjF,GAC7BA,EAAY,MAAI,KAChBA,EAAKk0F,iBAAmB,KACxBl0F,EAAKk6E,UAAY,GACnB,IAE+C,IAA3C4Z,EAAQjH,wBAAwBxoF,OAClC,IAAST,EAAI,EAAGA,EAAIkwF,EAAQjH,wBAAwBxoF,OAAQT,IAAK,CAI/D,GAHImwF,EAAkB,GAGW,KAF3Bt+D,EAAUq+D,EAAQjH,wBAAwBjpF,IAEpC+vF,UAAUtvF,OAAc,CAClC,IAASL,EAAI,EAAGA,EAAIyxB,EAAQk+D,UAAUtvF,OAAQL,IACtCqvF,EAAW59D,EAAQk+D,UAAU3vF,GACnC+vF,EAAW7uF,KAAKmuF,EAASM,UAAY,KAEvCG,EAAQjH,wBAAwBjpF,GAAG+vF,UAAYI,EAC5C7sF,WACAjJ,WAAW,IAAK,KACrB,MACE61F,EAAQjH,wBAAwBjpF,GAAG+vF,UAAY,GAEW,IAAxDG,EAAQjH,wBAAwBjpF,GAAG+vF,UAAUtvF,SAC/CyvF,EAAQjH,wBAAwBjpF,GAAG+vF,UAAYQ,GAC7CL,EAAQjH,wBAAwBjpF,GAAG+vF,UACnCG,EAAQjH,wBAAwBjpF,GAAG+vF,UAAUtvF,OAAS,GAG5D,MAEAyvF,EAAQjH,wBAA0B,GACnC,GAAAhrF,EAAA5C,KAAA,GAGyB,IAApBpD,EAAMu4F,UAAkB,CAAAvyF,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,GACHm1F,aAAUP,GAAS,KAAD,GAA3BjyF,EAAA1B,OAEZmW,KACAza,EAAMy4F,eAAc,GACpBz4F,EAAM2oE,cAAa,GACnB3oE,EAAM04F,gBACP1yF,EAAA3C,KAAA,wBAAA2C,EAAA3C,KAAA,GAEyBs1F,aAAaV,GAAS,KAAD,GAA3CE,EAAanyF,EAAA1B,KACjBqB,QAAQe,IAAI,gBAAiByxF,GAEzBA,IACF19E,KACAza,EAAMy4F,eAAc,GACpBz4F,EAAM2oE,cAAa,GACnB3oE,EAAM44F,mBAAmB,IAEzB54F,EAAM04F,gBACP,QAAA1yF,EAAA3C,KAAA,iBAAA2C,EAAA5C,KAAA,GAAA4C,EAAAmhB,GAAAnhB,EAAA,kCAAAA,EAAAxB,OAAA,GAAAgB,EAAA,oBAIRd,MAAA,KAAAC,UAAA,CApXDoI,qBAAU,YAunBV,WACE,IACE,IAAI8rF,EAAe74F,EAAM43F,kBACrBkB,EAAyB,GACjB,OAAZD,QAAY,IAAZA,KAAczvF,KAAI,SAACg0B,GACjB07D,EAAkBzvF,KAAIyJ,wBAAC,CAAC,EACnBsqB,GAAK,IACR27D,YAAa37D,EAAMmvD,uBAEvB,IACA5mF,QAAQe,IAAI,oBAAqBoyF,GAEjCnH,EAAemH,EACjB,CAAE,MAAOlzF,GAAQ,CAGnB,CAtoBEozF,EACF,GAAG,CAACh5F,EAAM43F,kBAAmB53F,EAAMynB,UAEnC1a,qBAAU,WACJ/M,EAAMw2F,sBAA2C,IAApBx2F,EAAMu4F,WAkIxC,WAEsBvC,GAAAtxF,MAAC,KAADC,UAAA,CAnInBs0F,EAEJ,GAAG,CAACt8D,GAAU+1D,GAAU1yF,EAAMw2F,sBAE9BzpF,qBAAU,YAwaR,WACsBmsF,GAAAx0F,MAAC,KAADC,UAAA,CAxatBw0F,EACF,GAAG,CAACn5F,EAAMynB,UAEV1a,qBAAU,YACgB,IAApB/M,EAAMu4F,WACR5D,GAAc,oFACdtB,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZo8B,UAAW75D,EAAMw2F,oBAAoB4C,SACrCx/B,YAAa55D,EAAMw2F,oBAAoB6C,WACvCxI,UAAW7wF,EAAMw2F,oBAAoBG,UACrCrF,KAAMtxF,EAAMw2F,oBAAoBlF,KAChC33B,WAAY35D,EAAMw2F,oBAAoB78B,WAEtCi3B,kBAAmB5wF,EAAMw2F,oBAAoB8C,kBAC7CtZ,WAAYhgF,EAAMw2F,oBAAoB+C,WACtChK,iBAAkBvvF,EAAMw2F,oBAAoBgD,iBAC5CnI,QAASrxF,EAAMw2F,oBAAoBnF,QACnCp2D,OAAQj7B,EAAMw2F,oBAAoBv7D,OAClCw+D,SAAUz5F,EAAMw2F,oBAAoBiD,SACpC9I,kBAAmB3wF,EAAMw2F,oBAAoB7F,kBAE7CK,wBACEhxF,EAAMw2F,oBAAoBxF,wBAC5BzmF,WAAYvK,EAAMw2F,oBAAoBiB,WACtCtG,mBAAoBnxF,EAAMw2F,oBAAoBkD,iBAAe,IAE/D/zF,QAAQe,IAAI,4BAA6B1G,EAAMw2F,0BACb11F,IAA9Bd,EAAMw2F,qBAEN1yF,KAAKC,UAAU/D,EAAMw2F,uBACrB1yF,KAAKC,UAAUqvF,KA+ItB,WAC4BwD,GAAAlyF,MAAC,KAADC,UAAA,CA9IrBg1F,IAIJhF,GAAc,qFAElB,GAAG,CAAC30F,EAAMu4F,UAAWv4F,EAAMw2F,sBAC3BzpF,qBAAU,WACR,QAA2BjM,IAAvBkxF,GAAkE,IAA9BA,EAAmBxpF,OAAc,CACvE,IAAIoxF,EAAqB5H,EAAmBv5E,QAC1C,SAAC2kB,GAAU,MAA4B,MAAvBA,EAAMy8D,YAAoB,IAExCC,EAAyB9H,EAAmBv5E,QAC9C,SAAC2kB,GAAU,MAA8B,MAAzBA,EAAMk3D,cAAsB,IAE1CyF,EAA4B/H,EAAmBv5E,QACjD,SAAC2kB,GAAU,MAA+B,MAA1BA,EAAM82D,eAAuB,IAE3C8F,EAA+BhI,EAAmBv5E,QACpD,SAAC2kB,GAAU,MAA4B,MAAvBA,EAAM02D,YAAoB,IAEV,IAA9B8F,EAAmBpxF,QACrBmrF,GAAaiG,GAEuB,IAAlCE,EAAuBtxF,QACzB+rF,GAAkBuF,GAEqB,IAArCC,EAA0BvxF,QAC5B2rF,GAAmB4F,GAEuB,IAAxCC,EAA6BxxF,QAC/BurF,GAAgBiG,EAEpB,CACF,GAAG,CAAChI,IAuSJ,IAAMiI,GAAkB,SAAC9Z,EAAY3xE,EAAUwK,GAC7C,KAAImnE,EAAM33E,OAAS,GAAnB,CACA,IAAI0xF,EAAgBlhF,EAChBmhF,EAAuB7G,GAC3B4G,EAASpC,UAAUzuF,KAAK,CAAEyuF,UAAW3X,IACrCx6E,QAAQe,IAAI,sBAAuB4sF,GAAqB4G,GACxDC,EAAqB/wF,KAAI,SAACg0B,GACpBA,EAAM26D,YAAc/+E,EAAQ++E,YAC9B36D,EAAM06D,UAAYoC,EAASpC,UAE/B,IAEAvE,GAAsBtqF,YAAKkxF,GAXC,CAY9B,EACA,SAAS7B,GAAiB/1F,EAAU63F,GAGlC,OAFY73F,EAAIyH,UAAU,EAAGowF,GACjB73F,EAAIyH,UAAUowF,EAAW,EAAG73F,EAAIiG,OAE9C,CACA,IAAMsf,GACJvnB,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAc,WACZxuC,MACwB,IAApBza,EAAMu4F,WACRv4F,EAAM44F,mBAAmB,IAE3B54F,EAAM04F,cACR,EACAhwC,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAId5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,YAhKrB,WACmB+uC,GAAAtzF,MAAC,KAADC,UAAA,CAiKV61F,EACF,EACA7xC,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,eAMI,SAAA+rF,KAgBvB,OAhBuBA,GAAAv2F,YAAAC,IAAAC,MAAxB,SAAAkD,IAAA,IAAA8zB,EAAA,OAAAj3B,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAjD,KAAA,EAAAiD,EAAAhD,KAAA,EAIwB+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAAtD+4B,EAAKxzB,EAAA/B,KACX+uF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZ27D,SAAUrzE,EAAS4F,aAAavgB,WAAWC,WAC3CsuD,WAAY5zC,EAAS4F,aAAavgB,WAAWC,YAAU,IAEzDsnF,GAAY94D,GAEZxzB,EAAAhD,KAAA,gBAAAgD,EAAAjD,KAAA,EAAAiD,EAAA8gB,GAAA9gB,EAAA,SAEAV,QAAQe,IAAI,gBAAeL,EAAA8gB,IAAS,yBAAA9gB,EAAA7B,OAAA,GAAAuB,EAAA,mBAEvCrB,MAAA,KAAAC,UAAA,CAED,IAAMgtE,GAAe,SAACjlE,GAEpB+tF,GAAkB/tF,EAAE3D,MACtB,EACM2xF,GAAqB,SAAChuF,GAC1B6mF,GAAuB7mF,EAAE3D,MAC3B,EACM0tF,GAAiB,SAAC/pF,GACtB2mF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZ6zD,KAAiB,kBAAX5kF,EAAE4kF,MAAuC,IAEjD6D,GAAgBzoF,EAClB,EACMiuF,GAAqB,SAACjuF,EAAQ8B,GAClC6kF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAM9B,GAAC,GAEZ,EAuFA,SAASkuF,GAAoBluF,GAC3BymF,GAAezmF,EACjB,CAIA,SAASmuF,GAAkBnuF,EAAQ8B,GACjC,QAAY1N,IAAR0N,GAA6B,OAARA,EAAc,CAErC,IADA,IAAIssF,EAAuB9I,EAClBjqF,EAAI,EAAGA,EAAI+yF,EAAqBtyF,OAAQT,IAAK,CAClC+yF,EAAqB/yF,GACvC+yF,EAAqB/yF,GAAGyG,GAAO,IACjC,CACA,IAAK,IAAIzG,EAAI,EAAGA,EAAI+yF,EAAqBtyF,OAAQT,IAE/C,IADA,IAAMgzF,EAAYD,EAAqB/yF,GAC9BI,EAAI,EAAGA,EAAIuE,EAAElE,OAAQL,IAAK,CACjC,IAAM6yF,EAAgBtuF,EAAEvE,GACxBxC,QAAQe,IAAI,YAAaq0F,GACzBp1F,QAAQe,IAAI,YAAas0F,IAEZ,OAATD,QAAS,IAATA,OAAS,EAATA,EAAWvsF,QAAqB,OAAbwsF,QAAa,IAAbA,OAAa,EAAbA,EAAexsF,OACpCssF,EAAqB/yF,GAAGyG,GAAO,IAEnC,CAGF6kF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZkzD,kBAAiB1nF,YAAM6xF,IAAqB,IAE9C7I,EAAqBhpF,YAAK6xF,IACd,iBAARtsF,GACFmlF,GAAajnF,GAEH,iBAAR8B,GACFulF,GAAgBrnF,GAEN,oBAAR8B,GACF2lF,GAAmBznF,GAET,mBAAR8B,GACF+lF,GAAkB7nF,EAEtB,CACF,CA4CC,SACcuuF,GAAoBx2F,EAAAO,EAAAK,GAAA,OAAA61F,GAAAx2F,MAAC,KAADC,UAAA,UAAAu2F,KAkClC,OAlCkCA,GAAAv4F,YAAAC,IAAAC,MAAnC,SAAAsD,EAAoChC,EAAWqK,EAAUwK,GAAY,IAAA8hF,EAAAK,EAAAvhF,EAAAggB,EAAA,OAAAh3B,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAEnE,GADIy3F,EAAuBxH,GACf,YAAR9kF,GAA6B,WAARA,EAAkB,CAIzC,GAA2B,KAHvB2sF,EAAcL,EAAqBriF,QACrC,SAAC3P,GAAS,OAAKA,EAAKivF,YAAc/+E,EAAQ++E,SAAS,KAErCvvF,OACd,IAASoR,EAAQ,EAAGA,EAAQkhF,EAAqBtyF,OAAQoR,IACjDggB,EAAUkhE,EAAqBlhF,GAAOm+E,UACxCoD,EAAY,GAAGpD,YAAcn+D,IAC/BkhE,EAAqBlhF,GAAM9G,wBAAA,GACtBqoF,EAAY,IAAE,GAAA1sF,YAAA,GAEhBD,EAAMrK,KAMfovF,GAAsBtqF,YAAK6xF,IACf,gBAARtsF,EACFykF,GAAwB9uF,GAExB4uF,GAAyB5uF,EAE7B,CACY,YAARqK,GAA6B,WAARA,IACvB6kF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZozD,UAAW1sF,GAAI,IAGjB0uF,GAAoB1uF,IACrB,wBAAA85B,EAAAz5B,OAAA,GAAA2B,EAAA,MACFzB,MAAA,KAAAC,UAAA,UACckzF,GAAevxF,EAAAwF,GAAA,OAAAsvF,GAAA12F,MAAC,KAADC,UAAA,UAAAy2F,KAQ7B,OAR6BA,GAAAz4F,YAAAC,IAAAC,MAA9B,SAAA+6B,EAA+BlxB,EAAQqqF,GAAmB,OAAAn0F,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAC/B,GACzBsC,QAAQe,IAAI,WAAYgG,GAExBqlF,EAAiBrlF,GAEjB2uF,GAAiB3uF,EAAGqqF,GACpB0D,GAAkB1D,GAAgB,wBAAAh5D,EAAAv5B,OAAA,GAAAo5B,EAAA,MACnCl5B,MAAA,KAAAC,UAAA,CACyB,SAAA22F,KAwBzB,OAxByBA,GAAA34F,YAAAC,IAAAC,MAA1B,SAAAu7B,EAA2B1xB,GAAM,IAAAuqF,EAAA,OAAAr0F,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAC3B4zF,EAAqB,GACzBtxF,QAAQe,IAAI,uBAAwBgG,GAChCA,GACFA,EAAEtD,KAAI,SAACjF,GACL8yF,EAAc5tF,KAAKlF,EAAK2oB,aAC1B,IAEAilE,EAAiBrlF,GAEjB6uF,GAAa7uF,GACb2mF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZlzB,WAAY0sF,EAAc5rF,WAAWjJ,WAAW,IAAK,MAAI,MAG3D2vF,EAAiB,IAEjBwJ,GAAa,IACblI,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZlzB,WAAY,IAAE,KAEjB,wBAAA8zB,EAAA75B,OAAA,GAAA45B,EAAA,MACF15B,MAAA,KAAAC,UAAA,CACD,SAAS62F,GAAc9uF,EAAQ+uF,EAAcjtF,GAC3C7I,QAAQe,IAAI,UAAW+0F,GACvB91F,QAAQe,IAAI,IAAKgG,GAEjB,IAAIouF,EAAuBxH,GACvB6H,EAAcL,EAAqBriF,QACrC,SAAC3P,GAAS,OAAKA,EAAKivF,YAAc0D,EAAQ1D,SAAS,IAGjD2D,EAAiBvqF,GAAezE,GACpC,GAA2B,IAAvByuF,EAAY3yF,OACd,IAAK,IAAIoR,EAAQ,EAAGA,EAAQkhF,EAAqBtyF,OAAQoR,IAAS,CAChE,IAAMggB,EAAUkhE,EAAqBlhF,GAAOm+E,UACxCoD,EAAY,GAAGpD,YAAcn+D,IAC/BkhE,EAAqBlhF,GAAM9G,wBAAA,GACtBqoF,EAAY,IAAE,GAAA1sF,YAAA,GAChBD,EAAMktF,IAGb,CAGFnI,GAAsBtqF,YAAK6xF,GAC7B,CACA,IAAM3pF,GAAiB,SAACpI,GACtB,GAAa,IAATA,EAAa,CACf,IAAIsI,EAAiB9H,KAAOR,EAAO,uBAEnC,OADgBQ,KAAO8H,GAAgBlI,OAAO,aAEhD,CAEE,MADgB,EAGpB,EAAE,SACasxF,GAAiBtqE,GAAA,OAAAwrE,GAAAj3F,MAAC,KAADC,UAAA,UAAAg3F,KAgD/B,OAhD+BA,GAAAh5F,YAAAC,IAAAC,MAAhC,SAAA67B,EAAiCk9D,GAAS,IAAAC,EAAA9zF,EAAA6xB,EAAAzxB,EAAAqvF,EAAAsE,EAAA56D,EAAA66D,EAAAhlE,EAAAilE,EAAA,OAAAp5F,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OAExC,GADIw4F,EAAiB,GACjBD,EAAM,CACR,IAAS7zF,EAAI,EAAGA,EAAI6zF,EAAKpzF,OAAQT,IAE/B,IADM6xB,EAAUgiE,EAAK7zF,GACZI,EAAI,EAAGA,EAAImrF,GAAoB9qF,OAAQL,IACxCqvF,EAAWlE,GAAoBnrF,GAEjCyxB,EAAQprB,MAAQgpF,EAASO,WAC3B8D,EAAUxyF,KAAKmuF,GAKrB,GADIsE,EAAqB,GACA,IAArBD,EAAUrzF,OAAc,CAC1B,IAAST,EAAI,EAAGA,EAAI8zF,EAAUrzF,OAAQT,IAEpC,IADM6xB,EAAUiiE,EAAU9zF,GACjBI,EAAI,EAAGA,EAAIqpF,EAAchpF,OAAQL,IAClCqvF,EAAWhG,EAAcrpF,GAC3ByxB,EAAQm+D,YAAcP,EAAShpF,KACjCstF,EAAczyF,KAAKmuF,GAIzB/F,EAAiBqK,EACnB,MACErK,EAAiB,IAInB8B,GAAuBsI,GACvBxI,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZkzD,kBAAmBiL,GAAI,IAGzB3J,EAAsB2J,EACxB,MACEnK,EAAiB,IAEjB8B,GAAuBsI,GACvBxI,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZkzD,kBAAmB,IAAE,IAGvBsB,EAAsB,IACvB,wBAAApzD,EAAAr6B,OAAA,GAAAk6B,EAAA,MACFh6B,MAAA,KAAAC,UAAA,CACuB,SAAAs3F,KAiBvB,OAjBuBA,GAAAt5F,YAAAC,IAAAC,MAAxB,SAAAo8B,EAAyBzwB,GAAQ,IAAA0tF,EAAA/F,EAAA,OAAAvzF,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAU7B,GATuB,IAArB6uF,GACFC,EAAqB,IAEvBjxC,GAAkBkxC,GAClBE,EAAmB9jF,GAEf0tF,EAAM,CACRtrE,cAAc,EACdD,OAAQ,mBAENmkE,GAAa,CAADl2D,EAAAv7B,KAAA,gBAAAu7B,EAAAv7B,KAAA,EACQ2vD,EAAekpC,GAAK,KAAD,EAArC/F,EAASv3D,EAAAt6B,KACbmuF,GAAY0D,GACZhhC,GAAcghC,GACdpB,IAAiBD,IAAc,yBAAAl2D,EAAAp6B,OAAA,GAAAy6B,EAAA,MAElCv6B,MAAA,KAAAC,UAAA,UACc02F,GAAgBh/D,EAAAC,GAAA,OAAA6/D,GAAAz3F,MAAC,KAADC,UAAA,UAAAw3F,KAkG9B,OAlG8BA,GAAAx5F,YAAAC,IAAAC,MAA/B,SAAA2gC,EAAgC92B,EAAQkvF,GAAS,IAAAQ,EAAAC,EAAAC,EAAAv0F,EAAAw0F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAnvD,EAAA9kC,EAAAiwE,EAAAikB,EAAAj+D,EAAAiR,EAAAitD,EAAAC,EAAAC,EAAA50F,EAAAqvF,EAAA,OAAA50F,IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,OAU/C,IATsB,GAClB+4F,EAAsB,GACtBC,EAAoB,GACpBC,EAAmB5vF,EACvB/G,QAAQe,IAAI,IAAKgG,GAKR3E,EAAI,EAAGA,EAAIu0F,EAAiB9zF,OAAQT,IAC3Bu0F,EAAiBv0F,GACjCs0F,EAAahzF,KAAwB,QAApBkzF,EAACD,EAAiBv0F,UAAE,IAAAw0F,OAAA,EAAnBA,EAAqBhyF,WAAWc,YAUlD,GAPEmxF,EAAgBH,EAAahxF,WAAWjJ,WAAW,IAAK,KAC5DuD,QAAQe,IAAI,gBAAiB81F,GAEzBC,EAAW,CACbhF,WAAY+E,EACZ9C,gBAAiB,IACjBF,iBAAkB,MAGY,IAA5B8C,EAAiB9zF,OAAY,CAAA+rB,EAAAlxB,KAAA,gBAAAkxB,EAAAlxB,KAAA,GACE25F,aAAyBP,GAAU,KAAD,GAGnE,IAHIC,EAAoBnoE,EAAAjwB,KACpBq4F,EAAwBD,EAAgBO,qBAEnCl1F,EAAI,EAAGA,EAAI40F,EAAsBn0F,OAAQT,IAChC40F,EAAsB50F,UAE/B40F,EAAsB50F,GAAU,MACvCq0F,EAAe/yF,KAAKszF,EAAsB50F,IAE5CpC,QAAQe,IAAI,iBAAkB01F,GAC9Bz2F,QAAQe,IAAI,iBAAkBk1F,GAAMlzF,EAAA9F,IAAAC,MAAA,SAAA6F,IAAA,IAAAkxB,EAAAuhE,EAAA,OAAAv4F,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAE5Bu2B,EAAUgiE,EAAKjjB,GAaM,KAHvBwiB,EAAciB,EAAe3jF,QAC/B,SAAC3P,GAAS,OAAK8wB,EAAQprB,MAAQ1F,EAAK0F,GAAG,KAEzBhG,QACd4zF,EAAe/yF,KAAKuwB,GAEtBj0B,QAAQe,IAAI,cAAey0F,EAAavhE,GAIxC,wBAAA2F,EAAA/6B,OAAA,GAAAkE,EAAA,IArBOiwE,EAAM,EAAE,KAAD,QAAEA,EAAMijB,EAAKpzF,QAAM,CAAA+rB,EAAAlxB,KAAA,gBAAAkxB,EAAArrB,cAAAR,IAAA,iBAAEiwE,IAAKpkD,EAAAlxB,KAAA,iBAuB1CwuF,EAAiBuK,GACjB7nE,EAAAlxB,KAAA,iBAEAwuF,EAAiB,IAAI,QAEO,GAA1B+K,EAAuB,GACO,IAA9B5K,EAAmBxpF,OAAY,CAAA+rB,EAAAlxB,KAAA,SAAAs7B,EAAA/7B,IAAAC,MAAA,SAAA87B,EAAAiR,GAAA,IAAAstD,EAAA,OAAAt6F,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,OAED,IAA1B+4F,EAAe5zF,QAIe,KAH5B00F,EAAmBd,EAAe3jF,QACpC,SAACc,GAAU,OAAKy4E,EAAmBjqF,GAAGhG,QAAUwX,EAAMxX,KAAK,KAExCyG,QACnBo0F,EAAgBvzF,KAAK6zF,EAAiB,IAEzC,wBAAAx5D,EAAAl/B,OAAA,GAAAm6B,EAAA,IARM52B,EAAI,EAAE,KAAD,QAAEA,EAAIiqF,EAAmBxpF,QAAM,CAAA+rB,EAAAlxB,KAAA,gBAAAkxB,EAAArrB,cAAAy1B,EAAAiR,GAAA,iBAAE7nC,IAAGwsB,EAAAlxB,KAAA,iBAalD,GAHAsC,QAAQe,IAAI,kBAAmBk2F,GAE/B3K,EAAsB2K,GACS,IAA3BA,EAAgBp0F,OAClB+qF,GAAuB,IACvB5tF,QAAQe,IAAI,6BAA8B8qF,OACrC,CAEL,IADIqL,EAAiB,GACZ90F,EAAI,EAAGA,EAAI60F,EAAgBp0F,OAAQT,IAE1C,IADM6xB,EAAUgjE,EAAgB70F,GACvBI,EAAI,EAAGA,EAAIqpF,EAAchpF,OAAQL,IAClCqvF,EAAWhG,EAAcrpF,GAC3ByxB,EAAQprB,MAAQgpF,EAAShpF,KAC3BquF,EAAUxzF,KAAKmuF,GAIrB7xF,QAAQe,IAAI,YAAam2F,GAEzBtJ,GAAuBsJ,EACzB,CAAC,yBAAAtoE,EAAA/vB,OAAA,GAAAg/B,EAAA,MAEJ9+B,MAAA,KAAAC,UAAA,UACc42F,GAAYh/D,GAAA,OAAA4gE,GAAAz4F,MAAC,KAADC,UAAA,UAAAw4F,KAmG1B,OAnG0BA,GAAAx6F,YAAAC,IAAAC,MAA3B,SAAAqxB,EAA4BxnB,GAAM,IAAA0vF,EAAAC,EAAAC,EAAAv0F,EAAAy0F,EAAAC,EAAAC,EAAAC,EAAA3sD,EAAA4sD,EAAAz8D,EAAA8P,EAAA4sD,EAAAxsD,EAAA+sD,EAAAj1F,EAAAqvF,EAAA6F,EAAAC,EAAAC,EAAA9lE,EAAA+lE,EAAA,OAAA56F,IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,OAUhC,IATsB,GAClB+4F,EAAsB,GACtBC,EAAoB,GACpBC,EAAmB5vF,EACvB/G,QAAQe,IAAI,IAAKgG,GAKR3E,EAAI,EAAGA,EAAIu0F,EAAiB9zF,OAAQT,IAC3Bu0F,EAAiBv0F,GACjCs0F,EAAahzF,KAAKizF,EAAiBv0F,GAAGwC,WAAWc,YAUjD,GAPEmxF,EAAgBH,EAAahxF,WAAWjJ,WAAW,IAAK,KAC5DuD,QAAQe,IAAI,gBAAiB81F,GAEzBC,EAAW,CACbhF,WAAY+E,EACZ9C,gBAAiB,IACjBF,iBAAkB,MAGY,IAA5B8C,EAAiB9zF,OAAY,CAAAy5B,EAAA5+B,KAAA,gBAAA4+B,EAAA5+B,KAAA,GACE25F,aAAyBP,GAAU,KAAD,GAGnE,IAHIC,EAAoBz6D,EAAA39B,KACpBq4F,EAAwBD,EAAgBO,qBAEnCl1F,EAAI,EAAGA,EAAI40F,EAAsBn0F,OAAQT,IAChC40F,EAAsB50F,UAE/B40F,EAAsB50F,GAAU,MACvCq0F,EAAe/yF,KAAKszF,EAAsB50F,IAE5CpC,QAAQe,IACN,+CACA01F,EACAM,GAGF7K,EAAiBuK,GACjBn6D,EAAA5+B,KAAA,iBAEAwuF,EAAiB,IAAI,QAEO,GAA1B+K,EAAuB,GACO,IAA9B5K,EAAmBxpF,OAAY,CAAAy5B,EAAA5+B,KAAA,SAAA88B,EAAAv9B,IAAAC,MAAA,SAAAs9B,EAAA8P,GAAA,IAAAitD,EAAA,OAAAt6F,IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,OAED,IAA1B+4F,EAAe5zF,QAIe,KAH5B00F,EAAmBd,EAAe3jF,QACpC,SAACc,GAAU,OAAKy4E,EAAmBjqF,GAAGhG,QAAUwX,EAAMxX,KAAK,KAExCyG,QACnBo0F,EAAgBvzF,KAAK6zF,EAAiB,IAEzC,wBAAA96D,EAAA59B,OAAA,GAAA27B,EAAA,IARMp4B,EAAI,EAAE,KAAD,QAAEA,EAAIiqF,EAAmBxpF,QAAM,CAAAy5B,EAAA5+B,KAAA,gBAAA4+B,EAAA/4B,cAAAi3B,EAAA8P,GAAA,iBAAEloC,IAAGk6B,EAAA5+B,KAAA,iBAYlD,GADA4uF,EAAsB2K,GACS,IAA3BA,EAAgBp0F,OAClB+qF,GAAuB,IACvB5tF,QAAQe,IAAI,6BAA8B8qF,OACrC,CAEL,IADIqL,EAAiB,GACZ90F,EAAI,EAAGA,EAAI60F,EAAgBp0F,OAAQT,IAE1C,IADM6xB,EAAUgjE,EAAgB70F,GACvBI,EAAI,EAAGA,EAAIqpF,EAAchpF,OAAQL,IAClCqvF,EAAWhG,EAAcrpF,GAC3ByxB,EAAQprB,MAAQgpF,EAAShpF,KAC3BquF,EAAUxzF,KAAKmuF,GAIrB7xF,QAAQe,IAAI,YAAam2F,GAEzBtJ,GAAuBsJ,EACzB,CAAC,QAWH,IAPAl3F,QAAQe,IACN,gCACA8qF,EACAoL,GAGES,EAAiB,GACZt1F,EAAI,EAAGA,EAAIypF,EAAchpF,OAAQT,IAExC,IADM6xB,EAAU43D,EAAczpF,GACrBI,EAAI,EAAGA,EAAIy0F,EAAgBp0F,OAAQL,IACpCqvF,EAAWoF,EAAgBz0F,GAC7ByxB,EAAQprB,MAAQgpF,EAAShpF,KAC3B6uF,EAAUh0F,KAAKuwB,GAKrB63D,EAAiB4L,GACjB5C,GAAkB4C,GAAW,yBAAAp7D,EAAAz9B,OAAA,GAAA0vB,EAAA,MAC9BxvB,MAAA,KAAAC,UAAA,CAED,SAAS84F,GAAct5F,EAAWqK,GAChC,IAAIkvF,EAAiB,GACT,YAARlvF,IACFrK,EAAKiF,KAAI,SAACg0B,GACRsgE,EAAUr0F,KAAK+zB,EAAMhyB,WACvB,IACAonF,EAAmBruF,IAET,WAARqK,IACFrK,EAAKiF,KAAI,SAACg0B,GACRsgE,EAAUr0F,KAAK+zB,EAAMnC,OACvB,IACAw4D,GAAStvF,IAEXkvF,IAAe,SAAC51D,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAMkvF,EAAUryF,YAAU,GAE/B,CAcA,OACE1K,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACgnB,IAAM,CACLO,OAAQA,GACRL,QAASznB,EAAMynB,QACfrmB,MAAO,CAAEu8F,OAAQ,OAAQznF,MAAO,OAChCyR,OAAK,EACLH,aAAa,EACbK,WAAW,EACXD,OAAQ,WACNnN,MACwB,IAApBza,EAAMu4F,WACRv4F,EAAM44F,mBAAmB,IAE3B54F,EAAM04F,cACR,EACAhxE,YAAa,CAAE,SAAU,QACzBvR,QAAS,WACPxQ,QAAQe,IACN,+CACA0sF,GACAyC,GAEJ,EACAt0F,UAAU,cAAad,SAEvBE,eAAA,OACEY,UAAU,iBACVH,MAAO,CACL0iC,QAAS,YACTxb,UAAW,MACXpS,MAAO,QACPzV,SAAA,CAEFF,cAAA,OAAAE,SACEF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,GAAGV,SACzBF,cAAA,KAAGgB,UAAU,8CAA6Cd,SACvDi0F,WAKTn0F,cAAA,KAAGa,MAAO,CAAEw8F,aAAc,uBAC1Bj9F,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,iFACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAA/P,GAAQA,EAAL0N,MAAiB1N,EAAVg4D,WAAU,OAC1Bn6D,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAO+oF,EACPnvE,QAAS+uE,EACT5f,QAAQ,aACR9+D,SAAU,SAACtG,IAra5B,SACyBzC,GAAAqxF,GAAA52F,MAAC,KAADC,UAAA,CAqaNk5F,CAAYnxF,EAAE3D,MAChB,EACA+xD,YAAY,cACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,QACnC5L,WAC0C,IAAxCs0F,GAAeR,qBACc,IAAzBvD,EAActpF,OACZ,GACA,aACF,GAENiQ,QAAM,EACNqlF,mBAAiB,GACjB,SAKVn9F,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,+GACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASA,EACTsC,OAAQ,SAAA5N,GAAQA,EAALuL,MAAiBvL,EAAV61D,WAAU,OAC1Bn6D,cAAC++C,IAAQ,CACPpsC,GAAI,gBACJnK,MAAOmsF,GACP5hF,YAAY,wBACZwnD,YAAY,OACZv5D,UAAU,eACVohB,QAAS,CAAC,CAAE2uE,KAAM,aAAe,CAAEA,KAAM,kBACzCt+E,SAAU,SAACtG,GAAM,OAAK+pF,GAAe/pF,EAAE3D,MAAM,GAC7C,SAKVpI,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,+DACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACTsC,OAAQ,SAAAvN,GAAQA,EAALkL,MAAiBlL,EAAVw1D,WAAU,OAC1Bn6D,cAACg1E,KAAW,CACVriE,GAAI,eACJnK,MAAgC,IAAzB6oF,EAAcppF,OAAewpF,EAAqB,GACzDrvE,QAASivE,EACT5+E,SAAU,SAACtG,GACT+tF,GAAkB/tF,EAAE3D,MACtB,EACA+oE,QAAQ,MACRhX,YAAY,QACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,QACnC5L,WAC+C,IAA7Cs0F,GAAeP,0BACmB,IAA9BtD,EAAmBxpF,OACjB,GACA,aACF,GAENiQ,QAAM,EACNqlF,mBAAiB,EACjB/iC,WAAS,GACT,SAKVp6D,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC/BE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCF,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,qBAElCF,cAAA,OAAKgB,UAAU,mBAAmBH,MAAO,CAAEkf,OAAQ,SAAU7f,SAC3DF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASA,EACTsC,OAAQ,SAAAlN,GAAQA,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1B/5D,eAAC+wE,KAAS,CACR3oE,MAAOipF,EACPrgB,aAAcA,GACdoW,UAAWyJ,EACXxJ,kBAAmB,SAACt7E,GAAM,OAruBhD,SAAoCA,EAAQqxF,GAC1C,IAAI5C,EACA6C,EAAkB,GAElBC,EAA+B3K,GAEnC5mF,EAAEtD,KAAI,SAACg0B,GACmB9uB,OAAOkyB,QAAQpD,GAAOh0B,KAAI,SAACoF,EAAKzG,GACtDpC,QAAQe,IAAI,MAAO8H,EACrB,IACA7I,QAAQe,IAAI,6DACZf,QAAQe,IAAI,sBAAuB4sF,IAEnC3tF,QAAQe,IAAI,6DACZ,IAAI+1F,EAAW,CACbyB,GAAI,EACJnG,UAAW36D,EAAM5uB,IACjB2vF,aAAc/gE,EAAMr7B,MACpBq8F,oBAAoB,EACpBC,UAAWjhE,EAAMp7B,KACjBs8F,UAAU,EACVxG,UAAW,GACXyG,cAAe,KACfC,YAAa,KACbC,SAAU,KACVC,sBAAuBthE,EAAMshE,sBAC7BlgB,uBAAwBphD,EAAMohD,uBAC9BmgB,aAAa,EACbC,WAAW,EACXC,gBAAiB,GACjB3K,gBAAiB,KACjBuF,SAAU,MAEZ,GAAuC,IAAnCwE,EAAwBz1F,OAAc,CACxC,IAAIs2F,EAAsBb,EAAwBxlF,QAChD,SAAC3P,GAAS,OAAKA,EAAKivF,YAAc0E,EAAS1E,SAAS,IAEtD,GAAmC,IAA/B+G,EAAoBt2F,OACtBy1F,EAAwB50F,KAAKozF,QAE7B,IAAK,IAAI10F,EAAI,EAAGA,EAAIk2F,EAAwBz1F,OAAQT,IAAK,CACvD,IAAM0Q,EAASwlF,EAAwBl2F,GACnC0Q,EAAOs/E,YAAc+G,EAAoB,GAAG/G,YAC9CkG,EAAwBl2F,GAAK0Q,EAEjC,CAEJ,MACEwlF,EAAwB50F,KAAKozF,GAE/B7B,GAAoBqD,GAEpB1K,GAAsBtqF,YAAKg1F,GAC7B,IAEIvxF,EAAElE,SAAW8qF,GAAoB9qF,SACnCkE,EAAEtD,KAAI,SAACg0B,GAIsB,KAH3B+9D,EAAc7H,GAAoB76E,QAChC,SAAC3P,GAAS,OAAKs0B,EAAM5uB,MAAQ1F,EAAKivF,SAAS,KAE7BvvF,QACdw1F,EAAW30F,KAAK8xF,EAAY,GAEhC,IACAx1F,QAAQe,IAAI,0BAA2Bs3F,GACvCzK,GAAuB,GAAD/xF,OAAKw8F,KAE7Br4F,QAAQe,IAAI,wBAAyBgG,GAiBrC+kF,EAAiB/kF,EACnB,CAipBwBqyF,CAA2BryF,EAAE3D,MAAM,EAErCgpE,iBAAiB,SACjBitB,YAAU,EACVC,aAAa,OACb5rF,KAAK,QAAO5S,SAAA,CAEZF,cAACs4B,KAAM,CACLm5C,YAAU,EACV5wE,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEa,MAAO,CACLk5F,YAAa,QACbjtF,aAAc,KACd5M,SACH,YAKL2P,MAAM,QACNhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,WAEnCliF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEa,MAAO,CACLk5F,YAAa,QACbjtF,aAAc,KACd5M,SACH,YAKL2P,MAAM,QACNvM,KAAM,SAACmV,EAAS2J,GACd,OACEpiB,cAAC+b,KAAW,CACVvT,MAAOiQ,EAAQ9C,MACfqH,IAAK,IACLvK,SAAU,SAACtG,GACT+tF,GACEzI,EAAmB5oF,KAAI,SAACgH,GAItB,OAHIA,EAAMrO,QAAUiX,EAAQjX,QAC1BqO,EAAM8F,MAAQxJ,GAET0D,CACT,IAEJ,GAGN,EACAhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,WAEnCliF,cAACs4B,KAAM,CACLsoB,cAAc,WACd//C,MAAO,CAAEohF,SAAU,EAAGC,UAAW,YAEzB,WAOtBliF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACL,IAAzB+wF,EAAchpF,QACkB,IAA/B8qF,GAAoB9qF,QAClBjI,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCF,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,mBAElCF,cAAA,OACEgB,UAAU,mBACVH,MAAO,CAAEkf,OAAQ,SAAU7f,SAE3BF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASA,EACTsC,OAAQ,SAAA3M,GAAQA,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1B/5D,eAAC+wE,KAAS,CACR3oE,MAAOuqF,GACP3hB,aAAc+oB,GACd3S,UAAWmL,GACXlL,kBAAmB,SAACt7E,GAAM,OACxBkuF,GAAoBluF,EAAE3D,MAAM,EAE9BsK,KAAK,QACL2rF,YAAU,EACVC,aAAa,OACbltB,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLm5C,YAAU,EACV5wE,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEa,MAAO,CACLk5F,YAAa,OACbjtF,aAAc,KACd5M,SACH,YAKL2P,MAAM,eACNhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,WAEnCliF,cAACs4B,KAAM,CACLz3B,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjC5+E,KAAM,SAACmV,GACL,GACqC,MAAnCA,EAAQwlE,wBAC0B,aAAlCxlE,EAAQ0lF,sBAER,OACEn+F,cAAAC,WAAA,CAAAC,cAC2BK,IAAxBwyF,IACgC,IAA/BA,GAAoB9qF,OAClB8qF,GAAoBlqF,KAClB,SAACjF,GACC,IAAIoN,OAEAzQ,IADFkY,EAAQulF,eAGN,OADFvlF,EAAQulF,eAGM,IADdvlF,EAAQulF,cACL/1F,OACCe,KACEA,KACEqR,GACE5B,EAAQulF,gBAEVp1F,OAAO,eACT,eACAgS,SACF,GAEN,GACEhX,EAAK4zF,YACL/+E,EAAQ++E,UAER,OACEp3F,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,KAAAF,SAAA,CACG,QACDF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YACGkqC,GAEHpqC,cAAe,SACbl8C,GAAM,OAENuuF,GACEvuF,EACA,cACAsM,EACD,EAEHw3E,cAEE,IADAx3E,EAAQ2lF,YAGVlO,WAAY,GACZ5nC,SAAU,SAEX,QAAQ,IAAE,OAEbtoD,cAAC2iF,KAAQ,CACPhwE,GAAG,QACHF,SAAU,SAACtG,GAAC,OACV8uF,GACE9uF,EAAE3D,MACFiQ,EACA,gBACD,EAEH5X,MAAO,CACLiM,aAAc,OAEhBi3B,WAAY,CACV1sB,aAAc,MACd1B,MAAO,OACPoK,OAAQ,QAEV4+E,eAAa,EACbn2F,MAAOwI,EACPA,WAAY,UACZgyE,eAAa,MAKvB,IAMJhjF,cAAAC,WAAA,MAKR,IAAI26F,EAAmB,GAOvB,OANmC,IAA/B7H,GAAoB9qF,SACtB2yF,EAAc7H,GAAoB76E,QAChC,SAAC3P,GAAS,OACRkQ,EAAQ++E,YAAcjvF,EAAKivF,SAAS,KAIL,MAAnC/+E,EAAQwlE,wBAC0B,aAAlCxlE,EAAQ0lF,sBAGNn+F,cAAAC,WAAA,CAAAC,SACEF,cAAC++C,IAAQ,CACPv2C,MACyB,IAAvBoyF,EAAY3yF,QACoB,IAA5B2yF,EAAY,GAAGmD,SACb,CAAEplE,OAAQ,UACV,CACEA,OAGE,SAFAiiE,EAAY,GACT0D,gBAEC,WAGA,aAFA1D,EAAY,GACT0D,gBAEH,eACA1D,EAAY,GACT0D,iBAEb,GAEN3rF,GAAI,mBACJI,YAAY,wBACZwnD,YAAY,SACZv5D,UAAU,eACVohB,QAAS,CACP,CAAEuW,OAAQ,UACV,CAAEA,OAAQ,cACV,CAAEA,OAAQ,YACV,CAAEA,OAAQ,iBAEZlmB,SAAU,SAACtG,IAx2BnD,SAAqCA,EAAQvI,GAC3C,IAAI22F,EAAuBxH,GACvB6H,EAAcL,EAAqBriF,QACrC,SAAC3P,GAAS,OAAKA,EAAKivF,YAAcrrF,EAAEqrF,SAAS,IAE/C,GAA2B,IAAvBoD,EAAY3yF,OACd,IAAK,IAAIoR,EAAQ,EAAGA,EAAQkhF,EAAqBtyF,OAAQoR,IAAS,CAChE,IAAMggB,EAAUkhE,EAAqBlhF,GAAOm+E,UACxCoD,EAAY,GAAGpD,YAAcn+D,IAC/BkhE,EAAqBlhF,GAAM9G,wBAAA,GACtBqoF,EAAY,IAAE,IAEjB0D,gBACkB,aAAhB16F,EAAK+0B,OACD,OACgB,iBAAhB/0B,EAAK+0B,OACL,WACA/0B,EAAK+0B,SAGjB,CAEFvzB,QAAQe,IAAI,uBAAwBo0F,GAEpCvH,GAAsBtqF,YAAK6xF,IAC3BtH,GAAuBrvF,EACzB,CA+0B0Cg7F,CACEnmF,EACAtM,EAAE3D,MAEN,WAzCR,CA8CF,IAEFxI,cAACs4B,KAAM,CACLz3B,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjC5+E,KAAM,SAACmV,GACL,MACqC,MAAnCA,EAAQwlE,wBAC0B,aAAlCxlE,EAAQ0lF,sBAGNn+F,cAAAC,WAAA,CAAAC,cAC2BK,IAAxBwyF,IACgC,IAA/BA,GAAoB9qF,OAClB8qF,GAAoBlqF,KAClB,SAACjF,GACC,IAAIoN,OAEAzQ,IADFkY,EAAQwlF,aAGN,OADFxlF,EAAQwlF,aAGN,IADFxlF,EAAQwlF,YAAYh2F,OAEhBe,KACEA,KACEqR,GACE5B,EAAQwlF,cAEVr1F,OAAO,eACT,eACAgS,SACF,GAEN,GACEhX,EAAK4zF,YACL/+E,EAAQ++E,UAER,OACEp3F,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,KAAAF,SAAA,CAAG,OAEDF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YACGgqC,GAEHlqC,cAAe,SACbl8C,GAAM,OAENuuF,GACEvuF,EACA,YACAsM,EACD,EAEHw3E,cAEE,IADAx3E,EAAQ4lF,UAGV/1C,SAAU,QACV4nC,WAAY,KACZ,aAGJlwF,cAAC2iF,KAAQ,CACPhwE,GAAG,QACHiwE,gBAAc,EACdC,eAAa,EACbC,UAAU,YACVrwE,SAAU,SAACtG,GAAC,OACV8uF,GACE9uF,EAAE3D,MACFiQ,EACA,cACD,EAEHsrB,WAAY,CACV1sB,aAAc,MACd0I,OAAQ,QAEV4+E,eAAa,EACbn2F,MAAOwI,EACPA,WAAY,UACZgyE,eAAa,MAKvB,IAMJhjF,cAAAC,WAAA,MAMJD,cAAAC,WAAA,CAAAC,cAC2BK,IAAxBwyF,IACgC,IAA/BA,GAAoB9qF,OAClB8qF,GAAoBlqF,KAClB,SAACjF,GACC,GACEA,EAAK4zF,YACL/+E,EAAQ++E,UAOR,OALApyF,QAAQe,IACN,wBACAsS,EAAQ8+E,WAIRv3F,cAAAC,WAAA,CAAAC,SACEF,cAACsvF,GAAsB,CACrBI,WAAW,EACXzmC,WAAW,YACXZ,cAAe,SACbl8C,GAAM,OAzjBpC,SAACvI,EAAWqK,EAAUwK,GAG9C,IAFA,IAAImhF,EAAuB7G,GAElBvrF,EAAI,EAAGA,EAAIoyF,EAAqB3xF,OAAQT,IAAK,CACpD,IAAM6xB,EAAUugE,EAAqBpyF,GACjCiR,EAAQ++E,YAAcn+D,EAAQm+D,YAChC/+E,EAAQ8+E,UAAY,GAEpBqC,EAAqBpyF,GAAG+vF,UAAY3zF,EAExC,CACAovF,GAAsBtqF,YAAKkxF,GAC7B,CA+iBwDiF,CACE1yF,EACA,EACAsM,EACD,EAEHjG,OAAQ,SAACrG,GAAM,OACbutF,GACEvtF,EACA,EACAsM,EACD,EAEH8vC,gBAEIhoD,IADFkY,EAAQ8+E,WAGM,IADd9+E,EAAQ8+E,UACLtvF,QAED,kBADKwQ,EAAQ8+E,UAEX9+E,EAAQ8+E,UACR,GAENjvC,SAAU,YACVyuB,WAAY,CACVh3D,YAEExf,KADO,OAAPkY,QAAO,IAAPA,OAAO,EAAPA,EAAS8+E,WAIS,KAFP,OAAP9+E,QAAO,IAAPA,OAAO,EAAPA,EACI8+E,UACDtvF,QACD,OACA,OACF,OACN0N,MAAO,OACP0B,aACE,mBAEJo4E,WAAY,SAACtjF,GAAM,OACjButF,GACEvtF,EACA,EACAsM,EACD,KAWb,IAMJzY,cAAAC,WAAA,KAaV,MAEQ,gBAS9BG,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,+DACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAAvM,GAAQA,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS,CACRtV,GAAI,cACJF,SAAU,SAACtG,GAAC,OACViuF,GAAmBjuF,EAAEuG,OAAOlK,MAAO,aAAa,EAElDxH,WAC0C,IAAxCs0F,GAAeN,0BACgBz0F,IAA3BsyF,GAAYpT,YACe,OAA3BoT,GAAYpT,YACsB,IAAlCoT,GAAYpT,WAAWx3E,OACrB,eACA,0BACF,eAENO,MAAOqqF,GAAYpT,YAGnB,SAKVr/E,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,yBACjBE,aAAc,mGACdV,UAAQ,MAGZzM,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASA,EACTsC,OAAQ,SAAA6Y,GAAQA,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAACioB,IAAS,CACRtV,GAAI,qBACJF,SAAU,SAACtG,GAAC,OACViuF,GAAmBjuF,EAAEuG,OAAOlK,MAAO,oBAAoB,EAEzDxH,WACiD,IAA/Cs0F,GAAeL,iCACuB10F,IAAlCsyF,GAAYxC,mBACsB,OAAlCwC,GAAYxC,mBAC6B,IAAzCwC,GAAYxC,kBAAkBpoF,OAC5B,eACA,0BACF,eAENO,MAAOqqF,GAAYxC,mBACnB,SAKVjwF,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,+EAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAAkrB,GAAQA,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1B/5D,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAO2qF,GACP/wE,QAASqvE,EACTl3B,YAAY,QACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClC2kE,QAAQ,MACR9+D,SAAU,SAACtG,GACTmuF,GAAkBnuF,EAAE3D,MAAO,eAC7B,IAGFxI,cAACuM,KAAoB,CACnBY,aAAc,mCAEf,MAKTnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAA0rB,GAAQA,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1B/5D,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAO+qF,GACPnxE,QAASqvE,EACTlgB,QAAQ,MACR9+D,SAAU,SAACtG,GACTmuF,GAAkBnuF,EAAE3D,MAAO,eAC7B,EACA+xD,YAAY,QACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,UAGrC5M,cAACuM,KAAoB,CACnBY,aACE,yDAGH,SAKX/M,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,IAChCZ,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAAgsB,GAAQA,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1B/5D,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAOmrF,GACPvxE,QAASqvE,EACTlgB,QAAQ,MACR9+D,SAAU,SAACtG,GACTmuF,GAAkBnuF,EAAE3D,MAAO,kBAC7B,EACA+xD,YAAY,QACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,UAGpC5M,cAACuM,KAAoB,CACnBY,aAAc,mCAEf,MAKTnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAAusB,GAAQA,EAAL5uB,MAAiB4uB,EAAV07B,WAAU,OAC1B/5D,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAOurF,GACP3xE,QAASqvE,EACTlgB,QAAQ,MACR9+D,SAAU,SAACtG,GACTmuF,GAAkBnuF,EAAE3D,MAAO,iBAC7B,EACA+xD,YAAY,QACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,UAGrC5M,cAACuM,KAAoB,CACnBY,aAAc,qCAEf,SAKXnN,cAAA,OAAAE,SACEF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,oGAMjEF,cAAA,KAAGa,MAAO,CAAEw8F,aAAc,uBAC1Bj9F,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,mKAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACTsC,OAAQ,SAAA48B,GAAQA,EAALj/B,MAAiBi/B,EAAVqrB,WAAU,OAC1Bn6D,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,MAAOp0D,MAAO,QAASzV,SAClDF,cAACsvF,GAAsB,CACrBrmC,WACoB,OAAlBzjC,EAASuzC,KAAgB,SAAW,SAEtCxQ,WAAYypC,EACZjb,WAAY,CACVphE,MAAO,OACPoK,YACsBxf,IAApByxF,GACoB,OAApBA,EACI,OAC2B,IAA3BA,EAAgB/pF,OAChB,OACA,QAER2nF,eAAe,EACfvnC,cAAe60C,GACf50C,SAAU,cAGdtoD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBA5mCnC,SACuB7sB,GAAA,OAAA6/D,GAAAv3F,MAAC,KAADC,UAAA,CA2mCkB06F,CAAU,UAAU,EACxC12C,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,YACsBxf,IAApByxF,GACoB,OAApBA,EACI,OAC2B,IAA3BA,EAAgB/pF,OAChB,OACA,cAMX,SAKX7H,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,mKAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,EACTsC,OAAQ,SAAAu+B,GAAQA,EAAL5gC,MAAiB4gC,EAAV0pB,WAAU,OAC1Bn6D,cAACg1E,KAAW,CACVriE,GAAI,QACJnK,MAAOyvB,GACP7V,QAAS+vE,GACT1/E,SAAU,SAACtG,GACT+wF,GAAc/wF,EAAE3D,MAAO,SACzB,EACA+xD,YAAY,SACZxnD,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,QACnCsL,QAAM,EACNsiD,WAAS,EACT+iC,mBAAiB,GACjB,SAKVn9F,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,IACxBR,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJC,MAAO,CACLknB,UAAW,QACXrb,QAAS,QAEX1L,UAAU,yCAAwCd,SAAA,CAElDF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,OAAQ7pE,SACnCF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YAAY,EACZF,cAAeqyC,GACfzK,cAAmC,IAArBoC,GACd/pC,SAAU,UACV4nC,WAAY,cAGhBlwF,cAAA,OAAKa,MAAO,CAAEstF,YAAa,OAAQjuF,SACjCF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YAAY,EACZF,cAAeqyC,GACfzK,cAAmC,IAArBoC,GACdnC,WAAY,SACZ5nC,SAAU,wBAOtBtoD,cAACugD,KAAgB,CACfE,SAAUrkB,GACVokB,UAAW,WACXhhC,QAAS+0E,GACTzzC,aAAc,SAACroC,GACb,IACE,IAAIsmF,EAA4B,GAC5B/M,IACF+M,EAAkBr2F,YAAOspF,IAOO,IALP+M,EAAmB7mF,QAC5C,SAAC2kB,GAAU,OACTA,EAAM7xB,SAAWyN,EAAQzN,QACzB6xB,EAAM04B,SAAW98C,EAAQ88C,MAAM,IAEZttD,QACrB82F,EAAmBj2F,KAAK2P,GAG1BykF,GAAc6B,EAAoBjN,GAClCnxC,GAAiB,EACnB,CAAE,MAAOt7C,GACPD,QAAQe,IAAI,gBAAiBd,EAC/B,CACF,EACAmT,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAemxC,EACflxC,iBAAkBA,MAe1B,E,UCxoEeq+C,I,OAxBU,SAACv/F,GACxB,IAAM08D,EAAUja,cAChB,OACEliD,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CAEnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,mBAC1BF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAC,sHAKhCF,cAAA,UACEgB,UAAU,iBACV4U,QAAS,kBAAMumD,EAAQrzD,KAAK,WAAW,EAAC5I,SACzC,gBAMT,GCuBe++F,GA7Cb,SAACC,GAAc,OACf,SAAA/8F,GAAmB,IAAb1C,EAAKsO,OAAAoxF,OAAA,IAAAC,aAAAj9F,OACTqV,EAAuCC,oBAAS,GAAMC,EAAApB,YAAAkB,EAAA,GAA/C6nF,EAAW3nF,EAAA,GAAE4nF,EAAe5nF,EAAA,GACnCgJ,EAAkCjJ,oBAAS,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAzCynD,EAASxnD,EAAA,GAAEynD,EAAYznD,EAAA,GAExB+I,GADUw4B,cACCyN,eACX0X,EACuC,SAA3CtkE,OAAOC,aAAaC,QAAQ,WACxBg5B,EAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACjDsqE,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QA4BhD,OA1BAhhE,qBAAU,WACR,IAAM42D,EAAQ,eAAA9+D,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAg9F,EAAAC,EAAAC,EAAAC,EAAAl4F,EAAAm4F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAzpD,EAAA,OAAAj0C,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACKi6D,GAAqB,OAAP9gC,QAAO,IAAPA,GAAqB,QAAdsjE,EAAPtjE,EAAS7Q,oBAAY,IAAAm0E,OAAd,EAAPA,EAAuBt0F,OAAO,KAAD,EAI/D,IAJMu0F,EAAK58F,EAAAmB,KACL07F,EAASlyB,EAAMnb,IAAI,SAAW,GAEhCstC,EAAwBL,EACnB73F,EAAI,EAAGA,EAAIg4F,EAAMv3F,OAAQT,MAI1B,QAHA8uC,EAAOkpD,EAAMh4F,UAGb,IAAJ8uC,GAAS,QAALqpD,EAAJrpD,EAAMwa,WAAG,IAAA6uC,OAAL,EAAJA,EAAWh1F,kBAAmC,QAAtBi1F,EAAKl2E,EAASknC,gBAAQ,IAAAgvC,OAAA,EAAjBA,EAAmBj1F,iBAC5C,OAAJ2rC,QAAI,IAAJA,GAAS,QAALupD,EAAJvpD,EAAMwa,WAAG,IAAA+uC,OAAL,EAAJA,EAAWl1F,iBAAa,IAAA1J,OAAe,OAANw+F,QAAM,IAANA,OAAM,EAANA,EAAQ90F,gBACjC,OAAR+e,QAAQ,IAARA,GAAkB,QAAVo2E,EAARp2E,EAAUknC,gBAAQ,IAAAkvC,GAAlBA,EACIn1F,cACDlC,SAAa,OAAJ6tC,QAAI,IAAJA,GAAS,QAALypD,EAAJzpD,EAAMwa,WAAG,IAAAivC,OAAL,EAAJA,EAAWp1F,gBACvB08D,KAEAq4B,GAAe,GAGnBt3B,GAAa,GACbk3B,EAAgBI,GAAc,wBAAA98F,EAAAqB,OAAA,GAAA1B,EAAA,KAC/B,kBArBa,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAsBdg/D,GACF,GAAG,CAACmK,IAEGpF,EACLnoE,cAAA,UACEq/F,EACFr/F,cAACk/F,EAAS3sF,YAAA,GAAK9S,IAEfO,cAACg/F,GAAgB,GAErB,CAAE,E,wCChBWgB,I,OArBO,SAAH79F,GAAsC,IAAhC89F,EAAQ99F,EAAR89F,SAAUrqF,EAAOzT,EAAPyT,QAUjC,OACE5V,cAAA,OAAKgB,UAAU,YAAY4U,QAVR,WAMnBA,EAJEqqF,EADe,QAAbA,EACS,MAEA,MAGf,EAGmD//F,SACjC,QAAb+/F,EACCjgG,cAACkgG,IAAsB,CAACvqF,MAAO,OAAQ/I,SAAU,KAEjD5M,cAACmgG,IAAuB,CAACxqF,MAAO,OAAQ/I,SAAU,MAI1D,GC/BawzF,GAAa,SACxBvkD,EACA2U,EACAviD,EACAxM,EACA4+F,GAEA,IACE,IAAIC,EACAC,EAUGC,EAKoCC,EAAAC,EAb3C,GAAmB,SAAfL,EAGF,OAFAC,EAAQzkD,EAAE5tC,IAAmB,KAAX4tC,EAAE5tC,GAAc,IAAI0M,KAAKkhC,EAAE5tC,IAAM03E,UAAY,GAC/D4a,EAAQ/vC,EAAEviD,IAAmB,KAAXuiD,EAAEviD,GAAc,IAAI0M,KAAK61C,EAAEviD,IAAM03E,UAAY,GAClD,QAATlkF,EACK6+F,EAAQC,EAERA,EAAQD,EAIjB,GADAl7F,QAAQe,WAAW01C,EAAE5tC,IACC,kBAAX4tC,EAAE5tC,GACX,OAAO,EAET,GAAKoO,MAAY,QAAPmkF,EAAC3kD,EAAE5tC,UAAI,IAAAuyF,OAAA,EAANA,EAAQ3+F,WAAW,IAAK,KAS5B,CAAC,IAAD8+F,EAAAC,EAGL,GAFAN,EAAc,QAATK,EAAG9kD,EAAE5tC,UAAI,IAAA0yF,OAAA,EAANA,EAAQ71F,WAAWH,cAC3B41F,EAAc,QAATK,EAAGpwC,EAAEviD,UAAI,IAAA2yF,OAAA,EAANA,EAAQ91F,WAAWH,cACd,QAATlJ,EAAgB,CAClB,GAAI6+F,EAAQC,EACV,OAAO,EACF,GAAIA,EAAQD,EACjB,OAAQ,CAEZ,KAAO,CACL,GAAIA,EAAQC,EACV,OAAQ,EACH,GAAIA,EAAQD,EACjB,OAAO,CAEX,CACA,OAAO,CACT,CAtBE,OAHAA,EAAQ5xF,OAAa,QAAP+xF,EAAC5kD,EAAE5tC,UAAI,IAAAwyF,OAAA,EAANA,EAAQ5+F,WAAW,IAAK,KACvC0+F,EAAQ7xF,OAAa,QAAPgyF,EAAClwC,EAAEviD,UAAI,IAAAyyF,OAAA,EAANA,EAAQ7+F,WAAW,IAAK,KAE1B,QAATJ,EACK6+F,EAAQC,EAERA,EAAQD,CAqBvB,CAAE,MAAOj7F,GAEP,OADAD,QAAQC,MAAM,4BAA6BA,GACpC,CACT,CACF,ECrDak/E,GAAc,SACzBiB,EACA5hF,EACA8iE,GAEA,IAAM8d,EAAS97E,YAAO9E,GAEtB,wDAAeH,MAAK,SAACohF,GACnB,IACMC,EAAW,CAAEC,OAAQ,CAAEnhF,KADXihF,EAAKG,MAAMC,cAAcT,IACKU,WAAY,CAAC,SACvDC,EAAcN,EAAKO,MAAMN,EAAU,CACvCO,SAAU,OACV5jF,KAAM,UAEJilE,GACFA,GAAQ,GAEV4e,GACEH,EACAK,EAAW,MAAQx8E,KAAO,IAAI2R,MAAQ/R,OAAO,gBAE3C89D,GACFA,GAAQ,EAEZ,GACF,EAYM4e,GAAe,eAAAnjF,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOgjF,EAAaC,GAAa,OAAAnjF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACjD,kCAAqBW,MAAK,SAACgiF,GAC/B,IAGM7hF,EAAO,IAAIy5C,KAAK,CAACkoC,GAAS,CAC9B9jF,KAHA,oFAMFgkF,EAAUC,OAAO9hF,EAAM4hF,kBACzB,IAAG,KAAD,mBAAA5iF,EAAAqB,OAAA,GAAA1B,EAAA,KACH,gBAXoB2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,K,UCjBby8F,GAAgBrmF,KAAhBqmF,YAukCO7mB,GA3iCM,SAAH73E,GAeJ,IAdZigC,EAASjgC,EAATigC,UACA3E,EAAUt7B,EAAVs7B,WACAqjE,EAAa3+F,EAAb2+F,cACAha,EAAS3kF,EAAT2kF,UACAnI,EAAax8E,EAAbw8E,cAEAoiB,GADO5+F,EAAPukE,QACOvkE,EAAP4+F,SACAroD,EAAkBv2C,EAAlBu2C,mBACAsoD,EAAc7+F,EAAd6+F,eACAC,EAAU9+F,EAAV8+F,WACAC,EAAsB/+F,EAAtB++F,uBACA1hF,EAAOrd,EAAPqd,QACA2hF,EAAgBh/F,EAAhBg/F,iBAGMz3E,GAFMvnB,EAAZi/F,aAEiBzxC,eACjBn4C,EAAwCC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAzD0jE,EAAYxjE,EAAA,GAAEyjE,EAAezjE,EAAA,GACpCgJ,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5C2gF,EAAU1gF,EAAA,GAAE2gF,EAAa3gF,EAAA,GAChCG,EAA8CrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAxD08D,EAAez8D,EAAA,GAAE08D,EAAkB18D,EAAA,GAC1CgB,EAAgCtK,mBAAcgmB,GAAWzb,EAAA1L,YAAAyL,EAAA,GAAlDw/E,EAAQv/E,EAAA,GAAEw/E,EAAWx/E,EAAA,GAC5BC,EAA0CxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAA3Dw/E,EAAav/E,EAAA,GAAEw/E,EAAgBx/E,EAAA,GACtCwG,EAA8BjR,qBAA0BkR,EAAArS,YAAAoS,EAAA,GAAjDm/D,EAAOl/D,EAAA,GAAEg5E,EAAUh5E,EAAA,GAC1BC,EAAsCnR,oBAAkB,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAvDg5E,EAAW/4E,EAAA,GAAEg5E,EAAch5E,EAAA,GAClCvD,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,GAAQ+8B,EAAA,GACf/wB,IAD4B+wB,EAAA,GACc9qC,oBAAkB,IAAMga,GAAAnb,YAAAkb,GAAA,GAA3DswE,GAAarwE,GAAA,GAAEswE,GAAgBtwE,GAAA,GACtCG,GAA0Cna,oBAAkB,GAAMoa,GAAAvb,YAAAsb,GAAA,GAA3DowE,GAAanwE,GAAA,GAAEowE,GAAgBpwE,GAAA,GAC9B9Z,GAAqB1R,eAArB0R,iBAERvL,qBAAU,WACJixB,IACF09C,GAAgB,GAChB+mB,KAEJ,GAAG,CAACzkE,IAEJjxB,qBAAU,WACJq7E,GACEA,EAAQ5/E,OAAS,GACnB4vE,GAAWgQ,EAGjB,GAAG,CAACA,IAEJr7E,qBAAU,WACJ60F,GACF5jB,EAAkB/0E,YACb24F,EAAWnpF,QAAO,SAAC/L,GAAM,OAAMA,EAAE8B,IAAItD,cAAclC,SAAS,KAAK,KAG1E,GAAG,CAAC44F,IAEJ70F,qBAAU,WACJ+0F,GACE5iB,GACFA,EAAc4iB,EAASt5F,OAG7B,GAAG,CAACs5F,IAEJ,IAAMY,GAAU,eAAA79F,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,EAAO6/F,GAAkB,IAAAxoF,EAAAC,EAAAgjB,EAAAllB,EAAA0qF,EAAArxF,EAAA,OAAA3O,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpB,OAAlB+5B,EAAQY,EAAU76B,EAAAE,KAAA,EACMiV,KAAmB,KAAD,EAAxCJ,EAAa/U,EAAAmB,KACbs+F,EAA8B,OAAb1qF,QAAa,IAAbA,GAAyB,QAAZiC,EAAbjC,EAAe2qF,kBAAU,IAAA1oF,OAAZ,EAAbA,EAA2B6xB,OAC5Cz6B,EAA0B,OAAb2G,QAAa,IAAbA,GAAyB,QAAZkC,EAAblC,EAAe2qF,kBAAU,IAAAzoF,OAAZ,EAAbA,EAA2BsB,OAE9CinF,EAAY95F,SAAQ,SAAC9H,GACfA,EAAIyN,IAAItD,cAAclC,SAAS,SAA8B,MAAnBjI,EAAI6/F,WAChDxjE,EAAMv0B,SAAQ,SAAC6D,EAAQkN,GAErB,GADAlN,EAAE8B,IAAMoL,EACJlN,EAAE3L,EAAIyN,MAAuB,KAAf9B,EAAE3L,EAAIyN,KAAa,CACnC,IAAIyM,EAAUL,GACZlO,EAAE3L,EAAIyN,KACa,MAAnBzN,EAAI6/F,WAAqBrvF,EAAaqxF,GAExC,GAAgB,iBAAZ3nF,EACFvO,EAAE3L,EAAIyN,KAAOyM,MACR,CACL,IAAI5J,EAAiB9H,KAAOmD,EAAE3L,EAAIyN,KAAM,cAIxC,GAAgB,kBAHhByM,EAAU1R,KAAO8H,GAAgBlI,OAC/BoI,GAAc,gBAGd7E,EAAE3L,EAAIyN,KAAOyM,OAKb,GAAgB,kBAHhBA,EAAU1R,KAAOmD,EAAE3L,EAAIyN,MAAMrF,OAC3BoI,GAAc,gBAGd7E,EAAE3L,EAAIyN,KAAOyM,MACR,CACL,IAAI5J,EAAiB9H,KAAOmD,EAAE3L,EAAIyN,KAAM,cAIxB,kBAHhByM,EAAU1R,KAAO8H,GAAgBlI,OAC/BoI,GAAc,kBAGd7E,EAAE3L,EAAIyN,KAAOyM,EAEjB,CAEJ,CACF,CACF,IAEAmiB,EAAMv0B,SAAQ,SAAC6D,EAAQkN,GACrBlN,EAAE8B,IAAMoL,EACkB,mBAAflN,EAAE3L,EAAIyN,KACf9B,EAAE3L,EAAIyN,KAAO9B,EAAE3L,EAAIyN,KAAKnD,WACA,IAAfqB,EAAE3L,EAAIyN,MAA6B,OAAf9B,EAAE3L,EAAIyN,OACnC9B,EAAE3L,EAAIyN,KAAO,GAEjB,GAEJ,IACAuzF,EAAW94F,YAAKm0B,IAAQ,wBAAAj6B,EAAAqB,OAAA,GAAA1B,EAAA,KACzB,gBAvDe2B,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAyDViW,GAAa,SAAC7R,EAAYqI,GAC9B,GAAa,IAATrI,EAAa,CACf,IAAIsI,EAAiB9H,KAAO,IAAI2R,KAAKnS,GAAQ,uBAE7C,OADgBQ,KAAO8H,GAAgBlI,OAAOiI,GAAa,cAE7D,CACE,MAAO,EAEX,EAEMgnE,GAAU,eAAAlzE,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOg+F,GAA2B,IAAA/pF,EAAA,OAAAnW,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQhD,OARgD0B,EAAA3B,KAAA,EAE7C2V,EAAiB,GAGnBA,EADEsoF,EACQ0B,GAA6B1B,EAAeyB,GAE5CE,GAAuBF,GAClC/9F,EAAA1B,KAAA,EACKq/F,GAAW3pF,GAAS,KAAD,EACzB8oF,EAAa54F,YAAK8P,IAAUhU,EAAA1B,KAAA,gBAAA0B,EAAA3B,KAAA,EAAA2B,EAAAoiB,GAAApiB,EAAA,kCAAAA,EAAAP,OAAA,GAAAM,EAAA,kBAE/B,gBAZeE,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KAaV89F,GAAY,WAChB,IAAIpjB,EAA2B,GAC/B,IACE,IAAM/kE,EAAS,IAAIoW,gBAAgBzG,EAAS8jD,QAAQpb,IAAI,UAClDswC,EAAiBn/F,KAAKwM,MAC1B4yF,eAAe1/F,QAAQ,kBAADhC,OAAmBmhC,KAAgB,MAG7C,QAAVroB,GAAoB2oF,EAAez6F,OAAS,EAC9C62E,EAAW4jB,EACF5B,EACTA,EAAcx4F,SAAQ,SAACs6F,GACrB,IAAM1qF,EAAuB,CAC3BjK,IAAK20F,EAAS30F,IACdxM,KAAM,GACNw+F,SAAU,KACVz3F,MAAO,IAET,GAAIo6F,EAAS3kB,uBAAwB,CACnC,IAAM4kB,EAAUD,EAAS3kB,uBAEvB/lE,EAAOzW,KADO,MAAZohG,EACY,SACO,MAAZA,EACK,OAEA,MAElB,MAAO,GAAID,EAASzE,sBAAuB,CAG3B,aAFEyE,EAAS3kB,wBAGvB2kB,EAAS30F,IAAItD,cAAclC,SAAS,QAEpCyP,EAAOzW,KAAO,OAEdyW,EAAOzW,KAAO,MAElB,CACAq9E,EAASh2E,KAAKoP,EAChB,IAEAnK,OAAOC,KAAKyvB,EAAW,GAAKA,EAAW,GAAK,IAAI50B,KAC9C,SAACoF,EAAagL,GACZ,IAAMf,EAAuB,CAC3BjK,IAAKA,EACLxM,KAAMwM,EAAItD,cAAclC,SAAS,QAC7B,cACOg1B,EAAW,GAAGxvB,GACzBgyF,SAAU,KACVz3F,MAAO,IAETs2E,EAASh2E,KAAKoP,EAChB,IAIJypF,EAAUj5F,YAAKo2E,GACjB,CAAE,MAAOz5E,GACP,OAAOy5E,CACT,CACF,EAEM0jB,GAA+B,SACnC1B,EACAyB,GAEA,IAAI/pF,EAAiB,GAsDrB,OArDAsoF,EAAcx4F,SAAQ,SAACs6F,GACrB,IAAME,EAAWl5D,KAAK3sB,IAC+B,IAAnD8lF,GAAkBH,EAAS7kB,sBAA8B,GACzDglB,GAAkBtlE,EAAW,GAAGmlE,EAAS30F,OAGtB,cAAjB20F,EAAS30F,MACX7I,QAAQe,IAAIy8F,GAEZpqF,EAAQ1P,KAAK,CACX+L,MAAO,WACL,OACEzU,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAE6zC,eAAgB,iBAAkBx0C,SAAA,CAC9CF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVF,cAAA,QAAMgB,UAAU,gBAAed,SAC5B0iG,EAAS7kB,yBAGd/9E,cAACK,KAAG,CAACO,GAAI,EAAEV,SACR8iG,GAAgBJ,EAAS30F,IAAKs0F,YAKvCviG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACTqiG,GACCU,GACEV,EACAA,EAAYrqF,QACV,SAAC/L,GAAe,OAAKA,EAAE8B,MAAQ20F,EAAS30F,GAAG,IAC3C,UAMhB,EACAwL,UAAWmpF,EAAS30F,IACpBA,IAAK20F,EAAS30F,IACdoyF,WAAYuC,EAAS3kB,uBACrBtoE,MACEitF,EAASjtF,QACRitF,EAAS30F,IAAItD,cAAclC,SAAS,SACD,MAApCm6F,EAAS3kB,uBACL,IACA6kB,KAGZ,IACOtqF,CACT,EAEMiqF,GAAyB,SAACF,GAC9B,IAAI/pF,EAAiB,GAkMrB,OAjMIuoF,GACFvoF,EAAQ1P,KAAK,CACXmF,IAAK,YACLiL,MAAO,SACPu/B,MAAO,OACP9iC,MAAO,GACPzD,OAAQ,SAACiH,EAAQC,GACf,GAAIs/B,EACF,OACE14C,cAAA,OACE6b,YAAa,SAAC1P,GAAM,OAAKu1F,GAAiB,EAAK,EAC/CwB,aAAc,SAAC/2F,GAAM,OAAKu1F,GAAiB,EAAM,EAACxhG,SAEjDw4C,EAAmBt/B,IAI5B,IAKuB,IADPokE,EAAgB30E,KAAI,SAACsD,GAAM,OAAKA,EAAE8B,GAAG,IACzChG,OACd8F,OAAOC,KAAKyvB,EAAW,GAAKA,EAAW,GAAK,IAAI50B,KAC9C,SAACoF,EAAagL,GACZ,IAAM6pF,EAAWl5D,KAAK3sB,IACK,EAAzB8lF,GAAkB90F,GAAW,GAC7B80F,GAAkBtlE,EAAW,GAAGxvB,KAEtB,cAARA,GAA6C,aAAtBA,EAAItD,eACjB,gBAARsD,GAAiC,YAARA,IACf,wBAARA,EACFuK,EAAQ1P,KAAK,CACX+L,MAAO,WACL,OACEzU,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAE6zC,eAAgB,iBAAkBx0C,SAAA,CAC9CF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVF,cAAA,QAAMgB,UAAU,gBAAed,SAAE+N,MAEnCjO,cAACK,KAAG,CAACO,GAAI,EAAEV,SACR8iG,GAAgB/0F,EAAKs0F,YAK9BviG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACTqiG,GACCU,GACEV,EACAA,EAAYrqF,QACV,SAAC/L,GAAe,OAAKA,EAAE8B,MAAQA,CAAG,IAClC,UAMhB,EACAwL,UAAWxL,EACXA,IAAKA,EACLk1F,SAAU,CACRC,WAAW,GAEbztF,MAAOmtF,EACP5wF,OAAQ,SAACkH,GACP,IAAMrR,EAAKqR,EAAO/P,MAAM,KACpBg6F,EAAkB,GAQtB,OAPAt7F,EAAGO,SAAQ,SAAC1E,EAAWqV,GACjBA,EAAM,EACRoqF,EAASv6F,KAAK9I,cAAA,KAAAE,SAAI0D,KAElBy/F,EAASv6F,KAAK9I,cAAA,KAAAE,SAAG,YAErB,IACOF,cAAAC,WAAA,CAAAC,SAAGmjG,GACZ,IAEe,iBAARp1F,EACTuK,EAAQ1P,KAAK,CACX+L,MAAO,WACL,OACEzU,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAE6zC,eAAgB,iBAAkBx0C,SAAA,CAC9CF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVF,cAAA,QAAMgB,UAAU,gBAAed,SAAE+N,MAEnCjO,cAACK,KAAG,CAACO,GAAI,EAAEV,SACR8iG,GAAgB/0F,EAAKs0F,YAK9BviG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACTqiG,GACCU,GACEV,EACAA,EAAYrqF,QACV,SAAC/L,GAAe,OAAKA,EAAE8B,MAAQA,CAAG,IAClC,UAMhB,EAEAA,IAAKA,EACLiE,OAAQ,SAACiH,EAAQC,GACf,OACEhZ,eAAA,QAAAF,SAAA,CACGkZ,EAAOnL,GACqB,SAA5BmL,EAAOkqF,kBACNtjG,cAACujG,KAAG,CAACx2F,MAAM,UAAUlM,MAAO,CAAEwW,aAAc,OAAQnX,SAAC,YAIjC,SAArBkZ,EAAO/E,WACNrU,cAACujG,KAAG,CAACx2F,MAAM,UAAUlM,MAAO,CAAEwW,aAAc,OAAQnX,SAAC,cAM7D,EACAyV,MAAO,MAGT6C,EAAQ1P,KAAK,CACX+L,MAAO,WACL,OACEzU,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAE6zC,eAAgB,iBAAkBx0C,SAAA,CAC9CF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACVF,cAAA,QAAMgB,UAAU,gBAAed,SACpB,gBAAR+N,EAAwB,cAAgBA,MAG7CjO,cAACK,KAAG,CAACO,GAAI,EAAEV,SACRqiG,GACCviG,cAAAC,WAAA,CAAAC,SAAG8iG,GAAgB/0F,EAAKs0F,cAMlCviG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACO,GAAI,GAAGV,SACTqiG,GACCU,GACEV,EACAA,EAAYrqF,QACV,SAAC/L,GAAe,OAAKA,EAAE8B,MAAQA,CAAG,IAClC,UAMhB,EACAwL,UAAWxL,EACXA,IAAKA,EACL0H,MACE1H,EAAItD,cAAclC,SAAS,SAC1BwF,EAAItD,cAAclC,SAAS,uBACZ,eAAd25B,GAEwB,WAAtBn0B,EAAItD,eACkB,WAAtBsD,EAAItD,cAFJ,IAIAsD,EAAItD,cAAclC,SAAS,oDAC3B,IACAwF,EAAItD,cAAclC,SAAS,gEAC3B,IACAq6F,IAKhB,IAGFtqF,EAAUglE,EAGLhlE,CACT,EAEMuqF,GAAoB,SAAC/gG,GACzB,IAEIwhG,EAFS7vF,SAAS2pC,cAAc,UAEnBmmD,WAAW,MACxB9tF,EAAgB,EAMpB,OAJI6tF,IACFA,EAAIE,KAAO,QACX/tF,EAAQ6tF,EAAIG,YAAY3hG,GAAK2T,OAExBA,CACT,EAEMqtF,GAAkB,SAAC/0F,EAAas0F,GAAiC,IAADqB,EAAAC,EAChExD,EACuC,QADrBuD,EAAGrB,EACtBniF,MAAK,SAAC0jF,GAAe,OAAKA,EAAE71F,MAAQA,CAAG,WAAC,IAAA21F,OAAA,EADlBA,EAErBniG,KAAKqJ,WACT,OACE9K,cAACggG,GAAa,CACZC,SACEsC,EAAYniF,MAAK,SAACjU,GAAe,OAAKA,EAAE8B,MAAQA,CAAG,IACK,QADJ41F,EAChDtB,EAAYniF,MAAK,SAACjU,GAAe,OAAKA,EAAE8B,MAAQA,CAAG,WAAC,IAAA41F,OAAA,EAApDA,EAAsD5D,SACtD,MAENrqF,QAAS,SAACnU,GAER8gG,EAAY15F,KAAI,SAACsD,GACXA,EAAE8B,MAAQA,EACO,QAAf9B,EAAE8zF,SACJ9zF,EAAE8zF,SAAW,MAEb9zF,EAAE8zF,SAAW,MAGf9zF,EAAE8zF,SAAW,IAEjB,IAEA8D,GAAW91F,EAAKxM,EAAM4+F,EACxB,GAGN,EAEM4C,GAAiB,SACrBV,EACAyB,GAEA,IAAInnE,EAAe0kE,EACnB,GAAIyC,EAAW,CACb,GAAuB,SAAnBA,EAAUviG,KACZ,OACEzB,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAC6gG,GAAW,CACVr4F,OACIw7F,EAAUx7F,OAAS,IAAiBK,KAAI,SAAC2tC,GAAC,OAC1CxtC,KAAOwtC,EAAG,cAAc,IAG5B5tC,OAAQ,cAER+J,GAAG,YACH9R,MAAO,CAAEwW,aAAc,OACvB5E,SAAU,SAACtG,GACT,IAAI2yE,EAA2ByjB,EAC/B,GAAIp2F,EAAG,CACL,IAAI3D,EAAe2D,EAAEtD,KACnB,SAAC+Y,GAAQ,OAAY5Y,KAAO4Y,GAAKhZ,OAAO,cAAc,IAExDk2E,EAASx2E,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQA,EAEnB,GAEF,MACEs2E,EAASx2E,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQ,GAEnB,IAGFu7F,IACF,EACAE,OAAQ,CACNC,MAAO,CAACl7F,OAAUA,QAClB,aAAc,CACZA,OAASm7F,QAAQ,SACjBn7F,OAASo7F,MAAM,UAEjB,YAAa,CAACp7F,OAASm7F,QAAQ,QAASn7F,OAASo7F,MAAM,UAEzDC,YAAU,MAKhB,IAAIC,EAAiB,IAAI14D,IACrBxpB,EAAiB,GAoBrB,MAnBuB,YAAnB4hF,EAAUviG,MACZo7B,EAAMv0B,SAAQ,SAAC6D,GACTA,EAAE63F,EAAU/1F,KACd9B,EAAE63F,EAAU/1F,KAAO9B,EAAE63F,EAAU/1F,KAAKnD,WAEpCqB,EAAE63F,EAAU/1F,KAAO,EAEvB,IAEF4uB,EAAMv0B,SAAQ,SAAC6D,GACb,GAAyB,KAArBA,EAAE63F,EAAU/1F,KAAa,CAC3B,IAAMs2F,EAAcD,EAAK/jB,IAAIp0E,EAAE63F,EAAU/1F,MACzCq2F,EAAKE,IAAIr4F,EAAE63F,EAAU/1F,MAChBs2F,GACHniF,EAAQtZ,KAAK,CAAEN,MAAO2D,EAAE63F,EAAU/1F,MAEtC,CACF,IAGEjO,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAACigF,KAAY,CACXz3E,MAAOw7F,EAAUx7F,MACjB4Z,QAASA,EACTrP,YAAa,aAAeixF,EAAU/1F,IACtC0E,GAAIqxF,EAAU/1F,IAEd0R,aAAc,SAAC2hC,EAAYzhC,GAAM,IAAA4kF,EAAA,OAIW,KAH9B,QAAZA,EAAA5kF,EAAOrX,aAAK,IAAAi8F,OAAA,EAAZA,EACI35F,WACDkxD,cACAxyD,QAAQ83C,EAAW0a,eAAqB,EAE7CvpD,SAAU,SAACtG,GACT,IACE,IAAI3D,EAAQ2D,EACmBo2F,EACtBj6F,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQA,EAEnB,IACAu7F,IACF,CAAE,MAAO1+F,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CACF,EACArE,UAAW,eACXwR,OAAQ,SAACrG,GACP,IACE,IAAI3D,EAAQ2D,EAAEuG,OAAOlK,MACU+5F,EACtBj6F,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQA,EAEnB,IACAu7F,IACF,CAAE,MAAO1+F,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CACF,EACAoQ,QAAS,SAACtJ,GACR,IACE,IAAI3D,EAAQ2D,EAAEuG,OAAOlK,MACU+5F,EACtBj6F,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQA,EAEnB,IACAu7F,IACF,CAAE,MAAO1+F,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CACF,EACAs7E,SAAU,SAACx0E,GACT,IACE,IAAI3D,EAAQ2D,EACmBo2F,EACtBj6F,SAAQ,SAAC4P,GACZA,EAAOjK,MAAQ+1F,EAAU/1F,MAC3BiK,EAAO1P,MAAQA,EAEnB,IACAu7F,IACF,CAAE,MAAO1+F,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CACF,EACAg/F,YAAU,EACVK,QAAS,WACwBnC,EACtBj6F,SAAQ,SAAC4P,GACZA,EAAOjK,KAAO+1F,EAAU/1F,MAC1BiK,EAAO1P,MAAQ,GAEnB,IACAu7F,IAGF,EACAljG,MAAO,CAAE8U,MAAO,WAK1B,CACF,EAEMouF,GAAa,SACjB91F,EACAxM,EACA4+F,GAEA,IACE,IAAIxjE,EAAeY,EAEZ,OAAPoqD,QAAO,IAAPA,KAASv/E,SAAQ,SAAC4P,GAChB,GAAqB,KAAjBA,EAAO1P,OAAiC,iBAAjB0P,EAAO1P,MAChC,GAAoB,WAAhB0P,EAAOzW,KACTo7B,EAAQA,EAAM3kB,QAAO,SAAC/L,GACpB,OAAOA,EAAE+L,EAAOjK,MAAQS,OAAOwJ,EAAO1P,MACxC,SACK,GAAoB,SAAhB0P,EAAOzW,KAAiB,CACjC,IAAMkjG,EAAY,IAAIhqF,KAAKzC,EAAO1P,MAAM,IAClCo8F,EAAU,IAAIjqF,KAAKzC,EAAO1P,MAAM,IACtCq0B,EAAQA,EAAM3kB,QAAO,SAAC/L,GACpB,IAAI8E,EAAO,IAAI0J,KAAKxO,EAAE+L,EAAOjK,MAC7B,GAAwB,iBAApBgD,EAAKnG,WACP,OAAOmG,GAAQ0zF,GAAa1zF,GAAQ2zF,CAExC,GACF,MACE/nE,EAAQA,EAAM3kB,QAAO,SAAC/L,GAAM,IAAA04F,EAAAC,EAAA,OACb,QADaD,EAC1B14F,EAAE+L,EAAOjK,YAAI,IAAA42F,GACC,QADDC,EAAbD,EACI/5F,kBAAU,IAAAg6F,OADD,EAAbA,EAEIn6F,cACDlC,SAASyP,EAAO1P,MAAMmC,cAAc,GAI/C,IAEIk9E,GACF8a,eAAenjC,QAAQ,kBAADv+D,OACFmhC,GAClB7+B,KAAKC,UAAUqkF,IAGf55E,GAAOxM,GAAQ4+F,GACjBxjE,EAAM0zB,MAAK,SAAC1U,EAAQ2U,GAClB,OAAO4vC,GAAWvkD,EAAG2U,EAAGviD,EAAKxM,EAAM4+F,EACrC,IAEFsB,EAAW9Z,GACX2Z,EAAW94F,YAAKm0B,GAClB,CAAE,MAAOx3B,GACPD,QAAQC,MAAM,2BAA4BA,EAC5C,CACF,EAEM8+E,GAAiB,SAACvE,GACtB,IACE,IAAIpC,EAAkBoC,EAAMp3E,MAExB47E,EAAyBid,EAAWnpF,QAAO,SAAC1X,GAAQ,OACtDg9E,EAAgB6G,MACd,SAACC,GAAS,OACRA,EAAK7qE,YAAcjZ,EAAIiZ,WAAyB,cAAZjZ,EAAIyN,GAAmB,GAC9D,IAEHwvE,EAAmB2G,EACrB,CAAE,MAAO/+E,GACPD,QAAQC,MAAM,+BAAgCA,EAChD,CACF,EA2BA,IAuJMugF,GAAW,eAAArgF,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,EAAO2G,GAAM,IAAAyZ,EAAA,OAAAvjB,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OACzB8iB,EAAOzZ,EAAEuG,OAAOoT,MAAM,GAC5B,IACE,wDAAeriB,MAAK,SAACohF,GACnB,IAAMlrB,EAAS,IAAIC,WACnB,IACED,EAAOG,OAAM,eAAAn0D,EAAAvD,YAAAC,IAAAC,MAAG,SAAA2C,EAAOkH,GAAM,IAAA05E,EAAAC,EAAAC,EAAAniF,EAAAi0C,EAAAmuC,EAAA16E,EAAA9D,EAAA6xB,EAAA6sD,EAAA,OAAA7jF,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAYxB,GAXG+iF,EAAKhB,EAAKsB,KAAKh6E,EAAEuG,OAAOvN,OAAQ,CAAE1D,KAAM,UACxCqkF,EAASD,EAAGX,WAAW,GACvBa,EAAKF,EAAGd,OAAOe,GACfliF,EAAOihF,EAAKG,MAAMoB,cAAcL,EAAI,CAAEj/D,OAAQ,IAC9C+wB,EAAYj0C,EAAK,GACvBA,EAAKyiF,QACDL,EAAgBpiF,EAAKiF,KAAI,SAAC4zD,GAC5B,OAAO5kB,EAAKmP,QAAO,SAACsJ,EAAU6Z,EAAQ3iE,GAEpC,OADA8oD,EAAI6Z,GAAK1N,EAAEj1D,GACJ8oD,CACT,GAAG,CAAC,EACN,IAC6B,IAAzB01B,EAAc/9E,OAAY,CAAA/C,EAAApC,KAAA,SACxBwI,EAAM,KACD9D,EAAI,EAAE,KAAD,QAAEA,EAAIw+E,EAAc/9E,QAAM,CAAA/C,EAAApC,KAAA,SAYf,OAXjBu2B,EAAU2sD,EAAcx+E,GAC1B0+E,EAA0B,OAAT9jD,QAAS,IAATA,OAAS,EAATA,EAAWngC,QAAQ,UAAW,IAEhD+jF,EAAcx+E,GAAG0+E,EAAiB,OACS,KAA5CF,EAAcx+E,GAAG0+E,EAAiB,QAElCF,EAAcx+E,GAAG8xD,UAAY9zC,GAAS3a,WAAWC,YAGjDk7E,EAAcx+E,GAAG4xD,WAAa5zC,GAAS3a,WAAWC,WAEpDm3F,IAAiB,GAAM/8F,EAAApC,KAAA,GAEXytB,aAAc21D,EAAgB7sD,GAAS,KAAD,GAAlD/tB,EAAGpG,EAAAnB,KAAA,QAdqCyD,IAAGtC,EAAApC,KAAA,iBAiB1B,YAAfwI,EAAInG,QACF87F,GACFA,EAAW7+D,GAGf6/D,IAAiB,GAAO,yBAAA/8F,EAAAjB,OAAA,GAAAgB,EAAA,KAE3B,gBAAAc,GAAA,OAAAJ,EAAAxB,MAAA,KAAAC,UAAA,EAvCY,GAyCbu1D,EAAO2sB,kBAAkB1gE,EAC3B,CAAE,MAAOvgB,GACP48F,IAAiB,EACnB,CACF,GACF,CAAE,MAAO58F,GACP48F,IAAiB,EACnB,CACA91F,EAAEuG,OAAOlK,MAAQ,KAAK,wBAAA/C,EAAAxB,OAAA,GAAAuB,EAAA,KACvB,gBAxDgBV,GAAA,OAAAS,EAAApB,MAAA,KAAAC,UAAA,KA0DjB,SAASwgF,KACP,IACE,IAAIH,EAAkB,GAmCtB,OAlCA8c,EAASj5F,SAAQ,SAAC1E,GAChB,IAAI8gF,EAAiB,CAAC,EAClBoc,EACW,OAAbA,QAAa,IAAbA,KAAex4F,SAAQ,SAAC9H,GACN,cAAZA,EAAIyN,MACFzN,EAAIyN,IAAItD,cAAclC,SAAS,MACjCi8E,EAAUlkF,EAAIu9E,sBAAwBn6E,EAAKpD,EAAIyN,KAE/CuvE,EAAgBl1E,SAAQ,SAAC+lB,GACnBA,EAAOpgB,MAAQzN,EAAIyN,MACrBy2E,EAAUlkF,EAAIu9E,sBAAwBn6E,EAAKpD,EAAIyN,KAEnD,IAGN,IAEAozF,EAAW/4F,SAAQ,SAACy8F,GACC,cAAfA,EAAO92F,MACL82F,EAAO92F,IAAItD,cAAclC,SAAS,MACpCi8E,EAAUqgB,EAAO92F,KAAOrK,EAAKmhG,EAAO92F,KAEpCuvE,EAAgBl1E,SAAQ,SAAC+lB,GACnBA,EAAOpgB,MAAQ82F,EAAO92F,MACxBy2E,EAAUr2D,EAAOpgB,KAAOrK,EAAKyqB,EAAOpgB,KAExC,IAGN,IAEFw2E,EAAW37E,KAAK47E,EAClB,IAEOD,CACT,CAAE,MAAOp/E,GACPD,QAAQC,MAAM,eAAgBA,EAChC,CACF,CAEA,OACErF,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrCF,cAAC2xC,KAAG,CAAC3wC,UAAU,sBAAsB6/D,OAAQ,CAAC,EAAG,GAAG3gE,SA/PpC,WACpB,IACE,GAAImhG,EAAY,CAAC,IAAD2D,EAAAC,EACR52E,EAAa3lB,YAAO80E,GACtBgJ,EAAoB,GAClBhmF,EAAUkI,YAAO24F,GACnB5a,EAAiB,GAyBrB,OAxBAp4D,EAAO/lB,SAAQ,SAAC6D,QAEI5L,IAAhB4L,EAAEsN,WACc,OAAhBtN,EAAEsN,WACc,KAAhBtN,EAAEsN,YAEoBtN,EAAEsN,UACb9O,cAAclC,SAAS,OAChC+9E,EAAW19E,KAAKqD,GAGtB,IACA3L,EAAIqI,KAAI,SAACsD,QAEW5L,IAAhB4L,EAAEsN,WACc,OAAhBtN,EAAEsN,WACc,KAAhBtN,EAAEsN,YAEGtN,EAAEsN,UAAU9O,cAAclC,SAAS,OACtCg+E,EAAQ39E,KAAKqD,GAGnB,IAGE/L,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,EAAGlgE,GAAI,EAAEV,SACxCF,cAACg1E,KAAW,CACVxsE,MAAOg+E,EACPpkE,QAASqkE,EACTlsB,YAAY,YACZmsB,cAAexL,EACf7zD,OAAQ,WACN,IACE,IAAMs/D,EAlExB,WACE,IACE,IAAIC,EAAgB,GAiBpB,OAhBAnpD,EAAW50B,KAAI,SAACjF,GACd,IAAI8gF,EAAiB,CAAC,EACtB2c,EAAW/4F,SAAQ,SAAC9H,GACbA,EAAIyN,IAAItD,cAAclC,SAAS,MAOlCi8E,EAAUlkF,EAAIyN,KAAOrK,EAAKpD,EAAIyN,KAN9BuvE,EAAgBl1E,SAAQ,SAAC+lB,GACnB7tB,EAAIyN,MAAQogB,EAAOpgB,MACrBy2E,EAAUr2D,EAAOpgB,KAAOrK,EAAKyqB,EAAOpgB,KAExC,GAIJ,IACA24E,EAAS99E,KAAK47E,EAChB,IAEOkC,CACT,CAAE,MAAOvhF,GACPD,QAAQC,MAAM,0CAA2CA,EAC3D,CACF,CA2CgCwhF,GACRz2B,EAAcu2B,EAAMzuE,QACxB,SAAC1P,EAAY6Q,GACX,IAAMsD,EAASpZ,KAAKC,UAAUgF,GAC9B,OACE6Q,IACAstE,EAAMruC,WAAU,SAACgY,GACf,OAAO/sD,KAAKC,UAAU8sD,KAAS3zC,CACjC,GAEJ,IAEF6kF,EAAW94F,YAAK0nD,GAClB,CAAE,MAAO/qD,GACPD,QAAQC,MAAM,uBAAwBA,EACxC,CACF,EACAoN,SAAU0xE,GACVpxE,YAAY,iBACZlS,MAAO,CAAE8U,MAAO,WAGnBmxE,GACC9mF,cAAAC,WAAA,CAAAC,SACEE,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJG,GAAI,GACJqgE,GAAI,EACJlgE,GAAI,EACJC,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,YAElB1zC,UAAU,mBAAkBd,SAAA,CAE5BF,cAACwnB,IAAM,CACLhmB,MAAM,kBACNoV,KAAK,mBACL,kBAAgB,MAChB4I,QAASsiF,GACTlsF,QAAOxT,YAAAC,IAAAC,MAAE,SAAAsC,IAAA,OAAAvC,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACDyhF,GACJniD,EACAwiD,KACAmd,IACA,KAAD,mBAAAl9F,EAAAZ,OAAA,GAAAW,EAAA,KAEH/D,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,MACVyK,aAAc,MACdpC,OAAQ,oBACRy/B,eAAgB,aAGlBhrB,EAASknC,SAASnoD,SAAS,oBACX,QAAhBu8F,EAACt7E,EAAS8jD,cAAM,IAAAw3B,GAAfA,EAAiBv8F,SAAS,oBACX,QAAhBw8F,EAACv7E,EAAS8jD,cAAM,IAAAy3B,GAAfA,EAAiBx8F,SAAS,eACzBzI,cAAAC,WAAA,CAAAC,SACGghG,GAGC9gG,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,SACEyB,KAAK,OACLomB,OAAO,8FACPpV,SAAUmzE,GACV/kF,MAAO,CAAE6L,QAAS,QAClBiG,GAAG,SAEL3S,cAAA,SACEgoB,QAAQ,OACRnnB,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,MACVyK,aAAc,MACdksB,QAAS,WAEXviC,UAAU,SAAQd,SAElBE,eAAA,QAAMY,UAAU,cAAad,SAAA,CAC3BF,cAAA,KACEgB,UAAU,mBACVH,MAAO,CAAEoU,OAAQ,qBACd,qCAa/B,CACF,CAAE,MAAO5P,GACPD,QAAQC,MAAM,eAAgBA,EAChC,CACF,CA2GS0hF,KAEH/mF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAAAH,SACFF,cAACi/C,KAAK,CACJxhB,WAAY8jE,EACZ/oF,QAASglE,EACTh+D,QAASA,GAAWwiF,GACpBlvF,KAAK,QACLwsC,OAAQ,CAAE9I,EAAG,cAAe+I,EAAG,uBAC/B2lD,YAAU,EACV9lD,aAAcwiD,GAAeZ,EAAiB,cAAgB,GAC9DhgG,UAAU,oBACV6gD,WACEs/C,GAEI,CAAEx/C,SAAU,GAAIwjD,iBAAiB,GAEvCC,MAAO,SAAChsF,EAAajP,GACnB,MAAO,CACLyL,QAAS,SAACgqE,GACJohB,IACGS,GACHT,EAAe5nF,EAAQjP,EAAUy1E,GAGvC,EACAylB,cAAe,SAACzlB,GAAgB,EAChC0lB,cAAe,SAAC1lB,GAAgB,EAChC30D,aAAc,SAAC20D,GACTxmE,EAAoB,aACtByoF,GAAe,EAEnB,EACAqB,aAAc,SAACtjB,GACbiiB,GAAe,EACjB,EAEJ,YAOd,E,sCCnWe0D,GAjuBgB,SAAHpjG,GAKd,IAJZqjG,EAAUrjG,EAAVqjG,WACAC,EAAgBtjG,EAAhBsjG,iBACAjsC,EAAYr3D,EAAZq3D,aACAksC,EAAgBvjG,EAAhBujG,iBAEAhyC,EAA4CphB,YAAQ,CAClDosB,cAAe8mC,IADT51F,EAAO8jD,EAAP9jD,QAASwV,EAAQsuC,EAARtuC,SAAUsf,EAAYgvB,EAAZhvB,aAI3BltB,EAAsCC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAAlDm7E,EAAWj7E,EAAA,GAAEk7E,EAAcl7E,EAAA,GAClCgJ,EAA0CjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAtDuwE,EAAatwE,EAAA,GAAEuwE,EAAgBvwE,EAAA,GACtC2E,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACfxE,EAA0BrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAlC6kF,EAAK5kF,EAAA,GAAE6kF,EAAQ7kF,EAAA,GAEtBvU,qBAAU,WACRq5F,IACAC,GACF,GAAG,IAEH,IAAMA,EAAe,eAAAxhG,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAwjG,EAAAC,EAAAC,EAAAtpF,EAAA,OAAAta,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAECooD,eAAmB,KAAD,GAAjC66C,EAAMnjG,EAAAmB,QAENyE,EAAyB,QAAZw9F,EAAGD,EAAO,UAAE,IAAAC,GAAQ,QAARC,EAATD,EAAW/5C,cAAM,IAAAg6C,OAAR,EAATA,EAAmB58F,MAAM,KAC7Cu8F,EAASp9F,IACV5F,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,eAAcvD,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,kBAEtC,kBAVoB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAYfyhG,EAAe,WACnB,IACE,IAAMK,EAAqBV,EAAWpV,kBAChC+V,EAA2BX,EAAW/U,wBAE5C,GAAIyV,EAAoB,CACtB,IAAMhhF,EAAWghF,EAAmBhuF,QAAO,SAACrI,GAC1C,OAA+B,OAAxBs2F,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0B/lF,MAC/B,SAAClI,GAAW,OAAKrI,EAAM5B,MAAQiK,EAAOs/E,SAAS,GAEnD,IACApyE,EAAS,0BAA2B+gF,GACpCjV,EAAiBhsE,EACnB,CACF,CAAE,MAAO7f,GAAQ,CACnB,EAEA,SAASgV,EAAWpJ,GAClB,IACE,IAAIqJ,EAAUrJ,EAAK5H,MAAM,KACnBkR,EAAK7L,OAAO4L,EAAQ,IA0B1B,OAzBW,IAAPC,EACFD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,IAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,EACTD,EAAQ,GAAK,MACG,KAAPC,IACTD,EAAQ,GAAK,OAERA,EAAQ3Q,KAAK,IACtB,CAAE,MAAOtE,GACP,OAAO4L,CACT,CACF,CA4HA,SAASm1F,EACPC,EACAC,GAEA,IACAC,EADmBF,EAAOv7F,WACoBzB,MAAM,KAAIm9F,EAAAlwF,YAAAiwF,EAAA,GAAnDE,EAAWD,EAAA,GAAEE,EAAWF,EAAA,GAO7B,OADEC,IAJFC,GADAA,EAAcA,GAAe,IAE1BC,OAAOL,EAAe,KACtBzoD,MAAM,EAAGyoD,IAEiBr+F,OAAS,EAAI,IAAMy+F,EAAc,GAEhE,CAEA,SAASE,EAAwBP,GAC/B,IAAIQ,EAAeR,EAAOv7F,WACtBg8F,EAAeD,EAAar9F,QAAQ,KACxC,OAAsB,IAAlBs9F,EACK,EAEgBD,EAAa5+F,OAAS6+F,EAAe,CAEhE,CAEA,IAAMC,EAAe,eAAApiG,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOoqF,EAAkB/qF,GAAY,IAAAmrF,EAAAlY,EAAAmwB,EAAAC,EAAAC,EAAAC,EAAA,OAAA9kG,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAa1D,OAZKisF,EAAmB,CACvB3rF,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,EAClByY,cAAexjG,EACf+2C,UAAW,EACXC,SAAU,IACV13C,kBAAmBsiB,EAASva,SAE/BzG,EAAA1B,KAAA,EAE+B+sB,aAC9B,oCACAk/D,GACA,KAAD,GAHKlY,EAAiBryE,EAAAT,QAKjB8yE,EAAamI,iBAAoD,KAAjCnI,EAAamI,kBACzCgoB,EAAyBzjG,KAAKwM,MAAM8mE,EAAamI,iBACnDioB,EAIC,GACDC,EAAqB,GACrBC,EAAmB,GACvBH,EAAgB1+F,SAAQ,SAAC9H,GAEU,MAA/BA,EAAIy9E,wBAC0B,WAA9Bz9E,EAAI29F,sBAEJ8I,EAAQn+F,KAAK,CACXmF,IAAKzN,EAAIyN,IACTo5F,OAAQ7mG,EAAI8I,QAAU,GACtBkT,QAAShc,EAAI8mG,UAGgB,MAA/B9mG,EAAIy9E,wBAC0B,aAA9Bz9E,EAAI29F,sBAEJ+I,EAASp+F,KAAKtI,GAC0B,OAA/BA,EAAIy9E,wBACbkpB,EAAOr+F,KAAKtI,EAEhB,IAEIymG,EAAQh/F,OAAS,GACnBg/F,EAAQ3+F,SAAQ,SAAC9H,GACfq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,GAAM,CACb,IAAIgc,EAAUoqF,EAAwBhjG,EAAKpD,EAAIyN,MAC/CrK,EAAKpD,EAAIyN,KACPm4F,EAA8BxiG,EAAKpD,EAAIyN,KAAMuO,GAC7C,KACG,OAAHhc,QAAG,IAAHA,OAAG,EAAHA,EAAK6mG,OACT,CACF,GACF,IAEEH,EAASj/F,OAAS,GACpBi/F,EAAS5+F,SAAQ,SAAC9H,GAChBq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,KAAM,CACjB,IAAM3E,EACJ9I,EAAI8I,QAAyB,KAAf9I,EAAI8I,OAAgB9I,EAAI8I,OAAS,IAC7CoR,EAAU1R,KAAO,IAAI2R,KAAK/W,EAAKpD,EAAIyN,OACpCrF,OAAO,KAAOU,EAAS,MAAQA,EAAS,QACxCwB,WACHlH,EAAKpD,EAAIyN,KAAOyM,CAClB,CACF,GACF,IAEEysF,EAAOl/F,OAAS,GAClBk/F,EAAO7+F,SAAQ,SAAC9H,GACdq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,MAA0B,KAAlBrK,EAAKpD,EAAIyN,KAAa,CACzC,IACIs5F,GADS,IAAIC,WACAC,gBAAgB7jG,EAAKpD,EAAIyN,KAAM,aAChDrK,EAAKpD,EAAIyN,KAAOs5F,EAAIjkG,KAAKokG,SAC3B,CACF,GACF,IAEFjC,EAAgB/8F,YAAKs+F,KAGvBxtC,EAAaqd,EAAa/5B,WAC1B4oD,GAAiB,IAClB,wBAAAlhG,EAAAP,OAAA,GAAAM,EAAA,KACF,gBA7FoBL,EAAAO,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KA+FfujG,EAAe,SAACC,GAEpB,GAAIA,EAMF,MAL0B,kBAAfA,EACDA,EAAWv+F,MAAM,KAEjBu+F,CAId,EAEA,SAASC,EAAoBD,EAAmBn1F,GAC9C,IAAIqsE,EAAkB,GAiCtB,OAhCAmS,EAAc3oF,SAAQ,SAACuH,GACrB,IAAMi4F,EAAaF,EAAWxnF,MAC5B,SAAClI,GAAW,OAAKA,EAAOs/E,YAAc3nF,EAAM5B,GAAG,IAEjD,GAAI65F,EACFhpB,EAASh2E,KAAKg/F,OACT,CACL,IAAI5L,EAAW,CACbyB,GAAI,EACJnG,UAAW3nF,EAAM5B,IACjB2vF,aAAc/tF,EAAMrO,MACpBq8F,oBAAoB,EACpBC,UAAWjuF,EAAMpO,KACjBs8F,UAAU,EACVxG,UAAW,GACXyG,cAAe,KACfC,YAAa,KACbC,SAAU,KACVC,sBAAuBtuF,EAAMsuF,sBAC7BlgB,uBAAwBpuE,EAAMouE,uBAC9BmgB,aAAa,EACbC,WAAW,EACXC,gBAAiB,GACjB3K,gBAAiB,KACjBuF,SAAU,MAEZpa,EAASh2E,KAAKozF,EAChB,CACF,IACI34F,KAAKC,UAAUokG,KAAgBrkG,KAAKC,UAAUs7E,IAChDrsE,EAASqsE,GAEJA,CACT,CAEA,IAAM7jE,EAAe,SAACR,GAGpB,IAAIC,EAAU1R,KACZA,KAAO,IAAI2R,KAAKF,IAAY7R,OAAO,eACnC,eACAgS,SAcF,MAbyC,iBAArCF,EAAQ5P,WAAWH,cACrB+P,EAAU1R,KAAOqR,EAAWI,GAAY,eAAeG,SAMd,kBAJzCF,EAAU1R,KACRA,KAAOqR,EAAWI,IAAY7R,OAAO,eACrC,eACAgS,UACU9P,WAAWH,eACrBvF,QAAQe,IAAI,mBAAoBsU,GAK7BzR,KACL,IAAI2R,KAAKD,GAASG,eAAe,QAAS,CACxCC,KAAM,UACNC,MAAO,QACPC,IAAK,YAGX,EAEA,OACEhb,cAAAC,WAAA,CAAAC,SACEE,eAAA,QAAMukC,SAAUD,GA3NH,SAAC9gC,GACQ,IAADmkG,GAxGL,SAACnkG,GACnB,IAAIokG,GAAS,EACb,IACE,IAAS,OAALrC,QAAK,IAALA,OAAK,EAALA,EAAO19F,QAAS,EAAG,CACrB,IAAMggG,EAAerkG,EAAK6sF,wBAAwBrwE,MAChD,SAACjU,GAAM,OAAKA,EAAEqrF,UAAU7sF,gBAAkBg7F,EAAM,EAAE,IAEpD,GAAKsC,EAqBE,GAAKA,EAAajK,eAAkBiK,EAAahK,YAcjD,GAAIgK,EAAajK,gBAAkBiK,EAAahK,YACrD+J,GAAS,EACTnhF,YAAc,CACZ3R,QACE,wQACF4R,OAAQ,QACRlQ,KAAM,0CACN0Q,WAAW,EACX65B,UAAU,EACVp6B,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAO,SAEZ,IAAKogF,EAAajK,eAAiBiK,EAAahK,YACrD+J,GAAS,EACTnhF,YAAc,CACZ3R,QACE,0QACF4R,OAAQ,QACRlQ,KAAM,0CACN0Q,WAAW,EACX65B,UAAU,EACVp6B,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAO,QAEZ,CACL,IAAMqgF,EAAWjtF,EAAagtF,EAAajK,eAC5B/iF,EAAagtF,EAAahK,aACjBv0D,KAAKw+D,EAAU,QACxBvC,EAAM,KACnBqC,GAAS,EACTnhF,YAAc,CACZ3R,QACE,uDACAywF,EAAM,GADN,gNAIAA,EAAM,GACN,IACF7+E,OAAQ,QACRlQ,KAAM,0CACN0Q,WAAW,EACX65B,UAAU,EACVp6B,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAO,IAGrB,MAjEEmgF,GAAS,EACTnhF,YAAc,CACZ3R,QACE,0QACF4R,OAAQ,QACRlQ,KAAM,0CACN0Q,WAAW,EACX65B,UAAU,EACVp6B,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAO,SAhCjBmgF,GAAS,EACTnhF,YAAc,CACZ3R,QAAS,WACP,OACElV,cAAAC,WAAA,CAAAC,SAEI,ycAIR,EACA4mB,OAAQ,QACRlQ,KAAM,0CACN0Q,WAAW,EACX65B,UAAU,EACVp6B,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAQ,WAAO,GAqErB,CACF,CAAE,MAAOxiB,GACP2iG,GAAS,CACX,CAEA,OAAOA,CACT,EAGMG,CAAYvkG,KACd8hG,GAAiB,GACW,QAA5BqC,EAAAnkG,EAAK6sF,+BAAuB,IAAAsX,GAA5BA,EAA8Bl/F,KAAI,SAACsD,GACjC,IACMA,EAAEorF,WAAoC,kBAAhBprF,EAAEorF,YAC1BprF,EAAEorF,UAAYprF,EAAEorF,UAAU5tF,KAAK,KAEnC,CAAE,MAAOtE,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,IACA0hG,EACEnjG,EAAKq1F,iBACL11F,KAAKC,UAAUI,EAAK6sF,0BAG1B,IA0M2CvwF,SAAA,CACrCE,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,EAAGF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC9BE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCF,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,qBAElCF,cAAA,OAAKgB,UAAU,mBAAmBH,MAAO,CAAEkf,OAAQ,SAAU7f,SAC3DF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASA,EACTsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAK,OACdzP,eAAC+wE,KAAS,CACR3oE,MAAOqH,EAAMrH,MACb4oE,aAAc,SAACjlE,GAAM,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EACjDg/E,UAAWyJ,EACXxJ,kBAAmB,SAACt7E,GAClB+kF,EAAiB/kF,EAAE3D,MACrB,EAGAgpE,iBAAiB,SACjBitB,YAAU,EACVC,aAAa,OACb5rF,KAAK,QAAO5S,SAAA,CAEZF,cAACs4B,KAAM,CACLm5C,YAAU,EACV5wE,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEa,MAAO,CACLk5F,YAAa,QACbjtF,aAAc,KACd5M,SACH,YAKL2P,MAAM,QACNhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,WAEnCliF,cAACs4B,KAAM,CACLsoB,cAAc,WACd//C,MAAO,CAAEohF,SAAU,EAAGC,UAAW,YAEzB,WAMtBliF,cAACK,KAAG,CAACM,GAAI,EAAGF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC9BF,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCF,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,mBAElCF,cAAA,OAAKgB,UAAU,mBAAmBH,MAAO,CAAEkf,OAAQ,SAAU7f,SAC3DF,cAAC+R,IAAU,CACTR,KAAK,0BACL3B,QAASA,EACTyF,aAAcmwF,EAAW/U,wBACzBv+E,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAK,OACdzP,eAAC+wE,KAAS,CACR3oE,MACEqH,EAAMrH,OACNq/F,EAAoBh4F,EAAMrH,MAAOqH,EAAM4C,UAEzC+0E,UAAWmL,EACXlL,kBAAmB,SAACt7E,GAAM,OAAKymF,EAAezmF,EAAEiO,MAAM,EACtDtH,KAAK,QACL2rF,YAAU,EACVC,aAAa,OACbltB,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLm5C,YAAU,EACV5wE,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KACEa,MAAO,CACLk5F,YAAa,OACbjtF,aAAc,KACd5M,SACH,YAKL2P,MAAM,eACNhP,MAAO,CAAEohF,SAAU,EAAGC,UAAW,WAEnCliF,cAACs4B,KAAM,CACLz3B,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjC5+E,KAAM,SAACmV,EAAcoH,GACnB,GACqC,MAAnCpH,EAAQwlE,wBAC0B,aAAlCxlE,EAAQ0lF,sBACR,CACA,IAAIntF,EAAkByH,EAAQulF,cAC1B/iF,EAAaxC,EAAQulF,eACrB,KAEJ,OACE59F,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,KAAAF,SAAA,CACG,QACDF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YAAa9vC,EAAQ2lF,YACrB/1C,cAAe,SAACl8C,GACdsM,EAAQ2lF,YAAcjyF,EACb,OAAL0D,QAAK,IAALA,KAAOrH,QACTqH,EAAMrH,MAAMqX,EAAO1V,UACjBsO,EACF5I,EAAM4C,SAAS5C,EAAMrH,OAEzB,EACAynF,cAC0B,IAAxBx3E,EAAQ2lF,YAEVlO,WAAY,GACZ5nC,SAAU,SAEX,QAAQ,IAAE,OAEbtoD,cAACwa,KAAU,CACThS,MAAOwI,EACPhQ,UAAW,cACXH,MAAO,CACLiM,aAAc,MACduK,aAAc,MACd1B,MAAO,OACPoK,OAAQ,QAEVnX,OAAQ,cACR6J,SAAU,SAACtG,GACT,IAEIsM,EAAQulF,cADN7xF,EAEAA,EAAEvD,OAAO,aAEauD,EAGjB,OAAL0D,QAAK,IAALA,KAAOrH,QACTqH,EAAMrH,MAAMqX,EAAO1V,UACjBsO,EACF5I,EAAM4C,SAAS5C,EAAMrH,OAEzB,CAAE,MAAOnD,GACPD,QAAQe,IAAI,UAAWd,EACzB,CACF,MAIR,CACE,OACErF,cAAAC,WAAA,CAAAC,SACEF,cAAC++C,IAAQ,CACPv2C,MAC8B,SAA5BiQ,EAAQ6lF,gBACJ,WAC4B,aAA5B7lF,EAAQ6lF,gBACR,eACA7lF,EAAQ6lF,gBAEd3rF,GAAI,mBACJI,YAAY,wBACZ/R,UAAU,eACVohB,QAAS,CACP,SACA,aACA,WACA,gBAEF3P,SAAU,SAACtG,GACTsM,EAAQ6lF,gBACM,aAAZnyF,EAAE3D,MACE,OACY,iBAAZ2D,EAAE3D,MACF,WACA2D,EAAE3D,MACC,OAALqH,QAAK,IAALA,KAAOrH,QACTqH,EAAMrH,MAAMqX,EAAO1V,UAAYsO,EAC/B5I,EAAM4C,SAAS5C,EAAMrH,OAEzB,KAKV,IAEFxI,cAACs4B,KAAM,CACLz3B,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SACjC5+E,KAAM,SAACmV,EAAcoH,GACnB,GACqC,MAAnCpH,EAAQwlE,wBAC0B,aAAlCxlE,EAAQ0lF,sBACR,CACA,IAAIntF,EAAkByH,EAAQwlF,YAC1BhjF,EAAaxC,EAAQwlF,aACrB,KAEJ,OACE79F,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,KAAAF,SAAA,CAAG,OAEDF,cAAC8vF,GAAqB,CACpBC,cAAc,EACdC,WAAW,EACXznC,YAAa9vC,EAAQ2lF,YACrB/1C,cAAe,SAACl8C,GACdsM,EAAQ4lF,UAAYlyF,EACpB/G,QAAQe,IAAI,gBAAiB0J,GACpB,OAALA,QAAK,IAALA,KAAOrH,QACTqH,EAAMrH,MAAMqX,EAAO1V,UACjBsO,EACF5I,EAAM4C,SAAS5C,EAAMrH,OAEzB,EACAynF,cAAoC,IAAtBx3E,EAAQ4lF,UACtBnO,WAAY,GACZ5nC,SAAU,UAEX,QAAQ,IAAE,OAEbtoD,cAACwa,KAAU,CACThS,MAAOwI,EACPnQ,MAAO,CACLiM,aAAc,MACduK,aAAc,MACd1B,MAAO,OACPoK,OAAQ,QAEVnX,OAAQ,cACR6J,SAAU,SAACtG,GACT,IAEIsM,EAAQwlF,YADN9xF,EAEAA,EAAEvD,OAAO,aAEWuD,EAGf,OAAL0D,QAAK,IAALA,KAAOrH,QACTqH,EAAMrH,MAAMqX,EAAO1V,UACjBsO,EACF5I,EAAM4C,SAAS5C,EAAMrH,OAEzB,CAAE,MAAOnD,GACPD,QAAQe,IAAI,UAAWd,EACzB,CACF,MAIR,CACE,OACErF,cAAAC,WAAA,CAAAC,SACEF,cAACooG,KAAK,CACJ5/F,MACEqH,EAAMrH,OACNm/F,EACE93F,EAAMrH,MAAMqX,EAAO1V,UAAUotF,WAGjC9kF,SAAU,SAACtG,GACL0D,EAAMrH,QACRqH,EAAMrH,MAAMqX,EAAO1V,UAAUotF,UAC3BprF,EAAE3D,MACJqH,EAAM4C,SAAS5C,EAAMrH,OAEzB,EACAgK,OAAQ,SAACrG,GACgB,KAAnBA,EAAEuG,OAAOlK,OACPqH,EAAMrH,QACRqH,EAAMrH,MACJqX,EAAO1V,UACPotF,UAAUzuF,KAAKqD,EAAEuG,OAAOlK,OAC1BqH,EAAM4C,SAAS5C,EAAMrH,QAGzB2D,EAAEuG,OAAOlK,MAAQ,EACnB,EACA6/F,UAAU,OAKpB,MAEQ,gBAQ1BroG,cAAA,SACAA,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAAAH,SACFF,cAACsuE,GAAgB,CACfE,cAAe,kBACf3lB,UAAU,SACVT,cAAe,CACbroC,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,wCAQxB,ECxtBM6xE,GAAwC,CAC5C8I,iBAAkB,EAClBxZ,WAAY,GACZz1E,WAAY,GACZomF,kBAAmB,GACnBC,kBAAmB,GACnBC,WAAW,EACXl4E,UAAU,EACVkhD,UAAW,GACXi3B,cAAe,GACfl3B,YAAa,GACbD,WAAY,GACZo3B,eAAgB,GAChBx3B,aAAc,GACdy3B,wBAAyB,GACzBC,QAAS,GACTC,KAAM,GACNC,oBAAoB,EACpBj2C,UAAW,EACXC,SAAU,GACVi2C,WAAW,EACXn2D,OAAQ,GACRo2D,QAAS,GACTC,MAAM,GAogBOuX,GAjgBU,SAAC7oG,GACxB,IAAMkvF,EAAaC,cAAbD,SACAE,EAAeD,cAAfC,WAENr3E,EAAoCC,mBAAiB,GAAEC,EAAApB,YAAAkB,EAAA,GAAhDs3E,EAAUp3E,EAAA,GAAEinE,EAAajnE,EAAA,GAChCgJ,EAAwBjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAApC9c,EAAI+c,EAAA,GAAEy1D,EAAOz1D,EAAA,GACpBG,EAAyCrJ,oBAAkB,GAAKsJ,EAAAzK,YAAAwK,EAAA,GAAzDynF,EAAaxnF,EAAA,GAAEynF,EAAeznF,EAAA,GACrCgB,EAAoCtK,mBAClC04E,IACDnuE,EAAA1L,YAAAyL,EAAA,GAFMyjF,EAAUxjF,EAAA,GAAEymF,EAAazmF,EAAA,GAGhCC,EAAqCxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAlDymF,EAAWxmF,EAAA,GAAEymF,EAAazmF,EAAA,GACjCwG,EAA0CjR,qBAAiBkR,EAAArS,YAAAoS,EAAA,GAApDkgF,EAAajgF,EAAA,GAAE88E,EAAgB98E,EAAA,GACtCC,EAA0CnR,oBAAkB,GAAMoR,EAAAvS,YAAAsS,EAAA,GAA3DigF,EAAahgF,EAAA,GAAEigF,EAAgBjgF,EAAA,GACtC2I,EAA0C/Z,oBAAkB,GAAKga,EAAAnb,YAAAkb,EAAA,GAA1Du3E,EAAat3E,EAAA,GAAEi0E,EAAgBj0E,EAAA,GAChC0qC,EAAUja,cAChB58B,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACTmD,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAClE+lB,EAAqBP,EAAU1D,kBAC7ByoD,EAAW7d,cAAX6d,OACMzd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,EAAO,GAAE,CAACA,IAU1D,SAASrjD,EAAWvF,GACE,OAAJA,QAAI,IAAJA,KAAMvb,MAAM,KAA5B,IACMigB,EAAQ1E,EACS,MAAnBA,EAAK6E,OAAO,IAAeT,EAEzBpE,EADA,IAAMA,EAER,GAEE2E,EAAWxmB,OAAO2mB,SAASH,SAC7BP,EACEM,EAAMpa,WAAW8Z,GACnBjmB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cAElCvmB,OAAOqe,KAAK,GAADngB,OAAI+nB,GAAkB/nB,OAAGqoB,GAAS,SAAU,cAEhDb,EAAUzD,QAEjBsE,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKwnB,EAAUzD,SAAO/jB,OAAGqoB,GACpC,SACA,cAGMb,EAAUzD,SACpBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,aAEtC,CAEA,SAAS88E,EACPC,EACAC,GAEA,IACAC,EADmBF,EAAOv7F,WACoBzB,MAAM,KAAIm9F,EAAAlwF,YAAAiwF,EAAA,GAAnDE,EAAWD,EAAA,GAAEE,EAAWF,EAAA,GAO7B,OADEC,IAJFC,GADAA,EAAcA,GAAe,IAE1BC,OAAOL,EAAe,KACtBzoD,MAAM,EAAGyoD,IAEiBr+F,OAAS,EAAI,IAAMy+F,EAAc,GAEhE,CAEA,SAASE,GAAwBP,GAC/B,IAAIQ,EAAeR,EAAOv7F,WACtBg8F,EAAeD,EAAar9F,QAAQ,KACxC,OAAsB,IAAlBs9F,EACK,EAEgBD,EAAa5+F,OAAS6+F,EAAe,CAEhE,CApFAt6F,qBAAU,WACR,IAAMw8F,EAAa,IAAIC,gBAEvB,OADApxF,GAAUmxF,GACH,WACLA,EAAWE,OACb,CACF,GAAG,IAgFH,IAAMrxF,GAAS,eAAA1V,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOymG,GAA2B,IAAAjhG,EAAA8uE,EAAAmwB,EAAAC,EAAAC,EAAAC,EAAAgC,EAAAC,EAAA,OAAA/mG,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAE/Bg7D,KAAkB,KAAD,EACH,GADzB/1D,EAAEnF,EAAAmB,KACRqB,QAAQe,IAAI6iG,EAAWK,SAEnBthG,EAAG,CAADnF,EAAAE,KAAA,SAYH,MAXwB,CACvBM,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,EAClBh0C,UAAW,EACXC,SAAU,IACV13C,kBAAmBsiB,EAASva,SAE/BrI,EAAAE,KAAA,EAE+B64C,aAC9BjtC,OAAOigF,GACPqa,EAAWK,QACX,KAAD,GAHKxyB,EAAiBj0E,EAAAmB,MAMRi7E,iBACoB,KAAjCnI,EAAamI,kBAEPgoB,EAAyBzjG,KAAKwM,MAClC8mE,EAAamI,iBAGXioB,EAIC,GACDC,EAAqB,GACrBC,EAAmB,GACnBgC,EAAmB,GACvBnC,EAAgB1+F,SAAQ,SAAC9H,EAAU6Y,GAEA,MAA/B7Y,EAAIy9E,wBAC0B,WAA9Bz9E,EAAI29F,sBAEJ8I,EAAQn+F,KAAK,CACXmF,IAAKzN,EAAIyN,IACTo5F,OAAQ7mG,EAAI8I,QAAU,GACtBkT,QAAShc,EAAI8mG,UAGgB,MAA/B9mG,EAAIy9E,wBAC0B,aAA9Bz9E,EAAI29F,sBAEJ+I,EAASp+F,KAAKtI,GAC0B,OAA/BA,EAAIy9E,uBACbkpB,EAAOr+F,KAAKtI,GAC4B,OAA/BA,EAAIy9E,wBACbkrB,EAAOrgG,KAAKtI,EAEhB,IAEIymG,EAAQh/F,OAAS,GACnBg/F,EAAQ3+F,SACN,SAAC9H,GACiB,gBAAZA,EAAIyN,KACN4oE,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,KACX,GAAO,OAAHzN,QAAG,IAAHA,KAAKgc,QACP5Y,EAAKpD,EAAIyN,KACPm4F,EACExiG,EAAKpD,EAAIyN,KACN,OAAHzN,QAAG,IAAHA,OAAG,EAAHA,EAAKgc,SAEP,KACG,OAAHhc,QAAG,IAAHA,OAAG,EAAHA,EAAK6mG,YACF,CACL,IAAI7qF,EAAUoqF,GAAwBhjG,EAAKpD,EAAIyN,MAC/CrK,EAAKpD,EAAIyN,KACPm4F,EACExiG,EAAKpD,EAAIyN,KACTuO,GAEF,KACG,OAAHhc,QAAG,IAAHA,OAAG,EAAHA,EAAK6mG,OACT,CAEJ,GAEJ,IAGAH,EAASj/F,OAAS,GACpBi/F,EAAS5+F,SAAQ,SAAC9H,GAChBq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,KAAM,CACjB,IAAM3E,EACJ9I,EAAI8I,QAAyB,KAAf9I,EAAI8I,OAAgB9I,EAAI8I,OAAS,IAC7CoR,EAAU1R,KAAO,IAAI2R,KAAK/W,EAAKpD,EAAIyN,OACpCrF,OAAO,KAAOU,EAAS,MAAQA,EAAS,QACxCwB,WACHlH,EAAKpD,EAAIyN,KAAOyM,CAClB,CACF,GACF,IAEEysF,EAAOl/F,OAAS,GAClBk/F,EAAO7+F,SAAQ,SAAC9H,GACdq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,MAA0B,KAAlBrK,EAAKpD,EAAIyN,KAAa,CACzC,IACIs5F,GADS,IAAIC,WACAC,gBAAgB7jG,EAAKpD,EAAIyN,KAAM,aAChDrK,EAAKpD,EAAIyN,KAAOs5F,EAAIjkG,KAAKokG,SAC3B,CACF,GACF,IAEEyB,EAAOlhG,OAAS,GAClBkhG,EAAO7gG,SAAQ,SAAC9H,GACdq2E,EAAa/5B,UAAUj0C,KAAI,SAACjF,GAC1B,GAAIA,EAAKpD,EAAIyN,MAA0B,KAAlBrK,EAAKpD,EAAIyN,KAAa,CACzC,IAAAq7F,EAA6B1lG,EAAKpD,EAAIyN,KAAK5E,MAAM,KAAIkgG,EAAAjzF,YAAAgzF,EAAA,GAA9C5kF,EAAQ6kF,EAAA,GAAEngF,EAAQmgF,EAAA,GACzB3lG,EAAKpD,EAAIyN,KACPjO,cAACiqB,IAAO,CAACnV,UAAU,SAASoV,QAASxF,EAASxkB,SAC5CF,cAACwnB,IAAM,CACLhmB,MACEkjB,EAASzc,QAAU,GACfyc,EACAA,EAASjb,UAAU,EAAG,IAAM,OAElCmM,QAAS,WACPuU,EAAWf,EACb,EACApoB,UAAU,IACVS,KAAK,SACLZ,MAAO,CACLwW,aAAc,MACdmT,gBAAiB,mBACjBlM,OAAQ,6BACRmM,UAAW,OACX9U,MAAO,OACPoK,OAAQ,OACRzI,OAAQ,UAKlB,CACF,GACF,IAEFmuF,EAAgB/8F,YAAKs+F,KAEvB2B,EAAc9xB,EAAa4I,YAC3BrJ,EAAO1tE,YAAKmuE,EAAa/5B,YACzB4oD,GAAiB,GAAO9iG,EAAAE,KAAA,iBAED,OAAvBgmG,GAAiB,GAAMlmG,EAAAE,KAAA,GACQ0mG,aAC7B96F,OAAOigF,IACP,KAAD,GAFKya,EAAgBxmG,EAAAmB,KAGtB4kG,EAAc9Z,GACVua,IACFX,EAAcW,GACdhzB,EAAQ,KAEV0yB,GAAiB,GACjBpD,GAAiB,GAAO,QAE1B8C,EAAgBzgG,GAAInF,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEpBwC,QAAQC,MAAKzC,EAAAgkB,IAAQ,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAExB,gBA7Kc2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KA2LTqlG,GAAgB,SAACrnF,EAAcsnF,GACnC,IAAMC,EAAavnF,EAAQwnF,UACvB,qBACA,mBACE5oG,EAAS,GAAAC,OAAMmhB,EAAQphB,UAAS,0BAChC6oG,EAAc,GAAA5oG,OAAMmhB,EAAQynF,eAAc,SAEhD,OACEzpG,eAAA,OAAKY,UAAWA,EAAUd,SAAA,CACxBE,eAAA,UACEY,UAAWohB,EAAQ0nF,iBACnBl0F,QAASwM,EAAQ2nF,eAAe7pG,SAAA,CAEhCF,cAAA,QAAMgB,UAAW2oG,IACjB3pG,cAACgqG,KAAM,OAEThqG,cAAA,QAAMgB,UAAW6oG,EAAe3pG,SAAEwpG,MAGxC,EAEA,OACE1pG,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAqBH,MAAO,CAAEkf,OAAQ,QAAS7f,SAAA,CAC5DE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD1tF,eAAA,OACEY,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE5DF,cAAA,KAAGgB,UAAU,aAAYd,SAAEwoG,EAAc,IAAM5Z,EAAa,MAC5D9uF,cAAA,OACEa,MAAO,CACL6L,QAAS,OACT+nC,cAAe,MACfka,UAAW,IACXzuD,SAEFF,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aACEloD,cAACiqG,IAAgB,CACfn3F,KAAM,OACNjS,MAAO,CAAEk5F,YAAa,SAG1BrxC,aAAc,WACZyT,EAAQrzD,KAAK,6BAIf,EACAs/C,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,oBACR1R,SAAU,OACVo3B,WAAY,UACZj3B,MAAO,UACP4I,MAAO,mBAoBjB3V,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAAC,WAAA,CAAAC,SACGqoG,EACCvoG,cAAAC,WAAA,CAAAC,SACEF,cAACg6E,GAAY,CACX53C,UAAWysD,EACXpxD,WAAY75B,EACZ4b,QAASupF,EACTjI,cAAe8H,EACfjqB,cAAeA,EACfqiB,eAAgB,SAAC5nF,EAAajP,EAAey1E,GAC3Cx6E,QAAQe,IAAI,gBAAiBiT,GAEzBA,EAAoB,aACtBrW,OAAOqe,KAAK,mBAADngB,OACUmY,EAAoB,aACvC,SAGN,EACA0tE,WAAW,MAIf1mF,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACi8D,KAAK,CACJiuC,eAAgB,SAACrqF,GAAW,OAC1B4pF,GAAc5pF,EAAQ,SAAS,EAEjCsqF,YAAU,EAAAjqG,UAER2oG,GACA7oG,cAACulG,GAAsB,CACrBC,WAAYA,EACZC,iBAAkBA,EAClBjsC,aAAc4c,EACdsvB,iBAAkBA,MAIxB1lG,cAACi8D,KAAK,CACJiuC,eAAgB,SAACrqF,GAAW,OAC1B4pF,GAAc5pF,EAAQ,SAAS,EAEjC7e,UAAW,cACXmpG,YAAU,EAAAjqG,SAGRF,cAAAC,WAAA,CAAAC,SAEEF,cAACg6E,GAAY,CACX53C,UAAWysD,EACXpxD,WAAY75B,EACZk9F,cAAe8H,EACfppF,QAASupF,EACTpqB,cAAeA,EACfqiB,eAAgB,SACd5nF,EACAjP,EACAy1E,GAEIxmE,EAAoB,aACtBrW,OAAOqe,KAAK,mBAADngB,OACUmY,EAAoB,aACvC,SAGN,EACA0tE,WAAW,mBAmCnC,ECzKemY,OAhVM,SAACx/F,GAAkB,IAADylE,EAE/Bx7C,EAAWimC,cACjBn4C,EAAkCC,oBAAkB,GAAKC,EAAApB,YAAAkB,EAAA,GAAvC4wD,GAAF1wD,EAAA,GAAcA,EAAA,IAC9BgJ,EAA8BjJ,mBAC5BiS,EAASknC,SAAS3uD,QAAQ,IAAK,KAChC0e,EAAArK,YAAAoK,EAAA,GAFMoP,EAAOnP,EAAA,GAGdmnD,GAH0BnnD,EAAA,GAGEgmD,MAApBF,EAAMqB,EAANrB,OAAQC,EAAOoB,EAAPpB,QAChB5lD,EAAoCrJ,mBACf,QADuBytD,EAC1CzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,aACtBrpF,EAAAzK,YAAAwK,EAAA,GACDiB,GAHiBhB,EAAA,GAAeA,EAAA,GAGUtJ,oBAAkB,IAAMuK,EAAA1L,YAAAyL,EAAA,GAA3DuC,EAAatC,EAAA,GAAEuC,EAAgBvC,EAAA,GACtCC,EAAgCxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA1C1gB,EAAQ2gB,EAAA,GAAEmoF,EAAWnoF,EAAA,GAC5BwG,EAA8BjR,mBAAc,IAAGkR,EAAArS,YAAAoS,EAAA,GAAxC4hF,EAAO3hF,EAAA,GAAE4hF,EAAU5hF,EAAA,GAC1BC,EAAsCnR,oBAAc,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAnD4hF,EAAW3hF,EAAA,GAAE4hF,EAAc5hF,EAAA,GAClC2I,EAAgC/Z,oBAAc,GAAMga,EAAAnb,YAAAkb,EAAA,GACpDI,GADeH,EAAA,GAAaA,EAAA,GACQha,oBAAc,IAAMoa,EAAAvb,YAAAsb,EAAA,GAAjD4rE,EAAU3rE,EAAA,GAAE64E,EAAa74E,EAAA,GAChCG,EAA4Cva,mBAAc,IAAGwa,EAAA3b,YAAA0b,EAAA,GAAtD24E,EAAc14E,EAAA,GAAE24E,EAAiB34E,EAAA,GACxCG,EAAoC3a,mBAAiB,GAAE4a,EAAA/b,YAAA8b,EAAA,GAAhD08D,EAAUz8D,EAAA,GAAEssD,GAAatsD,EAAA,GAChCG,GAA+B/a,qBAAkBgb,GAAAnc,YAAAkc,GAAA,GAA1C+xC,GAAQ9xC,GAAA,GAAEo4E,GAAUp4E,GAAA,GAC3BnN,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GACf3vB,IAD4B2vB,GAAA,GACJ9qC,sBAAeob,GAAAvc,YAAAsc,GAAA,GAAhChvB,GAAIivB,GAAA,GAAEujD,GAAOvjD,GAAA,GAChBspC,GAAUja,cACNsrB,GAAW7d,cAAX6d,OACFD,GAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,GAAO,GAAE,CAACA,KAClDtnE,GAAQo8D,cAARp8D,IACR8sB,GAA8Bvb,qBAAmBwb,GAAA3c,YAAA0c,GAAA,GAA1Cq0C,GAAOp0C,GAAA,GAAE63E,GAAU73E,GAAA,GAwG1B,SAAA83E,KAvFC,OAuFDA,GAAA3oG,YAAAC,IAAAC,MAzFA,SAAAiC,IAAA,OAAAlC,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACY,OADZ0B,EAAAoiB,GACE2jF,EAAU/lG,EAAA8F,GAAA5B,IAAAlE,EAAA1B,KAAA,EAAY2vD,IAAgB,OAAAjuD,EAAAgrB,GAAAhrB,EAAAT,KAAAS,EAAAwmG,IAAA,EAAAxmG,EAAA8F,IAAA9F,EAAAgrB,KAAA,EAAAhrB,EAAAoiB,IAAApiB,EAAAwmG,IAAA,wBAAAxmG,EAAAP,OAAA,GAAAM,EAAA,MACvCJ,MAAA,KAAAC,UAAA,CAyFD,SAAS+zF,KACP5zE,GAAkBD,GAClB2mF,KACAP,GAAc,EAChB,CAAC,SAEcO,KAAW,OAAAC,GAAA/mG,MAAC,KAADC,UAAA,UAAA8mG,KAqBzB,OArByBA,GAAA9oG,YAAAC,IAAAC,MAA1B,SAAAsC,IAAA,IAAAumG,EAAAt0B,EAAA,OAAAx0E,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAO2B,OAP3B+B,EAAAhC,KAAA,EAEUsoG,EAAS59B,GAAMnb,IAAI,SACrB,WAEE,OADA04C,IAAW,GACJv9B,GAAMnb,IAAI,QACnB,EACA5sC,GAAS3a,WAAUhG,EAAA/B,KAAA,EACW+sB,aAAcC,EAAU,UAAW,CACnE1sB,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEqH,WAAkB,OAANsgG,QAAM,IAANA,OAAM,EAANA,EAAQrgG,eAC1C,KAAD,EANI+rE,EAAmBhyE,EAAAd,KAOzBqyE,GAAQS,GACRnQ,GAAQ,GAAO7hE,EAAA/B,KAAA,gBAAA+B,EAAAhC,KAAA,EAAAgC,EAAA+hB,GAAA/hB,EAAA,SAEfO,QAAQe,IAAI,eAActB,EAAA+hB,IAC1B8/C,GAAQ,GAAO,yBAAA7hE,EAAAZ,OAAA,GAAAW,EAAA,mBAElBT,MAAA,KAAAC,UAAA,CAE2B,SAAAgnG,KAe3B,OAf2BA,GAAAhpG,YAAAC,IAAAC,MAA5B,SAAA2C,IAAA,IAAAomG,EAAA90C,EAAA+0C,EAAAC,EAAA,OAAAlpG,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OASG,OARKuoG,EAAQ7lF,GAAS3a,WACjB0rD,EAAe/wC,GAAS+wC,aAExB+0C,EAAY,CAChBhyC,UAAW+xC,EAAMvgG,WACjByrD,aAAcA,EACdkC,SAAUjzC,GAASizC,SACnBxtD,MAAOua,GAASva,OACjB/F,EAAApC,KAAA,EAE0B+lF,GAA4ByiB,GAAW,KAAD,EAA7DC,EAAcrmG,EAAAnB,KAClBqB,QAAQe,IAAI,iBAAkBolG,GAE9BlB,EAAYkB,GAAgB,wBAAArmG,EAAAjB,OAAA,GAAAgB,EAAA,MAC7Bd,MAAA,KAAAC,UAAA,CAEgC,SAAAonG,KAIhC,OAJgCA,GAAAppG,YAAAC,IAAAC,MAAjC,SAAAkD,EAAkCimG,GAAa,IAAAC,EAAA,OAAArpG,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACrB0mG,aAA+BiC,GAAU,KAAD,EAA5DC,EAAWjmG,EAAA1B,KAEf6mG,EAAkBc,GAAa,wBAAAjmG,EAAAxB,OAAA,GAAAuB,EAAA,MAChCrB,MAAA,KAAAC,UAAA,CAED,GA3JAoI,qBAAU,WACRk6D,GAAQ,GAiIT,WAE2B0kC,GAAAjnG,MAAC,KAADC,UAAA,CAlI1BunG,GAQK,WAEqBZ,GAAA5mG,MAAC,KAADC,UAAA,CAT1BwnG,GACAX,KACA7lG,QAAQe,IAAI,2BAGV0kG,GAAW9nG,OAAO2mB,SAAS86C,SAE/B,GAAG,IAiJCiC,EACF,OAAOzmE,cAAAC,WAAA,IAqET,OACEG,eAACyrG,IAAM,CAAA3rG,SAAA,CACLF,cAAC8rG,IAAK,CAACC,OAAK,EAAC5iC,KAAI,GAAAloE,OAAKiF,GAAG,0BAAyBhG,SAChDF,cAACsoG,GAAgB,MAEnBtoG,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbE,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,iBAAiBH,MAAO,CAAEuuF,UAAW,SAAUlvF,SAAA,CAC5DE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD1tF,eAAA,OACEY,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE5DF,cAAA,KAAGgB,UAAU,aAAYd,SACtB4vB,EAAQ7tB,QAAQ,UAAW,IAAM,IAAM6sF,EAAa,MAEzC,yBAAbvqB,IACCvkE,cAACsuE,GAAgB,CACfE,cAAe,gBACfpmB,cAAe,CACbroC,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,8BAEVoqC,aAAc,WACZyvC,IACF,UAMRn4F,cAACg6E,GAAY,CACXv8C,WAAY75B,GACZw+B,UApSD,cAqSC4+D,eAAgB,SAAC5nF,EAAajP,EAAey1E,GAC3CzjB,GAAQrzD,KAAK,GAAD7H,OACPiF,GAAG,KAAAjF,OAAImY,EAAOqmE,WAAW59E,WAAW,IAAK,MAAK,KAAAZ,OAC/CmY,EAAO41E,kBAGb,EACAt2C,mBAjHa,SAACt/B,GAC1B,IAAM4yF,EAAkB,CACtB,CACExqG,MAAO,OACPoV,KAAM,eACNsiC,QAAS,YAjBd,SAEgCh1C,GAAAsnG,GAAArnG,MAAC,KAADC,UAAA,CAgBzB6nG,CAAmB7yF,EAAO41E,kBAC1BzqE,GAAiB,GACjBkmF,GAAe,GACfC,GAAc,EAChB,GAEF,CACElpG,MAAO,SACPoV,KAAM,cACNsiC,QAAS,WACPryB,YAAc,CACZ3R,QAAS,qCACT4R,OAAQ,SACRlQ,KAAM,0CACNmQ,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAO,WAAD,IAAAqkF,EAAA9pG,YAAAC,IAAAC,MAAE,SAAAC,IAAA,OAAAF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACYqpG,aAAa/yF,EAAO41E,kBAAkB,KAAD,EAA9CpsF,EAAAmB,OAEP2iE,GAAQ,GACRukC,MACD,wBAAAroG,EAAAqB,OAAA,GAAA1B,EAAA,KACF,yBAAA2pG,EAAA/nG,MAAA,KAAAC,UAAA,EANM,IAQX,IAGAgoG,EAAa5mF,GAMjB,OALI+nD,GAAMnb,IAAI,WACZg6C,EAAQ9B,EAAQlqF,MAAK,SAACjU,GAAM,OAAKA,EAAEtB,YAAc0iE,GAAMnb,IAAI,QAAQ,KAErEhtD,QAAQe,IAAI,iBAAkBkhE,IAE1BA,KAAYkG,GAAMnb,IAAI,UAWxBh5C,EAAOkgD,YAAc8yC,EAAM72C,QAC3Bn8C,EAAOkgD,YAAc8yC,EAAMphG,OAVzBhL,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACgkF,KAAW,CACVhjF,UAAU,qBACVyvB,MAAOu7E,EACP9nB,aAAa,4BAId,CAcT,EAkDcvF,cAAeA,GACfmI,WAAW,OAGf9mF,cAACgxF,GAAY,CACX9pE,QAAS5C,EACT6zE,aAAcA,GACdd,kBAAmB91F,EACnB22F,cAAeuS,EACf4B,WAAY7B,EACZxS,UAAWwF,EACXvH,oBAAqB0U,EACrBtS,mBAAoBuS,EACpBxiC,aAAcA,OAIlBpoE,cAAA,OACEa,MAAO,CACL2pB,gBAAiB,qBACjBpH,aAAc,OACd+qE,YAAa,OACbpkB,cAAe,OACfslB,KAAM,MACN15E,MAAO,QACPzV,SAEFF,cAACquE,GAAgB,aAM7B,I,oFClWai+B,GAAoB,SAAC7sG,GACd4oB,iBAAuB,MAgBzC,OAfA7b,qBAAU,WACRpH,QAAQe,IAAI,CAAEomG,OAAQ9sG,EAAM+sG,SAC9B,GAAG,CAAC/sG,EAAM+sG,UAcRxsG,cAAA,OAAKgB,UAAU,gBAAed,SAC3BT,EAAMgtG,cACLhtG,EAAM0oE,UACJnoE,cAACsjC,KAAe,CAACtiC,UAAU,aACzBvB,EAAM+sG,QAAQvkG,OAAS,EACzBjI,cAAA,UACE0lD,IAAKjmD,EAAM+sG,QAAU,aACrBE,iBAAiB,EACjBC,YAAa,IAIf3sG,cAAC4sG,KAAK,IAGRxsG,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CAEnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,mBAC1BF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAC,uHAQxC,EChDa2sG,I,OAAoB,SAACptG,GAEhC,IAAA+X,EAAsBC,qBAAeC,EAAApB,YAAAkB,EAAA,GAA9Bu6D,EAAGr6D,EAAA,GAAEo1F,EAAMp1F,EAAA,GAClBgJ,EAA8BjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAtCymB,EAAOxmB,EAAA,GAAEosF,EAAUpsF,EAAA,GAoB1B,OAHAnU,qBAAU,WAdJ/M,EAAMgL,aACRsiG,EACEttG,EAAMgL,WAAWuiG,eAAeviG,WAAW+F,wBAEzC22B,GACF1nC,EAAMgL,WAAWuiG,eAAepwE,oBAAoB/zB,KAAI,SAACsD,GACnDg7B,IAAYh7B,EAAE0uB,UAChBiyE,EAAO3gG,EAAE0uB,SAEb,IAON,GAAG,CAACsM,EAAS1nC,EAAMgL,WAAWilB,SAE5B1vB,cAAAC,WAAA,CAAAC,SACIE,eAAA,OAAKY,UAAS,uBAAAC,OAAyBxB,EAAMk6B,WAAal6B,EAAMk6B,UAAUkB,WAAak3C,EAAO,YAAc,IAAK7xE,SAAA,CAC/GF,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,cAAad,SAAA,CACzBT,EAAMk6B,WACL35B,cAAA,KAAGgB,UAAU,eAAcd,SACxBT,EAAMk6B,UAAUS,UACf36B,EAAMk6B,UAAUS,SAAS6yE,OACtBxjG,UAAU,EAAG,GACbuyD,gBAGRv8D,EAAMmL,WACL5K,cAAA,KAAGgB,UAAU,eAAcd,SACxBT,EAAMmL,WACLnL,EAAMmL,UAAUI,OAAOvB,UAAU,EAAG,GAAGuyD,qBAKjD57D,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC5BT,EAAMk6B,WACLv5B,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,YAAWd,SAAET,EAAMk6B,UAAUS,SAAS6yE,SACnDjtG,cAAA,KAAGgB,UAAU,YAAWd,SACrBT,EAAMk6B,UAAUS,SAAS8yE,oBAI/BztG,EAAMmL,WACLxK,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,YAAWd,SAAET,EAAMmL,UAAUI,SAC1ChL,cAAA,KAAGgB,UAAU,YAAWd,SAAET,EAAMmL,UAAUM,uBAKhD9K,eAAA,KAAGY,UAAU,6BAA4Bd,SAAA,CACtCT,EAAMk6B,WAAal6B,EAAMk6B,UAAUS,SAAS+yE,iBAC5C1tG,EAAMmL,WAAanL,EAAMmL,UAAUO,uBAGvC1L,EAAMk6B,WACL35B,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAAE,SAAOT,EAAMk6B,UAAUyzE,qBAMrC,GCvEaC,I,OAAa,SAAC5tG,GACzB,IAAQgwD,EAAMC,YAAe,CAAC,gBAAtBD,EACR,OACEzvD,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,KAAGgB,UAAU,kBAAiBd,SAAC,SAC/BE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,cAAad,SAAEuvD,EAAE,gBAC9BzvD,cAAC6sG,GAAiB,CAChBjiG,UAAWnL,EAAMmL,UACjBH,WAAYhL,EAAMgL,gBAGtBrK,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,cAAad,SAAC,cAC1BT,EAAMk6B,WACLl6B,EAAMk6B,UAAU9wB,KAAI,SAACjF,EAAWqV,GAC9B,OACEjZ,cAAC6sG,GAAiB,CAChBlzE,UAAW/1B,EAEX6G,WAAYhL,EAAMgL,YADbwO,EAIX,WAKZ,G,kBCxBaq0F,GAAmB,SAAC7tG,GAC/B,IAAA+X,EAAwBC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAApC5T,EAAI8T,EAAA,GAAE0+D,EAAO1+D,EAAA,GACpBgJ,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5C6sF,EAAU5sF,EAAA,GAAE6sF,EAAa7sF,EAAA,GAChCG,EAA0CrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA3DwD,EAAavD,EAAA,GAAEwD,EAAgBxD,EAAA,GACtCuE,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GAEP5qC,GAFoB4qC,EAAA,GACdmN,YAAe,CAAC,gBAAtBD,EACkBppD,eAAlBsR,eACRnL,qBAAU,WACR2xE,GACF,GAAG,IAEH,IAAMA,EAAY,WAChB,IAAMsvB,EAAkBhuG,EAAMiuG,mBACxBC,EAA0B,OAAfF,QAAe,IAAfA,OAAe,EAAfA,EAAiBl9C,MAAK,SAAC1U,EAAQ2U,GAC9C,IAAMo9C,EAAK5kG,KAAO6yC,EAAEgyD,YAAa,uBAC3BC,EAAK9kG,KAAOwnD,EAAEq9C,YAAa,uBACjC,OAAO7kG,KAAO4kG,GAAIlkE,KAAKokE,EACzB,IACA13B,EAAQu3B,EACV,EAWMI,EAAc,SAACnqG,GACnB,OAXqB,SAAC4E,GACtB,GAAa,MAATA,EACF,MAAO,GACD,IAADoR,EACDo0F,EAAYhlG,KAAOR,EAAO,uBAC9B,OAAOQ,KAAOglG,GAAWplG,QACV,OAAb+O,QAAa,IAAbA,GAAyB,QAAZiC,EAAbjC,EAAe2qF,kBAAU,IAAA1oF,OAAZ,EAAbA,EAA2B6xB,SAAU,yBAG3C,CAES76B,CAAehN,EACxB,EA8BMqqG,EAAgB,SAACrqG,GACrB,OA7Ba,OADO4E,EA8BA5E,GA5BX,GAEO,WAAV4E,EACK/I,EAAMgwD,EAAE,aACI,WAAVjnD,EACF/I,EAAMgwD,EAAE,YACI,WAAVjnD,EACF/I,EAAMgwD,EAAE,YACI,WAAVjnD,EACF/I,EAAMgwD,EAAE,YACI,YAAVjnD,EACF/I,EAAMgwD,EAAE,YACI,UAAVjnD,EACF/I,EAAMgwD,EAAE,SACI,WAAVjnD,EACF/I,EAAMgwD,EAAE,UACI,WAAVjnD,EACF/I,EAAMgwD,EAAE,UACI,oBAAVjnD,EACF/I,EAAMgwD,EAAE,mBACI,UAAVjnD,EACF/I,EAAMgwD,EAAE,SAERjnD,EAzBQ,IAACA,CA+BtB,EACM0lG,EAAiB,SAAC1lG,GACtB,MAAc,QAAVA,EAEApI,eAAA,KAAGY,UAAU,iBAAgBd,SAAA,CAC3BF,cAACmuG,IAAgB,IAAG,0EAIZ,QAAV3lG,EAEApI,eAAA,KAAGY,UAAU,iBAAgBd,SAAA,CAC3BF,cAACouG,IAAW,IAAG,kGAIP,YAAV5lG,EAEApI,eAAA,KAAGY,UAAU,iBAAgBd,SAAA,CAC3BF,cAACquG,IAAa,IAAG,sGAIT,SAAV7lG,EAEApI,eAAA,KAAGY,UAAU,iBAAgBd,SAAA,CAC3BF,cAACsuG,KAAM,IAAG,wGAHhB,CAOF,EACMC,EAAkB,SAAC3qG,GACvB,OAAOsqG,EAAetqG,EACxB,EAKA,SAAS4qG,EAAYC,EAAeC,GAClC,IAAIhrG,EAAmB,GAMvB,OAJEA,EADEgrG,EAON,SAAsBn2B,EAAWtwE,GAC/B,GAAY,MAARswE,EACF,MAAO,GAET,GAAIA,EAAKtwE,QAAUA,EACjB,OAAOswE,EAGT,IAAIo2B,GADJp2B,EAAOA,EAAK9uE,UAAU,EAAGxB,IACTwhC,YAAY,KAE5B,OADA8uC,EAAOA,EAAK9uE,UAAU,EAAGklG,IACX,kBAChB,CAjBeC,CAAaH,EAAU,KAEvBA,EAENzuG,cAAA,OAAKiX,wBAAyB,CAAEC,OAAQxT,IACjD,CAsJA,OACEtD,eAAA,OAAAF,SAAA,CACGqtG,GAzIDvtG,cAACgnB,IAAM,CACLE,QAAS5C,EACTzjB,MAAO,CAAE8U,MAAO,QAChB0R,OAAQ,kBAAM9C,GAAiB,EAAM,EACrCsqF,iBAAe,EACfvnF,WAAW,EAAMpnB,SAEjBF,cAAA,KAAAE,SACEE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,oBAAoBH,MAAO,CAAE8U,MAAO,QAASzV,SAAA,CAC1DE,eAAA,KACEY,UAAU,oBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE3DT,EAAMgwD,EAAE,QAAQ,KAAG,IACD,OAAlBjqC,EAASuzC,KACNw0C,EAAWuB,cACXvB,EAAWwB,cACf3uG,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACX,SAArBqtG,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,WAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,mBAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,SAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,UAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,YAIV,WAArBwzF,EAAWxzF,QACV/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcV,EAAWxzF,kBAMpC3Z,eAAA,KAAGY,UAAU,oBAAmBd,SAAA,CAAC,aACpB,IACQ,OAAlBslB,EAASuzC,KACNw0C,EAAWyB,uBACXzB,EAAW0B,0BAEjB7uG,eAAA,KAAGY,UAAU,sBAAqBd,SAAA,CAC/BT,EAAMgwD,EAAE,eAAe,MAAI89C,EAAWxmG,UAEzC3G,eAAA,KAAGY,UAAU,oBAAmBd,SAAA,CAC7BT,EAAMgwD,EAAE,eAAe,KAAG,IAC1Bs+C,EAAYR,EAAWM,gBAE1B7tG,cAAA,KACEgB,UAAU,sBACVH,MAAO,CAAEsgE,aAAc,cAAejhE,SAErCsuG,EAAYjB,EAAW2B,gBAI9BlvG,cAAA,OAAKgB,UAAU,YAAWd,SACvBquG,EAAgBhB,EAAW4B,mBAUpCnvG,cAAA,KAAGgB,UAAU,kBAAiBd,SAAET,EAAMgwD,EAAE,aAExCzvD,cAAA,OAAKgB,UAAU,uBAAsBd,SAClC0D,EAAKqE,OAAS,GACbrE,EAAKiF,KAAI,SAACjF,EAAMqV,GAAG,IAAAm2F,EAAA,OACjBhvG,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,oBAAoBH,MAAO,CAAE8U,MAAO,QAASzV,SAAA,CAC1DE,eAAA,KACEY,UAAU,oBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE3DT,EAAMgwD,EAAE,QAAQ,KAAG,IACD,OAAlBjqC,EAASuzC,KACNn1D,EAAKkrG,cACLlrG,EAAKmrG,cACT3uG,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjB,SAAf0D,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,WAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,mBAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,SAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,UAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,YAIV,WAAfnW,EAAKmW,QACJ/Z,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAMa,MAAO,CAAE2pB,gBAAiB,WAAYtqB,SACzC+tG,EAAcrqG,EAAKmW,kBAM9B3Z,eAAA,KAAGY,UAAU,oBAAmBd,SAAA,CAC7BT,EAAMgwD,EAAE,YAAY,KAAG,IACL,OAAlBjqC,EAASuzC,KACNn1D,EAAKorG,uBACLprG,EAAKqrG,0BAEX7uG,eAAA,KAAGY,UAAU,sBAAqBd,SAAA,CAC/BT,EAAMgwD,EAAE,eAAe,MAAI7rD,EAAKmD,UAEnC3G,eAAA,KAAGY,UAAU,oBAAmBd,SAAA,CAC7BT,EAAMgwD,EAAE,eAAe,KAAGs+C,EAAYnqG,EAAKiqG,gBAE9C7tG,cAAA,KACEgB,UAAU,sBACVH,MAAO,CAAEsgE,aAAc,cAAejhE,SAErCsuG,EAAY5qG,EAAKsrG,SAAS,MAExB,OAAJtrG,QAAI,IAAJA,OAAI,EAAJA,EAAMsrG,WAAe,OAAJtrG,QAAI,IAAJA,GAAa,QAATwrG,EAAJxrG,EAAMsrG,eAAO,IAAAE,OAAT,EAAJA,EAAennG,SAAU,KACzCjI,cAAA,KAAGgB,UAAU,qBAAoBd,SAC/BF,cAAA,KACEgB,UAAU,eACV4U,QAAS,WACP2O,GAAiB,GACjBnf,QAAQe,IAAI8S,EAAK,OACjBu0F,EAAc5pG,EAChB,EAAE1D,SAEDT,EAAMgwD,EAAE,iBAMnBzvD,cAAA,OAAKgB,UAAU,YAAWd,SAAEquG,EAAgB3qG,EAAKurG,cAC7C,QAKlB,EC7ZaE,I,OAAgB,SAAC5vG,GAC5B,IAAA+X,EAAsCC,mBACpChY,EAAM6vG,YAAc7vG,EAAM6vG,YAAc,IACzC53F,EAAApB,YAAAkB,EAAA,GACOi4C,GAHU/3C,EAAA,GAAgBA,EAAA,GAGpBg4C,YAAe,CAAC,gBAAtBD,GAER,OACEzvD,cAAA,OAAKgB,UAAU,0BAAyBd,SACtCF,cAACstG,GACC,CACAI,mBAAoBjuG,EAAM6vG,YAC1B7/C,EAAGA,KAQX,GChBa8/C,GAA0B,SAAC9vG,GACtC,IAAA+X,EAAwCC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAA7Cg4F,EAAY93F,EAAA,GAAE+3F,EAAe/3F,EAAA,GAM9B+Q,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAElE+lB,EAAqBP,EAAU1D,kBAErCvY,qBAAU,WACRkjG,GACF,GAAG,IAEH,IAiEqBC,EAjEfD,EAAQ,eAAAvtG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAotG,EAAAH,EAAAlmF,EAAAC,EAAAC,EAAA,OAAAnnB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAET6sG,EAAalwG,EAAMmE,KAAKgsG,YACdD,EAAWtmG,MAAM,KAC7BmmG,EAAe,GACblmF,EAAQqmF,EACe,MAAzBA,EAAWlmF,OAAO,IAAeT,EAE/B2mF,EADA,IAAMA,EAER,GACEpmF,EAAWxmB,OAAO2mB,SAASH,SAC7BP,EACFwmF,EAAelmF,EAENb,EAAUzD,SACbwE,EAAQE,SAASE,KACD,mBAAlBF,SAASC,MACPH,IACFf,EAAUzD,QAAUyD,EAAUzD,QAAU,IAAMwE,GAe9CgmF,EAVFlmF,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACL,WAAAxH,OAAcqoB,EAAMznB,WAAW,WAAY,KAM9CynB,EAAM7gB,SAAS,QACZ,UAAAxH,OAAaqoB,EAAMznB,WAAW,UAAW,KAOzC,WAAAZ,OAAcqoB,GAIhB,GAAAroB,OAAMsoB,EAAQ,MAAAtoB,OAAKwnB,EAAUzD,SAAO/jB,OAAGqoB,IAO3Cb,EAAUzD,UACpBwqF,EAAY,GAAAvuG,OAAMqoB,IAGpBmmF,EAAgBD,GAAc,wBAAA5sG,EAAAqB,OAAA,GAAA1B,EAAA,KAC/B,kBA/Da,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KA0Fd,OACEpE,cAAAC,WAAA,CAAAC,SACGT,EAAMmE,MACLxD,eAAA,OACEY,UAAU,4BACV4U,QAAS,kBAAM7S,OAAOqe,KAAKouF,EAAc,SAAU,aAAa,EAACtvG,SAAA,CAEjEF,cAAA,OAAKgB,UAAU,qBAAoBd,UAhCtByvG,EAiCIlwG,EAAMmE,KAAKgsG,YAhC9BD,EAAWvgG,SAAS,OACfpP,cAAC6vG,IAAoB,CAACjjG,SAAU,KAEvC+iG,EAAWvgG,SAAS,QACpBugG,EAAWvgG,SAAS,QACpBugG,EAAWvgG,SAAS,QAEbpP,cAAA,OAAK0lD,IAAK8pD,EAAc7pD,IAAI,aAC1BgqD,EAAWvgG,SAAS,QAAUugG,EAAWvgG,SAAS,QACpDpP,cAAC8vG,KAAU,CAACljG,SAAU,KAE7B+iG,EAAWvgG,SAAS,QACpBugG,EAAWvgG,SAAS,QACpBugG,EAAWvgG,SAAS,QAEbpP,cAAC+vG,IAAsB,CAACnjG,SAAU,KAChC+iG,EAAWvgG,SAAS,SAAWugG,EAAWvgG,SAAS,OACrDpP,cAACgwG,KAAgB,CAACpjG,SAAU,KAC1B+iG,EAAWvgG,SAAS,OACtBpP,cAACiwG,IAAyB,CAACrjG,SAAU,UADvC,KAgBDxM,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,KAAGgB,UAAU,cAAad,SAAET,EAAMmE,KAAKssG,cACvClwG,cAAA,KAAGgB,UAAU,kBAAiBd,SAAET,EAAMmE,KAAKusG,MAAMnlG,SACjDhL,cAAA,KAAGgB,UAAU,cAAad,SAAET,EAAMmE,KAAKoP,iBAEzChT,cAAA,KAAGgB,UAAU,cAAad,SAtHf,WACjB,IAAI8tG,EAAYhlG,KAAOvJ,EAAMmE,KAAKwsG,YAAa,uBAE/C,OAAOpnG,KAAOglG,GAAWplG,OAAO,qBAClC,CAkHoCyR,SAKtC,EClIag2F,I,OAAmB,SAAC5wG,GAK/B,OACEO,cAAA,OAAKgB,UAAU,6BAA4Bd,SACxCT,EAAM6wG,aACL7wG,EAAM6wG,YAAYroG,OAAS,GAC3BxI,EAAM6wG,YAAYznG,KAAI,SAACjF,EAAWqV,GAAQ,OACxCjZ,cAACuvG,GAAuB,CAAW3rG,KAAMA,GAAXqV,EAAmB,KAI3D,G,wQCgDe,SAASs3F,GAAiB9wG,GACvC,IAAQiX,EAAgBkH,cAAhBlH,YACRc,EAA8BC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAA3C03F,EAAOx3F,EAAA,GAAE84F,EAAU94F,EAAA,GAC1BgJ,EAAsCjJ,mBAAS,iGAAqBkJ,EAAArK,YAAAoK,EAAA,GAAhD+vF,GAAF9vF,EAAA,GAAgBA,EAAA,IAClCG,EAAgCrJ,oBAAS,GAAKsJ,EAAAzK,YAAAwK,EAAA,GAA5B4vF,GAAF3vF,EAAA,GAAYA,EAAA,IAC5BgB,EAAgDtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAAxD2yC,EAAgB1yC,EAAA,GAAE2yC,EAAmB3yC,EAAA,GAC5CC,EAAwCxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAAhD0uF,EAAYzuF,EAAA,GAAE0uF,EAAe1uF,EAAA,GACpCwG,EAAkDjR,mBAAS,IAAGkR,EAAArS,YAAAoS,EAAA,GAAvDipE,EAAiBhpE,EAAA,GAAEipE,EAAoBjpE,EAAA,GAC9CC,EAAoCnR,mBAAgB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAhD+sD,EAAU9sD,EAAA,GAAE+rC,EAAa/rC,EAAA,GAChC2I,EAA4C/Z,oBAAS,GAAMga,EAAAnb,YAAAkb,EAAA,GAApDqgE,EAAepgE,EAAA,GAAEkvB,EAAgBlvB,EAAA,GACxCG,EAAwDna,oBAAS,GAAMoa,EAAAvb,YAAAsb,EAAA,GAAhE3M,EAAoB4M,EAAA,GAAE/M,EAAuB+M,EAAA,GACpDG,EAAkCva,oBAAS,GAAMwa,EAAA3b,YAAA0b,EAAA,GAA1C6+E,EAAS5+E,EAAA,GAAE6+E,EAAY7+E,EAAA,GAC9BG,EAAgD3a,mBAAgB,IAAG4a,EAAA/b,YAAA8b,EAAA,GAA5D2+E,EAAgB1+E,EAAA,GAAE2+E,GAAmB3+E,EAAA,GACtC7M,GAAWjiB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAC1DwhB,GAAQ4D,mBACdmK,GAA0C/a,mBACG,QAA3CkrF,eAAe1/F,QAAQ,kBACxBwvB,GAAAnc,YAAAkc,GAAA,GAFMy+E,GAAax+E,GAAA,GAGpBG,IAHsCH,GAAA,GAGoBhb,mBACL,QAAnDkrF,eAAe1/F,QAAQ,2BACxB4vB,GAAAvc,YAAAsc,GAAA,GAFMs+E,GAAqBr+E,GAAA,GAG5BG,IAHsDH,GAAA,GAGxBpb,oBAAkB,IAAMwb,GAAA3c,YAAA0c,GAAA,GAA/Cm+E,GAAOl+E,GAAA,GAAEm+E,GAAUn+E,GAAA,GAC1BI,GAAwB5b,mBACF,mBAApBhY,EAAMiS,YAAmCw/F,IAEjB,UAApBzxG,EAAMiS,YAA0Bu/F,GADhC,WAGA,UALCrwD,GAMNtqC,YAAA+c,GAAA,GANmB,GAYY,SAAA+hC,KAK/B,OAL+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAC,IAAA,IAAA8yD,EAAA,OAAAhzD,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC4B2vD,IAAiB,KAAD,EAAtC4C,EAAazyD,EAAAmB,KACjB4wD,EAAoBU,GACpBT,EAAcS,GACdy7C,GAAa,GAAO,wBAAAluG,EAAAqB,OAAA,GAAA1B,EAAA,MACrB4B,MAAA,KAAAC,UAAA,CAVDoI,qBAAU,YAIgC,WACV4oD,GAAAjxD,MAAC,KAADC,UAAA,CAJ9B+wD,EACF,GAAG,IAEH3oD,qBAAU,WAAO,GAAG,CAAC/M,EAAMk9B,eAQ3B,IAAM00E,GAAuB,SAACllG,GAC5B,IAAM3D,EAAQ2D,EAAEuG,OAAOlK,MACjB8oG,EAAU58C,EAChBk9B,EAAqBppF,GACrB,IAAM5E,EAAO0tG,EAAQp5F,QAAO,SAACtU,GAAe,IAAD2tG,EAAAC,EACzC,IACoE,IAAlE5tG,EAAKmH,aAAaJ,cAAcnB,QAAQhB,EAAMmC,iBACgB,KAAnD,QAAX4mG,EAAA3tG,EAAK2xD,cAAM,IAAAg8C,OAAA,EAAXA,EAAa5mG,cAAcnB,QAAa,OAALhB,QAAK,IAALA,OAAK,EAALA,EAAOmC,kBACoB,KAAnD,QAAX6mG,EAAA5tG,EAAKoH,cAAM,IAAAwmG,OAAA,EAAXA,EAAa7mG,cAAcnB,QAAa,OAALhB,QAAK,IAALA,OAAK,EAALA,EAAOmC,kBAC0B,IAApE/G,EAAKsH,eAAeP,cAAcnB,QAAQhB,EAAMmC,iBACsB,IAAtE/G,EAAKuH,iBAAiBR,cAAcnB,QAAQhB,EAAMmC,eAElD,OAAO,CAEX,IACAiqD,EAAalsD,YAAK9E,GACpB,EAEA,SAASk7F,KAAwB,IAAdxqB,IAAIlwE,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,KAAAA,UAAA,GACI,IAArButF,GACFC,EAAqB,IAEvBjxC,EAAiB2zB,EACnB,CAEA,IAAMm9B,GAAY,WAChB/6F,EAAY,CACV1D,YAAY,yBACZkC,QAAQ,yBACRzT,KAAM,WAEV,EAwBMiwG,GAAuB,WAC3B,OACE1xG,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,kCAAiCd,SAC9CE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,UACEgB,UAAU,gBACV4U,QAAS,WA9BrBo7F,GAAoB,GA8BiC,EAAC9wG,SAC3C,YAIHF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,UACEgB,UAAU,iBACV4U,QAAS,kBApCY,WACjC,GAA+B,GAA3Bm7F,EAAiB9oG,OACnByO,EAAY,CACV1D,YAAY,uCACZkC,QAAQ,2BACRzT,KAAM,gBAEH,CACL,IAAI26B,EAAW20E,EAAiB/pD,QAC9B,SAAC6D,EAAG9+C,GAEF,OADA8+C,EAAE7/C,OAAOlC,KAAKiD,EAAElB,YACTggD,CACT,GACA,CAAEhgD,WAAY,EAAGG,OAAQ,KAE3BoxB,EAASpxB,OAASoxB,EAASpxB,OAAOrB,KAAK,KACvCmb,GAAwB,GACxB8rF,EAAgB,CAAEhtG,KAAMw4B,GAC1B,CACF,CAiB6Bu1E,EAA4B,EAACzxG,SAC7C,oBAQb,EAoFMunF,GAAoB,SAAC7H,GACrBA,EAAMp3E,QACa,UAAjBo4C,IACF97B,GAAwB,GAEtB8rF,EADEK,IAAiBC,GACH,CACdttG,KAAM,CAAEiH,WAAY,EAAGG,OAAQgE,OAAO4wE,EAAMp3E,MAAMqC,cAGpC,CAAEjH,KAAMg8E,EAAMp3E,SAEN,YAAjBo4C,IACTowD,GAAoBpxB,EAAMp3E,OAGhC,EA4BMopG,GAAe,WACnB,OACE5xG,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCE,eAAA,QAAMY,UAAU,4CAA2Cd,SAAA,CACzDF,cAAA,KAAGgB,UAAU,iBACbhB,cAACioB,IAAS,CACRjnB,UAAU,0BACVwH,MAAOmpF,EACPl/E,SAAU4+F,GACVt+F,YAAY,eAKtB,EA8MA,IAAM8+F,GAAa,SACjBC,EACAC,EACAC,GAEA5sG,QAAQe,IAAI,CAAE2rG,iBACdryG,EAAMwyG,kBAAiB,GACO,aAA1BxyG,EAAMyyG,SAASnmD,QAAyBtsD,EAAM0yG,SAChD1yG,EAAM0yG,SAASL,EAAcE,EAAaD,GAUP,YAA1BtyG,EAAMyyG,SAASnmD,SACxB3mD,QAAQe,IAAI,YAAa,CACvBuL,WAAYjS,EAAMiS,WAClBogG,aAAcA,EACdM,WAAYJ,EACZK,aAAcN,IAGhBtyG,EAAMilC,cAAa,SAACv4B,GAClB/G,QAAQe,IAAI,aAAcgG,GAC1B1M,EAAMklC,SAASx4B,EAAG,CAChBuF,WAAYjS,EAAMiS,WAClBogG,aAAcA,EACdM,WAAYJ,EACZK,aAAcN,GAElB,GARAtyG,GAUJ,EAKA,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAC4mB,IAAM,CACLhmB,UAAU,uBAEVkmB,QAASznB,EAAM6yG,cACfzxG,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,OAAQ4iD,SAAU,SAASs4C,SAAS,QAC1E1D,iBAAe,EACfvnF,WAAW,EACX85B,WAAW,EACXD,UAAU,EACV95B,OAAQ,kBAAM5nB,EAAMwyG,kBAAiB,EAAM,EAC3C1qF,OAxHS,WACb,OACEvnB,cAAA,OAAKgB,UAAU,kCAAiCd,SAC9CE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,UACEgB,UAAU,gBACV4U,QAAS,WACPnW,EAAMwyG,kBAAiB,GACvBzB,EAAW,GACb,EAAEtwG,SACH,aAIHF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,UACEgB,UAAU,iBACV4U,QAAS,WAanBg/C,EAAcF,GAES,WAArBj1D,EAAMiS,YACe,UAArBjS,EAAMiS,YACe,YAArBjS,EAAMiS,YAENg/F,GAAW,GACXmB,GAAW3C,IAEU,WAArBzvG,EAAMiS,YACe,WAArBjS,EAAMiS,YACe,WAArBjS,EAAMiS,YACe,WAArBjS,EAAMiS,YACe,WAArBjS,EAAMiS,YACe,UAArBjS,EAAMiS,WAEDw9F,EAKH2C,GAAW3C,IAJXuB,EAAe,0LACfC,GAAW,GACXe,MAKmB,WAArBhyG,EAAMiS,YACe,oBAArBjS,EAAMiS,aAEDw9F,EAKHpQ,MAJA2R,EAAe,0LACfC,GAAW,GACXe,MAzCM,EAAEvxG,SACH,kBAOX,EA4FqBA,SAAA,CAEfF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KAnQU,WAC1B,IAAK,IAAD+tF,EAAAC,EAAAC,EACF,OACEtyG,eAAAH,WAAA,CAAAC,SAAA,EACyB,WAArBT,EAAMiS,YAAgD,YAArBjS,EAAMiS,cACrB,QAAlB8gG,EAAA/yG,EAAMk9B,oBAAY,IAAA61E,OAAA,EAAlBA,EAAoBt6F,QAAO,SAAC8kB,GAAI,OAC9Bm0E,GACIn0E,EAAKnC,UAAYp7B,EAAMkzG,iBAAmB,EAC1C31E,EAAKnC,WAAap7B,EAAMkzG,iBAAmB,CAAC,IAChD1qG,QAAS,GACT7H,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,sBAAqBd,SAAA,CAClCF,cAAA,KAAAE,SAAG,2GACHE,eAAC+wE,KAAS,CACRr+D,KAAK,QACL2rF,YAAU,EACVC,aAAa,QACbl2F,MAAyB,QAApBiqG,EAAEhzG,EAAMk9B,oBAAY,IAAA81E,GAKtB,QALsBC,EAAlBD,EACHv6F,QAAO,SAAC8kB,GAAI,OACZm0E,GACIn0E,EAAKnC,UAAYp7B,EAAMkzG,iBAAmB,EAC1C31E,EAAKnC,WAAap7B,EAAMkzG,iBAAmB,CAAC,WACjD,IAAAD,OALsB,EAAlBA,EAMH7pG,KAAI,SAACsD,GAGL,OAFA/G,QAAQe,IAAI,UAAWgG,GAEhB,CACLoF,KAAMpF,EAAEiuB,SACyB,OAA/B5U,GAAS4F,aAAa2tC,KAClB,SACA,UAEN3vD,SACE+C,EAAEiuB,SAC+B,OAA/B5U,GAAS4F,aAAa2tC,KAClB,iBACA,kBAER65C,WACEzmG,EAAEiuB,SAC+B,OAA/B5U,GAAS4F,aAAa2tC,KAClB,mBACA,oBAER85C,UACE1mG,EACiC,OAA/BqZ,GAAS4F,aAAa2tC,KAClB,eACA,gBAGZ,IAAG74D,SAAA,CAELF,cAACs4B,KAAM,CACLzoB,MAAM,OACNijG,UAAU,OACVhsF,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4EAIjCF,cAACs4B,KAAM,CACLzoB,MAAM,WACNijG,UAAU,WACVhsF,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oDAIjCF,cAACs4B,KAAM,CACLzoB,MAAM,aACNijG,UAAU,aACVhsF,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0DAIjCF,cAACs4B,KAAM,CACLzoB,MAAM,YACNijG,UAAU,YACVhsF,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,6DAKlC0pC,KAAK3sB,IAAG9Y,MAARylC,KAAIlhC,YAAQjJ,EAAMk9B,aAAa9zB,KAAI,SAACk+C,GAAC,OAAKA,EAAElsB,QAAQ,OAClDp7B,EAAMkzG,iBAAmB,GAC1B,GACA3yG,cAAA,QACEa,MAAO,CACL+L,SAAU,QACVuhF,YAAa,MACbphF,MAAO,UACPsmC,OAAQ,WAEVz9B,QAAS,WACPw7F,IAAYD,GACd,EAAEjxG,SAEDixG,GACCnxG,cAAAC,WAAA,CAAAC,SAAE,uBAEFF,cAAAC,WAAA,CAAAC,SAAE,4EAOVF,cAAA,YAINI,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAC+yG,KAAe,IAAG,IAAC/yG,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,aACjC,IAAlBT,EAAMkC,SACL3B,cAAA,KAAGgB,UAAU,yDAAwDd,SAAC,WAOhF,CAAE,MAAOmF,GAEP,OADAD,QAAQC,MAAMA,GACPrF,cAAAC,WAAA,GACT,CACF,CA4HO+yG,GACDhzG,cAAA,OACEgB,UAAU,0DACV4U,QAAS,kBAAMxQ,QAAQe,IAAI1G,EAAMiS,WAAW,EAACxR,SAE7CF,cAAC2iD,KACC,CACAswD,OAAQ,WACNnC,GAAa,EACf,EACAluD,iBAC2B,qCAE3BC,KAAM,CAEJC,WAAW,EACXC,mBAAmB,EACnBC,QAAS,GACTC,aAAa,EAEbljC,OAAQ,IACRqjC,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,QAAS,CACP,aACA,yEACA,2CACA,yEACA,oEACA,QAEFC,QAAS,GACTE,iBACE,mDACFC,aACE,mlBAqBFC,cACE,uOAGJx7C,MAAO0mG,EACPxqD,eAAgB,SAACx6B,EAAcy6B,GAC7Bv/C,QAAQe,IAAI,CAAE+jB,YAEdsmF,EAAWtmF,EAEb,SAvdNlqB,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OAAQ8qF,GACR1qF,QAAS2qE,EACThxF,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ,kBAAMy3E,IAAU,EAAM,EAC9Bx3E,WAAW,EACX85B,WAAW,EACXD,UAAU,EACVl6B,aAAW,EACXM,OAAyB,YAAjBq5B,IAA8B8wD,GAA6BxxG,SAEnEE,eAAC+wE,KAAS,CACR3xD,QAASqxF,EACT5pB,WAAS,EACThjE,KAAM,EACNzb,MAAOmtE,EACP/0B,cAAeA,GACf2wB,QAAQ,aACRC,iBAAiB,SACjB0hC,kBAAkB,EAClB1rB,UAAWupB,EACXtpB,kBAAmBA,GAAkBvnF,SAAA,CAErCF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,8EAKnCF,cAACs4B,KAAM,CACLzoB,MAAsC,OAA/B2V,GAAS4F,aAAa2tC,KAAgB,SAAW,SACxDjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oCAKnCF,cAACs4B,KAAM,CACLzoB,MACiC,OAA/B2V,GAAS4F,aAAa2tC,KAClB,iBACA,iBAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sDAKnCF,cAACs4B,KAAM,CACLzoB,MACiC,OAA/B2V,GAAS4F,aAAa2tC,KAClB,mBACA,mBAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,mEA4BzCF,cAAAC,WAAA,CAAAC,SACEF,cAAC+pB,IAAa,CACZ7C,QAASjC,EACToC,OAAQ,kBAAMvC,GAAwB,EAAM,EAC5C5P,QAAQ,sCACR4R,OAAO,eACPlQ,KAAK,0CACLoT,gBAAgB,gIAChBnC,OAAQ,WACNgqF,GACE3C,EACAyB,EAAa/sG,KAAKiH,WAClB8lG,EAAa/sG,KAAKoH,OAEtB,EACAqT,OAAQ,WACNyG,GAAwB,GACxB8rF,EAAgB,KAClB,EACAtpF,WAAW,EACX85B,WAAW,QAwWrB,CC9nBO,IAAM+xD,GAAsB,SAAC1zG,GAClC,IAAA+X,EAA4CC,qBAAeC,EAAApB,YAAAkB,EAAA,GAApD47F,EAAc17F,EAAA,GAAE27F,EAAiB37F,EAAA,GACxCgJ,EAA0CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA3D4xF,EAAa3xF,EAAA,GAAEsxF,EAAgBtxF,EAAA,GACtCG,EAA8BrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA/Cnf,EAAOof,EAAA,GAAEuyF,EAAUvyF,EAAA,GAClB0uC,EAAMC,YAAe,CAAC,gBAAtBD,EACRjjD,qBAAU,WAER,OADA+mG,EAAc9zG,EAAM+zG,UACbJ,CACT,GAAG,CAAC3zG,EAAM+zG,SAAU/zG,EAAMk9B,eAE1B,IAAM42E,EAAgB,SAACE,GACrB,GAAwB,qBAAbA,EAA0B,CACnC,IAAMC,EAAcD,EAAS5qG,KAAI,SAACjF,EAAWqV,GAC3C,MAAyB,UAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,cACH3R,UAAU,sBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAGnBp0G,EAAMkmC,cAAc,SACpBssE,GAAiB,GACjBqB,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAAC8zG,KAAM,IACP1zG,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAfrCt/D,GAmBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAGnBp0G,EAAMkmC,cAAc,UACpBssE,GAAiB,GACjBqB,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAAC8zG,KAAM,IACP1zG,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAfrCt/D,GAmBc,YAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,gBACH3R,UAAU,sBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnBp0G,EAAMkmC,cAAc,WACpBssE,GAAiB,GACjBqB,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACg0G,KAA0B,CACzBnzG,MAAO,CAAEkM,MAAO,QAAS4I,MAAO,UAElCvV,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAhBrCt/D,GAoBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACi0G,KAAkB,CAACpzG,MAAO,CAAE8U,MAAO,UACpCvV,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAdrCt/D,GAkBc,YAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,gBACH3R,UAAU,sBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,WACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACk0G,IAAe,IACftwG,EAAK20E,OAdDt/D,GAkBc,UAArBrV,EAAK+vG,YAELvzG,eAAA,UACEuS,GAAG,cAEH3R,UAAU,oBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,SACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACm0G,IAAa,IACdn0G,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAEuvD,EAAE,kBAb/Bx2C,GAiBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACo0G,KAAe,IAChBh0G,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAEuvD,EAAE7rD,EAAK20E,MAAM,SAd1Ct/D,GAkBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACq0G,KAAW,IACZj0G,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAEuvD,EAAE7rD,EAAK20E,MAAM,SAd1Ct/D,GAkBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACq0G,KAAW,IACZj0G,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAdrCt/D,GAkBc,oBAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,uBACH3R,UAAU,sBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,mBACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAAC+yG,KAAe,IAChB3yG,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAdrCt/D,GAkBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACs0G,IAAY,IACbl0G,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAdrCt/D,GAkBc,WAArBrV,EAAK+vG,YAELvzG,eAAA,UAEEuS,GAAG,eACH3R,UAAU,qBACV4U,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnB5B,GAAiB,GACjBxyG,EAAMkmC,cAAc,UACpB2tE,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACu0G,IAAgB,IACjBn0G,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE7rD,EAAK20E,WAdrCt/D,GAkBJjZ,cAAAC,WAAA,GACT,IACAozG,EAAkBK,EACpB,CACF,EAEA,OACEtzG,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAEkzG,IAC7B,GAAjBd,GACCtyG,cAACuwG,GAAgB,CACf4B,SAAU1yG,EAAM0yG,SAChBzgG,WAAYjS,EAAMiS,WAClB4gG,cAAeA,EACfL,iBAAkBA,EAClBtwG,QAASA,EACT+iC,aAAcjlC,EAAMilC,aACpBC,SAAUllC,EAAMklC,SAChButE,SAAUzyG,EAAMyyG,SAChBv1E,aAAcl9B,EAAMk9B,aACpBg2E,iBAAkBlzG,EAAMkzG,qBAKlC,ECrUa6B,GAAW,eAAAryG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACzBgO,EACAiV,EACAyO,GAAmB,IAAAwgF,EAAAC,EAAAC,EAAAjyG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGI,GADnB2xG,EAAsB,CAAC,EACP,CAAC,EAChBxgF,EAAc,CAADrxB,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACgBwmD,YAAc,CAC5CsrD,OAAQrkG,EACR2oF,SAAU,GACVruF,WAAY2a,EAAS3a,WAAWC,WAChCd,WAAY,EACZuiB,aAAc,GACdO,WAAY,GAEZqjF,MAAO3qF,IACN,KAAD,EATIkvF,EAAiB9xG,EAAAmB,KAWvB0wG,EAAiBC,EAAkB1H,eACnC5nG,QAAQe,IAAI,CAAE8tB,gBAAe1jB,SAAQmkG,sBAAqB9xG,EAAAE,KAAA,iBAE1D2xG,EAAiBxgF,EAAc,QAGU,OAA3CwgF,EAAehqG,WAAW0lG,MAAQ3qF,EAAS5iB,EAAAE,KAAA,GACXK,MAAM,4BAA6B,CACjEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEqxG,SAAUJ,MAChC,KAAD,GANqB,OAAjBE,EAAiB/xG,EAAAmB,KAAAnB,EAAAE,KAAA,GAOD6xG,EAAkBhxG,OAAO,KAAD,GAAjC,OAAPjB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SACNtB,GAAO,yBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAnCuB2B,EAAAO,EAAAK,GAAA,OAAA3C,EAAAgC,MAAA,KAAAC,UAAA,K,wCCJT,OAA0B,uCCA1B,OAA0B,+CCiB5B0wG,GAAkB,SAACr1G,GAC5B,IAAA+X,EAA0BC,mBAAiB,GAAEC,EAAApB,YAAAkB,EAAA,GAAtCu9F,EAAKr9F,EAAA,GAAEs9F,EAAQt9F,EAAA,GACtBgJ,EAA4CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA7Du0F,EAAct0F,EAAA,GAAEu0F,EAAiBv0F,EAAA,GAExCnU,qBAAU,WACN2oG,GACJ,IAEA,IAAMA,EAAgB,WAClB,GAAG11G,EAAM21G,SAAS,CACe,IAADC,EAAAC,EAGvBC,EAHL,GAAkB,YAAf91G,EAAMgC,KACLyzG,EAAgC,QAAfG,EAAC51G,EAAM21G,gBAAQ,IAAAC,OAAA,EAAdA,EAAgBG,0BAClCR,EAAuB,QAAfM,EAAC71G,EAAM21G,gBAAQ,IAAAE,OAAA,EAAdA,EAAgBG,wBAEzBT,EAAuB,QAAfO,EAAC91G,EAAM21G,gBAAQ,IAAAG,OAAA,EAAdA,EAAgBG,qBAEjC,KAAK,CAAC,IAADC,EAGGC,EAFAC,EAA2B,EAC3B15C,EAAiB,GAGrB,GAAG18D,EAAMq2G,WAAW,CAAC,IAADC,EACZnyG,EAAOnE,EAAMq2G,WACjBD,EAAuB,OAAJjyG,QAAI,IAAJA,GAAiB,QAAbmyG,EAAJnyG,EAAMoyG,mBAAW,IAAAD,OAAb,EAAJA,EAAmB9tG,OACtCk0D,EAAc,OAAJv4D,QAAI,IAAJA,OAAI,EAAJA,EAAMu4D,OACpB,MAAM,GAAG18D,EAAM08B,YAAY,CAAC,IAAD85E,EACjBhiF,EAAgBx0B,EAAM08B,YACtB+qC,EAAuB,OAAbjzC,QAAa,IAAbA,OAAa,EAAbA,EAAe+4E,eAC/B6I,EAA0B,OAAP3uC,QAAO,IAAPA,GAA8B,QAAvB+uC,EAAP/uC,EAASl7C,6BAAqB,IAAAiqF,OAAvB,EAAPA,EAAgChuG,OACnDk0D,EAAiB,OAAP+K,QAAO,IAAPA,OAAO,EAAPA,EAASwmC,kBACvB,CAEAkI,EAAqD,MAAd,QAAzBD,GADdx5C,EAAUA,EAAQ5L,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM,OAAD3U,QAAC,IAADA,OAAC,EAADA,EAAGq6D,YAAa,OAAD1lD,QAAC,IAADA,OAAC,EAADA,EAAG0lD,UAAS,KAChDr4D,OAAO,GAAGwoC,eAAO,IAAAsvB,OAAA,EAAzBA,EAA2BzG,SACzC,IAAIiH,EAAwBh6C,EAAQjkD,QAAO,SAACohC,GAAO,MAAoB,KAAfA,EAAG41D,OAAc,IAAEjnG,OACvEmuG,EAAiB,EACH,eAAf32G,EAAMgC,KACL20G,EAASP,EACW,YAAfp2G,EAAMgC,OACX20G,EAASD,EACTjB,EAAkBU,IAEtBZ,EAASoB,EACb,CACJ,EAEA,OAAG32G,EAAM21G,SAEDp1G,cAAC2e,KAAK,CAAAze,SACD60G,EAAQ,GACT/0G,cAAC2e,KAAK,CAAAze,SACFF,cAACq2G,KAAK,CAACC,IAAKrB,EAAe/0G,SACP,eAAfT,EAAMgC,KAAwBzB,cAAA,OAAK0lD,IAAK6wD,GAAoB5wD,IAAI,KAAQ3lD,cAAA,OAAK0lD,IAAK8wD,GAAY7wD,IAAI,WAUlHlmD,EAAMq2G,YAAer2G,EAAM08B,YAGxB18B,EAAMg3G,OACD1B,EAAQ,EACP/0G,cAACq2G,KAAMK,OAAM,CACPn+B,KAAMw8B,EACNhoG,MAAOkoG,EAAiB,MAAQ,UAAU/0G,SAEzCT,EAAMS,WAEbT,EAAMS,SAGR60G,EAAQ,EAEJ/0G,cAACq2G,KAAK,CAACM,OAAQl3G,EAAMk3G,OAAQ7jG,KAAMrT,EAAMm3G,UAAW7B,MAAOA,EAAOhoG,MAAOkoG,EAAiB,MAAQ,UAAU/0G,SACvGT,EAAMS,WAGbT,EAAMS,SAnBdT,EAAMS,QAuBhB,ECjEa22G,GAAiC,SAAH10G,GAQpC,IAAD20G,EAAAC,EAAAC,EAPJpzG,EAAIzB,EAAJyB,KACAurD,EAAUhtD,EAAVgtD,WACAgjD,EAAQhwG,EAARgwG,SACA1F,EAAatqG,EAAbsqG,cACA9mE,EAAaxjC,EAAbwjC,cACAj0B,EAAUvP,EAAVuP,WACAulG,EAAe90G,EAAf80G,gBAEA3xF,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACf9N,EAAwBC,mBAAiB,GAAEC,EAAApB,YAAAkB,EAAA,GAApC0/F,EAAIx/F,EAAA,GAAEy/F,EAAOz/F,EAAA,GACpBgJ,EAAkCjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAlDynD,EAASxnD,EAAA,GAAEynD,EAAYznD,EAAA,GAC9BG,EAA8BrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA3C0rF,EAAOzrF,EAAA,GAAEq2F,EAAUr2F,EAAA,GAC1BgB,EAAgCtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAAxCyxF,EAAQxxF,EAAA,GAAEq1F,EAAWr1F,EAAA,GAC5BC,EAAwBxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAAhC++B,EAAI9+B,EAAA,GAAEo1F,EAAOp1F,EAAA,GAEpB1V,qBAAU,WACR47D,GAAa,GACb+uC,EAAQ,GAemB,SAEJjzG,GAAAqzG,EAAApzG,MAAC,KAADC,UAAA,CAhBvBozG,CAAe,OAAJ5zG,QAAI,IAAJA,OAAI,EAAJA,EAAM6zG,QAuBlB,WACmBC,EAAAvzG,MAAC,KAADC,UAAA,CAvBlBuzG,EACF,GAAG,CAAC/zG,IAKJ4I,qBAAU,WACR,IAAMorG,EAAiBzoD,EAAWoB,MAChC,SAAC/Z,EAAQ+I,GAAM,OAAK/I,EAAE3b,SAAW0kB,EAAE1kB,QAAQ,IAE7Cw8E,EAAYO,EAEd,GAAG,CAACzoD,IACJ,IAAMgN,EAAUja,cAES,SAAAq1D,IAOxB,OAPwBA,EAAAn1G,YAAAC,IAAAC,MAAzB,SAAAC,EAA0BgO,GAAW,IAAAsnG,EAAA,OAAAx1G,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACX0xG,GAAYjkG,EAAQiV,GAAU,KAAD,EAAjDqyF,EAAWj1G,EAAAmB,KAGfqkE,GAAa,GAEbgvC,EAAWS,GAAa,wBAAAj1G,EAAAqB,OAAA,GAAA1B,EAAA,MACzB4B,MAAA,KAAAC,UAAA,CACmB,SAAAszG,IAYnB,OAZmBA,EAAAt1G,YAAAC,IAAAC,MAApB,SAAAiC,IAAA,IAAA2iE,EAAAxjE,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAQG,OAPKokE,EAAU,CACd0tC,OAAY,OAAJhxG,QAAI,IAAJA,OAAI,EAAJA,EAAM6zG,OACdztG,WAAY,KACZuiB,aAAc,KACd2sE,SAAU,GACVruF,WAAY2a,EAAS3a,WAAWC,WAChCqlG,MAAO3qF,GACRhhB,EAAA1B,KAAA,EACsBwmD,YAAc4d,GAAS,KAAD,EAAvCxjE,EAAQc,EAAAT,KAEduzG,EAAQ5zG,GAAU,wBAAAc,EAAAP,OAAA,GAAAM,EAAA,MACnBJ,MAAA,KAAAC,UAAA,CAED,OACEpE,cAAC83G,KAAOn4C,IAAG,CACT3+D,UAAU,oBACV+2G,WAAY,CAAE3gG,SAAU,KACxB4gG,QAAS,CAAExhE,EAAG,CAAC,IAAM,IACrB3F,KAAM,CAAE2F,EAAG,CAAC,EAAG,MAAQt2C,SAEvBE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAAA,OACEY,UAAS,wBAAAC,OAAmC,IAATi2G,EAAa,WAAa,IAC7DthG,QAAS,WACPuhG,EAAQ,EACV,EAAEj3G,SAAA,CAEFF,cAACi4G,IAAc,IACfj4G,cAAA,KAAGgB,UAAU,sBAAqBd,SAAC,eAErCE,eAAA,OACEY,UAAS,wBAAAC,OAAmC,IAATi2G,EAAa,WAAa,IAC7DthG,QAAS,kBAAMuhG,EAAQ,EAAE,EAACj3G,SAAA,CAE1BF,cAACk4G,IAAU,IACXl4G,cAAA,KAAGgB,UAAU,sBAAqBd,SAAC,YAGrCF,cAAC80G,GAAe,CACdgB,WAAYlyG,EACZu4B,YAAa,KACb16B,KAAK,UACLg1G,QAAQ,EACRv2G,SACEE,eAAA,OACEY,UAAS,wBAAAC,OACE,IAATi2G,EAAa,WAAa,IAE5BthG,QAAS,kBAAMuhG,EAAQ,EAAE,EAACj3G,SAAA,CAE1BF,cAACm4G,IAAc,IACfn4G,cAAA,KAAGgB,UAAU,sBAAqBd,SAAC,eAGvCk1G,SAAU,OAGZp1G,cAAC80G,GAAe,CACdgB,WAAYlyG,EACZu4B,YAAa,KACb16B,KAAK,aACLg1G,QAAQ,EACRv2G,SACEE,eAAA,OACEY,UAAS,wBAAAC,OACE,IAATi2G,EAAa,WAAa,IAE5BthG,QAAS,kBAAMuhG,EAAQ,EAAE,EAACj3G,SAAA,CAE1BF,cAACo4G,KAAY,IACbp4G,cAAA,KAAGgB,UAAU,sBAAqBd,SAAC,kBAGvCk1G,SAAU,OAGZp1G,cAAA,OAAKgB,UAAW,2BAA2Bd,SACzCF,cAACq4G,IAAa,CACZziG,QAAS,WACP,IAAMinB,EAAQ,CACZ46E,OAAY,OAAJ7zG,QAAI,IAAJA,OAAI,EAAJA,EAAM6zG,OACdjL,QAASA,GAEXrwC,EAAQrzD,KAAK,mBAAD7H,OAAoB47B,EAAM46E,QAAU56E,EAClD,SAKLo6E,EACCj3G,cAAA,OACEa,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,SAChB/nC,WAAY,SACZoT,OAAQ,OACR7f,SAEFF,cAACsjC,KAAe,CAACtiC,UAAU,eAG7BZ,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACs4G,KAAe,CAACC,iBAAe,EAAAr4G,SAC9BE,eAAC03G,KAAOn4C,IAAG,CACT3+D,UAAS,WAAAC,OAAaknE,EAAY,aAAe,IAEjDqwC,QAAS,CAAEhiE,EAAG,GAAIiiE,QAAS,GAC3BT,QAAS,CAAExhE,EAAG,EAAGiiE,QAAS,GAC1B5nE,KAAM,CAAE2F,GAAI,GAAIiiE,QAAS,GACzBV,WAAY,CAAE3gG,SAAU,IAAMlX,SAAA,CAEpB,IAATg3G,GACCl3G,cAACssG,GAAiB,CAChBE,QAASA,EACTrkC,UAAWA,EACXskC,cAAeA,IAGT,IAATyK,GACCl3G,cAACqtG,GAAU,CACT1zE,UAAe,OAAJ/1B,QAAI,IAAJA,OAAI,EAAJA,EAAM+1B,UACjB/uB,UAAe,OAAJhH,QAAI,IAAJA,OAAI,EAAJA,EAAMgH,UACjBH,WAAYu2C,IAGN,IAATk2D,GAAcl3G,cAACqvG,GAAa,CAACC,YAAiB,OAAJ1rG,QAAI,IAAJA,OAAI,EAAJA,EAAMu4D,UACvC,IAAT+6C,GACCl3G,cAACqwG,GAAgB,CAACC,YAAiB,OAAJ1sG,QAAI,IAAJA,OAAI,EAAJA,EAAMoyG,gBAtBlCkB,EAAKpsG,cA0Bd9K,cAAA,OAAKgB,UAAU,wBAAuBd,SACpCF,cAACmzG,GAAmB,CAClBxtE,cAAeA,EACfj0B,WAAYA,EACZ8hG,SAAUA,EACVrB,SAAU,SACRjD,EACA8C,EACAD,GAAuB,OAEvBI,EACEzgG,EACI,OAAJ9N,QAAI,IAAJA,OAAI,EAAJA,EAAM6zG,OACNvI,EACA8C,EACAD,EACD,EAEHG,SAAU,WACVv1E,aAAkB,OAAJqkB,QAAI,IAAJA,GAAoB,QAAhB81D,EAAJ91D,EAAMgsD,sBAAc,IAAA8J,OAAhB,EAAJA,EAAsBl6E,oBACpC+1E,iBACM,OAAJ3xD,QAAI,IAAJA,GAAoB,QAAhB+1D,EAAJ/1D,EAAMgsD,sBAAc,IAAA+J,GAAY,QAAZC,EAApBD,EAAsBtsG,kBAAU,IAAAusG,OAA5B,EAAJA,EAAkCxmG,kCASpD,EC1OQqwF,GAAgBrmF,KAAhBqmF,YAaK6X,GAAa,SAACj5G,GACzB,IAAQgwD,EAAMC,YAAe,CAAC,gBAAtBD,EACRj4C,EAA0BC,mBAAchY,EAAMk5G,OAAMjhG,EAAApB,YAAAkB,EAAA,GAA7CmhG,EAAKjhG,EAAA,GAAEkhG,EAAQlhG,EAAA,GACtBgJ,EAA4BjJ,oBAAS,GAAMkJ,EAAArK,YAAAoK,EAAA,GAApC+pE,EAAM9pE,EAAA,GAAE+pE,EAAS/pE,EAAA,GACxBnU,qBAAU,WACRzJ,OAAOkgE,iBAAiB,SAAUC,EACpC,GAAG,IACH12D,qBAAU,WACRosG,EAASn5G,EAAMk5G,MACjB,GAAG,CAACl5G,EAAMk5G,QACV,IAAMz1C,EAAe,SAAC/2D,GACpBu+E,GAAU,EACZ,EAmBA,OAlBAl+E,qBAAU,WACHi+E,GAAUkuB,IAAUl5G,EAAMk5G,OAC7Bl5G,EAAMijB,eAAei2F,EAAOl5G,EAAM8R,KAEtC,GAAG,CAACk5E,IAeFrqF,eAAA,OACEY,UAAU,0BACVH,MACEpB,EAAMo5G,YACF,CAAE1qB,YAAa,IAAKx4E,MAAO,QAC3B,CAAEw4E,YAAa,QACpBjuF,SAAA,MAEmBK,IAAnBd,EAAMq5G,UACL94G,cAAC+4G,IAAc,CACb/3G,UAAW,YACXH,MAAOpB,EAAMo5G,YAAc,CAAEG,KAAM,aAAWz4G,KAG9B,IAAnBd,EAAMq5G,UACL94G,cAAC+4G,IAAc,CACb/3G,UAAW,YACXH,MAAOpB,EAAMo5G,YAAc,CAAEG,KAAM,aAAWz4G,IAGlDP,cAAC6gG,GAAW,CACVz/E,KAAMqpE,EACN5pF,MACEpB,EAAMo5G,YACF,CACE94F,OAAQ,OACRpK,MAAO,OACP2U,qBAAsB,EACtBC,wBAAyB,EACzB2sD,YAAa,gBAEf32E,EAEN04G,aAAc,SAAC9sG,GAAM,OAAKu+E,EAAUv+E,EAAE,EACtCnL,UAAW,cACXwH,MAAO/I,EAAMk5G,MACbO,WAAY,KACZnmG,YAAa,CAAC08C,EAAE,cAAeA,EAAE,aACjC44C,UAAWroG,cAACm5G,KAAc,IAC1BC,iBAAkB,SAACx3F,GAAG,OAAKg3F,EAASh3F,EAAI,EACxCnP,SAAU,SAACxB,GACJA,GAAQ0nG,IAAU1nG,GACrBxR,EAAMijB,eAAezR,EAAMxR,EAAM8R,KAErC,EACA0yF,OAAQ,CACNC,MAAO,CAACl7F,OAAUA,QAClB,aAAc,CAACA,OAASm7F,QAAQ,SAAUn7F,OAASo7F,MAAM,UACzD,YAAa,CAACp7F,OAASm7F,QAAQ,QAASn7F,OAASo7F,MAAM,cAKjE,E,oBCxFaiV,I,OAAsB,SAAC55G,GAClC,IAAQgwD,EAAMC,YAAe,CAAC,gBAAtBD,EACRj4C,EAAsCC,mBACpChY,EAAM65G,YAAc75G,EAAM65G,YAAc,IACzC5hG,EAAApB,YAAAkB,EAAA,GAFM++D,EAAW7+D,EAAA,GAAE8+D,EAAc9+D,EAAA,GAGlCgJ,EAA4BjJ,oBAAS,GAAMkJ,EAAArK,YAAAoK,EAAA,GAApC+pE,EAAM9pE,EAAA,GAAE+pE,EAAS/pE,EAAA,GACLzB,KAAXD,OACRzS,qBAAU,WACRzJ,OAAOkgE,iBAAiB,SAAUC,GAClC99D,QAAQe,IAAI1G,EAAM+tC,OAAQ,SAC5B,GAAG,IAEHhhC,qBAAU,WACRgqE,EAAe/2E,EAAM65G,YAAc75G,EAAM65G,YAAc,GACzD,GAAG,CAAC75G,EAAM65G,cACV,IAQMp2C,EAAe,SAAC/2D,GACpBu+E,GAAU,EACZ,EACA,OACEtqF,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,KAAGgB,UAAU,iBACbhB,cAACkf,KAAM,CACLkC,KAAMqpE,EACNlrE,wBAAyB,SAACpT,GAAM,OAAKu+E,EAAUv+E,EAAE,EACjDoX,KAAK,WACL8gF,YAAU,EACVxjG,MAAO,CAAE8U,MAAO,QAChB5C,YAAatT,EAAMoV,MACnBQ,aAAckhE,EACd/tE,MAAO+tE,EACPgjC,cAAe,CAAE5jG,MAAO,SACxB+uF,QAAS,kBAAMluB,EAAe,GAAG,EACjCgjC,WAAY,SAAChxG,GACX,IACMixG,EADSljC,EACYr+D,QACzB,SAACwhG,GAAgB,OAAKlxG,GAASkxG,CAAW,IAE5CljC,EAAc9tE,YAAK+wG,GACrB,EACA94B,SAAU,SAACn4E,GACT,IAAI0c,EAAWqxD,EACfrxD,EAASpc,KAAKN,GACdguE,EAAc9tE,YAAKwc,GACrB,EACAzS,SAAU,SAACtG,GAAW,OAAK1M,EAAMijB,eAAevW,EAAG1M,EAAM8R,KAAK,EAC9DooG,eAAgB,SAACrjE,GAAI,OACnBl2C,eAAA,OAAAF,SAAA,CACEF,cAAA,OACEgB,UAAU,iBACVH,MAAO,CAAE6L,QAAS,OAAQktG,SAAU,SAAUzrB,YAAa,IAC3Dv4E,QAAS,kBA3CD,WAElB,IADA,IAAIsP,EAAW,GACN1d,EAAI,EAAGA,EAAI/H,EAAM+tC,OAAOvlC,OAAQT,IACvC0d,EAASpc,KAAKrJ,EAAM+tC,OAAOhmC,GAAGgB,OAEhCguE,EAAe,GAADv1E,OAAKikB,IACnBzlB,EAAMijB,eAAewC,EAAUzlB,EAAM8R,KACvC,CAoC2BsoG,EAAa,EAAC35G,SAE7BF,cAAA,KAAAE,SAAIuvD,EAAE,WAERzvD,cAAC85G,KAAO,CAACj5G,MAAO,CAAEoU,OAAQ,WAEzBqhC,IACG,EAERl0B,QAAS3iB,EAAM+tC,SAEhB/tC,EAAMmX,OAGb,GClFamjG,I,OAAwB,SAACt6G,GACpC,IAAQgwD,EAAMC,YAAe,CAAC,gBAAtBD,EACR,OACEzvD,cAAA,OAAKgB,UAAU,0BAAyBd,SACtCE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAACouF,IAAQ,IACTpuF,cAAA,SACEyB,KAAK,OACLT,UAAU,sBACVwH,MAAO/I,EAAMu6G,eAAiB,GAC9BvnG,SAAU,SAACtG,GAAC,OAAK1M,EAAMotF,eAAe1gF,EAAEuG,OAAOlK,MAAM,EACrDuK,YAAa08C,EAAE,WAAa,SAKtC,GCPawqD,GAAiB,SAACx6G,GAC7B,IAAA+X,EAA4BC,oBAAS,GAAMC,EAAApB,YAAAkB,EAAA,GAApCizE,EAAM/yE,EAAA,GAAEgzE,EAAShzE,EAAA,GACxBlL,qBAAU,WACRzJ,OAAOkgE,iBAAiB,SAAUC,EACpC,GAAG,IACH,IAAMA,EAAe,SAAC/2D,GACpBu+E,GAAU,EACZ,EACA,OACEtqF,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAACkf,KAAM,CACLkC,KAAMqpE,EACNlrE,wBAAyB,SAACpT,GAAM,OAAKu+E,EAAUv+E,EAAE,EACjD3D,MAAO/I,EAAM4V,aACbgvF,gBAAgC9jG,IAApBd,EAAMy6G,UAClBr5G,MAAO,CAAE8U,MAAO,QAChB5C,YAAY,gBACZN,SAAU,SAACtG,GAAS,OAAK1M,EAAMijB,eAAevW,EAAE,EAChDiW,QAAS3iB,EAAM+tC,SAEhB/tC,EAAMmX,OAGb,ECsGeujG,GA7GmB,SAAC16G,GAAkB,IAAD26G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1CrrD,EAAMC,YAAe,CAAC,gBAAtBD,EACF/iD,EAAU,CACd,CACElE,MAAO,aACPhH,MAAOiuD,EAAE,eAEX,CACEjnD,MAAO,aACPhH,MAAOiuD,EAAE,eAEX,CACEjnD,MAAO,eACPhH,MAAOiuD,EAAE,iBAEX,CACEjnD,MAAO,YACPhH,MAAOiuD,EAAE,cAEX,CACEjnD,MAAO,YACPhH,MAAOiuD,EAAE,cAEX,CACEjnD,MAAO,WACPhH,MAAOiuD,EAAE,cAGb,OACErvD,eAAA,OAAKY,UAAU,UAASd,SAAA,CACtBF,cAAC+5G,GAAqB,CACpBltB,eAAgB,SAAC1gF,GAAC,OAAK1M,EAAMijB,eAAevW,EAAG,UAAU,EACzD6tG,cAAiC,QAApBI,EAAE36G,EAAMs7G,oBAAY,IAAAX,OAAA,EAAlBA,EAAoBY,UAGrCh7G,cAAA,KAAGa,MAAO,CAAEoU,OAAQ,cAAelI,MAAO,UAAWH,SAAU,QAAS1M,SACrEuvD,EAAE,UAELzvD,cAACi6G,GAAc,CACbC,WAAW,EACXvnG,GAAG,YACHkC,MAAM,cACNtD,KAAK,YACLqF,KAAM5W,cAACi7G,IAAU,CAACj6G,UAAU,gBAC5B0hB,eAAgB,SAACvW,GAAM,OAAK1M,EAAMy7G,aAAa/uG,EAAE,EACjDkJ,aAAc5V,EAAM07G,YACpB3tE,OAAQ9gC,IAEV1M,cAAA,KAAGa,MAAO,CAAEoU,OAAQ,cAAelI,MAAO,UAAWH,SAAU,QAAS1M,SACrEuvD,EAAE,UAELzvD,cAAC04G,GAAU,CACTG,aAAa,EACblmG,GAAG,OACHkC,MAAO46C,EAAE,QACTl+C,KAAK,OACLylE,SAAS,EACT2hC,MAAyB,QAAlB0B,EAAA56G,EAAMs7G,oBAAY,IAAAV,GAAlBA,EAAoBppG,KAAyB,QAArBqpG,EAAG76G,EAAMs7G,oBAAY,IAAAT,OAAA,EAAlBA,EAAoBrpG,KAAO,GAC7DyR,eAAgB,SAACvW,EAAQC,GAAM,OAAK3M,EAAMijB,eAAevW,EAAGC,EAAE,IAEhEpM,cAAA,KAAGa,MAAO,CAAEoU,OAAQ,cAAelI,MAAO,UAAWH,SAAU,QAAS1M,SACrEuvD,EAAE,WAELzvD,cAACq5G,GAAmB,CAClB1mG,GAAG,SACHpB,KAAK,SACLsD,MAAO46C,EAAE,UACT74C,KAAM5W,cAACo7G,IAAY,CAACp6G,UAAU,gBAC9B0hB,eAAgB,SAACvW,EAAQC,GAAM,OAAK3M,EAAMijB,eAAevW,EAAGC,EAAE,EAC9DohC,OAAQ/tC,EAAM47G,WACd/B,YACoB,QAAlBiB,EAAA96G,EAAMs7G,oBAAY,IAAAR,GAAlBA,EAAoBxzG,OAA2B,QAArByzG,EAAG/6G,EAAMs7G,oBAAY,IAAAP,OAAA,EAAlBA,EAAoBzzG,OAAS,KAG9D/G,cAACq5G,GAAmB,CAClB1mG,GAAG,OACHpB,KAAK,OACLsD,MAAO46C,EAAE,QACT74C,KAAM5W,cAACs7G,IAAkB,CAACt6G,UAAU,gBACpC0hB,eAAgB,SAACvW,EAAQC,GAAM,OAAK3M,EAAMijB,eAAevW,EAAGC,EAAE,EAC9DktG,YAA+B,QAAlBmB,EAAAh7G,EAAMs7G,oBAAY,IAAAN,GAAlBA,EAAoBv3E,KAAyB,QAArBw3E,EAAGj7G,EAAMs7G,oBAAY,IAAAL,OAAA,EAAlBA,EAAoBx3E,KAAO,GACnEsK,OAAQ/tC,EAAM87G,WAEhBv7G,cAACq5G,GAAmB,CAClB1mG,GAAG,UACHpB,KAAK,UACLsD,MAAO46C,EAAE,WACT74C,KAAM5W,cAACw7G,KAAW,CAACx6G,UAAU,gBAC7B0hB,eAAgB,SAACvW,EAAQC,GAAM,OAAK3M,EAAMijB,eAAevW,EAAGC,EAAE,EAC9DktG,YACoB,QAAlBqB,EAAAl7G,EAAMs7G,oBAAY,IAAAJ,GAAlBA,EAAoBvnC,QAA4B,QAArBwnC,EAAGn7G,EAAMs7G,oBAAY,IAAAH,OAAA,EAAlBA,EAAoBxnC,QAAU,GAE9D5lC,OAAQ/tC,EAAMg8G,aAEhBz7G,cAACq5G,GAAmB,CAClB1mG,GAAG,aACHpB,KAAK,aACLsD,MAAO46C,EAAE,cACT74C,KAAM5W,cAACk4G,IAAU,CAACl3G,UAAU,gBAC5B0hB,eAAgB,SAACvW,EAAQC,GAAM,OAAK3M,EAAMijB,eAAevW,EAAGC,EAAE,EAC9DktG,YACoB,QAAlBuB,EAAAp7G,EAAMs7G,oBAAY,IAAAF,GAAlBA,EAAoBjI,WAA+B,QAArBkI,EAAGr7G,EAAMs7G,oBAAY,IAAAD,OAAA,EAAlBA,EAAoBlI,WAAa,GAEpEplE,OAAQ/tC,EAAMi8G,kBAItB,E,oBCtGaC,GAAwB,SAACl8G,GAAkB,IAADm8G,EAAAC,EAAAC,EAAAC,EACrDvkG,EAAwBC,mBAAchY,EAAMmE,MAAQ,CAAC,GAAE8T,EAAApB,YAAAkB,EAAA,GAAhD5T,EAAI8T,EAAA,GAAE0+D,EAAO1+D,EAAA,GACpBgJ,EAA8BjJ,mBAAiB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA3Cs7F,EAAOr7F,EAAA,GAAEs7F,EAAUt7F,EAAA,GAC1BG,EAAgCrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAjDmqC,EAAQlqC,EAAA,GAAE+gD,EAAW/gD,EAAA,GAC5BgB,EAA8CtK,oBAAS,GAAMuK,EAAA1L,YAAAyL,EAAA,GAAtDm6F,EAAel6F,EAAA,GAAEm6F,EAAkBn6F,EAAA,GAClCrK,EAAkBtR,eAAlBsR,cACRsK,EAAwCxK,mBAAgB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAApD0a,EAAYza,EAAA,GAAE8iB,EAAe9iB,EAAA,GAEpC1V,qBAAU,WACR4pE,EAAQ32E,EAAMmE,MACdq4G,EAAW,mBAADh7G,OAAoBxB,EAAMmE,KAAK6zG,QAC3C,GAAG,CAACh4G,EAAMmE,OACV,IAAMu4D,EAAUja,cACVk6D,EAAe,eACb3sD,EAAMC,YAAe,CAAC,gBAAtBD,EACRjjD,qBAAU,WACJ/M,EAAM48G,gBAAkB58G,EAAMmE,KAAK6zG,OACrC31C,GAAY,GAEZA,GAAY,EAEhB,GAAG,CAACriE,EAAM48G,gBAEV,IA0BMC,EAAoB,eAAAn6G,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAo3B,EAAA,OAAAt3B,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACHsN,aAA0B,GAAEnP,OAAA,CAAE2C,EAAK6zG,UAAS5zG,OAClE,SAACsI,GAEC,OADA/G,QAAQC,MAAM8G,GACP,EACT,IACA,KAAD,GALKwtB,EAAS/2B,EAAAmB,OAObihC,EAAet8B,YAAKixB,IAEtBwiF,GAAmB,GAAM,wBAAAv5G,EAAAqB,OAAA,GAAA1B,EAAA,KAC1B,kBAXyB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAa1B,OACEhE,eAAC03G,KAAOn4C,IAAG,CAAC3+D,UAAS,kBAAAC,OAAoBgqD,EAAW,UAAY,IAAK/qD,SAAA,CACnEE,eAAA,OACEY,UAAU,iCACV4U,QAAS,WACP,IAAI2mG,EAAa34G,EAAK44G,WAAa,CAAC,EACpC/8G,EAAMg9G,WAAW74G,EAAK6zG,OAAQ7zG,EAAKqG,OAAQxK,EAAM4Z,MAAOkjG,GACxD98G,EAAMi9G,oBAAmB,EAC3B,EAAEx8G,SAAA,CAEFE,eAAA,OAAKY,UAAU,8BAA6Bd,SAAA,CAC1CE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAC+uD,IAAI,CAAC/tD,UAAU,oBAAoBguD,GAAIgtD,EAAQ97G,SAC7C0D,EAAKkpB,aAER9sB,cAAA,KAAGgB,UAAU,YAAWd,SAtDf,WAAO,IAAD0Z,EACnBo0F,EAAYhlG,KAAOpF,EAAKo1D,aAAc,uBAE1C,OAAOhwD,KAAOglG,GAAWplG,QACV,OAAb+O,QAAa,IAAbA,GAAyB,QAAZiC,EAAbjC,EAAe2qF,kBAAU,IAAA1oF,OAAZ,EAAbA,EAA2B6xB,SAAU,sBAEzC,CAgDoCpxB,QAE5Bja,eAACue,KAAK,CAAAze,SAAA,EACO,QAAV07G,EAAAn8G,EAAMmE,YAAI,IAAAg4G,OAAA,EAAVA,EAAYnG,mBAAoB,GAC/Bz1G,cAAC80G,GAAe,CACdM,SAAU31G,EAAMmE,KAChBkyG,WAAY,KACZ35E,YAAa,KACb16B,KAAK,aAGE,QAAVo6G,EAAAp8G,EAAMmE,YAAI,IAAAi4G,OAAA,EAAVA,EAAYnG,sBAAuB,GAClC11G,cAAC80G,GAAe,CACdM,SAAU31G,EAAMmE,KAChBkyG,WAAY,KACZ35E,YAAa,KACb16B,KAAK,eAGTzB,cAAA,KAAGgB,UAAU,cAAad,SACR,OAAf0D,EAAK0pB,OAAkB,KAAO8uF,UAIrCh8G,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrCF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAE0D,EAAK+4G,UACzC38G,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,KAAGgB,UAAU,cAAad,SACR,OAAf0D,EAAK0pB,OAAkB,KAAO1pB,EAAK0pB,cAI1CltB,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,KACEgB,UAAU,iBACVH,MAAO,CAAE6zC,eAAgB,cAAex0C,SAEvC0D,EAAKgqB,eAGRxtB,eAAA,QACES,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,yBAChBia,UAAW,OACXzuD,SAAA,CAxFS,SAAC0D,GACpB,GAAIA,EAAKg5G,YACP,OACE58G,cAACq2G,KAAK,CACJr1G,UAAU,wBACVwH,MAAO,WACP3H,MAAO,CACLkM,MAAO,QACPi3B,WAAY,YAKtB,CA6EW64E,CAAaj5G,GACd5D,cAACq2G,KAAK,CACJr1G,UAAU,wBACVwH,MAAOinD,EAAE7rD,EAAKqG,QACdpJ,MAAO,CACLkM,MAAO,QACPi3B,WACkB,qBAAhBpgC,EAAKqG,OACD,UACwB,WAAhBrG,EAAKqG,OACb,UACwB,UAAhBrG,EAAKqG,OACb,UACwB,cAAhBrG,EAAKqG,OACb,UACwB,WAAhBrG,EAAKqG,OACb,UACwB,cAAhBrG,EAAKqG,QAEW,aAAhBrG,EAAKqG,OADb,UAGwB,qBAAhBrG,EAAKqG,OACb,UACA,iBAOhB7J,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAEuvD,EAAE,gBAC7BzvD,cAAA,KAAGgB,UAAU,YAAWd,SACrB0D,EAAK44G,YACqB,OAAxB54G,EAAK44G,UAAUzjD,KACZn1D,EAAK44G,UAAUxxG,OACfpH,EAAK44G,UAAUjnD,aAGzBv1D,cAAC88G,KAAc,IACf18G,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAAA,KAAGgB,UAAU,aAAYd,SAAEuvD,EAAE,iBAC7BzvD,cAAA,KAAGgB,UAAU,YAAWd,SACD,OAApB0D,EAAKm5G,WACuB,OAAzBn5G,EAAKm5G,WAAWhkD,KACdn1D,EAAKm5G,WAAW/xG,OAChBpH,EAAKm5G,WAAWxnD,OAClB,YAIW,SAApB91D,EAAMu9G,WACLh9G,cAAAC,WAAA,CAAAC,SACmB,qBAAhB0D,EAAKqG,QACJjK,cAAA,UACEgB,UAAU,iBACV4U,QAAS,kBAAM0mG,GAAsB,EAACp8G,SAErCuvD,EAAE,kBAObrvD,eAAA,OACEY,UAAU,gCACV4U,QAAS,WACP,IAAM8Z,EAAS,CAAE+nF,OAAQ7zG,EAAK6zG,QAE9Bt7C,EAAQrzD,KAAK,mBAAD7H,OAAoB2C,EAAK6zG,QAAU/nF,EACjD,EAAExvB,SAAA,CAEFE,eAAA,OAAKY,UAAU,8BAA6Bd,SAAA,CAC1CE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCF,cAAA,KAAGgB,UAAU,oBAAmBd,SAAE0D,EAAKkpB,aACvC9sB,cAAA,KAAGgB,UAAU,YAAWd,SAAE0D,EAAKiqB,iBAEjCztB,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAACue,KAAK,CAAAze,SAAA,EACO,QAAV47G,EAAAr8G,EAAMmE,YAAI,IAAAk4G,OAAA,EAAVA,EAAYrG,mBAAoB,GAC/Bz1G,cAAC80G,GAAe,CACdM,SAAU31G,EAAMmE,KAChBkyG,WAAY,KACZ35E,YAAa,KACb16B,KAAK,aAGE,QAAVs6G,EAAAt8G,EAAMmE,YAAI,IAAAm4G,OAAA,EAAVA,EAAYrG,sBAAuB,GAClC11G,cAAC80G,GAAe,CACdM,SAAU31G,EAAMmE,KAChBkyG,WAAY,KACZ35E,YAAa,KACb16B,KAAK,eAGTzB,cAAA,KAAGgB,UAAU,cAAad,SACR,OAAf0D,EAAK0pB,OAAkB,KAAO8uF,OAGnCp8G,cAAA,KAAGgB,UAAU,cAAad,SACR,OAAf0D,EAAK0pB,OAAkB,KAAO1pB,EAAK0pB,eAI1CttB,cAAA,KAAGgB,UAAU,mBAAkBd,SAAE0D,EAAK+4G,UACtCv8G,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAE0D,EAAKgqB,eACpC5tB,cAACq2G,KAAK,CACJr1G,UAAU,wBACVwH,MAAO5E,EAAKqG,OACZpJ,MAAO,CACLkM,MAAO,QACPi3B,WACkB,qBAAhBpgC,EAAKqG,OACD,UACwB,WAAhBrG,EAAKqG,OACb,UACwB,UAAhBrG,EAAKqG,OACb,UACwB,cAAhBrG,EAAKqG,OACb,UACwB,WAAhBrG,EAAKqG,OACb,UACwB,cAAhBrG,EAAKqG,QAEW,aAAhBrG,EAAKqG,OADb,UAGA,cAKd7J,eAAA,OAAKY,UAAU,+BAA8Bd,SAAA,CAC3CE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAEuvD,EAAE,gBAC7BzvD,cAAA,KAAGgB,UAAU,YAAWd,SACrB0D,EAAK44G,WAAa54G,EAAK44G,UAAUjnD,YAGtCv1D,cAAC88G,KAAc,IACf18G,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAAA,KAAGgB,UAAU,aAAYd,SAAEuvD,EAAE,iBAC7BzvD,cAAA,KAAGgB,UAAU,YAAWd,SACrB0D,EAAKm5G,YAAcn5G,EAAKm5G,WAAWxnD,eAIrB,SAApB91D,EAAMu9G,WACLh9G,cAAAC,WAAA,CAAAC,SACmB,qBAAhB0D,EAAKqG,QACJjK,cAAA,UACEgB,UAAU,iBACV4U,QAAS,WACPumG,GAAmB,EAErB,EAAEj8G,SACH,cAMNg8G,GACCl8G,cAACuwG,GAAgB,CACf7+F,WAAY,UACZ4gG,cAAe4J,EACfjK,iBAAkBkK,EAClBx6G,SAAS,EACTwwG,SA1Qa,SAACjD,GACtBzvG,EAAM0yG,SAAS,UAAW1yG,EAAMmE,KAAK6zG,OAAQvI,EAC/C,EAyQUgD,SAAU,WACVv1E,aAAcA,EACdg2E,iBAAkB,SAM9B,ECnVasK,GAAsB,eAAA96G,EAAAC,YAAAC,IAAAC,MAAG,SAAAiC,EACpCsB,EACAwjG,GAAoB,IAAA3lG,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAIGK,MAAM,sCAAuC,CAClEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAGlBC,KAAMC,KAAKC,UAAUqC,GACrBwjG,OAAQA,IAEP5lG,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,KAAI,eAAAa,EAAAlC,YAAAC,IAAAC,MAAC,SAAAC,EAAOqB,GAAa,IAAA+3F,EAAAuhB,EAAAC,EAAAC,EAAA,OAAA/6G,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACpBc,EAAK,CAADhB,EAAAE,KAAA,SAIL,OAHG64F,EAAM,CACRtrE,cAAc,EACdD,OAAQ,cACTxtB,EAAAE,KAAA,EACqC2vD,EAAekpC,GAAK,KAAD,EA6BnB,OA7BhCuhB,EAAuBt6G,EAAAmB,KACvBo5G,EAA0Bv5G,EAAK2sD,MAAK,SAAC1U,EAAG2U,GAC5C,IAAMo9C,EAAK5kG,KAAO6yC,EAAEmd,aAAc,cAC5B80C,EAAK9kG,KAAOwnD,EAAEwI,aAAc,cAClC,OAAOhwD,KAAO8kG,GAAIpkE,KAAKkkE,EACzB,IAEMwP,EAAuBD,EAAet0G,KAAI,SAACw0G,GAC/C,GAAIH,EAAUj1G,OAAS,EAAG,CAGxB,IAFA,IAAIq1G,EAAQD,EACRE,EAA0B,KACrB/1G,EAAI,EAAGA,EAAI01G,EAAUj1G,OAAQT,IAAK,CACzC,IAAM40B,EAAW8gF,EAAU11G,GACvB81G,EAAMP,aAAe3gF,EAASvxB,aAChC0yG,EAAOnhF,EAEX,CACA,OAAA7pB,wBAAA,GACK+qG,GAAK,IACRP,WAAYQ,GAEhB,CACE,OAAAhrG,wBAAA,GACK8qG,GAAI,IACPN,WAAY,KACZP,UAAW,MAGjB,IACAp3G,QAAQe,IAAI,CAAEi3G,yBAAwBx6G,EAAAoB,OAAA,SAE/Bo5G,GAAoB,eAAAx6G,EAAAoB,OAAA,SACf,IAAE,yBAAApB,EAAAqB,OAAA,GAAA1B,EAAA,KACjB,gBAAAuC,GAAA,OAAAR,EAAAH,MAAA,KAAAC,UAAA,EAvCI,IAwCJP,OAAM,SAACC,GACN,MAAO,EACT,IAAG,KAAD,EApDU,OAARJ,EAAQc,EAAAT,KAAAS,EAAAR,OAAA,SAqDPN,GAAQ,wBAAAc,EAAAP,OAAA,GAAAM,EAAA,KAChB,gBA5DkCL,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KCHtBo5G,GAAa,eAAAr7G,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAC3BsD,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGsB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMG,EAAAE,KAAA,EACbK,MAAM,0BAA2B,CACrDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAYNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAlByB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,K,UCAbq5G,GAAqB,eAAAt7G,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOsD,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGlB,OAHkBF,EAAAC,KAAA,EAE/CJ,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMG,EAAAE,KAAA,EACbK,MAAM,gCAAiC,CAC3DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GACLA,EAASC,OACTyB,QAAQe,IAAIzC,EAAU,uBACxB,IACCD,MAAK,SAACk2B,GAEL,OADAv0B,QAAQe,IAAIwzB,EAAW,wBAChBA,CACT,IACC91B,OAAM,SAACC,GAAS,IAAG,KAAD,EAfR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAgBNtB,GAAO,OAAAE,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEdwC,QAAQe,IAAI,CAAEd,MAAKzC,EAAAgkB,KAAI,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,kBAE1B,gBAxBiC2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAyBrBs5G,GAAe,eAAAp5G,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAAnC,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAC1BK,MAAM,4BAA6B,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAI,CAAErC,OAChB,IAAG,KAAD,EAbU,OAARJ,EAAQc,EAAAT,KAAAS,EAAAR,OAAA,SAcPN,GAAQ,wBAAAc,EAAAP,OAAA,GAAAM,EAAA,KAChB,gBAhB2BE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,K,UC43Bb66F,OA12BQ,SAACx/F,GAAkB,IAADylE,EAAAy4C,EACvCr4F,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACP5O,EAAgBkH,cAAhBlH,YAGRc,EAAwCC,qBAAmBC,EAAApB,YAAAkB,EAAA,GAApDomG,EAAYlmG,EAAA,GAAEmmG,EAAenmG,EAAA,GACpCgJ,EAA4CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAApDo9F,EAAcn9F,EAAA,GACrBG,GADwCH,EAAA,GACIlJ,mBAAkB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAA1Di9F,EAAch9F,EAAA,GAAEi9F,EAAiBj9F,EAAA,GAGxCgB,EAA8CtK,mBAAmB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA7Dk8F,EAAej8F,EAAA,GAAEk8F,EAAkBl8F,EAAA,GAC1CC,EAAgDxK,mBAAmB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA/Dk8F,EAAgBj8F,EAAA,GAAEk8F,EAAmBl8F,EAAA,GAC5CwG,EAAoDjR,mBAAmB,IAAGkR,EAAArS,YAAAoS,EAAA,GAAnE21F,EAAkB11F,EAAA,GAAE21F,EAAqB31F,EAAA,GAChDC,EAAkDnR,mBAAmB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAjE21F,EAAiB11F,EAAA,GAAE21F,EAAoB31F,EAAA,GAG9C2I,EAAwC/Z,mBAA0B,CAChE27D,QAAS,GACTniE,KAAM,GACN2hG,WAAY,GACZ1vE,KAAM,GACN83E,QAAS,GACTj0G,OAAQ,KACR0qB,EAAAnb,YAAAkb,EAAA,GAPKupF,EAAYtpF,EAAA,GAAEgtF,EAAehtF,EAAA,GAQ5Bg+B,EAAMC,YAAe,CAAC,gBAAtBD,EAER79B,EAAsCna,mBAAiB,GAAEoa,EAAAvb,YAAAsb,EAAA,GAAlD8sF,EAAW7sF,EAAA,GAAE8sF,GAAc9sF,EAAA,GAClCG,GAAsCva,mBAAiB,GAAEwa,GAAA3b,YAAA0b,GAAA,GAAlD4sF,GAAW3sF,GAAA,GAAE4sF,GAAc5sF,GAAA,GAClCG,GAAoC3a,mBAAS,IAAG4a,GAAA/b,YAAA8b,GAAA,GAAzC1gB,GAAU2gB,GAAA,GAAEsT,GAAatT,GAAA,GAGhCG,GAA0C/a,oBAAS,GAAKgb,GAAAnc,YAAAkc,GAAA,GAAjDi6E,GAAah6E,GAAA,GAAEqsF,GAAgBrsF,GAAA,GACtCG,GAA0Cnb,oBAAkB,GAAMob,GAAAvc,YAAAsc,GAAA,GAA3DmsF,GAAalsF,GAAA,GAAEmsF,GAAgBnsF,GAAA,GACtCG,GAA8Cvb,oBAAkB,GAAMwb,GAAA3c,YAAA0c,GAAA,GAA/DikF,GAAehkF,GAAA,GAAEypF,GAAkBzpF,GAAA,GAC1CI,GAAwC5b,oBAAkB,GAAM6b,GAAAhd,YAAA+c,GAAA,GAAzD4rF,GAAY3rF,GAAA,GAAE4rF,GAAe5rF,GAAA,GACpCivC,GAAwC9qD,oBAAS,GAAM+qD,GAAAlsD,YAAAisD,GAAA,GAAhD48C,GAAY38C,GAAA,GAAE48C,GAAe58C,GAAA,GAEpCG,GAA0ClrD,mBAAiB,GAAEmrD,GAAAtsD,YAAAqsD,GAAA,GAAtD05C,GAAaz5C,GAAA,GAAEy8C,GAAgBz8C,GAAA,GACtCE,GAAoCrrD,mBAAiB,cAAasrD,GAAAzsD,YAAAwsD,GAAA,GAA3Dw8C,GAAUv8C,GAAA,GAAEw8C,GAAax8C,GAAA,GAChC8Z,GAAwCplE,oBAAkB,GAAEqlE,GAAAxmE,YAAAumE,GAAA,GAArD2iC,GAAY1iC,GAAA,GAAE2iC,GAAe3iC,GAAA,GACpCG,GAAwCxlE,qBAA2BylE,GAAA5mE,YAAA2mE,GAAA,GAA5DyiC,GAAYxiC,GAAA,GAAEyiC,GAAeziC,GAAA,GACpCI,GAAoC7lE,mBAAgB,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAAhDnuB,GAAUouB,GAAA,GAAEnuB,GAAamuB,GAAA,GAChC8V,GACE57E,mBAA6B,cAAa67E,GAAAh9E,YAAA+8E,GAAA,GADrC8nB,GAAW7nB,GAAA,GAAEssB,GAActsB,GAAA,GAElCG,GAAkCh8E,mBAAmB,QAAOi8E,GAAAp9E,YAAAm9E,GAAA,GAArDupB,GAAStpB,GAAA,GAAEmsB,GAAYnsB,GAAA,GAC9BG,GAA0Cp8E,qBAAeq8E,GAAAx9E,YAAAu9E,GAAA,GAAnCisB,IAAFhsB,GAAA,GAAkBA,GAAA,IAEtCtlC,GAAuDF,IAA/Cb,GAAUe,GAAVf,WAAYQ,GAAeO,GAAfP,gBAAiBI,GAAaG,GAAbH,cAC/B0xD,GAAc13F,iBAAiB,IAC/B23F,GAAkB33F,iBAA+B,MAGjD43F,GAAerB,GAAclwG,OAAOkwG,IAAe,EACnDsB,GAAkBxB,EAAcuB,GAChCE,GAAmBD,GAAkBD,GAC3CzzG,qBAAU,WAqBR,OApBAzJ,OAAOq9G,WAAa,SAACj0G,GACO,aAAtBud,SAASknC,UACX+xC,eAAenjC,QAAQ,cAAe,MAE1C,EAEAz8D,OAAOs9G,eAAiB,SAACl0G,GACG,aAAtBud,SAASknC,WACX+xC,eAAe5nC,WAAW,QAC1B4nC,eAAe5nC,WAAW,gBAC1B4nC,eAAe5nC,WAAW,QAC1B4nC,eAAe5nC,WAAW,gBAC1B4nC,eAAe5nC,WAAW,cAC1B4nC,eAAe5nC,WAAW,iBAC1B4nC,eAAe5nC,WAAW,iBAE9B,EAEAulD,KAEO,WACLv9G,OAAOkoF,oBAAoB,YAAY,SAAC9+E,GAAO,IAC/CpJ,OAAOkoF,oBAAoB,gBAAgB,SAAC9+E,GAAO,GACrD,CACF,GAAG,CAACsjD,IAEJjjD,qBAAU,WACRyhD,IACF,GAAG,IAYHzhD,qBAAU,WACR+zG,IACF,GAAG,CAACxF,IAEJvuG,qBAAU,WACR+zG,IACF,GAAG,CAAC3C,IAEJ,IAAM4C,GAAa,eAAAr+G,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACpBk+G,EACAxvG,GAAgC,IAAAyvG,EAAAC,EAAAC,EAAAC,EAAAh7G,EAAAi7G,EAAAC,EAAA38G,UAAA,OAAA/B,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OA0BX,OAzBrB49G,EAAeK,EAAA94G,OAAA,QAAA1H,IAAAwgH,EAAA,IAAAA,EAAA,MAGb/B,IAAiB,GACjB3wD,MAG4B,MAA3B2xD,GAAgB74E,SACjB64E,GAAgB74E,QAAQ+hE,QAE1B8W,GAAgB74E,QAAU,IAAI8hE,gBAE1B0X,EAAW1vG,EAAOA,EAAK,GAAK,KAC5B2vG,EAAS3vG,EAAOA,EAAK,GAAK,KAAIrO,EAAAC,KAAA,EAG1BgD,EAAgC,CACpC46G,KAAMA,EACNxnF,MAAe,OAARzT,QAAQ,IAARA,GAAoB,QAAZq7F,EAARr7F,EAAU3a,kBAAU,IAAAg2G,OAAZ,EAARA,EAAsB/1G,WAC7Bk2G,aAAc,IACdC,cAAe,EACfC,eAAgBP,EAAWA,EAASQ,cAAgB,GACpDC,aAAcR,EAASA,EAAOO,cAAgB,GAC9Cj+G,kBAAmBsiB,EAASva,OAE9B40G,GAAaY,GAAM79G,EAAAE,KAAA,GACQm6G,GAAuBp3G,EAAUm6G,GAAgB74E,QAAQkiE,QAAQ,KAAD,GAArFyX,EAAYl+G,EAAAmB,KAClBs9G,GAAsBP,GAAcl+G,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEpCwC,QAAQC,MAAKzC,EAAAgkB,IAAQ,QAElB85F,GACH1B,IAAiB,GAClB,yBAAAp8G,EAAAqB,OAAA,GAAA1B,EAAA,mBACF,gBArCkB2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KAuCbi9G,GAAwB,SAACC,GAsB7B,IArBA,IAAIC,EAAyB,GACzBC,EAA2B,GAC3BC,EAA0B,GAC1BC,EAA4B,GAE1BC,EAAuBL,EAASt6D,QAAO,SAAC6D,EAAGhP,GAE/C,OADAgP,EAAEhP,EAAEjuB,cAAgBi9B,EAAEhP,EAAEjuB,eAAiB,GAClCi9B,CACT,GAAG98C,OAAOkiD,OAAO,OACX2xD,EAAyBN,EAASt6D,QAAO,SAAC6D,EAAGhP,GAEjD,OADAgP,EAAEhP,EAAE5xC,QAAU4gD,EAAEhP,EAAE5xC,SAAW,GACtB4gD,CACT,GAAG98C,OAAOkiD,OAAO,OACX4xD,EAAyBP,EAASt6D,QAAO,SAAC6D,EAAGhP,GAEjD,OADAgP,EAAEhP,EAAE/tB,aAAe+8B,EAAEhP,EAAE/tB,cAAgB,GAChC+8B,CACT,GAAG98C,OAAOkiD,OAAO,OACX6xD,EAA4BR,EAASt6D,QAAO,SAAC6D,EAAGhP,GAEpD,OADAgP,EAAEhP,EAAEkmE,gBAAkBl3D,EAAEhP,EAAEkmE,iBAAmB,GACtCl3D,CACT,GAAG98C,OAAOkiD,OAAO,OACjBxoD,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQ2hF,GAAuBn6G,EAAAu4B,EAAA/3B,OAAAR,IAAE,CAA9D,IAAAy4B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAOwG,EAAGiyB,EAAA,GAAOA,EAAA,GACpBshF,EAAkB14G,KAAK,CACrBtH,MAAOiuD,EAAExhD,GACTzF,MAAOyF,GAEX,CACA,QAAA9E,EAAA,EAAAy3B,EAA2B7yB,OAAOkyB,QAAQ0hF,GAAqBx4G,EAAAy3B,EAAA34B,OAAAkB,IAAE,CAA5D,IAAA03B,EAAAvqB,YAAAsqB,EAAAz3B,GAAA,GAAO8E,EAAG4yB,EAAA,GAAOA,EAAA,GACpB0gF,EAAgBz4G,KAAK,CACnBtH,MAAOiuD,EAAExhD,GACTzF,MAAOyF,GAEX,CACA,QAAA2oF,EAAA,EAAAorB,EAA2Bj0G,OAAOkyB,QAAQ4hF,GAAuBjrB,EAAAorB,EAAA/5G,OAAA2uF,IAAE,CAA9D,IAAAqrB,EAAA3rG,YAAA0rG,EAAAprB,GAAA,GAAO3oF,EAAGg0G,EAAA,GAAOA,EAAA,GACpBR,EAAiB34G,KAAK,CACpBtH,MAAOiuD,EAAExhD,GACTzF,MAAOyF,GAEX,CACA,QAAA8xB,EAAA,EAAAmiF,EAA2Bn0G,OAAOkyB,QAAQ6hF,GAA0B/hF,EAAAmiF,EAAAj6G,OAAA83B,IAAE,CAAjE,IAAAoiF,EAAA7rG,YAAA4rG,EAAAniF,GAAA,GAAO9xB,EAAGk0G,EAAA,GAAOA,EAAA,GACpBT,EAAmB54G,KAAK,CACtBtH,MAAOiuD,EAAExhD,GACTzF,MAAOyF,GAEX,CAEAqwG,EAAsB,GAADr9G,OAAKygH,IAC1BtD,EAAoB,GAADn9G,OAAKwgH,IACxBjD,EAAqB,GAADv9G,OAAKugH,IACzBtD,EAAmB,GAADj9G,OAAKsgH,IACvB1D,EAAen1G,YAAK44G,GACtB,EAWA,IAAMc,GAAY,eAAA99G,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EACnB9C,EACA8O,EACA2+F,EACA8C,EACAD,GAAuB,IAAAvvG,EAAA6/G,EAAApuF,EAAAquF,EAAAC,EAAA17G,EAAA27G,EAAA9vF,EAAA+vF,EAAAC,EAAAxtG,EAAA,OAAA7S,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAiBpB,OAjBoB0B,EAAA3B,KAAA,EAGrBg7G,EAAen1G,aACG,OAAZk1G,QAAY,IAAZA,OAAY,EAAZA,EAAc1lG,QAAO,SAAC/L,GAAC,OAAKA,EAAEsrG,QAAUlnG,CAAM,MAAK,KAEzDyuG,IAAiB,GAEPrrG,SAASgvG,qBAAqB,QACpC,GAAG9hH,MAAM+hH,SAAW,OAClBpgH,EAAc,CAClBoyG,OAAQrkG,EACRvG,WAAY,KACZuiB,aAAc,KACd2sE,SAAU,GACVruF,WAAY2a,EAAS3a,WAAWC,WAChCqlG,MAAO3qF,GACRhhB,EAAA1B,KAAA,EAC8BwmD,YAAc9mD,GAAa,KAAD,EAEpB,GAFjC6/G,EAAkB79G,EAAAT,KAEtB+7G,GAAiBuC,IACbA,EAAmB,CAAD79G,EAAA1B,KAAA,SAWwB,GAVxCmxB,EAAgBouF,EAAmBrV,eACnCsV,EAAqB,GAEzBruF,EAAcxpB,WAAWykG,QAAUA,EACnCj7E,EAAcxpB,WAAW0lG,MAAQ3qF,EACjCyO,EAAcxpB,WAAWunG,YAAcA,GAEnC/9E,EAAcxpB,WAAWunG,YAC7B/9E,EAAcxpB,WAAWsnG,eAAiBA,GAEtC99E,EAAcxpB,WAAWsnG,eAExBsQ,EAAmBrV,eAAeviG,WAAWo4G,aAAa,CAADr+G,EAAA1B,KAAA,aAGxDmxB,EAAcxpB,WAAWqhB,cAAc,CAADtnB,EAAA1B,KAAA,SA0BsB,GAzBrB,CACvCqE,QAAS,GACT4C,MAAO,EACPI,UAAW,EACXC,UAAW,EACXvC,YAAY,IAER26G,EAAmBj/G,KAAKwM,MAC5BkkB,EAAcxpB,WAAWqhB,gBAEV1qB,MAAMyH,KAAI,SAACN,GAAS,OACnCA,EAAKlH,OAAOwH,KAAI,SAAC6Y,GAWf,MAV8B,OAA1BA,EAAQngB,SAASE,KACnBigB,EAAQngB,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC9H,GACzCA,EAAI2P,YAAa,EACjB3P,EAAI0P,QAAS,CACf,KAEAwR,EAAQxR,QAAS,EACjBwR,EAAQvR,YAAa,GAGhBuR,CACT,GAAE,IAED7a,EAAgBi8G,GAAwBN,IAEV,KAAhB,QAAbD,EAAA17G,SAAa,IAAA07G,OAAA,EAAbA,EAAep4G,UAAe,CAAA3F,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GACJigH,GAC1B9uF,EAAcxpB,WAAW3D,YACzB07G,EACA37G,GACA,KAAD,IAJK6rB,EAAaluB,EAAAT,OAOjBu+G,EAAmBx5G,KAAK4pB,GACzB,QAEHuB,EAAcxpB,WAAWqhB,cACvBvoB,KAAKC,UAAUg/G,GAAkB,QAGkB,OAAzDvuF,EAAkC,mBAAIquF,EAAmB99G,EAAA1B,KAAA,GAE7BsmD,YAAe,CACzCyrD,SAAU,CACRj4E,oBAAqB3I,EAAc2I,oBACnC5Q,sBAAuBiI,EAAcjI,sBACrC+hE,aAAc95D,EAAcvI,cAC5BgiF,mBAAoBz5E,EAAcy5E,mBAClCsV,kBAAmB/uF,EAAc+uF,kBACjCv4G,WAAYwpB,EAAcxpB,WAC1B63G,mBAAoBruF,EAAcquF,oBAIpC9pF,KAAM/2B,IACL,KAAD,GAbiB,KAAfghH,EAAej+G,EAAAT,OAeK0+G,EAAgBp4G,QAAO,CAAA7F,EAAA1B,KAAA,SAa7C,OAZI4/G,EAAY,GAAAzhH,OAAMQ,EAAI,aACtByT,EAAkB,UACE,eAApButG,IACFC,EAAI,GAAAzhH,OAAMQ,EAAI,WACdyT,EAAUutG,GAEZ/rG,EAAY,CACV1D,YAAa0vG,EACbxtG,QAASA,EACTzT,KAA0B,eAApBghH,EAAmC,QAAU,YAGrDj+G,EAAA1B,KAAA,GACMmrD,KAAkB,KAAD,UAAAzpD,EAAA1B,KAAA,GACjB09G,GAAcxD,IAAW,KAAD,GAEpBrpG,SAASgvG,qBAAqB,QACpC,GAAG9hH,MAAM+hH,SAAW,OACxB5D,IAAiB,GACjBE,IAAgB,GAAO16G,EAAA1B,KAAA,iBAEvB4T,EAAY,CACV1D,YAAY,GAAD/R,OAAKwhH,EAAgBp4G,SAChC6K,QAAQ,QACRzT,KAAM,UAERu9G,IAAiB,GAAO,QAAAx6G,EAAA1B,KAAA,iBAAA0B,EAAA3B,KAAA,GAAA2B,EAAAoiB,GAAApiB,EAAA,SAI5BY,QAAQC,MAAM,SAAQb,EAAAoiB,IAAS,yBAAApiB,EAAAP,OAAA,GAAAM,EAAA,mBAElC,gBAvIiBO,EAAAiB,EAAAwF,EAAA7B,EAAAkmB,GAAA,OAAAtrB,EAAAH,MAAA,KAAAC,UAAA,KAwIZ0+G,GAA0B,SAACz+E,GAC/B,IACE,IAAI4+E,EAAoC,CACtC97G,QAAS,GACTU,YAAY,EACZkC,MAAO,EACPI,UAAW,EACXC,UAAW,GAeb,OAZAi6B,EAAajjC,MAAMkH,SAAQ,SAACC,EAAWxH,GACrCwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,OAAzBD,EAAOE,SAASE,OAClBwhH,EAAa97G,QAAU9F,EAAOE,SAASG,UAAUyF,QACjD87G,EAAap7G,YAAcxG,EAAOE,SAASK,MAAM6G,SAAS,KAC1Dw6G,EAAal5G,MAAQ1I,EAAOE,SAASwI,MACrCk5G,EAAa94G,SAAWpJ,EACxBkiH,EAAa74G,SAAW9I,EAE5B,GACF,IAEO2hH,CACT,CAAE,MAAO59G,GACP,MAAO,CACL8B,QAAS,GACTU,YAAY,EACZkC,MAAO,EACPI,UAAW,EACXC,UAAW,EAEf,CACF,EACM24G,GAAmB,eAAAp+G,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAC1Bs+G,EACAp3F,EACAjlB,GAAkC,IAAAsD,EAAAC,EAAA5B,EAAA26G,EAAAp7G,EAAAq7G,EAAAC,EAAA7gH,EAAA8gH,EAAAC,EAAA,OAAAlhH,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAIQ,GAJR+B,EAAAhC,KAAA,EAG1BsH,EAAWtD,EAAcsD,SACzBC,EAAWvD,EAAcuD,UAC3B0hB,EAAc,CAADjnB,EAAA/B,KAAA,SAEiD,GAD5D0F,EAAQsjB,EAAc1qB,MAAM+I,GAAU9I,OAAO+I,GAAUxG,KAAK4E,MAC1D26G,EAAWr3F,EAAc1qB,MAAM+I,GAAU9I,OAAO+I,IAClD5B,EAAM,CAAD3D,EAAA/B,KAAA,SASN,OARKiF,EAAKS,EAAMa,MAAM,KACjB+5G,EAAKr7G,EAAG81C,MAAM,EAAG91C,EAAGE,OAAS,GAC/Bo7G,GAAc,EACZ7gH,EAAc,CAClBqH,OAAQu5G,EAAGz5G,KAAK,KAAO,IACvBG,MAAOq5G,EAAS5hH,SAASwI,MACzBC,WAAYk5G,EACZM,cAAez7G,EAAG4B,KAAK,MACxB9E,EAAA/B,KAAA,GACuBZ,aAAcM,GAAa,KAAD,GAMjD,OANK8gH,EAASz+G,EAAAd,KAEK,MADdw/G,EAAWD,EAAUj6G,MAAM,MACpB,KACXg6G,EAAaE,EAASA,EAASt7G,OAAS,GACxCF,EAAGA,EAAGE,OAAS,GAAKo7G,EACpB7gH,EAAYghH,cAAgBH,GAC7Bx+G,EAAAb,OAAA,SACMxB,GAAW,QAAAqC,EAAA/B,KAAA,iBAAA+B,EAAAhC,KAAA,GAAAgC,EAAA+hB,GAAA/hB,EAAA,SAItBO,QAAQC,MAAM,mCAAkCR,EAAA+hB,IAAS,yBAAA/hB,EAAAZ,OAAA,GAAAW,EAAA,mBAE5D,gBAlCwBi3B,EAAAC,EAAAC,GAAA,OAAAp3B,EAAAR,MAAA,KAAAC,UAAA,KAmCnBq4G,GAAU,eAAAz3G,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EACjBsL,EACAxJ,EACAsS,EACAzO,GAAqB,IAAA64G,EAAAC,EAAAvT,EAAAwT,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA1hH,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EAIK2mD,YAAW,CACnC/5B,OAAQnf,EACR1F,WAAqB,OAATD,QAAS,IAATA,GAAqB,QAAZ64G,EAAT74G,EAAWC,kBAAU,IAAA44G,OAAZ,EAATA,EAAuB34G,WACnCouF,SAAU,GACViX,MAAO3qF,EAAS3a,aACf,KAAD,EA+BF,OApCM64G,EAAWx+G,EAAAnB,MAODkE,OAAS,GACW,OAA9By7G,EAAY,GAAGM,YACsB,MAAnCN,EAAY,GAAGM,WAAWC,MAC5BnF,IAAiB,GAKnBU,KAAiBnmG,GACnBgmG,GAAiB3wG,OAAO6B,IACxBkvG,GAAgBpmG,GAChB6lG,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiBjvD,EAAOzF,cAE/C20G,GAAgBpmG,GAEZ4lG,IACFI,GAAiB,GACjBH,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiB,OAExC6/C,GAAiB3wG,OAAO6B,IACxB2uG,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiBjvD,EAAOzF,cAG7CqlG,EAAQ,CACZtlG,WAAY2a,EAAS3a,YAEvB3F,EAAApC,KAAA,EAC6BsK,aAAkB,CAAEsiB,OAAQnf,IAAU,KAAD,EAA9C,OAAhBozG,EAAgBz+G,EAAAnB,KAAAmB,EAAApC,KAAA,GAEO46G,GAAgB,CAAEhuF,OAAQnf,IAAU,KAAD,GAA5C,GAAdqzG,EAAc1+G,EAAAnB,KAEH,UAAXgD,EAAkB,CAAA7B,EAAApC,KAAA,SAMnB,OALG+gH,EAA+B,CACjC1T,MAAO,CACLtlG,WAAY2a,EAAS3a,YAEvB6kB,OAAQnf,GACTrL,EAAApC,KAAA,GAC2BqmD,YAAsB06D,GAAY,KAAD,GAAzDC,EAAe5+G,EAAAnB,KACnBqrD,GAAc00D,GAAiB5+G,EAAApC,KAAA,iBAE/BssD,GAAc,IAAI,eAAAlqD,EAAApC,KAAA,GAGK06G,GAAc,CACrC5I,OAAQrkG,EACR2oF,SAAU,GACViX,MAAOA,IACN,KAAD,GAJE4T,EAAY7+G,EAAAnB,KAMhB24G,IAAmB,GAEnBiD,IAAgB,SAACziF,GAAS,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZvD,UAAWiqF,EACX5N,YAAa2N,EACb/4G,YACA6sG,OAAQlnG,EACR4rD,QAAS4nD,GAAY,IAGvBphB,eAAenjC,QACb,eACAkgD,GAAen8G,KAAKC,UAAUk8G,IAAgB,MAGhDN,IAAgB,GACZI,KAAiBnmG,GACnBgmG,GAAiB3wG,OAAO6B,IACxBkvG,GAAgBpmG,GAChB6lG,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiBjvD,EAAOzF,cAE/C20G,GAAgBpmG,GAEZ4lG,IACFI,GAAiB,GACjBH,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiB,OAExC6/C,GAAiB3wG,OAAO6B,IACxB2uG,IAAgB,GAChBvc,eAAenjC,QAAQ,gBAAiBjvD,EAAOzF,cAElD,yBAAA5F,EAAAjB,OAAA,GAAAgB,EAAA,KACF,gBAvGe+2B,EAAAmB,EAAAQ,EAAAK,GAAA,OAAAh5B,EAAAb,MAAA,KAAAC,UAAA,KAyGV82G,GAAe,SAAC3iC,GACpBgnC,GAAchnC,GACd,IAAItnE,EAAkC,KAClCwvG,EAAiB,OACR,mBAATloC,GAEgB,eAATA,EADTkoC,EAAO,OAGW,iBAATloC,GACTtnE,EAAO,CAACjI,KAAO,IAAI2R,MAAQupG,SAAS,EAAG,KAAMl7G,KAAO,IAAI2R,OACxD8lG,EAAO,YACW,eAATloC,EACTkoC,EAAO,YACW,cAATloC,EACTkoC,EAAO,YACW,cAATloC,EACTkoC,EAAO,YACW,aAATloC,IACTkoC,EAAO,YAETD,GAAcC,EAAMxvG,GACpB0tG,GAAe,GACfiB,GAAernC,GACfoqB,eAAenjC,QAAQ,OAAQihD,GAC/B9d,eAAenjC,QAAQ,aAAc+Y,GACrCoqB,eAAenjC,QAAQ,OAAQ,IACjC,EAEM98C,GAAc,eAAAnd,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,EACrBgD,EACA27G,GAA8B,IAAAC,EAAA,OAAA/hH,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAE1BshH,EAAYrJ,EAEZoJ,IACFC,EAAUD,GAAc37G,EAEL,SAAf27G,EACF3D,GAAcxD,GAAWx0G,IAEzBi2G,GAAgB,SAACvhF,GAAc,OAAA3qB,wBAAA,GAC1B2qB,GACAknF,EAAS,IAGdzhB,eAAenjC,QAAQ,eAAgBj8D,KAAKC,UAAUu3G,KAGxD4D,GAAe,GACfhc,eAAenjC,QAAQ,OAAQ,MAChC,wBAAA/5D,EAAAxB,OAAA,GAAAuB,EAAA,KACF,gBAvBmBy4B,EAAAM,GAAA,OAAAh5B,EAAApB,MAAA,KAAAC,UAAA,KAyBdg3E,GAAc,WAClBqjC,EAAgB,CACdxtG,KAAM,GACNiyB,KAAM,GACNn8B,OAAQ,GACRqsE,QAAS,GACTw/B,WAAY,GACZoI,QAAS,KAEXrY,eAAenjC,QAAQ,eAAgBj8D,KAAKC,UAAUu3G,IACrC,YAAbiC,IACFwD,GAAc,WAAY,KAE9B,EAgDMD,GAAuB,WAC3B,IAAM8D,GACQ,OAAZzG,QAAY,IAAZA,OAAY,EAAZA,EAAc1lG,QAAO,SAACmlG,EAAMpkG,GAC1B,IAAIqrG,GAAe,EACfC,GAAgB,EAChBC,GAAmB,EACnBC,GAAa,EACbC,GAAgB,EAEpB,OAAIj3D,GAAWhlD,SAAS40G,EAAK5F,WAGb,OAAZsD,QAAY,IAAZA,OAAY,EAAZA,EAAch0G,OAAOkB,QAAS,IAChCq8G,EArDyB,SAACjH,EAAapkG,GAC7C,SAAmB,OAAZ8hG,QAAY,IAAZA,OAAY,EAAZA,EAAch0G,OAAOkB,QAAS,KACrB,OAAZ8yG,QAAY,IAAZA,OAAY,EAAZA,EAAch0G,OAAO0B,SAAS40G,EAAKpzG,QAEzC,CAiDuB06G,CAAyBtH,KAE1B,OAAZtC,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,QAAQnrE,QAAS,IACjCs8G,EA9C0B,SAAClH,EAAapkG,GAC9C,SAAmB,OAAZ8hG,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,QAAQnrE,QAAS,KACtB,OAAZ8yG,QAAY,IAAZA,OAAY,EAAZA,EAAc3nC,QAAQ3qE,SAAS40G,EAAKvvF,aAE1C,CA0CwB82F,CAA0BvH,KAE5B,OAAZtC,QAAY,IAAZA,OAAY,EAAZA,EAAcnI,WAAW3qG,QAAS,IACpCu8G,EA5C6B,SAACnH,EAAapkG,GACjD,SAAmB,OAAZ8hG,QAAY,IAAZA,OAAY,EAAZA,EAAcnI,WAAW3qG,QAAS,KACzB,OAAZ8yG,QAAY,IAAZA,OAAY,EAAZA,EAAcnI,WAAWnqG,SAAS40G,EAAK0E,gBAE7C,CAwC2B8C,CAA6BxH,KAElC,OAAZtC,QAAY,IAAZA,OAAY,EAAZA,EAAc73E,KAAKj7B,QAAS,IAC9Bw8G,EAzDuB,SAACpH,EAAapkG,GAC3C,SAAmB,OAAZ8hG,QAAY,IAAZA,OAAY,EAAZA,EAAc73E,KAAKj7B,QAAS,KACnB,OAAZ8yG,QAAY,IAAZA,OAAY,EAAZA,EAAc73E,KAAKz6B,SAAS40G,EAAKzvF,cAEvC,CAqDqBk3F,CAAuBzH,KAEtB,OAAZtC,QAAY,IAAZA,OAAY,EAAZA,EAAcC,QAAQ/yG,QAAS,IACjCy8G,EA7C0B,SAACrH,GAAiB,IAAD0H,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3CC,EAAuB,OAAZ1K,QAAY,IAAZA,GAAqB,QAATgK,EAAZhK,EAAcC,eAAO,IAAA+J,OAAT,EAAZA,EAAuB/oD,cAClCo2C,EAA6B,OAAJiL,QAAI,IAAJA,OAAI,EAAJA,EAAMN,WAC/BnyG,EAA4B,OAAJyyG,QAAI,IAAJA,OAAI,EAAJA,EAAMb,UAEpC,SAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAUx9G,QAAS,KACH,QAAnB+8G,EAAA3H,EAAK0E,sBAAc,IAAAiD,OAAA,EAAnBA,EAAqBhpD,cAAcvzD,SAASg9G,MACzB,QADkCR,EACnD5H,EAAKzvF,oBAAY,IAAAq3F,OAAA,EAAjBA,EAAmBjpD,cAAcvzD,SAASg9G,MAC1B,QADmCP,EACnD7H,EAAKvvF,mBAAW,IAAAo3F,OAAA,EAAhBA,EAAkBlpD,cAAcvzD,SAASg9G,MAC9B,QADuCN,EAClD9H,EAAKpzG,cAAM,IAAAk7G,OAAA,EAAXA,EAAanpD,cAAcvzD,SAASg9G,MACrB,QAD8BL,EAC7C/H,EAAKvwF,kBAAU,IAAAs4F,OAAA,EAAfA,EAAiBppD,cAAcvzD,SAASg9G,MAC5B,QADqCJ,EACjDhI,EAAKV,eAAO,IAAA0I,OAAA,EAAZA,EAAcrpD,cAAcvzD,SAASg9G,KACpCrT,IACW,OAAVA,QAAU,IAAVA,GAAkB,QAARkT,EAAVlT,EAAYpnG,cAAM,IAAAs6G,OAAR,EAAVA,EAAoBtpD,cAAcvzD,SAASg9G,MACnC,OAAVrT,QAAU,IAAVA,OAAU,EAAVA,EAAY78C,OAAOyG,cAAcvzD,SAASg9G,KACzC76G,IAAsB,OAATA,QAAS,IAATA,GAAiB,QAAR26G,EAAT36G,EAAWI,cAAM,IAAAu6G,OAAR,EAATA,EAAmBvpD,cAAcvzD,SAASg9G,MAC/C,OAAT76G,QAAS,IAATA,GAAiB,QAAR46G,EAAT56G,EAAW2qD,cAAM,IAAAiwD,OAAR,EAATA,EAAmBxpD,cAAcvzD,SAASg9G,GAElD,CA2BwBC,CAA0BrI,IAI1CiH,GACAC,GACAC,GACAC,GACAC,EAEJ,MAAM,GACR1G,EAAkBqG,EACpB,EAqBM/D,GAAiB,eAAA36G,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,IAAA,IAAA+/G,EAAAlF,EAAAjzC,EAAA0pC,EAAA0O,EAAAC,EAAAC,EAAAC,EAAA,OAAA1jH,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAOvB,OANG6iH,EAAahjB,eAAe1/F,QAAQ,eACpCw9G,EAAOzD,GACP2I,IACFlF,EAAO9d,eAAe1/F,QAAQ,QACzB0/F,eAAe1/F,QAAQ,QACxB,QACL6C,EAAAhD,KAAA,EACK09G,GAAcC,GAAM,KAAD,EACrBkF,IACEn4C,EAASm1B,eAAe1/F,QAAQ,gBAChCM,KAAKwM,MAAM4yF,eAAe1/F,QAAQ,iBAClC83G,EACA7D,EAAOvU,eAAe1/F,QAAQ,QAC9BiQ,SAASyvF,eAAe1/F,QAAQ,SAChC,EACA2iH,EAAcjjB,eAAe1/F,QAAQ,gBACpCM,KAAKwM,MACJ4yF,eAAe1/F,QAAQ,iBAEzBy8G,GACAJ,EAAqB3c,eAAe1/F,QAAQ,cAC5C0/F,eAAe1/F,QAAQ,cACvB,aACAo5G,EAAgB1Z,eAAe1/F,QAAQ,iBACvCiQ,SAASyvF,eAAe1/F,QAAQ,kBAChC,EACA8iH,IAAmBpjB,eAAe1/F,QAAQ,kBAC1CM,KAAKwM,MAAM4yF,eAAe1/F,QAAQ,kBAGtCw7G,EAAgBjxC,GAChBmxC,GAAezH,GACfyI,GAAgBiG,GAChBhG,GAAgBN,GAAqC,cACrDC,GAAcD,GACdD,GAAiBhD,GACjB+C,GAAgB2G,IAElBpjB,eAAe5nC,WAAW,eAAe,wBAAAj1D,EAAA7B,OAAA,GAAA2B,EAAA,KAC1C,kBAxCsB,OAAAD,EAAAxB,MAAA,KAAAC,UAAA,KAwDvB,OAVA2rD,mBAAQ,WAJkB,IAAC5oB,EAAmB6+E,EAMpB,IAAZ,OAAVv4D,SAAU,IAAVA,QAAU,EAAVA,GAAYxlD,UANWk/B,EAOLsmB,GAPwBu4D,EAOZjG,GAAY54E,QANrCA,EAAQx9B,KAAK,MAAQq8G,EAASr8G,KAAK,OAQxC62G,GAAcxD,GAAW,MAAM,GAEjC+C,GAAY54E,QAAOz+B,YAAO+kD,GAC5B,GAAG,CAACA,KAGFztD,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAACs4G,KAAe,CAAAp4G,SACdE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC5B6+G,IACC/+G,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,iBAGpDvlD,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC9Bi/G,GACCn/G,cAAA,OAAKgB,UAAU,SAAQd,SACrBF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,KAAGgB,UAAU,mBAAmB4U,QAASwlE,GAAYl7E,SAClDuvD,EAAE,eAELzvD,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAACm6G,GAAyB,CACxBY,aAAcA,EACdr4F,eAAgBA,GAChBw4F,aAAcA,GACdG,WAAYkD,EACZ9C,WAAY0C,EACZzC,cAAe2C,EACf9C,SAAU0C,EACV9C,YAAaA,cAOvBn7G,cAAA,UAEFI,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QA5kBhB,WACMupG,IACFC,IAAgB,GAChBzc,eAAenjC,QAAQ,gBAAiB,WAExC0/C,IAAgB,GAChBE,IAAgB,GAChBzc,eAAenjC,QAAQ,gBAAiB,QAE5C,EAokBgB3+D,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,OAEvBpqF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCE,eAAA,KAAGY,UAAU,aAAYd,SAAA,CACtBuvD,EAAE,YAAY,MAAIA,EAAE6vD,IAAY,KAAiB,OAAdvB,QAAc,IAAdA,OAAc,EAAdA,EAAgB91G,OAAO,YAIjEjI,cAAA,OAAKgB,UAAU,UAASd,SACtBE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,IACCn/G,cAAC83G,KAAOn4C,IAAG,CACT3+D,UAAU,UACVw3G,QAAS,CAAEC,QAAS,EAAGjiE,GAAI,KAC3BwhE,QAAS,CAAES,QAAS,EAAGjiE,EAAG,GAC1B3F,KAAM,CAAE4nE,QAAS,EAAGjiE,GAAI,KACxBuhE,WAAY,CAAE3gG,SAAU,IAAMlX,SAE9BF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,KAAGgB,UAAU,mBAAmB4U,QAASwlE,GAAYl7E,SAClDuvD,EAAE,eAELzvD,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAACm6G,GAAyB,CACxBY,aAAcA,EACdr4F,eAAgBA,GAChBw4F,aAAcA,GACdG,WAAYkD,EACZ9C,WAAY0C,EACZzC,cAAe2C,EACf9C,SAAU0C,EACV9C,YAAaA,cAOzB/6G,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,QAAMgB,UAAU,YAAWd,SAAEuvD,EAAE,UAC/BzvD,cAAC+b,KAAW,CACVta,KAAM,SACNqR,KAAK,QACLmK,IAAK,IACLzU,MAAOo2G,GACPnsG,SAxPK,SAACyzG,GACxBrH,GAAeqH,EACjB,IAwPkBlmH,cAAA,QAAMgB,UAAU,sBAAqBd,SAClCuvD,EAAE,uBAGPzvD,cAAA,OAAKgB,UAAU,kBAAiBd,SACf,OAAd69G,QAAc,IAAdA,GAC2C,QAD7BJ,EAAdI,EACGlgE,MAAMsiE,GAAkBD,WAAgB,IAAAvC,OAD7B,EAAdA,EAEG90G,KA/KE,SAACw0G,EAAapkG,GACpC,OACEjZ,cAAC27G,GACC,CACAmF,aAAchD,EAEdl6G,KAAMy5G,EACNlL,SAAUiQ,GACV/F,cAAeA,GACfI,WAAYA,GACZpjG,MAAOJ,EACP+jG,UAAWA,GACXiC,aAAcA,GACdC,gBAAiBA,GACjBxC,mBAAoBA,IATfzjG,EAYX,MAgKgBjZ,cAACmmH,KAAU,CACTC,eAAgB,EAChBj/E,QAASu3E,EACT/8D,SAAUi9D,GAAclwG,OAAOkwG,IAAe,EAC9CtjF,MAAqB,OAAdyiF,QAAc,IAAdA,OAAc,EAAdA,EAAgB91G,OACvBwK,SA5QD,SAACykG,GAChByH,GAAezH,GACfvU,eAAenjC,QAAQ,OAAQ03C,EAAKpsG,WACtC,YA8QU9K,cAAA,OAAKa,MAAO,CAAEknB,UAAW,UACzB/nB,cAACquE,GAAgB,OAElB4wC,IACCj/G,cAAC62G,GAAmB,CAClBlxE,cAAeA,GACfj0B,WAAYA,GACZ9N,KAAM87G,GACNjT,cAAeA,GACft9C,WAAYA,GACZgjD,SAAUiQ,GACVnL,gBAAiBA,WAO/B,IC/3BaoP,GAAoB,SAAC5mH,GAEhC,IAAAqoE,EAA4BnB,KAAZD,GAAFoB,EAANrB,OAAeqB,EAAPpB,SAEhBlvD,EAAsCC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAA3C6wD,EAAW3wD,EAAA,GAAE4wD,EAAc5wD,EAAA,GAClCgJ,EAAuBjJ,mBAAmB,OAALhY,QAAK,IAALA,OAAK,EAALA,EAAO8oE,cAArCC,EAAkDlyD,YAAAoK,EAAA,GAAtC,GACnB+6C,EAAwCnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAApDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAEhCS,GADWxM,cACDzN,eACNuc,EAAS/O,YAAe,CAAC,gBAAzB+O,KACRn5C,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAA/B0vC,GAAFzS,EAAA,GAAaA,EAAA,IAEtBiZ,EAAU,IAAIrJ,IACpBuB,EAIIphB,YAAQ,CACVosB,cAAe,CACbyH,SAAU,GACVC,SAAU,MANZ1hC,EAAYgvB,EAAZhvB,aACOgvB,EAAP9jD,QACmB8jD,EAAnBthD,UAAajR,OAQfqL,qBAAU,WAERk6D,GAAQ,GACR4/C,GACF,GAAG,CAAC7mH,EAAM8mH,cAEV,IAAMC,EAAmB,eAAArkH,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAkkH,EAAA,OAAApkH,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACDK,MAAM,8BAA8BM,MAAK,SAAC6H,GAAG,OACpEA,EAAI3H,MAAM,IACV,KAAD,EAFG8iH,EAAY7jH,EAAAmB,KAGhBhB,OAAO2mB,SAAS6qB,KAAOkyE,EAAaC,SAAS,wBAAA9jH,EAAAqB,OAAA,GAAA1B,EAAA,KAC9C,kBALwB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAOnBkiH,EAAS,eAAAhiH,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAkiH,EAAA,OAAApkH,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACSK,MACvB,qCAAuC1D,EAAM8mH,aAC7C9iH,MAAK,SAAC6H,GAAG,OAAKA,EAAI3H,MAAM,IAAE,KAAD,EAFvB8iH,EAAYjiH,EAAAT,KAIhB+2D,KACA93D,aAAa+3D,WAAW,WACxBS,EAAQ/d,OAAO,cACf+d,EAAQyN,IAAI,aAAcw9C,EAAav9C,WAAY,CACjDC,KAAM,IACNC,QAAS,IAAIzuD,KAAKA,KAAK8pC,MAAQ,SAEjCopB,EAAgB44C,GAAc,wBAAAjiH,EAAAP,OAAA,GAAAM,EAAA,KAC/B,kBAbc,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAeTypE,EAAe,eAAAlpE,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAO6hH,GAAiB,IAAAE,EAAA99C,EAAA,OAAAxmE,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,WACzB,IAAjB2jH,EAAsB,CAAA5hH,EAAA/B,KAAA,QAKxB,OAJAg4D,KACAmP,KAEA3B,EAAe,kOACfzjE,EAAAb,OAAA,iBAMkB,QAHd6kE,EAAc7lE,aAAaC,QAAQ,YACrCM,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAC/C,IAEE4lE,EAAY5gE,OAAS,GACvBjF,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUqlE,IAGlD7lE,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAU,KAET,QAAzB,OAAZijH,QAAY,IAAZA,GAA0B,QAAdE,EAAZF,EAAcr7F,oBAAY,IAAAu7F,OAAd,EAAZA,EAA4B5tD,MAC9B0F,EAAKc,eAAe,MAEpBd,EAAKc,eAAe,MAEtBvK,EAAwB,OAAZyxD,QAAY,IAAZA,OAAY,EAAZA,EAAcr7F,cAC1BpoB,aAAaw8D,QAAQ,WAAYj8D,KAAKC,UAAUijH,IAChDzjH,aAAaw8D,QAAQ,aAAcinD,EAAar7F,aAAavgB,YAC7D7H,aAAaw8D,QACX,eACAinD,EAAar7F,aAAargB,cAE5B/H,aAAaw8D,QAAQ,OAAQinD,EAAar7F,aAAa2tC,MACvD/1D,aAAaw8D,QAAQ,SAAUinD,EAAar7F,aAAapgB,QACzDhI,aAAaw8D,QAAQ,SAAUinD,EAAar7F,aAAamqC,QACzDvyD,aAAaw8D,QAAQ,QAASinD,EAAar7F,aAAangB,OACxDjI,aAAaw8D,QACX,iBACAinD,EAAar7F,aAAamsC,gBAE5Bv0D,aAAaw8D,QACX,iBACAinD,EAAar7F,aAAalgB,gBAE5BlI,aAAaw8D,QACX,eACAinD,EAAar7F,aAAamrC,cAE5BvzD,aAAaw8D,QACX,mBACAinD,EAAar7F,aAAajgB,kBAE5BnI,aAAaw8D,QAAQ,UAAWinD,EAAazhG,SAE7C42C,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,KAGlDlvD,aAAaC,QAAQ,WACc,KAAnCD,aAAaC,QAAQ,WAErBk5D,EAAQrzD,KAAK,wBACb9F,aAAa+3D,WAAW,WAExBoB,EAAQrzD,KAAK,YACd,yBAAAjE,EAAAZ,OAAA,GAAAW,EAAA,KACF,gBAhEoBV,GAAA,OAAAS,EAAAR,MAAA,KAAAC,UAAA,KAyErB,OAPAoI,qBAAU,WACRk6D,GAAQ,GACJ/K,EAAazJ,iBACfiK,EAAQrzD,KAAK,WAEjB,GAAG,IAGD1I,eAAAH,WAAA,CAAAC,SAAA,CACGT,EAAM8oE,cAAgB9oE,EAAMgqE,UAC3BzpE,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAACspE,KAAQ,CAACC,UAAQ,EAACvoE,UAAU,eAAcd,SACxCsoE,EAAa3/D,KAAI,SAAC2gE,EAAgBvwD,GACjC,OACEjZ,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OAAK0lD,IAAK8jB,EAAW7jB,IAAI,WAG/B,QAIJ3lD,cAAA,QAAM2kC,SAAUD,EAAa8hF,GAAqBtmH,SAChDF,cAAA,OAAAE,SACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,OACE0lD,IAAU,OAALjmD,QAAK,IAALA,OAAK,EAALA,EAAOgqE,SACZ9jB,IAAI,aACJ3kD,UAAU,aAEZZ,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,UAAQgB,UAAU,eAAeS,KAAK,SAAQvB,SAAC,WAG/CF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAEmoE,mBAQ5C5oE,EAAM8mH,aACLvmH,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OACEa,MAAO,CACL6L,QAAS,OACT8d,gBAAiB,OACjB7U,MAAO,MACPoK,OAAQ,MACR1I,aAAc,OACdq9B,eAAgB,SAChB/nC,WAAY,UACZzM,SAEFE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,UAAWv0C,SAAA,CACvDF,cAACkxC,KAAI,CAACp+B,KAAK,UACX9S,cAAA,KAAGgB,UAAU,YAAWd,SAAC,8GAOvC,E,wFChMe,SAAS0mH,GAAYzkH,GAOX,IANvB+vD,EAAe/vD,EAAf+vD,gBACA20D,EAAkB1kH,EAAlB0kH,mBACA50D,EAAY9vD,EAAZ8vD,aACA60D,EAAe3kH,EAAf2kH,gBACA5mH,EAAQiC,EAARjC,SACG6mH,EAAUl1G,YAAA1P,EAAA2P,IAEPk1G,EAAkBr3D,cAChB6d,EAAW7d,cAAX6d,OACFD,EAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,EAAO,GAAE,CAACA,IACtDy5C,EAAclkH,OAAO2mB,SAAS6qB,KAAKlrC,MAAM,KAAK,GAE5C69G,EADgB,IAAI/2F,gBAAgB82F,GACX70D,IAAI,QACnCqJ,EAA+CnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAA3D0rD,EAAczrD,EAAA,GAAE0rD,EAAoB1rD,EAAA,GAE3ClvD,qBAAU,WACH0lD,GAKHlvD,aAAa+3D,WAAW,UACxBssD,KALI95C,EAAMnb,IAAI,WACZpvD,aAAaw8D,QAAQ,SAAU+N,EAAMnb,IAAI,WAAa,IAM1Di1D,GACF,GAAG,IAEH76G,qBAAU,WACH0lD,GACH40D,EAAgB,SAEpB,GAAG,CAAC50D,EAAiB80D,IAErB,IAAMK,EAAiB,eAAA/iH,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA+kH,EAAAC,EAAAvvG,EAAAwvG,EAAAC,EAAAC,EAAA,OAAArlH,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKoC,OALpCF,EAAAC,KAAA,EAEhBykH,EAAa54G,OACjB1L,aAAaC,QAAQ,eAAiB0X,KAAK8pC,OAEvC8iE,EAAmB39E,KAAKG,IAAIpvB,KAAK8pC,MAAQ6iE,GAAW1kH,EAAAE,KAAA,EACjCmV,eAAmB,KAAD,EAArCD,EAAUpV,EAAAmB,KACZyjH,EAAU,KAEVxvG,IACFwvG,EAAU94G,OACE,OAAVsJ,QAAU,IAAVA,GAAsE,QAA5DyvG,EAAVzvG,EAAYoI,MAAK,SAACjU,GAAM,MAAsB,YAAjBA,EAAEgM,YAA4BhM,EAAEiM,QAAQ,WAAC,IAAAqvG,OAA5D,EAAVA,EACItsG,QAENqsG,EAIE,GAHA94G,OACyD,QADnDg5G,EACJ1vG,EAAWoI,MAAK,SAACjU,GAAM,MAAsB,YAAjBA,EAAEgM,UAAwB,WAAC,IAAAuvG,OAAA,EAAvDA,EAAyDvsG,QAG3D,KAGJnY,aAAaw8D,QAAQ,QAASgoD,EAAQ18G,YAElCy8G,GAAoBC,IACtBJ,EAAoB70G,wBAAC,CAAC,EAAI40G,GAAc,IAAEj1D,iBAAiB,KAE3D40D,EAAgB,UAChBhsD,MACDl4D,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQC,MAAKzC,EAAAgkB,IAAQ,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,mBAExB,kBAjCsB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAmCvB,OACE8tD,GACAD,IAAiB+0D,EAAgBp2D,UACJ,MAA7Bo2D,EAAgBp2D,SAET5wD,cAAC2nH,IAAQ,CAAC34D,GAAI,WAErBkD,GACAD,IAAiB+0D,EAAgBp2D,UACJ,WAA7Bo2D,EAAgBp2D,SAGd5wD,cAAC8rG,IAAKv5F,wBAAA,GAAKw0G,GAAU,IAAE59C,KAAM49C,EAAW59C,KAAKjpE,SAC1CA,KAML+mH,GACAA,EAAYx+G,SAAS,QAGnBzI,cAAC8rG,IAAKv5F,wBAAA,GAAKw0G,GAAU,IAAA7mH,SACnBF,cAACqmH,GAAiB,CAACE,YAAaW,OAOlClnH,cAAC2nH,IAAQ,CACP34D,GAAI,CAAE4B,SAAUsB,EAAkBD,EAAe40D,IAIzD,CClHO,IAAMe,GAAqB,SAACnoH,GACjC,IAAM08D,EAAUja,cAChB,OACEliD,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,WAAUd,SAAC,QACxBF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,UAC1BF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAC,sBAEhCF,cAAA,UACEgB,UAAU,iBACV4U,QAAS,kBAAMumD,EAAQrzD,KAAK,WAAW,EAAC5I,SACzC,gBAMT,E,6BCVa2nH,GAAoB,SAACpoH,GAChC,IAAMglB,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YAGRc,EAAoCC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAAzC8pC,EAAU5pC,EAAA,GAAE6pC,EAAa7pC,EAAA,GAChCgJ,EAA0CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAlDonG,EAAannG,EAAA,GAAEonG,EAAgBpnG,EAAA,GAwCtC,IAAM4G,EACJvnB,cAAA,OAAAE,SACEE,eAAA,UACEqB,KAAK,SACLmU,QAAS,YA1Cf,WAIE,GAHAxQ,QAAQe,IAAIm7C,EAAY,cACxBl8C,QAAQe,IAAiB,OAAb2hH,QAAa,IAAbA,OAAa,EAAbA,EAAev2G,KAAM,cAE5B+vC,GAA4B,OAAbwmE,QAAa,IAAbA,KAAev2G,KAAnC,CAcA,IAAIy2G,EAASvoH,EAAMwoH,gBAAgB7mH,MAC7Bq+B,EAAc,CAClBp+B,OAAQ,CACN,CACEghD,UAAW,CACT75C,MAAO84C,GAET1xC,QAAS,CACPpO,MAAOsmH,EAAcv2G,SAK7By2G,EAAOl/G,KAAK22B,GACZhgC,EAAMyoH,oBAAmB,SAAChrF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ97B,MAAKsH,YAAMs/G,IAAO,IAEpBvoH,EAAM0oH,cAAa,EAnBnB,MAZEzxG,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WA6BZ,CAMQ2mH,EACF,EACApnH,UAAU,oDAAmDd,SAAA,CAE7DF,cAACqoH,IAAa,IAAG,aAKvB,OACEroH,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLF,OAAO,SACPI,QAASznB,EAAM6oH,UACfznH,MAAO,CACL8U,MAAO,sBACPoK,OAAQ,SACR1I,aAAc,QAEhBgQ,OAAQ,kBAAM5nB,EAAM0oH,cAAa,EAAM,EACvChhG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACX75B,OAAQA,EACR2yC,WAAY,EAAEh6D,SAAA,CAEdE,eAAA,OAAKY,UAAU,kEAAiEd,SAAA,CAC9EE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,cAEhCF,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAElDF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gDAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAACioB,IAAS,CACRjnB,UAAU,0BACVwH,MAAO84C,EACP7uC,SAAU,SAACtG,GAAC,OAAKo1C,EAAcp1C,EAAEuG,OAAOlK,MAAM,SAIpDpI,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,YAEhCF,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAElDF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gDAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAOs/G,EACP1lG,QAlHQ,CAAC,CAAE7Q,KAAM,gBAmHjBkB,SAAU,SAACtG,GACT47G,EAAiB57G,EAAE3D,MACrB,EACA+xD,YAAY,OACZxnD,YAAY,uBAKpB/S,cAAC8pB,KAAK,CAAC1U,IAAKqP,QAIpB,E,SC9He,SAASu9B,GAAgBviD,GAAe,IAAD4lD,EAC9C5lB,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BsE,IAAKzG,EAAM8B,SAAS47C,IACpBorE,UAAmD,OAAhB,QAAxBljE,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BkjE,YAEvC/wG,EAAkCC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAnD8wG,EAAS5wG,EAAA,GAAEywG,EAAYzwG,EAAA,GAU9B,OACEtX,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASnQ,EAAMmQ,QACfoC,MAAO,CAAEC,SAAU,2BACnBoD,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,QACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYv5B,IAC1B8L,MAAO,CAAEC,SAAU,oBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAASH,SAAU,IAAI1M,SAAC,0EAIlDE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,qBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,UACEwV,QAAS,WACPuyG,GAAa,EACf,EACA1mH,KAAK,SACLT,UAAU,yDAAwDd,SAAA,CAElEF,cAACwoH,KAAM,IAAG,qBAIhBxoH,cAAA,OAAAE,SACEE,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,cAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4CAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,kDAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yBAIjCF,cAAA,SAAAE,SACGT,EAAMwoH,gBAAgB7mH,MAAMyH,KAAI,SAACg0B,EAAY5jB,GAC5C,OACEjZ,cAAAC,WAAA,CAAAC,SACG28B,EAAMx7B,OAAOwH,KAAI,SAACulC,EAAaq6E,GAAe,IAADC,EAAAC,EAAAC,EAAAC,EAC5C,OACE7oH,cAAAC,WAAA,CAAAC,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SAAuB,QAAvBwoH,EAAK7rF,EAAMx7B,OAAOonH,UAAK,IAAAC,GAAW,QAAXC,EAAlBD,EAAoBrmE,iBAAS,IAAAsmE,OAAX,EAAlBA,EAA+BngH,QACpCxI,cAAA,MAAAE,SAAuB,QAAvB0oH,EAAK/rF,EAAMx7B,OAAOonH,UAAK,IAAAG,GAAS,QAATC,EAAlBD,EAAoBh5G,eAAO,IAAAi5G,OAAT,EAAlBA,EAA6BrnH,QAClCxB,cAAA,MAAAE,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,YAnKvC,SAA+BqD,GAC7B,IAAI+uG,EAASvoH,EAAMwoH,gBAAgB7mH,MACnC4mH,EAAOzvE,OAAOt/B,EAAK,GACnBxZ,EAAMyoH,oBAAmB,SAAChrF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ97B,MAAKsH,YAAMs/G,IAAO,GAEtB,CA6JgCe,CAAsB9vG,EACxB,UAMZ,KAGN,cAKPqvG,GACCtoH,cAAC6nH,GAAiB,CAChBS,UAAWA,EACXH,aAAcA,EACdD,mBAAoBzoH,EAAMyoH,mBAC1BD,gBAAiBxoH,EAAMwoH,oBAKjC,C,iCCjMe,SAAS7/F,GAAoB3oB,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAClD9zG,EAAMiT,mBAEZ7Q,GADc6Q,iBAAY,MACM5Q,sBAAeC,EAAApB,YAAAkB,EAAA,GAAxC4R,EAAQ1R,EAAA,GAAEyxG,EAAWzxG,EAAA,GAC5BgJ,EAAgCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAxCgE,EAAQ/D,EAAA,GAAEgE,EAAWhE,EAAA,GAC5BG,EAA0CrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA3DwD,EAAavD,EAAA,GAAEwD,EAAgBxD,EAAA,GAChC0e,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,YAAavT,EAAM8B,SAASyR,aAAe,GAC3Co2G,QAASl2G,SAAiC,QAAzBmyC,EAAC5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BpoC,MAAQ,GACpDtb,QAA+C,OAAd,QAAxB2jD,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B3jD,SACnCkR,SAAiD,OAAf,QAAxBm2G,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0Bn2G,UACpC2G,aAActG,SAAiC,QAAzB+1G,EAACxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BzvG,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBW,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0BX,YAEvC/7G,qBAAU,WACR,GAAI/M,EAAM4pH,gBAAiB,CACzB,IAAAC,EAA6B7pH,EAAM4pH,gBAAgBhgH,MAAM,KAAIkgH,EAAAjzG,YAAAgzG,EAAA,GAAtD5kG,EAAQ6kG,EAAA,GAAEngG,EAAQmgG,EAAA,GACzB5kG,EAAYD,GACZykG,EAAY//F,EACd,CACF,GAAG,IAEH,IAAMy8B,EAAY,eAAA1jD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO4J,EAAQsG,GAAa,IAAA2T,EAAAojG,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9jG,EAAAO,EAAA++B,EAAA1hD,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACrB,OAAtBqJ,EAAEuG,OAAOoT,MAAM,GAAW,CAAAljB,EAAAE,KAAA,SAMuC,OAL7DgjB,EAAQ3Z,EAAEuG,OAAOoT,MAAM,GACvBO,EAAW,IAAIE,SACjB6+B,EAAO,eAAiB3+B,eAC5BJ,EAASG,OAAO,QAASV,GACzBO,EAASG,OAAO,SAAU4+B,GAC1B/+B,EAASG,OAAO,UAAW/mB,EAAM+lB,SAAS4F,aAAavgB,YAAYjI,EAAAE,KAAA,EAC9CsD,aAAwBigB,GAAU,KAAD,EAAlD3iB,EAAQd,EAAAmB,KACZtE,EAAMoqH,oBACI,OAARnmH,QAAQ,IAARA,GAAc,QAAN0iB,EAAR1iB,EAAUE,YAAI,IAAAwiB,OAAN,EAARA,EAAgBo/D,UAAW,KAAc,OAAR9hF,QAAQ,IAARA,GAAc,QAAN8lH,EAAR9lH,EAAUE,YAAI,IAAA4lH,OAAN,EAARA,EAAgB9iG,UAEnD/B,EAAoB,OAARjhB,QAAQ,IAARA,GAAc,QAAN+lH,EAAR/lH,EAAUE,YAAI,IAAA6lH,OAAN,EAARA,EAAgBjkC,UAC5B2jC,EAAoB,OAARzlH,QAAQ,IAARA,GAAc,QAANgmH,EAARhmH,EAAUE,YAAI,IAAA8lH,OAAN,EAARA,EAAgBhjG,SAC5BjU,GAAiB,OAAR/O,QAAQ,IAARA,GAAc,QAANimH,EAARjmH,EAAUE,YAAI,IAAA+lH,OAAN,EAARA,EAAgBnkC,UAAW,KAAc,OAAR9hF,QAAQ,IAARA,GAAc,QAANkmH,EAARlmH,EAAUE,YAAI,IAAAgmH,OAAN,EAARA,EAAgBljG,UAC1DtR,EAAI+xB,QAAQ3+B,MAAQ,KAAK,yBAAA5F,EAAAqB,OAAA,GAAA1B,EAAA,KAE5B,gBAjBiB2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KAkBZmjB,EACJvnB,cAAA,OAAAE,SACEF,cAACwnB,IAAM,CACLhmB,MAAM,KACNoU,QAAS,WACP2O,GAAiB,EACnB,MAgFN,OACEnkB,eAAA,OAAKY,UAAU,YAAWd,SAAA,CA1ExBF,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLnmB,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCka,OAAO,cACPI,QAAS5C,EACT8C,OAAK,EACLG,OAAQA,EACRD,WAAW,EACXle,SAAU,MACVie,OAAQ,WACN9C,GAAiB,EACnB,EAAErkB,SAEFE,eAAA,SAAOY,UAAU,6BAA4Bd,SAAA,+cA+DjDE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfoC,MAAO,CAAEC,SAAU,yBACnBoD,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAINr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,uCAYjCE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY2pF,QAC1Bl3G,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7CwU,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,eAIpC,UAArBT,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAOsqD,EAAUj8B,EAAVi8B,WAAU,OAC1Bn6D,cAAC+U,KAAK6S,QAAO,CACXnmB,KAAK,OACL2T,IAAKA,EACL3C,SAAU,SAACtG,GACT05C,EAAa15C,EAAG0D,EAAM4C,SACxB,EACAzR,UAAS,wCAAAC,OAA0Cm5D,YAAW,CAC5D,YAAaD,EAAWE,YAE1B,SAKT56D,EAAM4pH,iBACLjpH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,aACfhB,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,GAAGH,MAAO,CAAE6L,QAAS,QAASxM,SAAA,CAC3CF,cAAA,OACEgB,UAAU,6BACV4U,QAAS,YAlTvB,WACE,IAAM0T,EAAQF,EACa,MAAvBA,EAASK,OAAO,IAAehqB,EAAM+lB,SAAST,kBAE5CqE,EADA,IAAMA,EAER,GACEG,EAAWxmB,OAAO2mB,SAASH,SAE7B9pB,EAAM+lB,SAAST,kBACjBhiB,OAAOqe,KAAK,GAADngB,OACNxB,EAAM+lB,SAAST,kBAAiB,KAAA9jB,OAAIqoB,GACvC,SACA,cAEO7pB,EAAM+lB,SAASR,QAEtBsE,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKxB,EAAM+lB,SAASR,SAAO/jB,OAAGqoB,GACzC,SACA,cAGM7pB,EAAM+lB,SAASR,SACzBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,aAEtC,CAiQgBygG,EAMF,EACAlpH,MAAO,CAAEkM,MAAO,WAAY7M,SAE3BwkB,IAEH1kB,cAAA,OAAKgB,UAAU,wBAAuBd,SACpCF,cAACgqH,IAAiB,CAChBhpH,UAAU,yBACV4U,QAAS,WACPnW,EAAMoqH,mBAAmB,MACzBllG,EAAY,MACZwkG,EAAY,KACd,gBASlB,C,OC7Ze,SAASc,GAAsBxqH,GAAe,IAADyqH,EACpDzlG,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YACRc,EAAgDC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAxD2yG,EAAgBzyG,EAAA,GAAE0yG,EAAmB1yG,EAAA,GAC5CgJ,EAAkDjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA1D2pG,EAAiB1pG,EAAA,GAAE2pG,EAAoB3pG,EAAA,GAC9CG,EAAoCrJ,mBAAS,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAzCwgC,EAAUvgC,EAAA,GAAEwgC,EAAaxgC,EAAA,GAChCgB,EAAwCtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAlD1M,EAAY2M,EAAA,GAAEuoG,EAAevoG,EAAA,GACpCC,EAAgDxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA1DuoG,EAAgBtoG,EAAA,GAAEuoG,EAAmBvoG,EAAA,GAC5CwG,EAAoCjR,mBAAc,IAAGkR,EAAArS,YAAAoS,EAAA,GAA9Crd,EAAUsd,EAAA,GAAE+hG,EAAa/hG,EAAA,GAChCC,EAAgDnR,mBAAc,OAAMoR,EAAAvS,YAAAsS,EAAA,GAA7D+hG,EAAgB9hG,EAAA,GAAE+hG,EAAmB/hG,EAAA,GAC5C2I,EAA0C/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GAAlDq5F,EAAap5F,EAAA,GAAEq5F,EAAgBr5F,EAAA,GACtCG,EAA0Bna,qBAAeoa,EAAAvb,YAAAsb,EAAA,GAAlCppB,EAAKqpB,EAAA,GAAEzM,EAAQyM,EAAA,GAEtBrlB,qBAAU,WACR,GAAyB,iBAArB/M,EAAMq8E,YAAgC,CAAC,IAADivC,EACpCC,GAC+C,QAAjDD,EAAAtrH,EAAMwrH,gBAAgB9jH,QAAQ1H,EAAMyrH,qBAAa,IAAAH,OAAA,EAAjDA,EAAmD1iH,YAAa,GAClEqiH,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,GAE9B,CACF,GAAG,IAEHx+G,qBAAU,WAAO,IAAD2+G,EACd,IAA2B,QAAvBA,EAAA1rH,EAAMkxB,YAAYvvB,aAAK,IAAA+pH,OAAA,EAAvBA,EAAyBljH,SAAU,EAAG,CACxC,IAAIo4E,EAAa,GACb+qC,EAAiB,GACjBC,EAAqB,GACzB5rH,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACg0B,EAAYxjB,GACvCwjB,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBjyG,QACC9Y,IAA/B+qH,EAAY/pH,SAASC,OACY,KAA/B8pH,EAAY/pH,SAASC,OACW,OAA9B8pH,EAAY/pH,SAASE,MACvB4+E,EAAMv3E,KAAK,CACTP,KAAM+iH,EAAY/pH,SAASC,MAC3BC,KAAM6pH,EAAY/pH,SAASE,OAK/B0oH,GACEA,EAAiB5hH,OAAS+iH,EAAY/pH,SAASC,YACVjB,IAAnC+qH,EAAY/pH,SAASG,WACnB4pH,EAAY/pH,SAASG,UAAUN,QACjCgqH,EAAUtiH,KAAK,CAAEpH,UAAW4pH,EAAY/pH,SAASG,YACjD0pH,EAAUviH,KAAI,SAACovE,EAAiB5+D,GAC9B4+D,EAAWv2E,UAAUN,MAAMyH,KACzB,SAAC0iH,EAAgBlyG,GACQ,eAAnBkyG,EAAUhjH,MACZ8iH,EAAcviH,KAAK,CAAEN,MAAO+iH,EAAUhjH,MAE1C,GAEJ,IAKV,GACF,IACAgiH,EAAgB,GAADtpH,OAAKo/E,IACpBoqC,EAAoB,GAADxpH,OAAKoqH,GAC1B,CACF,GAAG,CAAClB,IA6HJ,IAAM5iG,EACJvnB,cAAA,OAAAE,SACEE,eAAA,UACEqB,KAAK,SACLmU,QAAS,YA/Hf,WACE,GAA0B,kBAAtBnW,EAAMq8E,YAAiC,CACzC,IAAI0vC,EAAW/rH,EAAMwrH,gBAAgB9jH,QACrCqkH,EAAS/rH,EAAMyrH,cAAc7iH,UAAYgD,EAAWhD,UACpD5I,EAAMgsH,oBAAmB,SAACvuF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ/1B,QAAOuB,YAAM8iH,IAAS,IAExB/rH,EAAMisH,uBAAsB,EAC9B,CACF,CAsHQC,EACF,EACA3qH,UAAU,oDAAmDd,SAAA,CAE7DF,cAACqoH,IAAa,IAAG,aAUvB,OACEroH,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLF,OAAO,SACPI,QAASznB,EAAMmsH,mBACf/qH,MAAO,CACL8U,MAAO,sBACPoK,OAAQ,SACR1I,aAAc,QAEhBgQ,OAAQ,kBAAM5nB,EAAMisH,uBAAsB,EAAM,EAChDvkG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACX75B,OAAQA,EAAOrnB,SAAA,CAEfE,eAAA,OAAKY,UAAU,kEAAiEd,SAAA,CAC9EE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,WAEhCF,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAElDF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,sDAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAO2hH,EACP/nG,QAAS/M,EACT5C,SA1CW,SAACtG,GACxBi+G,EAAoBj+G,EAAE3D,MACxB,EAyCc+xD,YAAY,OACZriD,QAAM,EACNuiD,SAAS,OACT1nD,YAAY,2BAIW,IAA5By3G,EAAiBviH,QAChB7H,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,oBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gGAKlCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAO6hH,EACPjoG,QAASooG,EACT/3G,SAjEc,SAACtG,GAC7Bm+G,EAAqBn+G,EAAE3D,MACzB,EAgEgB+xD,YAAY,QACZriD,QAAM,EACNuiD,SAAS,QACT1nD,YAAY,iBACZI,SAAsC,IAA5Bq3G,EAAiBviH,SAE7BjI,cAAA,SAAAE,SAAO,mHAIgB,IAA5BsqH,EAAiBviH,QAChB7H,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,kBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,oFAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAACioB,IAAS,CACRjnB,UAAU,0BACVwH,MAAOA,EACPiK,SAAU,SAACtG,GAAC,OAAKiZ,EAASjZ,EAAEuG,OAAOlK,MAAM,EACzC2K,SAAsC,IAA5Bq3G,EAAiBviH,cAKnCjI,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAC3CE,eAAA,UACEqB,KAAK,SACLT,UAAU,sFACV4U,QAAS,YAzO3B,WACE,GACiB,KAAf0rC,QAC2B/gD,KAAX,OAAhB4pH,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5hH,YACWhI,KAAZ,OAAjB8pH,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB7hH,OAHrB,CAkBE,GAAyB,SAArBmiH,EAA6B,CAC/B,IAAMlrF,EAAc,CAClBh+B,KAAM0oH,EAAiB1oH,KACvBD,MAAO2oH,EAAiB5hH,KACxB26B,KAAM,MACN16B,MAAO6hH,GAGLW,EAAa3/G,EAAWhD,UAO5B,GANA2iH,EAAWH,GAAiBprF,EAC5BirF,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,IAE5BJ,EAAoB,OAChBpiH,EAAO,CACT,IAAMqjH,EAAmB,CACvBpqH,KAAM0oH,EAAiB1oH,KACvBD,MAAO2oH,EAAiB5hH,KACxB26B,KAAM,MACN16B,MAAOA,GAELwiH,EAAa3/G,EAAWhD,UAC5B2iH,EAAWH,GAAiBgB,EAC5BnB,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,IAE5BJ,EAAoB,MACtB,CACF,MAAO,GAAyB,QAArBD,EACT,GAAIniH,EAAO,CACT,IAAIwiH,EAAa3/G,EAAWhD,UACtBwjH,EAAmB,CACvBpqH,KAAM0oH,EAAiB1oH,KACvBD,MAAO2oH,EAAiB5hH,KACxB26B,KAAM,MACN16B,MAAOA,GAETwiH,EAAWliH,KAAK+iH,GAChBnB,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,GAE9B,KAAO,CACL,IAAIA,EAAa3/G,EAAWhD,UACtBo3B,EAAc,CAClBh+B,KAAM0oH,EAAiB1oH,KACvBD,MAAO2oH,EAAiB5hH,KACxB26B,KAAM,MACN16B,MAAO6hH,GAETW,EAAWliH,KAAK22B,GAChBirF,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,GAE9B,CAGJZ,EAAoB,IACpBE,EAAqB,IACrB/oE,EAAc,IACdn8B,EAAS,GAJT,MAxEE1O,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WA0EZ,CAuJoBqqH,EACF,EAAE5rH,SAAA,CAEFF,cAACqoH,IAAa,IAAG,gCAM3BroH,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4FAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yBAIjCF,cAAA,SAAAE,SACa,OAAVmL,QAAU,IAAVA,GAAqB,QAAX6+G,EAAV7+G,EAAYhD,iBAAS,IAAA6hH,OAAX,EAAVA,EAAuBrhH,KAAI,SAACjF,EAAWqV,GAAQ,OAC9CjZ,cAAAC,WAAA,CAAAC,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SAAK+Y,EAAM,IACXjZ,cAAA,MAAAE,SAAK0D,EAAKpC,QACVxB,cAAA,MAAAE,SAAK0D,EAAK4E,QACVxI,cAAA,MAAAE,SACEF,cAAC+rH,IAAU,CACT/qH,UAAU,0BACV4U,QAAS,WApMnC,IAAuBinB,EAAY8zB,EAAZ9zB,EAqMmBj5B,EArMP+sD,EAqMa13C,EApM9C7T,QAAQe,IAAI,gBAAiB02B,GAC7ButF,EAAoB,CAClB7hH,KAAMs0B,EAAMr7B,MACZC,KAAMo7B,EAAMp7B,OAEd2D,QAAQe,IAAI,YAAa02B,EAAMp7B,MAEd,OAAfo7B,EAAMp7B,MACS,OAAfo7B,EAAMp7B,MACS,MAAfo7B,EAAMp7B,MACS,OAAfo7B,EAAMp7B,MAEN2jB,EAASyX,EAAMr0B,OAEjB8hH,EAAqBztF,EAAMr0B,OAC3B+4C,EAAc1kB,EAAMr0B,OACpBoiH,EAAoB,QACpBE,EAAiBn6D,EAoLO,MAGJ3wD,cAAA,MAAAE,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,YAxLnC,SAAyBqD,GACvB,IAAI+xG,EAAa3/G,EAAWhD,UAC5B2iH,EAAWzyE,OAAOt/B,EAAK,GACvByxG,GAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ70B,UAASK,YAAMsiH,IAAW,GAE9B,CAkL4BgB,CAAgB/yG,EAClB,UAIL,gBAOfjZ,cAAC8pB,KAAK,CAAC1U,IAAKqP,QAIpB,C,WCtYa+C,GAAS,SAAC/nB,GAAkB,IAADwsH,EACtC,OACE7rH,eAAA,UACEuS,GAAI5Q,YAA8B,QAAZkqH,EAACxsH,EAAMoV,aAAK,IAAAo3G,IAAI,IACtCjrH,UAAS,MAAAC,OAAQxB,EAAMy3G,MAAQz3G,EAAMysH,QAAU,aAAe,IAC9Dt2G,QAAS,WACPnW,EAAM0sH,aAAa1sH,EAAMy3G,KAAKpsG,WAChC,EAAE5K,SAAA,CAEFF,cAACK,KAAG,CAAAH,cACsBK,GAAvBd,EAAM2sH,cACLpsH,cAAA,OAAK0lD,IAAKjmD,EAAMmX,KAAM+uC,IAAI,GAAG3kD,UAAU,aAEvCvB,EAAMmX,OAGV5W,cAACK,KAAG,CAACgvF,KAAK,OAAOsnB,OAAQ,EAAEz2G,SACzBE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAC/DF,cAAA,QAAAE,SAAOT,EAAMoV,QACZpV,EAAMS,UAAYT,EAAMS,gBAKnC,ECXe,SAASmsH,GAAmB5sH,GAAe,IAAD6sH,EACjD7nG,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YAKRc,EAA8BC,mBAJL,CACvBpP,UAAW,GACXO,OAAQ,KAE8C8O,EAAApB,YAAAkB,EAAA,GAAjDrQ,EAAOuQ,EAAA,GAAE60G,EAAU70G,EAAA,GAC1BgJ,EAAgCjJ,mBAAiB,KAAIkJ,EAAArK,YAAAoK,EAAA,GAA9CwE,EAAQvE,EAAA,GAAEwE,EAAWxE,EAAA,GAC5BG,EAAgDrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAxDqpG,EAAgBppG,EAAA,GAAEqpG,EAAmBrpG,EAAA,GAC5CgB,EAAwCtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAlD1M,EAAY2M,EAAA,GAAEuoG,EAAevoG,EAAA,GACpCC,EAAoCxK,mBAAS,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzCq/B,EAAUp/B,EAAA,GAAEq/B,EAAar/B,EAAA,GAChCwG,EAAoCjR,mBAAS,IAAGkR,EAAArS,YAAAoS,EAAA,GAAzC1X,EAAU2X,EAAA,GAAE6jG,EAAa7jG,EAAA,GAChCC,EAAoCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAA5C6jG,EAAU5jG,EAAA,GAAE6jG,EAAa7jG,EAAA,GAChC2I,EAAoD/Z,mBAAc,OAAMga,EAAAnb,YAAAkb,EAAA,GAAjEm7F,EAAkBl7F,EAAA,GAAEm7F,EAAqBn7F,EAAA,GAMhDG,EAAkDna,mBAAS,QAAOoa,EAAAvb,YAAAsb,EAAA,GAA3Di7F,EAAiBh7F,EAAA,GAAEi7F,EAAoBj7F,EAAA,GAC9CG,EAAsCva,qBAAewa,EAAA3b,YAAA0b,EAAA,GAA9C+6F,GAAW96F,EAAA,GAAE+6F,GAAc/6F,EAAA,GAClCG,GAA0C3a,qBAAe4a,GAAA/b,YAAA8b,GAAA,GAAlD66F,GAAa56F,GAAA,GAAE66F,GAAgB76F,GAAA,GACtC7lB,qBAAU,WACR,GAA0B,eAAtB/M,EAAMq8E,YAA8B,CAGtC,IAFA,IACIqxC,EADW1tH,EAAMwrH,gBAAgB9jH,QACd1H,EAAMyrH,cAActiH,OAClCpB,EAAI,EAAGA,EAAI2lH,EAAQllH,OAAQT,SACXjH,GAAnB4sH,EAAQ3lH,GAAG49C,OACb+nE,EAAQ3lH,GAAS,KAAIif,gBAGzB8lG,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAMykH,IAAQ,GAExB,CACF,GAAG,IAEH3gH,qBAAU,WAAO,IAAD2+G,EACd,IAA2B,QAAvBA,EAAA1rH,EAAMkxB,YAAYvvB,aAAK,IAAA+pH,OAAA,EAAvBA,EAAyBljH,SAAU,EAAG,CACxC,IAAIo4E,EAAa,GACjB5gF,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACg0B,EAAYxjB,GACnConB,MAAMoH,QAAQhL,EAAMx7B,SACtBw7B,EAAMx7B,OAAOiH,SAAQ,SAAC1E,GACO,OAAvBA,EAAKrC,SAASE,MAChBmC,EAAKrC,SAASG,UAAUyF,QAAQ0B,KAAI,SAACukH,GAC/BA,GACFA,EAASxkH,OAAOC,KAAI,SAACpH,GAEH,QAAdA,EAAKA,WACclB,IAAlBkB,EAAK2H,eACe7I,IAAnBkB,EAAK4G,gBACW9H,IAAhBkB,EAAK6H,SAEP7H,EAAK2H,SAAW3H,EAAK2H,UAAY,GACjC3H,EAAK4G,UAAY5G,EAAK4G,WAAa,OACnC5G,EAAK6H,OAAS7H,EAAK6H,QAAU,GAEjC,GAEJ,GAEJ,IAEFuzB,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBjyG,QACA9Y,GAA9B+qH,EAAY/pH,SAASC,QAES,MAA9B8pH,EAAY/pH,SAASE,MACS,OAA9B6pH,EAAY/pH,SAASE,MAErB4+E,EAAMv3E,KAAK,CACTP,KAAM+iH,EAAY/pH,SAASC,QAInC,GACF,IACA4D,QAAQe,IAAI,aAAck6E,GAC1BkqC,EAAgB,GAADtpH,OAAKo/E,GACtB,CACF,GAAG,IA+BH,IAAM94D,GACJvnB,cAAA,OAAAE,SACEE,eAAA,UACEqB,KAAK,SACLmU,QAAS,YAjCf,WACE,GAA+B,KAApB,OAAPzO,QAAO,IAAPA,OAAO,EAAPA,EAASyB,OAAOX,QAApB,CAQA,GAA0B,cAAtBxI,EAAMq8E,YAA6B,CACrC,IAAIuxC,EAAa5tH,EAAMwrH,gBAAgB9jH,QACvCkmH,EAAWvkH,KAAK3B,GAChB1H,EAAMgsH,oBAAmB,SAACvuF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ/1B,QAAOuB,YAAM2kH,IAAW,GAE5B,MAAO,GACiB,eAAtB5tH,EAAMq8E,aACiB,SAAvB6wC,EACA,CACA,IAAInB,EAAW/rH,EAAMwrH,gBAAgB9jH,QACrCqkH,EAAS/rH,EAAMyrH,cAActiH,OAASzB,EAAQyB,OAC9CnJ,EAAMgsH,oBAAmB,SAACvuF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ/1B,QAAOuB,YAAM8iH,IAAS,GAE1B,CACA/rH,EAAM0oH,cAAa,EAnBnB,MANEzxG,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WAuBZ,CAMQ6rH,EACF,EACAtsH,UAAU,oDAAmDd,SAAA,CAE7DF,cAACqoH,IAAa,IAAG,aAmNvB,OACEroH,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLF,OAAO,aACPI,QAASznB,EAAM6oH,UACfznH,MAAO,CACL8U,MAAO,sBACPoK,OAAQ,SACR1I,aAAc,QAEhBgQ,OAAQ,kBAAM5nB,EAAM0oH,cAAa,EAAM,EACvChhG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACX75B,OAAQA,GAAOrnB,SAAA,CAEfE,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAAC,WAAA,CAAAC,SACEE,eAAA,OACEY,UAAU,UACVH,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfga,OAAQ,QACRvuD,SAAA,CAEFF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GACbgZ,EAAYhZ,GACZygH,EAAsB,MACxB,EACA/3G,MAAO,aACP+B,KAAM5W,cAACutH,KAAM,IACbrW,KAAM,EACNgV,QAAShnG,IAEXllB,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GACbgZ,EAAYhZ,GACZygH,EAAsB,MACxB,EACA/3G,MAAO,eACP+B,KAAM5W,cAACwtH,IAAiB,IACxBtW,KAAM,EACNgV,QAAShnG,IAEXllB,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GACbgZ,EAAYhZ,GACZygH,EAAsB,MACxB,EACA/3G,MAAO,YACP+B,KAAM5W,cAACytH,IAAiB,IACxBvW,KAAM,EACNgV,QAAShnG,WAMjB9kB,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC/B,KAAZglB,GACC9kB,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAACioB,IAAS,CACRjnB,UAAU,0BACVwH,MAAO84C,EACP7uC,SAAU,SAACtG,GAAC,OAAKo1C,EAAcp1C,EAAEuG,OAAOlK,MAAM,SAKzC,KAAZ0c,GACC9kB,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAO2hH,EACP/nG,QAAS/M,EACT5C,SAzSK,SAACtG,GACxBi+G,EAAoBj+G,EAAE3D,MACxB,EAwSoB+xD,YAAY,OACZriD,QAAM,EACNuiD,SAAS,OACT1nD,YAAY,2BAIlB3S,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAGzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAA,SACAA,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAOqkH,EACPzqG,QAxaE,CACpB,CAAE7Q,KAAM,OAAQ/I,MAAO,QACvB,CAAE+I,KAAM,QAAS/I,MAAO,UAuaNiK,SAzTQ,SAACtG,GAC3B2gH,EAAqB3gH,EAAE3D,MACzB,EAwToB+xD,YAAY,eAKlBn6D,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAA,SACAA,cAACioB,IAAS,CACRzf,MAAOukH,GACP/rH,UAAU,0BACV+R,YAAY,+JACZN,SAAU,SAACtG,GACT6gH,GAAe7gH,EAAEuG,OAAOlK,MAC1B,EACA2K,SAAgC,SAAtB05G,IAEZ7sH,cAAA,SAAO2S,GAAG,gBAAezS,SAAC,2MAK9BE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAACioB,IAAS,CACRzf,MAAOykH,GACPl6G,YAAY,gDACZ/R,UAAU,0BACVyR,SAAU,SAACtG,GACT+gH,GAAiB/gH,EAAEuG,OAAOlK,MAC5B,EACA2K,SAAgC,SAAtB05G,IAEZ7sH,cAAA,SAAO2S,GAAG,gBAAezS,SAAC,kMAOrB,KAAZglB,GACC9kB,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAACioB,IAAS,CACRjnB,UAAU,0BACVwH,MAAOwI,EACPyB,SAAU,SAACtG,GAAC,OAAKqgH,EAAcrgH,EAAEuG,OAAOlK,MAAM,SAKtDxI,cAAA,OAAKgB,UAAU,+BAA8Bd,SAC3CE,eAAA,UACEqB,KAAK,SACLT,UAAU,0DACV4U,QAAS,WAEQ,MAAbsP,GACsB,UAAtB2nG,GACmB,KAAlBI,IAAwC,KAAhBF,GA3X3C,WACE,GAAmB,KAAfzrE,GAAkC,MAAbp8B,EAOlB,QAA+B3kB,KAAX,OAAhB4pH,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5hH,OAAmC,MAAb2c,EAO5C,GAAmB,KAAflU,GAAkC,MAAbkU,EAAzB,CAOA,GAAiB,MAAbA,GACT,GAA2B,SAAvBynG,EAA+B,CACjC,IAAInB,EAAWrkH,EAAQyB,OACjB62B,EAAc,CAClBh+B,KAAM,KACND,MAAO8/C,EACP8D,KAAM3+B,gBAER+kG,EAASiB,GAAchtF,EACvB8sF,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAM8iH,IAAS,GAEzB,MAAO,GAA2B,QAAvBmB,EAA8B,CACvC,IAAMltF,EAAc,CAClBh+B,KAAM,KACND,MAAO8/C,EACP8D,KAAM3+B,gBAEJ0mG,EAAUhmH,EAAQyB,OACtBukH,EAAQrkH,KAAK22B,GACb8sF,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAMykH,IAAQ,GAExB,OACK,GAAiB,MAAbjoG,GACT,GAA2B,SAAvBynG,EAA+B,CACjC,IAAInB,EAAWrkH,EAAQyB,OACjB62B,EAAc,CAClBh+B,KAAM,MACND,MAAO2oH,EAAiB5hH,KACxB68C,KAAM3+B,eACNpe,UAAWwkH,EACXvjH,OAAQyjH,GACR3jH,SAAU6jH,IAEZzB,EAASiB,GAAchtF,EACvBqtF,EAAqB,QACrBE,GAAe,IACfE,GAAiB,IACjBX,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAM8iH,IAAS,GAEzB,MAAO,GAA2B,QAAvBmB,EAA8B,CACvC,IAAMltF,EAAc,CAClBh+B,KAAM,MACND,MAAO2oH,EAAiB5hH,KACxB68C,KAAM3+B,eACNpe,UAAWwkH,EACXvjH,OAAQyjH,GACR3jH,SAAU6jH,IAERE,EAAUhmH,EAAQyB,OACtBukH,EAAQrkH,KAAK22B,GACbqtF,EAAqB,QACrBE,GAAe,IACfE,GAAiB,IACjBX,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAMykH,IAAQ,GAExB,OACK,GAAiB,MAAbjoG,EACT,GAA2B,SAAvBynG,EAA+B,CACjC,IAAInB,EAAWrkH,EAAQyB,OACjB62B,EAAc,CAClBh+B,KAAM,WACND,MAAOwP,EACPo0C,KAAM3+B,gBAER+kG,EAASiB,GAAchtF,EACvB8sF,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAM8iH,IAAS,GAEzB,MAAO,GAA2B,QAAvBmB,EAA8B,CACvC,IAAMltF,EAAc,CAClBh+B,KAAM,WACND,MAAOwP,EACPo0C,KAAM3+B,gBAEJ+kG,EAAWrkH,EAAQyB,OACvB4iH,EAAS1iH,KAAK22B,GACd8sF,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAM8iH,IAAS,GAEzB,CAEFoB,EAAsB,OACtBrrE,EAAc,IACd6oE,EAAoB,GAHpB,MAhGE1zG,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,iBAVRiV,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,iBAVRiV,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WA+GZ,CA+QkBisH,GANCh3G,EAAY,CACV1D,YAAY,gCACZkC,QAAQ,mBACRzT,KAAM,SAKb,EAAEvB,SAAA,CAEFF,cAACqoH,IAAa,IAAG,wBAGb,OAAPlhH,QAAO,IAAPA,GAAe,QAARmlH,EAAPnlH,EAASyB,cAAM,IAAA0jH,OAAR,EAAPA,EAAiBrkH,SAAU,GAC1BjI,cAAA,OAAAE,SACEF,cAAAC,WAAA,CAAAC,SACEF,cAAC2tH,KAAe,CAACC,UAlRf,SAACzoH,GACjB,IAAI0oH,EAAc1mH,EAAQyB,OAC1B,GAAKzD,EAAO2oH,YAAZ,CAGA,IAAM1sH,EAXQ,SAAC2sH,EAAWC,EAAiBC,GAC3C,IAAM9oH,EAASs7B,MAAMkL,KAAKoiF,GAC1BG,EAAkB/oH,EAAOozC,OAAOy1E,EAAY,GAArCG,EAAuC73G,YAAA43G,EAAA,GAAhC,GAEd,OADA/oH,EAAOozC,OAAO01E,EAAU,EAAGE,GACpBhpH,CACT,CAMgBipH,CACZP,EACA1oH,EAAOkpH,OAAOh1G,MACdlU,EAAO2oH,YAAYz0G,OAErBkzG,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAMtH,IAAM,GARpB,CAUF,EAoQsDlB,SACpCF,cAACsuH,KAAS,CAACC,YAAY,YAAWruH,SAC/B,SAACsuH,EAAeC,GAAa,IAAAC,EAAA,OAC5BtuH,eAAA,OACEgV,IAAKo5G,EAASG,SACd9tH,MAAO,CACL0iC,QAAS,EACT5tB,MAAO,QACPzV,SAAA,CAEM,OAAPiH,QAAO,IAAPA,GAAe,QAARunH,EAAPvnH,EAASyB,cAAM,IAAA8lH,OAAR,EAAPA,EAAiB7lH,KAAI,SAACg0B,EAAY5jB,GAAQ,OACzCjZ,cAAA,OAAKgB,UAAU,kCAAiCd,SAC9CF,cAAC4uH,KAAS,CACRC,YAAahyF,EAAMuoB,KAEnB/rC,MAAOJ,EAAI/Y,SAEV,SAACsuH,EAAeC,GAAa,OAC5BruH,eAAA,MAAAmS,oCAAA,CACE6C,IAAKo5G,EAASG,UACVH,EAASM,gBACTN,EAASO,iBAAe,IAC5BluH,OACE4tH,EAASO,WAzRNC,EA0RHT,EAASM,eAAejuH,MA1RF0R,YAAA,CACxD28G,WAAY,OACZj6G,OAAQ,aACRm6E,UAAW,QACR6/B,IAwR6BjuH,UAAU,uDAAsDd,SAAA,CAEhEF,cAAA,OACEgB,UAAU,wCACV4U,QAAS,YAzP7C,SAAsBhS,EAAWqV,GAE/B,GADA2zG,EAAsB,QACJ,OAAdhpH,EAAKnC,KACP8/C,EAAc39C,EAAKpC,OACnB2jB,EAAY,UACP,GAAkB,QAAdvhB,EAAKnC,KAAgB,CAC9B,IAAMsG,EAAK,CACTQ,KAAM3E,EAAKpC,OAEb4oH,EAAoBriH,GACpB+kH,EAAqBlpH,EAAKyE,WAC1B2kH,GAAeppH,EAAK0F,QACpB4jH,GAAiBtpH,EAAKwF,UACtB+b,EAAY,IACd,KAAyB,aAAdvhB,EAAKnC,OACd+qH,EAAc5oH,EAAKpC,OACnB2jB,EAAY,MAEdunG,EAAczzG,EAChB,CAuOsCk2G,CAAatyF,EAAO5jB,EACtB,EAAE/Y,SAEFE,eAAA,OAAKY,UAAU,GAAEd,SAAA,CACfF,cAAA,QAAMgB,UAAU,4BAA2Bd,SACxC28B,EAAMr7B,QAETxB,cAAA,OAAKgB,UAAU,wBAAuBd,UAlSvC83E,EAoSKn7C,EAAMp7B,KAnS7B,OAAbu2E,EAEA53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACutH,KAAM,CAACvsH,UAAU,qCAClBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,kBAGF,QAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACwtH,IAAiB,CAACxsH,UAAU,qCAC7BhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,oBAGF,aAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACytH,IAAiB,CAACzsH,UAAU,qCAC7BhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,sBAJnB,UA0RyBF,cAAA,OAAKgB,UAAU,OAAMd,SACnBF,cAAA,KACEgB,UAAU,yBACV4U,QAAS,YApR/C,SAAsBqD,GACpB,IAAIuyG,EAAWrkH,EAAQyB,OACvB4iH,EAASjzE,OAAOt/B,EAAK,GACrBszG,GAAW,SAACrvF,GAAc,OAAA3qB,wBAAA,GACrB2qB,GAAS,IACZt0B,OAAMF,YAAM8iH,IAAS,GAEzB,CA8QwC4D,CAAan2G,EACf,EAAE/Y,SAEFF,cAAC8oH,IAAO,YAhT9C,IAAqC9wC,EANEi3C,CAyTD,GAzCHpyF,EAAMuoB,OA4CT,IAEPopE,EAASz7G,cACN,gBAStB/S,cAAC8pB,KAAK,CAAC1U,IAAKqP,QAIpB,CC5lBe,SAAS4qG,GAAoB5vH,GAAe,IAADI,EAAAwlD,EAAAC,EAClD7lB,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BmI,MAAOmJ,SAAuB,QAAfrT,EAACJ,EAAM8B,gBAAQ,IAAA1B,OAAA,EAAdA,EAAgBkK,QAAU,EAC1C8I,SAAiD,OAAf,QAAxBwyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BxyC,UACpC01G,UAAmD,OAAhB,QAAxBjjE,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0BijE,YAGvC/wG,EAAkCC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GAA/C8wG,EAAS5wG,EAAA,GAAEywG,EAAYzwG,EAAA,GAC9BgJ,EAAoDjJ,oBAAc,GAAMkJ,EAAArK,YAAAoK,EAAA,GAAjEkrG,EAAkBjrG,EAAA,GAAE+qG,EAAqB/qG,EAAA,GAChDG,EAAwCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhDoqG,EAAYnqG,EAAA,GAAEuuG,EAAevuG,EAAA,GACpCgB,EAAsCtK,mBAAiB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAnD+5D,EAAW95D,EAAA,GAAE+5D,EAAc/5D,EAAA,GAUlC,OACE5hB,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY11B,MAC1BmI,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,QACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAC3CE,eAAA,UACEwV,QAAS,WACPuyG,GAAa,GACbpsC,EAAe,YACjB,EACAt6E,KAAK,SACLT,UAAU,yDAAwDd,SAAA,CAElEF,cAACwoH,KAAM,IAAG,uBAKlBxoH,cAAA,OAAAE,SACEE,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,cAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wDAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gFAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yBAIjCF,cAAA,SAAAE,SACGT,EAAMwrH,gBAAgB9jH,QAAQ0B,KAAI,SAACjF,EAAWqV,GAAQ,IAAAs2G,EAAA,OACrDvvH,cAAAC,WAAA,CAAAC,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SAAK+Y,EAAM,IACX7Y,eAAA,MAAAF,SAAA,CACG,IACDE,eAAA,QAAAF,SAAA,CACEF,cAAC+rH,IAAU,CACT/qH,UAAU,0BACV4U,QAAS,WACP05G,EAAgBr2G,GAChByyG,GAAsB,GACtB3vC,EAAe,gBACjB,IAED,QAEH/7E,cAAA,QAAAE,SACiB,QADjBqvH,EACG3rH,EAAKyE,iBAAS,IAAAknH,OAAA,EAAdA,EAAgB1mH,KAAI,SAACg0B,EAAY4rF,GAAS,OACzCzoH,cAAAC,WAAA,CAAAC,SACG0D,EAAKyE,UAAUJ,OAAS,EACrBrE,EAAKyE,UAAUw1C,OAAO,GAAG,IAAMhhB,EAAK,GAAA57B,OAC/B47B,EAAMr7B,OAAK,GAAAP,OACX47B,EAAMr7B,MAAK,OAChBq7B,EAAMr7B,OACT,SAITpB,eAAA,MAAAF,SAAA,CACEE,eAAA,QAAAF,SAAA,CACEF,cAAC+rH,IAAU,CACT/qH,UAAU,0BACV4U,QAAS,WACP05G,EAAgBr2G,GAChBkvG,GAAa,GACbpsC,EAAe,aACjB,IAED,QAEH/7E,cAAA,QAAAE,SACG0D,EAAKgF,OAAOC,KAAI,SAACg0B,EAAY4rF,GAAS,OACrCzoH,cAAAC,WAAA,CAAAC,SACG0D,EAAKgF,OAAOX,OAAS,EAClBrE,EAAKgF,OAAOi1C,OAAO,GAAG,IAAMhhB,EAAK,GAAA57B,OAC5B47B,EAAMr7B,OAAK,GAAAP,OACX47B,EAAMr7B,MAAK,OAChBq7B,EAAMr7B,OACT,SAITxB,cAAA,MAAAE,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,YA/M/B,SAA0BqD,GACxB,IAAIo0G,EAAa5tH,EAAMwrH,gBAAgB9jH,QAEvCkmH,EAAW90E,OAAOt/B,EAAK,GACvBxZ,EAAMgsH,oBAAmB,SAACvuF,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZ/1B,QAAOuB,YAAM2kH,IAAW,GAE5B,CAwMwBmC,CAAiBv2G,EACnB,UAIL,cAMZqvG,GACCtoH,cAACqsH,GAAkB,CACjBz7F,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnB23F,UAAWA,EACXH,aAAcA,EACdsD,mBAAoBhsH,EAAMgsH,mBAC1BR,gBAAiBxrH,EAAMwrH,gBACvBnvC,YAAaA,EACbC,eAAgBA,EAChBmvC,aAAcA,IAGjBU,GACC5rH,cAACiqH,GAAqB,CACpBr5F,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnB+6F,sBAAuBA,EACvBE,mBAAoBA,EACpBH,mBAAoBhsH,EAAMgsH,mBAC1BR,gBAAiBxrH,EAAMwrH,gBACvBC,aAAcA,EACdpvC,YAAaA,MAKvB,CClRA,IAwBe2zC,GAxBmB,SAAHttH,GAAoC,IAA9B0N,EAAK1N,EAAL0N,MAAOsD,EAAQhR,EAARgR,SAO1C,OANA3G,qBAAU,WACJ2G,GACFtD,EAAM4C,SAAS,GAEnB,GAAG,CAACU,IAGFnT,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAACioB,IAAS,CACRtV,GAAI9C,EAAM0B,KACV/I,MAAOqH,EAAMrH,MACb,mBAAiB,gBACjBxH,UAAS,0BACTmS,SAAUA,EACVV,SAAU,SAACtG,GACT/G,QAAQe,IAAI,YAAagG,EAAEuG,OAAOlK,MAAOqH,EAAOsD,GAChDtD,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAC1B,KAIR,ECRe,SAASknH,GAAkBjwH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtDC,EAA4C5pH,eAApCsR,EAAas4G,EAAbt4G,cAEF8nB,GAFiCwwF,EAAhBl4G,iBAEH,CAClBvW,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,aAAqC,QAAxBqyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BryC,cAAe,GACtD1J,QAAgC,QAAxBg8C,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,GAAM,QAAN0jE,EAAxB1jE,EAA0Br0C,YAAI,IAAA+3G,OAAN,EAAxBA,EAAgC1/G,SAAU,GAClD3H,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnCkR,SAAiD,OAAf,QAAxBq2G,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0Br2G,UACpC2G,aAActG,SAAiC,QAAzBy8G,EAAClwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0Bn2G,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBqH,EAAAnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0BrH,WACrC7rG,SAAiC,QAAxBmzG,EAAApwH,EAAM8B,SAASG,iBAAS,IAAAmuH,OAAA,EAAxBA,EAA0BnzG,UAAW,GAC9CwzG,aAAqC,QAAxBJ,EAAArwH,EAAM8B,SAASG,iBAAS,IAAAouH,OAAA,EAAxBA,EAA0BI,cAAe,OACtDh1G,cAAuC,QAA1B60G,EAAEtwH,EAAM8B,SAASG,iBAAS,IAAAquH,OAAA,EAAxBA,EAA0B70G,gBAG3C1D,EAAgCC,mBACY,UAAlB,QAAxBu4G,EAAAvwH,EAAM8B,SAASG,iBAAS,IAAAsuH,OAAA,EAAxBA,EAA0BE,cAC3Bx4G,EAAApB,YAAAkB,EAAA,GAFMrE,EAAQuE,EAAA,GAAEy4G,EAAWz4G,EAAA,GAG5B,OACEtX,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,SACL8D,aAAcoqB,EAAYn2B,OAC1BsG,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAOdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYywF,YAC1Bh+G,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDF,cAAC++C,IAAQxsC,wBAAA,GACH1C,GAAK,IACT4C,SAAU,SAACtG,GACO,SAAZA,EAAE3D,MACJ2nH,GAAY,GAEZA,GAAY,GAEdtgH,EAAM4C,SAAStG,EAAE3D,MACnB,EACA4Z,QAAS,CACP,CAAE7Q,KAAM,OAAQ/I,MAAO,QAEvB,CAAE+I,KAAM,OAAQ/I,MAAO,SAIzB+xD,YAAY,WAEV,IAGVv6D,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY/iB,QAC1BxK,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDF,cAACyvH,GAAyB,CACxB5/G,MAAOA,EACPsD,SAAUA,KAER,YAMhB/S,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,uBAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYvkB,cAC1BhJ,OAAQ,SAAAusB,GAAA,IAAA7kB,EAAG/J,EAAK4uB,EAAL5uB,MAAiB4uB,EAAV07B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDF,cAACioB,IAAS1V,wBAAA,GACJ1C,GAAK,IACTkD,YAA0B,OAAb4E,QAAa,IAAbA,GAAyB,QAAZiC,EAAbjC,EAAe2qF,kBAAU,IAAA1oF,OAAZ,EAAbA,EAA2B6xB,WAEtC,aAQtB,CC5Se,SAAS2kF,GAAgB3wH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EAC9CnwF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,aAAqC,QAAxBqyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BryC,cAAe,GACtDzK,MAA8B,QAAxB+8C,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B/8C,OAAQ,GACxCmW,aAAyD,OAAnB,QAAxBsqG,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0BtqG,cACxC/c,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnCkR,SAAiD,OAAf,QAAxBq2G,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0Br2G,UACpC2G,aAActG,SAAiC,QAAzBy8G,EAAClwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0Bn2G,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBqH,EAAAnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0BrH,YAEvC/wG,EAA0BC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAvCoI,EAAKlI,EAAA,GAAE24G,EAAQ34G,EAAA,GACdhB,EAAgBkH,cAAhBlH,YACRgK,EAA8CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAArC4vG,GAAF3vG,EAAA,GAAoBA,EAAA,IAC1CnU,qBAAU,WAAO,IAADqjH,OAC0BtvH,KAAZ,QAAxBsvH,EAAApwH,EAAM8B,SAASG,iBAAS,IAAAmuH,OAAA,EAAxBA,EAA0BzuH,QAC5B3B,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMjJ,EAAM8B,SAASG,UAAUN,QAAM,GAGhD,GAAG,IA0BH,IAAMmvH,EAAgB,SAAC3wC,GACrB,GAAkB,UAAdA,EAAM3xE,KAA0C,KAAvB2xE,EAAMltE,OAAOlK,MAAc,CACtD,IAAIqlH,EAAcpuH,EAAMqvE,UAAU1tE,MAC9BoH,EAAQo3E,EAAMltE,OAAOlK,MACzB,GAAIA,EAAMC,SAAS,KAAM,CACvB,IAAI43E,EAAQ73E,EAAMa,MAAM,KACQ,KAA5Bg3E,EAAMA,EAAMp4E,OAAS,IACvBo4E,EAAMn0E,MAGR,IADgB,IAAA3E,EAAA,SAAA8R,GAKd,GAA2B,IAHbw0G,EAAY31G,QACxB,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWs0B,EAAMhnE,GAAO0yC,MAAM,IAEnC9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAM83E,EAAMhnE,GACZgH,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,EAjBS4X,EAAQ,EAAGA,EAAQgnE,EAAMp4E,OAAQoR,IAAO9R,EAAA8R,EAkBnD,KAAO,CAIL,GAA2B,IAHTw0G,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWvjD,EAAMujD,MAAM,IAE5B9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAMC,EACN6X,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACAhC,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,IAEzBwC,EAAS,GACX,CACF,EAOA,SAASG,EAAWpuG,GAClB,OAEF,SAAoBA,GAClB,OACEpiB,cAACioB,IAAS,CACRpnB,MAAO,CAAE8U,MAAO,QAChBlU,KAAK,OACL+G,MAAO4Z,EAAQ5Z,MACfiK,SAAU,SAACtG,GAAC,OAAKiW,EAAQquG,eAAetkH,EAAEuG,OAAOlK,MAAM,GAG7D,CAXSkoH,CAAWtuG,EACpB,CAkDA,OACEhiB,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY/gB,aAC1BxM,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBiwG,EAAmBnkH,EAAEkU,QACvB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,OACL8D,aAAcuK,EACdhQ,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAOsqD,EAAUv8B,EAAVu8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT4C,SAAU,SAACtG,GACTkkH,EAASlkH,EAAEuG,OAAOlK,MACpB,EACAA,MAAOoX,EACPxM,UAAWm9G,EACXvvH,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,2DAKC,IAAjCT,EAAMqvE,UAAU1tE,MAAM6G,QACrBjI,cAAA,OAAKgB,UAAU,mDAAkDd,SAC/DE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMqvE,UAAU1tE,MACvBgwE,aAhTV,SAAsBjlE,GACpB1M,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAO+K,EAAE3D,OAAK,GAElB,EA4SUi2F,YAAU,EACVz9F,UAAU,cACV09F,aAAa,WAAUx+F,SAAA,CAEvBF,cAACs4B,KAAM,CAACm5C,YAAU,EAAC5wE,MAAO,CAAEo5D,SAAU,SACtCj6D,cAACs4B,KAAM,CACLzoB,MAAM,OACN80C,OAAQ,SAACviC,GAAO,OAAKouG,EAAWpuG,EAAQ,EACxCuuG,mBAtSe,SAACxkH,GAC1B,IAAMsM,EAAmDtM,EAAnDsM,QAASm4G,EAA0CzkH,EAA1CykH,SAAU/gH,EAAgC1D,EAAhC0D,MAAsB+vE,EAAUzzE,EAAzB0zE,cAC5BguC,EAAcpuH,EAAMqvE,UAAU1tE,MAClC,GAAGqX,EAAQlQ,OAASqoH,EAAS,CAC3B,IAAIh2B,EAAcizB,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAW6kE,EAAS7kE,MAAM,IAEpB,IAAvB6uC,EAAY3yF,OACV2oH,EAAS7kE,OAAO9jD,OAAS,EAAGwQ,EAAQ5I,GAAS+gH,EAC5ChxC,EAAMrqE,iBAEXmB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACF,EAqRYovH,WAAS,EACT/pG,OAAQ,UAEV9mB,cAACs4B,KAAM,CAACz3B,MAAO,CAAEo5D,SAAU,OAAS32D,KAvRnB,SAACmV,GAC1B,OACEzY,cAAAC,WAAA,CAAAC,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,2CACV4U,QAAS,WACPxQ,QAAQe,IAAIsS,EAAS,WACrB,IAAIo1G,EAAcpuH,EAAMqvE,UAAU1tE,MAAM8W,QACtC,SAACtU,GAAS,OAAKA,EAAK2E,OAASkQ,EAAQlQ,IAAI,IAE3C9I,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOysH,GAAW,GAEtB,KAIR,WA2QF,CCpae,SAASiD,GAAqBrxH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EAAAC,EACnDpwF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,aAAqC,QAAxBqyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BryC,cAAe,GACtDzK,MAA8B,QAAxB+8C,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B/8C,OAAQ,GACxCmE,SAAiC,QAAxBs8G,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0Bt8G,UAAW,KAC9CgS,aAAyD,OAAnB,QAAxBuqG,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BvqG,cACxC/c,QAA+C,OAAd,QAAxBunH,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0BvnH,SACnCkR,SAAiD,OAAf,QAAxB88G,EAAAlwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0B98G,UACpC2G,aAActG,SAAiC,QAAzB08G,EAACnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0Bp2G,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBsH,EAAApwH,EAAM8B,SAASG,iBAAS,IAAAmuH,OAAA,EAAxBA,EAA0BtH,YAEjCwI,EAAkB,CACtB,CAAEx/G,KAAM,WAAY+B,KAAM,MAC1B,CAAE/B,KAAM,WAAY+B,KAAM,OAE5BkE,EAA0BC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAvCoI,EAAKlI,EAAA,GAAE24G,EAAQ34G,EAAA,GACtBgJ,EAAgCjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1CswG,EAAQrwG,EAAA,GAAEswG,EAAWtwG,EAAA,GAC5BG,EAA8CrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAArCwvG,GAAFvvG,EAAA,GAAoBA,EAAA,IAClCrK,EAAgBkH,cAAhBlH,YACRlK,qBAAU,WAAO,IAADsjH,EAUc,OAAxBrwF,EAAY/yB,SACdukH,EAAYF,EAAgB,IAC5BtxH,EAAMyxH,mBAAmBH,EAAgB,KACR,OAAxBtxF,EAAY/yB,UACrBukH,EAAYF,EAAgB,IAC5BtxH,EAAMyxH,mBAAmBH,EAAgB,UAbHxwH,KAAZ,QAAxBuvH,EAAArwH,EAAM8B,SAASG,iBAAS,IAAAouH,OAAA,EAAxBA,EAA0B1uH,QAC5B3B,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMjJ,EAAM8B,SAASG,UAAUN,QAAM,GAGhD,GAAG,IAWH,IAAMmvH,EAAgB,SAAC3wC,GACrB,GAAkB,UAAdA,EAAM3xE,KAA0C,KAAvB2xE,EAAMltE,OAAOlK,MAAc,CACtD,IAAIqlH,EAAcpuH,EAAMqvE,UAAU1tE,MAC9BoH,EAAQo3E,EAAMltE,OAAOlK,MACzB,GAAIA,EAAMC,SAAS,KAAM,CACvB,IAAI43E,EAAQ73E,EAAMa,MAAM,KACQ,KAA5Bg3E,EAAMA,EAAMp4E,OAAS,IACvBo4E,EAAMn0E,MAGR,IADgB,IAAA3E,EAAA,SAAA8R,GAKd,GAA2B,IAHbw0G,EAAY31G,QACxB,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWs0B,EAAMhnE,GAAO0yC,MAAM,IAEnC9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAM83E,EAAMhnE,GACZgH,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,EAjBS4X,EAAQ,EAAGA,EAAQgnE,EAAMp4E,OAAQoR,IAAO9R,EAAA8R,EAkBnD,KAAO,CAIL,GAA2B,IAHTw0G,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWvjD,EAAMujD,MAAM,IAE5B9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAMC,EACN6X,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACAhC,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,IAEzBwC,EAAS,GACX,CACF,EAuBA,SAASG,EAAWpuG,GAClB,OAEF,SAAoBA,GAClB,OACEpiB,cAACioB,IAAS,CACRpnB,MAAO,CAAE8U,MAAO,QAChBlU,KAAK,OACL+G,MAAO4Z,EAAQ5Z,MACfiK,SAAU,SAACtG,GAAC,OAAKiW,EAAQquG,eAAetkH,EAAEuG,OAAOlK,MAAM,GAG7D,CAXSkoH,CAAWtuG,EACpB,CAkDA,OACEhiB,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY/gB,aAC1BxM,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBiwG,EAAmBnkH,EAAEkU,QACvB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OACEY,UAAU,oCACV4U,QAAS,WACPxQ,QAAQe,IAAI4qH,EACd,EAAE7wH,SAAA,CAEFF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAc27G,EACdphH,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDF,cAAAC,WAAA,CAAAC,SAYG6wH,EAAgBloH,KAAI,SAACzH,EAAY+vH,GAChC,OACE/wH,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACmyE,KAAW,CACV3pE,MAAOpH,EACPP,MAAO,CAAE8U,MAAO,UAChBpE,KAAK,OACLkB,SAAU,SAACtG,GACT8kH,EAAY9kH,EAAE3D,OACd/I,EAAMyxH,mBAAmB/kH,EAAE3D,OAC3BqH,EAAM4C,SAAStG,EAAE3D,MACnB,EACA6X,QAAS2wG,EAASz/G,OAASnQ,EAAMmQ,OAEnCvR,cAAA,SACEgB,UAAU,oCACVgnB,QAAS5mB,EAAMmQ,KAAKrR,SAEnBkB,EAAMmQ,SAIf,OAEE,SAKdnR,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,OACL8D,aAAcuK,EACdhQ,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAOsqD,EAAUj8B,EAAVi8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACR6+G,QAAQ,oDACRC,eAAgB,CACdjoH,SAAU,MACVpI,UAAW,4BACX4+E,MAAO,SAETjtE,GAAI9C,EAAM0B,MACN1B,GAAK,IACT4C,SAAU,SAACtG,GACTkkH,EAASlkH,EAAEuG,OAAOlK,MACpB,EACAA,MAAOoX,EACPxM,UAAWm9G,EACXvvH,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,wFAMC,IAAjCT,EAAMqvE,UAAU1tE,MAAM6G,QACrBjI,cAAA,OAAKgB,UAAU,mDAAkDd,SAC/DE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMqvE,UAAU1tE,MACvBgwE,aAhXV,SAAsBjlE,GACpB1M,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAO+K,EAAE3D,OAAK,GAElB,EA4WUi2F,YAAU,EACVz9F,UAAU,cACV09F,aAAa,WAAUx+F,SAAA,CAEvBF,cAACs4B,KAAM,CAACm5C,YAAU,EAAC5wE,MAAO,CAAEo5D,SAAU,SACtCj6D,cAACs4B,KAAM,CACLzoB,MAAM,OACN80C,OAAQ,SAACviC,GAAO,OAAKouG,EAAWpuG,EAAQ,EACxCuuG,mBAtWe,SAACxkH,GAC1B,IAAMsM,EAAmDtM,EAAnDsM,QAASm4G,EAA0CzkH,EAA1CykH,SAAU/gH,EAAgC1D,EAAhC0D,MAAsB+vE,EAAUzzE,EAAzB0zE,cAC5BguC,EAAcpuH,EAAMqvE,UAAU1tE,MAElC,GAAGqX,EAAQlQ,OAASqoH,EAAS,CAC3B,IAAIh2B,EAAcizB,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAW6kE,EAAS7kE,MAAM,IAEpB,IAAvB6uC,EAAY3yF,OACV2oH,EAAS7kE,OAAO9jD,OAAS,EAAGwQ,EAAQ5I,GAAS+gH,EAC5ChxC,EAAMrqE,iBAEXmB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACF,EAoVYovH,WAAS,EACT/pG,OAAQ,UAEV9mB,cAACs4B,KAAM,CAACz3B,MAAO,CAAEo5D,SAAU,OAAS32D,KAtVnB,SAACmV,GAC1B,OACEzY,cAAAC,WAAA,CAAAC,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,2CACV4U,QAAS,WACPxQ,QAAQe,IAAIsS,EAAS,WACrB,IAAIo1G,EAAcpuH,EAAMqvE,UAAU1tE,MAAM8W,QACtC,SAACtU,GAAS,OAAKA,EAAK2E,OAASkQ,EAAQlQ,IAAI,IAE3C9I,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOysH,GAAW,GAEtB,KAIR,WA0UF,CCpfe,SAASyD,GAAkB7xH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAChDxpF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,YAAavT,EAAM8B,SAASyR,aAAe,GAC3CzK,MAA8B,QAAxB88C,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0B98C,OAAQ,GACxC5G,QAA+C,OAAd,QAAxB2jD,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B3jD,SACnCkR,SAAsC,MAA5BpT,EAAM8B,SAASsR,SACzB2G,aAActG,SAAiC,QAAzB81G,EAACvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0BxvG,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBU,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BV,YAE/B7xG,EAAgBkH,cAAhBlH,YACRc,EAA0BC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAvCoI,EAAKlI,EAAA,GAAE24G,EAAQ34G,EAAA,GACtBgJ,EAA8CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAtD6wG,EAAe5wG,EAAA,GAAE2vG,EAAkB3vG,EAAA,GAC1CnU,qBAAU,WAAO,IAAD08G,EACd9jH,QAAQe,IAAI1G,EAAM8B,SAAU,iDACYhB,KAAZ,QAAxB2oH,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0B9nH,QAC5B3B,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMjJ,EAAM8B,SAASG,UAAUN,QAAM,GAGhD,GAAG,IACHoL,qBAAU,WAAO,IAADglH,EACd,IACsB,IAApBD,GACmC,gBAAX,QAAxBC,EAAA/xH,EAAMqvE,UAAU1tE,MAAM,UAAE,IAAAowH,OAAA,EAAxBA,EAA0BjpH,MAC1B,CACA,IAAIslH,EAAcpuH,EAAMqvE,UAAU1tE,MAKlCysH,EAAYt1E,OAAO,EAAG,EAJG,CACvBhwC,KAAM,aACN8X,QAAS,MAGX5gB,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,GAE3B,CAYF,GAAG,CAAC0D,IAEJ,IAAMhB,EAAgB,SAAC3wC,GACrB,GAAkB,UAAdA,EAAM3xE,KAA0C,KAAvB2xE,EAAMltE,OAAOlK,MAAc,CACtD,IAAIqlH,EAAcpuH,EAAMqvE,UAAU1tE,MAC9BoH,EAAQo3E,EAAMltE,OAAOlK,MACzB,GAAIA,EAAMC,SAAS,KAAM,CACvB,IAAI43E,EAAQ73E,EAAMa,MAAM,KACQ,KAA5Bg3E,EAAMA,EAAMp4E,OAAS,IACvBo4E,EAAMn0E,MAGR,IADgB,IAAA3E,EAAA,SAAA8R,GAKd,GAA2B,IAHbw0G,EAAY31G,QACxB,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWs0B,EAAMhnE,GAAO0yC,MAAM,IAEnC9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAM83E,EAAMhnE,GACZgH,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,EAjBS4X,EAAQ,EAAGA,EAAQgnE,EAAMp4E,OAAQoR,IAAO9R,EAAA8R,EAkBnD,KAAO,CAIL,GAA2B,IAHTw0G,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAWvjD,EAAMujD,MAAM,IAE5B9jD,OAAa,CAC3B,IAAMk0B,EAAmB,CACrB5zB,KAAMC,EACN6X,QAAS,KAEbwtG,EAAYt1E,OAAOs1E,EAAY5lH,OAAQ,EAAGk0B,EAC5C,MACEzlB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACAhC,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,IAEzBwC,EAAS,GACX,CACF,EAQA,SAASG,EAAWpuG,GAClB,OAEF,SAAoBA,GAClB,OACEpiB,cAACioB,IAAS,CACRpnB,MAAO,CAAE8U,MAAO,QAChBlU,KAAK,OACL+G,MAAO4Z,EAAQ5Z,MACfiK,SAAU,SAACtG,GAAC,OAAKiW,EAAQquG,eAAetkH,EAAEuG,OAAOlK,MAAM,GAG7D,CAXSkoH,CAAWtuG,EACpB,CAgDA,OACEhiB,eAAA,OACEY,UAAU,YACV4U,QAAS,WACPxQ,QAAQe,IAAI1G,EAAM8B,SAAU,WAC9B,EAAErB,SAAA,CAEFE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBiwG,EAAmBnkH,EAAEkU,QACvB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,OACL8D,aAAcuK,EACdhQ,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACR6+G,QAAQ,oDACRC,eAAgB,CACdjoH,SAAU,MACVpI,UAAW,4BACX4+E,MAAO,SAETjtE,GAAI9C,EAAM0B,MACN1B,GAAK,IACT4C,SAAU,SAACtG,GACTkkH,EAASlkH,EAAEuG,OAAOlK,MACpB,EACAA,MAAOoX,EACPxM,UAAWm9G,EACXvvH,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,wFAMC,IAAjCT,EAAMqvE,UAAU1tE,MAAM6G,QACrBjI,cAAA,OAAKgB,UAAU,mDAAkDd,SAC/DE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMqvE,UAAU1tE,MACvBgwE,aA9RV,SAAsBjlE,GACpB1M,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAO+K,EAAE3D,OAAK,GAElB,EA0RUi2F,YAAU,EACVz9F,UAAU,cACV09F,aAAa,WAAUx+F,SAAA,CAEvBF,cAACs4B,KAAM,CAACm5C,YAAU,EAAC5wE,MAAO,CAAEo5D,SAAU,SACtCj6D,cAACs4B,KAAM,CACLzoB,MAAM,OACN80C,OAAQ,SAACviC,GAAO,OAAKouG,EAAWpuG,EAAQ,EACxCuuG,mBApRe,SAACxkH,GAC1B,IAAMsM,EAAmDtM,EAAnDsM,QAASm4G,EAA0CzkH,EAA1CykH,SAAU/gH,EAAgC1D,EAAhC0D,MAAsB+vE,EAAUzzE,EAAzB0zE,cAC5BguC,EAAcpuH,EAAMqvE,UAAU1tE,MAClC,GAAGqX,EAAQlQ,OAASqoH,EAAS,CAC3B,IAAIh2B,EAAcizB,EAAY31G,QAC5B,SAAC/L,GAAM,OAAKA,EAAE5D,KAAKwjD,SAAW6kE,EAAS7kE,MAAM,IAEpB,IAAvB6uC,EAAY3yF,OACV2oH,EAAS7kE,OAAO9jD,OAAS,EAAGwQ,EAAQ5I,GAAS+gH,EAC5ChxC,EAAMrqE,iBAEXmB,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,qBACRzT,KAAM,WAGZ,CACF,EAmQYovH,WAAS,EACT/pG,OAAQ,UAEV9mB,cAACs4B,KAAM,CAACz3B,MAAO,CAAEo5D,SAAU,OAAS32D,KArQnB,SAACmV,GAC1B,OACEzY,cAAAC,WAAA,CAAAC,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,2CACV4U,QAAS,WACP,IAAIi4G,EAAcpuH,EAAMqvE,UAAU1tE,MAAM8W,QACtC,SAACtU,GAAS,OAAKA,EAAK2E,OAASkQ,EAAQlQ,IAAI,IAE3C9I,EAAMsvE,cAAa,SAAC7xC,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOysH,GAAW,GAEtB,KAIR,WA0PF,C,kBCxNe4D,GAvKO,SAAChyH,GAAkB,IAADm8G,EAChCpqE,EAAgB,CACpBhpC,MAAO,MAETgP,EAA8BC,oBAAS,GAAKC,EAAApB,YAAAkB,EAAA,GAArCgI,EAAO9H,EAAA,GAAEsJ,EAAUtJ,EAAA,GAC1BgJ,EAA0CjJ,mBACnB,OAAX,QAAVmkG,EAAAn8G,EAAMmE,YAAI,IAAAg4G,OAAA,EAAVA,EAAYpzG,OAAgBgpC,EAAgB/xC,EAAMmE,MACnD+c,EAAArK,YAAAoK,EAAA,GAFMgxG,EAAa/wG,EAAA,GAAEgxG,EAAgBhxG,EAAA,GAGtC2E,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACX95B,GADwB85B,EAAA,GACZh/C,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KAClE+lB,EAAqBP,EAAU1D,kBAC7By9B,EAAW/5B,EAAUzD,QAC3BxY,qBAAU,WAAO,IAADqvG,EACC,QAAXA,EAACp8G,EAAMmE,YAAI,IAAAi4G,GAAVA,EAAYrzG,OAGf/I,EAAMmE,KAAK4E,MAAQ/I,EAAMmE,KAAK4E,MAC3BvG,QAAQ,MAAO,KACfA,QAAQ,MAAO,KACfA,QAAQ,MAAO,IAClBxC,EAAMmyH,aAAY,SAAC10F,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ10B,MAAO/I,EAAMmE,KAAK4E,OAAK,KARzB/I,EAAMmyH,YAAYpgF,EAWtB,GAAG,IACH,IAUMjqB,EACJvnB,cAAA,OAAAE,SACEE,eAAA,UACEqB,KAAK,SACLmU,QAAS,WACPnW,EAAM0oH,cAAa,EACrB,EACAnnH,UAAU,oDAAmDd,SAAA,CAE7DF,cAACqoH,IAAa,IAAG,aAKvB,OACEroH,cAACgnB,IAAM,CACLF,OAAO,WACPI,QAASznB,EAAM6oH,UACfznH,MAAO,CAAE8U,MAAO,sBAAuB0B,aAAc,QACrDgQ,OAAQ,kBAAM5nB,EAAM0oH,cAAa,EAAM,EACvChhG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACX75B,OAAQA,EAAOrnB,SAEfF,cAAA,OAAKgB,UAAU,MAAKd,SAClBE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACvBsf,GACCxf,cAAA,OAAKgB,UAAU,qCAAoCd,SACjDF,cAACsjC,KAAe,CAACtiC,UAAU,2BAG/BhB,cAAC2iD,KAAM,CACLswD,OAAQ,WACNjyF,GAAW,EACb,EACA6hC,KAAM,CAEJC,WAAW,EACXC,mBAAmB,EACnBC,SAAS,EACTC,aAAa,EAEbljC,OAAQ,IACRqjC,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,QAAS,CACP,aACA,yEACA,2CACA,yEACA,+EACA,QAEFE,SACE,iQACFC,iBACE,mDACFC,aACE,mlBAqBFC,cACE,sOAGFC,sBAAsB,WAAD,IAAAC,EAAA9hD,YAAAC,IAAAC,MAAE,SAAAC,EACrB4hD,EACAC,EACAC,GAAO,IAAAz+B,EAAAS,EAAAkD,EAAA7lB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAWoD,OATvD8iB,EAAO,IAAI0+B,KAAK,CAACH,EAASjH,QAASiH,EAASI,WAAY,CAC1DC,aAAc7pC,KAAK8pC,QAEfp+B,EAAW,IAAIE,SACfgD,EAAWxmB,OAAO2mB,SAASH,SACjClD,EAASG,OAAO,OAAQZ,GACxBS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAY,IAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GACjCkD,aAAcqgB,GAAU,KAAD,GAA7C3iB,EAAad,EAAAmB,KACjBqB,QAAQe,IAAIzC,EAAU,YAClBA,EAASE,KAAKuB,OACZ6jB,GACFA,EACmC,MAAjCA,EAAmBS,OAAO,GACtBT,EAAmBvf,UAAU,GAC7Buf,EACNo7B,EAAQp7B,EAAqB,IAAMtlB,EAASE,KAAK8iB,UAEjD09B,EAAQ,GAAAnjD,OAAGsoB,EAAQ,MAAOi5B,EAAW9+C,EAASE,KAAK8iB,SAGrD29B,EAAQ3gD,EAASE,KAAK8iB,SACvB,yBAAA9jB,EAAAqB,OAAA,GAAA1B,EAAA,KACF,gBAAA2B,EAAAO,EAAAK,GAAA,OAAAo/C,EAAA//C,MAAA,KAAAC,UAAA,EA9BqB,IAgCxBoE,MAA8B,MAAvBkpH,EAAclpH,MAAgB,GAAKkpH,EAAclpH,MACxDk8C,eArIiB,SAACx6B,EAAcy6B,GACxCgtE,GAAiB,SAACz0F,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZ10B,MAAO0hB,GAAO,IAEhBzqB,EAAMmyH,aAAY,SAAC10F,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ10B,MAAO0hB,GAAO,GAElB,UAkIF,ECpMe,SAASo4B,GAAgB7iD,GAAe,IAADI,EAAAC,EAAAulD,EAAAC,EAAA0jE,EACpDx8G,qBAAU,WACRpH,QAAQe,IAAI1G,EAAM8B,SAAU,mCAC9B,GAAG,IAEH,IAAMk+B,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,YAA2B,QAAhBnT,EAAEJ,EAAM8B,gBAAQ,IAAA1B,OAAA,EAAdA,EAAgBmT,YAC7B+M,OAAQ7M,SAAuB,QAAfpT,EAACL,EAAM8B,gBAAQ,IAAAzB,OAAA,EAAdA,EAAgBigB,SAAW,IAC5Cpe,QAA+C,OAAd,QAAxB0jD,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0B1jD,SACnCkR,SAAiD,OAAf,QAAxByyC,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0BzyC,UACpC01G,UAAmD,OAAhB,QAAxBS,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0BT,YAEvC/wG,EAAkCC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAnD8wG,EAAS5wG,EAAA,GAAEywG,EAAYzwG,EAAA,GAC9B,OACEtX,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY1f,OAC1B7N,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACVpJ,GAAI9C,EAAM0B,KACV/I,MAAOqH,EAAMrH,MACbwU,IAAK,EACLqkC,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7CxH,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,kBAK1DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBjb,QAAQe,IAAI,WAAYgG,EAAEkU,QAC5B,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,qCAAoCd,SACjDE,eAAA,UACEwV,QAAS,WACPuyG,GAAa,EACf,EACA1mH,KAAK,SACLT,UAAU,uDAAsDd,SAAA,CAEhEF,cAAC6xH,IAAqB,IAAG,iBAG7B7xH,cAAA,OAAKgB,UAAU,mBAGnBhB,cAACyxH,GAAa,CACZtJ,aAAcA,EACdG,UAAWA,EACX1kH,KAAMnE,EAAMmE,KACZguH,YAAanyH,EAAMmyH,gBAI3B,CC7Me,SAAS7rE,GAAiBtmD,GACvC,IAAMggC,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BokD,OAAkC,MAA1BvmD,EAAM8B,SAASykD,OACvBG,UAAW1mD,EAAM8B,SAAS4kD,WAAa,GACvCoiE,UAAwC,MAA7B9oH,EAAM8B,SAASgnH,WAG5B,OACEnoH,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAc5V,EAAMqyH,gBACpBliH,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAiB1N,EAAVg4D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDF,cAAAC,WAAA,CAAAC,SACGT,EAAMsyH,gBAAgBlpH,KAAI,SAACzH,EAAY+vH,GACtC,OACE/wH,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACmyE,KAAW,CACV3pE,MAAOpH,EACPP,MAAO,CAAE8U,MAAO,UAChBpE,KAAK,OACLkB,SAAU,SAACtG,GACT1M,EAAMuyH,mBAAmB7lH,EAAE3D,OAC3BqH,EAAM4C,SAAStG,EAAE3D,OACjBpD,QAAQe,IAAIgG,EAAE3D,MAAO,MACvB,EACA6X,QAAS5gB,EAAMqyH,gBAAgBvgH,OAASnQ,EAAMmQ,OAEhDvR,cAAA,SACEgB,UAAU,oCACVgnB,QAAS5mB,EAAMmQ,KAAKrR,SAEnBkB,EAAMmQ,SAIf,OAEE,SA0BkB,MAA/B9R,EAAMqyH,gBAAgBx+G,MACrBlT,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,SAEjCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL8D,aAAcoqB,EAAY79B,MAC1BgO,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,YAOkB,MAA/B56D,EAAMqyH,gBAAgBx+G,MACrBlT,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL8D,aAAcoqB,EAAY0mB,UAC1Bv2C,QAASnQ,EAAMmQ,QACfoC,MAAO,CAAEC,SAAU,2BACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZ0R,KAAM,EACN4zB,KAAM,GACNllC,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,4BAAAC,OAA8Bm5D,YAAW,CAChD,YAAaD,EAAWE,aAE1B,SAMZj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,WAOpB,CCrLe,SAAS+xH,GAAgBxyH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAkC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpDl7G,EAA8BC,mBAC5BvE,SAAiC,QAAzBmyC,EAAC5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0B7oC,UAAY,GAChD9E,EAAApB,YAAAkB,EAAA,GAFMgF,EAAO9E,EAAA,GAAEi7G,EAAUj7G,EAAA,GAG1BgJ,EAAgCjJ,mBACS,OAAf,QAAxB6tC,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0BzyC,WAC3B8N,EAAArK,YAAAoK,EAAA,GAFM7N,EAAQ8N,EAAA,GAAEiyG,EAAWjyG,EAAA,GAG5BG,EAA8BrJ,mBACU,OAAd,QAAxBuxG,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0Bj4F,UAC3BhQ,EAAAzK,YAAAwK,EAAA,GAFMiQ,EAAOhQ,EAAA,GAAEiQ,EAAUjQ,EAAA,GAG1BgB,EAAsBtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAA9B/E,EAAGgF,EAAA,GAAE6wG,EAAM7wG,EAAA,GACZyd,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,MACtBI,MAAOnC,EAAM8B,SAASK,MACtBD,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnC+gC,SAAiC,QAAxBwmF,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0BxmF,UAAW,GAC9C1vB,aAAqC,QAAxB28G,EAAAlwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0B38G,cAAe,GACtDwJ,QAAStJ,SAAiC,QAAzB08G,EAACnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0BpzG,UAAY,EACxDE,SAAiC,QAAxBmzG,EAAApwH,EAAM8B,SAASG,iBAAS,IAAAmuH,OAAA,EAAxBA,EAA0BnzG,UAAW,GAC9CxD,MAA2C,OAAZ,QAAxB42G,EAAArwH,EAAM8B,SAASG,iBAAS,IAAAouH,OAAA,EAAxBA,EAA0B52G,OACjC8D,IAAKtO,OAA+B,QAAzBqhH,EAACtwH,EAAM8B,SAASG,iBAAS,IAAAquH,OAAA,EAAxBA,EAA0B/yG,MAAQ,EAC9CC,IAAKvO,OAA+B,QAAzBshH,EAACvwH,EAAM8B,SAASG,iBAAS,IAAAsuH,OAAA,EAAxBA,EAA0B/yG,MAAQ,EAC9CX,SAAiD,OAAf,QAAxB41G,EAAAzyH,EAAM8B,SAASG,iBAAS,IAAAwwH,OAAA,EAAxBA,EAA0B51G,UACpChT,QAAgC,QAAxB6oH,EAAA1yH,EAAM8B,SAASG,iBAAS,IAAAywH,OAAA,EAAxBA,EAA0B7oH,SAAU,GAC5C0S,eAC+C,OAArB,QAAxBo2G,EAAA3yH,EAAM8B,SAASG,iBAAS,IAAA0wH,OAAA,EAAxBA,EAA0Bp2G,gBAC5B+U,QAA+C,OAAd,QAAxBshG,EAAA5yH,EAAM8B,SAASG,iBAAS,IAAA2wH,OAAA,EAAxBA,EAA0BthG,SACnCle,SAAiD,OAAf,QAAxBy/G,EAAA7yH,EAAM8B,SAASG,iBAAS,IAAA4wH,OAAA,EAAxBA,EAA0Bz/G,UACpC2G,aAAc9K,OAA+B,QAAzB6jH,EAAC9yH,EAAM8B,SAASG,iBAAS,IAAA6wH,OAAA,EAAxBA,EAA0B/4G,eAAiB,EAChE+uG,UAAmD,OAAhB,QAAxBiK,EAAA/yH,EAAM8B,SAASG,iBAAS,IAAA8wH,OAAA,EAAxBA,EAA0BjK,WACrCxoE,UAAmD,OAAhB,QAAxB0yE,EAAAhzH,EAAM8B,SAASG,iBAAS,IAAA+wH,OAAA,EAAxBA,EAA0B1yE,YAGvC36C,QAAQe,IAAI,WAAoC,QAA1BusH,EAAEjzH,EAAM8B,SAASG,iBAAS,IAAAgxH,OAAA,EAAxBA,EAA0BnK,WASlD,OACEnoH,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAcoqB,EAAY/iB,QAC1B9M,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,MAIRr6D,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjjB,QAC1BtK,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACVvT,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GACd0D,EAAM4C,SAAStG,EAAE3D,OACjBmqH,EAAWxmH,EAAE3D,MACf,EACAwU,IAAK,EACLC,IAAK,GACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAcoqB,EAAYiD,QAC1B9yB,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAOsqD,EAAUpvC,EAAVovC,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,8NAUnCE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYziB,IAC1B9K,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,MACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GACd0D,EAAM4C,SAAStG,EAAE3D,OACjBqqH,EAAO1mH,EAAE3D,MACX,EACA+a,KAAK,UACLugB,uBAA+BvjC,IAAZic,EAAwB,EAAIA,EAC/Cxb,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,MAIRr6D,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,YAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYxiB,IAC1B/K,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAOsqD,EAAUv8B,EAAVu8B,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,MACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAKA,EACL8mB,uBAA+BvjC,IAAZic,EAAwB,EAAIA,EAC/Cxb,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAMVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,yBAEzCF,cAAA,OAAKgB,UAAU,6BAA4Bd,SACzCF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYvmB,MAC1BhH,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC+R,IAAU,CACTR,KAAK,eACL8D,aAAcoqB,EAAYn2B,OAC1BsG,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAusB,GAAA,IAAG5uB,EAAK4uB,EAAL5uB,MAAOsqD,EAAU17B,EAAV07B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,MAIRr6D,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,6BAA4Bd,SACzCF,cAAC+R,IAAU,CACTR,KAAK,iBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzjB,eAC1B9J,OAAQ,SAAA48B,GAAA,IAAGj/B,EAAKi/B,EAALj/B,MAAiBi/B,EAAVqrB,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY1O,QAC1B7e,OAAQ,SAAAu+B,GAAA,IAAG5gC,EAAK4gC,EAAL5gC,MAAiB4gC,EAAV0pB,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjB2Q,EAAW7kB,EAAEkU,QAKf,EACAA,QAAS0Q,IAEX/wB,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYnjB,SAC1BpK,OAAQ,SAAA6+B,GAAA,IAAGlhC,EAAKkhC,EAALlhC,MAAiBkhC,EAAVopB,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAA8wB,GAAA,IAAGnzB,EAAKmzB,EAALnzB,MAAiBmzB,EAAVm3B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAyvB,GAAA,IAAG9xB,EAAK8xB,EAAL9xB,MAAiB8xB,EAAVw4B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GAET0D,EAAM4C,SAAStG,EAAEkU,SAEjBuyG,EAAYzmH,EAAEkU,QAChB,EACAA,QAASxN,IAEX7S,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAu3E,GAAA,IAAG55E,EAAK45E,EAAL55E,MAAiB45E,EAAVtvB,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMQ,UAArBT,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,2BAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYsgB,UAC1B7tC,OAAQ,SAAA03E,GAAA,IAAG/5E,EAAK+5E,EAAL/5E,MAAiB+5E,EAAVzvB,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,WAQtB,C,OCngBe,SAAS4yH,GAAkBrzH,GACxC,IAAMglB,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YACRc,EAAgDC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAxD2yG,EAAgBzyG,EAAA,GAAE0yG,EAAmB1yG,EAAA,GAC5CgJ,EAAwCjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAlDrL,EAAYsL,EAAA,GAAE4pG,EAAe5pG,EAAA,GACpCG,EAAgCrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA7CoE,EAAQnE,EAAA,GAAEoE,EAAWpE,EAAA,GAE5BvU,qBAAU,WAC0B,IAADumH,EAAR,QAArBtzH,EAAMq8E,aACRsuC,EAAoB,CAClB7hH,KAA8D,QAA1DwqH,EAAEtzH,EAAMuzH,mBAAmB3nH,WAAW5L,EAAMwzH,sBAAc,IAAAF,OAAA,EAAxDA,EAA0DvxH,OAGtE,GAAG,IACHgL,qBAAU,WAAO,IAAD2+G,EACd,IAA2B,QAAvBA,EAAA1rH,EAAMkxB,YAAYvvB,aAAK,IAAA+pH,OAAA,EAAvBA,EAAyBljH,SAAU,EAAG,CACxC,IAAIo4E,EAAa,GACjB5gF,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACg0B,EAAYxjB,GACvCwjB,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBjyG,QACA9Y,GAA9B+qH,EAAY/pH,SAASC,QAES,MAA9B8pH,EAAY/pH,SAASE,MACS,OAA9B6pH,EAAY/pH,SAASE,MAErB4+E,EAAMv3E,KAAK,CACTP,KAAM+iH,EAAY/pH,SAASC,QAInC,GACF,IACA+oH,EAAgB,GAADtpH,OAAKo/E,GACtB,CACF,GAAG,IAsCH,IAAM94D,EACJvnB,cAAA,OAAAE,SACEE,eAAA,UACEqB,KAAK,SACLmU,QAAS,YAzCf,WACE,QAAwBrV,GAApB4pH,EAAJ,CAQA,GAA0B,QAAtB1qH,EAAMq8E,YAAuB,CAC/B,IAAMo3C,EAAqB,CACzB1xH,MAAO2oH,EAAiB5hH,KACxB4qH,MAAO,GACPC,YAAa,eAEXtmF,EAAcrtC,EAAMuzH,mBAAmB3nH,WAC3CyhC,EAAYhkC,KAAKoqH,GACjBzzH,EAAM4zH,uBAAsB,SAACn2F,GAAc,OAAA3qB,wBAAA,GACtC2qB,GAAS,IACZ7xB,WAAU3C,YAAMokC,IAAY,GAEhC,MAAO,GAA0B,SAAtBrtC,EAAMq8E,YAAwB,CACvC,IAAMo3C,EAAqB,CACzB1xH,MAAO2oH,EAAiB5hH,KACxB4qH,MAAO,GACPC,YAAa,eAEXtmF,EAAcrtC,EAAMuzH,mBAAmB3nH,WAC3CyhC,EAAYrtC,EAAMwzH,eAAiBC,EACnCzzH,EAAM4zH,uBAAsB,SAACn2F,GAAc,OAAA3qB,wBAAA,GACtC2qB,GAAS,IACZ7xB,WAAU3C,YAAMokC,IAAY,GAEhC,CAEArtC,EAAM0oH,cAAa,EA3BnB,MANEzxG,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WA+BZ,CAMQ6xH,EACF,EACAtyH,UAAU,oDAAmDd,SAAA,CAE7DF,cAACqoH,IAAa,IAAG,aAOvB,OACEroH,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLF,OAAO,WACPI,QAASznB,EAAM6oH,UACfznH,MAAO,CACL8U,MAAO,sBACPoK,OAAQ,SACR1I,aAAc,QAEhBgQ,OAAQ,kBAAM5nB,EAAM0oH,cAAa,EAAM,EACvChhG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACX75B,OAAQA,EAAOrnB,SAAA,CAEfE,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAKgZ,EAAYhZ,EAAE,EACnC0I,MAAO,eACP+B,KAAM5W,cAACuzH,KAAW,IAClBrc,KAAM,EACNgV,QAAShnG,QAIfllB,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC5CE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eACvCF,cAAA,KAAGgB,UAAU,wCAAuCd,SAAC,SAEvDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAO2hH,EACP/nG,QAAS/M,EACT5C,SA3CS,SAACtG,GACxBi+G,EAAoBj+G,EAAE3D,MACxB,EA0CgB+xD,YAAY,OACZriD,QAAM,EACNuiD,SAAS,OACT1nD,YAAY,gCAMtB/S,cAAC8pB,KAAK,CAAC1U,IAAKqP,QAIpB,CC7Ie,SAAS+uG,GAAkB/zH,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAChDvpF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BmI,MAAOmJ,SAAiC,QAAzBmyC,EAAC5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0Bt7C,QAAU,EACpD8I,SAAiD,OAAf,QAAxByyC,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0BzyC,UACpC01G,UAAmD,OAAhB,QAAxBS,EAAAvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0BT,YAEvC/wG,EAAkCC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GAA/C8wG,EAAS5wG,EAAA,GAAEywG,EAAYzwG,EAAA,GAC9BgJ,EAA0CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAlDuyG,EAAatyG,EAAA,GAAE8yG,EAAgB9yG,EAAA,GACtCG,EAAsCrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAnDg7D,EAAW/6D,EAAA,GAAEg7D,EAAch7D,EAAA,GAWlC,OACE3gB,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY11B,MAC1BmI,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAC3CE,eAAA,UACEwV,QAAS,WACPuyG,GAAa,GACbpsC,EAAe,MACjB,EACAt6E,KAAK,SACLT,UAAU,yDAAwDd,SAAA,CAElEF,cAACwoH,KAAM,IAAG,0BAKjB/oH,EAAMuzH,mBAAmB3nH,WAAWpD,QAAU,EAC7CjI,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,qCAAoCd,SAChDT,EAAMuzH,mBAAmB3nH,WAAWxC,KACnC,SAACg0B,EAAY5jB,GAAW,OACtB7Y,eAAA,OAAKY,UAAU,KAAId,SAAA,CACjBE,eAAA,OACEY,UAAU,uDACV4U,QAAS,SAACzJ,GACRsnH,EAAiBx6G,GACjBkvG,GAAa,GACbpsC,EAAe,OACjB,EAAE77E,SAAA,CAEFF,cAAA,QAAMgB,UAAU,wBAAuBd,SAAA,IAAAe,OACrCgY,EAAM,EAAC,OAETjZ,cAAA,QAAMgB,UAAU,wBAAuBd,SACpC28B,EAAMr7B,WAGXxB,cAAA,OAAKgB,UAAU,KAAId,SACjBF,cAAA,QAAMgB,UAAU,kCAAiCd,SAC/CF,cAAC0zH,IAAG,CACF1yH,UAAU,+EACV4U,QAAS,SAACzJ,IAvLpC,SAAyB8M,GACvB,IAAI6zB,EAAcrtC,EAAMuzH,mBAAmB3nH,WAC3CyhC,EAAYyL,OAAOt/B,EAAK,GACxBxZ,EAAM4zH,uBAAsB,SAACn2F,GAAc,OAAA3qB,wBAAA,GACtC2qB,GAAS,IACZ7xB,WAAU3C,YAAMokC,IAAY,GAEhC,CAiL4Bk/E,CAAgB/yG,EAClB,UAtBiBA,EA0BnB,UAOhB,MAGHqvG,GACCtoH,cAAC8yH,GAAiB,CAChBG,cAAeA,EACfriG,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnB0iG,sBAAuB5zH,EAAM4zH,sBAC7BL,mBAAoBvzH,EAAMuzH,mBAC1B1K,UAAWA,EACXH,aAAcA,EACdrsC,YAAaA,MAKvB,CCvOe,SAAS63C,GAAmBl0H,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EACjDnwF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,aAAqC,QAAxBqyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BryC,cAAe,GACtD0J,SAAiC,QAAxB4oC,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B5oC,UAAW,GAC9CzU,OAAQiL,SAAiC,QAAzB81G,EAACvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0B/gH,SAAW,EACtDtG,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnCkR,SAAiD,OAAf,QAAxBq2G,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0Br2G,UACpC2G,aAActG,SAAiC,QAAzBy8G,EAAClwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0Bn2G,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBqH,EAAAnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0BrH,YAGvC,OACEnoH,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYzsB,YAC1Bd,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAcoqB,EAAY/iB,QAC1B9M,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,mBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYx3B,OAC1BiK,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,WAQpB,C,kCC1Oe,SAAS0zH,GAA4Bn0H,GAClD,IAAMo0H,EAAc,CAClB,CACEthF,UACEvyC,cAAAC,WAAA,CAAAC,SAC0B,IAAvBT,EAAM8mD,cACLvmD,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,UACP+B,KAAM5W,cAAC8zH,KAAS,IAChB5c,KAAM,EACNgV,QAASzsH,EAAMysH,aAMzB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,YACP+B,KAAM5W,cAAC+zH,KAAM,IACb7c,KAAM,EACNgV,QAASzsH,EAAMysH,WAKrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,YACP+B,KAAM5W,cAACg0H,KAAY,IACnB9c,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACi0H,IAAe,IACtB/c,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAACk0H,KAAU,IACjBhd,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACm0H,KAAiB,IACxBjd,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAACo0H,KAAiB,IACxBld,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAACq0H,KAAY,IACnBnd,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAAAC,WAAA,CAAAC,SAC0B,IAAvBT,EAAM8mD,cACLvmD,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,QACP+B,KAAM5W,cAACs0H,IAAO,IACdpd,KAAM,EACNgV,QAASzsH,EAAMysH,aAMzB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAACu0H,IAAqB,IAC5Brd,KAAM,GACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,aACP+B,KAAM5W,cAACo4G,KAAY,IACnBlB,KAAM,GACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,QACP+B,KAAM5W,cAACw0H,KAAU,IACjBtd,KAAM,GACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAAAC,WAAA,CAAAC,SAEEF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACy0H,KAAa,IACpBvd,KAAM,GACNgV,QAASzsH,EAAMysH,aAMvB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAAC00H,IAAiB,IACxBxd,KAAM,GACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAAC20H,KAAU,IACjBzd,KAAM,GACNgV,QAASzsH,EAAMysH,YAMjB0I,EAAsB,CAC1B,CACEriF,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,YACP+B,KAAM5W,cAAC+zH,KAAM,IACb7c,KAAM,EACNgV,QAASzsH,EAAMysH,WAKrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,YACP+B,KAAM5W,cAACg0H,KAAY,IACnB9c,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACi0H,IAAe,IACtB/c,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAACk0H,KAAU,IACjBhd,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACm0H,KAAiB,IACxBjd,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAACo0H,KAAiB,IACxBld,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,WACP+B,KAAM5W,cAACq0H,KAAY,IACnBnd,KAAM,EACNgV,QAASzsH,EAAMysH,WAKrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,aACP+B,KAAM5W,cAACo4G,KAAY,IACnBlB,KAAM,EACNgV,QAASzsH,EAAMysH,YAKvB,OACE9rH,eAAAH,WAAA,CAAAC,SAAA,CACsB,YAAnBT,EAAMo1H,UACL70H,cAAA,OACEgB,UAAU,yBASV4U,QAAS,WACPxQ,QAAQe,IAAI0tH,EAAa,cAC3B,EAAE3zH,SAED2zH,EAAYhrH,KAAI,SAACjF,EAAMqV,GAAS,IAAD67G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9B,GACM,OAAJvxH,QAAI,IAAJA,GAAe,QAAXkxH,EAAJlxH,EAAM2uC,iBAAS,IAAAuiF,GAAO,QAAPC,EAAfD,EAAiBr1H,aAAK,IAAAs1H,GAAtBA,EAAwBlgH,OACpB,OAAJjR,QAAI,IAAJA,GAAe,QAAXoxH,EAAJpxH,EAAM2uC,iBAAS,IAAAyiF,GAAO,QAAPC,EAAfD,EAAiBv1H,aAAK,IAAAw1H,GAAU,QAAVC,EAAtBD,EAAwB/0H,gBAAQ,IAAAg1H,GAAO,QAAPC,EAAhCD,EAAkCz1H,aAAK,IAAA01H,GAAvCA,EAAyCtgH,MAEzC,OACE7U,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,IAIlB,MAGgB,WAAnBxZ,EAAMo1H,UACL70H,cAAA,OACEgB,UAAU,UACVH,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfga,OAAQ,YACRvuD,SAED00H,EAAoB/rH,KAAI,SAACjF,EAAMqV,GAAS,IAADm8G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtC,GACM,OAAJ7xH,QAAI,IAAJA,GAAe,QAAXwxH,EAAJxxH,EAAM2uC,iBAAS,IAAA6iF,GAAO,QAAPC,EAAfD,EAAiB31H,aAAK,IAAA41H,GAAtBA,EAAwBxgH,OACpB,OAAJjR,QAAI,IAAJA,GAAe,QAAX0xH,EAAJ1xH,EAAM2uC,iBAAS,IAAA+iF,GAAO,QAAPC,EAAfD,EAAiB71H,aAAK,IAAA81H,GAAU,QAAVC,EAAtBD,EAAwBr1H,gBAAQ,IAAAs1H,GAAO,QAAPC,EAAhCD,EAAkC/1H,aAAK,IAAAg2H,GAAvCA,EAAyC5gH,MAEzC,OACE7U,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,IAIlB,QAKV,CCjVe,SAASy8G,GAAkBj2H,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EAAAC,EAChDnwF,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/BoR,aAAqC,QAAxBqyC,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BryC,cAAe,GACtD0J,SAAiC,QAAxB4oC,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B5oC,UAAW,GAC9CzU,OAAQiL,SAAiC,QAAzB81G,EAACvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0B/gH,SAAW,EACtDtG,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnCkR,SAAiD,OAAf,QAAxBq2G,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0Br2G,UACpC2G,aAActG,SAAiC,QAAzBy8G,EAAClwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0Bn2G,eAAiB,EAClE+uG,UAAmD,OAAhB,QAAxBqH,EAAAnwH,EAAM8B,SAASG,iBAAS,IAAAkuH,OAAA,EAAxBA,EAA0BrH,YAWvC,OACEnoH,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,oBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,cACL8D,aAAcoqB,EAAYzsB,YAC1BpD,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZojH,YAAU,EACVhjH,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,4BAAAC,OAA8Bm5D,YAAW,CAChD,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL8D,aAAcoqB,EAAY/iB,QAC1B9M,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZojH,YAAU,EACVhjH,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,4BAAAC,OAA8Bm5D,YAAW,CAChD,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,mBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYx3B,OAC1BiK,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,SAKY,UAArB56D,EAAMqqH,YACL1pH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYjmB,aAC1BtH,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7C+a,KAAK,UACLvG,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,cAK5DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAElD,WAQpB,C,OC9Oe,SAAS01H,GAAgBn2H,GACtC,IAUQiX,EAAgBkH,cAAhBlH,YACF+N,EAAQ4D,iBAAY,MAC1B7Q,EAAgCC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAA7C0N,EAAQxN,EAAA,GAAEyN,EAAWzN,EAAA,GAC5BgJ,EAAkCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA1C6xB,EAAS5xB,EAAA,GAAEk1G,EAAYl1G,EAAA,GAC9BG,EAAkCrJ,mBAAc,CAAErW,MAAO,KAAK2f,EAAAzK,YAAAwK,EAAA,GAAvDguD,EAAS/tD,EAAA,GAAEguD,EAAYhuD,EAAA,GAC9BgB,EAA8CtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAAtDgvG,EAAe/uG,EAAA,GAAEkvG,EAAkBlvG,EAAA,GAC1C0xC,EAKIphB,YAAQ,CACV/uB,KAAM,WALGuyG,EAAQpiE,EAAjB9jD,QACqBmmH,EAAOriE,EAA5BthD,UAAajR,OACbikB,EAAQsuC,EAARtuC,SACc4wG,EAAatiE,EAA3BhvB,aAIFl4B,qBAAU,WACR2Y,EAAY,KACZ1lB,EAAMw2H,cAAc,SACpBC,GACF,GAAG,IAEH1pH,qBAAU,WACR2pH,GACF,GAAG,CAACjxG,EAAU4pD,IAEd,IAAMonD,EAAY,WAChB,GAAqB,SAAjBz2H,EAAMsa,OAAmB,CAC3B,IAAIT,EAAU7Z,EAAM22H,gBAAgBnmH,OAAOxQ,EAAM6mD,WACjDlhD,QAAQe,IAAI1G,EAAM22H,gBAAiB,WACnCC,EAAkB/8G,EAAQ1J,QAAQrO,SAASE,KAC7C,CACF,EACM40H,EAAoB,SAACr+C,GAEvB7yD,EADe,MAAb6yD,EACU,IACU,OAAbA,EACG,IACU,MAAbA,EACG,IACU,MAAbA,EACG,IACU,MAAbA,EACG,IACU,OAAbA,EACG,IACU,OAAbA,EACG,IACU,OAAbA,EACG,IAEA,IAEhB,EAEM77C,EAAc,SAACm6F,EAAiBC,GACpC,IAAIj9G,EAAU7Z,EAAM22H,gBAAgBnmH,OACf,QAAjBxQ,EAAMsa,OACRT,EAAQxQ,KAAKwtH,GACa,SAAjB72H,EAAMsa,SACfT,EAAQ7Z,EAAM6mD,WAAagwE,GAE7B72H,EAAM+2H,oBAAmB,SAACt5F,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZjtB,OAAMvH,YAAM4Q,IAAQ,IAEtB7Z,EAAMw2H,cAAc,UACtB,EAgQME,EAAkB,WACtB,IAAI78G,EACJ,GAAqB,QAAjB7Z,EAAMsa,OACRT,EAAU7Z,EAAM22H,qBACX,GAAqB,SAAjB32H,EAAMsa,OAAmB,CAAC,IAAD08G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAC9Bh4H,GAAUjD,EAAM22H,gBAAgBnmH,OAAOxQ,EAAM6mD,WACjDhtC,EAAU,CACR9X,MAAc,OAAPkB,SAAO,IAAPA,QAAO,EAAPA,GAASlB,MAChBI,MAAc,OAAPc,SAAO,IAAPA,QAAO,EAAPA,GAASd,MAChBoR,YAAoB,OAAPtQ,SAAO,IAAPA,IAAgB,QAAT+zH,EAAP/zH,GAASkN,eAAO,IAAA6mH,GAAU,QAAVC,EAAhBD,EAAkBl1H,gBAAQ,IAAAm1H,OAAnB,EAAPA,EAA4B1jH,YACzCtR,UAAW,CACTsR,YAAoB,OAAPtQ,SAAO,IAAPA,IAAgB,QAATi0H,EAAPj0H,GAASkN,eAAO,IAAA+mH,GAAU,QAAVC,EAAhBD,EAAkBp1H,gBAAQ,IAAAq1H,GAAW,QAAXC,EAA1BD,EAA4Bl1H,iBAAS,IAAAm1H,OAA9B,EAAPA,EAAuC7jH,YACpD0J,QAAgB,OAAPha,SAAO,IAAPA,IAAgB,QAATo0H,EAAPp0H,GAASkN,eAAO,IAAAknH,GAAU,QAAVC,EAAhBD,EAAkBv1H,gBAAQ,IAAAw1H,GAAW,QAAXC,EAA1BD,EAA4Br1H,iBAAS,IAAAs1H,OAA9B,EAAPA,EAAuCt6G,QAChDzU,OAAQiL,SAAgB,OAAPxQ,SAAO,IAAPA,IAAgB,QAATu0H,EAAPv0H,GAASkN,eAAO,IAAAqnH,GAAU,QAAVC,EAAhBD,EAAkB11H,gBAAQ,IAAA21H,GAAW,QAAXC,EAA1BD,EAA4Bx1H,iBAAS,IAAAy1H,OAA9B,EAAPA,EAAuClvH,QACxDtG,QAAgB,OAAPe,SAAO,IAAPA,IAAgB,QAAT00H,EAAP10H,GAASkN,eAAO,IAAAwnH,GAAU,QAAVC,EAAhBD,EAAkB71H,gBAAQ,IAAA81H,GAAW,QAAXC,EAA1BD,EAA4B31H,iBAAS,IAAA41H,OAA9B,EAAPA,EAAuC31H,QAChDkR,SAAiB,OAAPnQ,SAAO,IAAPA,IAAgB,QAAT60H,EAAP70H,GAASkN,eAAO,IAAA2nH,GAAU,QAAVC,EAAhBD,EAAkBh2H,gBAAQ,IAAAi2H,GAAW,QAAXC,EAA1BD,EAA4B91H,iBAAS,IAAA+1H,OAA9B,EAAPA,EAAuC5kH,SACjDmK,IAAK9J,SAAgB,OAAPxQ,SAAO,IAAPA,IAAgB,QAATg1H,EAAPh1H,GAASkN,eAAO,IAAA8nH,GAAU,QAAVC,EAAhBD,EAAkBn2H,gBAAQ,IAAAo2H,GAAW,QAAXC,EAA1BD,EAA4Bj2H,iBAAS,IAAAk2H,OAA9B,EAAPA,EAAuC56G,KACrDC,IAAK/J,SAAgB,OAAPxQ,SAAO,IAAPA,IAAgB,QAATm1H,EAAPn1H,GAASkN,eAAO,IAAAioH,GAAU,QAAVC,EAAhBD,EAAkBt2H,gBAAQ,IAAAu2H,GAAW,QAAXC,EAA1BD,EAA4Bp2H,iBAAS,IAAAq2H,OAA9B,EAAPA,EAAuC96G,KACrDX,SAAiB,OAAP5Z,SAAO,IAAPA,IAAgB,QAATs1H,EAAPt1H,GAASkN,eAAO,IAAAooH,GAAU,QAAVC,EAAhBD,EAAkBz2H,gBAAQ,IAAA02H,GAAW,QAAXC,EAA1BD,EAA4Bv2H,iBAAS,IAAAw2H,OAA9B,EAAPA,EAAuC57G,SACjDhT,OAAe,OAAP5G,SAAO,IAAPA,IAAgB,QAATy1H,EAAPz1H,GAASkN,eAAO,IAAAuoH,GAAU,QAAVC,EAAhBD,EAAkB52H,gBAAQ,IAAA62H,GAAW,QAAXC,EAA1BD,EAA4B12H,iBAAS,IAAA22H,OAA9B,EAAPA,EAAuC/uH,OAC/C0S,eAAuB,OAAPtZ,SAAO,IAAPA,IAAgB,QAAT41H,EAAP51H,GAASkN,eAAO,IAAA0oH,GAAU,QAAVC,EAAhBD,EAAkB/2H,gBAAQ,IAAAg3H,GAAW,QAAXC,EAA1BD,EAA4B72H,iBAAS,IAAA82H,OAA9B,EAAPA,EAAuCx8G,eACvD+U,QAAgB,OAAPruB,SAAO,IAAPA,IAAgB,QAAT+1H,EAAP/1H,GAASkN,eAAO,IAAA6oH,GAAU,QAAVC,EAAhBD,EAAkBl3H,gBAAQ,IAAAm3H,GAAW,QAAXC,EAA1BD,EAA4Bh3H,iBAAS,IAAAi3H,OAA9B,EAAPA,EAAuC5nG,QAChDvU,QAAStJ,SAAgB,OAAPxQ,SAAO,IAAPA,IAAgB,QAATk2H,EAAPl2H,GAASkN,eAAO,IAAAgpH,GAAU,QAAVC,EAAhBD,EAAkBr3H,gBAAQ,IAAAs3H,GAAW,QAAXC,EAA1BD,EAA4Bn3H,iBAAS,IAAAo3H,OAA9B,EAAPA,EAAuCt8G,SACzDkmB,QAAgB,OAAPhgC,SAAO,IAAPA,IAAgB,QAATq2H,EAAPr2H,GAASkN,eAAO,IAAAmpH,GAAU,QAAVC,EAAhBD,EAAkBx3H,gBAAQ,IAAAy3H,GAAW,QAAXC,EAA1BD,EAA4Bt3H,iBAAS,IAAAu3H,OAA9B,EAAPA,EAAuCv2F,QAChDxpB,MAAc,OAAPxW,SAAO,IAAPA,IAAgB,QAATw2H,EAAPx2H,GAASkN,eAAO,IAAAspH,GAAU,QAAVC,GAAhBD,EAAkB33H,gBAAQ,IAAA43H,IAAW,QAAXC,GAA1BD,GAA4Bz3H,iBAAS,IAAA03H,QAA9B,EAAPA,GAAuClgH,MAC9CwF,aAAqB,OAAPhc,SAAO,IAAPA,IAAgB,QAAT22H,GAAP32H,GAASkN,eAAO,IAAAypH,IAAU,QAAVC,GAAhBD,GAAkB93H,gBAAQ,IAAA+3H,IAAW,QAAXC,GAA1BD,GAA4B53H,iBAAS,IAAA63H,QAA9B,EAAPA,GAAuC76G,aACrDzN,KAAM,CACJ3H,OAAe,OAAP5G,SAAO,IAAPA,IAAgB,QAAT82H,GAAP92H,GAASkN,eAAO,IAAA4pH,IAAU,QAAVC,GAAhBD,GAAkBj4H,gBAAQ,IAAAk4H,IAAW,QAAXC,GAA1BD,GAA4B/3H,iBAAS,IAAAg4H,IAAM,QAANC,GAArCD,GAAuCzoH,YAAI,IAAA0oH,QAApC,EAAPA,GAA6CrwH,QAEvDlI,MAAKsH,aAAc,OAAPhG,SAAO,IAAPA,IAAgB,QAATk3H,GAAPl3H,GAASkN,eAAO,IAAAgqH,IAAU,QAAVC,GAAhBD,GAAkBr4H,gBAAQ,IAAAs4H,IAAW,QAAXC,GAA1BD,GAA4Bn4H,iBAAS,IAAAo4H,QAA9B,EAAPA,GAAuC14H,QAAS,IAC5DsL,QAAgB,OAAPhK,SAAO,IAAPA,IAAgB,QAATq3H,GAAPr3H,GAASkN,eAAO,IAAAmqH,IAAU,QAAVC,GAAhBD,GAAkBx4H,gBAAQ,IAAAy4H,IAAW,QAAXC,GAA1BD,GAA4Bt4H,iBAAS,IAAAu4H,QAA9B,EAAPA,GAAuCvtH,QAChD8M,aAActG,SACL,OAAPxQ,SAAO,IAAPA,IAAgB,QAATw3H,GAAPx3H,GAASkN,eAAO,IAAAsqH,IAAU,QAAVC,GAAhBD,GAAkB34H,gBAAQ,IAAA44H,IAAW,QAAXC,GAA1BD,GAA4Bz4H,iBAAS,IAAA04H,QAA9B,EAAPA,GAAuC5gH,cAEzC+uG,UAAkB,OAAP7lH,SAAO,IAAPA,IAAgB,QAAT23H,GAAP33H,GAASkN,eAAO,IAAAyqH,IAAU,QAAVC,GAAhBD,GAAkB94H,gBAAQ,IAAA+4H,IAAW,QAAXC,GAA1BD,GAA4B54H,iBAAS,IAAA64H,QAA9B,EAAPA,GAAuChS,UAClDxoE,UAAkB,OAAPr9C,SAAO,IAAPA,IAAgB,QAAT83H,GAAP93H,GAASkN,eAAO,IAAA4qH,IAAU,QAAVC,GAAhBD,GAAkBj5H,gBAAQ,IAAAk5H,IAAW,QAAXC,GAA1BD,GAA4B/4H,iBAAS,IAAAg5H,QAA9B,EAAPA,GAAuC36E,WAGxD,CACiB,MAAb76B,EACF2wG,EACE71H,cAAC2zH,GAAkB,CACjB/jH,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVwwG,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAAC01H,GAAiB,CAChB9lH,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVwwG,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAACiyH,GAAe,CACdriH,QAASkmH,EACT1wG,SAAUA,EACVjkB,OAAQ40H,EACRx0H,SAAU+X,EACVwwG,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAAC0vH,GAAiB,CAChB9/G,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVwwG,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAACowH,GAAe,CACdxgH,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVw1D,UAAWA,EACXC,aAAcA,EACd+6C,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAAC8wH,GAAoB,CACnBlhH,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVw1D,UAAWA,EACXC,aAAcA,EACdmiD,mBAAoBA,EACpBpH,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,EACT2wG,EACE71H,cAACsxH,GAAiB,CAChB1hH,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVw1D,UAAWA,EACXC,aAAcA,EACd+6C,WAAYrqH,EAAMqqH,cAGA,MAAb5kG,GACT2wG,EACE71H,cAACooB,GAAmB,CAClBxY,QAASkmH,EACT30H,OAAQ40H,EACRx0H,SAAU+X,EACVuwG,mBAAoBpqH,EAAMoqH,mBAC1BR,gBAAiB5pH,EAAM4pH,gBACvB7jG,SAAU/lB,EAAM+lB,SAChBskG,WAAYrqH,EAAMqqH,aAI1B,EASA,OACE9pH,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLF,OAAO,SACPI,QAASznB,EAAM6oH,UACfznH,MAAO,CACL8U,MAAO,sBACPoK,OAAQ,SACR1I,aAAc,QAEhBgQ,OAAQ,WACN5nB,EAAMw2H,cAAc,WACpBx2H,EAAM0oH,cAAa,EACrB,EACAhhG,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EAAMlhD,SAAA,CAEjBF,cAAC8pB,KAAK,CAACjpB,MAAO,CAAEqlD,WAAY,YAAc9wC,IAAKqP,IAC/CrkB,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC4zH,GAA2B,CAC1B1H,QAAShnG,EACTinG,aAAchnG,EACd0vG,SAAU,aAGd70H,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC5CE,eAAA,QAEEukC,SAAUqxF,GAjaC,SAACpyH,GACtB,GAA+B,IAA3BkrE,EAAU1tE,MAAM6G,QACD,MAAbid,GAAiC,MAAbA,GAAiC,MAAbA,EAD9C,CAgBA,GAAiB,MAAbA,EAAkB,CAAC,IAADy1G,EAAAC,EACdn7F,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClB0J,QAAS9Y,EAAK8Y,QACdzU,QAAmB,QAAX0yH,EAAA/2H,EAAKqE,cAAM,IAAA0yH,OAAA,EAAXA,EAAa7vH,aAAc,IACnCnJ,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC2G,cAA+B,QAAjBohH,EAAAh3H,EAAK4V,oBAAY,IAAAohH,OAAA,EAAjBA,EAAmB9vH,aAAc,IAC/Cy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGtC3kH,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B,IAAMua,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClB0J,QAAS9Y,EAAK8Y,QACdzU,OAAQrE,EAAKqE,OAAO6C,WACpBnJ,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC2G,aAAc5V,EAAK4V,aAAa1O,WAChCy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGtC3kH,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAAC,IAAD21G,EAAAC,EAAAC,EACrBt7F,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9B+gC,QAAS9+B,EAAK8+B,QACd1vB,YAAapP,EAAKoP,YAClBwJ,QAAqB,QAAdq+G,EAAEj3H,EAAK4Y,eAAO,IAAAq+G,OAAA,EAAZA,EAAc/vH,WACvB4R,QAAS9Y,EAAK8Y,QACdxD,MAAOtV,EAAKsV,MAAQ,IAAM,IAC1B8D,IAAa,QAAV89G,EAAEl3H,EAAKoZ,WAAG,IAAA89G,OAAA,EAARA,EAAUhwH,WACfmS,IAAa,QAAV89G,EAAEn3H,EAAKqZ,WAAG,IAAA89G,OAAA,EAARA,EAAUjwH,WACfwR,SAAU1Y,EAAK0Y,SAAW,IAAM,IAChChT,OAAQ1F,EAAKo3H,aACbh/G,eAAgBpY,EAAKoY,eAAiB,IAAM,IAC5C+U,QAASntB,EAAKmtB,QAAU,IAAM,IAC9Ble,SAAUjP,EAAKiP,SAAW,IAAM,IAChC2G,aAAc5V,EAAK4V,aAAa1O,WAChCy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCxoE,UAAWn8C,EAAKm8C,UAAY,IAAM,MAGtCn8C,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B,IAAMua,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClB0J,QAAS9Y,EAAK8Y,QACdwzG,YAAatsH,EAAKssH,YAClBvuH,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC2G,aAAc5V,EAAK4V,aAAa1O,WAChCy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCt3G,KAAM,CACJE,IAAK,IACL8pH,QAAS,IACTC,SAAU,IACV5xH,OAAQ1F,EAAK0F,QAEf4H,KAAM,CACJC,IAAK,IACLC,UAAW,IACX9H,OAAQ,OAId1F,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B,IAAMua,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClBrR,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC6L,aAAc9a,EAAK8a,aAAe,IAAM,IACxClF,aAAc5V,EAAK4V,aAAa1O,WAChC1J,MAAO0tE,EAAU1tE,MACjBmnH,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGtC3kH,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B,IAAMua,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClBrR,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC6L,aAAc9a,EAAK8a,aAAe,IAAM,IACxChS,QAAwB,OAAfqkH,QAAe,IAAfA,OAAe,EAAfA,EAAiBz9G,KAC1BkG,aAAc5V,EAAK4V,aAAa1O,WAChC1J,MAAO0tE,EAAU1tE,MACjBmnH,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGtC3kH,KAAM,CACJ4E,MAAO,CACLpH,MAAO,OAKf+6B,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B,IAAMua,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZoR,YAAapP,EAAKoP,YAClBtR,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9BP,MAAO0tE,EAAU1tE,MACjBoY,aAAc5V,EAAK4V,aAAa1O,WAChCy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,KAEpC11G,SAAUjP,EAAKiP,SAAW,IAAM,KAElCjP,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,MAAO,GAAiB,MAAbva,EAAkB,CAC3B9f,QAAQe,IAAIvC,GAEZ,IAAM67B,EAAc,CAClB2lB,KAAM3+B,eACNjlB,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZgO,QAAS,CACPrO,SAAU,CACRE,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZoR,YAAapP,EAAKu3H,aAClBz5H,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChCoK,IAAKrZ,EAAKwlH,QAAQt+G,WAClB0O,aAAc5V,EAAK4V,aAAa1O,WAChCy9G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClC7rG,QAAS9Y,EAAKw3H,oBAGlBx3H,KAAM,CACJ4E,MAAO,QAIb2zB,EAAYsD,EACd,CAEAhgC,EAAM0oH,cAAa,EA3OnB,MAPIzxG,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,WAgPd,IAsKY2R,UAAW,SAACjH,GAvCF,IAACyzE,EAAYy7C,IAwCJrF,EAvCX,WADGp2C,EAwCKzzE,GAvChB8B,MAAsC,IAAnB2xE,EAAM07C,WACjC17C,EAAMrqE,iBACN8lH,EAASrF,GAsCD,EAAE91H,SAAA,CAEDqyC,EACDnyC,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCE,eAAA,UACEY,UAAU,4CACV4U,QAAS,WACPnW,EAAMw2H,cAAc,WACpBx2H,EAAM0oH,cAAa,EACrB,EACA1mH,KAAK,SAAQvB,SAAA,CAEbF,cAAC0zH,IAAG,CAAC1yH,UAAU,kBAAkB,YAInCZ,eAAA,UAEEY,UAAU,oEACVS,KAAK,SAAQvB,SAAA,CAEbF,cAACqoH,IAAa,IAAG,gBAzBhB,YAkCnB,CCrgBe,SAASkT,GAAkB97H,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAwS,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtDxkH,EAA8BC,oBAAkB,GAAKC,EAAApB,YAAAkB,EAAA,GAA9CgI,EAAO9H,EAAA,GAAEsJ,EAAUtJ,EAAA,GAC1BgJ,EAAkDjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAAnEu7G,EAAiBt7G,EAAA,GAAEu7G,EAAoBv7G,EAAA,GACxC8e,EAAc,CAClBwW,mBACmD,OAAzB,QAAxBoP,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0BpP,oBAC5BuF,YACmD,KAAzB,QAAxB8J,EAAA7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,GAAQ,QAAR0jE,EAAxB1jE,EAA0B5K,cAAM,IAAAsuE,OAAR,EAAxBA,EAAkCxtE,aAKhC2gF,EAAoB,CACxB,CAAEnoF,YAAa,cAAexrC,MAAO,cACrC,CAAEwrC,YAAa,kBAAmBxrC,MAAO,kBACzC,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CAAEwrC,YAAa,yBAA0BxrC,MAAO,wBAChD,CACEwrC,YAAa,0BACbxrC,MAAO,yBAET,CACEwrC,YAAa,0BACbxrC,MAAO,yBAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,gCACbxrC,MAAO,+BAET,CACEwrC,YAAa,2BACbxrC,MAAO,0BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CACEwrC,YAAa,0BACbxrC,MAAO,0BAET,CAAEwrC,YAAa,sBAAuBxrC,MAAO,sBAC7C,CAAEwrC,YAAa,qBAAsBxrC,MAAO,qBAC5C,CAAEwrC,YAAa,sBAAuBxrC,MAAO,sBAC7C,CAAEwrC,YAAa,sBAAuBxrC,MAAO,uBAGzC4zH,EAAqB,CACzB,CAAE7qH,KAAM,yDAAa/I,MAAO,SAC5B,CAAE+I,KAAM,mDAAY/I,MAAO,gBAGvB6zH,EAAuB,CAC3B76H,MAAO,GACP86H,cAAe,QACf9zH,MAAO,IAETsY,EAAoDrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAA5Dy7G,EAAkBx7G,EAAA,GAAEy7G,EAAqBz7G,EAAA,GAChDgB,EAAsDtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAA9D06G,EAAmBz6G,EAAA,GAAE06G,EAAsB16G,EAAA,GAElDC,EAAoDxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA9D06G,EAAkBz6G,EAAA,GAAE06G,EAAqB16G,EAAA,GAChDwG,EAAsCjR,qBAAkBkR,EAAArS,YAAAoS,EAAA,GAAjDozD,EAAWnzD,EAAA,GAAEozD,EAAcpzD,EAAA,GAClCC,EAAwCnR,qBAAmBoR,EAAAvS,YAAAsS,EAAA,GAApDi0G,GAAYh0G,EAAA,GAAEi0G,GAAej0G,EAAA,GACpC2I,GAAwC/Z,mBAAc,IAAGga,GAAAnb,YAAAkb,GAAA,GAAlDnc,GAAYoc,GAAA,GAAE84F,GAAe94F,GAAA,GAC9B8S,GAAalc,kBAAO,GA8B1B,SAAS00G,KACHt9F,EAAY+b,YACd0gF,GAAqB,EAEzB,CACA,SAASc,KAAwB,IAADC,EAAAC,EAC9B,IAAS,OAALz9H,QAAK,IAALA,GAAwB,QAAnBw9H,EAALx9H,EAAO09H,yBAAiB,IAAAF,GAAc,QAAdC,EAAxBD,EAA0BG,oBAAY,IAAAF,OAAjC,EAALA,EAAwCj1H,SAAU,EAAG,CAAC,IAADo1H,EACnDh9C,EAAa,GACbi9C,EAAc,GAClB79H,EAAM22H,gBAAgBnmH,OAAOpH,KAAI,SAACg0B,EAAY5jB,GAC5ConE,EAAMv3E,KAAK,CACTmrC,YAAapX,EAAMr7B,OAEvB,IACK,OAAL/B,QAAK,IAALA,GAAwB,QAAnB49H,EAAL59H,EAAO09H,yBAAiB,IAAAE,GAAxBA,EAA0BD,aAAav0H,KAAI,SAACg0B,EAAY5jB,GACtDqkH,EAAOx0H,KAAK,CACVgrC,WAAUjX,EAAMiX,UAAWjX,EAAMiX,SACjCE,YAAanX,EAAMmX,aAEvB,IACA,IAAIupF,EAAOl9C,EAAMx3E,KAAI,SAACN,EAAWf,GAAS,OACxCuG,OAAOoxF,OAAO,CAAC,EAAG52F,EAAM+0H,EAAO91H,GAAG,IAGpC/H,EAAM+9H,sBAAqB,SAACtgG,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZkgG,aAAY10H,YAAM60H,IAAK,GAE3B,KAAO,CACL,IAAIl9C,EAAa,GACjB5gF,EAAM22H,gBAAgBnmH,OAAOpH,KAAI,SAACg0B,EAAY5jB,GAC5ConE,EAAMv3E,KAAK,CACTmrC,YAAapX,EAAMr7B,MACnBwyC,YAAa,IAEjB,IACAv0C,EAAM+9H,sBAAqB,SAACtgG,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZkgG,aAAa,GAADn8H,OAAMo/E,IAAM,GAE5B,CACF,CAtEA7zE,qBAAU,WAAO,IAAD2+G,EACd,IAA2B,QAAvBA,EAAA1rH,EAAMkxB,YAAYvvB,aAAK,IAAA+pH,OAAA,EAAvBA,EAAyBljH,SAAU,EAAG,CACxC,IAAIo4E,EAAa,GACjB5gF,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACg0B,EAAYxjB,GACvCwjB,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBjyG,QACA9Y,GAA9B+qH,EAAY/pH,SAASC,OAErB6+E,EAAMv3E,KAAK,CACTP,KAAM+iH,EAAY/pH,SAASC,MAC3BgH,MAAO8iH,EAAY/pH,SAASC,OAIpC,GACF,IACA+oH,GAAgB,GAADtpH,OAAKo/E,GACtB,CACF,GAAG,IAEH7zE,qBAAU,WACiB,SAAAixH,IAMxB,OANwBA,EAAAr7H,YAAAC,IAAAC,MAAzB,SAAAC,IAAA,OAAAF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACmB,OAAjBke,GAAW,GAAMpe,EAAAE,KAAA,EACXkoF,KAAoB,KAAD,SAAApoF,EAAAE,KAAA,EACnBk6H,KAAuB,KAAD,SAAAp6H,EAAAE,KAAA,EACtBi6H,KAAyB,KAAD,EAC9B/7G,GAAW,GAAO,wBAAApe,EAAAqB,OAAA,GAAA1B,EAAA,MACnB4B,MAAA,KAAAC,UAAA,EAPc,WACUq5H,EAAAt5H,MAAC,KAADC,UAAA,CAOzBs5H,EACF,GAAG,IA2CHlxH,qBAAU,WACJ/M,EAAM8B,SAASG,UAAUg5C,QAK/B,WACE,GAAIj7C,EAAM8B,SAAU,CAClB,IAAIo8H,EAAUl+H,EAAM8B,SAASG,UAAUg5C,OAAOe,OAAO5yC,KACnD,SAACN,GAAS,OAAKA,EAAKoK,EAAE,IAGxB,GAAI4pH,EAAoB,CACtB,IAAIqB,EAAUrB,EAAmBrkH,QAAO,SAAC3P,GAAS,OAChDo1H,EAAQl1H,SAASF,EAAKyB,WAAWc,WAAW,IAE1CrL,EAAM8B,SAASG,UAAUg5C,OAAOe,QAClCh8C,EAAMo+H,wBAAuB,SAAC3gG,GAAc,OAAA3qB,wBAAA,GACvC2qB,GAAS,IACZue,OAAM/yC,YAAMk1H,IAAQ,GAG1B,CACF,CACF,CAtBIE,EAEJ,GAAG,CAACvB,IAqBJ/vH,qBAAU,YAuFT,WACmCuxH,GAAA55H,MAAC,KAADC,UAAA,CAvFlC45H,EACF,GAAG,CAACv+H,EAAMw+H,oBACVzxH,qBAAU,YA4ET,WACmC0xH,GAAA/5H,MAAC,KAADC,UAAA,CA5ElC+5H,EACF,GAAG,CAACtB,KACJrwH,qBAAU,WACR4xH,IACF,GAAG,CAAC3+H,EAAM4+H,sBAEV,IAAMD,GAAyB,eAAAj8H,EAAAC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAA+5H,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAv+C,EAAAsO,EAAAjrF,EAAAm7H,EAAAr3H,EAAA6xB,EAAAwD,EAAAiiG,EAAAC,EAAAC,EAAA5wF,EAAA6wF,EAAA,OAAA58H,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACX,GAAjB47H,EAAc,GAEsB,WAAtCj/H,EAAM07C,cAAcA,eACG,QADuBmjF,EAC9C7+H,EAAMw+H,yBAAiB,IAAAK,GAAW,QAAXC,EAAvBD,EAAyBljF,iBAAS,IAAAmjF,IAAlCA,EAAoCvvC,iBAAgB,CAAAxqF,EAAA1B,KAAA,SAKnD,OAHGu9E,EAAe,GACbsO,EAAWz7E,SACQ,QADAyrH,EACvBl/H,EAAMw+H,yBAAiB,IAAAU,GAAW,QAAXC,EAAvBD,EAAyBvjF,iBAAS,IAAAwjF,OAAX,EAAvBA,EAAoC5vC,kBACrCxqF,EAAA1B,KAAA,EACsB0mG,aAA+B7a,GAAU,KAAD,EAE/D,IAFMjrF,EAAQc,EAAAT,KACV86H,EAAoBn7H,EAAS0sF,kBACxB5oF,EAAI,EAAGA,GAAqB,OAAjBq3H,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB52H,QAAQT,IACvC6xB,EAAUwlG,EAAkBr3H,GAClC64E,EAAMv3E,KAAK,CACTN,MAAO6wB,EAAQprB,IACf+lC,YAAa3a,EAAQ73B,QAGnBq7B,EAAQs/F,EACd17F,MAAMy+F,UAAUp2H,KAAK3E,MAAM04B,EAAOwjD,GAClC5gF,EAAM0/H,uBAAuB,GAADl+H,OAAK47B,IAAQr4B,EAAA1B,KAAA,kBAEhB,QAAzB07H,EAAA/+H,EAAM4+H,2BAAmB,IAAAG,GAAQ,QAARC,EAAzBD,EAA2B/iF,cAAM,IAAAgjF,OAAR,EAAzBA,EAAmCx2H,QAAS,GACN,aAAtCxI,EAAM07C,cAAcA,eAEK,QAAzB2jF,EAAAr/H,EAAM4+H,2BAAmB,IAAAS,GAAQ,QAARC,EAAzBD,EAA2BrjF,cAAM,IAAAsjF,GAAjCA,EAAmCl2H,KAAI,SAACN,EAAW8Q,GACzC,OAAJ9Q,QAAI,IAAJA,KAAM62H,aACRV,EAAO51H,KAAK,CACVs2H,YAAa77H,KAAKwM,MAAU,OAAJxH,QAAI,IAAJA,OAAI,EAAJA,EAAM62H,aAC9B7yG,aAAchkB,EAAKgkB,cAGzB,IACI8zD,EAAa,GACjBq+C,EAAO71H,KAAI,SAACN,EAAWf,GACrBe,EAAK62H,YAAYh+H,MAAMyH,KAAI,SAACg0B,EAAYj1B,GACtCi1B,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBz9G,GAC9By9G,EAAY/pH,SAASC,OACvB6+E,EAAMv3E,KAAK,CACTN,MAAOD,EAAKgkB,aAAe,IAAM++F,EAAY/pH,SAASC,MACtDwyC,YACEzrC,EAAKgkB,aAAe,IAAM++F,EAAY/pH,SAASC,OAGvD,GACF,GACF,IACMq7B,EAAQs/F,EACd17F,MAAMy+F,UAAUp2H,KAAK3E,MAAM04B,EAAOwjD,GAClC5gF,EAAM0/H,uBAAuB,GAADl+H,OAAK47B,MAE3BA,EAAQs/F,EACd18H,EAAM0/H,uBAAuB,GAADl+H,OAAK47B,IACjCwiG,MACD,yBAAA76H,EAAAP,OAAA,GAAAM,EAAA,KACF,kBAxD8B,OAAApC,EAAAgC,MAAA,KAAAC,UAAA,KAyD/B,SAASi7H,KACP,IAAIh/C,EAAa,GACjB5gF,EAAM22H,gBAAgBnmH,OAAOpH,KAAI,SAACg0B,EAAY5jB,GAC5ConE,EAAMv3E,KAAK,CACTmrC,YAAapX,EAAMr7B,MACnBwyC,YAAa,IAEjB,IACAv0C,EAAM+9H,sBAAqB,SAACtgG,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZkgG,aAAa,GAADn8H,OAAMo/E,IAAM,GAE5B,CACoC,SAAA69C,KAOnC,OAPmCA,GAAA97H,YAAAC,IAAAC,MAApC,SAAAsC,IAAA,OAAAvC,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACMyhC,GAAW4C,QACb5C,GAAW4C,SAAU,GAErB1nC,EAAM6/H,qBAAqB,IAC3B7/H,EAAMo+H,uBAAuB,KAC9B,wBAAAh5H,EAAAZ,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,CACmC,SAAA25H,KAoBnC,OApBmCA,GAAA37H,YAAAC,IAAAC,MAApC,SAAA2C,IAAA,IAAAs6H,EAAAC,EAAAt0C,EAAAu0C,EAAAC,EAAAplG,EAAAqlG,EAAA9iG,EAAA,OAAAx6B,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OACsB,MAAhBg5E,IACEoP,EAAuB,GACrBu0C,EAAsC,QAA1BF,EAAG9/H,EAAMw+H,yBAAiB,IAAAsB,GAAW,QAAXC,EAAvBD,EAAyBnkF,iBAAS,IAAAokF,OAAX,EAAvBA,EAAoCx1H,WACnD01H,EAAwB,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAcp2H,MAAM,KAChCixB,EAA+B,OAAnBmiG,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBvkH,QAAO,SAAC3P,GAAS,OAC7C,OAATm3H,QAAS,IAATA,OAAS,EAATA,EAAWj3H,SAAa,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAMgkB,aAAa,KAEnCozG,EAAsB,OAATrlG,QAAS,IAATA,OAAS,EAATA,EAAWpiB,QAAO,SAAC3P,GACpC,OAAyB,IAAlBA,EAAK6P,QACd,KAEE8yE,EAAcpiF,KAAI3E,MAAlB+mF,EAAaxiF,YAASi3H,IAEtBz0C,EAAcpiF,OAEhB0zH,EAAsB,GAADv7H,OAAKiqF,IACpBruD,EAAQs/F,EACd18H,EAAM0/H,uBAAsBz2H,YAAKm0B,KAClC,wBAAA33B,EAAAjB,OAAA,GAAAgB,EAAA,MACFd,MAAA,KAAAC,UAAA,UACc4mF,KAAiB,OAAAD,GAAA5mF,MAAC,KAADC,UAAA,UAAA2mF,KAiB/B,OAjB+BA,GAAA3oF,YAAAC,IAAAC,MAAhC,SAAAkD,IAAA,IAAA0lF,EAAA00C,EAAA,OAAAv9H,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OASG,OAPErD,EAAM07C,cAAcA,eACwB,kBAAtC17C,EAAM07C,cAAcA,eAE3B17C,EAAMogI,kBAAiB,SAAC3iG,GAAc,OAAA3qB,wBAAA,GACjC2qB,GAAS,IACZie,cAAe,YAAU,IAE5B11C,EAAA3C,KAAA,EACyBqmF,KAAyB,KAAD,EAAjC,OAAb+B,EAAazlF,EAAA1B,KAAA0B,EAAA3C,KAAA,EACesmF,KAAqB,KAAD,EAAhDw2C,EAAmBn6H,EAAA1B,KACvBy4H,EAAqB9zH,YAAKwiF,IAC1BwxC,EAAsBh0H,YAAKwiF,IAC3B9lF,QAAQe,IAAIy5H,EAAqB,uBACjChD,EAAqBl0H,YAAKk3H,IAC1BngI,EAAM0/H,uBAAuB,GAADl+H,OAAKk7H,IAAoB,yBAAA12H,EAAAxB,OAAA,GAAAuB,EAAA,MACtDrB,MAAA,KAAAC,UAAA,CAED,SAAS4nH,GAAgB/yG,GACvB,IAAI+xG,EAAavrH,EAAM4L,WAAW4vC,gBAClC+vE,EAAWzyE,OAAOt/B,EAAK,GACvBxZ,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBAAevyC,YAAMsiH,IAAW,GAEpC,CACiC,SAAA8U,KA2BhC,OA3BgCA,GAAA19H,YAAAC,IAAAC,MAAjC,SAAAsD,EAAkCm6H,GAAgB,IAAAC,EAAAt8H,EAAAm7H,EAAAr3H,EAAA6xB,EAAAwD,EAAAojG,EAAA,OAAA59H,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,WAC5Ci9H,EAAS,CAADj6H,EAAAhD,KAAA,SACiB,OAAvBk9H,EAAqB,GAAEl6H,EAAAhD,KAAA,EACJ0mG,aAA+Bu2B,GAAU,KAAD,EAE/D,IAFMr8H,EAAQoC,EAAA/B,KACV86H,EAAoBn7H,EAAS0sF,kBACxB5oF,EAAI,EAAGA,EAAIq3H,EAAkB52H,OAAQT,IACtC6xB,EAAUwlG,EAAkBr3H,GAClCw4H,EAAYl3H,KAAK,CACfN,MAAO6wB,EAAQprB,IACf+lC,YAAa3a,EAAQ73B,QAGnBq7B,EAAQs/F,EACd17F,MAAMy+F,UAAUp2H,KAAK3E,MAAM04B,EAAOmjG,GAClCvgI,EAAM0/H,uBAAsBz2H,YAAKm0B,IAC7BojG,EAAkB,GACtBxgI,EAAM22H,gBAAgBnmH,OAAOpH,KAAI,SAACg0B,EAAY5jB,GAC5CgnH,EAAWn3H,KAAK,CACdmrC,YAAapX,EAAMr7B,MACnBwyC,YAAa,IAEjB,IACAv0C,EAAM+9H,sBAAqB,SAACtgG,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZkgG,aAAa,GAADn8H,OAAMg/H,IAAW,IAC3B,yBAAAn6H,EAAA7B,OAAA,GAAA2B,EAAA,MAEPzB,MAAA,KAAAC,UAAA,CAoGD,OACEpE,cAAAC,WAAA,CAAAC,SACEF,cAACkxC,KAAI,CACHlwC,UAAU,mBACVmwC,IAAI,aACJtwC,MAAO,CAAEC,WAAY,SACrBswC,SAAU5xB,EAAQtf,UAEhBsf,GACApf,eAAA,OACEY,UAAU,qEACV4U,QAAS,kBACPxQ,QAAQe,IACN1G,EAAM4/H,oBACN,KACA5/H,EAAM09H,kBACP,EACFj9H,SAAA,CAEDE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,kBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,oFAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SAtdpB,CAAC,CAAEqR,KAAM,YAAc,CAAEA,KAAM,WAudxB1I,KAAI,SAACzH,GACd,OACEhB,eAAA,OAAsBY,UAAU,cAAad,SAAA,CAC3CF,cAACmyE,KAAW,CACVvuC,QAASxiC,EAAMmQ,KACfA,KAAK,OACL/I,MAAOpH,EACPqR,SAAU,SAACtG,GAOT,GANA1M,EAAMogI,kBAAiB,SAAC3iG,GAAc,OAAA3qB,wBAAA,GACjC2qB,GAAS,IACZie,cAAehvC,EAAE3D,MAAM+I,MAAI,IAE7BurH,IAAiBD,IACjB9gD,EAAe,KAEb5vE,EAAE3D,MAAM+I,OAAS9R,EAAM07C,cAAcA,cACrC,CACqB,aAAjBhvC,EAAE3D,MAAM+I,KACVirH,EAAqB9zH,YAAK+zH,IACA,WAAjBtwH,EAAE3D,MAAM+I,OACjBnM,QAAQe,IAAI,SAAUgG,EAAE3D,MAAM+I,MAC9BirH,EAAsB,KAGxB,IAAM3/F,EAAQs/F,EACd18H,EAAM0/H,uBAAsBz2H,YAAKm0B,GACnC,CACAwiG,IACF,EACAh/G,QACEjf,EAAMmQ,OAAS9R,EAAM07C,cAAcA,gBAGvCn7C,cAAA,SAAOgB,UAAU,oCAAmCd,SACjDkB,EAAMmQ,SAhCDnQ,EAAMmQ,KAoCpB,SAGmC,aAAtC9R,EAAM07C,cAAcA,eACnB/6C,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,kCAIlCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,0FAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAACg1E,KAAW,CACVn0E,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCpE,MAAO/I,EAAM4+H,oBAAoB5iF,OACjCr5B,QAASm6G,EACT9pH,SAAU,SAACtG,GACT1M,EAAMo+H,wBAAuB,SAAC3gG,GAAc,OAAA3qB,wBAAA,GACvC2qB,GAAS,IACZue,OAAQtvC,EAAE3D,OAAK,GAEnB,EACA+xD,YAAY,eACZxnD,YAAY,oBACZmF,QAAM,EACNsiD,WAAS,EACTx5D,UAAU,2DACVk/H,oBAAoB,oBAKW,aAAtCzgI,EAAM07C,cAAcA,eACnB/6C,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,oBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,oFAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,OAAAE,SACEF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY+b,WAC1BtpC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAiBvL,EAAV61D,WAAU,OAC1Bn6D,cAAA,OACEgB,UAAW,sCAAsCd,SAEjDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjB67G,GAAsBD,EACxB,EACA57G,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,aAOlBF,cAAA,OAAKgB,UAAU,WAAUd,SACtB+7H,GA5PjB,WAA+B,IAADkE,EAAAC,EAAAC,EAC5B,OACEjgI,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,uBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gGAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAACg1E,KAAW,CACVn0E,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCpE,MAAY,OAAL/I,QAAK,IAALA,GAAiC,QAA5B0gI,EAAL1gI,EAAO6gI,kCAA0B,IAAAH,OAA5B,EAALA,EAAmC5kF,UAC1Cn5B,QAASm6G,EACT9pH,SAAU,SAACtG,GACT1M,EAAM8gI,+BAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZqe,UAAWpvC,EAAE3D,OAAK,GAEtB,EACA+xD,YAAY,eACZxnD,YAAY,oBACZmF,QAAM,EACNsiD,WAAS,EACTx5D,UAAU,2DACVk/H,oBAAoB,oBAI1B9/H,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,wBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,wEAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAACg1E,KAAW,CACVn0E,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCpE,MAAY,OAAL/I,QAAK,IAALA,GAAiC,QAA5B2gI,EAAL3gI,EAAO6gI,kCAA0B,IAAAF,OAA5B,EAALA,EAAmC9kF,WAC1Cl5B,QAASm6G,EACT9pH,SAAU,SAACtG,GACT1M,EAAM8gI,+BAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZoe,WAAYnvC,EAAE3D,OAAK,GAEvB,EACA+xD,YAAY,eACZxnD,YAAY,oBACZmF,QAAM,EACNsiD,WAAS,EACTx5D,UAAU,2DACVk/H,oBAAoB,oBAI1B9/H,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,0BAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,8EAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAACg1E,KAAW,CACVn0E,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCpE,MAAY,OAAL/I,QAAK,IAALA,GAAiC,QAA5B4gI,EAAL5gI,EAAO6gI,kCAA0B,IAAAD,OAA5B,EAALA,EAAmChlF,aAC1Cj5B,QAASm6G,EACT9pH,SAAU,SAACtG,GACT1M,EAAM8gI,+BAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZme,aAAclvC,EAAE3D,OAAK,GAEzB,EACA+xD,YAAY,eACZxnD,YAAY,oBACZmF,QAAM,EACNsiD,WAAS,EACTx5D,UAAU,2DACVk/H,oBAAoB,sBAMhC,CA0JsCM,QAKW,WAAtC/gI,EAAM07C,cAAcA,eACnB/6C,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,gCAIlCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,0FAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC++C,IAAQ,CACP7mC,QAAM,EACNrX,MAAO,CACL8U,MAAO,OACPw4E,YAAa,SACbvhF,SAAU,OACVyK,aAAc,MACd0I,OAAQ,QAEVvX,MAA8B,QAAzBgzH,EAAE/7H,EAAMw+H,yBAAiB,IAAAzC,OAAA,EAAvBA,EAAyBpgF,UAChCh5B,QAASu6G,EACTlqH,SAAU,SAACtG,GAAuB,IAADs0H,EAC/B1kD,EAAe,KACft8E,EAAM6/H,sBAAqB,SAACpiG,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZke,UAAWjvC,EAAE3D,OAAK,IAEpB/I,EAAMo+H,uBAAuB,IA9ThD,SACgC35H,GAAA47H,GAAA37H,MAAC,KAADC,UAAA,CA8Tbs8H,CAA0B,QAARD,EAACt0H,EAAE3D,aAAK,IAAAi4H,OAAA,EAAPA,EAASzxC,iBAC9B,EACAz0B,YAAY,aACZxnD,YAAY,oBACZ0nD,SAAS,aACTD,WAAS,EACTx5D,UAAU,kEAKqB,WAAtCvB,EAAM07C,cAAcA,eACnB/6C,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,kCAIlCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,0FAIlCF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAACg1E,KAAW,CACVn0E,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCpE,MAAO/I,EAAM4+H,oBAAoB5iF,OACjCr5B,QAASm6G,EACT9pH,SAAU,SAACtG,GACT1M,EAAMo+H,wBAAuB,SAAC3gG,GAAc,OAAA3qB,wBAAA,GACvC2qB,GAAS,IACZue,OAAQtvC,EAAE3D,OAAK,GAEnB,EACA+xD,YAAY,eACZxnD,YAAY,oBACZmF,QAAM,EACNsiD,WAAS,EACTx5D,UAAU,2DACVk/H,oBAAoB,oBAK5BlgI,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,gEAQ1CE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,oBAKxCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYwW,mBAC1B/jC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAiBlL,EAAVw1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,WAMmC,KAA3B,QAAvBu7H,EAAAh8H,EAAM09H,yBAAiB,IAAA1B,GAAc,QAAdC,EAAvBD,EAAyB2B,oBAAY,IAAA1B,OAAd,EAAvBA,EAAuCzzH,SACtC7H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,MAAKd,SAClBF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,4BAM1CF,cAAA,OAAKgB,UAAU,0CAAyCd,SAC9B,QAD8By7H,EACrDl8H,EAAM09H,yBAAiB,IAAAxB,GAAc,QAAdC,EAAvBD,EAAyByB,oBAAY,IAAAxB,OAAd,EAAvBA,EAAuC/yH,KACtC,SAACg0B,EAAY5jB,GAAQ,OACnBjZ,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAC5B28B,EAAMoX,sBAMjBj0C,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBnN,MACE/I,EAAM09H,kBAAkBC,aAAankH,GAClC+6B,YAEL5xB,QAAS3iB,EAAM4/H,oBACf5sH,SAAU,SAACtG,GACT1M,EAAM+9H,sBACJ,SAACtgG,GAAc,OAAA3qB,wBAAA,GACV2qB,GAAS,IACZkgG,aACE39H,EAAM09H,kBAAkBC,aAAav0H,KACnC,SAAC83H,GACC,OAAOA,EAAK1sF,cACVpX,EAAMoX,YACJ,CACEH,SAAU6sF,EAAK7sF,SACfG,YAAa0sF,EAAK1sF,YAClBD,YAAa7nC,EAAE3D,OAEjBm4H,CACN,KACD,GAGT,EACApmE,YAAY,cACZxnD,YAAY,oBACZ0nD,SAAS,cACTviD,QAAM,EACNsiD,WAAS,MAGbp6D,eAAA,OAAKY,UAAU,WAAUd,SAAA,CACvBF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACVqf,QACE5gB,EAAM09H,kBAAkBC,aAAankH,GAClC66B,SAELrhC,SAAU,SAACtG,GACT1M,EAAM+9H,sBACJ,SAACtgG,GAAc,OAAA3qB,wBAAA,GACV2qB,GAAS,IACZkgG,aACE39H,EAAM09H,kBAAkBC,aAAav0H,KACnC,SAAC83H,GACC,OAAOA,EAAK1sF,cACVpX,EAAMoX,YACJ,CACEA,YAAa0sF,EAAK1sF,YAClBD,YAAa2sF,EAAK3sF,YAClBF,SAAU3nC,EAAEkU,SAEdsgH,CACN,KACD,GAGT,EACA9/H,MAAO,CAAEk5F,YAAa,SAExB/5F,cAAA,QAAMgB,UAAU,gBAAed,SAAC,gBAGnC,SAMbE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,iBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,4DAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAAE,SACEE,eAAA,UACEwV,QAAS,WACP,IAAIpV,EAAMf,EAAM4L,WAAW4vC,gBAC3Bz6C,EAAIsI,KAAKuzH,GACT58H,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBAAevyC,YAAMlI,IAAI,GAE7B,EACAiB,KAAK,SACLT,UAAU,0EAAyEd,SAAA,CAEnFF,cAACwoH,KAAM,IAAG,2BAK6B,KAA9B,QAAhBqT,EAAAp8H,EAAM4L,kBAAU,IAAAwwH,GAAiB,QAAjBC,EAAhBD,EAAkB5gF,uBAAe,IAAA6gF,OAAjB,EAAhBA,EAAmC7zH,SAClC7H,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0BAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yBAIjCF,cAAA,SAAAE,SACmB,QADnB67H,EACGt8H,EAAM4L,kBAAU,IAAA0wH,GAAiB,QAAjBC,EAAhBD,EAAkB9gF,uBAAe,IAAA+gF,OAAjB,EAAhBA,EAAmCnzH,KAClC,SAACg0B,EAAY5jB,GAAQ,IAAA2nH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OACnBvhI,cAAAC,WAAA,CAAAC,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SACEF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBnN,MACkB,QADbo4H,EACHnhI,EAAM4L,kBAAU,IAAAu1H,GAAsB,QAAtBC,EAAhBD,EAAkB3lF,gBAAgBhiC,UAAI,IAAA4nH,OAAtB,EAAhBA,EAAwCr/H,MAE1C4gB,QAAS3iB,EAAM4/H,oBACf5sH,SAAU,SAACtG,GACT1M,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBACEx7C,EAAM4L,WAAW4vC,gBAAgBpyC,KAC/B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAO2K,EAAE3D,MACT8zH,cAAeqE,EAAKrE,cACpB9zH,MAAOm4H,EAAKn4H,OAEdm4H,CACN,KACD,GAEP,EACApmE,YAAY,cACZxnD,YAAY,oBACZ0nD,SAAS,cACTviD,QAAM,EACNsiD,WAAS,MAGbx6D,cAAA,MAAAE,SACEF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBnN,MACkB,QADbs4H,EACHrhI,EAAM4L,kBAAU,IAAAy1H,GAAsB,QAAtBC,EAAhBD,EAAkB7lF,gBAAgBhiC,UAAI,IAAA8nH,OAAtB,EAAhBA,EACIzE,cAENl6G,QAASg6G,EACT3pH,SAAU,SAACtG,GACT1M,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBACEx7C,EAAM4L,WAAW4vC,gBAAgBpyC,KAC/B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZ86H,cAAenwH,EAAE3D,MACjBA,MAAOm4H,EAAKn4H,OAEdm4H,CACN,KACD,GAEP,EACApmE,YAAY,OACZxnD,YAAY,oBACZ0nD,SAAS,WAIS,WADL,QAAhBumE,EAAAvhI,EAAM4L,kBAAU,IAAA21H,GAAsB,QAAtBC,EAAhBD,EAAkB/lF,gBAAgBhiC,UAAI,IAAAgoH,OAAtB,EAAhBA,EACG3E,gBACFl8H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,MAAAE,SACEF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBnN,MACkB,QADb04H,EACHzhI,EAAM4L,kBAAU,IAAA61H,GAAsB,QAAtBC,EAAhBD,EAAkBjmF,gBAAgBhiC,UAAI,IAAAkoH,OAAtB,EAAhBA,EACI34H,MAEN4Z,QAAS/M,GACT5C,SAAU,SAACtG,GACT1M,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBACEx7C,EAAM4L,WAAW4vC,gBAAgBpyC,KAC/B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZ86H,cACEqE,EAAKrE,cACP9zH,MAAO2D,EAAE3D,OAEXm4H,CACN,KACD,GAEP,EACApmE,YAAY,OACZxnD,YAAY,oBACZ0nD,SAAS,OACTviD,QAAM,EACNsiD,WAAS,MAGbx6D,cAAA,MAAIgB,UAAU,+BAA8Bd,SAC1CF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,WACPo2G,GAAgB/yG,EAClB,SAMc,iBADL,QAAhBmoH,EAAA3hI,EAAM4L,kBAAU,IAAA+1H,GAAsB,QAAtBC,EAAhBD,EAAkBnmF,gBAAgBhiC,UAAI,IAAAooH,OAAtB,EAAhBA,EACG/E,gBACFl8H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,MAAAE,SACEF,cAACioB,IAAS,CACRpnB,MAAO,CACL8U,MAAO,OACP6rH,UAAW,WAEbh5H,MACkB,QADb84H,EACH7hI,EAAM4L,kBAAU,IAAAi2H,GAAsB,QAAtBC,EAAhBD,EAAkBrmF,gBAAgBhiC,UAAI,IAAAsoH,OAAtB,EAAhBA,EACI/4H,MAENiK,SAAU,SAACtG,GACT1M,EAAMirH,eAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZ+d,gBACEx7C,EAAM4L,WAAW4vC,gBAAgBpyC,KAC/B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZ86H,cACEqE,EAAKrE,cACP9zH,MAAO2D,EAAEuG,OAAOlK,OAElBm4H,CACN,KACD,GAEP,MAGJ3gI,cAAA,MAAIgB,UAAU,+BAA8Bd,SAC1CF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,WACPo2G,GAAgB/yG,EAClB,WAlJDA,IAwJR,eAWzB,CCjkCe,SAASwoH,GAAsBhiI,GAAe,IAADiiI,EAAAC,EACpDC,EAAkB,CACtBpgI,MAAO,GACPkhC,QAAS,GACTp5B,OAAQ,GACRm2C,UAAU,EACVj3C,MAAO,IAYT,OACEpI,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,iBAElCF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,4DAIlCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAAE,SACEE,eAAA,UACEwV,QAAS,WACP,IAAIqO,EAAOxkB,EAAM8hC,YAAYtd,KAC7BA,EAAKnb,KAAK84H,GACVniI,EAAMoiI,gBAAe,SAAC3kG,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAIvb,YAAMub,IAAK,GAEnB,EACAxiB,KAAK,SACLT,UAAU,0EAAyEd,SAAA,CAEnFF,cAACwoH,KAAM,IAAG,2BAKiB,IAAlC/oH,EAAM8hC,YAAYtd,KAAKhc,QACtBjI,cAAA,OAAKgB,UAAU,cAAad,SAC5BE,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,8DAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,kDAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yBAIjCF,cAAA,SAAAE,SACoB,QADpBwhI,EACGjiI,EAAM8hC,mBAAW,IAAAmgG,GAAM,QAANC,EAAjBD,EAAmBz9G,YAAI,IAAA09G,OAAN,EAAjBA,EAAyB94H,KAAI,SAACg0B,EAAY5jB,GAAQ,IAAA6oH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OACjDriI,cAAAC,WAAA,CAAAC,SAEEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SACEF,cAACioB,IAAS,CACRpnB,MAAO,CAAE8U,MAAO,OAAQ6rH,UAAW,WACnCh5H,MAAwB,QAAnBs5H,EAAEriI,EAAM8hC,mBAAW,IAAAugG,GAAW,QAAXC,EAAjBD,EAAmB79G,KAAKhL,UAAI,IAAA8oH,OAAX,EAAjBA,EAA8BvgI,MACrCiR,SAAU,SAACtG,GACT1M,EAAMoiI,gBAAe,SAAC3kG,GAAc,IAAAolG,EAAA,OAAA/vH,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAuB,QAAnBq+G,EAAE7iI,EAAM8hC,mBAAW,IAAA+gG,OAAA,EAAjBA,EAAmBr+G,KAAKpb,KAC5B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAO2K,EAAEuG,OAAOlK,MAChBk6B,QAASi+F,EAAKj+F,QACdp5B,OAAQq3H,EAAKr3H,OACbd,MAAOm4H,EAAKn4H,OAEdm4H,CACN,KACD,GAEL,MAGJ3gI,cAAA,MAAAE,SACEF,cAACioB,IAAS,CACRmpG,QAAQ,yGACRC,eAAgB,CACdjoH,SAAU,MACVpI,UAAW,4BACX4+E,MAAO,SAET/+E,MAAO,CAAE8U,MAAO,OAAQ6rH,UAAW,WACnCh5H,MAAwB,QAAnBw5H,EAAEviI,EAAM8hC,mBAAW,IAAAygG,GAAW,QAAXC,EAAjBD,EAAmB/9G,KAAKhL,UAAI,IAAAgpH,OAAX,EAAjBA,EAA8Bv/F,QACrCjwB,SAAU,SAACtG,GACT1M,EAAMoiI,gBAAe,SAAC3kG,GAAc,IAAAqlG,EAAA,OAAAhwH,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAuB,QAAnBs+G,EAAE9iI,EAAM8hC,mBAAW,IAAAghG,OAAA,EAAjBA,EAAmBt+G,KAAKpb,KAC5B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZkhC,QAASv2B,EAAEuG,OAAOlK,MAClBc,OAAQq3H,EAAKr3H,OACbd,MAAOm4H,EAAKn4H,OAEdm4H,CACN,KACD,GAEL,MAGJ3gI,cAAA,MAAAE,SACEF,cAACioB,IAAS,CACRpnB,MAAO,CAAE8U,MAAO,OAAQ6rH,UAAW,WACnCh5H,MAAwB,QAAnB05H,EAAEziI,EAAM8hC,mBAAW,IAAA2gG,GAAW,QAAXC,EAAjBD,EAAmBj+G,KAAKhL,UAAI,IAAAkpH,OAAX,EAAjBA,EAA8B74H,OACrCmJ,SAAU,SAACtG,GACT1M,EAAMoiI,gBAAe,SAAC3kG,GAAc,IAAAslG,EAAA,OAAAjwH,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAuB,QAAnBu+G,EAAE/iI,EAAM8hC,mBAAW,IAAAihG,OAAA,EAAjBA,EAAmBv+G,KAAKpb,KAC5B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZkhC,QAASi+F,EAAKj+F,QACdp5B,OAAQ6C,EAAEuG,OAAOlK,MACjBA,MAAOm4H,EAAKn4H,OAEdm4H,CACN,KACD,GAEL,MAEE,IACN3gI,cAAA,MAAAE,SACEF,cAACqiB,KAAQ,CACP9Q,KAAK,WACLkB,SAAU,SAACtG,GACT1M,EAAMoiI,gBAAe,SAAC3kG,GAAc,IAAAulG,EAAA,OAAAlwH,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAuB,QAAnBw+G,EAAEhjI,EAAM8hC,mBAAW,IAAAkhG,OAAA,EAAjBA,EAAmBx+G,KAAKpb,KAC5B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACEzX,MAAOm/H,EAAKn/H,MACZkhC,QAASi+F,EAAKj+F,QACdp5B,OAAQq3H,EAAKr3H,OACbd,MAAOm4H,EAAKn4H,MACZi3C,SAAUtzC,EAAEkU,SAEdsgH,CACN,KACD,GAEL,EACAtgH,QAA0B,QAAnB+hH,EAAE3iI,EAAM8hC,mBAAW,IAAA6gG,GAAW,QAAXC,EAAjBD,EAAmBn+G,KAAKhL,UAAI,IAAAopH,OAAX,EAAjBA,EAA8B5iF,aAG3Cz/C,cAAA,MAAAE,SACEF,cAAC8oH,IAAO,CACN9nH,UAAU,0BACV4U,QAAS,YA/K7B,SAA2BqD,GAAW,IAADypH,EAC/BC,EAAgC,QAApBD,EAAGjjI,EAAM8hC,mBAAW,IAAAmhG,OAAA,EAAjBA,EAAmBz+G,KACtC0+G,EAAapqF,OAAOt/B,EAAK,GACzBxZ,EAAMoiI,gBAAe,SAAC3kG,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZjZ,KAAIvb,YAAMi6H,IAAa,GAE3B,CAyKsBC,CAAkB3pH,EACpB,QAzGGA,IA8GR,aAQjB,CC9Je,SAAS07B,GAAel1C,GAAe,IAADI,EAAAC,EAAAulD,EACnD7tC,EAAkCC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GAA/C8wG,EAAS5wG,EAAA,GAAEywG,EAAYzwG,EAAA,GAC9BgJ,EAAkCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA1C4lC,EAAS3lC,EAAA,GAAEkiH,EAAYliH,EAAA,GAC9BG,EAA4BrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAzC/G,EAAMgH,EAAA,GAAE/G,EAAS+G,EAAA,GACxB3b,QAAQe,IAAI,iBAAkB1G,EAAM8B,UAEpC,IAAMk+B,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/B8gC,QAASjjC,EAAM8B,SAASmhC,SAAW,GACnC6lF,UAAyC,OAAhB,QAAd1oH,EAAAJ,EAAM8B,gBAAQ,IAAA1B,OAAA,EAAdA,EAAgB0oH,WAC3BzpE,UAAyC,OAAhB,QAAdh/C,EAAAL,EAAM8B,gBAAQ,IAAAzB,OAAA,EAAdA,EAAgBg/C,WAC3B7uC,QAAgC,QAAxBo1C,EAAA5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0Bp1C,SAAU,IAE9CzD,qBAAU,WAER,IADA,IAAI9J,EAAUjD,EAAM22H,gBAAgBnmH,OAC3BzI,EAAI,EAAGA,EAAI9E,EAAQuF,OAAQT,SACXjH,GAAnBmC,EAAQ8E,GAAG49C,OACb1iD,EAAQ8E,GAAS,KAAIif,gBAIzBhnB,EAAM+2H,oBAAmB,SAACt5F,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZjtB,OAAMvH,YAAMhG,IAAQ,GAExB,GAAG,IAEH,IAKAqf,EAAsCtK,mBAAc,GAAEuK,EAAA1L,YAAAyL,EAAA,GAA/C+gH,EAAW9gH,EAAA,GAAE+gH,EAAc/gH,EAAA,GAiGlC,OACE5hB,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAOsqD,EAAUh4D,EAAVg4D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,gBAEzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYiD,QAC1BxwB,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,iJAOjCE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,mBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYqf,UAC1B5sC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACgjI,KAAO,CACNvyG,MA/OA,CACZ,CAAEjvB,MAAO,SAAUoV,KAAM,cACzB,CAAEpV,MAAO,qBAAsBoV,KAAM,gBACrC,CAAEpV,MAAO,cAAeoV,KAAM,cA6OlBksH,YAAa5vH,SAAS4vH,GACtBG,YAAa,SAAC92H,GACZ42H,EAAe52H,EAAEkN,MACnB,UAKRrZ,cAAA,OAAKgB,UAAU,GAAEd,SACfE,eAAA,OAAKY,UAAU,GAAEd,SAAA,CACE,IAAhB4iI,GACC1iI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAC3CE,eAAA,UACEwV,QAAS,WACPnW,EAAMw2H,cAAc,SACpB9N,GAAa,GACbnuG,EAAU,MACZ,EACAvY,KAAK,SACLT,UAAU,yDAAwDd,SAAA,CAElEF,cAACwoH,KAAM,IAAG,mBAG2B,IAAxC/oH,EAAM22H,gBAAgBnmH,OAAOhI,QAC5BjI,cAAA,OAAAE,SACEF,cAAAC,WAAA,CAAAC,SACEF,cAAC2tH,KAAe,CAACC,UArMnB,SAACzoH,GACjB,IAAI0oH,EAAcpuH,EAAM22H,gBAAgBnmH,OACxC,GAAK9K,EAAO2oH,YAAZ,CAGA,IAAM1sH,EAXQ,SAAC2sH,EAAWC,EAAiBC,GAC3C,IAAM9oH,EAASs7B,MAAMkL,KAAKoiF,GAC1BG,EAAkB/oH,EAAOozC,OAAOy1E,EAAY,GAArCG,EAAuC73G,YAAA43G,EAAA,GAAhC,GAEd,OADA/oH,EAAOozC,OAAO01E,EAAU,EAAGE,GACpBhpH,CACT,CAMgBipH,CACZP,EACA1oH,EAAOkpH,OAAOh1G,MACdlU,EAAO2oH,YAAYz0G,OAErB5Z,EAAM+2H,oBAAmB,SAACt5F,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZjtB,OAAMvH,YAAMtH,IAAM,GARpB,CAUF,EAuL0DlB,SACpCF,cAACsuH,KAAS,CAACC,YAAY,YAAWruH,SAC/B,SAACsuH,EAAeC,GAAa,OAC5BruH,eAAA,OACEgV,IAAKo5G,EAASG,SACd9tH,MAAO,CACL0iC,QAAS,EACT5tB,MAAO,OACP7I,aAAc,QACd5M,SAAA,CAEDT,EAAM22H,gBAAgBnmH,OAAOpH,KAC5B,SAACg0B,EAAY5jB,GAAQ,OACnBjZ,cAAA,OAAKgB,UAAU,kCAAiCd,SAC9CF,cAAC4uH,KAAS,CACRC,YAAahyF,EAAMuoB,KAEnB/rC,MAAOJ,EAAI/Y,SAEV,SAACsuH,EAAeC,GAAa,OAC5BruH,eAAA,MAAAmS,oCAAA,CACE6C,IAAKo5G,EAASG,UACVH,EAASM,gBACTN,EAASO,iBAAe,IAC5BluH,OACE4tH,EAASO,WA9MZC,EA+MGT,EAASM,eAAejuH,MA/MR0R,YAAA,CACxD28G,WAAY,OACZj6G,OAAQ,aACRm6E,UAAW,QACR6/B,IA6MmCjuH,UAAU,uDAAsDd,SAAA,CAEhEF,cAAA,OACEgB,UAAU,wCACV4U,QAAS,WACPuyG,GAAa,GACb0a,EAAa5pH,GACbe,EAAU,OACZ,EAAE9Z,SAEFE,eAAA,OAAKY,UAAU,GAAEd,SAAA,CACfF,cAAA,QAAMgB,UAAU,4BAA2Bd,SACxC28B,EAAMr7B,QAETxB,cAAA,QAAAE,SACkB,IAAf28B,EAAMj7B,MAAW,MAAAX,OACR47B,EAAMj7B,OACZ,KAEN5B,cAAA,OAAKgB,UAAU,wBAAuBd,UArT7C83E,EAuTWn7C,EAAMjtB,QAAQrO,SAASE,KAtTpD,MAAbu2E,EAEA53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC+zH,KAAM,CAAC/yH,UAAU,qCAClBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,iBAGF,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg0H,KAAY,CAAChzH,UAAU,qCACxBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,iBAGF,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACi0H,IAAe,CAACjzH,UAAU,qCAC3BhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,cAGF,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACk0H,KAAU,CAAClzH,UAAU,qCACtBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,gBAGF,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACm0H,KAAiB,CAACnzH,UAAU,qCAC7BhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,cAGF,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACo0H,KAAiB,CAACpzH,UAAU,qCAC7BhB,cAAA,QAAMgB,UAAU,cAAad,SAAC,mBAGZ,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACq0H,KAAY,CAACrzH,UAAU,qCACxBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,gBAGF,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACo4G,KAAY,CAACp3G,UAAU,qCACxBhB,cAAA,QAAMgB,UAAU,IAAGd,SAAC,uBAJnB,UA0Q+BF,cAAA,OAAKgB,UAAU,OAAMd,SACnBF,cAAA,KACEgB,UAAU,yBACV4U,QAAS,YAxOrD,SAAsBqD,GACpB,IAAI40G,EAAcpuH,EAAM22H,gBAAgBnmH,OACxC49G,EAAYt1E,OAAOt/B,EAAK,GACxBxZ,EAAM+2H,oBAAmB,SAACt5F,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZjtB,OAAMvH,YAAMmlH,IAAY,GAE5B,CAkO8CqV,CAAajqH,EACf,EAAE/Y,SAEFF,cAAC8oH,IAAO,YAnUpD,IAAqC9wC,EAiFEi3C,CAqPK,GAhDHpyF,EAAMuoB,OAmDT,IAGTopE,EAASz7G,cACN,aASL,IAAhB+vH,GACC9iI,cAAAC,WAAA,CAAAC,SACEF,cAACu7H,GAAiB,CAChBnF,gBAAiB32H,EAAM22H,gBACvBI,mBAAoB/2H,EAAM+2H,mBAC1BgH,qBAAsB/9H,EAAM+9H,qBAC5BL,kBAAmB19H,EAAM09H,kBACzBvtH,QAASnQ,EAAMmQ,QACfrO,SAAU9B,EAAM8B,SAChBs+H,iBAAkBpgI,EAAMogI,iBACxB1kF,cAAe17C,EAAM07C,cACrBmkF,qBAAsB7/H,EAAM6/H,qBAC5BrB,kBAAmBx+H,EAAMw+H,kBACzBJ,uBAAwBp+H,EAAMo+H,uBAC9BQ,oBAAqB5+H,EAAM4+H,oBAC3B3T,cAAejrH,EAAMirH,cACrBr/G,WAAY5L,EAAM4L,WAClBslB,YAAalxB,EAAMkxB,YACnB4vG,8BACE9gI,EAAM8gI,8BAERD,2BAA4B7gI,EAAM6gI,2BAClCnB,uBAAwB1/H,EAAM0/H,uBAC9BE,oBAAqB5/H,EAAM4/H,wBAIhB,IAAhByD,GACC9iI,cAAAC,WAAA,CAAAC,SACEF,cAACyhI,GAAqB,CACpB9wG,YAAalxB,EAAMkxB,YACnBkxG,eAAgBpiI,EAAMoiI,eACtBtgG,YAAa9hC,EAAM8hC,wBAO9B+mF,GACCtoH,cAAC41H,GAAe,CACdzN,aAAcA,EACd8N,cAAex2H,EAAMw2H,cACrBnM,WAAY,QACZxB,UAAWA,EACX8N,gBAAiB32H,EAAM22H,gBACvBI,mBAAoB/2H,EAAM+2H,mBAC1BlwE,UAAWA,EACXvsC,OAAQA,EACR8vG,mBAAoBpqH,EAAMoqH,mBAC1BR,gBAAiB5pH,EAAM4pH,gBACvB7jG,SAAU/lB,EAAM+lB,aAK1B,C,4BC/ce,SAAS29G,GAAgB1jI,GAAe,IAAD4lD,EAAAC,EAAA0jE,EAAAC,EAAAC,EAAAyG,EACpDn4G,EAAwCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAhD4rH,EAAY1rH,EAAA,GAAE2rH,EAAe3rH,EAAA,GACpCgJ,EAA0CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAlD4iH,EAAa3iH,EAAA,GAAE4iH,EAAgB5iH,EAAA,GAChCvL,EAAMiT,mBACN5D,EAAQ4D,iBAAY,MACpBoX,EAAc,CAClBj+B,MAAO/B,EAAM8B,SAASC,OAAS,GAC/BI,MAAOnC,EAAM8B,SAASK,OAAS,GAC/B4hI,cAAe/jI,EAAM8B,SAAS8jB,UAAY,oBAC1C+jG,QAASl2G,SAAiC,QAAzBmyC,EAAC5lD,EAAM8B,SAASG,iBAAS,IAAA2jD,OAAA,EAAxBA,EAA0B+jE,UAAY,GACxDzzG,MAAOzC,SAAiC,QAAzBoyC,EAAC7lD,EAAM8B,SAASG,iBAAS,IAAA4jD,OAAA,EAAxBA,EAA0B3vC,QAAU,IACpDoK,OAAQ7M,SAAiC,QAAzB81G,EAACvpH,EAAM8B,SAASG,iBAAS,IAAAsnH,OAAA,EAAxBA,EAA0BjpG,SAAW,IACtDpe,QAA+C,OAAd,QAAxBsnH,EAAAxpH,EAAM8B,SAASG,iBAAS,IAAAunH,OAAA,EAAxBA,EAA0BtnH,SACnCkR,SAAiD,OAAf,QAAxBq2G,EAAAzpH,EAAM8B,SAASG,iBAAS,IAAAwnH,OAAA,EAAxBA,EAA0Br2G,UACpC01G,UAAmD,OAAhB,QAAxBoH,EAAAlwH,EAAM8B,SAASG,iBAAS,IAAAiuH,OAAA,EAAxBA,EAA0BpH,YAEjC1iE,EAAY,eAAA1jD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO4J,GAAM,IAAA2Z,EAAAO,EAAA++B,EAAA1hD,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACN,OAAtBqJ,EAAEuG,OAAOoT,MAAM,GAAW,CAAAljB,EAAAE,KAAA,SAMuC,OAL7DgjB,EAAQ3Z,EAAEuG,OAAOoT,MAAM,GACvBO,EAAW,IAAIE,SACjB6+B,EAAO,eAAiB3+B,eAC5BJ,EAASG,OAAO,QAASV,GACzBO,EAASG,OAAO,SAAU4+B,GAC1B/+B,EAASG,OAAO,UAAW/mB,EAAM+lB,SAAS4F,aAAavgB,YAAYjI,EAAAE,KAAA,EAC9CsD,aAAwBigB,GAAU,KAAD,EAAlD3iB,EAAQd,EAAAmB,KACZtE,EAAMoqH,mBAAmBnmH,EAASE,KAAK8iB,SACvCtR,EAAI+xB,QAAQ3+B,MAAQ,KAAK,yBAAA5F,EAAAqB,OAAA,GAAA1B,EAAA,KAE5B,gBAZiB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBlB,OALAoI,qBAAU,WACR62H,EAAgB5jG,EAAY9pB,OAC5B4tH,EAAiB9jG,EAAY1f,OAC/B,GAAG,IAGD3f,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZrkB,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDE,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,UACvCF,cAAA,QAAMa,MAAO,CAAEkM,MAAO,OAAQ7M,SAAC,MAC/BF,cAAA,QAAMgB,UAAU,0BAAyBd,SAAC,UAE5CF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAYj+B,MAC1BwQ,MAAO,CAAEC,SAAU,sBACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,SAKVj6D,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCE,eAAA,OAAKY,UAAU,YAAWd,SAAA,CACxBF,cAAC+R,IAAU,CACTR,KAAK,gBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY+jG,cAC1BtxH,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,aAE1B,IAGNr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,uCAGjCE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY2pF,QAC1Bl3G,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7CwU,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,IAGNr6D,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,eAI1DE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,cAEzCE,eAAA,OAAKY,UAAU,WAAUd,SAAA,CACvBF,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC5CF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY9pB,MAC1BzD,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,QACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7CiK,SAAU,SAACtG,GACTk3H,EAAgBl3H,EAAE3D,OACd2D,EAAE3D,OAAS,KACb66H,EAAgB,IAEpB,EACArmH,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,MAIRr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,sBAE/BF,cAAA,OAAKgB,UAAU,yCAAwCd,SACrDF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,eAEzCE,eAAA,OAAKY,UAAU,WAAUd,SAAA,CACvBF,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC5CF,cAAC+R,IAAU,CACTR,KAAK,SACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY1f,OAC1B7N,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAOsqD,EAAUpvC,EAAVovC,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAQ,SACRp7B,MAAOqH,EAAMrH,MACb64C,cAAe,SAACl1C,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EAC7CiK,SAAU,SAACtG,GACTo3H,EAAiBp3H,EAAE3D,OACf2D,EAAE3D,OAAS,KACb+6H,EAAiB,IAErB,EACAvmH,IAAK,EACLC,IAAK,IACLjc,UAAS,2BAAAC,OAA6Bm5D,YAAW,CAC/C,YAAaD,EAAWE,YAE1B,MAIRr6D,cAAA,KAAGgB,UAAU,gBAAed,SAAC,yBAIjCE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,UACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY99B,QAC1BuQ,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAiButB,EAAV+8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAKdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,iBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY5sB,SAC1BX,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAiB+tB,EAAVu8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,kBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,YACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY8oF,UAC1Br2G,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAiBquB,EAAVi8B,WAAU,OAC1Bn6D,cAAA,OAAKgB,UAAW,sCAAsCd,SACpDE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACqiB,KAAQ,CACPrhB,UAAU,qCACV4iC,QAAS/zB,EAAM0B,KACfkB,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,QACnB,EACAA,QAASxQ,EAAMrH,QAEjBxI,cAAA,QAAMgB,UAAU,oCAAmCd,SAAC,YAIlD,SAMdE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,sBAEzCF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcoqB,EAAY79B,MAC1BsQ,OAAQ,SAAAusB,GAAQA,EAAL5uB,MAAH,IAAUsqD,EAAU17B,EAAV07B,WAAU,OAC1Bn6D,cAAC+U,KAAK6S,QAAO,CACXnmB,KAAK,OACL2T,IAAKA,EACL3C,SAAU,SAACtG,GACT05C,EAAa15C,EACf,EACA0b,OAAO,qBACP7mB,UAAS,wCAAAC,OAA0Cm5D,YACjD,CACE,YAAaD,EAAWE,YAG5B,SAKT56D,EAAM4pH,iBACLjpH,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAA,OAAKgB,UAAU,aACfhB,cAAA,OACEgB,UAAU,YACVH,MAAO,CAAE6L,QAAS,OAAQtD,SAAU,YAAalJ,SAEjDE,eAAA,OAAKS,MAAO,CAAEuI,SAAU,YAAalJ,SAAA,CACnCF,cAAA,OAAAE,SACEF,cAACylD,KAAK,CACJC,IACEjmD,EAAM+lB,SAAST,kBAAiB,GAAA9jB,OACzBxB,EAAM+lB,SAAST,mBAAiB9jB,OAAGxB,EAAM4pH,iBAAe,WAAApoH,OAChDxB,EAAM+lB,SAASR,SAAO/jB,OAAGxB,EAAM4pH,iBAEhD1jE,IAAI,QACJhwC,MAAOytH,EACPrjH,OAAQujH,EACRG,SAAO,MAGXzjI,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAC4lD,KAAQ,CACP/kD,MAAO,CAAE+L,SAAU,QACnB5L,UAAU,yBACV4U,QAAS,WACPnW,EAAMoqH,mBAAmB,KAC3B,mBAUpB,CCvUe,SAAS6Z,GAAsBjkI,GAC5C,IAAM08H,EAAoB,CACxB,CAAEnoF,YAAa,cAAexrC,MAAO,cACrC,CAAEwrC,YAAa,kBAAmBxrC,MAAO,kBACzC,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CAAEwrC,YAAa,yBAA0BxrC,MAAO,wBAChD,CACEwrC,YAAa,0BACbxrC,MAAO,yBAET,CACEwrC,YAAa,0BACbxrC,MAAO,yBAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,gCACbxrC,MAAO,+BAET,CACEwrC,YAAa,2BACbxrC,MAAO,0BAET,CACEwrC,YAAa,8BACbxrC,MAAO,6BAET,CACEwrC,YAAa,4BACbxrC,MAAO,2BAET,CAAEwrC,YAAa,wBAAyBxrC,MAAO,uBAC/C,CACEwrC,YAAa,0BACbxrC,MAAO,0BAET,CAAEwrC,YAAa,sBAAuBxrC,MAAO,sBAC7C,CAAEwrC,YAAa,qBAAsBxrC,MAAO,qBAC5C,CAAEwrC,YAAa,sBAAuBxrC,MAAO,sBAC7C,CAAEwrC,YAAa,sBAAuBxrC,MAAO,uBAEzCupH,EAAkB,CACtB,CAAExgH,KAAM,UAAW+B,KAAM,KACzB,CAAE/B,KAAM,OAAQ+B,KAAM,MAGlBmR,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YACRc,EAAgCC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAA7C0N,EAAQxN,EAAA,GAAEyN,EAAWzN,EAAA,GAC5BgJ,EAAkCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA1C6xB,EAAS5xB,EAAA,GAAEk1G,EAAYl1G,EAAA,GAC9BG,EAAsCrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAnDg7D,EAAW/6D,EAAA,GAAEg7D,EAAch7D,EAAA,GAC5ByE,EAAWjiB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAChE8e,EAA8BtK,oBAAkB,GAAKuK,EAAA1L,YAAAyL,EAAA,GAA9CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GAE1BC,EAAkCxK,mBAAc,CAAErW,MAAO,KAAK8gB,EAAA5L,YAAA2L,EAAA,GAAvD6sD,EAAS5sD,EAAA,GAAE6sD,EAAY7sD,EAAA,GAC9BwG,EAA8CjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAAtDqoG,EAAepoG,EAAA,GAAEuoG,EAAkBvoG,EAAA,GAC1CC,EAAoCnR,mBAAc,WAAUoR,EAAAvS,YAAAsS,EAAA,GAArDkhG,EAAUjhG,EAAA,GAAEotG,EAAaptG,EAAA,GAChC2I,EAAgC/Z,mBAAc,CAAC,GAAEga,EAAAnb,YAAAkb,EAAA,GAA1CmyG,EAAQlyG,EAAA,GAAEmgG,EAAWngG,EAAA,GAC5BG,EAA8Cna,mBAAc,CAC1DlG,KAAM,UACN+B,KAAM,MACNue,EAAAvb,YAAAsb,EAAA,GAHKkgG,EAAejgG,EAAA,GAAEmgG,EAAkBngG,EAAA,GAI1CG,EAA8Cva,mBAAc,CAC1DtQ,QAAS,KACT8qB,GAAA3b,YAAA0b,EAAA,GAFKi5F,GAAeh5F,GAAA,GAAEw5F,GAAkBx5F,GAAA,GAG1CG,GAAoD3a,mBAAc,CAChEpM,WAAY,KACZgnB,GAAA/b,YAAA8b,GAAA,GAFK4gG,GAAkB3gG,GAAA,GAAEghG,GAAqBhhG,GAAA,GAKhDG,GAA8C/a,mBAAc,CAAExH,OAAQ,KAAKwiB,GAAAnc,YAAAkc,GAAA,GAApE4jG,GAAe3jG,GAAA,GAAE+jG,GAAkB/jG,GAAA,GAC1CG,GAAsCnb,mBAAc,CAAEwM,KAAM,KAAK4O,GAAAvc,YAAAsc,GAAA,GAA1D2O,GAAW1O,GAAA,GAAEgvG,GAAchvG,GAAA,GAClCG,GAAkDvb,mBAAc,CAC9D2lH,aAAc,KACdnqG,GAAA3c,YAAA0c,GAAA,GAFKmqG,GAAiBlqG,GAAA,GAAEuqG,GAAoBvqG,GAAA,GAG9CI,GAA0C5b,mBAAc,CACtD0jC,cAAe,CAAC,IAChB7nB,GAAAhd,YAAA+c,GAAA,GAFK8nB,GAAa7nB,GAAA,GAAEusG,GAAgBvsG,GAAA,GAGtCivC,GAAkD9qD,mBAAc,CAC9D2jC,UAAW,CAAC,IACZonB,GAAAlsD,YAAAisD,GAAA,GAFK07D,GAAiBz7D,GAAA,GAAE88D,GAAoB98D,GAAA,GAG9CG,GAAsDlrD,mBAAc,CAClEgkC,OAAQ,KACRmnB,GAAAtsD,YAAAqsD,GAAA,GAFK07D,GAAmBz7D,GAAA,GAAEi7D,GAAsBj7D,GAAA,GAGlDE,GACErrD,mBAAc,CACZ8jC,UAAW,GACXD,WAAY,GACZD,aAAc,KACd0nB,GAAAzsD,YAAAwsD,GAAA,GALGw9D,GAA0Bv9D,GAAA,GAAEw9D,GAA6Bx9D,GAAA,GAMhE8Z,GAAsDplE,mBAAc,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAAhEwiD,GAAmBviD,GAAA,GAAEqiD,GAAsBriD,GAAA,GAClDG,GAAoCxlE,mBAAc,CAAEwjC,gBAAiB,KAAKiiC,GAAA5mE,YAAA2mE,GAAA,GAAnE5xE,GAAU6xE,GAAA,GAAEwtC,GAAaxtC,GAAA,GAChCI,GAA8C7lE,mBAAc,CAAErW,MAAO,KAAKm8E,GAAAjnE,YAAAgnE,GAAA,GAAnE2qC,GAAe1qC,GAAA,GAAE2qC,GAAkB3qC,GAAA,GAC1C8V,GAA8C57E,qBAAe67E,GAAAh9E,YAAA+8E,GAAA,GAAtDg2B,GAAe/1B,GAAA,GAAEu2B,GAAkBv2B,GAAA,GAE1C5/B,GAMIphB,YAAQ,CACV/uB,KAAM,WANN3T,GAAO8jD,GAAP9jD,QACazO,GAAMuyD,GAAnBthD,UAAajR,OACbsf,GAASizC,GAATjzC,UACA2E,GAAQsuC,GAARtuC,SACAsf,GAAYgvB,GAAZhvB,aAIFl4B,qBAAU,WACRwU,GAAW,GACXi1G,EAAc,WACdC,IACF,GAAG,IAEH1pH,qBAAU,WACR2pH,IACF,GAAG,CACDjxG,EACA4pD,EACAkkD,GACAoD,GACAnL,GACAkS,GACAhiF,GACA8iF,GACAI,GACAhzH,GACA5L,EAAMkxB,YACNs3F,GACAoB,GACA9nF,GACA++F,GACAjB,GACAvN,IAEF,IAAMoE,GAAY,WAChB,IAAI0N,EAAenkI,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO4G,OAC7D67H,EACFrkI,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO5B,EAAM6mD,WAAW/kD,SAC7Ds7B,EACFp9B,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO5B,EAAM6mD,WAAW1iD,KACtC,OAAvBkgI,EAAcriI,MAChBs6E,EAAe,OAcjB8jD,IAAiB,SAAC3iG,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZie,cAAe,YAAU,IAdE,IAAvB17C,EAAM8mD,aACRphC,EAAY,KACoB,IAAvB1lB,EAAM8mD,cACfphC,EAAY,KAEdnE,GAAW,KAEX+6D,EAAe,QACfs6C,GAAkByN,EAAcriI,KAAMqiI,EAAejnG,EAAO+mG,GAEhE,EAOA,IAAMvN,GAAiB,eAAAl0H,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACxBy1E,EACA+rD,EACAngI,EACAggI,GAAiB,IAAAI,EAAA,OAAA3hI,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAEA,MAAbk1E,EAAgB,CAAAp1E,EAAAE,KAAA,QAClBmhI,GAAuBF,GACvB5+G,EAAY,KAAKviB,EAAAE,KAAA,mBACK,MAAbk1E,EAAgB,CAAAp1E,EAAAE,KAAA,QACzBqiB,EAAY,KAAKviB,EAAAE,KAAA,mBACK,OAAbk1E,EAAiB,CAAAp1E,EAAAE,KAAA,SAC1BqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,MAAbk1E,EAAgB,CAAAp1E,EAAAE,KAAA,SACzBqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,MAAbk1E,EAAgB,CAAAp1E,EAAAE,KAAA,SACzBqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,MAAbk1E,EAAgB,CAAAp1E,EAAAE,KAAA,SACzBqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,OAAbk1E,EAAiB,CAAAp1E,EAAAE,KAAA,SAC1BqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,OAAbk1E,EAAiB,CAAAp1E,EAAAE,KAAA,SAC1BqiB,EAAY,KAAKviB,EAAAE,KAAA,oBACK,OAAbk1E,EAAiB,CAAAp1E,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACpBohI,GAAwBH,GAAc,KAAD,UAAAnhI,EAAAE,KAAA,GACrCqhI,GAA0BJ,GAAc,KAAD,UAAAnhI,EAAAE,KAAA,GACvCshI,GAAwBL,GAAc,KAAD,UAAAnhI,EAAAE,KAAA,GACrCuhI,GAA8BN,GAAc,KAAD,GACjD5+G,EAAY,KAAKviB,EAAAE,KAAA,iBACK,OAAbk1E,EACT7yD,EAAY,MACU,OAAb6yD,GACT6xC,GAAmBjmH,EAAK4E,OACxB2c,EAAY,OACU,OAAb6yD,GACT6xC,GAAmBjmH,EAAK4E,OACxB2c,EAAY,OACU,OAAb6yD,GACTkwC,IAAmB,SAAChrF,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMq7H,EAAariI,UAAUN,QAAM,IAE1C+jB,EAAY,OACU,OAAb6yD,GACTyzC,IAAmB,SAACvuF,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ/1B,QAAOuB,YAAMq7H,EAAariI,UAAUyF,UAAQ,IAE9Cge,EAAY,OACU,QAAb6yD,GACiB,QAA1BgsD,EAAID,EAAariI,iBAAS,IAAAsiI,GAAtBA,EAAwB34H,YAC1BgoH,IAAsB,SAACn2F,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ7xB,WAAU3C,YAAMq7H,EAAariI,UAAU2J,aAAW,IAGtD8Z,EAAY,OAGVA,EADmB,IAAjBy+G,EACU,IAEA,KAEf,QACD5iH,GAAW,GAAO,yBAAApe,EAAAqB,OAAA,GAAA1B,EAAA,KACnB,gBAjEsB2B,EAAAO,EAAAK,EAAAiB,GAAA,OAAA5D,EAAAgC,MAAA,KAAAC,UAAA,KAkEjB6/H,GAAyB,SAACF,GACF,MAAxBA,EAAa/9E,OACfgsE,EAAmBD,EAAgB,IACF,MAAxBgS,EAAa/9E,QACtBgsE,EAAmBD,EAAgB,GAEvC,EACMmS,GAAuB,eAAA5/H,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOw/H,GAAiB,IAAAO,EAAAC,EAAAC,EAAAC,EAAA7E,EAAAl8H,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAgBrD,GAfD0zH,IAAmB,SAACt5F,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZjtB,OAAMvH,YAAMq7H,EAAariI,UAAUuO,SAAO,IAElB,QAA1Bq0H,EAAIP,EAAariI,iBAAS,IAAA4iI,GAAtBA,EAAwBzwF,mBAC1B2pF,IAAqB,SAACtgG,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZkgG,aAAY10H,YAAMq7H,EAAariI,UAAUmyC,oBAAkB,IAGrC,QAA1B0wF,EAAIR,EAAariI,iBAAS,IAAA6iI,GAAtBA,EAAwBtpF,iBAC1ByvE,IAAc,SAACxtF,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ+d,gBAAiB8oF,EAAariI,UAAUu5C,iBAAe,IAGjC,QADzBupF,EACGT,EAAariI,iBAAS,IAAA8iI,GAAQ,QAARC,EAAtBD,EAAwB9pF,cAAM,IAAA+pF,IAA9BA,EAAgCtpF,cAAa,CAAA32C,EAAA1B,KAAA,SAI3C,OAHJ+8H,IAAiB,SAAC3iG,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZie,cAAe4oF,EAAariI,UAAUg5C,OAAOS,eAAa,IACxD32C,EAAA1B,KAAA,EAC4BsmF,KAAqB,KAAD,EAAhDw2C,EAAmBp7H,EAAAT,KACnBL,EAAWk8H,EAAoB1nH,QACjC,SAACs+B,GAA+B,OAC9BA,EAAEw4C,iBAAiBlkF,aACnBi5H,EAAariI,UAAUg5C,OAAOU,SAAS,IAE3CkkF,IAAqB,SAACpiG,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZke,UAAW13C,EAAS,IAAM,IAAE,IAC1B,yBAAAc,EAAAP,OAAA,GAAAM,EAAA,KAEP,gBAjC4BgH,GAAA,OAAAjH,EAAAH,MAAA,KAAAC,UAAA,KAkCvB+/H,GAAyB,eAAAx/H,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOm/H,GAAiB,IAAAW,EAAAC,EAAAC,EAAA15C,EAAA25C,EAAAr9H,EAAAs9H,EAAAC,EAAAn9H,EAAArG,EAAA,OAAAc,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,aAC9B,QAAtB4hI,EAAAX,EAAariI,iBAAS,IAAAgjI,GAAQ,QAARC,EAAtBD,EAAwBhqF,cAAM,IAAAiqF,GAAQ,QAARC,EAA9BD,EAAgClpF,cAAM,IAAAmpF,OAAhB,EAAtBA,EAAwC38H,SAAU,GAAC,CAAApD,EAAA/B,KAAA,SACO,OAA5DsC,QAAQe,IAAI,SAAU49H,EAAariI,UAAUg5C,OAAOe,QAAQ52C,EAAA/B,KAAA,EAClCqmF,KAAyB,KAAD,EAElD,IAFI+B,EAAarmF,EAAAd,KACb8gI,EAAmB,GACdr9H,EAAI,EAAGA,GAA0B,QAAzBs9H,EAAGf,EAAariI,iBAAS,IAAAojI,OAAA,EAAtBA,EAAwBpqF,OAAOe,OAAOxzC,QAAQT,IAGhE,IAFMu9H,EAAShB,EAAariI,UAAUg5C,OAAOe,OAAOj0C,GAE3CI,EAAI,EAAGA,EAAIsjF,EAAcjjF,OAAQL,IAClCrG,EAAW2pF,EAActjF,GAC/BxC,QAAQe,IAAI,QAAS5E,GAGjBwjI,EAAOpyH,IAAMpR,EAASgrB,cACxBs4G,EAAU/7H,KAAKvH,GAGpB,OAAAsD,EAAA/B,KAAA,EACK+6H,IAAuB,SAAC3gG,GAAc,OAAA3qB,wBAAA,GACvC2qB,GAAS,IACZ6nG,OAAQF,GAAS,IACf,KAAD,EACHG,GAA0BjB,EAAc74C,GAAe,yBAAArmF,EAAAZ,OAAA,GAAAW,EAAA,KAE1D,gBAxB8B8E,GAAA,OAAA/E,EAAAR,MAAA,KAAAC,UAAA,KAyBzBggI,GAA0B,SAACL,GAAuB,IAADkB,EAC3B,QAA1BA,EAAIlB,EAAariI,iBAAS,IAAAujI,GAAtBA,EAAwB1jG,aAC1BsgG,IAAe,SAAC3kG,GAAc,IAAAgoG,EAAA,OAAA3yH,wBAAA,GACzB2qB,GAAS,IACZjZ,KAAIvb,YAA4B,QAA5Bw8H,EAAMnB,EAAariI,iBAAS,IAAAwjI,OAAA,EAAtBA,EAAwB3jG,YAAYtd,OAAK,GAGzD,EACMogH,GAA6B,eAAAr/H,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EAAO8+H,GAAiB,IAAAoB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlH,EAAAmH,EAAAC,EAAAzlD,EAAAsO,EAAAjrF,EAAAm7H,EAAAr3H,EAAA6xB,EAAAwD,EAAAkpG,EAAAC,EAAAC,EAAAC,EAAA93F,EAAA,OAAA/rC,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAGY,GAFpE47H,EAAc,GAClBt5H,QAAQe,IAA0B,QAAvBg/H,EAACpB,EAAariI,iBAAS,IAAAyjI,GAAQ,QAARC,EAAtBD,EAAwBzqF,cAAM,IAAA0qF,OAAR,EAAtBA,EAAgC3pF,OAAQ,aACpDr2C,QAAQe,IAA0B,QAAvBk/H,EAACtB,EAAariI,iBAAS,IAAA2jI,GAAQ,QAARC,EAAtBD,EAAwB3qF,cAAM,IAAA4qF,OAAR,EAAtBA,EAAgCnqF,cAAe,aAEL,YAA5B,QAAtBoqF,EAAAxB,EAAariI,iBAAS,IAAA6jI,GAAQ,QAARC,EAAtBD,EAAwB7qF,cAAM,IAAA8qF,OAAR,EAAtBA,EAAgCrqF,eAA0B,CAAAj2C,EAAApC,KAAA,SAEQ,OADhEu9E,EAAe,GACbsO,EAAWz7E,SAA+B,QAAvB2yH,EAAC9B,EAAariI,iBAAS,IAAAmkI,GAAQ,QAARC,EAAtBD,EAAwBnrF,cAAM,IAAAorF,OAAR,EAAtBA,EAAgC1qF,WAAUl2C,EAAApC,KAAA,EAC7C0mG,aAA+B7a,GAAU,KAAD,EAG/D,IAHMjrF,EAAQwB,EAAAnB,KACdqB,QAAQe,IAAIzC,EAAU,YAClBm7H,EAAoBn7H,EAAS0sF,kBACxB5oF,EAAI,EAAGA,EAAIq3H,EAAkB52H,OAAQT,IACtC6xB,EAAUwlG,EAAkBr3H,GAClC64E,EAAMv3E,KAAK,CACTN,MAAO6wB,EAAQprB,IACf+lC,YAAa3a,EAAQ73B,QAGnBq7B,EAAQs/F,EACd17F,MAAMy+F,UAAUp2H,KAAK3E,MAAM04B,EAAOwjD,GAClCj7E,QAAQe,IAAI02B,EAAO,SACnBsiG,GAAuB,GAADl+H,OAAK47B,IAAQ33B,EAAApC,KAAA,kBAEb,QAAtB2iI,EAAA1B,EAAariI,iBAAS,IAAA+jI,GAAQ,QAARC,EAAtBD,EAAwB/qF,cAAM,IAAAgrF,OAAR,EAAtBA,EAAgCjqF,QAAS,GACS,cAA5B,QAAtBkqF,EAAA5B,EAAariI,iBAAS,IAAAikI,GAAQ,QAARC,EAAtBD,EAAwBjrF,cAAM,IAAAkrF,OAAR,EAAtBA,EAAgCzqF,gBAEV,QAAtB4qF,EAAAhC,EAAariI,iBAAS,IAAAqkI,GAAQ,QAARC,EAAtBD,EAAwBrrF,cAAM,IAAAsrF,GAAQ,QAARC,EAA9BD,EAAgCvqF,cAAM,IAAAwqF,GAAtCA,EAAwCp9H,KACtC,SAACN,EAAW8Q,GACVjU,QAAQe,IAAI,MAAOoC,GAEX,OAAJA,QAAI,IAAJA,KAAM62H,aACRV,EAAO51H,KAAK,CACVs2H,YAAa77H,KAAKwM,MAAU,OAAJxH,QAAI,IAAJA,OAAI,EAAJA,EAAM62H,aAC9B7yG,aAAchkB,EAAKgkB,cAGzB,IAEE8zD,EAAa,GACjBq+C,EAAO71H,KAAI,SAACN,EAAWf,GACrBe,EAAK62H,YAAYh+H,MAAMyH,KAAI,SAACg0B,EAAYj1B,GACtCi1B,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkBz9G,GAC9By9G,EAAY/pH,SAASC,OACvB6+E,EAAMv3E,KAAK,CACTN,MAAOD,EAAKgkB,aAAe,IAAM++F,EAAY/pH,SAASC,MACtDwyC,YACEzrC,EAAKgkB,aAAe,IAAM++F,EAAY/pH,SAASC,OAGvD,GACF,GACF,IACMq7B,EAAQs/F,EACd17F,MAAMy+F,UAAUp2H,KAAK3E,MAAM04B,EAAOwjD,GAClC8+C,GAAuB,GAADl+H,OAAK47B,KAG3BsiG,GAAuB,GAADl+H,OADRk7H,IAEf,yBAAAj3H,EAAAjB,OAAA,GAAAgB,EAAA,KACF,gBA3DkC2qB,GAAA,OAAA5qB,EAAAb,MAAA,KAAAC,UAAA,KA4D7B4gI,GAAyB,eAAAz/H,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,EAChCu+H,EACA74C,GAAkB,IAAAi7C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAr/H,EAAAs/H,EAAAl/H,EAAArG,EAAAwlI,EAAAC,EAAAC,EAAAC,EAAAC,EAAA1/H,EAAA6zC,EAAAlzC,EAAAg/H,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAt+H,EAAAkyC,EAAA7kB,EAAAkxG,EAAA,OAAArlI,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,UAGQ,QAHRqjI,EAGdpC,EAAariI,iBAAS,IAAAykI,GAAQ,QAARC,EAAtBD,EAAwBzrF,cAAM,IAAA0rF,IAA9BA,EAAgC7qF,UAAS,CAAA91C,EAAA3C,KAAA,QAI3C,IAHI8jI,EAAiB,GACfC,EACkB,QADJJ,EAClB1C,EAAariI,iBAAS,IAAA+kI,GAAQ,QAARC,EAAtBD,EAAwB/rF,cAAM,IAAAgsF,GAAW,QAAXC,EAA9BD,EAAgCnrF,iBAAS,IAAAorF,OAAnB,EAAtBA,EAA2Ct9H,MAAM,KAC1C7B,EAAI,EAAGA,EAAIq/H,EAAe5+H,OAAQT,IAEzC,IADMs/H,EAASD,EAAer/H,GACrBI,EAAI,EAAGA,EAAIsjF,EAAcjjF,OAAQL,IAClCrG,EAAW2pF,EAActjF,GAC3Bk/H,GAAUvlI,EAASgrB,cACrBq6G,EAAQ99H,KAAKvH,GAGlB,OAAAkE,EAAA3C,KAAA,EACKy9H,IAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZqe,UAAWqrF,GAAO,IAChB,KAAD,KAGqB,QAHrBP,EAGDtC,EAAariI,iBAAS,IAAA2kI,GAAQ,QAARC,EAAtBD,EAAwB3rF,cAAM,IAAA4rF,IAA9BA,EAAgChrF,WAAU,CAAA71C,EAAA3C,KAAA,SAI5C,IAHIokI,EAAqB,GACnBC,EACkB,QADHJ,EACnBhD,EAAariI,iBAAS,IAAAqlI,GAAQ,QAARC,EAAtBD,EAAwBrsF,cAAM,IAAAssF,GAAY,QAAZC,EAA9BD,EAAgC1rF,kBAAU,IAAA2rF,OAApB,EAAtBA,EAA4C59H,MAAM,KAC3C7B,EAAI,EAAGA,EAAI2/H,EAAgBl/H,OAAQT,IAE1C,IADM8zC,EAAa6rF,EAAgB3/H,GAC1BI,EAAI,EAAGA,EAAIsjF,EAAcjjF,OAAQL,IAClCrG,EAAW2pF,EAActjF,GAC3B0zC,GAAc/5C,EAASgrB,cACzB26G,EAAYp+H,KAAKvH,GAGtB,OAAAkE,EAAA3C,KAAA,GACKy9H,IAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZoe,WAAY4rF,GAAW,IACrB,KAAD,MAGqB,QAHrBX,EAGDxC,EAAariI,iBAAS,IAAA6kI,GAAQ,QAARC,EAAtBD,EAAwB7rF,cAAM,IAAA8rF,IAA9BA,EAAgCnrF,aAAY,CAAA51C,EAAA3C,KAAA,SAI9C,IAHI0kI,EAAuB,GACrBC,EACkB,QADDJ,EACrBtD,EAAariI,iBAAS,IAAA2lI,GAAQ,QAARC,EAAtBD,EAAwB3sF,cAAM,IAAA4sF,GAAc,QAAdC,EAA9BD,EAAgCjsF,oBAAY,IAAAksF,OAAtB,EAAtBA,EAA8Cl+H,MAAM,KAC7C7B,EAAI,EAAGA,EAAIigI,EAAkBx/H,OAAQT,IAE5C,IADM6zC,EAAeosF,EAAkBjgI,GAC9BI,EAAI,EAAGA,EAAIsjF,EAAcjjF,OAAQL,IAClCrG,EAAW2pF,EAActjF,GAC3ByzC,GAAgB95C,EAASgrB,cAC3Bi7G,EAAc1+H,KAAKvH,GAGxB,OAAAkE,EAAA3C,KAAA,GACKy9H,IAA8B,SAACrjG,GAAc,OAAA3qB,wBAAA,GAC9C2qB,GAAS,IACZme,aAAcmsF,GAAa,IACzB,KAAD,oBAAA/hI,EAAAxB,OAAA,GAAAuB,EAAA,KAEN,gBA7D8Bq2B,EAAAC,GAAA,OAAAv2B,EAAApB,MAAA,KAAAC,UAAA,KA8DzB+3B,GAAc,SAClBwrG,EACA9D,EACAv9E,EACAzpB,GAEA,IAAI+qG,EAAaD,EACb/zG,EAAen0B,EAAMkxB,YACzBiD,EAAaxyB,MAAMyiI,GAASxiI,OAAOilD,GAAW/kD,SAAWqmI,EACzDh0G,EAAaxyB,MAAMyiI,GAASxiI,OAAOilD,GAAW1iD,KAAOi5B,EACrDp9B,EAAMmxB,eAAegD,EACvB,EACMi0G,GAAsB,SAC1BxmI,EACAwiI,EACAv9E,GAEA,IAAI5kC,EAAUrgB,EACVuyB,EAAen0B,EAAMkxB,YACzBiD,EAAaxyB,MAAMyiI,GAASxiI,OAAOilD,GAAa5kC,EAChDjiB,EAAMmxB,eAAegD,EACvB,EAEMk0G,GAAa,eAAAniI,EAAAvD,YAAAC,IAAAC,MAAG,SAAAsD,EAAOhC,GAAS,IAAAunH,EAAA4c,EAAAtoG,EAAAuoG,EAAAtoG,EAAAuoG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA7nI,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OACH,GAA7BilI,GAAuB,EAER,YAAfje,EAAwB,CAAAhkH,EAAAhD,KAAA,eAAAgD,EAAA9B,OAAA,oBAGG,IAA3B8qE,EAAU1tE,MAAM6G,OAAY,CAAAnC,EAAAhD,KAAA,WACb,MAAboiB,GAAiC,MAAbA,GAAiC,MAAbA,EAAgB,CAAApf,EAAAhD,KAAA,QAKvD,OAJH4T,EAAY,CACV1D,YAAY,sCACZkC,QAAQ,yBACRzT,KAAM,YACLqE,EAAA9B,OAAA,iBAyCN,IArC0B,QAAvBmnH,EAAA1rH,EAAMkxB,YAAYvvB,aAAK,IAAA+pH,OAAA,EAAvBA,EAAyBljH,SAAU,GACrCxI,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACg0B,EAAYxjB,GACvCwjB,EAAMx7B,OAAOwH,KAAI,SAACyiH,EAAkB6e,GAClC,QAAkC5pI,GAA9B+qH,EAAY/pH,SAASC,OACW,OAA9B8pH,EAAY/pH,SAASE,KACvB,GACE6pH,EAAY/pH,SAASC,QAAUoC,EAAKpC,OACpC8pH,EAAY/pH,SAASC,QACnB/B,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO5B,EAAM6mD,WACjD/kD,SAASC,MAEToC,EAAKoP,cACR+0H,GAAc,QAEX,GAAoB,SAAhBjsD,EAAwB,CAM9B,IAADsuD,EALF,GACe,MAAbllH,GACa,MAAbA,GACa,MAAbA,GACa,MAAbA,EAGEthB,EAAKoP,eAC2B,QADhBo3H,EACd9e,EAAY/pH,SAASG,iBAAS,IAAA0oI,OAAA,EAA9BA,EAAgCp3H,cAClCs4G,EAAY/pH,SAASC,QAAUoC,EAAKpC,OACpC/B,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OACrC5B,EAAM6mD,WACNlB,OAASkmE,EAAYlmE,OAEvB2iF,GAAc,EAGpB,CAGN,GACF,KAEEA,EAAY,CAADjiI,EAAAhD,KAAA,SAKV,OAJH4T,EAAY,CACV1D,YAAY,oEACZkC,QAAQ,4BACRzT,KAAM,YACLqE,EAAA9B,OAAA,qBAIY,MAAbkhB,EAAgB,CAAApf,EAAAhD,KAAA,SAClBsC,QAAQe,IAAIvC,EAAM,eACZ67B,EAAc,CAClBh+B,KAAM,IACND,MAAOoC,EAAKymI,cAAgB,GAC5BzoI,MAAOgC,EAAKhC,OAAS,GACrBokD,OAAQ8rE,EAAgBx+G,KACxB6yC,UAAWviD,EAAKuiD,WAAa,GAC7BoiE,UAAW3kH,EAAK2kH,UAAY,IAAM,KAG9Byf,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClB0J,QAAS9Y,EAAK8Y,QACdzU,OAAQrE,EAAKqE,OAAO6C,WACpBnJ,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGhCyf,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClB0J,QAAS9Y,EAAK8Y,QACdzU,OAAQrE,EAAKqE,OAAO6C,WACpBnJ,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGhCyf,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9B+gC,QAAS9+B,EAAK8+B,QACd1vB,YAAapP,EAAKoP,YAClBwJ,QAAS5Y,EAAK4Y,QAAQ1R,WACtB4R,QAAS9Y,EAAK8Y,QACdxD,MAAOtV,EAAKsV,MAAQ,IAAM,IAC1B8D,IAAKpZ,EAAKoZ,IAAIlS,WACdmS,IAAKrZ,EAAKqZ,IAAInS,WACdwR,SAAU1Y,EAAK0Y,SAAW,IAAM,IAChChT,OAAQ1F,EAAKo3H,aACbh/G,eAAgBpY,EAAKoY,eAAiB,IAAM,IAC5C+U,QAASntB,EAAKmtB,QAAU,IAAM,IAC9Ble,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGhCyf,EAAmB,CAAEx/H,MAAO,MAElC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACzBsC,QAAQe,IAAIvC,GAEN67B,EAAc,CAClBh+B,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClBrR,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAElC7rG,QAAS9Y,EAAK8Y,QACdwzG,YAAatsH,EAAKssH,YAClBj/G,KAAM,CACJE,IAAK,IACL8pH,QAAS,IACTC,SAAU,IACV5xH,OAAQ1F,EAAK0F,QAEf4H,KAAM,CACJC,IAAK,IACLC,UAAW,IACX9H,OAAQ,KAEV4R,cAAetX,EAAKsX,gBAGlB8sH,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,IACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClBrR,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC6L,aAAc9a,EAAK8a,aAAe,IAAM,IACxC6pG,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCnnH,MAAO0tE,EAAU1tE,QAGf4mI,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTsR,YAAapP,EAAKoP,YAClBrR,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClC7pG,aAAc9a,EAAK8a,aAAe,IAAM,IACxChS,QAAwB,OAAfqkH,QAAe,IAAfA,OAAe,EAAfA,EAAiBz9G,KAC1BlS,MAAO0tE,EAAU1tE,QAGf4mI,EAAmB,CACvBx/H,MAAO,KACPD,KAAM,IAER4zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,SACnB28B,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZoR,YAAapP,EAAKoP,YAClBtR,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9B4mH,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCnnH,MAAO0tE,EAAU1tE,OAEnByR,SAAUjP,EAAKiP,SAAW,IAAM,KAE5Bm1H,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,oBACoB,MAAboiB,EAAgB,CAAApf,EAAAhD,KAAA,YAEI,OAAZ,OAAfszH,SAAe,IAAfA,QAAe,EAAfA,GAAiBnmH,SACmB,KAArB,OAAfmmH,SAAe,IAAfA,IAAuB,QAAR0S,EAAf1S,GAAiBnmH,cAAM,IAAA64H,OAAR,EAAfA,EAAyB7gI,QAAY,CAAAnC,EAAAhD,KAAA,gBAAAgD,EAAA9B,OAAA,SAE9B0S,EAAY,CACjB1D,YAAY,sBACZkC,QAAQ,sBACRzT,KAAM,aACN,QAoCEg+B,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZ8gC,QAAS9+B,EAAK8+B,QACd6lF,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCzpE,UAAWl7C,EAAKk7C,UAAY,IAAM,IAClCp9C,UAAW,CACTuO,OAAQmmH,GAAgBnmH,OACxBgmC,mBAAoBryC,EAAKqyC,mBAAqB,IAAM,IACpDpC,mBAAoC,OAAjBspF,SAAiB,IAAjBA,QAAiB,EAAjBA,GAAmBC,eAAgB,GACtDniF,gBAA2B,OAAV5vC,SAAU,IAAVA,QAAU,EAAVA,GAAY4vC,gBAC7BP,OAAQ,CACNc,WACkC,aAAhCL,GAAcA,eACVv3C,EAAK43C,WAEXL,cAA4B,OAAbA,SAAa,IAAbA,QAAa,EAAbA,GAAeA,cAC9BC,UACkC,WAAhCD,GAAcA,gBACO,OAAjB8iF,SAAiB,IAAjBA,IAA4B,QAAX8K,EAAjB9K,GAAmB7iF,iBAAS,IAAA2tF,GAAkB,QAAlBC,EAA5BD,EAA8B/5C,wBAAgB,IAAAg6C,OAA7B,EAAjBA,EAAgDl+H,aAEhD,GACNywC,UACkC,aAAhCJ,GAAcA,gBACgB,OAA1BmlF,SAA0B,IAA1BA,QAA0B,EAA1BA,GAA4B/kF,UACzB1yC,KAAI,SAACN,GACJ,OAAOA,EAAKyB,WAAWc,UACzB,IACCnB,KAAK,OACR,GACN2xC,WACkC,aAAhCH,GAAcA,gBACgB,OAA1BmlF,SAA0B,IAA1BA,QAA0B,EAA1BA,GAA4BhlF,WACzBzyC,KAAI,SAACN,GACJ,OAAOA,EAAKyB,WAAWc,UACzB,IACCnB,KAAK,OACR,GACN0xC,aACkC,aAAhCF,GAAcA,gBACgB,OAA1BmlF,SAA0B,IAA1BA,QAA0B,EAA1BA,GAA4BjlF,aACzBxyC,KAAI,SAACN,GACJ,OAAOA,EAAKyB,WAAWc,UACzB,IACCnB,KAAK,OACR,GACN8xC,QACqB,OAAnB4iF,SAAmB,IAAnBA,IAA2B,QAAR4K,EAAnB5K,GAAqB5iF,cAAM,IAAAwtF,OAAR,EAAnBA,EAA6BpgI,KAAI,SAACjF,EAAWqV,GAC3C,MAAO,CACLtG,GAAI/O,EAAKoG,WAAWc,WAExB,MAAM,IAEVy2B,YAAaA,GACb+oG,cAAe,KAEjBz3H,SAAUjP,EAAKiP,SAAW,IAAM,KAE5Bm1H,EAAmB,CACvBnvH,IAAK,MAEPsjB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,GACAliI,EAAAhD,KAAA,iBACoB,OAAboiB,GACHua,EAAc,CAClBl+B,SAAU,CACRE,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZoR,YAAa,GACb+M,OAAQnc,EAAKmc,OAAOjV,WACpBpJ,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGtC3kH,KAAM,CACJ4E,MAAOm7H,EAASn7H,OAElB48C,KAAM3+B,gBAERohH,GAAoBpoG,EAAahgC,EAAMokI,QAASpkI,EAAM6mD,YAChC,OAAbphC,GACHua,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZoR,YAAapP,EAAKu3H,aAClBz5H,UAAW,CACTC,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCtrG,IAAKrZ,EAAKwlH,QAAQt+G,aAGlBw+H,EAAgB,KAChBjgB,KACFigB,EAAWjgB,IAEP2e,EAAmB,CAAEx/H,MAAO8gI,GAClCntG,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,IAEoB,OAAb9iH,GACHua,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZyjB,SAAUzhB,EAAK4/H,cACf9hI,UAAW,CACT0nH,QAASxlH,EAAKwlH,QAAQt+G,WACtB6K,OAAiB,QAAV6zH,EAAA5lI,EAAK+R,aAAK,IAAA6zH,OAAA,EAAVA,EAAY1+H,aAAc,GACjCiV,QAAmB,QAAX0pH,EAAA7lI,EAAKmc,cAAM,IAAA0pH,OAAA,EAAXA,EAAa3+H,aAAc,GACnCnJ,QAASiC,EAAKjC,QAAU,IAAM,IAC9BkR,SAAUjP,EAAKiP,SAAW,IAAM,IAChC01G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGlC+gB,EAAgB,KAChBjgB,KACFigB,EAAWjgB,IAEP2e,EAAmB,CAAEx/H,MAAO8gI,GAClCntG,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,IAEoB,OAAb9iH,GACHua,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAK2mI,WACZptF,IAAKv5C,EAAKsC,IACVxE,UAAW,CACT6mH,UAAW3kH,EAAK2kH,UAAY,IAAM,IAClCnnH,MAAO6mH,GAAgB7mH,QAGrB4mI,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,IAEoB,OAAb9iH,GACHua,EAAc,CAClBh+B,KAAM,KACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZmI,MAAOnG,EAAKmG,MAAMe,WAClBpJ,UAAW,CACTyF,QAAS8jH,GAAgB9jH,QACzBohH,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGhCyf,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,IAEoB,OAAb9iH,IACHua,EAAc,CAClBh+B,KAAM,MACND,MAAOoC,EAAKpC,MACZI,MAAOgC,EAAKhC,MACZF,UAAW,CACTqI,MAAOnG,EAAKmG,MAAMe,WAClB+H,SAAUjP,EAAKiP,SAAW,IAAM,IAChCxH,WAAY2nH,GAAmB3nH,WAC/Bk9G,UAAW3kH,EAAK2kH,UAAY,IAAM,MAGhCyf,EAAmB,CAAEx/H,MAAO,MAClC2zB,GACEsD,EACAhgC,EAAMokI,QACNpkI,EAAM6mD,UACN0hF,IAEH,QACDvoI,EAAM+qI,yBAAwB,GAAO,yBAAA1kI,EAAA7B,OAAA,GAAA2B,EAAA,KACtC,gBA/ekBm2B,GAAA,OAAAp2B,EAAAxB,MAAA,KAAAC,UAAA,KAifb+xH,GAAkB,WACtB,IAAI0O,EACFplI,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO5B,EAAM6mD,WAAW/kD,SAC7Ds7B,EACFp9B,EAAMkxB,YAAYvvB,MAAM3B,EAAMokI,SAASxiI,OAAO5B,EAAM6mD,WAAW1iD,KAEhD,MAAbshB,EACF2wG,EACE71H,cAAC+lD,GAAgB,CACf5pB,YAAaA,GACbvsB,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACV3/G,SAAUA,EACV8sG,mBAAoBA,EACpBF,gBAAiBA,EACjBC,gBAAiBA,KAGC,MAAb7sG,EACT2wG,EACE71H,cAAC2zH,GAAkB,CACjB/jH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,KAGQ,MAAb3/G,EACT2wG,EACE71H,cAAC01H,GAAiB,CAChB9lH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,KAGQ,MAAb3/G,EACT2wG,EACE71H,cAACiyH,GAAe,CACdriH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVz/G,SAAUA,MAGQ,MAAbF,EACT2wG,EACE71H,cAAC0vH,GAAiB,CAChB9/G,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVpkH,UAAWA,MAGO,MAAbyE,EACT2wG,EACE71H,cAACowH,GAAe,CACdxgH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACV91D,aAAcA,EACdD,UAAWA,KAGO,MAAb5pD,EACT2wG,EACE71H,cAAC8wH,GAAoB,CACnBlhH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACV91D,aAAcA,EACdD,UAAWA,EACXoiD,mBAAoBA,KAGF,MAAbhsG,EACT2wG,EACE71H,cAACsxH,GAAiB,CAChB1hH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACV91D,aAAcA,EACdD,UAAWA,KAGO,MAAb5pD,EACT2wG,EACE71H,cAAC20C,GAAc,CACb/kC,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVrO,mBAAoBA,GACpBJ,gBAAiBA,GACjBH,cAAeA,EACfnM,WAAYA,EACZ0T,qBAAsBA,GACtBL,kBAAmBA,GACnB0C,iBAAkBA,GAClB1kF,cAAeA,GACfmkF,qBAAsBA,GACtBrB,kBAAmBA,GACnBJ,uBAAwBA,GACxBQ,oBAAqBA,GACrB3T,cAAeA,GACfr/G,WAAYA,GACZslB,YAAalxB,EAAMkxB,YACnBkxG,eAAgBA,GAChBtgG,YAAaA,GACbsoF,mBAAoBA,GACpBR,gBAAiBA,GACjB7jG,SAAUA,EACV+6G,8BAA+BA,GAC/BD,2BAA4BA,GAC5BnB,uBAAwBA,GACxBE,oBAAqBA,MAGH,OAAbn6G,EACT2wG,EACE71H,cAACsiD,GAAe,CACd1yC,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVjhI,KAAMi5B,EACN+0F,YAAaA,KAGK,OAAb1sG,EACT2wG,EACE71H,cAACooB,GAAmB,CAClBxY,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVr/G,SAAUA,EACVqkG,mBAAoBA,GACpBR,gBAAiBA,MAGC,OAAbnkG,EACT2wG,EACE71H,cAACmjI,GAAe,CACdvzH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVr/G,SAAUA,EACVqkG,mBAAoBA,GACpBR,gBAAiBA,MAGC,OAAbnkG,EACT2wG,EACE71H,cAACgiD,GAAe,CACdpyC,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVj0G,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnBs3F,gBAAiBA,GACjBC,mBAAoBA,MAGF,OAAbhjG,EACT2wG,EACE71H,cAACqvH,GAAmB,CAClBz/G,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVj0G,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnBs6F,gBAAiBA,GACjBQ,mBAAoBA,MAGF,OAAbvmG,GACT2wG,EACE71H,cAACwzH,GAAiB,CAChB5jH,QAASA,GACTzO,OAAQA,GACRI,SAAUsjI,EACVxR,sBAAuBA,GACvBL,mBAAoBA,GACpBpiG,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,cAI3B,EASA,OACE3wB,cAAAC,WAAA,CAAAC,SACEE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAACjpB,MAAO,CAAEqlD,WAAY,YAAc9wC,IAAKqP,IAC9ChlB,EAAMgrI,sBACLzqI,cAACgnB,IAAM,CACLhmB,UAAU,iBACV8lB,OAAO,UACPI,QAASznB,EAAMgrI,qBAMfpjH,OAAQ,kBACN5nB,EAAM+qI,yBAAyB/qI,EAAMgrI,qBAAqB,EAE5DtjH,YAAa,CAAE,QAAS,QACxBF,aAAW,EACXK,WAAW,EACX85B,WAAW,EACXlhD,SAEAF,cAACkxC,KAAI,CACHlwC,UAAU,mBACVmwC,IAAI,aACJtwC,MAAO,CAAEC,WAAY,SACrBswC,SAAU5xB,EAAQtf,SAElBE,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAC4zH,GAA2B,CAC1B1H,QAAShnG,EACTinG,aAAchnG,EACdohC,aAAc9mD,EAAM8mD,aACpBsuE,SAAU,cAGd70H,cAAA,OACEgB,UAAU,gCACVH,MAAO,CAAEkf,OAAQ,QAAS7f,SAE1BE,eAAA,QAEEukC,SAAUD,GAAaojG,IACvB10H,UAAW,SAACjH,GArDR,IAACyzE,EAAYy7C,EAAZz7C,EAsDWzzE,EAtDCkvH,EAsDE32F,GArDlB,MAAbxf,GAAiC,MAAbA,GAEC,UAAd06D,EAAM3xE,MAAsC,IAAnB2xE,EAAM07C,WACxC17C,EAAMrqE,iBACN8lH,EAAS32F,IAkDK,EAAExkC,SAAA,CAEFF,cAAA,OAAAE,SAAMqyC,IAENnyC,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAACwnB,IAAM,CACL3mB,MAAO,CACL8U,MAAO,UACP6U,gBAAiB,MACjBzd,MAAO,QACPsK,aAAc,MACdC,OAAQ,EACR1K,SAAU,QAEZpL,MAAM,SACNC,KAAK,SACLmU,QAAS,kBAAMnW,EAAM+qI,yBAAwB,EAAM,EACnDxpI,UAAU,4CACV4V,KAAK,uBAEP5W,cAACwnB,IAAM,CACL3mB,MAAO,CACL8U,MAAO,UACP6U,gBAAiB,UACjBzd,MAAO,QACPsK,aAAc,MACdC,OAAQ,EACR1K,SAAU,QAEZpL,MAAM,OACNC,KAAK,SACLT,UAAU,4CACV4V,KAAK,oBApCJ,gBAgDzB,C,OC3mCe8zH,OA9Gf,SAA0BjrI,GACxB,IAAA6lB,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACX95B,GADwB85B,EAAA,GACZh/C,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KAClE+lB,EAAqBP,EAAU1D,kBAC7By9B,EAAW/5B,EAAUzD,QAC3BxN,EACEC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GADnBmzH,EAAoBjzH,EAAA,GAO3B,OAPoDA,EAAA,GAQlDtX,eAAA,OAAKY,UAAU,MAAKd,SAAA,CACjByqI,GACC3qI,cAAA,OAAKgB,UAAU,qCAAoCd,SACjDF,cAACsjC,KAAe,CAACtiC,UAAU,2BAG9BvB,EAAMgS,WACLzR,cAAC2iD,KAAM,CACLE,KAAM,CAEJC,WAAW,EACXC,mBAAmB,EACnBC,SAAS,EACTC,aAAa,EAEbljC,OAAQ,IACRqjC,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,QAAS,CACP,aACA,yEACA,2CACA,yEACA,+EACA,QAEFE,SACE,iQACFC,iBACE,mDACFC,aACE,mlBAqBFC,cACE,sOAEFC,sBAAsB,WAAD,IAAAC,EAAA9hD,YAAAC,IAAAC,MAAE,SAAAC,EAAgB4hD,EAAUC,EAASC,GAAO,IAAAz+B,EAAAS,EAAAkD,EAAA7lB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAUJ,OATvD8iB,EAAO,IAAI0+B,KAAK,CAACH,EAASjH,QAASiH,EAASI,WAAY,CAC1DC,aAAc7pC,KAAK8pC,QAEfp+B,EAAW,IAAIE,SACfgD,EAAWxmB,OAAO2mB,SAASH,SACjClD,EAASG,OAAO,OAAQZ,GACxBS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAY,IAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GACjCkD,aAAcqgB,GAAU,KAAD,IAA7C3iB,EAAad,EAAAmB,MACJH,KAAKuB,OACZ6jB,GACFA,EACmC,MAAjCA,EAAmBS,OAAO,GACtBT,EAAmBvf,UAAU,GAC7Buf,EACNo7B,EAAQp7B,EAAqB,IAAMtlB,EAASE,KAAK8iB,UAEjD09B,EAAQ,GAAAnjD,OAAGsoB,EAAQ,MAAOi5B,EAAW9+C,EAASE,KAAK8iB,SAGrD29B,EAAQ3gD,EAASE,KAAK8iB,SACvB,yBAAA9jB,EAAAqB,OAAA,GAAA1B,EAAA,KACF,gBAAA2B,EAAAO,EAAAK,GAAA,OAAAo/C,EAAA//C,MAAA,KAAAC,UAAA,EAzBqB,IA2BxBoE,MAAO/I,EAAMmrI,cACblmF,eA7FmB,SAACx6B,EAAcy6B,GACxCllD,EAAMorI,iBAAiB3gH,EACzB,IA8FMlqB,cAAA,OAAKiX,wBAAyB,CAAEC,OAAQzX,EAAMmrI,mBAItD,ECsceE,GAnjBc,SAACrrI,GAC5B,IAAA+X,EAAgDC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAjEuzH,EAAgBrzH,EAAA,GAAEszH,EAAmBtzH,EAAA,GAE5CgJ,EAA+BjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAvCmjH,EAAOljH,EAAA,GAAEsqH,EAAWtqH,EAAA,GAC3BG,EAAkCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAA1CwlC,EAASvlC,EAAA,GAAE8hH,EAAY9hH,EAAA,GAC9BgB,EAAwCtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAAhDwkC,EAAYvkC,EAAA,GAAEkpH,EAAelpH,EAAA,GAE9BmpH,EAAe,CACnB9pI,OAAQ,CACN,CACEE,SAAU,CACRK,MAAO,GACPJ,MAAO,GACPC,KAAM,KACNC,UAAW,CACTC,QAAS,GACTqR,YAAa,GACb/K,OAAQ,GACRyU,QAAS,KAGb9Y,KAAM,CAAE4E,MAAO,MACf48C,KAAM3+B,kBAIN2kH,EAAe,CACnBhqI,MAAO,CACLC,OAAQ,CACN,CACEE,SAAU,CACRK,MAAO,GACPJ,MAAO,GACPC,KAAM,KACNC,UAAW,CACTC,QAAS,GACTqR,YAAa,GACb/K,OAAQ,GACRyU,QAAS,KAGb9Y,KAAM,CAAE4E,MAAO,MACf48C,KAAM3+B,gBAER,CACEllB,SAAU,CACRK,MAAO,GACPJ,MAAO,GACPC,KAAM,KACNC,UAAW,CACTC,QAAS,GACTqR,YAAa,GACb/K,OAAQ,GACRyU,QAAS,KAGb9Y,KAAM,CAAE4E,MAAO,MACf48C,KAAM3+B,mBAKd,SAAS4kH,EAAWrpI,EAAa4B,GAC/B,IAAI0gG,EAAOtiG,EAcX,OAbA4B,EAAKiF,KAAI,SAACyiH,EAAkBjyG,GAC1BiyG,EAAYjqH,OAAOwH,KAAI,SAACg0B,EAAYxjB,QACN9Y,GAAxBs8B,EAAMt7B,SAASC,OACW,OAAxBq7B,EAAMt7B,SAASE,MACbo7B,EAAMt7B,SAASC,MAAMiH,SAASzG,KAChCsiG,GAAc,QACdl/F,QAAQe,IAAInE,GACZoD,QAAQe,IAAI02B,EAAMt7B,SAASC,OAInC,GACF,IACO8iG,CACT,CA2NA,OACElkG,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OACEY,UAAU,6BACV4U,QAAS,WACPxQ,QAAQe,IAAI1G,EAAMkxB,YAAa,eACjC,EAAEzwB,SAAA,CAEFE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,UACEY,UAAS,oCAAAC,OACsB,KAA7BxB,EAAM6rI,oBAA6B,aAAe,IAEpD11H,QAAS,WACPnW,EAAM8rI,uBAAuB,KAC7B9rI,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GAAO2qB,EAAUV,cAAY,IAAEivG,YAAY,KAAO,GAElE,EAAEvrI,SAAA,CAEFF,cAAC0rI,IAAiB,IAAG,YAGvBtrI,eAAA,UACEY,UAAS,oCAAAC,OACsB,KAA7BxB,EAAM6rI,oBAA6B,aAAe,IAEpD11H,QAAS,WACPnW,EAAM8rI,uBAAuB,KAC7B9rI,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GAAO2qB,EAAUV,cAAY,IAAEivG,YAAY,KAAM,GAEjE,EAAEvrI,SAAA,CAEFF,cAAC2rI,IAAU,IAAG,cAGY,KAA7BlsI,EAAM6rI,qBACLtrI,cAAA,OAAKgB,UAAU,iCAAgCd,SACT,IAAnCT,EAAMkxB,YAAYvvB,MAAM6G,OACvBjI,cAAA,OAAKgB,UAAU,kBAAiBd,SAC9BF,cAAA,KAAGgB,UAAU,mBAAkBd,SAAC,wBAGlCF,cAAAC,WAAA,CAAAC,SACEF,cAAC2tH,KAAe,CAACC,UAtLb,SAACzoH,GACjB,IAAI0oH,EAAcpuH,EAAMkxB,YAAYvvB,MACpC,GAAK+D,EAAO2oH,YAAZ,CAGA,IAAM1sH,EAZQ,SAAC2sH,EAAWC,EAAiBC,GAC3C,IAAM9oH,EAASs7B,MAAMkL,KAAKoiF,GAE1BG,EAAkB/oH,EAAOozC,OAAOy1E,EAAY,GAArCG,EAAuC73G,YAAA43G,EAAA,GAAhC,GAEd,OADA/oH,EAAOozC,OAAO01E,EAAU,EAAGE,GACpBhpH,CACT,CAMgBipH,CACZP,EACA1oH,EAAOkpH,OAAOh1G,MACdlU,EAAO2oH,YAAYz0G,OAGrB5Z,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMtH,IAAM,GATnB,CAWF,EAuKoDlB,SACpCF,cAACsuH,KAAS,CAACC,YAAY,YAAWruH,SAC/B,SAACsuH,EAAeC,GAAa,OAC5B5nE,wBAAA,MAAAt0C,wBAAA,GACMi8G,EAASod,gBAAc,IAC3Bx2H,IAAKo5G,EAASG,SACd9tH,MAAO,CAIL0iC,QAAS,EACT5tB,MAAO,QAET1H,IAAKxO,EAAMkxB,cAEVlxB,EAAMkxB,YAAYvvB,MAAMyH,KAAI,SAACjF,EAAWqV,GAAQ,OAC/CjZ,cAAA,OACEgB,UAAU,kCACV4U,QAAS,WACPs1H,EAAgBtnI,EAAKvC,OAAO4G,OAC9B,EAAE/H,SAEFF,cAAC4uH,KAAS,CACRC,YAAajrH,EAAKvC,OAAO,GAAG+jD,KAE5B/rC,MAAOJ,EAAI/Y,SAEV,SAACsuH,EAAeC,GAAa,OAC5BzuH,cAAA,MAAAuS,oCAAA,CAEEvR,UAAU,uDACVoU,IAAKo5G,EAASG,UACVH,EAASM,gBACTN,EAASO,iBAAe,IAC5BluH,MAAK0R,wBAAA,CACH28G,WAAY,OACZj6G,OAAQ,aACRm6E,UAAW,OAIXriF,MAAO,SACJyhH,EAASM,eAAejuH,OAAK,IAChCwyC,OAAQo7E,EAASO,WACb,mBACA,iBACJ9uH,SAED0D,EAAKvC,OAAOwH,KAAI,SAACg0B,EAAY4rF,GAAS,IAAAojB,EAAAC,EArNlC9zD,EAkHnBh2E,EAAU+pI,EAmG2C,OACrC3rI,eAAA,OAEEY,UAAU,wCAAuCd,SAAA,CAEhD28B,EAAMt7B,SAASC,MACdxB,cAAA,OAAKgB,UAAU,QAAOd,SACpBF,cAAA,KACEgB,UAAU,yBACV4U,QAAS,kBA/PnD,SAAuBiuH,EAAiBv9E,EAAmB1iD,GACzD,IAAIiqH,EAAcpuH,EAAMkxB,YAAYvvB,MACpCysH,EAAYgW,GAASxiI,OAAOilD,GAAW/kD,SAAW,CAAC,EACnD9B,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,GAE3B,CAyP4Cme,CAAc/yH,EAAKwvG,EAAW,EAC/BvoH,SAEDF,cAAC0zH,IAAG,QAIR1zH,cAAAC,WAAA,IAGFG,eAAA,OAAKY,UAAU,OAAMd,SAAA,CACnBF,cAAA,KACEgB,UAAU,yBACV4U,QAAS,kBA/UjD,SAAoBiuH,EAAiBv9E,EAAmB1iD,GACtD,IAAIiqH,EAAcpuH,EAAMkxB,YAAYvvB,MACpC,GAA0C,GAAtCysH,EAAYgW,GAASxiI,OAAO4G,OAAa,CAC3C,IAAIgkI,EAASZ,EACXxd,EAAYgW,GAASxiI,OAAO,GAAGE,SAASC,MACxC/B,EAAMkxB,YAAYvvB,OAEd8qI,EAAe,CACnB7qI,OAAQ,CACN,CACEE,SAAQgR,wBAAA,GACH3O,EAAKvC,OAAO,GAAGE,UAAQ,IAC1BC,MAAOyqI,IAETroI,KAAMA,EAAKvC,OAAO,GAAGuC,KACrBwhD,KAAM3+B,kBAIZonG,EAAYt1E,OAAOsrF,EAAU,EAAG,EAAGqI,EACrC,MAAO,GAA0C,GAAtCre,EAAYgW,GAASxiI,OAAO4G,OAAa,CAClD,IAAIkkI,EAAUd,EACZxd,EAAYgW,GAASxiI,OAAO,GAAGE,SAASC,MACxC/B,EAAMkxB,YAAYvvB,OAEhBgrI,EAAUf,EACZxd,EAAYgW,GAASxiI,OAAO,GAAGE,SAASC,MACxC/B,EAAMkxB,YAAYvvB,OAEdirI,EAAe,CACnBhrI,OAAQ,CACN,CACEE,SAAQgR,wBAAA,GACH3O,EAAKvC,OAAO,GAAGE,UAAQ,IAC1BC,MAAO2qI,IAETvoI,KAAMA,EAAKvC,OAAO,GAAGuC,KACrBwhD,KAAM3+B,gBAER,CACEllB,SAAQgR,wBAAA,GACH3O,EAAKvC,OAAO,GAAGE,UAAQ,IAC1BC,MAAO4qI,IAETxoI,KAAMA,EAAKvC,OAAO,GAAGuC,KACrBwhD,KAAM3+B,kBAIZonG,EAAYt1E,OAAOsrF,EAAU,EAAG,EAAGwI,EACrC,CACA5sI,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,GAE3B,CAyR0Cye,CAAWrzH,EAAKwvG,EAAM7kH,EAAK,EAC5B1D,SAEDF,cAACusI,KAAS,MAEZvsI,cAAA,KACEgB,UAAU,yBACV4U,QAAS,kBA9RjD,SAAsBiuH,EAAiBv9E,GACrC,IAAIunE,EAAcpuH,EAAMkxB,YAAYvvB,MACpCysH,EAAYt1E,OAAOsrF,EAAS,GAC5BpkI,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMmlH,IAAY,GAE3B,CAwR0C2e,CAAavzH,EAAU,EACxB/Y,SAEDF,cAAC8oH,IAAO,SAGZ9oH,cAAA,OACEgB,UAAU,yCACV4U,QAAS,WACPq1H,EAAYhyH,GACZ4pH,EAAapa,GACbuiB,GAAoB,EACtB,EAAE9qI,SAEa,QAAd2rI,EAAAhvG,EAAMt7B,gBAAQ,IAAAsqI,GAAdA,EAAgBpqI,MACO,OAAV,QAAdqqI,EAAAjvG,EAAMt7B,gBAAQ,IAAAuqI,OAAA,EAAdA,EAAgBrqI,MACdrB,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBE,eAAA,OAAKY,UAAU,+BAA8Bd,SAAA,CAC3CF,cAAA,QAAMgB,UAAU,iCAAgCd,SAW7C28B,EAAMt7B,SAAS4kD,WAhK5CnkD,EAkKgC66B,EAAMt7B,SAAS4kD,UAlKrC4lF,EAmKsB,EAlKzC/pI,EAAIqH,MAAM,KAAKkvC,OAAO,EAAGwzF,GAAUpiI,KAAK,MAoKCkzB,EAAMt7B,SAASC,MACjBq7B,EAAMt7B,SAASC,MAEfxB,cAAA,OACEa,MAAO,CACLuuF,UAAW,eAKnBpvF,cAAA,QAAMgB,UAAU,qCAAoCd,SACjD28B,EAAMt7B,SAAS4kD,UACZ,GACAtpB,EAAMt7B,SAASK,MAAK,MAAAX,OACd47B,EAAMt7B,SAASK,OACrB,QAMR5B,cAAA,OAAKgB,UAAU,mCAAkCd,SAC/CF,cAAA,OAAKgB,UAAU,oCAAmCd,UA7SzD83E,EA+SWn7C,EAAMt7B,SAASE,KA9S5C,MAAbu2E,EAEA53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8zH,KAAS,CAAC9yH,UAAU,gBACrBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,eAG9B,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC+zH,KAAM,CAAC/yH,UAAU,gBAClBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,iBAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg0H,KAAY,CAAChzH,UAAU,gBACxBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,iBAG9B,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACi0H,IAAe,CAACjzH,UAAU,gBAC3BhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,cAG9B,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACk0H,KAAU,CAAClzH,UAAU,gBACtBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,gBAG9B,MAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACm0H,KAAiB,CAACnzH,UAAU,gBAC7BhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,cAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACo0H,KAAiB,CAACpzH,UAAU,gBAC7BhB,cAAA,QAAMgB,UAAU,0CAAyCd,SAAC,mBAKxC,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACq0H,KAAY,CAACrzH,UAAU,gBACxBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,gBAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACs0H,IAAO,CAACtzH,UAAU,gBACnBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,aAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACu0H,IAAqB,CAACvzH,UAAU,gBACjChB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,iBAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACo4G,KAAY,CAACp3G,UAAU,gBACxBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,kBAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACy0H,KAAa,CAACzzH,UAAU,gBACzBhB,cAAA,QAAMgB,UAAU,0CAAyCd,SAAC,cAKxC,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC00H,IAAiB,CAAC1zH,UAAU,gBAC7BhB,cAAA,QAAMgB,UAAU,0CAAyCd,SAAC,kBAKxC,QAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC20H,KAAU,CAAC3zH,UAAU,gBACtBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,gBAG9B,OAAb83E,EAEP53E,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACw0H,KAAU,CAACxzH,UAAU,gBACtBhB,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,kBAJ/C,UA4M+BE,eAAA,KAAGY,UAAU,0DAAyDd,SAAA,CACpEF,cAACsyE,IAAa,CAACtxE,UAAU,oBAAoB,qBA/F9C67B,EAAMuoB,KAoGP,MAzHHxhD,EAAKvC,OAAO,GAAG+jD,KA2HhB,GAhIHxhD,EAAKvC,OAAO,GAAG+jD,OAmIlB,IAEPopE,EAASz7G,YACN,UASU,KAA7BtT,EAAM6rI,qBACLlrI,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,UACEwV,QAAS,WACP,IAAIpV,EAAMf,EAAMkxB,YAAYvvB,MAC5BZ,EAAIsI,KAAKqiI,GACT1rI,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMlI,IAAI,GAEnB,EACAQ,UAAU,oCAAmCd,SAAA,CAE7CF,cAAC0rI,IAAiB,IAAG,cAEvBtrI,eAAA,UACEwV,QAAS,WACP,IAAIpV,EAAMf,EAAMkxB,YAAYvvB,MAC5BZ,EAAIsI,KAAKsiI,EAAQhqI,OACjB3B,EAAMmxB,gBAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GAC/B2qB,GAAS,IACZ97B,MAAKsH,YAAMlI,IAAI,GAEnB,EACAQ,UAAU,oCAAmCd,SAAA,CAE7CF,cAAC0rI,IAAiB,IAAG,iBAIG,KAA7BjsI,EAAM6rI,qBACLtrI,cAAC0qI,GAAgB,CACfG,iBAAkBprI,EAAMorI,iBACxBD,cAAenrI,EAAMmrI,mBAI1BG,GACC/qI,cAAC0jI,GAAqB,CACpBp9E,UAAWA,EACXu9E,QAASA,EACTt9E,aAAcA,EACd31B,eAAgBnxB,EAAMmxB,eACtBD,YAAalxB,EAAMkxB,YACnB85G,qBAAsBM,EACtBP,wBAAyBQ,MAKnC,E,cCrSeyB,OAzSf,SAAyBhtI,GAAe,IAADitI,EAAAC,EACrCn1H,EAA4CC,qBAAeC,EAAApB,YAAAkB,EAAA,GAApDkV,EAAchV,EAAA,GAAEk1H,EAAiBl1H,EAAA,GACxCgJ,EAA8BjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1C0B,EAAOzB,EAAA,GAAEksH,EAAUlsH,EAAA,GAC1BG,EAA0BrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAlCtY,EAAKuY,EAAA,GAAEqE,EAAQrE,EAAA,GAEtBgB,EAAwCtK,qBAAkBuK,EAAA1L,YAAAyL,EAAA,GAAnD+qH,EAAY9qH,EAAA,GAAE+qH,EAAe/qH,EAAA,GACpCC,EAAwCxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAAzD+qH,EAAY9qH,EAAA,GAAE+qH,EAAe/qH,EAAA,GACpCwG,EAAwCjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAApDwkH,EAAYvkH,EAAA,GAAEwkH,EAAexkH,EAAA,GACpCC,EAAsCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAA9CwkH,EAAWvkH,EAAA,GAAEwkH,EAAcxkH,EAAA,GAClC2I,EAAoC/Z,oBAAkB,GAAMga,EAAAnb,YAAAkb,EAAA,GAArD87G,EAAU77G,EAAA,GAAE87G,EAAa97G,EAAA,GAuDhC,OA1CAjlB,qBAAU,WACR,IAAMmkB,EAAqBlxB,EAAMkxB,YAAYvvB,MACzCoX,EAAiB,GACrBmY,EAAY9nB,KAAI,SAACN,GACfA,EAAKlH,OAAOwH,KAAI,SAACxH,GAEY,MAAzBA,EAAOE,SAASE,MACS,OAAzBJ,EAAOE,SAASE,MACS,OAAzBJ,EAAOE,SAASE,MACfq1D,yBAAcz1D,EAAOE,WAEtBiX,EAAQ1P,KAAK,CAAEtH,MAAOH,EAAOE,SAASC,MAAOoO,QAASvO,GAE1D,GACF,IACAwrI,EAAWr0H,EACb,GAAG,IAEHhM,qBAAU,WACR,SACyBjM,IAAnBmsB,GACEA,EAAe9c,eACiCrP,IAA9CmsB,EAAe9c,QAAQrO,SAASG,gBACsBnB,IAApDmsB,EAAe9c,QAAQrO,SAASG,UAAUN,OAC5C6rI,GAAgB,GAC6B,OAAzCvgH,EAAe9c,QAAQrO,SAASE,KAClC8rI,GAAc,GAEdA,GAAc,GAEhBJ,EAAgBzgH,EAAe9c,QAAQrO,SAASG,UAAUN,QAK5D6rI,GAAgB,GAIxB,CAAE,MAAO5nI,GAAQ,CACnB,GAAG,CAACqnB,IAGFtsB,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBR,UAAQ,EACRU,aAAc,mDAGlBnN,cAAA,OAAKgB,UAAU,aAAYd,SACzBF,cAAC++C,IAAQ,CACPpsC,GAAI,SACJnK,MAAOkkB,EACPja,SAAU,SAACtG,GACTiZ,EAAS,IACTwnH,EAAkBzgI,EAAE3D,OACpB6kI,EAAe,KACjB,EACAn1H,QAAM,EACNsiD,WAAS,EACTC,SAAS,QACTF,YAAY,QACZn4C,QAASA,SAIfhiB,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBR,UAAQ,EACRU,aAAc,6CAGlB/M,eAAA,OAAKY,UAAU,aAAYd,SAAA,CACzBF,cAACioB,IAAS,CACRtV,GAAI,QACJnK,MAAOA,EACPiK,SAAU,SAACtG,GACTiZ,EAASjZ,EAAEuG,OAAOlK,MACpB,EACAgK,OAAQ,SAACrG,GAAO,IAADqhI,EAAAC,EACmC,OAA9B,OAAd/gH,QAAc,IAAdA,GAAuB,QAAT8gH,EAAd9gH,EAAgB9c,eAAO,IAAA49H,GAAU,QAAVC,EAAvBD,EAAyBjsI,gBAAQ,IAAAksI,OAAnB,EAAdA,EAAmChsI,OACrC2jB,EACE1W,OAAOvC,EAAEuG,OAAOlK,OAAOiU,QACrB/N,OAAOge,EAAe9c,QAAQrO,SAASG,UAAU8a,UAIzD,EACAxb,UAAWo5D,YAAW,CACpB,mBACa75D,IAAViI,GAAiC,KAAVA,QACPjI,IAAhB6sI,GACiB,KAAhBA,GACgB,OAAhBA,KAINj4H,WAAS,SAEA5U,IAAViI,GACY,KAAVA,GAAgC,OAAhB4kI,GACfptI,cAAA,SAAOgB,UAAU,UAASd,SAAC,6BAIU,OAA9B,OAAdwsB,QAAc,IAAdA,GAAuB,QAATggH,EAAdhgH,EAAgB9c,eAAO,IAAA88H,GAAU,QAAVC,EAAvBD,EAAyBnrI,gBAAQ,IAAAorI,OAAnB,EAAdA,EAAmClrI,OAClCrB,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBR,UAAQ,EACRU,aAAc,yDAGlB/M,eAAA,OAAKY,UAAU,aAAYd,SAAA,CACzBF,cAAC++C,IAAQ,CACPpsC,GAAI,gBACJnK,MAAOskI,EACPr6H,SAAU,SAACtG,GACT4gI,EAAgB5gI,EAAE3D,MACpB,EACA0P,QAAM,EACNsiD,WAAS,EACTC,SAAS,QACTF,YAAY,QACZn4C,QA9IW,CACrB,CAAE5gB,MAAO,eAAgBgH,MAAO,YAChC,CAAEhH,MAAO,iBAAkBgH,MAAO,aAClC,CAAEhH,MAAO,mBAAoBgH,MAAO,gBACpC,CACEhH,MAAO,gCACPgH,MAAO,4BAET,CAAEhH,MAAO,gBAAiBgH,MAAO,aACjC,CAAEhH,MAAO,6BAA8BgH,MAAO,iCAuIpBjI,IAAjBusI,GACC9sI,cAAA,SAAOgB,UAAU,UAASd,SAAC,iCAKlC8sI,GACC5sI,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CF,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC3DF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBR,UAAQ,EACRU,aAAc,yDAGlB/M,eAAA,OAAKY,UAAU,aAAYd,SAAA,EACvBotI,GACAttI,cAAC++C,IAAQ,CACPpsC,GAAI,SACJnK,MAAO4kI,EACP36H,SAAU,SAACtG,GACTkhI,EAAelhI,EAAE3D,MACnB,EACAxH,UAAWo5D,YAAW,CACpB,mBACa75D,IAAViI,GAAiC,KAAVA,QACPjI,IAAhB6sI,GACiB,KAAhBA,GACgB,OAAhBA,KAINl1H,QAAM,EACNsiD,WAAS,EACTC,SAAS,OACTF,YAAY,OACZn4C,QAAS8qH,IAGZI,GACCttI,cAACg1E,KAAW,CACV98D,QAAM,EACNsiD,WAAS,EACTC,SAAS,OACTF,YAAY,OACZ5nD,GAAI,SACJnK,MAAO4kI,EACP36H,SAAU,SAACtG,GAAC,OAAKkhI,EAAelhI,EAAE3D,MAAM,EACxC4Z,QAAS8qH,EACTn6H,YAAY,uBACZ/R,UAAWo5D,YAAW,CACpB,mBACa75D,IAAViI,GAAiC,KAAVA,QACPjI,IAAhB6sI,GACiB,KAAhBA,GACgB,OAAhBA,YAME7sI,IAAViI,GAAiC,KAAVA,GACN,OAAhB4kI,GACCptI,cAAA,SAAOgB,UAAU,UAASd,SAAC,iCAKrCE,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAc,kBAAMjpD,EAAMkhD,kBAAiB,EAAM,EACjDwH,kBAAkB,+CAClBC,cAAe,CACbzyC,MAAO,QACP2I,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAId5M,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZ,IAAI9mC,EACJ,QAAuBrhB,IAAnBmsB,EAA8B,CAChC,QAAcnsB,IAAViI,GAAiC,KAAVA,EAAc,CACvCoZ,EAAMpZ,EACN,IAAM5E,EAAY,CAChBiM,MAAO6c,EAAelrB,MACtBgH,MAAOoZ,GAELkrH,IACFlrH,EAAMpZ,EACN5E,EAAKmW,OAAS+yH,GAEhBrtI,EAAMiuI,WAAW9pI,EAAM,YACzB,CAEA,GAAIwpI,EACF,GAAIA,EAAY7kI,KAAM,CACpBqZ,EAAMwrH,EAAY7kI,KAClB,IAAM3E,EAAO,CACXiM,MAAO6c,EAAelrB,MACtBgH,MAAOoZ,GAETniB,EAAMiuI,WAAW9pI,EAAM,YACzB,KAAO,CACL,IAGIgtH,EAHQwc,EAAYvkI,KAAI,SAACN,GAC3B,OAAOA,EAAKA,IACd,IACqBuC,WACflH,EAAO,CACXiM,MAAO6c,EAAelrB,MACtBgH,MAAOooH,GAETnxH,EAAMiuI,WAAW9pI,EAAM,YACzB,CAEJ,CACF,EACAilD,UAAW,SACX2lB,cAAe,OACftmB,aAAcloD,cAACqoH,IAAa,IAC5BlgE,kBAAmB,gCAK7B,E,OC5LewlF,OAzGf,SAA6BluI,GAC3B,IAAA+X,EAAoDC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA1Co2H,GAAFl2H,EAAA,GAAuBA,EAAA,IAC1C8N,EAAWjiB,KAAKwM,MACpBhN,OAAOC,aAAaC,QAAQ,aAAe,QAE7Cyd,EAAgCjJ,mBAAc,CAC5Co2H,OAAQ,CAAErlI,MAAO,KAAMy2E,UAAWC,KAAgBM,YAClD7+D,EAAArK,YAAAoK,EAAA,GAFKotH,EAAQntH,EAAA,GAAEotH,EAAWptH,EAAA,GAG5BG,EAAwCrJ,mBACtC1J,OAAOC,KAAKvO,EAAMghD,SAAS,KAC5B1/B,EAAAzK,YAAAwK,EAAA,GAFMktH,EAAYjtH,EAAA,GAGnBgB,GAHoChB,EAAA,GAGItJ,mBAAgB,KAAGuK,EAAA1L,YAAAyL,EAAA,GAApD+2D,EAAY92D,EAAA,GAAEisH,EAAejsH,EAAA,GAE9B4+D,EAAiBnhF,EAAM+Y,QAAQ3P,KAAI,SAACrI,GACxC,IAAIqP,EAAQ,GAMZ,OAJEA,EADiC,OAA/B2V,EAAS4F,aAAa2tC,KAChBv4D,EAAIqP,MAAM5N,QAAQ,KAAM,MAExBzB,EAAIqP,MAAM5N,QAAQ,KAAM,MAE3BjC,cAACs4B,KAAM,CAAazoB,MAAOA,EAAOiX,OAAQtmB,EAAIsmB,QAAjCjX,EACtB,IAGA,OAFAzK,QAAQe,IAAI2yE,GAGV94E,cAAC2xC,KAAG,CAAAzxC,SACFE,eAACC,KAAG,CAACW,UAAU,gBAAed,SAAA,CAC5BE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACioB,IAAS,CACRxV,SAAU,SAACtG,GACT,IAAM3D,EAAQ2D,EAAEuG,OAAOlK,MACnB0lI,EAAS37H,YAAA,GAAQu7H,GACrBI,EAAkB,OAAE1lI,MAAQA,EAC5BulI,EAAYG,GACZN,EAAsBplI,EACxB,SAINxI,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAAAH,SACFE,eAAC+wE,KAAS,CACRx+D,GAAI,QACJnK,MAAO/I,EAAMghD,SACbwmC,WAAS,EACTn0E,KAAK,QACL+0E,QAASimD,EACT7pH,KAAM,EACN2jE,UAAQ,EACRrW,QAAS9xE,EAAM8xE,QACfiW,UAAW1O,EACXl4B,cAAc,WACd8mC,mBAAoBsmD,EAIpBvmD,kBAAmB,SAACt7E,GAClB8hI,EAAgB9hI,EAAE3D,MACpB,EACAgpE,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLsoB,cAAc,WACdutF,YAAa,CAAEx4H,MAAO,SAEvBirE,SAIP5gF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CACFQ,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,YAChBx0C,SAEFF,cAACwnB,KAAM,CACL/lB,KAAK,UACLZ,MAAO,CACLyd,OAAQ,oBACRjH,aAAc,EACdmT,gBAAiB,SAEnB5U,QAAS,WACPkjE,EAAaxwE,SAAQ,SAAC6D,GACpB1M,EAAMiuI,WAAWvhI,EACnB,GACF,EAAEjM,SACH,iBAQb,E,oBCLekuI,GAzGO,SAAHjsI,GAIQ,IAHzBksI,EAAkBlsI,EAAlBksI,mBACAh9C,EAAalvF,EAAbkvF,cACA5+E,EAAQtQ,EAARsQ,SAEM67H,EAAe,SAACrgI,EAAazF,EAAY6Q,GAC7C5G,EACE47H,EAAmBxlI,KAAI,SAAC4P,EAASQ,GAI/B,OAHIA,IAAQI,IACVZ,EAAQxK,GAAOzF,GAEViQ,CACT,IAEJ,EAEMD,EAAuC,CAC3C,CACE3D,MAAO,iBACP4E,UAAW,SACXxL,IAAK,SACLiL,MAAO,SACPvD,MAAO,IACPzD,OAAQ,SAAC0P,EAAKxI,EAAQC,GACpB,OACErZ,cAAC++C,IAAQ,CACPv2C,MAAOoZ,EACPnP,SAAU,SAACtG,GAAC,OAAKmiI,EAAa,SAAUniI,EAAE3D,MAAO6Q,EAAM,EACvD+I,QAAS,CACP,CAAE5Z,MAAO,WAAYhH,MAAO,aAC5B,CAAEgH,MAAO,OAAQhH,MAAO,SAE1BX,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,OAAQkT,UAAW,QACtDy6C,YAAY,SAGlB,GAEF,CACE1lD,MAAO,iBACP4E,UAAW,cACXP,MAAO,SACPjL,IAAK,cACLiE,OAAQ,SAAC0P,EAAKxI,EAAQC,GACpB,OACErZ,cAAAC,WAAA,CAAAC,SACEF,cAACg1E,KAAW,CACVriE,GAAI,cACJnK,MAAOoZ,EACPQ,QAASivE,EACT5+E,SAAU,SAACtG,GACTmiI,EAAa,cAAeniI,EAAEuG,OAAOlK,MAAO6Q,EAC9C,EACAk1H,kBAAmB,EACnBx7H,YAAY,sBACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,OAAQkT,UAAW,WAI9D,GAEF,CACEjL,MACE7U,cAAA,OACEa,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACRszB,OAAQ,WAEVz9B,QAAS,WACPnD,EAAS,GAADxR,OAAAyH,YACH2lI,GAAkB,CACrB,CAAEt0H,OAAQ,WAAYwf,YAAa,GAAIi1G,YAAa,OAExD,EAAEtuI,SAEFF,cAACyuI,KAAkB,CAACvwF,SAAK39C,MAG7B2Y,MAAO,SACPvD,MAAO,IACPzD,OAAQ,SAAC0P,EAAKxI,EAAQC,GAAK,OACzBrZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OACEgB,UAAU,oBACVH,MAAO,CAAEkM,MAAO,MAAOsmC,OAAQ,WAC/Bz9B,QAAS,WACPnD,EAAQ/J,YACH2lI,EAAmBn2H,QAAO,SAAC/L,EAAG8M,GAAG,OAAKA,IAAQI,CAAK,KAE1D,KAED,IAKT,OACErZ,cAAA,OAAAE,SACEF,cAACi/C,KAAK,CAACxhB,WAAY4wG,EAAoB71H,QAASA,KAGtD,ECnEe,SAASk2H,GAAcjvI,GAAe,IAADkvI,EAAAC,EAClDp3H,EAAwDC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAAlEq3H,EAAoBn3H,EAAA,GAAEo3H,EAAuBp3H,EAAA,GACpDgJ,EAA8BjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAC/CI,GADcH,EAAA,GAAYA,EAAA,GACgBlJ,mBAAgB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAAtDiuH,EAAahuH,EAAA,GAAEiuH,EAAgBjuH,EAAA,GACtCgB,EAA0CtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAA3D2+B,EAAa1+B,EAAA,GAAE2+B,EAAgB3+B,EAAA,GACtCC,EAAkDxK,oBAAkB,GAAKyK,EAAA5L,YAAA2L,EAAA,GAA/CgtH,GAAF/sH,EAAA,GAAsBA,EAAA,IAC9CwG,EAAgCjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAAxCwmH,EAAQvmH,EAAA,GAAEwmH,EAAWxmH,EAAA,GAC5BC,EAA0CnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAAlDunD,EAAatnD,EAAA,GAAEumH,EAAgBvmH,EAAA,GACtC2I,EAAgD/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GAAxD69G,EAAgB59G,EAAA,GAAE69G,EAAmB79G,EAAA,GAC5CG,EAA8Cna,mBAAgB,IAAGoa,EAAAvb,YAAAsb,EAAA,GAA1Dkc,EAAejc,EAAA,GAAE09G,EAAkB19G,EAAA,GAC1CG,EAAgDva,mBAAgB,IAAGwa,EAAA3b,YAAA0b,EAAA,GAA5Dw9G,EAAgBv9G,EAAA,GAAEw9G,EAAmBx9G,EAAA,GAC5CG,EAAsC3a,mBAAiB,IAAG4a,EAAA/b,YAAA8b,EAAA,GAAnDs9G,GAAWr9G,EAAA,GAAEs9G,GAAct9G,EAAA,GAClCG,GAAoC/a,qBAAegb,GAAAnc,YAAAkc,GAAA,GAA5Co9G,GAAUn9G,GAAA,GAAEo9G,GAAap9G,GAAA,GAChCG,GAAkDnb,oBAAkB,GAAKob,GAAAvc,YAAAsc,GAAA,GAAlEk9G,GAAiBj9G,GAAA,GAAEk9G,GAAoBl9G,GAAA,GAC9CG,GAA4Cvb,oBAAkB,GAAEwb,GAAA3c,YAAA0c,GAAA,GAAzDg9G,GAAc/8G,GAAA,GAAEg9G,GAAiBh9G,GAAA,GAClCzN,GAAWjiB,KAAKwM,MAAOhN,OAAeC,aAAaC,QAAQ,aACjEowB,GAA4B5b,mBAAc,GAAE6b,GAAAhd,YAAA+c,GAAA,GAC5CkvC,IADajvC,GAAA,GAAWA,GAAA,GACF7b,oBAAkB,IAAM+qD,GAAAlsD,YAAAisD,GAAA,GAAvC2tE,GAAG1tE,GAAA,GAAE2tE,GAAM3tE,GAAA,GAClBG,GAAsBlrD,oBAAkB,GAAMmrD,GAAAtsD,YAAAqsD,GAAA,GAAvCytE,GAAGxtE,GAAA,GAAEytE,GAAMztE,GAAA,GAClBE,GAAsBrrD,oBAAkB,GAAMsrD,GAAAzsD,YAAAwsD,GAAA,GAAvCwtE,GAAGvtE,GAAA,GAAEwtE,GAAMxtE,GAAA,GAClB8Z,GAAsBplE,oBAAkB,GAAMqlE,GAAAxmE,YAAAumE,GAAA,GAAvC2zD,GAAG1zD,GAAA,GAAE2zD,GAAM3zD,GAAA,GAClBG,GAAoCxlE,oBAAkB,GAAMylE,GAAA5mE,YAAA2mE,GAAA,GAArDyzD,GAAUxzD,GAAA,GAAEyzD,GAAazzD,GAAA,GAChCI,GAAwC7lE,mBAAiB,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAArDszD,GAAYrzD,GAAA,GAAEszD,GAAetzD,GAAA,GACpC8V,GAAsC57E,qBAAkB67E,GAAAh9E,YAAA+8E,GAAA,GAAjDy9C,GAAWx9C,GAAA,GAClBG,IADkCH,GAAA,GACF77E,sBAAei8E,GAAAp9E,YAAAm9E,GAAA,GAC/CI,IADeH,GAAA,GAAaA,GAAA,GACAj8E,oBAAkB,IAAMq8E,GAAAx9E,YAAAu9E,GAAA,GACpDI,IADaH,GAAA,GAAWA,GAAA,GACIr8E,oBAAkB,IAAMy8E,GAAA59E,YAAA29E,GAAA,GACpDI,IADaH,GAAA,GAAWA,GAAA,GACQz8E,oBAAkB,IAAM68E,GAAAh+E,YAAA+9E,GAAA,GACxDI,IADeH,GAAA,GAAaA,GAAA,GACc78E,mBAAgB,KAAGi9E,GAAAp+E,YAAAm+E,GAAA,GAAtDpD,GAAaqD,GAAA,GAAEpD,GAAgBoD,GAAA,GACtCG,GAAgDp9E,mBAAgB,IAAG49E,GAAA/+E,YAAAu+E,GAAA,GACnEk8C,IADuB17C,GAAA,GAAqBA,GAAA,GACc59E,mBAAgB,KAAGu5H,GAAA16H,YAAAy6H,GAAA,GAE7EE,IAF4BD,GAAA,GAA0BA,GAAA,GAEFv5H,mBAAc,KAAGy5H,GAAA56H,YAAA26H,GAAA,GAA9D5C,GAAkB6C,GAAA,GAAEC,GAAqBD,GAAA,GAE1CE,GAAkB,CACtBC,UAAW,SACXrkI,WAAY,SACZJ,SAAU,OACVC,WAAY,OACZknG,WAAY,MACZhnG,MAAO,WAGTP,qBAAU,gBACcjM,IAAlBd,EAAMgZ,SAiBZ,SAAqBA,GACnB,IACE,IAAIpN,EAAoB,GAmBxB,QAjByB9K,IAAvBkY,EAAQw4B,YACe,OAAvBx4B,EAAQw4B,YACe,KAAvBx4B,EAAQw4B,iBAG4B1wC,IAAlCkY,EAAQw4B,WAAWA,YACe,OAAlCx4B,EAAQw4B,WAAWA,aAEnBx4B,EAAQw4B,WAAWA,WAAWpoC,KAAI,SAACnB,GACjC2D,EAAWvC,KAAK,CACd+G,MAAOnI,EAAImI,MACXrH,MAAOd,EAAIc,OAEf,IACA+mI,EAAmBlkI,SAIW9K,IAAhCkY,EAAQ64H,qBACwB,OAAhC74H,EAAQ64H,qBACwB,KAAhC74H,EAAQ64H,oBACR,CACA,IAAIC,EAAyB7oI,YACvB+P,EAAQ64H,oBAAoBrgG,YAAc,IAEhDxxC,EAAMmQ,QAAQyjE,YAAYg7D,mBAAqBkD,EAC/CJ,GAAsBI,EACxB,CAE4B,KAAxB94H,EAAQsiB,aACVo1G,IAAO,GACP1wI,EAAM20D,aAAavrD,KAAI,SAACsD,GAClBsM,EAAQ+4H,aAAerlI,EAAEwkE,kBAC3BlxE,EAAMmQ,QAAQyjE,YAAYm+D,WAAarlI,EACvCgjI,EAAYhjI,GAEhB,IACA1M,EAAMmQ,QAAQyjE,YAAYo+D,iBAAkB,GACX,KAAxBh5H,EAAQsiB,aACjBs1G,IAAO,GACP5wI,EAAM20D,aAAavrD,KAAI,SAACsD,GAClBsM,EAAQ+4H,aAAerlI,EAAEwkE,kBAC3BlxE,EAAMmQ,QAAQyjE,YAAY1C,gBAAkBxkE,EAC5CijI,EAAiBjjI,GAErB,IACA1M,EAAMmQ,QAAQyjE,YAAYq+D,oBAAqB,GACd,KAAxBj5H,EAAQsiB,aACjBw1G,IAAO,GACP9wI,EAAMkyI,WAAW9oI,KAAI,SAACsD,GAChBsM,EAAQ+4H,aAAerlI,EAAEmkE,kBAC3B7wE,EAAMmQ,QAAQyjE,YAAYu+D,kBAAoBzlI,EAC9CmjI,EAAoBnjI,GAExB,IACA1M,EAAMmQ,QAAQyjE,YAAYw+D,qBAAsB,GACf,KAAxBp5H,EAAQsiB,cACjB01G,IAAO,GACPhxI,EAAMmQ,QAAQyjE,YAAYy+D,mBAAoB,EAC9CryI,EAAMmQ,QAAQyjE,YAAY0+D,eAAiBt5H,EAAQu5H,WACnDrB,GAAcl4H,EAAQu5H,YACtBvyI,EAAMmQ,QAAQyjE,YAAY4+D,aAAex5H,EAAQw5H,aACjDpB,GAAgBp4H,EAAQw5H,aAAe,MAAQ,QAC/CxyI,EAAMmQ,QAAQyjE,YAAY6+D,aAAez5H,EAAQ05H,YACjD1C,EAAoBh3H,EAAQq5H,mBAEhC,CAAE,MAAOzsI,GACPD,QAAQC,MAAM,gBAAiBA,EACjC,CACF,CAzFI+sI,CAAY3yI,EAAMgZ,QAEtB,GAAG,CAACs2H,IAEJviI,qBAAU,gBACoBjM,IAAxBd,EAAM4yI,eACR5yI,EAAM4yI,cAAcxpI,KAAI,SAACsD,IACV,GAATA,EAAE4lE,KAEiB,YAAZ5lE,EAAE8/C,SADXgkF,GAAkB9jI,EAAEmmI,SAIxB,GAEJ,GAAG,CAAC7yI,EAAM4yI,gBA6EV,IAAMvK,GAAgB,SAAClkI,EAAW2uI,GAChC,IACE,QAAahyI,IAATqD,GACF,GAAsB,cAAlB2uI,EAA+B,CACjC,IAAIlnI,EAAoByiC,EACxBziC,EAAWvC,KAAK,CACd+G,MAAOjM,EAAKiM,MACZrH,MAAO5E,EAAK4E,MACZuR,OAAQnW,EAAKmW,SAEfw1H,EAAmBlkI,EACrB,MAAO,QAAwB9K,IAApBqD,EAAKiH,WAA0B,CACxC,IAAI2nI,EAA2BhD,EACzB1hF,EAAOlqD,EAEb4uI,EAAkB1pI,KAAK,CACrB2pI,eACoBlyI,IAAlBd,EAAMgZ,cAC0BlY,IAA5Bd,EAAMgZ,QAAQg6H,UACZhzI,EAAMgZ,QAAQg6H,UAEhBhzI,EAAMizI,iBACZ5hE,IAAK0hE,EAAkBvqI,OAAS,EAChC4C,WAAYijD,EAAKjjD,WACjB8nI,aACiC,OAA/BntH,GAAS4F,aAAa2tC,KAAgBjL,EAAK9iD,OAAS8iD,EAAKyH,OAC3DmD,SACiC,OAA/BlzC,GAAS4F,aAAa2tC,KAClBjL,EAAK5iD,eACL4iD,EAAKyJ,eACXq7E,eAAgB,IAChBC,YAAa7C,GACb32E,YAAarwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACvC0wD,UAAW9zC,GAAS4F,aAAavgB,WAAWC,WAC5CkuD,aAAchwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACxCwwD,WAAY5zC,GAAS4F,aAAavgB,WAAWC,aAG/C2kI,EAAmB/mI,YAAK8pI,GAC1B,MAAO,QAAoBjyI,IAAhBqD,EAAK82B,OAAsB,CACpC,IAAI83G,EAA2BhD,EACzB3oE,EAAOjjE,EACb4uI,EAAkB1pI,KAAK,CACrB2pI,eACoBlyI,IAAlBd,EAAMgZ,cAC0BlY,IAA5Bd,EAAMgZ,QAAQg6H,UACZhzI,EAAMgZ,QAAQg6H,UAEhBhzI,EAAMizI,iBACZ5hE,IAAK0hE,EAAkBvqI,OAAS,EAChC4C,WAAYg8D,EAAKnsC,OACjBi4G,aACiC,OAA/BntH,GAAS4F,aAAa2tC,KAAgB8N,EAAK77D,OAAS67D,EAAKtR,OAC3DmD,SAAUmO,EAAKsP,gBACfy8D,eAAgB,IAChBC,YAAa7C,GACb32E,YAAarwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACvC0wD,UAAW9zC,GAAS4F,aAAavgB,WAAWC,WAC5CkuD,aAAchwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACxCwwD,WAAY5zC,GAAS4F,aAAavgB,WAAWC,aAE/C2kI,EAAmB/mI,YAAK8pI,GAC1B,OAEA,GAAsB,cAAlBD,EAA+B,CACjC,IAAIC,EAA2BhD,EAE/BgD,EAAkB1pI,KAAK,CACrB2pI,eACoBlyI,IAAlBd,EAAMgZ,cAC0BlY,IAA5Bd,EAAMgZ,QAAQg6H,UACZhzI,EAAMgZ,QAAQg6H,UAEhBhzI,EAAMizI,iBACZ5hE,IAAK0hE,EAAkBvqI,OAAS,EAChC4C,WAAY,KACZ8nI,aAAc,cACdj6E,SAAU,GACVk6E,eAAgB,IAChBC,YAAa7C,GACb32E,YAAarwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACvC0wD,UAAW9zC,GAAS4F,aAAavgB,WAAWC,WAC5CkuD,aAAchwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACxCwwD,WAAY5zC,GAAS4F,aAAavgB,WAAWC,aAE/C2kI,EAAmB/mI,YAAK8pI,GAC1B,CAEF7xF,GAAiB,EACnB,CAAE,MAAOt7C,GACPD,QAAQC,MAAM,eAAgBA,EAChC,CACF,EAc8B,SAAAytI,KAG7B,OAH6BA,GAAA1wI,YAAAC,IAAAC,MAA9B,SAAAC,IAAA,IAAAwwI,EAAA,OAAA1wI,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACqB+sB,aAAc,6BAAyBtvB,GAAW,KAAD,EAAhEwyI,EAAMnwI,EAAAmB,KACVirI,EAAgBtmI,YAAKqqI,EAAO76H,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,MAAI,wBAAAxV,EAAAqB,OAAA,GAAA1B,EAAA,MACvE4B,MAAA,KAAAC,UAAA,CAEkC,SAAA4uI,KAwClC,OAxCkCA,GAAA5wI,YAAAC,IAAAC,MAAnC,SAAAiC,EAAoCurB,GAAe,IAAA+mD,EAAAr+D,EAAA,OAAAnW,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACtB,OAA3B6sI,GAAe,YAAYnrI,EAAA1B,KAAA,EACF+sB,aAAcC,EAAU,eAAWvvB,GAAW,KAAD,EAAlEs2E,EAAYryE,EAAAT,KACZyU,EAAU,CACZ,CACE3I,MAAO,eACPiX,OAAQ,gBAEV,CACEjX,MAAO,SACPiX,OAAQ,iBAEV,CACEjX,MAAO,iBACPiX,OAAQ,YAEV,CACEjX,MAAO,mBACPiX,OAAQ,cAEV,CACEjX,MAAO,QACPiX,OAAQ,UAGZmoH,GAAqB,QACA1uI,IAAjBs2E,IACFk5D,IAAqB,GACrBF,GACE7vI,cAAC2tI,GAAmB,CAClBp8H,KAAK,OACLggE,QAAQ,aACR9wB,SAAUo2B,EACVr+D,QAASA,EACTgH,QAASswH,GACT9uH,WAAY+uH,GACZrC,WAAY5F,OAGjB,wBAAAtjI,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAEkC,SAAA6uI,KA4BlC,OA5BkCA,GAAA7wI,YAAAC,IAAAC,MAAnC,SAAAsC,EAAoCkrB,GAAe,IAAA+mD,EAAAr+D,EAAA,OAAAnW,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACtB,OAA3B6sI,GAAe,YAAY9qI,EAAA/B,KAAA,EACF+sB,aAAcC,EAAU,eAAWvvB,GAAW,KAAD,EAAlEs2E,EAAYhyE,EAAAd,KACZyU,EAAU,CACZ,CACE3I,MAAO,SACPiX,OAAQ,QAEV,CACEjX,MAAO,kBACPiX,OAAQ,gBAGZmoH,GAAqB,GACrBc,IAAqB,QACAxvI,IAAjBs2E,GACFg5D,GACE7vI,cAAC2tI,GAAmB,CAClBp8H,KAAK,OACLggE,QAAQ,SACR9wB,SAAUo2B,EACVr+D,QAASA,EACTgH,QAASswH,GACT9uH,WAAY+uH,GACZrC,WAAY5F,MAGjB,wBAAAjjI,EAAAZ,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,CAED,IAAM4tE,GAAc,SAACpuE,EAAWwyE,EAAcr1E,GAC5C,IAAImkB,EAAaxc,YAAO9E,GAExBijB,YAAc,CACZ3R,QAAS,6BACT4R,OAAQ,sBACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACN3C,EAASqzB,OAAOx3C,EAAQ,GACxBmkB,EAASrc,KAAI,SAACsD,EAAQ8M,GACpB9M,EAAE2kE,IAAM73D,EAAM,CAChB,IACAm9D,EAAQlxD,EACV,GAEJ,EAEiC,SAAAgrD,KAOhC,OAPgCA,GAAA9tE,YAAAC,IAAAC,MAAjC,SAAA2C,IAAA,IAAA4xE,EAAA,OAAAx0E,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACkC+sB,aAC9B,0CACAtvB,GACA,KAAD,GAHGs2E,EAAmB3xE,EAAAnB,MAIVwsD,MAAK,SAAC1U,EAAG2U,GAAC,OAAM3U,EAAEy5B,cAAgB9kB,EAAE8kB,cAAgB,GAAK,CAAC,IACvEw5D,EAAwBj4D,GAAc,wBAAA3xE,EAAAjB,OAAA,GAAAgB,EAAA,MACvCd,MAAA,KAAAC,UAAA,CAEDoI,qBAAU,YAXR,WAE+B0jE,GAAA/rE,MAAC,KAADC,UAAA,CAU/BgsE,GA5GD,WAE6B0iE,GAAA3uI,MAAC,KAADC,UAAA,CA2G5B8uI,GA+DA,WAE6BC,GAAAhvI,MAAC,KAADC,UAAA,CAhE7BgvI,EACF,GAAG,IAEH5mI,qBAAU,WACJgjI,GAAoBA,EAAiBvnI,OAAS,IAChDunI,EAAiB3mI,KAAI,SAAC2nI,GACI,IAApBA,EAAIqC,cAA0C,IAArBrC,EAAIqC,cAC/BrC,EAAIqC,YAAc7C,GAEtB,IACAvwI,EAAMmQ,QAAQyjE,YAAYm/D,kBAAoBhD,EAElD,GAAG,CAACA,IAEJhjI,qBAAU,gBACiCjM,IAArCd,EAAMmQ,QAAQwlE,QAAQnkC,aACxBxxC,EAAMmQ,QAAQyjE,YAAYpiC,WAAanD,EAE3C,GAAG,CAACA,IAQJ,IAAMulG,GAAqB,SAAC56H,EAAcoH,GACxC,IAAIioG,EAAuB,GAoB3B,OAlBA0nB,EAAiB3mI,KAAI,SAACsD,GACpB,QAAsB5L,IAAlB4L,EAAE0mI,cAAgD,IAAnB1mI,EAAE0mI,YACnCpzI,EAAM4yI,cAAcxpI,KAAI,SAACyqI,GACnBnnI,EAAE0mI,cAAgBS,EAAIhB,UACxBxqB,EAAch/G,KAAKwqI,EAEvB,QACK,CACL,IAAMC,EAAU9zI,EAAM4yI,cAAcjyH,MAAK,SAACkzH,GACxC,OAAO76H,EAAQ+6H,YACX/6H,EAAQ+6H,cAAgBF,EAAIhB,SAChB,MAAZgB,EAAIvhE,GACV,IAEA+1C,EAAch/G,KAAKyqI,EACrB,CACF,IAIEvzI,aADA,CACAC,WAAA,CAAAC,SACEF,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAOs/G,EAAcjoG,EAAO1V,UAC5BiY,QAAS3iB,EAAM4yI,cACf5/H,SAAU,SAACtG,GAAC,OAlCpB,SAA8ByzE,EAAY6zD,GACxC,IAAIz2G,EAAcwyG,EAClBxyG,EAAKy2G,GAAQZ,YAAcjzD,EAAMp3E,MAAM8pI,SACvC7C,EAAmB/mI,YAAKs0B,GAC1B,CA8ByB02G,CAAqBvnI,EAAG0T,EAAO1V,SAAS,EACzDowD,YACiC,OAA/B/0C,GAAS4F,aAAa2tC,KAAgB,SAAW,SAEnDhmD,YAAY,wBAIpB,EAE+B,SAAAogI,KAiC9B,OAjC8BA,GAAA/wI,YAAAC,IAAAC,MAA/B,SAAAkD,IAAA,IAAAq2F,EAAAjoE,EAAApyB,EAAAyM,EAAAxM,EAAA+F,EAAAnG,EAAAuG,EAAArG,EAAAsM,EAAA8lI,EAAA,OAAAtxI,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAOE,IANI+4F,EAAsB,GACpBjoE,EAAen0B,EAAMkxB,YAAYvvB,MAK9BoG,EAAI,EAAGA,EAAIosB,EAAa3rB,OAAQT,IAEvC,IADInG,EAASuyB,EAAapsB,GAAGnG,OACpBuG,EAAI,EAAGA,EAAIvG,EAAO4G,OAAQL,IAMjC,GALIrG,EAAWF,EAAOuG,GAAGrG,SACzBC,EAAQD,EAASE,KAAO,MAAQF,EAASC,MACzCyM,EAAM1M,EAASC,MACfC,EAAOF,EAASE,KAChBo6F,EAAe/yF,KAAK,CAAEtH,QAAOyM,MAAKxM,SACZ,OAAlBF,EAASE,KACX,IAASoM,EAAI,EAAGA,EAAItM,EAASG,UAAUuO,OAAOhI,OAAQ4F,IAChD8lI,EAAcpyI,EAASG,UAAUuO,OAAOpC,GAC5CrM,EACED,EAASE,KACT,MACAF,EAASC,MACT,MACAmyI,EAAYnyI,MACdyM,EAAM1M,EAASC,MAAQ,MAAQmyI,EAAYnyI,MAC3CC,EAAOF,EAASE,KAChBo6F,EAAe/yF,KAAK,CAAEtH,QAAOyM,MAAKxM,SAM1C6vF,GAAiBuK,GAAgB,wBAAAp2F,EAAAxB,OAAA,GAAAuB,EAAA,MAClCrB,MAAA,KAAAC,UAAA,CAkBD,OACEhE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASnQ,EAAMmQ,QACfyF,kBAAgC9U,IAAlBd,EAAMgZ,QAAwBhZ,EAAMgZ,QAAQq4D,KAAO,EACjE5+D,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAiB1N,EAAVg4D,WAAU,OAC1Bn6D,cAAA,QAAAuS,wBAAA,CAAOI,GAAI9C,EAAM0B,MAAU1B,GAAK,IAAEpO,KAAK,WAAW,IAGtDrB,eAAA,OAAKY,UAAU,gBAAed,SAAA,CACK,KAA3B,OAALT,QAAK,IAALA,GAAc,QAATkvI,EAALlvI,EAAOgZ,eAAO,IAAAk2H,OAAT,EAALA,EAAgB5zG,cACf/6B,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,uDAGlB/M,eAACC,KAAG,CAACW,UAAU,2BAA0Bd,SAAA,CACvCF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZinF,GAAe,oBAzQ/BV,GAAqB,GACrBc,IAAqB,GACrBF,GACE7vI,cAACysI,GAAe,CACd97G,YAAalxB,EAAMkxB,YACnB+8G,WAAY5F,GACZnnF,iBAAkBA,KAqQNA,GAAkBD,EACpB,EACAmI,UAAW,SACX2lB,cAAe,gBACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,2BAErBnoD,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcy4B,EACd57B,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAiBvL,EAAV61D,WAAU,OAC1Bn6D,cAAAC,WAAA,CAAAC,SACEE,eAAC+wE,KAAS,CACRx+D,GAAI9C,EAAM0B,KACV6/D,aAAc,SAACjlE,GACb0D,EAAM4C,SAAStG,EAAE3D,OACjB+mI,EAAmBpjI,EAAE3D,MACvB,EACA64C,cAAe,SAACl1C,GACd0D,EAAM4C,SAAStG,EAAE3D,OACjB+mI,EAAmBpjI,EAAE3D,MACvB,EACAA,MAAOslC,EACP0jC,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,mCAGlB7J,KAAM,SAACmV,EAAS2J,GAAO,OAAKA,EAAQjY,SAAW,CAAC,IAElDnK,cAACs4B,KAAM,CACLzoB,MAAM,QACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iDAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,QACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,QACjBE,aAAc,yBAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,SACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,WACPo8D,GACElkC,EACAyhG,EACAntH,EAAQjY,SAEZ,EAAEjK,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,QAGH,YAQfvlD,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CAACU,gBAAiB,uBAEzCjN,cAACK,KAAG,CAACW,UAAU,2BAA0Bd,SACvCF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcg5H,GACdn8H,OAAQ,SAAAvN,GAA4B,IAAzBkL,EAAKlL,EAALkL,MAAiBlL,EAAVw1D,WAChB,OACEn6D,cAACouI,GAAa,CACNC,sBAAoBh9C,iBAC1B5+E,SAAU,SAAC7O,GACTutI,GAAsBvtI,GACtBiM,EAAM4C,SAAS7O,EACjB,GAGN,SAI2B,KAA3B,OAALnE,QAAK,IAALA,GAAc,QAATmvI,EAALnvI,EAAOgZ,eAAO,IAAAm2H,OAAT,EAALA,EAAgB7zG,cACf36B,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,qBACjBE,aAAc,yGAGlB/M,eAACC,KAAG,CACFM,GAAI,EACJL,GAAI,EACJM,GAAI,EACJI,UAAU,yCAAwCd,SAAA,CAElDE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,kBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAc66H,GACdh+H,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAACqiB,KAAQ,CACP1P,GAAI9C,EAAM0B,KACV4B,SAAUi9H,IAAOE,IAAOE,GAExB/9H,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjB8vH,GAAOhkI,EAAEkU,SACT8uH,EAAY,KACd,EACAnuI,UAAWo5D,YAAW,CACpB,aAAc81E,KAAQI,KAAQF,KAAQI,KAExCnwH,QAAS6vH,IACT,MAIRlwI,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,oBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,mHAMPE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAc+6H,GACdl+H,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAACqiB,KAAQ,CACPuhB,QAAS/zB,EAAM0B,KACf4B,SAAU+8H,IAAOI,IAAOE,GAExB/9H,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBgwH,GAAOlkI,EAAEkU,SACT+uH,EAAiB,KACnB,EACApuI,UAAWo5D,YAAW,CACpB,aAAc81E,KAAQI,KAAQF,KAAQI,KAExCnwH,QAAS+vH,IACT,MAIRpwI,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,uBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,2FAMPE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,sBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAci7H,GACdp+H,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAACqiB,KAAQ,CACPuhB,QAAS/zB,EAAM0B,KACf4B,SAAU+8H,IAAOE,IAAOI,GAExB/9H,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBkwH,GAAOpkI,EAAEkU,SACTivH,EAAoB,KACtB,EACAtuI,UAAWo5D,YAAW,CACpB,aAAc81E,KAAQI,KAAQF,KAAQI,KAExCnwH,QAASiwH,IACT,MAIRtwI,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,wBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,+KAMPE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcm7H,GACdt+H,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAACqiB,KAAQ,CACPuhB,QAAS/zB,EAAM0B,KACf4B,SAAU+8H,IAAOE,IAAOE,GAExB79H,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEkU,SACjBowH,GAAOtkI,EAAEkU,QACX,EACArf,UAAWo5D,YAAW,CACpB,aAAc81E,KAAQI,KAAQF,KAAQI,KAExCnwH,QAASmwH,IACT,MAIRxwI,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,sBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,4HAOTE,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAGI,UAAU,gBAAed,SAAA,CACjDE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,qIAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASnQ,EAAMmQ,QACfyF,aAAc65H,EACdl9H,MAAO,CAAEC,SAAUi+H,IACnBh+H,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAAC++C,IAAQ,CACPpsC,GAAI9C,EAAM0B,KACV/I,MAAO0mI,EACPn8H,YAAY,wBACZN,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,OACjB2mI,EAAYhjI,EAAE3D,MAChB,EACA2K,UAAW+8H,GACXlvI,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BE,YACiC,OAA/B/0C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN7gD,QAAM,EACNsiD,WAAS,EACTC,SACiC,OAA/Bj1C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN32C,QAASysH,GACT,SAMVzuI,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,2FAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,kBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAc86D,EACdn+D,MAAO,CAAEC,SAAUm+H,IACnBl+H,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAOsqD,EAAUv8B,EAAVu8B,WAAU,OAC1Bn6D,cAAC++C,IAAQ,CACPpsC,GAAI9C,EAAM0B,KACV/I,MAAO2nE,EACPp9D,YAAY,wBACZN,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,OACjB4mI,EAAiBjjI,EAAE3D,MACrB,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BlnD,UAAWi9H,GACX71E,YACiC,OAA/B/0C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN7gD,QAAM,EACNsiD,WAAS,EACTC,SACiC,OAA/Bj1C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN32C,QAASysH,GACT,SAKVzuI,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,uGAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcg6H,EACdr9H,MAAO,CAAEC,SAAUq+H,IACnBp+H,OAAQ,SAAAgsB,GAAA,IAAGruB,EAAKquB,EAALruB,MAAOsqD,EAAUj8B,EAAVi8B,WAAU,OAC1Bn6D,cAAC++C,IAAQ,CACPpsC,GAAI9C,EAAM0B,KACV/I,MAAO6mI,EACPt8H,YAAY,wBACZN,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,OACjB8mI,EAAoBnjI,EAAE3D,MACxB,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BlnD,UAAWm9H,GACX/1E,YACiC,OAA/B/0C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN7gD,QAAM,EACNsiD,WAAS,EACTC,SACiC,OAA/Bj1C,GAAS4F,aAAa2tC,KAClB,SACA,SAEN32C,QAAS2sH,GACT,eAOd/uI,cAAC2xC,KAAG,CAAAzxC,SACDswI,IACCpwI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,IACvBZ,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZqnF,IAAqB,GAnrB1C,SAEkC7rI,GAAA8uI,GAAA7uI,MAAC,KAADC,UAAA,CAkrBbyvI,CAAqB,YACrBlzF,GAAkBD,EACpB,EACAmI,UAAW,SACX2lB,cAAe,WACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,6BAGvBnoD,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZqnF,IAAqB,GA9pB1C,SAEkCtrI,GAAAwuI,GAAA9uI,MAAC,KAADC,UAAA,CA6pBb0vI,CAAqB,SACrBnzF,GAAkBD,EACpB,EACAmI,UAAW,SACX2lB,cAAe,WACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,6BAGvBnoD,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZo/E,QAAcvnI,EAAW,YAC3B,EACAsoD,UAAW,SACX2lB,cAAe,gBACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,6BAGvBnoD,cAACK,KAAG,CAAAH,SACFE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAAAH,SACFE,eAAA,OACES,MAAO,CACL6L,QAAS,OACTgoC,eAAgB,YAChBx0C,SAAA,CAEFF,cAAC+R,IAAU,CACTR,KAAK,iBACL3B,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAusB,GAAA,IAAG5uB,EAAK4uB,EAAL5uB,MAAiB4uB,EAAV07B,WAAU,OAC1Bn6D,cAACqiB,KAAQ,CACP1P,GAAG,aACH0N,QAASqwH,GACTj+H,SAAU,SAACmP,GACJA,EAAIlP,OAAO2N,UACd5gB,EAAMmQ,QAAQwlE,QAAQ88D,aAAe,GAEvCvB,GAAc/uH,EAAIlP,OAAO2N,SACzBxQ,EAAM4C,SAASmP,EAAIlP,OAAO2N,QAC5B,GACA,IAGNrgB,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,wFAIpBnN,cAACK,KAAG,CAAAH,SACFF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcu7H,GACd1+H,OAAQ,SAAA48B,GAAA,IAAGj/B,EAAKi/B,EAALj/B,MAAiBi/B,EAAVqrB,WAAU,OAC1B/5D,eAACoe,KAAMC,MAAK,CACVhM,SAAU,SAACtG,GACT0kI,GAAgB1kI,EAAEuG,OAAOlK,OACzBqH,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAC1B,EACA2K,UAAWu9H,GACXloI,MAAOooI,GAAa1wI,SAAA,CAEpBF,cAAA,OAAAE,SACEF,cAACwe,KAAK,CAAChW,MAAO,MAAMtI,SAAC,kBAEvBE,eAAA,OACES,MAAO,CACL6L,QAAS,eACT2iF,KAAM,UACNnvF,SAAA,CAGFF,cAACwe,KAAK,CAAChW,MAAO,OAAOtI,SAAC,gBACtBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASnQ,EAAMmQ,QACfsC,OAAQ,SAAAu+B,GAAA,IAAG5gC,EAAK4gC,EAAL5gC,MAAiB4gC,EAAV0pB,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACVlb,MAAO,CAAE8U,MAAO,QAChB3U,UAAU,kBACVwH,MAAOqH,EAAMrH,MACb2K,SACmB,SAAjBy9H,KAA4BF,GAE9Bv0H,UAAU,EAGV1J,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,GAEf/G,QAAQe,IAAI,QAASgG,EAAG2kI,GAC1B,GACA,SAII,gBA0B9B1wI,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CACFM,GAAI,EACJL,GAAI,EACJM,GAAI,EACJgV,QAAS,WACPxQ,QAAQe,IAAI,WAAYqpI,EAC1B,EAAEtvI,SAEFF,cAACuM,KAAoB,CAACU,gBAAiB,GAAIE,aAAc,QAE3DnN,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SACjCswI,IACCxwI,cAAC2xC,KAAG,CAAAzxC,SACFE,eAACC,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAClCF,cAAC+R,IAAU,CACTR,KAAK,oBACL3B,QAASnQ,EAAMmQ,QACfyF,aAAcm6H,EACdx9H,MAAO,CAAEC,SAAUu+H,IACnBt+H,OAAQ,SAAA6+B,GAAA,IAAGlhC,EAAKkhC,EAALlhC,MAAOsqD,EAAUppB,EAAVopB,WAAU,OAC1B/5D,eAAC+wE,KAAS5+D,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTrH,MAAOgnI,EACPp+D,aAAc,SAACjlE,GACb0D,EAAM4C,SAAStG,EAAE3D,OACjBinI,EAAmB/mI,YAAKyD,EAAE3D,OAC5B,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BmX,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLm5C,YAAU,EACVC,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,6DAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,MACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,qCAKpBnN,cAACs4B,KAAM,CACLzoB,MAAM,eACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,6BACjBE,aAAc,mHAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,WACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBACE,8BAEFE,aAAc,gKAKpBnN,cAACs4B,KAAM,CACLzoB,MAAM,oBACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,oBACjBE,aAAc,qDAGlB7J,KAAM+vI,KAERrzI,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,WACPo8D,GACEw9D,EACAC,EACArtH,EAAQjY,SAEZ,EAAEjK,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,OAEQ,IAGflmD,EAAMw4D,oBAAoB,kCAQzCj4D,cAACgnB,IAAM,CACLE,QAASw5B,EACTv5B,YAAa,CAAE,QAAS,QACxBtmB,MAAO,CAAE8U,MAAO,QAChByR,OAAK,EACLN,OAAQ4oH,GACR1uI,UAAU,WACVqmB,OAAQ,WACNs5B,GAAiB,EACnB,EACA15B,aAAW,EACXK,WAAW,EAAMpnB,UAEf4vI,IAAqBF,UAKjC,CC9tCe,SAASmE,GAAct0I,GACpC,IAAQiX,EAAgBkH,cAAhBlH,YACRc,EAA0CC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA3DkpC,EAAahpC,EAAA,GAAEipC,EAAgBjpC,EAAA,GACtCgJ,EAAoDjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAhEszH,EAAkBrzH,EAAA,GAAEszH,EAAqBtzH,EAAA,GAChDG,EAAwCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhDozH,EAAYnzH,EAAA,GAAEozH,EAAepzH,EAAA,GACpCgB,EAAwCtK,mBAAgB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAApDqyH,EAAYpyH,EAAA,GAAEqyH,EAAeryH,EAAA,GACpCC,EAAkDxK,mBAAgB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA9DqyH,EAAiBpyH,EAAA,GAAEqyH,EAAoBryH,EAAA,GAC9CwG,EAA4CjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAAxC8rH,GAAF7rH,EAAA,GAAmBA,EAAA,IACxCC,EAAsCnR,mBAAiB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAnD8mH,EAAW7mH,EAAA,GAAE8mH,EAAc9mH,EAAA,GAClC2I,EAAoC/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GAA5Co+G,EAAUn+G,EAAA,GAAEo+G,EAAap+G,EAAA,GAC1BjM,EAAWjiB,KAAKwM,MAAOhN,OAAeC,aAAaC,QAAQ,aACjE2uB,EAAoCna,mBAAiB,IAAGoa,EAAAvb,YAAAsb,EAAA,GAArC6iH,GAAF5iH,EAAA,GAAeA,EAAA,IAC1BpN,EAAQ4D,iBAAY,MAE1BqrC,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IAPlBhkD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAOIusG,GAAkB,CACtBC,UAAW,SACXrkI,WAAY,SACZJ,SAAU,OACVC,WAAY,OACZknG,WAAY,MACZhnG,MAAO,WAoLT,SAASorF,KACPx3C,GAAkBD,EACpB,CAEA,IAAMuX,GAAsB,SAAC1mD,GAC3B,GAAa,sBAATA,EAEF,OACEpQ,EAAOoQ,IACLvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAIjD,EAmBA,IAAMw/H,GAAoB,SAACvoI,GACzB,IAAI+Y,EAAaxc,YAAOsrI,GAEpB7nI,EAAEkU,QACJ6E,EAASpc,KAAKqD,EAAE3D,OAEhB0c,EAASqzB,OAAOrzB,EAAS1b,QAAQ2C,EAAE3D,OAAQ,GAG7CyrI,EAAsB/uH,EACxB,EAEA1Y,qBAAU,WACR/M,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP2qB,EAAUV,cAAY,IACzBm4G,aAC4D,IAA1DX,EAAmBxqI,QAAQ,0BAC7BorI,iBACgE,IAA9DZ,EAAmBxqI,QAAQ,8BAC7BqrI,eAEG,IADDb,EAAmBxqI,QAAQ,yCAE9B,GAEL,GAAG,CAACwqI,IAyTJ,SAASc,GAAeC,GACtB,IAOIxjI,EAAe,GAOnB,MAdoB,CAClB,CAAEoB,GAAI,GAAIpB,KAAM,mBAChB,CAAEoB,GAAI,GAAIpB,KAAM,qBAChB,CAAEoB,GAAI,GAAIpB,KAAM,uBAChB,CAAEoB,GAAI,GAAIpB,KAAM,sBAChB,CAAEoB,GAAI,EAAGpB,KAAM,YAGL1I,KAAI,SAACsD,GACXA,EAAEwG,KAAOoiI,IACXxjI,EAAOpF,EAAEoF,KAEb,IAEOA,CACT,CAEA,OAzSA/E,qBAAU,WACR,IAAIwoI,EAAwB,GACxBC,EAAsB,GACtB5pI,EAAoB,GACpBqpB,EAAe,GACfwgH,EAAuB,GAE3Bd,EAAavrI,KAAI,SAACssI,EAAe97H,GAC/B,IAAI+7H,EAAsB,GA8B1B,QA3B0B70I,IAAxB40I,EAASlkG,YACe,OAAxBkkG,EAASlkG,YACe,KAAxBkkG,EAASlkG,iBAG4B1wC,IAAnC40I,EAASlkG,WAAWA,YACe,OAAnCkkG,EAASlkG,WAAWA,aAEhBkkG,EAASlkG,WAAWA,WAAWhpC,OAAS,EAC1CktI,EAASlkG,WAAWA,WAAWpoC,KAAI,SAACnB,EAAU2tI,GAC5C,IAAMntI,EAAO,CACXowB,OAAQ5wB,EAAImI,MACZuK,MAAO1S,EAAIc,MACXsoE,IAAKukE,EAAW,EAChB5C,UAAW,GACX14H,OAAQrS,EAAIqS,OACZu7H,WAAYD,EAAW,GAEzBhqI,EAAWvC,KAAKZ,GAChBktI,EAAatsI,KAAKZ,EACpB,IAEAitI,EAASlkG,WAAa,MAKC,KAAzBkkG,EAASp6G,YAAoB,CAC/B,IAAMw6G,EAAY,CAChB9C,UAAW0C,EAAS1C,UACpB3hE,IAAKz3D,EACLm4H,WAAY,KACZgE,iBAAkBL,EAAS3D,WAC3BzxE,YAAa,KACbhlC,YAAao6G,EAASp6G,YACtBkW,WAAYkkG,EAASlkG,WACjB1tC,KAAKC,UAAU2xI,EAASlkG,YACxB,KACJmkG,aAAcA,EACd/7E,YAAarwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACvC0wD,UAAW9zC,EAAS4F,aAAavgB,WAAWC,WAC5CkuD,aAAchwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACxCwwD,WAAY5zC,EAAS4F,aAAavgB,WAAWC,WAC7CsN,UAAU,EACVk5H,oBAAqB6D,EAAS7D,oBAC1B/tI,KAAKC,UAAU2xI,EAAS7D,qBACxB,MAEN0D,EAAelsI,KAAKysI,EACtB,KAAO,CACwB,KAAzBJ,EAASp6G,aACXo6G,EAASrD,kBAAkBjpI,KAAI,SAACsD,EAAQspI,GAAkB,IAADC,EACvDvpI,EAAEsmI,UAA8B,QAArBiD,EAAGP,EAAS1C,iBAAS,IAAAiD,IAAIr8H,EAAQ,EAC5ClN,EAAE2kE,IAAM2kE,EAAO,EACfR,EAAansI,KAAKqD,EACpB,IAEF,IAAMopI,EAAY,CAChB9C,UAAW0C,EAAS1C,UACpB3hE,IAAKz3D,EACLm4H,WAAY2D,EAAS3D,WACrBgE,iBAAkB,KAClBz1E,YAAa,KACbhlC,YAAao6G,EAASp6G,YACtBkW,WAAYkkG,EAASlkG,WACjB1tC,KAAKC,UAAU2xI,EAASlkG,YACxB,KACJmkG,aAAcA,EACd/7E,YAAarwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACvC0wD,UAAW9zC,EAAS4F,aAAavgB,WAAWC,WAC5CkuD,aAAchwD,KAAO,IAAI2R,MAAQ/R,OAAO,eACxCwwD,WAAY5zC,EAAS4F,aAAavgB,WAAWC,WAC7CsN,UAAU,EACV45H,WAAYmD,EAASnD,WACrBC,aAAckD,EAASlD,aACvBE,YAAagD,EAAShD,YACtBb,oBAAqB6D,EAAS7D,oBAC1B/tI,KAAKC,UAAU2xI,EAAS7D,qBACxB,MAEN0D,EAAelsI,KAAKysI,EAKtB,CACF,IAEA,IAAII,EAAsB,GAC1BtqI,EAAWxC,KAAI,SAAC49B,GAEwD,IAApEkvG,EAAaz9H,QAAO,SAAC/L,GAAM,OAAKA,EAAE3K,QAAUilC,EAAKnO,MAAM,IAAErwB,QAEzD0tI,EAAa7sI,KAAK,CAChB+G,MAAO,GACPrO,MAAOilC,EAAKnO,OACZve,OAAQ0sB,EAAK1sB,QAGnB,IAEA47H,EAAa9sI,KAAI,SAACnB,GAChBgtB,EAAM5rB,KACJvF,KAAKC,UAAU,CACbhC,MAAOkG,EAAIlG,MACXo0I,WAAY,iBACZC,WAAY,OACZC,aAAc,QACd7kG,WAAY0kG,IAGlB,IAEAjhH,EAAM7rB,KAAI,SAAC6rB,EAAYzb,GACrBi8H,EAAcpsI,KAAK,CACjBgoE,IAAK73D,EAAM,EACX88H,UAAW,kBACXC,UAAWthH,EACX0gH,aAAc/pI,GAElB,IACAmpI,EAAkB,GAADvzI,OAAKi0I,IAEtBz1I,EAAMw2I,kBAAkB,GAADh1I,OAAKi0I,IAC5Bz1I,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ83G,eAAe,GAAD/zI,OAAM+zI,GACpBkB,kBAAkB,GAADj1I,OAAMg0I,IAAa,GAExC,GAAG,CAACb,IAEJ5nI,qBAAU,WAAO,IAAD2pI,EAAAC,EAAAC,EAAAC,EACVpxH,EAAaxc,YAAOsrI,GAEW,QAAnCmC,EAAI12I,EAAM82I,aAAa/5G,oBAAY,IAAA25G,GAA/BA,EAAiCxB,aACnCzvH,EAASpc,KAAK,0BAEmB,QAAnCstI,EAAI32I,EAAM82I,aAAa/5G,oBAAY,IAAA45G,GAA/BA,EAAiCxB,iBACnC1vH,EAASpc,KAAK,8BAEmB,QAAnCutI,EAAI52I,EAAM82I,aAAa/5G,oBAAY,IAAA65G,GAA/BA,EAAiCxB,eACnC3vH,EAASpc,KAAK,sCAQlB,WACE,IACE,IAAIwjB,EAAY7sB,EAAM82I,aAAavB,eAE/BwB,EAAkB/2I,EAAM82I,aAAaL,kBAErCv8G,EAAiB,GACrBrN,EAAKzjB,KAAI,SAAC4tI,EAAUx9H,GAClB,IAAI/Q,EAAO,GACPwuI,EAAc,GAUlB,GATuB,KAAnBD,EAAIxlG,aACN/oC,EAAO3E,KAAKwM,MAAM0mI,EAAIxlG,aAEpBwlG,EAAInF,qBAC0B,KAA5BmF,EAAInF,sBACNoF,EAAcnzI,KAAKwM,MAAM0mI,EAAInF,sBAIT,KAApBmF,EAAI17G,YAAoB,CAC1B,IAAI47G,EAAmB,GACvBH,EAAW3tI,KAAI,SAACsD,IACV8M,IAAQ9M,EAAEsmI,WAEHgE,EAAIhE,YAActmI,EAAEsmI,YAD7BkE,EAAY7tI,KAAKqD,EAIrB,IACA,IAAMgpI,EAAgB,CACpBnD,WAAYyE,EAAIzE,WAChBC,aAAcwE,EAAIxE,aAClBE,YAAasE,EAAItE,YACjBM,UAAWgE,EAAIhE,UACf3hE,IAAK2lE,EAAI3lE,IACTghE,kBAAmB6E,EACnB57G,YAAa07G,EAAI17G,YACjBkW,WAAY/oC,EACZopI,oBAAqBoF,EACrBl+G,KAAM,qBAERmB,EAAU7wB,KAAKqsI,EACjB,MAAO,GAAwB,KAApBsB,EAAI17G,YAAoB,CACjC,IAAIt5B,EAAOqzI,GAAe2B,EAAI17G,aAC1B67G,EA6CZ,SAAuBC,GACrB,IAAItlI,EAAe,GAYnB,OAXiB9R,EAAMkyI,WAEd9oI,KAAI,SAACsD,GACRA,EAAEmkE,kBAAoBumE,IAEtBtlI,EADoB,OAAlBiU,EAASsxH,KACJ3qI,EAAEnB,OAEFmB,EAAEopD,OAGf,IACOhkD,CACT,CA3D2BwlI,CAAcN,EAAIjB,kBACjCL,EAAgB,CAClB1C,UAAWgE,EAAIhE,UACf3hE,IAAK2lE,EAAI3lE,IACT0gE,WAAYiF,EAAIjB,iBAChBwB,aAAcJ,EACd77G,YAAa07G,EAAI17G,YACjBkW,WAAY/oC,EACZopI,oBAAqBoF,EACrBl+G,KAAM/2B,GAERk4B,EAAU7wB,KAAKqsI,EACjB,KAAO,CACL,IAAI1zI,EAAOqzI,GAAe2B,EAAI17G,aAC1B67G,EA+CZ,SAAyBK,GACvB,IAAI1lI,EAAe,GAWnB,OAVkB9R,EAAM20D,aACdvrD,KAAI,SAACsD,GACTA,EAAEwkE,kBAAoBsmE,IAEtB1lI,EADiC,OAA/BiU,EAAS4F,aAAa2tC,KACjB5sD,EAAEnB,OAEFmB,EAAEopD,OAGf,IACOhkD,CACT,CA5D2B2lI,CAAgBT,EAAIjF,YACnC2D,EAAgB,CAClB1C,UAAWgE,EAAIhE,UACf3hE,IAAK2lE,EAAI3lE,IACT0gE,WAAYiF,EAAIjF,WAChBwF,aAAcJ,EACd77G,YAAa07G,EAAI17G,YACjBkW,WAAY/oC,EACZopI,oBAAqBoF,EACrBl+G,KAAM/2B,GAERk4B,EAAU7wB,KAAKqsI,EACjB,CACF,IAEAd,EAAgB,GAADpzI,OAAK04B,GACtB,CAAE,MAAOt0B,GACPD,QAAQe,IAAI,WAAYd,EAC1B,CACF,CAjFE8xI,GACAhD,EAA+C,QAAhCmC,EAAC72I,EAAM82I,aAAa/5G,oBAAY,IAAA85G,OAAA,EAA/BA,EAAiCc,iBACjDnD,EAAsB/uH,EACxB,GAAG,IAgFH1Y,qBAAU,WACR/M,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP2qB,EAAUV,cAAY,IACzB46G,gBAAiBlD,KAClB,GAEL,GAAG,CAACA,IAoDF9zI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZzkB,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,sBAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBhB,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCE,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,WACZ+rF,EAAc,OACd9E,EAAe,kBAxZjCE,EACE7vI,cAACq3I,GAAkB,CACjB1mH,YAAalxB,EAAMkxB,YACnB/gB,QAASA,EACTqoD,oBAAqBA,GACrBs+E,aAAc92I,EAAM82I,aACpB/K,gBAAiB/rI,EAAM+rI,gBACvBkH,iBAAkB0B,EAAansI,OAAS,EACxCmsD,aAAc30D,EAAM20D,aACpBu9E,WAAYlyI,EAAMkyI,WAClBU,cAAe5yI,EAAM4yI,cACrBvB,YAAa,KA+YC34C,IACF,EACA3pB,cAAe,aACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,2BAErB/nD,eAAC+wE,KAAS,CACRx+D,GAAG,gBACHnK,MAAO4rI,EACPhjE,aAAc,SAACjlE,GACO,IAAhBA,EAAEmrI,WAAmC,IAAhBnrI,EAAEorI,YAC3BprI,EAAE3D,MAAMK,KAAI,SAACssI,EAAe97H,GAC1B87H,EAASrkE,IAAMz3D,EAAQ,EACvB,IAAIm+H,EAAoB,QACWj3I,IAA/B40I,EAASrD,oBACXqD,EAASrD,kBAAkBjpI,KAAI,SAAC2nI,GAC9BA,EAAIiC,eACqBlyI,IAAvB40I,EAAS1C,UACL0C,EAAS1C,UACTp5H,EACNm+H,EAAW1uI,KAAK0nI,EAClB,IACA2E,EAASrD,kBAAoB0F,EAEjC,IAEAnD,EAAgBloI,EAAE3D,OACpB,EACAg/E,UAAW8sD,EACX7sD,kBAAmB,SAACt7E,GAClBooI,EAAqBpoI,EAAE3D,MACzB,EACAgpE,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLm5C,YAAU,EACVC,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,6DAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,WACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,mCAGlB7J,KAAM,SAACmV,EAAS2J,GAAO,OAAKA,EAAQjY,QAAQ,IAE9CnK,cAACs4B,KAAM,CACLzoB,MAAM,YACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,qDAGlB7J,KAAM,SAACmV,GACL,IACE,IAMEg/H,EAAAC,EANE11I,EAAM,GAEV,GACyB,OAAvByW,EAAQw4B,iBACe1wC,IAAvBkY,EAAQw4B,YACe,KAAvBx4B,EAAQw4B,WAED,OAAPx4B,QAAO,IAAPA,GAAmB,QAAZg/H,EAAPh/H,EAASw4B,kBAAU,IAAAwmG,GAAY,QAAZC,EAAnBD,EAAqBxmG,kBAAU,IAAAymG,GAA/BA,EAAiC7uI,KAC/B,SAACnB,EAAU2R,GAEPrX,EADY,IAAVqX,EACIrX,GAAO0F,EAAImI,MAAQ,KAAMnI,EAAIc,MAGjCxG,EAAM,IAAO0F,EAAImI,MAAQ,IAAMnI,EAAIc,KAEzC,IAGJ,OAAOxG,CACT,CAAE,MAAOqD,GAAQ,CACnB,IAEFrF,cAACs4B,KAAM,CACLzoB,MAAM,OACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,uGAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,eACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBACE,kDAEFE,aACE,yUAIN7J,KAAM,SAACmV,GACL,GAA+B,KAA3BA,EAAqB,YAgBvB,OAAOA,EAAQu+H,aAff,QAAqCz2I,IAAjCkY,EAA2B,kBAAiB,CAC9C,IAAIzW,EAAM,GAWV,OATAyW,EAA2B,kBAAE5P,KAC3B,SAACuxB,EAAe/gB,GACA,IAAVA,EACFrX,GAAYo4B,EAASu4G,aAErB3wI,EAAMA,EAAM,IAAMo4B,EAASu4G,YAE/B,IAEK3wI,CACT,CAIJ,IAEFhC,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,yCAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,GAA4B,IAAxB3J,EAAQsiB,YACV,OACE/6B,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,WACP,IAAI+hI,EAAWjvI,YAAO0rI,GAElBtlH,EAAcvrB,KAAKwM,MACrBxM,KAAKC,UAAUiV,IAGjB,GADAqW,EAAO2jH,eAAYlyI,EACQ,KAAvBuuB,EAAOiM,YAAoB,CAC7B,IAAM68G,EAAO9oH,EAAOgjH,kBAChBvuI,KAAKwM,MACHxM,KAAKC,UAAUsrB,EAAOgjH,oBAExB,GACJhjH,EAAOgjH,kBAAoB8F,EAAK/uI,KAC9B,SAAC2nI,GAGC,OAFAA,EAAIqH,mBAAgBt3I,EACpBiwI,EAAIiC,UAAYkF,EAAY1vI,OACrBuoI,CACT,GAEJ,CACAmH,EAAY7uI,KAAKgmB,GACjBA,EAAOgiD,IAAM6mE,EAAY1vI,OAEzBosI,EAAe3rI,YAAKivI,GACtB,EAAEz3I,SAEFF,cAAC83I,IAAe,CAAClrI,SAAU,OAI/B3M,UAEJ,IAEFD,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,mCAGlB7J,KAAM,SAACmV,GAAY,OACjBzY,cAAA,UACEgB,UAAU,eACV4U,QAAS,WACP6+H,EAAc,QACd5E,EACE7vI,cAACq3I,GAAkB,CACjB1mH,YAAalxB,EAAMkxB,YACnB/gB,QAASA,EACTqoD,oBAAqBA,GACrBs+E,aAAc92I,EAAM82I,aACpB/K,gBAAiB/rI,EAAM+rI,gBACvB/yH,QAASA,EACTi6H,iBAAkB0B,EAAansI,OAAS,EACxCmsD,aAAc30D,EAAM20D,aACpBu9E,WAAYlyI,EAAMkyI,WAClBU,cAAe5yI,EAAM4yI,cACrBvB,YAAa,KAGjB34C,IACF,EAAEj4F,SAEFF,cAAA,OAAK0lD,IAAKosB,GAAUnsB,IAAI,UACjB,IAIb3lD,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlB7J,KAAM,SAACmV,EAAc2J,GACnB,GAA4B,IAAxB3J,EAAQsiB,YACV,OACE/6B,cAAA,UACEgB,UAAU,eACV4U,QAAS,YAplBjB,SAAC6C,EAAc1X,GACjC,IAAImkB,EAAaxc,YAAO0rI,GACpB2D,EAAyB,GAC7BlxH,YAAc,CACZ3R,QAAS,6BACT4R,OAAQ,sBACRlQ,KAAM,0CACN5V,UAAW,uBACXgpB,gBACE,gIACFnC,OAAQ,WACN3C,EAASqzB,OAAOx3C,EAAQ,GACxBmkB,EAASrc,KAAI,SAACsD,EAAQ8M,GACN,IAAV9M,EAAE2kE,MACJ3kE,EAAE2kE,IAAM73D,EAAM,OACc1Y,IAAxB4L,EAAE2lI,mBACJ3lI,EAAE2lI,kBAAkBjpI,KAAI,SAAC2nI,GACvBA,EAAIiC,eAA4BlyI,IAAhB4L,EAAEsmI,UAA0BtmI,EAAEsmI,UAAYtmI,EAAE2kE,IAC5DinE,EAAgBjvI,KAAK0nI,EACvB,IAGN,IACA6D,EAAe3rI,YAAKwc,IACpBzlB,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZg5G,kBAAmB6B,GAAe,GAEtC,GAEJ,CAujB8B/lE,CAAYv5D,EAAS2J,EAAQjY,SAC/B,EAAEjK,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,WAI3B1lD,UAEJ,oBAShBD,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,qCAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBZ,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAACuM,KAAoB,CACnBU,gBAAiB,sBACjBE,aAAc,4IAIlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACqiB,KAAQ,CACPuhB,QAAQ,cACRvjB,SAC4D,IAA1D2zH,EAAmBxqI,QAAQ,0BAE7BhB,MAAM,yBACN+I,KAAK,cACLkB,SAAUiiI,OAGd10I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,2BAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,6LAOTF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACqiB,KAAQ,CACPuhB,QAAQ,cACRvjB,SAEG,IADD2zH,EAAmBxqI,QAAQ,8BAG7BhB,MAAM,6BACN+I,KAAK,cACLkB,SAAUiiI,OAGd10I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,+BAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,mMAOTF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACqiB,KAAQ,CACPuhB,QAAQ,cACRvjB,SAGS,IAFP2zH,EAAmBxqI,QACjB,sCAGJhB,MAAM,qCACN+I,KAAK,cACLkB,SAAUiiI,OAGd10I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,uCAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,+QAQgD,IAA1D8zI,EAAmBxqI,QAAQ,2BAC1BpJ,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,kJAGlB/M,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAGI,UAAU,kBAAiBd,SAAA,CACnDE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACmyE,KAAW,CACVvuC,QAAQ,YACRryB,KAAK,YACL/I,MAAM,IACNiK,SAAU,SAACtG,GAAC,OAAKgoI,EAAgBhoI,EAAE3D,MAAM,EACzC6X,QAA0B,MAAjB6zH,MAGbl0I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,uBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,+HAMPE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACmyE,KAAW,CACVvuC,QAAQ,YACRryB,KAAK,YACL/I,MAAM,IACNiK,SAAU,SAACtG,GAAC,OAAKgoI,EAAgBhoI,EAAE3D,MAAM,EACzC6X,QAA0B,MAAjB6zH,MAGbl0I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAA,SAAOa,MAAOuwI,GAAYppH,QAAQ,SAAQ9nB,SAAC,sBAG3CF,cAAA,SACEgB,UAAU,sBACVH,MAAOuwI,GACPppH,QAAQ,SAAQ9nB,SACjB,gKAUfF,cAACgnB,IAAM,CACLE,QAASw5B,EACTv5B,YAAa,CAAE,QAAS,QACxBtmB,MAAO,CAAE8U,MAAO,QAChBmR,OAAQ4oH,EACR1uI,UAAU,UACVqmB,OAAQ,WACNwd,IACA8b,GAAiB,EACnB,EACA15B,aAAW,EACXK,WAAW,EAAMpnB,SAEjBE,eAAA,QACEuS,GAAG,IACHgyB,SAAUD,GArhCI,SAAC9gC,GAA+C,IAApCo0I,IAAuB5zI,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,KAAAA,UAAA,GACnDuzI,EAAcvD,EACd6D,GAAe,EAEnB,GACEr0I,EAAK6tI,iBACL7tI,EAAK8tI,oBACL9tI,EAAKiuI,qBACLjuI,EAAKkuI,kBAGL,GAAIluI,EAAKktE,IAAM,EACb6mE,EAAY9uI,KAAI,SAACssI,GACiB,IAAD+C,EAA3B/C,EAASrkE,MAAQltE,EAAKktE,MACxBqkE,EAASlkG,WAAa,CAAC,GACJ,QAAfinG,EAAAt0I,EAAKqtC,kBAAU,IAAAinG,OAAA,EAAfA,EAAiBjwI,QAAS,EAC5BktI,EAASlkG,WAAWA,WAAartC,EAAKqtC,WAEtCkkG,EAASlkG,WAAa,KAExBkkG,EAAS7D,oBAAsB,CAC7BrgG,WAAYrtC,EAAKyqI,oBAEfzqI,EAAK6tI,iBACP0D,EAASp6G,YAAc,GACvBo6G,EAAS38G,KAAO,kBAChB28G,EAAS3D,WAAa5tI,EAAK4tI,WAAW7gE,gBACtCwkE,EAAS6B,aACmB,OAA1BxxH,EAAS4F,aACLxnB,EAAK4tI,WAAWxmI,OAChBpH,EAAK4tI,WAAWj8E,QACb3xD,EAAK8tI,oBACdyD,EAASp6G,YAAc,GACvBo6G,EAAS38G,KAAO,qBAChB28G,EAAS3D,WAAa5tI,EAAK+sE,gBAAgBA,gBAC3CwkE,EAAS6B,aACmB,OAA1BxxH,EAAS4F,aACLxnB,EAAK+sE,gBAAgB3lE,OACrBpH,EAAK+sE,gBAAgBpb,QAClB3xD,EAAKiuI,qBACdsD,EAASp6G,YAAc,GACvBo6G,EAAS38G,KAAO,sBAChB28G,EAAS3D,WAAa5tI,EAAKguI,kBAAkBthE,gBAC7C6kE,EAAS6B,aACmB,OAA1BxxH,EAAS4F,aACLxnB,EAAKguI,kBAAkB5mI,OACvBpH,EAAKguI,kBAAkBr8E,QACpB3xD,EAAKkuI,oBACdqD,EAASp6G,YAAc,GACvBo6G,EAAS38G,KAAO,oBAChB28G,EAASrD,kBAAoBluI,EAAK4uI,kBAClC2C,EAASnD,WAAapuI,EAAKmuI,eAC3BoD,EAASlD,aAAyC,QAA1BruI,EAAKu0I,iBAC7BhD,EAAShD,aACPvuI,EAAKu0I,iBACDv0I,EAAKsuI,eAIjB,IAEAmC,EAAe3rI,YAAKivI,IACpB9yG,QACK,CAEL,GAAIjhC,EAAK6tI,gBAAiB,CACxBwG,EAAc,GAEd,IAAM9C,EAAgB,CACpBrkE,IAAK6mE,EAAY1vI,OAAS,EAC1BupI,WAAY5tI,EAAK4tI,WAAW7gE,gBAC5BqmE,aAC4B,OAA1BxxH,EAAS4F,aACLxnB,EAAK4tI,WAAWxmI,OAChBpH,EAAK4tI,WAAWj8E,OACtBx6B,YAAak9G,EACbhnG,WACErtC,EAAKqtC,WAAWhpC,OAAS,EACrB,CAAEgpC,WAAYrtC,EAAKqtC,YACnB,KACNzY,KAAM,kBACN84G,oBAAqB,CAAErgG,WAAYrtC,EAAKyqI,qBAE1CsJ,EAAY7uI,KAAKqsI,GACjBd,EAAe3rI,YAAKivI,IACpB9yG,GACF,CACA,GAAIjhC,EAAK8tI,mBAAoB,CAC3BuG,EAAc,GAEd,IAAM9C,EAAgB,CACpBrkE,IAAK6mE,EAAY1vI,OAAS,EAC1BupI,WAAY5tI,EAAK+sE,gBAAgBA,gBACjCqmE,aAC4B,OAA1BxxH,EAAS4F,aACLxnB,EAAK+sE,gBAAgB3lE,OACrBpH,EAAK+sE,gBAAgBpb,OAC3Bx6B,YAAak9G,EACbhnG,WACErtC,EAAKqtC,WAAWhpC,OAAS,EACrB,CAAEgpC,WAAYrtC,EAAKqtC,YACnB,KACNzY,KAAM,qBACN84G,oBAAqB,CAAErgG,WAAYrtC,EAAKyqI,qBAE1CsJ,EAAY7uI,KAAKqsI,GACjBd,EAAe3rI,YAAKivI,IACpB9yG,GACF,CACA,GAAIjhC,EAAKiuI,oBAAqB,CAC5BoG,EAAc,GAEd,IAAM9C,EAAgB,CACpBrkE,IAAK6mE,EAAY1vI,OAAS,EAC1BupI,WAAY5tI,EAAKguI,kBAAkBthE,gBACnC0mE,aAC4B,OAA1BxxH,EAAS4F,aACLxnB,EAAKguI,kBAAkB5mI,OACvBpH,EAAKguI,kBAAkBr8E,OAC7Bx6B,YAAak9G,EACbhnG,WACErtC,EAAKqtC,WAAWhpC,OAAS,EACrB,CAAEgpC,WAAYrtC,EAAKqtC,YACnB,KACNzY,KAAM,sBACN84G,oBAAqB,CAAErgG,WAAYrtC,EAAKyqI,qBAE1CsJ,EAAY7uI,KAAKqsI,GACjBd,EAAe3rI,YAAKivI,IACpB9yG,GACF,CACA,GAAIjhC,EAAKkuI,kBAAmB,CAC1BmG,EAAc,GAEd,IAAM9C,EAAgB,CACpBrkE,IAAK6mE,EAAY1vI,OACjB6pI,kBAAmBluI,EAAK4uI,kBACxBz3G,YAAak9G,EACbhnG,WACErtC,EAAKqtC,WAAWhpC,OAAS,EACrB,CAAEgpC,WAAYrtC,EAAKqtC,YACnB,KACNzY,KAAM,oBACN84G,oBAAqB,CAAErgG,WAAYrtC,EAAKyqI,oBACxC2D,WAAYpuI,EAAKmuI,eACjBE,aAAwC,QAA1BruI,EAAKu0I,iBACnBhG,YAC4B,SAA1BvuI,EAAKu0I,iBAA8Bv0I,EAAKsuI,aAAe,MAG3DyF,EAAY7uI,KAAKqsI,GAEjBd,EAAe3rI,YAAKivI,IACpB9yG,GACF,CACF,MACsB,IAAbjhC,EAAKktE,KACd6mE,EAAY9uI,KAAI,SAACssI,GACXA,EAASrkE,MAAQltE,EAAKktE,MACxBqkE,EAAS7D,oBAAsB,CAC7BrgG,WAAYrtC,EAAKyqI,oBAGvB,IACAgG,EAAe3rI,YAAKivI,IAEpB9yG,KAEAnuB,EAAY,CACV1D,YAAY,8BACZkC,QAAQ,yBACRzT,KAAM,YAGNu2I,GAAgB7/C,IACtB,IAu2BQn3F,UAAU,wBAAuBd,SAAA,CAEhC0vI,EACDxvI,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAc,WACZ7jB,IACA8b,GAAiB,EACnB,EACAkI,UAAW,SACXV,kBAAkB,+CAClBC,cAAe,CACbzyC,MAAO,QACP2I,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEftlC,UAAW,SACX2lB,cAAe,OACftmB,aAAcloD,cAACqoH,IAAa,IAC5BlgE,kBAAmB,qCAOjC,C,cC/nCaiwF,I,OAAqB,SAAC34I,GACjC,OACEW,eAAA,OAAKY,UAAU,0CAAyCd,SAAA,CACtDF,cAACqiB,KAAQ,CACPuhB,QAAQ,SACRvjB,QAAS5gB,EAAMwwF,aACfx9E,SAAU,SAACtG,GAAC,OAAK1M,EAAM4oD,cAAcl8C,EAAEkU,QAAS5gB,EAAM6oD,SAAS,EAC/D11C,SAAUnT,EAAMkpD,gBAElB3oD,cAAA,SACEa,MAAO,CACLwwI,UAAW,SACXrkI,WAAY,SACZJ,SAAU,OACVC,WAAY,OACZknG,WAAY,MACZhnG,MAAO,WAETib,QAAQ,SAAQ9nB,UAEI,IAAnBT,EAAM44I,UAAqBr4I,cAAAC,WAAA,CAAAC,SAAG,YAIvC,GCTao4I,I,OAAwB,SAAC74I,GAAkB,IAAD84I,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrD/hI,EAA4CC,mBAAc,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAAtD6mD,EAAc3mD,EAAA,GAAE4mD,EAAiB5mD,EAAA,GACxCgJ,EAAyDjJ,mBAAQlF,YAAA,GAC5D9S,EAAM+5I,uBACT74H,EAAArK,YAAAoK,EAAA,GACFI,GAH2BH,EAAA,GAA0BA,EAAA,GAGGlJ,sBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhE24H,EAAoB14H,EAAA,GAAE24H,EAAuB34H,EAAA,GACpDgB,EAAsBtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAA9B9T,EAAG+T,EAAA,GAAE23H,EAAM33H,EAAA,GAClBC,EAAkDxK,mBAAS,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAvD0vE,EAAiBzvE,EAAA,GAAE0vE,EAAoB1vE,EAAA,GAC9CwG,EAAoCjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAApCksC,GAAFjsC,EAAA,GAAeA,EAAA,IAChCC,EAA4CnR,oBAAS,GAAMoR,EAAAvS,YAAAsS,EAAA,GAApDipE,EAAehpE,EAAA,GAAE83B,GAAgB93B,EAAA,GACxC2I,GAAkC/Z,oBAAS,GAAMga,GAAAnb,YAAAkb,GAAA,GAA/BooH,IAAFnoH,GAAA,GAAcA,GAAA,IAC9BG,GAAgCna,mBAAc,CAAC,GAAEoa,GAAAvb,YAAAsb,GAAA,GAA1CwK,GAAQvK,GAAA,GAAEqgE,GAAWrgE,GAAA,GAC5BG,GAAgDva,mBAAc,CAAC,GAAEwa,GAAA3b,YAAA0b,GAAA,GAAxC6nH,IAAF5nH,GAAA,GAAqBA,GAAA,IAC5CG,GAAgC3a,mBAAc,IAAG4a,GAAA/b,YAAA8b,GAAA,GAA1C0nH,GAAQznH,GAAA,GAAE0nH,GAAW1nH,GAAA,GAC5BG,GAAgC/a,mBAAc,IAAGgb,GAAAnc,YAAAkc,GAAA,GAA1CwnH,GAAQvnH,GAAA,GAAEwnH,GAAWxnH,GAAA,GAC5BG,GAA4Bnb,mBAAc,IAAGob,GAAAvc,YAAAsc,GAAA,GAAtCsnH,GAAMrnH,GAAA,GAAEsnH,GAAStnH,GAAA,GACxBG,GAA6Bvb,mBAAc,IAAGwb,GAAA3c,YAAA0c,GAAA,GAAvConH,GAAOnnH,GAAA,GAAEonH,GAASpnH,GAAA,GACzB3N,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GACflvB,IAD4BkvB,GAAA,GACgB9qC,mBAC1ChY,EAAM4qF,oBACP/2D,GAAAhd,YAAA+c,GAAA,GAFsBinH,IAAFhnH,GAAA,GAAmBA,GAAA,IAGxCivC,GAAgC9qD,oBAAc,GAAM+qD,GAAAlsD,YAAAisD,GAAA,GAA7Cg4E,GAAQ/3E,GAAA,GAAEg4E,GAAWh4E,GAAA,GAC5BG,GAA8BlrD,mBAAgByiI,IAAOt3E,GAAAtsD,YAAAqsD,GAAA,GAA9C83E,GAAO73E,GAAA,GAAE83E,GAAU93E,GAAA,GAC1BE,GAA8BrrD,mBAAgB2iI,IAAQr3E,GAAAzsD,YAAAwsD,GAAA,GAA/C63E,GAAO53E,GAAA,GAAE63E,GAAU73E,GAAA,GACxB39D,QAAQe,IAAI,SAAS1G,EAAM+5I,sBAC7BhtI,qBAAU,WACR,GAAIstI,GAAU,CACZ,IAAIxsD,EAAWwsD,GAAS5hI,QAAO,SAAC/L,EAAQ8M,GAAW,OAAKA,GAAO,CAAC,IAChEyhI,GAAWptD,EACb,CACA,GAAI8sD,GAAS,CACX,IAAI9sD,EAAW0sD,GAAS9hI,QAAO,SAAC/L,EAAQ8M,GAAW,OAAKA,GAAO,CAAC,IAChE2hI,GAAWttD,EACb,CACF,GAAG,CAACwsD,GAAUE,KAEdxtI,qBAAU,WACRquI,IACF,GAAG,IAEH,IAAMA,GAAc,WAClB,IACIC,EADS,8BACet4H,KAAKu4H,UAAUC,WAC3CR,GAAYM,GACRA,EACF11I,QAAQe,IAAI,iBAEZf,QAAQe,IAAI,UAEhB,EAmBiC,SAElB80I,GAAW/2I,GAAA,OAAAg3I,GAAA/2I,MAAC,KAADC,UAAA,UAAA82I,KAuKzB,OAvKyBA,GAAA94I,YAAAC,IAAAC,MAA1B,SAAAiC,EAA2B6mB,GAAiB,IAAA+vH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA7vI,EAAAF,EAAAnE,EAAAwkC,EAAAD,EAAA3jC,EAAA,OAAA9F,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAYqB,GAZrBoC,EAAArC,KAAA,EAEpCs4I,EACsD,IAAxD17I,EAAM+5I,qBAAqBh9G,aAAak/G,KAAKzzI,OACzC,GACAxI,EAAM+5I,qBAAqBh9G,aAAak/G,KAAKryI,MAAM,KAErD+xI,EACsD,IAAxD37I,EAAM+5I,qBAAqBh9G,aAAam/G,KAAK1zI,OACzC,GACAxI,EAAM+5I,qBAAqBh9G,aAAam/G,KAAKtyI,MAAM,KAG5B,KAFzBgyI,EACmC,IAArCttI,OAAOC,KAAKod,GAAcnjB,OAAe,GAAKmjB,GAC9BnjB,OAAY,CAAA/C,EAAApC,KAAA,eAAAoC,EAAAlB,OAAA,iBAIR,GAHlBs3I,EAAgB,GAChBC,EAAe,GACfC,EAAgB,GAChBC,EAAe,GACA,IAAfN,EAAIlzI,OAAY,CAAA/C,EAAApC,KAAA,SAClB8I,EAAAC,aACgBsvI,GAAGj2I,EAAArC,KAAA,GAAA0E,EAAAlF,IAAAC,MAAA,SAAAiF,IAAE,IAAFgB,EAAAq3D,EAAAg8E,EAAA,OAAAv5I,IAAAM,MAAA,SAAA6B,GAAE,cAAFA,EAAA3B,KAAA2B,EAAA1B,MAAE,KAAF,EAAXyF,EAAImD,EAAAlD,MACNo3D,EAAmB,OAAby7E,QAAa,IAAbA,OAAa,EAAbA,EAAej7H,MAAK,SAACo2B,GAAM,OAAM,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGxrC,UAAWzC,CAAI,IACxDqzI,EAAqB,OAARN,QAAQ,IAARA,OAAQ,EAARA,EAAUj3D,MAAK,SAAC7tC,GAAM,OAAM,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGxrC,WAAc,OAAH40D,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAAM,IAClE40D,IAAQg8E,GACTN,EAASxyI,KAAK82D,GACf,wBAAAp7D,EAAAP,OAAA,GAAAsD,EAAA,IAAAqE,EAAAE,IAAA,YAAAJ,EAAAE,EAAAG,KAAAC,KAAA,CAAA9G,EAAApC,KAAA,gBAAAoC,EAAAyD,cAAApB,IAAA,iBAAArC,EAAApC,KAAA,iBAAAoC,EAAApC,KAAA,iBAAAoC,EAAArC,KAAA,GAAAqC,EAAAoF,GAAApF,EAAA,UAAA0G,EAAAO,EAAAjH,EAAAoF,IAAA,eAAApF,EAAArC,KAAA,GAAA+I,EAAAQ,IAAAlH,EAAAqqB,OAAA,YAoBC4rH,EAAIlzI,SAAWqzI,EAASrzI,QACRkzI,EAAIjjI,QAAO,SAACtU,GAE5B,GAAqB,IADT03I,EAASpjI,QAAO,SAAC2kB,GAAU,OAAKA,EAAM7xB,SAAWpH,CAAI,IACvDqE,OAAc,CACtB,IAAI4zI,EAAS,CACXl9E,YAAa,GACbC,YACE,gPACFtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQpH,EACR2xD,OAAQ3xD,EACRqyD,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZ6iF,EAASxyI,KAAK+yI,EAChB,CACF,IAEFP,EAASzyI,KAAI,SAACsD,GACZovI,EAAQzyI,KAAuB,OAAlB0c,GAASuzC,KAAgB5sD,EAAEnB,OAASmB,EAAEopD,OACrD,IACA4kF,GAAUoB,GACVxB,GAAYuB,GAAU,WAEL,IAAfF,EAAInzI,OAAY,CAAA/C,EAAApC,KAAA,SAClBipC,EAAAlgC,aACgBuvI,GAAGl2I,EAAArC,KAAA,GAAAsF,EAAA9F,IAAAC,MAAA,SAAA6F,IAAE,IAAFI,EAAAq3D,EAAAg8E,EAAA,OAAAv5I,IAAAM,MAAA,SAAAkC,GAAE,cAAFA,EAAAhC,KAAAgC,EAAA/B,MAAE,KAAF,EAAXyF,EAAIujC,EAAAtjC,MACNo3D,EAAmB,OAAby7E,QAAa,IAAbA,OAAa,EAAbA,EAAej7H,MAAK,SAACo2B,GAAM,OAAM,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGxrC,UAAWzC,CAAI,IACxDqzI,EAAqB,OAARJ,QAAQ,IAARA,OAAQ,EAARA,EAAUn3D,MAAK,SAAC7tC,GAAM,OAAM,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGxrC,WAAc,OAAH40D,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAAM,IAClE40D,IAAQg8E,GACTJ,EAAS1yI,KAAK82D,GACf,wBAAA/6D,EAAAZ,OAAA,GAAAkE,EAAA,IAAA4jC,EAAAjgC,IAAA,YAAAggC,EAAAC,EAAAhgC,KAAAC,KAAA,CAAA9G,EAAApC,KAAA,gBAAAoC,EAAAyD,cAAAR,IAAA,iBAAAjD,EAAApC,KAAA,iBAAAoC,EAAApC,KAAA,iBAAAoC,EAAArC,KAAA,GAAAqC,EAAA8lG,GAAA9lG,EAAA,UAAA6mC,EAAA5/B,EAAAjH,EAAA8lG,IAAA,eAAA9lG,EAAArC,KAAA,GAAAkpC,EAAA3/B,IAAAlH,EAAAqqB,OAAA,YA8BC6rH,EAAInzI,SAAWuzI,EAASvzI,QACRmzI,EAAIljI,QAAO,SAACtU,GAE5B,GAAqB,IADT43I,EAAStjI,QAAO,SAAC2kB,GAAU,OAAKA,EAAM7xB,SAAWpH,CAAI,IACvDqE,OAAc,CACtB,IAAI4zI,EAAS,CACXl9E,YAAa,GACbC,YACE,gPACFtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQpH,EACR2xD,OAAQ3xD,EACRqyD,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZ+iF,EAAS1yI,KAAK+yI,EAChB,CACF,IAEFL,EAAS3yI,KAAI,SAACsD,GACZsvI,EAAQ3yI,KAAuB,OAAlB0c,GAASuzC,KAAgB5sD,EAAEnB,OAASmB,EAAEopD,OACrD,IACA8kF,GAAUoB,GACVxB,GAAYuB,GAAU,QAAAt2I,EAAApC,KAAA,iBAAAoC,EAAArC,KAAA,GAAAqC,EAAA82I,GAAA92I,EAAA,kCAAAA,EAAAjB,OAAA,GAAAM,EAAA,gDAG3BJ,MAAA,KAAAC,UAAA,CA3LDoI,qBAAU,WAEiC,IAAvCuB,OAAOC,KAAKqwD,GAAgBp2D,QACK,IAAjC8F,OAAOC,KAAKouB,IAAUn0B,UAgOzB,WAE6Bg0I,GAAA93I,MAAC,KAADC,UAAA,CAhO1B83I,GAsNH,WAE2BC,GAAAh4I,MAAC,KAADC,UAAA,CAvNxBg4I,GACAnB,GAAY7+G,IAEhB,GAAG,CAACiiC,EAAgBjiC,KAEpB5vB,qBAAU,WAEiC,IAAvCuB,OAAOC,KAAKqwD,GAAgBp2D,QACK,IAAjC8F,OAAOC,KAAKouB,IAAUn0B,QAEtBgzI,GAAY7+G,GAEhB,GAAG,CAAC38B,EAAM+5I,uBA0KV,IAAA38D,GAA0CplE,oBAAS,GAAKqlE,GAAAxmE,YAAAumE,GAAA,GAAjDw/D,GAAav/D,GAAA,GAAEw/D,GAAgBx/D,GAAA,GAAmB,SAC1CgiB,GAASr6F,GAAA,OAAAi3F,GAAAv3F,MAAC,KAADC,UAAA,UAAAs3F,KAuBvB,OAvBuBA,GAAAt5F,YAAAC,IAAAC,MAAxB,SAAAsC,EAAyBqJ,GAAQ,IAAA0tF,EAAA4gD,EAAA,OAAAl6I,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAanB,GAZa,IAArB6uF,GACFC,EAAqB,IAMvBjxC,IAAkBkxC,GACd8J,EAAM,CACRtrE,cAAc,EACdD,OAAQ,kBAEVupH,EAAO1rI,IACHouI,GAAc,CAAD52I,EAAA3C,KAAA,cACXs5B,GAASn0B,QAAU,GAAC,CAAAxC,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,EACK2vD,EAAekpC,GAAK,KAAD,EAAxC4gD,EAAY92I,EAAA1B,KAClBmuF,GAAYqqD,GACZ3nF,EAAc2nF,GAAc,QAG9BD,IAAkBD,IAAe,yBAAA52I,EAAAxB,OAAA,GAAAW,EAAA,KAEpC82F,GAAAv3F,MAAA,KAAAC,UAAA,CAS2B,SAAA+3I,KAM3B,OAN2BA,GAAA/5I,YAAAC,IAAAC,MAA5B,SAAA2C,IAAA,IAAA2wF,EAAA,OAAAvzF,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EAC0B2vD,IAAiB,KAAD,EACxCwoF,GADMrlD,EAAS9vF,EAAA/B,MAEfmuF,GAAY0D,GACZhhC,EAAcghC,GACdgkD,IAAa,GAAM,wBAAA9zI,EAAA7B,OAAA,GAAAgB,EAAA,MACpBd,MAAA,KAAAC,UAAA,CAE6B,SAAA63I,KAc7B,OAd6BA,GAAA75I,YAAAC,IAAAC,MAA9B,SAAAkD,IAAA,IAAAg3I,EAAAC,EAAA7hD,EAAA8hD,EAAA,OAAAr6I,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,cAAA46B,EAAA56B,KAAA,EAC4BkwD,IAAgB,KAAD,EAAnCypF,EAAW/+G,EAAA35B,KACb62F,EAAc6hD,EAAYvkI,QAC5B,SAACykI,GAAgB,OAA4B,OAAvBA,EAAY3xI,MAAe,IAEW,KAAnB,QAAvCwxI,EAAA/8I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAggH,OAAA,EAAvCA,EAAyCjmF,gBACvCmmF,EAA0B9hD,EAAY1iF,QACxC,SAACykI,GAAgB,IAAAC,EAAA,OACfD,EAAYpmF,gBAC2B,QADfqmF,EACxBn9I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAogH,OAAA,EAAvCA,EAAyCrmF,aAAY,IAEzDsjF,GAAoB6C,EAAwB,KAE9Cp+E,EAAkBs8B,GAAa,wBAAAl9D,EAAAz5B,OAAA,GAAAuB,EAAA,MAChCrB,MAAA,KAAAC,UAAA,CA+BA,SACcy4I,GAAmBjtH,EAAAiM,GAAA,OAAAihH,GAAA34I,MAAC,KAADC,UAAA,UAAA04I,KAQjC,OARiCA,GAAA16I,YAAAC,IAAAC,MAAlC,SAAAu7B,EAAmCj6B,EAAWqK,GAAQ,OAAA5L,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OACpDrD,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,GAAAtuB,YAAA,GACzCD,EAAMrK,KACR,IACC,wBAAA06B,EAAAr6B,OAAA,GAAA45B,EAAA,KACLi/G,GAAA34I,MAAA,KAAAC,UAAA,UACc44I,GAAUlhH,EAAAC,GAAA,OAAAkhH,GAAA94I,MAAC,KAADC,UAAA,UAAA64I,KAQxB,OARwBA,GAAA76I,YAAAC,IAAAC,MAAzB,SAAA67B,EAA0Bv6B,EAAWqK,GAAQ,OAAA5L,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAC3CrD,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,GAAAtuB,YAAA,GACzCD,EAAMrK,KACR,IACC,wBAAAy6B,EAAAp6B,OAAA,GAAAk6B,EAAA,KACL8+G,GAAA94I,MAAA,KAAAC,UAAA,CAED,SAAS84I,GAA6Bt9D,EAAYn+E,GAChD,IACMkb,EAASijE,EAAMp3E,MAAMK,KAAI,SAACN,GAC9B,MAAsB,kBAATA,EACJA,EAAKyC,OAELzC,CAEX,IACA,GAAa,SAAT9G,EAAiB,CACnB,IAAIosH,EAAcisB,GAClBjsB,EAAWnlH,YAAOiU,GAClBw9H,GAASzxI,YAAKmlH,IACdksB,GAAWrxI,YAAKmlH,IAChBpuH,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Ck/G,KAAM7tB,EAAY/iH,cACnB,GAEL,MAAO,GAAa,SAATrJ,EAAiB,CAC1B,IAAIosH,EAAcmsB,GAClBnsB,EAAWnlH,YAAOiU,GAElB09H,GAAS3xI,YAAKmlH,IACdosB,GAAWvxI,YAAKmlH,IAChBpuH,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Cm/G,KAAM9tB,EAAY/iH,cACnB,GAEL,CACF,CAAC,SACcoyF,GAAalhE,EAAAmB,GAAA,OAAAggH,GAAAh5I,MAAC,KAADC,UAAA,UAAA+4I,KAwC3B,OAxC2BA,GAAA/6I,YAAAC,IAAAC,MAA5B,SAAAo8B,EAA6B96B,EAAWqK,GAAQ,IAAA0O,EAAAygI,EAAAC,EAAA,OAAAh7I,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OACxC6Z,EAA2B,OAAlB6I,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,QACjC,EAEd,SAARtnD,IACEmvI,EAAgBlD,IACXhiI,QAAO,SAACc,GACX2D,IAAW3D,IACA,CAEjB,IACAokI,EAASt0I,KAAK6T,GACdw9H,GAASzxI,YAAK00I,IACdrD,GAAWrxI,YAAK00I,IAChB39I,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Ck/G,KAAM0B,EAAStyI,cAChB,KAEc,SAARmD,KACLovI,EAAgBjD,IAEXliI,QAAO,SAACc,GACX2D,IAAW3D,IACA,CAEjB,IACAqkI,EAASv0I,KAAK6T,GACd09H,GAAS3xI,YAAK20I,IACdpD,GAAWvxI,YAAK20I,IAChB59I,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Cm/G,KAAM0B,EAASvyI,cAChB,KAEJ,wBAAAk0B,EAAA/6B,OAAA,GAAAy6B,EAAA,KACFy+G,GAAAh5I,MAAA,KAAAC,UAAA,CAED,IAAMk5I,GAAkB,eAAAn7I,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOq9E,GAAU,IAAAgW,EAAA,OAAAvzF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpC8yF,EAAYx5D,GAElB5oB,YAAW,WACT,IAAI+pI,EAIFA,EAHG39D,EAAMrS,MAAMxhB,OAAO9jD,OAGF2tF,EAAU19E,QAAO,SAACslI,GACpC,OACEA,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,gBAQd6yI,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,eANP6yI,EAAaxyI,OAAOL,cAAclC,SACvCm3E,EAAMrS,MAAM5iE,eAad6yI,EAAajmF,eAAe5sD,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAajmF,eAAe5sD,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,eAId6yI,EAAatyI,eAAeP,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAatyI,eAAeP,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,oBANhB,CASF,IAvCiBjC,YAAOktF,GA0C1B8jD,EAAwB6D,EAC1B,GAAG,KAAK,wBAAA36I,EAAAqB,OAAA,GAAA1B,EAAA,KACT,gBAlDuBo7B,GAAA,OAAAx7B,EAAAgC,MAAA,KAAAC,UAAA,KAoGlBq5I,GAAmB,CACvBl6G,QAAS,OACTi+F,UAAW,QAGPkc,GAAa,SAAC99D,EAAYn+E,GAC9B,GAAa,OAATA,EAAe,CACjB,IAAM6rF,EAAW4sD,GAAOhiI,QAAO,SAAC/L,GAAM,OAAKA,IAAMyzE,CAAK,IACtDu6D,GAASzxI,YAAK4kF,IACdysD,GAAWrxI,YAAK4kF,IAChB7tF,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Ck/G,KAAMpuD,EAASxiF,cAChB,IAGHinC,KAAM4rG,YACR,MAAO,GAAa,SAATl8I,EAAiB,CAC1B,IAAM6rF,EAAW8sD,GAAQliI,QAAO,SAAC/L,GAAM,OAAKA,IAAMyzE,CAAK,IACvDy6D,GAAS3xI,YAAK4kF,IACd2sD,GAAWvxI,YAAK4kF,IAChB7tF,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Cm/G,KAAMruD,EAASxiF,cAChB,IAGHinC,KAAM4rG,YACR,CACF,EACMC,GAA8B,CAClC,CACE/oI,MAAO,IACP4E,UAAW,IACXxL,IAAK,IACLiE,OAAQ,SAACiH,EAAGC,EAAaH,GACvB,OACEjZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAM+Y,EAAM,KAGlB,GAEF,CACEpE,MAAO,OACP4E,UAAW,OACXxL,IAAK,OACLiE,OAAQ,SAACiH,EAAGC,GACV,OACEpZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAMkZ,KAGZ,GAGF,CACEvE,MACE7U,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SAAC,WAE7D+N,IAAK,SACLiE,OAAQ,SAACiH,EAAGC,GAAM,OAChBpZ,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SACxDF,cAAC2e,KAAK,CAAC7L,KAAK,SAAQ5S,SAClBF,cAACwnB,KAAM,CACLq2H,QAAM,EACNp8I,KAAK,UACLqR,KAAK,QACL8D,KAAM5W,cAAC89I,IAAgB,IACvB98I,UAAU,qBACV4U,QAAS,WACP8nI,GAAWtkI,EAAQ,KACrB,OAGA,IAKN2kI,GAA8B,CAClC,CACElpI,MAAO,IACP4E,UAAW,IACXxL,IAAK,IACLiE,OAAQ,SAACiH,EAAGC,EAAaH,GACvB,OACEjZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAM+Y,EAAM,KAGlB,GAEF,CACEpE,MAAO,OACP4E,UAAW,OACXxL,IAAK,OACLiE,OAAQ,SAACiH,EAAGC,GACV,OACEpZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAMkZ,KAGZ,GAGF,CACEvE,MACE7U,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SAAC,WAE7D+N,IAAK,SACLiE,OAAQ,SAACiH,EAAGC,GAAM,OAChBpZ,cAAC2e,KAAK,CAAC7L,KAAK,SAAQ5S,SAClBF,cAACwnB,KAAM,CACLq2H,QAAM,EACNp8I,KAAK,UACLqR,KAAK,QACL8D,KAAM5W,cAAC89I,IAAgB,IACvB98I,UAAU,qBACV4U,QAAS,WACP8nI,GAAWtkI,EAAQ,OACrB,KAEI,IAIR4kI,GAAW,SAACv8I,GAChBswC,KAAM6M,KAAK,CACT/pC,MACE7U,cAAAC,WAAA,CAAAC,SACY,OAATuB,EACCzB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KAAGa,MAAO,CAAE+L,SAAU,OAAQI,WAAY,QAAS9M,SAAC,sGAKtDF,cAAAC,WAAA,CAAAC,SACEF,cAAA,KAAGa,MAAO,CAAE+L,SAAU,OAAQI,WAAY,QAAS9M,SAAC,sFAO5DgqB,QACElqB,cAAA,OAAAE,SACEE,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACi/C,KAAK,CACJzmC,QAAkB,OAAT/W,EAAgBm8I,GAAYG,GACrCtgH,WAAqB,OAATh8B,EAAgBy4I,GAASE,UAK7Cv5I,MAAO48I,GACPt8F,UAAU,GAEd,EACA,SAAS88F,GAAkBr+D,EAAYn+E,GACrC,IAAIy8I,EAAehE,GACfiE,EAAe/D,GAEnB,GAAKx6D,EAGL,GAAa,SAATn+E,EAAiB,CACnB,IAAI28I,EAAOx+D,EAAMv2E,MAAM,KAAKM,KAAK,IACjCu0I,EAAMp1I,KAAKs1I,GACXjE,GAASzxI,YAAKw1I,IACdnE,GAAWrxI,YAAKw1I,IAChBz+I,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Ck/G,KAAMwC,EAAMpzI,cACb,GAEL,MAAO,GAAa,SAATrJ,EAAiB,CAC1B,IAAI28I,EAAOx+D,EAAMv2E,MAAM,KAAKM,KAAK,IACjCw0I,EAAMr1I,KAAKs1I,GACX/D,GAAS3xI,YAAKy1I,IACdlE,GAAWvxI,YAAKy1I,IAChB1+I,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1Cm/G,KAAMwC,EAAMrzI,cACb,GAEL,CACF,CAEA,OACE1K,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC2xC,KAAG,CAAC3wC,UAAU,IAAGd,SAChBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,oBAG1CF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBZ,eAAA,OACES,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,SAAUga,OAAQ,WAAYvuD,SAAA,CAEvEE,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,wFACdV,UAAU,MAGdrM,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAW,2CAA2Cd,SAAA,CAEtDF,cAACigF,KAAY,CACXj/E,UAAS,0CAAAC,OACc,QAArBs3I,EAAA94I,EAAM4+I,uBAAe,IAAA9F,GAArBA,EAAuB1sD,mBAET,KADY,QAA1B2sD,EAAA/4I,EAAM+5I,4BAAoB,IAAAhB,GAAc,QAAdC,EAA1BD,EAA4Bh8G,oBAAY,IAAAi8G,OAAd,EAA1BA,EAA0C5sD,kBACvC5jF,QACC,gBACA,IAENma,QAAc,OAAL3iB,QAAK,IAALA,OAAK,EAALA,EAAO4qF,kBAChB7hF,MACO,OAAL/I,QAAK,IAALA,GAA2B,QAAtBi5I,EAALj5I,EAAO+5I,4BAAoB,IAAAd,GAAc,QAAdC,EAA3BD,EAA6Bl8G,oBAAY,IAAAm8G,OAApC,EAALA,EAA2C9sD,kBAE7C94E,iBAEExS,KADuC,QAAvCq4I,EAAAn5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAo8G,OAAA,EAAvCA,EAAyC/sD,oBAGZ,OADzBpsF,EAAM+5I,qBAAqBh9G,aACxBqvD,mBAEa,IADdpsF,EAAM+5I,qBAAqBh9G,aAAaqvD,kBACrC5jF,OACD,gBAGJ,GAEN0X,aAAc,SAAC2hC,EAAYzhC,GAAM,IAAA4kF,EAAA,OAIW,KAHpC,OAAN5kF,QAAM,IAANA,GAAa,QAAP4kF,EAAN5kF,EAAQrX,aAAK,IAAAi8F,OAAP,EAANA,EACI35F,WACDkxD,cACAxyD,QAAQ83C,EAAW0a,eAAqB,EAE7CvpD,SAAU,SAACtG,GACT,IACE,IAAImyI,EACA91I,EAAQ2D,EAEVmyI,EADY,KAAV91I,EACU/I,EAAM4qF,kBAEN5qF,EAAM4qF,kBAAkBnyE,QAAO,SAAC/L,GAAY,IAADs0H,EACrD,OAAc,QAAdA,EAAOt0H,EAAE3D,aAAK,IAAAi4H,OAAA,EAAPA,EACH91H,cACDuE,WAAW1G,EAAMmC,cACtB,IAGF2vI,GAAiB5xI,YAAK41I,IACtB7+I,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1CqvD,kBAAmBrjF,KACpB,GAEL,CAAE,MAAOnD,GACPD,QAAQe,IAAI,yBAA0Bd,EACxC,CACF,EACAs7E,SAAU,SAACx0E,GACT,IACEmuI,GAAiB5xI,YAAKjJ,EAAM4qF,oBAC5B5qF,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1CqvD,kBAAmB1/E,KACpB,GAEL,CAAE,MAAO9G,GACPD,QAAQe,IAAI,yBAA0Bd,EACxC,CACF,EACAg/F,YAAU,EACVK,QAAS,WACP41C,GAAiB5xI,YAAKjJ,EAAM4qF,oBAC5B5qF,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1CqvD,kBAAmB,MACpB,GAEL,IAEDpsF,EAAM4+I,gBAAgBxyD,mBAEP,IADdpsF,EAAM+5I,qBAAqBh9G,aAAaqvD,kBACrC5jF,QACDjI,cAAA,SAAOgB,UAAU,UAASd,SAAC,iCAGjCF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,yCAAwCd,SAElDF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,4EACdV,UAAU,MAGdrM,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,yCAAwCd,SAAA,CAElDF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbroC,OAAQ,GACRm3D,aACyC,IAAvCz3E,EAAM4+I,gBAAgBzwH,cAEJ,IADdnuB,EAAM+5I,qBAAqBh9G,aAAa5O,aACrC3lB,OACD,WAEF1H,GAER4nD,kBAAmB,+BACnBM,iBAEE,KADuC,QAAvCowF,EAAAp5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAq8G,OAAA,EAAvCA,EAAyCjrH,aAAa3lB,QAElD,YACA,KAENsgD,WAAmD,QAAzCuwF,EAAEr5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAs8G,OAAA,EAAvCA,EAAyClrH,aACrDy6B,cAAe20F,GACf10F,SAAU,iBAEX7oD,EAAM4+I,gBAAgBzwH,cAEnB,IADFnuB,EAAM+5I,qBAAqBh9G,aAAa5O,aAAa3lB,QAC9CjI,cAAA,SAAOgB,UAAU,UAASd,SAAC,gCAIxCE,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,oGACdV,UAAU,MAGdzM,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,2CAA0Cd,SAEpDE,eAAA,OAAKS,MAAO,CAAEkpE,cAAe,OAAQ7pE,SAAA,CACnCF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbroC,OAAQ,GACRm3D,aACyC,IAAvCz3E,EAAM4+I,gBAAgB9xH,cAEJ,IADd9sB,EAAM+5I,qBAAqBh9G,aAAajQ,aACrCtkB,OACD,WAEF1H,GAER4nD,kBAAmB,+BACnBM,iBAEgB,KADyB,QAAvCswF,EAAAt5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAu8G,OAAA,EAAvCA,EAAyCxsH,aACtCtkB,QACC,eACA,KAENsgD,WACyC,QAD/BywF,EACRv5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAw8G,OAAA,EAAvCA,EAAyCzsH,aAE3C87B,cAAe20F,GACfx0F,cACkB,SAAhB/oD,EAAM6qD,QAAwC,IAApB7qD,EAAM8+I,UAIlCj2F,SAAU,iBAEX7oD,EAAM4+I,gBAAgB9xH,cAEnB,IADF9sB,EAAM+5I,qBAAqBh9G,aAAajQ,aAAatkB,QAC9CjI,cAAA,SAAOgB,UAAU,UAASd,SAAC,gCAI1CE,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,MACjBE,aAAc,sCAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJC,MAAO,CAAEknB,UAAW,QACpB7nB,SAEAE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAO,QACP7f,SAAA,CAEFF,cAACsvF,GAAsB,CACrBE,oBAAqB8tD,GACrB/tD,iBAAkBkqD,EAClBxwF,WAA8B,OAAlBzjC,GAASuzC,KAAgB,SAAW,SAChD1Q,cAAe,SAAC7/C,EAAYgoD,EAAQrkD,GAClC+wI,GAA6B/wI,EAAGqkD,EAClC,EACAjI,WAAYgyF,GAAWE,GAAUX,GACjCxxF,SAAU,OACVmnC,WACEwuD,GAGFz1F,iBAAe+xF,KAAoB,OAART,SAAQ,IAARA,QAAQ,EAARA,GAAU7xI,QAAS,KAE/CsyI,IAAYT,GAAS7xI,OAAS,GAC7B7H,eAAA,UACEY,UAAU,gBACV4U,QAAS,WACPooI,GAAS,KACX,EAAE99I,SAAA,CACH,QACO45I,GAAS7xI,OAAS,EAAE,OAI9BjI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,SAAC9kD,GAAS,OAAKk7F,GAAU,OAAO,EAC9C12C,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,kBAMlB3f,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,MACjBE,aAAc,sCAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,2CAA0Cd,SAEpDE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAO,QACP7f,SAAA,CAEFF,cAACsvF,GAAsB,CACrBE,oBAAqB8tD,GACrB/tD,iBAAkBkqD,EAClBxwF,WAA8B,OAAlBzjC,GAASuzC,KAAgB,SAAW,SAChD1Q,cAAe,SAAC7/C,EAAYgoD,EAAQrkD,GAClC+wI,GAA6B/wI,EAAGqkD,EAClC,EACAjI,WAAYgyF,GAAWI,GAAUX,GACjC1xF,SAAU,OACVmnC,WACEwuD,GAGFz1F,iBAAe+xF,KAAoB,OAARP,SAAQ,IAARA,QAAQ,EAARA,GAAU/xI,QAAS,KAE/CsyI,IAAYP,GAAS/xI,OAAS,GAC7B7H,eAAA,UACEY,UAAU,gBACV4U,QAAS,WACPooI,GAAS,OACX,EAAE99I,SAAA,CACH,QACO85I,GAAS/xI,OAAS,EAAE,OAI9BjI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,SAAC9kD,GAAS,OAAKk7F,GAAU,OAAO,EAC9C12C,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,kBAMlB3f,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,4CAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJI,UAAU,2CAA0Cd,SAEpDF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,OAAQ7pE,SACnCF,cAAC8nD,KAAmB,CAClBM,cAAe,CAAEroC,OAAQ,IACzBooC,kBAAmB,+BACnBM,iBAEgB,KADyB,QAAvCwwF,EAAAx5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAAy8G,OAAA,EAAvCA,EAAyCuF,gBACtCv2I,QACC,UACA,KAENsgD,WACyC,QAD/B2wF,EACRz5I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA08G,OAAA,EAAvCA,EAAyCsF,gBAE3Cn2F,cAAe20F,GACf10F,SAAU,2BAKlBloD,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,sFAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,2CAA0Cd,SAEpDF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACyC,QAD7BkpD,EACV15I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA28G,OAAA,EAAvCA,EAAyCsF,cAE3Cp2F,cAAew0F,GACfv0F,SAAU,sBAIhBtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,gFAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,2CAA0Cd,SAEpDE,eAACoe,KAAMC,MAAK,CACVhM,SA1oBe,SAACtG,GAC1B1M,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM+5I,qBAAqBh9G,cAAY,IAC1CkiH,WAAYvyI,EAAEuG,OAAOlK,SACtB,GAEL,EAmoBYA,MAA8C,QAAzC4wI,EAAE35I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA48G,OAAA,EAAvCA,EAAyCsF,WAAWx+I,SAAA,CAE3DF,cAACwe,KAAK,CAAChW,MAAO,KAAKtI,SAAC,OACpBF,cAACwe,KAAK,CAAChW,MAAO,KAAKtI,SAAC,eAK1BE,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CA4BfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,oBACjBE,aAAc,wJAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACyC,QAD7BopD,EACV55I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA68G,OAAA,EAAvCA,EACIsF,wBAENt2F,cAAew0F,GACfv0F,SAAU,gCAKhBtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,4IAIlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACyC,QAD7BqpD,EACV75I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA88G,OAAA,EAAvCA,EAAyCsF,cAE3Cv2F,cAAew0F,GACfv0F,SAAU,yBAMlBloD,eAACuxC,KAAG,CAAC3wC,UAAU,GAAEd,SAAA,CACfF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,sBACjBE,aAAc,8GAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACyC,QAD7BspD,EACV95I,EAAM+5I,qBAAqBh9G,oBAAY,IAAA+8G,OAAA,EAAvCA,EAAyCsF,mBAE3Cx2F,cAAew0F,GACfv0F,SAAU,8BAkBlBtoD,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUrkB,GACV0kB,aAjhCR,SAAqCl9C,GAEF,OAAlB4hB,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAC3D2nC,GAAct5F,EAAc,SAARqK,EAAiBA,EAAM,QAC3C0yC,IAAkBkxC,EAEpB,EA4gCQhxC,UAAQ,EACRroC,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAemxC,EACflxC,iBAAkBA,GAClBnhC,QAAS68H,UAKnB,GCrzCayC,GAA+B,SAACr/I,GAC3C,IAAA+X,EAAwCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAlDunI,EAAarnI,EAAA,GAAEsnI,EAAgBtnI,EAAA,GACpCgJ,EAAsCjJ,mBAAwB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1Du+H,EAAWt+H,EAAA,GAAEu+H,EAAcv+H,EAAA,GAiIlC,OA/HAnU,qBAAU,WACRyL,eAAmBxU,MAAK,SAAC6H,GACvB,IAAM6zI,EAAW7zI,EAAI4M,QACnB,SAAC/L,GAAM,MAAsB,aAAjBA,EAAEgM,aAA4C,IAAfhM,EAAEiM,QAAiB,IAC9D,GACE+mI,IACFJ,EAAgBI,EAAS1zG,OAAO9gC,eAElC,IAAIy0I,EAAqB9zI,EAAI8U,MAC3B,SAACjU,GAAM,MACW,aAAhBA,EAAEgM,YACY,GAAdhM,EAAEiM,UACU,WAAZjM,EAAEs/B,MAAmB,IAErB4zG,EAA8B,GAClCA,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAACs/I,IAAoB,IAC3BpoC,KAAM,cACNgV,QAASzsH,EAAMysH,YAIrBmzB,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAACu/I,IAAW,IAClBroC,KAAM,eACNgV,QAASzsH,EAAMysH,YAIrBmzB,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,qBACP+B,KAAM5W,cAAC6xH,IAAqB,IAC5B3a,KAAM,qBACNgV,QAASzsH,EAAMysH,YAKrBmzB,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,wBACP+B,KAAM5W,cAACw/I,IAAe,IACtBtoC,KAAM,wBACNgV,QAASzsH,EAAMysH,YAIrBmzB,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,kBACP+B,KAAM5W,cAACg0G,KAA0B,IACjCkD,KAAM,kBACNgV,QAASzsH,EAAMysH,YAIrBmzB,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,gBACP+B,KAAM5W,cAACy/I,IAAwB,IAC/BvoC,KAAM,gBACNgV,QAASzsH,EAAMysH,YAIjBkzB,GACFC,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,aACP+B,KAAM5W,cAACs7G,IAAkB,IACzBpE,KAAM,aACNgV,QAASzsH,EAAMysH,aAKlBzsH,EAAMuH,QAAUvH,EAAM8+I,WACzBc,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,sBACP+B,KAAM5W,cAACy/I,IAAwB,IAC/BvoC,KAAM,sBACNgV,QAASzsH,EAAMysH,YAKnB6yB,GACFM,EAAav2I,KAAK,CAChBypC,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,iBACP+B,KAAM5W,cAAC0/I,IAAoB,IAC3BxoC,KAAM,iBACNgV,QAASzsH,EAAMysH,YAMvB8yB,EAAiBD,GACjBG,EAAe,GAADj+I,OAAKo+I,GACrB,GACF,GAAG,CAAC5/I,EAAMysH,QAASzsH,EAAMuH,OAAQvH,EAAM8+I,YAGrCv+I,cAAA,OACEgB,UAAU,yBAMVd,SAEC++I,EAAYp2I,KAAI,SAACjF,EAAMqV,GAAG,OACzBjZ,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,EAA2B,KAI7C,E,cC3Je,SAASi6C,GAAezzD,GACrC,IAAA+X,EAAkDC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAAvDm6E,EAAiBj6E,EAAA,GAAEk6E,EAAoBl6E,EAAA,GAC9C4N,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GAAaA,EAAA,GAE5B/1C,qBAAU,YAC2B,IAA/B/M,EAAMkgJ,sBACR/tD,EAAqB,GAEzB,GAAG,CAACnyF,EAAMkgJ,uBACV,IAoBMtuC,EAAoB,eAAAlvG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO4J,GAAM,IAAA3D,EAAA8oG,EAAA1tG,EAAA,OAAAvB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAClC0F,EAAQ2D,EACRmlG,EAAU7xG,EAAMmgJ,UAEhBh8I,EAAO0tG,EAAQp5F,QAAO,SAACtU,GAC3B,IAAIi8I,EAAgB,GAWpB,GAVArnI,EAAQ3P,KAAI,SAACrI,GACCA,EAAIqP,QAC2D,IAAvEjM,EAAKoH,OAAOF,WAAWH,cAAcnB,QAAQhB,EAAMmC,iBAEc,IAAzD/G,EAAK2xD,OAAOzqD,WAAWtB,QAAQhB,EAAMmC,iBAEuC,IAA7E/G,EAAKmH,aAAaD,WAAWH,cAAcnB,QAAQhB,EAAMmC,iBAHlEk1I,EAAS/2I,KAAKlF,EAMlB,IACIi8I,EAAS53I,OAAS,EACpB,OAAO,CAEX,IACA2pF,EAAqBppF,GACrB/I,EAAMqgJ,aAAYp3I,YAAK9E,IAGvB,wBAAAhB,EAAAqB,OAAA,GAAA1B,EAAA,KACD,gBAzByB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAwCpBoU,EAAU,CACd,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGRgmB,EAAiBpoE,EAAQ3P,KAAI,SAACrI,EAAKgH,GACvC,OACExH,cAACs4B,KAAM,CAELxR,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAEM,EAAIq8C,WACjC78C,cAAA,KAAGgB,UAAU,cAAad,SAAEM,EAAIo6D,gBAItCt3D,KAAM,SAACmV,GAEL,OADArT,QAAQe,IAAI,QAAQsS,QACClY,IAAjBkY,EAAQsgD,KACY,OAAlBvzC,EAASuzC,KAEJtgD,EADQjY,EAAIqP,MAAM5N,QAAQ,KAAM,OAIhCwW,EADQjY,EAAIqP,MAAM5N,QAAQ,KAAM,OAIlCwW,EAAQjY,EAAIqP,MAEvB,GAtBKrP,EAAIqP,MAyBf,IACA,OACE7P,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OApEe,WACnB,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYopC,EACZtpC,cAAegpD,EACf5oD,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EAwDM/gC,QAASznB,EAAMkgJ,qBAEft4H,OAAQ5nB,EAAMsgJ,eACd/+I,UAAU,qBACVsmB,WAAW,EACX85B,WAAW,EACXytD,iBAAe,EACf1tD,UAAU,EAAMjhD,SAEhBF,cAACmxE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAO/I,EAAMugJ,gBACbp/F,cAAc,SACdywB,WAAY,CAAE/yD,OAAQ,oBAAqBgzD,aAAc,WACzDC,QAAQ,KACRC,iBAAiB,SACjByuE,YApIY,SAACrgE,GACnB,IAAImf,EAA4B,QACPx+F,IAArBd,EAAM8oD,YAAiD,OAArB9oD,EAAM8oD,aAC1Cw2C,EAAkBr2F,YAAOjJ,EAAM8oD,aAOC,IALPw2C,EAAmB7mF,QAC5C,SAAC2kB,GAAU,OACTA,EAAM7xB,SAAW40E,EAAMh8E,KAAKoH,QAAS6xB,EAAM04B,SAAWqqB,EAAMh8E,KAAK2xD,MAAM,IAGpDttD,QACrB82F,EAAmBj2F,KAAK82E,EAAMh8E,MAMhCnE,EAAMygJ,iBAAiBnhD,EAAoBt/F,EAAM6oD,UACjD7oD,EAAM0gJ,yBAAwB,EAChC,EAkHQC,UAAU,eACVC,UAAW,EAAEngJ,SA+CZ0gF,OAKX,CCxMO,IAAM0/D,GAA+B,SAAC7gJ,GAC3C,IAAA+X,EAAgDC,mBAAc,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAA1D+oI,EAAgB7oI,EAAA,GAAEmiI,EAAmBniI,EAAA,GAC5CgJ,EACEjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GADZ8/H,EAA6B7/H,EAAA,GAAE8/H,EAAgC9/H,EAAA,GAEtEnU,qBAAU,YAKV,WACE,IAAI05H,EAAc,GACdwa,EAAkB,GAED,qCAAnBjhJ,EAAM6oD,UACa,qCAAnB7oD,EAAM6oD,UAEN7oD,EAAMkhJ,oBAAoB93I,KAAI,SAACjF,GACCnE,EAAMmhJ,sBAAsB1oI,QACxD,SAACykI,GACKA,EAAYkE,QAAUj9I,EAAK2yD,aAAazrD,YAC1Co7H,EAAOp9H,KAAK,CACV+3I,MAAOlE,EAAYkE,MACnB9tI,YAAa4pI,EAAYmE,WAG/B,GAEJ,IACIrhJ,EAAMkhJ,oBAAoB14I,SAAWi+H,EAAOj+H,QAC9CxI,EAAMkhJ,oBAAoB93I,KAAI,SAACk4I,GAC7B,IAAIC,EAAe9a,EAAOhuH,QACxB,SAAC0iF,GAAgB,OACfA,EAAYimD,QAAUE,EAASxqF,aAAazrD,UAAU,IAG9B,IAAxBk2I,EAAa/4I,OACfy4I,EAAW53I,KAAK,CAAEiK,YAAa,wBAE/B2tI,EAAW53I,KAAKk4I,EAAa,GAEjC,MAGFvhJ,EAAMkhJ,oBAAoB93I,KAAI,SAACjF,GACCnE,EAAMwhJ,qBAAqB/oI,QACvD,SAACykI,GACKA,EAAYkE,QAAUj9I,EAAK2yD,aAAazrD,YAC1Co7H,EAAOp9H,KAAK,CACV+3I,MAAOlE,EAAYkE,MACnB9tI,YAAa4pI,EAAYmE,WAG/B,GAEJ,IACIrhJ,EAAMkhJ,oBAAoB14I,SAAWi+H,EAAOj+H,QAC9CxI,EAAMkhJ,oBAAoB93I,KAAI,SAACk4I,GAC7B,IAAIC,EAAe9a,EAAOhuH,QACxB,SAAC0iF,GAAgB,OACfA,EAAYimD,QAAUE,EAASxqF,aAAazrD,UAAU,IAE9B,IAAxBk2I,EAAa/4I,OACfy4I,EAAW53I,KAAK,CAAEiK,YAAa,wBAE/B2tI,EAAW53I,KAAKk4I,EAAa,GAEjC,KAIJP,EAAiCC,EACnC,CAlEEQ,GACA97I,QAAQe,IAAI,4BAA6B1G,EAAMkhJ,oBACjD,GAAG,CAACJ,IAgIJ,OACEvgJ,cAAAC,WAAA,CAAAC,SACEE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMkhJ,oBACbnvE,iBAAiB,SACjBxwE,UAAU,0BACV8R,KAAK,QACLy+D,QAAQ,eACR0V,WAAS,EACThjE,KAAM,GACN0jE,mBAAoB,CAAC,GAAI,GAAI,IAE7BznF,SAAA,CAEAF,cAACs4B,KAAM,CACLzoB,MAAM,SACNhP,MAAO,CAAEif,UAAW,SACpBquH,YAAa,CAAEx4H,MAAO,SACtBmR,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiB,sBAEjDjN,cAACs4B,KAAM,CACLzoB,MAAM,cACNhP,MAAO,CAAEif,UAAW,SACpBquH,YAAa,CAAEx4H,MAAO,SACtBmR,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiB,mBAEjDjN,cAACs4B,KAAM,CACLxR,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiB,WAC/CkhI,YAAa,CAAEx4H,MAAO,QACtBrS,KAvER,SAA4BmV,EAAc2/D,GACxC,OACEp4E,cAAAC,WAAA,CAAAC,SACEF,cAACs2E,GAAkB,CACjB7tB,sBACkDloD,IAAhDigJ,EAA8BpoE,EAAIjuE,WACO,IAAzCq2I,EAA8Bv4I,OAC1B,sBACAu4I,EAA8BpoE,EAAIjuE,UAAU4I,YAmBlDs1C,cAAe,SAACl8C,GAAM,OA3CD,SAACyzE,EAAY3xE,GACxC,QAAY1N,IAAR0N,GAA6B,OAARA,EAAc,CACrC,IAAI4tI,EAAS,CACXgF,MAAOjhE,EAAMrpB,aAAazrD,WAC1Bq2I,QAASvhE,EAAMrqB,OACfurF,UAAW7yI,EAAIyqD,UAEjBtzD,QAAQe,IAAI,SAAU01I,GAEtBp8I,EAAM2hJ,cAAcvF,EAAQp8I,EAAM6oD,UAClCuxF,EAAoBj6D,EACtB,CAIF,CA4BmCyhE,CAAqB5oI,EAAStM,EAAE,EAC3D8qE,iBAAiB,WACjBH,aAAc,CAAC,CAAEpe,SAAU,SAAW,CAAEA,SAAU,UAClDnQ,WACqB,qCAAnB9oD,EAAM6oD,UACa,qCAAnB7oD,EAAM6oD,SACF7oD,EAAMmhJ,sBACNnhJ,EAAMwhJ,qBAEZ34F,SAAU,gBAIlB,QAoCF,E,UCjIag5F,GAA+B,SAAC7hJ,GAC3C,IAAA+X,EAA8BC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAtCqwE,EAAOnwE,EAAA,GAAEiqF,EAAUjqF,EAAA,GAC1BgJ,EAA4CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAApD29C,EAAc19C,EAAA,GAAE29C,EAAiB39C,EAAA,GACxCG,EAA4DrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAApEygI,EAAsBxgI,EAAA,GAAEygI,EAAyBzgI,EAAA,GACxDgB,EAA8DtK,mBAC5D,IACDuK,EAAA1L,YAAAyL,EAAA,GAFM0/H,EAAuBz/H,EAAA,GAAE0/H,EAA0B1/H,EAAA,GAG1DxV,qBAAU,WACRg1I,EAA0B/hJ,EAAMwhJ,sBAChCS,EAA2BjiJ,EAAMmhJ,sBACnC,GAAG,CAACnhJ,EAAMwhJ,qBAAsBxhJ,EAAMmhJ,wBAEtCp0I,qBAAU,gBAEyBjM,IAA/Bd,EAAMwhJ,sBACyB,OAA/BxhJ,EAAMwhJ,sBAGNO,EAA0B/hJ,EAAMwhJ,2BAGD1gJ,IAA/Bd,EAAMwhJ,sBACyB,OAA/BxhJ,EAAMwhJ,sBAGNS,EAA2BjiJ,EAAMmhJ,uBAGnCtiF,EAAkB7+D,EAAMkhJ,qBACxBh/C,EAAWliG,EAAMkhJ,oBACnB,GAAG,CACDlhJ,EAAMkhJ,oBACNlhJ,EAAMwhJ,qBACNxhJ,EAAMwhJ,uBAGR,IAiCMU,EAAS,WACbliJ,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,GAAAhvB,YAAA,GACXzO,EAAM6oD,SACa,oCAAlB7oD,EAAM6oD,UACa,qCAAnB7oD,EAAM6oD,SACFm5F,EACAF,GAAsB,IAE9B9hJ,EAAMmiJ,iBACR,EACMv6H,EAAS,WACbm6H,EAA0B/hJ,EAAMwhJ,sBAChCS,EAA2BjiJ,EAAMmhJ,uBACjCnhJ,EAAMmiJ,iBACR,EAwEA3/H,EAAkExK,qBAAUyK,EAAA5L,YAAA2L,EAAA,GAArE4/H,EAAyB3/H,EAAA,GAA8BA,EAAA,GAC9D,OACEliB,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLE,QAASznB,EAAMqiJ,aACfz6H,OAAQ,kBAAMA,GAAQ,EACtBrmB,UAAU,iCACVmmB,YAAa,CAAE,QAAS,QACxBtmB,MAAO,CAAE8U,MAAO,QAChB4R,OA/HFnnB,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAc,kBAAMrhC,GAAQ,EAC5B8gC,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,kBAAMi5F,GAAQ,EAC5Bv5F,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,aAsGS1M,SAAA,CAEvBF,cAAA,OAAKa,MAAO,CAAE0iC,QAAS,0BAA2BrjC,SAChDF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,4BAMjEF,cAAA,KAAGa,MAAO,CAAEw8F,aAAc,uBAC1Bj9F,eAAA,OAAKS,MAAO,CAAE0iC,QAAS,2BAA4BrjC,SAAA,CACjDE,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,MAAOp0D,MAAO,QAASzV,SAClDF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbzyC,MAAO,OACPoK,OAAQ,OACR1I,aAAc,mBAEhBgxC,cA5Da,SAACzkD,EAAWw0E,GAIzC,IAHA,IAAM5vE,EAAQ5E,EACRm+I,EAAqB,GACvBjjE,EAAQvsE,YAAA,GAAQs1E,GACpBpgF,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQ6+C,GAASr3E,EAAAu4B,EAAA/3B,OAAAR,IAAE,CAAhD,IAAAy4B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAYe,GAAF03B,EAAA,GAAOA,EAAA,IACpB6hH,EAAcj5I,KAAKN,EACrB,CACA,IAAMoyF,EAAcmnD,EAAc7pI,QAAO,SAACtU,GACxC,IAC8D,IAA5DA,EAAKoH,OAAOL,cAAcnB,QAAQhB,EAAMmC,iBACoB,IAA5D/G,EAAK2xD,OAAO5qD,cAAcnB,QAAQhB,EAAMmC,iBAC4B,IAApE/G,EAAK4vE,eAAe7oE,cAAcnB,QAAQhB,EAAMmC,eAEhD,OAAO,CAEX,IACoB,IAAhB/G,EAAKqE,OACPq2D,EAAkB7+D,EAAMkhJ,qBAExBriF,EAAkBs8B,EAEtB,EAyCkBtyC,SAAU,SACVC,WAAYs5F,MAGhB7hJ,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBC,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,kBAMrBzqB,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACsgJ,GAGC,CACAc,cAtIiB,SAACx9I,EAAWqK,GACzC,GACS,oCAAPA,GACmB,qCAAnBxO,EAAM6oD,SACN,CACA,IAAIzrB,EAAUn0B,YAAO+4I,GAEM,IADT5kH,EAAM3kB,QAAO,SAAC3P,GAAS,OAAKA,EAAKs4I,QAAUj9I,EAAKi9I,KAAK,IACvD54I,OACd40B,EAAM/zB,KAAKlF,GAEXi5B,EAAMh0B,KAAI,SAACk4I,GACLA,EAASF,QAAUj9I,EAAKi9I,QAC1BE,EAASD,UAAYl9I,EAAKk9I,UAE9B,IAEFY,EAA2B7kH,EAC7B,KAAO,CACL,IAAIA,EAAUn0B,YAAO64I,GAIM,IAFT1kH,EAAM3kB,QAAO,SAAC3P,GAAS,OAAKA,EAAKs4I,QAAUj9I,EAAKi9I,KAAK,IAEvD54I,OACd40B,EAAM/zB,KAAKlF,GAEXi5B,EAAMh0B,KAAI,SAACk4I,GACLA,EAASF,QAAUj9I,EAAKi9I,QAC1BE,EAASD,UAAYl9I,EAAKk9I,UAE9B,IAKFU,EAA0B3kH,EAC5B,CAWF,EA8FcyrB,SAAU7oD,EAAM6oD,SAChB24F,qBAAsBM,EACtBX,sBAAuBa,EACvBd,oBAAqBtiF,eAQrC,EAEa2jF,GAA+B,SAACviJ,GAA4B,IAADwiJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtEh6H,EAA4CjR,mBAAc,IAAGkR,EAAArS,YAAAoS,EAAA,GAAtDi6H,EAAch6H,EAAA,GAAEi6H,EAAiBj6H,EAAA,GACxCC,EAAwBnR,mBAAc,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAlCi+C,EAAIh+C,EAAA,GAAEg6H,EAAOh6H,EAAA,GACpB2I,EAAgC/Z,mBAAc,IAAGga,EAAAnb,YAAAkb,EAAA,GAA1CsxH,EAAQrxH,EAAA,GAAEsxH,EAAWtxH,EAAA,GAC5BG,EAA4Dna,mBAAc,IAAGoa,EAAAvb,YAAAsb,EAAA,GAAtEoxH,EAAsBnxH,EAAA,GAAEoxH,EAAyBpxH,EAAA,GACxDG,EAAkCva,mBAAc,CAC9CyrI,UAAW,gBACXjxH,EAAA3b,YAAA0b,EAAA,GAFKmxH,EAASlxH,EAAA,GAAEmxH,EAAYnxH,EAAA,GAG9BG,EAAsC3a,mBAAc,CAClD4rI,YAAa,kBACbhxH,EAAA/b,YAAA8b,EAAA,GAFKkxH,EAAWjxH,EAAA,GAAEkxH,EAAclxH,EAAA,GAIlCG,EAA8B/a,mBAAc,IAAGgb,EAAAnc,YAAAkc,EAAA,GAAxC4gD,EAAO3gD,EAAA,GAAE+wH,EAAU/wH,EAAA,GAC1BG,EAAoCnb,mBAAc,IAAGob,EAAAvc,YAAAsc,EAAA,GAA9CggF,EAAU//E,EAAA,GAAE4wH,EAAa5wH,EAAA,GAChCG,EAA4Cvb,mBAAc,IAAGwb,GAAA3c,YAAA0c,EAAA,GAAtD0wH,GAAczwH,GAAA,GAAE0wH,GAAiB1wH,GAAA,GACxCI,GAA0C5b,mBAAc,IAAG6b,GAAAhd,YAAA+c,GAAA,GAApDuwH,GAAatwH,GAAA,GAAEuwH,GAAgBvwH,GAAA,GACtCivC,GAAkD9qD,mBAAc,IAAG+qD,GAAAlsD,YAAAisD,GAAA,GAA5DuhF,GAAiBthF,GAAA,GAAEuhF,GAAoBvhF,GAAA,GAC9CG,GAAgDlrD,mBAAc,IAAGmrD,GAAAtsD,YAAAqsD,GAAA,GAA1DqhF,GAAgBphF,GAAA,GAAEqhF,GAAmBrhF,GAAA,GAC5CE,GAAoCrrD,mBAAc,CAChDysI,gBAAgB,EAChBC,sBAAsB,EACtBC,mBAAmB,IACnBrhF,GAAAzsD,YAAAwsD,GAAA,GAJKuhF,GAAUthF,GAAA,GAAEuhF,GAAavhF,GAAA,GAgPhC,SAASg1B,GAAiB/1F,EAAU63F,GAGlC,OAFY73F,EAAIyH,UAAU,EAAGowF,GACjB73F,EAAIyH,UAAUowF,EAAW,EAAG73F,EAAIiG,OAE9C,CA7OAuE,qBAAU,WACR,QAAuCjM,IAAnCd,EAAM8kJ,0BACsC,IAA1C9kJ,EAAM8kJ,yBAAyBt8I,OAAc,CAC/C,GAAsD,SAAlDxI,EAAM8kJ,yBAAyBC,eAA2B,CAC5D,IAAIC,EAAiB,GACrBhlJ,EAAM8kJ,yBAAyBG,IAAI77I,KAAI,SAACjF,GACtC,IAAI+gJ,EAAWllJ,EAAM0yF,SAASj6E,QAC5B,SAAC3P,GAAS,OAAK3E,EAAK+O,KAAOpK,EAAKmyB,OAAO5vB,UAAU,IAG3B,IAApB65I,EAAS18I,QACXw8I,EAAU37I,KAAK67I,EAAS,GAE5B,IACA9B,EAAQ4B,EACV,CACA,GAAsD,eAAlDhlJ,EAAM8kJ,yBAAyBC,eAAiC,CAAC,IAADI,EAC9DH,EAAiB,GACjBI,EAAuB,GAEW,QAAtCD,EAAAnlJ,EAAM8kJ,yBAAyBnxE,eAAO,IAAAwxE,GAAtCA,EAAwC/7I,KAAI,SAACjF,GAC3C,IAAI+gJ,EAAWllJ,EAAMqlJ,YAAY5sI,QAC/B,SAAC3P,GAAS,OAAK3E,EAAK+O,KAAOpK,EAAKw8I,UAAUj6I,UAAU,IAG9B,IAApB65I,EAAS18I,QACXw8I,EAAU37I,KAAK67I,EAAS,GAE5B,IACAllJ,EAAM8kJ,yBAAyBG,IAAI77I,KAAI,SAACjF,GACtC,IAAI+gJ,EAAWllJ,EAAMkhJ,oBAAoBzoI,QACvC,SAAC3P,GAAS,OAAK3E,EAAK+O,KAAOpK,EAAKguD,aAAazrD,UAAU,IAEjC,IAApB65I,EAAS18I,QACX48I,EAAgB/7I,KAAK67I,EAAS,IAEhCZ,GAAqBngJ,EAAKmW,OAC5B,IAEA0pI,EAAcoB,GACdrB,EAAWiB,EACb,CACA,GAAsD,gBAAlDhlJ,EAAM8kJ,yBAAyBC,eAAkC,CAAC,IAADQ,EAGnE5/I,QAAQe,IACN,+CACA1G,EAAM8kJ,yBACNvB,EACAvjJ,EAAMwlJ,aAER,IAAIC,EAA8B,GAiBZ,QAAtBF,QAfkDzkJ,IAAhDd,EAAM82I,aAAa/5G,aAAa4iG,aACgB,OAAhD3/H,EAAM82I,aAAa/5G,aAAa4iG,aACuB,IAAvD3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OACxC,GACAxI,EAAM82I,aAAa/5G,aAAaivG,YAG1B,MAFNhsI,EAAM82I,aAAa/5G,aAAa4iG,YAC9B3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OAAS,GAEvD1E,KAAKwM,MACHgoF,GACEt4F,EAAM82I,aAAa/5G,aAAa4iG,YAChC3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OAAS,IAGzD1E,KAAKwM,MAAMtQ,EAAM82I,aAAa/5G,aAAa4iG,cAChCh+H,aAAK,IAAA4jJ,GAAtBA,EAAwBn8I,KAAI,SAACg0B,GAC3BA,EAAMx7B,OAAOwH,KAAI,SAACs8I,GAChB,GAC2B,MAAzBA,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,KAEhB,GAA6B,OAAzB0jJ,EAAO5jJ,SAASE,KAClByjJ,EAAuBp8I,KAAK,CAC1BtH,MAAO2jJ,EAAO5jJ,SAASC,MACvBC,KAAM0jJ,EAAO5jJ,SAASE,YAEnB,GACoB,OAAzB0jJ,EAAO5jJ,SAASE,MACiB,IAAjC0jJ,EAAO5jJ,SAASC,MAAMyG,OACtB,CACA,IAAIm9I,EAAoB,GAExBD,EAAO5jJ,SAASG,UAAUuO,OAAOpH,KAAI,SAACjF,GACpCwhJ,EAAat8I,KAAK,CAAEtH,MAAOoC,EAAKpC,OAClC,IAEA0jJ,EAAuBp8I,KAAK,CAC1BtH,MAAO2jJ,EAAO5jJ,SAASC,MACvBC,KAAM0jJ,EAAO5jJ,SAASE,KACtBwO,OAAQm1I,GAEZ,CAEJ,GACF,IAsBA,IAAIC,EAAoB/B,EAGtB,iBADA7jJ,EAAM8kJ,yBAAyBe,YAAYC,iBAG3CF,EAAaG,YAAc,gBAG3B,iBADA/lJ,EAAM8kJ,yBAAyBe,YAAYC,iBAG3CF,EAAaG,YAAc,gBAG3B,qBADA/lJ,EAAM8kJ,yBAAyBe,YAAYC,iBAG3CF,EAAaG,YAAc,oBAG3B,qBADA/lJ,EAAM8kJ,yBAAyBe,YAAYC,iBAG3CF,EAAaG,YAAc,oBAG3B,uBADA/lJ,EAAM8kJ,yBAAyBe,YAAYC,mBAG3CF,EAAahC,YAAc,uBAG7BE,EAAchxI,YAAC,CAAC,EAAI8yI,IAepBjgJ,QAAQe,IACN,iEACA1G,EAAM8kJ,yBACN9kJ,EAAMwlJ,YACNjC,EACAkC,EAEJ,CAEAtC,EAAkBnjJ,EAAM8kJ,yBAC1B,CAEJ,GAAG,CAAC9kJ,EAAM8kJ,2BAEV/3I,qBAAU,WAWR,GAV8C,IAA1C/M,EAAM8kJ,yBAAyBt8I,SACjC26I,EAAkB,IAClBC,EAAQ,IACRE,EAAY,IACZS,EAAW,IACXC,EAAc,IACdE,GAAkB,IAClBE,GAAiB,KAGO,SAAtBpkJ,EAAMwlJ,YAAwB,CAChC7/I,QAAQe,IACN,kCACA1G,EAAM82I,aAAa/5G,aAAaivG,YAGlCrmI,QAAQe,IACN,kCACA1G,EAAM82I,aAAa/5G,aAAa4iG,YAC9B3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OAAS,IAIzD,IAAIw9I,OAC8CllJ,IAAhDd,EAAM82I,aAAa/5G,aAAa4iG,aACgB,OAAhD3/H,EAAM82I,aAAa/5G,aAAa4iG,aACuB,IAAvD3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OACxC,GACAxI,EAAM82I,aAAa/5G,aAAaivG,YAG1B,MAFNhsI,EAAM82I,aAAa/5G,aAAa4iG,YAC9B3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OAAS,GAEvD1E,KAAKwM,MACHgoF,GACEt4F,EAAM82I,aAAa/5G,aAAa4iG,YAChC3/H,EAAM82I,aAAa/5G,aAAa4iG,YAAYn3H,OAAS,IAGzD1E,KAAKwM,MAAMtQ,EAAM82I,aAAa/5G,aAAa4iG,aACjB,IAA5BqmB,EAAiBx9I,QACnB2rB,GAAa6xH,EAEjB,MAC8C,IAAxChmJ,EAAMimJ,iBAAiBtkJ,MAAM6G,QAC/B2rB,GAAan0B,EAAMimJ,iBAGzB,GAAG,CAACjmJ,EAAMqiJ,eAEVt1I,qBAAU,WACRpH,QAAQe,IAAI,sBAAuBw8I,EACrC,GAAG,CAACA,IAeJ,SAAS/uH,GAAahwB,GACpB,IACE,IAAIshJ,EAA8B,GAkElC,GAjEAthJ,EAAKxC,MAAMyH,KAAI,SAACg0B,GAwBdA,EAAMx7B,OAAOwH,KAAI,SAACs8I,GAChB,GAC2B,MAAzBA,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,MAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,MACS,OAAzB0jJ,EAAO5jJ,SAASE,KAEhB,GAA6B,OAAzB0jJ,EAAO5jJ,SAASE,KAClByjJ,EAAuBp8I,KAAK,CAC1BtH,MAAO2jJ,EAAO5jJ,SAASC,MACvBC,KAAM0jJ,EAAO5jJ,SAASE,YAEnB,GACoB,OAAzB0jJ,EAAO5jJ,SAASE,MACiB,IAAjC0jJ,EAAO5jJ,SAASC,MAAMyG,OACtB,CACA,IAAIm9I,EAAoB,GAExBD,EAAO5jJ,SAASG,UAAUuO,OAAOpH,KAAI,SAACjF,GACpCwhJ,EAAat8I,KAAK,CAAEtH,MAAOoC,EAAKpC,OAClC,IAEA0jJ,EAAuBp8I,KAAK,CAC1BtH,MAAO2jJ,EAAO5jJ,SAASC,MACvBC,KAAM0jJ,EAAO5jJ,SAASE,KACtBwO,OAAQm1I,GAEZ,CAEJ,GACF,IAEAhgJ,QAAQe,IAAI,yBAA0B++I,GACgB,gBAAlDzlJ,EAAM8kJ,yBAAyBC,eAAkC,CACnE,IAAIjiD,EAAc2iD,EAAuBhtI,QACvC,SAAC3P,GAAS,OACRA,EAAK/G,QAAU/B,EAAM8kJ,yBAAyBe,YAAY9jJ,KAAK,IAExC,IAAvB+gG,EAAYt6F,QACdg7I,EAA0B1gD,EAAY,GAE1C,CACA0hD,GAAoBiB,EACtB,CAAE,MAAO7/I,GAAQ,CACnB,CAEA,IAiCMs8I,GAAS,WACb,GAA8C,IAA1CliJ,EAAM8kJ,yBAAyBt8I,OAAc,CAC/C,IAAI09I,EAA4B,GAChC,QACqBplJ,IAAnBoiJ,GACmB,OAAnBA,GACuC,IAAvC50I,OAAOC,KAAK20I,GAAgB16I,OAC5B,CAUA,GATuC,MAAnC06I,EAAe3+B,WAAWC,MAC5B0hC,EAAqB78I,KAAK,QAEY,MAApC65I,EAAe3+B,WAAW4hC,OAC5BD,EAAqB78I,KAAK,SAEW,MAAnC65I,EAAe3+B,WAAW6hC,MAC5BF,EAAqB78I,KAAK,QAEU,WAAlC65I,EAAe6B,eAA6B,CAC9C,IAAIsB,EAAY,CACdttH,KAAMmqH,EAAe6B,eACrBuB,YAAa,GACb/hC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7BrL,EAAMumJ,aAAaF,GACnBrmJ,EAAMwmJ,0BACJtD,EACAljJ,EAAMqyF,iBAERryF,EAAMmiJ,gBAAgBniJ,EAAMqyF,gBAC9B,CACA,GAAsC,SAAlC6wD,EAAe6B,eAEjB,GADAp/I,QAAQe,IAAI,iBAAkBw8I,QAELpiJ,IAAvBoiJ,EAAe+B,KACQ,OAAvB/B,EAAe+B,KACe,IAA9B/B,EAAe+B,IAAIz8I,OACnB,CACA,IAAI69I,EAAY,CACdttH,KAAMmqH,EAAe6B,eACrBuB,YAAiC,IAApBjD,EAAS76I,OAAe,GAAK66I,EAASh4I,WACnDk5G,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7BrL,EAAMumJ,aAAaF,GACnBrmJ,EAAMwmJ,0BACJtD,EACAljJ,EAAMqyF,iBAERryF,EAAMmiJ,gBAAgBniJ,EAAMqyF,gBAC9B,MACEwyD,IAAc,SAACpnH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZgnH,gBAAgB,GAAI,IAS1B,GAAsC,eAAlCvB,EAAe6B,eAEjB,GADAp/I,QAAQe,IAAI,iBAAkBw8I,QAEDpiJ,IAA3BoiJ,EAAevvE,SACY,OAA3BuvE,EAAevvE,SACmB,IAAlCuvE,EAAevvE,QAAQnrE,aACA1H,IAAvBoiJ,EAAe+B,KACQ,OAAvB/B,EAAe+B,KACe,IAA9B/B,EAAe+B,IAAIz8I,OACnB,CACA,IAAI69I,EAAY,CACdttH,KAAMmqH,EAAe6B,eACrBuB,YAC4B,IAA1BrC,GAAez7I,OAAe,GAAKy7I,GAAe54I,WACpDk5G,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7BrL,EAAMumJ,aAAaF,GACnBrmJ,EAAMmiJ,gBAAgBniJ,EAAMqyF,iBAC5BryF,EAAMwmJ,0BACJtD,EACAljJ,EAAMqyF,gBAEV,MACEwyD,GAAc,CACZH,0BACyB5jJ,IAAvBoiJ,EAAe+B,KACQ,OAAvB/B,EAAe+B,KACe,IAA9B/B,EAAe+B,IAAIz8I,OAGrBm8I,uBAC6B7jJ,IAA3BoiJ,EAAevvE,SACY,OAA3BuvE,EAAevvE,SACmB,IAAlCuvE,EAAevvE,QAAQnrE,SAY7B,IAAI69I,EADN,GAAsC,gBAAlCnD,EAAe6B,eAGfsB,EAD2C,UAAzCnD,EAAe2C,YAAYY,UACjB,CACV1tH,KAAMmqH,EAAe6B,eACrBuB,YACE,SACApD,EAAe2C,YAAY9jJ,MAC3B,gBACAmhJ,EAAe2C,YAAYa,gBAC3B,SACAxD,EAAe2C,YAAYY,UAC3B,cACAvD,EAAe2C,YAAYc,eAC3B,gBACAzD,EAAe2C,YAAYC,iBAC7BvhC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAGjB,CACV0tB,KAAMmqH,EAAe6B,eACrBuB,YACE,SACApD,EAAe2C,YAAY9jJ,MAC3B,SACAmhJ,EAAe2C,YAAYY,UAC3B,cACAvD,EAAe2C,YAAYc,eAC3B,gBACAzD,EAAe2C,YAAYC,iBAC7BvhC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAG/BrL,EAAMwmJ,0BACJtD,EACAljJ,EAAMqyF,iBAER1sF,QAAQe,IAAI,YAAa,CAAE2/I,YAAWnD,mBAEtCljJ,EAAMumJ,aAAaF,GACnBrmJ,EAAMmiJ,gBAAgBniJ,EAAMqyF,gBAEhC,CACF,KAAO,CACL,IAAIu0D,EAAW5mJ,EAAM82I,aACiB,SAAlCoM,EAAe6B,gBACjB6B,EAASC,mBAAmBz9I,KAAI,SAACjF,EAAWw0E,GACtCx0E,EAAK+O,KAAOlT,EAAM8kJ,yBAAyB5xI,KAC7C0zI,EAASC,mBAAmBluE,GAAOuqE,EAEvC,IAEoC,eAAlCA,EAAe6B,gBACjB6B,EAASC,mBAAmBz9I,KAAI,SAACjF,EAAWw0E,GACtCx0E,EAAK+O,KAAOlT,EAAM8kJ,yBAAyB5xI,KAC7C0zI,EAASC,mBAAmBluE,GAAOuqE,EAEvC,IAEoC,gBAAlCA,EAAe6B,gBACjB6B,EAASC,mBAAmBz9I,KAAI,SAACjF,EAAWw0E,GACtCx0E,EAAK+O,KAAOlT,EAAM8kJ,yBAAyB5xI,KAC7C0zI,EAASC,mBAAmBluE,GAAOuqE,EAEvC,IAEoC,WAAlCA,EAAe6B,gBACjB6B,EAASC,mBAAmBz9I,KAAI,SAACjF,EAAWw0E,GACtCx0E,EAAK+O,KAAOlT,EAAM8kJ,yBAAyB5xI,KAC7C0zI,EAASC,mBAAmBluE,GAAOuqE,EAEvC,IAGFljJ,EAAMmiJ,gBAAgBniJ,EAAMqyF,iBAC5BryF,EAAM8mJ,8BAA8BF,EAAU,qBAChD,CACF,EACMh/H,GAAS,WACb5nB,EAAMmiJ,gBAAgBniJ,EAAMqyF,iBAC5B8wD,EAAkB,IAClBC,EAAQ,IACRE,EAAY,IACZS,EAAW,IACXC,EAAc,IACdE,GAAkB,IAClBE,GAAiB,IACjBZ,EAA0B,CAAC,EAC7B,EAuLC,SACcpG,GAAmB34I,EAAAO,GAAA,OAAAq4I,GAAA34I,MAAC,KAADC,UAAA,UAAA04I,KAQjC,OARiCA,GAAA16I,YAAAC,IAAAC,MAAlC,SAAAC,EAAmCqB,EAAWqK,GAAQ,OAAA5L,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpD8/I,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ8mF,WAAUzxG,wBAAA,GACLowI,EAAe3+B,YAAU,GAAA91G,YAAA,GAC3BD,GAAe,IAATrK,EAAgB,IAAM,OAC9B,IACC,wBAAAhB,EAAAqB,OAAA,GAAA1B,EAAA,MACL4B,MAAA,KAAAC,UAAA,CAQD,OACEpE,cAAAC,WAAA,CAAAC,SACEE,eAAC4mB,IAAM,CACLE,QAASznB,EAAMqiJ,aACfz6H,OAAQ,WACN,EAEFzR,QAAS,kBAAMxQ,QAAQe,IAAI,cAAem9I,EAAY,EACtDtiJ,UAAU,iCACVmmB,YAAa,CAAE,QAAS,QACxBtmB,MAAO,CAAE8U,MAAO,QAChB4R,OAjcFnnB,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAc,kBAAMrhC,IAAQ,EAC5B8gC,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,kBAAMi5F,IAAQ,EAC5Bv5F,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,aAwaS1M,SAAA,CAEvBF,cAAA,OACEa,MAAO,CAAE0iC,QAAS,0BAClB3tB,QAAS,WACPxQ,QAAQe,IAAI,QAAS,CAAEm9I,eACzB,EAAEpjJ,SAEFF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,yBAMjEF,cAAA,KAAGa,MAAO,CAAEw8F,aAAc,uBAC1Bj9F,eAAA,OAAKS,MAAO,CAAE0iC,QAAS,2BAA4BrjC,SAAA,CACjDE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,+EAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACs2E,GAAkB,CACjB7tB,sBACqBloD,IAAnBoiJ,GAAmD,OAAnBA,GACF,IAA1BA,EAAe16I,QAC4B,IAAzC06I,EAAe6B,eAAev8I,OAC5B06I,EAAe6B,eAGnB,sCAENn8F,cArPd,SAAyBzkD,EAAWqK,GAClC,IAAIu4I,EAAQC,eAASxkJ,QAAQ,KAAM,IAEtB,OAAT2B,QAA0BrD,IAATqD,IACnBA,EAAK+O,GAAK6zI,EAAM17I,WAChB83I,EAAkBh/I,GAEtB,EA+OcqzE,iBAAiB,iBACjBH,aAAc,CACZ,CACEnkE,GAAI,KACJ6xI,eAAgB,SAEhBxgC,WAAY,CACVC,KAAM,IACN2hC,MAAO,IACPC,KAAM,IACNa,SAAU,MAGd,CACE/zI,GAAI,KACJ6xI,eAAgB,OAChBE,IAAK,GACL1gC,WAAY,CACVC,KAAM,IACN4hC,KAAM,IACND,MAAO,IACPc,SAAU,MAGd,CACE/zI,GAAI,KACJ6xI,eAAgB,aAChBpxE,QAAS,KACTsxE,IAAK,GACL1gC,WAAY,CACVC,KAAM,IACN4hC,KAAM,IACND,MAAO,IACPc,SAAU,MAGd,CACE/zI,GAAI,KACJ6xI,eAAgB,cAChBc,YAAa,CACX9jJ,WAC6BjB,IAA3ByiJ,GAC2B,OAA3BA,GACmD,IAA/Cj1I,OAAOC,KAAKg1I,GAAwB/6I,OAClC+6I,EAAuBxhJ,MAEzB,GACN0kJ,eAC6B3lJ,IAA3ByiJ,GAC2B,OAA3BA,GACmD,IAA/Cj1I,OAAOC,KAAKg1I,GAAwB/6I,OACF,OAAhC+6I,EAAuBvhJ,KACrB,WACgC,OAAhCuhJ,EAAuBvhJ,KACvB,QACgC,MAAhCuhJ,EAAuBvhJ,KACvB,YACgC,MAAhCuhJ,EAAuBvhJ,KACvB,WACgC,OAAhCuhJ,EAAuBvhJ,KACvB,YACgC,MAAhCuhJ,EAAuBvhJ,KACvB,QACgC,MAAhCuhJ,EAAuBvhJ,KACvB,UACA,GAEJ,GACN0kJ,gBAAiB,GACjBC,oBACgB7lJ,IAAd4iJ,GAAyC,OAAdA,GACW,IAAlCp1I,OAAOC,KAAKm1I,GAAWl7I,OACrBk7I,EAAUD,UAEZ,GACNqC,sBACkBhlJ,IAAhB+iJ,GAA6C,OAAhBA,GACW,IAApCv1I,OAAOC,KAAKs1I,GAAar7I,OACvBq7I,EAAYD,YAEd,GACNsD,WAAY,GACZzwH,YAAa,IAEf8tF,WAAY,CACVC,KAAM,IACN4hC,KAAM,IACND,MAAO,IACPc,SAAU,OAIhBn+F,WAAYo6F,EACZr6F,SAAU,wBAIoB,UAArB,OAAdq6F,QAAc,IAAdA,OAAc,EAAdA,EAAgB6B,iBACfxkJ,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,qKAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACg1E,KAAW,CACVxsE,MAAOq+D,EACP3uD,QAAM,EACNkK,QAAS3iB,EAAM0yF,SACf1/E,SAAU,SAACtG,IA9R7B,SAAevI,EAAWqK,GACxB,GAAY,WAARA,EAAkB,CACpB,IAAI24I,EAAkB,GAClBC,EAAsB,GAE1BjjJ,EAAKiF,KAAI,SAACi+I,GACRF,EAAW99I,KAAK,CACd6J,GAAIm0I,EAAUpsH,OAAO5vB,WACrByG,KAAMu1I,EAAU97I,SAElB67I,EAAe/9I,KAAKg+I,EAAU97I,OAChC,IACA+3I,EAAY8D,GACZjE,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZwnH,IAAKkC,GAAU,IAEjB/D,EAAQj/I,GACR0gJ,IAAc,SAACpnH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZgnH,gBAAgB,GAAK,GAEzB,CACF,CAwQoB6C,CAAM56I,EAAE3D,MAAO,SACjB,EACA+xD,YAAY,SACZxnD,YAAY,2BACZrG,QAAQ,OACR7L,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,YAAamtE,GAAWH,eAAiB,MAAQ,aAOzB,iBAArB,OAAdvB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6B,iBACfpkJ,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,YAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACs2E,GAAkB,CACjB7tB,iBACwB,SAAtBhpD,EAAMwlJ,iBACqC1kJ,KAAzB,OAAdoiJ,QAAc,IAAdA,GAA2B,QAAbV,EAAdU,EAAgB2C,mBAAW,IAAArD,OAAb,EAAdA,EAA6BzgJ,QACU,QAAzB,OAAdmhJ,QAAc,IAAdA,GAA2B,QAAbT,EAAdS,EAAgB2C,mBAAW,IAAApD,OAAb,EAAdA,EAA6B1gJ,QACU,MAAzB,OAAdmhJ,QAAc,IAAdA,GAA2B,QAAbR,EAAdQ,EAAgB2C,mBAAW,IAAAnD,OAAb,EAAdA,EAA6B3gJ,OACb,OAAdmhJ,QAAc,IAAdA,GAA2B,QAAbP,EAAdO,EAAgB2C,mBAAW,IAAAlD,OAAb,EAAdA,EAA6B5gJ,MAC7B,2BACmBjB,IAArByjJ,IACqB,OAArBA,IACqB,IAArBA,GACmB,QADG3B,EACtB2B,GAAiB,UAAE,IAAA3B,OAAA,EAAnBA,EAAqB7gJ,MACrB,sBAEN+mD,WAAYy6F,EACZ/rE,iBAAkB,QAClBH,aAAcktE,GACdjtE,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhBgxC,cAzYlB,SAA8BzkD,EAAWqK,GACvC7I,QAAQe,IAAI,sBAAuBvC,QACtBrD,IAATqD,GAA+B,OAATA,IACxBwB,QAAQe,IAAI,sBAAuBvC,GAEnCq/I,EAA0Br/I,GAE1Bg/I,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZooH,YAAW/yI,wBAAA,GACNowI,EAAe2C,aAAW,IAC7B9jJ,MAAOoC,EAAKpC,MACZ0kJ,UACgB,OAAdtiJ,EAAKnC,KACD,WACc,OAAdmC,EAAKnC,KACL,QACc,MAAdmC,EAAKnC,KACL,YACc,MAAdmC,EAAKnC,KACL,WACc,OAAdmC,EAAKnC,KACL,YACe,MAAfmC,EAAKojJ,MACL,QACc,MAAdpjJ,EAAKnC,KACL,UACA,GAEN0kJ,gBAAiB,MAClB,IAGP,EAyWkB79F,SAAU,oBAIY/nD,IAA3ByiJ,GAC0B,OAA3BA,GACiD,IAA/Cj1I,OAAOC,KAAKg1I,GAAwB/6I,aACA1H,IAAlCyiJ,EAAuB/yI,QACW,OAAlC+yI,EAAuB/yI,QACoB,IAAzC+yI,EAAuB/yI,OAAOhI,OAC5BjI,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,aAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACs2E,GAAkB,CACjB7tB,iBAEE,KADAk6F,EAAe2C,YAAYa,gBAEvBxD,EAAe2C,YAAYa,gBAC3B,sBAON59F,WAAY46F,EACZlsE,iBAAkB,QAClBH,aAAcksE,EAAuB/yI,OACrC8mE,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhBgxC,cA3Y5B,SAAmCzkD,EAAWqK,QAC/B1N,IAATqD,GAA+B,OAATA,GACxBg/I,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZooH,YAAW/yI,wBAAA,GACNowI,EAAe2C,aAAW,IAC7Ba,gBAAiBviJ,EAAKpC,SACvB,GAGP,EAkY4B8mD,SAAU,kBAexBtoD,cAAAC,WAAA,IAEFG,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,iBAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACs2E,GAAkB,CACjB7tB,sBACgBloD,IAAd4iJ,GAAyC,OAAdA,GACW,IAAlCp1I,OAAOC,KAAKm1I,GAAWl7I,OACrBk7I,EAAUD,UAEZ,sBAEN36F,WAAY46F,EACZlsE,iBAAkB,YAClBH,aAAc,CAAC,CAAEosE,UAAW,gBAC5BnsE,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhBgxC,cAtalB,SAAkCzkD,EAAWqK,GAC9B,OAATrK,QAA0BrD,IAATqD,GACnBw/I,EAAax/I,EAGjB,EAkakB0kD,SAAU,mBAIhBloD,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,kBAGzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAyBlBF,cAACs2E,GAAkB,CACjB7tB,iBAAkB,sBAClBF,WAAY,CACV86F,YAA2B,OAAdV,QAAc,IAAdA,OAAc,EAAdA,EAAgB2C,YAAYC,kBAE3CtuE,iBAAkB,cAClBH,aArUO,CACvB,CAAEusE,YAAa,gBACf,CAAEA,YAAa,gBACf,CAAEA,YAAa,oBACf,CAAEA,YAAa,oBACf,CAAEA,YAAa,uBAiUCtsE,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhBgxC,cA9clB,SAAoCzkD,EAAWqK,GAChC,OAATrK,QAA0BrD,IAATqD,IACnB2/I,EAAchxI,YAAC,CAAC,EAAI3O,IACpBg/I,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZooH,YAAW/yI,wBAAA,GACNowI,EAAe2C,aAAW,IAC7BC,iBAAkB3hJ,EAAKy/I,YAAYxhJ,WAAW,IAAK,OACpD,IAGP,EAockBymD,SAAU,wBAMgB,gBAArB,OAAdq6F,QAAc,IAAdA,OAAc,EAAdA,EAAgB6B,iBACfpkJ,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,cAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACg1E,KAAW,CACV98D,QAAM,EACN1P,MAAO4qE,EACPhxD,QAAS3iB,EAAMqlJ,YACfryI,SAAU,SAACtG,IA5b7B,SAAkBvI,EAAWqK,GAC3B,IAAIg5I,EAAqB,GACzBrjJ,EAAKiF,KAAI,SAACq+I,GACRD,EAAcn+I,KAAK,CACjB6J,GAAIu0I,EAAanC,UAAUj6I,WAC3ByG,KAAM21I,EAAal8I,QAEvB,IACAw4I,EAAW5/I,GACXg/I,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZk2C,QAAS6zE,GAAa,GAE1B,CAgboBE,CAASh7I,EAAE3D,MACb,EACA+xD,YAAY,SACZxnD,YAAY,8BACZrG,QAAQ,OACR7L,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,YAAamtE,GAAWD,kBAAoB,MAAQ,WAK5DhkJ,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,iBAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACg1E,KAAW,CACV98D,QAAM,EACN1P,MAAOoqG,EACPxwF,QAAS3iB,EAAMkhJ,oBACfluI,SAAU,SAACtG,IArc7B,SAAqBvI,EAAWqK,GAC9B,IAAIm5I,EAAwB,GACxBC,EAA4B,GAChCjiJ,QAAQe,IAAI,YAAavC,GAEzBA,EAAKiF,KAAI,SAAC8zI,GACRyK,EAAiBt+I,KAAK,CACpB6J,GAAIgqI,EAAYpmF,aAAazrD,WAC7ByG,KAAMorI,EAAY3xI,OAClB+O,OAAQ,KAEVstI,EAAqBv+I,KAAK6zI,EAAY3xI,OACxC,IACAs5I,GAAc,CACZF,mBAAmB,IAErBxB,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZwnH,IAAK0C,GAAgB,IAEvBzD,GAAkB0D,GAClB5D,EAAc7/I,EAGhB,CA8aoB+4I,CAAYxwI,EAAE3D,MAChB,EACA+xD,YAAY,SACZxnD,YAAY,iCACZrG,QAAQ,OACR7L,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,YAAamtE,GAAWF,qBAAuB,MAAQ,WAKhC,IAA9BxB,EAAe+B,IAAIz8I,QAClBjI,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,aAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAACs2E,GAAkB,CACjB7tB,sBACwBloD,IAAtBujJ,IACsB,OAAtBA,IACiC,IAA7BA,GAAkB77I,OAChB67I,GAEF,sBAENz7F,cAvbtB,SAAiBzkD,EAAWqK,GAC1B,IAAIm5I,EAAwB,GACxBC,EAA4B,GAChCjiJ,QAAQe,IAAI,YAAavC,GACzBwB,QAAQe,IAAI,sBAAuBw8I,GAEnCkB,GAAiBjgJ,GACjBgvG,EAAW/pG,KAAI,SAAC8zI,GACdyK,EAAiBt+I,KAAK,CACpB6J,GAAIgqI,EAAYpmF,aAAazrD,WAC7ByG,KAEMorI,EAAY3xI,OAElB+O,YAAiBxZ,IAATqD,GAA+B,OAATA,EAAgB,GAAKA,EAAK80D,WAE1D2uF,EAAqBv+I,UACVvI,IAATqD,GAA+B,OAATA,EAClB+4I,EAAY3xI,OACZ2xI,EAAY3xI,OAAS,MAAQpH,EAAK80D,SAE1C,IAEAirF,GAAkB0D,GAClBzE,GAAkB,SAAC1lH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZwnH,IAAK0C,GAAgB,GAEzB,EA4ZsBnwE,iBAAiB,WACjBH,aAAc,CACZ,CAAEpe,SAAU,SACZ,CAAEA,SAAU,UAEdnQ,WAAYq7F,GACZt7F,SAAU,yBAQY,iBAArB,OAAdq6F,QAAc,IAAdA,OAAc,EAAdA,EAAgB6B,iBACfxkJ,cAAAC,WAAA,CAAAC,UACgC,wBAA5BojJ,EAAYD,aACgB,sBAA5BC,EAAYD,cACZrjJ,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,aAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAGJ,SAClBF,cAAC++C,IAAQ,CACPhsC,YAAa,sBACbN,SAAU,SAAC7O,GACT,IAAI0jJ,EAAW3E,EACf2E,EAAShC,YAAYpvH,YAActyB,EAAK4E,MACxCo6I,EAAiBrwI,YAAC,CAAC,EAAI+0I,GACzB,EACAzmJ,MAAO,CACL8U,MAAO,OACP0B,aAAc,mBAEhB+K,QAAS,CAAC,QAAS,SACnB5Z,MAC+C,MAA/B,OAAdm6I,QAAc,IAAdA,GAA2B,QAAbL,EAAdK,EAAgB2C,mBAAW,IAAAhD,OAAb,EAAdA,EAA6BpsH,aACX,OAAdysH,QAAc,IAAdA,GAA2B,QAAbJ,EAAdI,EAAgB2C,mBAAW,IAAA/C,OAAb,EAAdA,EAA6BrsH,YAC7B,MAED,0BAQC31B,IAAnBoiJ,GACoB,OAAnBA,GAC0B,IAA1BA,EAAe16I,QACbjI,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,OAIlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACo4I,GAAkB,CACjBnoD,aACuC,OAAvB,OAAd0yD,QAAc,IAAdA,GAA0B,QAAZH,EAAdG,EAAgB3+B,kBAAU,IAAAw+B,OAAZ,EAAdA,EAA4Bv+B,MAE9B57D,cAAew0F,GACfv0F,SAAU,OACVK,eAAa,EACb0vF,UAAU,MAGdr4I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,YAGzCjN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACo4I,GAAkB,CACjBnoD,aACwC,OAAxB,OAAd0yD,QAAc,IAAdA,GAA0B,QAAZF,EAAdE,EAAgB3+B,kBAAU,IAAAy+B,OAAZ,EAAdA,EAA4BmD,OAE9Bv9F,cAAew0F,GACfv0F,SAAU,QACV+vF,UAAU,MAIdr4I,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CAACU,gBAAiB,WAGzCjN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACo4I,GAAkB,CACjBnoD,aACuC,OAAvB,OAAd0yD,QAAc,IAAdA,GAA0B,QAAZD,EAAdC,EAAgB3+B,kBAAU,IAAA0+B,OAAZ,EAAdA,EAA4BmD,MAE9Bx9F,cAAew0F,GACfv0F,SAAU,OACV+vF,UAAU,kBAUhC,ECtEekP,GAz8CgB,SAAC9nJ,GAAkB,IAAD+nJ,EAAAC,EAAAC,EAAAC,EACzCljI,EAAQ4D,iBAAO,MAIrB7Q,EAAwCC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GAArDowI,EAAYlwI,EAAA,GAAEmwI,EAAenwI,EAAA,GACpCgJ,EACEjJ,oBAAc,GAAMkJ,EAAArK,YAAAoK,EAAA,GADfonI,EAAsBnnI,EAAA,GAAEonI,EAAyBpnI,EAAA,GAExDG,EAA4CrJ,mBAAc,CAAC,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAC7DiB,GADqBhB,EAAA,GAAmBA,EAAA,GACJtJ,sBAAeuK,EAAA1L,YAAAyL,EAAA,GAA5CimI,EAAUhmI,EAAA,GAAEimI,EAAajmI,EAAA,GAChCC,EAA0CxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAAlDimI,EAAahmI,EAAA,GAAEimI,EAAgBjmI,EAAA,GACtCwG,EAA4CjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAApD0/H,EAAcz/H,EAAA,GAAE0/H,EAAiB1/H,EAAA,GACxCC,EAAwCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GACvD4I,GADmB3I,EAAA,GAAiBA,EAAA,GACEpR,sBAAega,EAAAnb,YAAAkb,EAAA,GAA9C82H,EAAW72H,EAAA,GAAE82H,EAAc92H,EAAA,GAClCG,EAA0Cna,qBAAeoa,EAAAvb,YAAAsb,EAAA,GACzDI,GADoBH,EAAA,GAAkBA,EAAA,GACUpa,mBAAc,KAAGwa,EAAA3b,YAAA0b,EAAA,GAA1Dw2H,EAAgBv2H,EAAA,GAAEw2H,EAAmBx2H,EAAA,GAC5CG,EAA8D3a,mBAC5D,IACD4a,EAAA/b,YAAA8b,EAAA,GAFMs2H,EAAuBr2H,EAAA,GAAEs2H,EAA0Bt2H,EAAA,GAG1DG,EAAgE/a,mBAC9D,IACDgb,EAAAnc,YAAAkc,EAAA,GAFMo2H,GAAwBn2H,EAAA,GAAEo2H,GAA2Bp2H,EAAA,GAG5DG,GAA8Cnb,mBAAc,IAAGob,GAAAvc,YAAAsc,GAAA,GAAxDo/D,GAAen/D,GAAA,GAAEo/D,GAAkBp/D,GAAA,GAC1CG,GAAkDvb,mBAAc,IAAGwb,GAAA3c,YAAA0c,GAAA,GAA5D81H,GAAiB71H,GAAA,GAAE81H,GAAoB91H,GAAA,GAC9CI,GAA8C5b,qBAAe6b,GAAAhd,YAAA+c,GAAA,GAAtDy+D,GAAex+D,GAAA,GAAEy+D,GAAkBz+D,GAAA,GAC1CivC,GAAgC9qD,mBAAc,IAAG+qD,GAAAlsD,YAAAisD,GAAA,GACjDI,IADeH,GAAA,GAAaA,GAAA,GACQ/qD,mBAClChY,EAAMupJ,6BAA6BC,WACpCrmF,GAAAtsD,YAAAqsD,GAAA,GAFMgT,GAAU/S,GAAA,GAAEhO,GAAagO,GAAA,GAGhCE,GAA4CrrD,oBAAS,GAAMsrD,GAAAzsD,YAAAwsD,GAAA,GAApD+uB,GAAe9uB,GAAA,GAAEpiB,GAAgBoiB,GAAA,GACxC8Z,GAAkDplE,mBAAS,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAAvD8U,GAAiB7U,GAAA,GAAE8U,GAAoB9U,GAAA,GAC9CG,GAA4CxlE,mBAAc,IAAGylE,GAAA5mE,YAAA2mE,GAAA,GAC7DK,IADqBJ,GAAA,GAAmBA,GAAA,GACMzlE,mBAAc,KAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAAxD4rE,GAAe3rE,GAAA,GAAE4rE,GAAkB5rE,GAAA,GAC1C8V,GAAoD57E,mBAAc,IAAG67E,GAAAh9E,YAAA+8E,GAAA,GAA9DizD,GAAkBhzD,GAAA,GAAE81D,GAAqB91D,GAAA,GAChDG,GAA0Dh8E,mBAAc,IAAGi8E,GAAAp9E,YAAAm9E,GAAA,GAApE41D,GAAqB31D,GAAA,GAAE41D,GAAwB51D,GAAA,GACtDG,GAAkDp8E,mBAAc,IAAGq8E,GAAAx9E,YAAAu9E,GAAA,GACnEI,IADwBH,GAAA,GAAsBA,GAAA,GACQr8E,mBAAc,KAAGy8E,GAAA59E,YAAA29E,GAAA,GAAhEs1D,GAAmBr1D,GAAA,GAAEs1D,GAAsBt1D,GAAA,GAC5Cj4D,GAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACtEuJ,qBAAU,WACRpH,QAAQe,IAAI,kBAAmB+iJ,GACjC,GAAG,CAACA,KAEJ18I,qBAAU,WAIR,QAH2BjM,IAAvBd,EAAM82I,cAuSZ,SAA4B3yI,GAG1B,GAFAwB,QAAQe,IAAI,OAAQvC,GAEM,QAAtBnE,EAAMwlJ,YAAuB,CAC/B,IAAIwE,EAC8C,IAAhD7lJ,EAAK44B,aAAaktH,mBAAmBzhJ,OACjC,GACArE,EAAK44B,aAAaktH,mBAAmBrgJ,MAAM,KAC7CsgJ,EAAsB,GAC1B,GAAmC,IAA/BF,EAAoBxhJ,QAEgD,IAApE8F,OAAOC,KAAKvO,EAAMupJ,6BAA6BC,UAAUhhJ,OACrD,GACAxI,EAAMupJ,6BAA6BC,UAE3B/wI,QAAO,SAAC2kB,GAIG,IAHT4sH,EAAoBvxI,QAChC,SAAC0xI,GAAW,OAAK/sH,EAAMhyB,WAAWC,aAAe8+I,CAAM,IAE7C3hJ,QACV0hJ,EAAe7gJ,KAAK+zB,EAExB,IAEAo1D,GAAmB03D,GAerB,GAZ+B,OAA7B/lJ,EAAK44B,aAAaqtH,QACkB,IAApCjmJ,EAAK44B,aAAaqtH,OAAO5hJ,QAEzB6hJ,GAAYlmJ,EAAK44B,aAAaqtH,OAAQ,UAGD,OAArCjmJ,EAAK44B,aAAautH,gBAC0B,IAA5CnmJ,EAAK44B,aAAautH,eAAe9hJ,QAEjC6hJ,GAAYlmJ,EAAK44B,aAAautH,eAAgB,kBAGH,OAAzCnmJ,EAAKomJ,gCACP,GAAoD,IAAhDpmJ,EAAKomJ,gCAAgC/hJ,OAAc,CACrD,IAAIgiJ,EAAkBrmJ,EAAKomJ,gCAE3BvB,EAAoBwB,EACtB,MACExB,EAAoB,IAGxB,GACyC,OAAvC7kJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,QAEnC,GAAkD,IAA9CrE,EAAKsmJ,8BAA8BjiJ,OAAc,CACnD,IAAIkiJ,EAAqC,GACrCC,OACqC7pJ,IAAvCqD,EAAKsmJ,+BACkC,OAAvCtmJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,OAC/B,KACArE,EAAKsmJ,8BACX,GAAuB,OAAnBE,OACG,CACL,IAAIC,EAA2B,GAC/BD,EAAevhJ,KAAI,SAACjF,GAClB,IAAI0mJ,EACF7qJ,EAAMupJ,6BAA6BuB,QAAQryI,QACzC,SAAC2kB,GAAU,OAAKj5B,EAAKmhJ,YAAcloH,EAAMkoH,UAAUj6I,UAAU,IAEjE,GAAiC,IAA7Bw/I,EAAkBriJ,OAAc,CAClCoiJ,EAAoBvhJ,KAAKwhJ,EAAkB,IAC3C,IAAIE,EACF/qJ,EAAMupJ,6BAA6BrwF,WAAWzgD,QAC5C,SAAC3P,GAAS,OACRA,EAAKw3D,cAAgBuqF,EAAkB,GAAGvqF,WAAW,IAEd,IAAzCoqF,EAA8BliJ,SAEhCkiJ,EAA6B,GAAAlpJ,OAAAyH,YACxByhJ,GAA6BzhJ,YAC7B8hJ,IAsCT,CACF,IACmC,IAA/BH,EAAoBpiJ,QACtB4gJ,GAA2BngJ,YAAKyhJ,IAChC9B,EAAkBgC,IAElBxB,GAA4B,GAEhC,CACF,OAEAA,GAA4B,IAE9B,GACwC,OAAtCjlJ,EAAK6mJ,8BACwC,IAA7C7mJ,EAAK6mJ,6BAA6BxiJ,OAElC,GAAiD,IAA7CrE,EAAK6mJ,6BAA6BxiJ,OAAc,CAClD,IAAImiJ,OACoC7pJ,IAAtCqD,EAAK6mJ,8BACiC,OAAtC7mJ,EAAK6mJ,8BACwC,IAA7C7mJ,EAAK6mJ,6BAA6BxiJ,OAC9B,KACArE,EAAK6mJ,6BACX,GAAuB,OAAnBL,OACG,CACL,IAAIC,EAA2B,GAC3BF,EAAqC,GACzCC,EAAevhJ,KAAI,SAACjF,GAClB,IAAI0mJ,EACF7qJ,EAAMupJ,6BAA6BuB,QAAQryI,QACzC,SAAC2kB,GAAU,OAAKj5B,EAAKmhJ,YAAcloH,EAAMkoH,UAAUj6I,UAAU,IAGjE,GAAiC,IAA7Bw/I,EAAkBriJ,OAAc,CAClCoiJ,EAAoBvhJ,KAAKwhJ,EAAkB,IAE3C,IAAIE,EACF/qJ,EAAMupJ,6BAA6BrwF,WAAWzgD,QAC5C,SAAC3P,GAAS,OACRA,EAAKw3D,cAAgBuqF,EAAkB,GAAGvqF,WAAW,IAEzB,IAA9ByqF,EAAmBviJ,SAErBkiJ,EAA6B,GAAAlpJ,OAAAyH,YACxByhJ,GAA6BzhJ,YAC7B8hJ,IAwCT,CACF,IAEmC,IAA/BH,EAAoBpiJ,QACtB0gJ,EAA0BjgJ,YAAKyhJ,IAE/BhC,EAAiBkC,IAEjB1B,EAA2B,GAE/B,CACF,MACEvjJ,QAAQe,IAAI,mBAEZwiJ,EAA2B,SAG7BA,EAA2B,IAE7B,GACyC,OAAvC/kJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,QAEe,IAA9CrE,EAAKsmJ,8BAA8BjiJ,OAAc,CACnD,IAAImiJ,OACqC7pJ,IAAvCqD,EAAKsmJ,+BACkC,OAAvCtmJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,OAC/B,KACArE,EAAKsmJ,8BACX,GAAuB,OAAnBE,OACG,CACL,IAAIC,EAA2B,GAC/BD,EAAevhJ,KAAI,SAACjF,GAClB,IAAI0mJ,EACF7qJ,EAAMupJ,6BAA6BuB,QAAQryI,QACzC,SAAC2kB,GAAU,OAAKj5B,EAAKmhJ,YAAcloH,EAAMkoH,UAAUj6I,UAAU,IAEhC,IAA7Bw/I,EAAkBriJ,QACpBoiJ,EAAoBvhJ,KAAKwhJ,EAAkB,GAE/C,IACmC,IAA/BD,EAAoBpiJ,QACtBogJ,EAAkBgC,EAEtB,CACF,CAEJ,KAAO,CAeL,GAbuC,OAArCzmJ,EAAK44B,aAAautH,gBAC0B,IAA5CnmJ,EAAK44B,aAAautH,eAAe9hJ,QAEjC6hJ,GAAYlmJ,EAAK44B,aAAautH,eAAgB,kBAIjB,OAA7BnmJ,EAAK44B,aAAaqtH,QACkB,IAApCjmJ,EAAK44B,aAAaqtH,OAAO5hJ,QAEzB6hJ,GAAYlmJ,EAAK44B,aAAaqtH,OAAQ,UAIA,OAAtCjmJ,EAAK6mJ,8BACwC,IAA7C7mJ,EAAK6mJ,6BAA6BxiJ,OAElC,GAAiD,IAA7CrE,EAAK6mJ,6BAA6BxiJ,OAAc,CAClD,IAAImiJ,OACoC7pJ,IAAtCqD,EAAK6mJ,8BACiC,OAAtC7mJ,EAAK6mJ,8BACwC,IAA7C7mJ,EAAK6mJ,6BAA6BxiJ,OAC9B,KACArE,EAAK6mJ,6BACX,GAAuB,OAAnBL,OACG,CACL,IAAIC,EAA2B,GAC3BF,EAAqC,GACzCC,EAAevhJ,KAAI,SAACjF,GAClB,IAAI0mJ,EACF7qJ,EAAMupJ,6BAA6BuB,QAAQryI,QACzC,SAAC2kB,GAAU,OAAKj5B,EAAKmhJ,YAAcloH,EAAMkoH,UAAUj6I,UAAU,IAIjE,GAFA1F,QAAQe,IAAI,uBAAwBvC,EAAM0mJ,GAET,IAA7BA,EAAkBriJ,OAAc,CAClCoiJ,EAAoBvhJ,KAAKwhJ,EAAkB,IAE3C,IAAIE,EACF/qJ,EAAMupJ,6BAA6BrwF,WAAWzgD,QAC5C,SAAC3P,GAAS,OACRA,EAAKw3D,cAAgBuqF,EAAkB,GAAGvqF,WAAW,IAEzB,IAA9ByqF,EAAmBviJ,SACrB7C,QAAQe,IAAI,wBAAyBqkJ,GAErCL,EAA6B,GAAAlpJ,OAAAyH,YACxByhJ,GAA6BzhJ,YAC7B8hJ,IAwCT,CACF,IACAplJ,QAAQe,IACN,wDACAgkJ,EACAE,GAEiC,IAA/BA,EAAoBpiJ,QACtB7C,QAAQe,IACN,+CACAgkJ,GAEFxB,EAA0BjgJ,YAAKyhJ,IAC/BhC,EAAiBkC,KAEjBjlJ,QAAQe,IACN,+CACAgkJ,GAEFxB,EAA2B,IAE/B,CACF,MACEvjJ,QAAQe,IAAI,mBAEZwiJ,EAA2B,SAG7BvjJ,QAAQe,IAAI,mBAEZwiJ,EAA2B,IAE7B,GACyC,OAAvC/kJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,QAEnC,GAAkD,IAA9CrE,EAAKsmJ,8BAA8BjiJ,OAAc,CACnD,IAAIkiJ,EAAqC,GACrCC,OACqC7pJ,IAAvCqD,EAAKsmJ,+BACkC,OAAvCtmJ,EAAKsmJ,+BACyC,IAA9CtmJ,EAAKsmJ,8BAA8BjiJ,OAC/B,KACArE,EAAKsmJ,8BACX,GAAuB,OAAnBE,OACG,CACL,IAAIC,EAA2B,GAC/BD,EAAevhJ,KAAI,SAACjF,GAClB,IAAI0mJ,EACF7qJ,EAAMupJ,6BAA6BuB,QAAQryI,QACzC,SAAC2kB,GAAU,OAAKj5B,EAAKmhJ,YAAcloH,EAAMkoH,UAAUj6I,UAAU,IAEjE,GAAiC,IAA7Bw/I,EAAkBriJ,OAAc,CAClCoiJ,EAAoBvhJ,KAAKwhJ,EAAkB,IAC3C,IAAIE,EACF/qJ,EAAMupJ,6BAA6BrwF,WAAWzgD,QAC5C,SAAC3P,GAAS,OACRA,EAAKw3D,cAAgBuqF,EAAkB,GAAGvqF,WAAW,IAEzB,IAA9ByqF,EAAmBviJ,SAErBkiJ,EAA6B,GAAAlpJ,OAAAyH,YACxByhJ,GAA6BzhJ,YAC7B8hJ,IA6BT,CACF,IACmC,IAA/BH,EAAoBpiJ,QACtB4gJ,GAA2BngJ,YAAKyhJ,IAChC9B,EAAkBgC,IAElBxB,GAA4B,GAEhC,CACF,OAEAA,GAA4B,IAE9B,GAC2C,OAAzCjlJ,EAAKomJ,iCAC2C,IAAhDpmJ,EAAKomJ,gCAAgC/hJ,QAErC,GAAoD,IAAhDrE,EAAKomJ,gCAAgC/hJ,OAAc,CACrD,IAAImiJ,OACuC7pJ,IAAzCqD,EAAKomJ,iCACoC,OAAzCpmJ,EAAKomJ,iCAC2C,IAAhDpmJ,EAAKomJ,gCAAgC/hJ,OACjC,KACArE,EAAKomJ,gCACY,OAAnBI,GAEF3B,EAAoB2B,EAExB,OAEA3B,EAAoB,IAEtB,GAC4C,OAA1C7kJ,EAAK8mJ,kCAC4C,IAAjD9mJ,EAAK8mJ,iCAAiCziJ,QAEtC,GAAqD,IAAjDrE,EAAK8mJ,iCAAiCziJ,OAAc,CACtD,IAAImiJ,OACwC7pJ,IAA1CqD,EAAK8mJ,kCACqC,OAA1C9mJ,EAAK8mJ,kCAC4C,IAAjD9mJ,EAAK8mJ,iCAAiCziJ,OAClC,KACArE,EAAK8mJ,iCACY,OAAnBN,GAEFrB,GAAqBqB,EAEzB,OAEArB,GAAqB,GAEzB,CAGA,IAAIU,OACuClpJ,IAAzCqD,EAAK44B,aAAaktH,oBACuB,OAAzC9lJ,EAAK44B,aAAaktH,oBAC8B,IAAhD9lJ,EAAK44B,aAAaktH,mBAAmBzhJ,OACjC,GACArE,EAAK44B,aAAaktH,mBAAmBrgJ,MAAM,KAC7CsgJ,EAAsB,GAC1B,GAAmC,IAA/BF,EAAoBxhJ,OAAc,EAEkC,IAApE8F,OAAOC,KAAKvO,EAAMupJ,6BAA6BC,UAAUhhJ,OACrD,GACAxI,EAAMupJ,6BAA6BC,UAE3B/wI,QAAO,SAAC2kB,GAIG,IAHT4sH,EAAoBvxI,QAChC,SAAC0xI,GAAW,OAAK/sH,EAAMhyB,WAAWC,aAAe8+I,CAAM,IAE7C3hJ,QACV0hJ,EAAe7gJ,KAAK+zB,EAExB,IAEAo1D,GAAmB03D,EACrB,CACF,CAryBIgB,CAAmBlrJ,EAAM82I,mBAEAh2I,IAAvBd,EAAM82I,cAAqD,OAAvB92I,EAAM82I,mBAE5C,GAA0B,SAAtB92I,EAAMwlJ,YAAwB,CAChC,IAAI/oH,OACwC37B,IAA1Cd,EAAM82I,aAAa+P,oBACuB,OAA1C7mJ,EAAM82I,aAAa+P,oBAEkC,IAAjD7mJ,EAAM82I,aAAa+P,mBAAmBr+I,QACwB,IAA9D8F,OAAOC,KAAKvO,EAAM82I,aAAa+P,oBAAoBr+I,OAFnD,GAIAxI,EAAM82I,aAAa+P,mBAGzB,GADAgD,GAAyB,sBACA,IAArBptH,EAAUj0B,OAAc,CAC1B,IAAI2iJ,EAAuB,GAC3B1uH,EAAUrzB,KAAI,SAACjF,GACb,IAAI+hJ,EAA4B,GAChC,GAAiC,IAA7B53I,OAAOC,KAAKpK,GAAMqE,OAAc,CAUlC,GAT6B,MAAzBrE,EAAKogH,WAAWC,MAClB0hC,EAAqB78I,KAAK,QAEE,MAA1BlF,EAAKogH,WAAW4hC,OAClBD,EAAqB78I,KAAK,SAEC,MAAzBlF,EAAKogH,WAAW6hC,MAClBF,EAAqB78I,KAAK,QAEA,SAAxBlF,EAAK4gJ,eAA2B,CAClC,IAAIqC,EAAsB,GAC1BjjJ,EAAK8gJ,IAAI77I,KAAI,SAACi+I,GACZD,EAAe/9I,KAAKg+I,EAAUv1I,KAChC,IAEA,IAAIu0I,EAAY,CACdttH,KAAM50B,EAAK4gJ,eACXuB,YAC4B,IAA1Bc,EAAe5+I,OACX,GACA4+I,EAAe/7I,WACrBk5G,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7B8/I,EAAgB9hJ,KAAKg9I,EACvB,CACA,GAA4B,eAAxBliJ,EAAK4gJ,eAAiC,CACxC,IAAI6C,EAA4B,GAEhCzjJ,EAAK8gJ,IAAI77I,KAAI,SAAC8zI,GACZ0K,EAAqBv+I,UACVvI,IAATqD,GAA+B,OAATA,EAClB+4I,EAAYprI,KACZorI,EAAYprI,KAAO,MAAQorI,EAAY5iI,OAE/C,IAEA,IAAI+rI,EAAY,CACdttH,KAAM50B,EAAK4gJ,eACXuB,YACkC,IAAhCsB,EAAqBp/I,OACjB,GACAo/I,EAAqBv8I,WAC3Bk5G,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7B8/I,EAAgB9hJ,KAAKg9I,EACvB,CAGE,IAAIA,EAmDAA,EApDN,GAA4B,gBAAxBliJ,EAAK4gJ,eAEPp/I,QAAQe,IACN,mCACAvC,EAAK0hJ,aAILQ,EADiC,UAA/BliJ,EAAK0hJ,YAAYY,UACP,CACV1tH,KAAM50B,EAAK4gJ,eACXuB,YACE,SACAniJ,EAAK0hJ,YAAY9jJ,MACjB,eACAoC,EAAK0hJ,YAAYa,gBACjB,SACAviJ,EAAK0hJ,YAAYY,UACjB,cACAtiJ,EAAK0hJ,YAAYc,eACjB,gBACAxiJ,EAAK0hJ,YAAYC,iBACnBvhC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAGjB,CACV0tB,KAAM50B,EAAK4gJ,eACXuB,YACE,SACAniJ,EAAK0hJ,YAAY9jJ,MACjB,SACAoC,EAAK0hJ,YAAYY,UACjB,cACAtiJ,EAAK0hJ,YAAYc,eACjB,gBACAxiJ,EAAK0hJ,YAAYC,iBACnBvhC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAG/B8/I,EAAgB9hJ,KAAKg9I,GAOvB,GAA4B,WAAxBliJ,EAAK4gJ,eAEPsB,EAAY,CACVttH,KAAM50B,EAAK4gJ,eACXuB,YAAa,GACb/hC,WACkC,IAAhC2hC,EAAqB19I,OACjB,GACA09I,EAAqB76I,YAE7B8/I,EAAgB9hJ,KAAKg9I,EAEzB,CACF,IACA1gJ,QAAQe,IAAI,iCAAkCykJ,GAE9CzB,GAAmByB,GACnBxB,GAAsBltH,EACxB,CACF,KAAO,CACL,IAAIA,OACwC37B,IAA1Cd,EAAM82I,aAAa+P,oBACuB,OAA1C7mJ,EAAM82I,aAAa+P,oBAEkC,IAAjD7mJ,EAAM82I,aAAa+P,mBAAmBr+I,OADtC,GAGAxI,EAAM82I,aAAa+P,mBAEzBgD,GAAyB,sBACzBF,GAAsBltH,EACxB,CAEJ,GAAG,CAACz8B,EAAM82I,aAAc92I,EAAMupJ,+BAoBL,SAAA6B,KAOxB,OAPwBA,GAAAzoJ,YAAAC,IAAAC,MAAzB,SAAAiC,EAA0BX,GAAS,IAAAsiI,EAAA,OAAA7jI,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACE,IAA/BymJ,GAAoBthJ,UAClBi+H,EAAcgjB,IACXpgJ,KAAKlF,GACZwB,QAAQe,IAAI,wBAAyBvC,EAAMsiI,GAC3CijB,GAAmBjjB,IACpB,wBAAA1hI,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAEqC,SAAA0mJ,KAWrC,OAXqCA,GAAA1oJ,YAAAC,IAAAC,MAAtC,SAAAsC,EAAuChB,EAAWqK,GAAQ,IAAAi4H,EAAA,OAAA7jI,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACpDojI,EAAcogB,GAClBlhJ,QAAQe,IAAI,oCAAqC,CAAE+/H,WAEnD9gI,QAAQe,IAAI,4BAA6B,CAAEvC,OAAMqK,QACjDi4H,EAAOp9H,KAAKlF,GACZwlJ,GAAsBljB,GACtBzmI,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAMi4H,GAAM,IACX,wBAAArhI,EAAAZ,OAAA,GAAAW,EAAA,MACLT,MAAA,KAAAC,UAAA,CAqBD,SAAA2mJ,KAbC,OAaDA,GAAA3oJ,YAAAC,IAAAC,MApBA,SAAA2C,EAA2CrB,EAAWqK,GAAQ,OAAA5L,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAC5DsC,QAAQe,IAAI,4BAA6BvC,GAEzCnE,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GACAt5B,EAAI,IACL,wBAAAsB,EAAAjB,OAAA,GAAAgB,EAAA,MACLd,MAAA,KAAAC,UAAA,CAcD,SAAS4mJ,GAAcpnJ,GACrBmuF,GAAmBnuF,GAEN,uBAATA,GAA0C,uBAATA,GACnC4lJ,GAAuB,IACvBzB,GAA2BD,IAE3BD,GAAiBD,EAErB,CAaC,SAEc9oD,GAASp1F,GAAA,OAAAgyF,GAAAv3F,MAAC,KAADC,UAAA,UAAAs3F,KAMvB,OANuBA,GAAAt5F,YAAAC,IAAAC,MAAxB,SAAAkD,EAAyByI,GAAQ,OAAA5L,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OACN,IAArB6uF,IACFC,GAAqB,IAEvBjxC,IAAkBkxC,IAClBE,GAAmB9jF,GAAK,wBAAAxI,EAAAxB,OAAA,GAAAuB,EAAA,MACzBrB,MAAA,KAAAC,UAAA,CACyB,SAAA6mJ,KA0BzB,OA1ByBA,GAAA7oJ,YAAAC,IAAAC,MAA1B,SAAAsD,EAA2BslJ,EAAcrrI,GAAW,IAAAsrI,EAAAC,EAAA,OAAA/oJ,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAC9CqoJ,EAAkB,GAClBC,EAAiC,GACrC9E,GAAmBz9I,KAAI,SAACjF,EAAWw0E,GAC7Bv4D,IAAWu4D,GACb+yE,EAAWriJ,KAAKlF,EAEpB,IACAslJ,GAAgBrgJ,KAAI,SAACjF,EAAWw0E,GAC1Bv4D,IAAWu4D,GACbgzE,EAA0BtiJ,KAAKlF,EAEnC,IACAwlJ,GAAsB+B,GACtBhC,GAAmBiC,QAES7qJ,IAA1B8oJ,IAC0B,OAA1BA,IACiC,IAAjCA,GAAsBphJ,QAGtBxI,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,GAAAhvB,YAAA,GACXm7I,GAAwB8B,GAAU,IAEtC,wBAAArlJ,EAAA7B,OAAA,GAAA2B,EAAA,MACFzB,MAAA,KAAAC,UAAA,CACD,SAAS0lJ,GAAYlmJ,EAAWqK,GAC9B,IAAI64I,EAAYljJ,EAAKyF,MAAM,KACvBu9I,EAAkB,GACtBE,EAAUj+I,KAAI,SAAC87I,GACb,IAAI0G,EAAiB5rJ,EAAMupJ,6BAA6BsC,KAAKpzI,QAC3D,SAAC0iF,GAAgB,OAAKA,EAAYlgE,OAAO5vB,aAAe65I,CAAQ,IAGpC,IAA1B0G,EAAepjJ,QACjB2+I,EAAW99I,KAAKuiJ,EAAe,GAEnC,IACY,WAARp9I,EACFg6I,EAAcrB,GAEd2B,EAAe3B,EAEnB,CAigBA,SAAS1pD,GAAct5F,EAAWqK,GAChC,IAAIs9I,EAA2B,GAGnB,uBAARt9I,EACFxO,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAMrK,GAAI,KAGYA,EACNiF,KAAI,SAACjF,GACtB2nJ,EAAoBziJ,KAAKlF,EAAKiH,WAChC,IACAonF,GAAmBruF,GAEnBnE,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM82I,aAAa/5G,cAAY,GAAAtuB,YAAA,GACjCD,EACgC,IAA/Bs9I,EAAoBtjJ,OAChB,GACAsjJ,EAAoBzgJ,cAC3B,IAGP,CACA,SAASi8I,GAAMnjJ,EAAWqK,GACxB,IAAIu9I,EAAqB,GACrBC,EAAsB,GACd,WAARx9I,IACkBrK,EACNiF,KAAI,SAACjF,GACjB4nJ,EAAc1iJ,KAAKlF,EAAK82B,OAC1B,IAEAutH,EAAcrkJ,IAEJ,mBAARqK,IACmBrK,EACNiF,KAAI,SAACjF,GAClB6nJ,EAAe3iJ,KAAKlF,EAAK82B,OAC3B,IACA6tH,EAAe3kJ,IAEjBnE,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZV,aAAYjqB,wBAAA,GACP9S,EAAM82I,aAAa/5G,cAAY,GAAAtuB,YAAA,GACjCD,EACS,WAARA,EACIu9I,EAAc1gJ,WACd2gJ,EAAe3gJ,cACtB,GAEL,CACA,SAASq8I,GAASvjJ,EAAWqK,GAC3B,IAAIy9I,EAAsB,GACtBC,EAAuB,GAEjB,iCAAR19I,GACQ,iCAARA,IAEqBrK,EACNiF,KAAI,SAACjF,GAClB8nJ,EAAe5iJ,KAAK,CAClBi8I,UAAWnhJ,EAAKmhJ,UAAUj6I,WAC1B8gJ,KAAMhoJ,EAAKoH,QAEf,IAEAm9I,EAAiBvkJ,IAcT,kCAARqK,GACQ,kCAARA,IAEsBrK,EACNiF,KAAI,SAACjF,GACnB+nJ,EAAgB7iJ,KAAK,CACnBi8I,UAAWnhJ,EAAKmhJ,UAAUj6I,WAC1B8gJ,KAAMhoJ,EAAKoH,QAEf,IACAq9I,EAAkBzkJ,IAIpBnE,EAAM+rI,iBAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,GAAAhvB,YAAA,GACXD,EACS,iCAARA,GACQ,iCAARA,EACIy9I,EACAC,GAAe,GAEzB,CAEA,OACEvrJ,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IAEZzkB,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,iCAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBZ,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,qKAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDF,cAACg1E,KAAW,CACVxsE,MAAOw/I,EACP5lI,QAAS3iB,EAAMupJ,6BAA6BsC,KAC5C74I,SAAU,SAACtG,GACT46I,GAAM56I,EAAE3D,MAAO,SACjB,EACA+xD,YAC+B,MAA7Bt+B,GAAQ7Q,aAAa2tC,KAAe,SAAW,SAEjDhmD,YAAY,2BACZrG,QAAQ,OACRwL,QAAM,EACNqlF,mBAAiB,EACjB/iC,WAAS,EACT35D,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,eAIzCxM,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,+JAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDF,cAACg1E,KAAW,CACVxsE,MAAO0/I,EACPhwI,QAAM,EACNkK,QAAS3iB,EAAMupJ,6BAA6BuB,QAC5C93I,SAAU,SAACtG,GACTg7I,GACEh7I,EAAE3D,OACF/I,EAAMwlJ,YACF,gCAGR,EACA1qF,YACgC,OAA9Bt+B,GAAQ7Q,aAAa2tC,KAAgB,SAAW,SAElDhmD,YAAY,8BACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,eAIzCxM,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,mJAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDE,eAAA,OAAKY,UAAU,eAAeH,MAAO,CAAEkf,OAAQ,QAAS7f,SAAA,CACtDF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,MAAOp0D,MAAO,QAASzV,SAClDF,cAACsvF,GAAsB,CACrBrmC,WAAW,UACXV,WAAYigG,EACZzxE,WAAY,CACVphE,MAAO,OACPoK,YACuBxf,IAArBioJ,GACqB,OAArBA,GAEgC,IAA5BA,EAAiBvgJ,OADjB,OAGA,QAER2nF,eAAe,EAEfvnC,cAAe60C,GACf50C,UACE7oD,EAAMwlJ,YACF,uCAKVjlJ,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBACZsiG,IACEvrJ,EAAMwlJ,YACF,mCAEL,EAEH78F,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAoC,IAA5ByoI,EAAiBvgJ,OAAe,OAAS,qBAO7DjI,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,kCAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBZ,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,qKAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,MAAOp0D,MAAO,QAASzV,SAClDF,cAACsvF,GAAsB,CACrBrmC,WAAW,SACXV,WAAYypC,GACZjb,WAAY,CACVphE,MAAO,OACPoK,YACsBxf,IAApByxF,IAAqD,OAApBA,GAC7B,OAC2B,IAA3BA,GAAgB/pF,OAChB,OACA,QAER2nF,eAAe,EACfvnC,cAAe60C,GACf50C,SAAU,yBAGdtoD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAMo2C,GAAU,qBAAqB,EACnD12C,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,YACsBxf,IAApByxF,IAAqD,OAApBA,GAC7B,OAC2B,IAA3BA,GAAgB/pF,OAChB,OACA,kBAMhB7H,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,uLAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDF,cAACg1E,KAAW,CACVxsE,MAAO8/I,EACPlmI,QAAS3iB,EAAMupJ,6BAA6BsC,KAC5C74I,SAAU,SAACtG,GACT46I,GAAM56I,EAAE3D,MAAO,iBACjB,EACA+xD,YAC+B,MAA7Bt+B,GAAQ7Q,aAAa2tC,KAAe,SAAW,SAEjDhmD,YAAY,2BACZrG,QAAQ,OACRwL,QAAM,EACNqlF,mBAAiB,EACjB/iC,WAAS,EACT35D,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,eAIzCxM,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,+JAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDF,cAACg1E,KAAW,CACVxsE,MAAO4/I,EACPhmI,QAAS3iB,EAAMupJ,6BAA6BuB,QAC5C93I,SAAU,SAACtG,GACTg7I,GACEh7I,EAAE3D,OACF/I,EAAMwlJ,YACF,iCAGR,EACA1qF,YACgC,OAA9Bt+B,GAAQ7Q,aAAa2tC,KAAgB,SAAW,SAElD7gD,QAAM,EACNnF,YAAY,8BACZrG,QAAQ,OACR7L,MAAO,CAAE8U,MAAO,QAAS/I,SAAU,eAIzCxM,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,mJAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJU,UAAU,+CAA8Cd,SAExDE,eAAA,OAAKY,UAAU,eAAeH,MAAO,CAAEkf,OAAQ,QAAS7f,SAAA,CACtDF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,MAAOp0D,MAAO,QAASzV,SAClDF,cAACsvF,GAAsB,CACrBrmC,WAAW,UACXV,WAAYugG,GACZ/xE,WAAY,CACVphE,MAAO,OACPoK,YACwBxf,IAAtBuoJ,IACsB,OAAtBA,IAEiC,IAA7BA,GAAkB7gJ,OADlB,OAGA,QAER2nF,eAAe,EACfvnC,cAAe60C,GACf50C,UACE7oD,EAAMwlJ,YACF,wCAKVjlJ,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBACZsiG,IACEvrJ,EAAMwlJ,YACF,oCAEL,EAEH78F,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAqC,IAA7B+oI,GAAkB7gJ,OAAe,OAAS,qBAO9DjI,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,+BAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBhB,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCE,eAAA,OACEY,UAAU,gBACV4U,QAAS,kBACPxQ,QAAQe,IACN,gDACA+iJ,GACD,EACFhpJ,SAAA,CAEDF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,QAEfzlC,aAAc,kBACZsiG,IACEvrJ,EAAMwlJ,YACF,sBAEL,EAEHz2E,cAAe,iBACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,2BAErB/nD,eAAC+wE,KAAS,CACRx+D,GAAG,gBACHnK,MAAO0gJ,GACP93E,aAAc,SAACjlE,GAAY,EAE3Bs7E,kBAAmB,SAACt7E,GAClB,EAEFqlE,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLzoB,MAAM,OAENiX,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiB,WAGjDjN,cAACs4B,KAAM,CACLzoB,MAAM,cACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CAACU,gBAAiB,kBAG3CjN,cAACs4B,KAAM,CACLzoB,MAAM,aACN6hE,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CAACU,gBAAiB,iBAI3CjN,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiB,SAC/C3J,KAAM,SAACmV,EAAc2/D,GAAQ,OAC3Bp4E,cAAA,UACEgB,UAAU,eACV4U,QAAS,YAnlCjC,SAA2B3H,EAAUrK,EAAWw0E,GAC9C2Z,GAAmB9jF,GAEnBu7I,GAAuB/pJ,EAAM82I,aAAa+P,mBAAmBluE,EAAIjuE,WACjE49I,GAA2BD,EAQ7B,CAwkC0B+D,EACEpsJ,EAAMwlJ,YACF,sBAEJxsI,EACA2/D,EAEJ,EAAEl4E,SAEFF,cAAA,OAAK0lD,IAAKosB,GAAUnsB,IAAI,UACjB,IAIb3lD,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CAACU,gBAAiB,WAEzC3J,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACV4U,QAAS,YAvlClC,SACyBga,EAAAiM,GAAAovH,GAAA9mJ,MAAC,KAADC,UAAA,CAulCE4tE,CAAYv5D,EAAS2J,EAAQjY,SAC/B,EAAEjK,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,oBAShB3lD,cAACshJ,GAA4B,CAC3BQ,aAAc8F,EACdjH,oBACsB,oCAApB7uD,IACsB,QAAlB01D,EAAA/nJ,EAAM82I,oBAAY,IAAAiR,GAA8B,QAA9BC,EAAlBD,EAAoBiD,oCAA4B,IAAAhD,OAA9B,EAAlBA,EAAkDx/I,QAAS,GACxB,IAAnCygJ,EAAwBzgJ,OACtBygJ,EACAjpJ,EAAMupJ,6BAA6BrwF,WACjB,qCAApBm5B,MACkB,QAAlB41D,EAAAjoJ,EAAM82I,oBAAY,IAAAmR,GAA+B,QAA/BC,EAAlBD,EAAoBwC,qCAA6B,IAAAvC,OAA/B,EAAlBA,EAAmD1/I,QAAS,GACxB,IAApC2gJ,GAAyB3gJ,QACvB2gJ,GAEFnpJ,EAAMupJ,6BAA6BrwF,WAEzCipF,gBAAiBoJ,GACjBxf,gBAAiB/rI,EAAM+rI,gBACvBljF,SAAUwpC,GACV8uD,sBAAuBkI,GACvB7H,qBAAsBuH,IAExBxoJ,cAACgiJ,GAA4B,CAC3BF,aAAcgG,EACdlG,gBAAiBoJ,GACjBl5D,gBAAiBA,GACjBK,SAAU1yF,EAAMupJ,6BAA6BsC,KAC7CtF,aA1sCL,SACwB9hJ,GAAA,OAAA2mJ,GAAA1mJ,MAAC,KAADC,UAAA,EA0sCnB0gJ,YAAarlJ,EAAMupJ,6BAA6BuB,QAChD5J,oBAAqBlhJ,EAAMupJ,6BAA6BrwF,WACxD49E,aAAc92I,EAAM82I,aACpBmP,iBAAkBjmJ,EAAMkxB,YACxBs0H,YAAaxlJ,EAAMwlJ,YACnBgB,0BAxsCL,SAEqCxhJ,EAAAK,GAAA,OAAAgmJ,GAAA3mJ,MAAC,KAADC,UAAA,EAusChCmgJ,yBAA0BgF,GAC1BhD,8BA7rCL,SACyCxgJ,EAAAwF,GAAA,OAAAw/I,GAAA5mJ,MAAC,KAADC,UAAA,IAysCtCpE,cAACkzD,GAAc,CACbysF,qBAAsB9tD,GACtB+tD,UAAWngJ,EAAMupJ,6BAA6BC,SAC9CnJ,aAAclrF,GACdurF,wBAAyBx/F,GACzBo/F,eAAgBjhD,GAChBx2C,SAAUwpC,GACVouD,iBAAkBhjD,GAClB8iD,gBAAiBrqE,GACjBptB,WAAYypC,OAIpB,ECh+Ca85D,GAAyB,SAACrsJ,GAOf,SACPssJ,EAAsB7nJ,EAAAO,GAAA,OAAAunJ,EAAA7nJ,MAAC,KAADC,UAAA,UAAA4nJ,IAoBpC,OApBoCA,EAAA5pJ,YAAAC,IAAAC,MAArC,SAAAC,EACE0pJ,EACA9hJ,GAAgB,IAAAkqC,EAAAC,EAAA,OAAAjyC,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEZuxC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAC9C5mB,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,wCAAArzC,OAAuCgrJ,EAAY,qBAAAhrJ,OAC3DkJ,EAAW,EAAC,YAEd,SACA,cAQF,wBAAAvH,EAAAqB,OAAA,GAAA1B,EAAA,MACD4B,MAAA,KAAAC,UAAA,CA3BDoI,qBAAU,WACJ/M,EAAMmgJ,WACRngJ,EAAMmgJ,UAAUrvF,MAAK,SAAC1U,EAAQ2U,GAC5B,OAAO4vC,GAAWvkD,EAAG2U,EAAG,eAAgB,MAC1C,GAEJ,GAAG,CAAC/wD,EAAMmgJ,YA4BV,OACE5/I,cAAA,OAAAE,SACEE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMmgJ,UACbpuE,iBAAiB,SACjBxwE,UAAU,wCAAuCd,SAAA,CAEjDF,cAACs4B,KAAM,CACLxR,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,2DAGlBghI,YAAa,CAAEx4H,MAAO,OACtBrS,KAAM,SAACM,EAAMwe,GACX,OACEpiB,cAAA,KAEE4V,QAAS,kBACPm2I,EAAuBnoJ,EAAK2oB,aAAcnK,EAAQjY,SAAS,EAC5DjK,SAEAkiB,EAAQjY,SAAW,GAG1B,IAEFnK,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,6EAGlB7J,KAAM,SAACM,EAAMwe,GACX,OACEpiB,cAAA,KAEE4V,QAAS,kBACPm2I,EAAuBnoJ,EAAK2oB,aAAcnK,EAAQjY,SAAS,EAC5DjK,SAEA0D,EAAKgqB,cAGZ,EACA/sB,MAAO,CAAEif,UAAW,WAEtB9f,cAACs4B,KAAM,CACLzoB,MAAM,eACNhP,MAAO,CAAEif,UAAW,SACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,yCAGlB7J,KAAM,SAACM,EAAMwe,GACX,OACEpiB,cAAA,KAEE4V,QAAS,kBACPm2I,EAAuBnoJ,EAAK2oB,aAAcnK,EAAQjY,SAAS,EAC5DjK,SAEA0D,EAAKgqB,cAGZ,IAEF5tB,cAACs4B,KAAM,CACLzoB,MAAM,iBACNhP,MAAO,CAAEif,UAAW,SACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,qDAGlB7J,KAAM,SAACM,EAAMwe,GACX,OACEpiB,cAAA,KAEE4V,QAAS,kBACPm2I,EAAuBnoJ,EAAK2oB,aAAcnK,EAAQjY,SAAS,EAC5DjK,SAEA0D,EAAKsoJ,gBAGZ,IAGFlsJ,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,iEAIlB7J,KA9GmB,SAACmV,GAC1B,IAAI3H,EAAiB9H,KAAOyP,EAAQugD,aAAc,uBAElD,OADgBhwD,KAAO8H,GAAgBlI,OAAO,uBAEhD,QA+GF,EC2KeujJ,GAhTqB,SAAC1sJ,GA2FD,SAAAq9I,IAQjC,OARiCA,EAAA16I,YAAAC,IAAAC,MAAlC,SAAAC,EAAmCqB,EAAWqK,GAAQ,OAAA5L,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpDrD,EAAM2sJ,qBAAqBxoJ,GAC3BnE,EAAM4sJ,qBAAoB,SAACnvH,GAAc,OAAA3qB,oCAAA,GACpC2qB,GAEAz9B,EAAM6sJ,kBAAgB,GAAAp+I,YAAA,GACxBD,EAAMrK,EAAKkH,YAAU,IACpB,wBAAAlI,EAAAqB,OAAA,GAAA1B,EAAA,MACL4B,MAAA,KAAAC,UAAA,CACD,OAnGAoI,qBAAU,WACRpH,QAAQe,IACN,6EACA1G,EAAM8sJ,gCACN9sJ,EAAM+sJ,oBAGR,IAFE,IAAAjlJ,EAAA,SAAAC,GAGApC,QAAQe,IACN,2CACA1G,EAAM8sJ,gCAAgC/kJ,GACtC/H,EAAMgtJ,8BAGR,IAAI7xD,EAAcn7F,EAAMgtJ,6BAA6Bv0I,QACnD,SAAC3P,GAAS,OACRmG,OAAOjP,EAAM8sJ,gCAAgC/kJ,GAAG4xD,cAChD7wD,EAAKsC,UAAU,IAEQ,IAAvB+vF,EAAY3yF,QACdxI,EAAM8sJ,gCAAgC/kJ,GAAG0kJ,eACvCtxD,EAAY,GAAG5vF,OACjB5F,QAAQe,IAAI,oCAAqCy0F,IAEjDx1F,QAAQe,IAAI,qCAAsCy0F,EAEtD,EAnBSpzF,EAAI,EAAGA,EAAI/H,EAAM8sJ,gCAAgCtkJ,OAAQT,IAAGD,EAAAC,EAoBvE,GAAG,CACD/H,EAAMgtJ,6BACNhtJ,EAAM8sJ,kCAKR//I,qBAAU,WAIR,GAHApH,QAAQe,IAAI,+BAAgC1G,EAAM6sJ,kBAClDlnJ,QAAQe,IAAI,iCAAkC1G,EAAM+sJ,oBACpDpnJ,QAAQe,IAAI,sBAAuB1G,EAAMitJ,cAEHnsJ,IAApCd,EAAM6sJ,iBAAiBha,UACa,OAApC7yI,EAAM6sJ,iBAAiBha,UACoB,IAA3C7yI,EAAM6sJ,iBAAiBha,SAASrqI,YAGI1H,IAAlCd,EAAM6sJ,iBAAiBrgG,QACW,OAAlCxsD,EAAM6sJ,iBAAiBrgG,QACkB,IAAzCxsD,EAAM6sJ,iBAAiBrgG,OAAOhkD,QAC9B0kJ,QAAQltJ,EAAM6sJ,iBAAiBrgG,aAQjC,QACoC1rD,IAAlCd,EAAM6sJ,iBAAiBrgG,QACW,OAAlCxsD,EAAM6sJ,iBAAiBrgG,QACkB,IAAzCxsD,EAAM6sJ,iBAAiBrgG,OAAOhkD,QAC9B0kJ,QAAQltJ,EAAM6sJ,iBAAiBrgG,QAC/B,CACA,IAAIA,EAASxsD,EAAMitJ,QAAQzgG,OAAO5iD,MAAM,UAGJ9I,IAAlCd,EAAM6sJ,iBAAiBrgG,QACW,OAAlCxsD,EAAM6sJ,iBAAiBrgG,QACkB,IAAzCxsD,EAAM6sJ,iBAAiBrgG,OAAOhkD,aACI1H,IAAlCd,EAAM6sJ,iBAAiBM,QACW,OAAlCntJ,EAAM6sJ,iBAAiBM,QACkB,IAAzCntJ,EAAM6sJ,iBAAiBM,OAAO3kJ,aACI1H,IAAlCd,EAAM6sJ,iBAAiBO,QACW,OAAlCptJ,EAAM6sJ,iBAAiBO,QACkB,IAAzCptJ,EAAM6sJ,iBAAiBO,OAAO5kJ,QAE9BxI,EAAM4sJ,qBAAoB,SAACnvH,GAAc,OAAA3qB,oCAAA,GACpC2qB,GAEAz9B,EAAM6sJ,kBAAgB,IACzBM,OAAQ,UACRC,YACoCtsJ,IAAlCd,EAAM6sJ,iBAAiBO,QACW,OAAlCptJ,EAAM6sJ,iBAAiBO,QACkB,IAAzCptJ,EAAM6sJ,iBAAiBO,OAAO5kJ,OAC1BxI,EAAM6sJ,iBAAiBO,OACvB5gG,EAAO,IAAE,GAGrB,CAEJ,GAAG,CAACxsD,EAAM6sJ,mBAWRlsJ,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,4BAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBZ,eAAA,OACEY,UAAU,2BACVH,MAAO,CACLstF,YAAa,OACbpmE,UAAW,OACX3E,aAAc,QACdljB,SAAA,CAEFE,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,iCAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,2CAA0Cd,SAEpDF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aAAcxwF,EAAMqtJ,kBACpBzkG,cAzDe,SACKnkD,EAAAO,GAAA,OAAAq4I,EAAA34I,MAAC,KAADC,UAAA,EAyDpBkkD,SAAU,kBAKlBloD,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,uCAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbroC,OAAQ,IAEVooC,kBAAmB,+BACnBM,sBAC8BloD,IAA5Bd,EAAMqtJ,mBACsB,OAA5BrtJ,EAAMqtJ,mBAC6B,IAAnCrtJ,EAAMqtJ,kBAAkB7kJ,QACxBxI,EAAMqtJ,kBACFrtJ,EAAM6sJ,iBAAiBM,OACvB,GAMNpkG,eAAe,EACfF,SAAU,wBAGdtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAACuM,KAAoB,CACnBU,gBAAiB,qBACjBE,aAAc,qHAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbroC,OAAQ,IAEVooC,kBAAmB,+BACnBM,sBAC8BloD,IAA5Bd,EAAMqtJ,mBACsB,OAA5BrtJ,EAAMqtJ,mBAC6B,IAAnCrtJ,EAAMqtJ,kBAAkB7kJ,QACxBxI,EAAMqtJ,wBACkCvsJ,IAApCd,EAAM6sJ,iBAAiBha,UACa,OAApC7yI,EAAM6sJ,iBAAiBha,UACoB,IAA3C7yI,EAAM6sJ,iBAAiBha,SAASrqI,OACI,YAAlCxI,EAAM6sJ,iBAAiBM,OACrBntJ,EAAM6sJ,iBAAiBS,OACvB,IAEJ,GAMNvkG,eAAe,EACfF,SAAU,wBAIdtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAACuM,KAAoB,CACnBU,gBAAiB,oBACjBE,aAAc,mJAIlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAAC8nD,KAAmB,CAClBM,cAAe,CACbroC,OAAQ,IAEVooC,kBAAmB,+BACnBM,sBAC8BloD,IAA5Bd,EAAMqtJ,mBACsB,OAA5BrtJ,EAAMqtJ,mBAC6B,IAAnCrtJ,EAAMqtJ,kBAAkB7kJ,QACxBxI,EAAMqtJ,kBACFrtJ,EAAM6sJ,iBAAiBO,OACvB,GAMNrkG,eAAe,EACfF,SAAU,2BAIf7oD,EAAMqtJ,mBAAyD,KAApCrtJ,EAAM6sJ,iBAAiBha,UACjDtyI,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJI,UAAU,+CAA8Cd,SAExDF,cAAC8rJ,GAAsB,CACrBlM,UAAWngJ,EAAM8sJ,gCACjBS,uBAC8BzsJ,IAA5Bd,EAAMqtJ,mBACsB,OAA5BrtJ,EAAMqtJ,mBAC6B,IAAnCrtJ,EAAMqtJ,kBAAkB7kJ,QACxBxI,EAAMqtJ,kBACFrtJ,EAAM6sJ,iBAAiBO,OACvB,cAStB,ECtUaI,GAAW,eAAA9qJ,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACHK,MAAM,6BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,UAMLtB,GAAW,IAAIwV,QAAO,SAAC/L,GAAM,OAAoB,IAAfA,EAAEiM,QAAiB,KAAC,wBAAAxV,EAAAqB,OAAA,GAAA1B,EAAA,KAC/D,kBARuB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,K,0GC0PT8oJ,GAvO6C,SAAH/qJ,GAQlD,IAPL2kB,EAAM3kB,EAAN2kB,OACAs7C,EAAUjgE,EAAVigE,WACAl7C,EAAO/kB,EAAP+kB,QACAimI,EAAehrJ,EAAfgrJ,gBACAC,EAAejrJ,EAAfirJ,gBACAC,EAAclrJ,EAAdkrJ,eAGA71I,GAFQ3F,YAAA1P,EAAA2P,IAE8B2F,mBAAgB,KAAGC,EAAApB,YAAAkB,EAAA,GAAlD81I,EAAW51I,EAAA,GAAE61I,EAAc71I,EAAA,GAsB5B81I,EAAc,SAAC/rJ,GACnB,IAAIgsJ,EAAQ,GAwBZ,MAvBa,OAAThsJ,EACFgsJ,EAAQ,aACU,OAAThsJ,EACTgsJ,EAAQ,QACU,MAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,WACU,OAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,QACU,OAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,UACU,OAAThsJ,EACTgsJ,EAAQ,cACU,OAAThsJ,EACTgsJ,EAAQ,WACU,OAAThsJ,IACTgsJ,EAAQ,UAEHA,CACT,EAuEA,IAoCMC,EAAO,WACXtrF,GAAW,EACb,EAEA,OACEpiE,cAAA,OAAAE,SACEF,cAACgnB,IAAM,CACLF,OAAQA,EACRI,QAASA,EACTymI,OAlKS,WAGb,GAFAvoJ,QAAQe,IAAI,gCAAiCinJ,GAE1B,OAAfA,QAAe,IAAfA,KAAiB7+H,UAAiD,KAAtB,OAAf6+H,QAAe,IAAfA,OAAe,EAAfA,EAAiB7+H,SAAStmB,QACzDslJ,EAAc7kJ,YAAK0kJ,EAAgB7+H,eAC9B,CACL,IAAIu3H,EAAmB,GACvBsH,EAAgBn9I,OAAO3H,SAAQ,SAAC6D,GAC9B25I,EAAUh9I,KAAK,CACb2Y,IAAKtV,EAAEyD,QAAQrO,SAASC,MACxBosJ,SAAU,KACVxzI,MAAO,KACP6T,YAAa,KACbM,SAAU,IAEd,IACAg/H,EAAe,GAADtsJ,OAAK6kJ,GACrB,CACF,EAiJM18I,SAAU,SACVge,OAAK,EACLvmB,MAAO,CAAE8U,MAAO,QAChB4R,OAjDe,WACnB,OACEnnB,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAcglG,EACdvlG,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,WACZ2kG,EAAevmI,EAAQwmI,EACzB,EACAllG,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,YAKpB,EAgBMya,OAAQqmI,EACRpmI,WAAW,EACX85B,WAAW,EAAMlhD,SAEjBE,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAC+wE,KAAS,CACR3oE,MAAO8kJ,EACP97E,iBAAiB,SACjBxwE,UAAU,KACV4/C,cAAc,WACdsyD,kBAAkB,EAClB26C,eAAa,EACb/6I,KAAK,QACLy+D,QAAQ,aACRuW,cAAc,MAAK5nF,SAAA,CAEnBF,cAACs4B,KAAM,CACLzoB,MAAM,MACNs+H,YAAa,CAAEx4H,MAAO,SACtB9U,MAAO,CAAEif,UAAW,UACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAA6B,OAAfigJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB3rI,QAIrCzhB,cAACs4B,KAAM,CACL61G,YAAa,CAAEx4H,MAAO,SACtB9U,MAAO,CAAEif,UAAW,UACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAA6B,OAAfigJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBtlC,cAAcA,gBAGjDxkH,KAlKd,SAA4BmV,EAAcoH,GACxC,IAAIuC,EAAiB,GAEjBuO,EAAmB,KAgCvB,OA9Be,OAAfw8H,QAAe,IAAfA,KAAiBtkJ,KAAI,SAACyjB,GAElBA,EAAKC,eACL6gI,EAAgBtlC,cAAcA,cAAcz+G,MAAM,KAAK,KAEvDsnB,EAAcptB,KAAKwM,MAAMuc,EAAK8yG,aAElC,IACIzuG,GACFA,EAAYvvB,MAAMkH,SAAQ,SAACC,GACzBA,EAAKlH,OAAOiH,SAAQ,SAACoZ,GAES,OAA1BA,EAAQngB,SAASE,MACjBigB,EAAQngB,SAASC,QACf4rJ,EAAgBtlC,cAAcA,cAAcz+G,MAAM,KAAK,IAEzDqY,EAAQngB,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC6D,GACzCiW,EAAQtZ,KAAK,CACX2Y,IAAKhJ,EAAQgJ,IACbmsI,SAAU,KACVxzI,MAAOjO,EAAEyD,QAAQrO,SAASC,MAC1BysB,YAAau/H,EAAYrhJ,EAAEyD,QAAQrO,SAASE,MAC5C8sB,SAAU,IAEd,GAEJ,GACF,IAIAvuB,cAAAC,WAAA,CAAAC,SACEF,cAAC++C,IAAQ,CACPv2C,MAAOiQ,EACP2J,QAASA,EACTm4C,YAAY,QACZriD,QAAM,EACNsiD,WAAS,EACT/nD,SAAU,SAACtG,GACT,IACE,IAAI2hJ,EAAUR,EACdQ,EAAUA,EAAQjlJ,KAAI,SAACynD,GAQrB,OAPInkD,EAAE3D,MACA8nD,EAAI7uC,MAAQtV,EAAE3D,MAAMiZ,MACtB6uC,EAAMnkD,EAAE3D,OAEDiQ,EAAQgJ,MAAQ6uC,EAAI7uC,MAC7B6uC,EAAIl2C,MAAQ,MAEPk2C,CACT,IAEAi9F,EAAc7kJ,YAAKolJ,GACrB,CAAE,MAAOzoJ,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CACF,EACAxE,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,mBACtCtE,YAAY,uBAIpB,eAuGF,E,8JCqpCeg7I,GA52CqC,SAAH5rJ,GAS1C,IARL6rJ,EAAoB7rJ,EAApB6rJ,qBACAC,EAAY9rJ,EAAZ8rJ,aACAC,EAA4B/rJ,EAA5B+rJ,6BACAC,EAA+BhsJ,EAA/BgsJ,gCACApR,EAAkB56I,EAAlB46I,mBACAxG,EAAYp0I,EAAZo0I,aACA5lH,EAAWxuB,EAAXwuB,YAGAnZ,GAFQ3F,YAAA1P,EAAA2P,IAGN2F,mBAAc,CACZ4X,cAAe,GACf++H,QAAS,CAAE11F,SAAU,OACrBq4B,KAAM,CAAEA,KAAM,UACds9D,aAAa,EACbC,SAAS,EACTC,qBAAqB,EACrBC,sBAAsB,EACtBC,YAAY,EACZC,YAAa,CAAEA,YAAa,IAC5BlyH,aAAc,GACdmyH,aAAa,EACbC,gBAAiB,GACjBC,aAAc,GACdC,cAAe,GACfC,eAAgB,GAChBC,gBAAiB,GACjBC,kBAAmB,GACnBC,cAAe,MACfx3I,EAAApB,YAAAkB,EAAA,GApBG23I,EAA6Bz3I,EAAA,GAAE03I,EAAgC13I,EAAA,GAqBtEgJ,EAAoDjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAhE2uI,EAAkB1uI,EAAA,GAAE2uI,EAAqB3uI,EAAA,GAChDG,EAAsCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAlD4tI,EAAW3tI,EAAA,GAAEwuI,EAAcxuI,EAAA,GAClCgB,EAA4CtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAA7DytI,EAAcxtI,EAAA,GAAEytI,EAAiBztI,EAAA,GACxCC,EAAwCxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAAhDytI,EAAYxtI,EAAA,GAAEytI,EAAeztI,EAAA,GACpCwG,EAAwDjR,mBAAiB,IAAGkR,EAAArS,YAAAoS,EAAA,GAArEknI,EAAoBjnI,EAAA,GAAEknI,EAAuBlnI,EAAA,GACpDC,EAAwDnR,mBAAgB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAApEknI,EAAoBjnI,EAAA,GAAEknI,EAAuBlnI,EAAA,GACpD2I,EAAkD/Z,mBAAgB,IAAGga,EAAAnb,YAAAkb,EAAA,GAA9Dw+H,EAAiBv+H,EAAA,GAAEw+H,EAAoBx+H,EAAA,GAC9CG,EAA4Cna,qBAAeoa,EAAAvb,YAAAsb,EAAA,GAApDs+H,EAAcr+H,EAAA,GAAEs+H,GAAiBt+H,EAAA,GACxCG,GAA0Bva,qBAAewa,GAAA3b,YAAA0b,GAAA,GACnCo+H,IADMn+H,GAAA,GAAUA,GAAA,GACJ,eAAA3tB,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA8tJ,EAAAC,EAAAC,EAAA/zH,EAAAg0H,EAAA9jJ,EAAA+jJ,EAAA,OAAApuJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEwB,OAFxBF,EAAAC,KAAA,EAEjBysJ,EAAqB5mJ,YAAKulJ,IAAerrJ,EAAAE,KAAA,EACnC4tJ,KAAkB,KAAD,EACnBna,IACIga,EAKFI,GAAcpa,GACZ/5G,EAAe+5G,EAAa/5G,aAC5Bg0H,EAAmBG,GAAcpa,GACvC4Z,GAAkBK,GAClBprJ,QAAQe,IAAI,oBAAqBq2B,GAE7B9vB,EAAgC,OAAZ8vB,QAAY,IAAZA,GAA2B,QAAf6zH,EAAZ7zH,EAAcnN,qBAAa,IAAAghI,OAAf,EAAZA,EAA6BhnJ,MAAM,KAErDonJ,EAAkB,CACtBphI,cAAemN,EAAanN,cAC5B++H,QACiB,QAAf1hJ,EAAQ,GACJ,CAAEgsD,SAAU,OACG,WAAfhsD,EAAQ,GACR,CAAEgsD,SAAU,UACZ,CAAEA,SAAU,OAClBq4B,KACiB,WAAfrkF,EAAQ,GACJ,CAAEqkF,KAAM,UACO,gBAAfrkF,EAAQ,GACR,CAAEqkF,KAAM,eACR,CAAEA,KAAM,UACdw9D,oBAAoC,QAAf7hJ,EAAQ,GAC7B2hJ,YAA4B,QAAf3hJ,EAAQ,GACrB4hJ,QAAwB,QAAf5hJ,EAAQ,GACjB8hJ,sBACyB,QAAvB8B,EAAAtC,EAAqB,UAAE,IAAAsC,OAAA,EAAvBA,EAAyB9B,wBAAwB,EACnDC,WAAY8B,EAAWK,aACvBlC,YAAa,CAAEA,YAAahiJ,EAAQ,IACpC8vB,aAAc,GACdoyH,gBAAiBZ,EACjBW,aAAa,EACbE,aAAc,GACdC,cAAe,GACfC,eAAgBwB,EAAWM,SAC3B7B,gBAAiBuB,EAAWO,UAC5B7B,kBAAmBsB,EAAWQ,SAC9B7B,cAAe,IAEjB8B,GAAcx0H,GAEd4yH,EAAgC78I,YAAC,CAAC,EAAIk+I,KACvC7tJ,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,aAAYvD,EAAAgkB,IAAS,yBAAAhkB,EAAAqB,OAAA,GAAA1B,EAAA,kBAEpC,kBAxDiB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,MA0DlB,SAASusJ,GAAczlE,GACrB,IAAI+lE,EAAiB/lE,EAAcgmE,cAE/B5lJ,EAKA,CACFslJ,cAAc,EACdC,SAAU,GACVC,UAAW,GACXC,SAAU,IAEZ,GAAIE,GAC6B,KAAb,OAAdA,QAAc,IAAdA,OAAc,EAAdA,EAAgBhpJ,QAAc,CAAC,IAADkpJ,EAAAC,EAAAC,EAChC/lJ,EAAIslJ,cAAe,EACnB,IAAMU,EAC0C,QADfH,EAAGF,EACjC7wI,MAAK,SAACjU,GAAM,MAAsB,aAAjBA,EAAEolJ,UAAyB,WAAC,IAAAJ,OAAA,EADZA,EAEhCllG,OAAO5iD,MAAM,KACXmoJ,EAC2C,QADfJ,EAAGH,EAClC7wI,MAAK,SAACjU,GAAM,MAAsB,cAAjBA,EAAEolJ,UAA0B,WAAC,IAAAH,OAAA,EADZA,EAEjCnlG,OAAO5iD,MAAM,KACXooJ,EAC0C,QADfJ,EAAGJ,EACjC7wI,MAAK,SAACjU,GAAM,MAAsB,aAAjBA,EAAEolJ,UAAyB,WAAC,IAAAF,OAAA,EADZA,EAEhCplG,OAAO5iD,MAAM,KAEjBioJ,EAA4BhpJ,SAAQ,SAAC1E,EAAWw0E,GAC9C61E,EAAa3lJ,SAAQ,SAACu0B,EAAYu7C,GAC5Bv7C,EAAM7yB,WAAWc,YAAclH,GACjC0H,EAAIulJ,SAAS/nJ,KAAK+zB,EAEtB,GACF,IAEA20H,EAA6BlpJ,SAAQ,SAAC1E,EAAWw0E,GAC/C61E,EAAa3lJ,SAAQ,SAACu0B,EAAYu7C,GAC5Bv7C,EAAM7yB,WAAWc,aAAelH,GAClC0H,EAAIwlJ,UAAUhoJ,KAAK+zB,EAEvB,GACF,IACA40H,EAA4BnpJ,SAAQ,SAAC1E,EAAWw0E,GAC9C61E,EAAa3lJ,SAAQ,SAACu0B,EAAYu7C,GAC5Bv7C,EAAM7yB,WAAWc,aAAelH,GAClC0H,EAAIylJ,SAASjoJ,KAAK+zB,EAEtB,GACF,GACF,CAGF,OAAOvxB,CACT,CAEA,IAmDMoiJ,GAAO,WACXS,GAAiCD,EACnC,EAEM8C,GAAgB,SAACx0H,GACrB,IAAIk1H,EAAsB,GAC1B,IACE,GACEl1H,EAAapQ,cACiB,KAA9BoQ,EAAapQ,cACiB,OAA9BoQ,EAAapQ,aACb,CACA,IAAMulI,EAAgBpuJ,KAAKwM,MAAMysB,EAAapQ,cAC9ChnB,QAAQe,IAAI,mBAAoBwqB,GAEhCA,EAAYvvB,MAAMyH,KAAI,SAACN,GACrBA,EAAKlH,OAAOiH,SAAQ,SAACoZ,GAGnB,GAFAtc,QAAQe,IAAI,mBAAoBwqB,GAGJ,OAA1BjP,EAAQngB,SAASE,MACS,MAA1BigB,EAAQngB,SAASE,KACjB,CACA,IAAImwJ,EAAmB,KACjBt4I,EAAuB,OAAbq4I,QAAa,IAAbA,OAAa,EAAbA,EAAevxI,MAC7B,SAAC8L,GAAc,OAAKA,EAAUzK,MAAQC,EAAQngB,SAASC,KAAK,IAG9D,GAAI8X,EACF,GAA8B,OAA1BoI,EAAQngB,SAASE,KAAe,CAClC,IAAMowJ,EAAOv4I,EAAQiV,UACrBqjI,EAAct4I,GAEFrJ,OAASyR,EAAQngB,SAASG,UAAUuO,OAChD,IAAI6hJ,EAAgB,GACpBpwI,EAAQngB,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC9H,GACzC,IAAMuxJ,EAAcF,EAAKzxI,MACvB,SAACkwC,GAAQ,OAAKA,EAAI7uC,MAAQjhB,EAAIgB,KAAK,IAEjCuwJ,EACFD,EAAOhpJ,KAAKipJ,GAEZD,EAAOhpJ,KAAK,CACV2Y,IAAKjhB,EAAIgB,MACTosJ,SAAU,KACVxzI,MAAO,KACP6T,YAAa,KACbM,SAAU,IAGhB,IACAqjI,EAAYrjI,SAAWujI,EACvBF,EAAY9pC,cAAgB,CAC1BA,cAAexuG,EAAQc,MACvB3Y,KAAM6X,EAAQ2U,YAElB,MACE2jI,EAAct4I,GACFwuG,cAAgB,CAC1BA,cAAexuG,EAAQc,MACvB3Y,KAAM6X,EAAQ2U,kBAKhB2jI,EAD4B,OAA1BlwI,EAAQngB,SAASE,KACL,CACZggB,IAAKC,EAAQngB,SAASC,MACtBosJ,SAAU,KACV3/H,YAAau/H,GAAY9rI,EAAQngB,SAASE,MAC1CwO,OAAQyR,EAAQngB,SAASG,UAAUuO,OACnCse,SAAU,KACVnU,MAAO,IAGK,CACZqH,IAAKC,EAAQngB,SAASC,MACtBosJ,SAAU,KACV3/H,YAAau/H,GAAY9rI,EAAQngB,SAASE,MAC1C2Y,MAAO,IAMe,OAA1BsH,EAAQngB,SAASE,MACS,MAA1BigB,EAAQngB,SAASE,MAEjBiwJ,EAAa5oJ,KAAK8oJ,EAEtB,CACF,GACF,GACF,MACEjhI,EAAYvvB,MAAMyH,KAAI,SAACN,GACrBA,EAAKlH,OAAOiH,SAAQ,SAACoZ,GAES,OAA1BA,EAAQngB,SAASE,MACS,MAA1BigB,EAAQngB,SAASE,OAEa,OAA1BigB,EAAQngB,SAASE,KACnBiwJ,EAAa5oJ,KAAK,CAChB2Y,IAAKC,EAAQngB,SAASC,MACtBosJ,SAAU,KACV39I,OAAQyR,EAAQngB,SAASG,UAAUuO,OACnCse,SAAU,OAGZmjI,EAAa5oJ,KAAK,CAChB2Y,IAAKC,EAAQngB,SAASC,MACtBsmH,cAAe,OAIvB,GACF,GAEJ,CAAE,MAAOziH,GACPD,QAAQC,MAAMA,EAChB,CACAkqJ,EAAe,GAADtuJ,OAAKywJ,GACrB,EAqGA,SAASM,GAAyBpuJ,EAAWqK,GAC3C,IAAIgkJ,EAAe9C,EAEnB8C,EAAQhkJ,GAAgB,OAATrK,QAA0BrD,IAATqD,EAAqBquJ,EAAQhkJ,GAAOrK,EACpEwrJ,GAAiC,SAAClyH,GAAc,OAAA3qB,wBAAA,GAC3C2qB,GACA+0H,EAAO,IAGA,mBAARhkJ,GACFwyB,MAAMy+F,UAAUp2H,KAAK3E,MAAMP,EAAMssJ,GACjCC,IAAkB,SAACjzH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ2zH,SAAUjtJ,GAAI,KAEC,oBAARqK,GACTwyB,MAAMy+F,UAAUp2H,KAAK3E,MAAMP,EAAMssJ,GACjCC,IAAkB,SAACjzH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ4zH,UAAWltJ,GAAI,KAEA,sBAARqK,GACTwyB,MAAMy+F,UAAUp2H,KAAK3E,MAAMP,EAAMssJ,GACjCC,IAAkB,SAACjzH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ6zH,SAAUntJ,GAAI,KAEC,eAARqK,IACTwyB,MAAMy+F,UAAUp2H,KAAK3E,MAAMP,EAAMssJ,GACjCC,IAAkB,SAACjzH,GAAc,OAAA3qB,wBAAA,GAC5B2qB,GAAS,IACZ0zH,aAAchtJ,GAAI,IAGxB,CAEA,IAQM4pJ,GAAc,SAAC/rJ,GACnB,IAAIgsJ,EAAQ,GAwBZ,MAvBa,OAAThsJ,EACFgsJ,EAAQ,aACU,OAAThsJ,EACTgsJ,EAAQ,QACU,MAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,WACU,OAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,QACU,OAAThsJ,EACTgsJ,EAAQ,YACU,MAAThsJ,EACTgsJ,EAAQ,UACU,OAAThsJ,EACTgsJ,EAAQ,cACU,OAAThsJ,EACTgsJ,EAAQ,WACU,OAAThsJ,IACTgsJ,EAAQ,UAEHA,CACT,EAEM9L,GAAS,WACb,IAAK,IAADuQ,EACEh7G,EAAiB,GACrBw3G,EAAY7lJ,KAAI,SAACsD,GACO,IAADgmJ,EACoBC,EAShCC,EAVLlmJ,EAAE27G,gBAC0B,WAAX,QAAfqqC,EAAAhmJ,EAAE27G,qBAAa,IAAAqqC,OAAA,EAAfA,EAAiB1wJ,MACnBy1C,EAAQpuC,KAAK,CACX2Y,IAAKtV,EAAEsV,IACPmsI,SAAU,KACV39I,OAAQ9D,EAAE8D,OACVse,SAAUpiB,EAAEoiB,SACZN,YAA4B,QAAjBmkI,EAAEjmJ,EAAE27G,qBAAa,IAAAsqC,OAAA,EAAfA,EAAiB3wJ,KAC9B2Y,MAAOjO,EAAE27G,cAAcA,gBAGzB5wE,EAAQpuC,KAAK,CACX2Y,IAAKtV,EAAEsV,IACPmsI,SAAU,KACV3/H,YAA4B,QAAjBokI,EAAElmJ,EAAE27G,qBAAa,IAAAuqC,OAAA,EAAfA,EAAiB5wJ,KAC9B2Y,MAAOjO,EAAE27G,cAAcA,gBAI/B,IACA,IAAMwqC,EAAgB/b,EAClB7pI,EACW,OAAb4lJ,QAAa,IAAbA,GAAyC,QAA5BJ,EAAbI,EAAe91H,aAAanN,qBAAa,IAAA6iI,OAA5B,EAAbA,EAA2C7oJ,MAAM,KACnDqD,EAAQ,GAAKyiJ,EAA8Bf,QAAQ11F,SACnDhsD,EAAQ,GAAKyiJ,EAA8Bp+D,KAAKA,KAChDrkF,EAAQ,GAAKyiJ,EAA8BT,YAAYA,YACvDhiJ,EAAQ,GAAKyiJ,EAA8Bd,YAAc,MAAQ,KACjE3hJ,EAAQ,GAAKyiJ,EAA8Bb,QAAU,MAAQ,KAC7D5hJ,EAAQ,GAAKyiJ,EAA8BZ,oBACvC,MACA,KACJ,IAAIliI,EAAqB,GACzB8iI,EAA8BP,gBAAgB/lJ,KAAI,SAACsD,GACjDkgB,EAAYvjB,KAAK,CACfkB,WAAYmC,EAAEnC,WACduiB,aAAcpgB,EAAEogB,aAChBqB,aAAczhB,EAAEyhB,aAChB4wH,gBAAiBryI,EAAEqyI,gBACnBgQ,qBACEW,EAA8BX,qBAChCpvB,YAAajzH,EAAEizH,aAEnB,IAEA,IAAMmzB,EAkBV,SAA6BrvC,EAAoB+tC,GAC/C,IAAMuB,EAAQtC,EACV7vE,EAAe,GAGnB,GAFAj7E,QAAQe,IAAIqsJ,EAAO,qBAEfA,EAAM5B,aAAc,CAItB,IAHA,IAAI6B,EACAC,EACAC,EACKnrJ,EAAI,EAAGA,EAAIypJ,EAAehpJ,OAAQT,IAAK,CAC9C,IAAM6xB,EAAU43H,EAAezpJ,GACJ,aAAvB6xB,EAAQk4H,WACVkB,EAAWp5H,EAAQi5G,SACa,cAAvBj5G,EAAQk4H,WACjBmB,EAAYr5H,EAAQi5G,SACY,aAAvBj5G,EAAQk4H,aACjBoB,EAAWt5H,EAAQi5G,SAEvB,CACA,IAAIsgB,EAAyC,CAC3C3nG,UAAU,EACVqnF,SAAUmgB,GAAY,KACtBlB,WAAY,WACZsB,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,aAAc,KACdjhF,IAAK,KACLjmB,OAAQo3D,EAAWp4G,WACnBmhD,OACEikG,EAAeW,SAAShoJ,KAAI,SAACN,GAC3B,OAAOA,EAAKyB,UACd,IAAGL,KAAK,MAAQ,GAClBijJ,OAAQ,KACRG,OAAQ,KACRF,OAAQ,MAEVxsE,EAAMv3E,KAAK8pJ,GACX,IAAIK,EAA0C,CAC5ChoG,UAAU,EACVqnF,SAAUogB,GAAa,KACvBnB,WAAY,YACZsB,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,aAAc,KACdjhF,IAAK,KACLjmB,OAAQo3D,EAAWp4G,WACnBmhD,OACEikG,EAAeY,UAAUjoJ,KAAI,SAACN,GAC5B,OAAOA,EAAKyB,UACd,IAAGL,KAAK,MAAQ,GAClBijJ,OAAQ,KACRG,OAAQ,KACRF,OAAQ,MAEVxsE,EAAMv3E,KAAKmqJ,GACX,IAAIC,EAAyC,CAC3CjoG,UAAU,EACVqnF,SAAUqgB,GAAY,KACtBpB,WAAY,WACZsB,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,aAAc,KACdjhF,IAAK,KACLjmB,OAAQo3D,EAAWp4G,WACnBmhD,OACEikG,EAAea,SAASloJ,KAAI,SAACN,GAC3B,OAAOA,EAAKyB,UACd,IAAGL,KAAK,MAAQ,GAClBijJ,OAAQ,KACRG,OAAQ,KACRF,OAAQ,MAEVxsE,EAAMv3E,KAAKoqJ,EACb,CACA,OAAO7yE,CACT,CAhGwB8yE,CAClBb,EAAc91H,aAAaxyB,WAC3BsoJ,EAAcpB,eAEhB9rJ,QAAQe,IAAIosJ,EAAa,4BAEzBD,EAAcpB,cAAgBqB,EAC9BD,EAAc91H,aAAanN,cAAgB3iB,EAAQ/C,KAAK,KACxD2oJ,EAAc91H,aAAapQ,aAAe7oB,KAAKC,UAAU0zC,GACzDo7G,EAAc91H,aAAanQ,YAAc9oB,KAAKC,UAAU6oB,GACxDimI,EAAc1D,gBAAkBviI,EAChCjnB,QAAQe,IAAI,8BAA+BmsJ,GAC3CvV,EAAkBxqI,YAAC,CAAC,EAAI+/I,IACxBnE,GAAiCD,EACnC,CAAE,MAAO7oJ,GACPD,QAAQe,IAAI,qBAAsBd,EACpC,CACF,EAqIA,SAASqrJ,KACP,IAAIxlE,EAAuB+iE,EAC3B/iE,EAAcriF,KAAI,SAACk4I,EAAe3oE,GAChC2oE,EAAe,KAAIA,EAAS/2I,WAAWc,WACvCi2I,EAAoC,0BAClCA,EAAS/2I,WAAWc,WAAa,KAAOi2I,EAASnzH,YACrD,IACAmiI,EAAuBrnJ,YAAKwiF,GAC9B,CAIoC,SACrBkoE,GAAelvJ,GAAA,OAAAmvJ,GAAAlvJ,MAAC,KAADC,UAAA,UAAAivJ,KA6C7B,OA7C6BA,GAAAjxJ,YAAAC,IAAAC,MAA9B,SAAAiC,EAA+Bs4B,GAAU,IAAAy2H,EAAAC,EAAA,OAAAlxJ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACvC,IACEsC,QAAQe,IAAI,QAASgpJ,GACjBmE,EAAoB,QAQa/yJ,KANjCgzJ,OACgDhzJ,IAAlD4uJ,EAA8BP,iBACoB,OAAlDO,EAA8BP,gBAC1B,GACAO,EAA8BP,kBAGC,OAAnC2E,GAC0C,IAA1CA,EAA+BtrJ,OAE/B40B,EAAMh0B,KAAI,SAACjF,EAAWw0E,GACpB,IAAI4vC,OACmBznH,IAArBqD,EAAKw7H,aACoB,OAArBx7H,EAAKw7H,aACyB,IAA5Bx7H,EAAKw7H,YAAYn3H,OACf1E,KAAKwM,MAAMnM,EAAKw7H,aAGpB,GACNh6H,QAAQe,IAAI,WAAY6hH,QAELznH,IAAjBynH,EAAO5mH,OACU,OAAjB4mH,EAAO5mH,OACiB,IAAxB4mH,EAAO5mH,MAAM6G,QAEb+/G,EAAO5mH,MAAMyH,KAAI,SAACjF,EAAWw0E,GAC3Bk7E,EAAaxqJ,KAAKlF,EACpB,GAEJ,KAEA0vJ,EAAe,GACfnE,EAA8BT,YAAYA,iBAAcnuJ,GAE9B,IAAxB+yJ,EAAarrJ,QACfurJ,GAAoBF,EAExB,CAAE,MAAOjuJ,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CAAC,wBAAAb,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,UAEcovJ,GAAmB/uJ,GAAA,OAAAgvJ,GAAAtvJ,MAAC,KAADC,UAAA,UAAAqvJ,KA6BjC,OA7BiCA,GAAArxJ,YAAAC,IAAAC,MAAlC,SAAAsC,EAAmCi4B,GAAU,IAAA62H,EAAA,OAAArxJ,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAC3C,IAEM4wJ,EAAoB,GADR72H,EAENh0B,KAAI,SAACjF,EAAWw0E,GAGxB,IAFA,IAAI/2E,EAASuC,EAAKvC,OAETmG,EAAI,EAAGA,EAAInG,EAAO4G,OAAQT,IAAK,CACtC,IAAM6xB,EAAUh4B,EAAOmG,GAAGjG,UAEJ,MAAnB83B,EAAQ2sB,QAAmC,MAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,OAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,OAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,OAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,MAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,MAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,OAAjB3sB,EAAQ53B,MACf,MAAnB43B,EAAQ2sB,QAAmC,OAAjB3sB,EAAQ53B,OAEnCiyJ,EAAa5qJ,KAAK,CAAE4lJ,YAAar1H,EAAQ73B,OAE7C,CACF,IAEAkyJ,EAAa5qJ,KAAK,CAAE4lJ,YAAa,2BACjCuB,EAAqB,GAADhvJ,OAAKyyJ,GAC3B,CAAE,MAAOruJ,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CAAC,wBAAAR,EAAAZ,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,CAED,OAjFAoI,qBAAU,WACR4mJ,GAAgBjE,EAA8BP,gBAChD,GAAG,CAACO,IAgFFnvJ,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OA5nBe,WACnB,OACE9mB,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEw8F,aAAc,qBAAsBn9F,SAChDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,iCAMnE,EAmnBMonB,WAAW,EACX65B,UAAU,EACVj6B,QAASgnI,EACTrtJ,MAAO,CAAE8U,MAAO,QAChBsR,aAAW,EACXizC,WAAY,IACZ3yC,OAvnBe,WACnB,OACEnnB,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAcglG,GACdvlG,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,kBAAMi5F,IAAQ,EAC5Bv5F,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,YAKpB,EAwlBM+gJ,OAAQyC,GACR/oI,OAAQqmI,GAAKxtJ,SAEbE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,SAAUga,OAAQ,IAAKvuD,SAAA,CACnEE,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,UACjBE,aAAc,2CAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAC++C,IAAQ,CAEPv2C,MAAO2mJ,EAA8Bf,QACrCvtJ,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,mBACtC5E,SAAU,SAACtG,GACT6lJ,GAAyB7lJ,EAAE3D,MAAO,UACpC,EACA4Z,QAAS,CAAC,CAAEs2C,SAAU,OAAS,CAAEA,SAAU,WAC3C6B,YAAa,YAPR,aAqBTv6D,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,uCAAsCd,SAEhDF,cAACuM,KAAoB,CACnBU,gBAAiB,OACjBE,aAAc,+BAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJI,UAAU,+CAA8Cd,SAExDF,cAAC++C,IAAQ,CACPv2C,MAAO2mJ,EAA8Bp+D,KACrC3uE,QAAS,CAAC,CAAE2uE,KAAM,UAAY,CAAEA,KAAM,gBACtCx2B,YAAa,OACb9nD,SAAU,SAACtG,GACT6lJ,GAAyB7lJ,EAAE3D,MAAO,OACpC,EACA3H,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,0BAI5CjX,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,qBACjBE,aAAc,6DAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,2CAA0Cd,SAEpDF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aAAck/D,EAA8Bd,YAC5ChmG,cAAe2pG,GACf1pG,SAAU,oBAIhBtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,6DAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aAAck/D,EAA8Bb,QAC5CjmG,cAAe2pG,GACf1pG,SAAU,gBAIhBtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,uBACjBE,aAAc,uGAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACEk/D,EAA8BX,qBAEhCnmG,cAAe2pG,GACf1pG,SAAU,6BAIhBtoD,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,uBACjBE,aAAc,mEAGlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aACEk/D,EAA8BZ,oBAEhClmG,cAAe2pG,GACf1pG,SAAU,+BAKlBloD,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,EACJM,GAAI,EACJI,UAAU,iDAAgDd,SAE1DF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,+EAIlBnN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,iDAAgDd,SAE1DF,cAAA,OAAAE,SACEF,cAACo4I,GAAkB,CACjBnoD,aAAck/D,EAA8BV,WAC5CpmG,cAAe2pG,GACf1pG,SAAU,mBAIf6mG,EAA8BV,YAC7BzuJ,cAAAC,WAAA,CAAAC,SACEE,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJC,MAAO,CAAEknB,UAAW,QACpB/mB,UAAU,+CAA8Cd,SAAA,CAExDE,eAACuxC,KAAG,CAAC3wC,UAAU,2BAA0Bd,SAAA,CACvCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,2FAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACg1E,KAAW,CACVxsE,MAAO2mJ,EAA8BJ,eACrC3sI,QAAS0tI,EACTr9I,SAAU,SAACtG,GACT6lJ,GAAyB7lJ,EAAE3D,MAAO,iBACpC,EACA+xD,YAAY,4BACZxnD,YAAY,oBACZmF,QAAM,EACNxL,QAAQ,OACR7L,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,aAC+C,IAA7Ci4E,EAA8BV,YAEZ,IADdU,EAA8BJ,eAC3B9mJ,OACD,WAEF1H,UAKdH,eAACuxC,KAAG,CAAC3wC,UAAU,2BAA0Bd,SAAA,CACvCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,oBACjBE,aAAc,mEAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACg1E,KAAW,CACVxsE,MAAO2mJ,EAA8BH,gBACrC5sI,QAAS0tI,EACTr9I,SAAU,SAACtG,GAAC,OACV6lJ,GAAyB7lJ,EAAE3D,MAAO,kBAAkB,EAEtD+xD,YAAY,4BACZxnD,YAAY,oBACZrG,QAAQ,OACRwL,QAAM,EACNrX,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,aAC+C,IAA7Ci4E,EAA8BV,YAEZ,IADdU,EAA8BH,gBAC3B/mJ,OACD,WAEF1H,UAKdH,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,sBACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACg1E,KAAW,CACVxsE,MAAO2mJ,EAA8BF,kBACrC7sI,QAAS0tI,EACTr9I,SAAU,SAACtG,GAAC,OACV6lJ,GAAyB7lJ,EAAE3D,MAAO,oBAAoB,EAExD+xD,YAAY,4BACZxnD,YAAY,oBACZrG,QAAQ,OACRwL,QAAM,EACNrX,MAAO,CACL8U,MAAO,QACP/I,SAAU,OACVsqE,aAC+C,IAA7Ci4E,EAA8BV,YAEZ,IADdU,EAA8BF,kBAC3BhnJ,OACD,WAEF1H,kBAStBH,eAACuxC,KAAG,CAAC3wC,UAAU,aAAaH,MAAO,CAAE4tD,OAAQ,IAAKvuD,SAAA,CAChDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAACigF,KAAY,CACX79D,QA/oBG,WACjB,IAAIowI,EAAe,GAInB,OAHAvE,EAAa3lJ,SAAQ,SAAC6D,GACpBqmJ,EAAM1pJ,KAAK,CAAEN,MAAO2D,EAAEogB,aAAe,IAAMpgB,EAAEyhB,cAC/C,IACO4kI,CACT,CAyoByBmB,GACT5gJ,YAAa,kBACblS,MAAO,CACL8U,MAAO,OACPoK,OAAQ,GACR1I,aAAc,mBAEhBsI,aAAc,SAAC2hC,EAAYzhC,GAAM,OAI/BA,EAAOrX,MACJmC,cACAlC,SAAS64C,EAAW32C,cAAc,EAEvC8H,SAAU,SAACtG,GACT,IACE,IAAI3D,EAAQ2D,EAAE9C,MAAM,KAAK,GACzBimJ,EAAqB5mJ,YAChBulJ,EAAa/1I,QACd,SAAC3W,GAAa,OACZA,EAASgrB,aAAa5hB,cAAcuE,WAClC1G,EAAMmC,gBAERpJ,EAASi9I,gBAAgB7zI,cAAcuE,WACrC1G,EAAMmC,gBAERpJ,EAASqsB,aAAajjB,cAAcuE,WAClC1G,EAAMmC,cACP,KAGT,CAAE,MAAOtF,GACPD,QAAQe,IAAI,yBAA0Bd,EACxC,CACF,EAcAg/F,YAAU,QAOhBrkG,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAC+wE,KAAS,CACR3oE,MAAO6mJ,EACPruJ,UAAU,0BACV8R,KAAK,QACL8tC,cAAc,WACdqmC,WAAS,EACT2sE,MAAO,EACP3vI,KAAM,EACNutD,iBAAiB,SACjB0hC,kBAAkB,EAClB1rB,UAAW2nE,EAA8BP,gBACzCnnE,kBAAmB,SAACt7E,GAClB,IAAIyiJ,EAAkBO,EACtBP,EAAgBA,gBAAkBziJ,EAAE3D,MACpC4qJ,GAAgBxE,EAAgBA,iBAChCQ,EAAgC78I,YAAC,CAAC,EAAIq8I,GACxC,EAAE1uJ,SAAA,CAEFF,cAACs4B,KAAM,CAACzoB,MAAM,eAAeiX,OAAO,kBACpC9mB,cAACs4B,KAAM,CAACzoB,MAAM,eAAeiX,OAAO,kBACpC9mB,cAACs4B,KAAM,CACLzoB,MAAM,kBACNiX,OAAO,6BAKf9mB,cAAC2xC,KAAG,CAAAzxC,SACFE,eAACC,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJC,MAAO,CAAEw8F,aAAc,qBAAsBn9F,SAAA,CAE7CF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,gCAG3DF,cAAA,KAAGgB,UAAU,4CAA2Cd,SAAC,wIAK7DF,cAAC2xC,KAAG,CACF3wC,UAAU,aACV4U,QAAS,kBACPxQ,QAAQe,IACN,qCACAgpJ,EACD,EACFjvJ,SAEDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAM1BE,eAAC+wE,KAAS,CACR3oE,MAAO2mJ,EAA8BP,gBACrC5tJ,UAAU,6BACV8R,KAAK,QACLm0E,WAAS,EACT2sE,MAAO,EACPpiF,iBAAiB,SACjBvtD,KAAM,EACNivF,kBAAkB,EAAMhzG,SAAA,CAExBF,cAACs4B,KAAM,CAACzoB,MAAM,eAAeiX,OAAO,kBACpC9mB,cAACs4B,KAAM,CAACzoB,MAAM,eAAeiX,OAAO,kBACpC9mB,cAACs4B,KAAM,CACLzoB,MAAM,kBACNiX,OAAO,qBAET9mB,cAACs4B,KAAM,CACL61G,YAAa,CAAEx4H,MAAO,QACtBrS,KAAM,SAACmV,GAAY,OACjBzY,cAAAC,WAAA,CAAAC,SACEF,cAACsuE,GAAgB,CACfpmB,aAAa,cACbC,kBAAmB,aACnBO,aAAc,WACZ,IAAIkmG,EAAkBO,EACtBP,EAAgBA,gBACdA,EAAgBA,gBAAgB12I,QAC9B,SAAC/L,GAAM,OAAKA,EAAEnC,aAAeyO,EAAQzO,UAAU,IAEnDolJ,EAAgC78I,YAAC,CAAC,EAC7Bq8I,GAEP,KAED,WAMbxuJ,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,uBACjBE,aAAc,uJAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAAC++C,IAAQ,CACPhsC,YAAY,sBACZvK,MAAO2mJ,EAA8BT,YACrCtsI,QAAS4tI,EACTz1F,YAAY,cACZ9nD,SAAU,SAACtG,GACT,IAAI0nJ,EAAa1E,EACjB0E,EAAWnF,YAAcviJ,EAAE3D,MAC3BpD,QAAQe,IAAI,kBAAmB0tJ,EAAYnF,GAE3CU,EAAgC78I,YAAC,CAAC,EAAIshJ,GACxC,EACAhzJ,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,0BAyB5CjX,eAACuxC,KAAG,CAAC3wC,UAAU,aAAYd,SAAA,CACzBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAC+wE,KAAS,CACR3oE,MAAOkmJ,EACPl9E,iBAAiB,QACjB0hC,kBAAkB,EAClBlyG,UAAU,KACV6sJ,eAAa,EACb/6I,KAAK,QACLy+D,QAAQ,aACRuW,cAAc,MAAK5nF,SAAA,CAEnBF,cAACs4B,KAAM,CACL61G,YAAa,CAAEx4H,MAAO,SACtB9U,MAAO,CAAEif,UAAW,UACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,qBAIrB3J,KA5rBhB,SAAiCmV,EAAcoH,GAAc,IAADi0I,EAC1D,MAAqC,WAA1B,OAAPr7I,QAAO,IAAPA,GAAsB,QAAfq7I,EAAPr7I,EAASqvG,qBAAa,IAAAgsC,OAAf,EAAPA,EAAwBryJ,MAExBzB,cAAAC,WAAA,CAAAC,SACEF,cAAA,QACEa,MAAO,CAAEkM,MAAO,WAChB/L,UAAU,aACV4U,QAAS,WACP+5I,EAAep9I,YAAC,CAAC,EAAIkG,IACrBo3I,EAAwBp3I,EAAQgJ,KAChCguI,GAAkB,EAepB,EAAEvvJ,SAEDuY,EAAQgJ,QAMbzhB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KAAAE,SAAIuY,EAAQgJ,OAIpB,IAwpBczhB,cAACs4B,KAAM,CACL61G,YAAa,CAAEx4H,MAAO,SACtB9U,MAAO,CAAEif,UAAW,UACpBjQ,MAAO,gBACPiX,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,mBAIrB3J,KApgCW,SAACmV,GAAkB,IAADs7I,EACvC3xI,EAAiB,CACnB,CACE0lG,cAAe,cACfrmH,KAAM,UAER,CACEqmH,cAAe,kBACfrmH,KAAM,UAER,CACEqmH,cAAe,yBACfrmH,KAAM,UAER,CACEqmH,cAAe,+BACfrmH,KAAM,UAER,CACEqmH,cAAe,+BACfrmH,KAAM,UAER,CACEqmH,cAAe,iCACfrmH,KAAM,UAER,CACEqmH,cAAe,iCACfrmH,KAAM,UAER,CACEqmH,cAAe,uBACfrmH,KAAM,UAER,CACEqmH,cAAe,0BACfrmH,KAAM,UAER,CACEqmH,cAAe,sBACfrmH,KAAM,WAqCV,OAlC6B,OAA7B0tJ,QAA6B,IAA7BA,GAA8C,QAAjB4E,EAA7B5E,EAA+BP,uBAAe,IAAAmF,GAA9CA,EAAgDlrJ,KAAI,SAACyjB,GACnD,IAAM0nI,EAAW/F,EAAa7tI,MAC5B,SAACjU,GAAC,OAAKA,EAAEnC,aAAesiB,EAAKtiB,UAAU,IAErCgqJ,GACkBzwJ,KAAKwM,MAAMikJ,EAAS50B,aAC5Bh+H,MAAMkH,SAAQ,SAACC,GACzBA,EAAKlH,OAAOiH,SAAQ,SAACoZ,GAEhBjJ,EAAQxI,QACiB,OAA1ByR,EAAQngB,SAASE,MACS,MAA1BigB,EAAQngB,SAASE,MACS,OAA1BigB,EAAQngB,SAASE,KAMRgX,EAAQxI,QACa,OAA1ByR,EAAQngB,SAASE,MACnB2gB,EAAQtZ,KAAK,CACXg/G,cACEx7F,EAAKC,aAAe,IAAM7K,EAAQngB,SAASC,MAC7CC,KAAM+rJ,GAAY9rI,EAAQngB,SAASE,QATvC2gB,EAAQtZ,KAAK,CACXg/G,cAAex7F,EAAKC,aAAe,IAAM7K,EAAQngB,SAASC,MAC1DC,KAAM+rJ,GAAY9rI,EAAQngB,SAASE,OAWzC,GACF,GAEJ,IACIgX,EAAQxI,SACVmS,EAAUA,EAAQlK,QAAO,SAAC/L,GAAC,MAAgB,WAAXA,EAAE1K,IAAiB,KAGnDzB,cAAC++C,IAAQ,CACPv2C,MAAOiQ,EAAQqvG,cACf1lG,QAASA,EACTm4C,YAAY,gBACZriD,QAAM,EACNsiD,WAAS,EACT/nD,SAAU,SAACtG,GACT,IAAI8nJ,EAAevF,EACnBuF,EAAaprJ,KAAI,SAACgH,GACZA,EAAM4R,MAAQhJ,EAAQgJ,MACxB5R,EAAMi4G,cAAgB37G,EAAE3D,MAE5B,IACA+mJ,EAAc7mJ,YAAKurJ,GACrB,EACApzJ,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,mBACtCtE,YAAY,qBAGlB,YAm7BQ/S,cAACktJ,GAAkC,CACjChmI,QAASsoI,EACTptF,WAAYqtF,EACZ3oI,OAAQ8oI,EACRzC,gBAA8C,OAA7BgC,QAA6B,IAA7BA,OAA6B,EAA7BA,EAA+BP,gBAChDxB,gBAAiBsC,EACjBrC,eAtrBgB,SAAC5rI,EAAa8M,GACtCmhI,EAAanhI,SAAWA,EACxB,IAAI0lI,EAAevF,EACnBuF,EAAeA,EAAaprJ,KAAI,SAACsD,GAI/B,OAHIA,EAAEsV,MAAQA,IACZtV,EAAEoiB,SAAWA,GAERpiB,CACT,IACAojJ,EAAc7mJ,YAAKurJ,IACnBxE,GAAkB,EACpB,UAqrBF,ECr3CayE,GAAiC,SAACz0J,GAAkB,IAAD00J,EAAAC,EAC9D58I,EACEC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GADf02I,EAA4Bx2I,EAAA,GAAEy2I,EAA+Bz2I,EAAA,GAEpEgJ,EAA4CjJ,oBAAc,GAAMkJ,EAAArK,YAAAoK,EAAA,GAAzD2zI,EAAc1zI,EAAA,GAAE2zI,EAAiB3zI,EAAA,GACxC2E,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACfzhC,GAD4ByhC,EAAA,GACkB9qC,mBAAgB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAA1DyzI,EAAexzI,EAAA,GAAEyzI,EAAkBzzI,EAAA,GAQd,SAAAqqF,IAgB3B,OAhB2BA,EAAAhpG,YAAAC,IAAAC,MAA5B,SAAAsC,IAAA,IAAAymG,EAAAxlG,EAAA0lG,EAAA7U,EAAA,OAAAr0F,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAKG,OAJKuoG,EAAQ7lF,EAAS3a,WAEjBhF,EAAW,CACfyzD,UAAW+xC,EAAMvgG,YAClBjG,EAAA/B,KAAA,EAE0B8lF,GAA+B/iF,GAAU,KAAD,EAA/D0lG,EAAc1mG,EAAAd,KACd2yF,EAAqB,GACzB6U,EAAe1iG,KAAI,SAACjF,IACM,IAApBA,EAAK6nI,YAAqB/0C,EAAc5tF,KAAKlF,EACnD,IAEA4wJ,EAAmB,GAADvzJ,OAAKy1F,IAEvB49D,GAAkB,GAAO,wBAAAzvJ,EAAAZ,OAAA,GAAAW,EAAA,MAC1BT,MAAA,KAAAC,UAAA,CAtBDoI,qBAAU,WACR8nJ,GAAkB,GAGb,WAEqBlpD,EAAAjnG,MAAC,KAADC,UAAA,CAJ1BunG,GACA8oD,GACF,GAAG,IAoBH,IAAMA,EAAmB,WACvB,GAAIh1J,EAAMuuJ,qBAAqBY,gBAAgB3mJ,OAAS,EAAG,CACzD,IAAIysJ,EAAgB,GACDj1J,EAAMuuJ,qBACZY,gBAAgB/lJ,IAAG,eAAA1G,EAAAC,YAAAC,IAAAC,MAAC,SAAAC,EAAO4J,GAAM,IAAAiJ,EAAA,OAAA/S,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAC1BkmF,GAAyB,CACzCz8D,aAAcpgB,EAAEogB,eACf,KAAD,GAFInX,EAAGxS,EAAAmB,QAIPqR,EAAIo5I,qBAAuBriJ,EAAEqiJ,qBAC7BppJ,QAAQe,IAAI,YAAaiP,GAEzBs/I,EAAO5rJ,KAAKsM,IAEd3V,EAAMuuJ,qBAAqBY,gBAAkB8F,EAC7Cj1J,EAAMs9I,mBAAkBxqI,YAAC,CAAC,EAAI9S,EAAMuuJ,uBAAwB,wBAAAprJ,EAAAqB,OAAA,GAAA1B,EAAA,KAC7D,gBAAA2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAE,CAAF,CAZ+B,GAalC,CACF,EAkCA,IAAMuwJ,EAAa,eAAArwJ,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOq7E,GAAU,IAAAi8D,EAAAzkD,EAAA9mC,EAAAskG,EAAA,OAAAvyJ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACjC+4I,EAAcj8D,EACZwX,EAAa33F,EAAMuuJ,qBAAqBY,gBAAgB12I,QAC5D,SAAC3P,GAAS,OAAKszI,IAAWtzI,CAAI,IAE1B+nD,EAAM/sD,KAAKwM,MACftQ,EAAMuuJ,qBAAqBxxH,aAAapQ,cAG1ChnB,QAAQe,IACN,MACAmqD,EACA7wD,EAAMuuJ,qBAAqBxxH,aAAapQ,cAGpCwoI,EAAoBtkG,EAAIp4C,QAC5B,SAAC1P,GAAU,OAAMA,EAAM4R,MAAM3R,SAASozI,EAAOtvH,aAAa,IAE5DnnB,QAAQe,IAAI,oBAAqByuJ,GAEjCxvJ,QAAQe,IAAI,SAAU01I,GAEtBp8I,EAAMuuJ,qBAAqBxxH,aAAapQ,aACtC7oB,KAAKC,UAAUoxJ,GAEjBn1J,EAAMuuJ,qBAAqBY,gBAAkBx3D,EAC7C33F,EAAMuuJ,qBAAqBxxH,aAAanQ,YACtC9oB,KAAKC,UAAU4zF,GACjB33F,EAAMs9I,mBAAkBxqI,YAAC,CAAC,EAAI9S,EAAMuuJ,uBAAwB,yBAAAxpJ,EAAAP,OAAA,GAAAM,EAAA,KAC7D,gBA7BkBE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAwCnB,OACEhE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC2xC,KAAG,CAAC3wC,UAAU,GAAEd,SACfF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,2BAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBhB,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,OACbpmE,UAAW,QAEb2gC,aAzEV,WACEylG,GAAiCD,EACnC,EAwEU1uI,QAAS60I,EACT7lF,cAAe,gBACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,yBACnBK,cACO,OAAL/oD,QAAK,IAALA,GAA2B,QAAtB00J,EAAL10J,EAAOuuJ,4BAAoB,IAAAmG,GAAc,QAAdC,EAA3BD,EAA6B33H,oBAAY,IAAA43H,OAApC,EAALA,EAA2C3oB,iBAKnDzrI,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCE,eAAC+wE,KAAS,CACR3oE,MAAO/I,EAAMuuJ,qBAAqBY,gBAClCp9E,iBAAiB,SACjBhyD,QAAS60I,EACTrzJ,UAAU,wCAAuCd,SAAA,CAEjDF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,yFAGlBtM,MAAO,CAAEif,UAAW,WAEtB9f,cAACs4B,KAAM,CACLzoB,MAAM,eACNhP,MAAO,CAAEif,UAAW,SACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,+EAIpBnN,cAACs4B,KAAM,CACLzoB,MAAM,kBACNhP,MAAO,CAAEif,UAAW,SACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,iBACjBE,aAAc,2FAKpBnN,cAACs4B,KAAM,CACLxR,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlBghI,YAAa,CAAEx4H,MAAO,QACtBrS,KAjGZ,SAA4BmV,GAC1B,OACEzY,cAAAC,WAAA,CAAAC,SACEF,cAACsuE,GAAgB,CACfpmB,aAAa,cACbQ,aAAc,kBAAMisG,EAAcl8I,EAAQ,KAIlD,WA8FIzY,cAAC+tJ,GAA0B,CACzBC,qBAAsBvuJ,EAAMuuJ,qBAAqBY,gBACjDX,aAAcsG,EACdrG,6BAA8BA,EAC9BC,gCAAiCA,EACjCx9H,YAAalxB,EAAMkxB,YACnB4lH,aAAc92I,EAAMo1J,gBACpB9X,mBAAoBt9I,EAAMs9I,uBAIlC,E,wOCSe+X,GAzOqC,SAAH3yJ,GAa1C,IAZL+rJ,EAA4B/rJ,EAA5B+rJ,6BACAC,EAA+BhsJ,EAA/BgsJ,gCAEA5X,GADkBp0I,EAAlB46I,mBACY56I,EAAZo0I,cACA5lH,EAAWxuB,EAAXwuB,YAEAokI,GADuB5yJ,EAAvB6yJ,wBACc7yJ,EAAd4yJ,gBACAE,EAAiB9yJ,EAAjB8yJ,kBAGAC,GAFQ/yJ,EAARgzJ,SACShzJ,EAATs5B,UACct5B,EAAd+yJ,gBAGA19I,GAFQ3F,YAAA1P,EAAA2P,IAEwC2F,mBAAc,KAAGC,EAAApB,YAAAkB,EAAA,GAA1D49I,EAAgB19I,EAAA,GAAE29I,EAAmB39I,EAAA,GAC5CgJ,EAAgDjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA1D40I,EAAe30I,EAAA,GAAE40I,EAAoB50I,EAAA,GAC5CG,EAA0CrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAApDuwE,EAAatwE,EAAA,GAAEuwE,EAAgBvwE,EAAA,GACtCgB,EAA0CtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAApDyzI,EAAYxzI,EAAA,GAAEyzI,EAAiBzzI,EAAA,GAoDP,SAAAmxH,IA0B9B,OA1B8BA,EAAA/wI,YAAAC,IAAAC,MAA/B,SAAAC,IAAA,IAAAs5F,EAAAjoE,EAAApyB,EAAAyM,EAAAxM,EAAA+F,EAAAnG,EAAAuG,EAAArG,EAAA,OAAAc,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAOE,IANI+4F,EAAsB,GACpBjoE,EAAejD,EAAYvvB,MAKxBoG,EAAI,EAAGA,EAAIosB,EAAa3rB,OAAQT,IAEvC,IADInG,EAASuyB,EAAapsB,GAAGnG,OACpBuG,EAAI,EAAGA,EAAIvG,EAAO4G,OAAQL,IAGb,QAFhBrG,EAAWF,EAAOuG,GAAGrG,UAEdE,MACS,MAAlBF,EAASE,MACS,OAAlBF,EAASE,MACS,OAAlBF,EAASE,MACS,MAAlBF,EAASE,OAETD,EAAQD,EAASC,MACjByM,EAAM1M,EAASC,MACfC,EAAOF,EAASE,KAChBo6F,EAAe/yF,KAAK,CAAEtH,QAAOyM,MAAKxM,UAIxC6vF,EAAiBuK,GAAgB,wBAAAj5F,EAAAqB,OAAA,GAAA1B,EAAA,MAClC4B,MAAA,KAAAC,UAAA,CAEgC,SAAAsxJ,IAWhC,OAXgCA,EAAAtzJ,YAAAC,IAAAC,MAAjC,SAAAiC,IAAA,OAAAlC,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAUE2yJ,EATuB,CACrB,CAAEj0J,MAAO,0BAA2ByM,IAAK,2BACzC,CAAEzM,MAAO,iBAAkByM,IAAK,kBAChC,CAAEzM,MAAO,oBAAqByM,IAAK,qBACnC,CAAEzM,MAAO,qBAAsByM,IAAK,sBACpC,CAAEzM,MAAO,uBAAwByM,IAAK,wBACtC,CAAEzM,MAAO,kBAAmByM,IAAK,qBAGD,wBAAAzJ,EAAAP,OAAA,GAAAM,EAAA,MACnCJ,MAAA,KAAAC,UAAA,CA5CDoI,qBAAU,YAGH,WAEwB2mI,EAAAhvI,MAAC,KAADC,UAAA,CAJ7BgvI,GA8BD,WAEgCsiB,EAAAvxJ,MAAC,KAADC,UAAA,CA/B/BuxJ,EACF,GAAG,IA2CH,IAAMjI,EAAO,WACXS,GAAiCD,EACnC,EAEMvM,EAAS,WACb,IACE,IAAIiU,EACJA,EAAW,CACTvtJ,UAAW+sJ,EAAiB5zJ,MAC5ByQ,SAAUqjJ,EAAgB9zJ,OAG5B,IAAIq0J,EAAWd,GAAkC,GACjDc,EAAS/sJ,KAAK8sJ,GACdX,EAAkBY,GAClB1H,GAAiCD,GACjCmH,EAAoB,IACpBE,EAAqB,IAErB,IAAIrgB,EAAuB,GAEvBS,EAAsB,GAC1BkgB,EAAShtJ,KAAI,SAAC49B,GAGV,IADAkvG,EAAaz9H,QAAO,SAAC/L,GAAM,OAAKA,EAAE3K,QAAUilC,EAAKp+B,SAAS,IAAEJ,QAG5D0tI,EAAa7sI,KAAK,CAChBT,UAAWo+B,EAAKp+B,UAChB4J,SAAUw0B,EAAKx0B,UAGrB,IAEA0jI,EAAa9sI,KAAI,SAAC6rB,EAAYzb,GAC5Bi8H,EAAcpsI,KAAK,CACjBgoE,IAAK73D,EAAM,EACX88H,UAAW,gBACXC,UAAWzyI,KAAKC,UAAUkxB,IAE9B,IAEAwgI,EAAe,GAADj0J,OAAKi0I,GAOrB,CAAE,MAAO7vI,GACPD,QAAQC,MAAM,qBAAsBA,EACtC,CACF,EAEA,OACErF,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OApJe,WACnB,OACE9mB,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEw8F,aAAc,qBAAsBn9F,SAChDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAA,KAAGgB,UAAU,8CAA6Cd,SAAC,iCAMnE,EA2IMonB,WAAW,EACX65B,UAAU,EACVj6B,QAASgnI,EACTrtJ,MAAO,CAAE8U,MAAO,QAChBsR,aAAW,EACXizC,WAAY,IACZ3yC,OA/Ie,WACnB,OACEnnB,eAAA,OAAKY,UAAU,+CAA8Cd,SAAA,CAC3DF,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC85F,IAAc,CAAChnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEtDrxC,aAAcglG,EACdvlG,kBAAkB,+CAClBC,cAAe,CACbroC,OAAQ,OACRzB,OAAQ,sBACR0lB,WAAY,UACZj3B,MAAO,UACPsK,aAAc,MACdzK,SAAU,UAGd5M,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAc,kBAAMi5F,GAAQ,EAC5Bv5F,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,YAKpB,EAiHMya,OAAQqmI,EAAKxtJ,SAEbE,eAAA,OACES,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,SAAUga,OAAQ,IAC3D74C,QAAS,WACPxQ,QAAQe,IAAIowI,EAAc,eAC5B,EAAEr2I,SAAA,CAEFE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CAACU,gBAAiB,2BAEzCjN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBhD,GAAI,qBACJnK,MAAO4sJ,EACPriJ,YAAY,wBACZN,SAAU,SAACtG,GACTkpJ,EAAoBlpJ,EAAE3D,MACxB,EACA+xD,YAAa,QACbriD,QAAM,EACNsiD,WAAS,EACTC,SAAU,QACVr4C,QAASivE,SAKfjxF,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CAACU,gBAAiB,wBAEzCjN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAE8U,MAAO,QAChBhD,GAAI,kBACJnK,MAAO8sJ,EACPviJ,YAAY,wBACZN,SAAU,SAACtG,GACTopJ,EAAqBppJ,EAAE3D,MACzB,EACA+xD,YAAa,QACbriD,QAAM,EACNsiD,WAAS,EACTC,SAAU,QACVr4C,QAASozI,eAQzB,ECzOaM,GAAuB,SAACr2J,GACnC,IAAA+X,EACEC,oBAAc,GAAMC,EAAApB,YAAAkB,EAAA,GADf02I,EAA4Bx2I,EAAA,GAAEy2I,EAA+Bz2I,EAAA,GAGpEgJ,EAA0CjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAAlDq1I,EAAap1I,EAAA,GAAEq1I,EAAgBr1I,EAAA,GACtCG,EAAgCrJ,mBAAc,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA1Cq0I,EAAQp0I,EAAA,GAAEk1I,EAAWl1I,EAAA,GAE5BgB,EAA4CtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAApCkzI,GAAFjzI,EAAA,GAAmBA,EAAA,IAExCxV,qBAAU,WACR,GAAI/M,EAAMg8B,UAER,IADA,IAAIy6H,EAAY,GACP1uJ,EAAI,EAAGA,GAAmB,QAAlB2uJ,EAAG12J,EAAMg8B,iBAAS,IAAA06H,OAAA,EAAfA,EAAiBluJ,QAAQT,IAAK,CAAC,IAAD2uJ,EAC1CzhI,EAAQj1B,EAAMg8B,UAAUj0B,GAC9B,GAAwB,kBAApBktB,EAAMqD,UAA+B,CACvC,IAAMzoB,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WACnBo+H,EAAUptJ,KAAKwG,GACf6lJ,EAASrsJ,KAAK4rB,EAChB,CACAshI,EAAiBE,GACjBD,EAAYd,EACd,CAEJ,GAAG,IAEH3oJ,qBAAU,WACJupJ,GAEFK,GAEJ,GAAG,CAACL,IACJ,IAAMK,EAAsB,WAC1B,IACE,IAAIlhB,EAAuB,GAIvBS,EAAsB,GAHXogB,EAINltJ,KAAI,SAAC49B,GAGV,IADAkvG,EAAaz9H,QAAO,SAAC/L,GAAM,OAAKA,EAAE3K,QAAUilC,EAAKp+B,SAAS,IAAEJ,QAG5D0tI,EAAa7sI,KAAK,CAChBT,UAAWo+B,EAAKp+B,UAChB4J,SAAUw0B,EAAKx0B,UAGrB,IAEA0jI,EAAartI,SAAQ,SAACosB,EAAYzb,GAChCi8H,EAAcpsI,KAAK,CACjBgoE,IAAK73D,EAAM,EACX88H,UAAW,gBACXC,UAAWzyI,KAAKC,UAAUkxB,GAC1B0gH,aAAc,IAElB,IAEA31I,EAAMy1J,eAAe,GAADj0J,OAAKi0I,GAO3B,CAAE,MAAO7vI,GACPD,QAAQC,MAAMA,EAChB,CACF,EAqCA,OACEjF,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC2xC,KAAG,CAAC3wC,UAAU,GAAEd,SACfF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KACEgB,UAAU,yBACVH,MAAO,CAAEmM,WAAY,IAAKD,MAAO,WAAY7M,SAC9C,8BAKLF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,0CAGjBhB,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAACsuE,GAAgB,CACflmB,cAAe,CACbzyC,MAAO,QACP0B,aAAc,MACdoT,UAAW,OACXnM,OAAQ,oBACR1R,SAAU,OACVuhF,YAAa,OACbpmE,UAAW,QAEb2gC,aAhEV,WACEylG,GAAiCD,EACnC,EA+DU1/E,cAAe,gBACftmB,aAAcloD,cAAC4zI,KAAM,IACrBzrF,kBAAmB,+BAIzBnoD,cAAC2xC,KAAG,CAAC3wC,UAAU,aAAYd,SACzBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCE,eAAC+wE,KAAS,CACR3oE,MAAOutJ,EACPvkF,iBAAiB,SACjBxwE,UAAU,wCAAuCd,SAAA,CAEjDF,cAACs4B,KAAM,CACLo5C,cAAc,sBACd5qD,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,mCAGlBtM,MAAO,CAAEif,UAAW,SACpBxc,KAAM,SAACmV,EAAS2J,GAAO,OAAKA,EAAQjY,SAAW,CAAC,IAElDnK,cAACs4B,KAAM,CACLzoB,MAAM,YACNiX,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,qBACjBE,aAAc,iHAGlBtM,MAAO,CAAEif,UAAW,WAEtB9f,cAACs4B,KAAM,CACLzoB,MAAM,WACNhP,MAAO,CAAEif,UAAW,SACpBgH,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,kBACjBE,aAAc,mEAKpBnN,cAACs4B,KAAM,CACLxR,OACE9mB,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,iBAGlBghI,YAAa,CAAEx4H,MAAO,QACtBrS,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAAA,UACEgB,UAAU,eACVS,KAAK,SACLmU,QAAS,YAvHP,SAAChS,EAAWwyE,EAAcr1E,GAC5C,IAAImkB,EAAaxc,YAAO9E,GAExBijB,YAAc,CACZ3R,QAAS,6BACT4R,OAAQ,sBACRlQ,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,WACN3C,EAASqzB,OAAOx3C,EAAQ,GACxBmkB,EAASrc,KAAI,SAACsD,EAAQ8M,GACpB9M,EAAE2kE,IAAM73D,EAAM,CAChB,IACAm9D,EAAQlxD,GACR+vI,EAAkB/vI,GAElB,IAAImxI,EAAS52J,EAAMg8B,UAAUvjB,QAC3B,SAACmhB,GAAY,MAA2B,kBAAtBA,EAAQ08G,SAA6B,IAGzDsgB,EAAOvtJ,KAAI3E,MAAXkyJ,EAAM3tJ,YAASwc,IACf9f,QAAQe,IAAI,kCAAmCkwJ,GAC/C52J,EAAMs9I,oBAAmB,SAAC7/G,GAAc,OAAA3qB,wBAAA,GACnC2qB,GAAS,IACZo5H,kBAAmBD,GAAM,GAE7B,GAEJ,CA2FoBrkF,CACE+jF,EACAC,EACA5zI,EAAQjY,SAEZ,EAAEjK,SAEFF,cAAA,OAAK0lD,IAAKusB,GAAStsB,IAAI,UAG7B,WAMR3lD,cAAC80J,GAA0B,CACzB5G,6BAA8BA,EAC9BC,gCAAiCA,EACjCx9H,YAAalxB,EAAMkxB,YACnB4lH,aAAc92I,EAAMo1J,gBACpB9X,mBAAoBt9I,EAAMs9I,mBAC1BiY,wBAAyBv1J,EAAMu1J,wBAC/BC,kBAAmBe,EACnBjB,eAAgBgB,EAChBZ,SAAUA,EACV15H,UAAWh8B,EAAMo1J,gBAAgByB,kBACjCpB,eAAgBz1J,EAAMy1J,mBAI9B,ECtKMqB,I,OAAmBxgJ,wBAAsC,OAEzDygJ,GAAsD,SAAC/2J,GAC3D,IAAMg3J,EAAwD,CAC5DC,OAAQ,CACN/gJ,MAAO,IACPoK,OAAQ,MAEV42I,GAAI,CACFhhJ,MAAO,IACPoK,OAAQ,OAGZvI,EAAsCC,mBAA2B,CAC/D,CACEjQ,EAAG,SACHgvC,EAAG,EACH+I,EAAG,EACHq3G,EAAG,GACHC,EAAG,EACHC,QAAQ,EACRC,KAAM,GACNt1J,KAAM,SACNF,SAAU,CACRC,MAAO,SACPC,KAAM,SACNsY,OAAQ,GACRg7F,MAAO,EACPiiD,WAAY,GACZxuJ,MAAO,GACP9G,eAAWnB,GAEbL,SAAU,IAEZ,CACEsH,EAAG,OACHgvC,EAAG,EACH+I,EAAG,EACHq3G,EAAG,GACHC,EAAG,EACHC,QAAQ,EACRC,KAAM,GACNt1J,KAAM,OACNF,SAAU,CACRC,MAAO,OACPC,KAAM,OACNsY,OAAQ,GACRg7F,MAAO,EACPiiD,WAAY,GACZxuJ,MAAO,IAETtI,SAAU,IAEZ,CACEsH,EAAG,SACHgvC,EAAG,EACH+I,EAAG,EACHq3G,EAAG,GACHC,EAAG,EACHC,QAAQ,EACRC,KAAM,GACNt1J,KAAM,SACNF,SAAU,CACRC,MAAO,SACPC,KAAM,SACNsY,OAAQ,GACRg7F,MAAO,EACPiiD,WAAY,GACZxuJ,MAAO,IAETtI,SAAU,MAEZwX,EAAApB,YAAAkB,EAAA,GA3DKy/I,EAAWv/I,EAAA,GAAEw/I,EAAcx/I,EAAA,GA6DlCgJ,EAAwCjJ,mBAAwB,CAC9D0/I,QAAS,KACTC,WAAY,EACZC,SAAU,GACV9zH,QAAS,EACToe,SAAU80G,EAAW,GACrBa,sBAAsB,IACtB32I,EAAArK,YAAAoK,EAAA,GAPK62I,EAAY52I,EAAA,GAAE62I,EAAe72I,EAAA,GASpCG,EAA4CrJ,qBAA0BsJ,EAAAzK,YAAAwK,EAAA,GAA/D22I,EAAc12I,EAAA,GAAE22I,EAAiB32I,EAAA,GAElC42I,EAAUtvI,iBAA8B,MAoFxCuvI,EAAuB,SAACjhJ,GAC5B6gJ,GAAgB,SAACK,GAAY,OAAAtlJ,wBAAA,GACxBslJ,GACAlhJ,EAAM,GAEb,EAEM+L,EAAiB,SAACnhB,GACtBm2J,EAAkBn2J,EACpB,EAgCA,OACEvB,cAACu2J,GAAiB9/I,SAAQ,CACxBjO,MAAO,CACLyuJ,cACAM,eACAE,iBACAP,iBACAY,UAlIY,SAChBC,EACA12J,EACAE,GAEA,IACE,IAAIy2J,EAAsD,OAAXf,QAAW,IAAXA,OAAW,EAAXA,EAAa72I,MAC1D,SAACjU,GAAC,OAAKA,EAAE1K,OAASs2J,CAAM,IAG1B,GAAIC,EAAc,CAChB,IAAIC,EAAYD,EAAa93J,SAC7BmB,EAAOmG,EAAIi/I,eACXplJ,EAAOu1J,EAAI,EACXv1J,EAAOw1J,EAAI,EAEW,OAAlBt1J,EAASE,MACXJ,EAAOu1J,EAAIhtH,KAAKsuH,MACdX,EAAa51G,SAAShsC,MAAQ4hJ,EAAaF,UAE7Ch2J,EAAOw1J,EAAI,EACXx1J,EAAO82J,KAAO,EACd92J,EAAO01J,KAAOntH,KAAKsuH,MACjBX,EAAa51G,SAAShsC,MAAQ4hJ,EAAaF,WAElB,gBAAlB91J,EAASE,OAClBJ,EAAOu1J,EAAI,GACXv1J,EAAOw1J,EAAI,GACXx1J,EAAO82J,KAAO,EACd92J,EAAO01J,KAAO,GAEhB,IAAMqB,EAAe72J,EAASG,UAC9BH,EAASG,UAAY,CACnBgb,SAAqB,OAAZ07I,QAAY,IAAZA,OAAY,EAAZA,EAAc17I,UAAW,GAClC9P,SAAU,GACVyrJ,WAAY,QACZtrJ,MAAO,UACPurJ,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,OAAQ,SACRC,OAAQ,SACRC,QAAS,GACTC,WAAW,EACX3oJ,OAAoB,OAAZmoJ,QAAY,IAAZA,OAAY,EAAZA,EAAcnoJ,OACtB4oJ,eAAgB,WAGlBx3J,EAAOE,SAAWA,EAET,OAAT02J,QAAS,IAATA,KAAWnvJ,KAAKzH,GAEhBqhB,EAAerhB,GACf61J,GAAe,SAACr0J,GAAI,OAClBA,EAAKgG,KAAI,SAACsD,GAIR,OAHIA,EAAE1K,OAASs2J,IACb5rJ,EAAEjM,SAAW+3J,GAER9rJ,CACT,GAAE,GAEN,CACAyrJ,EAAqB,CAAEN,sBAAsB,GAC/C,CAAE,MAAOjyJ,GACPD,QAAQC,MAAMA,GACduyJ,EAAqB,CAAEN,sBAAsB,GAC/C,CACF,EAgEMM,uBACAD,UACAj1I,iBACAo2I,uBArCyB,SAACr5J,GAC9B,GAAIg4J,EAAgB,CAClB,IAAIsB,EAAkCtB,EACtCsB,EAAgBx3J,SAASG,UAAYjC,EACrC,IAAMu5J,EAAY/B,EAAYpuJ,KAAI,SAACxH,GAAY,IAAD43J,EAO5C,OANA53J,EAAOnB,SAA0B,QAAlB+4J,EAAG53J,EAAOnB,gBAAQ,IAAA+4J,OAAA,EAAfA,EAAiBpwJ,KAAI,SAACqwJ,GAItC,OAHIA,EAAM1xJ,IAAMiwJ,EAAejwJ,IAC7B0xJ,EAAM33J,SAAWw3J,EAAgBx3J,UAE5B23J,CACT,IACO73J,CACT,IACI23J,GAAW9B,EAAe8B,GAC9BtB,EAAkBqB,EACpB,CACF,EAsBMI,aA1Ce,WACnBzB,OAAkBn3J,EACpB,EAyCM64J,oBAnEsB,SAACrB,GAC3Bb,GAAe,SAACr0J,GAAI,OAClBA,EAAKgG,KAAI,SAACsD,GACgB,IAADktJ,EAAnBtB,IAAWA,IACb5rJ,EAAEjM,SAAqB,QAAbm5J,EAAGltJ,EAAEjM,gBAAQ,IAAAm5J,OAAA,EAAVA,EAAYnhJ,QACvB,SAACghJ,GAAK,OAAKA,EAAM1xJ,KAAoB,OAAdiwJ,QAAc,IAAdA,OAAc,EAAdA,EAAgBjwJ,EAAC,KAG5C,OAAO2E,CACT,GAAE,GAEN,EAyDMmtJ,cAlBgB,SAACC,GACrB3B,EAAqB,CAAET,QAASoC,EAAS53G,SAAU80G,EAAO8C,IAC5D,GAiBMr5J,SAEDT,EAAMS,UAGb,EClTes5J,GAPM,WACnB,IAAMlzJ,EAAUC,qBAAWgwJ,IAC3B,IAAKjwJ,EACH,MAAM,IAAIG,MAAM,2DAClB,OAAOH,CACT,ECkDemzJ,GA9CU,SAAHt3J,GAMR,IALZX,EAAKW,EAALX,MACAC,EAAIU,EAAJV,KACAmV,EAAIzU,EAAJyU,KACAogJ,EAAU70J,EAAV60J,WACAt1J,EAASS,EAATT,UAEMqzG,EAAQ1sF,iBAAe,GACrBuvI,EAAyB4B,KAAzB5B,qBAER,OACEx3J,eAAA,OACEknB,WAAS,EACToyI,aAAa,KACb14J,UAAS,MACT24J,YAAa,SAACxtJ,GACZ,IAAMytJ,EAAar2J,KAAKC,UAAU,CAChCuW,OAAQ,MACRvY,MAAOA,EACPC,KAAMA,EACNszG,MAAOA,EAAM5tE,QACb6vH,WAAYA,EACZxuJ,MAAO,GACP9G,UAAWA,IAEbk2J,EAAqB,CACnBiC,YAAa7C,EACbM,sBAAsB,IAExBnrJ,EAAE0Z,aAAauwD,QAAQ,mBAAoBwjF,EAC7C,EACAhsC,UAAW,WACT7Y,EAAM5tE,SAAW,EACjBywH,EAAqB,CACnBN,sBAAsB,GAE1B,EAAEp3J,SAAA,CAEFF,cAACK,KAAG,CAAAH,SAAE0W,IACN5W,cAACK,KAAG,CAACgvF,KAAK,OAAOsnB,OAAQ,EAAEz2G,SACxBsB,MAIT,E,qBC7BA,SAASyB,GACPzB,EACAyM,EACA2I,EACA1W,EACAuB,GAEA,MAAO,CACLwM,MACA2I,OACA1W,WACAsB,QACAC,OAEJ,CAE2BwB,GAAQ,WAAY,KAAMA,GAAQ,WAAY,KAAzE,IAsJe62J,GApJI,SAAH33J,GAA2C,IAArCwuB,EAAWxuB,EAAXwuB,YAAaopI,EAAS53J,EAAT43J,UACjCviJ,EAAuCC,mBAASkZ,EAAYvvB,OAAMsW,EAAApB,YAAAkB,EAAA,GAA3DwiJ,EAAWtiJ,EAAA,GAAEuiJ,EAAeviJ,EAAA,GAEb8hJ,KAAd1B,UAERtrJ,qBAAU,WACR0tJ,GACF,GAAG,IAEH,IAAMA,EAAW,WACf,IAAI94J,EAAe,GACnBuvB,EAAYvvB,MAAMkH,SAAQ,SAACC,GACzBA,EAAKlH,OAAOiH,SAAQ,SAACjH,GACnBD,EAAM0H,KAAKzH,EACb,GACF,IAEA44J,GAAgB,SAACp3J,GAAS,OAAKzB,CAAK,GACtC,EAEM+4J,EAAU,SAAC14J,GACf,OAAQA,GACN,IAAK,IACH,OAAOzB,cAAC8zH,KAAS,IACnB,IAAK,KACH,OAAO9zH,cAACu0H,IAAqB,IAC/B,IAAK,IAEL,IAAK,SACH,OAAOv0H,cAACi0H,IAAe,IACzB,IAAK,KACH,OAAOj0H,cAACg0H,KAAY,IACtB,IAAK,KACH,OAAOh0H,cAACq0H,KAAY,IACtB,IAAK,KACH,OAAOr0H,cAACo0H,KAAiB,IAC3B,IAAK,KACH,OAAOp0H,cAACo4G,KAAY,IACtB,IAAK,IAEL,IAAK,OACH,OAAOp4G,cAAC+zH,KAAM,IAChB,IAAK,IACH,OAAO/zH,cAACm0H,KAAiB,IAC3B,IAAK,KACH,OAAOn0H,cAACs0H,IAAO,IACjB,IAAK,IAEL,IAAK,WACH,OAAOt0H,cAACk0H,KAAU,IACpB,IAAK,KACH,OAAOl0H,cAACy0H,KAAa,IACvB,IAAK,KACH,OAAOz0H,cAAC00H,IAAiB,IAC3B,IAAK,MACH,OAAO10H,cAAC20H,KAAU,IACpB,IAAK,KACH,OAAO30H,cAACw0H,KAAU,IAIxB,EAEA,OACEx0H,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAC87D,IAAQ,CAACW,iBAAkB,CAAC,KAAMz7D,WAAOb,EAAUL,SAAA,CAClDE,eAACg6J,KAAa,CAAWtzI,OAAQ,iBAAiB5mB,SAAA,CAChDF,cAACy5J,GAAgB,CACfj4J,MAAO,OACPC,KAAM,aACNmV,KAAMujJ,EAAQ,KACdnD,WAAW,YACV,IACHh3J,cAACy5J,GAAgB,CACfj4J,MAAO,QACPC,KAAM,cACNmV,KAAMujJ,EAAQ,MACdnD,WAAW,cAXK,KAcpBh3J,cAACo6J,KAAa,CAAWtzI,OAAQ,eAAe5mB,SAC7C85J,EACE9hJ,QAAO,SAAC/L,GAAM,IAAAkuJ,EAAA,MAA0B,QAAX,QAAVA,EAAAluJ,EAAE5K,gBAAQ,IAAA84J,OAAA,EAAVA,EAAY54J,KAAa,IAC5CoH,KAAI,SAACN,GAAS,IAAA+xJ,EAAAC,EAAAC,EAAAC,EAAA,OACbz6J,cAACy5J,GAAgB,CACfj4J,MAAW,OAAJ+G,QAAI,IAAJA,GAAc,QAAV+xJ,EAAJ/xJ,EAAMhH,gBAAQ,IAAA+4J,OAAV,EAAJA,EAAgB94J,MACvBC,KAAU,OAAJ8G,QAAI,IAAJA,GAAc,QAAVgyJ,EAAJhyJ,EAAMhH,gBAAQ,IAAAg5J,OAAV,EAAJA,EAAgB94J,KACtBC,UAAe,OAAJ6G,QAAI,IAAJA,GAAc,QAAViyJ,EAAJjyJ,EAAMhH,gBAAQ,IAAAi5J,OAAV,EAAJA,EAAgB94J,UAC3BkV,KAAMujJ,EAAY,OAAJ5xJ,QAAI,IAAJA,GAAc,QAAVkyJ,EAAJlyJ,EAAMhH,gBAAQ,IAAAk5J,OAAV,EAAJA,EAAgBh5J,MAC9Bu1J,WAAW,WACX,KAVY,KAapBh3J,cAACo6J,KAAa,CAAWtzI,OAAQ,OAAO5mB,SACrC65J,EAAUlxJ,KAAI,SAACN,GAAS,OACvBvI,cAACy5J,GAAgB,CACfj4J,MAAW,OAAJ+G,QAAI,IAAJA,OAAI,EAAJA,EAAMujD,OACbrqD,KAAU,OAAJ8G,QAAI,IAAJA,OAAI,EAAJA,EAAMskJ,OACZnrJ,UAAW,CACTgb,QAAS,GACT9P,SAAU,GACVyrJ,WAAY,QACZtrJ,MAAO,UACP2tJ,UAAW,SACXjC,OAAQ,SACRC,OAAQ,SACRC,QAAS,GACTC,WAAW,EACX3oJ,OACkB,OAAhB1H,EAAKskJ,OACDtkJ,EAAKwkJ,OAAO1jJ,MAAM,KAAKR,KAAI,SAACsD,GAC1B,MAAO,CACLi5C,KAAM,0BACN5jD,MAAO2K,EACPvK,MAAO,GACPgO,QAAS,CACPrO,SAAU,CACRE,KAAM,IACND,MAAO2K,EACPvK,MAAO,GACPF,UAAW,CACTsR,YAAa,GACb0J,QAAS,GACTzU,OAAQ,IACRtG,QAAS,IACTkR,SAAU,IACV2G,aAAc,IACd+uG,UAAW,MAGf3kH,KAAM,CACJ4E,MAAO,OAIf,IACA,MAERoO,KAAMujJ,EAAY,OAAJ5xJ,QAAI,IAAJA,OAAI,EAAJA,EAAMskJ,QACpBmK,WAAW,WACX,KA/Cc,SAqD5B,E,6BC7Je2D,GA3BI,SAAHx4J,GAAoC,IAA9Bf,EAAKe,EAALf,MAAOqR,EAAQtQ,EAARsQ,SAC3B+E,EAAkCC,mBAAS,QAAOC,EAAApB,YAAAkB,EAAA,GAA3CojJ,EAASljJ,EAAA,GAAEmjJ,EAAYnjJ,EAAA,GAM9B,OAJAlL,qBAAU,WACRiG,EAASmoJ,EACX,GAAG,CAACA,IAGF56J,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,aAAYd,SACxBkB,EAAMyH,KAAI,SAACsD,GAAC,OACXnM,cAAA,OACEgB,UAAS,cAAAC,OAAgB25J,IAAczuJ,EAAE8B,IAAM,SAAW,IAE1D4G,MAAO1I,EAAE3K,MACToU,QAAS,WACPilJ,EAAa1uJ,EAAE8B,IACjB,EAAE/N,SAEDiM,EAAE3K,OANE2K,EAAE8B,IAOH,OAKhB,E,wHCAe6sJ,GAzBK,SAAH34J,GAAwC,IAAlC4K,EAAK5K,EAAL4K,MAAOguJ,EAAY54J,EAAZ44J,aAC5BvjJ,EAA0BC,mBAAiB,SAAQC,EAAApB,YAAAkB,EAAA,GAA5ChP,EAAKkP,EAAA,GAAE0N,EAAQ1N,EAAA,GAEtB,OACE1X,cAACiqB,IAAO,CACN+wI,iBAAiB,uBACjBv1F,gBAAiB,SAACt5D,GAChBiZ,EAASrY,EACX,EACAmd,QACElqB,cAACi7J,KAAY,CACXluJ,MAAOvE,EACPiK,SAAU,SAACtG,GACTiZ,EAASjZ,EAAE+uJ,IACb,EACAC,iBAAkBJ,IAGtBhpG,QAAS,QAAQ7xD,SAEjBF,cAACwnB,KAAM,CAAC5Q,KAAM5W,cAACo7J,KAAgB,CAACl9G,SAAK39C,IAAekB,KAAM,aAGhE,ECmWe45J,GAhWU,SAAHl5J,GAA6B,IAADm5J,EAAtBC,EAAQp5J,EAARo5J,SAC1BC,EASIhC,KARFjC,EAAYiE,EAAZjE,aACA+B,EAAakC,EAAblC,cACA1B,EAAoB4D,EAApB5D,qBAEAX,GADOuE,EAAP7D,QACW6D,EAAXvE,aACAC,EAAcsE,EAAdtE,eACAO,EAAc+D,EAAd/D,eACAqB,EAAsB0C,EAAtB1C,uBAEFthJ,EAAkCC,mBAAS,QAAOC,EAAApB,YAAAkB,EAAA,GAA3CojJ,EAASljJ,EAAA,GAAEmjJ,EAAYnjJ,EAAA,GAE9BgJ,EAA8CjJ,qBAA4BkJ,EAAArK,YAAAoK,EAAA,GAAnE+6I,EAAe96I,EAAA,GAAE+6I,EAAkB/6I,EAAA,GAE1CG,EAA8CrJ,oBAAkB,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA/D66I,EAAe56I,EAAA,GAAE66I,EAAkB76I,EAAA,GAE1CgB,EAA8BtK,mBAAiB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA3C85I,EAAO75I,EAAA,GAAE85I,EAAU95I,EAAA,GAC1B+5I,KAAeC,OAAO,CAAEC,MAAO,CAAEC,aAAc,aAE/C1vJ,qBAAU,WACRkvJ,EAAiC,OAAdjE,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASG,WAC5Cm5J,EAAa,OACf,GAAG,CAACpD,IAEJjrJ,qBAAU,WACJivJ,GAAiB3C,EAAuB2C,EAC9C,GAAG,CAACA,IAEJ,IAAMU,EACJn8J,cAAAC,WAAA,CAAAC,SACEF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACkf,KAAM,CACL1W,MAAsB,OAAfizJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB5C,eACxB9lJ,YAAY,eACZN,SAAU,SAACtG,GACT,GAAIsvJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAASvD,eAAiB1sJ,EAC1BuvJ,EAAmBU,EACrB,CACF,EACAh6I,QAAS,CACP,CAAE5gB,MAAO,QAASgH,MAAO,SACzB,CAAEhH,MAAO,UAAWgH,MAAO,WAC3B,CAAEhH,MAAO,QAASgH,MAAO,eAO7B6zJ,EACJj8J,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACkf,KAAM,CACL1W,MAAsB,OAAfizJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBpD,WACxBtlJ,YAAY,cACZN,SAAU,SAACtG,GACT,GAAIsvJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS/D,WAAalsJ,EACtBuvJ,EAAmBU,EACrB,CACF,EACAh6I,QAASm5I,MAGbv7J,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAAC+b,KAAW,CACVhJ,YAAY,YACZvK,MAAsB,OAAfizJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB7uJ,SACxBqP,WAAW,KACXxJ,SAAU,SAACtG,GACT,GAAIsvJ,GAAmBtvJ,EAAG,CACxB,IAAIiwJ,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAASxvJ,SAAWT,EACpBuvJ,EAAmBU,EACrB,CACF,MAGJp8J,cAACK,KAAG,CAAAH,SACFF,cAAC86J,GAAW,CACV/tJ,OAAsB,OAAf0uJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB1uJ,QAAS,QACjCguJ,aAAc,SAAC5uJ,GACb,GAAIsvJ,GAAmBtvJ,EAAG,CACxB,IAAIiwJ,EAA0B7pJ,YAAA,GACzBkpJ,GAELW,EAASrvJ,MAAQZ,EAAE+uJ,IACnBQ,EAAmBU,EACrB,CACF,MAGJh8J,eAACC,KAAG,CAACQ,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,MAAOka,UAAW,GAAIzuD,SAAA,CAClEF,cAACwnB,KAAM,CACL5Q,KAAM5W,cAACs8J,KAAY,CAACp+G,SAAK39C,IACzBkB,KAAqB,OAAfg6J,QAAe,IAAfA,KAAiBnD,OAAS,UAAY,UAC5C1iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS9D,QAAU8D,EAAS9D,OAC5BoD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAACu8J,KAAc,CAACr+G,SAAK39C,IAC3BkB,KAAqB,OAAfg6J,QAAe,IAAfA,KAAiBlD,SAAW,UAAY,UAC9C3iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS7D,UAAY6D,EAAS7D,SAE9BmD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAACw8J,KAAiB,CAACt+G,SAAK39C,IAC9BkB,KAAqB,OAAfg6J,QAAe,IAAfA,KAAiBjD,aAAe,UAAY,UAClD5iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS5D,cAAgB4D,EAAS5D,aAClCkD,EAAmBU,EACrB,CACF,OAGJh8J,eAACC,KAAG,CAACQ,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,MAAOka,UAAW,GAAIzuD,SAAA,CAClEF,cAACwnB,KAAM,CACL5Q,KAAM5W,cAACy8J,KAAiB,CAACv+G,SAAK39C,IAC9BkB,KAC8B,gBAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiBhD,QAA0B,UAAY,UAEzD7iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS3D,OAAS,aAClBiD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC08J,KAAmB,CAACx+G,SAAK39C,IAChCkB,KAAkC,YAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiBhD,QAAsB,UAAY,UACzD7iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS3D,OAAS,SAClBiD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC28J,KAAkB,CAACz+G,SAAK39C,IAC/BkB,KAAkC,cAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiBhD,QAAwB,UAAY,UAC3D7iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS3D,OAAS,WAClBiD,EAAmBU,EACrB,CACF,OAGJh8J,eAACC,KAAG,CAACQ,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,MAAOka,UAAW,GAAIzuD,SAAA,CAClEF,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC48J,KAA2B,CAAC1+G,SAAK39C,IACxCkB,KAAkC,cAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiB/C,QAAwB,UAAY,UAC3D9iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS1D,OAAS,WAClBgD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC68J,KAA2B,CAAC3+G,SAAK39C,IACxCkB,KAAkC,YAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiB/C,QAAsB,UAAY,UACzD9iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS1D,OAAS,SAClBgD,EAAmBU,EACrB,CACF,IAEFp8J,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC88J,KAAwB,CAAC5+G,SAAK39C,IACrCkB,KAC8B,gBAAb,OAAfg6J,QAAe,IAAfA,OAAe,EAAfA,EAAiB/C,QAA0B,UAAY,UAEzD9iJ,QAAS,WACP,GAAI6lJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAAS1D,OAAS,aAClBgD,EAAmBU,EACrB,CACF,YAGgB77J,IAAnBk3J,GACCz3J,cAACK,KAAG,CAAAH,SACFF,cAACwnB,KAAM,CACL5Q,KAAM5W,cAAC+8J,KAAY,CAAC7+G,SAAK39C,IACzBkB,KAAyC,MAArB,OAAdg2J,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASiH,OAAe,UAAY,UAC1DoN,QAAS,WAIJ,IAADonJ,EAFc,OAAdvF,QAAc,IAAdA,KAAgBl2J,SAASiH,OACU,MAArB,OAAdivJ,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASiH,QAEzBszJ,EAAyB,OAAdrE,QAAc,IAAdA,GAAwB,QAAVuF,EAAdvF,EAAgBl2J,gBAAQ,IAAAy7J,OAAV,EAAdA,EAA0Bx0J,OAEvCozJ,GAAoBD,EACtB,MAGH,IACH37J,cAACK,KAAG,CAAAH,SACFF,cAACqiB,KAAQ,CACPhC,QAAwB,OAAfo7I,QAAe,IAAfA,OAAe,EAAfA,EAAiB7C,UAC1BnmJ,SAAU,SAACtG,GACT,GAAIsvJ,EAAiB,CACnB,IAAIW,EAA0B7pJ,YAAA,GAAQkpJ,GACtCW,EAASxD,UAAYzsJ,EAAEuG,OAAO2N,QAC9Bq7I,EAAmBU,EACrB,CACF,EAAEl8J,SACH,oBAOD+8J,EAAY,CAChB,CACEhvJ,IAAK,SACLzM,MAAO,SACPtB,SACEE,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACK,KAAG,CAAAH,SAAC,gBACLF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACkf,KAAM,CACL1W,MAAmB,OAAZ+uJ,QAAY,IAAZA,OAAY,EAAZA,EAAcJ,QACrBpkJ,YAAY,cACZN,SAAU,SAACtG,GACTmtJ,EAAcntJ,EAEhB,EACAiW,QAAS,CACP,CAAE5gB,MAAO,KAAMgH,MAAO,MACtB,CAAEhH,MAAO,SAAUgH,MAAO,eAIhCxI,cAACK,KAAG,CAAAH,SAAC,gBACLF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAAC+b,KAAW,CACVhJ,YAAY,YACZvK,MAAmB,OAAZ+uJ,QAAY,IAAZA,OAAY,EAAZA,EAAcF,SACrBp7I,WAAW,KACXxJ,SAAU,SAACtG,GACLA,GAAGyrJ,EAAqB,CAAEP,SAAUlrJ,GAC1C,MAGJnM,cAACK,KAAG,CAAAH,SAAC,cACLF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAAC+b,KAAW,CACVhJ,YAAY,UACZvK,MAAmB,OAAZ+uJ,QAAY,IAAZA,OAAY,EAAZA,EAAch0H,QACrBtnB,WAAW,KACXxJ,SAAU,SAACtG,GACLA,GAAGyrJ,EAAqB,CAAEr0H,QAASp3B,GACzC,UAMV,CACE8B,IAAK,OACLzM,MAAyC,iBAApB,OAAdi2J,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASE,MAAyB,OAAS,QAClEvB,SACoC,iBAApB,OAAdu3J,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASE,MACrB46J,EACAF,IAIV,OACE/7J,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC26J,GAAU,CACTloJ,SAAU,SAACxE,GACT4sJ,EAAa5sJ,EACf,EACA7M,MAAO67J,IAETj9J,cAAC2xC,KAAG,CAAC3wC,UAAU,YAAYkY,MAAM,SAAS2nD,OAAQ,CAAC,GAAI,IAAI3gE,SACd,QADco7J,EACxD2B,EAAU78I,MAAK,SAACjU,GAAC,OAAKA,EAAE8B,MAAQ2sJ,CAAS,WAAC,IAAAU,OAAA,EAA1CA,EAA4Cp7J,WAE/CF,cAAC+xC,KAAK,CACJl9B,MAAM,OACNqoJ,UAAQ,EACRh2I,QAASy0I,EACTx9G,KAAM,WACAs5G,GACFP,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACsD,GAAO,IAADktJ,EAAA8D,EACxB,OAA2B,KAAb,QAAV9D,EAAAltJ,EAAEjM,gBAAQ,IAAAm5J,OAAA,EAAVA,EAAYpxJ,UAEhBkE,EAAEjM,SAAqB,QAAbi9J,EAAGhxJ,EAAEjM,gBAAQ,IAAAi9J,OAAA,EAAVA,EAAYt0J,KAAI,SAACqwJ,GAI5B,OAHIA,EAAM1xJ,IAAMiwJ,EAAejwJ,IAC7B0xJ,EAAM33J,SAASiH,MAAQqzJ,GAElB3C,CACT,KAPqC/sJ,CAUvC,MAGJ2vJ,EAAW,IAEXF,GAAoBD,EACtB,EACAr9G,SAAU,WACRw9G,EAAW,IAEXF,GAAoBD,EACtB,EAAEz7J,SAEFF,cAACsS,KAAK,CACJ7Q,KAAK,OACLsR,YAAY,WACZvK,MAAOqzJ,EACPppJ,SAAU,SAACtG,GACT2vJ,EAAW3vJ,EAAEuG,OAAOlK,MACtB,QAKV,E,qBC5XQob,I,cAAatR,KAAbsR,UAyFOw5I,GAlFK,SAAHj7J,GAAwC,IAADid,EAAAa,EAAAo9I,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAjCn8J,EAAQY,EAARZ,SAAaiR,GAAFrQ,EAAD00J,EAAS10J,EAANqQ,QAClCgF,EAA0BC,mBAAiBlW,EAASC,OAAMkW,EAAApB,YAAAkB,EAAA,GAAnDhP,EAAKkP,EAAA,GAAE0N,EAAQ1N,EAAA,GAEtB,OACEtX,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC4jB,GAAQ,CACPpb,MAAOA,EACP3H,MAAO,CACL0iC,QAAS,EACTjsB,OAAQ,EACRwI,UACiC,gBAAb,QAAlBV,EAAA7d,EAASG,iBAAS,IAAA0d,OAAA,EAAlBA,EAAoBq5I,QAChB,OAC+B,cAAb,QAAlBx4I,EAAA1e,EAASG,iBAAS,IAAAue,OAAA,EAAlBA,EAAoBw4I,QACpB,QACA,SACNkF,OAAQ,OACRr/I,OAAQ,EACRskG,SAAU,SACV71G,MAAyB,QAApBswJ,EAAE97J,EAASG,iBAAS,IAAA27J,OAAA,EAAlBA,EAAoBtwJ,MAC3Byd,gBAAiB,OACjB6tI,WAA8B,QAApBiF,EAAE/7J,EAASG,iBAAS,IAAA47J,OAAA,EAAlBA,EAAoBjF,WAChCzrJ,SAA4B,QAApB2wJ,EAAEh8J,EAASG,iBAAS,IAAA67J,OAAA,EAAlBA,EAAoB3wJ,SAC9BykI,UAA6B,QAAlBmsB,EAAAj8J,EAASG,iBAAS,IAAA87J,GAAlBA,EAAoBjF,SAAW,SAAW,SACrDvrJ,WAA8B,QAAlBywJ,EAAAl8J,EAASG,iBAAS,IAAA+7J,GAAlBA,EAAoBnF,OAAS,IAAM,QAC/Ct0H,WAAY,mBAEdjgB,UAAQ,EACRhR,YAAY,aACZN,SAAU,SAACtG,GACTiZ,EAASjZ,EAAEuG,OAAOlK,MACpB,EACAgK,OAAQ,WACNA,EAAOhK,EACT,IAEFxI,cAAA,QACEmnD,QAAM,EACNnmD,UAAU,UACVH,MAAO,CACLqlD,WAAY,WACZD,SAAU,aACVkb,aAAc,aACdk3F,WAA8B,QAApBqF,EAAEn8J,EAASG,iBAAS,IAAAg8J,OAAA,EAAlBA,EAAoBrF,WAChCz1C,SAAU,QACV3tG,OAAQ,SACR/U,SAAA,GAAAe,OACCuH,OAiCX,E,wCC0Eeo1J,GAtJK,SAAHz7J,GAAqD,IAADid,EAAAa,EAAAo9I,EAA9C97J,EAAQY,EAARZ,SAAUs1J,EAAC10J,EAAD00J,EAAGD,EAACz0J,EAADy0J,EAAGiH,EAAgB17J,EAAhB07J,iBACrCrmJ,EAA8BC,oBAAS,GAAMC,EAAApB,YAAAkB,EAAA,GAAtCgI,EAAO9H,EAAA,GAAEsJ,EAAUtJ,EAAA,GACtB+Q,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACtEqiB,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACTv5B,GADsBu5B,EAAA,GACD95B,EAAU1D,mBACrCrE,EAAgCjJ,mBAAiB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA7Co9I,EAAQn9I,EAAA,GAAEo9I,EAAWp9I,EAAA,GAC5BG,EAA8BrJ,oBAAS,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA/BC,EAAA,GAAYA,EAAA,GAC1BvU,qBAAU,YACU,WAChB,IACE,IAAMoY,EAAOo5I,EAAQz8J,EAASiH,OAC9Bu1J,EAAYn5I,EACd,CAAE,MAAOvf,GAEPD,QAAQC,MAAM,6BAA8BA,EAC9C,CACF,CAEA84E,EACF,GAAG,CAAC58E,EAASiH,QACbpD,QAAQe,IAAI5E,GACZ,IAAM08J,EAAU,CACdC,QACErH,EAAID,EACA,CACEjhJ,MAAO,QAET,CAAEoK,OAAQ,OAAQpK,MAAO,QAC/BwoJ,MAAO,CAAC,EACRz9H,KAAM,CAAE/qB,MAAO,OAAQoK,OAAQ,SAE3Bi+I,EAAU,SAACp8I,GACf,GAAuB,KAAnBrgB,EAASiH,MACX,MAAO,GAET,IAAI41J,EAAS,GACP70I,EAAWxmB,OAAO2mB,SAASH,SAEjC,GAAIP,EACFo1I,EAASp1I,EAAqB,IAAMpH,MAC/B,CACL,IAAM4H,EAAQzmB,OAAO2mB,SAASE,KAC1B44B,EAAW/5B,EAAUzD,QACrBwE,IACFg5B,EAAW/5B,EAAUzD,SAEvBo5I,EAAS,GAAAn9J,OAAGsoB,EAAQ,MAAOi5B,EAAW5gC,CACxC,CAEA,MAAkB,KAAXw8I,EACHA,EACA,8EACN,EAkBMC,EACJj+J,eAAA,OAAAF,SAAA,CACGsf,EACCxf,cAACs+J,KAAe,CAACpgH,SAAK39C,IAEtBP,cAACu+J,KAAY,CAACrgH,SAAK39C,IAErBP,cAAA,OAAKa,MAAO,CAAEknB,UAAW,GAAI7nB,SAAC,cAIlC,OACEF,cAAAC,WAAA,CAAAC,SACgB,KAAb49J,EACC99J,cAAAC,WAAA,CAAAC,SAC0C,WAArB,QAAlBkf,EAAA7d,EAASG,iBAAS,IAAA0d,OAAA,EAAlBA,EAAoBy5I,gBACnB74J,cAAA,OACEgB,UAAU,UACV0kD,IAAKo4G,EACLn4G,IAAKpkD,EAASC,MACdX,MAAOo9J,EAA0B,QAAnBh+I,EAAC1e,EAASG,iBAAS,IAAAue,OAAA,EAAlBA,EAAoB44I,kBAGrC74J,cAAA,OACEa,MAAO,CACL+hH,SAAU,SACV3oD,SAAU,OACVunE,UAAW,QACXthI,SAEFF,cAAA,OACEgB,UAAU,UACV0kD,IAAKo4G,EACLn4G,IAAKpkD,EAASC,MACdX,MAAOo9J,EAA0B,QAAnBZ,EAAC97J,EAASG,iBAAS,IAAA27J,OAAA,EAAlBA,EAAoBxE,sBAM3C74J,cAACw+J,KAAM,CACLx9J,UAAU,aACVy9J,SAAS,eACTC,aApDU,SAAC94I,GACjB5E,GAAW,GACX,IAAM29I,EAAU/4I,EAAKnkB,KAAKyN,WAAW,UAIrC,OAHKyvJ,GACHzpJ,KAAQ7P,MAAM,oCAETs5J,CACT,EA8CQC,gBAAgB,EAChBnsJ,SAAQ,eAAAnO,EAAAlC,YAAAC,IAAAC,MAAE,SAAAC,EAAO4J,GAAC,IAAA0yJ,EAAAz4I,EAAAR,EAAAS,EAAA3iB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACZqJ,EAAEyZ,KAAKk5I,cAAc,CAADl8J,EAAAE,KAAA,SACoB,KAApC+7J,EAAe1yJ,EAAEyZ,KAAKk5I,eACX,CAADl8J,EAAAE,KAAA,SAS6C,OARrD8iB,EAAO,IAAI0+B,KAAK,CAACu6G,GAAeA,EAAattJ,KAAM,CACvDizC,aAAc7pC,KAAK8pC,SAEfp+B,EAAW,IAAIE,UACZC,OAAO,OAAQZ,GACxBS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAY,IAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GAEjCkD,aAAcqgB,GAAU,KAAD,GAA7C3iB,EAAad,EAAAmB,KACjBqB,QAAQe,IAAIzC,GACA,OAARA,QAAQ,IAARA,GAAc,QAAN0iB,EAAR1iB,EAAUE,YAAI,IAAAwiB,GAAdA,EAAgBjhB,SAClB64J,EAAQt6J,EAASE,KAAK8iB,SACtBm3I,EAAiBn6J,EAASE,KAAK8iB,UAChC,QAIL1F,GAAW,GAAO,yBAAApe,EAAAqB,OAAA,GAAA1B,EAAA,KACnB,gBAAA2B,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,EAxBO,GA0BRvD,MAAO,CAAEkf,OAAQ,QAAS7f,SAEzBm+J,KAKX,EC0PeU,GAvYW,SAAH58J,GAA+C,IAAzCoP,EAAIpP,EAAJoP,KAAMytJ,EAAU78J,EAAV68J,WAAY9+J,EAAQiC,EAARjC,SAC7CsX,EAAkCC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAA/CynJ,EAASvnJ,EAAA,GAChBgJ,GAD8BhJ,EAAA,GACUD,oBAAS,IAAMkJ,EAAArK,YAAAoK,EAAA,GACvDI,GADmBH,EAAA,GAAiBA,EAAA,GACElJ,mBAAS,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAC9C2H,GADc1H,EAAA,GAAgBA,EAAA,GAClBxd,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KAChE+lB,EAAqBP,EAAU1D,kBAErCy2I,EAQIhC,KAPFvC,EAAWuE,EAAXvE,YACAa,EAAS0D,EAAT1D,UACAZ,EAAcsE,EAAdtE,eACAK,EAAYiE,EAAZjE,aACA70I,EAAc84I,EAAd94I,eACA+0I,EAAc+D,EAAd/D,eACA2B,EAAmBoC,EAAnBpC,oBAGI8F,EAAe,SAAC79J,GAA4B,IAADuzC,EAAAC,EAuB/C,MAtB8B,CAC5B70C,cAAA,MAAAE,SAC4B,QAD5B00C,EACGvzC,EAAOE,SAASG,iBAAS,IAAAkzC,GAAQ,QAARC,EAAzBD,EAA2B3kC,cAAM,IAAA4kC,OAAR,EAAzBA,EAAmChsC,KAAI,SAACsD,GAAO,IAADstC,EAAAC,EAAAmG,EAAAs/G,EAC7C,OACEn/J,cAAA,MACEa,MAAO,CACLw3J,WAAqC,QAA3B5+G,EAAEp4C,EAAOE,SAASG,iBAAS,IAAA+3C,OAAA,EAAzBA,EAA2B4+G,WACvCzrJ,SAAmC,QAA3B8sC,EAAEr4C,EAAOE,SAASG,iBAAS,IAAAg4C,OAAA,EAAzBA,EAA2B9sC,SACrCykI,UAAoC,QAAzBxxF,EAAAx+C,EAAOE,SAASG,iBAAS,IAAAm+C,GAAzBA,EAA2B04G,SAClC,SACA,SACJvrJ,WAAqC,QAAzBmyJ,EAAA99J,EAAOE,SAASG,iBAAS,IAAAy9J,GAAzBA,EAA2B7G,OAAS,IAAM,KACtDp4J,SAEDiM,EAAE3K,OAGT,MAMN,EAEAgL,qBAAU,WACR,IAAM+jH,EAAgB,SAAC3wC,GACC,KAAlBA,EAAMw/E,SACRhG,EAAoB7nJ,EAExB,EAIA,OAFAxO,OAAOkgE,iBAAiB,UAAWstD,GAE5B,WACLxtH,OAAOkoF,oBAAoB,UAAWslC,EACxC,CACF,GAAG,CAACknC,IAEJ,IAMM4H,EAAgB,SAACh+J,GACrB,IAgByBi+J,EAAA39I,EAkHgB49I,EAAAC,EAgBlCC,EAAAC,EAAAtyH,EAAAC,EAlJDsyH,EAAwC,eAAzBt+J,EAAOE,SAASE,KAC/Bm+J,GAA2B,OAAdnI,QAAc,IAAdA,OAAc,EAAdA,EAAgBjwJ,KAAMnG,EAAOmG,EAEhD,GAA6B,OAAzBnG,EAAOE,SAASE,KAClB,OACEzB,cAAA,SACEgB,UAAU,UACVH,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACRzB,OAAQ,aACRpe,SAEDg/J,EAAa79J,KAGb,GAAIs+J,EACT,OAAOC,EACL5/J,cAACo9J,GAAW,CACV77J,SAAUF,EAAOE,SACjBs1J,EAAGx1J,EAAOw1J,EACVrkJ,OAAQ,SAACoP,GACK,OAARA,GACFs1I,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACsD,GACC,IAADktJ,EAAdltJ,EAAE3E,IAAM+J,IACVpF,EAAEjM,SAAqB,QAAbm5J,EAAGltJ,EAAEjM,gBAAQ,IAAAm5J,OAAA,EAAVA,EAAYxwJ,KAAI,SAACqwJ,GAK5B,OAJIA,EAAM1xJ,IAAMiwJ,EAAejwJ,IAC7B0xJ,EAAM33J,SAASC,MAAQogB,GAGlBs3I,CACT,KAEF,OAAO/sJ,CACT,KAGN,IAGFnM,cAAA,QACEgB,UAAU,UACVH,MAAO,CACLqlD,WAAY,WACZD,SAAU,aACVkb,aAAc,aACdk3F,WAAqC,QAA3BiH,EAAEj+J,EAAOE,SAASG,iBAAS,IAAA49J,OAAA,EAAzBA,EAA2BjH,WACvCz1C,SAAU,QACV3tG,OAAQ,SACR/U,SAAA,GAAAe,OACO,OAANI,QAAM,IAANA,GAAgB,QAAVsgB,EAANtgB,EAAQE,gBAAQ,IAAAogB,OAAV,EAANA,EAAkBngB,SAEpB,GAA6B,gBAAzBH,EAAOE,SAASE,KAAwB,CAAC,IAADo+J,EAAAC,EAAAC,EAC3C9B,EAAU,CACdC,QACE78J,EAAOw1J,EAAIx1J,EAAOu1J,EACd,CACEjhJ,MAAO,QAET,CAAEoK,OAAQ,OAAQpK,MAAO,QAC/BwoJ,MAAO,CAAC,EACRz9H,KAAM,CAAE/qB,MAAO,OAAQoK,OAAQ,SAEjC,OAAO6/I,EACL5/J,cAAC49J,GAAW,CACVr8J,SAAUF,EAAOE,SACjBs1J,EAAGx1J,EAAOw1J,EACVD,EAAGv1J,EAAOu1J,EACViH,iBAAkB,SAACj8I,GACL,OAARA,GACFs1I,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACsD,GACC,IAADgxJ,EAAdhxJ,EAAE3E,IAAM+J,IACVpF,EAAEjM,SAAqB,QAAbi9J,EAAGhxJ,EAAEjM,gBAAQ,IAAAi9J,OAAA,EAAVA,EAAYt0J,KAAI,SAACqwJ,GAK5B,OAJIA,EAAM1xJ,IAAMiwJ,EAAejwJ,IAC7B0xJ,EAAM33J,SAASiH,MAAQoZ,GAGlBs3I,CACT,KAEF,OAAO/sJ,CACT,KAGN,IAE8C,WAArB,QAAzB0zJ,EAAAx+J,EAAOE,SAASG,iBAAS,IAAAm+J,OAAA,EAAzBA,EAA2BhH,gBAC7Bz4J,eAAAH,WAAA,CAAAC,SAAA,CACG,IAC0B,KAA1BmB,EAAOE,SAASiH,MACfxI,cAAA,OACEa,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACRyK,gBAAiB,aAIrBxqB,cAAA,OACEgB,UAAU,UACV0kD,IAAKs4G,EAAQ38J,EAAOE,SAASiH,OAC7Bm9C,IAAKtkD,EAAOE,SAASC,MACrBX,MAAOo9J,EAAiC,QAA1B6B,EAACz+J,EAAOE,SAASG,iBAAS,IAAAo+J,OAAA,EAAzBA,EAA2BjH,qBAKhD74J,cAAA,OACEa,MAAO,CAAE+hH,SAAU,SAAU3oD,SAAU,OAAQunE,UAAW,QAASthI,SAExC,KAA1BmB,EAAOE,SAASiH,MACfxI,cAAA,OACEa,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACRyK,gBAAiB,aAIrBxqB,cAAA,OACEgB,UAAU,UACV0kD,IAAKs4G,EAAQ38J,EAAOE,SAASiH,OAC7Bm9C,IAAKtkD,EAAOE,SAASC,MACrBX,MAAOo9J,EAAiC,QAA1B8B,EAAC1+J,EAAOE,SAASG,iBAAS,IAAAq+J,OAAA,EAAzBA,EAA2BlH,mBAKpD,CAAO,MAA6B,MAAzBx3J,EAAOE,SAASE,KAEvBzB,cAAA,QACEgB,UAAU,UACVH,MAAO,CACLqlD,WAAY,WACZD,SAAU,aACVkb,aAAc,aACdk3F,WAAqC,QAA3BkH,EAAEl+J,EAAOE,SAASG,iBAAS,IAAA69J,OAAA,EAAzBA,EAA2BlH,WACvCz1C,SAAU,QACV3tG,OAAQ,SACR/U,SAAA,GAAAe,OAEuB,QAAzBu+J,EAAAn+J,EAAOE,SAASG,iBAAS,IAAA89J,GAAzBA,EAA2B5G,UAAY,GAAKv3J,EAAOE,SAASC,SAK9DxB,cAAA,QACEgB,UAAU,UACVH,MAAO,CACLqlD,WAAY,WACZD,SAAU,aACVkb,aAAc,aACdk3F,WAAqC,QAA3BoH,EAAEp+J,EAAOE,SAASG,iBAAS,IAAA+9J,OAAA,EAAzBA,EAA2BpH,WACvCz1C,SAAU,QACV3tG,OAAQ,SACR/U,SAAA,GAAAe,OAEuB,QAAzBy+J,EAAAr+J,EAAOE,SAASG,iBAAS,IAAAg+J,GAAzBA,EAA2B9G,UACvB,GACAv3J,EAAOE,SAASC,MAAQ,MAAK,MAAAP,QACxB,OAANI,QAAM,IAANA,GAAgB,QAAV+rC,EAAN/rC,EAAQE,gBAAQ,IAAA6rC,GAAW,QAAXC,EAAhBD,EAAkB1rC,iBAAS,IAAA2rC,OAArB,EAANA,EAA6B3wB,UAAW,UAGnD,EAEMshJ,EAAU,SAACp8I,GACf,GAAY,KAARA,EACF,MAAO,GAET,IAAIw8I,EAAS,GACP70I,EAAWxmB,OAAO2mB,SAASH,SAEjC,GAAIP,EACFo1I,EAASp1I,EAAqB,IAAMpH,MAC/B,CACL,IAAM4H,EAAQzmB,OAAO2mB,SAASE,KAC1B44B,EAAW/5B,EAAUzD,QACrBwE,IACFg5B,EAAW/5B,EAAUzD,SAEvBo5I,EAAS,GAAAn9J,OAAGsoB,EAAQ,MAAOi5B,EAAW5gC,CACxC,CAEA,MAAkB,KAAXw8I,EACHA,EACA,8EACN,EAEM4B,EAAiBjwG,mBAAQ,WAC7B,OAAO7vD,EAAS2I,KAAI,SAACxH,EAAQ4X,GAAS,IAADgnJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7Bf,GAA2B,OAAdnI,QAAc,IAAdA,OAAc,EAAdA,EAAgBjwJ,KAAMnG,EAAOmG,EAC1Co5J,EAAav/J,EAAOw1J,EAAIx1J,EAAOu1J,EACrC,OACE52J,cAAA,OACEgB,UAAS,yBACT6T,MAAOxT,EAAOmG,EAEd,YAAW,CACTA,EAAGnG,EAAOmG,EACVgvC,EAAGn1C,EAAOm1C,EACV+I,EAAGl+C,EAAOk+C,EACVq3G,EAAGv1J,EAAOu1J,EACVC,EAAGx1J,EAAOw1J,EACVE,KAAY,OAAN11J,QAAM,IAANA,OAAM,EAANA,EAAQ01J,KACdoB,KAAY,OAAN92J,QAAM,IAANA,OAAM,EAANA,EAAQ82J,KACdrB,OAAQz1J,EAAOy1J,OACf+J,cAAe,CAAC,IAAK,KAAM,KAAM,IAAK,KAAM,MAC5CC,YAAalB,EACbmB,YAAuC,QAAX,QAAfd,EAAA5+J,EAAOE,gBAAQ,IAAA0+J,OAAA,EAAfA,EAAiBx+J,OAAwBm+J,EACtDoB,WAAW,GAEbngK,MAAO,CACL6L,QAAS,OACT4R,OAAO,GAADrd,QAAmB,OAAdw2J,QAAc,IAAdA,OAAc,EAAdA,EAAgBjwJ,KAAMnG,EAAOmG,EAAI,aAAe,IAC3DmF,WAAqC,QAA3BuzJ,EAAE7+J,EAAOE,SAASG,iBAAS,IAAAw+J,OAAA,EAAzBA,EAA2BxH,OACvChkH,eAAyC,QAA3ByrH,EAAE9+J,EAAOE,SAASG,iBAAS,IAAAy+J,OAAA,EAAzBA,EAA2B1H,OAC3C1rJ,MAAgC,QAA3BqzJ,EAAE/+J,EAAOE,SAASG,iBAAS,IAAA0+J,OAAA,EAAzBA,EAA2BrzJ,MAClCsrJ,WAAqC,QAA3BgI,EAAEh/J,EAAOE,SAASG,iBAAS,IAAA2+J,OAAA,EAAzBA,EAA2BhI,WACvC5jH,cAC2B,gBAAzBpzC,EAAOE,SAASE,KACZm/J,EACE,SACA,MACF,QACNn9E,eAAyC,QAAzB68E,EAAAj/J,EAAOE,SAASG,iBAAS,IAAA4+J,GAAzBA,EAA2B9H,aACvC,YACA,QACJ5rJ,SAAmC,QAA3B2zJ,EAAEl/J,EAAOE,SAASG,iBAAS,IAAA6+J,OAAA,EAAzBA,EAA2B3zJ,SACrCykI,UAAoC,QAAzBmvB,EAAAn/J,EAAOE,SAASG,iBAAS,IAAA8+J,GAAzBA,EAA2BjI,SAClC,SACA,SACJvrJ,WAAqC,QAAzByzJ,EAAAp/J,EAAOE,SAASG,iBAAS,IAAA++J,GAAzBA,EAA2BnI,OAAS,IAAM,IACtD11C,SACoC,QAApB,OAAd60C,QAAc,IAAdA,OAAc,EAAdA,EAAgBl2J,SAASE,MAAgB,SAAW,QACtDqe,UACwC,gBAAb,QAAzB4gJ,EAAAr/J,EAAOE,SAASG,iBAAS,IAAAg/J,OAAA,EAAzBA,EAA2BjI,QACvB,OACsC,cAAb,QAAzBkI,EAAAt/J,EAAOE,SAASG,iBAAS,IAAAi/J,OAAA,EAAzBA,EAA2BlI,QAC3B,QACA,UAER7iJ,QAAS,WACP8M,EAAerhB,EACjB,EAAEnB,SAEDm/J,EAAch+J,IAjDVA,EAAOmG,EAoDlB,GACF,GAAG,CAACyvJ,EAAaQ,IAEjB,OACEr3J,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACihK,KAAU,CACTjgK,UAAU,eACVH,MAAO,CAAEuuF,UAAW6vE,GACpBpnH,KAAMjO,KAAKsuH,MAAM8G,EAAazH,EAAaF,UAC3C4H,UAAW1H,EAAaF,SACxB6J,aAAa,EACbH,aAAW,EACXD,aAAW,EACXnrJ,MAAOqpJ,EACPmC,iBAAkB,CAAC5J,EAAah0H,QAAS,GACzCtuB,OAAQ,CAAC,EAAG,GACZmsJ,cAAY,EACZC,kBAAgB,EAChBL,WAAS,EACT3/J,OAAQnB,EACRohK,WAAY,SAACC,GACXrK,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACsD,GACC,IAADq1J,EAAdr1J,EAAE3E,IAAM+J,IACVpF,EAAEjM,SAAqB,QAAbshK,EAAGr1J,EAAEjM,gBAAQ,IAAAshK,OAAA,EAAVA,EAAY34J,KAAI,SAACqwJ,GAC5B,IAAM73J,EAASkgK,EAAQnhJ,MAAK,SAAC/e,GAAM,OAAKA,EAAOmG,IAAM0xJ,EAAM1xJ,CAAC,IAK5D,OAJInG,IACF63J,EAAM1iH,EAAIn1C,EAAOm1C,EACjB0iH,EAAM35G,EAAIl+C,EAAOk+C,GAEZ25G,CACT,KAEF,OAAO/sJ,CACT,KAEJ,EACAs1J,aAAc,SAACF,GACRhK,EAAaD,sBAChBJ,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACsD,GACC,IAADu1J,EAAdv1J,EAAE3E,IAAM+J,IACVpF,EAAEjM,SAAqB,QAAbwhK,EAAGv1J,EAAEjM,gBAAQ,IAAAwhK,OAAA,EAAVA,EAAY74J,KAAI,SAACqwJ,GAC5B,IAAM73J,EAASkgK,EAAQnhJ,MACrB,SAAC/e,GAAM,OAAKA,EAAOmG,IAAM0xJ,EAAM1xJ,CAAC,IAQlC,OALInG,IACF63J,EAAMtC,EAAIv1J,EAAOu1J,EACjBsC,EAAMrC,EAAIx1J,EAAOw1J,GAGZqC,CACT,KAEF,OAAO/sJ,CACT,KAGN,EACAw1J,OAAQ,SAACJ,EAASh5J,EAAW4D,GAC3B,IACE,IAAMvI,EAAwBL,KAAKwM,MACjC5D,EAAE0Z,aAAa+7I,QAAQ,qBAEzB9J,EAAUvmJ,EAAMhJ,EAAM3E,EACxB,CAAE,MAAOyB,GACPD,QAAQC,MAAMA,EAChB,CACF,EAAEnF,SAED8/J,MAIT,ECrOe6B,IAnKcC,yBAAcC,eAMvB5vH,IAAM6O,MAAK,SAAA7+C,GAAuB,IAAD6/J,EAAAC,EAAnBC,EAAK//J,EAAL+/J,MAChC1G,EASIhC,KARFvC,EAAWuE,EAAXvE,YAEAM,GADSiE,EAAT1D,UACY0D,EAAZjE,cACAL,EAAcsE,EAAdtE,eACAU,EAAoB4D,EAApB5D,qBACAD,EAAO6D,EAAP7D,QACAF,EAAc+D,EAAd/D,eAII0K,GAHQ3G,EAAZrC,aAGe9wI,iBAA8B,OAE/C7b,qBAAU,YACW,WAAO,IAAD41J,EAIvB,GAAID,EAASh7H,SAA2B,QAApBi7H,EAAID,EAASh7H,eAAO,IAAAi7H,GAAhBA,EAAkBC,cAAe,CAAC,IAADC,EAAAC,EAAAC,EAAAC,EACjDC,EAA6B,QAAnBJ,EAAGH,EAASh7H,eAAO,IAAAm7H,GAAe,QAAfC,EAAhBD,EAAkBD,qBAAa,IAAAE,OAAf,EAAhBA,EAAiCI,YAC9CC,EAA8B,QAAnBJ,EAAGL,EAASh7H,eAAO,IAAAq7H,GAAe,QAAfC,EAAhBD,EAAkBH,qBAAa,IAAAI,OAAf,EAAhBA,EAAiCI,aAI/CC,GAAWJ,EAHEP,EAASh7H,QAAQw7H,YAAcT,GAGN,EAFxBC,EAASh7H,QAAQ07H,aAKrCV,EAASh7H,QAAQtmC,MAAMkiK,UAAS,SAAA9hK,OAAYihK,EAAK,KACjDC,EAASh7H,QAAQtmC,MAAMm4G,KAAI,GAAA/3G,OAAM6hK,EAAO,KAE1C,CACF,CAEAE,EACF,GAAG,CAACd,IAEJ,IAuBMe,EAAa,WAEjB,IADA,IAAMC,EAAe,GACZ17J,EAAI,EAAGA,EAAI+vJ,EAAaH,WAAY5vJ,IAC3C07J,EAAMp6J,KACJ9I,cAAA,OACEgB,UAAU,WACVH,MAAO,CAAEguD,IAAI,GAAD5tD,OAAKs2J,EAAa51G,SAAS5hC,OAASvY,EAAC,UAIvD,OAAO07J,CACT,EAEMC,EAAsBpzG,mBAAQ,WAClC,OAAOknG,EAAYpuJ,KAAI,SAACsD,GAAY,IAADi3J,EAEjC,OADAj3J,EAAE60J,WAAY,EAEZ5gK,eAAA,OACEY,UAAS,eAAAC,OAAiBkL,EAAE3E,GAE5B,YAAW2E,EACXtL,MAAO,CAAEyd,OAAQ,aAAcpe,SAAA,CAE/BF,cAACujG,KAAG,CAACx2F,MAAM,UAAS7M,SAAEiM,EAAE3E,IACxBxH,cAAC++J,GAAiB,CAChBxtJ,KAAMpF,EAAE1K,KACRu9J,YAA4B,QAAhBoE,EAAAjB,EAASh7H,eAAO,IAAAi8H,OAAA,EAAhBA,EAAkBC,cAAe,KAC7CnjK,SAAUiM,EAAEjM,UAAY,KAEjB,SAARiM,EAAE3E,GAAgBy7J,MAVd92J,EAAE3E,EAab,GACF,GAAG,CAACyvJ,IAEJ,OACEj3J,cAAAC,WAAA,CAAAC,SACEF,cAAA,OACEgB,UAAU,QACVoU,IAAK+sJ,EACLthK,MAAO,CACL8U,MAAM,GAAD1U,OAA0B,QAA1B+gK,EAAKzK,EAAa51G,gBAAQ,IAAAqgH,OAAA,EAArBA,EAAuBrsJ,MAAK,OACtCzV,SAEFF,cAAA,OAAKoV,IAAKuiJ,EAAQz3J,SAChBF,cAACihK,KAAU,CACTjgK,UAAU,oBACV+/J,aAAW,EACXlgK,MAAO,CACLg4J,eAAe,GAAD53J,YACOV,IAAnBk3J,EAA4B,GAAAx2J,OACrBs2J,EAAaF,SAAQ,OAAAp2J,OAAMs2J,EAAaF,SAAQ,MACnD,YAGRx/G,KAAM,GACNonH,UAAW,GACXhqJ,OAAQ,CAAC,EAAG,GACZosJ,kBAAkB,EAClB1rJ,MAAuB,QAAlBssJ,EAAEE,EAASh7H,eAAO,IAAA86H,OAAA,EAAhBA,EAAkBoB,YACzBt/I,UAAQ,EACRi9I,WAAS,EACT3/J,OAAQ41J,EACRiK,YAC+B,YAA7B3J,EAAasC,kBACgBt5J,IAA7Bg3J,EAAasC,YAEfiH,aAAa,EACbwC,SAAU,WAAO,IAADC,EACRC,EAA8B,QAAnBD,EAAGpB,EAASh7H,eAAO,IAAAo8H,OAAA,EAAhBA,EAAkBE,cAAc,SAChDD,aAAuBE,aA7Ff,SAAC3jJ,GAAoB,IAAD4jJ,EAAAC,EAAAC,EAAAC,EAAAC,EACtChkJ,EAASw3I,EAAaH,YAAkC,QAAxBuM,EAAGpM,EAAa51G,gBAAQ,IAAAgiH,OAAA,EAArBA,EAAuB5jJ,QAC5D63I,EAAqB,CACnBR,WAAYG,EAAaH,WAAa,IAGxCr3I,GAA8B,QAAxB6jJ,EAAGrM,EAAa51G,gBAAQ,IAAAiiH,OAAA,EAArBA,EAAuB7jJ,SAChCA,IAA+B,QAArB8jJ,EAAAtM,EAAa51G,gBAAQ,IAAAkiH,OAAA,EAArBA,EAAuB9jJ,QAASw3I,EAAaH,YACvDr3I,IAA+B,QAArB+jJ,EAAAvM,EAAa51G,gBAAQ,IAAAmiH,OAAA,EAArBA,EAAuB/jJ,SAAUw3I,EAAaH,WAAa,GAErEQ,EAAqB,CACnBR,WAAYG,EAAaH,WAAa,IAGxCG,EAAaH,WAAa,IAAM,GAChCr3I,GAA8B,QAAxBgkJ,EAAGxM,EAAa51G,gBAAQ,IAAAoiH,OAAA,EAArBA,EAAuBhkJ,SAEhC63I,EAAqB,CACnBR,WAAY,GAGlB,CAyEc4M,CAAgBR,EAAYS,aAEhC,EACAxC,aAAc,SAACF,EAAS2C,EAASC,GAC/BjN,EAAcxuJ,YACTuuJ,EAAYpuJ,KAAI,SAACxH,GAQlB,OAPU,OAANA,QAAM,IAANA,KAAQnB,UACNmB,EAAOmG,IAAM28J,EAAQ38J,IACvBnG,EAAOu1J,EAAIuN,EAAQvN,EACnBv1J,EAAOw1J,EAAIsN,EAAQtN,GAIhBx1J,CACT,KAEJ,EAAEnB,SAEDijK,SAMb,K,8BCqIeiB,GAnSc,SAAHjiK,GAOZ,IANZwuB,EAAWxuB,EAAXwuB,YACA6K,EAAUr5B,EAAVq5B,WACAgwG,EAAerpI,EAAfqpI,gBACAuuB,EAAS53J,EAAT43J,UACAwB,EAAQp5J,EAARo5J,SACA8I,EAAWliK,EAAXkiK,YAEA7I,EAQIhC,KAPFvC,EAAWuE,EAAXvE,YACAM,EAAYiE,EAAZjE,aAEAL,GADcsE,EAAd/D,eACc+D,EAAdtE,gBACAU,EAAoB4D,EAApB5D,qBACAuB,EAAYqC,EAAZrC,aACAxB,EAAO6D,EAAP7D,QAEFngJ,EAA0BC,mBAAS,GAAEC,EAAApB,YAAAkB,EAAA,GAA9B0qJ,EAAKxqJ,EAAA,GAAE4sJ,EAAQ5sJ,EAAA,GAClB+Q,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAEtEyd,GAD2B+H,EAAU1D,kBACHtN,mBAAkB4sJ,EAAYjsJ,WAASuI,EAAArK,YAAAoK,EAAA,GAAlE6jJ,EAAS5jJ,EAAA,GAAE6jJ,EAAY7jJ,EAAA,GAC9BnU,qBAAU,WACJ63J,EAAYI,aACdvN,EAAe3zJ,KAAKwM,MAAMs0J,EAAYI,aACtC7M,EAAoBrlJ,YAAC,CAAC,EAAIhP,KAAKwM,MAAMs0J,EAAYK,aAErD,GAAG,IAEHl4J,qBAAU,WACRm4J,GACF,GAAG,CAAC1N,EAAaM,EAAcgN,IAE/B,IAyBMI,EAAY,WAChB,IACE,IAAIC,EAAuB,GAC3B3N,EAAY3uJ,SAAQ,SAACjH,EAAQgY,GAAW,IAAD4/I,EAC/Bv3I,EAAgB,OAANrgB,QAAM,IAANA,GAAgB,QAAV43J,EAAN53J,EAAQnB,gBAAQ,IAAA+4J,OAAV,EAANA,EAAkB1oG,MAAK,SAAC1U,EAAG2U,GAAC,OAAK3U,EAAE0D,EAAIiR,EAAEjR,CAAC,IAC1D,GAAI79B,EAAS,CAAC,IAADmjJ,EACLC,EAA0B,QAAlBD,EAAGlN,EAAQxwH,eAAO,IAAA09H,OAAA,EAAfA,EAAiBpmF,uBAAuBp9E,EAAOmG,GAC5Du9J,EAAgBD,EACpB,GAAIA,GAAYA,EAAS78J,OAAS,EAChC,IAAK,IAAIT,EAAI,EAAGA,EAAIs9J,EAAS78J,OAAQT,IAAK,CAGxCu9J,EAFgBD,EAASt9J,GACGi3E,uBAAuB,aAErD,CAOF,IALA,IAAIt5E,EAAkB,GAClB6/J,EAAatjJ,EAAQxJ,QACvB,SAAC/L,GAAC,MAAyB,OAApBA,EAAE5K,SAASE,IAAa,IAC/BwG,OACEg9J,EAA8B,GACzBz9J,EAAI,EAAGA,GAAKw9J,EAAYx9J,IAAK,CACpC,IAAI09J,EAAkB,GAClBC,GAAa,EACbC,EAAiB,GACjBC,EAAsB,GAC1B,GAAIN,EACF,GAAU,IAANv9J,EAAS,CAAC,IACckE,EADfE,EAAAC,aACQ6V,GAAO,IAA1B,IAAA9V,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA4B,CAAC,IAAlBzD,EAAImD,EAAAlD,MACc,OAAvBD,EAAKhH,SAASE,OAChB0jK,GAAa,EACe,IAAxBE,EAAap9J,QACfo9J,EAAav8J,KAAK,CAChBtB,EAAGe,EAAKf,EACRovJ,EAAGruJ,EAAKquJ,EACRC,EAAGtuJ,EAAKsuJ,EACRrgH,EAAGjuC,EAAKiuC,EACR+I,EAAGh3C,EAAKg3C,EACR99C,KAAM8G,EAAKhH,SAASE,KACpB6jK,OAAQ/8J,EAAKhH,SAASC,MACtB+jK,KAAMC,EAAkBT,EAAex8J,MAKzC48J,EACFD,EAASp8J,KAAK,CACZtB,EAAGe,EAAKf,EACRovJ,EAAGruJ,EAAKquJ,EACRC,EAAGtuJ,EAAKsuJ,EACRrgH,EAAGjuC,EAAKiuC,EACR+I,EAAGh3C,EAAKg3C,EACR99C,KAAM8G,EAAKhH,SAASE,KACpB6jK,OAAQ/8J,EAAKhH,SAASC,MACtB+jK,KAAMC,EAAkBT,EAAex8J,KAGzC68J,EAAQt8J,KAAKP,EAEjB,CAAC,OAAAzE,GAAA8H,EAAAO,EAAArI,EAAA,SAAA8H,EAAAQ,GAAA,CACH,KAAO,CAAC,IAADq5J,EAGC5pH,EAAa,QAAZ4pH,EAFPR,EAAYA,EAAUpnH,MAAM,EAAGonH,EAAUh9J,eAEtB,IAAAw9J,OAAA,EAATA,EAAWrlJ,MAAK,SAACjU,GAAC,MAAyB,OAApBA,EAAE5K,SAASE,IAAa,IACrDo6C,GACFwpH,EAAav8J,KAAK,CAChBtB,EAAGq0C,EAAEr0C,EACLovJ,EAAG/6G,EAAE+6G,EACLC,EAAGh7G,EAAEg7G,EACLrgH,EAAGqF,EAAErF,EACL+I,EAAG1D,EAAE0D,EACL99C,KAAMo6C,EAAEt6C,SAASE,KACjB6jK,OAAQzpH,EAAEt6C,SAASC,MACnB+jK,KAAMC,EAAkBT,EAAelpH,KAE1C,IAE2B/P,EAF3BC,EAAAlgC,aAEkBo5J,GAAS,IAA5B,IAAAl5H,EAAAjgC,MAAAggC,EAAAC,EAAAhgC,KAAAC,MAA8B,CAAC,IAApBzD,EAAIujC,EAAAtjC,MACc,OAAvBD,EAAKhH,SAASE,OAChB0jK,GAAa,GAGXA,EACFD,EAASp8J,KAAK,CACZtB,EAAGe,EAAKf,EACRovJ,EAAGruJ,EAAKquJ,EACRC,EAAGtuJ,EAAKsuJ,EACRrgH,EAAGjuC,EAAKiuC,EACR+I,EAAGh3C,EAAKg3C,EACR99C,KAAM8G,EAAKhH,SAASE,KACpB6jK,OAAQ/8J,EAAKhH,SAASC,MACtB+jK,KAAMC,EAAkBT,EAAex8J,KAGzC68J,EAAQt8J,KAAKP,EAEjB,CAAC,OAAAzE,GAAAioC,EAAA5/B,EAAArI,EAAA,SAAAioC,EAAA3/B,GAAA,CACH,CAGFjH,EAAO2D,KAAKo8J,GACRG,EAAap9J,OAAS,GAAG9C,EAAO2D,KAAKu8J,GAEzCJ,EAAYG,EACZF,EAAW,EACb,CAEAN,EAAc97J,KAAK3D,EACrB,CACF,IACAC,QAAQe,IAAIy+J,GAEZp5B,GAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAC1B2qB,GAAS,IACZmnI,YAAa,CACX1mE,GAAI,EACJ3zF,WAAYwxB,EACZkpI,UAAWnhK,KAAKC,UAAU+zJ,GAC1BkN,WAAYlhK,KAAKC,UAAUyzJ,GAC3ByO,aAAcniK,KAAKC,UAAUohK,EAAc,IAC3Ce,WAAYpiK,KAAKC,UAAUohK,EAAc,IACzCgB,aAAcriK,KAAKC,UAAUohK,EAAc,IAC3C35G,SAAUs5G,IACX,GAEL,CAAE,MAAOl/J,GACPD,QAAQC,MAAM,mBAAoBA,EACpC,CACF,EAEMmgK,EAAoB,SACxBT,EACAx8J,GAIA,IAFA,IAAMs9J,EAAUlyJ,SAAS2pC,cAAc,OAE9B91C,EAAI,EAAGA,EAAIu9J,EAAc98J,OAAQT,IAAK,CAC7C,IAAM6xB,EAAU0rI,EAAcv9J,GAG9B,GADc6xB,EAAQxlB,aAAa,WACrBtL,EAAKf,EACjB,IAC6B,gBAAvBe,EAAKhH,SAASE,MAChBokK,EAAQh+G,aAAa,QAASxuB,EAAQxlB,aAAa,UAAY,IAC/DgyJ,EAAQhlK,MAAM0iC,QAAU,GACxBsiI,EAAQhlK,MAAM8U,MAAQ,OACtBkwJ,EAAQhlK,MAAMkf,OAAS,QAEvB8lJ,EAAQhlK,MAAMif,UAAY,SAG5B,IAAMoK,EAAiB,OAAPmP,QAAO,IAAPA,OAAO,EAAPA,EAASolD,uBACvB,WACA,GACF,GAAGv0D,EAAQ,CACT,IAAM47I,EAAgB/iK,OAAOgjK,iBAAiB77I,GAC9CA,EAAQrpB,MAAMgM,WAAai5J,EAAcj5J,WACzCqd,EAAQrpB,MAAM+L,SAAWi5J,EAAQhlK,MAAM+L,SACvCsd,EAAQrpB,MAAMw3J,WAAawN,EAAQhlK,MAAMw3J,WACzCnuI,EAAQrpB,MAAMmM,WAAa64J,EAAQhlK,MAAMmM,UAC3C,CACA64J,EAAQroH,YAAYtzB,EAAQ87I,WAAU,GACxC,CAAE,MAAO3gK,GACPD,QAAQC,MAAMA,EAChB,CAEJ,CAEA,OAAOwgK,EAAQI,UACZhkK,QAlCS,iDAkCM,IACfA,QAAQ,UAAW,IACnBA,QAAQ,oBAAqB,IAC7BA,QAAQ,eAAgB,WACxBA,QAAQ,QAAS,GACtB,EAcA,OACE7B,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,UAAUH,MAAO,CAAEuI,SAAU,YAAalJ,SAAA,CACvDF,cAACq7J,GAAgB,CAACE,SAAUA,IAC5Bn7J,eAAA,OAAKS,MAAO,CAAEuI,SAAU,WAAYylD,KAAM,GAAID,MAAO,GAAI1uD,SAAA,CACvDF,cAAA,QAAAE,SAAM,eACNF,cAAC6rG,KAAM,CACLxrF,QAASkkJ,EACT9xJ,SAAU,SAACtG,GACTq4J,EAAar4J,EACf,UAKN/L,eAAA,OAAKY,UAAU,gBAAgBqkG,cAAe8zD,EAAaj5J,SAAA,CACzDF,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAC85J,GAAU,CAACnpI,YAAaA,EAAaopI,UAAWA,MAEnD35J,eAAA,OAAKY,UAAU,QAAOd,SAAA,CACpBF,cAAC6hK,GAAW,CAACK,MAAOA,IACpBliK,cAAA,OAAKgB,UAAU,aAAYd,SACzBE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCF,cAACkmK,KAAe,CACdrlK,MAAO,CAAE+L,SAAU,GAAIymC,OAAQ,WAC/Bz9B,QA/BE,WACVssJ,EAAQ,GACVoC,EAASpC,EAAQ,GAErB,EA4BchkH,SAAK39C,IAEPP,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,OACEgB,UAAU,cACVH,MAAO,CAAEm4G,KAAK,GAAD/3G,OAAM,IAAWihK,EAAQ,GAAG,UAG7CliK,cAACmmK,KAAc,CACbtlK,MAAO,CAAE+L,SAAU,GAAIymC,OAAQ,WAC/Bz9B,QAhDC,WACTssJ,EAAQ,GACVoC,EAASpC,EAAQ,GAErB,EA6CchkH,SAAK39C,iBAQrB,ECrPM6lK,GAA8C,CAClDvT,UAAW,GACXC,YAAa,GACb7nG,UAAU,EACVqnF,SAAU,GACVif,WAAY,SACZwB,WAAY,GACZC,aAAc,GACdjhF,IAAK,GACLjmB,OAAQ,GACRG,OAAQ,GACR2gG,OAAQ,GACRG,OAAQ,GACRF,OAAQ,IAGJwZ,GAA2C,CAC/C/4I,OAAQ,EACRiP,cAAe,GACfqyH,gBAAiB,GACjBpyH,aAAc,CACZxyB,WAAY,EACZ6hF,kBAAmB,GACnBj+D,aAAc,GACdo+D,qBAAsB,GACtBz1B,aAAc,EACdhqC,aAAc,GACd+5I,UAAU,EACV5nB,WAAY,GACZ6nB,eAAgB,KAChB7qB,KAAM,GACNC,KAAM,GACN6C,gBAAiB,GACjB7J,aAAa,EACb6xB,SAAU,GACVpnC,YAAa,GACbqM,YAAY,EACZ2L,gBAAiB,IACjBxC,iBAAiB,EACjBv7E,YAAa,GACbC,UAAW,GACXN,aAAc,GACdI,WAAY,GACZhhD,UAAU,EACVquJ,OAAQ,KACR/+F,SAAU,KACVh3D,OAAQ,KACR+tI,eAAe,EACfE,yBAAyB,EACzBC,eAAe,EACf8nB,MAAO,KACPC,YAAa,KACbC,aAAc,KACdC,YAAa,KACbC,SAAU,KACVC,GAAI,KACJC,GAAI,KACJrqD,QAAS,KACTsqD,aAAc,KACdC,cAAe,KACfC,WAAY,KACZC,iBAAkB,KAClBC,IAAK,KACLC,iBAAkB,KAClBC,UAAW,KACXC,uBAAwB,KACxBC,SAAU,KACV5d,OAAQ,GACRH,mBAAoB,GACpBK,eAAgB,GAChB2d,YAAa,KACbC,UAAW,KACXC,kBAAmB,KACnBC,gBAAiB,KACjBx7I,YAAa,GACbD,aAAc,GACdiD,cAAe,GACfy4I,oBAAqB,KACrBjzB,eAAe,EACf2Z,sBAAsB,EACtB3P,oBAAoB,GAEtBwlB,YAAa,CACX1mE,GAAI,EACJ3zF,WAAY,EACZ06J,UAAW,GACXD,WAAY,GACZiB,aAAc,GACdC,WAAY,GACZC,aAAc,GACdxtJ,UAAU,GAEZ89H,kBAAmB,GACnB6xB,sBAAuB,GACvB/yB,eAAgB,CACd,CACEvC,WAAY,EACZ3hE,IAAK,EACL0kE,iBAAkB,KAClBz1E,YAAa,KACbhlC,YAAa,EACbitI,aAAc,GACd3uG,YAAa,cACbC,UAAW,IACXN,aAAc,cACdI,WAAY,IACZhhD,UAAU,EACVk5H,oBAAqB,oBACrBE,YAAa,EACbQ,YAAY,EACZG,YAAa,EACbF,cAAc,EACdjoI,WAAY,EACZinC,WAAY,KAGhBg3H,UAAW,KACXvrI,kBAAmB,KACnBwrI,mBAAoB,GACpBC,kBAAmB,GACnBC,YAAa,KACblX,cAAe,GACf70H,QAAS,EACTi6H,kBAAmB,GACnB+R,eAAgB,KAChB5d,6BAA8B,GAC9BT,gCAAiC,GACjCE,8BAA+B,GAC/BQ,iCAAkC,GAClCpE,mBAAoB,IAozCPrnD,OAjzCc,SAACx/F,GAAkB,IAADylE,EAAAojG,EAAAC,EAAAC,EACrC9xJ,EAAgBkH,cAAhBlH,YACR4O,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACf/qC,GAD4B+qC,EAAA,GACsB9qC,mBAAc,KAAGC,EAAApB,YAAAkB,EAAA,GAA5D6yE,EAAiB3yE,EAAA,GAAE4yE,EAAoB5yE,EAAA,GAC1C28B,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAC9CjJ,EAAoCjJ,mBAAiB,eAAckJ,EAAArK,YAAAoK,EAAA,GAA5D+nJ,EAAU9nJ,EAAA,GAAE+nJ,EAAa/nJ,EAAA,GAChCG,EAAwDrJ,qBAAmBsJ,EAAAzK,YAAAwK,EAAA,GAApEmE,EAAoBlE,EAAA,GAAE+D,EAAuB/D,EAAA,GACpDgB,EAAwCtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAAhDw0H,EAAYv0H,EAAA,GAAEwpH,EAAexpH,EAAA,GACpCC,EAAsDxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAAzC0mJ,GAAFzmJ,EAAA,GAAwBA,EAAA,IAClDwG,EAAgEjR,mBAC9D2uJ,IACDz9I,EAAArS,YAAAoS,EAAA,GAFMkgJ,EAAwBjgJ,EAAA,GAAEkgJ,EAA2BlgJ,EAAA,GAG5DC,EAA4CnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAApCqsI,GAAFpsI,EAAA,GAAmBA,EAAA,IACxC2I,EAA4D/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GAA5Cs3I,IAAFr3I,EAAA,GAA2BA,EAAA,IAExDG,GAAkDna,qBAAeoa,GAAAvb,YAAAsb,GAAA,GAA1Dm3I,GAAiBl3I,GAAA,GAAEm3I,GAAoBn3I,GAAA,GAC9CG,GAAwDva,qBAAewa,GAAA3b,YAAA0b,GAAA,GAAhEi3I,GAAoBh3I,GAAA,GAAEi3I,GAAuBj3I,GAAA,GAE9CxN,GAAQ4D,mBACV8zC,GAAUja,cACd9vB,GAAoC3a,mBACf,QADuBytD,EAC1CzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,aACtB/3E,GAAA/b,YAAA8b,GAAA,GAFM88D,GAAU78D,GAAA,GAIjBG,IAJgCH,GAAA,GAGhBiwC,cAARp8D,IACgCuR,oBAAS,IAAKgb,GAAAnc,YAAAkc,GAAA,GAA/C2sF,GAAY1sF,GAAA,GAAE2sF,GAAe3sF,GAAA,GAG9B86C,GAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAChD56C,GAAoCnb,qBAAkBob,GAAAvc,YAAAsc,GAAA,GAA/CswF,GAAUrwF,GAAA,GAAEs2I,GAAat2I,GAAA,GAChCG,GAAgCvb,qBAAkBwb,GAAA3c,YAAA0c,GAAA,GAElDK,IAFeJ,GAAA,GAAaA,GAAA,GAEAxb,mBAAiB,QAAM6b,GAAAhd,YAAA+c,GAAA,GAA5CtZ,GAAMuZ,GAAA,GAAEtZ,GAASsZ,GAAA,GACxBivC,GAAgC9qD,oBAAkB,GAAM+qD,GAAAlsD,YAAAisD,GAAA,GAAjD6mG,GAAQ5mG,GAAA,GAAE6mG,GAAW7mG,GAAA,GAG5BG,GAA0ClrD,mBAAc,IAAGmrD,GAAAtsD,YAAAqsD,GAAA,GAApDioE,GAAahoE,GAAA,GAAEioE,GAAgBjoE,GAAA,GACtCE,GAAsCrrD,oBAAkB,GAAMsrD,GAAAzsD,YAAAwsD,GAAA,GAAvDwmG,GAAWvmG,GAAA,GAAEwmG,GAAcxmG,GAAA,GAClC8Z,GAAkCplE,oBAAkB,GAAMqlE,GAAAxmE,YAAAumE,GAAA,GAAnD0hE,GAASzhE,GAAA,GAAE0sF,GAAY1sF,GAAA,GAC9BG,GAAsCxlE,mBAAc,CAAErW,MAAO,KAAK87E,GAAA5mE,YAAA2mE,GAAA,GAA3DtsD,GAAWusD,GAAA,GAAEtsD,GAAcssD,GAAA,GAClCI,GAAsD7lE,qBAAkB8lE,GAAAjnE,YAAAgnE,GAAA,GAAjEguD,GAAmB/tD,GAAA,GAAEguD,GAAsBhuD,GAAA,GAGlD8V,GAA4B57E,oBAAc,GAAK67E,GAAAh9E,YAAA+8E,GAAA,GAAxC5sB,GAAM6sB,GAAA,GAAEm2E,GAASn2E,GAAA,GAExBG,GAAiDh8E,mBAAgB,IAAGi8E,GAAAp9E,YAAAm9E,GAAA,GAA7Di2E,GAAgBh2E,GAAA,GAAE9jB,GAAoB8jB,GAAA,GAC7CG,GAAoCp8E,mBAAc,IAAGq8E,GAAAx9E,YAAAu9E,GAAA,GAA9C89C,GAAU79C,GAAA,GAAE61E,GAAa71E,GAAA,GAChCG,GAA8Bx8E,mBAAc,CAAC,GAAEy8E,GAAA59E,YAAA29E,GAAA,GAAxCy4D,GAAOx4D,GAAA,GAAE01E,GAAU11E,GAAA,GAC1BG,GAA0C58E,oBAAkB,GAAM68E,GAAAh+E,YAAA+9E,GAAA,GAA3Dw1E,GAAav1E,GAAA,GAAEw1E,GAAgBx1E,GAAA,GACtCG,GAAwCh9E,oBAAkB,GAAMi9E,GAAAp+E,YAAAm+E,GAAA,GAAzDs1E,GAAYr1E,GAAA,GAAEs1E,GAAet1E,GAAA,GACpCG,GAAkCp9E,mBAAgB,IAAG49E,GAAA/+E,YAAAu+E,GAAA,GAA9CklE,GAAS1kE,GAAA,GAAE40E,GAAY50E,GAAA,GAC9B07C,GAAgCt5H,mBAAgB,CAC9C,CAAEjW,MAAO,YAAagH,MAAO,eAC7BwoI,GAAA16H,YAAAy6H,GAAA,GAFKwqB,GAAQvqB,GAAA,GAAEk5B,GAAWl5B,GAAA,GAG5BC,GAA8Cx5H,mBAAc,IAAGy5H,GAAA56H,YAAA26H,GAAA,GAAxDk5B,GAAej5B,GAAA,GAAEk5B,GAAkBl5B,GAAA,GAE1Cm5B,GAA0C5yJ,mBAAc,IAAG6yJ,GAAAh0J,YAAA+zJ,GAAA,GAApDE,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GACtCG,GACEhzJ,mBAAc,IAAGizJ,GAAAp0J,YAAAm0J,GAAA,GADZE,GAA0BD,GAAA,GAAEE,GAA6BF,GAAA,GAEhEG,GAA8DpzJ,mBAAc,CAC1E6zI,KAAM,GACNf,QAAS,GACT5xF,WAAY,GACZswF,SAAU,GACV6hB,iBAAkB,GAClBC,kBAAmB,KACnBC,GAAA10J,YAAAu0J,GAAA,GAPKI,GAAuBD,GAAA,GAAEE,GAA0BF,GAAA,GAS1DG,GAA0D1zJ,mBAAc,CACtE8U,cAAc,EACds/D,mBAAmB,EACnBj+D,cAAc,IACdw9I,GAAA90J,YAAA60J,GAAA,GAJKE,GAAqBD,GAAA,GAAEE,GAAwBF,GAAA,GAKtDG,GAA4C9zJ,qBAAe+zJ,GAAAl1J,YAAAi1J,GAAA,GAApDE,GAAcD,GAAA,GAAEv1B,GAAiBu1B,GAAA,GACxCE,GAAsCj0J,qBAAek0J,GAAAr1J,YAAAo1J,GAAA,GAA9CE,GAAWD,GAAA,GAAEzW,GAAcyW,GAAA,GAClCE,GAAkCp0J,mBAAc,IAAGq0J,GAAAx1J,YAAAu1J,GAAA,GAA5CpwI,GAASqwI,GAAA,GAAEC,GAAYD,GAAA,GAE9Bt/J,qBAAU,WACRw/J,IACF,GAAG,IAEH,IAAMA,GAAW,WACf,IAAIC,GAAwB,GA8C5B,WAE+BC,GAAA/nK,MAAC,KAADC,UAAA,CA/C/B+nK,GA0ED,WACyBC,GAAAjoK,MAAC,KAADC,UAAA,CA1ExBioK,GA8ED,WAE6BC,GAAAnoK,MAAC,KAADC,UAAA,CA/E5BmoK,GAmDD,WACoCC,GAAAroK,MAAC,KAADC,UAAA,CAnDnCqoK,GAw9BD,WAE+B1hF,GAAA5mF,MAAC,KAADC,UAAA,CAz9B9B4mF,GACA,IAAI0hF,EAAsC,GACtCC,EAAkC,GAElCzgI,EAAsBqhC,GAAMnb,IAAI,eAAiB,GAEjDlmB,QAC0B3rC,IAAxBgtE,GAAMnb,IAAI,WAAmD,OAAxBmb,GAAMnb,IAAI,WACjDm3G,IAAe,GACf0C,GAAe,GAEfjyJ,GAAU,QAEZi0I,GAAa/6I,SAASg5B,GAAc+/H,GACpC9C,GAAcj2J,SAASg5B,KAGrBqhC,GAAMnb,IAAI,wBACVmb,GAAMnb,IAAI,qBACTmb,GAAMnb,IAAI,WAEXu6G,EAAmBp/F,GAAMnb,IAAI,mBAC7Bs6G,EAAuBn/F,GAAMnb,IAAI,uBACjCo3G,IAAa,GACbvb,GACE/6I,SAASg5B,GACT+/H,EACAS,EACAC,KAGFvnK,QAAQe,IAAIkgK,IAEZ76B,EAAgB66B,IAChB96B,GAAuB,KACvBk+B,IAAU,IAGTwC,GAAiBU,GAkRvB,SAE6BphK,GAAAqhK,GAAAzoK,MAAC,KAADC,UAAA,CAnR1ByoK,CAAgB3gI,EAEpB,EAEiC,SAAAggI,KAMhC,OANgCA,GAAA9pK,YAAAC,IAAAC,MAAjC,SAAAiC,IAAA,IAAAsyE,EAAA,OAAAx0E,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACkC+sB,aAC9B,0CACAtvB,GACA,KAAD,EAHGs2E,EAAmBryE,EAAAT,KAIvB6rE,GAAqBiH,GAAc,wBAAAryE,EAAAP,OAAA,GAAAM,EAAA,MACpCJ,MAAA,KAAAC,UAAA,CACoC,SAAAooK,KAoBpC,OApBoCA,GAAApqK,YAAAC,IAAAC,MAArC,SAAAsC,IAAA,IAAA00B,EAAAwzI,EAAArwB,EAAA7mD,EAAAm3E,EAAA,OAAA1qK,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACsB+sB,aAAc,oBAAgBtvB,GAAW,KAAD,EAAjD,OAAL+4B,EAAKz0B,EAAAd,KAAAc,EAAA/B,KAAA,EACamqJ,KAAc,KAAD,EAAtB,OAAT6f,EAASjoK,EAAAd,KAAAc,EAAA/B,KAAA,EACWkwD,IAAgB,KAAD,EAAxB,OAAXypF,EAAW53I,EAAAd,KAAAc,EAAA/B,KAAA,GACO2vD,IAAiB,KAAD,GAAlCmjC,EAAS/wF,EAAAd,KACXgpK,EAAwBtwB,EAAYvkI,QACtC,SAACykI,GAAgB,OACQ,OAAvBA,EAAY3xI,QACkB,IAA9B2xI,EAAY3xI,OAAO/C,QACI,OAAvB00I,EAAYpnF,QACkB,IAA9BonF,EAAYpnF,OAAOttD,MAAY,IAGnCijK,IAA2B,SAAChuI,GAAc,OAAA3qB,wBAAA,GACrC2qB,GAAS,IACZouH,KAAMhyH,EACNixH,QAASuiB,EACTn0G,WAAYo0G,EACZ9jB,SAAUrzD,GAAS,IACjB,yBAAA/wF,EAAAZ,OAAA,GAAAW,EAAA,MACLT,MAAA,KAAAC,UAAA,CACyB,SAAAgoK,KAIzB,OAJyBA,GAAAhqK,YAAAC,IAAAC,MAA1B,SAAA2C,IAAA,IAAA8tI,EAAA,OAAA1wI,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACqB+sB,aAAc,6BAAyBtvB,GAAW,KAAD,EAAhEwyI,EAAM7tI,EAAAnB,KAEV4lK,GAAc52B,GAAQ,wBAAA7tI,EAAAjB,OAAA,GAAAgB,EAAA,MACvBd,MAAA,KAAAC,UAAA,CAE6B,SAAAkoK,KA6C7B,OA7C6BA,GAAAlqK,YAAAC,IAAAC,MAA9B,SAAAkD,IAAA,IAAAwnK,EAAAjT,EAAAwB,EAAA9+F,EAAAwwG,EAAAC,EAAAC,EAAAp/C,EAAA,OAAA1rH,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EAC0BkoD,eAAe,KAAD,EAAvB,OAATgiH,EAASvnK,EAAA1B,KAAA0B,EAAA3C,KAAA,EACS4oD,eAAyB,KAAD,EAAjC,OAATquG,EAASt0J,EAAA1B,KAAA0B,EAAA3C,KAAA,EACQ6oD,eAAc,KAAD,EAA9B4vG,EAAQ91J,EAAA1B,KAEV04D,EAAWs9F,EAAU7hJ,QACvB,SAAC/L,GAAM,OAAMA,EAAE2/C,OAAO58C,WAAW,eAAe,IAG5C+9J,EAAalT,EAAU7hJ,QAAO,SAAC/L,GAAM,OACzCA,EAAE2/C,OAAO58C,WAAW,eAAe,IAGrCutD,EAAE3zD,KAAK,CACLwpI,SAAU,EACVif,WAAY,YACZzlG,OAAQ,UACRG,OAAQ,UACR2gG,OAAQ,MACRG,OAAQkgB,EAAWpkK,KAAI,SAACsD,GAAM,OAAKA,EAAE8/C,MAAM,IAAEtiD,KAAK,KAClDkjJ,OAAQ,KACR5hG,UAAU,EACV6nG,YAAa,KACbD,UAAW,KACXG,aAAc,KACdD,WAAY,KACZhhF,IAAK,OAGHwpF,GAAYA,EAAStzJ,OAAS,IAC1B8lH,EAAkB,QAAdm/C,EAAG3R,EAAS,UAAE,IAAA2R,GAAQ,QAARC,EAAXD,EAAazhI,cAAM,IAAA0hI,OAAR,EAAXA,EAAqB9jK,MAAM,MAExC6gK,GACEn8C,EAAKllH,KAAI,SAACsD,GACR,GAAIA,EAAE1D,SAAS,KAAM,CACnB,IAAM+tC,EAAIrqC,EAAEtK,WAAW,IAAK,IAAIwH,MAAM,KACtC,MAAO,CAAE7H,MAAOg1C,EAAE,GAAIhuC,MAAOguC,EAAE,GACjC,CACE,MAAO,CAAEhc,MAAOruB,EAAG3D,MAAO2D,EAE9B,MAGJ89J,GAAYvhK,YAAK+zD,EAAElM,MAAK,SAAC1U,EAAG2U,GAAC,OAAK3U,EAAEy2F,SAAW9hF,EAAE8hF,QAAQ,MACzD83B,GAAkB1hK,YAAKskK,IAAY,yBAAAvnK,EAAAxB,OAAA,GAAAuB,EAAA,KACpC8mK,GAAAnoK,MAAA,KAAAC,UAAA,UAEc6pJ,GAAY/pJ,EAAAO,EAAAK,EAAAiB,GAAA,OAAAqnK,GAAAjpK,MAAC,KAADC,UAAA,UAAAgpK,KA4L1B,OA5L0BA,GAAAhrK,YAAAC,IAAAC,MAA3B,SAAAsD,EACEkB,EACAmlK,EACAS,EACAC,GAAgC,IAAAU,EAAAC,EAAAp4B,EAAAghB,EAAAqX,EAAA/lK,EAAAktB,EAAAplB,EAAAk+J,EAAAC,EAAAC,EAAAC,EAAA9nK,EAAA+nK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAvmK,EAAAquB,EAAAm4I,EAAAr6I,EAAAs6I,EAAAC,EAAA,OAAA9rK,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,WAG9B6pK,GACqB,OAArBA,GACqB,KAArBA,EAAuB,CAAA7mK,EAAAhD,KAAA,gBAAAgD,EAAAjD,KAAA,EAAAiD,EAAAhD,KAAA,EAGOumF,GAAuB,CACjD+kF,oBAAqB1B,EACrB2B,gBAAiB1B,IAChB9oK,OAAM,SAACsI,GACR/G,QAAQe,IAAIgG,EACd,IAAG,KAAD,EALiB,KAAfkhK,EAAevnK,EAAA/B,MAMC,CAAD+B,EAAAhD,KAAA,SAC+C,OAAhEuqK,EAAgB7wI,aAAa8xI,gBAAkB3B,EAAiB7mK,EAAAhD,KAAA,EAExC6mF,GACtB0jF,EAAgB7wI,aAAaxyB,YAC7B,KAAD,EAED,GAJMyxB,EAAS31B,EAAA/B,KAGXmxI,EAAuB,GACvBz5G,EAAW,CAGb,IAFIy6H,EAAY,GACZqX,EAAqB,GAChB/lK,EAAI,EAAGA,GAAa,OAATi0B,QAAS,IAATA,OAAS,EAATA,EAAWxzB,QAAQT,IAEb,mBADlBktB,EAAQ+G,EAAUj0B,IACduwB,YACFzoB,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WACnBo+H,EAAUptJ,KAAKwG,GACf4lI,EAAcpsI,KAAK,CACjBgoE,IAAKp8C,EAAMq9C,IACXgkE,UAAW,gBACXC,UAAWthH,EAAMoD,aAGG,kBAApBpD,EAAMqD,YACRw1I,EAAmBzkK,KAAK4rB,GAExBwgH,EAAcpsI,KAAK,CACjBgoE,IAAKp8C,EAAMo8C,IACXilE,UAAWrhH,EAAMqD,UACjBi+G,UAAWthH,EAAMoD,aAKvBi0I,GAAatwI,GACbw5H,EAAkBiB,GAClB4S,GAA0ByE,EAC5B,CAEAxB,GAAatwI,GACb+vG,EAAgB6hC,GAChB1E,EAAuB0E,GACvBkB,GAA0BlB,EAAiB5xI,GAC3C+yI,GAA0BnB,GAE1BlE,GAAckE,EAAgB7wI,aAAaxyB,YAAY,QAEzDy/J,IAAU,GAAO3jK,EAAAhD,KAAA,iBAAAgD,EAAAjD,KAAA,GAAAiD,EAAA8gB,GAAA9gB,EAAA,SAEjBV,QAAQC,MAAKS,EAAA8gB,IAAQ,QAAA9gB,EAAAhD,KAAA,iBAOtB,OAJD2mK,IAAU,GAEJ5jK,EAAW,CACfmE,WAAYlD,GACbhB,EAAAhD,KAAA,GACgCumF,GAAuBxjF,GAAU,KAAD,GAAzC,OAApBwnK,EAAoBvnK,EAAA/B,KAAA+B,EAAAhD,KAAA,GACA6mF,GAAU7iF,GAAa,KAAD,GAU9C,GAVM20B,EAAS31B,EAAA/B,KACfgoK,GAAatwI,GACTwwI,IACFoB,EAAgB7wI,aAAaxyB,WAAa,EAC1CqjK,EAAgB7wI,aAAa5O,aAC3By/I,EAAgB7wI,aAAa5O,aAAe,QAC9Cy/I,EAAgB7wI,aAAajQ,aAC3B8gJ,EAAgB7wI,aAAajQ,aAAe,SAE5C2oH,EAAuB,GACvBz5G,EAAW,CAGb,IAFIy6H,EAAmB,GACnBqX,EAA4B,GACvB/lK,EAAI,EAAGA,GAAa,OAATi0B,QAAS,IAATA,OAAS,EAATA,EAAWxzB,QAAQT,IAEb,mBADlBktB,EAAQ+G,EAAUj0B,IACduwB,YACFzoB,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WACnBo+H,EAAUptJ,KAAKwG,GAEf4lI,EAAcpsI,KAAK,CACjBgoE,IAAKp8C,EAAMo8C,IACXilE,UAAW,gBACXC,UAAWthH,EAAMoD,aAIG,kBAApBpD,EAAMqD,YACRw1I,EAAmBzkK,KAAK4rB,GACxBwgH,EAAcpsI,KAAK,CACjBgoE,IAAKp8C,EAAMo8C,IACXilE,UAAWrhH,EAAMqD,UACjBi+G,UAAWthH,EAAMoD,aAKvBi0I,GAAatwI,GACbw5H,EAAkBiB,GAClB4S,GAA0ByE,EAC5B,CACM35I,EAAerwB,KAAKwM,MACxBs9J,EAAgB7wI,aAAa4iG,aAAe,MAE9Ch6H,QAAQe,IAAI,sBAAmC,OAAZytB,QAAY,IAAZA,OAAY,EAAZA,EAAc66I,eAG/C76I,GACAA,EAAa66I,eACD,OAAZ76I,QAAY,IAAZA,GAA2B,QAAf45I,EAAZ55I,EAAc66I,qBAAa,IAAAjB,GAA3BA,EAA6Bv8H,WAE7Bo8H,EAAgBr4B,eAAez8F,OAAO,EAAG,EAAG,CAC1Ck6F,WAAY,EACZzoI,YAAa,EACb8mE,IAAK,EACL0gE,WAAY,KACZgE,iBAAkB,KAClBz6G,YAAa,EACbglC,YAAa,KACb9uB,WAAY,KACZooB,YAAa,GACbC,UAAW,GACXN,aAAc,GACdI,WAAY,GACZhhD,UAAU,EACVg9H,aAAc,KACdpD,WAAY,KACZC,cAAc,EACdE,YAAa,KACbb,oBACc,OAAZ19G,QAAY,IAAZA,GAA2B,QAAfs6I,EAAZt6I,EAAc66I,qBAAa,IAAAP,GAAY,QAAZC,EAA3BD,EAA6Bj9H,kBAAU,IAAAk9H,OAA3B,EAAZA,EAAyC78B,sBAG7C+7B,EAAgBr4B,eAAez8F,OAAO,EAAG,EAAG,CAC1Ck6F,WAAY,EACZzoI,YAAa,EACb8mE,IAAK,EACL0gE,WAAY,KACZgE,iBAAkB,KAClBz6G,YAAa,EACbglC,YAAa,KACb9uB,WAAY,KACZooB,YAAa,GACbC,UAAW,GACXN,aAAc,GACdI,WAAY,GACZhhD,UAAU,EACVg9H,aAAc,KACdpD,WAAY,KACZC,cAAc,EACdE,YAAa,KACbb,oBAAqB,sBAGzBlsI,QAAQe,IAAIknK,GAEZ1E,EAAuB0E,GAEvB7hC,EAAgB6hC,GAChBkB,GAA0BlB,EAAiB5xI,GAC3C+yI,GAA0BnB,GAC1BnE,IACiB,OAAfmE,QAAe,IAAfA,GAA6B,QAAdI,EAAfJ,EAAiB7wI,oBAAY,IAAAixI,OAAd,EAAfA,EAA+BlhJ,cAC7B,OACe,OAAf8gJ,QAAe,IAAfA,GAA6B,QAAdK,EAAfL,EAAiB7wI,oBAAY,IAAAkxI,OAAd,EAAfA,EAA+B9/I,eAEnCo7I,GAAoC,OAAfqE,QAAe,IAAfA,GAA6B,QAAdM,EAAfN,EAAiB7wI,oBAAY,IAAAmxI,OAAd,EAAfA,EAA+B9hF,mBACpD49E,IAAU,GAAO,yBAAA3jK,EAAA7B,OAAA,GAAA2B,EAAA,oBAEpBzB,MAAA,KAAAC,UAAA,CAE6B,SAAAwoK,KAkE7B,OAlE6BA,GAAAxqK,YAAAC,IAAAC,MAA9B,SAAA+6B,EAA+B6lF,GAAe,IAAAr9G,EAAA6oK,EAAAC,EAAAtB,EAAAuB,EAAAx3E,EAAAy3E,EAAA,OAAAxsK,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAQ3C,OAPK+C,EAAW,CACfmE,gBACiBzJ,IAAf2iH,GACe,OAAfA,GACsB,IAAtBA,EAAWj7G,OACPyG,OAAOw0G,GACP,MACPxlF,EAAA56B,KAAA,EAEwBuoD,eAAa,KAAD,EAArB,QAGG9qD,KAHfmuK,EAAYhxI,EAAA35B,OAIG,OAAjB2qK,GACwB,IAAxBA,EAAazmK,OAAY,CAAAy1B,EAAA56B,KAAA,SAE6B,QAE/BvC,KAFnBouK,EAAgBD,EAAa,GAAGziH,OAAO5iD,MAAM,MAEjC,IACO,OAArBslK,EAAc,IACc,IAA5BA,EAAc,GAAG1mK,OAAY,CAAAy1B,EAAA56B,KAAA,SAED,GAA5B8mK,GAAW8E,EAAa,IAEE,OAAxB7oK,EAASmE,WAAmB,CAAA0zB,EAAA56B,KAAA,gBAAA46B,EAAA56B,KAAA,GAASmmF,GAAgBpjF,GAAS,QAAA63B,EAAA9W,GAAA8W,EAAA35B,KAAA25B,EAAA56B,KAAA,iBAAA46B,EAAA9W,GAAG,CAAC,EAAE,KAAD,GAD7C,OAApBymJ,EAAoB3vI,EAAA9W,GAAA8W,EAAA56B,KAAA,GAEOwoD,eAAmB,KAAD,GACZ,GADjCsjH,EAAkBlxI,EAAA35B,KACtBymK,GAAiBoE,QAGKruK,IAApB8sK,GACoB,OAApBA,GACwC,IAAxCt/J,OAAOC,KAAKq/J,GAAiBplK,OAAY,CAAAy1B,EAAA56B,KAAA,SAMxC,OAJGs0F,EAAaw3E,EAAmB12J,QAClC,SAAClD,GAAS,OAAKA,EAAK82C,SAAWuhH,EAAgB9gJ,YAAY,IAG5DmR,EAAA56B,KAAA,GAEuCimF,GACtC,CAAEx8D,aAAc8gJ,EAAgB9gJ,eAChC,KAAD,GAE0B,QAJvBsiJ,EAA2BnxI,EAAA35B,YAIJ,IAA3B8qK,KAA6Bt+G,MAAK,SAAC1U,EAAQ2U,GAAM,OAC/C4vC,GAAWvkD,EAAG2U,EAAG,aAAc,MAAM,IAGZ,OAA3Bq+G,QAA2B,IAA3BA,KAA6Bt2H,OAAO,EAAG,GACvCqyH,GAA8BiE,GACJ,IAAtBz3E,EAAWnvF,SACb4gK,GAA4B,SAAC3rI,GAAc,OAAA3qB,wBAAA,GACtC2qB,GACAk6D,EAAW,GAAE,IAGlB4yE,IAAgB,IACjB,QAGHF,GAAiBnd,QAAQgiB,EAAc,KAAKjxI,EAAA56B,KAAA,iBAE5CknK,IAAgB,GAChBF,IAAiB,GAAO,yBAAApsI,EAAAz5B,OAAA,GAAAo5B,EAAA,KAG7BuvI,GAAAzoK,MAAA,KAAAC,UAAA,UACcmqK,GAAyB7kK,EAAAkmB,GAAA,OAAAk/I,GAAA3qK,MAAC,KAADC,UAAA,UAAA0qK,KA6JvC,OA7JuCA,GAAA1sK,YAAAC,IAAAC,MAAxC,SAAAu7B,EACEwvI,EACA5xI,GAAc,IAAAszI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAttK,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAUJ,OAVI06B,EAAA36B,KAAA,EAGRksK,OAC2CxuK,IAA7C8sK,EAAgB7wI,aAAanQ,aACoB,OAA7CghJ,EAAgB7wI,aAAanQ,YACyB,IAApDghJ,EAAgB7wI,aAAanQ,YAAYpkB,OACvC,GACA1E,KAAKwM,MAAMs9J,EAAgB7wI,aAAanQ,aAE5C,GAAEmR,EAAA16B,KAAA,EAC6BqoD,eAAkB,KAAD,EAA1B,OAAxB6jH,EAAwBxxI,EAAAz5B,KAAAy5B,EAAA16B,KAAA,EACasoD,eAAmB,KAAD,EAA3B,QAGG7qD,KAH/B0uK,EAA4BzxI,EAAAz5B,OAIG,OAAjCkrK,EAAqC,CAAAzxI,EAAA16B,KAAA,SAAA06B,EAAA16B,KAAA,iBAgFrC,OA7EIosK,EAAkBD,EAA6B/2J,QACjD,SAACtU,GACC,GACEA,EAAKkoD,SACHuhH,EAAgB7wI,aAAaxyB,WAAWc,YACtB,eAApBlH,EAAK2tJ,WAEL,OAAO,CACX,IAEE4d,EAAqBF,EAA6B/2J,QACpD,SAACtU,GACC,GACEA,EAAKkoD,SACHuhH,EAAgB7wI,aAAaxyB,WAAWc,YACtB,eAApBlH,EAAK2tJ,WAEL,OAAO,CACX,IAEE6d,EAAmBH,EAA6B/2J,QAClD,SAACtU,GACC,GACEA,EAAKkoD,SACHuhH,EAAgB7wI,aAAaxyB,WAAWc,YACtB,eAApBlH,EAAK2tJ,WAEL,OAAO,CACX,IAEE8d,EAAsBJ,EAA6B/2J,QACrD,SAACtU,GACC,GACEA,EAAKkoD,SACHuhH,EAAgB7wI,aAAaxyB,WAAWc,YACtB,eAApBlH,EAAK2tJ,WAEL,OAAO,CACX,IAEE+d,EAAsB7zI,EAAUvjB,QAAO,SAACtU,GAC1C,GAAuB,eAAnBA,EAAKm0B,UAA4B,OAAO,CAC9C,IAEIw3I,EACyB,IAA3BL,EAAgBjnK,QAEW,OAAvBinK,EAAgB,GADhB,KAGA3rK,KAAKwM,MAAMm/J,EAAgB,GAAGjjH,QAChCujH,EAC0B,IAA5BJ,EAAiBnnK,QAEW,OAAxBmnK,EAAiB,GADjB,KAGA7rK,KAAKwM,MAAMq/J,EAAiB,GAAGnjH,QACjCwjH,EAC4B,IAA9BN,EAAmBlnK,QAEW,OAA1BknK,EAAmB,GADnB,KAGA5rK,KAAKwM,MAAMo/J,EAAmB,GAAGljH,QAEnCyjH,EAC6B,IAA/BL,EAAoBpnK,QAEW,OAA3BonK,EAAoB,GADpB,KAGA9rK,KAAKwM,MAAMs/J,EAAoB,GAAGpjH,QAEpC0jH,EAC6B,IAA/BL,EAAoBrnK,QAEW,OAA3BqnK,EAAoB,GADpB,KAGA/rK,KAAKwM,MAAMu/J,EAAoB,GAAGx3I,WAExC0F,EAAA16B,KAAA,GAEM0oI,GAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZutH,kCACgClqJ,IAA9BgvK,GACkC,OAA9BA,EACuC,IAArCA,EAA0BtnK,OACxB,KACAsnK,EAEJ,KAENvlB,qCACyBzpJ,IAAvB4uK,GAC2B,OAAvBA,EACgC,IAA9BA,EAAmBlnK,OACjB,KACAwnK,EAEJ,KAENvlB,mCACiC3pJ,IAA/BivK,GACmC,OAA/BA,EACwC,IAAtCA,EAA2BvnK,OACzB,KACAunK,EAEJ,KAEN9kB,sCAC0BnqJ,IAAxB8uK,GAC4B,OAAxBA,EACiC,IAA/BA,EAAoBpnK,OAClB,KACAynK,EAEJ,KAENppB,wBAC0B/lJ,IAAxB+uK,GAC4B,OAAxBA,EACiC,IAA/BA,EAAoBrnK,OAClB,KACA0nK,EAEJ,MAAI,IACR,KAAD,UAAAnyI,EAAA16B,KAAA,GAGC0oI,GAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ0xH,gBAAiBmgB,GAAY,IAC3B,KAAD,GACHa,GAA4BZ,EAA0B3B,GAAiB7vI,EAAA16B,KAAA,iBAAA06B,EAAA36B,KAAA,GAAA26B,EAAA5W,GAAA4W,EAAA,SAEvEp4B,QAAQC,MAAM,gBAAem4B,EAAA5W,IAAS,yBAAA4W,EAAAv5B,OAAA,GAAA45B,EAAA,mBAEzCixI,GAAA3qK,MAAA,KAAAC,UAAA,UACcwrK,GAA2B/zI,EAAAC,GAAA,OAAA+zI,GAAA1rK,MAAC,KAADC,UAAA,UAAAyrK,KAezC,OAfyCA,GAAAztK,YAAAC,IAAAC,MAA1C,SAAA67B,EACE2xI,EACAzC,GAAoB,IAAA0C,EAAA,OAAA1tK,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,UAEA,OAAhBgtK,EAAoB,CAAAhyI,EAAAh7B,KAAA,QAIrB,OAHGitK,EAAiCD,EAAY53J,QAC/C,SAACtU,GAAS,OACRA,EAAKkoD,SAAWuhH,EAAgB7wI,aAAaxyB,WAAWc,UAAU,IACrEgzB,EAAAh7B,KAAA,EAEK0oI,GAAgB,SAACtuG,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZg0H,cAAe6e,GAA8B,IAC3C,KAAD,mBAAAjyI,EAAA75B,OAAA,GAAAk6B,EAAA,MAENh6B,MAAA,KAAAC,UAAA,CAED,SAASoqK,GAA0BnB,GACjC,IAAK,IAAD2C,EACEttK,EACJ,IAAiD,KAAjB,QAA5BstK,EAAA3C,EAAgB7wI,oBAAY,IAAAwzI,OAAA,EAA5BA,EAA8BvkC,YAAsB,CACtDF,GAAuB,KAErB7oI,EAD+C,KAA7C2qK,EAAgB7wI,aAAa4iG,YACrB77H,KAAKwM,MAAMs9J,EAAgB7wI,aAAa4iG,aAAah+H,MAErD,GAEZ,IAAK,IAAIoG,EAAI,EAAGA,EAAI9E,EAAQuF,OAAQT,IAElC,IADA,IAAMqR,EAAMnW,EAAQ8E,GACXI,EAAI,EAAGA,EAAIiR,EAAIxX,OAAO4G,OAAQL,IAAK,CAC1BiR,EAAIxX,OAAOuG,QACMrH,GAA7BmC,EAAQ8E,GAAGnG,OAAOuG,GAAGw9C,OACvB1iD,EAAQ8E,GAAGnG,OAAOuG,GAAS,KAAI6e,eAEnC,CAEFmK,IAAe,SAACsM,GAAc,OAAA3qB,wBAAA,GACzB2qB,GAAS,IACZ97B,MAAOsB,GAAO,GAElB,MACE6oI,GAAuB,KACvBV,GAAiBwiC,EAAgB7wI,aAAagqI,SAElD,CAAE,MAAOnhK,GAAQ,CACnB,CAAC,SACc4qK,KAAiB,OAAAC,GAAA/rK,MAAC,KAADC,UAAA,UAAA8rK,KAE/B,OAF+BA,GAAA9tK,YAAAC,IAAAC,MAAhC,SAAAo8B,IAAA,OAAAr8B,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OACEgiB,GAAwB,GAAM,wBAAAwZ,EAAAr6B,OAAA,GAAAy6B,EAAA,MAC/Bv6B,MAAA,KAAAC,UAAA,UACc+rK,KAAe,OAAAC,GAAAjsK,MAAC,KAADC,UAAA,UAAAgsK,KAQ7B,OAR6BA,GAAAhuK,YAAAC,IAAAC,MAA9B,SAAA2gC,IAAA,IAAAoR,EAAAC,EAAA,OAAAjyC,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OACMuxC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAE9C5mB,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,+BAAArzC,OAA8BiiH,GAAU,YAClD,UACA,wBAAA7kF,EAAAp6B,OAAA,GAAAg/B,EAAA,KACHmtI,GAAAjsK,MAAA,KAAAC,UAAA,CACD,IAAM0tC,GAAO,eAAA3vC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAqN,EAAA7H,EAAA84G,EAAAwvD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAArqJ,EAAA/a,EAAAqlK,EAAAC,EAAAC,EAAAhC,EAAAiC,EAAA5e,EAAA6e,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAzvK,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAyDZ,IAxDE8M,EAAU2mI,GACNh6G,cAAgB,GAElBx0B,EAAK6H,EAAQolI,eAAe50H,MAAK,SAACjU,GAAM,OAAuB,IAAlBA,EAAE4uB,WAAiB,IAE1C,MAAxBuwG,IACF17H,EAAQ4sB,aAAa4iG,YAAc77H,KAAKC,UAAS+O,wBAAC,CAAC,EAC9Coe,IAAW,IACd89I,cAAe,CAAEx9H,WAAYlpC,MAE/B6H,EAAQ4sB,aAAaivG,YAAa,EAClC77H,EAAQ4sB,aAAagqI,SAAW,IACC,MAAxBl7B,KACT17H,EAAQ4sB,aAAa4iG,YAAc,GACnCxvH,EAAQ4sB,aAAaivG,YAAa,EAClC77H,EAAQ4sB,aAAagqI,SAAW57B,IAEnB,QAAX7wH,IACFnK,EAAQ4sB,aAAa48B,WAAgC,QAAtBynD,EAAGr7F,EAAS3a,kBAAU,IAAAg2G,OAAA,EAAnBA,EAAqB/1G,WACvD8E,EAAQ4sB,aAAaw8B,aAAehwD,OAASJ,OAC3C,uBAEFgH,EAAQ4sB,aAAa88B,UAA+B,QAAtB+2G,EAAG7qJ,EAAS3a,kBAAU,IAAAwlK,OAAA,EAAnBA,EAAqBvlK,WACtD8E,EAAQ4sB,aAAa68B,YAAcrwD,OAASJ,OAAO,wBAC/B,SAAXmR,KACTnK,EAAQ4sB,aAAa48B,WAAgC,QAAtBk3G,EAAG9qJ,EAAS3a,kBAAU,IAAAylK,OAAA,EAAnBA,EAAqBxlK,WACvD8E,EAAQ4sB,aAAaw8B,aAAehwD,OAASJ,OAC3C,yBAIA6iK,IAAkBG,MAChB4E,EAA0B,GAExBC,EAAkB,OAAP7gK,QAAO,IAAPA,GAA0B,QAAnB2gK,EAAP3gK,EAAS0mJ,yBAAiB,IAAAia,OAAnB,EAAPA,EAA4Br4J,QAC3C,SAAC/L,GAAM,MAAmB,KAAdA,EAAE+rB,OAAc,IAE1BuzI,IACF+E,EAAmB1nK,KAAI3E,MAAvBqsK,EAAkB9nK,YAAS+iK,KAEzBG,IACF4E,EAAmB1nK,KAAI3E,MAAvBqsK,EAAkB9nK,YAASkjK,KAEzB6E,EAASxoK,OAAS,GACpBwoK,EAASnoK,SAAQ,SAAC+wB,GAChBm3I,EAAmB1nK,KAAKuwB,EAC1B,IAEEm3I,EAAmBvoK,OAAS,IAC9B2H,EAAQ0mJ,kBAAoBka,IAGhCprK,QAAQe,IAAIyJ,EAAQ0mJ,mBAEpB1mJ,EAAQolI,eAAiBplI,EAAQolI,eAAe98H,QAC9C,SAAC/L,GAAM,OAAuB,IAAlBA,EAAE4uB,WAAiB,IAE5BquI,GAAS,CAADxmK,EAAAE,KAAA,iBAEkCvC,IAA3CqP,EAAQ4sB,aAAaqvD,wBACiBtrF,IAAtCqP,EAAQ4sB,aAAajQ,mBACiBhsB,IAAtCqP,EAAQ4sB,aAAa5O,cACsB,OAA3Che,EAAQ4sB,aAAaqvD,mBACiB,OAAtCj8E,EAAQ4sB,aAAajQ,cACiB,OAAtC3c,EAAQ4sB,aAAa5O,cAC6B,IAAlDhe,EAAQ4sB,aAAaqvD,kBAAkB5jF,QACM,IAA7C2H,EAAQ4sB,aAAajQ,aAAatkB,QACW,IAA7C2H,EAAQ4sB,aAAa5O,aAAa3lB,OAAY,CAAArF,EAAAE,KAAA,YAGjC,QAAXiX,GAAgB,CAAAnX,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACNkmF,GAAyB,CAC7Bz8D,aAAcgqH,EAAa/5G,aAAajQ,eACxC,QAAA3pB,EAAAgkB,GAAAhkB,EAAAmB,KAAAnB,EAAAE,KAAA,iBAAAF,EAAAgkB,GACF,KAAK,KAAD,GALoB,QAOGrmB,KAP7BmwK,EAA0B9tK,EAAAgkB,KAQG,OAA/B8pJ,GACmD,IAAnD3iK,OAAOC,KAAK0iK,GAA4BzoK,QAC7B,QAAX8R,GAAgB,CAAAnX,EAAAE,KAAA,SAMb,OAJH4T,EAAY,CACV1D,YAAY,4BACZkC,QAAQ,4BACRzT,KAAM,YACLmB,EAAAoB,OAAA,kBAMe,GAHlBylK,IAAU,GACNpjJ,EAAgB,CAAC,EAEjBsqJ,EAAW,IACX5G,GAAa,CAADnnK,EAAAE,KAAA,SA+CkD,GA7C1B,SAApC8lK,EAAyB38G,QACoB,IAA7C28G,EAAyBt2B,SAASrqI,QAElCoe,EAAS6tD,SAAW,KACpB7tD,EAASolB,OAAS8qG,EAAa/5G,aAAajQ,aAC5ClG,EAASlL,OAASytJ,EAAyB38G,OAC3C5lC,EAAS8tD,OAASy0F,EAAyBhc,OAC3CvmI,EAAS+tD,OAAS,IAClB/tD,EAASguD,QACP3lE,OAAOk6J,EAAyB/b,QAAU,GAC1C/hJ,WAIFub,EAASlO,WAAaywJ,EAAyBrX,WAC/ClrI,EAASjO,SAAWwwJ,EAAyB39G,SAC7C5kC,EAASyqD,IAAM,KAEfzqD,EAASizC,UAAY9zC,EAAS3a,WAAWC,WACzCub,EAASgzC,YAAcrwD,OAASJ,OAAO,uBACvCyd,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,WAC1Cub,EAAS2yC,aAAehwD,OAASJ,OAAO,yBAExCyd,EAAS6tD,SAAWxlE,OAAOk6J,EAAyBt2B,UACpDjsH,EAASolB,OAAS8qG,EAAa/5G,aAAajQ,aAC5ClG,EAASlL,OAASytJ,EAAyB38G,OAC3C5lC,EAAS8tD,QACPy0F,EAAyBhc,OACrB,WAENvmI,EAAS+tD,OAASw0F,EAAyB7b,OAC3C1mI,EAASguD,OAC6B,YAApCu0F,EAAyBhc,QACpBl+I,OAAOk6J,EAAyB/b,QAAU,GAAG/hJ,WAC9C89J,EAAyB/b,OAC/BxmI,EAASlO,WAAaywJ,EAAyBrX,WAC/ClrI,EAASjO,SAAWwwJ,EAAyB39G,SAC7C5kC,EAASyqD,IAAM83F,EAAyB72F,IACxC1rD,EAAS2yC,aAAehwD,OAASJ,OAAO,uBACxCyd,EAASizC,UAAYsvG,EAAyB/V,UAC9CxsI,EAASgzC,YAAcuvG,EAAyB9V,YAChDzsI,EAAS+yC,WAAa5zC,EAAS3a,WAAWC,YAE5C8E,EAAQmiK,eAAiB1rJ,EACzBzW,EAAQ4sB,aAAa48B,WAAa5zC,EAAS3a,WAAWC,WACtD8E,EAAQ4sB,aAAa88B,UAAY9zC,EAAS3a,WAAWC,aAEf,YAApC89J,EAAyBhc,QACzBl+I,OAAOk6J,EAAyB/b,QAAU,EAAI,GAAC,CAAAjqJ,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GAEnCwmF,GAAY15E,GAAS,KAAD,GAAhCtE,EAAG1I,EAAAmB,KAAAnB,EAAAE,KAAA,wBAAAF,EAAAE,KAAA,GAESymF,GAAsB35E,GAAS,KAAD,GAAvC,OAAHtE,EAAG1I,EAAAmB,KAAAnB,EAAAE,KAAA,GAEKimF,GAA8B,CAClCx8D,aAAkC,QAAtBqkJ,EAAEhhK,EAAQ4sB,oBAAY,IAAAo0I,OAAA,EAApBA,EAAsBrkJ,eACnC,KAAD,IAHAsiJ,EAA2BjsK,EAAAmB,MAIHwsD,MAAK,SAAC1U,EAAQ2U,GAAM,OAC9C4vC,GAAWvkD,EAAG2U,EAAG,aAAc,MAAM,IAEvCq+G,EAA4Bt2H,OAAO,EAAG,GACtCo4H,EAAQ,uCAAA1vK,OAGL,QAHK4vK,EACNhC,EACEA,EAA4B5mK,OAAS,UACtC,IAAA4oK,OAAA,EAFDA,EAEGtkJ,aAAY,qBAAAtrB,OAC8B,OAA3B4tK,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6B5mK,OAAM,YAAW,QAAArF,EAAAE,KAAA,iBAUlE,OAPF8M,EAAQ4sB,aAAa88B,UAAY9zC,EAAS3a,WAAWC,WACrD8E,EAAQ4sB,aAAa68B,YAAcrwD,OAASJ,OAC1C,uBAEFgH,EAAQ4sB,aAAa48B,WAAgC,QAAtB03G,EAAGtrJ,EAAS3a,kBAAU,IAAAimK,OAAA,EAAnBA,EAAqBhmK,WACvD8E,EAAQ4sB,aAAaw8B,aAAehwD,OAASJ,OAC3C,uBACAhG,EAAAE,KAAA,GACUwmF,GAAY15E,GAAS,KAAD,GAAhCtE,EAAG1I,EAAAmB,KAAA,QAGDuH,EACa,QAAXyO,IACFoiD,GAAQrzD,KAAK,8BAA+B,CAC1CkpK,mBAAoB,OACpBC,aAAc,QAEhBxI,IAAU,IACU,SAAX1vJ,IAAqBgwJ,GACN,IAApB4G,EAAS1oK,QACXk0D,GAAQrzD,KAAK6nK,GACbx0G,GAAQ+1G,GAAG,IAEXlG,KAEkB,SAAXjyJ,IAAsBgwJ,IAC/BiC,MAGEoF,EAA2B,CAC7BvlF,kBAC4D,KAA9C,OAAZ0qD,QAAY,IAAZA,GAA0B,QAAd2b,EAAZ3b,EAAc/5G,oBAAY,IAAA01H,GAAmB,QAAnB6e,EAA1B7e,EAA4BrmE,yBAAiB,IAAAklF,OAAjC,EAAZA,EAA+C9oK,QAGjDskB,aACuD,KAAzC,OAAZgqH,QAAY,IAAZA,GAA0B,QAAdy6B,EAAZz6B,EAAc/5G,oBAAY,IAAAw0I,GAAc,QAAdC,EAA1BD,EAA4BzkJ,oBAAY,IAAA0kJ,OAA5B,EAAZA,EAA0ChpK,QAG5C2lB,aACuD,KAAzC,OAAZ2oH,QAAY,IAAZA,GAA0B,QAAd26B,EAAZ36B,EAAc/5G,oBAAY,IAAA00I,GAAc,QAAdC,EAA1BD,EAA4BtjJ,oBAAY,IAAAujJ,OAA5B,EAAZA,EAA0ClpK,SAI9CqjK,GAAyB8F,GAEzB1I,EADiBD,GAEjBgB,IAAU,IACX,QAAA7mK,EAAAE,KAAA,iBAGCsuK,EAA2B,CAC7BvlF,kBACmD,QAAxB,QAAzBwlF,EAAA96B,EAAa/5G,oBAAY,IAAA60I,OAAA,EAAzBA,EAA2BxlF,oBACkC,KAAhC,QAAzBylF,EAAA/6B,EAAa/5G,oBAAY,IAAA80I,GAAmB,QAAnBC,EAAzBD,EAA2BzlF,yBAAiB,IAAA0lF,OAAnB,EAAzBA,EAA8CtpK,QAIpDskB,aAC8C,QAAnB,QAAzBilJ,EAAAj7B,EAAa/5G,oBAAY,IAAAg1I,OAAA,EAAzBA,EAA2BjlJ,eAC4B,KAA1B,QAAzBklJ,EAAAl7B,EAAa/5G,oBAAY,IAAAi1I,OAAA,EAAzBA,EAA2BllJ,aAAatkB,QAI9C2lB,aAC+C,QAAjC,OAAZ2oH,QAAY,IAAZA,GAA0B,QAAdm7B,EAAZn7B,EAAc/5G,oBAAY,IAAAk1I,OAAd,EAAZA,EAA4B9jJ,eAC4B,KAA3B,QAAzB+jJ,EAAAp7B,EAAa/5G,oBAAY,IAAAm1I,GAAc,QAAdC,EAAzBD,EAA2B/jJ,oBAAY,IAAAgkJ,OAAd,EAAzBA,EAAyC3pK,SAKjDqjK,GAAyB8F,GAEzB1I,EADiBD,GACO,QAAA7lK,EAAAE,KAAA,qBAEjBsmK,GAAS,CAADxmK,EAAAE,KAAA,SAMiD,OALlE8M,EAAQ4sB,aAAapkB,UAAW,EAChCxI,EAAQ4sB,aAAakrC,UAAW,EAChC93D,EAAQ4sB,aAAaw8B,aAAehwD,OAASJ,OAC3C,uBAEFgH,EAAQ4sB,aAAa48B,WAAgC,QAAtB04G,EAAGtsJ,EAAS3a,kBAAU,IAAAinK,OAAA,EAAnBA,EAAqBhnK,WAAWlI,EAAAE,KAAA,GAChD0mF,GAAe55E,GAAS,KAAD,GAAhChN,EAAAmB,MAEPo4D,GAAQrzD,KAAK,8BAA+B,CAC1CkpK,mBAAoB,OACpBC,aAAc,WAEhBxI,IAAU,KAEVA,IAAU,GACV/yJ,EAAY,CACV1D,YAAY,iCACZkC,QAAQ,QACRzT,KAAM,WAET,yBAAAmB,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,kBApQY,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAyXP+nH,GAAe,SAAC5zC,GACpBmwF,EAAcnwF,EAChB,EASgC,SAAAwS,KAiB/B,OAjB+BA,GAAA3oF,YAAAC,IAAAC,MAAhC,SAAAqxB,IAAA,IAAA43E,EAAA4mE,EAAAhnF,EAAAE,EAAAliF,EAAA62B,EAAAE,EAAAjyB,EAAAzF,EAAA,OAAAnG,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,cAAAk8B,EAAAl8B,KAAA,EAC6BomF,KAAc,KAAD,EAWxC,IAXIqiB,EAAcvsE,EAAAj7B,KAEZouK,EAA6B,OAAd5mE,QAAc,IAAdA,OAAc,EAAdA,EAAgBrzF,QAAO,SAAC/L,GAAM,OAAKA,EAAEiM,QAAQ,IAE9D+yE,EAA0B,GAC1BE,EAA4B,OAAZ8mF,QAAY,IAAZA,OAAY,EAAZA,EAAcnrH,QAAO,SAAU6D,EAAQhP,GAGzD,OAFAgP,EAAEhP,EAAEgwC,mBAAqBhhC,EAAEhP,EAAEgwC,oBAAsB,GACnDhhC,EAAEhP,EAAEgwC,mBAAmB/iF,KAAK+yC,GACrBgP,CACT,GAAG98C,OAAOkiD,OAAO,OAEjB9mD,EAAA,EAAA62B,EAA2BjyB,OAAOkyB,QAAQorD,GAAcliF,EAAA62B,EAAA/3B,OAAAkB,IAAE+2B,EAAA5pB,YAAA0pB,EAAA72B,GAAA,GAA9C8E,EAAGiyB,EAAA,GAAE13B,EAAK03B,EAAA,GACF13B,EAClB2iF,EAAmBriF,KAAK,CAAEN,MAAOyF,IAEnCq8E,EAAqBa,GAAoB,wBAAAnsD,EAAA/6B,OAAA,GAAA0vB,EAAA,MAC1CxvB,MAAA,KAAAC,UAAA,CAED,OACEhE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KAlJZzkB,cAAAC,WAAA,CAAAC,SACEF,cAAC+pB,IAAa,CACZ7C,QAASjC,EACToC,OAAQ,kBAAMvC,GAAwB,EAAM,EAC5C5P,QAAQ,oCACR4R,OAAO,eACPlQ,KAAK,6BACLiR,OAAQiqB,GACRzzB,OAAQ,WACNyG,GAAwB,GACxBukJ,IAAY,EACd,EACApiJ,aAAW,EACXK,WAAW,EACX85B,WAAW,MAuIfphD,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCE,eAAA,OACEY,UAAU,6BACVd,SAAA,CAEAE,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QA3Cd,WAEIwpG,IADED,GAKN,EAsCct+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,CAAC0D,yBAA0B,CAAC,OAEnD1tF,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CE,eAAA,OAAAF,SAAA,CACEE,eAAA,KACEY,UAAU,0BACVH,MAAO,CAAE6L,QAAS,OAAQiiD,UAAW,QAASzuD,SAAA,CAE7Cq+I,GACG,gBACW,SAAXxkI,GACA,sBACA,wBACS,OAAZw8H,QAAY,IAAZA,GAA0B,QAAd+xB,EAAZ/xB,EAAc/5G,oBAAY,IAAA8rI,OAAd,EAAZA,EAA4BgG,kBAC3BluK,eAAA,KAAGS,MAAO,CAAE+L,SAAU,OAAQG,MAAO,OAAQ7M,SAAA,CAAC,mBAC3B,IACJ,OAAZq2I,QAAY,IAAZA,GAA0B,QAAdgyB,EAAZhyB,EAAc/5G,oBAAY,IAAA+rI,OAAd,EAAZA,EAA4B+F,gBAAgB,UAInDluK,eAAA,OAAKY,UAAU,+BAA8Bd,SAAA,CAC3CF,cAAA,OAAAE,SAAM6oK,KACN/oK,cAAA,OAAAE,SAAM+oK,WAGVjpK,cAAA,OAAKgB,UAAU,yCAAwCd,WACvC,OAAZq2I,QAAY,IAAZA,GAA0B,QAAdiyB,EAAZjyB,EAAc/5G,oBAAY,IAAAgsI,GAA1BA,EAA4B8F,kBAxKxCluK,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aACEloD,cAACiqG,IAAgB,CAACn3F,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAExDrxC,aAAc,kBACZyT,GAAQrzD,KAAK,0CAA0C,EAEzDs/C,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,oBACR1R,SAAU,OACVo3B,WAAY,UACZj3B,MAAO,UACP4I,MAAO,WAGC,SAAXoE,KAAsBuvJ,IACrBtpK,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aACEloD,cAACoyK,KAAS,CAACt/J,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEjDrxC,aAAc,WACZ3lD,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,+BAAArzC,OAA8BiiH,GAAU,WAClD,SACA,aAEJ,EACA96D,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,QACPoK,OAAQ,UAIF,SAAXhG,KAAsBuvJ,IACrBtpK,cAACsuE,GAAgB,CACfE,cAAc,SACdtmB,aACEloD,cAAC89I,IAAgB,CAAChrI,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAExDrxC,aAAc,WACZ5jC,GAAwB,GACxBukJ,IAAY,EACd,EACAjhH,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,2BACR1R,SAAU,OACV+I,MAAO,QACP6U,gBAAiB,MACjBzK,OAAQ,UAIF,SAAXhG,KAAsBuvJ,IACrBtpK,cAACsuE,GAAgB,CACfE,cAAc,UACdtmB,aACEloD,cAACqyK,KAAS,CAACv/J,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEjDrxC,aAAcynH,GACd/nH,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,QACPoK,OAAQ,UAKd/f,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aAAcloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAC1DrxC,aAAcunH,GACd7nH,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,QACPoK,OAAQ,qBAsFT0mD,GACCzmE,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAKwpC,GAAYvpC,IAAI,mBAI9B3lD,cAAAC,WAAA,CAAAC,SACGi/G,IACCn/G,cAAA,OAAKgB,UAAU,qDAAoDd,SACjEF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAC8+I,GAA4B,CAC3B3yB,aAAcA,GACdD,QAASu8C,EACTzhK,OAAQsiK,GACR/qB,UAAWsrB,WAOvB7pK,cAAA,OAAKgB,UAAU,gBAAed,SAC5BF,cAAA,OAAKgB,UAAU,2BAA0Bd,SACtCumE,GACCzmE,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAKwpC,GAAYvpC,IAAI,mBAI9BvlD,eAAAH,WAAA,CAAAC,SAAA,CACGi/G,IACCn/G,cAAC83G,KAAOn4C,IAAG,CACT3+D,UAAU,sCACVH,MAAO,CACL8U,MAAO,MACPskD,SAAU,QACVq4G,SAAU,SAEZ95D,QAAS,CAAEC,QAAS,EAAGjiE,GAAI,KAC3BwhE,QAAS,CAAES,QAAS,EAAGjiE,EAAG,GAC1B3F,KAAM,CAAE4nE,QAAS,EAAGjiE,GAAI,KACxBuhE,WAAY,CAAE3gG,SAAU,IAAMlX,SAE9BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAC8+I,GAA4B,CAC3B3yB,aAAcA,GACdD,QAASu8C,EACTzhK,OAAQsiK,GACR/qB,UAAWsrB,SAKnB7pK,cAACs4G,KAAe,CAACC,iBAAe,EAAAr4G,SAC9BE,eAAC03G,KAAOn4C,IAAG,CACTt+D,QAAM,EACNL,UAAU,wCACVH,MAAO,CAAE8U,MAAO,QAEhB6iG,QAAS,CAAEhiE,EAAG,GAAIiiE,QAAS,GAC3BT,QAAS,CAAExhE,EAAG,EAAGiiE,QAAS,GAC1B5nE,KAAM,CAAE2F,GAAI,GAAIiiE,QAAS,GACzBV,WAAY,CAAE3gG,SAAU,IAAMlX,SAAA,CAEd,gBAAfuoK,GACCzoK,cAACs4I,GAAqB,CACpBkB,qBAAsBjD,EACtBjsF,MAAOvwC,GACPswE,kBAAmBA,EACnBC,qBAAsBA,EACtByyD,mBAAoBvR,EACpB6S,gBAAiBgtB,GACjBkH,YAAa9rG,GACb83E,UAAWA,KAGC,iBAAfkqB,GACCzoK,cAAC8qI,GAAoB,CACnBD,iBAAkBA,GAClBW,gBAAiBA,EACjBZ,cAAeA,GACfh6G,eAAgBA,GAChBD,YAAaA,GACb46G,uBAAwBA,GACxBD,oBAAqBA,KAGT,uBAAfm9B,GACCzoK,cAACk0J,GAA8B,CAC7BlG,qBAAsBzX,EACtBi8B,WAAYz4J,GACZgjI,mBAAoBvR,EACpBqpB,gBAAiBte,EACjB5lH,YAAaA,KAGjB3wB,cAAA,OACEa,MAAO,CACL6L,QACiB,oBAAf+7J,EAAmC,QAAU,QAC/CvoK,SAEFF,cAAC+zI,GAAa,CACZnjH,eAAgBA,GAChBD,YAAaA,GACb4lH,aAAcA,EACd/K,gBAAiBA,EACjBp3E,aAAcs1G,GACd/3B,WAAYA,GACZU,cAAe83B,GACfl0B,kBAAmBA,OAGP,kBAAfwyB,GACCzoK,cAACunJ,GAAsB,CACrB32H,eAAgBA,GAChBD,YAAaA,GACb4lH,aAAcA,EACd/K,gBAAiBA,EACjByZ,YAAalrI,GACbivI,6BAA8BiiB,GAC9BxB,UAAWA,KAGC,eAAfhB,GACCzoK,cAACw2J,GAAiB,CAAAt2J,SAChBF,cAACokK,GAAoB,CACnBzzI,YAAaA,GACb6K,WAAY+6G,EAAa/5G,aAAaxyB,WACtCwhI,gBAAiBA,EACjBuuB,UAAWA,GACXwB,SAAUA,GACV8I,YAAa9tB,EAAa8tB,gBAIhB,wBAAfoE,GACCzoK,cAACmsJ,GAA2B,CAC1Bv7H,eAAgBA,GAChBD,YAAaA,GACb4lH,aAAcA,EACd/K,gBAAiBA,EACjByZ,YAAalrI,GACbqyI,qBAAsB4d,GACtBld,kBAAmBid,GACnBzd,iBAAkBsc,EAClBvc,oBAAqBwc,EACrBrc,mBAAoB+d,GACpB7d,QAASA,GACTH,gCACEoe,GAEFle,6BACEwe,GAAwBhiB,WAI9BjpJ,cAAA,OACEa,MAAO,CACL6L,QACiB,0BAAf+7J,EACI,QACA,QACNvoK,SAEFF,cAAC81J,GAAoB,CACnBr6H,UAAWA,GACXu5H,wBAAyBze,EACzBi8B,WAAYz4J,GACZgjI,mBAAoBvR,EACpBqpB,gBAAiBte,EACjB5lH,YAAaA,GACbukI,eAAgBA,SAlHfuT,mBA+H3B,ICptCegK,I,OAtRc,SAAChzK,GAC5B,IAAM8tE,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAChDh2D,EAA8BC,mBAAiB81D,EAAMnb,IAAI,SAAW,IAAG16C,EAAApB,YAAAkB,EAAA,GAAhEk7J,EAAOh7J,EAAA,GAAEi7J,EAAUj7J,EAAA,GAC1BgJ,EAA0BjJ,mBAAS,IAAGkJ,EAAArK,YAAAoK,EAAA,GACtCI,GADYH,EAAA,GAAUA,EAAA,GACgBlJ,mBAAiB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAC1DiB,GADkBhB,EAAA,GAAgBA,EAAA,GACYtJ,mBAAiB,KAAGuK,EAAA1L,YAAAyL,EAAA,GAClEE,GADsBD,EAAA,GAAoBA,EAAA,GACEvK,oBAAS,IAAMyK,EAAA5L,YAAA2L,EAAA,GAC3DyG,GADqBxG,EAAA,GAAmBA,EAAA,GACYzK,oBAAkB,IAAKkR,EAAArS,YAAAoS,EAAA,GAApE20C,EAAkB10C,EAAA,GAAE05C,EAAqB15C,EAAA,GAChDC,EAAkCnR,oBAAS,GAAKoR,EAAAvS,YAAAsS,EAAA,GAAzCu/C,EAASt/C,EAAA,GAAEu/C,EAAYv/C,EAAA,GAC9B2I,EAAkC/Z,oBAAS,GAAMga,EAAAnb,YAAAkb,EAAA,GAA1CohJ,EAASnhJ,EAAA,GAAEohJ,EAAYphJ,EAAA,GAC9BG,EAA4Bna,mBAAS,IAAGoa,EAAAvb,YAAAsb,EAAA,GAAjCkhJ,EAAMjhJ,EAAA,GAAEkhJ,EAASlhJ,EAAA,GAClBsqC,EAAUja,cAChBwR,EAMIphB,YAAQ,CACVosB,cAAe,CACbj8D,MAAO,GACPg7D,aAAc,GACdu1G,iBAAkB,MATpBtuI,EAAYgvB,EAAZhvB,aACAjkB,EAASizC,EAATjzC,UACA7Q,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACRuyD,EAAL7uB,MAQFr4B,qBAAU,WACgB,OAApB+gE,EAAMnb,IAAI,YAAsC7xD,IAApBgtE,EAAMnb,IAAI,OACxCugH,EAAWplG,EAAMnb,IAAI,OAAS,GAElC,GAAG,CAACmb,IACJ/gE,qBAAU,WACR,IAAMymK,EAAQ,eAAA9wK,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,OAAAF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACI,GAAnBslE,GAAa,KACTsqG,EAAQzqK,OAAS,GAAC,CAAArF,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACEK,MAAM,0CAA2C,CACrEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAE0lE,WAAYwpG,MAElCjvK,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACDA,EACFwkE,GAAa,GAEb2qG,EAAU,oMAEd,IAAG,KAAD,EAdSnwK,EAAAmB,KAAA,wBAAAnB,EAAAqB,OAAA,GAAA1B,EAAA,KAgBhB,kBAnBa,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAoBd6uK,GACF,GAAG,CAACP,IACJ,IAAM/tI,EAAQ,eAAArgC,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOX,GAAS,IAAA2gE,EAAA,OAAAliE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACW,GAApCyhE,EAAWxhE,OAAO2mB,SAAS86C,SAC7B5gE,EAAK65D,eAAiB75D,EAAKovK,iBAAgB,CAAAxuK,EAAA1B,KAAA,QACjB,OAA5Bu/D,GAAsB,GAAM79D,EAAA1B,KAAA,EACNK,MAAM,oCAAqC,CAC/DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBf,MAAOmB,EAAKnB,MACZgiE,YAAa7gE,EAAK65D,aAClBkH,OAGMJ,MAGP9gE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,IACQ,IAATA,EACFmvK,EAAU,qMAEVF,GAAa,EAEjB,IAAG,KAAD,EArBSruK,EAAAT,KAAAS,EAAA1B,KAAA,eAuBbu/D,GAAsB,GAAO,wBAAA79D,EAAAP,OAAA,GAAAM,EAAA,KAEhC,gBA7BaL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAyCd,OACEpE,cAAA,OAAKgB,UAAU,mCAAkCd,SAC7CwyK,EAiJAtyK,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9jB,IAAI,QAC9B3lD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC5BioE,EACC/nE,eAAA,OAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,cAAad,SAAC,yIAE3BF,cAACkxC,KAAI,CAACp+B,KAAK,aAGb9S,cAAAC,WAAA,CAAAC,SACG4yK,EAAO7qK,OAAS,EACf7H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4JAC3BF,cAAA,KAAGgB,UAAU,aAAYd,SAAE4yK,OAG7B1yK,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4JAC3BF,cAAA,UACEgB,UAAU,mBACVS,KAAK,SACLmU,QAAS,kBAAMumD,EAAQrzD,KAAK,SAAS,EAAC5I,SACvC,sLAvKbF,cAAAC,WAAA,CAAAC,SACI0yK,EA4FAxyK,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9jB,IAAI,QAC9B3lD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC5BioE,EACC/nE,eAAA,OACES,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfC,eAAgB,UAChBx0C,SAAA,CAEFE,eAAA,KAAGY,UAAU,cAAcH,MAAO,CAAE+L,SAAU,IAAK1M,SAAA,CAAC,gEAE3CugB,IAAYhe,MAAM,qPAExBge,IAAYhe,MAAM,2GAErBzC,cAAA,UACEgB,UAAU,mBACVS,KAAK,SACLmU,QAAS,kBAAMumD,EAAQrzD,KAAK,SAAS,EAAC5I,SACvC,8JAKHF,cAAAC,WAAA,CAAAC,SACG4yK,EAAO7qK,OAAS,EACf7H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,cAAad,SAAC,iHAC3BF,cAAA,KAAGgB,UAAU,aAAYd,SAAE4yK,OAG7B1yK,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,cAAad,SAAC,2GAC3BF,cAAA,UACEgB,UAAU,mBACVS,KAAK,SACLmU,QAAS,kBAAMumD,EAAQrzD,KAAK,SAAS,EAAC5I,SACvC,qKAlIbF,cAAA,QAAM2kC,SAAUD,EAAaC,GAAUzkC,SACrCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAACkzK,KAAa,CACZpgK,KAAM,GACN9R,UAAW,cACX4U,QAAS,kBAAMumD,EAAQg3G,QAAQ,IAGjCnzK,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9jB,IAAI,QAE9B3lD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wHAE7BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,2CAC1BF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAK,OACd7P,cAAA,SACEyB,KAAK,OACLT,UAAS,eAAAC,OACPE,EAAOsB,MAAQ,UAAY,IAE7BsQ,YAAY,uFACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAOsB,OACNzC,cAAA,KAAGgB,UAAU,aAAYd,SAAC,oHAG9BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,4FAC1BF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAK,OACd7P,cAAA,SACEozK,aAAa,eACb3xK,KAAK,WACLT,UAAS,eAAAC,OACPE,EAAOs8D,aAAe,UAAY,IAEpC1qD,YAAY,yGACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAOs8D,cACNz9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,sIAG9BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,oIAC1BF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAK,OACd7P,cAAA,SACEyB,KAAK,WACLT,UAAS,eAAAC,OACPE,EAAO6xK,mBAAqB31G,EACxB,UACA,IAENtqD,YAAY,qHACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAO6xK,kBAAoB31G,GAC1Br9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,gJAE1Bm9D,GACAr9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,oKAG9BF,cAAA,UAAQgB,UAAU,mBAAmBS,KAAK,SAAQvB,SAAC,+FAGlD4yK,EAAO7qK,OAAS,GACfjI,cAAA,KAAGgB,UAAU,aAAYd,SAAC,iJA2F5C,GCjJemzK,GAtIS,SAAC5zK,GACvB,IAAA+X,EAAgDC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAA5D87J,EAAgB57J,EAAA,GAAE67J,EAAmB77J,EAAA,GAC5CgJ,EAAkDjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA9D8yJ,EAAiB7yJ,EAAA,GAAE8yJ,EAAoB9yJ,EAAA,GAC9CnU,qBAAU,WACRknK,GACF,GAAG,CAACj0K,EAAMk0K,eACV,IAAMD,EAAqB,eAAAvxK,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAsD,EAAA,OAAAxD,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAG3B,OAFK+C,EAAW,CACf0qE,WAAY9wE,EAAMk0K,aAAaC,aAAarjG,YAC7C3tE,EAAAE,KAAA,EACgBK,MACf,qDACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAKL,IAJA,IAAIiwK,EAAejwK,EACbkwK,EAAkBr0K,EAAMk0K,aAAaI,eACvC7uJ,EAAgB,GAChB8uJ,EAAqB,EAChBxsK,EAAI,EAAGA,EAAIssK,EAAgB7rK,OAAQT,IAE1C,IADA,IAAMqsB,EAASigJ,EAAgBtsK,GACtBI,EAAI,EAAGA,EAAIisK,EAAa5rK,OAAQL,IAAK,CAC5C,IAAMrG,EAAWsyK,EAAajsK,GAC9B,GAAIisB,EAAO7pB,aAAezI,EAASyI,WAAY,CAC7C,IAAM0I,EAASmhK,EAAaG,GACtB7sI,EAAU5lC,EAChBsyK,EAAajsK,GAAK8K,EAClBmhK,EAAaG,GAAsB7sI,EACnC6sI,GAAsB,EACtB9uJ,EAASpc,KAAKvH,EAChB,CACF,CAEFkyK,EAAqB,GAADxyK,OAAKikB,IACzBquJ,EAAmB7qK,YAAKmrK,GAC1B,IAAG,KAAD,EAhCIjxK,EAAAmB,KAAA,wBAAAnB,EAAAqB,OAAA,GAAA1B,EAAA,KAiCT,kBArC0B,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAuC3B,OACEhE,eAAA,OAAAF,SAAA,CAAK,kBAEHF,cAAA,OAAKgB,UAAU,kBAAiBd,SAC9BE,eAAC+wE,KAAS,CACR8V,WAAS,EACTjmF,UAAU,mBACVijB,KAAM,GACNzb,MAAO8qK,EACPxrF,cAAc,MACdD,QAAS,CACPj6D,aAAc,CACZplB,MAAO,KACPy2E,UAAWC,KAAgBM,UAE7BjzD,aAAa,CACX/jB,MAAM,KACNy2E,UAAUC,KAAgBM,WAI9BnO,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhBkW,UAAWgsF,EACX/rF,kBAAmB,SAACt7E,GAMlB1M,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ62I,eAAcrrK,YAAMyD,EAAE3D,QAAM,IAE9BirK,EAAqBtnK,EAAE3D,MACzB,EACA+oE,QAAQ,aACRC,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLsoB,cAAc,WACdutF,YAAa,CAAEx4H,MAAO,SAGtB3V,cAACs4B,KAAM,CACPzoB,MAAM,eACNqI,QAAM,EACNg8J,kBAAkB,0BAClBptJ,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,eACNqI,QAAM,EACNg8J,kBAAkB,sBAClBptJ,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,cAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oFAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,QACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,6DAS7C,E,OC3He,SAASi0K,GAA2B10K,GACjD,IAAA+X,EAAsCC,wBACflX,GAArBd,EAAMuT,YAA2B,GAAKvT,EAAMuT,aAC7C0E,EAAApB,YAAAkB,EAAA,GAFMxE,EAAW0E,EAAA,GAAE08J,EAAc18J,EAAA,GAG5B+M,EAAQ4D,mBA6Bd,SAASgsJ,IACP,IAAIC,EAAc70K,EAAMusB,sBACxBsoJ,EAAY70K,EAAM80K,OAAOvhK,YAAcA,EACvCshK,EAAY70K,EAAM80K,OAAOC,cAAgBxrK,KAAO,IAAI2R,MAAQ/R,OAC1D,uBAEFnJ,EAAM2lC,yBAAwB18B,YAAK4rK,IACnC70K,EAAMg1K,kBAAiB,GACvBL,EAAe,GACjB,CACA,OACEp0K,cAAA,OAAAE,SACEE,eAAC4mB,IAAM,CACLF,OAzCS,WACb,OACE1mB,eAAA,OAAKY,UAAU,aAAYd,SAAA,CACzBF,cAAC00K,KAAa,IAAG,IAAC10K,cAAA,KAAGgB,UAAU,eAAcd,SAAC,uBAGpD,EAoCMgnB,QAASznB,EAAMk1K,cACf9zK,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCw3F,iBAAe,EACfvnF,WAAW,EACX85B,WAAW,EACXD,UAAU,EACV95B,OAAQ,kBAAM5nB,EAAMg1K,kBAAiB,EAAM,EAC3CltJ,OA1CS,WACb,OACEnnB,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,UACEgB,UAAU,oBACV4U,QAAS,WACPnW,EAAMg1K,kBAAiB,GACvBL,EAAe,GACjB,EAAEl0K,SACH,WAGDF,cAAA,UAAQgB,UAAU,qBAAqB4U,QAASy+J,EAAWn0K,SAAC,cAKlE,EAyBqBA,SAAA,CAEfF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZzkB,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAAC8yE,KAAa,CACZngE,GAAG,cACHwC,WAAW,EACX8O,KAAM,EACN4zB,KAAM,GACNrvC,MAAOwK,EACPP,SAlCV,SAA6BtG,GAC3BioK,EAAejoK,EAAEuG,OAAOlK,MAC1B,EAiCUuK,YAAa,4GACb4iH,YAAU,UAMtB,CCpDA,IAg5Bei/C,GAh5Ba,SAACn1K,GAAkB,IAADo1K,EACtCpwJ,EAAQ4D,iBAAY,MAClB3R,EAAgBkH,cAAhBlH,YACFtB,EAAMiT,mBACZ7Q,EAAkCC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAxC4wD,GAAF1wD,EAAA,GAAcA,EAAA,IAC9BgJ,EAAoCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAhDo0J,EAAUn0J,EAAA,GAAEo0J,EAAap0J,EAAA,GAChCG,EAAgCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAxCk0J,EAAQj0J,EAAA,GAAEk0J,EAAWl0J,EAAA,GAC5BgB,EAAsCtK,mBAAc,MAAKuK,EAAA1L,YAAAyL,EAAA,GAAlDmzJ,EAAWlzJ,EAAA,GAAEmzJ,EAAcnzJ,EAAA,GAClCC,EAAgCxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAA9BmzJ,GAAFlzJ,EAAA,GAAaA,EAAA,IAC5BwG,EAAkDjR,mBAAS,MAAKkR,EAAArS,YAAAoS,EAAA,GAChEE,GADwBD,EAAA,GAAsBA,EAAA,GACElR,mBAAS,KAAGoR,EAAAvS,YAAAsS,EAAA,GAArDysJ,EAAgBxsJ,EAAA,GAAEysJ,EAAmBzsJ,EAAA,GAC5C2I,EAAsC/Z,mBAAS,IAAGga,EAAAnb,YAAAkb,EAAA,GAA3Cxe,EAAWye,EAAA,GAAE2iJ,EAAc3iJ,EAAA,GAClCG,EAAwCna,mBAAgB,IAAGoa,EAAAvb,YAAAsb,EAAA,GAApDxG,EAAYyG,EAAA,GAAE0jJ,EAAe1jJ,EAAA,GACpCG,EAAwCva,mBAAiB,IAAGwa,EAAA3b,YAAA0b,EAAA,GAArDwjJ,EAAYvjJ,EAAA,GAAEwjJ,EAAexjJ,EAAA,GACpCG,EAA0B3a,qBAAkB4a,GAAA/b,YAAA8b,EAAA,GAArC/Y,GAAKgZ,GAAA,GACZG,IADsBH,GAAA,GAEpB5a,oBAAkB,IAAMgb,GAAAnc,YAAAkc,GAAA,GADnBkjJ,GAAuBjjJ,GAAA,GAAEkjJ,GAA0BljJ,GAAA,GAE1DG,GAA0Bnb,mBAAgB,IAAGob,GAAAvc,YAAAsc,GAAA,GAAtC+lF,GAAK9lF,GAAA,GAAE+lF,GAAQ/lF,GAAA,GACtBG,GAA0Cvb,oBAAS,GAAMwb,GAAA3c,YAAA0c,GAAA,GAAlD2hJ,GAAa1hJ,GAAA,GAAEwhJ,GAAgBxhJ,GAAA,GACtCI,GAAoD5b,mBAAiB,IAAG6b,GAAAhd,YAAA+c,GAAA,GAAjEuiJ,GAAkBtiJ,GAAA,GAAEuiJ,GAAqBviJ,GAAA,GAChDivC,GAAgC9qD,mBAAc,CAC5ClG,KAAM,GACNg/D,WAAY,OACZ/N,GAAAlsD,YAAAisD,GAAA,GAHKnoC,GAAQooC,GAAA,GAAEszG,GAAWtzG,GAAA,GAI5BG,GAAkClrD,mBAAiB,GAAEmrD,GAAAtsD,YAAAqsD,GAAA,GAA9CozG,GAASnzG,GAAA,GAChBE,IAD8BF,GAAA,GACAnrD,mBAAgB,KAAGsrD,GAAAzsD,YAAAwsD,GAAA,GACjD+Z,IADc9Z,GAAA,GAAYA,GAAA,GACgBtrD,oBAAS,IAAMqlE,GAAAxmE,YAAAumE,GAAA,GAAlDm5F,GAAal5F,GAAA,GAAEm5F,GAAgBn5F,GAAA,GACtCG,GAAoDxlE,qBAAkBylE,GAAA5mE,YAAA2mE,GAAA,GAA/Di5F,GAAkBh5F,GAAA,GACzBI,IADgDJ,GAAA,GACIzlE,oBAAS,IAAM8lE,GAAAjnE,YAAAgnE,GAAA,GAA5D9D,GAAkB+D,GAAA,GAAE7D,GAAqB6D,GAAA,GAChD8V,GAAoC57E,qBAAe67E,GAAAh9E,YAAA+8E,GAAA,GAA5C8iF,GAAU7iF,GAAA,GAAE8iF,GAAa9iF,GAAA,GAChCG,GAA4Ch8E,mBAAgB,IAAGi8E,GAAAp9E,YAAAm9E,GAAA,GAAxC4iF,IAAF3iF,GAAA,GAAmBA,GAAA,IAExCG,GAAkCp8E,mBAAc,CAC9ClG,KAAM,GACN+kK,aAAc,OACdxiF,GAAAx9E,YAAAu9E,GAAA,GAHK0iF,GAASziF,GAAA,GAAE0iF,GAAY1iF,GAAA,GAI1BpxF,GAAUa,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IACvD+lB,GAAqBtmB,GAAQqiB,kBAE/BS,GAAW9iB,GAAQ0oB,aACvB5e,qBAAU,YA+ZT,WAC+B4oD,GAAAjxD,MAAC,KAADC,UAAA,CA/Z9B+wD,EACF,GAAG,IAiBH3oD,qBAAU,WACR,IAAIiqK,EAAQ,IAAIh2I,MAAM,GAClBi2I,EAAkBj3K,EAAMk0K,aAAagD,eACnChlG,EAAYvmD,EAAahL,MAC7B,SAACxc,GAAS,OACRA,EAAKiH,aAAepL,EAAMk0K,aAAaC,aAAarjG,UAAU,IAE5DqmG,EAAaxrJ,EAAahL,MAC9B,SAACxc,GAAS,OACRA,EAAKiH,aAAepL,EAAMk0K,aAAaC,aAAa0C,YAAY,IAEhE3kG,GACFmkG,IAAY,SAAC54I,GAAc,OAAA3qB,wBAAA,GACtB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgB4Y,EAAU3mE,OAAS2mE,EAAUpc,OAC5Dgb,WAAYoB,EAAU9mE,YAAU,IAGhC+rK,GACFJ,IAAa,SAACt5I,GAAc,OAAA3qB,wBAAA,GACvB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgB69G,EAAW5rK,OAAS4rK,EAAWrhH,OAC9D+gH,aAAcM,EAAW/rK,YAAU,IAGvC,IAAK,IAAIrD,EAAI,EAAGA,EAAIkvK,EAAgBzuK,OAAQT,IAE1C,IADA,IAAMqvK,EAAaH,EAAgBlvK,GAC1BI,EAAI,EAAGA,EAAIwjB,EAAanjB,OAAQL,IAAK,CAC5C,IAAMg4D,EAAMx0C,EAAaxjB,GACrBivK,EAAWC,UAAYl3G,EAAI/0D,aAC7B6rK,EAAgBlvK,GAAGsvK,QAAUl3G,EAEjC,CAEFm1G,EAAarsK,YAAKguK,IAEhBj3K,EAAMk0K,aAAaC,aAAamD,UAChCt3K,EAAMk0K,aAAaC,aAAaoD,QAG9Bv3K,EAAMk0K,aAAaC,aAAamD,SAAS9uK,OAAS,GAClDxI,EAAMk0K,aAAaC,aAAaoD,OAAO/uK,OAAS,IAEhDwuK,EAAM,GAAKQ,GACTx3K,EAAMk0K,aAAaC,aAAamD,UAElCN,EAAM,GAAKQ,GACTx3K,EAAMk0K,aAAaC,aAAaoD,SAatCp+D,GAAS,GAAD33G,OAAKw1K,IACbrxK,QAAQe,IAAIi0B,GAAUm8I,GAAWnrJ,EACnC,GAAG,CAAC3rB,EAAMk0K,aAAcvoJ,IAExB,IAqDM8rJ,GAA0B,SAAC1uK,GAC/B,GAAa,MAATA,EACF,MAAO,GAEP,IAAIwlG,EAAYhlG,KAAOR,EAAO,uBAC9B,OAAOQ,KAAOglG,GAAWplG,OAAO,aAEpC,EASMuuK,GAA2B,SAAC3uK,GAChC,GAAa,MAATA,EACF,MAAO,GAEP,IAAIwlG,EAAYhlG,KAAOR,EAAO,uBAC9B,OAAOQ,KAAOglG,GAAWplG,OAAO,cAEpC,EACMquK,GAAyB,SAACzuK,GAC9B,OAAa,MAATA,EACK,GAESQ,KAAOR,EAAO,sBAGlC,EA8BA,SAAS4uK,GAAUjtK,GACjB,IAAIvG,EAAOkxK,EAEXlxK,EAAK20C,OAAOpuC,EAAU,GAEtB,IAAIktK,EAAiBzzK,EAAKiF,KAAI,SAACsD,EAAQ3E,GAErC,OADA2E,EAAE0uB,SAAWrzB,EAAI,EACV2E,CACT,IACA/G,QAAQe,IAAI,+BAAgCkxK,GAC5C53K,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZy5I,eAAcjuK,YAAM2uK,IAAe,IAErCtC,EAAarsK,YAAK2uK,IAzBlB3gK,EAAY,CACV1D,YAAY,uBACZkC,QAAQ,UACRzT,KAAM,WAwBV,CAC2B,SAAA61K,KAyI1B,OAzI0BA,GAAAl1K,YAAAC,IAAAC,MAA3B,SAAAiC,IAAA,IAAA6hB,EAAAmxJ,EAAAC,EAAAC,EAAAC,EAAArxJ,EAAA3iB,EAAA8lH,EAAA,OAAAnnH,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,UACsB,OAAhBoyK,EAAoB,CAAA1wK,EAAA1B,KAAA,SAY0B,OAXhDslE,GAAa,GAEPovG,GADAD,EAAiBzC,GACSyC,EAAetvK,OAAS,GAClDwvK,EAAUzuK,KAAO,IAAI2R,MAAQ/R,OAAO,uBACtC8uK,EAAU3pK,OAAOoxF,OAAO,CAAC,EAAGq4E,IAE1BnxJ,EAAW,IAAIE,UACZC,OAAO,QAAS0uJ,GACzB7uJ,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAUC,gBAC1BJ,EAASG,OAAO,WAAYxT,GAC5BqT,EAASG,OAAO,UAAWhB,GAAS3a,YAAYrG,EAAA1B,KAAA,GACtBuK,aAAsBgZ,GAAU,KAAD,GAArD3iB,EAAac,EAAAT,KACjBqB,QAAQe,IAAI,CAAEzC,WAAUwxK,iBAEM,KAAb,QAAb9uJ,EAAA1iB,EAASE,YAAI,IAAAwiB,OAAA,EAAbA,EAAejhB,cACA5E,IAAbi3K,GAEFE,EAAQ78I,SAAW28I,EAAS38I,SAAW,EACvC68I,EAAQZ,QAAUtxJ,GAClBkyJ,EAAQC,aAAeF,EACvBC,EAAQE,WAA0B,QAAhBpuD,EAAG9lH,EAASE,YAAI,IAAA4lH,OAAA,EAAbA,EAAehkC,SAEpCkyF,EAAQ1+G,aAAey+G,EACvBC,EAAQt+G,WAAa5zC,GAAS3a,WAAWC,WACzC4sK,EAAQG,SAAW7kK,QACGzS,IAAbi3K,IAETE,EAAQ78I,SAAW,EACnB68I,EAAQZ,QAAUtxJ,GAClBkyJ,EAAQC,aAAeF,EACvBC,EAAQE,WAAa5C,EACrB0C,EAAQ1+G,aAAey+G,EACvBC,EAAQt+G,WAAa5zC,GAAS3a,WAAWC,WACzC4sK,EAAQG,SAAW7kK,GAGnB0kK,EAAQI,SADN9uJ,GACiBA,GAAqB,GAAKtlB,EAASE,KAAK8iB,QAExChjB,EAASE,KAAK8iB,QAGjCgxJ,EAAQ78I,cADMt6B,GAAZi3K,EACiBA,EAAS38I,SAAW,EAEpB,EAGrB08I,EAAezuK,KAAK4uK,GACpBtyK,QAAQe,IAAI,CAAEoxK,mBAEd93K,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZy5I,eAAcjuK,YAAM6uK,IAAe,IAErCxC,EAAarsK,YAAK6uK,KAElBQ,KAEF3vG,GAAa,GACb+sG,EAAe,MACfG,EAAoB,IACpBlB,EAAe,IACfh/J,EAAI+xB,QAAQ3+B,MAAQ,KAAKhE,EAAA1B,KAAA,iBAEzB4T,EAAY,CACV1D,YAAY,sBACZkC,QAAQ,yBACRzT,KAAM,YAQR,yBAAA+C,EAAAP,OAAA,GAAAM,EAAA,MA4DHJ,MAAA,KAAAC,UAAA,CACD,IAoBM2zK,GAAU,WACdrhK,EAAY,CACV1D,YAAY,iCACZkC,QAAQ,QACRzT,KAAM,SAQV,EAcMokD,GAAY,eAAA1jD,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO4J,GAAM,IAAAo4C,EAAAyzH,EAAA,OAAA31K,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC5ByhD,EAAWp4C,EAAEuG,OAAOlK,MACpBwvK,EAAWzzH,EAASl7C,MAAM,MAAM6C,MACpCipK,EAAehpK,EAAEuG,OAAOoT,MAAM,IAE9BmvJ,EAAY+C,GACZ5C,EAAY7wH,GAAU,wBAAA3hD,EAAAqB,OAAA,GAAA1B,EAAA,KACvB,gBAPiB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBc,SAAAgxD,KAI/B,OAJ+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAsC,IAAA,IAAAw3B,EAAA,OAAA/5B,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACyB2vD,IAAiB,KAAD,EAAjCr2B,EAAQv3B,EAAAd,KACdsyK,GAAkBj6I,GAClBm5I,EAAgBn5I,GAAU,wBAAAv3B,EAAAZ,OAAA,GAAAW,EAAA,MAC3BT,MAAA,KAAAC,UAAA,CACD,SAAS6zK,GAAkBz2K,GACC,IAAtBo0K,IACFC,GAAsB,IAGxBJ,EAAgBj0K,GAChBm0K,IAA4BD,GAE9B,CAgCA,OACEt1K,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IAEZrkB,eAAA,OAAKY,UAAU,kCAAiCd,SAAA,CAC9CE,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,gBAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,wFAE3BF,cAACK,KAAG,CAACygE,GAAI,EAAE5gE,SACTE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAElB9+B,QAAS,WACPxQ,QAAQe,IAAIi0B,GACd,EAAEl6B,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WAAYnuB,GAAS7oB,KACrBk3C,iBAAkB,SAClBD,eAAe,EACfJ,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAc,kBAAMuvH,GAAkB,WAAW,EACjDtvH,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAMuvH,GAAkB,WAAW,EACjD7vH,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAe,SAIrBpoD,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,mBAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0GAE3BF,cAACK,KAAG,CAACygE,GAAI,EAAE5gE,SACTE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WAAYguH,GAAUhlK,KACtBk3C,iBAAkB,SAClBD,eAAe,EACfJ,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAc,kBAAMuvH,GAAkB,WAAW,EACjDtvH,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAMuvH,GAAkB,WAAW,EACjD7vH,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAe,YAMvBpoD,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBF,cAACK,KAAG,CAACygE,GAAI,EAAE5gE,SACTE,eAAA,OACEY,UAAU,0CACVH,MAAO,CACL6L,QAAS,OACTC,WAAY,UACZzM,SAAA,CAEFF,cAACqiB,KAAQ,CACPuhB,QAAQ,SACRvjB,QAAS5gB,EAAMy4K,UACfzlK,SAAU,SAACtG,GAAC,OAAK1M,EAAM04K,aAAahsK,EAAEkU,QAAQ,IAEhDrgB,cAAA,SACEa,MAAO,CACLwwI,UAAW,SACXrkI,WAAY,SACZJ,SAAU,OACVC,WAAY,OACZknG,WAAY,MACZhnG,MAAO,WAETib,QAAQ,SAAQ9nB,SACjB,iCAUJT,EAAMy4K,WACLl4K,cAACK,KAAG,CAACygE,GAAI,GAAG5gE,SACVE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCE,eAAA,OAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,4BAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0DAE3BF,cAAA,OACEgB,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAEFF,cAAC04G,GAAU,CACT/lG,GAAG,QACHkC,MAAM,OACNtD,KAAK,aACLylE,SAAS,EACT2hC,MAAOA,GACPj2F,eAAgB,SAACvW,GAAM,OAjgBnB8E,EAigBqC9E,EAhgBzD/G,QAAQe,IAAI,OAAQ8K,QACP,OAATA,GACFxR,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ02I,aAAYrhK,wBAAA,GACP9S,EAAMk0K,aAAaC,cAAY,IAClCmD,SAAUG,GAAwBjmK,EAAK,IACvC+lK,OAAQE,GAAwBjmK,EAAK,OACtC,IAEH2nG,GAAQlwG,YAAKuI,MAEbxR,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ02I,aAAYrhK,wBAAA,GACP9S,EAAMk0K,aAAaC,cAAY,IAClCmD,SAAU,KACVC,OAAQ,QACT,IAEHp+D,GAAS,MArBQ,IAAC3nG,CAigBiD,EACrD8kK,UAAWA,GACXj9D,UAAU,EACVD,aAAa,cAOzBz4G,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,cAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0DAE3BF,cAACK,KAAG,CAACygE,GAAI,GAAG5gE,SACVF,cAAC8nD,KAAmB,CAClBS,WAA8B,QAApBssH,EAAEp1K,EAAMk0K,oBAAY,IAAAkB,OAAA,EAAlBA,EAAoBjB,aAAa9uG,OAC7C1c,cAAe,CACbzyC,MAAO,OACPoK,OAAQ,OACR1I,aAAc,OAEhBgxC,cAAe,SAACl8C,GAAM,OACpB1M,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ02I,aAAYrhK,wBAAA,GACP9S,EAAMk0K,aAAaC,cAAY,IAClC9uG,OAAQ34D,KACT,GACA,SAKX/L,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTF,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,qBAEhCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,oDAE3BF,cAACK,KAAG,CAACygE,GAAI,GAAG5gE,SACVF,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAC+U,KAAK6S,QAAO,CACXxS,IAAKA,EACL3T,KAAK,OACLomB,OAAO,uCACPpV,SAAU,SAACtG,GAAC,OAAK05C,GAAa15C,EAAE,EAChCwjF,UAAQ,EACR3uF,UAAU,yCAKlBZ,eAACuxC,KAAG,CAAC3wC,UAAU,YAAWd,SAAA,CACxBE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTF,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,0BAEhCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,8FAE3BF,cAACK,KAAG,CAACygE,GAAI,GAAG5gE,SACVE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACRzf,MAAO6sK,EACP5iK,SAAU,SAACtG,GACTmpK,EAAoBnpK,EAAEuG,OAAOlK,OAC7B4rK,EAAejoK,EAAEuG,OAAOlK,MAC1B,EACAxH,UAAU,mEAGZZ,eAAConB,IAAM,CACLxmB,UAAU,qDACV4U,QA1eb,WAC0B,OAAA0hK,GAAAnzK,MAAC,KAADC,UAAA,EAyeSlE,SAAA,CAEtBF,cAACo4K,KAAQ,IAAG,oBAMpBp4K,cAAA,OAAAE,SACG40K,EAAW7sK,OAAS,GACnB7H,eAAC+wE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAOssK,EACPzjG,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAIhBC,QAAQ,KACRC,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wFAIjCoD,KAAM,SAACuV,GAAQ,OACb7Y,cAAA,QAAAE,SAAOi3K,GAAyBt+J,EAAI8+J,eAAqB,IAG7D33K,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAIjCoD,KAAM,SAACuV,GAAQ,OACb7Y,cAAA,KAAGu0C,KAAM17B,EAAIi/J,SAAUplK,OAAO,SAAQxS,SACnC2Y,EAAI++J,YACH,IAGR53K,cAACs4B,KAAM,CACLzoB,MAAM,WACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAKnCF,cAACs4B,KAAM,CACLzoB,MACoB,OAAlB2V,GAASuzC,KAAgB,iBAAmB,iBAE9CjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oFAKnCF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sBAIjCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3BpiB,cAACsuE,GAAgB,CACfpmB,aAAc,cACdC,kBACE,0DAEFO,aAAc,kBAlrBF,SAACytH,GAC7Bz8F,IAAsB,GACtB08F,GAAcD,EAChB,CA+qBsCkC,CAAsBj2J,EAAQjY,SAAS,GAC3D,YAOdnK,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUr1B,EAAalT,QAAO,SAAC/L,GAC7B,OAAOA,EAAEtB,aAAepL,EAAMk0K,aAAaC,aAAarjG,UAC1D,IACAzvB,aAAc,SAAC30C,GAAM,OA1XDvI,EA0XuBuI,EAzXjC,cADqB3K,EA0Xeg0K,KAxXhDM,IAAY,SAAC54I,GAAc,OAAA3qB,wBAAA,GACtB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAClDgb,WAAY3sE,EAAKiH,YAAU,IAE7BpL,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ02I,aAAYrhK,wBAAA,GACP9S,EAAMk0K,aAAaC,cAAY,IAClCrjG,WAAY3sE,EAAKiH,cAClB,KAGS,aAAVrJ,IACFg1K,IAAa,SAACt5I,GAAc,OAAA3qB,wBAAA,GACvB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAClD+gH,aAAc1yK,EAAKiH,YAAU,IAE/BpL,EAAMw0K,iBAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAChC2qB,GAAS,IACZ02I,aAAYrhK,wBAAA,GACP9S,EAAMk0K,aAAaC,cAAY,IAClC0C,aAAc1yK,EAAKiH,cACpB,UAGL8qK,IAA4BD,IA7BL,IAAC9xK,EAAWpC,CA0X4B,EAC3DgX,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeg1H,GACf/0H,iBAAkBg1H,KAEpB31K,cAAC+pB,IAAa,CACZ7C,QAAS8uJ,GACT3uJ,OAAQ,kBAAM4uJ,IAAiB,EAAM,EACrC/gK,QAAQ,oCACR4R,OAAO,sBACPlQ,KAAK,6BACLoT,gBAAgB,kBAChBnC,OAlbN,WACEktJ,EACED,EAAW58J,QAAO,SAAC0J,GACjB,OAAOA,EAAIiZ,WAAaxhB,EAC1B,KAzBF3C,EAAY,CACV1D,YAAY,uBACZkC,QAAQ,UACRzT,KAAM,WA0BV,EA2aM4c,OAAQ,kBAAM43J,IAAiB,EAAM,IAErB,GAAjBtB,IACC30K,cAACm0K,GAA0B,CACzB7yD,cAAU/gH,EACVo0K,cAAeA,GACfF,iBAAkBA,GAClB6D,cAAej/J,GACfrG,YAAakjK,GACbnB,cAAeA,EACfD,WAAYA,IAGhB90K,cAAC+pB,IAAa,CACZ7C,QAASsyD,GACTnyD,OAAQ,kBAAMqyD,IAAsB,EAAM,EAC1CxkE,QAAS,kCACT4R,OAAO,eACPlQ,KAAK,oBACL5V,UAAU,kBACVgpB,gBAAgB,sEAChBjD,gBAAgB,sGAChB3d,SAAS,MACTye,OAAQ,kBAAMuvJ,GAAUjB,GAAW,EACnC7uJ,WAAW,MAInB,ECh6BaixJ,I,OAAkB,SAAC94K,GAC9B,IAAMo0H,EAAc,CAClB,CACEthF,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,cACP+B,KAAM5W,cAACs/I,IAAoB,IAC3BpoC,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,gBACP+B,KAAM5W,cAACu/I,IAAW,IAClBroC,KAAM,EACNgV,QAASzsH,EAAMysH,YAMvB,OACElsH,cAAA,OACEgB,UAAU,UACVH,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfga,OAAQ,YACRvuD,SAED2zH,EAAYhrH,KAAI,SAACjF,EAAMqV,GAAG,OACzBjZ,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,EAA2B,KAI7C,GC8beu/J,GAndQ,SAAC/4K,GAAkB,IAADylE,EAC/BxuD,EAAgBkH,cAAhBlH,YACRc,EAAoCC,mBAAc,KAAIC,EAAApB,YAAAkB,EAAA,GAA/CixJ,EAAU/wJ,EAAA,GAAEgxJ,EAAahxJ,EAAA,GAChCgJ,EAAwCjJ,oBAAS,GAAKkJ,EAAArK,YAAAoK,EAAA,GAA/Cy+F,EAAYx+F,EAAA,GAAEy+F,EAAez+F,EAAA,GACpCG,EAA4CrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAxD23J,EAAc13J,EAAA,GAAE23J,EAAiB33J,EAAA,GACxCgB,EAAwCtK,mBAAc,CACpDs8J,eAAgB,GAChBH,aAAc,CAAC,EACf+C,eAAgB,KAChB30J,EAAA1L,YAAAyL,EAAA,GAJK4xJ,EAAY3xJ,EAAA,GAAEiyJ,EAAejyJ,EAAA,GAKpCC,EAAoCxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA9C02J,EAAUz2J,EAAA,GAAE02J,EAAa12J,EAAA,GAChCwG,EAAkCjR,oBAAS,GAAMkR,EAAArS,YAAAoS,EAAA,GAA1CwvJ,EAASvvJ,EAAA,GAAEwvJ,EAAYxvJ,EAAA,GAC9BC,EAAoCnR,mBAAiB,GAAEoR,EAAAvS,YAAAsS,EAAA,GAAhDiwJ,EAAUhwJ,EAAA,GAAEiwJ,EAAajwJ,EAAA,GAChCi/C,EAA4BnB,KAApBF,EAAMqB,EAANrB,OAAQC,EAAOoB,EAAPpB,QACV6G,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAE1CvxC,EADW14B,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IACvCmoB,aACnB+wC,EAAUja,cACVz9B,EAAQ4D,iBAAY,MAE1B7b,qBAAU,gBACwBjM,IAA5BgtE,EAAMnb,IAAI,eAEZ0mH,EAAcpqK,OAAO6+D,EAAMnb,IAAI,eAGnC,GAAG,CAACmb,IACJ/gE,qBAAU,WACW,IAAfqsK,IACFE,EAAcF,GACdG,EAAgBH,IAElBnyG,GAAQ,EACV,GAAG,CAACmyG,IACJ,IAAMG,EAAe,eAAA72K,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOs2K,GAAe,IAAAhzK,EAAA,OAAAxD,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAG3C,OAFK+C,EAAW,CACfozK,WAAYJ,GACbj2K,EAAAE,KAAA,EACgBK,MAAM,mDAAoD,CACzEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAELqwK,GAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAC1B2qB,GAAS,IACZy5I,eAAcjuK,YAAM9E,IAAK,GAG7B,IAAG,KAAD,EAfIhB,EAAAmB,KAAA,wBAAAnB,EAAAqB,OAAA,GAAA1B,EAAA,KAgBT,gBApBoB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAqBf20K,EAAa,eAAAz0K,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOs0K,GAAe,IAAAhzK,EAAA,OAAAxD,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAGzC,OAFK+C,EAAW,CACfozK,WAAYJ,GACbr0K,EAAA1B,KAAA,EACgBK,MAAM,mCAAoC,CACzDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACLwB,QAAQe,IAAI,WAAYvC,GACxB8iE,GAAQ,GAEN9iE,EAAKgwK,aAAamD,UAClBnzK,EAAKgwK,aAAaoD,QAClBpzK,EAAKgwK,aAAaoD,OAAO/uK,OAAS,GAClCrE,EAAKgwK,aAAamD,SAAS9uK,OAAS,GAEpCkwK,GAAa,GAEflE,GAAgB,SAAC/2I,GAAc,OAAA3qB,wBAAA,GAC1B2qB,GAAS,IACZ62I,eAAgBnwK,EAAKmwK,eACrBH,aAAchwK,EAAKgwK,cAAY,GAEnC,IAAG,KAAD,EAxBIpvK,EAAAT,KAAA,wBAAAS,EAAAP,OAAA,GAAAM,EAAA,KAyBT,gBA7BkBE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAwCbugC,EAAQ,eAAAhgC,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,IAAA,IAAAs0K,EAAA70B,EAAA80B,EAAA5gG,EAAA/wE,EAAA4xK,EAAA,OAAA/2K,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAoEd,GAlEGuhJ,EAAkB,GAUhB80B,GAXFD,EAAqBvF,GAWSgD,eAAe9tK,KAC/C,SAACjF,EAAWqV,GACV,IAAI4jB,EAAa,CAAC,EAOlB,OANAA,EAAgB,SAAI5jB,EACpB4jB,EAAmB,YAAIj5B,EAAKk0K,SAC5Bj7I,EAAmB,YAAIj5B,EAAKg0K,WAC5B/6I,EAAmB,YAAIj5B,EAAK+zK,aAC5B96I,EAAmB,YAAIj5B,EAAKi0K,SAC5Bh7I,EAAa,MAAIj5B,EAAKkzK,QACfj6I,CAIT,SAE6Ct8B,IAA3CozK,EAAaC,aAAa0C,cAC5BjyB,EAAWv7I,KAAK,CAAEtH,MAAO,qBAEkBjB,IAAzCozK,EAAaC,aAAarjG,YAC5B8zE,EAAWv7I,KAAK,CAAEtH,MAAO,mBAEcjB,IAArCozK,EAAaC,aAAa9uG,QAGoB,IAA5C6uG,EAAaC,aAAa9uG,OAAO78D,SAFrCo8I,EAAWv7I,KAAK,CAAEtH,MAAO,WAMgB,IAAvCmyK,EAAaI,eAAe9rK,QAC9Bo8I,EAAWv7I,KAAK,CAAEtH,MAAO,aAGvB02K,SAEuC33K,IAAvCozK,EAAaC,aAAamD,eACWx2K,IAArCozK,EAAaC,aAAaoD,QACW,OAArCrD,EAAaC,aAAaoD,QACa,OAAvCrD,EAAaC,aAAamD,UACa,KAAvCpD,EAAaC,aAAamD,UACW,KAArCpD,EAAaC,aAAaoD,QAE1B3yB,EAAWv7I,KAAK,CAAEtH,MAAO,aACzB6iJ,EAAWv7I,KAAK,CAAEtH,MAAO,YACfmyK,EAAaC,aAAamD,SAE1BpD,EAAaC,aAAaoD,QAGpCkC,EAActF,aAAwB,UAAI33I,EAAQpxB,WAAWC,WAC7DouK,EAActF,aAAamD,SAAWmB,EAAS,GAAAj3K,OACxCi4K,EAActF,aAAamD,SAAQ,aACtC,KACJmC,EAActF,aAAaoD,OAASkB,EAAS,GAAAj3K,OACtCi4K,EAActF,aAAaoD,OAAM,aACpC,MARJ3yB,EAAWv7I,KAAK,CAAEtH,MAAO,WAFzB6iJ,EAAWv7I,KAAK,CAAEtH,MAAO,gBAczB6iJ,EAAWp8I,OAAS,GAAC,CAAApD,EAAA/B,KAAA,SAEvB,IADIy1E,EAAO,GACF/wE,EAAI,EAAGA,EAAI68I,EAAWp8I,OAAQT,IAC/B4xK,EAAQ/0B,EAAW78I,GACrBA,EAAI68I,EAAWp8I,OAAS,EAC1BswE,EAAOA,EAAO6gG,EAAM53K,MAAQ,IAE5B+2E,GAAc6gG,EAAM53K,MAGxBo3K,EAAc,GAAD33K,OAAKojJ,IAClB3tI,EAAY,CACV1D,YAAY,GAAD/R,OAAKs3E,EAAI,gBACpBrjE,QAAQ,wBACRzT,KAAM,YAORoD,EAAA/B,KAAA,iBAG2C,OAD3C4jE,GAAQ,GACRwyG,EAAcvC,eAAiBwC,EAAYt0K,EAAA/B,KAAA,GAC1BK,MAAM,kCAAmC,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU01K,KAEpBz1K,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL8iE,GAAQ,GACRhwD,EAAY,CACV1D,YAAY,kBACZkC,QAAQ,UACRzT,KAAM,YAQR06D,EAAQrzD,KAAK,8BACf,IAAG,KAAD,GAtBIjE,EAAAd,KAAA,yBAAAc,EAAAZ,OAAA,GAAAW,EAAA,KAwBX,kBAvHa,OAAAD,EAAAR,MAAA,KAAAC,UAAA,KAwHRi1K,EAAQ,eAAAr0K,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAi0K,EAAArtI,EAAA,OAAAxpC,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAMd,OALKo2K,EAAgBvF,EACtBjtG,GAAQ,GACF76B,EAAW,CACfotI,WAAYC,EAActF,aAAaqF,WACvC7/G,WAAYn9B,EAAQpxB,WAAWC,YAChC5F,EAAApC,KAAA,EAEgBK,MAAM,kCAAmC,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqoC,KAEpBpoC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL8iE,GAAQ,GACRvK,EAAQrzD,KAAK,8BACf,IAAG,KAAD,EAXI5D,EAAAnB,KAAA,wBAAAmB,EAAAjB,OAAA,GAAAgB,EAAA,KAYT,kBApBa,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KAqBR+tG,EAAQ,eAAA5sG,EAAAnD,YAAAC,IAAAC,MAAG,SAAAkD,IAAA,IAAA0zK,EAAAC,EAAA90B,EAAA9rE,EAAA/wE,EAAA4xK,EAAAvtI,EAAA,OAAAxpC,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAsE6B,GArEtCo2K,EAAgBvF,EACtBvuK,QAAQe,IAAI,6BAA8B+yK,GACpCC,EAAcD,EAAcvC,eAAe9tK,KAC/C,SAACjF,EAAWqV,GACV,IAAI4jB,EAAa,CAAC,EAOlB,OANAA,EAAgB,SAAI5jB,EACpB4jB,EAAmB,YAAIj5B,EAAKk0K,SAC5Bj7I,EAAmB,YAAIj5B,EAAKg0K,WAC5B/6I,EAAmB,YAAIj5B,EAAK+zK,aAC5B96I,EAAmB,YAAIj5B,EAAKi0K,SAC5Bh7I,EAAa,MAAIj5B,EAAKkzK,QACfj6I,CAIT,IAEEwnH,EAAkB,QACuB9jJ,IAAzCozK,EAAaC,aAAarjG,YAC5B8zE,EAAWv7I,KAAK,CAAEtH,MAAO,kBAEoBjB,IAA3CozK,EAAaC,aAAa0C,cAC5BjyB,EAAWv7I,KAAK,CAAEtH,MAAO,sBAEcjB,IAArCozK,EAAaC,aAAa9uG,QAGoB,IAA5C6uG,EAAaC,aAAa9uG,OAAO78D,SAFrCo8I,EAAWv7I,KAAK,CAAEtH,MAAO,WAMgB,IAAvCmyK,EAAaI,eAAe9rK,QAC9Bo8I,EAAWv7I,KAAK,CAAEtH,MAAO,aAE3B4D,QAAQe,IAAI,YAAa+xK,GAErBA,SAEuC33K,IAAvCozK,EAAaC,aAAamD,eACWx2K,IAArCozK,EAAaC,aAAaoD,QACW,OAArCrD,EAAaC,aAAaoD,QACa,OAAvCrD,EAAaC,aAAamD,UACa,KAAvCpD,EAAaC,aAAamD,UACW,KAArCpD,EAAaC,aAAaoD,QAE1B3yB,EAAWv7I,KAAK,CAAEtH,MAAO,aACzB6iJ,EAAWv7I,KAAK,CAAEtH,MAAO,iBAEcjB,IAAvCozK,EAAaC,aAAamD,UACa,OAAvCpD,EAAaC,aAAamD,UACa,KAAvCpD,EAAaC,aAAamD,SAE1B1yB,EAAWv7I,KAAK,CAAEtH,MAAO,kBAEYjB,IAArCozK,EAAaC,aAAaoD,QACW,OAArCrD,EAAaC,aAAaoD,QACW,KAArCrD,EAAaC,aAAaoD,OAE1B3yB,EAAWv7I,KAAK,CAAEtH,MAAO,YAEzB03K,EAActF,aAAwB,UAAI33I,EAAQpxB,WAAWC,WAC7DouK,EAActF,aAAamD,SAAWmB,EAAS,GAAAj3K,OACxCi4K,EAActF,aAAamD,SAAQ,aACtC,KACJmC,EAActF,aAAaoD,OAASkB,EAAS,GAAAj3K,OACtCi4K,EAActF,aAAaoD,OAAM,aACpC,OAGR5xK,QAAQe,IAAI,gBAAiB+yK,KAEzB70B,EAAWp8I,OAAS,GAAC,CAAAxC,EAAA3C,KAAA,SAEvB,IADIy1E,EAAO,GACF/wE,EAAI,EAAGA,EAAI68I,EAAWp8I,OAAQT,IAC/B4xK,EAAQ/0B,EAAW78I,GACrBA,EAAI68I,EAAWp8I,OAAS,EAC1BswE,EAAOA,EAAO6gG,EAAM53K,MAAQ,IAE5B+2E,GAAc6gG,EAAM53K,MAGxBo3K,EAAc,GAAD33K,OAAKojJ,IAClB3tI,EAAY,CACV1D,YAAY,GAAD/R,OAAKs3E,EAAI,gBACpBrjE,QAAQ,wBACRzT,KAAM,YAORgE,EAAA3C,KAAA,iBAkBC,OAhBD4jE,GAAQ,GAERwyG,EAActF,aAAwB,UAAI33I,EAAQpxB,WAAWC,WAC7DouK,EAActF,aAAamD,SAAWmB,EAAS,GAAAj3K,OACxCi4K,EAActF,aAAamD,UAC9B,KACJmC,EAActF,aAAaoD,OAASkB,EAAS,GAAAj3K,OACtCi4K,EAActF,aAAaoD,QAC9B,KACEnrI,EAAW,CACfotI,WAAYC,EAActF,aAAaqF,WACvC7/G,WAAYn9B,EAAQpxB,WAAWC,WAC/B8oK,aAAcsF,EAActF,aAC5BG,eAAgBmF,EAAcnF,eAE9B4C,eAAgBwC,GACjB1zK,EAAA3C,KAAA,GAEgBK,MAAM,kCAAmC,CACxDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqoC,KAEpBpoC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL8iE,GAAQ,GAERvK,EAAQrzD,KAAK,8BACf,IAAG,KAAD,GAZIrD,EAAA1B,KAAA,yBAAA0B,EAAAxB,OAAA,GAAAuB,EAAA,KAcX,kBA/Ha,OAAAD,EAAApB,MAAA,KAAAC,UAAA,KAgId,OACEhE,eAAA,OACEY,UAAU,kCACV4U,QAAS,kBAAMxQ,QAAQe,IAAIwtK,EAAa,EAACzzK,SAAA,CAEzCF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACXgiD,GACCzmE,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,iBAGpDvlD,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QAAS,WApSjBwpG,GADED,EAqSoC,EAC9Bt+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,OAEvBhqF,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,4BAC1BE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxB,IAAf24K,GACCz4K,eAAA,UAAQY,UAAU,gBAAgB4U,QAAS,kBAAM+uB,GAAU,EAACzkC,SAAA,CAC1DF,cAAC8zG,KAAM,IAAG,aAGE,IAAf+kE,GACCz4K,eAAA,UAAQY,UAAU,gBAAgB4U,QAAS,kBAAMu8F,GAAU,EAACjyG,SAAA,CAC1DF,cAAC26D,KAAM,IAAG,YAKE,IAAfk+G,GACCz4K,eAAA,UACEY,UAAU,gBACV4U,QAAS,kBACPiR,YAAc,CACZ3R,QAAS,0CACT4R,OAAQ,SACRlQ,KAAM,0CAKNiR,OAAO,WAAD,IAAAqkF,EAAA9pG,YAAAC,IAAAC,MAAE,SAAAsD,IAAA,OAAAvD,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EACYu2K,IAAW,KAAD,EAAnBvzK,EAAA/B,KAAA,wBAAA+B,EAAA7B,OAAA,GAAA2B,EAAA,KACV,yBAAAsmG,EAAA/nG,MAAA,KAAAC,UAAA,EAFM,IAGP,EACHlE,SAAA,CAEDF,cAACs5K,KAAe,IAAG,sBAM7Bt5K,cAAA,OAAKgB,UAAU,UAASd,SACtBE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,GACCn/G,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACu4K,GAAe,CACdpsD,aA5VC,SAAChgH,GACpBu8J,EAAcv8J,EAChB,EA2VoB+/G,QAASu8C,UAOnBroK,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrB,MAAfuoK,GACCzoK,cAAC40K,GAAmB,CAClB+D,WAAYA,EACZhF,aAAcA,EACdM,gBAAiBA,EACjBwE,eAAgBA,EAChBC,kBAAmBA,EACnBR,UAAWA,EACXC,aAAcA,IAGF,MAAf1P,GACCzoK,cAACqzK,GAAe,CACdM,aAAcA,EACdM,gBAAiBA,iBASnC,ECxfasF,I,OAAmB,eAAAp3K,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACXK,MAAM,4BACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAMNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,kBAR+B,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,MAUnBo1K,GAAoB,eAAAl1K,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOsB,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEnB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM+B,EAAA1B,KAAA,EACbK,MAAM,4BAA6B,CACvDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAhBgCL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAiBpBq1K,GAAgB,eAAA90K,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAEf,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMoC,EAAA/B,KAAA,EACbK,MAAM,4BAA6B,CACvDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAaNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAjB4BH,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAA,KAkBhBs1K,GAAmB,eAAA10K,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,EAAOY,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAElB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMyC,EAAApC,KAAA,EACbK,MAAM,+BAAgC,CAC1DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOwC,EAAAnB,KAAAmB,EAAAlB,OAAA,SAaNtB,GAAO,wBAAAwC,EAAAjB,OAAA,GAAAgB,EAAA,KACf,gBAjB+BH,GAAA,OAAAE,EAAAb,MAAA,KAAAC,UAAA,KCcnBu1K,GAAsB,SAACl6K,GAClC,IAAA6lB,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACX95B,GADwB85B,EAAA,GACZh/C,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KAClE+lB,EAAqBP,EAAU1D,kBAC7By9B,EAAW/5B,EAAUzD,QACrBP,EAAQ4D,iBAAO,MACrB7Q,EAA8BC,oBAAS,GAAKC,EAAApB,YAAAkB,EAAA,GAA5BwJ,GAAFtJ,EAAA,GAAYA,EAAA,IAS1B,SAASkiK,EAAUh2K,EAAWqK,QACf1N,IAATqD,GAA+B,OAATA,GAExBnE,EAAMqgJ,cAAa,SAAC5iH,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAMrK,EAAKqK,IAAI,GAGtB,CAa6B,SAAA4rK,IAG5B,OAH4BA,EAAAz3K,YAAAC,IAAAC,MAA7B,SAAAiC,IAAA,IAAAu1K,EAAA,OAAAz3K,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACgCy2K,KAAsB,KAAD,EAA/CO,EAAiBt1K,EAAAT,KACrBqB,QAAQe,IAAI,oBAAqB2zK,GAAmB,wBAAAt1K,EAAAP,OAAA,GAAAM,EAAA,MACrDJ,MAAA,KAAAC,UAAA,CAhCDoI,qBAAU,YA4BT,WAC4BqtK,EAAA11K,MAAC,KAADC,UAAA,CA5B3B21K,GAgCF,WACE,IAAIC,EAAcv6K,EAAMmgJ,UAAUq6B,UAC9BC,OACyB35K,IAA3Bd,EAAM06K,iBAAiC,GAAK16K,EAAM06K,iBAChDC,EAAmBJ,EAAcE,EAErCz6K,EAAMqgJ,cAAa,SAAC5iH,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ+8I,UAAWG,GAAgB,GAE/B,CAzCEC,EACF,GAAG,CAAC56K,EAAM06K,mBACV3tK,qBAAU,WACRpH,QAAQe,IAAI,kBAAmB1G,EAAMmgJ,UACvC,GAAG,CAACngJ,EAAMmgJ,YA8CV,OACEx/I,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZzkB,cAAC2xC,KAAG,CAAC3wC,UAAU,IAAGd,SAChBF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAGC,MAAO,CAAE8L,WAAY,UAAWzM,SAChEF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,uBAG1CF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,wCAGjBZ,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACuM,KAAoB,CAACU,gBAAiB,WAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACs2E,GAAkB,CACjB7tB,sBACsBloD,IAApBd,EAAMmgJ,WAA+C,OAApBngJ,EAAMmgJ,UACnC,sBAC4B,OAA5BngJ,EAAMmgJ,UAAU06B,SACmB,IAAnC76K,EAAMmgJ,UAAU06B,QAAQryK,OACtBxI,EAAMmgJ,UAAU06B,QAElB,sBAENvjG,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhB4/D,iBAAiB,UACjBH,aAAc,CACZ,CAAEwjG,QAAS,aACX,CAAEA,QAAS,WACX,CAAEA,QAAS,WACX,CAAEA,QAAS,YAEbjyH,cAAeuxH,EACfrxH,WAAY9oD,EAAMmgJ,UAAU06B,QAC5BhyH,SAAU,cAGdtoD,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACuM,KAAoB,CAACU,gBAAiB,oBAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACs2E,GAAkB,CACjB7tB,sBACsBloD,IAApBd,EAAMmgJ,WACmC,IAArCngJ,EAAMmgJ,UAAU26B,UAAUtyK,OACxBxI,EAAMmgJ,UAAU26B,UAElB,sBAENxjG,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhB4/D,iBAAiB,YACjBH,aAAc,CACZ,CAAEyjG,UAAW,oBACb,CAAEA,UAAW,oBACb,CAAEA,UAAW,sBACb,CAAEA,UAAW,gBACb,CAAEA,UAAW,aACb,CAAEA,UAAW,UACb,CAAEA,UAAW,WAEflyH,cAAeuxH,EACfrxH,WAAY9oD,EAAMmgJ,UAAU26B,UAC5BjyH,SAAU,mBAIhBloD,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACuM,KAAoB,CAACU,gBAAiB,WAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAEV,SACxBF,cAACs2E,GAAkB,CACjB7tB,sBACsBloD,IAApBd,EAAMmgJ,WAA+C,OAApBngJ,EAAMmgJ,UACnC,sBAC4B,OAA5BngJ,EAAMmgJ,UAAU46B,SACmB,IAAnC/6K,EAAMmgJ,UAAU46B,QAAQvyK,OACtBxI,EAAMmgJ,UAAU46B,QAElB,sBAENzjG,WAAY,CACVphE,MAAO,OACP0B,aAAc,mBAEhB4/D,iBAAiB,UACjBH,aAAc,CACZ,CAAE0jG,QAAS,aACX,CAAEA,QAAS,WACX,CAAEA,QAAS,WACX,CAAEA,QAAS,YAEbnyH,cAAeuxH,EACfrxH,WAAY9oD,EAAMmgJ,UAAU46B,QAC5BlyH,SAAU,cAGdtoD,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACuM,KAAoB,CAACU,gBAAiB,eAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACo4I,GAAkB,CACjBnoD,aAAcxwF,EAAMmgJ,UAAUxnI,SAC9BiwC,cApJV,SAA6BzkD,EAAWqK,GACtCxO,EAAMqgJ,cAAa,SAAC5iH,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,GAAAhvB,YAAA,GACXD,EAAMrK,GAAI,GAEf,EAgJU0kD,SAAU,kBAIhBloD,eAACuxC,KAAG,CAAC3wC,UAAU,uBAAsBd,SAAA,CACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGM,GAAI,EAAGI,UAAU,0BAAyBd,SAC5DF,cAACuM,KAAoB,CAACU,gBAAiB,gBAEzCjN,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,GACJI,UAAU,2CAA0Cd,SAEpDF,cAAA,OAAKa,MAAO,CAAEkpE,cAAe,OAAQ7pE,SACnCF,cAAC8nD,KAAmB,CAClBM,cAAe,CAAEroC,OAAQ,IACzBooC,kBAAmB,+BACnBM,iBAC0C,IAAxChpD,EAAMmgJ,UAAU66B,aAAaxyK,OACzB,UACAxI,EAAMmgJ,UAAU66B,aAEtBnyH,SAAU,eACVC,WAAY9oD,EAAMmgJ,UAAU66B,aAC5BpyH,cAxKZ,SAAoBzkD,EAAWqK,GAC7BxO,EAAMqgJ,cAAa,SAAC5iH,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZu9I,aAAc72K,GAAI,GAEtB,WAyKI5D,cAAC2xC,KAAG,CAAC3wC,UAAU,uBAAsBd,SACnCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAII,UAAU,0BAAyBd,SAC9DF,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAC2iD,KAAM,CACLswD,OAAQ,WACNjyF,GAAW,EACb,EACA6hC,KAAM,CAEJC,WAAW,EACXC,mBAAmB,EACnBC,SAAS,EACTC,aAAa,EAEbljC,OAAQ,OACRqjC,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,QAAS,CACP,aACA,yEACA,2CACA,yEACA,+EACA,QAEFE,SACE,iQACFC,iBACE,mDACFC,aACE,mlBAqBFC,cACE,sOAGFC,sBAAsB,WAAD,IAAAC,EAAA9hD,YAAAC,IAAAC,MAAE,SAAAC,EACrB4hD,EACAC,EACAC,GAAO,IAAAz+B,EAAAS,EAAAkD,EAAA7lB,EAAA,OAAArB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAWoD,OATvD8iB,EAAO,IAAI0+B,KAAK,CAACH,EAASjH,QAASiH,EAASI,WAAY,CAC1DC,aAAc7pC,KAAK8pC,QAEfp+B,EAAW,IAAIE,SACfgD,EAAWxmB,OAAO2mB,SAASH,SACjClD,EAASG,OAAO,OAAQZ,GACxBS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAY,IAC5BH,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYlI,EAAAE,KAAA,GACjCkD,aAAcqgB,GAAU,KAAD,GAA7C3iB,EAAad,EAAAmB,KACjBqB,QAAQe,IAAIzC,EAAU,YAClBA,EAASE,KAAKuB,OACZ6jB,GACFA,EACmC,MAAjCA,EAAmBS,OAAO,GACtBT,EAAmBvf,UAAU,GAC7Buf,EACNo7B,EAAQp7B,EAAqB,IAAMtlB,EAASE,KAAK8iB,UAEjD09B,EACE,GAAAnjD,OAAGsoB,EAAQ,MAAOi5B,EAAW9+C,EAASE,KAAK8iB,SAI/C29B,EAAQ3gD,EAASE,KAAK8iB,SACvB,yBAAA9jB,EAAAqB,OAAA,GAAA1B,EAAA,KACF,gBAAA2B,EAAAO,EAAAK,GAAA,OAAAo/C,EAAA//C,MAAA,KAAAC,UAAA,EAhCqB,IAkCxBoE,MAAO/I,EAAMmgJ,UAAUq6B,UACvBv1H,eAvPe,SAACx6B,EAAcy6B,GACxCllD,EAAMqgJ,cAAa,SAAC5iH,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ+8I,UAAW/vJ,GAAO,GAEtB,YAyPF,EChVMwwJ,I,OAA2C,CAC/CC,gBAAiB,EACjB3wK,WAAY,EACZ4jB,aAAc,GACdgtJ,qBAAsB,GACtBL,UAAW,GACXD,QAAS,GACTE,QAAS,GACTC,aAAc,GACdR,UAAW,GACXY,cAAe,GACfziK,UAAU,EACV8zI,eAAgB,GAChB5yF,UAAW,GACXN,aAAc,GACdI,WAAY,GACZC,YAAa,KAqVA4lC,OAnVmB,SAACx/F,GACjC,IAAA+X,EAAwCC,oBAAS,GAAKC,EAAApB,YAAAkB,EAAA,GAA/C2nG,EAAYznG,EAAA,GAAE0nG,EAAe1nG,EAAA,GACpCgJ,EAAsDjJ,mBAAc,CAAC,GAAEkJ,EAAArK,YAAAoK,EAAA,GAA3Co6J,GAAFn6J,EAAA,GAAwBA,EAAA,IAClDG,EAAgCrJ,mBAAc,CAAC,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAA1Cvf,EAAQwf,EAAA,GAAEspF,EAAWtpF,EAAA,GAC5BgB,EAAoCtK,mBAAc,CAAC,GAAEuK,EAAA1L,YAAAyL,EAAA,GAA9CoiG,EAAUniG,EAAA,GAAE+4J,EAAa/4J,EAAA,GAChCC,EAAsCxK,mBAAc,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAhD+4J,EAAW94J,EAAA,GAAE+4J,EAAc/4J,EAAA,GAClCwG,EAA8CjR,mBAAc,IAAGkR,EAAArS,YAAAoS,EAAA,GAAxDwyJ,EAAevyJ,EAAA,GAAEwyJ,EAAkBxyJ,EAAA,GAC1CC,EAAwDnR,qBAAmBoR,EAAAvS,YAAAsS,EAAA,GAApE3D,EAAoB4D,EAAA,GAAE/D,EAAuB+D,EAAA,GACpD2I,EACE/Z,mBAAcijK,IAAoBjpJ,EAAAnb,YAAAkb,EAAA,GAD7B4pJ,EAAgB3pJ,EAAA,GAAE4pJ,EAAmB5pJ,EAAA,GAEtCjM,EAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACpDk5D,EAAUja,cACRz9B,EAAQ4D,mBACduJ,EAA4Bna,mBAAS,IAAGoa,EAAAvb,YAAAsb,EAAA,GAAjC7X,EAAM8X,EAAA,GAAE7X,EAAS6X,EAAA,GAClB07C,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAuB/C,SACcm0E,IAAM,OAAA25B,EAAAn3K,MAAC,KAADC,UAAA,UAAAk3K,IAmDpB,OAnDoBA,EAAAl5K,YAAAC,IAAAC,MAArB,SAAAC,IAAA,IAAAg5K,EAAAjwK,EAAAuX,EAAA,OAAAxgB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC2C,GAArCy4K,EAAoBH,EAET,QAAXrhK,EAAgB,CAAAnX,EAAAE,KAAA,SASiB,OARnCy4K,EAAkBV,cAAgBr1J,EAAS4F,aAAapgB,OACxDuwK,EAAkBjiH,UAAY9zC,EAAS4F,aAAavgB,WAAWC,WAC/DywK,EAAkBniH,WAChB5zC,EAAS4F,aAAavgB,WAAWC,WACnCywK,EAAkBrvB,eAAiB1mI,EAAS4F,aAAapgB,OACzDuwK,EAAkBvxK,WACiB,IAAjCuxK,EAAkBvxK,WACd,KACAuxK,EAAkBvxK,WAAWpH,EAAAE,KAAA,EACjB22K,GAAiB8B,GAAmB,KAAD,GAA/CjwK,EAAG1I,EAAAmB,MAEPo4D,EAAQrzD,KAAK,qBAAsB,CACjCkpK,mBAAoB1mK,EACpB2mK,aAAcl4J,IAGhB0K,EAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQ,gCACR2gD,KAAM,MAGVpvE,QAAQe,IAAI,OAAQmF,GAAK1I,EAAAE,KAAA,iBAOkC,OAL3Dy4K,EAAkBvxK,WACiB,IAAjCuxK,EAAkBvxK,WACd,KACAuxK,EAAkBvxK,WAExB5E,QAAQe,IAAI,2BAA4Bo1K,GAAmB34K,EAAAE,KAAA,GAEzC42K,GAAoB6B,GAAmB,KAAD,IAAlDjwK,EAAG1I,EAAAmB,MAEPo4D,EAAQrzD,KAAK,qBAAsB,CACjCkpK,mBAAoB1mK,EACpB2mK,aAAcl4J,IAGhB0K,EAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQ,gCACR2gD,KAAM,MAET,yBAAA5xE,EAAAqB,OAAA,GAAA1B,EAAA,MAEJ4B,MAAA,KAAAC,UAAA,CAGA,SAEcw3E,EAAQ13E,GAAA,OAAAs3K,EAAAr3K,MAAC,KAADC,UAAA,UAAAo3K,IAQtB,OARsBA,EAAAp5K,YAAAC,IAAAC,MAAvB,SAAAiC,EAAwBX,GAAS,IAAAiC,EAAA41K,EAAA,OAAAp5K,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAG9B,OAFK+C,EAAW,CACfmE,WAAYpG,GACbY,EAAA1B,KAAA,EACwBmmF,GAAgBpjF,GAAU,KAAD,EAC7B,QADjB41K,EAAYj3K,EAAAT,OAEd23K,GAAkBD,GACnB,wBAAAj3K,EAAAP,OAAA,GAAAM,EAAA,MACFJ,MAAA,KAAAC,UAAA,CAC2B,SAAAgnG,IAuB3B,OAvB2BA,EAAAhpG,YAAAC,IAAAC,MAA5B,SAAAsC,IAAA,IAAAq3B,EAAAovE,EAAAxlG,EAAA0lG,EAAA,OAAAlpG,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAgBG,OAfKm5B,EAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aACjDooG,EAAQpvE,EAAQ7Q,aAAavgB,WACdoxB,EAAQ7Q,aAAamrC,aAWpC1wD,EAAW,CACfyzD,UAAW+xC,EAAMvgG,YAClBjG,EAAA/B,KAAA,EAE0B8lF,GAA+B/iF,GAAU,KAAD,EAA/D0lG,EAAc1mG,EAAAd,KAIlBsmG,EAAYkB,GAAgB,wBAAA1mG,EAAAZ,OAAA,GAAAW,EAAA,MAC7BT,MAAA,KAAAC,UAAA,CACoC,SAAAu3K,KAWpC,OAXoCA,GAAAv5K,YAAAC,IAAAC,MAArC,SAAA2C,EAAsCrB,GAAS,IAAAiC,EAAAqlF,EAAA,OAAA7oF,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAG5C,OAFK+C,EAAW,CACf80K,gBAAiBjsK,OAAO9K,IACzBsB,EAAApC,KAAA,EACyB02K,GAAqB3zK,GAAU,KAAD,EAApDqlF,EAAahmF,EAAAnB,KAEjBs3K,GAAoB,SAACn+I,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GACAguD,EAAa,IAElBtP,EAASsP,EAAclhF,YAAY,wBAAA9E,EAAAjB,OAAA,GAAAgB,EAAA,MACpCd,MAAA,KAAAC,UAAA,CACD,SAASs3K,GAAkB93K,GACzB,QAAarD,IAATqD,GAA+B,OAATA,EAAe,CACvC,IAAIg4K,OACOr7K,IAATqD,GAA+B,OAATA,GAEW,KAAzB,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMw7H,YAAYn3H,QADlB,GAGA1E,KAAKwM,MAAU,OAAJnM,QAAI,IAAJA,OAAI,EAAJA,EAAMw7H,aACnB/9H,EAAc,GACdw6K,EAAmB,GACvBD,EAAiBx6K,MAAMyH,KAAI,SAACg0B,GAC1Bx7B,EAAOyH,KAAK+zB,EAAMx7B,OACpB,IACAA,EAAOwH,KAAI,SAACg0B,GACNA,EAAM50B,OAAS,EACjB40B,EAAMh0B,KAAI,SAACjF,GAC0B,IAA/BA,EAAKrC,SAASC,MAAMyG,QACtB4zK,EAAY/yK,KAAKlF,EAAKrC,SAASC,MAEnC,IAEuC,IAAnCq7B,EAAM,GAAGt7B,SAASC,MAAMyG,QAC1B4zK,EAAY/yK,KAAK+zB,EAAM,GAAGt7B,SAASC,MAGzC,IACAu5K,EAAcn3K,GACdy3K,GAAoB,SAACn+I,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZlzB,WAAYpG,EAAKoG,WACjB4wK,qBAAsBh3K,EAAKooF,qBAC3Bp+D,aAAchqB,EAAKgqB,cAAY,IAEjCutJ,EAAmBU,EACrB,CACF,CA/JArvK,qBAAU,WACR,IAAIsvK,EAA2BvuG,EAAMnb,IAAI,oBAAsB,GAC3D0pH,GACF9hK,EAAU,QA4Gb,SACoCvV,GAAAk3K,GAAAx3K,MAAC,KAADC,UAAA,CA5GjC23K,CAAuBrtK,OAAOotK,KAE9B9hK,EAAU,MAEd,GAAG,IAEHxN,qBAAU,YA6ET,WAC2B4+F,EAAAjnG,MAAC,KAADC,UAAA,CA7E1BunG,EACF,GAAG,IACHn/F,qBAAU,WACRpH,QAAQe,IAAI,mBAAoBi1K,EAClC,GAAG,CAACA,IAsKJ,OACEh7K,eAAAH,WAAA,CAAAC,SAAA,CApBEE,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZzkB,cAAC+pB,IAAa,CACZ7C,QAASjC,EACToC,OAAQ,kBAAMvC,GAAwB,EAAM,EAC5C5P,QAAQ,oCACR4R,OAAO,eACPlQ,KAAK,6BACLiR,OAAQ85H,EACRtjI,OAAQ,WACNyG,GAAwB,EAC1B,EACAmC,aAAW,EACXK,WAAW,EACX85B,WAAW,OAQfphD,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCE,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QAhLd,WAEIwpG,GADED,EAKN,EA2Kct+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,CACnB0D,yBAA0BgtF,OAI9B16K,eAAA,OAAKY,UAAU,iCAAgCd,SAAA,CAC7CF,cAAA,KAAGgB,UAAU,0BAAyBd,SAAC,0BACvCE,eAAA,OAAKY,UAAU,yCAAwCd,SAAA,CACrDF,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aACEloD,cAACiqG,IAAgB,CACfn3F,KAAM,OACNjS,MAAO,CAAEk5F,YAAa,SAG1BrxC,aAAc,kBAAMi5F,GAAQ,EAC5Bv5F,cAAe,CACbroC,OAAQ,OACR1I,aAAc,MACdiH,OAAQ,oBACR1R,SAAU,OACVo3B,WAAY,UACZj3B,MAAO,UACP4I,MAAO,WAGX3V,cAACsuE,GAAgB,CACfE,cAAc,OACdtmB,aACEloD,cAACg6F,KAAM,CAAClnF,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAE9CrxC,aAAc,kBAAM5jC,GAAwB,EAAK,EACjDsjC,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,QACPoK,OAAQ,mBAMlB/f,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,EACCn/G,cAAA,OAAKgB,UAAU,oDAAmDd,SAChEE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAACuM,KAAoB,CACnBU,gBAAiB,cACjBE,aAAc,mJAIpBnN,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEiM,aAAc,QAAS5M,SACnCF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAACs2E,GAAkB,CACjB7tB,sBACiBloD,IAAf4jH,GAA0C,MAAdA,EACxB,sBACmC,IAAnCp2G,OAAOC,KAAKm2G,GAAYl8G,QACmB,IAA3Ck8G,EAAWn4B,qBAAqB/jF,OAC9Bk8G,EAAWn4B,qBAEb,sBAENjV,WAAY,CACVphE,MAAO,QACP0B,aAAc,mBAEhB4/D,iBAAiB,uBACjBH,aAAcv1E,EACd8mD,cAAeqzH,GACfnzH,WAAY47D,EACZ77D,SAAU,aACV8uB,aAAa,QAInBp3E,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SACN,IAA3Bg7K,EAAgBjzK,OACfjI,cAAAC,WAAA,CAAAC,SACGg7K,EAAgBryK,KAAI,SAACjF,GACpB,OACE5D,cAAAC,WAAA,CAAAC,SACEF,cAACsuE,GAAgB,CACfE,cAAe5qE,EACf8kD,aAAc,kBAnNhD,SAAuB9kD,GACrBq3K,EAAer3K,EACjB,CAiNsDo4K,CAAcp4K,EAAK,EACvCwkD,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,sBACR1R,SAAU,OACV+I,MAAO,OACPoK,OAAQ,OACRjT,aAAc,OACdk3B,WAAY,UACZj3B,MAAO,cAKjB,MAEA,cAMZ/M,cAAAC,WAAA,IAEFD,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAC25K,GAAmB,CAClBQ,iBAAkBa,EAClBp7B,UAAWw7B,EACXt7B,aAAcu7B,kBAShC,IClXaY,GAAiB,SAACx8K,GAC7B,IAAMo0H,EAAc,CAClB,CACEthF,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,UACP+B,KAAM5W,cAACs/I,IAAoB,IAC3BpoC,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO,SACP+B,KAAM5W,cAACu/I,IAAW,IAClBroC,KAAM,EACNgV,QAASzsH,EAAMysH,YAMvB,OACElsH,cAAA,OAAKgB,UAAU,UAASd,SACrB2zH,EAAYhrH,KAAI,SAACjF,EAAMqV,GAAG,OACzBjZ,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,EAA2B,KAI7C,ECtCaijK,I,OAAmB,SAACz8K,GAK/B,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACAE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAI3gE,SAAA,CACnBF,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACvBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,uBAEpDF,cAACioB,IAAS,CAACjnB,UAAU,iCAGzBhB,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACtBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,uBAEpDF,cAACioB,IAAS,CAACjnB,UAAU,iCAGzBhB,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACtBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,OAEpDF,cAACioB,IAAS,CAACjnB,UAAU,iCAGzBhB,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACtBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,cAEpDF,cAACioB,IAAS,CAACjnB,UAAU,oCAI3BhB,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAC,cAC9CE,eAAC+wE,KAAS,CAAEE,WAAY,CAAEihG,SAAU,QAAUx/J,KAAK,QAAO5S,SAAA,CACxDF,cAACs4B,KAAM,CACHxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,kBAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,SAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,UAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,4BAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,WAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,yBAKxCE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAI3gE,SAAA,CACnBF,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACvBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,gBAEpDF,cAACioB,IAAS,CAACjnB,UAAU,iCAGzBhB,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACtBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,cAEpDF,cAACioB,IAAS,CAACjnB,UAAU,iCAGzBhB,cAACK,KAAG,CAACM,GAAI,GAAImgE,GAAI,EAAGlgE,GAAI,EAAEV,SACtBE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CAAC,eAEpDF,cAACioB,IAAS,CAACjnB,UAAU,oCAI3BZ,eAACuxC,KAAG,CAAAzxC,SAAA,CACFE,eAACC,KAAG,CAACM,GAAI,GAAImgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAC5BF,cAAA,OAAKgB,UAAU,sCAAqCd,SAAC,uBACnDE,eAAA,OAAAF,SAAA,CACAF,cAACqiB,KAAQ,CAAC7Z,MAAM,aAChBxI,cAAA,SAAOgB,UAAU,iDAAgDd,SAAC,iCAKpEE,eAACC,KAAG,CAACM,GAAI,GAAImgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAC5BF,cAAA,OAAKgB,UAAU,sCAAqCd,SAAC,iBACnDF,cAAA,OAAAE,SACAF,cAAA,OAAKgB,UAAU,4BAA2Bd,SApGxB,CACtB,CAAE+sG,OAAQ,qBAAsBkvE,OAAQ,sHACxC,CAAElvE,OAAQ,oBAAqBkvE,OAAQ,+IAmGhBtzK,KAAI,SAACg0B,EAAOr1B,GAC3B,OACEpH,eAAA,OAEIY,UAAU,2CAA0Cd,SAAA,CAEtDF,cAACmyE,KAAW,CAAC5gE,KAAK,WAAW/I,MAAOq0B,IAClCz8B,eAAA,SAAOY,UAAU,GAAEd,SAAA,CAChB28B,EAAMowE,OACJjtG,cAAA,SACI68B,EAAMs/I,YAPX30K,EAWA,cAKlBxH,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAC,oBAC9CE,eAAC+wE,KAAS,CAAEE,WAAY,CAAEihG,SAAU,QAAUx/J,KAAK,QAAO5S,SAAA,CACxDF,cAACs4B,KAAM,CACHxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,QAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,wCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,kBAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,SAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,UAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,4BAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,WAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,yBAKxCF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAC,2BAC9CE,eAAC+wE,KAAS,CAAEE,WAAY,CAAEihG,SAAU,QAAUx/J,KAAK,QAAO5S,SAAA,CACxDF,cAACs4B,KAAM,CACHxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,QAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,wCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,kBAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,SAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,UAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,4BAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,WAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,yBAKxCF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAC,uBAC9CE,eAAC+wE,KAAS,CAAEE,WAAY,CAAEihG,SAAU,QAAUx/J,KAAK,QAAO5S,SAAA,CACxDF,cAACs4B,KAAM,CACHxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,QAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,wCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,kBAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,SAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,kCAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,UAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,4BAIpCF,cAACs4B,KAAM,CACLxR,OACE1mB,eAAA,OAAAF,SAAA,CACEF,cAAA,QAAMgB,UAAU,eAAcd,SAAC,WAC/BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,2BAO5C,GClQak8K,GAAkB,SAAC38K,GAC9B,OACEW,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,+BAA8Bd,SAAC,oBAC9CF,cAAA,OAAKgB,UAAU,MAAKd,SAClBF,cAAA,OAAKgB,UAAU,YAAWd,SACxBE,eAAA,SAAOY,UAAU,8BAA6Bd,SAAA,CAC5CF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,MAAOzV,SAAA,CACzBF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,QAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,SAAUzV,SAAA,CAC5BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,gCAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,UAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,+BAIjCF,cAAA,qBAMZ,ECyCei/F,OAjEc,SAACx/F,GAAkB,IAADylE,EAC7C1tD,EAAoCC,mBAAiB,KAAIC,EAAApB,YAAAkB,EAAA,GAAlDixJ,EAAU/wJ,EAAA,GAAEgxJ,EAAahxJ,EAAA,GAChCgJ,EAAwCjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAxDy+F,EAAYx+F,EAAA,GAAEy+F,EAAez+F,EAAA,GAC9B8D,EAAQ4D,iBAAY,MAC1BvH,EAAkCrJ,oBAAS,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAA1CqnD,EAASpnD,EAAA,GAAcA,EAAA,GAU9B,OACE3gB,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACX0jD,GACCnoE,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,iBAGpDvlD,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QAAS,WArBjBwpG,GADED,EAsBoC,EAC9Bt+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,OAEvBhqF,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,8BAC1BF,cAAA,OAAKgB,UAAU,oCAGnBhB,cAAA,OAAKgB,UAAU,UAASd,SACtBE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,GACCn/G,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACi8K,GAAc,CACb9vD,aAAc,SAAChgH,GACbu8J,EAAcv8J,EAChB,EACA+/G,QAASu8C,UAMnBroK,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACrB,MAAfuoK,GAAsBzoK,cAACk8K,GAAgB,IACxB,MAAfzT,GAAsBzoK,cAACo8K,GAAe,iBAOrD,I,UChEaC,GAAgB,SAAC58K,GAAkB,IAAD68K,EAAAC,EAC7Br6H,cAChB11C,qBAAU,WACRpH,QAAQe,IAAI1G,EAAM+8K,UAAW,kBAC/B,GAAG,IAyBH,SAASC,EAAalkG,EAAWtwE,GAC/B,GAAY,MAARswE,EACF,MAAO,GAET,GAAIA,EAAKtwE,QAAUA,EACjB,OAAOswE,EAGT,IAAIo2B,GADJp2B,EAAOA,EAAK9uE,UAAU,EAAGxB,IACTwhC,YAAY,KAE5B,OADA8uC,EAAOA,EAAK9uE,UAAU,EAAGklG,IACX,KAChB,CACA,OACE3uG,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,0BAAyBd,UACtB,QAAfo8K,EAAA78K,EAAM+8K,iBAAS,IAAAF,OAAA,EAAfA,EAAiBr0K,SAAU,EAC1BjI,cAAAC,WAAA,CAAAC,SACkB,QADlBq8K,EACG98K,EAAM+8K,iBAAS,IAAAD,OAAA,EAAfA,EAAiB1zK,KAAI,SAACg0B,EAAYr1B,GAAe,IAADk1K,EAC/C,OACEt8K,eAAA,OAAKY,UAAU,sBAAqBd,SAAA,CAClCF,cAAA,OAAKgB,UAAU,wDAAuDd,SACnEu8K,EAAa5/I,EAAM8/I,SAAU,MAEhC38K,cAAA,OAAKgB,UAAU,4CAA2Cd,SAC5C,QAD4Cw8K,EACvD7/I,EAAMz7B,aAAK,IAAAs7K,OAAA,EAAXA,EAAa7zK,KAAI,SAACmQ,EAAYpR,GAC7B,IAAIg1K,EAAa,GASjB,OAPAn9K,EAAMo9K,WAAWh0K,KAAI,SAACi0K,GACpB,IAAAC,EAA8BD,EAAOzzK,MAAM,MAAK2zK,EAAA1mK,YAAAymK,EAAA,GAAjChwK,GAAFiwK,EAAA,GAAOA,EAAA,IAAEzrK,EAAIyrK,EAAA,GACtBhkK,EAAMikK,kBAAoB1rK,IAC5BqrK,EAAa7vK,EAEjB,IAGE/M,cAAC4U,KAAO,CACNE,UAAU,SACVD,MAAOmE,EAAMvZ,EAAMy9K,SAAS,IAC5Bl8K,UAAU,qBACV+L,MAAM,QAAO7M,SAEbE,eAAA,OAEEY,UAAU,8CACV4U,QAAS,WACP7S,OAAOqe,KAAK,mBAADngB,OACU+X,EAAMvZ,EAAMy9K,SAAS,KACxC,SACA,aAEJ,EAAEh9K,SAAA,CAEFE,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAA,OAAKgB,UAAU,WAAUd,SACvBF,cAAA,QAAMgB,UAAU,0CAAyCd,SACtD8Y,EAAMvZ,EAAMy9K,SAAS,QAI1Bl9K,cAAA,OACEgB,UAAU,sCACVH,MAAO,CAAEmjC,WAAY44I,GAAa18K,SAElCF,cAAA,QAAMgB,UAAU,0BAAyBd,SACtC8Y,EAAMvZ,EAAMy9K,SAAS,WAI5Bl9K,cAAA,QAAMgB,UAAU,4BAA2Bd,SACxC8Y,EAAMvZ,EAAMy9K,SAAS,MAExBl9K,cAAA,QAAMgB,UAAU,4BAA2Bd,SACxC8Y,EAAMvZ,EAAMy9K,SAAS,MAExBl9K,cAAA,QAAMgB,UAAU,4BAA2Bd,SACxC8Y,EAAMvZ,EAAMy9K,SAAS,QAjCnBlkK,EAAMk7B,cAuCnB,QAIR,MAGFl0C,cAAAC,WAAA,CAAAC,UACuB,IAApBT,EAAM0oE,WACLnoE,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACm9K,IAAe,CAACt8K,MAAO,CAAE+L,SAAU,YAEtC5M,cAAA,SAAOgB,UAAU,6BAA4Bd,SAAC,gCAWhE,E,iDClIak9K,GAAoB,SAAC39K,GAAkB,IAADylE,EACjD1tD,EAAwCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAhD6lK,EAAY3lK,EAAA,GAAE4lK,EAAe5lK,EAAA,GACpCgJ,EAA0DjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA3C68J,GAAF58J,EAAA,GAA0BA,EAAA,IACtDG,EAAkCrJ,oBAAkB,GAAKsJ,EAAAzK,YAAAwK,EAAA,GAAlDqnD,EAASpnD,EAAA,GAAEqnD,EAAYrnD,EAAA,GAQR,SAAAy8J,IAmCrB,OAnCqBA,EAAAp7K,YAAAC,IAAAC,MAAtB,SAAAC,IAAA,IAAA8xC,EAAAC,EAAA+rC,EAAA,OAAAh+E,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACMuxC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KACxC02D,EAAe,GACrB5gF,EAAM+8K,UAAU3zK,KAAI,SAACg0B,EAAYxjB,GAC/BwjB,EAAMz7B,MAAMyH,KAAI,SAACulC,EAAa+7F,GAC5B,IAAIyyC,EAAa,GACjBn9K,EAAMo9K,WAAWh0K,KAAI,SAACi0K,GACpB,IAAAW,EAA8BX,EAAOzzK,MAAM,MAAKq0K,EAAApnK,YAAAmnK,EAAA,GAAjC1wK,GAAF2wK,EAAA,GAAOA,EAAA,IAAEnsK,EAAImsK,EAAA,GACtBtvI,EAAO3uC,EAAMy9K,SAAS,MAAQ3rK,IAChCqrK,EAAa7vK,EAEjB,IACA3H,QAAQe,IAAI,WAAYioC,GAExBiyC,EAAMv3E,KAAK,CACT6J,GAAIy7B,EAAO3uC,EAAMy9K,SAAS,IAC1Bn2K,OAAQqnC,EAAO3uC,EAAMy9K,SAAS,IAC9BroK,MAAOu5B,EAAO3uC,EAAMy9K,SAAS,IAC7BjsK,KAAM,IAAI0J,KACR3R,KAAOA,KAAOolC,EAAO3uC,EAAMy9K,SAAS,IAAK,iBAAiBt0K,OACxD,eAGJ1C,IAAI,GAADjF,OAAKqzC,EAAO,oBAAArzC,OAAmBmtC,EAAoB,aACtDuvI,QAAQ,EACR5wK,MAAO6vK,GAEX,GACF,IACAx3K,QAAQe,IAAI,UAAWk6E,GAEvBi9F,EAAgB,GAADr8K,OAAKo/E,IACpBk9F,EAAyB,GAADt8K,OAAKo/E,IAC7BjY,GAAa,GAAO,wBAAAxlE,EAAAqB,OAAA,GAAA1B,EAAA,MACrB4B,MAAA,KAAAC,UAAA,CA1CDoI,qBAAU,WACRpH,QAAQe,IAAI1G,EAAM+8K,UAAW,wBACLj8K,IAApBd,EAAM+8K,WAIU,WACAgB,EAAAr5K,MAAC,KAADC,UAAA,CAHlBshB,EAEJ,GAAG,CAACjmB,EAAM+8K,YAqCV,IAAMoB,EAAmB,WAGvB,IAFA,IAAIt7I,EAAU7iC,EAAMo9K,WAChB90K,EAAU,GACLP,EAAI,EAAGA,EAAI86B,EAAGr6B,OAAQT,IAAK,CAClC,IAAMq2K,EAAUv7I,EAAG96B,GACnBs2K,EAAqCD,EAAQx0K,MAAM,MAAK00K,EAAAznK,YAAAwnK,EAAA,GAAlCE,GAATD,EAAA,GAAOA,EAAA,GAAaA,EAAA,IACjC34K,QAAQe,IAAI,sBAAuBm8B,EAAGr6B,QAEtC,IAAK,IAAIL,EAAIJ,EAAI,EAAGI,EAAI06B,EAAGr6B,OAAQL,IAAK,CACtC,IAAMyxB,EAAUiJ,EAAG16B,GACnBq2K,EAAwC5kJ,EAAQhwB,MAAM,MAAK60K,EAAA5nK,YAAA2nK,EAAA,GAA7CC,EAAA,GAAQA,EAAA,GAClBF,IADgCE,EAAA,KAElC94K,QAAQe,IAAI,YAAayB,EAAGyxB,EAAS,IAAKwkJ,EAAS,KAAMr2K,GACzDO,EAAGe,KAAKlB,GAEZ,CACF,CAMA,IALA,IAAIu2K,EAAK1+K,EAAMo9K,WACXuB,EAAG11K,YAAO,IAAIkjC,IAAI7jC,IAElBs2K,EAAK,GACLvhJ,GAAQ,EACHt1B,EAAI,EAAGA,EAAI22K,EAAGl2K,OAAQT,IAAK,CAElC,IADA,IAAMomG,EAAKuwE,EAAG32K,GACLI,EAAI,EAAGA,EAAIw2K,EAAIn2K,OAAQL,IAAK,CAE/BJ,IADY42K,EAAIx2K,KAElBk1B,GAAQ,EACR13B,QAAQe,IAAI,kBAAmBynG,GAEnC,CACK9wE,GACHuhJ,EAAGv1K,KAAK8kG,GAEV9wE,GAAQ,CACV,CAEA13B,QAAQe,IAAI,SAAUk4K,EAAI,IAAG31K,YAAM,IAAIkjC,IAAI7jC,KAC3C3C,QAAQe,IAAI,SAAUk4K,GACtB,IAAIC,EAAY,GACLD,EAAGx1K,KAAI,SAACi0K,GACjB,IAAAC,EAA+CD,EAAOzzK,MAAM,MAAK2zK,EAAA1mK,YAAAymK,EAAA,GAAlDhwK,GAAFiwK,EAAA,GAAOA,EAAA,IAAEgB,EAAWhB,EAAA,GAAEuB,EAAQvB,EAAA,GAC3CsB,EAAKx1K,KAAK,CACRk1K,YAAaA,EACbjxK,MAAOA,EACPwxK,SAAUA,GAEd,IAgBA,OAfYD,EAAK/tH,MAAK,SAAC1U,EAAQ2U,GAC7B,OAAO3U,EAAE0iI,SAAW/tH,EAAE+tH,QACxB,IACgB11K,KAAI,SAACg0B,GACnB,OACEz8B,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,SACEgB,UAAU,wBACVH,MAAO,CAAE2pB,gBAAiBqS,EAAM9vB,SAElC/M,cAAA,SAAOgB,UAAU,wBAAuBd,SAAE28B,EAAMmhJ,gBAGtD,GAGF,EAwEA,OACEh+K,cAAA,OAAAE,SACGioE,QAAiC5nE,IAApBd,EAAM+8K,UAClBx8K,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,iBAGlDvlD,eAAA,OAAKY,UAAU,WAAUd,SAAA,MACDK,IAArBd,EAAMo9K,iBACet8K,IAApBd,EAAM+8K,WApCZx8K,cAAA,OACEgB,UAAU,mBACV4U,QAAS,WACPxQ,QAAQe,IAAI1G,EAAM++K,wBACpB,EAAEt+K,SAEFF,cAAA,OAAKgB,UAAU,sDAAqDd,SAclEF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAAC,WAAA,CAAAC,SAAG09K,YAiBL59K,cAAA,OAAKgB,UAAU,iIAAgId,SAC7IF,cAACy+K,KAAY,CACX96H,QAAS,CAAC+6H,KAAeC,KAAgBC,MACzCC,YAAY,eACZC,UAAU,EACVC,WAAY,SAACngI,GACXA,EAAKogI,QAAQzpK,iBACTqpC,EAAKghC,MAAM15E,KACbnD,OAAOqe,KAAKw9B,EAAKghC,MAAM15E,IAAK,aAEhC,EACA+4K,cAAe,CACbjmE,KAAM,OACNkmE,OAAQ,QACRtwH,MAAO,QAETuwH,cAAc,EAEdC,OAAQ/B,EACR3jK,UAAU,UAOxB,E,2DC/Na2lK,GAAoB,SAAC5/K,GAChC,IAAA+X,EAAwCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAhD8nK,EAAY5nK,EAAA,GAAE6nK,EAAe7nK,EAAA,GACpCgJ,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5C8+J,EAAU7+J,EAAA,GAAE8+J,EAAa9+J,EAAA,GAC5B0zB,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAKxB,SAAA6zJ,IAiErB,OAjEqBA,EAAAp7K,YAAAC,IAAAC,MAAtB,SAAAC,IAAA,IAAA89E,EAAAi9C,EAAA,OAAAj7H,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACMrD,EAAM+8K,YACJn8F,EAAe,GACfi9C,EAAgB,GACpBl4H,QAAQe,IAAI1G,EAAM+8K,UAAW,oBAC7B/8K,EAAM+8K,UAAU3zK,KAAI,SAACg0B,EAAYxjB,GAC/BikH,EAAOx0H,KAAK,CACV6J,GAAI0G,EACJxE,MAAOgoB,EAAgB,SACvB6iJ,WAAY7iJ,EAAgB,WAE9BA,EAAMz7B,MAAMyH,KAAI,SAACulC,EAAa+7F,GAC5B,IAAIyyC,EAAa,GACjBn9K,EAAMo9K,WAAWh0K,KAAI,SAACi0K,GACpB,IAAAW,EAA8BX,EAAOzzK,MAAM,MAAKq0K,EAAApnK,YAAAmnK,EAAA,GAAjC1wK,GAAF2wK,EAAA,GAAOA,EAAA,IAAEnsK,EAAImsK,EAAA,GACtBtvI,EAAO3uC,EAAMy9K,SAAS,MAAQ3rK,IAChCqrK,EAAa7vK,EAEjB,IAEAszE,EAAMv3E,KAAK,CACT6J,GAAIy7B,EAAO3uC,EAAMy9K,SAAS,IAAM,GAChCjlJ,MAAO5e,EAAQ,GACfxE,MAAOu5B,EAAO3uC,EAAMy9K,SAAS,IAC7ByC,MAAO32K,KACL,IAAI2R,KACF3R,KACEA,KAAOolC,EAAO3uC,EAAMy9K,SAAS,IAAK,iBAClCt0K,OAAO,gBAGbg3K,IAAK52K,KACH,IAAI2R,KACF3R,KACEA,KAAOolC,EAAO3uC,EAAMy9K,SAAS,IAAK,gBAAgB14E,IAChD,EACA,SAEF57F,OAAO,gBAGbi3K,QAAS,2BACTC,UAAW,CACT,WAAY1xI,EAAyB,iBAErC2xI,UAAW,WACTh9K,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,oBAAArzC,OAAmBmtC,EAAoB,aACjD,SACA,aAEJ,EACAvtC,MAAO,CACLmjC,WAAY44I,KAIpB,GACF,IACAx3K,QAAQe,IAAIk6E,EAAO,SACnBj7E,QAAQe,IAAIm3H,EAAQ,UACpBiiD,EAAgB,GAADt+K,OAAKo/E,IACpBo/F,EAAc,GAADx+K,OAAKq8H,KAEnB,wBAAA16H,EAAAqB,OAAA,GAAA1B,EAAA,MACF4B,MAAA,KAAAC,UAAA,CArEDoI,qBAAU,YAEY,WAEAgxK,EAAAr5K,MAAC,KAADC,UAAA,CAHpBshB,EACF,GAAG,CAACjmB,EAAM+8K,YAqEV,IAAMoB,EAAmB,WAGvB,IAFA,IAAIt7I,EAAU7iC,EAAMo9K,WAChB90K,EAAU,GACLP,EAAI,EAAGA,EAAI86B,EAAGr6B,OAAQT,IAAK,CAClC,IAAMq2K,EAAUv7I,EAAG96B,GACnBs2K,EAAqCD,EAAQx0K,MAAM,MAAK00K,EAAAznK,YAAAwnK,EAAA,GAAlCE,GAATD,EAAA,GAAOA,EAAA,GAAaA,EAAA,IACjC34K,QAAQe,IAAI,sBAAuBm8B,EAAGr6B,QAEtC,IAAK,IAAIL,EAAIJ,EAAI,EAAGI,EAAI06B,EAAGr6B,OAAQL,IAAK,CACtC,IAAMyxB,EAAUiJ,EAAG16B,GACnBq2K,EAAwC5kJ,EAAQhwB,MAAM,MAAK60K,EAAA5nK,YAAA2nK,EAAA,GAA7CC,EAAA,GAAQA,EAAA,GAClBF,IADgCE,EAAA,KAElC94K,QAAQe,IAAI,YAAayB,EAAGyxB,EAAS,IAAKwkJ,EAAS,KAAMr2K,GACzDO,EAAGe,KAAKlB,GAEZ,CACF,CAMA,IALA,IAAIu2K,EAAK1+K,EAAMo9K,WACXuB,EAAG11K,YAAO,IAAIkjC,IAAI7jC,IAElBs2K,EAAK,GACLvhJ,GAAQ,EACHt1B,EAAI,EAAGA,EAAI22K,EAAGl2K,OAAQT,IAAK,CAElC,IADA,IAAMomG,EAAKuwE,EAAG32K,GACLI,EAAI,EAAGA,EAAIw2K,EAAIn2K,OAAQL,IAAK,CAE/BJ,IADY42K,EAAIx2K,KAElBk1B,GAAQ,EACR13B,QAAQe,IAAI,kBAAmBynG,GAEnC,CACK9wE,GACHuhJ,EAAGv1K,KAAK8kG,GAEV9wE,GAAQ,CACV,CAEA13B,QAAQe,IAAI,SAAUk4K,EAAI,IAAG31K,YAAM,IAAIkjC,IAAI7jC,KAC3C3C,QAAQe,IAAI,SAAUk4K,GACtB,IAAIC,EAAY,GACLD,EAAGx1K,KAAI,SAACi0K,GACjB,IAAAC,EAA+CD,EAAOzzK,MAAM,MAAK2zK,EAAA1mK,YAAAymK,EAAA,GAAlDhwK,GAAFiwK,EAAA,GAAOA,EAAA,IAAEgB,EAAWhB,EAAA,GAAEuB,EAAQvB,EAAA,GAC3CsB,EAAKx1K,KAAK,CACRk1K,YAAaA,EACbjxK,MAAOA,EACPwxK,SAAUA,GAEd,IAgBA,OAfYD,EAAK/tH,MAAK,SAAC1U,EAAQ2U,GAC7B,OAAO3U,EAAE0iI,SAAW/tH,EAAE+tH,QACxB,IACgB11K,KAAI,SAACg0B,GACnB,OACEz8B,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,SACEgB,UAAU,wBACVH,MAAO,CAAE2pB,gBAAiBqS,EAAM9vB,SAElC/M,cAAA,SAAOgB,UAAU,wBAAuBd,SAAE28B,EAAMmhJ,gBAGtD,GAGF,EAaA,IAaAl9J,EAAsCrJ,mBAAS,KAAIsJ,EAAAzK,YAAAwK,EAAA,GAA9Ck/J,EAAYj/J,EAAA,GAAEk/J,EAAel/J,EAAA,GASlC,OACE/gB,cAAA,OACE4V,QAAS,WACPxQ,QAAQe,IAAIm5K,GACZl6K,QAAQe,IAAIq5K,EACd,EAAEt/K,SAEDo/K,GAAgBE,GAAiC,GAAnB//K,EAAM0oE,WACnC/nE,eAAAH,WAAA,CAAAC,SAAA,CAvCFF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,OAAKgB,UAAU,sDAAqDd,SAClEF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAAC,WAAA,CAAAC,SAAG09K,YAsCuB,IAA3Bn+K,EAAM+8K,UAAUv0K,OACfjI,cAACkgL,KAAQ,CACPlyK,KAlCD,CACTmyK,WAAY,KACZC,cAAe,QACfC,mBAAoB,aACpBC,UAAW,KACXC,aAAc,QACdC,gBAAiB,QACjBC,aAAc,QACdC,iBAAkB,QAClBC,eAAgB,MAChBC,cAAe,SAyBLC,OAAQrB,EACRp+K,MAAOk+K,EACPwB,iBAAkB93K,OAASw7F,KAAK,GAAI,OACpCu8E,eAAgB/3K,OAASw7F,IAAI,GAAI,OACjCw8E,gBAAiB,IACjBC,SAAS,EACTC,WAAW,EACXC,YAAU,EACVC,aAAcpB,EAAa9/K,SAE3BE,eAACihL,mBAAe,CAACrgL,UAAU,SAAQd,SAAA,CACjCF,cAACshL,iBAAa,CAAAphL,SACX,SAAAiC,GAAuB,IAApBo/K,EAAYp/K,EAAZo/K,aACF,OACEnhL,eAAA,OAAAF,SAAA,CACEE,eAAA,OACES,MAAO,CACL8U,MAAOqqK,EAAe,EAAI,KAC1B1hK,OAAQ,qBACRyB,OAAQ,QACR7f,SAAA,CAEFF,cAAC4U,KAAO,CACNE,UAAU,SACVD,MAAO,uEAAqB3U,SAE5BF,cAACwhL,KAAmB,CAClB5rK,QAAS,SAACzJ,GA7ClC8zK,EADED,GAAgB,IACFA,EAAe,GAEfA,EA2CsC,EAC9Bh/K,UAAU,eAGb,KACDhB,cAAC4U,KAAO,CACNE,UAAU,SACVD,MAAO,mFAAuB3U,SAE9BF,cAACyuI,KAAkB,CACjB74H,QAAS,SAACzJ,GAAC,OACT8zK,EAAgBD,EAAe,GAAG,EAEpCh/K,UAAU,kBAIhBhB,cAAA,MAAAuS,wBAAA,CACEvR,UAAU,wBACNugL,KAAc,IAAArhL,SACnB,gBAKP,IAEFF,cAACyhL,cAAU,CAACC,KAAK,kBACjB1hL,cAACyhL,cAAU,SAIfzhL,cAAAC,WAAA,CAAAC,UACuB,IAApBT,EAAM0oE,WACLnoE,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,OAAKgB,UAAU,4BAA2Bd,SACxCF,cAACm9K,IAAe,CAACt8K,MAAO,CAAE+L,SAAU,YAEtC5M,cAAA,SAAOgB,UAAU,6BAA4Bd,SAAC,iCAYlE,ECzRayhL,GAAa,eAAAx/K,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAG,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACLK,MAAM,sBACzBM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EALR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAMNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,kBARyB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KC6gCX66F,OA59BS,SAACx/F,GAAkB,IAADylE,EAClC08G,EAAkB,CACtB5wD,SAAU,GACVxoH,MAAO,IAGTgP,EAA0CC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAlDutD,EAAartD,EAAA,GAAEmqK,EAAgBnqK,EAAA,GAChCoqK,EAAKz5J,iBAAqB,MAE1B05J,GADM15J,iBAAY,MACXA,iBAAY,OACnB25J,EAAY35J,kBAAY,GAC9B3H,EAA0CjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAApDuhK,EAAathK,EAAA,GAAEuhK,EAAgBvhK,EAAA,GACtCG,EAAkDrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAA1DqhK,EAAiBphK,EAAA,GAAEqhK,EAAoBrhK,EAAA,GAC9CgB,EAAsCtK,qBAAeuK,EAAA1L,YAAAyL,EAAA,GAA9CsgK,EAAWrgK,EAAA,GAAEsgK,EAActgK,EAAA,GAClCC,EAAoDxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAA5DsgK,EAAkBrgK,EAAA,GAAEsgK,EAAqBtgK,EAAA,GAChDwG,EAA4DjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAApE+5J,EAAsB95J,EAAA,GAAE+5J,EAAyB/5J,EAAA,GAChDk4E,EAAgBrmF,KAAhBqmF,YACRj4E,EAAkCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAA1C4zJ,EAAS3zJ,EAAA,GAAE85J,EAAY95J,EAAA,GAC9B2I,EAA0D/Z,qBAAega,EAAAnb,YAAAkb,EAAA,GACzEI,GAD4BH,EAAA,GAA0BA,EAAA,GAC9Bha,sBAAeoa,EAAAvb,YAAAsb,EAAA,GAAhChuB,GAAIiuB,EAAA,GAAEukD,GAAOvkD,EAAA,GACpBG,GAA4Bva,mBAAiB,IAAGwa,GAAA3b,YAAA0b,GAAA,GAAzC9Z,GAAM+Z,GAAA,GAAE2wJ,GAAS3wJ,GAAA,GACxBG,GAA4C3a,qBAAe4a,GAAA/b,YAAA8b,GAAA,GAApDywJ,GAAcxwJ,GAAA,GAAEywJ,GAAiBzwJ,GAAA,GACxCG,GAAgC/a,qBAAegb,GAAAnc,YAAAkc,GAAA,GAAxC0qJ,GAAQzqJ,GAAA,GAAEswJ,GAAWtwJ,GAAA,GAC5BG,GAAkCnb,oBAAkB,GAAKob,GAAAvc,YAAAsc,GAAA,GAAlDu1C,GAASt1C,GAAA,GAAEu1C,GAAYv1C,GAAA,GAC9BG,GAAwCvb,mBAAiB,KAAIwb,GAAA3c,YAAA0c,GAAA,GAAtDm5F,GAAYl5F,GAAA,GAAE+vJ,GAAe/vJ,GAAA,GACpCI,GAAoC5b,qBAAe6b,GAAAhd,YAAA+c,GAAA,GAA5CwpJ,GAAUvpJ,GAAA,GAAE2vJ,GAAa3vJ,GAAA,GAChCivC,GAAwC9qD,qBAAe+qD,GAAAlsD,YAAAisD,GAAA,GAAhDg6E,GAAY/5E,GAAA,GAAE0gH,GAAe1gH,GAAA,GACpCG,GAAgDlrD,qBAAemrD,GAAAtsD,YAAAqsD,GAAA,GAAxDouC,GAAgBnuC,GAAA,GAAEouC,GAAmBpuC,GAAA,GAC5CE,GAA0BrrD,qBAAesrD,GAAAzsD,YAAAwsD,GAAA,GAAlC61C,GAAK51C,GAAA,GAAE61C,GAAQ71C,GAAA,GACtB8Z,GAA8BplE,qBAAeqlE,GAAAxmE,YAAAumE,GAAA,GAAtCsmG,GAAOrmG,GAAA,GAAEsmG,GAAUtmG,GAAA,GAC1BG,GAA8CxlE,qBAAeylE,GAAA5mE,YAAA2mE,GAAA,GAAtDomG,GAAenmG,GAAA,GAAEomG,GAAkBpmG,GAAA,GAC1CI,GAA4C7lE,qBAAe8lE,GAAAjnE,YAAAgnE,GAAA,GAApCimG,IAAFhmG,GAAA,GAAmBA,GAAA,IACxC8V,GAAgC57E,oBAAkB,GAAM67E,GAAAh9E,YAAA+8E,GAAA,GAAjDmwF,GAAQlwF,GAAA,GAAEmwF,GAAWnwF,GAAA,GAC5BG,GAA0Ch8E,oBAAkB,GAAMi8E,GAAAp9E,YAAAm9E,GAAA,GAA3DiwF,GAAahwF,GAAA,GAAEiwF,GAAgBjwF,GAAA,GACtCG,GAA8Cp8E,mBAAc,CAAErW,MAAO,KAAK0yF,GAAAx9E,YAAAu9E,GAAA,GAAnE+vF,GAAe9vF,GAAA,GAAE+vF,GAAkB/vF,GAAA,GAC1CxuE,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GACf0xC,IAD4B1xC,GAAA,GACoB9qC,oBAAS,IAAMy8E,GAAA59E,YAAA29E,GAAA,GAAxD6vF,GAAgB5vF,GAAA,GAAE6vF,GAAmB7vF,GAAA,GAC5CG,GAA8D58E,qBAAe68E,GAAAh+E,YAAA+9E,GAAA,GAAtEmqF,GAAuBlqF,GAAA,GAAE0vF,GAA0B1vF,GAAA,GAC1DG,GAAsCh9E,oBAAkB,GAAMi9E,GAAAp+E,YAAAm+E,GAAA,GAAvDwvF,GAAWvvF,GAAA,GAAEwvF,GAAcxvF,GAAA,GAMV,SAAAvF,KA4BvB,OA5BuBA,GAAA/sF,YAAAC,IAAAC,MAAxB,SAAAiC,IAAA,IAAA4/K,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/hL,EAAAgiL,EAAA/H,EAAA,OAAAt6K,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACuB,OAArBohL,IAAe,GAAM1/K,EAAA1B,KAAA,EACMmqD,eAAqB,KAAD,EAA7B,OAAdk3H,EAAc3/K,EAAAT,KAAAS,EAAA1B,KAAA,EACEupD,eAA2B,KAAD,EAAnC,OAAP+3H,EAAO5/K,EAAAT,KAAAS,EAAA1B,KAAA,EACgB6+K,KAAgB,KAAD,EAAxB,OAAAn9K,EAAAT,KAAAS,EAAA1B,KAAA,GACkB6hL,GAAsBP,GAAS,KAAD,GAAvC,OAAvBC,EAAuB7/K,EAAAT,KAAAS,EAAA1B,KAAA,GACLopD,eAA0B,KAAD,GAAlC,OAATo4H,EAAS9/K,EAAAT,KAAAS,EAAA1B,KAAA,GACewpD,eAA6B,KAAD,GAArC,OAAfi4H,EAAe//K,EAAAT,KAAAS,EAAA1B,KAAA,GACQ+pD,eAA4B,KAAD,GAApC,OAAd23H,EAAchgL,EAAAT,KAAAS,EAAA1B,KAAA,GACMkqD,eAAyB,KAAD,GAAjC,OAAXy3H,EAAWjgL,EAAAT,KAAAS,EAAA1B,KAAA,GACK8hL,aAAoB,CACtCx9E,cAAe7jG,KAAKC,UAAU6gL,KAC7B,KAAD,GAFS,OAAP3hL,EAAO8B,EAAAT,KAAAS,EAAA1B,KAAA,GAGe+hL,aAAgBniL,GAAS,KAAD,GAAjC,OAAbgiL,EAAalgL,EAAAT,KAAAS,EAAA1B,KAAA,GACIgiL,aAAaJ,EAAeF,EAAe,IAAI,KAAD,GAA/D7H,EAAQn4K,EAAAT,KACZqyE,GAAQsuG,GACR/B,EAAahG,GACbxnH,KACA4vH,KACAvC,EAAsB+B,GACtBnC,EAAqBoC,GACrBvB,GAAcwB,GACd1B,GAAYuB,GACZU,GAAoBZ,GACpBtB,GAAkByB,EAAgB,IAClCrC,EAAiBsC,EAAe,IAChCp8G,IAAa,GACby5G,EAAiBsC,GAAgB,yBAAA3/K,EAAAP,OAAA,GAAAM,EAAA,MAClCJ,MAAA,KAAAC,UAAA,CA+EyC,SAE3BugL,GAAqB7/K,GAAA,OAAAmgL,GAAA9gL,MAAC,KAADC,UAAA,UAAA6gL,KA8InC,OA9ImCA,GAAA7iL,YAAAC,IAAAC,MAApC,SAAA2C,EAAqCigL,GAAkB,IAAAC,EAAAhpJ,EAAAipJ,EAAAC,EAAA,OAAAhjL,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EAC1BqqD,eAAkC,KAAD,EA0IzD,OA1ICg4H,EAAcjgL,EAAAnB,KACdo4B,EAAqB,GACrBipJ,EAAmB,GACnBC,EAAuB,GAC3BF,EAAet8K,KAAI,SAACg0B,EAAY5jB,GAC9B,IAAIgB,GAAuB,EACvBqrK,EAAkB,KAClBC,EAAkB,KAClBC,EAAsB,KACtBC,EAAoB,KACpBC,EAA2B,GAE/B,GADAL,EAAgBv8K,KAAK84K,GACG,SAApB/kJ,EAAM8oJ,UAAsB,CAC9BD,EAAmB,SACnBH,EAAa,IACbD,EAAa,KACbE,EAAiBx8K,OACdw7F,IAAItxF,SAAS2pB,EAAM+oJ,eAAgB,QACnCh9K,OAAO,cACV68K,EAAez8K,OACZw7F,IAAItxF,SAAS2pB,EAAMgpJ,aAAc,QACjCj9K,OAAO,cACVgwG,GAAS,CACP5vG,KACE,IAAI2R,KACF3R,KACEA,OAASw7F,IAAItxF,SAAS2pB,EAAM+oJ,eAAgB,SAC5Ch9K,OAAO,gBAGbI,KACE,IAAI2R,KACF3R,KAAOA,OAASw7F,IAAItxF,SAAS2pB,EAAMgpJ,aAAc,SAASj9K,OACxD,kBAKR,IAAMk9K,EAAmB,CACvB90D,SAAU,CACRtkH,QAASmwB,EAAMkpJ,aACfx0K,KAAMsrB,EAAMmpJ,UACZvkL,KAAMo7B,EAAM8oJ,WAEdn9K,MAAO,CACLQ,KACE,IAAI2R,KACF3R,KACEA,OAASw7F,IAAItxF,SAAS2pB,EAAM+oJ,eAAgB,SAC5Ch9K,OAAO,gBAGbI,KACE,IAAI2R,KACF3R,KACEA,OAASw7F,IAAItxF,SAAS2pB,EAAMgpJ,aAAc,SAC1Cj9K,OAAO,kBAKbo/G,EAAS47D,GAAgBxiL,MAC7B4mH,EAAOl/G,KAAKg9K,GACZjC,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMs/G,IAAO,GAEtB,MAAO,GAAwB,WAApBnrF,EAAM8oJ,UAAwB,CACvCD,EAAmB,SACnBH,EAAa,IASb,IARA,IAAIU,EAAmB,OAALppJ,QAAK,IAALA,OAAK,EAALA,EAAOqpJ,UAAU78K,MAAM,OACnC8iD,EAAa+4H,EAAcr8K,KAAI,SAACg0B,GACpC,IAAAuvB,EAAuCvvB,EAAMxzB,MAAM,MAAK88K,EAAA7vK,YAAA81C,EAAA,GAAjD5jD,EAAK29K,EAAA,GAAEz5K,EAAOy5K,EAAA,GAAcA,EAAA,GACnC,MAAO,CACL39K,MAAOA,EACPkE,QAASA,EAEb,IACSlF,EAAI,EAAGA,EAAIy+K,EAAYh+K,OAAQT,IAEtC,IADA,IAAM6xB,EAAU4sJ,EAAYz+K,GACnBI,EAAI,EAAGA,EAAIukD,EAAWlkD,OAAQL,IAAK,CAC1C,IAAM0kF,EAAWngC,EAAWvkD,GACxByxB,IAAYizD,EAAS5/E,UACvBuN,GAAc,EACdmrK,EAAYt8K,KAAKwjF,EAAS9jF,OAE9B,CAEEyR,IACFqrK,EAAa,GACF,OAAXF,QAAW,IAAXA,KAAav8K,KAAI,SAACg0B,GAAU,OAC1B78B,cAAAC,WAAA,CAAAC,SACGklL,EAAYn9K,OAAS,GACP,OAAXm9K,QAAW,IAAXA,OAAW,EAAXA,EAAavnI,OAAO,GAAG,KAAMhhB,EAAK,GAAA57B,OAC5BqkL,GAA0BzoJ,GAAK,GAAA57B,OAC/BqkL,EAAaA,EAAazoJ,EAAQ,OACvCyoJ,GAA0BzoJ,GAC9B,KAGP,IAAMipJ,EAAmB,CACvB90D,SAAU,CACRtkH,QAASmwB,EAAMkpJ,aACfx0K,KAAMsrB,EAAMmpJ,UACZvkL,KAAMo7B,EAAM8oJ,WAEdn9K,MAAO,CAAC48K,IAENp9D,EAAS47D,GAAgBxiL,MAC7B4mH,EAAOl/G,KAAKg9K,GACZjC,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMs/G,IAAO,GAEtB,MACE09D,EAAmB,OAErBvpJ,EAAYrzB,KAAK,CACf60F,GAAI,EACJnG,UAAgB,OAAL36D,QAAK,IAALA,OAAK,EAALA,EAAOmpJ,UAClBpoF,aAAmB,OAAL/gE,QAAK,IAALA,OAAK,EAALA,EAAOmpJ,UACrBnoF,oBAAoB,EACpBC,UAAWynF,EACXxnF,UAAU,EACVxG,UAAW+tF,EACXtnF,cAAewnF,EACfvnF,YAAawnF,EACbvnF,SAAU,KACVC,sBAAuB,KACvBlgB,uBAAwBsnG,EACxBnnF,aAAa,EACbC,WAAW,EACXC,gBAAiBonF,EACjB/xF,gBAAiB,KACjByyF,kBAAmB,KACnBC,iBAAkB,GAClBntF,SAAU,MAEd,IAAGh0F,EAAAlB,OAAA,SAEIm4B,GAAW,wBAAAj3B,EAAAjB,OAAA,GAAAgB,EAAA,MACnBd,MAAA,KAAAC,UAAA,UACc+wD,KAAiB,OAAAC,GAAAjxD,MAAC,KAADC,UAAA,UAAAgxD,KAa/B,OAb+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAkD,IAAA,IAAAowF,EAAAvV,EAAA,OAAAh+E,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACwB2vD,IAAiB,KAAD,EAAlCmjC,EAASnwF,EAAA1B,KACbqB,QAAQe,IAAI,YAAayvF,GAErBvV,EAAe,GACnBuV,EAAU/sF,KAAI,SAACg0B,GACbwjD,EAAMv3E,KAAK,CACTkC,OAAQ6xB,EAAc,OACtB04B,OAAQ14B,EAAc,QAE1B,IAEAqmJ,GAAgB,GAADjiL,OAAKo/E,IAAQ,wBAAA56E,EAAAxB,OAAA,GAAAuB,EAAA,MAC7BrB,MAAA,KAAAC,UAAA,UACc2gL,KAAY,OAAAuB,GAAAniL,MAAC,KAADC,UAAA,UAAAkiL,KAY1B,OAZ0BA,GAAAlkL,YAAAC,IAAAC,MAA3B,SAAAsD,IAAA,IAAA2gL,EAAAC,EAAA,OAAAnkL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,cAAAgD,EAAAhD,KAAA,EACuB6+K,KAAgB,KAAD,EAAhC4E,EAAQzgL,EAAA/B,KACZqB,QAAQe,IAAI,WAAYogL,GAEpBC,EAAsB,GAC1BD,EAAS19K,KAAI,SAACg0B,GACZ2pJ,EAAa19K,KAAK,CAChB29K,YAAa5pJ,EAAmB,aAEpC,IAEAumJ,GAAW,GAADniL,OAAKulL,IAAe,wBAAA1gL,EAAA7B,OAAA,GAAA2B,EAAA,MAC/BzB,MAAA,KAAAC,UAAA,UACc4gL,GAAmBj/K,GAAA,OAAA2gL,GAAAviL,MAAC,KAADC,UAAA,UAAAsiL,KAWjC,OAXiCA,GAAAtkL,YAAAC,IAAAC,MAAlC,SAAA+6B,EAAmC+mJ,GAAY,IAAAj4H,EAAA,OAAA9pD,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAEvCqpD,EAAai4H,EAAQv7K,KAAI,SAACg0B,GAC9B,IAAA2vB,EAAuC3vB,EAAMxzB,MAAM,MAAKojD,EAAAn2C,YAAAk2C,EAAA,GAAjDhkD,EAAKikD,EAAA,GAAE//C,EAAO+/C,EAAA,GAAcA,EAAA,GAKnC,MAJgB,CACdjkD,MAAOA,EACPkE,QAASA,EAGb,IACA41K,EAAen2H,GAAY,wBAAAzuB,EAAAz5B,OAAA,GAAAo5B,EAAA,MAC5Bl5B,MAAA,KAAAC,UAAA,CACD,SAASuiL,GAAMC,GACb,OAAO,IAAIzoK,SAAQ,SAACC,GAAO,OAAK5K,WAAW4K,EAASwoK,EAAG,GACzD,CAAC,SACcC,KAAc,OAAAC,GAAA3iL,MAAC,KAADC,UAAA,UAAA0iL,KAE5B,OAF4BA,GAAA1kL,YAAAC,IAAAC,MAA7B,SAAAu7B,IAAA,OAAAx7B,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,cAAA06B,EAAA16B,KAAA,EACQ6jL,GAAM,GAAG,KAAD,mBAAAnpJ,EAAAv5B,OAAA,GAAA45B,EAAA,MACf15B,MAAA,KAAAC,UAAA,CAED,SAAS2iL,GAAkBlqJ,GACzB,IAAK3kB,GACH,OAAO2kB,EAET,IAAM13B,EAAgB,GAYtB,OAXA+3K,GAASr0K,KAAI,SAACy7K,GACZ,IAAMh5K,EAAMuxB,EAAM3kB,QAAO,SAAC3P,GACxB,OAAOA,EAAK+7K,GACTx5K,WACAH,cACAlC,SAASyP,GAAOvN,cACrB,IACIW,EAAIrD,QAAU,GAChB9C,EAAO2D,KAAI3E,MAAXgB,EAAMuD,YAAS4C,GAEnB,IACOnG,CACT,CAAC,SACc6hL,GAAcz7K,GAAA,OAAA07K,GAAA9iL,MAAC,KAADC,UAAA,UAAA6iL,KAqF5B,OArF4BA,GAAA7kL,YAAAC,IAAAC,MAA7B,SAAA67B,EAA8BtB,GAAU,IAAAqqJ,EAAAC,EAAAC,EAAAC,EAAAliL,EAAA4C,EAAAu/K,EAAA,OAAAjlL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAEO,GAD7CslE,IAAa,GACbhjE,QAAQe,IAAI,QAAS02B,EAAO+mJ,IAEqB,KAA9B,OAAfA,SAAe,IAAfA,IAAyB,QAAVsD,EAAftD,GAAiBxiL,MAAM,UAAE,IAAA8lL,GAAO,QAAPC,EAAzBD,EAA2B1+K,aAAK,IAAA2+K,OAAjB,EAAfA,EAAkCl/K,QAAY,CAAA61B,EAAAh7B,KAAA,eAAAg7B,EAAA95B,OAAA,SACzC64B,GAAK,UAC0C,KAA9B,OAAf+mJ,SAAe,IAAfA,IAAyB,QAAVwD,EAAfxD,GAAiBxiL,MAAM,UAAE,IAAAgmL,GAAO,QAAPC,EAAzBD,EAA2B5+K,aAAK,IAAA6+K,OAAjB,EAAfA,EAAkCp/K,QAAY,CAAA61B,EAAAh7B,KAAA,SAsEpD,OArEGqC,EAAgB,IACM,EAC5By+K,GAAgBxiL,MAAMyH,KAAI,SAAC0+K,EAAgBluK,GAAmB,IAADmuK,EAAAC,EAAAC,EAAAC,EAC3D,GAA+B,IAA3BJ,EAAU/+K,MAAMP,OAApB,CAGA,IAAIq9K,EAAkB,KAClBE,EAAsB,KACtBC,EAAoB,KACpBF,EAAkB,IAClBG,EAA2B,GAU/B,GATgC,WAA5B6B,EAAUv2D,SAASvvH,QACN,EACfikL,EAAmB,UAEW,YAA5B6B,EAAUv2D,SAASvvH,OACrB6jL,EAAajC,GACbqC,EAAmB,SACnBtgL,QAAQe,IAAI,YAAam/K,EAAYI,IAEP,SAA5B6B,EAAUv2D,SAASvvH,KACrB6jL,EAAav0E,GACb20E,EAAmB,SACnBtgL,QAAQe,IAAI,aAAcm/K,EAAYI,QACjC,GAAgC,WAA5B6B,EAAUv2D,SAASvvH,KAAmB,CAC/CikL,EAAmB,SACnB,IAAIkC,EAAmB,GACvBL,EAAU/+K,MAAM,GAAGK,KAAI,SAACg0B,GAAU,IAAAgrJ,EAAAC,EAAA,OAChC9nL,cAAAC,WAAA,CAAAC,UACqB,QAAlB2nL,EAAAN,EAAU/+K,MAAM,UAAE,IAAAq/K,OAAA,EAAlBA,EAAoB5/K,QAAS,GACR,QAAlB6/K,EAAAP,EAAU/+K,MAAM,UAAE,IAAAs/K,OAAA,EAAlBA,EAAoBjqI,OAAO,GAAG,KAAMhhB,EAAK,GAAA57B,OACnC2mL,GAA4B/qJ,GAAK,GAAA57B,OACjC2mL,EAAcA,EAAc/qJ,EAAQ,OACzC+qJ,GAA4B/qJ,GAChC,IAELyoJ,EAAasC,CACf,KAAuC,SAA5BL,EAAUv2D,SAASvvH,MAC5BikL,EAAmB,SACnBJ,EAAa,KACbE,EAAiBx8K,KAAgB,OAATu+K,QAAS,IAATA,OAAS,EAATA,EAAW/+K,MAAM,IAAII,OAAO,cACpD68K,EAAez8K,KAAgB,OAATu+K,QAAS,IAATA,OAAS,EAATA,EAAW/+K,MAAM,IAAII,OAAO,cAClD28K,EAAa,MAEbD,EAAsB,OAATiC,QAAS,IAATA,OAAS,EAATA,EAAW/+K,MAAM,GAC9Bk9K,EAAmB,QAErBvgL,EAAO2D,KAAK,CACV60F,GAAI,EACJnG,WAAoB,OAAT+vF,QAAS,IAATA,GAAmB,QAAVC,EAATD,EAAWv2D,gBAAQ,IAAAw2D,OAAV,EAATA,EAAqBj2K,QAAiB,OAATg2K,QAAS,IAATA,GAAmB,QAAVE,EAATF,EAAWv2D,gBAAQ,IAAAy2D,OAAV,EAATA,EAAqBtE,SAC7DvlF,cACW,OAAT2pF,QAAS,IAATA,GAAmB,QAAVG,EAATH,EAAWv2D,gBAAQ,IAAA02D,OAAV,EAATA,EAAqBn2K,QAAiB,OAATg2K,QAAS,IAATA,GAAmB,QAAVI,EAATJ,EAAWv2D,gBAAQ,IAAA22D,OAAV,EAATA,EAAqBxE,SACpDtlF,oBAAoB,EACpBC,UAAWynF,EACXxnF,UAAU,EACVxG,UAAW+tF,EACXtnF,cAAewnF,EACfvnF,YAAawnF,EACbvnF,SAAU,KACVC,sBAAuB,KACvBlgB,uBAAwBsnG,EACxBnnF,aAAa,EACbC,WAAW,EACXC,gBAAiBonF,EACjB/xF,gBAAiB,KACjByyF,kBAAmB,KACnBC,iBAAkB,GAClBntF,SAAU,MA9DZ,CAgEF,IAAGp7D,EAAAh7B,KAAA,GAEY8hL,aAAoB,CACjCx9E,cAAe7jG,KAAKC,UAAU2B,KAC7B,KAAD,GAFI,OAAF4C,EAAE+1B,EAAA/5B,KAAA+5B,EAAAh7B,KAAA,GAGkB+hL,aAAgB98K,GAAI,KAAD,GAA5B,OAAXu/K,EAAWxpJ,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SACRsjL,GAAW,QAEpBl/G,IAAa,GAAO,yBAAAtqC,EAAA75B,OAAA,GAAAk6B,EAAA,MACrBh6B,MAAA,KAAAC,UAAA,CAtZDoI,qBAAU,WACRw1K,EAAU76I,SAAU,EACpBpkC,OAAOkgE,iBAAiB,SAAUC,IAE7B,WACiBisB,GAAAhrF,MAAC,KAADC,UAAA,CAFtB+5E,EACF,GAAG,IAqCH3xE,qBAAU,WACR,GAAIo3K,IAAmBrB,EAAoB,CACzC,IAAItqG,EAAoB,GACpB8vG,EAAmB,GAEnB16D,EAAau2D,GAAgBxiL,MAC7BmjL,EAAkBhC,EACtBl1D,EAAWxkH,KAAI,SAACg0B,EAAY5jB,GAC1Bg/D,EAAWnvE,KAAKy7K,EAClB,IACA,IADG,IAAAh9K,EAAA,WAED,IAAM8xB,EAAUg0F,EAAW7lH,GACvB9D,EAAW6gL,EAAgBrsK,QAAO,SAAC3P,GACrC,GAAI8wB,EAAQ23F,SAASz/G,OAAShJ,EAAKgJ,KACjC,OAAOhJ,CAEX,IACAw/K,EAAYj/K,KAAKpF,EAAS,GAC5B,EARS8D,EAAI,EAAGA,EAAI6lH,EAAWplH,OAAQT,IAAI,CAAD,IAAA9D,EAAA6D,GAAA,CAmB1C,IADA,IAAI+6B,EAAY,GACP96B,EAAI,EAAGA,EAAIywE,EAAWhwE,OAAQT,IAAK,CAG1C,IAFA,IAAM4a,EAAU61D,EAAWzwE,GACvBO,EAAY,GACPH,EAAI,EAAGA,GAAe,OAAXmgL,QAAW,IAAXA,OAAW,EAAXA,EAAa9/K,QAAQL,IAAK,CAC5C,IAAMsd,EAAW6iK,EAAYngL,GAC7B,GAAIJ,IAAMI,EACR,IAAK,IAAIiG,EAAI,EAAGA,EAAIuU,EAAQna,OAAQ4F,IAAK,CACxBuU,EAAQvU,GACZ0D,QAAiB,OAAR2T,QAAQ,IAARA,OAAQ,EAARA,EAAU3T,OAC5BxJ,EAAGe,KAAK+E,EAEZ,CAEJ,CACAy0B,EAAGx5B,KAAK,CACNmQ,IAAKzR,EACL5D,KAAMmE,GAEV,CAGA,IAFA,IAAIs2K,EAAK,GACLvhJ,GAAQ,EACHt1B,EAAI,EAAGA,EAAIywE,EAAWhwE,OAAQT,IAAK,CAI1C,IAHA,IAAM4a,EAAU61D,EAAWzwE,GACrB6xB,EAAUiJ,EAAG96B,GACfwgL,EAAY,GACPn6K,EAAI,EAAGA,GAAW,OAAPuU,QAAO,IAAPA,OAAO,EAAPA,EAASna,QAAQ4F,IAAK,CAExC,IADA,IAAMgS,EAASuC,EAAQvU,GACdjG,EAAI,EAAGA,GAAW,OAAPyxB,QAAO,IAAPA,GAAa,QAAN4uJ,EAAP5uJ,EAASz1B,YAAI,IAAAqkL,OAAN,EAAPA,EAAehgL,QAAQL,IAAK,CAAC,IAADqgL,GAC5B,OAAP5uJ,QAAO,IAAPA,OAAO,EAAPA,EAASz1B,KAAKgE,MACdiG,IACTivB,GAAQ,EAEZ,CACKA,GACHkrJ,EAAGl/K,KAAK+W,GAEVid,GAAQ,CACV,CACAuhJ,EAAGv1K,KAAKk/K,EACV,CACAtF,EAA0BrE,EAC5B,CACF,GAAG,CAACuF,GAAiBrB,IAwSrB/1K,qBAAU,WACiB,SAAAixH,IASxB,OATwBA,EAAAr7H,YAAAC,IAAAC,MAAzB,SAAAC,IAAA,IAAA46E,EAAAz6E,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACOqlE,IAAc87G,GAAW,CAAArhL,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACHkkL,GAAepjL,IAAM,KAAD,EACE,OAA/Cu5E,EAAe4pG,GADX5pG,EAAYv6E,EAAAmB,MAC+BnB,EAAAE,KAAA,EAC3BgiL,aAAa3nG,EAAc8kG,GAAe,KAAD,EAAzDv/K,EAAOE,EAAAmB,KACX4+K,EAAajgL,GACb0lE,IAAa,GACb87G,IAAe,GAAO,yBAAAthL,EAAAqB,OAAA,GAAA1B,EAAA,MAEzB4B,MAAA,KAAAC,UAAA,EAVc,WACUq5H,EAAAt5H,MAAC,KAADC,UAAA,CAUzBs5H,EACF,GAAG,CAACmlD,GAAgBZ,EAAeuB,KA6FnC,IAAMtgH,GAAe,SAAC/2D,GACpB43K,IAAoB,EACtB,EA4UA,OACE3jL,eAAAH,WAAA,CAAAC,SAAA,CAzUEF,cAAA,OAAAE,SACEF,cAAA,OAAKgB,UAAU,OAAMd,SACnBE,eAAC8nL,KAAY,CACX9yK,IAAK0sK,EACLnvK,GAAG,gBACH0U,OAAQ,WAAO,IAAD8gK,EACZxE,IAAiB,GACf,OAAF7B,QAAE,IAAFA,GAAW,QAATqG,EAAFrG,EAAI36I,eAAO,IAAAghJ,GAAXA,EAAaz6B,MACf,EACAvmI,YAAa,CAAE,QAAS,OAAQ,QAAS,QACzCtmB,MAAO,CAAE8U,MAAO,SAChB3U,UAAU,uEAAsEd,SAAA,CAEhFE,eAAA,OAAKY,UAAU,0CAAyCd,SAAA,CACtDF,cAAA,OAAKgB,UAAU,iCAAgCd,SAAC,qBAGhDF,cAAA,OACEgB,UAAU,oDACV4U,QAAS,WAAO,IAADwyK,EACTvrJ,EAAa,GACjBA,EAAM/zB,KAAK84K,GACXiC,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAM,GAADH,OAAM47B,IAAM,IAGnB4mJ,IAAaD,IACbZ,GAAU,IACR,OAAFd,QAAE,IAAFA,GAAW,QAATsG,EAAFtG,EAAI36I,eAAO,IAAAihJ,GAAXA,EAAa16B,MACf,EAAExtJ,SACH,iBAIHF,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC3C0jL,GAAgBxiL,MAAMyH,KAAI,SAACm/G,EAAa/uG,GAAQ,IAAAovK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAC/CppL,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,MAAM4U,QAAS,WAAO,EAAE1V,SAAA,CACpC0jL,IAAmBnB,GAClBziL,cAAA,OAAKgB,UAAU,QAAOd,SACpBF,cAAC++C,IAAQ,CACPl+C,MAAO,CAAEwW,aAAc,OACvB7O,MAAiC,QAA5B6/K,EAAEzE,GAAgBxiL,MAAM6X,UAAI,IAAAovK,OAAA,EAA1BA,EAA4Br3D,SACnC5uG,QAASqgK,EAAuBxpK,GAChCxG,SAAU,SAACtG,GACTqH,WAAWqzK,GAAgB,KAC3BhD,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU7kH,EAAE3D,MACZA,MAAO,IAETm4H,CACN,KACD,GAEL,EACA3/H,UAAU,iCACVu5D,YAAY,UACZxnD,YAAY,wBAKlB3S,eAAA,OAAKY,UAAU,QAAOd,SAAA,CAElB,YADc,OAAf0jL,SAAe,IAAfA,IAA2B,QAAZ0E,EAAf1E,GAAiBxiL,MAAM6X,UAAI,IAAAqvK,GAAU,QAAVC,EAA3BD,EAA6Bt3D,gBAAQ,IAAAu3D,OAAtB,EAAfA,EAAuC9mL,OAEtCzB,cAACg1E,KAAW,CACVn0E,MAAO,CAAEwW,aAAc,OACvB3K,QAAQ,OACR6tD,YAAa,UACb/xD,MAAsB,OAAfo7K,SAAe,IAAfA,IAA2B,QAAZ4E,EAAf5E,GAAiBxiL,MAAM6X,UAAI,IAAAuvK,OAAZ,EAAfA,EAA6BhgL,MAAM,GAC1C4Z,QAASigK,EACT5vK,SAAU,SAACtG,GACTqH,WAAWqzK,GAAgB,KAC3BtD,GAAkBp3K,EAAE3D,OACpBq7K,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU2P,EAAK3P,SACfxoH,MAAO,CAAC2D,EAAE3D,QAEZm4H,CACN,KACD,GAEL,EACA5tH,YAAY,gBACZmF,QAAM,EACNlX,UAAU,2DAIZ,YADe,OAAf4iL,SAAe,IAAfA,IAA2B,QAAZ6E,EAAf7E,GAAiBxiL,MAAM6X,UAAI,IAAAwvK,GAAU,QAAVC,EAA3BD,EAA6Bz3D,gBAAQ,IAAA03D,OAAtB,EAAfA,EAAuCjnL,OAEU,KAAlC,OAAfmiL,SAAe,IAAfA,IAA2B,QAAZ+E,EAAf/E,GAAiBxiL,MAAM6X,UAAI,IAAA0vK,OAAZ,EAAfA,EAA6B33D,SAAS/oH,UACtCjI,cAACioB,IAAS,CACRxmB,KAAK,SACLZ,MAAO,CAAEwW,aAAc,OACvBjC,IAAK2sK,EACLv5K,MAAsB,OAAfo7K,SAAe,IAAfA,IAA2B,QAAZgF,EAAfhF,GAAiBxiL,MAAM6X,UAAI,IAAA2vK,OAAZ,EAAfA,EAA6BpgL,MAAM,GAC1CxH,UAAU,8BACVyR,SAAU,SAACtG,GACTqH,WAAWqzK,GAAgB,KAC3BhD,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU2P,EAAK3P,SACfxoH,MAAO,CAAC2D,EAAEuG,OAAOlK,QAEnBm4H,CACN,KACD,GAEL,EACA5tH,YAAY,UAId,UADc,OAAf6wK,SAAe,IAAfA,IAA2B,QAAZiF,EAAfjF,GAAiBxiL,MAAM6X,UAAI,IAAA4vK,GAAU,QAAVC,EAA3BD,EAA6B73D,gBAAQ,IAAA83D,OAAtB,EAAfA,EAAuCrnL,OAEtCrB,eAAA,OACEY,UAAU,0BACVH,MAAO,CAAEstF,YAAa,IAAKx4E,MAAO,QAASzV,SAAA,CAE3CF,cAAC+4G,IAAc,CAAC/3G,UAAU,wDAC1BhB,cAAC6gG,EAAW,CACVz/E,KAAM0iK,GACN7qE,aAAc,SAAC9sG,GAAM,OAAK43K,GAAoB53K,EAAE,EAChDnL,UAAW,cACXwH,MAAOmwG,GACPO,WAAY,KACZr4G,MAAO,CAAEkf,OAAQ,QACjBsoF,UAAWroG,cAACm5G,KAAc,IAC1BC,iBAAkB,SAACx3F,GACjBg3F,GAASh3F,EACX,EACAnP,SAAU,SAACtG,GACT03K,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU2P,EAAK3P,SACfxoH,MAAO2D,GAETw0H,CACN,KACD,GAEL,EACA18B,OAAQ,CACNC,MAAO,CAACl7F,OAAUA,QAClB,aAAc,CACZA,OAASm7F,QAAQ,SACjBn7F,OAASo7F,MAAM,UAEjB,YAAa,CACXp7F,OAASm7F,QAAQ,QACjBn7F,OAASo7F,MAAM,eAOvB,UADc,OAAfw/E,SAAe,IAAfA,IAA2B,QAAZmF,EAAfnF,GAAiBxiL,MAAM6X,UAAI,IAAA8vK,GAAU,QAAVC,EAA3BD,EAA6B/3D,gBAAQ,IAAAg4D,OAAtB,EAAfA,EAAuCvnL,OAEtCzB,cAACg1E,KAAW,CACVh0E,UAAU,yBACVu5D,YACoB,OAAlB/0C,GAASuzC,KAAgB,SAAW,SAEtCrsD,QAAQ,OACRlE,MAAsB,OAAfo7K,SAAe,IAAfA,IAA2B,QAAZqF,EAAfrF,GAAiBxiL,MAAM6X,UAAI,IAAAgwK,OAAZ,EAAfA,EAA6BzgL,MAAM,GAC1C4Z,QAASm6H,GACTxpI,YAAY,kBACZmF,QAAM,EACNzF,SAAU,SAACtG,GAAY,IAADs0H,EACpBjtH,WAAWqzK,GAAgB,KAC3B,IAAIwC,EAAiB,GACd,QAAP5oD,EAAAt0H,EAAE3D,aAAK,IAAAi4H,GAAPA,EAAS53H,KAAI,SAACg0B,GAAgB,IAADysJ,EAAAC,EACvBC,EAEFA,EADoB,OAAlBhkK,GAASuzC,KACGl8B,EAAM7xB,OAEN6xB,EAAM04B,OAEtBt1D,YACU,QAAPqpL,EAAAn9K,EAAE3D,aAAK,IAAA8gL,OAAA,EAAPA,EAASrhL,QAAS,GACR,QAAPshL,EAAAp9K,EAAE3D,aAAK,IAAA+gL,OAAA,EAAPA,EAAS1rI,OAAO,GAAG,KAAM2rI,EAAW,GAAAvoL,OAC9BooL,GAAwBG,GAAW,GAAAvoL,OACnCooL,EACFA,EAAYG,EAAc,OAC7BH,GAAwBG,CAEjC,IACAx4E,GAAoBq4E,GACpBxF,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU2P,EAAK3P,SACfxoH,MAAO,CAAC2D,EAAE3D,QAEZm4H,CACN,KACD,GAEL,IAIF,aADc,OAAfijD,SAAe,IAAfA,IAA2B,QAAZsF,EAAftF,GAAiBxiL,MAAM6X,UAAI,IAAAiwK,GAAU,QAAVC,EAA3BD,EAA6Bl4D,gBAAQ,IAAAm4D,OAAtB,EAAfA,EAAuC1nL,OAEtCzB,cAACg1E,KAAW,CACVh0E,UAAU,yBACV0L,QAAQ,OACR6tD,YAAa,cACb/xD,MAAsB,OAAfo7K,SAAe,IAAfA,IAA2B,QAAZwF,EAAfxF,GAAiBxiL,MAAM6X,UAAI,IAAAmwK,OAAZ,EAAfA,EAA6B5gL,MAAM,GAC1C4Z,QAAS+gK,GACTpwK,YAAY,iBACZmF,QAAM,EACNzF,SAAU,SAACtG,GAAY,IAADs9K,EACpBj2K,WAAWqzK,GAAgB,KAC3B,IAAI6C,EAAoB,GACjB,QAAPD,EAAAt9K,EAAE3D,aAAK,IAAAihL,GAAPA,EAAS5gL,KAAI,SAACg0B,GAAgB,IAAD8sJ,EAAAC,EACvBC,EACJA,EAAiBhtJ,EAAM4pJ,YACvBxmL,YACU,QAAP0pL,EAAAx9K,EAAE3D,aAAK,IAAAmhL,OAAA,EAAPA,EAAS1hL,QAAS,GACR,QAAP2hL,EAAAz9K,EAAE3D,aAAK,IAAAohL,OAAA,EAAPA,EAAS/rI,OAAO,GAAG,KAAMgsI,EAAc,GAAA5oL,OACjCyoL,GACaG,GAAc,GAAA5oL,OAC3ByoL,EACFA,EAAeG,EAAiB,OACnCH,GACgBG,CAEzB,IACAvG,GAAmBoG,GACnB7F,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAOwiL,GAAgBxiL,MAAMyH,KAC3B,SAAC83H,EAAWhwE,GACV,OAAOA,IAAS13C,EACZ,CACE+3G,SAAU2P,EAAK3P,SACfxoH,MAAO,CAAC2D,EAAE3D,QAEZm4H,CACN,KACD,GAEL,OAKG,IAAR1nH,GACCjZ,cAAA,OAAKgB,UAAU,4CAA2Cd,SACxDF,cAAC0qB,IAAc,CACb1pB,UAAU,6DACV4U,QAAS,WACP,IAAIinB,EAAQ+mJ,GAAgBxiL,MAC5By7B,EAAM0b,OAAOt/B,EAAK,GAClB4qK,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMm0B,IAAM,GAErB,UAKP,MAGPz8B,eAAA,OAAKY,UAAU,0CAAyCd,SAAA,EACtC,OAAf0jL,SAAe,IAAfA,QAAe,EAAfA,GAAiBxiL,MAAM6G,SAA2B,OAAlBs6K,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBt6K,QACnDjI,cAAA,OACEgB,UAAU,iCACV4U,QAAS,WACP,IAAIinB,EAAQ+mJ,GAAgBxiL,MAC5By7B,EAAM/zB,KAAK84K,GACXiC,IAAmB,SAAC3mJ,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ97B,MAAKsH,YAAMm0B,IAAM,GAErB,EAAE38B,SACH,qBAIDF,cAAA,OAAKgB,UAAU,mCAEjBhB,cAAA,OAAKgB,UAAU,0BAAyBd,SACtCF,cAACwnB,IAAM,CACLxmB,UAAU,gHACVS,KAAK,SACLD,MAAM,SACNoU,QAAS,SAACzJ,GAAY,IAAD29K,EACnBnG,IAAiB,GACf,OAAF7B,QAAE,IAAFA,GAAW,QAATgI,EAAFhI,EAAI36I,eAAO,IAAA2iJ,GAAXA,EAAap8B,OACb+1B,IAAaD,IACbU,IAAe,EACjB,gBAgBZlkL,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BE,eAAA,OAAKY,UAAU,gDAA+Cd,SAAA,CAC5DE,eAAA,QAAMY,UAAU,aAAYd,SAAA,CAAC,aAChB,IAAI,sBAEjBE,eAAA,QAAMY,UAAU,gCAA+Bd,SAAA,CAC7CF,cAAA,OACEgB,UAAS,GAAAC,OACU,MAAjBkrH,GACI,wGACA,kEAENv2G,QAAS,WACPotK,GAAgB,IAClB,EAAE9iL,SAEFF,cAAC+pL,IAAoB,CAAClpL,MAAO,CAAE+L,SAAU,YAE3C5M,cAAA,OACEgB,UAAS,GAAAC,OACU,MAAjBkrH,GACI,wGACA,kEAENv2G,QAAS,WACPotK,GAAgB,IAClB,EAAE9iL,SAEFF,cAACgqL,IAAiB,CAACnpL,MAAO,CAAE+L,SAAU,YAExC5M,cAAA,OACEgB,UAAS,GAAAC,OACU,MAAjBkrH,GACI,wGACA,kEAENv2G,QAAS,WACPotK,GAAgB,IAClB,EAAE9iL,SAEFF,cAACiqL,IAAe,CAACppL,MAAO,CAAE+L,SAAU,oBAK5C5M,cAAA,OAAKgB,UAAU,2BAA0Bd,SAjd7CE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCE,eAAA,OAAKY,UAAU,qCAAoCd,SAAA,CACjDF,cAAA,OAAKgB,UAAU,GAAEd,SACfF,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAA,OAAKgB,UAAU,qBA6BnBhB,cAAA,OACEgB,UAAU,gCACVH,MAAO,CAAE8U,MAAO,QAASzV,SAEzBF,cAAA,OACE4V,QAAS,SAACzJ,GAAY,IAAD+9K,EACjB,OAAFpI,QAAE,IAAFA,GAAW,QAAToI,EAAFpI,EAAI36I,eAAO,IAAA+iJ,GAAXA,EAAarxI,OAAO1sC,EAAG,MACvBw3K,IAAiB,EACnB,EACA,mBACA,gBAAc,gBACd3iL,UAAS,iDAAAC,OACPyiL,GAAgB,eAAiB,IAChCxjL,SAEHE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,OAAAE,SACEF,cAACmqL,KAAQ,CAACtpL,MAAO,CAAE+L,SAAU,YAE/B5M,cAAA,OAAAE,SAAK,YACLF,cAAA,OAAKgB,UAAU,iCAAgCd,SAC7CF,cAACoqL,IAAa,CAACvpL,MAAO,CAAE+L,SAAU,uBAOzB,MAAjBu/G,IAAyC,MAAjBA,KACxB/rH,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAAA,OAAKgB,UAAU,6BAA4Bd,SAAC,aAC5CF,cAAA,OAAKgB,UAAU,GAAEd,SACfF,cAAC++C,IAAQ,CACPv2C,MAAOy5K,EACP7/J,QAAS+/J,EACT1vK,SAAU,SAACtG,GACT+1K,EAAiB/1K,EAAE3D,OACnB07K,IAAe,EACjB,EACAljL,UAAU,qDACVu5D,YAAY,sBAyYjB4N,GACCnoE,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,iBAGlD3lD,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAA,OAAKgB,UAAU,2BAA0Bd,SACvCE,eAAA,OACEY,UAAU,8BACVH,MAAO,CACLwpL,UAAU,GAADppL,OAAsB,MAAjBkrH,GAAuB,SAAW,SAChDjsH,SAAA,CAEgB,MAAjBisH,IACCnsH,cAACq8K,GAAa,CACZG,UAAWA,EACXK,WAAYA,GACZ10G,UAAWA,GACX+0G,SAAUA,UAGE38K,IAAfs8K,IACkB,MAAjB1wD,IACAqwD,GACEx8K,cAACo9K,GAAiB,CAChBZ,UAAWA,EACXK,WAAYA,GACZ10G,UAAWA,GACX67G,2BAA4BA,GAC5BxF,wBAAyBA,GACzBtB,SAAUA,GACVn4G,cAAeA,IAGH,MAAjBonD,IAAwBqwD,GACvBx8K,cAACq/K,GAAiB,CAChB7C,UAAWA,EACXr0G,UAAWA,GACX00G,WAAYA,GACZK,SAAUA,mBAWhC,IC5gCaoN,GAAS,eAAAnoL,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOsD,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACrBK,MACpB,yBAEA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB+mL,WAAY1kL,MAIfpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAElCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAlBR,OAAPpB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAoBNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAtBqB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KCITomL,GAAS,WACpB,IAAAhzK,EAAgCC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAxCizK,EAAQ/yK,EAAA,GAAEgzK,EAAWhzK,EAAA,GAC5BgJ,EAA8BjJ,qBAAiBkJ,EAAArK,YAAAoK,EAAA,GAAxCiqK,EAAOhqK,EAAA,GAAEiqK,EAAUjqK,EAAA,GAGnB,SAEQkqK,IAAc,OAAAC,EAAA3mL,MAAC,KAADC,UAAA,UAAA0mL,IAO5B,OAP4BA,EAAA1oL,YAAAC,IAAAC,MAA7B,SAAAC,IAAA,IAAA2kE,EAAA6jH,EAAA,OAAA1oL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE6C,OADvCokE,EAAUujH,EACdrlL,QAAQe,IAAI,qBAAsB+gE,GAAStkE,EAAAE,KAAA,EAC1BwnL,GAAUpjH,GAAS,KAAD,EAA/B6jH,EAAInoL,EAAAmB,KACR6mL,EAAWG,GACX3lL,QAAQe,IAAI,OAAQ4kL,GACpB3lL,QAAQe,IAAI,aAAc+gE,GAAS,wBAAAtkE,EAAAqB,OAAA,GAAA1B,EAAA,MACpC4B,MAAA,KAAAC,UAAA,CAXDoI,qBAAU,WACRq+K,GACF,GAAG,IAUH,IAAQ3vI,EAAW5oC,KAAX4oC,OACR,OACE96C,eAAA,OAAKS,MAAO,CAAEknB,UAAW,OAAQgsF,WAAY,QAAS7zG,SAAA,CACpDF,cAAC2e,KAAK,CAACC,UAAU,WAAU1e,SACzBF,cAACk7C,EAAM,CACLnoC,YAAY,mBACZi4K,SAAUH,EACVI,aAAW,EACXx4K,SAAU,SAACtG,GACTu+K,EAAYv+K,EAAEuG,OAAOlK,MACvB,MAGJxI,cAAA,OAAKa,MAAO,CAAEknB,UAAW,QAAS7nB,SACxB,OAAPyqL,QAAO,IAAPA,OAAO,EAAPA,EAAS9hL,KAAI,SAAC2tC,GAAC,OACdx2C,cAAA,KAAAE,SAAIs2C,GAAM,QAKpB,EC5Ba00I,GAAoB,SAACzrL,GAChC,IAAA+X,EAA0BC,mBAAS,GAAEC,EAAApB,YAAAkB,EAAA,GAA9Bo8I,EAAKl8I,EAAA,GACZgJ,GADsBhJ,EAAA,GACED,mBAAS,KAAGkJ,EAAArK,YAAAoK,EAAA,GAA7BuD,EAAItD,EAAA,GACXG,GADoBH,EAAA,GACsBlJ,mBAAc,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAApDqqK,EAAapqK,EAAA,GAAEqqK,EAAgBrqK,EAAA,GACtCgB,EAA8CtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAxDy7D,EAAex7D,EAAA,GAAEy7D,EAAkBz7D,EAAA,GAC1CC,EAAgCxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GACzCk6C,GADSj6C,EAAA,GAAaA,EAAA,GACZggC,eAChB11C,qBAAU,WACwB,IAA5B/M,EAAM8oD,WAAWtgD,UAMvB,WAGE,IAFA,IAAIo4E,EAAQ,GAEZ54E,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQxgC,EAAM8oD,WAAW,IAAG9gD,EAAAu4B,EAAA/3B,OAAAR,IAAE,CAA3D,IAAAy4B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAOwG,EAAGiyB,EAAA,GAAOA,EAAA,GAEV,aAARjyB,GACQ,sBAARA,GACQ,qBAARA,GACQ,aAARA,GACQ,cAARA,GAGAoyE,EAAMv3E,KAAK,CAAEuiL,OAAQp9K,EAAK4B,MAAO5B,GAErC,CACAm9K,EAAiB/qG,GACjB5C,EAAmB4C,EACrB,CAtBIirG,GAwBU7rL,EAAM8oD,WACZ1/C,KAAI,SAACjF,GACiB,OAAtBA,EAAKo1D,cAA+C,OAAtBp1D,EAAKo1D,cACJ,IAA7Bp1D,EAAKo1D,aAAa/wD,SACpBrE,EAAKo1D,aAAepoD,EAAehN,EAAKo1D,eAGnB,OAArBp1D,EAAKy1D,aAA6C,OAArBz1D,EAAKy1D,aACJ,IAA5Bz1D,EAAKy1D,YAAYpxD,SACnBrE,EAAKy1D,YAAczoD,EAAehN,EAAKy1D,aAG7C,IAjCF,GAAG,CAAC55D,EAAM8oD,aAyCV,IAOMzhC,EACJ9mB,cAAA,OAAKa,MAAO,CAAEif,UAAW,QAAS5f,SAChCF,cAACg1E,KAAW,CACVxsE,MAAOg1E,EACPp7D,QAAS+oK,EACT5wH,YAAY,SACZ9nD,SAbiB,SAACmtE,GACtB,IAAIpC,EAAkBoC,EAAMp3E,MACxB47E,EAAyB+mG,EAAcjzK,QAAO,SAAC1X,GAAQ,OACzDg9E,EAAgB6G,MAAK,SAACC,GAAS,OAAKA,EAAKz0E,QAAUrP,EAAIqP,KAAK,GAAC,IAE/D4tE,EAAmB2G,EACrB,EAQMvjF,MAAO,CAAE8U,MAAO,YAIhB41K,EAAmB/tG,EAAgB30E,KAAI,SAACrI,GAC5C,OACER,cAACs4B,KAAM,CAELzoB,MAAOrP,EAAIqP,MACXiX,OAAQ9mB,cAACuM,KAAoB,CAACU,gBAAiBzM,EAAI6qL,SACnDlpG,UAAQ,GAHH3hF,EAAIqP,MAMf,IACMe,EAAiB,SAACpI,GACtB,IAAIsI,EAAiB9H,KAAOR,EAAO,uBAEnC,OADgBQ,KAAO8H,GAAgBlI,OAAO,cAEhD,EACA,OACE5I,cAAAC,WAAA,CAAAC,SACEF,cAACmxE,KAAS,CACR3oE,MAAO/I,EAAM8oD,WACbipB,iBAAiB,SACjBxwE,UAAU,0BACV4/C,cAAc,WACdsyD,kBAAkB,EAClBjsB,WAAS,EACT2sE,MAAOA,EACP/F,eAAa,EACb/6I,KAAK,QACLmR,KAAMA,EACNstD,QAAQ,kBACRzqD,OAAQA,EACRghE,cAAc,MAEdL,kBAAmB,SAACt7E,GAAC,OAvDNvI,EAuDuBuI,EAAE3D,WAtD5C2zD,EAAQrzD,KACN,wCAA0ClF,EAAK,GAAG+2K,iBAFtD,IAAqB/2K,CAuD+B,EAE9C1D,SAECqrL,KAIT,ECtEetsF,OA5CiB,SAACx/F,GAC/B,IAAA+X,EAA0CC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAApDg0K,EAAa9zK,EAAA,GAAE+zK,EAAgB/zK,EAAA,GAMT,SAAAmiK,IAU5B,OAV4BA,EAAAz3K,YAAAC,IAAAC,MAA7B,SAAAC,IAAA,IAAAu3K,EAAA,OAAAz3K,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACgCy2K,KAAsB,KAAD,GAA/CO,EAAiBl3K,EAAAmB,MACH8E,KAAI,SAACjF,GACrB,QAAA6D,EAAA,EAAAu4B,EAA2BjyB,OAAOkyB,QAAQr8B,GAAK6D,EAAAu4B,EAAA/3B,OAAAR,IAAE,CAA5C,IAAAy4B,EAAA5pB,YAAA0pB,EAAAv4B,GAAA,GAAOwG,EAAGiyB,EAAA,GACC,OADMA,EAAA,KAElBt8B,EAAKqK,GAAO,GAEhB,CACF,IACAw9K,EAAiB3R,GAAmB,wBAAAl3K,EAAAqB,OAAA,GAAA1B,EAAA,MACrC4B,MAAA,KAAAC,UAAA,CACD,OAfAoI,qBAAU,YAEH,WAEsBqtK,EAAA11K,MAAC,KAADC,UAAA,CAH3B21K,EACF,GAAG,IAcD/5K,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD9tF,cAAA,OACEgB,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAE5DF,cAAA,KAAGgB,UAAU,aAAYd,SACtB,uBAA8BsrL,EAAcvjL,OAAS,WAK5DjI,cAAAC,WAAA,CAAAC,SACEF,cAACkrL,GAAiB,CAAC3iI,WAAYijI,YAM3C,I,UC7Ce,SAASE,GAAoBjsL,GAAe,IAADksL,EACxD,OACE3rL,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQ62B,QAAS,qBAAsBrjC,SAC5DE,eAAA,SAAOY,UAAU,4CAA2Cd,SAAA,CAC1DF,cAAA,SAAOgB,UAAU,cAAad,SAC5BE,eAAA,MAAIY,UAAU,oCAAmCd,SAAA,CAC/CE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,MAAOzV,SAAA,CACzBF,cAAA,KAAGgB,UAAU,iBACbhB,cAAA,KAAGgB,UAAU,cAAad,SAAC,SAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wGAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,8GAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oHAE7BE,eAAA,MAAIS,MAAO,CAAE8U,MAAO,OAAQzV,SAAA,CAC1BF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,iJAIjCF,cAAA,SAAAE,SAEuB,QAFvByrL,EAEGlsL,EAAMmsL,sBAAc,IAAAD,OAAA,EAApBA,EAAsB9iL,KAAI,SAACg0B,EAAY5jB,GAAQ,OAC9CjZ,cAAAC,WAAA,CAAAC,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,MAAAE,SAAK+Y,EAAM,IACXjZ,cAAA,MAAAE,SAAK28B,EAAM1hB,SACXnb,cAAA,MAAAE,SAAM28B,EAAMs3C,SACZn0E,cAAA,MAAAE,SAAM28B,EAAMu3C,SACZp0E,cAAA,MAAAE,SAAM28B,EAAMw3C,aAEb,UAMf,CCgCO,IAAMw3G,GAAuB,SAACpsL,GAAkB,IAADqsL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9Cl/G,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAC5C9jD,EAAWimC,cACfn4C,EAAsCC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAAlDk1K,EAAWh1K,EAAA,GAAEi1K,EAAcj1K,EAAA,GAClCgJ,EAAiCjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAjDqgF,EAAOpgF,EAAA,GAAEisK,EAAajsK,EAAA,GAC7BG,EAAwCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAhD+rK,EAAY9rK,EAAA,GAAE+rK,EAAe/rK,EAAA,GACpCgB,EAAsCtK,mBAAgB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAlDgrK,EAAW/qK,EAAA,GAAEgrK,EAAchrK,EAAA,GAClCC,EAA8CxK,mBAAgB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAA1DgrK,EAAe/qK,EAAA,GAAEgrK,EAAkBhrK,EAAA,GAC1CwG,EAA8CjR,mBAAgB,IAAGkR,EAAArS,YAAAoS,EAAA,GAA1DykK,EAAexkK,EAAA,GAAEykK,EAAkBzkK,EAAA,GAC1CC,EAAgCnR,mBAAgB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAA5CwT,EAAQvT,EAAA,GAAEqpE,EAAWrpE,EAAA,GAC5B2I,EAAoC/Z,mBAAgB,IAAGga,GAAAnb,YAAAkb,EAAA,GAAhDmkD,GAAUlkD,GAAA,GAAEmjC,GAAanjC,GAAA,GAChCG,GAAwCna,mBAAgB,IAAGoa,GAAAvb,YAAAsb,GAAA,GAApDy7J,GAAYx7J,GAAA,GAAEy7J,GAAez7J,GAAA,GACpCG,GAAkDva,mBAAgB,IAAGwa,GAAA3b,YAAA0b,GAAA,GAA9Du7J,GAAiBt7J,GAAA,GAAEu7J,GAAoBv7J,GAAA,GAC9CG,GAAgD3a,mBAAgB,IAAG4a,GAAA/b,YAAA8b,GAAA,GAA5Dq7J,GAAgBp7J,GAAA,GAAEq7J,GAAmBr7J,GAAA,GAC5CG,GAA8B/a,mBAAS,IAAGgb,GAAAnc,YAAAkc,GAAA,GAAnCrF,GAAOsF,GAAA,GAAEk7J,GAAUl7J,GAAA,GAC1BG,GAAkDnb,mBAAS,IAAGob,GAAAvc,YAAAsc,GAAA,GAAvD++D,GAAiB9+D,GAAA,GAAE++D,GAAoB/+D,GAAA,GAC9CG,GAAsDvb,mBAAS,IAAGwb,GAAA3c,YAAA0c,GAAA,GAA3D46J,GAAmB36J,GAAA,GAAE46J,GAAsB56J,GAAA,GAClDI,GAAgE5b,mBAAS,IAAG6b,GAAAhd,YAAA+c,GAAA,GAArEy6J,GAAwBx6J,GAAA,GAAEy6J,GAA2Bz6J,GAAA,GAC5DivC,GACE9qD,mBAAiB,IAAG+qD,GAAAlsD,YAAAisD,GAAA,GADfyrH,GAAwBxrH,GAAA,GAAEyrH,GAA2BzrH,GAAA,GAE5DG,GAA4ClrD,oBAAS,GAAMmrD,GAAAtsD,YAAAqsD,GAAA,GAApDkvB,GAAejvB,GAAA,GAAEjiB,GAAgBiiB,GAAA,GACxCE,GAAgDrrD,oBAAS,GAAMsrD,GAAAzsD,YAAAwsD,GAAA,GAAxDorH,GAAiBnrH,GAAA,GAAEorH,GAAkBprH,GAAA,GAC5C8Z,GAA0DplE,oBAAS,GAAMqlE,GAAAxmE,YAAAumE,GAAA,GAAlEuxG,GAAsBtxG,GAAA,GAAEuxG,GAAuBvxG,GAAA,GACtDG,GAA0DxlE,oBAAS,GAAMylE,GAAA5mE,YAAA2mE,GAAA,GAAlEqxG,GAAsBpxG,GAAA,GAAEqxG,GAAuBrxG,GAAA,GACtDI,GAA0C7lE,mBAAc,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAApDkxG,GAAajxG,GAAA,GAAEkxG,GAAgBlxG,GAAA,GACtC8V,GAAoD57E,mBAAc,IAAG67E,GAAAh9E,YAAA+8E,GAAA,GAA9Dq7F,GAAkBp7F,GAAA,GAAEq7F,GAAqBr7F,GAAA,GAChDG,GAAoDh8E,qBAAei8E,GAAAp9E,YAAAm9E,GAAA,GAA5Dm7F,GAAkBl7F,GAAA,GAAEm7F,GAAqBn7F,GAAA,GAChDG,GAAoDp8E,mBAAc,IAAGq8E,GAAAx9E,YAAAu9E,GAAA,GAA9Di7F,GAAkBh7F,GAAA,GAAEi7F,GAAqBj7F,GAAA,GAChDG,GAAoDx8E,qBAAey8E,GAAA59E,YAAA29E,GAAA,GAA5D+6F,GAAkB96F,GAAA,GAAE+6F,GAAqB/6F,GAAA,GAChDG,GAA8C58E,mBAC5ChY,EAAMyvL,sBACP56F,GAAAh+E,YAAA+9E,GAAA,GAFM5oE,GAAe6oE,GAAA,GAAE66F,GAAkB76F,GAAA,GAG1CG,GAAoDh9E,mBAAc,IAAGi9E,GAAAp+E,YAAAm+E,GAAA,GAA9D26F,GAAkB16F,GAAA,GAAE26F,GAAqB36F,GAAA,GAChDG,GACEp9E,mBAAc,IAAG49E,GAAA/+E,YAAAu+E,GAAA,GADZy6F,GAAyBj6F,GAAA,GAAEk6F,GAA4Bl6F,GAAA,GAE9D07C,GACEt5H,oBAAc,GAAMu5H,GAAA16H,YAAAy6H,GAAA,GADUy+C,IAAFx+C,GAAA,GAA4BA,GAAA,IAE1DC,GAAgDx5H,mBAC9CiS,EAASknC,UACVsgF,GAAA56H,YAAA26H,GAAA,GAFMw+C,GAAgBv+C,GAAA,GAGvBm5B,IAH4Cn5B,GAAA,GAGRz5H,oBAAS,IAAK6yJ,GAAAh0J,YAAA+zJ,GAAA,GAA3CqlB,GAAUplB,GAAA,GAAEqlB,GAAarlB,GAAA,GAChCG,GAAgChzJ,oBAAS,GAAMizJ,GAAAp0J,YAAAm0J,GAAA,GAA9Bt6C,IAAFu6C,GAAA,GAAaA,GAAA,IAC5BG,GAAoCpzJ,oBAAS,GAAMuzJ,GAAA10J,YAAAu0J,GAAA,GAA5C+kB,GAAU5kB,GAAA,GAAE6kB,GAAa7kB,GAAA,GAC1BxlJ,GAAWjiB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAClDg5B,GAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAEhEwhB,GAAQ4D,iBAAY,MA8G1B,SAASmD,GAAYC,GACnB,IACE,QAA4BlrB,IAAxBd,EAAMw0B,eAAuD,OAAxBx0B,EAAMw0B,cAAwB,CACrE,GACqC,OAAnCx0B,EAAMw0B,cAAcxpB,YACoB,OAAxChL,EAAMw0B,cAAc85D,aAAa,GACjC,CACA,IAAIA,EAAetuF,EAAMw0B,cAAc85D,aAAa,GACpD,QACsBxtF,IAApBkrB,GACoB,OAApBA,GACAA,EAAgBxjB,OAAS,EACzB,CACA,IAAIgkB,EAAkB,GAClBH,EAAgBvoB,KAAKwM,MAAMg+E,EAAaqxC,aACxCrzG,EAA4B,GAE1BG,EAAY3oB,KAAKwM,MAAMg+E,EAAa3hE,cAEX,KAA7B2hE,EAAa1hE,aACgB,OAA7B0hE,EAAa1hE,aAEH9oB,KAAKwM,MAAMg+E,EAAa1hE,aAC1BxjB,KAAI,SAACyjB,GACe,KAAtBA,EAAKC,cACPN,EAASnjB,KAAKwjB,EAAKC,aAEvB,IAEFd,EAAgB5iB,KAAI,SAAC2jB,GACnB,IAAIC,EAAe,CACjBG,cAAeJ,EAAQ9b,OACvBmc,OAAQL,EAAQM,WAChBC,YAAaghE,EAAajnF,YAC1BkmB,cAAe+gE,EAAa9gE,cAC5BC,YAAa6gE,EAAa5gE,SAEtBT,EAAiBnpB,KAAKwM,MAAMyc,EAAQY,eACtCT,EAAkB,GACtBZ,EAAmBjjB,KAAK2jB,GACxBR,EAASpjB,KAAI,SAACyK,GACZ4Y,EAAUrjB,KAAI,SAACrI,GACb,GAAkB,OAAdA,EAAI4Z,OAAgC,KAAd5Z,EAAI4Z,MAAc,CAC1C,GAAkB,gBAAd5Z,EAAI4Z,MACN5Z,EAAI6sB,aAAe,CAAE7kB,MAAOgkB,EAAQM,gBAC/B,CACL,IAAIiB,EAAc,GAClB,IAAgC,IAA5BvtB,EAAI4Z,MAAM5Q,QAAQ,KAAa,CACjC,IAAIwkB,EAAWxtB,EAAI4Z,MAAM/Q,MAAM,KAC/B0kB,EAAcC,EAAS,EACzB,MACED,EAAcvtB,EAAI4Z,MAEpB,GAAwB,UAApB5Z,EAAIytB,YAAyB,CAC/B,IAAIC,GAAkB,EAClBC,EAAoB,GACpBC,EAAyB,GA6B7B,GA3BA1B,EAAetrB,MAAMyH,KACnB,SAACwlB,EAAattB,GACZstB,EAAOhtB,OAAOwH,KAAI,SAAC6Y,GAC4B,IAAD4M,EAAxCP,IAAgBrM,EAAQngB,SAASC,QACvB,QAAZ8sB,EAAA9tB,EAAI+tB,gBAAQ,IAAAD,GAAZA,EAAczlB,KACZ,SAAC0lB,EAAeC,GACU,QAAZ,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAUnU,QACZsH,EAAQngB,SAASG,UAAUuO,OAAOpH,KAChC,SAAC4lB,EAAentB,GAEZmtB,EAASjtB,QAAU+sB,EAASnU,QAE5B8T,EAAYntB,EACZotB,EAAWrlB,KAAK,CACdxH,OAAQA,IAEV8sB,EAAgBtlB,KAAK0lB,GAEzB,GAGN,IAGN,GACF,IAEEN,GAAa,EAAG,CAAC,IAADQ,EAAAC,EAAAC,EACdC,EAAmB,GACa,WAAhCpvB,EAAMqwL,iBAAiBvsK,OACzBsL,EAAYruB,EAAI6sB,cAIP,QAFXqB,EAAAhC,EAAetrB,MACb8sB,GACA7sB,OAAO,UAAE,IAAAqtB,GAAM,QAANC,EAFXD,EAEa9qB,YAAI,IAAA+qB,GAAK,QAALC,EAFjBD,EAEmB9V,WAAG,IAAA+V,GAFtBA,EAEwB/lB,KAAI,SAACgQ,GAG3B,IAFA,IAAIiW,EAAgB,GAEXtnB,EAAI,EAAGA,EAAIhH,EAAI+tB,SAAStmB,OAAQT,IACvCsnB,EAAOhmB,KAAK,CAAEN,MAAO,KAGvB2lB,EAAWtlB,KAAI,SAACrI,EAAUc,GACxBwtB,EAAOV,EAAgB9sB,IAAWuX,EAAIrY,EAAIc,OAC5C,IACIwtB,EAAO7mB,OAAS,GAClB4mB,EAAU/lB,KAAKgmB,EAEnB,IAEAtuB,EAAI6sB,aAAewB,CACrB,CACF,MACEnC,EAAetrB,MAAMyH,KAAI,SAACwlB,GACxBA,EAAOhtB,OAAOwH,KAAI,SAAC6Y,GACbA,EAAQngB,SAASC,QAAUusB,IAC7BvtB,EAAI6sB,aAAe3L,EAAQ9d,KAE/B,GACF,GAEJ,CAEA+oB,EAAS7jB,KAAKtI,EAChB,CACF,GACF,IAEAmsB,EAAS9jB,KAAI,SAACrI,GACZsrB,EAAc1qB,MAAMyH,KAAI,SAACN,GACvBA,EAAKlH,OAAOwH,KAAI,SAAC6Y,QACUnhB,IAArBC,EAAI6sB,eAEgB,UAApB7sB,EAAIytB,aACsB,OAA1BvM,EAAQngB,SAASE,KAEbjB,EAAIihB,MAAQC,EAAQngB,SAASC,QAC/BkgB,EAAQ9d,KAAKiV,IAAGnQ,YAAOlI,EAAI6sB,eAGzB7sB,EAAIihB,MAAQC,EAAQngB,SAASC,QAC/BkgB,EAAQ9d,KAAOpD,EAAI6sB,cAI3B,GACF,GACF,GACF,IACA5tB,EAAMswL,qBAAqBhkK,GAC3BtsB,EAAM07B,yBAAyB53B,KAAKC,UAAUsoB,GAChD,KAAO,CACL,IAAIA,EAAgBvoB,KAAKwM,MAAMg+E,EAAaqxC,aAC5C3/H,EAAMswL,qBAAqB,IAC3BtwL,EAAM07B,yBAAyB53B,KAAKC,UAAUsoB,GAChD,CACF,CACoC,WAAhCrsB,EAAMqwL,iBAAiBvsK,MACzBgrK,IAAyBD,GAE7B,CACF,CAAE,MAAOjpL,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CACF,CAM8B,SAAA+qK,KAQ7B,OAR6BA,GAAAhuK,YAAAC,IAAAC,MAA9B,SAAAC,IAAA,IAAA8xC,EAAAC,EAAA,OAAAjyC,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACMuxC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAE9C5mB,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,uCAAArzC,OAAsCmuL,GAAmBplL,WAAU,YAC7E,UACA,wBAAApH,EAAAqB,OAAA,GAAA1B,EAAA,MACH4B,MAAA,KAAAC,UAAA,CAkBiC,SAAA4rL,KAoDjC,OApDiCA,GAAA5tL,YAAAC,IAAAC,MAAlC,SAAAiC,IAAA,IAAAgmF,EAAA0lG,EAAA,OAAA5tL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,eAEyCvC,IAArCd,EAAMw0B,cAAc85D,cACiB,OAArCtuF,EAAMw0B,cAAc85D,cACwB,IAA5CtuF,EAAMw0B,cAAc85D,aAAa9lF,OAAY,CAAAzD,EAAA1B,KAAA,aAEzCrD,EAAMw0B,cAAc85D,aAAa,GAAG6wD,cAAc,CAADp6I,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EACxBgmF,GAA0B,CACnD9+E,WAAY,KACZsvD,UAAW9zC,GAAS4F,aAAavgB,WAAWC,aAC3C,KAAD,EAHgB,GAAdy/E,EAAc/lF,EAAAT,UAMqCxD,IAArDd,EAAMw0B,cAAcxpB,WAAWgyB,mBACsB,OAArDh9B,EAAMw0B,cAAcxpB,WAAWgyB,mBAC6B,IAA5Dh9B,EAAMw0B,cAAcxpB,WAAWgyB,kBAAkBx0B,OAAY,CAAAzD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EAElCgmF,GAA0B,CACnD9+E,WAAY0E,OACVjP,EAAMw0B,cAAcxpB,WAAWgyB,qBAEhC,KAAD,EAJgB,QAMOl8B,KANzB0vL,EAAkBzrL,EAAAT,OAOO,OAAvBksL,GAC8B,IAA9BA,EAAmBhoL,OAAY,CAAAzD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GAEJmmF,GAAgB,CACzCj/E,WAAY0E,OACVjP,EAAMw0B,cAAcxpB,WAAWgyB,qBAEhC,KAAD,GAJFwzJ,EAAkBzrL,EAAAT,KAAA,QAMpBqB,QAAQe,IACN,qBACA8pL,EACAxwL,EAAMw0B,cAAcxpB,YAGtB4kL,QAC4B9uL,IAA1B0vL,EAAmB,IACS,OAA1BA,EAAmB,IACc,IAAjCA,EAAmB,GAAGhoL,OACpBgoL,EACAA,EAAmB,IACvB,QAGJV,GAA6BhlG,GAC7BilG,IAA2B,GAAM,yBAAAhrL,EAAAP,OAAA,GAAAM,EAAA,MAGtCJ,MAAA,KAAAC,UAAA,CAED,SAAS8rL,KACP,IAAMx1K,EAAU,IAAIC,KAEpBlb,EAAM0wL,4BAA4B,CAChCloF,aAAcmoF,GAA0B11K,GACxC21K,aAAcD,GAA0B11K,IAE5C,CAEA,SAAS41K,KACP,IAAI1xI,EAAOn/C,EAAM8wL,2BAEjB,GAAoB,cAAhB3xI,EAAK73C,QAA0C,WAAhB63C,EAAK73C,OACtC6lL,GAAc,QACT,GACW,UAAhBhuI,EAAK73C,QACW,gBAAhB63C,EAAK73C,QACW,WAAhB63C,EAAK73C,QACW,WAAhB63C,EAAK73C,OAELtH,EAAM+wL,iBAAgB,GAEtB5D,GAAc,OACT,CAAC,IAAD6D,EACC58J,EAASp0B,EAAMw0B,cACX,OAANJ,QAAM,IAANA,GAAuB,QAAjB48J,EAAN58J,EAAQk6D,aAAa,UAAE,IAAA0iG,GAAvBA,EAAyB77C,iBAC3Bn1I,EAAM+wL,iBAAgB,GACtBrgE,IAAY,GACZy8D,GAAc,KAEdntL,EAAM+wL,iBAAgB,GAEtB5D,GAAc,GAElB,CACF,CAAC,SAEc8D,KAAc,OAAAC,GAAAxsL,MAAC,KAADC,UAAA,UAAAusL,KA+F5B,OA/F4BA,GAAAvuL,YAAAC,IAAAC,MAA7B,SAAAsC,IAAA,IAAAgsL,EAAA,OAAAvuL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAiBG,GAhBGiqL,IAAgB,IAAM3wJ,IAAa,KACrCy0J,KACA17H,MAGEy7H,EAAgBnxL,EAAM8wL,2BAEqB,OAA7C9wL,EAAM8wL,2BAA2BpN,cACY5iL,IAA7Cd,EAAM8wL,2BAA2BpN,UAEjC1jL,EAAM8wL,2BAA2BpN,QAAU,GAC3C1jL,EAAM0wL,4BAA4B,CAAEhN,QAAS,WAEU5iL,IAArDd,EAAM8wL,2BAA2BO,kBACnCrxL,EAAM8wL,2BAA2BO,gBAAkB,IACnDrxL,EAAM0wL,4BAA4B,CAAEW,gBAAiB,OAIT,IAA5CrxL,EAAM8wL,2BAA2B7gK,QACoB,MAArDjwB,EAAM8wL,2BAA2BO,gBAAuB,CAAAjsL,EAAA/B,KAAA,SAQvD,QALwCvC,IAAvCd,EAAMsxL,8BACiC,OAAvCtxL,EAAMsxL,8BACqD,IAA3DhjL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QAEhD+oL,KAI0D,KAA1DvxL,EAAM8wL,2BAA2BzkK,cAAcigC,QAC/CtsD,EAAM8wL,2BAA2BzkK,cAAcigC,SAC7CtsD,EAAMsxL,6BAA6B3xD,YAAW,CAAAv6H,EAAA/B,KAAA,YAG9CrD,EAAM8wL,2BAA2BzpL,cACjCrH,EAAMsxL,6BAA6B/mL,WAAU,CAAAnF,EAAA/B,KAAA,SAMmB,OAJhErD,EAAM07B,yBACJ17B,EAAMsxL,6BAA6B3xD,aAErC3/H,EAAM8wL,2BAA2BpjK,QAAU,GAC3C2/J,EAAgBrtL,EAAMsxL,6BAA6B3xD,aAAav6H,EAAA/B,KAAA,GAC1DmuL,KAA+B,KAAD,GAAApsL,EAAA/B,KAAA,iBAES,OAA7CgqL,EAAgB8D,EAAc9kK,eAAejnB,EAAA/B,KAAA,GAEvCmuL,KAA+B,KAAD,GAAApsL,EAAA/B,KAAA,iBAG0B,OAAhEgqL,EAAgBrtL,EAAMsxL,6BAA6B3xD,aAAav6H,EAAA/B,KAAA,GAC1DmuL,KAA+B,KAAD,GAAApsL,EAAA/B,KAAA,iBAGM,IAA5CrD,EAAM8wL,2BAA2B7gK,QACoB,MAArDjwB,EAAM8wL,2BAA2BO,kBAEjCI,KACgE,IAA5DzxL,EAAM8wL,2BAA2BY,gBAAgBlpL,QACnDmpL,KAEF3xL,EAAM0wL,4BAA4B,CAChCkB,aAAc5xL,EAAM8wL,2BAA2BY,kBAED,UAA5C1xL,EAAM8wL,2BAA2BxpL,QACnCmpL,KAE6D,IAA3DniL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QAClD6kL,EAAgBrtL,EAAMsxL,6BAA6B3xD,aACnD3/H,EAAM0wL,4BAA4B,CAChChjK,QAAS1tB,EAAMsxL,6BAA6BnjK,eAE9C0jK,MAEAxE,EAAgBrtL,EAAM8wL,2BAA2BzkK,eAEnD6hK,GAAWluL,EAAM8wL,2BAA2BpjK,UAC7C,QAE6C,IAA5C1tB,EAAM8wL,2BAA2B7gK,QACoB,MAArDjwB,EAAM8wL,2BAA2BO,kBAEjCI,KACAhB,KAC+D,IAA3DniL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QAClD6kL,EAAgBrtL,EAAMsxL,6BAA6B3xD,aACnDkyD,MAEAxE,EAAgBrtL,EAAM8wL,2BAA2BzkK,eAEnD6hK,GAAWluL,EAAM8wL,2BAA2BpjK,UAE7C,yBAAAtoB,EAAAZ,OAAA,GAAAW,EAAA,MACFT,MAAA,KAAAC,UAAA,UACcgtL,KAAO,OAAAG,GAAAptL,MAAC,KAADC,UAAA,UAAAmtL,KAMrB,OANqBA,GAAAnvL,YAAAC,IAAAC,MAAtB,SAAA2C,IAAA,IAAAuhJ,EAAA,OAAAnkJ,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OACwC,OAAlC0jJ,EAAQC,eAASxkJ,QAAQ,KAAM,IAAGiD,EAAApC,KAAA,EAChCrD,EAAM0wL,4BAA4B,CACtCgB,gBAAiB3qC,EACjB6qC,aAAc7qC,IACb,KAAD,mBAAAthJ,EAAAjB,OAAA,GAAAgB,EAAA,MACHd,MAAA,KAAAC,UAAA,UACc8sL,KAAoB,OAAAM,GAAArtL,MAAC,KAADC,UAAA,UAAAotL,KAclC,OAdkCA,GAAApvL,YAAAC,IAAAC,MAAnC,SAAAkD,IAAA,IAAAisL,EAAA5rL,EAAA6rL,EAAA,OAAArvL,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAGI,GAC0B,QAHtB+C,EAAW,CACfmE,WAA+B,QAArBynL,EAAEhyL,EAAMw0B,qBAAa,IAAAw9J,OAAA,EAAnBA,EAAqBhnL,WAAW3D,cAEjCkD,WAAmB,CAAAvE,EAAA3C,KAAA,eAAA2C,EAAA3C,KAAA,EACWmmF,GAAgBpjF,GAAU,KAAD,EAEpC,QAF1B6rL,EAA4BjsL,EAAA1B,YAGFxD,IAA5BmxL,IAEAA,EAA0B,IAE5BjyL,EAAMkyL,gBAAgBD,GAAyB,wBAAAjsL,EAAAxB,OAAA,GAAAuB,EAAA,MAElDrB,MAAA,KAAAC,UAAA,UAEc6sL,KAA4B,OAAAW,GAAAztL,MAAC,KAADC,UAAA,UAAAwtL,KAwB1C,OAxB0CA,GAAAxvL,YAAAC,IAAAC,MAA3C,SAAAsD,IAAA,IAAA8U,EAAAm3K,EAAA,OAAAxvL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAsBG,OArBK4X,EAAU,IAAIC,KAChBk3K,EAA2B,CAC7B5pF,aAAcmoF,GAA0B11K,GACxC21K,aAAcD,GAA0B11K,GACxC3T,OACwB,qBAAtB2iB,EAASknC,SACLnxD,EAAM8wL,2BAA2BxpL,OACjC,cACNytK,cAAe4b,GAA0B11K,GACzCo3K,YAAa/uL,OAAOC,aAAaC,QAAQ,cACzC8uL,WAAYhvL,OAAOC,aAAaC,QAAQ,cACxC84C,YAAat8C,EAAMsxL,6BAA6BryC,WAChDszC,kBAAmBvyL,EAAMsxL,6BAA6B35C,gBACtDvrD,kBAAmBpsF,EAAMsxL,6BAA6BllG,kBACtD/kF,YAAarH,EAAMsxL,6BAA6B/mL,WAChDijB,cAAextB,EAAMsxL,6BAA6BnjK,aAClDqkK,cAAexyL,EAAMsxL,6BAA6BxkK,aAClD2lK,YAAa,gBACbf,gBAAiB1qC,eAASxkJ,QAAQ,KAAM,IACxC+vG,YAAajvG,OAAOC,aAAaC,QAAQ,UACzC8uG,eAAgBhvG,OAAOC,aAAaC,QAAQ,eAC7C6C,EAAAhD,KAAA,EACKrD,EAAM0wL,4BAA4B0B,GAAqB,KAAD,mBAAA/rL,EAAA7B,OAAA,GAAA2B,EAAA,MAC7DzB,MAAA,KAAAC,UAAA,CACD,SAASktL,KACP,IAAM52K,EAAU,IAAIC,KACpBlb,EAAM0wL,4BAA4B,CAChCzgK,OAAQ,EACRu4E,aAAcmoF,GAA0B11K,GACxC21K,aAAcD,GAA0B11K,GACxC3T,OAAQ,cACRytK,cAAe4b,GAA0B11K,GACzCo3K,YAAa/uL,OAAOC,aAAaC,QAAQ,cACzC8uL,WAAYhvL,OAAOC,aAAaC,QAAQ,cACxC84C,YAAat8C,EAAMsxL,6BAA6BryC,WAEhDszC,kBAAmBvyL,EAAMsxL,6BAA6B35C,gBAEtDvrD,kBAAmBpsF,EAAMsxL,6BAA6BllG,kBACtD/kF,YAAarH,EAAMsxL,6BAA6B/mL,WAEhDijB,cAAextB,EAAMsxL,6BAA6BnjK,aAClDqkK,cAAexyL,EAAMsxL,6BAA6BxkK,aAClD2lK,YAAa,gBACblgF,YAAajvG,OAAOC,aAAaC,QAAQ,UACzC8uG,eAAgBhvG,OAAOC,aAAaC,QAAQ,cAC5CkvL,aAAc,GACd71J,WAAY,EACZ81J,WAAY,EACZjP,QAAS,GACTh2J,QAAS,GACTipF,OAAQ,GACRpnD,GAAI,GACJ3H,KAAM,IAEV,CAvjBA76C,qBAAU,WACJ/M,EAAMqwL,kBACRpC,GAAmBhlL,YAAKjJ,EAAMqwL,iBAAiBjwK,SAEjDpgB,EAAM2oE,cAAa,EACrB,GAAG,CAAC3oE,EAAMqwL,mBAEVtjL,qBAAU,gBAE+BjM,IAArCd,EAAM8wL,6BACS,IAAfX,UAmRwCrvL,GAAtCd,EAAMsxL,oCAEuCxwL,IAA7Cd,EAAM8wL,2BAA2BpjK,SACY,OAA7C1tB,EAAM8wL,2BAA2BpjK,SACmB,IAApD1tB,EAAM8wL,2BAA2BpjK,QAAQllB,QAEzCxI,EAAM0wL,4BAA4B,CAChChjK,QAAS1tB,EAAMsxL,6BAA6BvyC,kBAE9CmvC,GAAWluL,EAAMsxL,6BAA6BvyC,kBACe,IAApD/+I,EAAM8wL,2BAA2BpjK,QAAQllB,QAClD0lL,GAAWluL,EAAM8wL,2BAA2BpjK,SAE9C0iK,IAAc,IA7RdS,KAEJ,GAAG,CAAC7wL,EAAM8wL,6BAEV/jL,qBAAU,WAC6C,IAAjD/M,EAAM8wL,2BAA2BlpI,KAAKp/C,SACxC8mL,GAAsB,IACtB3B,EAAmB,KAE8B,IAA/C3tL,EAAM8wL,2BAA2BvhI,GAAG/mD,SACtC0mL,GAAsB,IACtBzB,EAAmB,IAEvB,GAAG,CAACztL,EAAM8wL,2BAA4B9wL,EAAMsxL,+BAE5CvkL,qBAAU,gBACiCjM,IAArCd,EAAM8wL,6BAEsC,UAA5C9wL,EAAM8wL,2BAA2BxpL,QACW,gBAA5CtH,EAAM8wL,2BAA2BxpL,QACW,WAA5CtH,EAAM8wL,2BAA2BxpL,QACW,WAA5CtH,EAAM8wL,2BAA2BxpL,OAEjCopH,IAAY,GAEZA,IAAY,GAEdmgE,KAoQH,WACiCN,GAAA7rL,MAAC,KAADC,UAAA,CApQ9BiuL,SAGuC9xL,IAAvCd,EAAMsxL,8BACiC,OAAvCtxL,EAAMsxL,8BACqD,IAA3DhjL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QAChDxI,EAAM8wL,gCAIiChwL,IAArCd,EAAM8wL,4BACsD,IAA1D9wL,EAAM8wL,2BAA2BzkK,cAAc7jB,SAEjD6kL,EAAgBrtL,EAAM8wL,2BAA2BzkK,eACjDqpC,KAKN,GAAG,CAAC11D,EAAM8wL,6BACV/jL,qBAAU,WACR,GAAIihL,GAAiBxlL,OAAS,QACD1H,IAAvBgtE,EAAMnb,IAAI,UAAiD,OAAvBmb,EAAMnb,IAAI,SAAmB,CACnE,IAAMkgI,EAAQ/kH,EAAMnb,IAAI,SACpBmgI,EAAkB,GACtB9E,GAAiB5kL,KAAI,SAAC2pL,GAChBA,EAAO1lK,aAAewlK,GACxBC,EAASzpL,KAAK0pL,EAElB,IAEArD,GAAmB,GAADluL,OAAKsxL,GACzB,CAEJ,GAAG,CAAC9E,KAEJjhL,qBAAU,iBAEiCjM,IAAvCd,EAAMsxL,8BACiC,OAAvCtxL,EAAMsxL,8BACqD,IAA3DhjL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,aACX1H,IAArCd,EAAM8wL,iCAKiChwL,IAAvCd,EAAMsxL,8BACiC,OAAvCtxL,EAAMsxL,8BACqD,IAA3DhjL,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,aACX1H,IAArCd,EAAM8wL,8BANNG,KACAb,IAAc,GAUlB,GAAG,CAACpwL,EAAMsxL,+BAEVvkL,qBAAU,WAAO,GAAG,CAACqgL,IACrBrgL,qBAAU,WACmB,IAAvBugL,EAAY9kL,QACdxI,EAAM0wL,4BAA4B,CAChCgC,aAAcpF,EAAY,GAAG0F,oBAE7Bn2J,WAAYywJ,EAAY,GAAGhoC,WAGjC,GAAG,CAACgoC,IA+cJ,IAAM17E,GAAuB,SAACllG,GAC5B,IAAM3D,EAAQ2D,EACRmlG,EAAUl1E,EAChBw1D,GAAqBppF,GACrB,IAAM5E,EAAO0tG,EAAQp5F,QAAO,SAACtU,GAC3B,IAAIi8I,EAAgB,GAcpB,GAbArnI,GAAQ3P,KAAI,SAACrI,GACX,IAAIqP,EAAQrP,EAAIqP,WACCtP,IAAbilB,KAEA3V,EADiC,OAA/B2V,GAAS4F,aAAa2tC,KAChBlpD,EAAMhO,WAAW,KAAM,MAEvBgO,EAAMhO,WAAW,KAAM,QAG6B,IAA5D+B,EAAKiM,GAAOlF,cAAcnB,QAAQhB,EAAMmC,gBAC1Ck1I,EAAS/2I,KAAKlF,EAElB,IACIi8I,EAAS53I,OAAS,EACpB,OAAO,CAEX,IACA2sD,GAAalsD,YAAK9E,GACpB,EACM4U,GAAU,CACd,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGRgmB,GAAiBpoE,GAAQ3P,KAAI,SAACrI,EAAKgH,GACvC,OACExH,cAACs4B,KAAM,CAELxR,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAEM,EAAIq8C,WACjC78C,cAAA,KAAGgB,UAAU,cAAad,SAAEM,EAAIo6D,gBAItCt3D,KAAM,SAACmV,GACL,YAAqBlY,IAAjBkY,EAAQsgD,KACyB,OAA/BvzC,GAAS4F,aAAa2tC,KAEjBtgD,EADQjY,EAAIqP,MAAM5N,QAAQ,KAAM,OAIhCwW,EADQjY,EAAIqP,MAAM5N,QAAQ,KAAM,OAIlCwW,EAAQjY,EAAIqP,MAEvB,GArBKrP,EAAIqP,MAwBf,IACM6iL,GAAyB,SAACvmL,GAC9B,IAAM3D,EAAQ2D,EACRmlG,EAAUl1E,EAChByxJ,GAAuBrlL,GACvB,IAAM5E,EAAO0tG,EAAQp5F,QAAO,SAACtU,GAC3B,IAAIi8I,EAAgB,GAcpB,GAbArnI,GAAQ3P,KAAI,SAACrI,GACX,IAAIqP,EAAQrP,EAAIqP,WACCtP,IAAbilB,KAEA3V,EADiC,OAA/B2V,GAAS4F,aAAa2tC,KAChBlpD,EAAMhO,WAAW,KAAM,MAEvBgO,EAAMhO,WAAW,KAAM,QAG6B,IAA5D+B,EAAKiM,GAAOlF,cAAcnB,QAAQhB,EAAMmC,gBAC1Ck1I,EAAS/2I,KAAKlF,EAElB,IACIi8I,EAAS53I,OAAS,EACpB,OAAO,CAEX,IAEAqlL,GAAe5kL,YAAK9E,GACtB,EACM+uL,GAA8B,SAACxmL,GACnC,IAAM3D,EAAQ2D,EACRymL,EAAU7F,EAChBgB,GAA4BvlL,GAC5B,IAAM5E,EAAOgvL,EAAQ16K,QAAO,SAACtU,GAAe,IAAD0vE,EAAAk+B,EAAAD,EAAAshF,EACzC,GACkB,QAAhBv/G,EAAA1vE,EAAKm8D,mBAAW,IAAAuT,GAAhBA,EAAkB3oE,cAAclC,SAAc,OAALD,QAAK,IAALA,OAAK,EAALA,EAAOmC,gBAClB,OAA9BsxB,GAAQ7Q,aAAa2tC,KACN,QADmBy4C,EAC9B5tG,EAAKoH,cAAM,IAAAwmG,OAAA,EAAXA,EAAa7mG,cAAclC,SAAc,OAALD,QAAK,IAALA,OAAK,EAALA,EAAOmC,gBAChC,QAAX4mG,EAAA3tG,EAAK2xD,cAAM,IAAAg8C,OAAA,EAAXA,EAAa5mG,cAAclC,SAAc,OAALD,QAAK,IAALA,OAAK,EAALA,EAAOmC,kBAC7B,QAD2CkoL,EACzDjvL,EAAKgvE,iBAAS,IAAAigH,OAAA,EAAdA,EAAgBloL,cAAclC,SAAc,OAALD,QAAK,IAALA,OAAK,EAALA,EAAOmC,gBAElD,OAAO,CAEX,IACA6iL,GAAoB9kL,YAAK9E,GAC3B,EAkDwB,SAAAurF,KAGvB,OAHuBA,GAAA/sF,YAAAC,IAAAC,MAAxB,SAAA+6B,IAAA,IAAAy1J,EAAA,OAAAzwL,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,cAAA46B,EAAA56B,KAAA,EACyB6+K,KAAgB,KAAD,EAAhCmR,EAAQp1J,EAAA35B,KACd4oL,EAAemG,GAAU,wBAAAp1J,EAAAz5B,OAAA,GAAAo5B,EAAA,MAC1Bl5B,MAAA,KAAAC,UAAA,UAEc+wD,KAAiB,OAAAC,GAAAjxD,MAAC,KAADC,UAAA,UAAAgxD,KAyO/B,OAzO+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAu7B,IAAA,IAAAzB,EAAA22J,EAAAC,EAAA1nL,EAAA/D,EAAAC,EAAAyrL,EAAA91F,EAAAt6E,EAAA1a,EAAAV,EAAA07K,EAAA/rF,EAAA,OAAA/0F,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,cAAAw7B,EAAAx7B,KAAA,EACyB2vD,IAAiB,KAAD,EAGb,GAHpBr2B,EAAQkC,EAAAv6B,KACdmuF,EAAY91D,GACZw4B,GAAcx4B,GACdkxJ,GAAgBlxJ,KAEoC,IAAjD38B,EAAM8wL,2BAA2BlpI,KAAKp/C,aACK1H,IAA1Cd,EAAM8wL,2BAA2BlpI,MACyB,IAA3Dt5C,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QACI,IAAnDxI,EAAMsxL,6BAA6Bp1C,KAAK1zI,QAAa,CAAAq2B,EAAAx7B,KAAA,SAEnDiwL,EAAe,GAEjBA,EAD8C,IAA5CtzL,EAAM8wL,2BAA2B7gK,OAEgB,IAAjDjwB,EAAM8wL,2BAA2BlpI,KAAKp/C,OAClCxI,EAAM8wL,2BAA2BlpI,KAAKh+C,MAAM,KACe,IAA3D0E,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QACG,IAAnDxI,EAAMsxL,6BAA6Bp1C,KAAK1zI,OACtCxI,EAAMsxL,6BAA6Bp1C,KAAKtyI,MAAM,KAEhD,GAGqD,IAAzD0E,OAAOC,KAAKvO,EAAM8wL,4BAA4BtoL,QACO,IAAjDxI,EAAM8wL,2BAA2BlpI,KAAKp/C,OACpC,GAEFxI,EAAM8wL,2BAA2BlpI,KAAKh+C,MAAM,KAGhD2pL,EAAgB,GAChB1nL,EAAW,GAAE/D,EAAAlF,IAAAC,MAAA,SAAAiF,EAAAC,GAAA,IAAAI,EAAC,OAADvF,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAEf,IAAS8E,EAAI,EAAGA,EAAImrL,EAAa9qL,OAAQL,IACnCw0B,EAAS50B,GAAGwD,SAAW+nL,EAAanrL,KACpB,GAAd0D,EAAIrD,OAIqB,IAHTqD,EAAI4M,QACpB,SAAC3P,GAAS,OAAKA,EAAKyC,SAAWoxB,EAAS50B,GAAGwD,MAAM,IAEnC/C,QACdqD,EAAIxC,KAAKszB,EAAS50B,IAGpB8D,EAAIxC,KAAKszB,EAAS50B,IAGI,IAApBwrL,EAAS/qL,OAIgB,IAHT+qL,EAAS96K,QACzB,SAAC3P,GAAS,OAAKA,IAAS6zB,EAAS50B,GAAGwD,MAAM,IAE5B/C,QACd+qL,EAASlqL,KAAKszB,EAAS50B,GAAGwD,QAG5BgoL,EAASlqL,KAAKszB,EAAS50B,GAAGwD,SAG/B,wBAAAwyB,EAAAv5B,OAAA,GAAAsD,EAAA,IAzBMC,EAAI,EAAE,KAAD,QAAEA,EAAI40B,EAASn0B,QAAM,CAAAq2B,EAAAx7B,KAAA,gBAAAw7B,EAAA31B,cAAApB,EAAAC,GAAA,iBAAEA,IAAG82B,EAAAx7B,KAAA,iBA2BpCiwL,EAAa9qL,SAAWqD,EAAIrD,QACZ8qL,EAAa76K,QAAO,SAACtU,GAErC,GAAqB,IADT0H,EAAI4M,QAAO,SAAC2kB,GAAU,OAAKA,EAAM7xB,SAAWpH,CAAI,IAClDqE,OAAc,CACtB+qL,EAASlqL,KAAKlF,GACd,IAAIi4I,EAAS,CACXl9E,YAAa,GACbC,YACE,gPACFtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQpH,EACR2xD,OAAQ3xD,EACRqyD,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZntD,EAAIxC,KAAK+yI,EACX,CACF,IAGFkzC,GAAsBzjL,GACtB8hL,EAAmB,GAADnsL,OAAK+xL,IAE8B,IAAjDvzL,EAAM8wL,2BAA2BlpI,KAAKp/C,QACxCxI,EAAM0wL,4BAA4B,CAAE9oI,KAAM2rI,EAASloL,aACpDwzB,EAAAx7B,KAAA,iBAEDisL,GAAsB,IACtB3B,EAAmB,IAAI,kBAKkB7sL,IAAxCd,EAAM8wL,2BAA2BvhI,IACe,IAA/CvvD,EAAM8wL,2BAA2BvhI,GAAG/mD,QACsB,IAA3D8F,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QACI,IAAnDxI,EAAMsxL,6BAA6Br1C,KAAKzzI,QAAa,CAAAq2B,EAAAx7B,KAAA,SAEnDiwL,EAAoB,GAEtBA,EAD8C,IAA5CtzL,EAAM8wL,2BAA2B7gK,OAEc,IAA/CjwB,EAAM8wL,2BAA2BvhI,GAAG/mD,OAChCxI,EAAM8wL,2BAA2BvhI,GAAG3lD,MAAM,KACiB,IAA3D0E,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,QACG,IAAnDxI,EAAMsxL,6BAA6Br1C,KAAKzzI,OACtCxI,EAAMsxL,6BAA6Br1C,KAAKryI,MAAM,KAEhD,GAGqD,IAAzD0E,OAAOC,KAAKvO,EAAM8wL,4BAA4BtoL,QACK,IAA/CxI,EAAM8wL,2BAA2BvhI,GAAG/mD,OAClC,GAEFxI,EAAM8wL,2BAA2BvhI,GAAG3lD,MAAM,KAElDjE,QAAQe,IAAI,eAAgB4sL,GAExBC,EAAgB,GAChB1nL,EAAW,GAAEnD,EAAA9F,IAAAC,MAAA,SAAA6F,EAAAV,GAAA,IAAAG,EAAC,OAADvF,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAEf,IAAS8E,EAAI,EAAGA,EAAImrL,EAAa9qL,OAAQL,IACnCw0B,EAAS50B,GAAGwD,SAAW+nL,EAAanrL,KACpB,GAAd0D,EAAIrD,OAIqB,IAHTqD,EAAI4M,QACpB,SAAC3P,GAAS,OAAKA,EAAKyC,SAAWoxB,EAAS50B,GAAGwD,MAAM,IAEnC/C,QACdqD,EAAIxC,KAAKszB,EAAS50B,IAGpB8D,EAAIxC,KAAKszB,EAAS50B,IAGI,IAApBwrL,EAAS/qL,OAIgB,IAHT+qL,EAAS96K,QACzB,SAAC3P,GAAS,OAAKA,IAAS6zB,EAAS50B,GAAGwD,MAAM,IAE5B/C,QACd+qL,EAASlqL,KAAKszB,EAAS50B,GAAGwD,QAG5BgoL,EAASlqL,KAAKszB,EAAS50B,GAAGwD,SAG/B,wBAAA8yB,EAAA75B,OAAA,GAAAkE,EAAA,IAzBMX,EAAI,EAAE,KAAD,QAAEA,EAAI40B,EAASn0B,QAAM,CAAAq2B,EAAAx7B,KAAA,gBAAAw7B,EAAA31B,cAAAR,EAAAV,GAAA,iBAAED,IAAG82B,EAAAx7B,KAAA,iBA2BpCiwL,EAAa9qL,SAAWqD,EAAIrD,QACZ8qL,EAAa76K,QAAO,SAACtU,GAErC,GAAqB,IADT0H,EAAI4M,QAAO,SAAC2kB,GAAU,OAAKA,EAAM7xB,SAAWpH,CAAI,IAClDqE,OAAc,CACtB+qL,EAASlqL,KAAKlF,GACd,IAAIi4I,EAAS,CACXl9E,YAAa,GACbC,YACE,gPACFtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQpH,EACR2xD,OAAQ3xD,EACRqyD,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZntD,EAAIxC,KAAK+yI,EACX,CACF,IAGF8yC,GAAsBrjL,GACtB4hL,EAAmB,GAADjsL,OAAK+xL,IAE4B,IAA/CvzL,EAAM8wL,2BAA2BvhI,GAAG/mD,QACtCxI,EAAM0wL,4BAA4B,CAAEnhI,GAAIgkI,EAASloL,aAEnDwzB,EAAAx7B,KAAA,iBAEA6rL,GAAsB,IACtBzB,EAAmB,IAAI,gBAIP3sL,IAAhBmsL,GACgB,OAAhBA,GACuB,IAAvBA,EAAYzkL,OAAY,CAAAq2B,EAAAx7B,KAAA,gBAAAw7B,EAAAx7B,KAAA,GACd6+K,KAAe,QAAArjJ,EAAA9O,GAAA8O,EAAAv6B,KAAAu6B,EAAAx7B,KAAA,iBAAAw7B,EAAA9O,GACrBk9J,EAAY,KAAD,GALXvJ,EAAO7kJ,EAAA9O,GAQkC,IAA7C/vB,EAAM8wL,2BAA2BpN,cACY5iL,IAA7Cd,EAAM8wL,2BAA2BpN,UAE3B/rF,EAAa+rF,EAAQjrK,QACzB,SAAC3P,GAAS,OACRA,EAAKk+K,cAAgBhnL,EAAM8wL,2BAA2BpN,OAAO,IAGjEsL,GAAiBr3F,EAAW,KAE9Bu1F,EAAexJ,GAAS,yBAAA7kJ,EAAAr6B,OAAA,GAAA45B,EAAA,KACzBu3B,GAAAjxD,MAAA,KAAAC,UAAA,UAEc4sL,KAAqB,OAAAkC,GAAA/uL,MAAC,KAADC,UAAA,UAAA8uL,KAWnC,OAXmCA,GAAA9wL,YAAAC,IAAAC,MAApC,SAAA67B,IAAA,IAAAt4B,EAAA,OAAAxD,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAGI,GAFI+C,EAAW,CACfmE,WAAYvK,EAAMsxL,6BAA6B/mL,YAG5CvK,EAAMk1B,eAAe,CAAD0J,EAAAv7B,KAAA,SAIe,OAHtCsC,QAAQe,IAAI,uBAAwB1G,EAAMk1B,gBAE1Cl1B,EAAM0zL,sBAAqB,GAAM90J,EAAAzX,GAC3BwsK,GAAgC/0J,EAAAv7B,KAAA,EAAOmmF,GAAgBpjF,GAAS,cAAAw4B,EAAA/zB,GAAA+zB,EAAAt6B,KAAAs6B,EAAAv7B,KAAA,MAAAu7B,EAAAzX,IAAAyX,EAAA/zB,IAAE,KAAF,oBAAA+zB,EAAAp6B,OAAA,GAAAk6B,EAAE,MAE3Eh6B,MAAA,KAAAC,UAAA,UAEcgvL,GAAgClvL,GAAA,OAAAmvL,GAAAlvL,MAAC,KAADC,UAAA,UAAAivL,KA6B9C,OA7B8CA,GAAAjxL,YAAAC,IAAAC,MAA/C,SAAAo8B,EAAgD96B,GAAS,IAAA0vL,EAAA9tK,EAAA+tK,EAAAC,EAAA5lC,EAAA/nJ,EAAA4tL,EAAA,OAAApxL,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAkBrB,GAjB9BwwL,EAAwBvwL,OAAOC,aAAaC,QAAQ,YAClDuiB,EAAWjiB,KAAKwM,MAAMujL,GACtBC,EAAgB3vL,EAChB4vL,EAAc/zL,EAAMi0L,iBACtB9lC,EAAgB,CAAC,EAEnBA,EAD6D,IAA3D7/I,OAAOC,KAAKvO,EAAMsxL,8BAA8B9oL,OACvCxI,EAAMsxL,6BAENwC,EAEbnuL,QAAQe,IAAI,WAAYynJ,GAElB/nJ,EAAW,CACf22B,aAAcoxH,EACdlxH,kBAAmB,GACnBurI,UAAWziJ,EAAS4F,cAEtBhmB,QAAQe,IAAI,WAAYN,GAEG,IAAvB2tL,EAAYvrL,OAAY,CAAA+2B,EAAAl8B,KAAA,gBAAAk8B,EAAAl8B,KAAA,GACiB26G,GACzC53G,GACA,KAAD,GAFG4tL,EAA8Bz0J,EAAAj7B,KAGlCtE,EAAMk0L,eAAeF,GAErBh0L,EAAM2oE,cAAa,GAAO,QAE5B3oE,EAAM0zL,sBAAqB,GAAO,yBAAAn0J,EAAA/6B,OAAA,GAAAy6B,EAAA,KACnC20J,GAAAlvL,MAAA,KAAAC,UAAA,UACcysL,KAAgB,OAAA+C,GAAAzvL,MAAC,KAADC,UAAA,UAAAwvL,KAQ9B,OAR8BA,GAAAxxL,YAAAC,IAAAC,MAA/B,SAAA2gC,IAAA,IAAA4wJ,EAAA,OAAAxxL,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,cAAAqgC,EAAArgC,KAAA,EACiCmqJ,KAAc,KAAD,EAAxC4mC,EAAkB1wJ,EAAAp/B,KACtBqB,QAAQe,IAAI,qBAAsB0tL,GAE9BA,EAAmB5rL,SAAW8kL,EAAY9kL,QAC5C+kL,EAAe6G,GAEjBrG,GAAqBqG,GAAoB,wBAAA1wJ,EAAAl/B,OAAA,GAAAg/B,EAAA,MAC1C9+B,MAAA,KAAAC,UAAA,CACD,SAAS0vL,GAAoBtrL,GAC3B,IAAI8jB,EAAO7sB,EAAM8wL,2BACbxkK,EAA4B,GAChCN,GAAgB5iB,KAAI,SAAC2jB,GACnB,IAAIC,EAAe,CACjBG,cAAeJ,EAAQ9b,OACvBmc,OAAQL,EAAQM,WAChBC,YAAaT,EAAKxlB,YAClBkmB,cAAeV,EAAKW,cACpBC,YAAa1kB,GAEfujB,EAAmBjjB,KAAK2jB,EAC1B,IACAhtB,EAAMswL,qBAAqBhkK,GAC3BtsB,EAAM0wL,4BAA4B,CAChChjK,QAAS3kB,IAEXmlL,GAAWnlL,EACb,CAvVAgE,qBAAU,WACR,IACE,QAA+BjM,IAA3Bd,EAAMqwL,iBAAgC,CACxC1qL,QAAQe,IAAI,QAAS1G,EAAMqwL,iBAAiBjwK,QAE5C,IACMjc,EADanE,EAAMqwL,iBAAiBjwK,OAClB3H,QAAO,SAACtU,GAC9B,IAGS,IAFPA,EAAKkpB,WAAWniB,cAAcnB,QAC5BwkL,GAAyBrjL,iBAIpB,IAFP/G,EAAKgqB,aAAajjB,cAAcnB,QAC9BwkL,GAAyBrjL,iBAIpB,IAFP/G,EAAKg5C,YAAYjyC,cAAcnB,QAC7BwkL,GAAyBrjL,eAG3B,OAAO,CAEX,IACA+iL,GAAmBhlL,YAAK9E,GAC1B,CACF,CAAE,MAAOyB,GACPD,QAAQe,IAAI,QAASd,EACvB,CACF,GAAG,CAAC2oL,KAGJxhL,qBAAU,YAEH,WAEiB2iF,GAAAhrF,MAAC,KAADC,UAAA,CAHtB+5E,EACF,GAAG,IAyTH,IAAMiyG,GAA4B,SAAC5nL,GACjC,GAAa,IAATA,EAAa,CACf,IAAIsI,EAAiB9H,KAAOR,EAAO,uBAEnC,OADgBQ,KAAO8H,GAAgBlI,OAAO,sBAEhD,CAEE,MADgB,EAGpB,EAmEA,SAASk2F,KACkB,IAArBnN,IACFC,GAAqB,IAEvBjxC,IAAkBkxC,IAClB18B,IACF,CACA,SAAS4+H,KACyB,IAA5BjG,IACFC,GAA4B,IAE9B8C,KACAxC,IAAyBD,GAC3B,CACA,SAAS4F,KACP/F,GAA4B,IAC5BM,IAAyBD,GAC3B,CACA,SAAS2F,KACoB,IAAvBrG,IACFC,GAAuB,IAEzBM,IAAoBD,IACpB/4H,IACF,CACA,IAgDM++H,GAAwB,SAACtwL,GAC7B6qL,GAAiB7qL,GACjBnE,EAAM0wL,4BAA4B,CAChCiC,WAAYxuL,EAAKuwL,UACjBhR,QAASv/K,EAAK6iL,aAElB,EAqLM2N,GAAgC,SAACx0G,GACrC,IAAIozG,EAAkB,GAEtBpzG,EAAM/2E,KAAI,SAAC4zD,GAAM,OAAKu2H,EAASlqL,KAAK2zD,EAAEzxD,OAAO,IAC7CkiL,EAAmB,GAADjsL,OAAK+xL,IACvBrE,GAAsB/uG,GAEtBngF,EAAM0wL,4BAA4B,CAAEnhI,GAAIgkI,EAASloL,YACnD,EACMupL,GAAgC,SAACz0G,GACrC,IAAIozG,EAAkB,GACtBpzG,EAAM/2E,KAAI,SAAC4zD,GAAM,OAAKu2H,EAASlqL,KAAK2zD,EAAEzxD,OAAO,IAC7CoiL,EAAmB,GAADnsL,OAAK+xL,IACvBjE,GAAsBnvG,GACtBngF,EAAM0wL,4BAA4B,CAAE9oI,KAAM2rI,EAASloL,YACrD,EAMA,OACE9K,cAAAC,WAAA,CAAAC,UACIT,EAAM0oE,WACN/nE,eAAA,OAAAF,SAAA,CACEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACZrkB,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAC3wC,UAAU,IAAGd,SAAA,CAChBE,eAACC,KAAG,CACFM,GAAI,GACJF,GAAI,EACJqgE,GAAI,EACJlgE,GAAI,EACJC,MAAO,CAAE8L,WAAY,UAAWzM,SAAA,CAEhCE,eAAA,OAAKY,UAAU,gCAA+Bd,SAAA,CAC5CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,gBAChB,qBAArBuvL,GAA0C,KACzCzvL,cAACq2G,KAAK,CACJ7tG,MAAO/I,EAAM8wL,2BAA2BxpL,OACxC/F,UAAU,qEACVH,MAAO,CACLkM,MAAO,UACPi3B,WAEE,qBADAvkC,EAAM8wL,2BAA2BxpL,OAE7B,UAGE,WADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,UADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,cADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,gBADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,WADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,cADFtH,EAAM8wL,2BAA2BxpL,QAK/B,aADFtH,EAAM8wL,2BAA2BxpL,OAFjC,UAOE,qBADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UACA,WAKd/G,cAAA,KACEa,MAAO,CACLkM,MAAO,UACPH,SAAU,OACVE,aAAc,OACd5M,SAE2C,IAA5CT,EAAM8wL,2BAA2B7gK,QACjCjwB,EAAM60L,YAIH70L,EAAM8wL,2BAA2BtjK,cAHjCxtB,EAAM8wL,2BAA2B0B,cACjC,KACAxyL,EAAM8wL,2BAA2BtjK,mBAIzCjtB,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,EAAGqgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC/BE,eAAA,OAAKY,UAAU,0BAAyBd,SAAA,CACtCF,cAAA,SACEgB,UAAU,qFACVH,MAAO,CAAEiM,aAAc,QAAS5M,SAEV,qBAArBuvL,GAA0C,KACzCzvL,cAACq2G,KAAK,CACJ7tG,MAAO/I,EAAM8wL,2BAA2BxpL,OACxC/F,UAAU,iEACVH,MAAO,CACLkM,MAAO,UACPi3B,WAEE,qBADAvkC,EAAM8wL,2BAA2BxpL,OAE7B,UAGE,WADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,UADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,cADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,gBADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,WADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UAGE,cADFtH,EAAM8wL,2BAA2BxpL,QAK/B,aADFtH,EAAM8wL,2BAA2BxpL,OAFjC,UAOE,qBADFtH,EAAM8wL,2BAA2BxpL,OAEjC,UACA,UAMd/G,cAAA,KACEgB,UAAU,uEACVH,MAAO,CAAEkM,MAAO,UAAWH,SAAU,MAAO1M,SAEtB,qBAArBuvL,IACCrvL,eAAAH,WAAA,CAAAC,SAAA,CAAE,IAAET,EAAM8wL,2BAA2B2B,yBAM/ClyL,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,wBAIjBhB,cAAAC,WAAA,CAAAC,SACEE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCE,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,0BACH3R,UAAU,4BAA2Bd,SACtC,iBAGDF,cAAA,KACE2S,GAAG,0BACH3R,UAAU,yBAAwBd,SACnC,wHAOPF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,GAAIM,GAAI,EAAEV,SACxBF,cAAA,OACEgB,UAAU,+BACVH,MAAO,CAAEkM,MAAO,UAAWH,SAAU,QAAS1M,SAzgB3C,SAACsI,GACtB,GAAa,IAATA,EAAa,CACf,IAAIsI,EAAiB9H,KAAOR,EAAO,uBAEnC,OADgBQ,KAAO8H,GAAgBlI,OAAO,cAEhD,CAEE,MADgB,EAGpB,CAkgBqBgI,CACCnR,EAAM8wL,2BAA2BtoF,qBAKzC7nG,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACE2S,GAAG,sBACH3R,UAAU,4BAA2Bd,SACtC,YAGDF,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAIlDF,cAAA,KACE2S,GAAG,sBACH3R,UAAU,yBAAwBd,SACnC,gDAOPF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WACE9oD,EAAM8wL,2BAA2B4B,aAEnC1pI,iBAAkB,SAClBD,cAAeu4C,EACf34C,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAcqrI,GACdprI,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAcqrI,GACd3rI,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,cAAeu4C,SAIpBthG,EAAM80L,qBACLn0L,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,qBACH3R,UAAU,4BAA2Bd,SACtC,WAGDF,cAAA,KACE2S,GAAG,qBACH3R,UAAU,yBAAwBd,SACnC,oCAOPF,cAACK,KAAG,CACFM,GAAI,GACJL,GAAI,GACJM,GAAI,EACJgV,QAAS,WACPxQ,QAAQe,IAAI1G,EAAM80L,oBACpB,EAAEr0L,SAEFF,cAAC8nD,KAAmB,CAClBM,cAAe,CAAEroC,OAAQ,IACzBooC,kBAAmB,+BACnBM,iBAAkB,GAClBD,eAAe,EACfD,WAAY9oD,EAAM+0L,4BAM5Bp0L,eAACuxC,KAAG,CAAC3wC,UAAU,oCAAmCd,SAAA,CAChDF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,EAAEV,SACjBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,4BAA2Bd,SACtC,OAGDF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,yBAAwBd,SACnC,0CAOPF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,GAAGV,SAClBE,eAAA,OACEY,UAAU,gBACVH,MAAO,CACLkf,OAAO,GAAD9e,OACJytL,GAAmBzmL,OAAS,EAAI,OAAS,SAE3C/H,SAAA,CAEFF,cAACigF,KAAY,CACXz3E,MAAOkmL,GACPxuG,YAAa0uG,GACbzuG,eAngBG,SAACP,GACxBpsE,YAAW,WACT,IAAI+pI,EAIFA,EAHG39D,EAAMrS,MAAMxhB,OAAO9jD,OAGFm0B,EAASlkB,QAAO,SAACslI,GACnC,OACEA,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,gBAQd6yI,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,eANP6yI,EAAaxyI,OAAOL,cAAclC,SACvCm3E,EAAMrS,MAAM5iE,eAad6yI,EAAajmF,eAAe5sD,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAajmF,eAAe5sD,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,eAId6yI,EAAatyI,eAAeP,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAatyI,eAAeP,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,oBANhB,CASF,IAvCiBjC,YAAO0zB,GA0C1ByyJ,GAAsBtxC,EACxB,GAAG,IACL,EAodsB1tI,MAAM,SACN7O,UAAU,2BACV2uF,UAAQ,EACRtY,eAAe,iCACflkE,SAAU4tF,EACVtR,WAAY,SAACtjF,GACI,UAAXA,EAAEmH,QAzdA,SAACssE,GAC7B,IAAImf,EAAyBr2F,YAAOgmL,IACpC,GAAqB,IAAjB9uG,EAAM33E,OAAc,CACtB,IAAI4zI,EAAS,CACXl9E,YAAa,GACbC,YAAa,GACbtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQ40E,EACRrqB,OAAQqqB,EACR3pB,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZsmC,EAAmBj2F,KAAK+yI,GACxBu4C,GAA8Br1F,EAChC,CAGF,CAub0B01F,CAAsBtoL,EAAEuG,OAAOlK,OAC/B2D,EAAEuG,OAAOlK,MAAQ,GAErB,EACAiK,SAAU,SAACtG,GAAC,OAAKioL,GAA8BjoL,EAAE3D,MAAM,IAEzDxI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAco2C,GACd12C,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,cAAeu4C,YAMvB3gG,eAACuxC,KAAG,CAAC3wC,UAAU,oCAAmCd,SAAA,CAChDF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,EAAEV,SACjBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,4BAA2Bd,SACtC,OAGDF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,yBAAwBd,SACnC,0CAMPF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,GAAGV,SAClBE,eAAA,OACEY,UAAU,iBACVH,MAAO,CACLkf,OAAO,GAAD9e,OACJ6tL,GAAmB7mL,OAAS,EAAI,OAAS,SAE3C/H,SAAA,CAEFF,cAACigF,KAAY,CACXz3E,MAAOsmL,GACP5uG,YAAa8uG,GACb7uG,eA5eG,SAACP,GACxBpsE,YAAW,WACT,IAAI+pI,EAIFA,EAHG39D,EAAMrS,MAAMxhB,OAAO9jD,OAGFm0B,EAASlkB,QAAO,SAACslI,GACnC,OACEA,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,gBAQd6yI,EAAaxyI,OAAOL,cAAclC,SAChCm3E,EAAMrS,MAAM5iE,eANP6yI,EAAaxyI,OAAOL,cAAclC,SACvCm3E,EAAMrS,MAAM5iE,eAad6yI,EAAajmF,eAAe5sD,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAajmF,eAAe5sD,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,eAId6yI,EAAatyI,eAAeP,cAAclC,SACxCm3E,EAAMrS,MAAM5iE,eAGP6yI,EAAatyI,eAAeP,cAAclC,SAC/Cm3E,EAAMrS,MAAM5iE,oBANhB,CASF,IAvCiBjC,YAAO0zB,GA0C1B6yJ,GAAsB1xC,EACxB,GAAG,IACL,EA6bsB1tI,MAAM,SACN8/E,UAAQ,EACR3uF,UAAU,2BACVq2E,eAAe,iCACflkE,SAAU4tF,EACVtR,WAAY,SAACtjF,GACI,UAAXA,EAAEmH,QAlcA,SAACssE,GAC7B,IAAImf,EAAyBr2F,YAAOomL,IACpC,GAAqB,IAAjBlvG,EAAM33E,OAAc,CACtB,IAAI4zI,EAAS,CACXl9E,YAAa,GACbC,YACE,gPACFtF,UAAW,KACXD,YAAa,GACbwF,YAAa,KACbtI,aAAc,KACdprD,iBAAkB,GAClBssD,iBAAkB,GAClBxsD,MAAO,GACPF,aAAc,GACdF,WAAY,KACZixI,YAAa,GACb1jI,UAAU,EACV2gD,KAAM,KACNK,WAAY,GACZJ,aAAc,GACdhuD,OAAQ40E,EACRrqB,OAAQqqB,EACR3pB,WAAY,KACZ/qD,eAAgB,GAChBqsD,eAAgB,GAChBwkF,eAAgB,GAChBrmF,gBAAiB,GACjB6D,YAAa,KACbd,SAAU,IAEZsmC,EAAmBj2F,KAAK+yI,GACxBw4C,GAA8Bt1F,EAChC,CAGF,CA+Z0B21F,CAAsBvoL,EAAEuG,OAAOlK,OAC/B2D,EAAEuG,OAAOlK,MAAQ,GAErB,EACAiK,SAAU,SAACtG,GAAC,OAAKkoL,GAA8BloL,EAAE3D,MAAM,IAEzDxI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAcurI,GACd7rI,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,cAAeu4C,aAKrBthG,EAAMk1L,eACN30L,cAAAC,WAAA,CAAAC,SACwD,KAAb,QAAxC4rL,EAAArsL,EAAM8wL,2BAA2BpN,eAAO,IAAA2I,OAAA,EAAxCA,EAA0C7jL,QACzC7H,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,YAGzCF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,sDAK5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,UACzBT,EAAM8wL,2BAA2B7gK,OAChC1vB,cAAC++C,IAAQ,CACP38B,QAASsqK,EACTlkL,MAAOgmL,GACP/7K,SAAU,SAACtG,GAAC,OAAK+nL,GAAsB/nL,EAAE3D,MAAM,EAC/C0P,QAAM,EACN08K,uBAAwB,CACtBC,SAAU,IAEZC,WAAY,CAAEloL,SAAU,QACxB2tD,YAAY,sBACZxnD,iBAEExS,GADAd,EAAM8wL,2BAA2BpN,SAIf,IADd1jL,EAAM8wL,2BAA2BpN,QAC9Bl7K,OAFH,iBAIAxI,EAAM8wL,2BAA2BpN,QAEvCniL,UAAU,8CACVH,MAAO,CACLwW,aAAc,MACd0I,OAAQ,GACRnT,SAAU,QAEZuG,SAAU4tF,UAkClB/gG,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,YAGzCF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,sDAO5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,UACzBT,EAAM8wL,2BAA2B7gK,OAChC1vB,cAAC++C,IAAQ,CACP38B,QAASsqK,EACTlkL,MAAOgmL,GACP/7K,SAAU,SAACtG,GAAC,OAAK+nL,GAAsB/nL,EAAE3D,MAAM,EAC/C0P,QAAM,EACN08K,uBAAwB,CACtBC,SAAU,IAEZC,WAAY,CAAEloL,SAAU,QACxB2tD,YAAY,sBACZxnD,iBAEExS,GADAd,EAAM8wL,2BAA2BpN,SAIf,IADd1jL,EAAM8wL,2BAA2BpN,QAC9Bl7K,OAFH,iBAIAxI,EAAM8wL,2BAA2BpN,QAEvCniL,UAAU,8CACVH,MAAO,CACLwW,aAAc,MACd0I,OAAQ,GACRnT,SAAU,QAEZuG,SAAU4tF,cAsC1B3gG,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KACE2S,GAAG,sBACH3R,UAAU,4BAA2Bd,SACtC,YAGDF,cAAA,QAAMgB,UAAU,gCAA+Bd,SAAC,SAIlDF,cAAA,KACE2S,GAAG,sBACH3R,UAAU,yBAAwBd,SACnC,gDAOPF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SACmB,IAA5CT,EAAM8wL,2BAA2B7gK,OAChC1vB,cAAC8nD,KAAmB,CAClBK,kBAAkB,+BAClBC,cAAe,CAAEroC,OAAQ,GAAInT,SAAU,QACvCy7C,cAAeyrI,GACfvrI,WAAYp7B,GACZq7B,cAAeu4C,IAGjB/gG,cAAC8nD,KAAmB,CAClBK,kBAAkB,+BAClBC,cAAe,CAAEroC,OAAQ,IACzBsoC,cAAeyrI,GACfvrI,WAAYp7B,GACZq7B,cAAeu4C,cAKexgG,IAArCd,EAAMw0B,cAAc85D,cACkB,OAArCtuF,EAAMw0B,cAAc85D,cACwB,IAA5CtuF,EAAMw0B,cAAc85D,aAAa9lF,QACjCxI,EAAMw0B,cAAc85D,aAAa,GAAG6wD,eAClCx+I,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,2BAI3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0LAO5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,QAASxM,SAAA,CAC9BF,cAAC++C,IAAQ,CACP38B,QAASktK,GACT9mL,MAAO4mL,GACP38K,SAAU,SAACtG,GAAC,OA10BFvI,EA20BmBuI,EAAE3D,MA10BvD6mL,GAAsBzrL,QACtBnE,EAAM0wL,4BAA4B,CAChC1zJ,kBAAmB74B,EAAKoG,WAAWc,aAHJ,IAAClH,CA20B2B,EAErCsU,QAAM,EACN08K,uBAAwB,CACtBC,SAAU,IAEZC,WAAY,CACVloL,SAAU,OACV8nC,eAAgB,SAElB6lB,YAAY,uBACZxnD,iBACyBxS,IAAvB6uL,IACuB,OAAvBA,IAC2C,IAA3CrhL,OAAOC,KAAKohL,IAAoBnnL,OAC5BmnL,GAAmBpjG,qBACnB,uBAENhrF,UAAU,8CACVH,MAAO,CACLwW,aAAc,MACd0I,OAAQ,GACRnT,SAAU,OACV+I,MAAO,SAETxC,SAAU4tF,SAEYxgG,IAAvB6uL,IACwB,OAAvBA,IAC2C,IAA3CrhL,OAAOC,KAAKohL,IAAoBnnL,QAC9BjI,cAAA,OAAKa,MAAO,CAAEkzG,WAAY,QAAS7zG,SACjCF,cAACsuE,GAAgB,CACfE,cAAc,UACdtmB,aACEloD,cAACqyK,KAAS,CACRv/J,KAAM,OACNjS,MAAO,CAAEk5F,YAAa,SAG1BrxC,aApxDhC,WAE8B,OAAA0nH,GAAAjsK,MAAC,KAADC,UAAA,EAmxDEgkD,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,QACPoK,OAAQ,QAEVyoC,cAAeu4C,eASV,QAAtBgrF,EAAAtsL,EAAMqwL,wBAAgB,IAAA/D,OAAA,EAAtBA,EAAwBlsK,OAAO5X,QAAS,GACvCjI,cAAAC,WAAA,CAAAC,SACwC,SAAf,QAAtB8rL,EAAAvsL,EAAMqwL,wBAAgB,IAAA9D,OAAA,EAAtBA,EAAwB5iL,WACvBhJ,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0FAM5CE,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAII,UAAW,cAAcd,SAAA,EAClD6gG,GACA/gG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdC,kBAAmB,yBACnBO,aAAcsrI,GACdxlH,cAAe,MACfpmB,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,cAAeu4C,QAMvB/gG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAC+wE,KAAS,CACRnwE,UAAU,aACVgmF,aAAW,EACXx+E,MAAOijB,GACPgzE,YAAU,EACVC,aAAa,QACb9W,UAAQ,EACRxoC,aAjvBT,WACnB,MAAO,aACT,EAgvB8B+nC,WAAY,SAAC1uE,GACX,IAEMvS,EADJnD,OAAO2mB,SAAS6qB,KAAKlrC,MAAM,KACJ,GAEzBtG,OAAOqe,KAAK,WAADngB,OACEiF,EAAG,oBAAAjF,OAAmBwX,EAAQ7U,KAAK8M,QAC9C,SACA,aAEJ,EACAoC,KAAK,QACLmR,KAAM,EAAE/jB,SAAA,CAERF,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACmoB,EAAiBrJ,GAAO,OAC7BA,EAAQjY,SAAW,CAAC,EAEtBtJ,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAGnC,8EADuB,QAAtB+pG,EAAAxsL,EAAMqwL,wBAAgB,IAAA7D,OAAA,EAAtBA,EAAwB1xH,aAEvBv6D,cAACs4B,KAAM,CACLzoB,MAAM,2EACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iFAMlCiiF,UAAQ,IAGVniF,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAG5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAMjCiiF,UAAQ,IAGZniF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAG5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAOnCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,mGAelB,IAAhCT,EAAMmsL,eAAe3jL,SACK,IAAzBxI,EAAMs1L,gBACJ/0L,cAAC0rL,GAAmB,CAClBE,eAAgBnsL,EAAMmsL,sBAIVrrL,IAAjBssL,GACC7sL,cAAAC,WAAA,CAAAC,cAC2BK,IAAxBd,EAAMw0B,eACL7zB,eAAAH,WAAA,CAAAC,SAAA,EAC6B,IAA1BT,EAAMu1L,iBACLh1L,cAAAC,WAAA,CAAAC,SACEF,cAAC0qI,GAAgB,CACfG,iBAAkBprI,EAAMorI,iBACxBD,cAAenrI,EAAMmrI,mBAIA,IAA1BnrI,EAAMu1L,iBACLh1L,cAAAC,WAAA,CAAAC,SACEF,cAAC0wB,KAAuB,CACtBsE,cAAev1B,EAAMu1B,cACrBgE,iBAAkBv5B,EAAMu5B,iBACxBtE,MAAOj1B,EAAMi1B,MACbuI,iBAAkBx9B,EAAMw9B,iBACxBhJ,cAAex0B,EAAMw0B,cACrBghK,YAAax1L,EAAMw1L,YACnBC,eAAgBz1L,EAAMy1L,eACtBC,aAAc11L,EAAM01L,aACpBxgK,eAAgBl1B,EAAMk1B,eACtB4F,kBAAmB96B,EAAM86B,kBACzBm1J,WAAYA,GACZC,cAAeA,GACf5uJ,iBAAkBggE,EAClBvlE,WACE/7B,EAAM8wL,2BAA2BzpL,YAEnC6sL,eAAgBl0L,EAAMk0L,eACtBr/J,aAAcu4J,EACd0D,yBAA0BG,GAC1B0E,YAAa31L,EAAM21L,YACnBC,WAAY51L,EAAM41L,WAClBl6J,yBAA0B,SAAChvB,GAAM,OAC/B1M,EAAM07B,yBAAyBhvB,EAAE,EAEnC4kL,2BACEtxL,EAAMsxL,2BAER5oH,UAAW1oE,EAAM0oE,UACjBC,aAAc3oE,EAAM2oE,aACpBp3C,WAAYvxB,EAAMuxB,qBAST,QAAtBk7J,EAAAzsL,EAAMqwL,wBAAgB,IAAA5D,OAAA,EAAtBA,EAAwBrsK,OAAO5X,QAAS,GACvCjI,cAAAC,WAAA,CAAAC,SACwC,YAAf,QAAtBisL,EAAA1sL,EAAMqwL,wBAAgB,IAAA3D,OAAA,EAAtBA,EAAwB/iL,WACvBhJ,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,wEAM5CE,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAII,UAAW,cAAcd,SAAA,EAClD6gG,GACA/gG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdC,kBAAmB,yBACnBO,aAAcsrI,GACdxlH,cAAe,MACfpmB,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,cAAeu4C,QAMvB/gG,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAC+wE,KAAS,CACRnwE,UAAU,aACVgmF,aAAW,EACXx+E,MAAOijB,GACPgzE,YAAU,EACVC,aAAa,QACb5rF,KAAK,QACLmR,KAAM,EAAE/jB,SAAA,CAERF,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACmoB,EAAiBrJ,GAAO,OAC7BA,EAAQjY,SAAW,CAAC,EAEtBtJ,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAGnC,8EADuB,QAAtBkqG,EAAA3sL,EAAMqwL,wBAAgB,IAAA1D,OAAA,EAAtBA,EAAwB7xH,aAEvBv6D,cAACs4B,KAAM,CACLzoB,MAAM,2EACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iFAMlCiiF,UAAQ,IAGVniF,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAG5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAMjCiiF,UAAQ,IAGZniF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAG5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAOnCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,2GAmBzDF,cAACgnB,IAAM,CACLF,OA31CW,WACnB,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYopC,GACZtpC,cAAegpD,GACf5oD,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EA+0CU/gC,QAAS2qE,GACThxF,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQy3E,GACR99F,UAAU,qBACV6tG,iBAAe,EACfvnF,WAAW,EACX85B,WAAW,EACXD,UAAU,EAAMjhD,SAEhBF,cAACmxE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAOmtE,GACP/0B,cAAc,SACdywB,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhBC,QAAQ,KACRC,iBAAiB,SACjByuE,YA/xCQ,SAACrgE,GACnB,IAAIozG,EAAkB/F,EAClBluF,EAAyBr2F,YAAOgmL,IAC9B4G,EAAqBv2F,EAAmB7mF,QAC5C,SAAC2kB,GAAU,OAAKA,EAAMhyB,aAAe+0E,EAAMh8E,KAAKiH,UAAU,IAE5DzF,QAAQe,IAAI,qBAAsBmvL,GAEA,IAA9BA,EAAmBrtL,SACrB82F,EAAmBj2F,KAAK82E,EAAMh8E,MAC9BovL,EAASlqL,KAAK82E,EAAMh8E,KAAKoH,SAE3B5F,QAAQe,IAAI,WAAY6sL,GAExBrE,GAAsB5vF,GACtBmuF,EAAkBxkL,YAAKsqL,IACvBvzL,EAAM0wL,4BAA4B,CAAEnhI,GAAIgkI,EAASloL,aAEjD61C,IAAiB,EACnB,EA6wCYy/F,UAAU,eACVC,UAAW,EAAEngJ,SA+CZ0gF,OAIL5gF,cAACgnB,IAAM,CACLF,OAx5Ca,WACrB,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYqlI,GACZvlI,cAAeqqI,GACfjqI,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EA44CU/gC,QAASgnK,GACTrtL,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ4sK,GACRjzL,UAAU,qBACV6tG,iBAAe,EACfvnF,WAAW,EACX85B,WAAW,EACXD,UAAU,EAAMjhD,SAEhBF,cAACmxE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAO6kL,GACPzsI,cAAc,SACdywB,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhBC,QAAQ,KACRC,iBAAiB,SACjByuE,YAt1CU,SAACrgE,GACrB,IAAIozG,EAAkB7F,EAClBpuF,EAAyBr2F,YAAOomL,IAIF,IAHP/vF,EAAmB7mF,QAC5C,SAAC2kB,GAAU,OAAKA,EAAMhyB,aAAe+0E,EAAMh8E,KAAKiH,UAAU,IAErC5C,SACrB82F,EAAmBj2F,KAAK82E,EAAMh8E,MAC9BovL,EAASlqL,KAAK82E,EAAMh8E,KAAKoH,SAE3B+jL,GAAsBhwF,GACtBquF,EAAkB1kL,YAAKsqL,IACvBvzL,EAAM0wL,4BAA4B,CAAE9oI,KAAM2rI,EAASloL,aACnDqjL,IAAmB,EACrB,EAy0CY/tC,UAAU,eACVC,UAAW,EAAEngJ,SA+CZ0gF,OAGmB,IAAvBmsG,EAAY9kL,QACXjI,cAACgnB,IAAM,CACLF,OAr9CgB,WAC1B,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYulI,GACZzlI,cAAesqI,GACflqI,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EAy8CY/gC,QAASknK,GACTvtL,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ0sK,GACRllF,iBAAe,EACf7tG,UAAU,qBACVsmB,WAAW,EACX85B,WAAW,EACXD,UAAU,EAAMjhD,SAEhBE,eAAC+wE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAO+kL,GACP3sI,cAAc,SACd2wB,QAAQ,KACRC,iBAAiB,SACjBH,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhBtwE,UAAU,GACVi/I,YAn5Ca,SAACrgE,GAE2B,qBAAnDngF,EAAM8wL,2BAA2BxpL,OAAOglD,QACW,cAAnDtsD,EAAM8wL,2BAA2BxpL,OAAOglD,SAGxCtsD,EAAM8wL,2BAA2Bj0J,WAAasjD,EAAMh8E,KAAKmhJ,UACzDtlJ,EAAM8wL,2BAA2B4B,aAC/BvyG,EAAMh8E,KAAK6uL,qBAEfpE,IAAwB,EAC1B,EAy4CcjuC,UAAU,cACVC,UAAW,EAAEngJ,SAAA,CAEbF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,gBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAIjCiiF,UAAQ,EACRthF,MAAO,CAAE8U,MAAO,SAElB3V,cAACs4B,KAAM,CACLzoB,MAC+B,MAA7BosB,GAAQ7Q,aAAa2tC,KAAe,SAAW,SAEjDjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,SAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,kCAIjCW,MAAO,CAAE8U,MAAO,SAElB3V,cAACs4B,KAAM,CACLzoB,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,YACA,YAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oDAIjCW,MAAO,CAAE8U,MAAO,cAMxB3V,cAACgnB,IAAM,CACLF,OAjhDkB,WAC1B,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYylI,GACZ3lI,cAAe,SAACl8C,GAAM,OAAK8hL,GAA4B9hL,EAAE,EACzDs8C,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EAqgDU/gC,QAASonK,GACTztL,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCs2I,OAAQ,WACNsgC,GAA4B,GAC9B,EACA5mK,OAAQ2sK,GACRnlF,iBAAe,EACf7tG,UAAU,qBACVsmB,WAAW,EACX85B,WAAW,EAAMlhD,SAEjBE,eAAC+wE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAOilL,GACPjmG,UAAW/7D,GACXg8D,kBAAmB,SAACt7E,GAClB,GAAIs0B,MAAMoH,QAAQ17B,EAAE3D,OAClB2mL,GAAkBzmL,YAAKyD,EAAE3D,QACzBgjB,GAAYrf,EAAE3D,WACT,CACL,IAAIoZ,EAAa,GACjBA,EAAI9Y,KAAKqD,EAAE3D,OACX2mL,GAAmB,GAADluL,OAAK2gB,IACvB4J,GAAY5J,EACd,CACF,EACAg/B,cACmC,YAAX,QAAtByrI,EAAA5sL,EAAMqwL,wBAAgB,IAAAzD,OAAA,EAAtBA,EAAwB9oK,MACpB,cACA,WAENguD,QAAQ,aACRC,iBAAiB,SACjBH,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhB8uE,UAAU,aACVC,UAAW,EAAEngJ,SAAA,CAEbF,cAACs4B,KAAM,CACLsoB,cACmC,YAAX,QAAtB0rI,EAAA7sL,EAAMqwL,wBAAgB,IAAAxD,OAAA,EAAtBA,EAAwB/oK,MACpB,SACA,aAIR,4BADuB,QAAtBgpK,EAAA9sL,EAAMqwL,wBAAgB,IAAAvD,OAAA,EAAtBA,EAAwBhyH,aAEvBv6D,cAACs4B,KAAM,CACLzoB,MAA6B,QAAxB28K,EAAE/sL,EAAMqwL,wBAAgB,IAAAtD,OAAA,EAAtBA,EAAwBjyH,YAC/BzzC,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SACF,QADEusL,EACxBhtL,EAAMqwL,wBAAgB,IAAArD,OAAA,EAAtBA,EAAwBlyH,kBAKjC4nB,UAAQ,IAGVniF,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAIjCiiF,UAAQ,IAIZniF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,6FAWjD,E,UCrzFQq1L,I,OAAkBC,KAAlBD,eAgtBOE,GA9sBiC,SAACh2L,GAC/C,IAAA+X,EAAgCC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA1Ck+K,EAAQh+K,EAAA,GAAEi+K,EAAWj+K,EAAA,GAC5BgJ,EAAgDjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA5Dg0C,EAAgB/zC,EAAA,GAAEi1K,EAAmBj1K,EAAA,GAC5CG,EAAoCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAApC8zC,GAAF7zC,EAAA,GAAeA,EAAA,IAChCgB,EAA4CtK,oBAAS,GAAMuK,EAAA1L,YAAAyL,EAAA,GAApD8vE,EAAe7vE,EAAA,GAAE2+B,EAAgB3+B,EAAA,GAClCyC,EAAQ4D,iBAAY,MACpB25J,EAAY35J,kBAAO,GACzBpG,EAAoDxK,mBAAS,IAAGyK,EAAA5L,YAAA2L,EAAA,GAArC4zK,GAAF3zK,EAAA,GAAuBA,EAAA,IAChDwG,EAAoDjR,oBAAS,GAAMkR,EAAArS,YAAAoS,EAAA,GAA5D8wD,EAAkB7wD,EAAA,GAAE+wD,EAAqB/wD,EAAA,GAChDC,EAAoCnR,qBAAeoR,EAAAvS,YAAAsS,EAAA,GAA5CutJ,EAAUttJ,EAAA,GAAEutJ,EAAavtJ,EAAA,GAChC2I,EAA8B/Z,qBAAmBga,EAAAnb,YAAAkb,EAAA,GAA1CuvE,EAAOtvE,EAAA,GAAEqkK,EAAUrkK,EAAA,GAC1BG,EAAkDna,mBAAc,IAAGoa,EAAAvb,YAAAsb,EAAA,GACnEI,GADwBH,EAAA,GAAsBA,EAAA,GACApa,mBAAc,KAAGwa,EAAA3b,YAAA0b,EAAA,GAAvCo4I,GAAFn4I,EAAA,GAAoBA,EAAA,IAC1CG,EAA4C3a,oBAAkB,GAAE4a,EAAA/b,YAAA8b,EAAA,GAAzD49G,EAAc39G,EAAA,GAAE49G,EAAiB59G,EAAA,GACxCG,GAAkC/a,oBAAS,GAAKgb,GAAAnc,YAAAkc,GAAA,GAAzCq+E,GAASp+E,GAAA,GAAEq+E,GAAYr+E,GAAA,GAC1B/I,GAAWimC,cACPmR,GAAOy0H,KAAPz0H,GACRluC,GAAgDnb,mBAC9CiS,GAASknC,UACV/9B,GAAAvc,YAAAsc,GAAA,GAFM68J,GAAgB58J,GAAA,GAGjBoJ,IAHsCpJ,GAAA,GAG5BtvB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,KACtE+vB,GAAsDvb,oBAAS,GAAMwb,GAAA3c,YAAA0c,GAAA,GAA9D+hB,GAAmB9hB,GAAA,GAAE+hB,GAAsB/hB,GAAA,GAClDI,GAAkC5b,mBAAS,GAAE6b,GAAAhd,YAAA+c,GAAA,GAAtC0iK,GAASziK,GAAA,GAAE0iK,GAAY1iK,GAAA,GAC9BivC,GAAwC9qD,mBAAS,GAAE+qD,GAAAlsD,YAAAisD,GAAA,GAA5C0zH,GAAYzzH,GAAA,GAAE0zH,GAAe1zH,GAAA,GAwCd,SAEP2zH,KAAc,OAAAC,GAAAjyL,MAAC,KAADC,UAAA,UAAAgyL,KAgC5B,OAhC4BA,GAAAh0L,YAAAC,IAAAC,MAA7B,SAAAC,IAAA,IAAA6f,EAAA4qJ,EAAAn1D,EAAAllG,EAAA,OAAAtQ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACMsf,EAAiB,GACjB4qJ,EAAYvtK,EAAMozG,UAChBgF,EAAcp4G,EAAM42L,0BACtB1jL,GAAM,EACVq6J,EAAUnkK,KAAI,SAACiD,GACI,aAAbA,EAAEmgD,SACJt5C,EAAK7G,EAAE6G,IAETyP,EAAQtZ,KAAK,CAAE6J,GAAI7G,EAAE6G,GAAIm5C,OAAQhgD,EAAEggD,OAAQG,OAAQngD,EAAEmgD,QACvD,IAEA4rD,EAAYhvG,KAAI,SAACsD,GAEM,IAAnBA,EAAEmqL,cACkB,OAAnBnqL,EAAEihG,cAA4C,OAAnBjhG,EAAEoqL,aAM9Bn0K,EAAQvZ,KAAI,SAACyqI,GACPA,EAAI3gI,KAAOxG,EAAEmqL,eACfnqL,EAAEihG,aAAekmC,EAAIrnF,OACrB9/C,EAAEoqL,aAAejjD,EAAIxnF,OAEzB,KATA3/C,EAAEmqL,aAAe3jL,EACjBxG,EAAEihG,aAAe,WACjBjhG,EAAEoqL,aAAe,6CASrB,IACAtmD,EAAkBt9H,GAClBy3J,EAAmB,GAADnpK,OAAKmhB,IACvBuzK,EAAWjtL,YAAKmvG,IAAc,wBAAAj1G,EAAAqB,OAAA,GAAA1B,EAAA,MAC/B4B,MAAA,KAAAC,UAAA,CAED,SAASmoK,KACP9sK,EAAMozG,UAAUhqG,KAAI,SAACiD,GACF,aAAbA,EAAEmgD,QACJgkF,EAAkBnkI,EAAE6G,GAExB,GACF,CAE4B,SAAAo4F,KAG3B,OAH2BA,GAAA3oG,YAAAC,IAAAC,MAA5B,SAAAiC,IAAA,OAAAlC,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACE8yL,EAAmBltL,YAAKjJ,EAAMi1D,mBAC9BE,EAAalsD,YAAKjJ,EAAMi1D,mBAAmB,wBAAAlwD,EAAAP,OAAA,GAAAM,EAAA,MAC5CJ,MAAA,KAAAC,UAAA,CAtFDoI,qBAAU,WACR,IACE,IAAIkoG,EAAoBj1G,EAAM+2L,uBAC9BjqB,KA8EH,WAE2BxhE,GAAA5mG,MAAC,KAADC,UAAA,CA/ExBwnG,GAC2C,GAAvC8I,EAAkBjqG,WAAWilB,QAC/BymK,KACAL,EAAWphF,EAAkB3mB,aAAa,GAAG4wD,2BAE7Cw3C,KACIzhF,EAAkB3mB,aAAa,GAAG4wD,wBAEM,cAAxCjqC,EAAkBjqG,WAAW1D,QACW,aAAxC2tG,EAAkBjqG,WAAW1D,OAE7B+uL,GAAW,GAE6B,UAAxCphF,EAAkBjqG,WAAW1D,QACW,WAAxC2tG,EAAkBjqG,WAAW1D,QACW,WAAxC2tG,EAAkBjqG,WAAW1D,QAE7B+uL,GAAW,GAGbA,EAAWphF,EAAkB3mB,aAAa,GAAG4wD,0BAGjD7tC,IAAa,EACf,CAAE,MAAOzrG,GACPD,QAAQe,IAAId,EACd,CACF,GAAG,IAEHmH,qBAAU,WACR/M,EAAMg3L,yBAAyBf,EACjC,GAAG,CAACA,IAEJlpL,qBAAU,WACR+/J,IACF,GAAG,CAAC9sK,EAAMozG,YAiHVrmG,qBAAU,WACRw1K,EAAU76I,SAAU,CACtB,GAAG,IAEH,IAeMiqC,GAAe,SAACjlE,GACpB,IAAK,IAAI3E,EAAI,EAAGA,EAAI2E,EAAE3D,MAAMP,OAAQT,IAAK,CACvC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACR2E,EAAE3D,MAAMhB,GAAGqzB,SAAWghB,CACxB,CAEA85I,EAAYxpL,EAAE3D,MAChB,EAUA,IAAM6qI,GAAqB,SAAC56H,EAAcoH,GACxC,GAAIkhF,EAAS,CACX,IACI+mB,EAAuB,GAS3B,OARA4tE,EAAS7sL,KAAI,SAACsD,GACZ27G,EAAch/G,KAAK,CACjB6J,GAAIxG,EAAEmqL,aACNxqI,OAAQ3/C,EAAEoqL,aACVtqI,OAAQ9/C,EAAEihG,cAEd,IAGEptG,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MAAOs/G,EAAcjoG,EAAO1V,UAC5BiY,QAAS3iB,EAAMozG,UACfpgG,SAAU,SAACtG,GAAC,OAzBpB,SAA8ByzE,EAAY82G,EAAgBjjD,GACxD,IAAIz2G,EAAY04J,EAChB14J,EAAKy2G,GAAQ6iD,aAAe12G,EAAMp3E,MAAMmK,GACxCqqB,EAAKy2G,GAAQ8iD,aAAe32G,EAAMp3E,MAAMsjD,OACxC9uB,EAAKy2G,GAAQrmC,aAAextB,EAAMp3E,MAAMyjD,OACxC0pI,EAAWjtL,YAAKs0B,GAClB,CAmByB02G,CAAqBvnI,EAAGuqL,EAAW72K,EAAO1V,SAAS,EACpEowD,YAA2C,OAA9Bt+B,GAAQ7Q,aAAa2tC,KAAgB,SAAW,SAC7DhmD,YAAY,sBAGlB,CACE,OACE/S,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAAE,SAAOuY,EAAQ20F,gBAIvB,EA6BA,IAmCMupF,GAAe,SAACZ,EAAmBa,GACvC9lF,IAAa,GACb+lF,GAASd,EAAWa,EAAc,EACpC,EAEMC,GAAW,SAACd,EAAmBa,GACnC,IACE,IAAI3yK,EAAoB,OAAbyxK,EAAiBhtL,YAAOgtL,GAAY,GAC3Cz8I,EAAYh1B,EAAK8xK,GACrB9xK,EAAK8xK,GAAa9xK,EAAK2yK,GACvB3yK,EAAK2yK,GAAe39I,EACpB,IAAK,IAAIzxC,EAAI,EAAGA,EAAIyc,EAAKhc,OAAQT,IAAK,CACpC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACRyc,EAAKzc,GAAGqzB,SAAWghB,CACrB,CACA85I,EAAWjtL,YAAKub,IAChB+wB,IAAuB,GACvB87D,IAAa,EACf,CAAE,MAAOzrG,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,EAEA,OACEjF,eAAA,OAAAF,SAAA,CACEF,cAAC+pB,IAAa,CACZ7C,QAASsyD,EACTnyD,OAAQ,kBAAMqyD,GAAsB,EAAM,EAC1CxkE,QAAS,kCACT4R,OAAO,eACPlQ,KAAK,oBACL5V,UAAU,kBACVgpB,gBAAgB,sEAChBjD,gBAAgB,sGAChB3d,SAAS,MACTye,OAAQ,kBApFd,SAAmB1d,GACjB,IAAIvG,EAAO8xL,EAEX9xL,EAAK20C,OAAOpuC,EAAU,GAEtB,IAAIktK,EAAiBzzK,EAAKiF,KAAI,SAACsD,EAAQ3E,GAErC,OADA2E,EAAE0uB,SAAWrzB,EAAI,EACV2E,CACT,IAEAwpL,EAAWjtL,YAAK2uK,GAClB,CAyEoBD,CAAUjB,EAAW,EACnC7uJ,WAAW,IAEbtnB,cAAA,KAAGgB,UAAU,kBAAiBd,SAAC,eAC7B2wG,IACA7wG,cAAAC,WAAA,CAAAC,SACG6gG,EACC3gG,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdsmB,cAAe,MACfpmB,cAAe,CACbt7C,aAAc,OACduK,aAAc,MACd0I,OAAQ,OACRyK,gBAAiB,mBACjBlM,OAAQ,8BAEVkqC,cACuB,qBAArBinI,GAEF/mI,aAAc,kBAlH1BmtI,EAAsB,SACtBl1I,GAAkBkxC,EAiH2B,IAGnCzxF,eAAC+wE,KAAS,CACRnwE,UAAU,aACVwH,MAAOktL,EACPtkH,aAAcA,GACd5xD,QAASqxF,GACTt/B,QAAQ,KACRyV,aAAW,EACXyX,YAAU,EACVq4F,gBAAgB,OAChBtlH,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLm5C,aAAY3Q,GACZx9D,KAAM,SAACmV,EAAc2J,GACnB,OACEpiB,cAACsuE,GAAgB,CACfpmB,aAAc,iBACdC,kBACE,uDAEFO,aAAc,WACZstI,GAAa5zK,EAAQjY,UACrB6qC,IAAuB,EACzB,GAGN,EACAn0C,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACoyL,EAAUtzK,GAAO,OAAKA,EAAQjY,SAAW,CAAC,EACjDtJ,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAGnCliF,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,kBACA,kBAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,kBACA,kBAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4EAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,kBACA,mBAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,0BACA,0BAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,0BACA,0BAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oDAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,0BACA,2BAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,4BACA,4BAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,4BACA,4BAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0DAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,4BACA,6BAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,eACA,eAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,eACA,eAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0DAIjCoD,KAAM+vI,GACNxyI,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SAvBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,eACA,gBAwBR/4D,cAACs4B,KAAM,CACLxR,OAAQ,WACN,OACE9mB,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,4CAA2Cd,SACxDF,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCF,cAAA,QAAMgB,UAAU,gBAAed,SAAC,gBAY1C,EACAoD,KAlQW,SAACmV,EAAc2J,GACxC,OACEpiB,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACsuE,GAAgB,CACfpmB,aAAc,cACdC,kBACE,0DAEFO,aAAc,kBA1BQ,SAACytH,GAC7Bz8F,GAAsB,GACtB08F,EAAcD,EAChB,CAuB4BkC,CAAsBj2J,EAAQjY,SAAS,KAInE,EAuPgB+9E,YAAY,UAKlBloF,cAAAC,WAAA,CAAAC,SACEE,eAAC+wE,KAAS,CACR3oE,MAAOktL,EACP10L,UAAU,aACVowE,aAAcA,GACd5xD,QAASqxF,GACTt/B,QAAQ,KACRktB,YAAU,EACVq4F,gBAAgB,OAChBtlH,iBAAiB,SAAQtxE,SAAA,CAEzBF,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACoyL,EAAUtzK,GAAO,OAAKA,EAAQjY,SAAW,CAAC,EACjDtJ,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEnCliF,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,kBACA,kBAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,kBACA,kBAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4EAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,kBACA,mBAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,0BACA,0BAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,0BACA,0BAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oDAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,SAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,0BACA,2BAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,4BACA,4BAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,4BACA,4BAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0DAIjCW,MAAO,CAAEohF,SAAU,EAAGC,UAAW,QAtBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,4BACA,6BAuBR/4D,cAACs4B,KAAM,CAMLw6E,UACgC,OAA9B72E,GAAQ7Q,aAAa2tC,KACjB,eACA,eAENlpD,MACgC,OAA9BosB,GAAQ7Q,aAAa2tC,KACjB,eACA,eAENjyC,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0DAIjCoD,KAAM+vI,GACNxyI,MAAO,CAAEohF,SAAU,EAAGC,UAAW,QAvBD,OAA9BjmD,GAAQ7Q,aAAa2tC,KACjB,eACA,uBA4BlB/4D,cAACgnB,IAAM,CACLF,OAAO,UACPI,QAAS6tB,GACTl0C,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCkQ,OA7XFnnB,eAAA,OAAAF,SAAA,CACEF,cAACwnB,IAAM,CACLhmB,MAAM,KACNoV,KAAK,cACLhB,QAAS,kBAAMo/B,IAAuB,EAAM,EAC5Cn0C,MAAO,CAAEkf,OAAQ,QACjB/e,UAAU,kBAEZhB,cAACwnB,IAAM,CACLhmB,MAAM,MACNoV,KAAK,cACLhB,QAAS,kBAAM+gL,GAAaZ,GAAWE,GAAa,EACpDp1L,MAAO,CAAEkf,OAAQ,QACjB5K,WAAS,OAiXXkS,OAAQ,kBAAM2tB,IAAuB,EAAM,EAAC90C,SAE5CF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAAC+b,KAAW,CACV6nB,QAAQ,cACRp7B,MAAOytL,GACPj5K,IAAK,EACLC,IAAa,OAARy4K,QAAQ,IAARA,OAAQ,EAARA,EAAUztL,OACfo5C,cAAe,SAACl1C,GACVA,EAAE3D,QAAiB,OAARktL,QAAQ,IAARA,OAAQ,EAARA,EAAUztL,SACvBiuL,GAAgB/pL,EAAE3D,MAEtB,QAINxI,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUiU,EACV5T,aA5bc,SAAC8+B,IApIrB,SAAiB3jD,GACf,IAAM86J,EAAMrB,EACNsB,EAAWtB,EAASA,EAASztL,OAAS,GACxCrE,EAAuBq4B,EAC3B,QAAgB17B,GAAZy2L,EAAuB,CACzB,IAAIr+K,EAAqC,CACvCyhB,SAAUx2B,EACVk3B,OAAQl3B,EAAKiH,WACbosL,OAAQD,EAASC,OAAS,EAC1Bp8J,SAAUm8J,EAASn8J,SAAW,EAC9BuyE,aAAc,WACdkpF,aAActmD,EACdumD,aAAc,8CAEhBQ,EAAIjuL,KAAK6P,EACX,KAAO,CACL,IAAIA,EAAqC,CACvCyhB,SAAUx2B,EACVk3B,OAAQl3B,EAAKiH,WACbosL,OAAQ,EACRp8J,SAAU,EACVuyE,aAAc,WACdkpF,aAActmD,EACdumD,aAAc,8CAEhBQ,EAAIjuL,KAAK6P,EACX,CACAg9K,EAAWjtL,YAAKquL,IAChBp2I,GAAkBkxC,EACpB,CAwGEqlG,CAAQt3G,EAAMh8E,KAChB,EA2bM4U,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAemxC,EACflxC,iBAAkBA,IAEpB3gD,cAAC8pB,KAAK,CAAC1U,IAAKqP,MAGlB,E,kBC5sBa0yK,GAAqB,SAAC13L,GACjC,IAAMglB,EAAQ4D,iBAAY,MAClB6yB,EAAW5oC,KAAX4oC,OACR1jC,EAA0CC,oBAAS,GAAMC,EAAApB,YAAAkB,EAAA,GAAlDkpC,EAAahpC,EAAA,GAAEipC,EAAgBjpC,EAAA,GACtCgJ,EAAkDjJ,mBAAS,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAvDixE,EAAiBhxE,EAAA,GAAEixE,EAAoBjxE,EAAA,GAC9CG,EAAoCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAhD60D,EAAU50D,EAAA,GAAE6zC,EAAa7zC,EAAA,GAChCgB,EAAoCtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAArDq1K,EAASp1K,EAAA,GAAEq1K,EAAcr1K,EAAA,GAChCC,EAA8BxK,mBACe,SAA3C1U,OAAOC,aAAaC,QAAQ,YAC7Bif,EAAA5L,YAAA2L,EAAA,GACDyG,GAHcxG,EAAA,GAAYA,EAAA,GAGIzK,oBAAkB,IAAKkR,EAAArS,YAAAoS,EAAA,GAA9ClJ,EAAOmJ,EAAA,GAAE3H,EAAU2H,EAAA,GAE1Bnc,qBAAU,WACRkZ,GACF,GAAG,IACH,IAAMA,EAAU,WACdkvC,EAAalsD,YAAKjJ,EAAM63L,iBACQ,IAA5B73L,EAAMgL,WAAWilB,QACnB2nK,GAAe,EAEnB,EAiCE,SAEav4F,IAAS,OAAApD,EAAAv3F,MAAC,KAADC,UAAA,UAAAs3F,IAevB,OAfuBA,EAAAt5F,YAAAC,IAAAC,MAAxB,SAAAiC,IAAA,IAAAo3F,EAAA1/D,EAAA,OAAA55B,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OASI,GARuB,IAArB6uF,GACFC,EAAqB,IAGvBjxC,GAAkBD,GACdi7C,EAAM,CACRtrE,cAAc,EACdD,OAAQ,mBAEN5Q,EAAQ,CAADhb,EAAA1B,KAAA,eAAA0B,EAAA1B,KAAA,EACW2vD,EAAekpC,GAAK,KAAD,EAAnC1/D,EAAOz3B,EAAAT,KACX6wD,EAAc34B,GACdjb,GAAYxB,GAAS,wBAAAhb,EAAAP,OAAA,GAAAM,EAAA,MAExBJ,MAAA,KAAAC,UAAA,CAED,IAeM67I,EAAW,eAAA99I,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,OAAAvB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC9BrD,EAAMmL,UAAUC,YAAcjH,EAAKiH,aACrCpL,EAAM83L,aAAa3zL,GACnBnE,EAAM6kC,eAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GAC9B2qB,GAAS,IACZtyB,UAAWhH,GAAI,IAEbnE,EAAM+3L,yBACR/3L,EAAM+3L,wBAAwB5zL,IAGlC+8C,GAAiB,GAAO,wBAAA/9C,EAAAqB,OAAA,GAAA1B,EAAA,KACzB,gBAZgB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAiKjB,OAJAoI,qBAAU,WACRpH,QAAQe,IAAI,CAAEm8B,GAAI7iC,EAAM+lB,UAC1B,GAAG,CAAC/lB,EAAM+lB,WAGRplB,eAAA,OAAAF,SAAA,CACGk3L,GAnJDh3L,eAAA,OAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,kBAAiBd,SAAET,EAAMgwD,EAAE,aACxCrvD,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,kBAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,8EAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,YACE9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMq7C,QAAQ/vC,cAGpBq9C,cAAe,CAAEzyC,MAAO,QACxB6yC,eAAe,MAGnBxoD,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,SAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,oCAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMq7C,QAAQ9vC,OACdvL,EAAMq7C,QAAQya,OAEpB/M,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAK9BvV,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,aAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,sDAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WACE9oD,EAAMg4L,oBACFh4L,EAAMq7C,QAAQgkB,QACU,OAAxBr/D,EAAM+lB,SAASuzC,KACft5D,EAAMq7C,QAAQ5vC,eACdzL,EAAMq7C,QAAQyc,eAEpB/O,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,YAG5B3V,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,aAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,sDAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMq7C,QAAQge,eACdr5D,EAAMq7C,QAAQ+d,eAEpBrQ,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAI9BvV,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,eAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,4DAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMq7C,QAAQ3vC,iBACd1L,EAAMq7C,QAAQ2c,iBAEpBjP,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,YAG5B3V,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,UAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,0CAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,YACE9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMq7C,QAAQ7vC,OAGpBu9C,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAI9B3V,cAAA,OAAKgB,UAAU,iCAWjBhB,cAAC4U,KAAO,CAAClC,OAAO,YAChBtS,eAAA,KAAGY,UAAU,kBAAiBd,SAAA,CAAC,IAAET,EAAMgwD,EAAE,gBACzCrvD,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,kBAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,8EAIhDF,cAACK,KAAG,CACFC,GAAI,GACJG,GAAI,EACJE,GAAI,GACJiV,QAAUnW,EAAMgS,WAAyBqtF,OAAZv+F,EAAsBL,SAEnDF,cAACk7C,EAAM,CACL/nC,UAAW1T,EAAMgS,WACjBmB,UAAQ,EACRpK,OACE/I,EAAM+lB,SAASuzC,KACXt5D,EAAMmL,UAAUG,cAGtB/J,UAAU,4BACV+R,YAAY,OAGhB/S,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,SAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,oCAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMmL,UAAUI,OAChBvL,EAAMmL,UAAU2qD,OAEtB/M,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAK9BvV,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,aAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,sDAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WACE9oD,EAAMg4L,oBACFh4L,EAAMmL,UAAUk0D,QACQ,OAAxBr/D,EAAM+lB,SAASuzC,KACft5D,EAAMmL,UAAUM,eAChBzL,EAAMmL,UAAU2sD,eAEtB/O,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,YAG5B3V,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,aAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,sDAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMmL,UAAUkuD,eAChBr5D,EAAMmL,UAAUiuD,eAEtBrQ,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAI9BvV,eAACuxC,KAAG,CAAC3wC,UAAU,wBAAuBd,SAAA,CACpCF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,eAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,4DAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,WAC0B,OAAxB9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMmL,UAAUO,iBAChB1L,EAAMmL,UAAU6sD,iBAEtBjP,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,YAG5B3V,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,8BAA6Bd,SAAC,UAC3CF,cAAA,KAAGgB,UAAU,6BAA4Bd,SAAC,0CAIhDF,cAACK,KAAG,CAACC,GAAI,GAAIG,GAAI,EAAGE,GAAI,GAAGT,SACzBF,cAAC8nD,KAAmB,CAClBW,iBAAkB,GAClBN,kBAAmB,yBACnBI,YACE9oD,EAAM+lB,SAASuzC,KACXt5D,EAAMmL,UAAUK,OAGtBu9C,eAAe,EACfJ,cAAe,CAAEzyC,MAAO,eAI9B3V,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUk1B,EACV70B,aAAcm/F,EACdznI,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeA,EACfC,iBAAkBm+C,EAClBt/E,QAASA,IAuGXxf,cAAC8pB,KAAK,CAAC1U,IAAKqP,EAAOrb,SAAS,gBAGlC,ECgJegf,GAzpB8B,SAAHjmB,GAWnC,IAVLstD,EAACttD,EAADstD,EACAzjC,EAAqB7pB,EAArB6pB,sBACAoZ,EAAwBjjC,EAAxBijC,yBAEA36B,GADatI,EAAbmiC,cACUniC,EAAVsI,YACA+a,EAAQrjB,EAARqjB,SACA/T,EAAUtP,EAAVsP,WACAia,EAAavpB,EAAbupB,cACA/Z,EAAexP,EAAfwP,gBACA+lL,EAAYv1L,EAAZu1L,aAEQhhL,EAAgBkH,cAAhBlH,YACF+N,EAAQ4D,iBAAY,MACpBjT,EAAM+8B,IAAM9pB,SACd8C,EAAgB5nB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAC7D+lB,EAAqBmC,EAAcpG,kBACrCy9B,EAAWr3B,EAAcnG,QAC7BxN,EAAsCC,mBAAc,MAAKC,EAAApB,YAAAkB,EAAA,GAAlD09J,EAAWx9J,EAAA,GAAEy9J,EAAcz9J,EAAA,GAElCgJ,EAA0CjJ,oBAAS,GAAMkJ,EAAArK,YAAAoK,EAAA,GAAlDs1J,EAAar1J,EAAA,GAAEs1J,EAAgBt1J,EAAA,GACtCG,EAA0BrJ,mBAAS,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA/BtY,EAAKuY,EAAA,GAAEqE,EAAQrE,EAAA,GACtBgB,EAA0CtK,oBAAS,GAAMuK,EAAA1L,YAAAyL,EAAA,GAAlD4yJ,EAAa3yJ,EAAA,GAAEyyJ,EAAgBzyJ,EAAA,GAEtCC,EAAgCxK,qBAAeyK,EAAA5L,YAAA2L,EAAA,GAA9BgzJ,GAAF/yJ,EAAA,GAAaA,EAAA,IAC5BwG,EAAgCjR,qBAAekR,EAAArS,YAAAoS,EAAA,GAA9B0sJ,GAAFzsJ,EAAA,GAAaA,EAAA,IAC5BC,EAAsCnR,mBAAS,IAAGoR,EAAAvS,YAAAsS,EAAA,GAA3C5V,EAAW6V,EAAA,GAAEurJ,EAAcvrJ,EAAA,GAElC2I,GAAwC/Z,mBAAgB,IAAGga,GAAAnb,YAAAkb,GAAA,GAApDmmK,GAAYlmK,GAAA,GAAEmmK,GAAenmK,GAAA,GACpCG,GAAoCna,mBAAiB,GAAEoa,GAAAvb,YAAAsb,GAAA,GAAhDimK,GAAUhmK,GAAA,GAAEimK,GAAajmK,GAAA,GAChCG,GAAoDva,qBAAkBwa,GAAA3b,YAAA0b,GAAA,GAA/DkkJ,GAAkBjkJ,GAAA,GAAE8lK,GAAqB9lK,GAAA,GAChDG,GAAkC3a,oBAAkB,GAAM4a,GAAA/b,YAAA8b,GAAA,GAAnD+1C,GAAS91C,GAAA,GAAE+1C,GAAY/1C,GAAA,GAC9BG,GAA0C/a,oBAAkB,GAAMgb,GAAAnc,YAAAkc,GAAA,GAA3DlO,GAAamO,GAAA,GAAElO,GAAgBkO,GAAA,GACtCG,GAAoCnb,mBAAc,CAAC,GAAEob,GAAAvc,YAAAsc,GAAA,GAA9ColK,GAAUnlK,GAAA,GAAEolK,GAAaplK,GAAA,GAiBT,SAAA+lE,KAItB,OAJsBA,GAAAx2F,YAAAC,IAAAC,MAAvB,SAAAsC,IAAA,IAAAo3J,EAAA,OAAA35J,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACuBuqD,eAAoC,KAAD,EAAlD2uG,EAAMn3J,EAAAd,KAEZk0L,GAAcj8B,GAAQ,wBAAAn3J,EAAAZ,OAAA,GAAAW,EAAA,MACvBT,MAAA,KAAAC,UAAA,CApBDoI,qBAAU,WACRpH,QAAQe,IAAIqf,EAAU,YACtBpgB,QAAQe,IAAIglB,EAAe,YAC3B/lB,QAAQe,IAAIsE,EAAY,YACxBrF,QAAQe,IAAI6lB,EAAuB,YAU9B,WAEgB4sE,GAAAz0F,MAAC,KAADC,UAAA,CAXrB8zL,GAEA,IAKMC,EALansK,EAAsBnjB,KAAI,SAACsD,GAAM,OAClD6f,EAAsB/jB,OAAS,EAC3B,CAAEsJ,KAAMpF,EAAE+jG,YAAan+B,IAAK5lE,EAAE0uB,UAC9B,CAAEtpB,KAAM,GAAIwgE,IAAK,EAAG,IAEG75D,QAAO,SAAC/L,GAAM,OAAe,IAAVA,EAAE4lE,GAAS,IAC3D6lH,GAAgBO,EAClB,GAAG,IAOH,IAQMpqF,GAAc,SAACnqG,GACnB,OATqB,SAAC4E,GACtB,GAAa,MAATA,EACF,MAAO,GAEP,IAAIwlG,EAAYhlG,KAAOR,EAAO,uBAC9B,OAAOQ,KAAOglG,GAAWplG,OAAO,cAEpC,CAESgI,CAAehN,EACxB,EAEMm0K,GAAU,WACdrhK,EAAY,CACV1D,YAAY,iCACZkC,QAAQ,eACRzT,KAAM,SAEV,EACA+K,qBAAU,WACRpH,QAAQe,IAAIuxL,EAAc,eAC5B,GAAG,IAEH,IAAM7xI,GAAY,eAAAvhD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,EAAO4J,GAAM,IAAAo4C,EAAAyzH,EAAAlyJ,EAAA7S,EAAAmlL,EAAA5wL,EAAA,OAAAnF,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC5ByhD,EAAWp4C,EAAEuG,OAAOlK,MACpBwvK,EAAWzzH,EAASl7C,MAAM,MAAM6C,MAC9B4Z,EAAQ3Z,EAAEuG,OAAOoT,MACjB7S,EAAYC,SAAS8kL,GAAWz3H,eAChC63H,EAAQ,GACL5wL,EAAI,EAAE,KAAD,OAAEA,EAAIse,EAAM7d,QAAM,CAAArF,EAAAE,KAAA,cAC1BgjB,EAAMte,GAAGsL,MAAQG,GAAS,CAAArQ,EAAAE,KAAA,SAMH,OALzB4T,EAAY,CACV1D,YAAY,sCAAD/R,OAAwCm3L,EAAK,qBAAAn3L,OAAoB6kB,EAAMte,GAAG+J,MACrF2D,QAAQ,qBACRzT,KAAM,YAER2T,EAAI+xB,QAAQ3+B,MAAQ,KAAK5F,EAAAoB,OAAA,kBAPKwD,IAAG5E,EAAAE,KAAA,gBAYrCqyK,EAAehpK,EAAEuG,OAAOoT,OACxBmvJ,EAAY+C,GACZ5C,EAAY7wH,GAAU,yBAAA3hD,EAAAqB,OAAA,GAAA1B,EAAA,KACvB,gBArBiB2B,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAoCS,SAAAkzK,KAmD1B,OAnD0BA,GAAAl1K,YAAAC,IAAAC,MAA3B,SAAA2C,IAAA,IAAAuC,EAAA4e,EAAAmxJ,EAAAC,EAAAC,EAAAC,EAAArxJ,EAAA3iB,EAAA,OAAArB,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,UACsB,OAAhBoyK,EAAoB,CAAAhwK,EAAApC,KAAA,SACtBslE,IAAa,GACJ5gE,EAAI,EAAE,KAAD,OAAEA,EAAI0tK,EAAYjtK,QAAM,CAAA/C,EAAApC,KAAA,SAWF,OAT5B00K,GADAD,EAAiBvrJ,GACSurJ,EAAetvK,OAAS,GAClDwvK,EAAUzuK,KAAO,IAAI2R,MAAQ/R,OAAO,uBACtC8uK,EAAU3pK,OAAOoxF,OAAO,CAAC,EAAGq4E,IAC1BnxJ,EAAW,IAAIE,UACZC,OAAO,QAAS0uJ,EAAY1tK,IACrC6e,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU/b,EAAW0mL,iBACrC9qK,EAASG,OAAO,WAAYxT,GAC5BqT,EAASG,OAAO,UAAWhB,EAAS3a,YACpCzF,QAAQe,IAAIkgB,EAAU,YAAYnhB,EAAApC,KAAA,GAERuK,aAAsBgZ,GAAU,KAAD,GAArD3iB,EAAawB,EAAAnB,MACa,KAAb,QAAbqiB,EAAA1iB,EAASE,YAAI,IAAAwiB,OAAA,EAAbA,EAAejhB,SAEfuyK,EAAQ9nE,YADN5mF,EAEAA,EAAqB,GAAKtlB,EAASE,KAAK8iB,QAEpBhjB,EAASE,KAAK8iB,QAEtCgxJ,EAAQ78I,SAAW,EACnB68I,EAAQ2gB,QAAU5tL,EAAWilB,OAC7BgoJ,EAAQvnE,MAAQ3qF,EAChBkyJ,EAAQtnE,YAAcqnE,EACtBC,EAAQxnE,YAAcxsG,EAASE,KAAK4hF,SACpCkyF,EAAQ4gB,cAAe,EACvB5gB,EAAQlD,cAAgBiD,EACxBC,EAAQoa,YAActsK,EAAS3a,WAAWC,WAC1C4sK,EAAQ1kK,YAAcA,EACtBukK,EAAezuK,KAAK4uK,GACpBtyI,EAAwB18B,YAAK6uK,KAE7BQ,KACD,QAlCqCvwK,IAAGtC,EAAApC,KAAA,gBAoC3CslE,IAAa,GACb+sG,EAAe,MACf/vJ,EAAS,IACTgvJ,EAAe,IACfh/J,EAAI+xB,QAAQ3+B,MAAQ,KAAKtD,EAAApC,KAAA,iBAEzB4T,EAAY,CACV1D,YAAY,sBACZkC,QAAQ,uBACRzT,KAAM,YACL,yBAAAyD,EAAAjB,OAAA,GAAAgB,EAAA,MAENd,MAAA,KAAAC,UAAA,CACD,IAAMmjB,GACJvnB,cAAA,OAAAE,SACEF,cAACwnB,IAAM,CACLhmB,MAAM,KACNoU,QAAS,WACP2O,IAAiB,EACnB,MAiEN,OAVA/X,qBAAU,WACRmrL,GAAa9uL,KAAI,SAACN,GAChByjB,EAAsBnjB,KAAI,SAACsD,GACrBA,EAAE+jG,cAAgB3nG,EAAKgJ,OACzBpF,EAAE0uB,SAAWtyB,EAAKwpE,IAEtB,GACF,GACF,GAAG,CAAC4lH,GAAc3rK,IAGhB5rB,eAAA,OAAAF,SAAA,CA3DEF,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLnmB,MAAO,CAAE8U,MAAO,OAAQ/I,SAAU,QAClCka,OAAO,cACPI,QAAS5C,GACT8C,OAAK,EACLG,OAAQA,GACRD,WAAW,EACXle,SAAU,MACVie,OAAQ,WACN9C,IAAiB,EACnB,EAAErkB,SAEFF,cAAA,SAAOgB,UAAU,6BAA4Bd,SAC1C83L,GAAW52H,oBA+ClBphE,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACX0jD,IACCnoE,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAKupC,GAAatpC,IAAI,iBAG/BvlD,eAAA,OAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,kBAAiBd,SAAEuvD,EAAE,gBAClCzvD,cAAA,OAAKgB,UAAU,SAAQd,SACrBE,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAAA,OAAKY,UAAU,GAAEd,SAAA,CACfE,eAAA,QAAMY,UAAU,mBAAkBd,SAAA,CAAEuvD,EAAE,eAAe,SACrDrvD,eAAA,OAAKY,UAAU,oCAAmCd,SAAA,CAChDF,cAAC+U,KAAK6S,QAAO,CACXxS,IAAKA,EACLzC,GAAG,cACHlR,KAAK,OACLomB,OAAO,IACPpV,SAAU,SAACtG,GAAC,OAAK05C,GAAa15C,EAAE,EAChCwjF,UAAQ,EACR3uF,UAAU,gCACV+R,YAAY,UAEd/S,cAACu4L,KAAS,CACR3iL,QAAS,WACP2O,IAAiB,EACnB,EACAvjB,UAAU,4CAIhBZ,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BE,eAAA,QAAMY,UAAU,YAAWd,SAAA,CAAEuvD,EAAE,eAAe,SAC9CrvD,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BF,cAACioB,IAAS,CACR9U,UAAW1B,EACXjJ,MAAOA,EACPiK,SAAU,SAACtG,GACTiZ,EAASjZ,EAAEuG,OAAOlK,OAClB4rK,EAAejoK,EAAEuG,OAAOlK,MAC1B,EACAxH,UAAU,mEAEZZ,eAAConB,IAAM,CACL7U,GAAG,SACH3R,UAAU,qDACV4U,QA9Kf,WAE0B,OAAA0hK,GAAAnzK,MAAC,KAADC,UAAA,EA4KWlE,SAAA,CAEtBF,cAACo4K,KAAQ,IACR3oH,EAAE,2BAQfzvD,cAAA,OAAAE,SACEF,cAAA,OAAAE,UACwB,OAArB8rB,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB/jB,QAAS,GAC/B7H,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,kBACtCE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BE,eAAA,OAAKY,UAAU,UAASd,SAAA,CACtBF,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,MAAAE,SAAI,QAENF,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAA,MAAAE,SAAI,WAENF,cAAA,OAAKgB,UAAU,UAASd,SACtBF,cAAA,MAAAE,SAAI,oBAENF,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,MAAAE,SAAI,kBAENF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,MAAAE,SAAI,eAENE,eAAA,OAAKY,UAAU,WAAUd,SAAA,CACvBF,cAAA,MAAAE,SAAI,UACJF,cAAA,OAAKgB,UAAU,mBAEjBhB,cAAA,OAAKgB,UAAU,YAAWd,SACxBF,cAAA,MAAAE,SAAI,iBAGc,OAArB8rB,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB/jB,QAAS,GAC/B+jB,EAAsBnjB,KAAI,SAACisK,EAAiB77J,GAAW,IAAAu/K,EAAA,OACrDp4L,eAAA,OAAKY,UAAU,WAAUd,SAAA,CACvBF,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,KAAAE,SAAc+Y,EAAM,GAAZA,KAEVjZ,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,KAAAE,SAAI6tG,GAAY+mE,EAAW1kE,iBAE7BpwG,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAAC,WAAA,CAAAC,SACEF,cAAA,UACEgB,UAAU,6BACV4U,QAAOxT,YAAAC,IAAAC,MAAE,SAAAiC,IAAA,IAAAilB,EAAA5E,EAAA2E,EAAAomF,EAAA8oF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAj9H,EAAAk9H,EAAAC,EAAAznL,EAAA0nL,EAAAC,EAAAx1L,EAAAy1L,EAAA3xL,EAAA6xB,EAAA+/J,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3/J,EAAA4/J,EAAAzyL,EAAAwvF,EAAA,OAAA50F,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAiBkC,OAhBnC0mB,EAAQE,SAASE,KACD,mBAAlBF,SAASC,MACPH,IACFg5B,EACEr3B,EAAcnG,QAAU,IAAMwE,GAGhC5E,EAAO,GACL2E,EAAWxmB,OAAO2mB,SAASH,SAC3BomF,EAAamlE,EAAWllE,YACW,MAArCklE,EAAWllE,YAAYnmF,OAAO,GAC5B,IAAMqrJ,EAAWllE,YACjBklE,EAAWllE,YACb,GACE6oF,EACJ3jB,EAAWllE,YAAYvmG,MAAM,MAAQ,GACvCjE,QAAQe,IAAI6iB,EAAoB,SAASxkB,EAAA1B,KAAA,EAEjCwqD,eAAuC,KAAD,EADb,GAA3BorI,EAA2Bl0L,EAAAT,KAE5BilB,EAAmB,CAADxkB,EAAA1B,KAAA,SAsBb,OArBF+1L,EAAWJ,EAAU,IAAM,GAC3BK,EAAUL,EAAU,IAAM,GAC1B58H,EAAW48H,EAAU,IAAM,GAC3BM,EAAYl9H,EAASpyB,YAAY,KACnCuvJ,EAAYn9H,EAASpyD,UACvBsvL,EAAY,GAERxnL,EAAOsqD,EAASpyD,UAAU,EAAGsvL,GACnCn0K,EAAO,GAAA3jB,OAAGsoB,EAAQ,MAAOi5B,EAAWmtD,EACpCvqG,QAAQe,IAAI,2BAA4B,CACtCojB,WACAi5B,WACAmtD,aACA8oF,cAGIQ,EACS,OAAbvtK,QAAa,IAAbA,GAA4B,QAAfitK,EAAbjtK,EAAe2D,qBAAa,IAAAspK,OAAf,EAAbA,EAA8BtvL,MAAM,KAChC6vL,GACY,OAAhBD,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBhxL,SAAU,EACxBgxL,EAAiB,GACjB,GAAEz0L,EAAA1B,KAAA,GACekkE,GAAqB,CAC1Cn8D,WAAY2a,EAAS3a,aACpB,KAAD,GAFInH,EAAQc,EAAAT,KAGVo1L,GAAc,EACT3xL,EAAI,EAAE,KAAD,QAAEA,EAAI9D,EAASuE,QAAM,CAAAzD,EAAA1B,KAAA,SACL,GACJ,KAAb,QADLu2B,EAAU31B,EAAS8D,UACd,IAAP6xB,OAAO,EAAPA,EAAS8gK,QAAY,CAAA31L,EAAA1B,KAAA,SACJ,OAAnBq2L,GAAc,EAAK30L,EAAAR,OAAA,oBAGnBm1L,GAAc,EAAM,QANa3xL,IAAGhD,EAAA1B,KAAA,iBASpCs2L,GAAgB,EAChB1B,IAGkB,QAFd2B,EACJ3B,EAAajsJ,OAAOpiC,MAAM,YACR,IAAhBgwL,OAAgB,EAAhBA,EAAkBpxL,QAAS,GAC7BoxL,EAAiBxwL,KAAI,SAACwc,GAElBT,EAAKja,cAAcyE,SAASiW,KAE5B+zK,GAAgB,EAEpB,IAGAD,GAEOC,EADTr2L,OAAOqe,KAAKwD,EAAM,SAAU,cAIe,OAAjC,OAAVna,QAAU,IAAVA,GAAsB,QAAZmuL,EAAVnuL,EAAYu5G,kBAAU,IAAA40E,OAAZ,EAAVA,EAAwBwB,gBAExBr3L,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,gCAAAvhD,OAA+B43L,EAAQ,aAAA53L,OAAY63L,EAAO,SAAA73L,OAAQ+3L,EAAS,UAAA/3L,OAASsQ,GAC5G,SACA,cAIA,SADoB,OAAtB2nL,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBvuL,gBAEJ,QAApBgH,EAEA5O,OAAOqe,KAAKwD,EAAM,SAAU,cAED,OAA3B8zK,QAA2B,IAA3BA,KAA6B2B,wBAE7Bt3L,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,gCAAAvhD,OAA+B43L,EAAQ,aAAA53L,OAAY63L,EAAO,SAAA73L,OAAQ+3L,EAAS,UAAA/3L,OAASsQ,GAC5G,SACA,cAGFxO,OAAOqe,KAAKwD,EAAM,SAAU,cAC7BpgB,EAAA1B,KAAA,iBAqCA,OAjCK+1L,EAAWJ,EAAU,IAAM,GAC3BK,EAAUL,EAAU,IAAM,GAC1B58H,EAAW48H,EAAU,IAAM,GAC3BM,EAAYl9H,EAASpyB,YAAY,KACnCuvJ,EAAYn9H,EAASpyD,UACvBsvL,EAAY,GAERxnL,EAAOsqD,EAASpyD,UAAU,EAAGsvL,GACnCn0K,EAAO+qF,EAEP/qF,EAC2B,MAAzB+qF,EAAWlmF,OAAO,GACdkmF,EAAWlmG,UAAU,GACrBkmG,EACAspF,EACS,OAAbvtK,QAAa,IAAbA,GAA4B,QAAf4tK,EAAb5tK,EAAe2D,qBAAa,IAAAiqK,OAAf,EAAbA,EAA8BjwL,MAAM,KAChC6vL,GACY,OAAhBD,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBhxL,SAAU,EACxBgxL,EAAiB,GACjB,GACFG,GAAgB,EAChB1B,IAGkB,QAFd2B,EACJ3B,EAAajsJ,OAAOpiC,MAAM,YACR,IAAhBgwL,OAAgB,EAAhBA,EAAkBpxL,QAAS,GAC7BoxL,EAAiBxwL,KAAI,SAACwc,GAElBT,EAAKja,cAAcyE,SAASiW,KAE5B+zK,GAAgB,EAEpB,IAEH50L,EAAA1B,KAAA,GAEsBkkE,GAAqB,CAC1Cn8D,WAAY2a,EAAS3a,aACpB,KAAD,GAFInH,EAAQc,EAAAT,KAGVo1L,GAAc,EACT3xL,EAAI,EAAE,KAAD,QAAEA,EAAI9D,EAASuE,QAAM,CAAAzD,EAAA1B,KAAA,SACL,GACJ,KAAb,QADLu2B,EAAU31B,EAAS8D,UACd,IAAP6xB,OAAO,EAAPA,EAAS8gK,QAAY,CAAA31L,EAAA1B,KAAA,SACJ,OAAnBq2L,GAAc,EAAK30L,EAAAR,OAAA,oBAGnBm1L,GAAc,EAAM,QANa3xL,IAAGhD,EAAA1B,KAAA,iBAUpCq2L,GAEOC,EADTr2L,OAAOqe,KAAKwD,EAAM,SAAU,cAIe,OAAjC,OAAVna,QAAU,IAAVA,GAAsB,QAAZ8uL,EAAV9uL,EAAYu5G,kBAAU,IAAAu1E,OAAZ,EAAVA,EAAwBa,gBAExBr3L,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,gCAAAvhD,OAA+B43L,EAAQ,aAAA53L,OAAY63L,EAAO,SAAA73L,OAAQ+3L,EAAS,UAAA/3L,OAASsQ,GAC5G,SACA,cAIA,SADoB,OAAtB2nL,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBvuL,gBAEJ,QAApBgH,EAEA5O,OAAOqe,KAAKwD,EAAM,SAAU,cAED,OAA3B8zK,QAA2B,IAA3BA,KAA6B2B,wBAE7Bt3L,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,gCAAAvhD,OAA+B43L,EAAQ,aAAA53L,OAAY63L,EAAO,SAAA73L,OAAQ+3L,EAAS,UAAA/3L,OAASsQ,GAC5G,SACA,cAGFxO,OAAOqe,KAAKwD,EAAM,SAAU,cAC7B,yBAAApgB,EAAAP,OAAA,GAAAM,EAAA,KAGL1D,MAAO,CAAEkM,MAAO,WAAY7M,SAE3B40K,EAAW5kE,kBAIlBlwG,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,KAAAE,SAAI40K,EAAW9hK,gBAGjBhT,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,KAAAE,SACqB,OAAlBslB,EAASuzC,KACN+7G,EAAW3kE,MAAMnlG,OACjB8pK,EAAW3kE,MAAM56C,WAGzBv1D,cAAA,OAAKgB,UAAU,kBAAiBd,SACnB,OAAV40K,QAAU,IAAVA,KAAY5kE,YACVvlG,cACAyE,SAAS,OACVpP,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAACq2G,KAAK,CACJtB,MACE+/D,EAAWj6I,SACPi6I,EAAWj6I,SAGV,QAHkB29J,EACnBb,GAAav3K,MACX,SAACjU,GAAC,OAAKA,EAAEoF,OAASujK,EAAW5kE,WAAW,WACzC,IAAAsoF,OAAA,EAFDA,EAEGzmH,IAETj/D,KAAK,QAAO5S,SAEZF,cAACqiB,KAAQ,CACP1P,GAAIsG,EAAInO,WACR2H,SAAU,SAACtG,GACT,IAAImoK,EAActoJ,EAClBsoJ,EAAYr7J,GAAKq/K,aAAensL,EAAEkU,QAClCi0J,EAAYr7J,GAAKu7J,cAAgBxrK,KAC/B,IAAI2R,MACJ/R,OAAO,uBACTw8B,EAAwB18B,YAAK4rK,IA1WhC,SAAC10F,EAAYruE,GACxC,GAAIquE,EAAMltE,OAAO2N,QAAS,CACxB,IAAIi6K,EAAgB3C,GACpB2C,EAAcxxL,KAAK,CACjByI,KAAMA,EACNwgE,IAAKuoH,EAAcryL,OAAS,IAE9B2vL,GAAelvL,YAAK4xL,GACtB,KAAO,CACL,IAAIC,EAAU5C,GACXz/K,QAAO,SAAC/L,GAAC,OAAKA,EAAEoF,OAASA,CAAI,IAC7B1I,KAAI,SAACsD,EAAQ8M,GAMZ,MAL8C,CAC5C1H,KAAMpF,EAAEoF,KACRwgE,IAAK94D,EAAM,EAIf,IAEF+S,EAAsBnjB,KAAI,SAACsD,GACzBA,EAAE0uB,SAAW,CACf,IACA+8J,GAAgB2C,EAClB,CACF,CAkVgCC,CACEruL,EACA2oK,EAAW5kE,YAEf,EACA7vF,QACE2L,EAAsB/S,GAAKq/K,mBAMnC,MAGH7mL,IA0BmC,IAAlCia,EAAckpH,iBACdpvH,EAAS3a,aAAeiqK,EAAW3kE,MAAMtlG,aA1BzC7K,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACgkF,KAAW,CACVvzD,MAAO,CACL,CACEjvB,MAAO,mBACPoV,KAAM,eACNsiC,QAAS,WACP4+I,GAAc7+K,GACd8+K,GAAsBjjB,EAAW9hK,aACjCyhK,GAAiB,EACnB,GAEF,CACEjzK,MAAO,SACPoV,KAAM,cACNsiC,QAAS,WACP4+I,GAAc7+K,GACdg9J,GAAiB,EACnB,IAGJ/xF,aAAa,yBAkCf,cAOpBlkF,cAAC+pB,IAAa,CACZ7C,QAAS8uJ,EACT3uJ,OAAQ,kBAAM4uJ,GAAiB,EAAM,EACrC/gK,QAAQ,oCACR4R,OAAO,sBACPlQ,KAAK,6BACLoT,gBAAgB,kBAChBnC,OAniBN,WACEud,EACEpZ,EAAsB9T,QAAO,SAACyoH,EAAWhwE,GACvC,OAAOA,IAASknI,EAClB,KAEFD,GACED,GAAaz/K,QAAO,SAAC/L,EAAQ8M,GAC3B,OAAOA,IAAQ4+K,EACjB,IAEJ,EAyhBMx5K,OAAQ,kBAAM43J,GAAiB,EAAM,IAErB,GAAjBtB,GACC30K,cAACm0K,GAA0B,CACzBQ,cAAeA,EACfF,iBAAkBA,EAClBF,MAAOsjB,GACP7kL,YAAakjK,GACblqJ,sBAAuBA,EACvBoZ,yBAA0BA,MAKpC,ECvfeq1J,I,OA1Le,SAACh7L,GAC7B,IAAA+X,EAA8BC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAA1CuuG,EAAOruG,EAAA,GAAEgjL,EAAUhjL,EAAA,GAC1BgJ,EAAgCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAA5Ci6K,EAAQh6K,EAAA,GAAEi6K,EAAWj6K,EAAA,GACpB8uC,EAAMC,YAAe,CAAC,gBAAtBD,EAqKR,OApKAjjD,qBAAU,WACR,IAAMqnH,EAAc,CAClB,CACEthF,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO46C,EAAE,aACT74C,KAAM5W,cAAC66L,IAAQ,IACf3jF,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO46C,EAAE,eACT74C,KAAM5W,cAACs7G,IAAkB,IACzBpE,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO46C,EAAE,iBACT74C,KAAM5W,cAAC86L,IAAkB,IACzB5jF,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAAC80G,GAAe,CACdM,SAAU,KACV3zG,KAAK,aACL06B,YAAa18B,EAAM08B,YACnB25E,WAAY,KACZW,QAAQ,EACRv2G,SACEF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO46C,EAAE,cACT74C,KAAM5W,cAAC+6L,KAAY,IACnB7jF,KAAM,EACNgV,QAASzsH,EAAMysH,QACfhsH,SAAU,WAShB86L,EAAwB,CAC5B,CACEzoJ,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1CyK,KAAM5W,cAAC66L,IAAQ,IACf3jF,KAAM,EACNriG,MAAO,GACPq3G,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1CyK,KAAM5W,cAACs7G,IAAkB,IACzBzmG,MAAO,GACPqiG,KAAM,EACNgV,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1CyK,KAAM5W,cAAC86L,IAAkB,IACzB5jF,KAAM,EACNriG,MAAO,GACPq3G,QAASzsH,EAAMysH,WAIrB,CACE35E,UACEvyC,cAAC80G,GAAe,CACdM,SAAU,KACV3zG,KAAK,aACL06B,YAAa18B,EAAM08B,YACnB25E,WAAY,KACZc,UAAU,QACVD,OAAQ,CAAC,EAAG,IACZz2G,SACEF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1CyK,KAAM5W,cAAC+6L,KAAY,IACnB7jF,KAAM,EACNriG,MAAO,GACPq3G,QAASzsH,EAAMysH,mBAQJ3rH,IAAnBd,EAAMw7L,UAA6C,IAAnBx7L,EAAMw7L,WACxCpnE,EAAY/qH,KAAK,CACfypC,UACEvyC,cAAC80G,GAAe,CACdM,SAAU,KACV3zG,KAAK,UACL06B,YAAa18B,EAAM08B,YACnB25E,WAAY,KACZW,QAAQ,EACRv2G,SACEF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1C0I,MAAO46C,EAAE,WACT74C,KAAM5W,cAACk7L,IAAgB,IACvBhkF,KAAM,EACNgV,QAASzsH,EAAMysH,QACfhsH,SAAU,WAMpB86L,EAAsBlyL,KAAK,CACzBypC,UACEvyC,cAAC80G,GAAe,CACdrzG,KAAK,UACL06B,YAAa18B,EAAM08B,YACnB25E,WAAY,KACZc,UAAU,QACVD,OAAQ,CAAC,EAAG,IACZvB,SAAU,KACVl1G,SACEF,cAACwnB,GAAM,CACL2kG,aAAc,SAAChgH,GAAC,OAAK1M,EAAM0sH,aAAahgH,EAAE,EAC1CyK,KAAM5W,cAACk7L,IAAgB,IACvBhkF,KAAM,EACNgV,QAASzsH,EAAMysH,QACfr3G,MAAO,UAOnB6lL,EAAW,GAADz5L,OAAK4yH,IACf+mE,EAAY,GAAD35L,OAAK+5L,GAClB,GAAG,CAACv7L,EAAMw7L,SAAUx7L,EAAMysH,QAASz8D,IAGjCrvD,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OAAKgB,UAAU,6CAA4Cd,SACxD6lH,EAAQl9G,KAAI,SAACjF,EAAMqV,GAAG,OACrBjZ,cAAA,OAAAE,SAAgB0D,EAAK2uC,WAAXt5B,EAA2B,MAGzCjZ,cAAA,OAAKgB,UAAU,+CAA8Cd,SAC1Dy6L,EAAS9xL,KAAI,SAACjF,EAAMqV,GAAG,OACtBjZ,cAAA,OAAea,MAAO,CAAE0iC,QAAS,mBAAoBrjC,SAClD0D,EAAK2uC,WADEt5B,EAEJ,QAKhB,GC5KakiL,GAAmB,SAAC17L,GAC/B,IAAA+X,EAA0CC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAA3D86F,EAAa56F,EAAA,GAAEu6F,EAAgBv6F,EAAA,GACtCgJ,EAA8BjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA/C/e,EAAOgf,EAAA,GAAE2yF,EAAU3yF,EAAA,GAClB8uC,EAAMC,YAAe,CAAC,gBAAtBD,EACR,OACErvD,eAAAH,WAAA,CAAAC,SAAA,CACkB,WAAfT,EAAMgC,MACLrB,eAAA,UACEuS,GAAG,mBACH3R,UAAU,qBACVH,MAAO,CACL8U,MAAO,OACPoK,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAEnBp0G,EAAMkmC,cAAc,UACpBssE,GAAiB,GACjBqB,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAAC8zG,KAAM,IACP1zG,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE,gBAGzB,UAAfhwD,EAAMgC,MACLrB,eAAA,UACEuS,GAAG,kBACH3R,UAAU,oBACVH,MAAO,CACL8U,MAAO,QACPoK,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WACHnW,EAAMm0G,iBAAmBn0G,EAAMo0G,aACjCp0G,EAAMm0G,gBAAgB,KACtBn0G,EAAMo0G,WAAW,MAGnBp0G,EAAMkmC,cAAc,SACpBssE,GAAiB,GACjBqB,GAAW,EACb,EAAEpzG,SAAA,CAEFF,cAACm0G,IAAa,IACdn0G,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAEuvD,EAAE,oBAGrB,IAAlB6iD,GACCtyG,cAACuwG,GAAgB,CACf7+F,WAAYjS,EAAMiS,WAClB4gG,cAAeA,EACfL,iBAAkBA,EAClBtwG,QAASA,EACT+iC,aAAcjlC,EAAMilC,aACpBC,SAAUllC,EAAMklC,SAChButE,SAAUzyG,EAAMyyG,SAChBv1E,aAAcl9B,EAAMk9B,aACpBg2E,iBAAkBlzG,EAAMkzG,qBAKlC,ECjCayoF,GAAgB,SAAC37L,GAAkB,IAAD47L,EACvCp/J,EAAU14B,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACtEuU,EAAqCC,qBAAkBC,EAAApB,YAAAkB,EAAA,GAAhD0rG,EAAUxrG,EAAA,GAAE4jL,EAAc5jL,EAAA,GACjCgJ,EAA4BjJ,qBAAkBkJ,EAAArK,YAAAoK,EAAA,GAAvCnQ,EAAMoQ,EAAA,GAAE46K,EAAS56K,EAAA,GACxBG,EAAwCrJ,oBAAS,GAAKsJ,EAAAzK,YAAAwK,EAAA,GAA/Cq+F,EAAYp+F,EAAA,GAAEq+F,EAAer+F,EAAA,GACpCgB,EAAwCtK,mBAAiB,KAAIuK,EAAA1L,YAAAyL,EAAA,GAAtDozK,EAAYnzK,EAAA,GAAE4xF,EAAe5xF,EAAA,GACpCC,EAAoCxK,mBAAgB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAhDktC,EAAUjtC,EAAA,GAAEktC,EAAaltC,EAAA,GAChCwG,EAAsDjR,mBAAc,CAAC,GAAEkR,EAAArS,YAAAoS,EAAA,GAAhE8yK,EAAmB7yK,EAAA,GAAEmyJ,EAAsBnyJ,EAAA,GAClDC,EAA8BnR,mBAAc,KAAIoR,EAAAvS,YAAAsS,EAAA,GAAzCsjG,EAAOrjG,EAAA,GAAEgrF,EAAUhrF,EAAA,GAC1B2I,EAAkC/Z,oBAAkB,GAAMga,EAAAnb,YAAAkb,EAAA,GAAnD22C,EAAS12C,EAAA,GAAE22C,EAAY32C,EAAA,GAC9BG,EAAkCna,oBAAkB,GAAMoa,EAAAvb,YAAAsb,EAAA,GAAnDi/E,EAASh/E,EAAA,GAAEi/E,EAAYj/E,EAAA,GAC9BG,EAAkDva,qBAAewa,EAAA3b,YAAA0b,EAAA,GAA1DypK,EAAiBxpK,EAAA,GAAEypK,GAAoBzpK,EAAA,GAE9CG,IADiBu9B,cACuBl4C,oBAAS,IAAM4a,GAAA/b,YAAA8b,GAAA,GAAhDupK,GAAYtpK,GAAA,GAAEm+J,GAAen+J,GAAA,GAEpCG,GAAwC/a,mBAAc,CAAC,GAAEgb,GAAAnc,YAAAkc,GAAA,GAAlDopK,GAAYnpK,GAAA,GAAEopK,GAAeppK,GAAA,GACpCG,GAA0Bnb,mBAAiB,IAAGob,GAAAvc,YAAAsc,GAAA,GAAvCnQ,GAAKoQ,GAAA,GAAEipK,GAAQjpK,GAAA,GACtBG,GAA0Cvb,qBAA0Bwb,GAAA3c,YAAA0c,GAAA,GAA7DiB,GAAahB,GAAA,GAAEgK,GAAgBhK,GAAA,GACtCI,GAAoC5b,mBAAc,MAAK6b,GAAAhd,YAAA+c,GAAA,GAApC0oK,IAAFzoK,GAAA,GAAeA,GAAA,IAChCivC,GAAsC9qD,mBAAgB,IAAG+qD,GAAAlsD,YAAAisD,GAAA,GAAlD6yH,GAAW5yH,GAAA,GAAEw5H,GAAcx5H,GAAA,GAClCG,GAA4ClrD,oBAAkB,GAAMmrD,GAAAtsD,YAAAqsD,GAAA,GACpEG,IADqBF,GAAA,GAAmBA,GAAA,GACJnrD,mBAAgB,KAAGsrD,GAAAzsD,YAAAwsD,GAAA,GAAhDuyH,GAAUtyH,GAAA,GAAEk5H,GAAal5H,GAAA,GAChC8Z,GAA4CplE,oBAAkB,GAAMqlE,GAAAxmE,YAAAumE,GAAA,GAA7DloD,GAAcmoD,GAAA,GAAEviD,GAAiBuiD,GAAA,GACxCG,GAAsCxlE,mBAAc,IAAGylE,GAAA5mE,YAAA2mE,GAAA,GAAhDg4G,GAAW/3G,GAAA,GAAEg4G,GAAch4G,GAAA,GAClCI,GAAsC7lE,oBAAkB,GAAM8lE,GAAAjnE,YAAAgnE,GAAA,GAAvD4+G,GAAW3+G,GAAA,GAAE4+G,GAAc5+G,GAAA,GAClC8V,GAA0C57E,mBAAc,IAAG67E,GAAAh9E,YAAA+8E,GAAA,GAApDu3C,GAAat3C,GAAA,GAAEu3C,GAAgBv3C,GAAA,GACtCG,GAA8Ch8E,qBAAmBi8E,GAAAp9E,YAAAm9E,GAAA,GAA1DuhG,GAAethG,GAAA,GAAE0oG,GAAkB1oG,GAAA,GAC1CG,GAAsCp8E,oBAAkB,GAAMq8E,GAAAx9E,YAAAu9E,GAAA,GAAvDy1E,GAAWx1E,GAAA,GAAEy1E,GAAcz1E,GAAA,GAClCG,GAA8Cx8E,oBAAS,GAAKy8E,GAAA59E,YAAA29E,GAAA,GAApCooG,IAAFnoG,GAAA,GAAoBA,GAAA,IAC1CG,GAAsC58E,qBAAe68E,GAAAh+E,YAAA+9E,GAAA,GAA9CioG,GAAWhoG,GAAA,GAAEioG,GAAcjoG,GAAA,GAClCG,GAA4Ch9E,oBAAkB,GAAMi9E,GAAAp+E,YAAAm+E,GAAA,GAA7DsgG,GAAcrgG,GAAA,GAAE8nG,GAAiB9nG,GAAA,GACxCG,GAAgDp9E,mBAAgB,IAAG49E,GAAA/+E,YAAAu+E,GAAA,GAA5DngC,GAAgB2gC,GAAA,GAAE1gC,GAAmB0gC,GAAA,GAC5C07C,GAA8Ct5H,mBAAc,IAAGu5H,GAAA16H,YAAAy6H,GAAA,GAAxDo5B,GAAen5B,GAAA,GAAEo5B,GAAkBp5B,GAAA,GAC1CC,GAAgCx5H,mBAAgB,IAAGy5H,GAAA56H,YAAA26H,GAAA,GAA5C/+G,GAAQg/G,GAAA,GAAE/+G,GAAW++G,GAAA,GAC5Bm5B,GAA0C5yJ,mBAAgB,IAAG6yJ,GAAAh0J,YAAA+zJ,GAAA,GAAtDr1I,GAAas1I,GAAA,GAAEtxI,GAAgBsxI,GAAA,GACtCG,GAAkDhzJ,oBAAS,GAAMizJ,GAAAp0J,YAAAm0J,GAAA,GAA1DgyB,GAAiB/xB,GAAA,GAAEyoB,GAAoBzoB,GAAA,GAE9CG,GAA8CpzJ,oBAAkB,GAAMuzJ,GAAA10J,YAAAu0J,GAAA,GAA/DsF,GAAenF,GAAA,GAAE0xB,GAAkB1xB,GAAA,GAC1CG,GAA0C1zJ,oBAAkB,GAAM2zJ,GAAA90J,YAAA60J,GAAA,GAA3DwpB,GAAavpB,GAAA,GAAEuxB,GAAgBvxB,GAAA,GACtCG,GAAkD9zJ,qBAAe+zJ,GAAAl1J,YAAAi1J,GAAA,GAA1DipB,GAAiBhpB,GAAA,GAAEoxB,GAAoBpxB,GAAA,GAC9CE,GACEj0J,oBAAkB,GAAMk0J,GAAAr1J,YAAAo1J,GAAA,GADnB6oB,GAAmB5oB,GAAA,GAAEkxB,GAAsBlxB,GAAA,GAElDE,GAA8Dp0J,qBAAeq0J,GAAAx1J,YAAAu1J,GAAA,GAC7EixB,IAD8BhxB,GAAA,GAA4BA,GAAA,GAExDr0J,oBAAkB,IAAMslL,GAAAzmL,YAAAwmL,GAAA,GADnBE,GAAyBD,GAAA,GAAEE,GAA4BF,GAAA,GAExDt4K,GAAQ4D,iBAAY,MAClBmlD,GAAW7d,cAAX6d,OAEJhoD,GADUjiB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IACtCmoB,aACvB8xK,GAA8CzlL,mBAAc,IAAG0lL,GAAA7mL,YAAA4mL,GAAA,GAAxDzxK,GAAe0xK,GAAA,GAAEhO,GAAkBgO,GAAA,GAC1CC,GAAsC3lL,qBAAe4lL,GAAA/mL,YAAA8mL,GAAA,GAA9CE,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAClCG,GAAgD/lL,mBAAgB,IAAGgmL,GAAAnnL,YAAAknL,GAAA,GAA1C9P,IAAF+P,GAAA,GAAqBA,GAAA,IACxCthI,GAAUja,cACVw7I,GAAgC,CAClC9gK,oBAAqB,GACrBmxD,aAAc,GACd/hE,sBAAuB,GACvB0hF,mBAAoB,GACpB4U,mBAAoB,GACpBU,kBAAmB,GAQnBv4G,WAAY,CACVohF,kBAAmB,GACnBskB,MAAO3qF,GACPiX,kBAAmB,GACnB7xB,UAAW4a,GACX4wF,OAAQ,GACR1mF,OAAQ,EAERiuK,mBAAmB,EACnBC,cAAc,EACd5L,kBAAmB,GACnB9iF,QAAS,GACT5yE,WAAY,EACZ61J,aAAc,GACd0L,WAAY,GACZ9L,WAAY,GACZ1B,aAAc,GACdv1I,QAASt1B,GACThV,uBAAwB,EACxBstL,cAAe,EACfC,iBAAkB,GAClB7L,YAAa,GACbb,aAAc,GACd2M,aAAa,EACbC,WAAW,EACXp7E,cAAc,EACdq7E,eAAgB,GAChBC,eAAgB,EAChBC,iBAAkB,GAClB10K,SAAU,GACVooK,YAAa,GACbtd,cAAe,GACfntH,KAAM,GACN87H,QAAS,GACTiP,WAAY,EACZr2I,YAAa,GACbksD,aAAc,GACdo2F,UAAW,EACXt3L,OAAQ,GACRomB,QAAS,GACT8kK,cAAe,GACfnmK,cAAe,GACfqlK,gBAAiB,GACjBrqL,YAAa,EACbmmB,cAAe,GACf+hC,GAAI,GACJgjD,YAAa,GACbD,eAAgB,EAChB++E,gBAAiB,MAGrBwN,GAA4C7mL,mBAAc,IAAG8mL,GAAAjoL,YAAAgoL,GAAA,GAAtD1S,GAAc2S,GAAA,GAAEC,GAAiBD,GAAA,GAExC/xL,qBAAU,WACRuvL,GAAc9sG,IAqff,WAE6Bq9E,GAAAnoK,MAAC,KAADC,UAAA,CAtf5BmoK,GA2gBA,WAE0BxhE,GAAA5mG,MAAC,KAADC,UAAA,CA5gB1BwnG,EACF,GAAG,IACHp/F,qBAAU,WAAO,IAADiyL,EAAAC,EAAAC,EAEC,OAAb1qK,SAAa,IAAbA,IAAyB,QAAZwqK,EAAbxqK,GAAexpB,kBAAU,IAAAg0L,GAAzBA,EAA2BroF,QACW,UAAzB,OAAbniF,SAAa,IAAbA,IAAyB,QAAZyqK,EAAbzqK,GAAexpB,kBAAU,IAAAi0L,OAAZ,EAAbA,EAA2BtoF,SACW,KAAzB,OAAbniF,SAAa,IAAbA,IAAyB,QAAZ0qK,EAAb1qK,GAAexpB,kBAAU,IAAAk0L,OAAZ,EAAbA,EAA2BjvK,SAE3BkvK,IAEJ,GAAG,CAAc,OAAb3qK,SAAa,IAAbA,IAAyB,QAAZonK,EAAbpnK,GAAexpB,kBAAU,IAAA4wL,OAAZ,EAAbA,EAA2BjlF,SAS/B,IAAM7oC,GAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,GAAO,GAAE,CAACA,KAE1DhhE,qBAAU,WACR0oL,GAAe,IAoBf,WACsB2J,GAAA16L,MAAC,KAADC,UAAA,CAnBtB06L,EACF,GAAG,CAACvxH,KACJ,IAAMqxH,GAA2B,eAAAz8L,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAw8L,EAAAl5L,EAAA4tL,EAAA,OAAApxL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAMjC,OALK+C,EAAW,CACf22B,aAA2B,OAAbvI,SAAa,IAAbA,QAAa,EAAbA,GAAe85D,aAAa,GAC1CrxD,kBAAmB,GACnBurI,UAAWziJ,GACX8H,OAAqB,OAAb2G,SAAa,IAAbA,IAAyB,QAAZ8qK,EAAb9qK,GAAexpB,kBAAU,IAAAs0L,OAAZ,EAAbA,EAA2B3oF,QACpCxzG,EAAAE,KAAA,EAEqC26G,GAAsB53G,GAAU,KAAD,EAAjE4tL,EAAyB7wL,EAAAmB,KAEc,GACvC0vL,EAA0BxrL,OAAS,EAC3BwrL,EAEa,OAAbx/J,SAAa,IAAbA,QAAa,EAAbA,GAAe2I,oBAC1B,wBAAAh6B,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBAhBgC,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAiBT,SAAAy6L,KAwBvB,OAxBuBA,GAAAz8L,YAAAC,IAAAC,MAAxB,SAAAo8B,IAAA,IAAAwN,EAAAxc,EAAA,OAAArtB,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,WAEMyqE,GAAMnb,IAAI,gBAAmBmb,GAAMnb,IAAI,YAAW,CAAA9zB,EAAAx7B,KAAA,eAAAw7B,EAAAx7B,KAAA,EAChCk8L,GAAyBzxH,GAAMnb,IAAI,gBAAgB,KAAD,EAAtElmB,EAAW5N,EAAAv6B,KACXqB,QAAQe,IAAI,cAAe+lC,GAC3BovJ,EAAepvJ,GAAa,OAE1BqhC,GAAMnb,IAAI,cAAgBmb,GAAMnb,IAAI,iBACtClmB,EAAcx9B,OAAO6+D,GAAMnb,IAAI,aAC/BhtD,QAAQe,IAAI,eAAgB+lC,GAC5BovJ,EAAepvJ,SAEW3rC,IAAxBgtE,GAAMnb,IAAI,WAAmD,OAAxBmb,GAAMnb,IAAI,YAC7C1iC,EAAShhB,OAAO6+D,GAAMnb,IAAI,WAE9B6sI,GAAkBvvK,GAClB6rK,EAAU7rK,SAEgBnvB,IAAxBgtE,GAAMnb,IAAI,WAAmD,OAAxBmb,GAAMnb,IAAI,WACjDm3G,IAAe,QAEYhpK,IAAzBgtE,GAAMnb,IAAI,YAAqD,OAAzBmb,GAAMnb,IAAI,YAClDsqI,IAAmB,GACpB,yBAAAp+J,EAAAr6B,OAAA,GAAAy6B,EAAA,MACFv6B,MAAA,KAAAC,UAAA,CACD,IAAM66L,GAAiB,eAAA36L,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOmrB,GAAW,IAAAw3C,EAAAxjE,EAAA,OAAArB,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAMJ,OALhCokE,EAAU,CACdx2D,OAAQgf,EACR2sB,YAAa72B,GAAS3a,WACtB0iB,QAAS/H,GAASva,OAEpB7F,QAAQe,IAAI,gBAAiB+gE,GAAS1iE,EAAA1B,KAAA,EAEfmkE,GAAkBC,GAAS,KAAD,GAChC,KADXxjE,EAAQc,EAAAT,OAEZo4D,GAAQrzD,KAAK,gBAEf1D,QAAQe,IAAI,gBAAiBzC,GAAU,wBAAAc,EAAAP,OAAA,GAAAM,EAAA,KACxC,gBAbsBL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KA4PW,SAEnB86L,GAAgBp6L,GAAA,OAAAq6L,GAAAh7L,MAAC,KAADC,UAAA,UAAA+6L,KAmE9B,OAnE8BA,GAAA/8L,YAAAC,IAAAC,MAA/B,SAAA2gC,EAAgC4hG,GAAc,IAAAv4G,EAAA8yK,EAAAC,EAAA5/J,EAAA/yB,EAAA8lL,EAAA8M,EAAAC,EAAAC,EAAA,OAAAn9L,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OACtB,GAAhBwpB,EAAOu4G,EAASxmG,EAAAx7B,KAAA,OAEPtC,IAAT+rB,GAA+B,OAATA,EAAa,CAAA+R,EAAAv7B,KAAA,YACT,QAApB,OAAJwpB,QAAI,IAAJA,OAAI,EAAJA,EAAM+C,eAAsB,CAAAgP,EAAAv7B,KAAA,SAQgB,OAP9CsC,QAAQe,IAAI,YAAammB,GACrB+yK,EAAiB,GACf5/J,EAAc,CAClB1S,YAAiB,OAAJT,QAAI,IAAJA,OAAI,EAAJA,EAAMtiB,WACnBkmB,iBAAkB,GAClBhtB,kBAAmB,IAEfwJ,EAAc,OAAJ4f,QAAI,IAAJA,OAAI,EAAJA,EAAM+C,cAAchmB,MAAM,KAAIg1B,EAAAv7B,KAAA,GAC3B0mD,YAAc/pB,GAAa,KAAD,GAAzC+yJ,EAAMn0J,EAAAt6B,KACVqB,QAAQe,IAAI,cAAeqsL,GAC3BA,EAAO3pL,KAAI,SAACuM,GACE,OAARA,IACiB,2BAAf1I,EAAQ,GACInJ,KAAKwM,MAAMqF,EAAIgY,eACrBhsB,MAAMyH,KAAI,SAACrI,GACjBA,EAAIa,OAAOwH,KAAI,SAAC6Y,GACVA,EAAQngB,SAASC,QAAUkL,EAAQ,IAEZ,OAAvBgV,EAAQ9d,KAAK4E,OACU,KAAvBkZ,EAAQ9d,KAAK4E,QAEb4M,EAAI1I,EAAQ,IAAMgV,EAAQ9d,KAAK4E,MAC/B62L,EAAQv2L,KAAKsM,GAGnB,GACF,IAEAiqL,EAAQv2L,KAAKsM,GAGnB,IACAhQ,QAAQe,IAAI,eAAgBuG,GAExB4yL,EAAiB,CACnBz/K,OAAQw/K,EACRj2L,SAAUsD,EAAQ,GAClB6W,KAAM7W,EAAQ,GACd6tD,YAAa7tD,EAAQ,KAGN,OAAbgxL,SAAa,IAAbA,IAAgC,QAAnB0B,EAAb1B,GAAe16E,yBAAiB,IAAAo8E,OAAnB,EAAbA,EAAkCn3L,QAAS,IACvCs3L,EAA6B,OAAb7B,SAAa,IAAbA,QAAa,EAAbA,GAAe16E,kBAC/Bw8E,EAAUF,EAAUz/K,OAAO3H,QAAO,SAACs6K,GAAW,OAClD+M,EAAcl7G,MACZ,SAACo7G,GAAc,OAAKA,EAAU5yK,SAAW2lK,EAAO1lK,UAAU,GAC3D,IAEHqiK,GAAmBqQ,IAErB9R,GAAoB,GAADzsL,OAAKo+L,IACxB9B,GAAe+B,GAAWjhK,EAAAv7B,KAAA,iBAE1BqsL,GAAmB,IACnBoO,QAAeh9L,GAAW,QAG9B6nE,GAAa,GAAO/pC,EAAAv7B,KAAA,iBAAAu7B,EAAAx7B,KAAA,GAAAw7B,EAAAzX,GAAAyX,EAAA,SAEpBj5B,QAAQe,IAAI,aAAYk4B,EAAAzX,IACxBwhD,GAAa,GAAO,yBAAA/pC,EAAAp6B,OAAA,GAAAg/B,EAAA,oBAEvB9+B,MAAA,KAAAC,UAAA,UAEcs7L,GAAgB35L,EAAAwF,GAAA,OAAAo0L,GAAAx7L,MAAC,KAADC,UAAA,UAAAu7L,KAsC9B,OAtC8BA,GAAAv9L,YAAAC,IAAAC,MAA/B,SAAAqxB,EAAgCjxB,EAAcqX,GAAW,IAAA6lL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlnL,EAAAggB,EAAAizD,EAAAk0G,EAAA,OAAAn+L,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAEV,OAD7CsC,QAAQe,IAAIzD,EAAS,yBACrB0C,QAAQe,IAAI4T,EAAQ,yBAAyBilB,EAAAl8B,KAAA,EACjBsqD,eAAuB,KAAD,EAajD,OAbGyyI,EAAe7gK,EAAAj7B,KAC4C,UAApB,QAAvC67L,EAAAC,EAAgBY,+BAAuB,IAAAb,OAAA,EAAvCA,EAAyCj1L,iBAC5B,QAAXoP,EACF6iL,GAA4B,OAAPl6L,QAAO,IAAPA,GAAmB,QAAZo9L,EAAPp9L,EAAS+H,kBAAU,IAAAq1L,GAAW,QAAXC,EAAnBD,EAAqBl1L,iBAAS,IAAAm1L,OAAvB,EAAPA,EAAgCjhI,SACjC,SAAX/kD,GACT6iL,GAA4B,OAAPl6L,QAAO,IAAPA,GAAmB,QAAZs9L,EAAPt9L,EAAS+H,kBAAU,IAAAu1L,GAAW,QAAXC,EAAnBD,EAAqBp1L,iBAAS,IAAAq1L,OAAvB,EAAPA,EAAgCnhI,SAEvD+9H,IAAuB,IAEqC,SAA1DgD,EAAgBa,wBAAwB/1L,eAC/B,OAAPjI,QAAO,IAAPA,GAAmB,QAAZw9L,EAAPx9L,EAAS+H,kBAAU,IAAAy1L,GAAnBA,EAAqBt1L,UAAUk0D,SACjCm+H,IAA6B,GAEhCj+J,EAAAl8B,KAAA,EACoB2oD,eAAyB,KAAD,EAE7C,GAFI00I,EAAQnhK,EAAAj7B,KACZqB,QAAQe,IAAIg6L,EAAU,YAClBA,EAASl4L,OAAS,GACsB,UAApB,QAAlBm4L,EAAAD,EAAS,GAAG/rH,cAAM,IAAAgsH,OAAA,EAAlBA,EAAoBz1L,gBACP,QAAf01L,EAAIF,EAAS,UAAE,IAAAE,GAAXA,EAAalsH,OAIf,IAHAwoH,IAAiB,GACX2D,EAAWH,EAAS,GAAG10J,OAAOpiC,MAAM,KACpCk3L,EAAeJ,EAAS,GAAGhlL,OAAO9R,MAAM,KACrCgQ,EAAQ,EAAGA,EAAQinL,EAASr4L,OAAQoR,IACrCggB,EAAUinK,EAASjnL,GACnBizE,EAAWi0G,EAAalnL,IAC1BmnL,EAAuB7sL,SAASC,eAClCylB,MAGAmnK,EAAgB9hH,UAAY4N,GAKrC,yBAAAttD,EAAA/6B,OAAA,GAAA0vB,EAAA,KACFgsK,GAAAx7L,MAAA,KAAAC,UAAA,UACcu8L,GAAyBj3L,GAAA,OAAAk3L,GAAAz8L,MAAC,KAADC,UAAA,UAAAw8L,KAYvC,OAZuCA,GAAAx+L,YAAAC,IAAAC,MAAxC,SAAAs/B,EAAyC69F,GAAoB,IAAA/8H,EAAAm+L,EAAAxnL,EAAA,OAAAhX,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,cAAAqgC,EAAArgC,KAAA,EACvCyoD,eAAmB,KAAD,EAEtC,GAFI7oD,EAAOygC,EAAAp/B,KACP88L,EAAsBn+L,EAExB,IAAS2W,EAAQ,EAAGA,EAAQwnL,EAAe54L,OAAQoR,IAC7CwnL,EAAexnL,GAAOoyB,SAAWg0F,EACnC+8D,IAAkB,GAElBA,IAAkB,GAGvB,wBAAAr5J,EAAAl/B,OAAA,GAAA29B,EAAA,KACFg/J,GAAAz8L,MAAA,KAAAC,UAAA,CAxWDoI,qBAAU,WACR,QAAejM,IAAXgQ,EAAsB,CACxB,IAAIkvH,EAAoB,GACxBr3D,GAAa,GACbujC,KAAgBloG,KAAI,eAAAkB,EAAAvC,YAAAC,IAAAC,MAAC,SAAAsC,EAAOk8L,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAt7L,EAAAg/H,EAAAx5B,EAAA+1F,EAAAC,EAAAC,EAAAC,EAAA35L,EAAA0xB,EAAA9xB,EAAAq/D,EAAAz+D,EAAAo5L,EAAAC,EAAAC,EAAAC,EAAAxB,EAAAyB,EAAA1lK,EAAAkrG,EAAAy6D,EAAAC,EAAAC,EAAAC,EAAAxrK,EAAAyrK,EAAAx6L,EAAAy6L,EAAAhrK,EAAAirK,EAAAC,EAAA,OAAA//L,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OASvC,GARA44L,GAAqBoF,IACjBC,EAAsBrD,IACX3vG,aAAe,CAAC+yG,GAC/BtQ,IAAgB,GAChB+L,GAAemB,GAAcjzL,WAAWG,UAAUC,YAKnC,IAAX0F,EAAY,CAAA1L,EAAA/B,KAAA,SAKb,OAJDy3B,IAAkB,GAEZ10B,EAAW,CACfmE,WAAYk5G,GACbr+G,EAAA/B,KAAA,GAC0BmmF,GAAgBpjF,GAAU,KAAD,GAAlC,OAAdg/H,EAAchgI,EAAAd,KAAAc,EAAA/B,KAAA,GACZy4B,GAAY2nF,GAAY,KAAD,MACxB2hB,EAAU,CAADhgI,EAAA/B,KAAA,gBAAA+B,EAAAb,OAAA,kBAgCd,IA7BAoB,QAAQe,IAAIN,EAAU,eACtBT,QAAQe,IAAI0+H,EAAW,eACnBx5B,EAAa7lF,GAAS3a,WAE1BzF,QAAQe,IAAI,mBAAoBg6L,GAC1BiB,GACK,OAATv8D,QAAS,IAATA,GAA6B,QAApBm8D,EAATn8D,EAAW6kB,0BAAkB,IAAAs3C,OAApB,EAATA,EAA+B/4L,QAAS,EAC3B,OAAT48H,QAAS,IAATA,GAA6B,QAApBo8D,EAATp8D,EAAW6kB,0BAAkB,IAAAu3C,OAApB,EAATA,EAA+B53L,MAAM,KAAKR,IAAI6F,QAC9C,GACA2yL,GACK,OAATx8D,QAAS,IAATA,GAAyB,QAAhBq8D,EAATr8D,EAAWklB,sBAAc,IAAAm3C,OAAhB,EAATA,EAA2Bj5L,QAAS,EACvB,OAAT48H,QAAS,IAATA,GAAyB,QAAhBs8D,EAATt8D,EAAWklB,sBAAc,IAAAo3C,OAAhB,EAATA,EAA2B93L,MAAM,KAAKR,IAAI6F,QAC1C,GACF4yL,IACFF,EAAcn5L,OAAS,GAAKo5L,EAAep5L,OAAS,GAGlDs5L,IACFF,EAAep5L,OAAS,GAAKm5L,EAAcn5L,OAAS,GAGtD7C,QAAQe,IACN,OACAo7L,EACAF,EACAx8D,EACAu8D,EACAE,GAEO15L,EAAI,EAAGA,EAAIw5L,EAAcn5L,OAAQL,IACdw5L,EAAcx5L,KACdyjG,IACxBi2F,GAAiB,GAEpB,OAAAz8L,EAAA/B,KAAA,GACmBikE,KAAoB,KAAD,GACvC,IADMztC,EAAKz0B,EAAAd,KACFyD,EAAI,EAAGA,EAAI8xB,EAAMrxB,OAAQT,IAEhC,IADMq/D,EAAOvtC,EAAM9xB,IACVqD,aAAewgG,EACtB,IAASzjG,EAAI,EAAGA,EAAIy5L,EAAep5L,OAAQL,IACjBy5L,EAAez5L,KACfi/D,EAAKnsC,QAAWmsC,EAAKa,WAC3C65H,GAAkB,GAK1Bn8L,QAAQe,IACN,QACAmzB,EACAioK,EACAF,EACAx8D,EACAu8D,EACAE,GAEGA,GAAmBC,GACtBplI,GAAQrzD,KAAK,gBAEf1D,QAAQe,IAAI,iBAAkB46L,GAC9BA,EAAet2L,WAAW1D,QACJ,IAApBopK,GAA2B,cAAgB,GAE7Cv8D,EAAgB,KAChBC,EAAW,KACXioF,GAAS,OACTE,GAAe,IACf/+J,GAAiB8jK,GACjBlF,GAAgBkF,EAAehzG,aAAa,IAC5CquG,GAAmB2E,EAAehzG,aAAa,GAAG09C,YAClDZ,GAAiBk2D,EAAehzG,aAAa,GAAGy4E,UAgBhD/mC,EAAeshE,EAAehzG,aAAa,GAAGxhE,aAC9CmzK,GAAiBqB,EAAgB,OAAOl8L,EAAA/B,KAAA,oBACpB,IAAXyN,EAAY,CAAA1L,EAAA/B,KAAA,SACG,OAAxBy3B,IAAkB,GAAM11B,EAAA/B,KAAA,GAEEu/L,KAAiB,KAAD,GAKR,OAL9BlC,EAAat7L,EAAAd,KACbsnG,EAAa7lF,GAAS3a,WACpBhF,EAAW,CACfmE,WAAYm2L,EAAS11L,WAAW3D,aAElC1B,QAAQe,IAAI,WAAYN,GAAUhB,EAAA/B,KAAA,GAEPmmF,GAAgBpjF,GAAU,KAAD,GACY,OAD5Dg/H,EAAchgI,EAAAd,KAClBqB,QAAQe,IAAI,wCAAyC0+H,GAAWhgI,EAAA/B,KAAA,GAC1Dy4B,GAAY4kK,EAAS11L,WAAW3D,aAAa,KAAD,GAwBlD,IAvBA40L,GAAqB72D,GACfu8D,OAC6B7gM,IAAjCskI,EAAU6kB,oBACuB,OAAjC7kB,EAAU6kB,qBACkB,QAA5B83C,EAAA38D,EAAU6kB,0BAAkB,IAAA83C,OAAA,EAA5BA,EAA8Bv5L,QAAS,EACP,QADQw5L,EACpC58D,EAAU6kB,0BAAkB,IAAA+3C,OAAA,EAA5BA,EAA8Bp4L,MAAM,KAAKR,IAAI6F,QAC7C,GACA2yL,OACyB9gM,IAA7BskI,EAAUklB,gBACmB,OAA7BllB,EAAUklB,iBACc,QAAxB23C,EAAA78D,EAAUklB,sBAAc,IAAA23C,OAAA,EAAxBA,EAA0Bz5L,QAAS,EACP,QADQ05L,EAChC98D,EAAUklB,sBAAc,IAAA43C,OAAA,EAAxBA,EAA0Bt4L,MAAM,KAAKR,IAAI6F,QACzC,GACF4yL,IAAiBF,EAAcn5L,OAAS,GACxCs5L,IAAkBF,EAAep5L,OAAS,GAC9C7C,QAAQe,IACN,OACAo7L,EACAF,EACAx8D,EACAu8D,EACAE,GAEO15L,EAAI,EAAGA,EAAIw5L,EAAcn5L,OAAQL,IACdw5L,EAAcx5L,KACdyjG,IACxBi2F,GAAiB,GAEpB,OAAAz8L,EAAA/B,KAAA,GACmBikE,KAAoB,KAAD,GACvC,IADMztC,EAAKz0B,EAAAd,KACFyD,EAAI,EAAGA,EAAI8xB,EAAMrxB,OAAQT,IAEhC,IADMq/D,EAAOvtC,EAAM9xB,IACVqD,aAAewgG,EACtB,IAASzjG,EAAI,EAAGA,EAAIy5L,EAAep5L,OAAQL,IACjBy5L,EAAez5L,KACfi/D,EAAKnsC,SAC3B6mK,GAAkB,GAK1Bn8L,QAAQe,IACN,QACAo7L,EACAF,EACAx8D,EACAu8D,EACAE,GAEGA,GAAmBC,GACtBplI,GAAQrzD,KAAK,gBAGfw5L,KACA1uF,EAAgB,KAChBC,EAAW,KACXmoF,GAAe,IACfmE,EAAuB,aAAI,CAACt7D,GAC5Bs7D,EAA6B,mBAAI,GACjC1gE,EAAe0gE,EAAS11L,WAAWwnL,cAEI,OAAnCkO,EAAS11L,WAAWu5G,aAEE,OADlBm+E,EAAkBhC,EAAS11L,WAAWu5G,YAC7BC,MACb9nD,GAAQrzD,KAAK,gBAEU,MAArBq5L,EAAWv8C,OACby2C,IAAmB,IAGvBj3L,QAAQe,IAAI,2CAA4Cg6L,GAGpD72B,IACFwyB,GAAS,QACLsG,EAAqBjC,EAAS11L,YACfilB,OAAS,EAC5B0yK,EAAmBr7L,OAAS,cAC5Bq7L,EAAmBlQ,YAAc,gBACjCkQ,EAAmBtR,gBAAkB,IACrCsR,EAAmBtnJ,QAAU7e,EAAQ7Q,aACrCg3K,EAAmBx3L,UAAYqxB,EAAQ7Q,aACvChmB,QAAQe,IAAI,qBAAsBi8L,GAElCnlK,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAY23L,EACZ10F,mBAAoB,GACpB1hF,sBAAuBm0K,EAASn0K,sBAChC4Q,oBAAqBujK,EAASvjK,oBAC9BomF,kBAAmBm9E,EAASn9E,kBAC5Bj1B,aAAcoyG,EAASpyG,aACvBu0B,mBAAoB69E,EAAS79E,oBAAkB,KAEvCgnD,KACVrsI,GAAiBkjK,GACjBrE,GAAS,QACT4D,GAAiBS,EAAU,SAC5B,QAEHQ,GAA0BlhE,GAAc,yBAAA56H,EAAAZ,OAAA,GAAAW,EAAA,KACzC,gBAAAH,GAAA,OAAAE,EAAAR,MAAA,KAAAC,UAAE,CAAF,CA/NmB,GAgOtB,CACF,GAAG,CAACmM,EAAQ2yG,IAEZ12G,qBAAU,gBAE6BjM,KAAtB,OAAb0zB,SAAa,IAAbA,QAAa,EAAbA,GAAe85D,aAAa,KACO,QAAtB,OAAb95D,SAAa,IAAbA,QAAa,EAAbA,GAAe85D,aAAa,KAE5BmxG,GAA8B,OAAbjrK,SAAa,IAAbA,QAAa,EAAbA,GAAe85D,aAAa,GAEjD,GAAG,CAAc,OAAb95D,SAAa,IAAbA,QAAa,EAAbA,GAAe85D,eA2HnBvhF,qBAAU,WACyB,SAAA+1L,IAUhC,OAVgCA,EAAAngM,YAAAC,IAAAC,MAAjC,SAAA2C,IAAA,IAAAw2K,EAAA,OAAAp5K,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAE0C,GADxCsC,QAAQe,IAAI4uL,GAAgB,kBAC5B3vL,QAAQe,IAAIm2L,GAAa,gBACrBvH,GAAe,CAAD7vL,EAAApC,KAAA,gBAAAoC,EAAApC,KAAA,EACS0oD,aAAwB8wI,IAAa,KAAD,EAAzD7gB,EAAYv2K,EAAAnB,KAChBqB,QAAQe,IAAIs1K,EAAc,gBAC1B+iB,GAAkB/iB,GAAcv2K,EAAApC,KAAA,iBAEhC07L,GAAkB,IAAI,yBAAAt5L,EAAAjB,OAAA,GAAAgB,EAAA,MAEzBd,MAAA,KAAAC,UAAA,EAXc,WACkBm+L,EAAAp+L,MAAC,KAADC,UAAA,CAWjCo+L,EACF,GAAG,CAAClG,GAAavH,KAEjB,IAAMx5J,GAAW,eAAAv2B,EAAA5C,YAAAC,IAAAC,MAAG,SAAAkD,EAAOg2B,GAAe,IAAAC,EAAA,OAAAp5B,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EAChBK,MAAM,0CAA2C,CACvEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CAAEwG,WAAYwxB,MAElC/3B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAIL,OAHAwB,QAAQe,IAAI,WAAYvC,GAExBuuB,GAAWzpB,YAAK9E,IACTA,CACT,IAAG,KAAD,EAbW,OAAT63B,EAASh2B,EAAA1B,KAAA0B,EAAAzB,OAAA,SAcRy3B,GAAS,wBAAAh2B,EAAAxB,OAAA,GAAAuB,EAAA,KACjB,gBAhBgBoqB,GAAA,OAAA5qB,EAAAb,MAAA,KAAAC,UAAA,KAiBXunG,GAAa,eAAApmG,EAAAnD,YAAAC,IAAAC,MAAG,SAAAsD,IAAA,IAAAC,EAAA6rL,EAAA,OAAArvL,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAGnB,OAFK+C,EAAW,CACfmE,WAAYk5G,GACbp9G,EAAAhD,KAAA,EACwCmmF,GAAgBpjF,GAAU,KAAD,EAGxB,GAHtC6rL,EAA4B5rL,EAAA/B,KAChCqB,QAAQe,IAAIurL,EAAyB,kBACrCtsL,QAAQe,IAAIoK,EAAQ,kBACpB2uL,GAAiBxN,GACe,OAA5BA,GAA+C,IAAXnhL,EAAY,CAAAzK,EAAAhD,KAAA,SACrB,OAA7Bq5D,GAAQrzD,KAAK,gBAAgBhD,EAAA9B,OAAA,yBAAA8B,EAAA9B,OAAA,SAGxB0tL,GAAuB,yBAAA5rL,EAAA7B,OAAA,GAAA2B,EAAA,KAC/B,kBAbkB,OAAAL,EAAApB,MAAA,KAAAC,UAAA,KAajB,SACa46L,GAAwBnjK,GAAA,OAAA4mK,GAAAt+L,MAAC,KAADC,UAAA,UAAAq+L,KAUtC,OAVsCA,GAAArgM,YAAAC,IAAAC,MAAvC,SAAAm/B,EAAwClV,GAAiB,IAAAsQ,EAAA,OAAAx6B,IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,cAAAkxB,EAAAlxB,KAAA,EACrCkmF,GAAyB,CACzCz8D,aAAcA,IACb,KAAD,EAFO,KAALsQ,EAAK7I,EAAAjwB,MAIC,CAADiwB,EAAAlxB,KAAA,eAAAkxB,EAAAhwB,OAAA,SACA64B,EAAM7yB,YAAU,OAEvBmyD,GAAQrzD,KAAK,gBAAgB,wBAAAkrB,EAAA/vB,OAAA,GAAAw9B,EAAA,MAEhCt9B,MAAA,KAAAC,UAAA,CAE6B,SAAAkoK,KAO7B,OAP6BA,GAAAlqK,YAAAC,IAAAC,MAA9B,SAAAunD,IAAA,IAAAznC,EAAA,OAAA/f,IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,OACyB,OAAnBsf,EAAiB,GAAEyf,EAAA/+B,KAAA,EACDkoD,eAAe,KAAD,EAAvBnpB,EAAA99B,KACH8E,KAAI,SAACiD,GACbsW,EAAQtZ,KAAK,CAAE6J,GAAI7G,EAAEwmI,SAAUxmF,OAAQhgD,EAAEggD,OAAQG,OAAQngD,EAAEmgD,QAC7D,IACAm+G,GAAmB,GAADnpK,OAAKmhB,IAAU,wBAAAyf,EAAA59B,OAAA,GAAA4lD,EAAA,MAClC1lD,MAAA,KAAAC,UAAA,CAED,IAAMi+L,GAAc,eAAA18L,EAAAvD,YAAAC,IAAAC,MAAG,SAAA+6B,IAAA,IAAA76B,EAAA29L,EAAA,OAAA99L,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,OAOpB,OANDslE,GAAa,GACP5lE,EAAc,CAClBoyG,OAAQrkG,EACR2oF,SAAU,GACVruF,WAAY9H,OAAOC,aAAaC,QAAQ,cACxCktG,MAAO3qF,IACRkY,EAAA56B,KAAA,EACoBumD,YAAkB7mD,GAAa,KAAD,EAEC,OAFhD29L,EAAQziK,EAAA35B,KACZq4L,GAAmB+D,EAAS11L,WAAWo4G,cACvCgoB,GAAiBs1D,EAAS11L,WAAWqhB,eAAe4R,EAAA15B,OAAA,SAC7Cm8L,GAAQ,wBAAAziK,EAAAz5B,OAAA,GAAAo5B,EAAA,KAChB,kBAZmB,OAAA13B,EAAAxB,MAAA,KAAAC,UAAA,KAcQ,SAAA2mG,KAG3B,OAH2BA,GAAA3oG,YAAAC,IAAAC,MAA5B,SAAAynD,IAAA,IAAAsL,EAAA,OAAAhzD,IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,cAAA4+B,EAAA5+B,KAAA,EAC4B2vD,IAAiB,KAAD,EAAtC4C,EAAa3zB,EAAA39B,KACjB4wD,GAAoBU,GAAe,wBAAA3zB,EAAAz9B,OAAA,GAAA8lD,EAAA,MACpC5lD,MAAA,KAAAC,UAAA,CACD,SAAS4sB,GAAWtuB,GAClBu6B,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAU8H,wBAAA,GACL2qB,EAAUzyB,YAAU,IACvB2rG,OAAQ1zG,KACT,GAEL,CACA,SAAS60L,GAAa70L,GACpBu6B,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAU8H,wBAAA,GACL2qB,EAAUzyB,YAAU,IACvBG,UAAS2H,YAAA,GACJ7P,MAEN,GAEL,CACA,SAASggM,GAAWhgM,GAClBu6B,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAU8H,wBAAA,GACL2qB,EAAUzyB,YAAU,IACvBqwC,QAAOvoC,YAAA,GACF7P,MAEN,GAEL,CAEA,SAASigM,GAAejgM,GACtBouG,GAAa,GACb7zE,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAU8H,wBAAA,GACL2qB,EAAUzyB,YAAU,IACvBqhB,cAAeppB,KAChB,GAEL,CACA,SAASytL,GAA4BztL,GACnCouG,GAAa,GACb7zE,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZzyB,WAAU8H,wBAAA,GACL2qB,EAAUzyB,YACV/H,IACJ,GAEL,CAEA,SAASivL,GAAgBjvL,GACvB,IAAIo+L,EAAoCp+L,EACxCouG,GAAa,GACb7zE,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZ6wD,aAAc,CAAC+yG,IAAc,GAEjC,CACA,SAAS/Q,GAAqBrtL,GAC5Bu6B,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZ8lF,kBAAmBtgH,GAAO,GAE9B,CACA,SAASkgM,GAAelgM,GACtB0C,QAAQe,IAAI,sBAAuBzD,GAEnCA,EAAQ6tD,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM3U,EAAEhhB,SAAW21B,EAAE31B,SAAW,GAAK,CAAC,IAClEoC,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZN,oBAAmBl0B,YAAMhG,IAAQ,GAErC,CACA,SAASmgM,GAAcngM,GACrBu6B,IAAiB,SAACC,GAAc,OAAA3qB,wBAAA,GAC3B2qB,GAAS,IACZlR,sBAAqBtjB,YAAMhG,IAAQ,GAEvC,CAEA,SAASogM,KACP,OAAoB,OAAb7uK,SAAa,IAAbA,QAAa,EAAbA,GAAexpB,UACxB,CACA,SAASimL,KACP,OAAoB,OAAbz8J,SAAa,IAAbA,QAAa,EAAbA,GAAexpB,UACxB,CACA,SAASipL,KACP,OAAoB,OAAbz/J,SAAa,IAAbA,QAAa,EAAbA,GAAe2I,mBACxB,CACA,SAASmmK,KACP,OAAO9uK,EACT,CAIA,SAAS+uK,KACP,OAAOpH,EACT,CAEA,IAAM0G,GAAc,eAAAv3K,EAAA3oB,YAAAC,IAAAC,MAAG,SAAAu7B,IAAA,IAAAolK,EAAAp/E,EAAAhtC,EAAA+gC,EAAA,OAAAv1G,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,OAQpB,OAPDslE,GAAa,GACT66H,EAAe1yL,EACfszG,EAA+B,CACjC1T,MAAO,CACLtlG,WAAYoxB,EAAQ7Q,aAAavgB,YAEnC6kB,OAAQuzK,GACTzlK,EAAA16B,KAAA,EACwBqmD,YAAsB06D,GAAY,KAAD,EAAtDhtC,EAAYr5C,EAAAz5B,KAEV6zG,EAAiB/gC,EAAatmB,MAClC,SAAC/Z,EAAQ+I,GAAM,OAAK/I,EAAE3b,SAAW0kB,EAAE1kB,QAAQ,IAE7Cu0B,EAAcwoD,GAAgB,wBAAAp6E,EAAAv5B,OAAA,GAAA45B,EAAA,KAC/B,kBAfmB,OAAA9S,EAAA5mB,MAAA,KAAAC,UAAA,KAgCd8+L,GAAwB,WAC5B,IAAwB,IAApB/yB,GACF,OACE/vK,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAACm7L,GAAgB,CACfhpF,SAAUiQ,GACVlQ,SAAU,UACVzwG,KAAK,WAEPzB,cAACm7L,GAAgB,CACfhpF,SAAUiQ,GACVlQ,SAAU,UACVzwG,KAAK,YAKf,EACM0qH,GAAe,SAAC5zC,GACpBs7B,EAAWt7B,GACXq7B,EAAgBr7B,EAClB,EAKA,IAAM6pC,GAAY,eAAAhlF,EAAAh7B,YAAAC,IAAAC,MAAG,SAAA67B,EACnB18B,EACAytG,EACA8C,EACAD,GAAuB,IAAA0C,EAAA0uF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlgF,EAAAmgF,EAAAh8L,EAAAka,EAAA9Z,EAAAi9H,EAAAr8H,EAAAi7L,EAAA17L,EAAAq7G,EAAA5gH,EAAA8gH,EAAAC,EAAA19G,EAAAgxE,EAAAiF,EAAA4nH,EAAAC,EAAAC,EAAAC,EAAA16L,EAAAmtB,EAAAwtK,EAAAp8D,EAAA/qH,EAAAonL,EAAA3lB,EAAA4lB,EAAAC,EAAAC,EAAAC,EAAAl0L,EAAAm0L,EAAAxtG,EAAAt9E,EAAA+qL,EAAAtrL,EAAA+3B,EAAAva,EAAA4pK,GAAA,OAAA99L,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,OAwBtB,GAtBDslE,GAAa,GACTqsC,EAAsBxgF,GACtBkvK,EAAsB,GACtBC,EAAqB,GACrBC,EAAY,GAChBj+L,QAAQe,IAAIsuG,EAAgB,kBAC5BA,EAAehqG,WAAW0lG,MAAQ3qF,QACOjlB,IAArCk0G,EAAehqG,WAAWilB,SAC5B+kF,EAAehqG,WAAWilB,OAAS,GAEjCw/E,IACFuF,EAAehqG,WAAWykG,QAAUA,OACjB3uG,GAAfyxG,QAA8CzxG,GAAlBwxG,IAC9B0C,EAAehqG,WAAWunG,YAAcA,EACxCyC,EAAehqG,WAAWsnG,eAAiBA,IAG3C0C,EAAe1mB,aAAa,KACsB,KAAlC,OAAd0mB,QAAc,IAAdA,GAA+B,QAAjB6uF,EAAd7uF,EAAgB1mB,aAAa,UAAE,IAAAu1G,OAAjB,EAAdA,EAAiC73D,cACnCh3B,EAAehqG,WAAWo4G,cAAe,EACzCpO,EAAehqG,WAAWqhB,cAAgB8+G,IAGjC,UAATnpI,GAA6B,WAATA,EAAiB,CAAAq8B,EAAAh7B,KAAA,SAUtC,GAT8C,KAA3C2xG,EAAehqG,WAAW0nL,cAC5BkR,EAAKv6L,KAAK,gBAG4BvI,IAAtCk0G,EAAehqG,WAAW0iB,SACY,OAAtCsnF,EAAehqG,WAAW0iB,SACmB,IAA7CsnF,EAAehqG,WAAW0iB,QAAQllB,QAElCo7L,EAAKv6L,KAAK,aAERu6L,EAAKp7L,QAAU,GAAC,CAAA61B,EAAAh7B,KAAA,SAClB2hB,GAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQ,eAAiBwvK,EAAK15L,KAAK,OACnC6qE,KAAM,MAERpM,GAAa,GAAOtqC,EAAAh7B,KAAA,iBAEhBugH,EAAa,GACXmgF,EAAsBjgM,KAAKwM,MACjB,OAAd0kG,QAAc,IAAdA,GAA0B,QAAZ8uF,EAAd9uF,EAAgBhqG,kBAAU,IAAA84L,OAAZ,EAAdA,EAA4Bz3K,eAErBtkB,EAAI,EAAE,KAAD,QAAEA,EAAIg8L,EAAepiM,MAAM6G,QAAM,CAAA61B,EAAAh7B,KAAA,SACvC4e,EAAU8hL,EAAepiM,MAAMoG,GAAGnG,OAClBqgB,EAAQzZ,OACrBL,EAAI,EAAE,KAAD,QAAEA,EAAI8Z,EAAQzZ,QAAM,CAAA61B,EAAAh7B,KAAA,SACH,GACG,QAD1B+hI,EAAYnjH,EAAQ9Z,IACZrG,SAASE,KAAa,CAAAq8B,EAAAh7B,KAAA,YACrB,UAATrB,EAAgB,CAAAq8B,EAAAh7B,KAAA,SACuB,KAArC0F,EAAgBq8H,EAAUjhI,KAAK4E,OACzB,CAADs1B,EAAAh7B,KAAA,SAWN,OAVG2gM,EAA2B,OAAbxvK,SAAa,IAAbA,QAAa,EAAbA,GAAequF,mBAE3Bv6G,EAAKS,EAAMa,MAAM,KACjB+5G,EAAKr7G,EAAG81C,MAAM,EAAG91C,EAAGE,OAAS,GAE7BzF,EAAc,CAClBqH,OAAQu5G,EAAGz5G,KAAK,KAAO,IACvBG,MAAO+6H,EAAUtjI,SAASwI,MAC1BC,WAAYk5G,EACZM,cAAez7G,EAAG4B,KAAK,MACxBm0B,EAAAh7B,KAAA,GAEuBuB,aAAqB7B,GAAa,KAAD,GAAnD8gH,EAASxlF,EAAA/5B,KAGK,MADdw/G,EAAWD,EAAUj6G,MAAM,MACpB,KACPtB,EAAGA,EAAGE,OAAS,KAAOs7G,EAAS9gG,GAAMxa,OAAS,KAChDo7G,EAAaE,EAASA,EAASt7G,OAAS,GACxCF,EAAGA,EAAGE,OAAS,GAAKo7G,EACpBwhB,EAAUjhI,KAAK4E,MAAQ66G,EACvB7gH,EAAYghH,cAAgBH,GAE9BogF,EAAY36L,KAAKtG,IAGnBiyG,EAAe6N,mBAAqBmhF,EAAY,QAItB,QAA5B5+D,EAAUtjI,SAASE,MACF,KAAf4hH,IACFwhB,EAAUjhI,KAAK4E,MAAQ66G,GAE1B,QAvCiCz7G,IAAGk2B,EAAAh7B,KAAA,iBAHQ0E,IAAGs2B,EAAAh7B,KAAA,iBA8CN,OADxC+C,EAAW,CAAEgvG,SAAUJ,EAAgBj8E,KAAM/2B,GACnD2D,QAAQe,IAAI,iBAAkBsuG,GAAgB32E,EAAAh7B,KAAA,GAErBsmD,YAAevjD,GAAU,KAAD,GAA7CgxE,EAAY/4C,EAAA/5B,KACZ+3E,GAAuB,EACvBjF,EAAapuE,SAAS,UACxBqzE,GAAc,GAEZA,GAAyB,QAAVr5D,GACjB05C,GAAQrzD,KAAK,WAAY,CACvB+uG,YAAahhC,EACb94D,IAAI,GAAD9c,OAAKQ,EAAI,cAELq6E,GAAyB,QAAVr5D,IAA4B,UAAThhB,EAC3C06D,GAAQrzD,KAAK,WAAY,CACvB+uG,YAAa/7B,EACb/9D,IAAI,GAAD9c,OAAKQ,EAAI,cAELq6E,GAAyB,QAAVr5D,IAA4B,UAAThhB,GAC3C06L,IAAgBD,IAEhB9zH,GAAa,KAEb3jD,GAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAO,GAAD5yB,OAAK41E,GACXrC,KAAM,MAERpM,GAAa,IACd,QAAAtqC,EAAAh7B,KAAA,sBAGiD,KAAlC,OAAd2xG,QAAc,IAAdA,GAA+B,QAAjBivF,EAAdjvF,EAAgB1mB,aAAa,UAAE,IAAA21G,OAAjB,EAAdA,EAAiCj4D,YAAoB,CAAA3tG,EAAAh7B,KAAA,SACnDugH,EAAa,GACXmgF,EAAsBjgM,KAAKwM,MACjB,OAAd0kG,QAAc,IAAdA,GAA0B,QAAZkvF,EAAdlvF,EAAgBhqG,kBAAU,IAAAk5L,OAAZ,EAAdA,EAA4B73K,eAErBtkB,EAAI,EAAE,KAAD,QAAEA,EAAIg8L,EAAepiM,MAAM6G,QAAM,CAAA61B,EAAAh7B,KAAA,SACvC4e,EAAU8hL,EAAepiM,MAAMoG,GAAGnG,OAClBqgB,EAAQzZ,OACrBL,EAAI,EAAE,KAAD,QAAEA,EAAI8Z,EAAQzZ,QAAM,CAAA61B,EAAAh7B,KAAA,SAwB/B,IAvBK+hI,EAAYnjH,EAAQ9Z,IACZrG,SAASE,KAGnBojI,EAAUtjI,SAASE,KAGS,OAA5BojI,EAAUtjI,SAASE,MACwB,MAAzCojI,EAAUtjI,SAASG,UAAUC,UAEJ,OAAzBkjI,EAAUjhI,KAAK4E,OACiB,IAAhCq8H,EAAUjhI,KAAK4E,MAAMP,QAErBk7L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,SAM9BqjI,EAAUtjI,SAASE,KAES,OAA5BojI,EAAUtjI,SAASE,KAAa,CAAAq8B,EAAAh7B,KAAA,YACrB,UAATrB,GAA6B,WAATA,EAAiB,CAAAq8B,EAAAh7B,KAAA,SACE,KAArC0F,EAAgBq8H,EAAUjhI,KAAK4E,OACzB,CAADs1B,EAAAh7B,KAAA,SAWN,OAVG2gM,EAA2B,OAAbxvK,SAAa,IAAbA,QAAa,EAAbA,GAAequF,mBAE3Bv6G,EAAKS,EAAMa,MAAM,KACjB+5G,EAAKr7G,EAAG81C,MAAM,EAAG91C,EAAGE,OAAS,GAE7BzF,EAAc,CAClBqH,OAAQu5G,EAAGz5G,KAAK,KAAO,IACvBG,MAAO+6H,EAAUtjI,SAASwI,MAC1BC,WAAYk5G,EACZM,cAAez7G,EAAG4B,KAAK,MACxBm0B,EAAAh7B,KAAA,GAEuBuB,aAAqB7B,GAAa,KAAD,GAAnD8gH,EAASxlF,EAAA/5B,KAGK,MADdw/G,EAAWD,EAAUj6G,MAAM,MACpB,KACPtB,EAAGA,EAAGE,OAAS,KAAOs7G,EAAS9gG,GAAMxa,OAAS,KAChDo7G,EAAaE,EAASA,EAASt7G,OAAS,GACxCF,EAAGA,EAAGE,OAAS,GAAKo7G,EACpBwhB,EAAUjhI,KAAK4E,MAAQ66G,EACvB7gH,EAAYghH,cAAgBH,GAE9BogF,EAAY36L,KAAKtG,IAGnBiyG,EAAe6N,mBAAqBmhF,EAAY,QAStD,GALgC,QAA5B5+D,EAAUtjI,SAASE,MACF,KAAf4hH,IACFwhB,EAAUjhI,KAAK4E,MAAQ66G,GAGK,OAA5BwhB,EAAUtjI,SAASE,KAAe,CAIpC,IAHMwO,EAAS40H,EAAUtjI,SAASG,UAAUuO,OAExCm0L,GAAiB,EACZ58L,EAAI,EAAGA,EAAIyI,EAAOhI,OAAQT,IAEjC,GAAmD,OAD7C8R,EAAUrJ,EAAOzI,IACXoI,QAAQrO,SAASG,UAAUC,QACrC,GACyB,OAAvBkjI,EAAUjhI,KAAKiV,KACe,IAA9BgsH,EAAUjhI,KAAKiV,IAAI5Q,OAEnB,IAASL,EAAI,EAAGA,EAAIi9H,EAAUjhI,KAAKiV,IAAI5Q,OAAQL,SAE1BrH,KADbwY,EAAO8rH,EAAUjhI,KAAKiV,IAAIjR,GAAGJ,IAC1BgB,QACY,OAAfuQ,EAAKvQ,OAAiC,KAAfuQ,EAAKvQ,OAEE,IAAvBkG,OAAOqK,EAAKvQ,aAKnBjI,IADA+Y,EAAQ1J,QAAQrO,SAASG,UAAUN,OAIjC2X,EAAKvQ,SAC6B,QADxBsoC,EACVx3B,EAAQ1J,QAAQrO,SAASG,iBAAS,IAAAovC,OAAA,EAAlCA,EAAoC1vC,MAAM,GAAGmH,QAVjD66L,EAAYt6L,KAAK,CAAEw7L,UAAW18L,EAAG28L,UAAW/8L,SAiB9BjH,IAAdwY,EAAKxQ,OACW,OAAdwQ,EAAKxQ,MAA+B,KAAdwQ,EAAKxQ,MACJ,IAArBwQ,EAAKxQ,KAAKN,QACZm7L,EAAYt6L,KAAK,CAAEw7L,UAAW18L,EAAG28L,UAAW/8L,UAMpD48L,GAAiB,EAInBA,IAEuB,OAAvBv/D,EAAUjhI,KAAKiV,KACe,IAA9BgsH,EAAUjhI,KAAKiV,IAAI5Q,QAEnBk7L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,QAIlC,CACIqjI,EAAUtjI,SAASE,KAEnBojI,EAAUtjI,SAASE,KAGO,MAA5BojI,EAAUtjI,SAASE,MACS,OAA5BojI,EAAUtjI,SAASE,MACS,MAA5BojI,EAAUtjI,SAASE,MACS,MAA5BojI,EAAUtjI,SAASE,MAE0B,MAAzCojI,EAAUtjI,SAASG,UAAUC,UACF,OAAzBkjI,EAAUjhI,KAAK4E,OACjB26L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,QAGD,OAAzBqjI,EAAUjhI,KAAK4E,OACmB,IAAhCq8H,EAAUjhI,KAAK4E,MAAMP,QACvBk7L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,SAMJ,OAA5BqjI,EAAUtjI,SAASE,MACwB,MAAzCojI,EAAUtjI,SAASG,UAAUC,UACF,OAAzBkjI,EAAUjhI,KAAK4E,OACjB26L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,QAID,OAAzBqjI,EAAUjhI,KAAK4E,QAEiB,IAAhCq8H,EAAUjhI,KAAK4E,MAAMP,QACI,eAAzB48H,EAAUjhI,KAAK4E,OAEf26L,EAAar6L,KAAK,CAChB+P,IAAKrR,EACLhH,IAAKoH,EACLpG,MAAOqjI,EAAUtjI,SAASC,UAKnC,QA7KiCoG,IAAGk2B,EAAAh7B,KAAA,iBAHQ0E,IAAGs2B,EAAAh7B,KAAA,iBA4LrD,GAR8C,KAA3C2xG,EAAehqG,WAAW0nL,cAC5BkR,EAAKv6L,KAAK,WAE8B,KAAtC2rG,EAAehqG,WAAW0iB,SAC5Bk2K,EAAKv6L,KAAK,WAER2rG,EAAe73E,oBAAoB30B,QAAU,GAC/Co7L,EAAKv6L,KAAK,kBAERu6L,EAAKp7L,OAAS,GAAC,CAAA61B,EAAAh7B,KAAA,UACjB2hB,GAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQ,eAAiBwvK,EAAK15L,KAAK,OACnC6qE,KAAM,MAERpM,GAAa,GAAOtqC,EAAAh7B,KAAA,sBACa,IAAxBqgM,EAAal7L,QAAuC,IAAvBm7L,EAAYn7L,OAAY,CAAA61B,EAAAh7B,KAAA,UACL,OAAnD+C,EAAW,CAAEgvG,SAAUJ,EAAgBj8E,KAAM/2B,GAAMq8B,EAAAh7B,KAAA,IACpCsmD,YAAevjD,GAAU,KAAD,KAAzCs6L,GAAQriK,EAAA/5B,OACc,QAAV0e,IAKL09K,IAAsB,QAAV19K,IAA4B,UAAThhB,EAJxC06D,GAAQrzD,KAAK,WAAY,CACvB+uG,YAAasoF,GACbpiL,IAAI,GAAD9c,OAAKQ,EAAI,cAOL0+L,IAAsB,QAAV19K,IAA4B,UAAThhB,EACxC06L,IAAe,GAEf13K,GAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAQ,gCACR2gD,KAAM,MAET12C,EAAAh7B,KAAA,oBACQqgM,EAAal7L,QAAU,GAAKm7L,EAAYn7L,QAAU,KAC3Dwc,GAAM0iB,QAAQmtC,KAAK,CACjBC,SAAU,QACVxjD,QAAS,gBACT8C,OAAO,uCAAD5yB,OAAyCkiM,EAAat6L,KAC1D,SAAC27L,GAAM,OAAKA,EAAOhjM,KAAK,KAE1BgzE,KAAM,MAERpM,GAAa,IACd,SAEH6zH,GAAc,GAADh7L,OAAKmiM,IAClBpH,GAAe,GAAD/6L,OAAKkiM,IACnB/9L,QAAQe,IAAIsuG,EAAgB,kBAAkB,0BAAA32E,EAAA75B,OAAA,GAAAk6B,EAAA,KAC/C,gBAnXiBrC,EAAAC,EAAAC,EAAAmB,GAAA,OAAAC,EAAAj5B,MAAA,KAAAC,UAAA,KAqXlB,OACEhE,eAAA,OACEY,UAAU,yBACV4U,QAAS,WACPxQ,QAAQe,IAAI8tB,GACd,EAAE/zB,SAAA,CAEFF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACX0jD,GACCnoE,cAAA,OACEgB,UAAU,8BACV4U,QAAS,kBAAMxQ,QAAQe,IAAIgiE,EAAWs0H,GAAkB,EAACv8L,SAEzDF,cAAA,OAAK0lD,IAAKupC,GAAatpC,IAAI,iBAG/BvlD,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCE,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACL/lB,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QAhjCZ,WAEIwpG,GADED,EAKN,EA2iCYt+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,CACnB0D,yBAA0BgtF,OAG9B16K,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CACtB,QAATuiB,IACCziB,cAACmzG,GAAmB,CAClBK,SAAUrkD,EACV1kD,WAAYwpB,GACZwwK,MAAO,kBAAM,IAAI,EACjBtyF,SAAUiQ,GACVlQ,SAAU,YAGJ,OAATzvF,IAAkBygL,KACT,QAATzgL,IACCziB,cAAAC,WAAA,UAqBLk/G,EACCn/G,cAAA,OAAKgB,UAAU,sCAAqCd,SAClDF,cAACy6L,GAAqB,CACpBtuE,aAAcA,GACdD,QAASA,EACT+uE,SAAU1qL,MAIdvQ,cAAA,UAGFA,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,EACCn/G,cAAA,OAAKgB,UAAU,oDAAmDd,SAChEF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACy6L,GAAqB,CACpBtuE,aAAcA,GACdD,QAASA,EACT+uE,SAAU1qL,QAKhBvQ,cAAA,UAES,QAAVyiB,SAAwCliB,IAArBmwL,MAClBtwL,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACnB,MAAjBi1L,GACCn1L,cAACm3L,GAAkB,CACjBuN,uBAAwB5B,GACxB6B,uBAAwBpN,GACxBqN,qBAAsBlC,GACtBE,eAAgBA,GAChBrG,eAAgBA,GAChBd,kBAAmBA,EACnB7+J,oBAAkC,OAAb3I,SAAa,IAAbA,QAAa,EAAbA,GAAe2I,oBACpCggK,qBAAsBA,GACtBrI,oBAAqBA,GACrByI,0BAA2BA,KAGb,MAAjB7H,GACCn1L,cAAC6rL,GAAoB,CACnB4Q,kBAAmBA,GACnBtJ,qBAAsBA,GACtBn+J,cAAeA,GACfgE,iBAAkBA,GAClBtE,MAAOxC,GACPypK,aAAcA,GACdnL,gBAAiBA,GACjByE,YAAaA,GACbC,eAAgBA,GAChBC,aAAcA,EACdxgK,eAAgBA,GAChB4F,kBAAmBA,GACnB4tC,UAAWA,EACX0oC,UAAWA,EACXzoC,aAAcA,EACdmoH,yBAA0BG,GAC1BiB,gBAAiBA,GACjBx2J,yBAA0BwnK,GAC1B5R,2BAA4BiS,GAC5B6B,kCAAmCrJ,EACnC9H,eAAgBA,GAChBC,eAAgBiP,GAChBxN,YAAaA,GACbC,WAAYA,GACZtF,qBAAsBA,GACtBI,4BAA6BA,GAC7Bn/J,WAAYA,GACZiD,cAAeA,GACfgJ,iBAAkBA,GAClB4tG,iBAAkBA,GAClBD,cAAeA,GACfoqD,gBAAiBA,GACjBpJ,eAAgBA,GAChBmJ,eAAgBA,GAChBT,YAAahrB,GACbqrB,cAAeA,GACfH,kBAAmBA,GACnBD,oBAAqBA,GACrBzE,iBAAkBwN,GAClBpO,qBAAsBzjK,KAGR,MAAjB0pK,GACCn1L,cAACy1L,GAAsB,CACrBY,wBAAyB3C,GACzB8C,uBAAwBviK,GACxBwiK,yBAA0BmM,GAC1BluI,iBAAkBA,GAClBm+C,UAAWs3D,GACXhiG,UAAWA,IAGG,MAAjBgtH,GACCn1L,cAACooB,GAAmB,CAClB08K,wBAAyB/B,GACzBgC,wBAAyBlC,GACzB5lK,iBAAkBA,GAClBhJ,cAAeA,QAKZ,SAAVxR,SAAyCliB,IAArBmwL,MACnBtwL,eAAA,OAAKY,UAAU,yBAAwBd,SAAA,CACnB,MAAjBi1L,GACCn1L,cAACm3L,GAAkB,CACjBuN,uBAAwB5B,GACxB6B,uBAAwBpN,GACxBqN,qBAAsBlC,GACtBnG,eAAgBA,GAChBqG,eAAgBA,GAChBnH,kBAAmBA,EACnB7+J,oBAAkC,OAAb3I,SAAa,IAAbA,QAAa,EAAbA,GAAe2I,oBACpCggK,qBAAsBA,GACtBrI,oBAAqBA,GACrByI,0BAA2BA,KAGb,MAAjB7H,GACCn1L,cAAC6rL,GAAoB,CACnB4Q,kBAAmBA,GACnBtJ,qBAAsBA,GACtBn+J,cAAeA,GACfgE,iBAAkBA,GAClBtE,MAAOxC,GACPypK,aAAcA,GACdnL,gBAAiBA,GACjBv8J,cAAeA,GACfgJ,iBAAkBA,GAClBg4J,YAAaA,GACbC,eAAgBA,GAChBC,aAAcA,EACdxgK,eAAgBA,GAChB4F,kBAAmBA,GACnB6tC,aAAcA,EACdD,UAAWA,EACXwrH,eAAgBiP,GAChBjR,gBAAiBA,GACjBpB,yBAA0BG,GAC1Bv1J,yBAA0BwnK,GAC1B5R,2BAA4BiS,GAC5BtP,eAAgBA,GAChB0B,YAAaA,GACbC,WAAYA,GACZwP,kCAAmCrJ,EACnCrL,4BAA6BA,GAC7Bn/J,WAAYA,GACZ++J,qBAAsBA,GACtBl/E,WAAW,EACXg6B,iBAAkBA,GAClBD,cAAeA,GACfoqD,gBAAiBA,GACjBpJ,eAAgBA,GAChBmJ,eAAgBA,GAChBT,YAAahrB,GACbqrB,cAAeA,GACfH,kBAAmBA,GACnBD,oBAAqBA,GACrBzE,iBAAkBwN,GAClBpO,qBAAsBzjK,KAGR,MAAjB0pK,GACCn1L,cAACy1L,GAAsB,CACrBY,wBAAyB3C,GACzB+C,yBAA0BmM,GAC1BpM,uBAAwBviK,GACxBygC,iBAAkBA,GAClBm+C,UAAWs3D,GACXhiG,UAAWA,IAGG,MAAjBgtH,GACCn1L,cAACooB,GAAmB,CAClB08K,wBAAyB/B,GACzBgC,wBAAyBlC,GACzB5lK,iBAAkBA,GAClBhJ,cAAeA,KAGD,MAAjBkhK,GACCn1L,cAACstG,GAAgB,CACfI,mBAhrBlB,WACE,OAAoB,OAAbz5E,SAAa,IAAbA,QAAa,EAAbA,GAAey5E,kBACxB,EA+qBkBloF,SAAUkvC,aAOtB10D,cAAA,OAAKgB,UAAU,0BAAyBd,SACtCF,cAACiqB,IAAO,CAACnV,UAAU,MAAMoV,QAlqBR,WACvB,OACE9pB,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAClB,QAATuiB,IACCziB,cAACmzG,GAAmB,CAClBK,SAAUrkD,EACV1kD,WAAYwpB,GACZwwK,MAAO,kBAAM,IAAI,EACjBtyF,SAAUiQ,GACVlQ,SAAU,YAGJ,OAATzvF,IAAkBygL,OAGzB,EAmpB4DnxI,QAAQ,QAAO7xD,SACjEF,cAAA,UAAQgB,UAAU,wBAAuBd,SAAC,eAG9CF,cAACquE,GAAgB,SAIzB,ECx8Ca22H,GAAwB,SAACvlM,GACpC,OAAOO,cAACo7L,GAAa,GAowBvB,ECjyBa6J,GAAc,WAqJzB,OACEjlM,cAAA,SAmBJ,ECqDeklM,GA7NY,SAACzlM,GAAkB,IAADylE,EAC3CxR,EAMIphB,YAAQ,CACV/uB,KAAM,SACNm7C,cAAe,CACbj8D,MAAO,GACPg7D,aAAc,GACdu1G,iBAAkB,MAVpBpjK,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OAGbujC,GAFQgvB,EAARtuC,SACSsuC,EAATjzC,UACYizC,EAAZhvB,cASFltB,EAAoDC,oBAAkB,GAAKC,EAAApB,YAAAkB,EAAA,GAApE6lD,EAAkB3lD,EAAA,GAAE2qD,EAAqB3qD,EAAA,GAChDgJ,EAAsCjJ,oBAAkB,GAAKkJ,EAAArK,YAAAoK,EAAA,GAAtDykL,EAAWxkL,EAAA,GAAEykL,EAAczkL,EAAA,GAClCG,EAAoCrJ,oBAAkB,GAAKsJ,EAAAzK,YAAAwK,EAAA,GAApDukL,EAAUtkL,EAAA,GAAEukL,EAAavkL,EAAA,GAChCgB,EAA8BtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAA/CvC,EAAOwC,EAAA,GAAEhB,EAAUgB,EAAA,GAC1BC,EAAwCxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAAzDsjL,EAAYrjL,EAAA,GAAEsjL,EAAetjL,EAAA,GACpCwG,EAAoCjR,mBAAiB,IAAGkR,EAAArS,YAAAoS,EAAA,GAAjD+8K,EAAU98K,EAAA,GAAE+8K,EAAa/8K,EAAA,GAC1BwzC,EAAUja,cAAa,SAEdvd,EAAQzgC,GAAA,OAAAyhM,EAAAxhM,MAAC,KAADC,UAAA,UAAAuhM,IAoDtB,OApDsBA,EAAAvjM,YAAAC,IAAAC,MAAvB,SAAAC,EAAwBqB,GAAS,IAAA2gE,EAAA9kC,EAAA/8B,EAAAT,EAAA,OAAAI,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQ9B,GAPDsiM,GAAe,GACf/iI,GAAsB,GACtBijI,GAAc,GAEEM,EAAchiM,EAAKnB,QAEjC6iM,GAAc,KAEZ1hM,EAAKovK,iBAAiB/qK,OAAS,GAAC,CAAArF,EAAAE,KAAA,SACZ,OAAtBsiM,GAAe,GAAOxiM,EAAAoB,OAAA,qBAEbJ,EAAKovK,mBAAqBpvK,EAAK65D,aAAY,CAAA76D,EAAAE,KAAA,SACvB,OAA7Bu/D,GAAsB,GAAOz/D,EAAAoB,OAAA,kBAwB5B,OArBHgd,GAAW,GACLujD,EAAWxhE,OAAO2mB,SAAS86C,SAE7B/kC,EAAc,CAChBg5B,SAAU70D,EAAKnB,MACfojM,SAAUjiM,EAAKovK,iBACf8yB,KAAMliM,EAAK65D,aAEXqH,OAGMP,GAERn/D,QAAQe,IAAI,CACV4/L,MAAO,CACLttI,SAAU70D,EAAKnB,MACfqiE,OAGMP,KAEP3hE,EAAAE,KAAA,GAEmBqkE,GAAoB1nC,GAAa,KAAD,IAAhD/8B,EAAOE,EAAAmB,MACDqU,UAEVnW,GADIA,EAAUS,EAAQoiE,OAAOjjE,WAAW,cAAe+B,EAAKnB,QAC1CZ,WAAW,QAAS,MACtC2jM,GAAgB,GAChBE,EAAczjM,IAEVS,EAAQoiE,OAAOr8D,SAAS,gCAC1B+8L,GAAgB,GAChBE,EAAchjM,EAAQoiE,SAG1B9jD,GAAW,GAAO,yBAAApe,EAAAqB,OAAA,GAAA1B,EAAA,MACnB4B,MAAA,KAAAC,UAAA,CACD,IAAMwhM,EAAgB,SAACnjM,GACrB,OAAOuM,OAAOvM,GACXkI,cACAg4B,MACC,wJAEN,EAgIA,OACE3iC,cAAA,OAAKgB,UAAU,mCAAkCd,SAC7Csf,EAGAxf,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,eAFhD3lD,cAAAC,WAAA,CAAAC,SAAIqlM,EAhINnlM,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9jB,IAAI,QAC9B3lD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OACES,MAAO,CACL6L,QAAS,OACT+nC,cAAe,SACfC,eAAgB,UAChBx0C,SAAA,CAEFF,cAAA,KAAGgB,UAAU,cAAcH,MAAO,CAAE+L,SAAU,IAAK1M,SAChDulM,IAEHzlM,cAAA,UACEgB,UAAU,mBACVS,KAAK,SACLmU,QAAS,kBAAMumD,EAAQrzD,KAAK,SAAS,EAAC5I,SACvC,oLAUPF,cAAAC,WAAA,CAAAC,SACEF,cAAA,QAAM2kC,SAAUD,EAAaC,GAAUzkC,SACrCE,eAAA,OAAKY,UAAU,4BAA2Bd,SAAA,CACxCF,cAACkzK,KAAa,CACZpgK,KAAM,GACN8C,QAAS,kBAAMumD,EAAQrzD,KAAK,SAAS,EACrC9H,UAAW,gBAGbhB,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9jB,IAAI,QAE9B3lD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oFAE7BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,2CAC1BF,cAAC+R,IAAU,CACTR,KAAK,QACL3B,QAASA,EACToC,MAAO,CACLC,UAAU,EACVivD,QAAS,CACP14D,MAAO,eACP0M,QAAS,8CAGbhD,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAK,OACd7P,cAAA,SACEyB,KAAK,OACLT,UAAS,eAAAC,OAAiBE,EAAOsB,MAAQ,UAAY,IACrDsQ,YAAY,uFACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAOsB,OAASzC,cAAA,KAAGgB,UAAU,aAAYd,SAAC,kHACzCmlM,GACArlM,cAAA,KAAGgB,UAAU,aAAYd,SAAC,sIAG9BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,iEAC1BF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAK,OACd7P,cAAA,SACEyB,KAAK,WACLT,UAAS,eAAAC,OACPE,EAAOs8D,aAAe,UAAY,IAEpC1qD,YAAY,yGACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAOs8D,cACNz9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,sIAG9BE,eAAA,OAAKY,UAAU,kBAAiBd,SAAA,CAC9BF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,4GAC1BF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASA,EACToC,MAAO,CAAEC,UAAU,GACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAK,OACd7P,cAAA,SACEyB,KAAK,WACLT,UAAS,eAAAC,OACPE,EAAO6xK,mBAAqB31G,EACxB,UACA,IAENtqD,YAAY,qHACZN,SAAU5C,EAAM4C,UAChB,IAGLtR,EAAO6xK,kBAAoB31G,GAC1Br9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,gJAE1BilM,GAAe9nI,GACfr9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,+JAE1Bm9D,GACAr9D,cAAA,KAAGgB,UAAU,aAAYd,SAAC,oKAG9BF,cAAA,UAAQgB,UAAU,mBAAmBS,KAAK,SAAQvB,SAAC,6CAiB/D,E,6BCjEe8lM,I,OAnJiB,SAACvmM,GAAkB,IAADwmM,EAAAC,EAAAC,EA0BhD,OAJA35L,qBAAU,WAHV,IAAgCif,IAIPhsB,EAAMgsB,gBAH7BrmB,QAAQe,IAAI,kBAAmBslB,EAAiBhsB,EAAMksB,aAIxD,GAAG,CAAClsB,EAAMgsB,kBAGRzrB,cAAA,OAAAE,SACEE,eAAC+wE,KAAS,CACRnwE,UAAU,aACVgmF,aAAW,EACXx+E,MAAO/I,EAAMgsB,gBACbgzE,YAAU,EACVC,aAAa,QACb9W,UAAQ,EACRpoE,QAAS/f,EAAM2mM,WACfhnJ,aAAc,iBAAM,aAAa,EACjC+nC,WAAY,SAAC1uE,GACe1V,OAAO2mB,SAAS6qB,KAAKlrC,MAAM,KAC5B,GACzBtG,OAAOqe,KAAK,mBAADngB,OACUwX,EAAQ7U,KAAK8M,QAChC,SACA,aAEJ,EACAoC,KAAK,QACLmR,KAAM,EAAE/jB,SAAA,CAERF,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACmoB,EAAiBrJ,GAAO,OAAKA,EAAQjY,SAAW,CAAC,EACxDtJ,MAAO,CAAEohF,SAAU,EAAGC,UAAW,UAEE,8EAAlB,QAAlB+jH,EAAAxmM,EAAMksB,oBAAY,IAAAs6K,OAAA,EAAlBA,EAAoB1rI,aACnBv6D,cAACs4B,KAAM,CACLzoB,MAAM,2EACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iFAIlCiiF,UAAQ,IAE4B,oFAAlB,QAAlB+jH,EAAAzmM,EAAMksB,oBAAY,IAAAu6K,OAAA,EAAlBA,EAAoB3rI,aACtBv6D,cAACs4B,KAAM,CACLzoB,MAAM,iFACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,uFAIlCiiF,UAAQ,IAE4B,kEAAlB,QAAlBgkH,EAAA1mM,EAAMksB,oBAAY,IAAAw6K,OAAA,EAAlBA,EAAoB5rI,aACtBv6D,cAACs4B,KAAM,CACLzoB,MAAM,+DACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,qEAIlCiiF,UAAQ,IAGVniF,cAACs4B,KAAM,CACLxR,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SACxBT,EAAMksB,aAAa4uC,kBAM5B4nB,UAAQ,EACR7+E,KAAM,SAACmV,GAAY,OAAKA,EAAQhZ,EAAMksB,aAAa4uC,YAAY,IAInEv6D,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oFAKjB,cAAjBT,EAAMsH,QACL/G,cAACs4B,KAAM,CACLh1B,KAlIiB,SAAC4hB,GAC1B,OACEllB,cAAAC,WAAA,CAAAC,SACEF,cAACwnB,IAAM,CACL5Q,KAAK,cACL5V,UAAU,qBACV4U,QAAS,WACPnW,EAAM0vL,mBACJ1vL,EAAMgsB,gBAAgBvT,QAAO,SAACyoH,EAAWhwE,GACvC,OAAOzrC,EAASxU,SAAWiwH,EAAKjwH,MAClC,IAEJ,KAIR,EAmHUoW,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,WAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,4BAS7C,GCqHemmM,GA9PoB,SAAC5mM,GAAkB,IAAD6mM,EAAAL,EAAAC,EAAAC,EAAAI,EACnD/uL,EAAoDC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAjEgvL,EAAkB9uL,EAAA,GAAE+uL,EAAqB/uL,EAAA,GAChDgJ,EAAsCjJ,qBAAiBkJ,EAAArK,YAAAoK,EAAA,GAAhD2mB,EAAW1mB,EAAA,GAAE+lL,EAAc/lL,EAAA,GAgBlCnU,qBAAU,WACR,IACM66B,GAEA9jC,KAAKC,UAAU6jC,KAAiB9jC,KAAKC,UAAU/D,EAAMgsB,kBAEP,WAA1ChsB,EAAMksB,aAAapI,KAAK5Y,eAC1B0c,GAIR,CAAE,MAAOhiB,GAAQ,CACnB,GAAG,CAACgiC,IACJ76B,qBAAU,WACR,IACE,IACM5I,EADanE,EAAMknM,WACDzuL,QAAO,SAACtU,EAAWyV,GAAmB,IAADutL,EAC3D,GACEhjM,EAAKkpB,WAAWniB,cAAclC,SAC5B+9L,EAAmB77L,gBAErB/G,EAAKgqB,aAAajjB,cAAclC,SAC9B+9L,EAAmB77L,gBAErB/G,EAAKg5C,YAAYjyC,cAAclC,SAC7B+9L,EAAmB77L,gBAEe,QADnCi8L,EACDhjM,EAAKnE,EAAMksB,aAAa4uC,oBAAY,IAAAqsI,GAApCA,EACIj8L,cACDlC,SAAS+9L,EAAmB77L,eAE/B,OAAO,CAEX,IACAlL,EAAMiuL,oBAAmBhlL,YAAK9E,GAChC,CAAE,MAAOyB,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CACF,GAAG,CAACmhM,IAEJ,IAeMn/K,EAAS,WACTggB,GAAeA,EAAYp/B,OAAS,GACtC0hD,YAAsBtiB,EAAYx+B,KAAI,SAAC2tC,GAAC,OAAKA,EAAE9lC,MAAM,KAAGjN,MAAK,SAACojM,GAC5D,IAtEJC,EAsEUC,GAtEVD,EAsEyDD,EAAbx/J,EApExBx+B,KAAI,SAAC2tC,GACvB,IAAIwwJ,EAAcF,EAAgB1mL,MAAK,SAACm/B,GAAC,OAAKA,EAAE7uC,QAAU8lC,EAAE9lC,MAAM,IAMlE,OALmB,MAAfs2L,EACFxwJ,EAAEppB,cAAgB45K,EAAY55K,cAE9BopB,EAAEywJ,aAAe,KAEZzwJ,CACT,KA8DI/2C,EAAM0vL,mBAAmB4X,EAC3B,IAEFtnM,EAAMynM,+BAA8B,GACpCT,EAAsB,GACxB,EAEuB,SAAAU,IA4BtB,OA5BsBA,EAAA/kM,YAAAC,IAAAC,MAAvB,SAAAC,EAAwB6kM,GAAY,IAAAxlL,EAAA,OAAAvf,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACXukM,EAAiBD,GAAS,KAAD,EAEhD,GAFcxkM,EAAAmB,KAGZ,IACkB,OAAZqjM,EACFV,EAAmB,GAAEzlM,UACXmmM,EAED3mK,MAAMoH,QAAQu/J,IAGnB3mK,MAAMoH,QAAQu/J,IAGZ3mK,MAAMoH,QAAQu/J,GALpBV,EAAch+L,YAAK0+L,MAQXxlL,EAAa,IACb9Y,KAAKs+L,GACTV,EAAe,GAADzlM,OAAK2gB,KAZvB8kL,EAAe,GAgBnB,CAAE,MAAOrhM,GACPD,QAAQe,IAAI,aAAcd,EAC5B,CACD,wBAAAzC,EAAAqB,OAAA,GAAA1B,EAAA,MACF4B,MAAA,KAAAC,UAAA,CACD,IAAQsS,EAAgBkH,cAAhBlH,YAA2B,SAEpB2wL,EAAgB5iM,GAAA,OAAA6iM,EAAAnjM,MAAC,KAADC,UAAA,UAAAkjM,IA+B9B,OA/B8BA,EAAAllM,YAAAC,IAAAC,MAA/B,SAAAiC,EAAgCknB,GAAoB,IAAA/oB,EAAA02K,EAAAx3J,EAAApa,EAAA3B,EAAA,OAAAxD,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAG9B,GADhBs2K,GAAiB,EACjBx3J,EAAa,IACb6J,EAAgB,CAADjnB,EAAA1B,KAAA,SACb29B,MAAMoH,QAAQpc,GAChB7J,EAAM6J,EAEN7J,EAAI9Y,KAAK2iB,GAEFjkB,EAAI,EAAE,KAAD,OAAEA,EAAIoa,EAAI3Z,QAAM,CAAAzD,EAAA1B,KAAA,aACxB8e,EAAIpa,GAAG+/L,YAAY,CAAD/iM,EAAA1B,KAAA,SAKnB,OAJK+C,EAAW,CACfmE,WAAYvK,EAAMgL,WAAW3D,YAC7BoD,MAAO0X,EAAIpa,GAAG+/L,YAAY/lM,MAC1BgmM,MAAO5lL,EAAIpa,GAAG+/L,YAAY/+L,OAC3BhE,EAAA1B,KAAA,GACeinF,GAAoBlkF,GAAU,KAAD,IACjB,KAD5BnD,EAAO8B,EAAAT,MACK0jM,cACV/wL,EAAY,CACV1D,YAAatQ,EAAQ2H,QACrB6K,QAAS,8BACTzT,KAAM,UACN2V,SAAU,IAEZgiK,GAAQ,GACT,QAhB2B5xK,IAAGhD,EAAA1B,KAAA,uBAAA0B,EAAAR,OAAA,SAmB5Bo1K,GAAK,yBAAA50K,EAAAP,OAAA,GAAAM,EAAA,MAEfJ,MAAA,KAAAC,UAAA,CAED,OACEpE,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLF,OA9F0B,WAC9B,OACE9mB,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCF,cAAC8nD,KAAmB,CAClBK,kBAAkB,0BAClBI,WAAYi+I,EACZn+I,cAAe,SAACl8C,GAAM,OAAKs6L,EAAsBt6L,EAAE,EACnDs8C,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,+CAI/B,EAkFM/gC,QAASznB,EAAMioM,2BACf7mM,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCs2I,OAAQ,WACFluJ,EAAMgsB,iBACRi7K,EAAch+L,YAAKjJ,EAAMgsB,iBAE7B,EACApE,OAAQA,EACRwnF,iBAAe,EACf7tG,UAAU,qBACVimB,aAAW,EACXK,WAAW,EACX85B,WAAW,EACXD,UAAQ,EAAAjhD,SAERE,eAAC+wE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAA6B,QAAxB89L,EAAE7mM,EAAMguL,wBAAgB,IAAA6Y,OAAA,EAAtBA,EAAwBpuL,QAAO,SAAC/L,GAAM,OAAKA,CAAC,IACnDq7E,UAAWngD,EACXogD,kBAAmB,SAACt7E,IA1F1B,SAEqBjI,GAAAijM,EAAAhjM,MAAC,KAADC,UAAA,CAyFbu8E,CAASx0E,EAAE3D,MACb,EACAo4C,cAC6C,YAAzB,QAAlBqlJ,EAAAxmM,EAAMksB,oBAAY,IAAAs6K,OAAA,EAAlBA,EAAoB1iL,KAAK5Y,eACrB,SACA,WAEN4mE,QAAQ,aACRC,iBAAiB,SACjBH,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhB8uE,UAAU,aACVC,UAAW,EAAEngJ,SAAA,CAEbF,cAACs4B,KAAM,CACLsoB,cAC6C,YAAzB,QAAlBslJ,EAAAzmM,EAAMksB,oBAAY,IAAAu6K,OAAA,EAAlBA,EAAoB3iL,KAAK5Y,eACrB,SACA,aAG6B,4BAAlB,QAAlBw7L,EAAA1mM,EAAMksB,oBAAY,IAAAw6K,OAAA,EAAlBA,EAAoB5rI,aACnBv6D,cAACs4B,KAAM,CACLzoB,MAAM,oBACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SACN,QADMqmM,EACxB9mM,EAAMksB,oBAAY,IAAA46K,OAAA,EAAlBA,EAAoBhsI,kBAK7B4nB,UAAQ,IAGVniF,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,sEAIjCiiF,UAAQ,IAIZniF,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wEAKnCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0FAS7C,ECvJeynM,GA7GkB,SAACloM,GACF,SAAA2wK,IAO7B,OAP6BA,EAAAhuK,YAAAC,IAAAC,MAA9B,SAAAC,IAAA,IAAA8xC,EAAAC,EAAA,OAAAjyC,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACMuxC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KAC9C5mB,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,+BAAArzC,OAA8BxB,EAAMmoM,wBAAwB59L,YACtE,UACA,wBAAApH,EAAAqB,OAAA,GAAA1B,EAAA,MACH4B,MAAA,KAAAC,UAAA,CAKD,OAJAoI,qBAAU,WACRpH,QAAQe,IAAI1G,EAAMsH,OAAQ,eAC5B,GAAG,IAGD/G,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,oBAAmBd,SAAA,CAChCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,2BAI3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0LAO5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BE,eAAA,OACES,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,MAAOka,UAAW,QAASzuD,SAAA,CAEpEF,cAAC++C,IAAQ,CACP38B,QAAS3iB,EAAMooM,oBACfr/L,MAAO/I,EAAMmoM,wBACbn1L,SAAU,SAACtG,GAAC,OAAK1M,EAAMqoM,2BAA2B37L,EAAE3D,MAAM,EAC1D0P,QAAM,EACN08K,uBAAwB,CACtBC,SAAU,IAEZC,WAAY,CACVloL,SAAU,OACV8nC,eAAgB,SAElB6lB,YAAY,uBACZxnD,YACEtT,EAAMmoM,wBACFnoM,EAAMmoM,wBAAwB57G,qBAC9B,uBAENhrF,UAAU,8CACVH,MAAO,CACLwW,aAAc,MACd0I,OAAQ,GACRnT,SAAU,OACV+I,MAAO,OAETxC,UAAW1T,EAAMgS,aAElBhS,EAAMmoM,yBACL5nM,cAAA,OAAAE,SACEF,cAACsuE,GAAgB,CACfE,cAAc,UACdtmB,aACEloD,cAACqyK,KAAS,CAACv/J,KAAM,OAAQjS,MAAO,CAAEk5F,YAAa,SAEjDrxC,aArEkC,WACpB,OAAA0nH,EAAAjsK,MAAC,KAADC,UAAA,EAqEdgkD,cAAe,CACb/wC,aAAc,MACdiH,OAAQ,6BACR1R,SAAU,OACV+I,MAAO,aAMG,UAAjBlW,EAAMsH,QACU,WAAjBtH,EAAMsH,QACW,WAAjBtH,EAAMsH,OACJ/G,cAACsuE,GAAgB,CACfpmB,aAAc,cACdC,kBAAmB,yBACnBO,aAAc,WACZtjD,QAAQe,IAAI1G,EAAMsH,OAAQ,gBAC1BtH,EAAMqoM,2BAA2B,KACnC,EACA1/I,cAAe,CACb59B,gBAAiB,MACjBlM,OAAQ,gBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,UAIZ/f,cAAAC,WAAA,aAOd,EC+5Ce8nM,GA55C4B,SAAH5lM,GA2EjC,IAADyX,EAAAouL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EA1EJ54I,EAACttD,EAADstD,EACAhvC,EAASte,EAATse,UACA2jB,EAAuBjiC,EAAvBiiC,wBACAG,EAAUpiC,EAAVoiC,WACA95B,EAAUtI,EAAVsI,WACA65B,EAAaniC,EAAbmiC,cACA7yB,EAAUtP,EAAVsP,WACA62L,EAAenmM,EAAfmmM,gBACAhR,EAAcn1L,EAAdm1L,eACA1nL,EAAOzN,EAAPyN,QACA60B,EAAQtiC,EAARsiC,SACAD,EAAuBriC,EAAvBqiC,wBACAsb,EAAS39C,EAAT29C,UACAvF,EAAUp4C,EAAVo4C,WACAguJ,EAAapmM,EAAbomM,cACA7jK,EAAYviC,EAAZuiC,aACAU,EAAwBjjC,EAAxBijC,yBACAT,EAAQxiC,EAARwiC,SACA6jK,EAAkBrmM,EAAlBqmM,mBACAC,EAAetmM,EAAfsmM,gBACAC,EAAcvmM,EAAdumM,eACAtlB,EAAUjhL,EAAVihL,WACAD,EAAOhhL,EAAPghL,QACAwlB,EAAKxmM,EAALwmM,MACApU,EAAmBpyL,EAAnBoyL,oBACAqU,EAAoBzmM,EAApBymM,qBACAhd,EAAczpL,EAAdypL,eACAzqL,EAAMgB,EAANhB,OACA6zL,EAAe7yL,EAAf6yL,gBACAnqD,EAAgB1oI,EAAhB0oI,iBACAD,EAAazoI,EAAbyoI,cACAn/G,EAAetpB,EAAfspB,gBACA0jK,EAAkBhtL,EAAlBgtL,mBACAzB,EAAmBvrL,EAAnBurL,oBACAD,EAAgBtrL,EAAhBsrL,iBACA9hK,GAAYxpB,EAAZwpB,aACAk8K,GAAmB1lM,EAAnB0lM,oBACAC,GAA0B3lM,EAA1B2lM,2BACAF,GAAuBzlM,EAAvBylM,wBACAiB,GAAiB1mM,EAAjB0mM,kBACAnB,GAA0BvlM,EAA1BulM,2BACAR,GAA6B/kM,EAA7B+kM,8BACAh1K,GAAQ/vB,EAAR+vB,SACA2S,GAAK1iC,EAAL0iC,MACAjzB,GAAezP,EAAfyP,gBACAkzB,GAAc3iC,EAAd2iC,eACAC,GAAiB5iC,EAAjB4iC,kBACAjT,GAAW3vB,EAAX2vB,YACAkT,GAAe7iC,EAAf6iC,gBACAn+B,GAAa1E,EAAb0E,cACA81B,GAAYx6B,EAAZw6B,aACAvX,GAAQjjB,EAARijB,SACAzT,GAAexP,EAAfwP,gBACAD,GAAUvP,EAAVuP,WACAuzB,GAAgB9iC,EAAhB8iC,iBACAC,GAAmB/iC,EAAnB+iC,oBACAC,GAAuBhjC,EAAvBgjC,wBACAI,GAAYpjC,EAAZojC,aACAF,GAAcljC,EAAdkjC,eACAC,GAAiBnjC,EAAjBmjC,kBACA5Z,GAAavpB,EAAbupB,cACA8Z,GAAoBrjC,EAApBqjC,qBACA4gK,GAAUjkM,EAAVikM,WACA3gK,GAAmBtjC,EAAnBsjC,oBACAnmB,GAAYnd,EAAZmd,aACAomB,GAAevjC,EAAfujC,gBACA5rB,GAAW3X,EAAX2X,YACA6rB,GAAaxjC,EAAbwjC,cACAojB,GAAW5mD,EAAX4mD,YACAC,GAAY7mD,EAAZ6mD,aACAk6H,GAAe/gL,EAAf+gL,gBACA3mC,GAAYp6I,EAAZo6I,aACA32G,GAAMzjC,EAANyjC,OACAC,GAAW1jC,EAAX0jC,YAEAruB,GAA4DC,oBAAS,GAAMC,GAAApB,YAAAkB,GAAA,GAApEsxL,GAAsBpxL,GAAA,GAAEqxL,GAAyBrxL,GAAA,GACxDgJ,GAA8DjJ,oBAAS,GAAMkJ,GAAArK,YAAAoK,GAAA,GAAtEsoL,GAAuBroL,GAAA,GAAEsoL,GAA0BtoL,GAAA,GAC1D2E,GAAgCC,cAAgBg9B,GAAAjsC,YAAAgP,GAAA,GAAzCE,GAAQ+8B,GAAA,GACfzhC,IAD4ByhC,GAAA,GACY9qC,oBAAS,IAAMsJ,GAAAzK,YAAAwK,GAAA,GAAhDooL,GAAWnoL,GAAA,GAAE47K,GAAgB57K,GAAA,GACpCgB,GAAsCtK,oBAAS,GAAMuK,GAAA1L,YAAAyL,GAAA,GAA9ConL,GAAUnnL,GAAA,GAAEonL,GAAepnL,GAAA,GAClCC,GAA8BxK,oBAAS,GAAMyK,GAAA5L,YAAA2L,GAAA,GAAtConL,GAAMnnL,GAAA,GAAEonL,GAAWpnL,GAAA,GAC1BwG,GAA8BjR,oBAAS,GAAMkR,GAAArS,YAAAoS,GAAA,GAAtC6gL,GAAM5gL,GAAA,GAAE6gL,GAAW7gL,GAAA,GAC1BC,GAAwCnR,oBAAS,GAAMoR,GAAAvS,YAAAsS,GAAA,GAAhD6gL,GAAW5gL,GAAA,GAAE6gL,GAAgB7gL,GAAA,GACpC2I,GAAoD/Z,mBAAiB,IAAGga,GAAAnb,YAAAkb,GAAA,GAAjEm4K,GAAkBl4K,GAAA,GAAEm4K,GAAqBn4K,GAAA,GAChDG,GAAgDna,mBAAc,IAAGoa,GAAAvb,YAAAsb,GAAA,GAA1Di4K,GAAgBh4K,GAAA,GAAEi4K,GAAmBj4K,GAAA,GAC5CG,GAA0Cva,qBAAewa,GAAA3b,YAAA0b,GAAA,GAAlD+3K,GAAa93K,GAAA,GAAE+3K,GAAgB/3K,GAAA,GACtCG,GAAgC3a,qBAAkB4a,GAAA/b,YAAA8b,GAAA,GAA3C1N,GAAQ2N,GAAA,GAAE1N,GAAW0N,GAAA,GAC5BG,GAAgC/a,qBAAkBgb,GAAAnc,YAAAkc,GAAA,GAA3CpJ,GAAQqJ,GAAA,GAAE02F,GAAW12F,GAAA,GACtBhK,GAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAClE+lB,GAAqBP,GAAU1D,kBACrC6N,GAA0Cnb,qBAAmBob,GAAAvc,YAAAsc,GAAA,GAAtDq3K,GAAap3K,GAAA,GAAEq3K,GAAgBr3K,GAAA,GACtCG,GAAoCvb,mBAAgB6/K,GAAerkK,GAAA3c,YAAA0c,GAAA,GAAhD4hC,IAAF3hC,GAAA,GAAeA,GAAA,IAChCI,GAAgC5b,oBAAc,GAAM6b,GAAAhd,YAAA+c,GAAA,GAA7CknH,GAAQjnH,GAAA,GAAEknH,GAAWlnH,GAAA,GAC5BivC,GAA8B9qD,mBAAgBgxL,EAAgBz5I,IAAGwT,GAAAlsD,YAAAisD,GAAA,GAA1Dk4E,GAAOj4E,GAAA,GAAEk4E,GAAUl4E,GAAA,GAC1BG,GAA8BlrD,mBAAgBgxL,EAAgBphJ,MAAKub,GAAAtsD,YAAAqsD,GAAA,GAA5Dg4E,GAAO/3E,GAAA,GAAEg4E,GAAUh4E,GAAA,GAClBjrD,GAAkBtR,eAAlBsR,cAERnL,qBAAU,WACR,GAAIi8L,EAAgBz5I,GAAI,CACtB,IAAIs+B,EAAWm7G,EAAgBz5I,GAAG92C,QAChC,SAAC/L,EAAQ8M,GAAW,OAAKA,GAAO,CAAC,IAEnCyhI,GAAWptD,EACb,CACA,GAAIm7G,EAAgBphJ,KAAM,CACxB,IAAIimC,EAAWm7G,EAAgBphJ,KAAKnvC,QAClC,SAAC/L,EAAQ8M,GAAW,OAAKA,GAAO,CAAC,IAEnC2hI,GAAWttD,EACb,CACF,GAAG,CAACm7G,EAAgBz5I,GAAIy5I,EAAgBphJ,OAExC76C,qBAAU,WACR+/J,KAmBF,WACE,IAGY49B,EAHRC,EAASzB,EAGb,GAFAvjM,QAAQe,IAAIikM,GAERA,GACmC,UAApB,QAAbD,EAAAC,EAAOh2H,cAAM,IAAA+1H,OAAA,EAAbA,EAAex/L,eAA0B,CAC3C,GAAIy/L,EAAO3+J,QAAU2+J,EAAOjvL,OAI1B,IAHA,IAAMmlL,EAAW8J,EAAO3+J,OAAOpiC,MAAM,KAE/Bk3L,EAAe6J,EAAOjvL,OAAO9R,MAAM,KAChCgQ,EAAQ,EAAGA,EAAQinL,EAASr4L,OAAQoR,IAAS,CACpD,IAAMggB,EAAUinK,EAASjnL,GACnBizE,EAAWi0G,EAAalnL,GAC1BmnL,EAAuB7sL,SAASC,eAClCylB,GAEEmnK,IACFA,EAAgB9hH,UAAY4N,EAEhC,CAKF,GAHsB,SAAlB89G,EAAOj2H,QACTwoH,IAAiB,GAEG,KAAlByN,EAAO/1H,QAAmC,OAAlB+1H,EAAO/1H,OAAiB,CAClD,IAAMg2H,EAAcD,EAAO/1H,OAAOhrE,MAAM,KAEpCghM,EAAYpiM,QAAU,GACF,QAAlBoiM,EAAY,IACdjB,IAAgB,GAGhBiB,EAAYpiM,QAAU,GACD,SAAnBoiM,EAAY,IACdf,IAAY,GAGZe,EAAYpiM,QAAU,GACD,SAAnBoiM,EAAY,IACdb,IAAY,GAGZa,EAAYpiM,QAAU,GACD,SAAnBoiM,EAAY,IACdX,IAAiB,EAGvB,CACF,CAEJ,CApEEY,EACF,GAAG,IAEH99L,qBAAU,WACRquI,IACF,GAAG,IAEH,IAAMA,GAAc,WAClB,IACIC,EADS,8BACet4H,KAAKu4H,UAAUC,WAC3CR,GAAYM,GACRA,EACF11I,QAAQe,IAAI,iBAEZf,QAAQe,IAAI,UAEhB,EAsDA,SAAS4tL,KACc,IAAjBgW,IACFC,GAAiB,IAEnBjB,IAA2BD,GAC7B,CAEA,IAgBMyB,GAA0B,SAAC3qH,GAC/BpsE,WAAUpR,YAAAC,IAAAC,MAAC,SAAAC,IAAA,IAAAg7I,EAAA5hD,EAAAv/D,EAAA,OAAA/5B,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,YAELy5I,GAAat0I,QAAU,GAAC,CAAArF,EAAAE,KAAA,QAIzB,OAHG64F,EAAM,CACRtrE,cAAc,EACdD,OAAQ,kBACTxtB,EAAAE,KAAA,EACsB2vD,EAAekpC,GAAK,KAAD,EAApCv/D,EAAQx5B,EAAAmB,KACdm/K,GAAgB9mJ,GAAU,OAEvBwjD,EAAMrS,MAAMxhB,OAAO9jD,OAKtBs1I,EAAoBhB,GAAarkI,QAAO,SAACm9C,GACvC,QACEA,EAAcrqD,OAAOL,cAAclC,SACjCm3E,EAAMrS,MAAM5iE,mBAKd0qD,EAAcE,OAAO5qD,cAAclC,SACjCm3E,EAAMrS,MAAM5iE,mBAKd0qD,EAAckC,eAAe5sD,cAAclC,SACzCm3E,EAAMrS,MAAM5iE,mBAKd0qD,EAAcnqD,eAAeP,cAAclC,SACzCm3E,EAAMrS,MAAM5iE,qBAFT,IAOT,IA9BI4xI,GAAat0I,OAAS,IACxBs1I,EAAiB70I,YAAO6zI,KAgC5ButD,GAAoBvsD,GAAmB,wBAAA36I,EAAAqB,OAAA,GAAA1B,EAAA,KACtC,IACL,EACAugE,GAA0CrrD,oBAAS,GAAKsrD,GAAAzsD,YAAAwsD,GAAA,GAAjDu5E,GAAat5E,GAAA,GAAEu5E,GAAgBv5E,GAAA,GAAmB,SAC1CynI,GAA4BtmM,GAAA,OAAAumM,GAAAtmM,MAAC,KAADC,UAAA,UAAAqmM,KAmB1C,OAnB0CA,GAAAroM,YAAAC,IAAAC,MAA3C,SAAAsC,EAA4CnD,GAAY,IAAAk6F,EAAAv/D,EAAA,OAAA/5B,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAUpD,GATE+mM,IACFC,GAAoB,IAEtBb,IAA4BD,IAC5B5jM,QAAQe,IAAI,CAAE1E,SACdmoM,GAAsBnoM,GAClBk6F,EAAM,CACRtrE,cAAc,EACdD,OAAQ,mBAENisH,GAAc,CAADx3I,EAAA/B,KAAA,cACXy5I,GAAat0I,QAAU,GAAC,CAAApD,EAAA/B,KAAA,gBAAA+B,EAAA/B,KAAA,EACH2vD,EAAekpC,GAAK,KAAD,EAApCv/D,EAAQv3B,EAAAd,KACdm/K,GAAgB9mJ,GAChBw4B,GAAcx4B,GAAU,QAE1BkgH,IAAkBD,IAAe,yBAAAx3I,EAAAZ,OAAA,GAAAW,EAAA,MAEpCT,MAAA,KAAAC,UAAA,CAED,SAAS65I,GAAkBr+D,EAAYn+E,GAChCm+E,IAGQ,OAATn+E,EACF+mM,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ8xB,GAAG,GAAD/tD,OAAAyH,YAAM+/L,EAAgBz5I,IAAEtmD,YAAKk3E,KAAM,IAErB,SAATn+E,GACT+mM,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZmqB,KAAK,GAADpmD,OAAAyH,YAAM+/L,EAAgBphJ,MAAI3+C,YAAKk3E,KAAM,IAG/C,CAuCA,SAASs9D,GAA6Bt9D,EAAYn+E,GAChD,IAAMkb,EAASijE,EAAMp3E,MAAMK,KAAI,SAACN,GAC9B,MAAsB,kBAATA,EACW,OAAlBid,GAASuzC,KACJxwD,EAAKgtD,OAELhtD,EAAKyC,OAGPzC,CAEX,IAEA,GAAa,OAAT9G,EAAe,CACjB,IAAIosH,EAAc46E,EAAgBz5I,GAClC6+D,EAAWnlH,YAAOiU,GAClB6rL,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ8xB,GAAEtmD,YAAMmlH,IAAY,GAExB,MAAO,GAAa,SAATpsH,EAAiB,CAC1B,IAAIosH,EAAc46E,EAAgBphJ,KAClCwmE,EAAWnlH,YAAOiU,GAClB6rL,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZmqB,KAAI3+C,YAAMmlH,IAAY,GAE1B,CACF,CAEyB,SAAAxkG,KA6DxB,OA7DwBA,GAAAjnB,YAAAC,IAAAC,MAAzB,SAAA2C,EAA0B2f,GAAS,IAAA0E,EAAAC,EAAAC,EAAA,OAAAnnB,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OACb,OAAJ8hB,QAAI,IAAJA,OAAI,EAAJA,EAAMvb,MAAM,KACtBigB,EAAQ1E,EACS,MAAnBA,EAAK6E,OAAO,IAAeT,GAEzBpE,EADA,IAAMA,EAER,GAEE2E,EAAWxmB,OAAO2mB,SAASH,SAC7BP,GACEM,EAAMpa,WAAW8Z,KACnB5jB,QAAQe,IAAI,QAASmjB,GAErBvmB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,gBAElClkB,QAAQe,IAAI,QAAQ,GAADlF,OAAK+nB,IAAkB/nB,OAAGqoB,IAE7CvmB,OAAOqe,KAAK,GAADngB,OAAI+nB,IAAkB/nB,OAAGqoB,GAAS,SAAU,eAEhDb,GAAUzD,SACbwE,EAAQE,SAASE,KACD,mBAAlBF,SAASC,MACPH,IACFf,GAAUzD,QAAUyD,GAAUzD,QAAU,IAAMwE,GAIhDF,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKwnB,GAAUzD,SAAO/jB,OAAGqoB,GACpC,SACA,eAGMb,GAAUzD,SACpBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cACnC,wBAAApkB,EAAAjB,OAAA,GAAAgB,EAAA,MACFd,MAAA,KAAAC,UAAA,CAED,IAAMmoK,GAAe,eAAA5nK,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAmmM,EAAA1yL,EAAA2yL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA5oM,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACOmV,eAAmB,KAAD,EAe9C,OAfKyyL,EAAclmM,EAAAT,KAChBiU,EAAoB,GACpB2yL,EAAoB,GACpBD,GACqBA,EAAexyL,QAAO,SAAC/L,GAC5C,MAAwB,eAAjBA,EAAEgM,aAA8C,IAAfhM,EAAEiM,QAC5C,IACevP,KAAI,SAACqiM,GAClB,IACIC,EADqBD,EAAWz/J,OAAOpiC,MAAM,KACnB+W,MAAK,SAACjU,GAElC,OADqBA,IAAM1B,EAAWwnL,aAExC,IACAj6K,EAAWlP,KAAKqiM,EAClB,IACD3mM,EAAA1B,KAAA,EAC4B+sB,aAAc,yBAAqBtvB,GAAW,KAAD,GAApEqqM,EAAcpmM,EAAAT,QAEZ8mM,EAASD,EAAexqL,MAAK,SAACjU,GAElC,OADiBA,EAAEi/L,sBAAwB3gM,EAAWwnL,aAExD,IACA0Y,EAAW7hM,KAAK+hM,IAGd7yL,EAAW,IAAM2yL,EAAW,KAC1B3yL,EAAW,KAAO2yL,EAAW,GAAGS,qBAClClB,IAAiB,GAAMY,EAErBH,EAAW,GAAG/yB,WAAWvuK,MAAM,KAAI0hM,EAAAz0L,YAAAw0L,EAAA,GAD9BE,EAAaD,EAAA,GAAEE,EAAaF,EAAA,GAEnCpmL,GAAYqmL,GACZ7hF,GAAY8hF,IAEZf,IAAiB,IAEpB,yBAAA1lM,EAAAP,OAAA,GAAAM,EAAA,KACF,kBArCoB,OAAAI,EAAAR,MAAA,KAAAC,UAAA,KAsCfq5I,GAAmB,CACvBl6G,QAAS,OACTi+F,UAAW,QAGPoc,GAA8B,CAClC,CACE/oI,MAAO,IACP4E,UAAW,IACXxL,IAAK,IACLiE,OAAQ,SAACiH,EAAGC,EAAaH,GACvB,OACEjZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAM+Y,EAAM,KAGlB,GAEF,CACEpE,MAAO,OACP4E,UAAW,OACXxL,IAAK,OACLiE,OAAQ,SAACiH,EAAGC,GACV,OACEpZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAMkZ,KAGZ,GAGF,CACEvE,MACE7U,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SAAC,WAE7D+N,IAAK,SACLiE,OAAQ,SAACiH,EAAGC,GAAM,OAChBpZ,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SACxDF,cAACwnB,IAAM,CACL5Q,KAAK,cACL5V,UAAU,qBACV4U,QAAS,WACP8nI,GAAWtkI,EAAQ,KACrB,KAEE,IAKN2kI,GAA8B,CAClC,CACElpI,MAAO,IACP4E,UAAW,IACXxL,IAAK,IACLiE,OAAQ,SAACiH,EAAGC,EAAaH,GACvB,OACEjZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAM+Y,EAAM,KAGlB,GAEF,CACEpE,MAAO,OACP4E,UAAW,OACXxL,IAAK,OACLiE,OAAQ,SAACiH,EAAGC,GACV,OACEpZ,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAAE,SAAMkZ,KAGZ,GAGF,CACEvE,MACE7U,cAAA,OAAKa,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,UAAWx0C,SAAC,WAE7D+N,IAAK,SACLiE,OAAQ,SAACiH,EAAGC,GAAM,OAChBpZ,cAAC2e,KAAK,CAAC7L,KAAK,SAAQ5S,SAClBF,cAACwnB,IAAM,CACL5Q,KAAK,cACL5V,UAAU,qBACV4U,QAAS,WACP8nI,GAAWtkI,EAAQ,OACrB,KAEI,IASRskI,GAAa,SAAC99D,EAAYn+E,GAC9B,GAAa,OAATA,EAAe,CACjB,IAAM6rF,EAAWm7G,EAAgBz5I,GAAG92C,QAAO,SAAC/L,GAAM,OAAKA,IAAMyzE,CAAK,IAClE4oH,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ8xB,GAAEtmD,YAAM4kF,IAAS,IAGnBv7C,KAAM4rG,YACR,MAAO,GAAa,SAATl8I,EAAiB,CAC1B,IAAM6rF,EAAWm7G,EAAgBphJ,KAAKnvC,QAAO,SAAC/L,GAAM,OAAKA,IAAMyzE,CAAK,IACpE4oH,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZmqB,KAAI3+C,YAAM4kF,IAAS,IAGrBv7C,KAAM4rG,YACR,CACF,EAEMK,GAAW,SAACv8I,GAChBswC,KAAM6M,KAAK,CACT/pC,MACE7U,cAAAC,WAAA,CAAAC,SACY,OAATuB,EACCzB,cAAAC,WAAA,CAAAC,SACEF,cAAA,KAAGa,MAAO,CAAE+L,SAAU,OAAQI,WAAY,QAAS9M,SAAC,sGAKtDF,cAAAC,WAAA,CAAAC,SACEF,cAAA,KAAGa,MAAO,CAAE+L,SAAU,OAAQI,WAAY,QAAS9M,SAAC,sFAO5DgqB,QACElqB,cAAA,OAAAE,SACEE,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACi/C,KAAK,CACJzmC,QAAkB,OAAT/W,EAAgBm8I,GAAYG,GACrCtgH,WACW,OAATh8B,EAAgBgnM,EAAgBz5I,GAAKy5I,EAAgBphJ,YAM/DxmD,MAAO48I,GACPt8F,UAAU,GAEd,EAEA,OACE/gD,eAAA,OACEwV,QAAS,WACPxQ,QAAQe,IAAI,wBAAyBsiM,EACvC,EAAEvoM,SAAA,CAEFE,eAACuxC,KAAG,CAAC3wC,UAAU,4BAA2Bd,SAAA,CACxCE,eAACC,KAAG,CAACC,GAAI,EAAGK,GAAI,GAAIE,MAAO,CAAE8L,WAAY,UAAWzM,SAAA,CAClDF,cAAA,OAAKgB,UAAU,gCAA+Bd,SAC5CF,cAAA,OAAKgB,UAAU,yBAAwBd,SAAEuvD,EAAE,mBAE7CrvD,eAAA,KAAGY,UAAU,iCAAgCd,SAAA,CACnB,iBAAb,OAAVuK,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,SACX0D,EAAWwnL,cAAgB,KAAOxnL,EAAWwiB,cACvB,iBAAb,OAAVxiB,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,SAA4B0D,EAAWwiB,kBAEnC,IAAlBg9K,GACCjqM,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAC3wC,UAAU,IAAGd,SAAA,CAChBE,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACtB,IACDF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,oGAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACwnB,IAAM,CACLhmB,MAAOkjB,GACP9O,QAAS,YAhS1B,SAEwBnR,GAAA4kB,GAAAllB,MAAC,KAADC,UAAA,CA+RL+lB,CAAWf,GACb,EACApoB,UAAU,IACVS,KAAK,SACLZ,MAAO,CACLwW,aAAc,MACdmT,gBAAiB,mBACjBlM,OAAQ,6BACRmM,UAAW,OACX9U,MAAO,OACPoK,OAAQ,OACRzI,OAAQ,cAOlBtX,cAAAC,WAAA,OAGJG,eAACC,KAAG,CAACC,GAAI,EAAGK,GAAI,GAAIK,UAAU,8BAA6Bd,SAAA,CACzDF,cAACq2G,KAAK,CACJ7tG,MAAOinD,EAAY,OAAVhlD,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACrB/F,UAAU,qBACVH,MAAO,CACLkM,MAAO,UACPi3B,WACyB,sBAAb,OAAVv5B,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACR,UACuB,YAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACuB,WAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACuB,eAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACuB,iBAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACuB,YAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACuB,eAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,SAEW,cAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QADZ,UAGuB,sBAAb,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,QACZ,UACA,MAGV/G,cAAA,KAAGgB,UAAU,2BAA0Bd,SAAY,OAAVuK,QAAU,IAAVA,OAAU,EAAVA,EAAYynL,oBAIzDlyL,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACM,GAAI,GAAIF,GAAI,GAAIqgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAA,KAAGgB,UAAU,wBAGjBZ,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACvCE,eAACuxC,KAAG,CAAC3wC,UAAU,IAAGd,SAAA,CAChBF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,0BACH3R,UAAU,4BAA2Bd,SACtC,iBAGDF,cAAA,KACE2S,GAAG,0BACH3R,UAAU,yBAAwBd,SACnC,wHAOPF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,GAAIM,GAAI,EAAEV,SACxBF,cAAA,OACEgB,UAAU,+BACVH,MAAO,CAAEkM,MAAO,UAAWH,SAAU,QAAS1M,SAE7C0Q,aACW,OAAVnG,QAAU,IAAVA,OAAU,EAAVA,EAAYw9F,aACC,OAAbtwF,SAAa,IAAbA,IAAyB,QAAZiC,EAAbjC,GAAe2qF,kBAAU,IAAA1oF,OAAZ,EAAbA,EAA2B6xB,eAKnCrrC,eAACuxC,KAAG,CAAC3wC,UAAU,IAAGd,SAAA,CAChBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QACE2S,GAAG,sBACH3R,UAAU,4BAA2Bd,SACtC,YAGDE,eAAA,QAAMY,UAAU,6CAA4Cd,SAAA,CACzD,IAAI,UAITF,cAAA,KAAG2S,GAAG,sBAAsB3R,UAAU,yBAAwBd,SAAC,gDAOrEF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WAAsB,OAAV99C,QAAU,IAAVA,OAAU,EAAVA,EAAY0nL,aACxB1pI,iBAAkB,SAClBD,eAAgB/2C,EAChB22C,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAcqrI,GACdprI,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAcqrI,GACd3rI,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAgB/2C,UAIpB03L,IACA/oM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,qBACH3R,UAAU,4BAA2Bd,SACtC,WAGDF,cAAA,KACE2S,GAAG,qBACH3R,UAAU,yBAAwBd,SACnC,oCAOPF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAC8nD,KAAmB,CAClBM,cAAe,CAAEroC,OAAQ,IACzBooC,kBAAmB,+BACnBM,iBAAkB,GAClBD,eAAe,EACfD,WACEgsI,GAAiC,OAAV9pL,QAAU,IAAVA,GAAqB,QAAXu9L,EAAVv9L,EAAYG,iBAAS,IAAAo9L,GAArBA,EAAuBlpI,QAChC,OAAVr0D,QAAU,IAAVA,GAAqB,QAAXw9L,EAAVx9L,EAAYG,iBAAS,IAAAq9L,OAAX,EAAVA,EAAuBnpI,QACvB,aAQhB9+D,cAAC2xC,KAAG,CAAC3wC,UAAU,GAAEd,UACbmpM,IACAjpM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,EAAEV,SACjBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,4BAA2Bd,SACtC,OAGDF,cAAA,KAAG2S,GAAG,iBAAiB3R,UAAU,yBAAwBd,SAAC,0CAOhEF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,GAAGV,SAClBE,eAAA,OACEY,UAAU,gBACVH,MAAO,CACLkf,OAAO,GAAD9e,QACc,QAAlBinM,EAAAO,EAAgBz5I,UAAE,IAAAk5I,OAAA,EAAlBA,EAAoBjgM,QAAS,EAAI,OAAS,SAE5C/H,SAAA,CAEFF,cAACigF,KAAY,CACXz3E,MAAO+xI,GAAWE,GAAUguD,EAAgBz5I,GAC5CkxB,YAAa2pH,GACb1pH,eAAgBoqH,GAChB16L,MAAO,SACP7O,UAAU,2BACV2uF,UAAQ,EACRtY,eAAe,iCACflkE,WACG1B,KACA8oI,KAA8B,QAAlB4tD,EAAAM,EAAgBz5I,UAAE,IAAAm5I,OAAA,EAAlBA,EAAoBlgM,QAAS,IAI5CwnF,WAAY,SAACtjF,GACI,UAAXA,EAAEmH,OAEJ2qI,GADW9xI,EAAEuG,OAAOlK,MAAMa,MAAM,KACR,MACxB8C,EAAEuG,OAAOlK,MAAQ,GAErB,EACAiK,SAAU,SAACtG,GACT+wI,GAA6B/wI,EAAG,KAClC,IAEDouI,IAAYkuD,EAAgBz5I,GAAG/mD,OAAS,GACvC7H,eAAA,UACEY,UAAU,gBACV4U,QAAS,WACPooI,GAAS,KACX,EAAE99I,SAAA,CACH,QACOuoM,EAAgBz5I,GAAG/mD,OAAS,EAAE,OAGxCjI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAM8hJ,GAA6B,KAAK,EACtDpiJ,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAgB/2C,cAQ5BzR,cAAC2xC,KAAG,CAAC3wC,UAAU,GAAEd,UACbqpM,IACAnpM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,EAAEV,SACjBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KACE2S,GAAG,iBACH3R,UAAU,4BAA2Bd,SACtC,OAGDF,cAAA,KAAG2S,GAAG,iBAAiB3R,UAAU,yBAAwBd,SAAC,0CAMhEF,cAACK,KAAG,CAACM,GAAI,GAAIC,GAAI,GAAGV,SAClBE,eAAA,OACEY,UAAU,gBACVH,MAAO,CACLkf,OAAO,GAAD9e,QACgB,QAApBmnM,EAAAK,EAAgBphJ,YAAI,IAAA+gJ,OAAA,EAApBA,EAAsBngM,QAAS,EAAI,OAAS,SAE9C/H,SAAA,CAEFF,cAACigF,KAAY,CACXz3E,MAAO+xI,GAAWI,GAAU8tD,EAAgBphJ,KAC5C64B,YAAa2pH,GACb1pH,eAAgBoqH,GAChB16L,MAAyB,OAAlB2V,GAASuzC,KAAgB,SAAW,SAC3C/3D,UAAU,2BACV2uF,UAAQ,EACRtY,eAAe,iCACflkE,WACG1B,KACA8oI,KAAgC,QAApB8tD,EAAAI,EAAgBphJ,YAAI,IAAAghJ,OAAA,EAApBA,EAAsBpgM,QAAS,IAI9CwnF,WAAY,SAACtjF,GACI,UAAXA,EAAEmH,OAEJ2qI,GADY9xI,EAAEuG,OAAOlK,MAAMa,MAAM,KACR,QACzB8C,EAAEuG,OAAOlK,MAAQ,GAErB,EACAiK,SAAU,SAACtG,GACT+wI,GAA6B/wI,EAAG,OAClC,IAEDouI,IAAYkuD,EAAgBphJ,KAAKp/C,OAAS,GACzC7H,eAAA,UACEY,UAAU,gBACV4U,QAAS,WACPooI,GAAS,OACX,EAAE99I,SAAA,CACH,QACOuoM,EAAgBphJ,KAAKp/C,OAAS,EAAE,OAG1CjI,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAM8hJ,GAA6B,OAAO,EACxDpiJ,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAgB/2C,eAO1By3L,IACA9oM,eAACuxC,KAAG,CAAC3wC,UAAU,IAAGd,SAAA,CAChBF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,YACzCF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,sDAI5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC++C,IAAQ,CACP38B,QAASsmL,EACTlgM,MAAO26K,EACP1wK,SAAU,SAACmtE,GACTwjG,EAAWxjG,EAAMp3E,MACnB,EACA0P,QAAM,EACN08K,uBAAwB,CACtBC,SAAU,IAEZC,WAAY,CAAEloL,SAAU,QACxB2tD,YAAY,sBACZxnD,YAAa,iBACb/R,UAAU,8CACVH,MAAO,CACLwW,aAAc,MACd0I,OAAQ,GACRnT,SAAU,QAEZuG,UAAW1B,SAKnBzR,cAAC2xC,KAAG,CAAC3wC,UAAU,IAAGd,UACdupM,IACArpM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,QACE2S,GAAG,sBACH3R,UAAU,4BAA2Bd,SACtC,YAGDE,eAAA,QAAMY,UAAU,6CAA4Cd,SAAA,CACzD,IAAI,UAITF,cAAA,KACE2S,GAAG,sBACH3R,UAAU,yBAAwBd,SACnC,gDAMPF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAAC8nD,KAAmB,CAClBK,kBAAkB,+BAClBC,cAAe,CAAEroC,OAAQ,IACzBgpC,YAAaA,GACbC,aAAcA,GACdX,cAAe,SAACu3B,GACdt7C,GAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ/P,QAASyyD,GAAK,GAElB,EACAr3B,WAAY99C,EAAW0iB,QACvBq7B,eAAgB/2C,YAMb,OAAZka,SAAY,IAAZA,QAAY,EAAZA,GAAcpI,OAAmC,SAAf,OAAZoI,SAAY,IAAZA,QAAY,EAAZA,GAAcviB,WACnCpJ,cAAAC,WAAA,CAAAC,SACGqoM,EACCnoM,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0FAI5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdC,kBAAmB,yBACnBO,aAAc,WACZw+I,IAA8B,EAChC,EACA14H,cAAe,MACfhvD,QAAS4mL,GACTh+I,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAgB/2C,SAItBrR,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,IACzBZ,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACgmM,GAAuB,CACtBv0L,WAAYA,EACZ20L,WAAYA,GACZz6K,aAAcA,GACdF,gBAAiBA,EACjB0jK,mBAAoBA,EACpBpoL,OAAkB,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,iBAM5B/G,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0FAI5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACgmM,GAAuB,CACtBv0L,WAAYA,EACZ20L,WAAYA,GACZz6K,aAAcA,GACdF,gBAAiBA,EACjB0jK,mBAAoBA,EACpBpoL,OAAkB,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,kBASlC/G,cAAC2xC,KAAG,CAAAzxC,SACD0oM,GACC5oM,cAAC0rL,GAAmB,CAACE,eAAgBA,MAGxCid,IACC7oM,cAAC2nM,GAAwB,CACvB5gM,OAAkB,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,OACpB+gM,2BAA4BA,GAC5BF,wBAAyBA,GACzBC,oBAAqBA,GACrBp2L,WAAYA,IAGhBzR,cAAC2xC,KAAG,IACJvxC,eAACuxC,KAAG,CAAAzxC,SAAA,EACA80L,GACAh1L,cAACikC,KAA2B,CAC1BxY,gBAAiBA,EACjBC,cAAeA,GACf8Z,qBAAsBA,GACtB7Z,aAAcA,GACdmG,YAAaA,GACbkT,gBAAiBA,GACjBI,yBAA0BA,EAExB3kB,YACAnB,gBACAomB,mBACAtB,0BACAqB,uBACAlB,aACAgB,gBACAf,0BACA9yB,cACA9B,UACA60B,WACAC,eACAC,WACAxjC,SACAyQ,mBACAsgB,YACA2S,SACAp6B,aACAq6B,kBACAC,qBACA3f,YACA3T,aACAE,mBACAszB,oBACAC,uBACAG,kBACAC,qBAEFK,cAAeA,GACftB,aAAwB,OAAV55B,QAAU,IAAVA,OAAU,EAAVA,EAAYqhB,cAC1BwY,cAAeA,EACfM,WAAYn6B,EAAWynL,YACvBrrL,cAAeA,GACf81B,aAAcA,GACdwI,wBAAyBA,GACzBrrB,YAAaA,GACb8rB,OAAQA,GACRC,YAAaA,KAGhBmvJ,GACCh1L,cAAC0qI,GAAgB,CACfG,iBAAkBA,EAClBD,cAAeA,EACfn5H,WAAYA,OAIjBquC,GACC1/C,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,IACJL,cAACK,KAAG,CAAAH,SACFE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CACFO,GAAI,EACJC,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,YAAax0C,SAEvDF,cAAA,KAAAE,SAAG,gBAELF,cAACK,KAAG,CAACO,GAAI,EAAEV,SACTF,cAACsS,KAAK,CACJ9J,MAAOiC,EAAW2rG,OAClB3jG,SAAU,SAACtG,GACTm4B,GAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZk5E,OAAQjqG,EAAEuG,OAAOlK,OAAK,GAE1B,EACAgK,OAAQ,SAACrG,GACPg5B,GAAwB16B,EAAW2rG,OACrC,EACAjjG,UAAWuY,GAAc+/G,WACzB94H,GAAG,2BAQJ,OAAZgZ,SAAY,IAAZA,QAAY,EAAZA,GAAcpI,OAAmC,YAAf,OAAZoI,SAAY,IAAZA,QAAY,EAAZA,GAAcviB,WACnCpJ,cAAAC,WAAA,CAAAC,SACGuR,EACCrR,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0FAI5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdC,kBAAmB,yBACnBO,aAAc,WACZw+I,IAA8B,EAChC,EACA1nL,QAAS4mL,GACT53H,cAAe,MACfpmB,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAgB/2C,SAItBrR,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,IACzBZ,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACgmM,GAAuB,CACtBv0L,WAAYA,EACZ20L,WAAYA,GACZz6K,aAAcA,GACdF,gBAAiBA,EACjB0jK,mBAAoBA,EACpBpoL,OAAkB,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,iBAM5B/G,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,EAAEV,SACzBF,cAAA,MAAAE,SACEE,eAAA,MAAAF,SAAA,CACEF,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,KAAGgB,UAAU,4BAA2Bd,SAAC,yBAK3CF,cAAA,KAAGgB,UAAU,yBAAwBd,SAAC,0FAI5CF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIM,GAAI,GAAGV,SAC1BF,cAACgmM,GAAuB,CACtBv0L,WAAYA,EACZ20L,WAAYA,GACZz6K,aAAcA,GACdF,gBAAiBA,EACjB0jK,mBAAoBA,EACpBpoL,OAAkB,OAAV0D,QAAU,IAAVA,OAAU,EAAVA,EAAY1D,kBAQlC3G,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACugD,KAAgB,CACfC,UAAW,UACXC,SAAU6nJ,EACVxnJ,aArpCkB,SAACl9C,GACzB,IAAIynM,EAAWznM,EAAKm8D,YAAc,MACZ,OAAlBv6C,GAASuzC,KACXsyI,GAAsBznM,EAAKoH,OAE3BqgM,GAAsBznM,EAAK2xD,OAE7BjxB,GAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZZ,WAAY14B,EAAKmhJ,UACjBotC,aAAckZ,EACdC,iBAAiB,GAAI,IAEvBvC,IAA0B,EAC5B,EAwoCQvwL,QAAS,CACP,CACE3I,MAAO,cACPgtC,SAAU,cACV+d,SAAU,gEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,YACPgtC,SAAU,UACV+d,SAAU,+CAGdla,cAAeooJ,GACfnoJ,iBAAkBooJ,KAEpB/oM,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAU87F,GACVz7F,aAvkCR,SAAqCl9C,GACnC,IAAI8L,GAAsB,EACpBiN,EAA2B,OAAlB6I,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAC3D,GAA2B,OAAvBo0I,GAA6B,CAC/B,IAAI97E,EAAc46E,EAMlB,GALA56E,EAAY7+D,GAAG92C,QAAO,SAACc,GACjB2D,IAAW3D,IACbtJ,GAAa,EAEjB,IACIA,EAEF,YADAu5L,IAA2B,GAG7Bp7E,EAAY7+D,GAAGlmD,KAAK6T,GACpB6rL,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ8xB,GAAEtmD,YAAMmlH,EAAY7+D,KAAG,GAE3B,MAAO,GAA2B,SAAvB26I,GAA+B,CACxC,IAAI97E,EAAc46E,EAMlB,GALA56E,EAAYxmE,KAAKnvC,QAAO,SAACc,GACnB2D,IAAW3D,IACbtJ,GAAa,EAEjB,IACIA,EAEF,YADAu5L,IAA2B,GAG7Bp7E,EAAYxmE,KAAKv+C,KAAK6T,GACtB6rL,GAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZmqB,KAAI3+C,YAAMmlH,EAAYxmE,OAAK,GAE/B,CACA4hJ,IAA2B,EAC7B,EAmiCQpoJ,UAAQ,EACRroC,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAesoJ,GACfroJ,iBAAkBsoJ,GAClBzpL,QAAS68H,MAEE,OAAZ1wH,SAAY,IAAZA,QAAY,EAAZA,GAAcpI,OACbvjB,cAACqmM,GAA0B,CACzB16K,aAAcA,GACd+7K,2BAA4BA,GAC5BR,8BAA+BA,GAC/Bz7K,gBAAiBA,EACjBk7K,WAAYpsJ,EACZ40I,mBAAoBA,EACpBzB,oBAAqBA,EACrBD,iBAAkBA,EAClBjpJ,wBAAyBA,EACzB/5B,WAAYA,SAMxB,E,qBCh7Be8gM,GA1jB8B,SAAHppM,GAYnC,IAXLw6B,EAAYx6B,EAAZw6B,aACA4/G,EAAYp6I,EAAZo6I,aACAlK,EAAalwI,EAAbkwI,cACAm5D,EAAmBrpM,EAAnBqpM,oBACAxmK,EAAe7iC,EAAf6iC,gBACAymK,EAAYtpM,EAAZspM,aACAh8I,EAACttD,EAADstD,EACAhlD,EAAUtI,EAAVsI,WACAy4K,EAAe/gL,EAAf+gL,gBACA9mJ,EAAQj6B,EAARi6B,SACA+I,EAAuBhjC,EAAvBgjC,wBAGA7f,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACf/qC,GAD4B+qC,EAAA,GACwB9qC,oBAAS,IAAMC,EAAApB,YAAAkB,EAAA,GAA5DgiE,EAAkB9hE,EAAA,GAAEgiE,EAAqBhiE,EAAA,GACxCopD,EAAOy0H,OAAPz0H,GACRpgD,EAAoCjJ,qBAAekJ,EAAArK,YAAAoK,EAAA,GAA5Cy1J,EAAUx1J,EAAA,GAAEy1J,EAAaz1J,EAAA,GAChCG,EAAkCrJ,mBAAS,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAAtCi1K,EAASh1K,EAAA,GAAEi1K,EAAYj1K,EAAA,GAC9BgB,EAAwCtK,mBAAS,GAAEuK,EAAA1L,YAAAyL,EAAA,GAA5Ck0K,EAAYj0K,EAAA,GAAEk0K,EAAel0K,EAAA,GACpCC,EAAsDxK,oBAAS,GAAMyK,EAAA5L,YAAA2L,EAAA,GAA9D8yB,EAAmB7yB,EAAA,GAAE8yB,EAAsB9yB,EAAA,GAClDwG,EAA4CjR,oBAAS,GAAMkR,EAAArS,YAAAoS,EAAA,GAApDmpE,EAAelpE,EAAA,GAAEg4B,GAAgBh4B,EAAA,GACxCC,GAAoCnR,mBAAgB8kI,GAAa1zH,GAAAvS,YAAAsS,GAAA,GAA9CgsC,IAAF/rC,GAAA,GAAeA,GAAA,IACxBnS,GAAgBkH,cAAhBlH,YACR8a,GAA0C/Z,oBAAS,GAAKga,GAAAnb,YAAAkb,GAAA,GAAjD6qH,GAAa5qH,GAAA,GAAE6qH,GAAgB7qH,GAAA,GACtCG,GAAoCna,mBAAgB,IAAGoa,GAAAvb,YAAAsb,GAAA,GAAhD85K,GAAU75K,GAAA,GAAE85K,GAAa95K,GAAA,GAC1BsqC,GAAUja,cAChBlwB,GAA8Bva,mBAAS,GAAEwa,GAAA3b,YAAA0b,GAAA,GAA3BC,GAAA,GAAYA,GAAA,GAE1BzlB,qBAAU,WACRmwB,EAAa4zB,MAAK,SAAC1U,EAAQ2U,GACzB,OAAO3U,EAAEhhB,SAAW21B,EAAE31B,QACxB,IAEA8wK,GACEhvK,EAAazkB,QACX,SAAC2jC,GAAM,OAAKpxC,EAAW+F,yBAA2BqrC,EAAEhhB,QAAQ,IAGlE,GAAG,CAAC8B,IAiCsB,SAAAivK,KAczB,OAdyBA,GAAAxpM,YAAAC,IAAAC,MAA1B,SAAAsC,IAAA,IAAA+2F,EAAAkwG,EAAA,OAAAxpM,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAKI,GAJF69C,IAAkBkxC,GACd8J,EAAM,CACRtrE,cAAc,EACdD,OAAQ,mBAENisH,GAAc,CAADx3I,EAAA/B,KAAA,cACXs5B,EAASn0B,QAAU,GAAC,CAAApD,EAAA/B,KAAA,eAAA+B,EAAA/B,KAAA,EACK2vD,EAAekpC,GAAK,KAAD,EAAxC4gD,EAAY13I,EAAAd,KAClBm/K,EAAgB3mC,GAChB3nF,GAAc2nF,GAAc,OAE9BD,IAAkBD,IAAe,yBAAAx3I,EAAAZ,OAAA,GAAAW,EAAA,MAEpCT,MAAA,KAAAC,UAAA,CA+GD,IAAM0nM,GACJ1rM,eAAC+wE,KAAS,CACRnwE,UAAU,aACVwH,MAAOm0B,EACPy0C,aAjHiB,SAACjlE,GACpB,GAAqB,IAAjBs/L,EACF,GAAIt/L,EAAEorI,UAAYk0D,GAAgBjmL,EAASumL,QAAS,CAClD,IAAK,IAAIvkM,EAAI,EAAGA,EAAI2E,EAAE3D,MAAMP,OAAQT,IAAK,CACvC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACR2E,EAAE3D,MAAMhB,GAAGqzB,SAAWghB,CACxB,CACA7W,EAAgB74B,EAAE3D,MACpB,MACEkO,GAAY,CACV1D,YAAY,gCACZkC,QAAQ,UACRzT,KAAM,gBAGL,CACL,IAAK,IAAI+F,EAAI,EAAGA,EAAI2E,EAAE3D,MAAMP,OAAQT,IAAK,CACvC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACR2E,EAAE3D,MAAMhB,GAAGqzB,SAAWghB,CACxB,CACA7W,EAAgB74B,EAAE3D,MACpB,CACF,EA2FI6oE,WAAY,CAAE17D,MAAO,QAErB47D,QAAQ,WACRyV,aAAW,EACXyX,YAAU,EACVq4F,gBAAgB,OAChBtvG,UAAWkkH,GACX9qJ,cAAc,WACd4wB,iBAAiB,SAAQtxE,SAAA,CAExBsrM,GACCxrM,cAACs4B,KAAM,CACLm5C,aAAY3Q,EACZx9D,KAAM,SAACmV,EAAc2J,GACnB,GAAIqpL,EAAehzL,EAAQoiB,SACzB,OACE76B,cAACsuE,GAAgB,CACfpmB,aAAc,iBACdC,kBACE,uDAEFO,aAAc,WACZstI,EAAa5zK,EAAQjY,UACrB6qC,GAAuB,EACzB,GAIR,EAEAn0C,MAAO,CAAE8U,MAAO,UAIpB3V,cAACs4B,KAAM,CACLxR,OAAO,IACPxjB,KAAM,SAACoyL,EAAUtzK,GAAO,OAAKszK,EAAS76J,UAAYzY,EAAQjY,SAAW,CAAC,EAEtEtJ,MAAO,CAAE8U,MAAO,UAElB3V,cAACs4B,KAAM,CAELw6E,UACoB,OAAlBttF,EAASuzC,KAAgB,kBAAoB,kBAE/ClpD,MAAyB,OAAlB2V,EAASuzC,KAAgB,kBAAoB,kBACpDjyC,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,0EAI/BW,MAAO,CAAC8U,MAAO,QAZQ,OAAlB6P,EAASuzC,KAAgB,kBAAoB,mBAepD/4D,cAACs4B,KAAM,CAMLw6E,UACoB,OAAlBttF,EAASuzC,KACL,0BACA,0BAENlpD,MACoB,OAAlB2V,EAASuzC,KACL,0BACA,0BAENjyC,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,kDAI/BW,MAAO,CAAC8U,MAAO,QArBK,OAAlB6P,EAASuzC,KACL,0BACA,2BAsBR/4D,cAACs4B,KAAM,CAMLw6E,UACoB,OAAlBttF,EAASuzC,KACL,4BACA,4BAENlpD,MACoB,OAAlB2V,EAASuzC,KACL,4BACA,4BAENjyC,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wDAI/BW,MAAO,CAAC8U,MAAO61L,EAAsB,oBAAsB,qBArBvC,OAAlBhmL,EAASuzC,KACL,4BACA,6BAsBR/4D,cAACs4B,KAAM,CAELw6E,UAA6B,OAAlBttF,EAASuzC,KAAgB,eAAiB,eACrDlpD,MAAyB,OAAlB2V,EAASuzC,KAAgB,eAAiB,eACjDjyC,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,eAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,wDAG/BoD,KAnKqB,SAACmV,EAAcoH,GACxC,OAAI2rL,GAAuBC,GAAgBhzL,EAAQoiB,SAE/C76B,cAAC++C,IAAQ,CACP/9C,UAAU,uBACVwH,MACE6pI,EAAcn6H,QAAO,SAAC/L,GACpB,GAAIA,EAAE+nE,WAAaz7D,EAAQ69K,aACzB,OAAOnqL,CAEX,IAAG,GAELiW,QAASiwH,EACT5/H,SAAU,SAACtG,GAAC,OAkBpB,SAA8ByzE,EAAY6zD,GACxC,IAAIz2G,EAAYL,EAChBK,EAAKy2G,GAAQ6iD,aAAe12G,EAAMp3E,MAAM0rE,SACxCl3C,EAAKy2G,GAAQ8iD,aAAe32G,EAAMp3E,MAAMijC,OACxCzO,EAAKy2G,GAAQrmC,aAAextB,EAAMp3E,MAAM2S,OACxC6pB,EAAet8B,YAAKs0B,GACtB,CAxByB02G,CAAqBvnI,EAAG0T,EAAO1V,SAAS,EACzDowD,YAA+B,OAAlB/0C,EAASuzC,KAAgB,SAAW,SACjDhmD,YAAY,uBAKd/S,cAAA,OAAKgB,UAAU,eAAcd,SAC3BF,cAAA,QAAAE,SACqB,OAAlBslB,EAASuzC,KACNtgD,EAAQ20F,aACR30F,EAAQ89K,gBAKtB,EAwIM11L,MAAO,CAAC8U,MAAO61L,EAAsB,oBAAsB,qBAXpC,OAAlBhmL,EAASuzC,KAAgB,eAAiB,gBAchDyyI,GACCxrM,cAACs4B,KAAM,CACLxR,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,YAC5BF,cAAA,KAAGgB,UAAU,cAAad,SAAC,oBAG/BoD,KAtRmB,SAACmV,EAAc2J,GACxC,GAAIopL,GAAuBC,EAAehzL,EAAQoiB,SAChD,OACE76B,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACsuE,GAAgB,CACfpmB,aAAc,cACdC,kBACE,0DAEFO,aAAc,kBAxBM,SAACytH,GAC7Bz8F,GAAsB,GACtB08F,EAAcD,EAChB,CAqB8BkC,CAAsBj2J,EAAQjY,SAAS,KAKrE,EA0QQtJ,MAAO,CAAE8U,MAAO,SAChBuyE,YAAY,OA2BdyuG,GAAe,SAACZ,EAAmBa,GACnCA,EAAc6U,EAChB5U,GAASd,EAAWa,EAAc,GAElClgL,GAAY,CACV1D,YAAY,gCACZkC,QAAQ,UACRzT,KAAM,SAGZ,EAEMo1L,GAAW,SAACd,EAAmBa,GACnC,IACE,IAAI3yK,EAAwB,OAAjB0Y,EAAqBj0B,YAAOi0B,GAAgB,GACnDsc,EAAYh1B,EAAK8xK,GACrB9xK,EAAK8xK,GAAa9xK,EAAK2yK,GACvB3yK,EAAK2yK,GAAe39I,EACpB,IAAK,IAAIzxC,EAAI,EAAGA,EAAIyc,EAAKhc,OAAQT,IAAK,CACpC,IAAIq0C,EAAI,EACRA,GAAQr0C,EACRyc,EAAKzc,GAAGqzB,SAAWghB,CACrB,CACA7W,EAAet8B,YAAKub,IACpB+wB,GAAuB,EACzB,CAAE,MAAO3vC,GACPD,QAAQe,IAAI,eAAgBd,EAC9B,CACF,EAEM2mM,GAAY,eAAA1nM,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA+I,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACM,GAArB2H,EAAWilB,OAAW,CAAA9sB,EAAAE,KAAA,QACxBqiC,EACEz2B,OAAOjE,EAAW2rG,OAAOv0G,WAAW,IAAK,KACzC,KACA,SACAe,EAAAE,KAAA,sBAAAF,EAAAE,KAAA,EAEgB46G,GAAgB,CAAEhuF,OAAQjlB,EAAWilB,SAAU,KAAD,GAA1DpkB,EAAG1I,EAAAmB,MACL8E,KAAI,SAACsD,GAUP,OATAA,EAAEiuB,SAAW,CACXvvB,WAAYsB,EAAEiuB,SAAS6xK,WACvBjhM,OAAQmB,EAAEiuB,SAAS6yE,OACnB13C,OAAQppD,EAAEiuB,SAAS+hJ,OACnBjxK,eAAgBiB,EAAEiuB,SAAS8yE,eAC3B31C,eAAgBprD,EAAEiuB,SAAS8xK,eAC3B/gM,iBAAkBgB,EAAEiuB,SAAS+yE,iBAC7B11C,iBAAkBtrD,EAAEiuB,SAAS+xK,kBAExBhgM,CACT,IAEA64B,EAAet8B,YAAK4C,IAAM,wBAAA1I,EAAAqB,OAAA,GAAA1B,EAAA,KAE7B,kBAxBiB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KA0BZgoM,GAAmB,eAAAznM,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,OAAAlC,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACRwN,aAChB7F,EAAWilB,OACXjlB,EAAW+F,uBACXmsB,GACA,KAAD,EAJQn4B,EAAAT,KAKTo4D,GAAQrzD,KAAK,KAAK,wBAAAtE,EAAAP,OAAA,GAAAM,EAAA,KACnB,kBAPwB,OAAAI,EAAAR,MAAA,KAAAC,UAAA,KASzB,OACEhE,eAAA,OAAAF,SAAA,CACEF,cAAC+pB,IAAa,CACZ7C,QAASsyD,EACTnyD,OAAQ,kBAAMqyD,GAAsB,EAAM,EAC1CxkE,QAAS,kCACT4R,OAAO,eACPlQ,KAAK,oBACL5V,UAAU,kBACVgpB,gBAAgB,sEAChBjD,gBAAgB,sGAChB3d,SAAS,MACTye,OAAQ,kBA3Yd,SAAmB1d,GACjB,IAAIvG,EAAO+4B,EACX/4B,EAAK20C,OAAOpuC,EAAU,GACtB,IAAIktK,EAAiBzzK,EAAKiF,KAAI,SAACsD,EAAQ3E,GAErC,OADA2E,EAAE0uB,SAAWrzB,EAAI,EACV2E,CACT,IACA64B,EAAet8B,YAAK2uK,GACtB,CAmYoBD,CAAUjB,EAAW,EACnC7uJ,WAAW,IAEZkkL,GACCxrM,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAK3nD,MAAM,SAASmzL,QAAQ,gBAAensM,SAAA,CAC3DE,eAACC,KAAG,CACFQ,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,MAAOka,UAAW,IAAKzuD,SAAA,CAEhEF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdsmB,cAAe/e,EAAE,OACjBrH,cAAe,CACbt7C,aAAc,OACduK,aAAc,MACd0I,OAAQ,OACRyK,gBAAiB,mBACjBlM,OAAQ,8BAEVoqC,aAAc,kBAtY1B,WAEwB,OAAAkjJ,GAAAznM,MAAC,KAADC,UAAA,CAoYQkoM,EAAa,IAEnCtsM,cAACsuE,GAAgB,CACfpmB,aAAc,aACdsmB,cAAe/e,EAAE,SACjBtH,kBAAmB,YACnBO,aAAc,WACZ3W,KAAMD,QAAQ,CACZj9B,MAAyB,OAAlB2Q,EAASuzC,KAAgB,UAAY,uCAC5C7uC,QACoB,OAAlB1E,EAASuzC,KACP/4D,cAAA,KAAAE,SAAG,+EAKHF,cAAA,KAAAE,SAAG,mcAKPqsM,OAAQ,QACRpuJ,KAAM,WACJ6tJ,IACF,EACAhuJ,cAAe,CACbnpC,MAAO,QACPhU,MAAO,CACLwW,aAAc,EACd6/D,YAAa,oBACbnqE,MAAO,sBAGXqxC,kBAAmB,CACjBy/F,QAAQ,EACRh9I,MAAO,CAAEwW,aAAc,KAG7B,OAGHmO,EAASumL,SACR/rM,cAACK,KAAG,CAAAH,SACFF,cAACsuE,GAAgB,CACfpmB,aAAc,aACdsmB,cAAe/e,EAAE,QACjBtH,kBAAmB,YACnBO,aAAc0jJ,YAMvB,IACFN,GACD9rM,cAACgnB,IAAM,CACLF,OAAO,UACPI,QAAS6tB,EACTl0C,MAAO,CAAEwW,aAAc,QACvBkQ,OA9KFnnB,eAAA,OAAAF,SAAA,CACEF,cAACwnB,IAAM,CACLhmB,MAAM,KACNoV,KAAK,cACLhB,QAAS,kBAAMo/B,GAAuB,EAAM,EAC5Cn0C,MAAO,CAAEkf,OAAQ,QACjB/e,UAAU,kBAEZhB,cAACwnB,IAAM,CACLhmB,MAAM,MACNoV,KAAK,cACLhB,QAAS,kBAAM+gL,GAAaZ,EAAWE,EAAa,EACpDp1L,MAAO,CAAEkf,OAAQ,QACjB5K,WAAS,OAkKXkS,OAAQ,kBAAM2tB,GAAuB,EAAM,EAAC90C,SAE5CF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAAC+b,KAAW,CACV6nB,QAAQ,cACRp7B,MAAOytL,EACPj5K,IAAK,EACLC,IAAiB,OAAZ0f,QAAY,IAAZA,OAAY,EAAZA,EAAc10B,OACnBo5C,cAAe,SAACl1C,GACVA,EAAE3D,QAAqB,OAAZm0B,QAAY,IAAZA,OAAY,EAAZA,EAAc10B,SAC3BiuL,EAAgB/pL,EAAE3D,MAEtB,QAINxI,cAACugD,KAAgB,CACfC,UAAW,WACXC,SAAUrkB,EACV0kB,aAzac,SAACl9C,IAIrB,SAAiBq4B,GACf,IACE,IAAM86J,EAAMp6J,EACNq6J,EAAWr6J,EAAaA,EAAa10B,OAAS,GAChDrE,EAAuBq4B,EACrBuwK,EAAen6D,EAAc,GAEnC,QAAgB9xI,GAAZy2L,EAAuB,CACzB,IAAIr+K,EAAqC,CACvCyhB,SAAUx2B,EACVk3B,OAAQl3B,EAAKiH,WACbosL,OAAQD,EAASC,OAAS,EAC1Bp8J,SAAUm8J,EAASn8J,SAAW,EAC9BuyE,aAAco/F,EAAarxL,OAC3Bm7K,aAAckW,EAAat4H,SAC3BqiH,aAAciW,EAAa/gK,OAC3B6lG,oBAAqB,IAEvBylD,EAAIjuL,KAAK6P,EACX,KAAO,CACL,IAAIA,EAAqC,CACvCyhB,SAAUx2B,EACVk3B,OAAQl3B,EAAKiH,WACbosL,OAAQ,EACRp8J,SAAU,EACVuyE,aAAco/F,EAAarxL,OAC3Bm7K,aAAckW,EAAat4H,SAC3BqiH,aAAciW,EAAa/gK,OAC3B6lG,oBAAqB,IAEvBylD,EAAIjuL,KAAK6P,EACX,CAEAqsB,EAAet8B,YAAKquL,IACpBp2I,IAAkBkxC,EACpB,CAAE,MAAOxsF,GACPD,QAAQe,IAAI,+BAAgCd,EAC9C,CACF,CAzCE6xL,CAAQtzL,EACV,EAwaMi9C,UAAQ,EACRroC,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAemxC,EACflxC,iBAAkBA,GAClBnhC,QAAS68H,OAIjB,EC5kBaowD,GAA2B,SAAChtM,GAAkB,IAADitM,EAAAC,EAAAC,EAAAC,EAAAC,EACxDxnL,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACf/qC,GAD4B+qC,EAAA,GACU9qC,mBAAchY,EAAM+sG,UAAQ90F,EAAApB,YAAAkB,EAAA,GAA3DqgG,EAAWngG,EAAA,GAAEq1L,EAAcr1L,EAAA,GAClCgJ,EAA8CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA/DssL,EAAersL,EAAA,GAAEssL,EAAkBtsL,EAAA,GAClC8uC,EAAMC,YAAe,CAAC,gBAAtBD,EACA/4C,EAAgBkH,cAAhBlH,YAEJyU,EAAgB5nB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAE/Du/C,EAAWr3B,EAAcnG,QAE7BxY,qBAAU,WACRpH,QAAQe,IAAI,SAAU1G,EAAM+sG,SAC5BpnG,QAAQe,IAAI,cAAe1G,EAAM0iM,YA6MjC,WAEoB+K,EAAA/oM,MAAC,KAADC,UAAA,CA9MpBgyE,EACF,GAAG,IACH,IAAI/hC,EAAStxC,OAAO2mB,SAChB4qB,EAAUD,EAAO9qB,SAAW,KAAO8qB,EAAO1qB,KA4JxCwjL,EAAuB,WAAO,IAADC,EAAAC,EAAAC,EAC7BpmM,GAAU,EAOd,OALkB,QAAhBkmM,EAAA3tM,EAAMgL,kBAAU,IAAA2iM,GAAY,QAAZC,EAAhBD,EAAkB3iM,kBAAU,IAAA4iM,GAAkB,QAAlBC,EAA5BD,EAA8BE,wBAAgB,IAAAD,OAA9B,EAAhBA,EAAgDziM,cAChD2a,EAAS3a,aAET3D,GAAU,GAELA,CACT,EAEMsmM,EAAgB,eAAArrM,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO85C,GAA2B,IAAAoxJ,EAAAtoM,EAAA,OAAA9C,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAMa,OALtErD,EAAMylC,qBAAoB,GACpBuoK,EAA0B,CAC9B/9K,OAAQjwB,EAAMgL,WAAWA,WAAWilB,OAAO5kB,WAC3CuxC,YAAaA,GAEfj3C,QAAQe,IAAI,gCAAiCsnM,GAAyB7qM,EAAAE,KAAA,EACjD4mD,YAAc+jJ,GAAyB,KAAD,EAArDtoM,EAAMvC,EAAAmB,KACZqB,QAAQe,IAAI,eAAgBhB,GACN,YAAlBA,EAAOA,OACLk3C,GACF58C,EAAMq2L,YAAW,GACjBmX,GAAmB,KAEnBxtM,EAAMq2L,YAAW,GACjBmX,GAAmB,IAEM,cAAlB9nM,EAAOA,SACM,OAAlBqgB,EAASuzC,KACXriD,EAAY,CACV1D,YAAY,iLACZkC,QAAQ,cACRzT,KAAM,UAGRiV,EAAY,CACV1D,YAAY,6BACZkC,QAAQ,cACRzT,KAAM,UAGVhC,EAAMq2L,YAAW,IAEnBr2L,EAAMylC,qBAAoB,GAAO,wBAAAtiC,EAAAqB,OAAA,GAAA1B,EAAA,KAClC,gBAlCqB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAoCA,SAAA8oM,IAUrB,OAVqBA,EAAA9qM,YAAAC,IAAAC,MAAtB,SAAAiC,IAAA,IAAA7B,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACsB0xG,GAClB/0G,EAAMiuM,cACNloL,EACA/lB,EAAMgL,YACN,KAAD,EAJG/H,EAAO8B,EAAAT,KAMXqB,QAAQe,IAAI,gBAAiBzD,GAE7BqqM,EAAerqM,GAAS,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,MACzBJ,MAAA,KAAAC,UAAA,CAoBD,OACEpE,cAAA,OAAKgB,UAAU,wBAAuBd,SACR,QAA3BwsM,EAAAjtM,EAAMgL,WAAWA,kBAAU,IAAAiiM,GAA3BA,EAA6Ba,mBAC7BJ,IArB0B,WACA,IAADQ,EAAAC,EAOrBC,EAAAC,EAPP,MAAsB,OAAlBtoL,EAASuzC,KAET34D,eAAA,QAAAF,SAAA,CAAM,yMAC8B,IACN,QADSytM,EACpCluM,EAAMgL,WAAWA,kBAAU,IAAAkjM,GAAkB,QAAlBC,EAA3BD,EAA6BJ,wBAAgB,IAAAK,OAAlB,EAA3BA,EAA+C5iM,UAKlD5K,eAAA,QAAAF,SAAA,CAAM,0BACoB,IACI,QADD2tM,EAC1BpuM,EAAMgL,WAAWA,kBAAU,IAAAojM,GAAkB,QAAlBC,EAA3BD,EAA6BN,wBAAgB,IAAAO,OAAlB,EAA3BA,EAA+C9iM,SAIxD,CAMM+iM,GAEA3tM,eAAAH,WAAA,CAAAC,SAAA,CACG23G,EACC73G,cAAAC,WAAA,CAAAC,SA1KNE,eAAA,UACEuS,GAAG,sBACH3R,UAAU,oBACVH,MAAO,CACLkf,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WAEPxQ,QAAQe,IAAI,CAAE0xG,gBAEd,IAAMtuF,EAAWxmB,OAAO2mB,SAASH,SAC3BomF,EAAwB,OAAXkI,QAAW,IAAXA,OAAW,EAAXA,EAAah2G,WAAW,GAADZ,OACrCsoB,EAAQ,MAAAtoB,OAAKuhD,GAChB,IAEE54B,EAAOF,SAASE,KACE,mBAAlBF,SAASC,MACPC,IACF44B,EAAWr3B,EAAcnG,QAAU,IAAM4E,GAG7CxkB,QAAQe,IAAI,CACV6nM,KAAK,GAAD/sM,OAAKsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,KAC9BmtD,eAGF,IAAM8oF,EAAY9oF,EAAWtmG,MAAM,MAAQ,GAC3C,GAAIovL,EAAUxwL,QAAU,EAAG,CACzB,IAAM4wL,EAAWJ,EAAU,IAAM,GAC3BK,EAAUL,EAAU,IAAM,GAE1B58H,EAAW48H,EAAU,IAAM,GAC3BM,EAAYl9H,EAASpyB,YAAY,KACnCuvJ,EAAYn9H,EAASpyD,UAAUsvL,EAAY,GACzCxnL,EAAOsqD,EAASpyD,UAAU,EAAGsvL,GAC5B,GAAA93L,OAAGsoB,EAAQ,MAClBnkB,QAAQe,IAAI,CACVojB,WACAi5B,WACAmtD,aACA8oF,cAIF11L,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,gCAAAvhD,OAA+B43L,EAAQ,aAAA53L,OAAY63L,EAAO,SAAA73L,OAAQ+3L,EAAS,UAAA/3L,OAASgtM,mBAC1G18L,IAEF,SACA,aAEJ,CACF,EAAErR,SAAA,CAEFF,cAAC83I,IAAe,IAChB93I,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAEuvD,EAAE,sBAmHhCzvD,cAACwnB,IAAM,CACLxmB,UAAU,iDACVQ,MAAuB,QAAlBmrM,EAAEl9I,EAAE,sBAAc,IAAAk9I,IAAI,GAC3BntL,SAAO,IAGV/f,EAAMyuM,eAvPTf,KAA0BH,EAE1B5sM,eAAA,UACEY,UAAU,mBACVH,MAAO,CACLkf,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WACHnW,EAAMshG,SAAWisG,EACnBQ,EAAiB,MAEjB/tM,EAAMq2L,YAAW,EAErB,EAAE51L,SAAA,CAEFF,cAACmuM,IAAc,IACfnuM,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAC,qBAKnCE,eAAA,UACEY,UAAU,mBACVH,MAAO,CACLkf,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WACHnW,EAAMshG,QACRthG,EAAMq2L,YAAW,GAEjB0X,EAAiBhoL,EAAS3a,WAAWC,WAEzC,EAAE5K,SAAA,CAEFF,cAACmuM,IAAc,IACfnuM,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAC,mBAiNX,OAArBT,EAAM0iM,YAAkD,OAAX,QAAhByK,EAAAntM,EAAM0iM,kBAAU,IAAAyK,OAAA,EAAhBA,EAAkB/mD,MA1MpDzlJ,eAAA,UACEuS,GAAG,aACH3R,UAAU,mBACVH,MAAO,CACLkf,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WACP7S,OAAOqe,KAAK,GAADngB,OACNqzC,EAAO,oBAAArzC,OAAmBxB,EAAMiuM,cAAa,WAChD,SACA,aAEJ,EAAExtM,SAAA,CAEFF,cAAC83I,IAAe,IAChB13I,eAAA,KAAGS,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAA,CAAC,IAAEuvD,EAAE,cA4LjCzvD,cAAAC,WAAA,IAGD43G,EACC73G,cAAAC,WAAA,CAAAC,UACgC,OAAZ,QAAhB2sM,EAAAptM,EAAM0iM,kBAAU,IAAA0K,OAAA,EAAhBA,EAAkBjnD,QAAsC,OAArBnmJ,EAAM0iM,aAzHnD/hM,eAAA,UACEuS,GAAG,mBACH3R,UAAU,oBACVH,MAAO,CACLkf,OAAQ,OACRjf,WAAY,MACZ4L,QAAS,QAEXkJ,QAAS,WAZb7S,OAAOqe,KAAK,GAADngB,OAAI42G,GAAe,SAAU,aAcpC,EAAE33G,SAAA,CAEFF,cAACouM,KAAO,IAERpuM,cAAA,KAAGa,MAAO,CAAEkzG,WAAY,OAAQ7zG,SAAEuvD,EAAE,gBA+GhCzvD,cAACwnB,IAAM,CACLxmB,UAAU,iCACVQ,MAAiB,QAAZsrM,EAAEr9I,EAAE,gBAAQ,IAAAq9I,IAAI,GACrBttL,SAAO,QAOrB,E,UCvTa6uL,GAAa,SACxBC,EACA7jM,EACAkyB,EACA4xK,EACAC,EACAt5L,GAEA,IAAIiuL,EAAsB,GAsB1B,MApBoB,UAAhBmL,GAA2C,WAAhBA,EACC,IAA1B7jM,EAAW6xB,YAAoC,UAAhBgyK,GACjCnL,EAAar6L,KAAK,YAGU,IAA1B2B,EAAW6xB,YACb6mK,EAAar6L,KAAK,WAEf2B,EAAW0iB,SACdg2K,EAAar6L,KAAK,WAEhB6zB,EAAa10B,QAAU,GACzBk7L,EAAar6L,KAAK,gBAEI,OAApBylM,GAAgD,OAApBC,GAC1BD,EAAkBC,GACpBrL,EAAar6L,KAAKoM,IAIjBiuL,CACT,EAEasL,GAAoB,SAACtO,GAChC,IAAIuO,GAAyB,EAC7B,IAIE,OAHIvO,EAAS13L,SAAS,UACpBimM,GAAgB,GAEXA,CACT,CAAE,MAAOrpM,GAEP,OADAqpM,GAAgB,CAElB,CACF,E,UC/BMC,GACJ54L,wBAAoD,MAMhD64L,GAEF,SAACnvM,GACH,IAAA6lB,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GAEf9N,EAAsCC,oBAAkB,GAAMC,EAAApB,YAAAkB,EAAA,GAAvDq3L,EAAWn3L,EAAA,GAAEo3L,EAAcp3L,EAAA,GAClClL,qBAAU,WACRuiM,GACF,GAAG,IACH,IAAMA,EAA4B,eAAA5sM,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAw+F,EAAA15B,EAAA,OAAAhlE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACb+6D,KAAiC,KAAD,EAAzC,OAAPkjC,EAAOn+F,EAAAmB,KAAAnB,EAAAE,KAAA,EACSskE,GAAoB5hD,EAAS3a,YAAY,KAAD,EAAxDw8D,EAAOzkE,EAAAmB,KACbqB,QAAQe,IAAI,CAAEkhE,UAAS7hD,aACnB6hD,GAAW05B,GACb+tG,EAAe/tG,GAChB,wBAAAn+F,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBAPiC,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAQlC,OACEpE,cAAC2uM,GAAwCl4L,SAAQ,CAC/CjO,MAAO,CAAEqmM,cAAaC,kBAAiB5uM,SAEtCT,EAAMS,UAGb,ECnCe8uM,GAToC,WACjD,IAAM1oM,EAAUC,qBAAWooM,IAC3B,IAAKroM,EACH,MAAM,IAAIG,MACR,sHAEJ,OAAOH,CACT,E,mBCypHe2oM,GA5jHU,WAAO,IAADC,EAAAC,EAAAC,EAAAC,EACrB34L,EAAgBkH,cAAhBlH,YAER4O,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GAAEyS,EAAWzS,EAAA,GACtB74B,EAAWimC,cACXprB,EAAalc,kBAAO,GACpB5D,EAAQ4D,iBAAY,MAC1By/C,EAA4BnB,KAApBF,EAAMqB,EAANrB,OAAQC,EAAOoB,EAAPpB,QACR8G,EAAW7d,cAAX6d,OACFrR,EAAUja,cACVqrB,EAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,EAAO,GAAE,CAACA,IAC1Dh2D,EAAwCC,oBAAkB,GAAKC,EAAApB,YAAAkB,EAAA,GAAxD2nG,EAAYznG,EAAA,GAAE0nG,EAAe1nG,EAAA,GACpCgJ,EAA4CjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAA7D4uL,EAAc3uL,EAAA,GAAE4uL,EAAiB5uL,EAAA,GACxCG,EAA8CrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA3DnP,EAAeoP,EAAA,GAAEyuL,EAAkBzuL,EAAA,GAC1CgB,EAAwDtK,qBAAmBuK,EAAA1L,YAAAyL,EAAA,GAApE6mL,EAAoB5mL,EAAA,GAAEytL,EAAuBztL,EAAA,GACpDC,EAA8BxK,qBAAkByK,EAAA5L,YAAA2L,EAAA,GAAzCiqG,EAAOhqG,EAAA,GAAE2xF,EAAU3xF,EAAA,GAC1BwG,GAAwCjR,qBAAkBkR,GAAArS,YAAAoS,GAAA,GAAnDysK,GAAYxsK,GAAA,GAAEirF,GAAejrF,GAAA,GACpCC,GAAsDnR,mBAAc,CAAC,GAAEoR,GAAAvS,YAAAsS,GAAA,GAA3CkyJ,IAAFjyJ,GAAA,GAAwBA,GAAA,IAClD2I,GAAiD/Z,oBAAS,GAAMga,GAAAnb,YAAAkb,GAAA,GAAzDyT,GAAgBxT,GAAA,GAAEi+K,GAAoBj+K,GAAA,GAC7CG,GAAsCna,qBAAeoa,GAAAvb,YAAAsb,GAAA,GACrDI,IADkBH,GAAA,GAAgBA,GAAA,GACYpa,mBAAgB,KAAGwa,GAAA3b,YAAA0b,GAAA,GACjEI,IADsBH,GAAA,GAAoBA,GAAA,GACJxa,sBAAe4a,GAAA/b,YAAA8b,GAAA,GAA9CtY,GAAWuY,GAAA,GAAEs9K,GAAct9K,GAAA,GAE9Bu9K,GAAqB,KACrBC,GAAqB,KACzB,SAAS3qK,GAAoB4qK,GACL,OAAlBF,IACFG,aAAaH,IAEO,OAAlBC,IACFE,aAAaF,IAEXC,EACFF,GAAgBp8L,YAAW,kBAAMk8L,IAAqB,EAAK,GAAE,IAE7DG,GAAgBr8L,YAAW,kBAAMk8L,IAAqB,EAAM,GAAE,IAElE,CAGA,IAAAl9K,GAAoC/a,oBAAkB,GAAMgb,GAAAnc,YAAAkc,GAAA,GAArD/gB,GAAUghB,GAAA,GAAEu9K,GAAav9K,GAAA,GAChCG,GAAoDnb,oBAAkB,GAAMob,GAAAvc,YAAAsc,GAAA,GAArEq9K,GAAkBp9K,GAAA,GAAEq9K,GAAqBr9K,GAAA,GAChDs9K,GAAwBnB,KACxBh8K,IADmBm9K,GAAXtB,YACkCp3L,oBAAkB,IAAMwb,GAAA3c,YAAA0c,GAAA,GAA3Do9K,GAAan9K,GAAA,GAAEo9K,GAAgBp9K,GAAA,GACtCI,GAAkC5b,oBAAkB,GAAM6b,GAAAhd,YAAA+c,GAAA,GAAnDi9K,GAASh9K,GAAA,GAAEi9K,GAAYj9K,GAAA,GAE9BivC,GAA4B9qD,qBAAe+qD,GAAAlsD,YAAAisD,GAAA,GAA5Bg5H,IAAF/4H,GAAA,GAAWA,GAAA,IACxBG,GAAoClrD,qBAAemrD,GAAAtsD,YAAAqsD,GAAA,GAA5Cl4D,GAAUm4D,GAAA,GAAEt+B,GAAas+B,GAAA,GAChCE,GAA0CrrD,qBAAesrD,GAAAzsD,YAAAwsD,GAAA,GAAlDp3C,GAAaq3C,GAAA,GAAEytI,GAAgBztI,GAAA,GACtC8Z,GAAwCplE,mBAAgB,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAApDlgD,GAAYmgD,GAAA,GAAE93C,GAAe83C,GAAA,GACpCG,GAAoDxlE,mBAAgB,IAAGylE,GAAA5mE,YAAA2mE,GAAA,GAAhEywB,GAAkBxwB,GAAA,GAAEuzH,GAAqBvzH,GAAA,GAChDI,GAA0D7lE,mBAAgB,IAAG8lE,GAAAjnE,YAAAgnE,GAAA,GAAtEtxD,GAAqBuxD,GAAA,GAAEn4C,GAAwBm4C,GAAA,GACtD8V,GAAkD57E,mBAAgB,IAAG67E,GAAAh9E,YAAA+8E,GAAA,GAA9D2vB,GAAiB1vB,GAAA,GAAE9tD,GAAoB8tD,GAAA,GAC9CG,GAA8Ch8E,oBAAkB,GAAMi8E,GAAAp9E,YAAAm9E,GAAA,GAA/DuhG,GAAethG,GAAA,GAAE0oG,GAAkB1oG,GAAA,GAC1CG,GAA0Cp8E,qBAAeq8E,GAAAx9E,YAAAu9E,GAAA,GAAlD+2C,GAAa92C,GAAA,GAAE+2C,GAAgB/2C,GAAA,GAEtCG,GAA8Cx8E,mBAAc,IAAGy8E,GAAA59E,YAAA29E,GAAA,GAAxDxoE,GAAeyoE,GAAA,GAAEi7F,GAAkBj7F,GAAA,GAC1CG,GAAwC58E,qBAAe68E,GAAAh+E,YAAA+9E,GAAA,GAAhD1oE,GAAY2oE,GAAA,GAAEo8G,GAAep8G,GAAA,GACpCG,GAAgDh9E,mBAAgB,IAAGi9E,GAAAp+E,YAAAm+E,GAAA,GAA5Dg5F,GAAgB/4F,GAAA,GAAEg5F,GAAmBh5F,GAAA,GAC5CG,GAAoCp9E,mBAAgB,IAAG49E,GAAA/+E,YAAAu+E,GAAA,GAAhDt6C,GAAU86C,GAAA,GAAEs7G,GAAat7G,GAAA,GAChC07C,GACEt5H,oBAAS,GAAMu5H,GAAA16H,YAAAy6H,GAAA,GADV22D,GAA0B12D,GAAA,GAAEk2D,GAA6Bl2D,GAAA,GAEhEC,GAAoCx5H,oBAAkB,GAAMy5H,GAAA56H,YAAA26H,GAAA,GAArDm1D,GAAUl1D,GAAA,GAAE0/D,GAAa1/D,GAAA,GAC1B1sG,GAA0Bnc,iBAAY,MAC5CgiJ,GAA0C5yJ,oBAAkB,GAAM6yJ,GAAAh0J,YAAA+zJ,GAAA,GAA3Dk+B,GAAaj+B,GAAA,GAAEumC,GAAgBvmC,GAAA,GAC9B76G,GAAMC,YAAe,CAAC,gBAAtBD,EACRg7G,GAAgChzJ,qBAAeizJ,GAAAp0J,YAAAm0J,GAAA,GAAxC7U,GAAQ8U,GAAA,GAEfG,IAF4BH,GAAA,GAEkBjzJ,mBAAc,KAAGuzJ,GAAA10J,YAAAu0J,GAAA,GAAvCimC,IAAF9lC,GAAA,GAAoBA,GAAA,IAC1CG,GAA8C1zJ,mBAAc,IAAG2zJ,GAAA90J,YAAA60J,GAAA,GAAxD4lC,GAAe3lC,GAAA,GAAE4lC,GAAkB5lC,GAAA,GAC1CG,GAAwC9zJ,mBAAc,IAAG+zJ,GAAAl1J,YAAAi1J,GAAA,GAAlDmsB,GAAYlsB,GAAA,GAAEylC,GAAezlC,GAAA,GACpCE,GAA4Cj0J,qBAAek0J,GAAAr1J,YAAAo1J,GAAA,GAApCwlC,IAAFvlC,GAAA,GAAmBA,GAAA,IACxCE,GAA0Bp0J,mBAAc,IAAGq0J,GAAAx1J,YAAAu1J,GAAA,GAApC88B,GAAK78B,GAAA,GAAEqlC,GAAQrlC,GAAA,GACtBgxB,GAAoCrlL,qBAAeslL,GAAAzmL,YAAAwmL,GAAA,GAA5CsU,GAAUrU,GAAA,GAAEsU,GAAatU,GAAA,GAChCG,GAAgCzlL,mBAAc,IAAG0lL,GAAA7mL,YAAA4mL,GAAA,GAA1CoU,GAAQnU,GAAA,GAAEoU,GAAWpU,GAAA,GAC5BC,GAA4C3lL,mBAAc,IAAG4lL,GAAA/mL,YAAA8mL,GAAA,GAAtDsL,GAAcrL,GAAA,GAAEmU,GAAiBnU,GAAA,GACxCG,GAA4C/lL,mBAAc,IAAGgmL,GAAAnnL,YAAAknL,GAAA,GAAtDlG,GAAcmG,GAAA,GACrBa,IADwCb,GAAA,GACMhmL,mBAAc,KAAG8mL,GAAAjoL,YAAAgoL,GAAA,GAAxDgK,GAAe/J,GAAA,GAAEkT,GAAkBlT,GAAA,GAC1CmT,GAAsDj6L,mBAAc,IAAGk6L,GAAAr7L,YAAAo7L,GAAA,GAAhE7J,GAAmB8J,GAAA,GAAEC,GAAsBD,GAAA,GAClDE,GAA8Dp6L,qBAAeq6L,GAAAx7L,YAAAu7L,GAAA,GAAtEjK,GAAuBkK,GAAA,GAAEhK,GAA0BgK,GAAA,GAC1DC,GAAkDt6L,oBAAkB,GAAMu6L,GAAA17L,YAAAy7L,GAAA,GAAnElJ,GAAiBmJ,GAAA,GAAEC,GAAoBD,GAAA,GAC9CE,GAAoCz6L,mBAAgB,IAAG06L,GAAA77L,YAAA47L,GAAA,GAAhD/iJ,GAAUgjJ,GAAA,GAAE/iJ,GAAa+iJ,GAAA,GAChCC,GAAgC36L,mBAAgB,IAAG46L,GAAA/7L,YAAA87L,GAAA,GAA5ClgL,GAAQmgL,GAAA,GAAElgL,GAAWkgL,GAAA,GAC5BC,GAA0C76L,qBAAkB86L,GAAAj8L,YAAAg8L,GAAA,GAAvDxtK,GAAcytK,GAAA,GAAExtK,GAAiBwtK,GAAA,GACtCC,GAAoC/6L,oBAAkB,GAAMg7L,GAAAn8L,YAAAk8L,GAAA,GAArDE,GAAUD,GAAA,GAAEE,GAAaF,GAAA,GAChCG,GAAkCn7L,oBAAS,GAAKo7L,GAAAv8L,YAAAs8L,GAAA,GAA9BE,IAAFD,GAAA,GAAcA,GAAA,IAC9BE,GAAkCt7L,oBAAkB,GAAMu7L,GAAA18L,YAAAy8L,GAAA,GAAnDjzJ,GAASkzJ,GAAA,GAAEC,GAAYD,GAAA,GAC9BE,GAAoCz7L,qBAAe07L,GAAA78L,YAAA48L,GAAA,GAA5C/Q,GAAUgR,GAAA,GAAEC,GAAaD,GAAA,GAChCE,GAAwD57L,mBAAgB,IAAG67L,GAAAh9L,YAAA+8L,GAAA,GAApEE,GAAoBD,GAAA,GAAEE,GAAuBF,GAAA,GACpDG,GAAkDh8L,qBAAei8L,GAAAp9L,YAAAm9L,GAAA,GAAvCE,IAAFD,GAAA,GAAsBA,GAAA,IAC9CE,GAAgCn8L,mBAAiB,GAAEo8L,GAAAv9L,YAAAs9L,GAAA,GAA5Cx8L,GAAQy8L,GAAA,GAAEC,GAAWD,GAAA,GAC5BE,GAA8Bt8L,mBAAmB,IAAGu8L,GAAA19L,YAAAy9L,GAAA,GAA7CE,GAAOD,GAAA,GAAEE,GAAUF,GAAA,GAE1BG,GAAkD18L,oBAAkB,GAAM28L,GAAA99L,YAAA69L,GAAA,GAAnEE,GAAiBD,GAAA,GAAEE,GAAoBF,GAAA,GAC9CG,GACE98L,oBAAkB,GAAM+8L,GAAAl+L,YAAAi+L,GAAA,GADnBE,GAAsBD,GAAA,GAAEE,GAAyBF,GAAA,GAGxDG,GAAsCl9L,mBAA2B,IAAGm9L,GAAAt+L,YAAAq+L,GAAA,GAA7D7iL,GAAW8iL,GAAA,GAAE7iL,GAAc6iL,GAAA,GAClCC,GAA0Cp9L,mBAA8B,CACtEtQ,QAAS,GACTU,YAAY,EACZkC,MAAO,EACPI,UAAW,EACXC,UAAW,IACX0qM,GAAAx+L,YAAAu+L,GAAA,GANKhuM,GAAaiuM,GAAA,GAAEvjL,GAAgBujL,GAAA,GAQtCC,GAAoCt9L,mBAAiB,IAAGu9L,GAAA1+L,YAAAy+L,GAAA,GAAjDrjM,GAAUsjM,GAAA,GAAErvK,GAAaqvK,GAAA,GAEhCC,GAAwCx9L,mBAA8B,IAAGy9L,GAAA5+L,YAAA2+L,GAAA,GAAlE31L,GAAY41L,GAAA,GAAExvK,GAAewvK,GAAA,GAE9B3vK,GAAeld,iBAAY,MAC7B8sL,GAAiB9sL,iBAAe,GAEpC+sL,GAAwC39L,mBAAc6/K,IAAe+d,GAAA/+L,YAAA8+L,GAAA,GAA9D74D,GAAY84D,GAAA,GAAEnyB,GAAemyB,GAAA,GACpCC,GAA0C79L,qBAAe89L,GAAAj/L,YAAAg/L,GAAA,GAAlDrhL,GAAashL,GAAA,GAAEt4K,GAAgBs4K,GAAA,GAEtC/oM,qBAAU,WACR+4B,GAAa4B,QAAUguJ,EACzB,GAAG,CAACA,KAGJ,IAAAzhI,GASIphB,YAAQ,CACVosB,cAAe,CACbt9D,MAAiB,OAAVqJ,SAAU,IAAVA,IAAyB,QAAfykM,EAAVzkM,GAAYqhB,qBAAa,IAAAojL,OAAf,EAAVA,EAA2B9tM,OAEpCmiB,KAAM,aAZNmhB,GAAYgvB,GAAZhvB,aACA90B,GAAO8jD,GAAP9jD,QACAi1B,GAAK6uB,GAAL7uB,MACAJ,GAAQivB,GAARjvB,SACArf,GAAQsuC,GAARtuC,SACA3E,GAASizC,GAATjzC,UAEatf,IADLuyD,GAAR8hJ,SACmB9hJ,GAAnBthD,UAAajR,QAOfs0M,GAA8Ch+L,mBAAc,CAC1Du3C,GAAI,GACJ3H,KAAM,KACNquJ,GAAAp/L,YAAAm/L,GAAA,GAHKhN,GAAeiN,GAAA,GAAElN,GAAkBkN,GAAA,GAI1CC,GAA8Bl+L,qBAAem+L,GAAAt/L,YAAAq/L,GAAA,GAAtCxyB,GAAOyyB,GAAA,GAAExyB,GAAUwyB,GAAA,GAC1BC,GACEp+L,oBAAkB,GAAMq+L,GAAAx/L,YAAAu/L,GAAA,GADnBthB,GAAmBuhB,GAAA,GAAEjZ,GAAsBiZ,GAAA,GAElDC,GACEt+L,oBAAkB,GAAMu+L,GAAA1/L,YAAAy/L,GAAA,GADnBte,GAAmBue,GAAA,GAAEC,GAAsBD,GAAA,GAElDE,GAA4Cz+L,mBAAc,IAAG0+L,GAAA7/L,YAAA4/L,GAAA,GAAtDtqB,GAAcuqB,GAAA,GAAE3X,GAAiB2X,GAAA,GAExCC,GAA4C3+L,qBAAiB4+L,GAAA//L,YAAA8/L,GAAA,GAAtD/wK,GAAcgxK,GAAA,GAAE/wK,GAAiB+wK,GAAA,GAGxCC,IAF+BjuL,iBAAY,MAET5Q,mBAAc,CAAC,IAAE8+L,GAAAjgM,YAAAggM,GAAA,GAA5C1rM,GAAS2rM,GAAA,GAAEhf,GAAYgf,GAAA,GAC9BC,GAA8B/+L,mBAAc,CAAC,GAAEg/L,GAAAngM,YAAAkgM,GAAA,GAAxC17J,GAAO27J,GAAA,GAAE/T,GAAU+T,GAAA,GAC1BC,GAA4Bj/L,mBAAc,IAAGk/L,GAAArgM,YAAAogM,GAAA,GAAtC9wK,GAAM+wK,GAAA,GAAEC,GAASD,GAAA,GACxBnqM,qBAAU,WACRk6D,GAAQ,GACR,IAAM6lG,EAAe,eAAAjoK,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAklH,EAAAovF,EAAA7+L,EAAA8+L,EAAAhqC,EAAA77D,EAAAC,EAAA6lG,EAAA,OAAA10M,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACR,OAAd4jE,GAAQ,GAAM9jE,EAAAE,KAAA,EACWmV,eAAmB,KAAD,EAA3B,OAAVD,EAAUpV,EAAAmB,KAAAnB,EAAAE,KAAA,EACO6+K,KAAgB,KAAD,EAAxB,OAARm1B,EAAQl0M,EAAAmB,KAAAnB,EAAAE,KAAA,EAEUmqJ,KAAc,KAAD,EAAtB,OAAT6f,EAASlqK,EAAAmB,KAAAnB,EAAAE,KAAA,GACaiC,eAAuB,KAAD,GAA/B,OAAbksG,EAAaruG,EAAAmB,KAAAnB,EAAAE,KAAA,GACiBwC,eAA+B,KAAD,GAA5D4rG,EAAqBtuG,EAAAmB,KAC3B4+F,eAAenjC,QAAQ,gBAAiByxC,EAAc9rG,QACtDw9F,eAAenjC,QACb,wBACA0xC,EAAsB/rG,QAGxB6rM,GAAkBtoM,YACbsP,EACAE,QAAO,SAAC/L,GACP,MAAwB,cAAjBA,EAAEgM,aAA6C,IAAfhM,EAAEiM,QAC3C,IACCm4C,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM9hD,OAAOmtC,EAAEi1B,KAAOpiE,OAAO8hD,EAAEsgB,KAAO,GAAK,CAAC,MAErE0iI,GAAuB9qM,YAClBsP,EAAWE,QAAO,SAAC/L,GACpB,MAAwB,eAAjBA,EAAEgM,aAA8C,IAAfhM,EAAEiM,QAC5C,MAEF84L,GACEl5L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,aAAjBA,EAAEgM,aAA4C,IAAfhM,EAAEiM,QAC1C,IAAG,IAEL+4L,GACEn5L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,UAAjBA,EAAEgM,aAAyC,IAAfhM,EAAEiM,QACvC,IAAG,IAEL64L,GACEj5L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,WAAjBA,EAAEgM,aAA0C,IAAfhM,EAAEiM,QACxC,IAAG,IAELi5L,GACEr5L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,eAAjBA,EAAEgM,UACX,KAEFo5L,GACEv5L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,YAAjBA,EAAEgM,aAA2C,IAAfhM,EAAEiM,QACzC,KAEF04L,GACE94L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,cAAjBA,EAAEgM,aAA6C,IAAfhM,EAAEiM,QAC3C,KAEFw+L,GACE5+L,EAAWE,QAAO,SAAC/L,GACjB,MAAwB,WAAjBA,EAAEgM,aAA0C,IAAfhM,EAAEiM,QACxC,IAAG,IAGC2+L,GAE0D,QAD9DtvF,EAAAzvG,EACGoI,MAAK,SAACjU,GAAM,IAAA6qM,EAAA,MAAqC,aAApB,QAAZA,EAAA7qM,EAAEgM,kBAAU,IAAA6+L,OAAA,EAAZA,EAAcrsM,cAA2B,WAAC,IAAA88G,GACpD,QADoDovF,EAD9DpvF,EAEIh8E,cAAM,IAAAorK,OADoD,EAD9DA,EAEYxtM,MAAM,OAAQ,GAE5B6qM,GAAUxrM,YAAKquM,IACfvF,GAAiB9oM,YAAKouM,IACtBrF,GAAkB/oM,YAAKokK,IACvByiC,GAAkB,GAAM,yBAAA3sM,EAAAqB,OAAA,GAAA1B,EAAA,KACzB,kBAvEoB,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAwErBmoK,GACF,GAAG,IACH,IAAA0qC,GAAkCx/L,qBAAkBy/L,GAAA5gM,YAAA2gM,GAAA,GAA7CpxK,GAAWqxK,GAAA,GAAEC,GAAUD,GAAA,GAC9BE,GAAgC3/L,qBAAkB4/L,GAAA/gM,YAAA8gM,GAAA,GAA3CE,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAC5B7qM,qBAAU,WACR,GAAIo5B,GAAQ,CACV,IAAM4xK,EAAa5xK,GAAO6F,OACpB7+B,EAAWg5B,GAAOzqB,OACxBg8L,GACE,iFACEK,EACA,8BACA5qM,EACA,MAEJ2qM,GAAYC,EACd,CACF,GAAG,CAAC5xK,KACJp5B,qBAAU,WACRirM,IACF,GAAG,CAAC96K,KAEJnwB,qBAAU,WAEJkf,KAE8B,KAA9BA,GAAcW,aACgB,OAA9BX,GAAcW,YAEdqkL,GAAgB,IAEhBgH,GAAahsL,IAGnB,GAAG,CAACA,KAEJ,IAAMgsL,GAAY,eAAA/yM,EAAAvC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOmnB,GAAkB,IAAAitK,EAAAgf,EAAAjrM,EAAA4yL,EAAAh0L,EAAA,OAAAjJ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,UAC1B,OAAb4oB,QAAa,IAAbA,KAAe2D,cAAc,CAAD7qB,EAAA1B,KAAA,eAAA0B,EAAAR,OAAA,iBAqBhC,OAlBD4sM,IAAc,GACV+G,EAAiB,QACMp3M,IAAvBgtE,EAAMnb,IAAI,UAAiD,OAAvBmb,EAAMnb,IAAI,WAChDulJ,EAASpqI,EAAMnb,IAAI,UAAY,IAE3B1lD,EAAuB,OAAbgf,QAAa,IAAbA,GAA4B,QAAfitK,EAAbjtK,EAAe2D,qBAAa,IAAAspK,OAAf,EAAbA,EAA8BtvL,MAAM,MAC/CsiB,IAAgBjf,EAAQzE,OAAS,IAChCq3L,EAAiB,CACnBz/K,OAAQ,GACRzW,SAAUsD,EAAQ,GAClB6W,KAAM7W,EAAQ,GACd6tD,YACiB,2BAAf7tD,EAAQ,GAAkCA,EAAQ,GAAK,aACzDg7B,qBAAsBhc,EAAc8iI,qBACpCopD,YAAahiD,GACb1uH,aAAc,MAEhBwpK,GAAen+L,YAAC,CAAC,EAAI+sL,KACtB96L,EAAA1B,KAAA,EACiB0mD,YAAc,CAAEz8B,YAAarB,EAAc1hB,aAAc,KAAD,GAApEsB,EAAG9G,EAAAT,OAEPm7L,GAAiBxzK,EAAes3F,GAAmB13G,EAAKqsM,GAE1D/G,IAAc,GAAO,yBAAApsM,EAAAP,OAAA,GAAAM,EAAA,KACtB,gBA5BiBL,GAAA,OAAAS,EAAAR,MAAA,KAAAC,UAAA,KA8BZqzM,GAAqB,WACrB96K,IACFA,GAAa9zB,KAAI,SAACm0B,GAChB,GAAIA,EAAKs5J,cAAsC,IAAtBt5J,EAAKs5J,aAAoB,CAChD,IAAIuhB,EAAa9G,GAAgB3wL,MAC/B,SAACkzH,GAAQ,OAAKA,EAAIp/D,WAAal3C,EAAKs5J,YAAY,IAE9CuhB,IACF76K,EAAKowE,aAAeyqG,EAAW18L,OAC/B6hB,EAAKu5J,aAAeshB,EAAWpsK,OAEnC,KAAO,CACL,IAAIosK,EAAa9G,GAAgB3wL,MAAK,SAACkzH,GAAQ,MAAiB,MAAZA,EAAIxiE,GAAW,IAC/D+mI,IACF76K,EAAKowE,aAAeyqG,EAAW18L,OAC/B6hB,EAAKs5J,aAAeuhB,EAAW3jI,SAC/Bl3C,EAAKu5J,aAAeshB,EAAWpsK,OAEnC,CACF,GAEJ,EAEAj/B,qBAAU,WACJ8iM,GACFwI,IAEJ,GAAG,CAACxI,EAAgB/hI,IACpB/gE,qBAAU,WACJioM,IAKN,WACE,IAAIvtI,EAA4B,CAC9Bx1D,WAAY,UACZogG,aAAc,GACdM,WAAY,GACZC,aAAc,GAEhB1tE,GAASl6B,GAAWqhB,cAAeo7C,EACrC,CAZI6wI,EAEJ,GAAG,CAAC1D,KAWJ,IAAMyD,GAAU,eAAA9yM,EAAA5C,YAAAC,IAAAC,MAAG,SAAAsC,IAAA,IAAAozM,EAAA9rK,EAAA+2J,EAAAgV,EAAAC,EAAAC,EAAAC,EAAAC,EAAAV,EAAAr9K,EAAA,OAAAj4B,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAUO,GATxB4jE,GAAQ,GACJsxI,GAAY,EACZ9rK,EAAsB,EACtB+2J,EAAkB,EAClBgV,EAAiB,EACjBC,EAA8B,GAC9BC,GAAmB,EACnBC,GAAsB,EACtBC,EAAsB,GACtBV,EAAiB,IAEjBpqI,EAAMnb,IAAI,gBAAmBmb,EAAMnb,IAAI,YAAW,CAAAvtD,EAAA/B,KAAA,gBAAA+B,EAAA/B,KAAA,GAC5BkmF,GAAyB,CAC/Cz8D,aAAcghD,EAAMnb,IAAI,iBACvB,KAAD,GAFI93B,EAASz1B,EAAAd,KAGfm0M,EAAe3qI,EAAMnb,IAAI,eACzBlmB,EAAc5R,EAAUtwB,WAAW,QAKpC,GAFGujE,EAAMnb,IAAI,cAAgBmb,EAAMnb,IAAI,iBACtClmB,EAAcx9B,OAAO6+D,EAAMnb,IAAI,eAE7Bmb,EAAMnb,IAAI,WAAcmb,EAAMnb,IAAI,cAAa,CAAAvtD,EAAA/B,KAAA,SAOhD,OANDy4L,GAAU7sL,OAAO6+D,EAAMnb,IAAI,YAC3B6wI,EAAUv0L,OAAO6+D,EAAMnb,IAAI,WAEP,CAClB1iC,OAAQuzK,EACRp4L,WAAY2a,EAAS3a,YACtBhG,EAAA/B,KAAA,GAEiBm8L,GAAkBgE,GAAS,KAAD,GAA5C+U,EAASnzM,EAAAd,KAEiC,OAAxCwpE,EAAMnb,IAAI,gCAC8B7xD,IAAxCgtE,EAAMnb,IAAI,2BAEVsiJ,IAA0B,GAC3B,SAEEnnI,EAAMnb,IAAI,WAAamb,EAAMnb,IAAI,gBACpCimJ,EAAc9qI,EAAMnb,IAAI,eAAiB,IAEvCmb,EAAMnb,IAAI,YACZ6lJ,EAASvpM,OAAO6+D,EAAMnb,IAAI,iBAEA7xD,IAAxBgtE,EAAMnb,IAAI,WAAmD,OAAxBmb,EAAMnb,IAAI,YACjD+lJ,GAAU,QAEiB53M,IAAzBgtE,EAAMnb,IAAI,YAAqD,OAAzBmb,EAAMnb,IAAI,aAClDgmJ,GAAa,QAEY73M,IAAvBgtE,EAAMnb,IAAI,UAAiD,OAAvBmb,EAAMnb,IAAI,WAChDulJ,EAASpqI,EAAMnb,IAAI,UAAY,IAG7B4lJ,EACFM,GACErV,EACA/2J,EACAgsK,EACAC,EACAC,EACAH,EACAI,EACAV,GAGFx7I,EAAQrzD,KAAK,gBACd,yBAAAjE,EAAAZ,OAAA,GAAAW,EAAA,KACF,kBAtEe,OAAAI,EAAAb,MAAA,KAAAC,UAAA,KAuEV66L,GAAiB,eAAA15L,EAAAnD,YAAAC,IAAAC,MAAG,SAAA2C,EAAOyqB,GAAc,IAAAw3C,EAAA,OAAA7kE,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAK5C,OAJKokE,EAAU,CACdx2D,OAAQgf,EACR2sB,YAAa72B,EAAS3a,WACtB0iB,QAAS/H,EAASva,OACnB/F,EAAApC,KAAA,EACsBmkE,GAAkBC,GAAS,KAAD,EAAnC,IACG,IADHhiE,EAAAnB,KACQ,CAAAmB,EAAApC,KAAA,eAAAoC,EAAAlB,OAAA,UACb,GAAK,cAAAkB,EAAAlB,OAAA,UAEL,GAAI,wBAAAkB,EAAAjB,OAAA,GAAAgB,EAAA,KAEd,gBAZsBR,GAAA,OAAAc,EAAApB,MAAA,KAAAC,UAAA,KAajBk0M,GAAc,eAAA3yM,EAAAvD,YAAAC,IAAAC,MAAG,SAAAkD,EACrBy9L,EACA/2J,EACAgsK,EACAC,EACAC,EACAH,EACAI,EACAV,GAAc,IAAAY,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAjjH,EAAApzF,EAAAiyG,EAAAqkG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAzkL,EAAA0kL,EAAAC,EAAAx1F,EAAAjM,EAAA0hG,EAAAz0E,EAAA00E,EAAAC,EAAA5yM,EAAA6yM,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3yE,EAAA4yE,GAAAC,GAAAC,GAAAC,GAAA,OAAA93M,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAUwB,GAVxB2C,EAAA5C,KAAA,EAKR+1M,EAAkB,KACtBpQ,GAAmB,CACjBx5I,GAAI,GACJ3H,KAAM,KAEJwxJ,GAA0B,EACf,IAAXZ,EAAY,CAAAxyM,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,EACU2vD,IAAiB,KAAD,EAAlCmjC,EAASnwF,EAAA1B,MAEf60M,EAAkBhjH,EAAUx1E,MAC1B,SAACm9F,GAAS,OAAKA,EAAK1yG,aAAeotM,CAAM,OAGzCY,GAAiB,GAClB,QAaF,OAVKr2M,EAAc,CAClBoyG,OAAQquF,EACRj5L,WAAYkiC,EACZ3f,aAAc2rL,EACdh/G,SAAU,GACVpsE,WAAYurL,EACZxtM,WAAY+tM,EACRA,EAAgB/tM,WAAWC,WAC3B0a,EAAS3a,WAAWC,WACxBqlG,MAAOyoG,GAAoCpzL,GAC5C/f,EAAA3C,KAAA,GACyBwmD,YAAc9mD,GAAa,KAAD,GAYpD,GAZIyxB,EAAaxuB,EAAA1B,KAEb+0M,GAAuB,EAGzBA,EADc,IAAZ7V,EACyB,QAAhB8V,EAAG9kL,SAAa,IAAA8kL,GAAgB,QAAhBC,EAAbD,EAAe/rG,sBAAc,IAAAgsG,OAAhB,EAAbA,EAA+BvuM,WAAWo4G,aAGzC,QADJo2F,EACThlL,SAAa,IAAAglL,GAAgB,QAAhBC,EAAbD,EAAejsG,sBAAc,IAAAksG,OAAhB,EAAbA,EAA+BxtL,cAAc,GAAG+/G,WAGhD0tE,EAAoB,MACnBL,EACH,IACEK,EAAoB51M,KAAKwM,MACvBkkB,EAAc+4E,eAAethF,cAAc,GAAG0zG,aAC9CqvC,aACJ,CAAE,MAAOtiK,GACP/G,QAAQC,MAAM8G,EAChB,CACD,OAAA1G,EAAA3C,KAAA,GACiB6mF,GACyC,KAA5C,QAAb4uH,EAAAtkL,SAAa,IAAAskL,OAAA,EAAbA,EAAevrG,eAAeviG,WAAW3D,aACxB,QADyC0xM,EACtDvkL,SAAa,IAAAukL,OAAA,EAAbA,EAAexrG,eAAeviG,WAAW3D,YACzColC,GACJ,KAAD,GAU2B,GAdxBxX,EAAKjvB,EAAA1B,KAOqB,OAAX,QAFbq1M,EACS,QADMX,EACnBxkL,SAAa,IAAAwkL,GAAgB,QAAhBC,EAAbD,EAAezrG,sBAAc,IAAA0rG,GAAY,QAAZC,EAA7BD,EAA+BjuM,kBAAU,IAAAkuM,OAA5B,EAAbA,EAA2C30F,kBAC1B,IAAfo1F,OAAe,EAAfA,EAAiBn1F,OACnB9nD,EAAQrzD,KAAK,gBAEgB,OAAZ,OAAfswM,QAAe,IAAfA,OAAe,EAAfA,EAAiBxzD,QACnBktD,IAAa,GAEfM,GAAcgG,GACVC,EAAqB,GACT,IAAZpW,IAAkC,OAAhBoV,GAAwC,KAAhBA,GAAmB,CAAA5yM,EAAA3C,KAAA,SAM9D,OALG+gH,EAA+B,CACjC1T,MAAO,CACLtlG,WAAY2a,EAAS3a,YAEvB6kB,OAAQuzK,GACTx9L,EAAA3C,KAAA,GACmBqmD,YAAsB06D,GAAY,KAAD,GAM1B,GAN3Bw1F,EAAW5zM,EAAA1B,KAEL6zG,EAAiByhG,EAAY9oJ,MACjC,SAAC/Z,EAAQ+I,GAAM,OAAK/I,EAAE3b,SAAW0kB,EAAE1kB,QAAQ,IAE7Cu0B,GAAcwoD,GACd43F,EAAmB,SACfsJ,EAAY,CAADrzM,EAAA3C,KAAA,SACb+nI,GACE52G,EAAc+4E,eAAeviG,WAAWqhB,eAE1CswK,IAAmB,GACnBge,GACEnmL,EAAc+4E,eAAeviG,WAC7B0tM,EACAgB,GACA1zM,EAAA3C,KAAA,iBA0CF,OAxCAmxB,EAAa1hB,wBAAA,GACR0hB,GAAa,IAChB+4E,eAAcz6F,wBAAA,GACT0hB,EAAc+4E,gBAAc,IAC/BviG,WAAU8H,wBAAA,GACL0hB,EAAc+4E,eAAeviG,YAAU,IAC1CqhB,cAAemI,EAAc+4E,eAAeviG,WACzCqhB,cACC,CACE1qB,MAAOmC,KAAKwM,MACVkkB,EAAc+4E,eAAeviG,WAAWqhB,eACxC1qB,MAAMyH,KAAI,SAACN,GACX,OAAAgK,wBAAA,GACKhK,GAAI,IACPlH,OAAQkH,EAAKlH,OAAOwH,KAAI,SAAC6Y,GAevB,MAd8B,OAA1BA,EAAQngB,SAASE,MACnBigB,EAAQngB,SAASG,UAAUuO,OAAO3H,SAChC,SAAC9H,GACCA,EAAI2P,YAAa,EACjB3P,EAAI0P,QAAS,CACf,IAEFwR,EAAQxR,QAAS,EACjBwR,EAAQvR,YAAa,IAErBuR,EAAQxR,QAAS,EACjBwR,EAAQvR,YAAa,GAGhBuR,CACT,KAEJ,KAEF,CAAC,QAIP43L,EACFrlL,EAAc+4E,eAAeviG,WAAWqhB,cAC1CrmB,EAAA3C,KAAA,GAC8B2iC,GAC5B/Q,EACAT,EAAc+4E,eAAeviG,WAAWqhB,cACxCmI,EAAc+4E,eAAeviG,WAAW1D,OACxCktB,EAAc+4E,eAAeviG,WAAWG,WACxC,KAAD,GALoB,OAArB0uM,EAAqB7zM,EAAA1B,KAAA0B,EAAA3C,KAAA,GAQG6kC,GACtBuE,EACAotK,GACA,KAAD,GACkD,GAJ7Cz0E,EAASp/H,EAAA1B,KAITw1M,EAAUz2F,GAAwB+hB,IACpCA,EAAUzjI,MAAM,CAADqE,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,GACSu3M,GAAgC3xM,YACpDurB,EAAc+4E,eAAepwE,qBACjCioG,EAAUzjI,MACV6yB,EAAc+4E,eAAeviG,WAC7B0uM,GACA,KAAD,IALGK,EAAa/zM,EAAA1B,OAOfu2M,GAAuBd,GACxB,YAECrB,EAAQ,CAAD1yM,EAAA3C,KAAA,aACiB,IAAtBy2M,EAAQpvM,SAAe,CAAA1E,EAAA3C,KAAA,gBAAA2C,EAAA3C,KAAA,GACF4D,aACrBm+H,EAAUzjI,MACVm4M,EACAtlL,EAAc+4E,eAAeviG,WAAW3D,YACxCmtB,EAAc+4E,eAAeviG,WAAW1D,OACxCoxM,GACA,KAAD,GANa,KAARvxM,EAAQnB,EAAA1B,MAOD,CAAD0B,EAAA3C,KAAA,SACuB,OAAjCw3M,GAAuB1zM,GAAUnB,EAAA3C,KAAA,GACPu3M,GAAgC3xM,YACpDurB,EAAc+4E,eAAepwE,qBACjCh2B,EACAqtB,EAAc+4E,eAAeviG,WAC7B0uM,GACA,KAAD,IALGK,EAAa/zM,EAAA1B,OAOfu2M,GAAuBd,GAIzB,QAAA/zM,EAAA3C,KAAA,iBAGsC,OAAxCw3M,GAAuBz1E,EAAUzjI,OAAOqE,EAAA3C,KAAA,GACdu3M,GAAgC3xM,YACpDurB,EAAc+4E,eAAepwE,qBACjCioG,EAAUzjI,MACV6yB,EAAc+4E,eAAeviG,WAC7B0uM,GACA,KAAD,IALGK,EAAa/zM,EAAA1B,OAOfu2M,GAAuBd,GACxB,QAQLpd,IAAmB,GAAO,QAExB+b,IACI2B,EACS,QADFH,EACX1lL,SAAa,IAAA0lL,GAAgB,QAAhBC,EAAbD,EAAe3sG,sBAAc,IAAA4sG,GAAqB,QAArBC,EAA7BD,EAA+Bh9K,2BAAmB,IAAAi9K,OAArC,EAAbA,EAAoDhxM,KAClD,SAACsD,GAEC,OADAA,EAAE8qL,OAAS,EACJ9qL,CACT,IAEJ8nB,EAAa1hB,wBAAA,GACR0hB,GAAa,IAChB+4E,eAAcz6F,wBAAA,GACT0hB,EAAc+4E,gBAAc,IAC/BviG,WAAU8H,wBAAA,GACL0hB,EAAc+4E,eAAeviG,YAAU,IAC1CilB,OAAQ,EACR3oB,OAAQ,cACRmrL,YAAa,gBACbpB,gBAAiB,IACjBh2I,QAASt1B,EACT5a,UAAW4a,EACXhV,uBAAwB,EACxBy3F,aAAcj/F,KAAO,IAAI2R,MAAQ/R,OAAO,uBACxC4rK,cAAexrK,KAAO,IAAI2R,MAAQ/R,OAAO,uBACzCynL,aAAcrnL,KAAO,IAAI2R,MAAQ/R,OAAO,uBACxCkpL,YAAatsK,EAAS3a,WAAWC,WACjCinL,WAAYvsK,EAAS3a,WAAWC,aAElC8xB,oBAAqBk9K,EACrBpsG,mBAAoB,OAIxB8hG,EAAmB,QACpB/pM,EAAA3C,KAAA,qBAGkB,IAAZmgM,EAAa,CAAAx9L,EAAA3C,KAAA,UAcM,GAbT,CACf21D,SAAUjzC,EAASizC,SACnBlC,aAAc7nD,OAAO8W,EAAS+wC,cAC9B1rD,WAAY6D,OAAO8W,EAAS3a,YAC5BI,MAAOua,EAASva,MAChBygF,WAAW,EACXC,YAAY,EACZC,YAAY,GAEd0lG,GACEr9J,EAAc+4E,eAAethF,cAAc,GAC3CuI,EAAc+4E,eAAeviG,YAE/B+kM,EAAmB,QAEfsJ,EAAY,CAADrzM,EAAA3C,KAAA,SACb+nI,GACE52G,EAAc+4E,eAAethF,cAAc,GAAG86I,UAEhD41B,IAAmB,GACnBge,GACEnmL,EAAc+4E,eAAeviG,WAC7B0tM,EACAgB,GACA1zM,EAAA3C,KAAA,kBA6BA,OA3BFmxB,EAAa1hB,wBAAA,GACR0hB,GAAa,IAChB+4E,eAAcz6F,wBAAA,GACT0hB,EAAc+4E,gBAAc,IAC/BviG,WAAU8H,wBAAA,GACL0hB,EAAc+4E,eAAeviG,YAAU,IAC1CqhB,cAAemI,EAAc+4E,eAAethF,cAAc,GACvD0zG,YACC,CACEh+H,MAAOmC,KAAKwM,MACVkkB,EAAc+4E,eAAethF,cAAc,GACxC0zG,aACHh+H,MAAMyH,KAAI,SAACN,GACX,OAAAgK,wBAAA,GACKhK,GAAI,IACPlH,OAAQkH,EAAKlH,OAAOwH,KAAI,SAAC6Y,GACvB,OAAAnP,wBAAA,GACKmP,GAAO,IACVxR,QAAQ,GAEZ,KAEJ,KAEF,CAAC,QAGTzK,EAAA3C,KAAA,GAEkC2iC,GAClC/Q,EACAT,EAAc+4E,eAAeviG,WAAWqhB,cACxCmI,EAAc+4E,eAAeviG,WAAW1D,OACxCktB,EAAc+4E,eAAeviG,WAAWG,WACxC,KAAD,GAL0B,OAArB0uM,EAAqB7zM,EAAA1B,KAAA0B,EAAA3C,KAAA,GAOH6kC,GACtBuE,EACAotK,GACA,KAAD,GACkD,GAJ7Cz0E,EAASp/H,EAAA1B,KAITw1M,GAAUz2F,GAAwB+hB,GAGa,gBAAnD5wG,EAAc+4E,eAAeviG,WAAW1D,SACxCoxM,EAAO,CAAA1yM,EAAA3C,KAAA,cAEmB,IAAtBy2M,GAAQpvM,SAAe,CAAA1E,EAAA3C,KAAA,iBAAA2C,EAAA3C,KAAA,GACF4D,aACrBm+H,EAAUzjI,MACVm4M,GACAtlL,EAAc+4E,eAAeviG,WAAW3D,YACxCmtB,EAAc+4E,eAAeviG,WAAW1D,QACxC,KAAD,GALa,KAARH,GAAQnB,EAAA1B,MAMD,CAAD0B,EAAA3C,KAAA,UACuB,OAAjCw3M,GAAuB1zM,IAAUnB,EAAA3C,KAAA,IACPu3M,GAAgC3xM,YACpDurB,EAAc+4E,eAAepwE,qBACjCh2B,GACAqtB,EAAc+4E,eAAeviG,WAC7B0uM,GACA,KAAD,KALGK,GAAa/zM,EAAA1B,QAOfu2M,GAAuBd,IACvBY,GACEnmL,EAAc+4E,eAAeviG,WAC7B0tM,EACAgB,EACAK,KAEH,SAAA/zM,EAAA3C,KAAA,mBAGqC,OAAxCw3M,GAAuBz1E,EAAUzjI,OAAOqE,EAAA3C,KAAA,IACdu3M,GAAgC3xM,YACpDurB,EAAc+4E,eAAepwE,qBACjCioG,EAAUzjI,MACV6yB,EAAc+4E,eAAeviG,WAC7B0uM,GACA,KAAD,KALGK,GAAa/zM,EAAA1B,QAOfu2M,GAAuBd,IACvBY,GACEnmL,EAAc+4E,eAAeviG,WAC7B0tM,EACAgB,EACAK,KAEH,SAGLpd,IAAmB,GAAO,SAI9Bme,GACEtmL,EAAc+4E,eAAeviG,WAAW3D,YACxCmtB,EAAc+4E,eAAeviG,WAAWqhB,eAEtCssL,GACF5I,EAAmB,WAEjBqJ,IACF5kL,EAAc+4E,eAAeviG,WAAWqwC,QAAU89J,EAClD3kL,EAAc+4E,eAAeviG,WAAWG,UAAYguM,GAEtD4B,GACEvmL,EAAc+4E,eAAethF,cAAc,GAC3CuI,EAAc+4E,eAAeviG,YAE/B44D,GACEpvC,EAAc+4E,eAAeviG,WAAW1D,OACxCktB,EAAc+4E,eAAethF,cAAc,GAC3C2tL,GAGF1Y,GACE1sK,EAAc+4E,eAAeviG,WAAWwnL,eAE1CwoB,GAAwBxmL,EAAc+4E,eAAeviG,YACrDi1L,GAAiBzrK,EAAc+4E,eAAeviG,YAE9C65B,GAAcrQ,EAAc+4E,eAAeviG,YAC3C8sL,GAAatjK,EAAc+4E,eAAeviG,WAAWG,WACrD83L,GAAWzuK,EAAc+4E,eAAeviG,WAAWqwC,SAEnD9V,GAAet8B,YAAKurB,EAAc+4E,eAAepwE,sBAEjD6zK,GAAqB/nM,YAChBurB,EAAc+4E,eAAeU,qBAElCtoE,GAAwB18B,YACnBurB,EAAc+4E,eAAehhF,wBAGlCwZ,GAAoB98B,YAAKurB,EAAc+4E,eAAegW,oBACtDwtF,GAAiBv8K,EAAc+4E,eAAethF,cAAc,IAE5DgvL,GAAgBzmL,EAAc+4E,eAAeviG,WAAWqhB,eAExDmR,GAAiBhJ,GACjB9B,GAAWzpB,YAAKgsB,IAChBk/E,GAAgB,KAChBC,EAAW,KACXntC,GAAQ,GACJniC,EAAW4C,UACb5C,EAAW4C,SAAU,GACtB1hC,EAAA3C,KAAA,mBAAA2C,EAAA5C,KAAA,IAAA4C,EAAAmhB,GAAAnhB,EAAA,SAEDihE,GAAQ,GACRthE,QAAQC,MAAM,iBAAgBI,EAAAmhB,IAAS,SAEzC0tL,IAAqB,GAAM,0BAAA7uM,EAAAxB,OAAA,GAAAuB,EAAA,oBAC5B,gBA1amBV,EAAAiB,EAAAwF,EAAA7B,EAAAkmB,EAAAiM,EAAAC,EAAAC,GAAA,OAAAp2B,EAAAxB,MAAA,KAAAC,UAAA,KA4adk2M,GAAyB,SAAC/4M,GAC9B,IAAIo5M,EAAgBp5M,EAGpB,GAFA6D,QAAQe,IAAI,QAASw0M,GAEjBA,EACF,IAAK,IAAInzM,EAAI,EAAGA,EAAImzM,EAAc1yM,OAAQT,IAExC,IADA,IAAMe,EAAOoyM,EAAcnzM,GAClBI,EAAI,EAAGA,EAAIW,EAAKlH,OAAO4G,OAAQL,IAAK,CAC3C,IAAMvG,EAASkH,EAAKlH,OAAOuG,GACrBgzM,EAAev5M,EAAOE,SAASE,KAErC,GACmB,MAAjBm5M,GACiB,OAAjBA,GACiB,MAAjBA,EAEKv5M,EAAOuC,KAAK4E,QACfmyM,EAAcnzM,GAAGnG,OAAOuG,GAAGhE,KAAK4E,MAC9BnH,EAAOE,SAASG,UAAUgb,cAEzB,GAAqB,OAAjBk+L,GAENv5M,EAAOuC,KAAK4E,OACbmyM,EAAcnzM,GAAGnG,OAAOuG,GAAGrG,SAASG,UAAUN,OAC9Cu5M,EAAcnzM,GAAGnG,OAAOuG,GAAGrG,SAASG,UAAUN,MAAM6G,OAAS,IAE7D0yM,EAAcnzM,GAAGnG,OAAOuG,GAAGhE,KAAK4E,MAC9BnH,EAAOE,SAASG,UAAUN,MAAM,GAAGmH,WAGlC,GAAqB,MAAjBqyM,IACJv5M,EAAOuC,KAAK4E,OAA8C,IAArCnH,EAAOE,SAASG,UAAUgb,SACJ,SAA1Crb,EAAOE,SAASG,UAAUwuH,YAAwB,CACpD,IAAI2qF,EAAc3nM,SAAS7R,EAAOE,SAASG,UAAUgb,SACjD4sH,EAAWtgI,KAAO2R,KAAK8pC,OACxB+/C,IAAIq2G,EAAa,QACjBjyM,OAAO,eACVvH,EAAOuC,KAAK4E,MAAQ8gI,CACtB,CAGN,CAMJ,OAHAzkG,GAAM,CACJzjC,MAAOu5M,IAEF,CACLv5M,MAAOu5M,EAEX,EACMx1K,GAAuB,eAAApa,EAAA3oB,YAAAC,IAAAC,MAAG,SAAAsD,EAC9BoiC,EACAD,EACA+yK,EACAv5M,EACAg7G,GAAgB,IAAAnG,EAAAr2D,EAAAl6C,EAAAk1M,EAAAzqE,EAAAJ,EAAAM,EAAAJ,EAAA75G,EAAAykL,EAAAC,EAAAC,EAAAt3M,EAAA,OAAAvB,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAKf,GAHGszG,EAASpuE,GACT3rB,MAAM+5F,IAAqB,MAAVA,KACnBA,EAAS++F,GAAehuK,SACzBrhC,EAAAjD,KAAA,GAEKytM,GAAU,CAADxqM,EAAAhD,KAAA,eAAAgD,EAAA9B,OAAA,iBAYiD,GARzDqY,MAAM+5F,IACT9xE,IAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZk5E,OAAQ1nG,OAAO0nG,GAAQv7F,oBAAeta,EAAW,CAC/Cgc,sBAAuB,KACvB,IAGFwjC,EAAYD,IAAas2D,GAAU++F,GAAehuK,SAClDzb,GAAc+/G,aAAc3rF,GAAS,CAAAh6C,EAAAhD,KAAA,SAYtC,OAXK+C,EAAW,CACfu2B,SAAUmgF,GAA0B9xG,GAAWG,UAC/CyxB,QAAS5xB,GAAW6xB,WACpBC,cAAewL,GAAgCjD,GAC/CtI,aAAYjqB,wBAAA,GACP9H,IAAU,IACbgyB,kBAAmB,EACnB3Q,cAAevoB,KAAKC,UAAUiH,GAAWqhB,iBAE3C4Q,kBAAmB,GACnBpP,OAAQ5e,OAAO0nG,IAChBtwG,EAAAhD,KAAA,GAEqCq4M,GAAsBt1M,GAAU,KAAD,IAA/Dk1M,EAAuBj1M,EAAA/B,OAE3BihC,GAAet8B,YAAKqyM,IACrBj1M,EAAAhD,KAAA,qBACQg4M,IAAa/6J,EAAS,CAAAj6C,EAAAhD,KAAA,cAE5B2H,IACqB,OAAX,OAARlJ,QAAQ,IAARA,OAAQ,EAARA,EAAUE,OACU,QAAX,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,QACW,OAAX,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,OACS,QAAX,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,OACS,OAAX,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,OACS,QAAX,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,OACI,oBAAdq5M,KACQ,cAAdA,GACc,UAAdA,EAAqB,CAAAh1M,EAAAhD,KAAA,SAyBpB,OAvBDoiC,IAAoB,GAMhB6C,IACFjD,GAAiBiD,GAEbliC,EAAW,CACfu2B,SAAUmgF,GAA0B9xG,GAAWG,UAC/CyxB,QAAS5xB,GAAW6xB,WACpBC,cAAeuI,GACftI,aAAYjqB,wBAAA,GACP9H,IAAU,IACbgyB,kBAAmB,EACnB3Q,cAAevoB,KAAKC,UAAUiH,GAAWqhB,iBAE3C4Q,kBAAmB,GACnBpP,OAAQ8oF,GAEJ4kG,EAAuB,CAC3BhxM,WAAYS,GAAW3D,aACxBhB,EAAAhD,KAAA,GAE0Bs4M,GACzBJ,GACA,KAAD,GAOA,IATKC,EAAYn1M,EAAA/B,QAKhBusI,EAAM2qE,EAAa76L,MAAK,SAAC4c,GAAS,OAA0B,KAArBA,EAAKjC,WAAkB,IAC9Dm1G,EAAM+qE,EAAa76L,MAAK,SAAC4c,GAAS,OAA0B,KAArBA,EAAKjC,WAAkB,IAC9Dy1G,EAAMyqE,EAAa76L,MAAK,SAAC4c,GAAS,OAA0B,KAArBA,EAAKjC,WAAkB,IAC9Dq1G,EAAM6qE,EAAa76L,MAAK,SAAC4c,GAAS,OAA0B,KAArBA,EAAKjC,WAAkB,OAG3DglB,GAAauwF,GAAUwqE,GAAS,CAAAh1M,EAAAhD,KAAA,gBAAAgD,EAAAhD,KAAA,GACGq4M,GACpCt1M,GACA,KAAD,IAFKk1M,EAAuBj1M,EAAA/B,QAKvBusI,GAAOJ,GAAOM,GAAOJ,GAAqB,UAAd0qE,EACZ,UAAdA,GACEl3M,EAAW,GAAA3C,OAAAyH,YACVi0B,GAAakhB,MAAM,EAAGpzC,GAAW+F,yBAAuB9H,YACxDqyM,EAAwBlyM,KAAI,SAACsD,GAG9B,OAFAA,EAAE0uB,SACA1uB,EAAE0uB,SAAWpwB,GAAW+F,uBACnBrE,CACT,MAGF64B,GAAet8B,YAAK9E,KAEpBohC,GAAet8B,YAAKqyM,IAEXzqE,GAAOJ,GAAOM,GAAOJ,IAAQroG,GACxC/C,GAAet8B,YAAKqyM,KAGvB,QAGH71K,IAAoB,GAAO,QAEzB6C,GACFhD,GAAkBgD,GACnB,QAEHotK,GAAehuK,QAAUivE,EAAOtwG,EAAAhD,KAAA,iBAAAgD,EAAAjD,KAAA,GAAAiD,EAAA8gB,GAAA9gB,EAAA,SAEhCV,QAAQC,MAAM,qBAAoBS,EAAA8gB,IAAS,yBAAA9gB,EAAA7B,OAAA,GAAA2B,EAAA,mBAE9C,gBAlI4Bo2B,EAAAmB,EAAAQ,EAAAK,EAAAC,GAAA,OAAAlT,EAAA5mB,MAAA,KAAAC,UAAA,KAoIvBg2M,GAAsB,eAAAh9K,EAAAh7B,YAAAC,IAAAC,MAAG,SAAA+6B,EAC7BqmF,EACAy0F,EACAkD,EACA7B,GAAmB,IAAA3zM,EAAAk1M,EAAAO,EAAAC,EAAA,OAAAl5M,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,UAAA46B,EAAA76B,KAAA,GAGbytM,GAAU,CAAD5yK,EAAA56B,KAAA,eAAA46B,EAAA15B,OAAA,oBAIc,IAAvB0/G,EAAYh0F,QAAiByoL,EAAO,CAAAz6K,EAAA56B,KAAA,SAYrC,OAXK+C,EAAW,CACfu2B,SAAUsnF,EAAY94G,UACtByxB,QAASqnF,EAAYpnF,WACrBC,cAAeuI,GACftI,aAAYjqB,wBAAA,GACPmxG,GAAW,IACdjnF,kBAAmB,EACnB3Q,cAAevoB,KAAKC,UAAUkgH,EAAY53F,iBAE5C4Q,kBAAmB,GACnBpP,OAAQ,GACToQ,EAAA56B,KAAA,EAEqCq4M,GAAsBt1M,GAAU,KAAD,EAEpC,GAF3Bk1M,EAAuBr9K,EAAA35B,KAC7BihC,GAAet8B,YAAKqyM,MAChBO,EAAe9B,GACF,CAAD97K,EAAA56B,KAAA,cACVi4M,EAAwB9yM,OAAS,GAAC,CAAAy1B,EAAA56B,KAAA,gBAAA46B,EAAA56B,KAAA,GACVu3M,GAAgC3xM,YACpDqyM,GACJO,EACA53F,EACA23F,GACA,KAAD,IALG7B,EAAa97K,EAAA35B,OAOfu2M,GAAuBd,GACxB,QAAA97K,EAAA56B,KAAA,iBAAA46B,EAAA76B,KAAA,GAAA66B,EAAA9W,GAAA8W,EAAA,SAKPt4B,QAAQC,MAAM,qBAAoBq4B,EAAA9W,IAAS,yBAAA8W,EAAAz5B,OAAA,GAAAo5B,EAAA,mBAE9C,gBA7C2BkB,EAAAW,EAAAC,EAAAC,GAAA,OAAAhC,EAAAj5B,MAAA,KAAAC,UAAA,KA+CtB+2M,GAAqB,eAAAv9K,EAAAx7B,YAAAC,IAAAC,MAAG,SAAAu7B,EAAOh4B,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,cAAA06B,EAAA16B,KAAA,EAC1BK,MACpB,wEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAGtBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAQ,OAAKsB,QAAQC,MAAM,CAAEm2M,UAAW13M,GAAM,IAAE,KAAD,EAd5C,OAAPpB,EAAO86B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAeNtB,GAAO,wBAAA86B,EAAAv5B,OAAA,GAAA45B,EAAA,KACf,gBAjB0BwB,GAAA,OAAAzB,EAAAz5B,MAAA,KAAAC,UAAA,KAmBrBg3M,GAAqB,eAAAl9K,EAAA97B,YAAAC,IAAAC,MAAG,SAAA67B,EAAOt4B,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EAC1BK,MAAM,qCAAsC,CAChEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAQ,OAAKsB,QAAQC,MAAM,CAAEm2M,UAAW13M,GAAM,IAAE,KAAD,EAX5C,OAAPpB,EAAOo7B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAYNtB,GAAO,wBAAAo7B,EAAA75B,OAAA,GAAAk6B,EAAA,KACf,gBAd0BmB,GAAA,OAAApB,EAAA/5B,MAAA,KAAAC,UAAA,KAgBrBi2M,GAAgC,eAAA57K,EAAAr8B,YAAAC,IAAAC,MAAG,SAAAo8B,EACvC+8K,EACAjC,EACA91F,EACA+qD,GAAkB,IAAAR,EAAAytC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAzzM,EAAA,OAAAhG,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,OA4BjB,GA1BGmrK,EAAiC,GAK/B2tC,GAFAD,EAAmBF,GAEqBr7L,MAC5C,SAACjU,GAAM,OAAKA,EAAE0uB,WAAa6oF,EAAYlzG,sBAAsB,IAE/DkrM,EAAmBE,EAGM,qBAAvBl4F,EAAY38G,QAC2B,IAAvC28G,EAAYlzG,yBAENqrM,EAA0BF,EAAiBv7L,MAC/C,SAACjU,GAAM,OAAKA,EAAE0uB,UAAY6oF,EAAYlzG,sBAAsB,IAE9DkrM,EAAmBG,EAEjBA,GACAA,EAAwBvqE,sBAExB28B,EAAa8tC,GACXF,EAAwBvqE,uBAMW,IAAvC5tB,EAAYlzG,wBACVkrM,GACwC,MAAxCA,EAAiBpqE,0BACuB/wI,GAAxCm7M,EAAiBpqE,qBACuB,IAAxCoqE,EAAiBpqE,oBAA0B,CAAAhzG,EAAAx7B,KAAA,eAAAw7B,EAAAt6B,OAAA,SAEtCw1M,GAAa,OA8EnB,OA3EwC,IAAvC91F,EAAYlzG,uBAIZy9J,EAFiB,OAAbQ,QAAa,IAAbA,GAAyB,QAAZqtC,EAAbrtC,EAAex9H,kBAAU,IAAA6qK,GAAzBA,EAA2BxqE,oBAElB/tI,KAAKwM,MAChB0+J,EAAcx9H,WAAWqgG,qBACzBrgG,WAGW0qK,EACV9yM,KAAI,SAACsD,GAAM,OACV4vM,GAA+B5vM,EAAEmlI,oBAAoB,IAEtDtqF,QAAO,SAACC,EAAYC,GAAU,SAAAjmD,OAAAyH,YAASu+C,GAAGv+C,YAAKw+C,GAAG,GAAG,IACrDhvC,QAAO,SAAC/L,GAAM,MAAsB,KAAjBA,EAAEqiI,WAAkB,KAGtCnmI,EAAYszM,EAAiBv7L,MACjC,SAACjU,GAAM,OAAKA,EAAE0uB,UAAY6oF,EAAYlzG,sBAAsB,MAE7CnI,EAAUipI,sBACzB28B,EAAa8tC,GACX1zM,EAAUipI,sBAIhB28B,EAAW3lK,SAAQ,SAACgH,GACEA,EAAUiqB,YAAYrhB,QAAO,SAAC/L,GAAC,OAAKA,EAAE8B,GAAG,IACjD3F,SAAQ,SAAC0zM,GACnBxC,EAAc3wM,KAAI,SAACxH,GAAW,OAC5BA,EAAOA,OAAOwH,KAAI,SAACsD,GAOjB,GANiBgC,aACf6tM,EAAY/tM,IAAI5E,MAAM,OAAO,GAC7BkF,KAAkBC,MAClBrC,EAAE5K,SAASC,OAIX,GAAyB,OAArBw6M,EAAYv6M,KACW,aAArB6N,EAAUyK,OACZ5N,EAAEgE,YAAa,EAEfhE,EAAE+D,QAAS,MAER,CACL,IAAM+rM,EAAeD,EAAY/tM,IAAI5E,MAAM,OACvC4yM,EAAa,GACf9vM,EAAE5K,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC9H,GACjB2N,aAChB8tM,EAAa,GACb1tM,KAAkBC,MAClBhO,EAAIgB,SAIqB,aAArB8N,EAAUyK,OACZvZ,EAAI2P,YAAa,EAEjB3P,EAAI0P,QAAS,EAGnB,IAEyB,aAArBZ,EAAUyK,OACZ5N,EAAEgE,YAAa,EAEfhE,EAAE+D,QAAS,CAGjB,CAEF,OAAO/D,CACT,GAAE,GAEN,GACF,IAAGmyB,EAAAt6B,OAAA,SAEIw1M,GAAa,yBAAAl7K,EAAAr6B,OAAA,GAAAy6B,EAAA,KACrB,gBA1HqCa,EAAAC,EAAAgC,EAAA6B,GAAA,OAAA5E,EAAAt6B,MAAA,KAAAC,UAAA,KA4HhC23M,GAAiC,SAACzqE,GACtC,IAAIhiI,EAAmB,GACvB,IAAKgiI,EACH,OAAOhiI,EAET,IAAI4sM,EAAY34M,KAAKwM,MAAMuhI,GAC3B,OAAK4qE,IAEOA,EAAUjrK,YAAcirK,EAAUniM,OAC5CzK,EAAY,CAAC4sM,GACJz7K,MAAMoH,QAAQq0K,EAAUjrK,cACjC3hC,EAAY4sM,EAAUjrK,WAAW/4B,QAAO,SAACs+B,GAAM,OAAKA,EAAEz8B,MAAM,KAEvDzK,GANEA,CAOX,EAEMirM,GAAc,eAAAzrK,EAAA1sC,YAAAC,IAAAC,MAAG,SAAA2gC,EAAOiJ,EAAqB7H,GAAiB,IAAA83K,EAAAp8J,EAAAv4C,EAAAilC,EAAAkuK,EAAA/yM,EAAAvG,EAAAohC,EAAAu4K,EAAAC,EAAA,OAAA54M,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,OAIlE,IAHIq5M,EAAmB,GACnBp8J,GAAqB,EACb,EACHv4C,EAAI,EAAGA,GAAgB,OAAZ68B,QAAY,IAAZA,GAAmB,QAAPoI,EAAZpI,EAAcjjC,aAAK,IAAAqrC,OAAP,EAAZA,EAAqBxkC,QAAQT,IAE/C,IADMmzM,EAA4B,OAAZt2K,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAMoG,GACjCI,EAAI,EAAGA,EAAI+yM,EAAct5M,OAAO4G,OAAQL,IACzCvG,EAASs5M,EAAct5M,OAAOuG,GAChC66B,OAAqB,EACI,MAAzBphC,EAAOE,SAASE,MAEsB,KAAtCJ,EAAOE,SAASG,UAAUghC,SACY,OAAtCrhC,EAAOE,SAASG,UAAUghC,UAE1BD,EAAQ,CACNC,QAASrhC,EAAOE,SAASG,UAAUghC,QACnCv4B,SAAU3C,EACV4C,SAAUxC,GAEZu0M,EAAUrzM,KAAK25B,IAEyB,MAAtCphC,EAAOE,SAASG,UAAUqvB,UAC5BgvB,GAAY,IAEoB,OAAzB1+C,EAAOE,SAASE,MACzBJ,EAAOE,SAASG,UAAUuO,OAAO3H,SAC/B,SAAC9H,EAAU4J,GACyB,MAA9B5J,EAAIoP,QAAQrO,SAASE,MACwB,MAA3CjB,EAAIoP,QAAQrO,SAASG,UAAUqvB,UACjCgvB,GAAY,EAGlB,IAQP,OAFKi7J,EAAuB,CAC3BhxM,WAAYkiC,GACb7N,EAAAv7B,KAAA,EAE0Bs4M,GAAsBJ,GAAsB,KAAD,GAAhEC,EAAY58K,EAAAt6B,OAGJk3M,EAAa76L,MAAK,SAACjU,GAAM,OAAuB,KAAlBA,EAAE4uB,WAAkB,MAE5DglB,GAAY,GAIhBkzJ,GAAalzJ,GACbhuB,GAAe,GAAD9wB,OAAKk7M,IAAY,yBAAA99K,EAAAp6B,OAAA,GAAAg/B,EAAA,KAChC,gBArDmBjB,EAAAC,GAAA,OAAA6M,EAAA3qC,MAAA,KAAAC,UAAA,KAuDd0+G,GAA0B,SAACz+E,GAC/B,IAAI4+E,EAAoC,CACtC97G,QAAS,GACTU,YAAY,EACZkC,MAAO,EACPI,UAAW,EACXC,UAAW,GAGb,IA0BE,OAzBAi6B,EAAajjC,MAAMkH,SAAQ,SAACC,EAAWxH,GACrCwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,OAAzBD,EAAOE,SAASE,OACdJ,EAAOE,SAASG,WAClBL,EAAOE,SAASG,UAAUyF,QAAQ0B,KAAI,SAAC1B,GACrC,IAAK,IAAIK,EAAI,EAAGA,EAAIL,EAAQyB,OAAOX,OAAQT,IACrCL,EAAQyB,OAAOpB,IACjBL,EAAQyB,OAAOC,KAAI,SAACuD,GACdA,EAAE/D,SAER,GAGN,IAEF46G,EAAa97G,QAAU9F,EAAOE,SAASG,UAAUyF,QACjD87G,EAAap7G,YAAcxG,EAAOE,SAASK,MAAM6G,SAAS,KAC1Dw6G,EAAal5G,MAAQ1I,EAAOE,SAASwI,MACrCk5G,EAAa94G,SAAWpJ,EACxBkiH,EAAa74G,SAAW9I,EAE5B,GACF,IAEAiwB,GAAiB0xF,GACVA,CACT,CAAE,MAAO59G,GAEP,OADAD,QAAQC,MAAM,cAAeA,GACtB49G,CACT,CACF,EAEMt7E,GAAqB,eAAA8I,EAAAruC,YAAAC,IAAAC,MAAG,SAAAqxB,EAAOuY,EAAkB7H,GAAiB,IAAA7hC,EAAApB,EAAA+I,EAAAC,EAAA2pB,EAAA,OAAA1xB,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,OAqCjE,GArCiEk8B,EAAAn8B,KAAA,EAEhEL,EAAmB,CAAC,EACpBpB,EAAe,GACf+I,GAAY,EACZC,GAAY,EAEhBi6B,EAAajjC,MAAMkH,SAAQ,SAACC,EAAWxH,GACrCwH,EAAKlH,OAAOiH,SAAQ,SAACjH,EAAaC,GACH,QAAzBD,EAAOE,SAASE,OAClBe,EAAYwH,WAAakiC,EACzB1pC,EAAY0xB,MAAQ,EACpB1xB,EAAYsH,MAAQzI,EAAOE,SAASG,UAAUqI,MAC9CvH,EAAY2xB,cAAgB9yB,EAAOE,SAASC,MAC5CgB,EAAY4xB,MAAQ/yB,EAAOE,SAASK,OAE/BP,EAAOE,SAASG,UAAU2J,YAAc,IAAIpD,OAAS,GACxD5G,EAAOE,SAASG,UAAU2J,WAAWxC,KAAI,SAACnB,GACxC28B,EAAajjC,MAAMyH,KAAI,SAACN,EAAWxH,GACjCwH,EAAKlH,OAAOwH,KAAI,SAACxH,EAAaC,GACxBoG,EAAIlG,QAAUH,EAAOE,SAASC,OAChCJ,EAAM0H,KAAK,CACToB,MAAOxC,EAAIlG,MACXgH,MAAOnH,EAAOuC,KAAK4E,OAGzB,GACF,GACF,IAGFhG,EAAYkO,OAAS,KACrBlO,EAAY6xB,UAAYjzB,EACxB+I,EAAWpJ,EACXqJ,EAAW9I,EAEf,GACF,KAEkB,IAAd6I,IAAiC,IAAdC,EAAe,CAAA40B,EAAAl8B,KAAA,gBAAAk8B,EAAAl8B,KAAA,EACb4B,aAAclC,GAAa,KAAD,GAA3CuxB,EAAQiL,EAAAj7B,MAEHwE,KACT87B,EAAajjC,MAAM+I,GAAU9I,OAAO+I,GAAUxG,KAAK4E,QAEnD67B,EAAajjC,MAAM+I,GAAU9I,OAAO+I,GAAUxG,KAAK4E,MACjDurB,EAASxrB,MACZ,eAAAy2B,EAAAh7B,OAAA,SAGIqgC,GAAY,QAAArF,EAAAn8B,KAAA,GAAAm8B,EAAApY,GAAAoY,EAAA,SAEnB55B,QAAQC,MAAM,aAAY25B,EAAApY,IAAS,yBAAAoY,EAAA/6B,OAAA,GAAA0vB,EAAA,mBAEtC,gBAtD0Bqa,EAAAO,GAAA,OAAAkC,EAAAtsC,MAAA,KAAAC,UAAA,KAwDrBqhC,GAAmB,eAAAsL,EAAA3uC,YAAAC,IAAAC,MAAG,SAAAs/B,EAC1B2I,EACAlG,EACA+3K,EACAxxM,EACAyxM,GAA2B,IAAAC,EAAAC,EAAAj/K,EAAApE,EAAAyd,EAAA6iK,EAAAluK,EAAA/jC,EAAAC,EAAAg1M,EAAA/0M,EAAAiG,EAAAqiC,EAAA,OAAA1tC,IAAAM,MAAA,SAAAskC,GAAA,cAAAA,EAAApkC,KAAAokC,EAAAnkC,MAAA,OAEvBw6B,EAAiB,GACjBpE,EAA6B,GAE7Byd,EAAOpzC,KAAKC,UAAU6gC,GAEtBm1K,EAAgBj2M,KAAKwM,MAAM4mC,GAC3BrL,EAA+B,GACnCkuK,EAAgB,CACdp4M,MAAoB,QAAfk7M,EAAE9C,SAAa,IAAA8C,GAAO,QAAPC,EAAbD,EAAel7M,aAAK,IAAAm7M,OAAP,EAAbA,EAAsB1zM,KAAI,SAACN,GAChC,OAAAgK,wBAAA,GACKhK,GAAI,IACPlH,OAAQkH,EAAKlH,OAAOwH,KAAI,SAAC6Y,GAavB,MAZ8B,OAA1BA,EAAQngB,SAASE,MACnBigB,EAAQngB,SAASG,UAAUuO,OAAO3H,SAAQ,SAAC9H,GACzCA,EAAI2P,YAAa,EACjB3P,EAAI0P,QAAS,CACf,IACAwR,EAAQxR,QAAS,EACjBwR,EAAQvR,YAAa,IAErBuR,EAAQxR,QAAS,EACjBwR,EAAQvR,YAAa,GAGhBuR,CACT,KAEJ,KACAna,EAAAlF,IAAAC,MAAA,SAAAiF,IAAA,IAAAmtB,EAAAplB,EAAAnG,EAAAwxM,EAAA/yM,EAAA8Z,EAAA7T,EAAA4uM,EAAAC,EAAAC,EAAArjL,EAAAs9D,EAAA/vB,EAAA32D,EAAA/H,EAAAguB,EAAAyJ,EAAAe,EAAAsO,EAAAhC,EAAA2vK,EAAApmL,EAAAF,EAAA+J,EAAAC,EAAAu8K,EAAAC,EAAAvgH,EAAAh8D,EAAAC,EAAAiP,EAAAzP,EAAAE,EAAAjyB,EAAAzF,EAAA0uB,EAAA6lL,EAAAC,EAAAC,EAAAC,EAAAptK,EAAAqtK,EAAAt9K,GAAAk9D,GAAAn8D,GAAAC,GAAAu8K,GAAAzgM,GAAAmnL,GAAAuZ,GAAAC,GAAAC,GAAAlZ,GAAAxtK,GAAA,OAAAx0B,IAAAM,MAAA,SAAA++B,GAAA,cAAAA,EAAA7+B,KAAA6+B,EAAA5+B,MAAA,OAEwB,GAEA,oBAFlB4xB,EAAQ6V,EAAO/iC,IAEXuwB,UAA8B,CAAA2J,EAAA5+B,KAAA,QAMtC,IALMwM,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WAEVtwB,EAAI,EAAGA,EAAIgyM,EAAcp4M,MAAM6G,OAAQT,IAE9C,IADMmzM,EAAgBnB,EAAcp4M,MAAMoG,GACjCI,EAAI,EAAGA,EAAI+yM,EAAct5M,OAAO4G,OAAQL,IAE/C,GAA8B,QADxB8Z,EAAUi5L,EAAct5M,OAAOuG,IACzBrG,SAASE,KACfigB,EAAQngB,SAASC,QAAU8N,EAAU9N,OACvC03B,EAAoBpwB,KAAK,CACvBkH,WAAW,EACXxP,IAAKoH,EACLiR,IAAKrR,EACL5D,KAAM8wB,EAAMwD,QACZ5oB,UAAWolB,EAAMoD,iBAIrB,IACMjqB,EAAI,EACRA,EAAI6T,EAAQngB,SAASG,UAAUuO,OAAOhI,OACtC4F,IAEe6T,EAAQngB,SAASG,UAAUuO,OAAOpC,GACtCrM,QAAU8N,EAAU9N,OAC7B03B,EAAoBpwB,KAAK,CACvBkH,WAAW,EACXxP,IAAKoH,EACLiR,IAAKrR,EACLuyE,YAAalsE,EACbjK,KAAM8wB,EAAMwD,QACZ5oB,UAAWolB,EAAMoD,YAM5B4J,EAAA5+B,KAAA,mBAC4B,SAApB4xB,EAAMqD,UAAoB,CAAA2J,EAAA5+B,KAAA,SAgBL,GAf1B25M,EAUA,CAAEvsM,QAAQ,EAAOuvD,IAAK,GAAI+9I,SAAU,IAOf,aALnBluM,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,YAEL/d,OAAoB,CAAA2nB,EAAA5+B,KAAA,cAC5BwM,EAAUmrB,SAAWnrB,EAAUmrB,QAAQxyB,OAAS,GAAC,CAAAy5B,EAAA5+B,KAAA,SACf,OAAhC65M,EAA8B,GAAEj7K,EAAA5+B,KAAA,GACCikE,KAAoB,KAAD,GAExD,KAFIztC,EAAwBoI,EAAA39B,MACtBmU,QAAO,SAAC2yC,GAAC,OAAoB,IAAfA,EAAE6c,QAAkB,IAC/BlgE,EAAI,EAAGA,EAAI8xB,EAAMrxB,OAAQT,KAC1Bq/D,EAAOvtC,EAAM9xB,IACVqD,aAAe2a,EAAS3a,YAC/B8xM,EAAS7zM,KAAK+9D,GAWW,GARvB32D,EAASutM,GACbd,EACArtM,EAAUmrB,SAGa,aAArBnrB,EAAUyK,SACZ0iM,EAAa5pM,UAAW,GAE1B4pM,EAAavsM,OAASA,GAElBZ,EAAUiqB,YAAY,CAADmI,EAAA5+B,KAAA,SAAAqF,EAAA9F,IAAAC,MAAA,SAAA6F,IAAA,IAAA0H,EAAAkwB,EAAA29K,EAAAt/K,EAAAh2B,EAAA,OAAA/F,IAAAM,MAAA,SAAAqxB,GAAA,cAAAA,EAAAnxB,KAAAmxB,EAAAlxB,MAAA,OAEf+M,EAAQP,EAAUiqB,YAAY1rB,GAC3BrG,EAAI,EAAE,KAAD,OAAEA,EAAIgyM,EAAcp4M,MAAM6G,QAAM,CAAA+rB,EAAAlxB,KAAA,SACtC63M,EAAgBnB,EAAcp4M,MAAMoG,GAAE42B,EAAA/7B,IAAAC,MAAA,SAAA87B,IAAA,IAAAu/K,EAAAC,EAAAC,EAAC,OAADx7M,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,OAEpC66M,EAAkBhD,EAAct5M,OAAOuG,GACzCiI,EAAM2qB,QAAUmjL,EAAgBp8M,SAASC,MACxB,OAAfqO,EAAMpO,MACJm8M,EAAuB,GACvBC,EAA0B,GAE9BF,EAAgBp8M,SAASG,UAAUuO,OAAO3H,SACxC,SAAC6D,EAAQ/B,GAAsB,IAAD0zM,GACI,QAAfA,EAAGjuM,EAAMI,cAAM,IAAA6tM,OAAA,EAAZA,EAAc19L,MAChC,SAAC5f,GAAG,OAAKA,EAAIihB,MAAQtV,EAAEyD,QAAQrO,SAASC,KAAK,KAGnC,OAAVo8M,QAAU,IAAVA,KAAY90M,KAAKsB,GAEjByzM,EAAc/0M,KAAKsB,EAEvB,IAEFqyM,EAAah9I,IAAI32D,KAAK,CACpB+P,IAAKrR,EACLhH,IAAKoH,EACLm2M,UAAWH,EACXI,WAAYH,KAGdpB,EAAah9I,IAAI32D,KAAK,CACpB+P,IAAKrR,EACLhH,IAAKoH,IAIT60M,EAAae,SAAS10M,KAAK,CACzB+P,IAAKrR,EACLhH,IAAKoH,IAER,wBAAAu7B,EAAAl/B,OAAA,GAAAm6B,EAAA,IApCMx2B,EAAI,EAAE,KAAD,OAAEA,EAAI+yM,EAAct5M,OAAO4G,QAAM,CAAA+rB,EAAAlxB,KAAA,gBAAAkxB,EAAArrB,cAAAy1B,IAAA,eAAEx2B,IAAGosB,EAAAlxB,KAAA,gBAFN0E,IAAGwsB,EAAAlxB,KAAA,iCAAAkxB,EAAA/vB,OAAA,GAAAkE,EAAA,IAF5C0F,EAAI,EAAE,KAAD,QAAEA,EAAIyB,EAAUiqB,YAAYtxB,QAAM,CAAAy5B,EAAA5+B,KAAA,gBAAA4+B,EAAA/4B,cAAAR,IAAA,iBAAE0F,IAAG6zB,EAAA5+B,KAAA,sBA8CnD25M,EAAah9I,IAAIx3D,OAAS,GAAC,CAAAy5B,EAAA5+B,KAAA,SAAA88B,EAAAv9B,IAAAC,MAAA,SAAAs9B,IAAA,IAAA6/B,EAAA,OAAAp9D,IAAAM,MAAA,SAAAk/B,GAAA,cAAAA,EAAAh/B,KAAAg/B,EAAA/+B,MAAA,OAErB28D,EAAMg9I,EAAah9I,IAAIj4D,GAG3B,OADAgyM,EAAcp4M,MAAMq+D,EAAI5mD,KAAKxX,OAAOo+D,EAAIj/D,KAAKe,SAASE,MAGtD+3M,EAAcp4M,MAAMq+D,EAAI5mD,KAAKxX,OAAOo+D,EAAIj/D,KAAK0P,QAAS,EACtDspM,EAAcp4M,MAAMq+D,EAAI5mD,KAAKxX,OAC3Bo+D,EAAIj/D,KACJe,SAASG,UAAUuO,OAASupM,EAAcp4M,MAC1Cq+D,EAAI5mD,KACJxX,OAAOo+D,EAAIj/D,KAAKe,SAASG,UAAUuO,OAAOpH,KAC1C,SAACoH,EAAa7F,GAAsB,IAAD6zM,EAOjC,OANiB,QAAjBA,EAAIx+I,EAAIs+I,iBAAS,IAAAE,GAAbA,EAAex1M,SAAS2B,KACtBqyM,EAAa5pM,WACf5C,EAAOL,QAAQrO,SAASG,UAAUC,QAAU,KAE9CsO,EAAOC,OAASA,GAEXD,CACT,KAGFupM,EAAcp4M,MAAMq+D,EAAI5mD,KAAKxX,OAAOo+D,EAAIj/D,KAAK0P,OAASA,EACvD,wBAAA2xB,EAAA59B,OAAA,GAAA27B,EAAA,IAxBMp4B,EAAI,EAAE,KAAD,QAAEA,EAAIi1M,EAAah9I,IAAIx3D,QAAM,CAAAy5B,EAAA5+B,KAAA,gBAAA4+B,EAAA/4B,cAAAi3B,IAAA,iBAAEp4B,IAAGk6B,EAAA5+B,KAAA,iBAAA4+B,EAAA5+B,KAAA,oBA6BzB,cAApB4xB,EAAMqD,UAAyB,CAAA2J,EAAA5+B,KAAA,SAWV,GAV1BmsC,EAKO,KACX1rC,KAAKwM,MAAM2kB,EAAMoD,cAEfpD,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,YACLa,OAAO1wB,OAAS,GAAC,CAAAy5B,EAAA5+B,KAAA,SACpB0E,EAAI,EAAE,KAAD,QAAEA,EAAIgyM,EAAcp4M,MAAM6G,QAAM,CAAAy5B,EAAA5+B,KAAA,SACtC63M,EAAgBnB,EAAcp4M,MAAMoG,GAEjCI,EAAI,EAAE,KAAD,QAAEA,EAAI+yM,EAAct5M,OAAO4G,QAAM,CAAAy5B,EAAA5+B,KAAA,SACN,OAAjC4e,EAAUi5L,EAAct5M,OAAOuG,GAAE85B,EAAA5+B,KAAA,GAClBshC,GACnB1P,EACAhT,EAAQngB,SACRmgB,EAAQ9d,KAAK4E,MACbgxM,EAAcp4M,OACd,KAAD,GACD,IANA6tC,EAAYvN,EAAA39B,QAOJs8B,EAAkB4O,EAAarrC,KAAKiF,KAAI,SAC5CL,GAGA,IADA,IAAI8C,EAAW,CAAC,EACP9D,EAAI,EAAGA,EAAIynC,EAAc1tB,OAAOtZ,OAAQT,IAAK,CACpD,IAAMqI,EAAQo/B,EAAc1tB,OAAO/Z,GACnC8D,EAAIuE,EAAgB,UAAKrH,EAAMqH,EAAiB,UAClD,CACA,OAAOvE,CACT,IACIg1B,EAAgB,GAChBD,GAAiB,CACnB,IAAS74B,EAAI,EAAGA,EAAI64B,EAAgBp4B,OAAQT,IAAK,CAO/C,IANM+4B,EAAWF,EAAgB74B,GAC7Bg5B,EAAU,IAAIC,MACJ,OAAZ4D,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5By4B,KAAK,CAAEl4B,MAAO,KAChBinC,EAAA,EAAAzP,EAA2BjyB,OAAOkyB,QAAQM,GAASkP,EAAAzP,EAAA/3B,OAAAwnC,IACjD,IADmDvP,EAAA5pB,YAAA0pB,EAAAyP,GAAA,GAAzCxhC,EAAGiyB,EAAA,GAAE13B,EAAK03B,EAAA,GAEdt4B,EAAI,EACRA,GACY,OAAZy8B,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5BL,KAGc,OAAZy8B,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOrI,IAEhBpG,QAAUyM,IACtBuyB,EAAQ54B,GAAK,CAAEY,UAIrB83B,EAAOx3B,KAAK03B,EACd,CAGEF,EAAOr4B,OAAS,KACduxM,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OACtC4tC,EAAazuC,KACboD,KAAKiV,KAGmB,KAAlB,QAFNgkM,EAAArD,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACboD,YAAI,IAAAi5M,GAAK,QAALC,EAFND,EAEQhkM,WAAG,IAAAikM,OAAL,EAFNA,EAEa70M,WAEfuxM,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACboD,KAAKiV,IAAG,GAAA5X,OAAOq/B,GAErB,CACD,QAhE8C14B,IAAG85B,EAAA5+B,KAAA,iBAHN0E,IAAGk6B,EAAA5+B,KAAA,iBAAA4+B,EAAA5+B,KAAA,wBAAA4+B,EAAA5+B,KAAA,GAuE9Bo7M,GACnBxpL,EACA8kL,EAAcp4M,OACd,KAAD,GACD,IAJA6tC,EAAYvN,EAAA39B,QAKJs8B,EAAkB4O,EAAarrC,KAAKiF,KAAI,SAC5CL,GAGA,IADA,IAAI8C,EAAW,CAAC,EACP9D,EAAI,EAAGA,EAAIynC,EAAc1tB,OAAOtZ,OAAQT,IAAK,CACpD,IAAMqI,EAAQo/B,EAAc1tB,OAAO/Z,GACnC8D,EAAIuE,EAAgB,UAAKrH,EAAMqH,EAAiB,UAClD,CACA,OAAOvE,CACT,IACIg1B,EAAgB,GAChBD,GAAiB,CACnB,IAAS74B,EAAI,EAAGA,EAAI64B,EAAgBp4B,OAAQT,IAAK,CAO/C,IANM+4B,EAAWF,EAAgB74B,GAC7Bg5B,GAAU,IAAIC,MACJ,OAAZ4D,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5By4B,KAAK,CAAEl4B,MAAO,KAChBu0F,GAAA,EAAAn8D,GAA2B7yB,OAAOkyB,QAAQM,GAASw8D,GAAAn8D,GAAA34B,OAAA80F,KACjD,IADmDl8D,GAAAvqB,YAAAsqB,GAAAm8D,IAAA,GAAzC9uF,GAAG4yB,GAAA,GAAEr4B,GAAKq4B,GAAA,GAEdj5B,GAAI,EACRA,IACY,OAAZy8B,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOhI,QAC5BL,MAGc,OAAZy8B,QAAY,IAAZA,OAAY,EAAZA,EAAcjjC,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACbe,SAASG,UAAUuO,OAAOrI,KAEhBpG,QAAUyM,KACtBuyB,GAAQ54B,IAAK,CAAEY,WAIrB83B,EAAOx3B,KAAK03B,GACd,CAEEF,EAAOr4B,OAAS,KACduxM,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OAAO4tC,EAAazuC,KACzDoD,KAAKiV,KAEmB,KAAlB,QADPokM,EAAAzD,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OAAO4tC,EAAazuC,KACvDoD,YAAI,IAAAq5M,GAAK,QAALC,EADPD,EACSpkM,WAAG,IAAAqkM,OAAL,EADPA,EACcj1M,WAEhBuxM,EAAcp4M,MAAM6tC,EAAap2B,KAAKxX,OACpC4tC,EAAazuC,KACboD,KAAKiV,IAAG,GAAA5X,OAAOq/B,GAErB,CACD,QAAAoB,EAAA5+B,KAAA,iBAMA,GAAwB,kBAApB4xB,EAAMqD,YACPzoB,GACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WACA,gBAAfskL,GAAgCC,GAClC,IAAS70M,GAAI,EAAGA,GAAIgyM,EAAcp4M,MAAM6G,OAAQT,KAE9C,IADMmzM,GAAgBnB,EAAcp4M,MAAMoG,IACjCI,GAAI,EAAGA,GAAI+yM,GAAct5M,OAAO4G,OAAQL,KAEjB,QADxB8Z,GAAUi5L,GAAct5M,OAAOuG,KACzBrG,SAASE,MACfigB,GAAQngB,SAASC,QAAU8N,GAAUjH,YACZ,4BAAvBiH,GAAU2C,SACZyP,GAAQ9d,KAAK4E,MAAQoC,EAAUG,aACC,mBAAvBuE,GAAU2C,UAMa,mBAAvB3C,GAAU2C,SALW,OAA1BrH,EAAUi0D,YACZn9C,GAAQ9d,KAAK4E,MAAQoC,EAAUI,OAE/B0W,GAAQ9d,KAAK4E,MAAQoC,EAAU2qD,OAQD,sBAAvBjmD,GAAU2C,SACW,OAA1BrH,EAAUi0D,YACZn9C,GAAQ9d,KAAK4E,MAAQoC,EAAUM,eAE/BwW,GAAQ9d,KAAK4E,MAAQoC,EAAU2sD,eAED,uBAAvBjoD,GAAU2C,SACW,OAA1BrH,EAAUi0D,YACZn9C,GAAQ9d,KAAK4E,MAAQoC,EAAUkuD,eAE/Bp3C,GAAQ9d,KAAK4E,MAAQoC,EAAUiuD,eAED,yBAAvBvpD,GAAU2C,SACW,OAA1BrH,EAAUi0D,YACZn9C,GAAQ9d,KAAK4E,MAAQoC,EAAUO,iBAE/BuW,GAAQ9d,KAAK4E,MAAQoC,EAAU6sD,iBAED,oBAAvBnoD,GAAU2C,WACnByP,GAAQ9d,KAAK4E,MAAQoC,EAAUK,QAO5C,yBAAAy2B,EAAAz9B,OAAA,GAAAsD,EAAA,IAvWMC,EAAI,EAAE,KAAD,OAAEA,GAAU,OAAN+iC,QAAM,IAANA,OAAM,EAANA,EAAQtiC,SAAM,CAAAg/B,EAAAnkC,KAAA,gBAAAmkC,EAAAt+B,cAAApB,IAAA,iBAAEC,IAAGy/B,EAAAnkC,KAAA,gBAgatC,OALGo2B,EAAoBjxB,OAAS,GAC/Bq1B,EAAUx0B,KAAK,CACbrH,KAAM,iBACN67B,UAAWpE,IAEd+N,EAAAnkC,KAAA,GAEqCq7M,GAAoB7gL,GAAW,KAAD,GAEpE,IAFMk/K,EAAuBv1K,EAAAljC,KAEpByD,EAAI,EAAGA,EAAIg1M,EAAiBv0M,OAAQT,IACrCkG,EAAY8uM,EAAiBh1M,GAE7BuoC,EAActiC,aAAmBC,IACX,IAAxBA,EAAUsC,gBAA+CzP,IAAxBmN,EAAUsC,UAC7CwpM,EAAcp4M,MAAM2uC,EAAYl3B,KAAKxX,OACnC0uC,EAAYvvC,KACZe,SAASG,UAAUN,MAAQ2uC,EAAYnsC,KAEzC41M,EAAcp4M,MAAM2uC,EAAYl3B,KAAKxX,OACnC0uC,EAAYvvC,KACZe,SAASG,UAAUuO,OACnB8/B,EAAYgqC,aACZnqE,QAAQrO,SAASG,UAAUN,MAAQ2uC,EAAYnsC,KAGA,OAArD8hC,GAAeh9B,YAAK,IAAIkjC,IAAIN,KAAyBrE,EAAAjjC,OAAA,SAC9Cw1M,GAAa,yBAAAvyK,EAAAhjC,OAAA,GAAA29B,EAAA,KACrB,gBA1dwB4M,EAAAC,EAAAC,EAAAC,EAAAwB,GAAA,OAAAY,EAAA5sC,MAAA,KAAAC,UAAA,KAspBnB+5M,GAAmB,eAAAv0H,EAAAxnF,YAAAC,IAAAC,MAAG,SAAAonF,EAAOpsD,GAAc,IAAA8gL,EAAAllL,EAAA,OAAA72B,IAAAM,MAAA,SAAA07M,GAAA,cAAAA,EAAAx7M,KAAAw7M,EAAAv7M,MAAA,OAI7C,GAHEs7M,EAAsB,MACpBllL,EAA6BoE,EAAUplB,QAC3C,SAAC+f,GAAU,MAAoB,mBAAfA,EAAMx2B,IAAyB,KAGzBwG,OAAS,GAAC,CAAAo2M,EAAAv7M,KAAA,eAAAu7M,EAAAv7M,KAAA,EACTk4B,GAAiB9B,GAAqB,KAAD,EAA5DklL,EAAcC,EAAAt6M,KAAA,cAAAs6M,EAAAr6M,OAAA,SAAA0E,YAEL01M,IAAc,wBAAAC,EAAAp6M,OAAA,GAAAylF,EAAA,KAC1B,gBAVwB40H,GAAA,OAAA10H,EAAAzlF,MAAA,KAAAC,UAAA,KA+BzB,SAASq5M,GACPc,EACAC,GAIA,IAAK,IAAIh3M,EAAI,EAAGA,EAAI+2M,EAAUt2M,OAAQT,IAEpC,IADA,IAAMm1M,EAAW4B,EAAU/2M,GAClBI,EAAI,EAAGA,EAAI42M,EAAYv2M,OAAQL,IAAK,CAC3C,IAAM62M,EAAaD,EAAY52M,GAC/B,GAAI+0M,EAASjiL,SAAWhsB,OAAO+vM,EAAW9rM,IACxC,OAAO,CAEX,CAEF,OAAO,CACT,CACA,IAAM+rM,GAAsB,SAACl9M,EAAe6iC,GAC1C,IAAK,IAAI78B,EAAI,EAAGA,EAAI68B,EAAap8B,OAAQT,IAEvC,IADA,IAAMe,EAAO87B,EAAa78B,GACjBI,EAAI,EAAGA,EAAIW,EAAKlH,OAAO4G,OAAQL,IAAK,CAE3C,GADeW,EAAKlH,OAAOuG,GAChBrG,SAASC,QAAUA,EAC5B,MAAO,CAAEqX,IAAKrR,EAAGhH,IAAKoH,EAE1B,CAEJ,EACM+2M,GAAyB,SAC7B3nL,EACA4nL,GAIA,IAFA,IAAIC,EAAqC,GAEhCr3M,EAAI,EAAGA,EAAIo3M,EAAkB32M,OAAQT,IAE5C,IADA,IAAMe,EAAOq2M,EAAkBp3M,GACtBI,EAAI,EAAGA,EAAIW,EAAKlH,OAAO4G,OAAQL,IAEtC,IADA,IAAMvG,EAASkH,EAAKlH,OAAOuG,GAClBJ,EAAI,EAAGA,EAAIwvB,EAAU/uB,OAAQT,IAAK,CACzC,IAAMrF,EAAO60B,EAAUxvB,GACnBrF,EAAKy2B,WAAav3B,EAAOE,SAASC,OACpCq9M,EAAW/1M,KAAK,CACdgwB,UAAW32B,EAAK22B,UAChBF,SAAUv3B,EAAOuC,KAAK4E,OAG5B,CAGJ,OAAOq2M,CACT,EACMC,GAAmB,eAAAC,EAAA38M,YAAAC,IAAAC,MAAG,SAAA2nF,EAAOpkF,GAGlC,IAAAm5M,EAAAC,EAAAz3M,EAAA4N,EAAA/M,EAAA62M,EAAAC,EAAAC,EAAAljL,EAAAuB,EAAA,OAAAp7B,IAAAM,MAAA,SAAA08M,GAAA,cAAAA,EAAAx8M,KAAAw8M,EAAAv8M,MAAA,OAKC,GAJIk8M,EAAc,IACZC,EAA+Bp5M,EAASmxB,UAAU9e,QACtD,SAAC/V,GAAI,OAAKA,EAAK22B,YAAcjzB,EAASyJ,UAAUopB,SAAS,KAE1BzwB,OAAS,EACxC,IAAST,EAAI,EAAGA,EAAIy3M,EAA6Bh3M,OAAQT,IACjD4N,EAAM6pM,EAA6Bz3M,GACzCw3M,EAAW,IAAA/9M,OAAOmU,EAAI0jB,UAAS,MAAA73B,OAAKmU,EAAIwjB,SAAQ,SAAA33B,OAAQ4E,EAASyJ,UAAUopB,UAAS,WAUxF,IANIrwB,EAAY,GAEZ62M,EAAyCr5M,EAASmxB,UAAU9e,QAC9D,SAAC/V,GAAI,OAAKA,EAAK22B,YAAcjzB,EAASyJ,UAAUopB,SAAS,IAGlDlxB,EAAI,EAAGA,EAAI03M,EAAej3M,OAAQT,IACnC4N,EAAM8pM,EAAe13M,GAEzBa,EADEb,IAAM03M,EAAej3M,OAAS,EACpBI,EAAY+M,EAAI0jB,UAAY,KAAO1jB,EAAIwjB,SAAW,SAElDvwB,EAAY+M,EAAI0jB,UAAY,KAAO1jB,EAAIwjB,SAAW,IAUvD,OAPmB,IAA1BsmL,EAAej3M,SACjBI,EAAY,SAGR6zB,EAAS3pB,wBAAA,GACV1M,EAASyJ,WAAS,IACrB0vM,cACA32M,cAASg3M,EAAAv8M,KAAA,GAGcK,MACvB,oEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU04B,KAGtBz4B,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,GAbY,OAAV65B,EAAU4hL,EAAAt7M,KAAAs7M,EAAAr7M,OAAA,SAcTy5B,GAAU,yBAAA4hL,EAAAp7M,OAAA,GAAAgmF,EAAA,KAClB,gBAtDwBq1H,GAAA,OAAAP,EAAA56M,MAAA,KAAAC,UAAA,KAuDnBggC,GAAuB,eAAAm7K,EAAAn9M,YAAAC,IAAAC,MAAG,SAAAk9M,EAC9B9qL,EACAjZ,EACAjM,EACAI,GAAY,IAAA6vM,EAAAnwM,EAAAiS,EAAAyV,EAAAnxB,EAAA65M,EAAA,OAAAr9M,IAAAM,MAAA,SAAAg9M,GAAA,cAAAA,EAAA98M,KAAA88M,EAAA78M,MAAA,OAmBwD,GAjBhE28M,EAKO,CACTl+L,OAAQ,GACR3d,KAAM,GACNiV,KAAM,EACNrY,KAAM,GAEF8O,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WAEbvW,EAASm9L,GAAoBpvM,EAAU9N,MAAOoO,MAC9ConB,EAAY2nL,GAAuBrvM,EAAUqpB,OAAQ/oB,IAG/C3H,OAAS,GACnBsZ,GACAjS,EAAUqpB,OAAOzgB,QAAO,SAAC/V,GAAI,OAAKA,EAAKy2B,WAAand,EAAgBja,KAAK,IACtEyG,OAAS,GAAC,CAAA03M,EAAA78M,KAAA,SAKZ,OAHK+C,EAAW,CACfyJ,YACA0nB,aACD2oL,EAAA78M,KAAA,EACoCg8M,GAAoBj5M,GAAU,KAAD,EAIlB,OAJ1C65M,EAAsBC,EAAA57M,KAC5B07M,EAAsB77M,KAAO87M,EAAQ/jL,GACrC8jL,EAAsBj/M,IAAM+gB,EAAO/gB,IACnCi/M,EAAsB5mM,IAAM0I,EAAO1I,IACnC4mM,EAAsBl+L,OAASjS,EAAUgpB,OAAOqnL,EAAA37M,OAAA,SACzCy7M,GAAqB,eAAAE,EAAA37M,OAAA,SAEvB,MAAI,yBAAA27M,EAAA17M,OAAA,GAAAu7M,EAAA,KACZ,gBA3C4BI,EAAAC,EAAAC,EAAAC,GAAA,OAAAR,EAAAp7M,MAAA,KAAAC,UAAA,KA6CvB85M,GAA+B,eAAA8B,EAAA59M,YAAAC,IAAAC,MAAG,SAAA29M,EACtCvrL,EACA9kB,GAAY,IAAA6vM,EAAAnwM,EAAAiS,EAAA2+L,EAAAr6M,EAAA65M,EAAA,OAAAr9M,IAAAM,MAAA,SAAAw9M,GAAA,cAAAA,EAAAt9M,KAAAs9M,EAAAr9M,MAAA,OAmByB,GAjBjC28M,EAKO,CACTl+L,OAAQ,GACR3d,KAAM,GACNiV,KAAM,EACNrY,KAAM,GAEF8O,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,WAEbvW,EAASm9L,GAAoBpvM,EAAU9N,MAAOoO,GAC9CswM,EAAc5wM,EAAUqpB,QAE1BpX,GAAsC,IAA5BjS,EAAUqpB,OAAO1wB,OAAY,CAAAk4M,EAAAr9M,KAAA,SAIxC,OAHK+C,EAAW,CACfyJ,YACA0nB,UAAWkpL,GACZC,EAAAr9M,KAAA,EACoCg8M,GAAoBj5M,GAAU,KAAD,EAIlB,OAJ1C65M,EAAsBS,EAAAp8M,KAC5B07M,EAAsB77M,KAAO87M,EAAQ/jL,GACrC8jL,EAAsBj/M,IAAM+gB,EAAO/gB,IACnCi/M,EAAsB5mM,IAAM0I,EAAO1I,IACnC4mM,EAAsBl+L,OAASjS,EAAUgpB,OAAO6nL,EAAAn8M,OAAA,SACzCy7M,GAAqB,eAAAU,EAAAn8M,OAAA,SAEvB,MAAI,yBAAAm8M,EAAAl8M,OAAA,GAAAg8M,EAAA,KACZ,gBApCoCG,EAAAC,GAAA,OAAAL,EAAA77M,MAAA,KAAAC,UAAA,KAsC/BwN,GAAe,eAAA0uM,EAAAl+M,YAAAC,IAAAC,MAAG,SAAAi+M,EACtBC,EACAhxM,EACAkM,GAAkB,IAAA0vB,EAAAxkC,EAAA,OAAAvE,IAAAM,MAAA,SAAA89M,GAAA,cAAAA,EAAA59M,KAAA49M,EAAA39M,MAAA,OAEG,kCAAjB0M,IACI47B,EAAiB7nC,KAAKC,UAAUid,GAAU,WAC5C7Z,EAAWrD,KAAKwM,MAAMq7B,IACjB,GAAG/pC,OAAO,GAAGuC,KAAK4E,MAAQ,MACnCkT,EAAc,EAACnJ,wBAAA,GACV3L,EAAS,IAAE,IACdvF,OAAMqH,YAAM9B,EAAS,GAAGvF,YAE3B,wBAAAo/M,EAAAx8M,OAAA,GAAAs8M,EAAA,KACF,gBAdoBG,EAAAC,EAAAC,GAAA,OAAAN,EAAAn8M,MAAA,KAAAC,UAAA,KAef42B,GAAgB,eAAA6lL,EAAAz+M,YAAAC,IAAAC,MAAG,SAAAw+M,EAAOxjL,GAAc,IAAAC,EAAAuC,EAAAt4B,EAAA,OAAAnF,IAAAM,MAAA,SAAAo+M,GAAA,cAAAA,EAAAl+M,KAAAk+M,EAAAj+M,MAAA,OACxCy6B,EAAuB,GAAEuC,EAAAz9B,IAAAC,MAAA,SAAAw9B,IAAA,IAAArC,EAAA2C,EAAAx4B,EAAC,OAADvF,IAAAM,MAAA,SAAAq+M,GAAA,cAAAA,EAAAn+M,KAAAm+M,EAAAl+M,MAAA,OAGrB26B,EAAkBH,EAAU91B,GAAG81B,UACf,GAAE8C,EAAA/9B,IAAAC,MAAA,SAAA89B,EAAAx4B,GAAA,IAAA0H,EAAC,OAADjN,IAAAM,MAAA,SAAAs+M,GAAA,cAAAA,EAAAp+M,KAAAo+M,EAAAn+M,MAAA,OAGkC,OAApDwM,EAAiB/L,KAAKwM,MAAM0tB,EAAW71B,GAAG0H,WAAU2xM,EAAAn+M,KAAA,EAElDK,MACJ,iEACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAGlBC,KAAMC,KAAKC,UAAU,CACnB00B,QAASuF,EAAW71B,GAAGhE,KACvB6d,IAAKnS,EAAU4xM,YAAc5xM,EAAY,eAAiB,GAC1D8K,MACE9K,EAAU4xM,YAAc5xM,OACM/O,KAAhB,OAAVkK,SAAU,IAAVA,QAAU,EAAVA,GAAYG,WACV4a,EAAS3a,WAAWC,WACV,OAAVL,SAAU,IAAVA,QAAU,EAAVA,GAAYG,UAAUC,WAAWC,WACnC,OAITrH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACA65B,EAAW71B,GAAGoI,UAQjButB,EAAcz0B,KAAK,CACjBkH,UAAWytB,EAAW71B,GAAGoI,UACzB+pE,YAAat8C,EAAW71B,GAAGmyE,YAC3Bn2E,KAAMA,EACNiV,IAAK4kB,EAAW71B,GAAGiR,IACnBrY,IAAKi9B,EAAW71B,GAAGpH,MAZrB+8B,EAAcz0B,KAAK,CACjBkH,UAAWytB,EAAWztB,UACtBpM,KAAMA,EACNiV,IAAK4kB,EAAW71B,GAAGiR,IACnBrY,IAAKi9B,EAAW71B,GAAGpH,KAWzB,IAAG,KAAD,mBAAAygN,EAAAh9M,OAAA,GAAAm8B,EAAA,IAzCGx4B,EAAI,EAAE,KAAD,OAAEA,EAAI61B,EAAWx1B,QAAM,CAAA+4M,EAAAl+M,KAAA,eAAAk+M,EAAAr4M,cAAAy3B,EAAAx4B,GAAA,eAAEA,IAAGo5M,EAAAl+M,KAAA,gCAAAk+M,EAAA/8M,OAAA,GAAA67B,EAAA,IAJnCt4B,EAAI,EAAE,KAAD,OAAEA,EAAI81B,EAAUr1B,QAAM,CAAA84M,EAAAj+M,KAAA,eAAAi+M,EAAAp4M,cAAAm3B,IAAA,eAAEt4B,IAAGu5M,EAAAj+M,KAAA,sBAAAi+M,EAAA/8M,OAAA,SAiDlCu5B,GAAa,wBAAAwjL,EAAA98M,OAAA,GAAA68M,EAAA,KACrB,gBArDqBK,GAAA,OAAAN,EAAA18M,MAAA,KAAAC,UAAA,KA+GtB,SAAAg9M,KAFC,OAEDA,GAAAh/M,YAAAC,IAAAC,MAvBA,SAAA++M,EAAyC9kG,GAAe,IAAAk/D,EAAAnvJ,EAAA,OAAAjqB,IAAAM,MAAA,SAAA2+M,GAAA,cAAAA,EAAAz+M,KAAAy+M,EAAAx+M,MAAA,WAClD8lM,EAAqB,CAAD0Y,EAAAx+M,KAAA,eAAAw+M,EAAAx+M,KAAA,EACG0oD,aAAwB+wD,EAAW1xG,YAAY,KAAD,EAAnE4wK,EAAY6lC,EAAAv9M,KAEhBy6L,GAAkB/iB,GAAc,cAAA6lC,EAAAx+M,KAAA,EAEf2iC,GACjBvT,GACAznB,GAAWqhB,cACXrhB,GAAW82M,QACX92M,GAAWG,WACX,KAAD,EALK0hB,EAAIg1L,EAAAv9M,KAMV0G,GAAWqhB,cAAgBQ,EAC3BgY,GAAc75B,IAGG,OAAb6mM,IAAqBA,GAASrpM,OAAS,GACd,SAAvBqpM,GAAS,GAAG7lK,QACd5G,GAAMvY,GAET,yBAAAg1L,EAAAr9M,OAAA,GAAAo9M,EAAA,MACFl9M,MAAA,KAAAC,UAAA,CAvDDoI,qBAAU,WACRgH,YAAW,WAKT,GAJKsjD,yBAAclsD,KA+BP,SACwB42M,GAAAJ,GAAAj9M,MAAC,KAADC,UAAA,CA/BlCq9M,CAA0B72M,IAGD,KAAb,OAAVH,SAAU,IAAVA,QAAU,EAAVA,GAAYilB,UACsB,KAAtB,OAAVjlB,SAAU,IAAVA,QAAU,EAAVA,GAAY6gM,iBACd,GAC8B,KAA5B1gM,GAAU82M,eACkB,KAA5B92M,GAAU+2M,eAEV,GAA+B,IAA3BrZ,GAAgBrgM,OAAc,CAChC,IAAIojM,EAAW/C,GAAgB,GAAGvoI,YAAc,MAC1B,OAAlBv6C,EAASuzC,KACXsyI,GAAsB/C,GAAgB,GAAGt9L,OAEzCqgM,GAAsB/C,GAAgB,GAAG/yI,OAE3C9qD,GAAW0nL,aAAekZ,EAC1B5gM,GAAW6xB,WAAagsK,GAAgB,GAAGvjD,SAC7C,MAEsB,OAAlBv/H,EAASuzC,KACXtuD,GAAW0nL,aAAevnL,GAAU+2M,cAEpCl3M,GAAW0nL,aAAevnL,GAAU82M,cAEtCj3M,GAAW6xB,WAAa1xB,GAAUm6I,SAI1C,GACF,GAAG,CAACn6I,KAyBJ,IAAMijC,GAAyB,eAAA+zK,EAAAx/M,YAAAC,IAAAC,MAAG,SAAAu/M,EAChCntL,EACAjZ,EACAjM,EACAI,GAAY,IAAAN,EAAAw+B,EAAA,OAAAzrC,IAAAM,MAAA,SAAAm/M,GAAA,cAAAA,EAAAj/M,KAAAi/M,EAAAh/M,MAAA,OAYV,GAVIwM,EACJolB,EAAMoD,WACNpD,EAAMoD,UAAU7vB,OAAS,GACzB1E,KAAKwM,MAAM2kB,EAAMoD,UAAU71B,QAAQ,WAAY,WAE3C6rC,EAAkBC,GACtBz+B,EACAM,EACA6L,EACAjM,IAGkBvH,OAAS,GAAC,CAAA65M,EAAAh/M,KAAA,eAAAg/M,EAAA99M,OAAA,SACrBT,KAAKC,UAAU,CACpB00B,QAASxD,EAAMwD,QACf7sB,WAAYyiC,KACZ,cAAAg0K,EAAA99M,OAAA,UAEG,GAAK,wBAAA89M,EAAA79M,OAAA,GAAA49M,EAAA,KACb,gBAzB8BE,EAAAC,EAAAC,EAAAC,GAAA,OAAAN,EAAAz9M,MAAA,KAAAC,UAAA,KA2BzB2pC,GAA0B,SAC9Bz+B,EACA1I,EACA6U,EACAjM,GAGA,IADA,IAAInE,EAAkE,GAC7D7D,EAAI,EAAGA,EAAI8H,EAAU2hC,WAAWhpC,OAAQT,IAAK,CACpD,IAAMa,EAAYiH,EAAU2hC,WAAWzpC,GAEvC,GAAIa,EAAU7G,QAAUia,EAAgBja,MACtC6J,EAAWvC,KAAK,CACdtH,MAAO6G,EAAU7G,MACjBgH,MAAOgH,EAAeA,EAAaqL,iBAAmB,IACtDd,OAAQ1R,EAAU0R,cAGpB,IAAK,IAAInS,EAAI,EAAGA,EAAIhB,EAASqB,OAAQL,IAGnC,IAFA,IAAMW,EAAO3B,EAASgB,GAEbiG,EAAI,EAAGA,EAAItF,EAAKlH,OAAO4G,OAAQ4F,IAAK,CAC3C,IAAMxM,EAASkH,EAAKlH,OAAOwM,GAGzBxF,EAAU7G,QAAUH,EAAOE,SAASC,OACpCH,EAAOE,SAASC,QAAUia,EAAgBja,OAE1C6J,EAAWvC,KAAK,CACdtH,MAAO6G,EAAU7G,MACjBgH,MAAOnH,EAAOuC,KAAK4E,MACfnH,EAAOuC,KAAK4E,MAAMqS,iBAClB,IACJd,OAAQ1R,EAAU0R,QAGxB,CAGN,CACA,OAAO1O,CACT,EAEsC,SAAA82M,KAgJrC,OAhJqCA,GAAA//M,YAAAC,IAAAC,MAAtC,SAAA8/M,EAAuC7lG,GAAe,IAAA8lG,EAAAC,EAAAh2L,EAAA9kB,EAAAmzM,EAAA4H,EAAA36M,EAAA46M,EAAAC,EAAAC,EAAA,OAAArgN,IAAAM,MAAA,SAAAggN,GAAA,cAAAA,EAAA9/M,KAAA8/M,EAAA7/M,MAAA,OAO9C,GAP8C6/M,EAAA9/M,KAAA,EAIlDyhC,IAAc,SAACpH,GAAc,OAAA3qB,wBAAA,GACxB2qB,GAAS,IACZ1sB,uBAAwB,GAAC,KAGvBmB,EAAgB,CAADgxM,EAAA7/M,KAAA,aACb2H,GAAW,CAADk4M,EAAA7/M,KAAA,SAcZ,GAXEu/M,EADE53M,GAAWqhB,cAAc1qB,MACNqJ,GAAWqhB,cAAc1qB,MAAMyH,KAClD,SAACN,GACC,OAAOA,CACT,IAGmB,KAEjB+5M,EAAqBpwL,GAASha,QAAO,SAAC3P,EAAW0Q,GACrD,MAA0B,kBAAnB1Q,EAAKwvB,SACd,KAEuB,CAAD4qL,EAAA7/M,KAAA,aAChB2H,GAAWqhB,cAAc,CAAD62L,EAAA7/M,KAAA,SACpBwpB,EAAO7hB,GACJjD,EAAI,EAAE,KAAD,QAAEA,EAAIiD,GAAWqhB,cAAc7jB,QAAM,CAAA06M,EAAA7/M,KAAA,SAC3C63M,EAAgBlwM,GAAWqhB,cAActkB,GAAE+6M,EAAAlgN,IAAAC,MAAA,SAAAigN,IAAA,IAAA7gM,EAAC,OAADrf,IAAAM,MAAA,SAAAigN,GAAA,cAAAA,EAAA//M,KAAA+/M,EAAA9/M,MAAA,OAGjB,QADxB4e,EAAUi5L,EAAct5M,OAAOuG,IACzBrG,SAASE,MACnB6gN,EAAmBh6M,QAAO,eAAAu6M,EAAAzgN,YAAAC,IAAAC,MAAC,SAAAwgN,EAAOC,GAAa,IAAAC,EAAA,OAAA3gN,IAAAM,MAAA,SAAAsgN,GAAA,cAAAA,EAAApgN,KAAAogN,EAAAngN,MAAA,OACvCkgN,EAAsBz/M,KAAKwM,MAC/BgzM,EAASjrL,WAGTpW,EAAQngB,SAASC,QAAUwhN,EAAoB36M,YAI7C,4BADA26M,EAAoB/wM,SAGpByP,EAAQ9d,KAAK4E,MAAQ+zG,EAAWxxG,aAEC,mBAAjCi4M,EAAoB/wM,SAEW,OAA3BsqG,EAAW19C,YACbn9C,EAAQ9d,KAAK4E,MAAQ+zG,EAAWvxG,OAEhC0W,EAAQ9d,KAAK4E,MAAQ+zG,EAAWhnD,OAGD,sBAAjCytJ,EAAoB/wM,SAEW,OAA3BsqG,EAAW19C,YACbn9C,EAAQ9d,KAAK4E,MAAQ+zG,EAAWrxG,eAEhCwW,EAAQ9d,KAAK4E,MAAQ+zG,EAAWhlD,eAGD,uBAAjCyrJ,EAAoB/wM,SAEW,OAA3BsqG,EAAW19C,YACbn9C,EAAQ9d,KAAK4E,MAAQ+zG,EAAWzjD,eAEhCp3C,EAAQ9d,KAAK4E,MAAQ+zG,EAAW1jD,eAIlC,yBADAmqJ,EAAoB/wM,SAGW,OAA3BsqG,EAAW19C,YACbn9C,EAAQ9d,KAAK4E,MAAQ+zG,EAAWpxG,iBAEhCuW,EAAQ9d,KAAK4E,MAAQ+zG,EAAW9kD,iBAGD,oBAAjCurJ,EAAoB/wM,WAEpByP,EAAQ9d,KAAK4E,MAAQ+zG,EAAWtxG,QAEnC,wBAAAg4M,EAAAh/M,OAAA,GAAA6+M,EAAA,KACF,gBAAAI,GAAA,OAAAL,EAAA1+M,MAAA,KAAAC,UAAE,CAAF,CAnDyB,IAoD3B,wBAAAw+M,EAAA3+M,OAAA,GAAAs+M,EAAA,IAvDM36M,EAAI,EAAE,KAAD,QAAEA,EAAI+yM,EAAct5M,OAAO4G,QAAM,CAAA06M,EAAA7/M,KAAA,gBAAA6/M,EAAAh6M,cAAA45M,IAAA,iBAAE36M,IAAG+6M,EAAA7/M,KAAA,iBAFD0E,IAAGm7M,EAAA7/M,KAAA,iBA6DV,GAD9CwpB,EAAK1hB,UAAY2xG,EACjBjwF,EAAKR,cAAgBrhB,GAAWqhB,gBAE5BoG,GAASjqB,OAAS,GAAC,CAAA06M,EAAA7/M,KAAA,gBAAA6/M,EAAA7/M,KAAA,GACC2iC,GACpBvT,GACA5F,EAAKR,mBACLvrB,EACA+rB,EAAK1hB,WACL,GACA,KAAD,GANK43M,EAAOG,EAAA5+M,KAObu2M,GAAuBkI,EAAQphN,OAAO,SAItCqhN,EAAuBvwL,GAAS9R,MAAK,SAAC7X,GAC1C,MAA0B,oBAAnBA,EAAKwvB,SACd,MAGQ2qL,EAAYn/M,KAAKwM,MAAM0yM,EAAqB3qL,WAClDrtB,GAAWqhB,cAAc1qB,MAAMyH,IAAG,eAAAs6M,EAAA/gN,YAAAC,IAAAC,MAAC,SAAA8gN,EAAOvvL,GAAW,IAAA6uF,EAAAzzE,EAAA,OAAA5sC,IAAAM,MAAA,SAAA0gN,GAAA,cAAAA,EAAAxgN,KAAAwgN,EAAAvgN,MAAA,OAGjD,KAFI4/G,EAAO7uF,EAAOxyB,OAAO+e,MACzB,SAAC7X,GAAS,OAAKA,EAAKhH,SAASC,QAAUkhN,EAAUlhN,KAAK,KAE/C,CAAD6hN,EAAAvgN,KAAA,eAAAugN,EAAAvgN,KAAA,EACqB+qC,GACzB40K,EACA//F,EACAA,EAAK9+G,KAAK4E,MACV65M,GACA,KAAD,EALKpzK,EAAYo0K,EAAAt/M,KAOlBohC,GACEz2B,OAAOjE,GAAW2rG,OAAOv0G,WAAW,IAAK,KACzCotC,EACA,iBACA1uC,EACAg8G,GACA,wBAAA8mG,EAAAp/M,OAAA,GAAAm/M,EAAA,KAEL,gBAAAE,GAAA,OAAAH,EAAAh/M,MAAA,KAAAC,UAAE,CAAF,CApBiC,KAsBlC+gC,GACEz2B,OAAOjE,GAAW2rG,OAAOv0G,WAAW,IAAK,UACzCtB,EACA,iBACAA,EACAg8G,GAEH,QAAAomG,EAAA7/M,KAAA,iBAAA6/M,EAAA9/M,KAAA,GAAA8/M,EAAAr4M,GAAAq4M,EAAA,SAILv9M,QAAQC,MAAM,iCAAgCs9M,EAAAr4M,IAAS,yBAAAq4M,EAAA1+M,OAAA,GAAAm+M,EAAA,mBAE1DD,GAAAh+M,MAAA,KAAAC,UAAA,UAEco2M,GAAoB+I,EAAAC,GAAA,OAAAC,GAAAt/M,MAAC,KAADC,UAAA,UAAAq/M,KAyClC,OAzCkCA,GAAArhN,YAAAC,IAAAC,MAAnC,SAAAohN,EAAoC31H,EAAmBtjF,GAAe,IAAAk5M,EAAAC,EAAAh1C,EAAAi1C,EAAAr8M,EAAA6xB,EAAAzxB,EAAAqvF,EAAA6sH,EAAA,OAAAzhN,IAAAM,MAAA,SAAAohN,GAAA,cAAAA,EAAAlhN,KAAAkhN,EAAAjhN,MAAA,WAChEirF,EAAai2H,cAAc,CAADD,EAAAjhN,KAAA,SACmC,OAAzD6gN,EAAqBj1M,OAAOjE,EAAWgyB,mBAAkBsnL,EAAAjhN,KAAA,EACrCgmF,GAA0B,CAClD9+E,WAAY,KACZsvD,UAAW9zC,EAAS3a,WAAWC,aAC9B,KAAD,EAHe,OAAb84M,EAAaG,EAAAhgN,KAAAggN,EAAAjhN,KAAA,EAIcwoD,eAAmB,KAAD,EAGjD,IAHIsjH,EAAkBm1C,EAAAhgN,KAClB8/M,EAAsB,GACP,GACVr8M,EAAI,EAAGA,EAAIo8M,EAAc37M,OAAQT,IAExC,IADM6xB,EAAUuqL,EAAcp8M,GACrBI,EAAI,EAAGA,EAAIgnK,EAAmB3mK,OAAQL,KACvCqvF,EAAW23E,EAAmBhnK,IACvBkkD,SAAWzyB,EAAQ9M,cACN,YAApB0qE,EAAS21D,QACXi3D,EAAoB/6M,KAAKuwB,GAKW,GAA5Cu4K,GAAuBiS,IAEnBp5M,EAAWgyB,kBAAkB,CAADsnL,EAAAjhN,KAAA,gBAAAihN,EAAAjhN,KAAA,GACJgmF,GAA0B,CAClD9+E,WAAY25M,IACX,KAAD,GAFe,KAAjBG,EAAiBC,EAAAhgN,MAGK,CAADggN,EAAAjhN,KAAA,gBAAAihN,EAAAjhN,KAAA,GACOmmF,GAAgB,CACxCj/E,WAAY25M,IACX,KAAD,GAFFG,EAAiBC,EAAAhgN,KAAA,QAKf+/M,EAAkB,GACpBhc,GAA2Bgc,EAAkB,IAE7Chc,GAA2Bgc,GAC5B,QAEH7R,IAAqB,GAAM,yBAAA8R,EAAA9/M,OAAA,GAAAy/M,EAAA,KAE9BD,GAAAt/M,MAAA,KAAAC,UAAA,CAED,IAAMu8L,GAAyB,eAAAsjB,EAAA7hN,YAAAC,IAAAC,MAAG,SAAA4hN,EAAOjyB,GAAqB,IAAAkyB,EAAA9qM,EAAA,OAAAhX,IAAAM,MAAA,SAAAyhN,GAAA,cAAAA,EAAAvhN,KAAAuhN,EAAAthN,MAAA,OAE5D,GADIqhN,EAAc/S,GAEhB,IAAS/3L,EAAQ,EAAGA,EAAQ8qM,EAAYl8M,OAAQoR,IAC1C8qM,EAAY9qM,GAAOoyB,SAAWwmJ,EAChCwd,GAAwB,GAExBA,GAAwB,GAG7B,wBAAA2U,EAAAngN,OAAA,GAAAigN,EAAA,KACF,gBAX8BG,GAAA,OAAAJ,EAAA9/M,MAAA,KAAAC,UAAA,KAYzBs7L,GAAgB,eAAA4kB,EAAAliN,YAAAC,IAAAC,MAAG,SAAAiiN,EAAO95M,GAA4B,IAAAm1L,EAAA4kB,EAAA3kB,EAAAmI,EAAA,OAAA3lM,IAAAM,MAAA,SAAA8hN,GAAA,cAAAA,EAAA5hN,KAAA4hN,EAAA3hN,MAAA,cAAA2hN,EAAA3hN,KAAA,EAC9BsqD,eAAuB,KAAD,EACc,UAA7C,QADfyyI,EAAe4kB,EAAA1gN,YACA,IAAf87L,GAAwC,QAAzBD,EAAfC,EAAiBY,+BAAuB,IAAAb,OAAzB,EAAfA,EAA0Cj1L,gBAC5CkyL,IAAuB,GAEuC,WAA7C,OAAfgD,QAAe,IAAfA,GAAwC,QAAzB2kB,EAAf3kB,EAAiBa,+BAAuB,IAAA8jB,OAAzB,EAAfA,EAA0C75M,gBAC9B,OAAVF,QAAU,IAAVA,GAAqB,QAAXu9L,EAAVv9L,EAAYG,iBAAS,IAAAo9L,GAArBA,EAAuBlpI,SACzBm3I,IAAuB,GAE1B,wBAAAwO,EAAAxgN,OAAA,GAAAsgN,EAAA,KACF,gBAVqBG,GAAA,OAAAJ,EAAAngN,MAAA,KAAAC,UAAA,KAWhBq2M,GAAuB,eAAAkK,EAAAviN,YAAAC,IAAAC,MAAG,SAAAsiN,EAAOn6M,GAA4B,IAAAo6M,EAAAxZ,EAAAyZ,EAAAC,EAAA,OAAA1iN,IAAAM,MAAA,SAAAqiN,GAAA,cAAAA,EAAAniN,KAAAmiN,EAAAliN,MAAA,OAC5D2H,EAAW0mL,iBAAoB1mL,EAAW4mL,eACvCwzB,EAAQp+L,eACdhc,EAAW0mL,gBAAkB0zB,EAC7Bp6M,EAAW4mL,aAAewzB,GAGF,IAAtBp6M,EAAWilB,SACkB,KAA3BlK,EAASk8L,eAAmD,KAA3Bl8L,EAASm8L,cACb,IAA3BrZ,GAAgBrgM,SACdojM,EAAW/C,GAAgB,GAAGvoI,YAAc,MAC1B,OAAlBv6C,EAASuzC,KACXsyI,GAAsB/C,GAAgB,GAAGt9L,OAEzCqgM,GAAsB/C,GAAgB,GAAG/yI,OAE3C9qD,EAAW0nL,aAAekZ,EAC1B5gM,EAAW6xB,WAAagsK,GAAgB,GAAGvjD,YAGvB,OAAlBv/H,EAASuzC,KACXtuD,EAAW0nL,aAAe3sK,EAASm8L,cAEnCl3M,EAAW0nL,aAAe3sK,EAASk8L,cAErCj3M,EAAW6xB,WAAa9W,EAASu/H,YAIP,IAA1Bt6I,EAAW2nL,YACbsW,GAAe7/L,KAAI,SAACmQ,GACdvO,EAAW2nL,aAAep5K,EAAMm7K,WAClC/Q,GAAWpqK,EAEf,IAEEvO,EAAWukD,KACP81J,EAAUr6M,EAAWukD,GAAG3lD,MAAM,KACpCm/L,IAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZ8xB,GAAI81J,GAAO,KAGXr6M,EAAW48C,OACPy9J,EAAUr6M,EAAW48C,KAAKh+C,MAAM,KACtCm/L,IAAmB,SAACtrK,GAAc,OAAA3qB,wBAAA,GAC7B2qB,GAAS,IACZmqB,KAAMy9J,GAAO,KAEhB,wBAAAE,EAAA/gN,OAAA,GAAA2gN,EAAA,KACF,gBAlD4BK,GAAA,OAAAN,EAAAxgN,MAAA,KAAAC,UAAA,KAmDvBi/D,GAAU,eAAA6hJ,EAAA9iN,YAAAC,IAAAC,MAAG,SAAA6iN,EACjB/I,EACAruH,EACAsrH,GAAkB,IAAA//K,EAAA8rL,EAAA,OAAA/iN,IAAAM,MAAA,SAAA0iN,GAAA,cAAAA,EAAAxiN,KAAAwiN,EAAAviN,MAAA,cAAAuiN,EAAAviN,KAAA,EAEUikE,KAAoBtjE,MAAK,SAAC0I,GAGpD,OAFA/G,QAAQe,IAAIgG,EAAE+L,QAAO,SAAC2yC,GAAM,OAAKA,EAAEhgD,aAAe2a,EAAS3a,UAAU,KAE9D41B,MAAMkL,KACX,IAAIC,IACFz/B,EACG+L,QAAO,SAAC2yC,GAAM,OAAKA,EAAEhgD,aAAe2a,EAAS3a,UAAU,IACvDhC,KAAI,SAACgiD,GAAM,OAAKA,EAAEnwB,MAAM,KAGjC,IAAG,KAAD,EAVEpB,EAAe+rL,EAAAthN,KAWfqhN,EAAe/L,EAAYnhM,QAAO,SAACs+B,GAAC,MAAsB,UAAjBA,EAAEm9D,WAAuB,IAErD,UAAfyoG,GACe,gBAAfA,GACe,WAAfA,GACe,WAAfA,GAEApM,IAAc,GACda,IAAiB,GACb9iH,EAAau3H,yBACfpV,GAAsBniH,EAAau3H,0BAGtB,cAAflJ,GACe,aAAfA,GACe,cAAfA,GAEIgJ,EAAan9M,OAAS,GACxB+nM,IAAc,GAEhBE,IAAsB,KAElBniH,EAAa6mD,iBACfo7D,IAAc,GACVjiH,EAAau3H,yBACfpV,GACEniH,EAAau3H,yBAA2BF,EAAan9M,OAAS,IAIlE+nM,IAAc,GAEZjiH,EAAa8mD,eACfw7D,IAAiB,IAIjB/2K,EAAM7wB,SAAS,IACjBusD,EAAWziD,wBAAC,CAAC,EAAIiT,GAAQ,IAAEumL,SAAS,KACpCmE,IAAsB,IAEtBl7I,EAAWziD,wBAAC,CAAC,EAAIiT,GAAQ,IAAEumL,SAAS,KAIlCkI,GAAQhsM,OAAS,GACnBsoM,GAAa0D,GAAQ5vH,MAAK,SAACl4E,GAAC,OAAKA,KAAkB,OAAZ4hF,QAAY,IAAZA,OAAY,EAAZA,EAAcxhE,aAAY,KAClE,wBAAA84L,EAAAphN,OAAA,GAAAkhN,EAAA,KACF,gBAhEeI,EAAAC,EAAAC,GAAA,OAAAP,EAAA/gN,MAAA,KAAAC,UAAA,KAgEd,SACa86L,GAAgBwmB,EAAAC,EAAAC,EAAAC,GAAA,OAAA1mB,GAAAh7L,MAAC,KAADC,UAAA,UAAA+6L,KAuH9B,OAvH8BA,GAAA/8L,YAAAC,IAAAC,MAA/B,SAAAwjN,EACEvkN,EACAyhH,EACA+iG,EACApO,GAAc,IAAArrL,EAAA+yK,EAAA3yL,EAAAs5M,EAAA1mB,EAAAE,EAAAD,EAAA0mB,EAAApgN,EAAA,OAAAxD,IAAAM,MAAA,SAAAujN,GAAA,cAAAA,EAAArjN,KAAAqjN,EAAApjN,MAAA,OAEO,GAAfwpB,EAAO/qB,EAAQ2kN,EAAArjN,KAAA,GAEfypB,EAAK,CAAD45L,EAAApjN,KAAA,YACE,OAAJwpB,QAAI,IAAJA,MAAM+C,gBAAiB/C,EAAKD,YAAW,CAAA65L,EAAApjN,KAAA,SA8BS,GA7B9Cu8L,EAAiB,GACf3yL,EAAc,OAAJ4f,QAAI,IAAJA,OAAI,EAAJA,EAAM+C,cAAchmB,MAAM,KACpC28M,EAAeziN,KAAKwM,MAAMuc,EAAKD,aAClB,2BAAf3f,EAAQ,GACVq5M,EAAQl9M,KAAI,SAACuM,GACC,OAARA,GACiB,2BAAf1I,EAAQ,KACV0I,EAAI1I,EAAQ,IAAM0I,EAAImyL,YAAY/+L,MACH,kBAApB4M,EAAI1I,EAAQ,KACrB2yL,EAAQv2L,KAAKsM,GAIrB,IAEAiqL,EAAU0mB,EAGRzmB,EAAiB,CACnBz/K,OAAQ,GACRzW,SAAUsD,EAAQ,GAClB6W,KAAM7W,EAAQ,GACd6tD,YACiB,2BAAf7tD,EAAQ,GACJA,EAAQ,GACR,aACNg7B,qBAAsBs+K,EAAa,GAAGx3D,qBACtCtnH,aAAc,MAEhBypK,GAAajoM,YAAK22L,EAAQnnL,QAAO,SAAC/L,GAAM,OAAKA,CAAC,MAC/B,KAAXwrM,EAAa,CAAAuO,EAAApjN,KAAA,SACT08L,EAAUH,EAAQnnL,QACtB,SAACs6K,GAAW,OAAKA,EAAO1lK,aAAe6qL,CAAM,IAE/CrY,EAAUp4J,aAAeywK,EACzBnzK,GAAwB2C,QAAUq4J,EAClCrQ,GAAmBqQ,GAAS0mB,EAAApjN,KAAA,uBACF,OAAjBkgH,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB/6G,QAAS,GAAC,CAAAi+M,EAAApjN,KAAA,SAOpC,GANIy8L,EAAuBv8E,EAON,KANnBw8E,EAAUumB,EAAQ7tM,QACpB,SAACs6K,GAAW,OACV+M,EAAcn/K,MACZ,SAACq/K,GAAc,OAAKA,EAAU7yK,gBAAkB4lK,EAAO9hL,MAAM,KAC1D8hL,EAAO1lK,aAAe6qL,CAAM,KAEzB1vM,OAAY,CAAAi+M,EAAApjN,KAAA,SASnB,OARC+C,EAAkB,GACtBm9G,EAAkB16G,SAAQ,SAAC6D,GACzBqZ,EAAS+zC,YAAc,GACvB1zD,EAASiD,KAAK,CACZ4mB,OAAQvjB,EAAEygB,cACV/hB,WAAY2a,EAAS3a,WAAWC,WAChCqlG,MAAO3qF,GAEX,IAAG0gM,EAAApjN,KAAA,GACaymD,YAAsB1jD,GAAU,KAAD,GAA/C25L,EAAO0mB,EAAAniN,KACY,2BAAf2I,EAAQ,KACV8yL,EAAUA,EAAQ32L,KAAI,SAACuM,GACrB,GAAY,OAARA,IACiB,2BAAf1I,EAAQ,KACInJ,KAAKwM,MAAMqF,EAAI+wM,eACrB/kN,MAAMkH,SAAQ,SAAC9H,EAAUO,GAC/BP,EAAIa,OAAOiH,SAAQ,SAACoZ,EAAcpgB,GAC5BogB,EAAQngB,SAASC,QAAUkL,EAAQ,KACP,MAA1BgV,EAAQngB,SAASE,KACnB2T,EAAI1I,EAAQ,IAAMgC,OAChBgT,EAAQ9d,KAAK4E,OACbqS,eAAe,QAAS,CACxB0B,sBAAuB7N,OACrBgT,EAAQngB,SAASG,UAAU8a,WAI3BkF,EAAQ9d,KAAK4E,MACf4M,EAAI1I,EAAQ,IAAMgV,EAAQ9d,KAAK4E,MAE/B4M,EAAI1I,EAAQ,IAAM,GAI1B,GACF,IAC+B,kBAApB0I,EAAI1I,EAAQ,MAAkB,CACvC,IAAIpB,EAAW,CACboF,OAAQ0E,EAAIw/F,OACZwxG,2EAAchxM,EAAIyX,OAClBe,aAAcxY,EAAIixM,cAClBzpK,YAAaxnC,EAAIunG,SAGnB,OADArxG,EAAIoB,EAAQ,IAAM0I,EAAI1I,EAAQ,IACvBpB,CACT,CAGN,KACD,QAGHk5B,GAAwB2C,QAAUq4J,EAClCrQ,GAAmBqQ,GAAS,QAE9BkR,GAAen+L,YAAC,CAAC,EAAI+sL,IACrB5R,GAAmBhlL,YAAK22L,IAAU6mB,EAAApjN,KAAA,iBAElCqsL,GAAmB,IACnBuhB,QAAgBnwM,GAAW,QAAA2lN,EAAApjN,KAAA,iBAAAojN,EAAArjN,KAAA,GAAAqjN,EAAAt/L,GAAAs/L,EAAA,kCAAAA,EAAAjiN,OAAA,GAAA6hN,EAAA,mBAIlC3mB,GAAAh7L,MAAA,KAAAC,UAAA,CAiCD,SAASktL,GACPvjG,EACAtjF,GAEAA,EAAWilB,OAAS,EACpBjlB,EAAWw9F,aAAej/F,KAAO,IAAI2R,MAAQ/R,OAAO,uBACpD6B,EAAW4lL,aAAernL,KAAO,IAAI2R,MAAQ/R,OAAO,uBACpD6B,EAAW1D,OAAS,cACpB0D,EAAW+pK,cAAgBxrK,KAAO,IAAI2R,MAAQ/R,OAAO,uBACrD6B,EAAWqnL,YAActsK,EAAS3a,WAAWC,WAC7CL,EAAWsnL,WAAavsK,EAAS3a,WAAWC,WAC5CL,EAAWqwC,QAAUt1B,EACrB/a,EAAWG,UAAY4a,EACvB/a,EAAWsxC,YAAcgyC,EAAa2wD,WACtCj0I,EAAWmzL,aAAe7vG,EAAa4mD,YACvClqI,EAAWunL,kBAAoBjkG,EAAaqpD,gBAC5C3sI,EAAWohF,kBAAoBkC,EAAalC,kBAC5CphF,EAAW3D,YAAcinF,EAAa/jF,WACtCS,EAAWwiB,cAAgB8gE,EAAangE,aACxCnjB,EAAWwnL,cAAgBlkG,EAAaxhE,aACxC9hB,EAAWynL,YAAc,gBACzBznL,EAAWunG,YAAcxsF,EAAS+vC,OAClC9qD,EAAWsnG,eAAiBvsF,EAAS3a,WACrCJ,EAAW0nL,aAAe,GAC1B1nL,EAAW6xB,WAAa,EACxB7xB,EAAW2nL,WAAa,EACxB3nL,EAAW04K,QAAU,GACrB14K,EAAW0iB,QAAU4gE,EAAaywD,gBAClC/zI,EAAW2rG,OAAS,GACpB3rG,EAAWukD,GAAK++B,EAAa2tD,KAC7BjxI,EAAW48C,KAAO0mC,EAAa4tD,IACjC,CAMA,IAAMxvB,GAAe,SAAC5zC,GACpBs7B,EAAWt7B,GACXq7B,GAAgBr7B,EAClB,EAEMmiI,GAAkB,SAACr2K,GAAuB,IAADiiL,EACzCC,EAAoB,GACZ,OAAZliL,QAAY,IAAZA,GAAmB,QAAPiiL,EAAZjiL,EAAcjjC,aAAK,IAAAklN,GAAnBA,EAAqBh+M,SAAQ,SAACC,EAAWxH,GACvCwH,EAAKlH,OAAOiH,SAAQ,SAACjH,GACnB,GAA6B,OAAzBA,EAAOE,SAASE,KAAe,CACjC,IAAMo2C,EAAOx2C,EAAOE,SAASG,UAAUuO,OACnCiyB,EAAW,CAAC,EAChB2V,EAAKvvC,SAAQ,SAAC6D,GACoB,MAA5BA,EAAEyD,QAAQrO,SAASE,OACrBygC,EAAI/1B,EAAE3K,OAAS,EAEnB,IACA+kN,EAAWz9M,KAAK,CAAEs/B,UAAW/mC,EAAOE,SAAU8mC,OAAQnG,GACxD,CACF,GACF,IAEAoD,GAAkB,GAADrkC,OAAKslN,GACxB,EAEA,SAASC,GAAgBngM,GACvB,IACIyiB,EACA29K,EACAC,EACAC,EAJEC,EAAgB,GAKtB,GAAIrT,GACF,IACE,IACMsT,EADatT,GAAqB,GACLp4L,OAAO9R,MAAM,KAC1Cy9M,EAAmBD,EAAgB,GAAG/7M,WACtCi8M,EAAmBF,EAAgB,GAAG/7M,WAe5C,GAbA6oM,GAAqBJ,GAAqB,GAAGn/H,QAC7C/tD,EAASjlB,MAAMyH,KAAI,SAACN,GAClBA,EAAKlH,OAAOwH,KAAI,SAACxH,GACXA,EAAOE,SAASC,QAAUslN,IAE5BJ,GADA59K,EAAcznC,GACiBE,SAASC,OAEtCH,EAAOE,SAASC,QAAUulN,IAE5BJ,GADAF,EAAcplN,GACiBE,SAASC,MAE5C,GACF,IAEEklN,IAAqBI,GACrBH,IAAqBI,EACrB,CACA,IAAIC,EAAW,IAAIrsM,KAAKmuB,EAAYllC,KAAK4E,OACrCy+M,EAAW,IAAItsM,KAAK8rM,EAAY7iN,KAAK4E,OACzCo+M,EAAc99M,KAAKk+M,EAAUC,EAC/B,CACF,CAAE,MAAO5hN,GACPD,QAAQC,MAAM,yBAA0BA,EAC1C,CAEF,OAAOuhN,CACT,CAEA,IAAMjiL,GAAQ,eAAAuiL,EAAA9kN,YAAAC,IAAAC,MAAG,SAAA6kN,EAAO9gM,EAAeziB,GAAsB,IAAAosK,EAAAs+B,EAAA5qF,EAAA0jG,EAAA7Y,EAAAC,EAAA6Y,EAAAC,EAAAC,EAAAC,EAAAC,EAAAh/L,EAAAi/L,EAAA50B,EAAA60B,EAAAzyM,EAAArP,EAAAwnK,EAAAu6C,EAAAC,EAAAC,EAAAp1L,EAAAq1L,EAAAta,EAAAua,EAAA7nB,EAAAuO,EAAA,OAAArsM,IAAAM,MAAA,SAAAslN,GAAA,cAAAA,EAAAplN,KAAAolN,EAAAnlN,MAAA,OA0B1D,OAvBKwrM,EAAc1qM,EAAK8N,WACrBgyG,EAAgCj5G,GAChC28M,EAAuBzqL,GACvB4xK,EAAuBiY,GAAgBngM,GAAU,GACjDmoL,EAAuBgY,GAAgBngM,GAAU,GACjDghM,EAA6B35G,GAC7B45G,EAAgCt7L,GAChCu7L,EAA4BvkG,GAC5BwkG,EAA6B,GAC7BC,EAAiB/7L,GACjBjD,EAAwBjD,EAExBkiM,EAAwBjf,GACxB3V,EAAgB3P,GAChBwkC,EAAoB/f,GACpB1yL,EAAeq+L,IACfA,GAAqB,GACnBA,GAAqB,GAAGn/H,OAE1B,GAEEvuE,EAAW,CACfmE,WAAYS,GAAW3D,aACxBmhN,EAAAnlN,KAAA,GACgCumF,GAAuBxjF,GAAU,KAAD,GAQ/D,GAREwnK,EAAoB46C,EAAAlkN,KAClB6jN,EAAcvZ,GAClBC,EACA7jM,GACAkyB,GACA4xK,EACAC,EACAt5L,IAGqD,KAAzB,QAA5B86J,EAAA3C,EAAgB7wI,oBAAY,IAAAwzI,OAAA,EAA5BA,EAA8BnxB,qBACI,IAAlCyoE,EAAuBr/M,OAAY,CAAAggN,EAAAnlN,KAAA,YAEf,UAAhBwrM,EAAuB,CAAA2Z,EAAAnlN,KAAA,SAKtB,OAJH4T,EAAY,CACV1D,YAAY,sBACZkC,QAAQ,uBACRzT,KAAM,YACLwmN,EAAAjkN,OAAA,kBA0DuB,GAtD9B0iE,GAAQ,GAEHsuH,IA+BHtxE,EAAYb,cAAe,EAC3Ba,EAAY53F,cAAgB8+G,KA/B5B47E,GAAgBngM,GAChBA,EAASjlB,MAAMyH,KAAI,SAACN,GAClBA,EAAKlH,OAAOwH,KAAI,SAACxH,GACkB,IAADsgB,EAAAkzB,EAAN,OAAtBxzC,EAAOuC,KAAK4E,QACdnH,EAAOuC,KAAK4E,MAAuB,QAAlBmZ,EAAGtgB,EAAOE,gBAAQ,IAAAogB,GAAW,QAAXkzB,EAAflzB,EAAiBjgB,iBAAS,IAAAmzC,OAAX,EAAfA,EAA4Bn4B,QAEpD,GACF,IAEMorM,EAAyB,OAARzhM,QAAQ,IAARA,GAAe,QAAPwhM,EAARxhM,EAAUjlB,aAAK,IAAAymN,OAAP,EAARA,EAAiBh/M,KAAI,SAACN,EAAW0Q,GAAiB,IAADyzB,EACtE,OAAAn6B,wBAAA,GACKhK,GAAI,IACPlH,OAAmB,QAAbqrC,EAAEnkC,EAAKlH,cAAM,IAAAqrC,OAAA,EAAXA,EAAa7jC,KAAI,SAAC6Y,EAAc+mG,GACtC,MAA8B,MAA1B/mG,EAAQngB,SAASE,KACnB8Q,wBAAA,GACKmP,GAAO,IACVngB,SAAQgR,wBAAA,GACHmP,EAAQngB,UAAQ,GAAA2M,YAAA,GAClB,YAAc,SAIZwT,CAEX,KAEJ,IAEAgiG,EAAY53F,cAAgBvoB,KAAKC,UAAU,CAAEpC,MAAO0mN,KAMlDF,EAAY3/M,QAAU,GACxByO,EAAY,CACV1D,YAAY,eAAD/R,OAAiB2mN,EAAYj+M,KAAK,QAC7CuL,QAAQ,yBACRzT,KAAM,YAKViiH,EAAYxU,SAAc,OAAJtrG,QAAI,IAAJA,OAAI,EAAJA,EAAMkuG,eAAgB,GAC5C4R,EAAY1R,aAAkB,OAAJpuG,QAAI,IAAJA,OAAI,EAAJA,EAAMwuG,aAAc3pF,EAAU8sC,OACxDmuD,EAAY3R,gBAAqB,OAAJnuG,QAAI,IAAJA,OAAI,EAAJA,EAAMyuG,eAAgB5pF,EAAU5d,WAC7D64G,EAAY10D,GAAK04J,EAAiB14J,GAAGrlD,KAAK,KAC1C+5G,EAAYr8D,KAAOqgK,EAAiBrgK,KAAK19C,KAAK,KAC9C+5G,EAAY0uE,YAAqB,OAARU,QAAQ,IAARA,OAAQ,EAARA,EAAUqB,YAAa,EAChDzwE,EAAYy/D,SAAkB,OAAR2P,QAAQ,IAARA,OAAQ,EAARA,EAAUrM,cAAe,GAC/C/iE,EAAYjnF,mBAAgC,OAAZkrL,QAAY,IAAZA,OAAY,EAAZA,EAAc39M,aAAc,KAC5D05G,EAAYvT,MAAQ1nF,GAGU,IAA5B5hB,GAAcsD,UACS,gBAAvBu5G,EAAY38G,QACI,WAAhBunM,GACgB,WAAhBA,GACgB,WAAhBA,GACgB,UAAhBA,EAAuB,CAAA2Z,EAAAnlN,KAAA,gBAAAmlN,EAAAnlN,KAAA,GAEKigH,GAAoB18F,GAAU,KAAD,IAAnDqM,EAAau1L,EAAAlkN,OAEjByjN,EAAoB1+M,KAAK4pB,GAC1B,YAEC+0L,EAAe5yE,cAAc,CAADozE,EAAAnlN,KAAA,YACf,OAAX4gH,QAAW,IAAXA,MAAa6pF,iBAAgB,CAAA0a,EAAAnlN,KAAA,SAI9B,OAHK2qM,EAA0B,CAC9B/9K,OAA0B,QAApBq4L,EAAErkG,EAAYh0F,cAAM,IAAAq4L,OAAA,EAAlBA,EAAoBj9M,WAC5BuxC,YAAa,MACd4rK,EAAAnlN,KAAA,GAEoB4mD,YAAc+jJ,GAAyB,KAAD,GAA/Cwa,EAAAlkN,KACR0N,IACFu+L,IAAc,GACf,QAgBJ,OAZKgY,EAAmB,CACvBnzG,SAAU,CACRj4E,oBAAqBwqL,EACrBp7L,sBAAuBs7L,EACvBv5H,aAAc,CAAC05H,GACf/5G,mBAAoB25G,EACpBrkG,kBAAmBukG,EACnB98M,WAAYi5G,EACZpB,mBAAoBklG,EACpBtkN,kBAAmBsiB,EAASva,OAE9ButB,KAAM81K,GACP2Z,EAAAnlN,KAAA,GACoBsmD,YAAe4+J,GAAkB,KAAD,IAAjD7nB,EAAQ8nB,EAAAlkN,OAEV4rM,GAAexP,GAEXuO,EAAgBD,GAAkBtO,GAEpCsU,GACFt4I,EAAQrzD,KAAK,sBAGN4lM,GACiB,SAApB/8L,GAA8C,UAAhB28L,GAChCwJ,KACAnF,IAAeD,KAEfv2I,EAAQrzD,KAAK,WAAY,CACvB+uG,YAAasoF,EACbpiL,IAAI,GAAD9c,OAAKqtM,EAAW,cAGvB5nI,GAAQ,IAIRhwD,EAAY,CACV1D,YAAY,GAAD/R,OAAKk/L,EAAS91L,SACzB6K,QAAQ,gBACRzT,KAAM,QACN2V,SAAU,WAGdsvD,GAAQ,GAAO,yBAAAuhJ,EAAAhkN,OAAA,GAAAkjN,EAAA,KAChB,gBAjLae,EAAAC,GAAA,OAAAjB,EAAA/iN,MAAA,KAAAC,UAAA,KAmLR+oM,GAAuB,WAAO,IAADib,EAC7BlhN,GAAU,EAId,OAHc,OAAVuD,SAAU,IAAVA,IAA4B,QAAlB29M,EAAV39M,GAAY8iM,wBAAgB,IAAA6a,OAAlB,EAAVA,EAA8Bv9M,cAAe2a,EAAS3a,aACxD3D,GAAU,GAELA,CACT,EAEM67G,GAAmB,eAAAslG,EAAAjmN,YAAAC,IAAAC,MAAG,SAAAgmN,EAAOx8L,GAAkB,IAAA3hB,EAAAC,EAAAm+M,EAAAC,EAAAC,EAAAC,EAAAlgN,EAAA26G,EAAA3gH,EAAA6gH,EAAAt7G,EAAAq7G,EAAAE,EAAAC,EAAA2gF,EAAAC,EAAA,OAAA9hM,IAAAM,MAAA,SAAAgmN,GAAA,cAAAA,EAAA9lN,KAAA8lN,EAAA7lN,MAAA,OAGT,GAHS6lN,EAAA9lN,KAAA,EAE3CsH,EAAWtD,GAAcsD,SACzBC,EAAWvD,GAAcuD,UAC3B0hB,EAAc,CAAD68L,EAAA7lN,KAAA,SAGmD,GAF9D0F,EACW,OAAbsjB,QAAa,IAAbA,GAA8B,QAAjBy8L,EAAbz8L,EAAe1qB,MAAM+I,UAAS,IAAAo+M,GAAkB,QAAlBC,EAA9BD,EAAgClnN,OAAO+I,UAAS,IAAAo+M,GAAM,QAANC,EAAhDD,EAAkD5kN,YAAI,IAAA6kN,OAAzC,EAAbA,EAAwDjgN,MACpD26G,EAAwB,OAAbr3F,QAAa,IAAbA,GAA8B,QAAjB48L,EAAb58L,EAAe1qB,MAAM+I,UAAS,IAAAu+M,OAAjB,EAAbA,EAAgCrnN,OAAO+I,IACpD5B,EAAM,CAADmgN,EAAA7lN,KAAA,SAEa,GADhBN,EAAc,KACd6gH,GAAc,GACdx8G,GAAcgB,WAAW,CAAD8gN,EAAA7lN,KAAA,SAQxB,OAPIiF,EAAKS,EAAMa,MAAM,KACjB+5G,EAAKr7G,EAAG81C,MAAM,EAAG91C,EAAGE,OAAS,GACnCzF,EAAc,CACZqH,OAAQu5G,EAAGz5G,KAAK,KAAO,IACvBG,MAAOq5G,EAAS5hH,SAASwI,MACzBC,WAAYS,GAAW3D,YACvB08G,cAAez7G,EAAG4B,KAAK,MACvBg/M,EAAA7lN,KAAA,GACsBuB,aAAqB7B,GAAa,KAAD,GAAnD8gH,EAASqlG,EAAA5kN,KAEK,MADdw/G,EAAWD,EAAUj6G,MAAM,MACpB,KACXg6G,EAAaE,EAASA,EAASt7G,OAAS,GACxCF,EAAGA,EAAGE,OAAS,GAAKo7G,EACpB7gH,EAAYghH,cAAgBJ,EAAGz5G,KAAK,KAAO,IAAM05G,GAClDslG,EAAA7lN,KAAA,iBAOC,OALFN,EAAc,CACZqH,OAAQhD,GAAc+C,WACtBE,MAAOq5G,EAAS5hH,SAASwI,MACzBC,WAAYS,GAAW3D,YACvB08G,cAAeh7G,GACfmgN,EAAA7lN,KAAA,GACsBuB,aAAqB7B,GAAa,KAAD,GAAnD8gH,EAASqlG,EAAA5kN,KACTw/G,EAAWD,EAAUzhH,WAAWgF,GAAc+C,WAAY,IACvDpB,EAAM3G,WAAWgF,GAAc+C,WAAY,IACnC,KAAb25G,IACFF,EAAaE,EAEI,OAAb18G,SAAa,IAAbA,OAAe+C,aACjBpH,EAAYghH,eACG,OAAb38G,SAAa,IAAbA,QAAa,EAAbA,GAAe+C,YAAay5G,IAEjC,eAAAslG,EAAA3kN,OAAA,SAGIxB,GAAW,QAAAmmN,EAAA7lN,KAAA,iBAAA6lN,EAAA9lN,KAAA,GAAA8lN,EAAA/hM,GAAA+hM,EAAA,SAItBvjN,QAAQC,MAAM,mCAAkCsjN,EAAA/hM,IAAS,yBAAA+hM,EAAA1kN,OAAA,GAAAqkN,EAAA,mBAE5D,gBArDwBM,GAAA,OAAAP,EAAAlkN,MAAA,KAAAC,UAAA,KAuDzB,OAAKqG,GAKHzK,cAAA,OAAKgB,UAAU,yBAAwBd,SACrCE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAAC8pB,KAAK,CAAC1U,IAAKqP,IACZrkB,eAAA,OAAKY,UAAU,6BAA4Bd,SAAA,CACzCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAACwnB,KAAM,CACLxmB,UAAU,sBACVS,KAAK,OACLmV,KAAM5W,cAACimH,IAAM,CAACnzG,KAAM,KACpBA,KAAK,QACL8C,QAvUZ,WACEwpG,GAAiBD,EACnB,EAsUYt+G,MAAO,CAAEmjC,WAAY,kBAEvBhkC,cAACoqF,GAAoB,CACnB0D,yBAA0BgtF,SAG5Br0G,GACArmE,eAAA,OACEY,UACY,OAAVyJ,SAAU,IAAVA,OAAY8iM,iBACRJ,KACE,oBACA,wBACF,oBACLjtM,SAAA,CAEoB,QAApByR,GACCvR,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAACm7L,GAAgB,CACfz2J,aAAcA,GACdC,SAAUA,GACVutE,SAAU,UACVzwG,KAAK,SACLiQ,WAAYA,GACZi0B,cAAeA,GACfiuE,gBAAiBA,GACjBC,WAAYA,EACZl3E,aAAcA,GACdg2E,iBAAkBloG,GAAW+F,yBAE/BxQ,cAACm7L,GAAgB,CACfz2J,aAAcA,GACdC,SAAUA,GACVutE,SAAU,UACVzwG,KAAK,QACLiQ,WAAYA,GACZi0B,cAAeA,GACfiuE,gBAAiBA,GACjBC,WAAYA,EACZl3E,aAAcA,GACdg2E,iBAAkBloG,GAAW+F,6BAKZ,SAApBmB,KAAyC,OAAVlH,SAAU,IAAVA,OAAY8iM,mBAC5CJ,OACAntM,cAACmzG,GAAmB,CAClBS,gBAAiBA,GACjBJ,SAAUrkD,GACVzqB,aAAcA,GACdC,SAAUA,GACVutE,SAAU,UACVxgG,WAAYA,GACZi0B,cAAeA,GACfkuE,WAAYA,EACZl3E,aAAcA,GACdg2E,iBAAkBloG,GAAW+F,yBAGZ,SAApBmB,GACCvR,eAAAH,WAAA,CAAAC,SAAA,CACGwyM,IACC1yM,cAACysM,GAAwB,CACvBjgG,QAAuB,QAAhB2iG,EAAEzlL,EAAS4gC,aAAK,IAAA6kJ,OAAA,EAAdA,EAAgB3iG,QACzBkhG,cACEngI,EAAMnb,IAAI,UAAYmb,EAAMnb,IAAI,UAAY,GAE9C87I,aAAckC,GACd3lM,WAAY,CACVmyB,oBAAqBD,GACrB3Q,sBAAuBA,GACvBN,cAAe,CAACA,IAChBgiF,mBAAoBA,GACpBsV,kBAAmBA,GAEnBv4G,WAAU8H,wBAAA,GACL9H,IAAU,IACbqhB,cAAerhB,GAAWqhB,cACtBvoB,KAAKC,UAAUiH,GAAWqhB,eAC1B,QAGRi1E,QAAStvF,GACTqkL,WAAYka,GACZ/qK,iBAAkBA,GAClBC,oBAAqBA,GACrBi9J,WAAYA,MAGduQ,IACA1yM,cAACysM,GAAwB,CACvBhiM,WAAY,CACVmyB,oBAAqBD,GACrB3Q,sBAAuBA,GACvBN,cAAe,CAACA,IAChBgiF,mBAAoBA,GACpBsV,kBAAmBA,GACnBv4G,WAAU8H,wBAAA,GACL9H,IAAU,IACbqhB,cAAevoB,KAAKC,UACR,OAAViH,SAAU,IAAVA,QAAU,EAAVA,GAAYqhB,kBAIlB0gF,QAAuB,QAAhB4iG,EAAE1lL,EAAS4gC,aAAK,IAAA8kJ,OAAA,EAAdA,EAAgB5iG,QACzBkhG,cACEngI,EAAMnb,IAAI,UAAYmb,EAAMnb,IAAI,UAAY,GAE9C87I,aAAckC,GACdrvG,QAAStvF,GACTqkL,WAAYka,GACZ/qK,iBAAkBA,GAClBC,oBAAqBA,GACrBi9J,WAAYA,WAOxBniM,cAAA,cAEAymE,GACArmE,eAAAH,WAAA,CAAAC,SAAA,CACGi/G,EACCn/G,cAAA,OAAKgB,UAAU,sCAAqCd,SAClDF,cAACy6L,GAAqB,CACpBtuE,aAAcA,GACdD,QAASA,EACT+uE,SAAoB,OAAVxwL,SAAU,IAAVA,QAAU,EAAVA,GAAYilB,OACtByM,YAAalI,OAIjBj0B,cAAA,UAEFA,cAAA,OAAKgB,UAAU,gBAAed,SAC5BE,eAAA,OAAKY,UAAU,2BAA0Bd,SAAA,CACtCi/G,GACCn/G,cAAC83G,KAAOn4C,IAAG,CACT3+D,UAAU,oDACVw3G,QAAS,CAAEC,QAAS,EAAGjiE,GAAI,KAC3BwhE,QAAS,CAAES,QAAS,EAAGjiE,EAAG,GAC1B3F,KAAM,CAAE4nE,QAAS,EAAGjiE,GAAI,KACxBuhE,WAAY,CAAE3gG,SAAU,IAAMlX,SAE9BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACy6L,GAAqB,CACpBtuE,aAAcA,GACdD,QAASA,EACT+uE,SAAoB,OAAVxwL,SAAU,IAAVA,QAAU,EAAVA,GAAYilB,OACtByM,YAAalI,SAKrBj0B,cAACs4G,KAAe,CAACC,iBAAe,EAAAr4G,SAC9BE,eAAC03G,KAAOn4C,IAAG,CACTt+D,QAAM,EACNL,UAAU,yBACVH,MAAO,CAAE8U,MAAOwpG,EAAe,MAAQ,QACvCvpG,QAAS,kBAxiBzBxQ,QAAQe,IAAI,eAAgBsE,IAI5BrF,QAAQe,IAAI,kBAAmBulB,IAK/BtmB,QAAQe,IAAI,gBAAiBwlB,IAC7BvmB,QAAQe,IAAI,oBAAqBslB,IACjCrmB,QAAQe,IAAI,qBAAsBsnL,SAUlCroL,QAAQe,IAAI,aAAc+rB,GAmhBY,EAEtBsmF,QAAS,CAAEhiE,EAAG,GAAIiiE,QAAS,GAE3BT,QAAS,CAAExhE,EAAG,EAAGiiE,QAAS,GAC1B5nE,KAAM,CAAE2F,GAAI,GAAIiiE,QAAS,GACzBV,WAAY,CAAE3gG,SAAUA,IAAWlX,SAAA,CAEjB,MAAjBi1L,IACCn1L,cAACm3L,GAAkB,CACjB3xK,SAAUA,EACVgyK,wBAx/BpB,SAEoCqxB,GAAA,OAAA1G,GAAAh+M,MAAC,KAADC,UAAA,EAu/BhB+2M,sBAAuBA,GACvBx+K,aAAcA,GACdoL,cAAejD,GACfr6B,WAAYA,GACZ65B,cAAeA,GACf7yB,WAAYA,GACZ6lL,eAAgBA,GAChBtyJ,gBAAiBA,GACjByyJ,oBAAqBA,GACrB7sL,UAAWA,GACXkwC,QAASA,GACTy8I,aAAcA,GACd9nI,EAAGA,KAGW,MAAjB0lI,IACCn1L,cAAC+nM,IAAuBsH,EAAA,CACtB3jL,cAAeA,GACf8Z,qBAAsBA,GACtB1T,YAAaA,GACby2K,cAAeA,GACfnC,WAAYA,GACZphK,gBAAiBA,GACjBI,yBAA0BA,GAC1B2jB,YAAa,kBAAM+qJ,GAAY,GAAI,EACnC9qJ,aAAc,kBAAM8qJ,GAAY,EAAE,EAEhCrzL,aACAnB,gBACAomB,mBACAtB,2BACAmW,cACA9U,uBACAlB,aACAC,2BACAsb,aACAva,gBACA7zB,cACA9B,WACA60B,YACAC,gBACAC,YACAxjC,UACAyQ,mBACAsgB,YACA2S,SACAp6B,cACAq6B,kBACAC,qBACA3f,YACA3T,cACAE,kBACAszB,oBACAC,uBACAG,kBACAC,sBAAiBp3B,YAAAmhM,EAAC,aAER5kM,IAAUyD,YAAAmhM,EAAA,gBACP/qK,IAAap2B,YAAAmhM,EAAA,kBACX/G,IAAep6L,YAAAmhM,EAAA,iBAChB/X,IAAcppL,YAAAmhM,EAAA,qBACV7G,IAAkBt6L,YAAAmhM,EAAA,kBACrB5G,IAAev6L,YAAAmhM,EAAA,iBAChB3G,IAAcx6L,YAAAmhM,EAAA,aAClBjsB,IAAUl1K,YAAAmhM,EAAA,UACblsB,IAAOj1K,YAAAmhM,EAAA,QACT1G,IAAKz6L,YAAAmhM,EAAA,sBACS9a,IAAmBrmL,YAAAmhM,EAAA,uBAClBzG,GAAoB16L,YAAAmhM,EAAA,iBAC1BzjB,IAAc19K,YAAAmhM,EAAA,kBACbra,IAAe9mL,YAAAmhM,EAAA,mBACdxkE,IAAgB38H,YAAAmhM,EAAA,gBACnBzkE,IAAa18H,YAAAmhM,EAAA,kBACX5jL,IAAevd,YAAAmhM,EAAA,qBACZlgB,IAAkBjhL,YAAAmhM,EAAA,sBACjB3hB,IAAmBx/K,YAAAmhM,EAAA,mBACtB5hB,IAAgBv/K,YAAAmhM,EAAA,eACpB1jL,IAAYzd,YAAAmhM,EAAA,6BACEvH,IAA0B55L,YAAAmhM,EAAA,0BAC7BzH,IAAuB15L,YAAAmhM,EAAA,sBAC3BxH,IAAmB35L,YAAAmhM,EAAA,oBACrBxG,IAAiB36L,YAAAmhM,EAAA,6BACR3H,IAA0Bx5L,YAAAmhM,EAAA,gCAEpDnI,IAA6Bh5L,YAAAmhM,EAAA,0BAENlqK,IAAuBj3B,YAAAmhM,EAAA,gBACjCxoM,IAAaqH,YAAAmhM,EAAA,eACd1yK,IAAYzuB,YAAAmhM,EAAA,IACvB5/I,IAACvhD,YAAAmhM,EAAA,cACSv1L,IAAW5L,YAAAmhM,EAAA,gBACT1pK,IAAaz3B,YAAAmhM,EAAA,kBACXnsB,IAAeh1K,YAAAmhM,EAAA,eAClB9yD,IAAYruI,YAAAmhM,EAAA,SAClBiI,IAAQppM,YAAAmhM,EAAA,cACHxpK,IAAWwpK,IAGV,MAAjBla,IACCn1L,cAACurM,GAAyB,CACxB5uK,aAAcA,GACdqI,gBAAiBA,GACjBu3G,aAAc+6C,GACdjlD,cAAe0+D,GACfvF,oBAAqByE,GACrBxE,aAAchhM,GAAW+F,uBACzB/F,WAAYA,GACZglD,EAAGA,GACHyzH,gBAAiBA,GACjB9mJ,SAAUmgH,GACVp3G,wBAAyBA,KAGX,MAAjBgwJ,IACCn1L,cAACooB,GAAmB,CAClBsvK,aAAcA,GACd1rK,sBAAuBA,GACvBoZ,yBAA0BA,GAC1Bd,cAAeA,GACf75B,WAAYA,GACZ+a,SAAUA,EACV/T,WAAYA,GACZia,cAAeA,GACf/Z,gBAAiBA,EACjB89C,EAAGA,KAGc,SAApB99C,GAA+C,MAAjBwjL,IAC7Bn1L,cAACstG,GAAgB,CACfI,mBAAoBA,GACpBo7G,gBAAiBnsL,GACjB8yB,EAAGA,OA9IF0lI,mBAlLdn1L,cAAAC,WAAA,GA4UX,ECjqHa8oN,GAAiB,eAAA5mN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAnB,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEhB,OADzBL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDW,EAAKV,kBAAoBT,EAAMG,EAAAE,KAAA,EACTK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAYNtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACf,gBAhB6B2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAkBjB4kN,GAAiB,eAAA1kN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOX,GAAS,IAAAnB,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEhB,OADzBL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtDW,EAAKV,kBAAoBT,EAAM+B,EAAA1B,KAAA,EACTK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUI,KAEpBH,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAhB6BE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KCUjB6kN,GAAgB,SAACxpN,GAC5B,IAAAi0D,EAOIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,EAClB8K,cAAej/D,EAAM4mB,WAVrBzW,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACb69D,EAAQtL,EAARsL,SACAv+C,EAASizC,EAATjzC,UACAikB,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAOFrtB,EAA4BC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAAzCuC,EAAMrC,EAAA,GAAEsC,EAAStC,EAAA,GAChBhB,EAAgBkH,cAAhBlH,YAERlK,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAGvBrM,EAAU,OAFVA,EAAU,OAId,GAAG,IAEH,IAAMi+C,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EAEMg0M,EAAQ,eAAA/mN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAuB,EAAAutC,EAAA6xB,EAAA,OAAAliE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAqCE,GAnC7B4vC,GAAU,EACR6xB,EAAWxhE,OAAO2mB,SAAS86C,SAEjC5gE,EAAKkhE,OAGCP,EAEJ3gE,EAAKulN,aACgB,KAArBvlN,EAAKulN,aACLvlN,EAAKwlN,oBACuB,KAA5BxlN,EAAKwlN,oBAELxlN,EAAKylN,cACe9oN,IAAlBqD,EAAKylN,UAA4C,SAAlBzlN,EAAKylN,SACtCzlN,EAAKwU,cACe7X,IAAlBqD,EAAKwU,UAA4C,SAAlBxU,EAAKwU,SACtCxU,EAAKiiM,SAAWpmM,EAAM4mB,SAASw/K,UACtBjiM,EAAKulN,aAAoC,KAArBvlN,EAAKulN,aAClCnqJ,EAAS,qBAAsB,CAC7Bv9D,KAAM,SACNyT,QAAS,kCAEXw9B,GAAU,IAEO3vC,OAAO2mB,SAAS86C,SACjC5gE,EAAKylN,cACe9oN,IAAlBqD,EAAKylN,UAA4C,SAAlBzlN,EAAKylN,SACtCzlN,EAAKwU,cACe7X,IAAlBqD,EAAKwU,UAA4C,SAAlBxU,EAAKwU,SACtCxU,EAAKulN,YAAc,KACnBvlN,EAAKwlN,mBAAqB,KAE1BxlN,EAAKiiM,SAAWpmM,EAAM4mB,SAASw/K,UAEjCzgM,QAAQe,IAAI,cAAevC,IACvB8uC,EAAQ,CAAD9vC,EAAAE,KAAA,YACM,QAAXiX,EAAgB,CAAAnX,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACHkmN,GAAkBplN,GAAM,KAAD,EAAtCuB,EAAMvC,EAAAmB,KAAAnB,EAAAE,KAAA,wBAAAF,EAAAE,KAAA,GAESimN,GAAkBnlN,GAAM,KAAD,GAAtCuB,EAAMvC,EAAAmB,KAAA,QAEc,KAAlBoB,EAAO2/D,OACTrlE,EAAMw+D,kBAAiB,EAAO,QAE9BvnD,EAAY,CACV1D,YAAa7N,EAAO2/D,OACpB5vD,QAAQ,WACRzT,KAAM,YAET,yBAAAmB,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,gBAtDa2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,KAwDd,OACEpE,cAAAC,WAAA,CAAAC,SACEF,cAACgnB,IAAM,CACLE,QAASznB,EAAMi4D,kBACfvwC,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQrnB,EAAMs3D,aACd3vC,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACN5nB,EAAMw+D,kBAAiB,EAAO,QAChC,EACA9c,UAAU,EACV75B,WAAW,EACXL,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,EAAawkL,GAAWloN,UAAU,UAASd,SAAA,CACzDE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,KACjBE,aAAc,+BAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,KACL3B,QAASA,EACTsC,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,UAAQ,EACRP,UAAQ,EACR5R,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,MAIRr6D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,WACjBE,aAAc,+DACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACToC,MAAO,CAAEC,SAAU,yBACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,kBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,2EACdV,SAAqB,QAAXsN,MAGd3Z,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACToC,MAAO,CACLC,SAAU,6BAEZC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,KACV9P,KAAK,YACDoO,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,kBAEvBj4D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,+GACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASA,EACToC,MAAO,CACLC,SAAU,gCACVO,OAAM,SAACotE,GACL,GAAIn/D,EAAU,iBAAmBm/D,EAAMltE,OAAOlK,MAC5C,OAAO,CAEX,GAaF0J,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAOsqD,EAAU50D,EAAV40D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,KACV9P,KAAK,YACDoO,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,IAGLpC,EAAoB,4BAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,YACjBE,aAAc,iGAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACTsC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,aACkB9f,IAAhBsP,EAAMrH,OAAuC,SAAhBqH,EAAMrH,MAIrCiK,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAMsC,WAChC,EACA9J,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAIRr6D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,EACTsC,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAOsqD,EAAUpvC,EAAVovC,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,aACkB9f,IAAhBsP,EAAMrH,OAAuC,SAAhBqH,EAAMrH,MAIrCiK,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAMsC,WAChC,EACA9J,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,SAKVj6D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,eACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,cACL3B,QAASA,EACTsC,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,UAAQ,EACRnS,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,MAIRr6D,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,yEAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAC+R,IAAU,CACTR,KAAK,eACL3B,QAASA,EACTsC,OAAQ,SAAA0rB,GAAA,IAAG/tB,EAAK+tB,EAAL/tB,MAAOsqD,EAAUv8B,EAAVu8B,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsD,UAAQ,EACRnS,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,YAE1B,SAKVj6D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAQxB,ECrVa2c,GAAgB,SAAC73E,GAC5B,IAAAi0D,EAKIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,aANhB/jD,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OACbujC,EAAYgvB,EAAZhvB,aACAG,EAAK6uB,EAAL7uB,MAKMnuB,EAAgBkH,cAAhBlH,YACRc,EAAoCC,mBAAc,CAAC,GAAEC,EAAApB,YAAAkB,EAAA,GAA9CigE,EAAU//D,EAAA,GAAEggE,EAAahgE,EAAA,GAChCgJ,EAAwCjJ,mBAAc,CAAC,GAAEkJ,EAAArK,YAAAoK,EAAA,GAAlDi3D,EAAYh3D,EAAA,GAAEi3D,EAAej3D,EAAA,GACpC2E,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACfxE,EAA4BrJ,mBAAiB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAAzC/G,EAAMgH,EAAA,GAAE/G,EAAS+G,EAAA,GACxBgB,EAAwDtK,mBAAiB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAArE8xC,EAAoB7xC,EAAA,GAAE8xC,EAAuB9xC,EAAA,GACpDxV,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,UAIvBrM,EAAU,QAHV49D,EAAgBn4E,EAAM4mB,UACtBrM,EAAU,QAId,GAAG,IAEHxN,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAmHJ,IAAMk+C,EAAsB,SAAC1mD,GAC3B,OACEpQ,EAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAOoQ,GAAM2D,SAE7D,EA0BA,SAASwjE,EAAkBG,EAAmBC,GAC5C,IAAIrC,EAAUgB,EACdhB,EAAQoC,GAAaC,EACrBpB,EAAanlE,YAAC,CAAC,EAAIkkE,GACrB,CAoRA,IAqBMve,EAAU,eAAAntC,EAAA3oB,YAAAC,IAAAC,MAAG,SAAAC,EAAOqB,GAAS,IAAAyiB,EAAA/a,EAAA,OAAAjJ,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OA2CqC,OA3CrCF,EAAAC,KAAA,EAE3BwjB,EAAgB,CAAC,EAEN,QAAXtM,GACFsM,EAAS5mB,EAAMqwB,QAAU,MAAQ,EACjCzJ,EAAoB,UAAIb,EAAS3a,WAAWC,WAC5Cub,EAAsB,YAAIrd,KAAO,IAAI2R,MAAQ/R,OAAO,gBAEpDyd,EAAWsxD,EAEb5pE,OAAOC,KAAKpK,GAAMiF,KAAI,SAACoF,GACrBoY,EAASpY,QAAqB1N,IAAdqD,EAAKqK,GAAqB,GAAKrK,EAAKqK,EACtD,IACK6oD,yBAAc2gB,IACjB1pE,OAAOC,KAAKqY,GAAUxd,KAAI,SAACoF,GACrBA,IAAQxO,EAAMqwB,QAAU,MAC1B/hB,OAAOC,KAAKypE,GAAY5uE,KAAI,SAACkwE,GACvB9qE,EAAIxF,SAASswE,IACfhrE,OAAOC,KAAKypE,EAAWsB,IAAYlwE,KAAI,SAACgH,GAClCA,EAAMpH,SAAS,MACjB4d,EAASxW,GAAS4nE,EAAWsB,GAAWlpE,GAEpCA,IAAU5B,EACZoY,EAASpY,GAAOwpE,EAAWsB,GAAW9qE,QAIpC1N,IADAk3E,EAAWsB,GAAW9qE,EAAIhM,QAAQ82E,EAAW,OAG7C1yD,EAASpY,GACPwpE,EAAWsB,GAAW9qE,EAAIhM,QAAQ82E,EAAW,KAIvD,GAEJ,GAEJ,IAGF1yD,EAAqB,WAAIb,EAAS3a,WAAWC,WAC7Cub,EAAuB,aAAIrd,KAAO,IAAI2R,MAAQ/R,OAAO,eAAehG,EAAAE,KAAA,EAE/CytB,aACnB9wB,EAAMqwB,QAAQ7tB,QAAQ,IAAK,IAC3BokB,GACA,KAAD,EAEkB,aALf/a,EAAQ1I,EAAAmB,MAKJoB,OACN1F,EAAMw+D,kBAAiB,EAAO,SAE9BvnD,EAAY,CACV1D,YAAY,GAAD/R,QAAQ,OAAHqK,QAAG,IAAHA,OAAG,EAAHA,EAAKmkB,eAAgBnkB,GACrC4J,QAAQ,QACRzT,KAAM,UAGRm2E,EAAgBvxD,QACa9lB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,IAExB72D,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,cAE4BrC,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GACtB,yBAAA72D,EAAAqB,OAAA,GAAA1B,EAAA,mBAEJ,gBArEe2B,GAAA,OAAA6mB,EAAA5mB,MAAA,KAAAC,UAAA,KAsEhB,OACEpE,cAAA,OAAAE,SACEF,cAACgnB,IAAM,CACLF,OAAQrnB,EAAMs3D,aACd7vC,QAASznB,EAAMi4D,kBACf72D,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCgQ,OAAQ,WACNwd,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA92C,YAAa,CAAC,EACdG,WAAW,EACX65B,UAAU,EACVl6B,aAAW,EAAA/mB,SAEXE,eAAA,QAAMukC,SAAUD,GA1GA,SAAC9gC,GACrB,IACEijB,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAQ,gBACuBtnB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvBvB,EAAWt0D,EACb,GAEJ,CAAE,MAAOyB,GACPD,QAAQe,IAAI,QAASd,EACvB,CACF,IAuFmDrE,UAAU,UAASd,SAAA,CAC9DF,cAAA,OAAKgB,UAAU,kCAAiCd,SAjgBxD,WACE,IAAI0D,EAlBa,WACjB,IAAI4U,EAAiB,GAarB,OAZAzK,OAAOC,KAAKvO,EAAMy+D,UAAU,GAAKz+D,EAAMy+D,UAAU,GAAK,IAAIr1D,KACxD,SAACoF,EAAagL,GACPhL,EAAItD,cAAclC,SAAS,OAClB,gBAARwF,GAAiC,YAARA,GAC3BuK,EAAQ1P,KAAK,CACXmF,IAAKA,EACL+pE,gBAAiBv4E,EAAMy+D,UAAU,GAAGjwD,IAI5C,IAEKuK,CACT,CAGoBq/D,GACdC,EAAe,GACfC,EAAyB,GACzBjoD,EAAUrwB,EAAMqwB,QAyFpB,OAxFIA,EAAQ1gB,SAAS,OACnB0gB,EAAUA,EAAQ+tB,MAAM,GAAI,IAG9Bj6C,EAAK0E,SAAQ,SAAC9H,EAAU6Y,GACtB,IACG7Y,EAAIyN,IAAItD,cAAclC,SAAS,aAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,sBAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,uBAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,eAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,uBAEhC,GAAIjI,EAAIyN,IAAIxF,SAAS,OACnB,GAAgB,eAAZqnB,GAEAtvB,EAAIyN,KACJ6hB,EAAQ7tB,QAAQ,IAAK,IAAIA,QAAQ,SAAU,IAAM,KAEjD,GACEzB,EAAIyN,IAAItD,cAAclC,SAAS,aAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,WAC/B,CACA,IAAMoH,EAAQrP,EAAIyN,IAAIhM,QAAQ,KAAM,IAEpC81E,EAAajvE,KAAK+G,GAClBioE,EAAMhvE,KAAK,CACT+G,MAAOA,EACPiX,OAAQtmB,EAAIyN,IACZxM,KAAM,QACN4X,MAAOA,GAEX,KAAO,CACL,IAAMxJ,EAAQrP,EAAIyN,IAAIhM,QAAQ,KAAM,IAEpC81E,EAAajvE,KAAK+G,GAClBioE,EAAMhvE,KAAK,CACT+G,MAAOA,EACPiX,OAAQtmB,EAAIyN,IACZxM,KAAM,SACN4X,MAAOA,GAEX,MAIsB,cAA1B7Y,EAAIyN,IAAItD,eACkB,eAA1BnK,EAAIyN,IAAItD,eACkB,gBAA1BnK,EAAIyN,IAAItD,eACkB,iBAA1BnK,EAAIyN,IAAItD,eACPnK,EAAIyN,IAAItD,cAAclC,SAAS,cAC/BjI,EAAIyN,IAAItD,cAAclC,SAAS,eAG7BsvE,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,KAAM,MAC5C81E,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,SAAU,MAChD81E,EAAatvE,SAASjI,EAAIyN,IAAIhM,QAAQ,SAAU,OAE7CzB,EAAIyN,IAAIxF,SAAS,OACnBqvE,EAAMhvE,KAAK,CACT+G,MAAOrP,EAAIyN,IACX6Y,OAAQtmB,EAAIyN,IACZxM,KAAM,QACN4X,MAAO,MAEA7Y,EAAIyN,IAAIxF,SAAS,YAC1BqvE,EAAMhvE,KAAK,CACT+G,MAAOrP,EAAIyN,IACX6Y,OAAQtmB,EAAIyN,IACZxM,KAAM,UACN4X,MAAOA,IAGTy+D,EAAMhvE,KAAK,CACT+G,MAAOrP,EAAIyN,IACX6Y,OAAQtmB,EAAIyN,IACZxM,KAAMjB,EAAIw3E,SACV3+D,MAAOA,IAMnB,IACAy+D,EAAMvnB,MAAK,SAAC1U,EAAG2U,GAAC,OAAK3U,EAAExiC,MAAQm3C,EAAEn3C,KAAK,IA0CxC,SAA6By+D,GAC3B,IAAIG,EAAkB,GAClBC,EAAuB,GACvBC,EAAsB,GA4Q1B,OA3QAL,EAAMjvE,KAAI,SAACrI,EAAU43E,GACnBF,EAAgBpvE,KAAKtI,GACjB43E,EAAM,IAAM,IACdH,EAAWnvE,KAAKovE,GAChBA,EAAkB,GAEtB,IAEAD,EAAWpvE,KAAI,SAACrI,EAAUO,GACxB,IAAIs3E,EACFr4E,cAAC2xC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SACnCM,EAAIqI,KAAI,SAACjF,EAAWtC,GACnB,IAAIg3E,EA9Cd,SAAuBC,GACrB,IAAID,EAAS,GAoBb,OAlBAA,EAASC,EAAKt2E,QAAQ,kBAAmB,oGACzCq2E,EAASA,EAAOr2E,QAAQ,gBAAiB,4EACzCq2E,EAASA,EAAOr2E,QAAQ,sBAAuB,iHAC/Cq2E,EAASA,EAAOr2E,QAAQ,cAAe,sEACvCq2E,EAASA,EAAOr2E,QAAQ,cAAe,sEACvCq2E,EAASA,EAAOr2E,QAAQ,OAAQ,4BAChCq2E,EAASA,EAAOr2E,QAAQ,KAAM,8CAC9Bq2E,EAASA,EAAOr2E,QAAQ,KAAM,gEAC9Bq2E,EAASA,EAAOr2E,QAAQ,kBAAmB,8FAC3Cq2E,EAASA,EAAOr2E,QAAQ,QAAS,sBACjCq2E,EAASA,EAAOr2E,QAAQ,MAAO,oDAC/Bq2E,EAASA,EAAOr2E,QAAQ,MAAO,oDAC/Bq2E,EAASA,EAAOr2E,QAAQ,UAAW,8CACnCq2E,EAASA,EAAOr2E,QAAQ,UAAW,wCACnCq2E,EAASA,EAAOr2E,QAAQ,OAAQ,4BAChCq2E,EAASA,EAAOr2E,QAAQ,WAAY,kCACpCq2E,EAASA,EAAOr2E,QAAQ,MAAO,kCAC/Bq2E,EAASA,EAAOr2E,QAAQ,UAAW,wDAC5Bq2E,CACT,CAwBuBE,CAAc50E,EAAKkjB,QAChC,GAAkB,WAAdljB,EAAKnC,KAAmB,CAC1B,GAAImC,EAAKkjB,OAAOre,SAAS,WACvB,OACErI,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAcsiE,EAAa/zE,EAAKiM,OAChCqC,OAAQ,SAAA/P,GAAA,IAAG0N,EAAK1N,EAAL0N,MAAiB1N,EAAVg4D,WAAU,OAC1Bn6D,cAAC8yE,KAAavgE,wBAAA,CACZI,GAAI9C,EAAM0B,MACN1B,GAAK,IACToU,KAAM,EACN4zB,KAAM,GACN1iC,UACa,IAAXpU,GAA2B,IAAXO,EAElBT,MAAO,CACLkf,OAAQ,OACR1I,aAAc,qBAEhB,WAOT,GAAoB,WAAhBzT,EAAKkjB,QAAuC,WAAhBljB,EAAKkjB,OAAqB,CAC/D,IAAI9kB,EAAM,GAOV,OALEA,EADkB,WAAhB4B,EAAKkjB,OACD,UAEA,UAIN1mB,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBjL,EACjBmL,aAAcmrE,EACd7rE,UAAQ,QAIdrM,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAcsiE,EAAa/zE,EAAKiM,OAChCmC,MAAO,CAAEC,SAAUrO,EAAKkjB,OAAS,iBACjC5U,OAAQ,SAAA5N,GAAA,IAAGuL,EAAKvL,EAALuL,MAAOsqD,EAAU71D,EAAV61D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACT7O,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,UAE1BllD,UACa,IAAXpU,GAA2B,IAAXO,EAElBT,MAAO,CACLkf,OAAQ,OACR1I,aAAc,qBAEhB,MAIP4gD,EAAoBr0D,EAAKkjB,aAIlC,CACE,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBl4E,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACTyF,aAAcsiE,EAAa/zE,EAAKiM,OAChCqC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAAC8nD,KAAmB,CAClB2wB,gBAAiB5oE,EAAM0B,KACvB03C,WAAYp5C,EACZs4C,kBAAmBiS,YAAW,CAC5B,YAAaD,EAAWE,UAE1BjS,cAAe,CACbroC,OAAQ,OACR1I,aAAc,oBAEhB,MAIP4gD,EAAoBr0D,EAAKkjB,aAKpC,CAAO,MAAkB,YAAdljB,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXwF,kBAC+B9U,IAA7Bo3E,EAAa/zE,EAAKiM,QACe,SAA7B8nE,EAAa/zE,EAAKiM,OAKxBD,QAASA,EACTsC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV12B,QAAS/zB,EAAM0B,KACf8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAEuG,OAAOlK,MAAM,EAC/CxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,WAOS,WAAdz2D,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,QAIpBt4E,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXwF,kBACqC9U,GAAnCo3E,EAAa/zE,EAAKiM,MAAQ,MACtB,KACA8nE,EAAa/zE,EAAKiM,MAAQ,MAEhCD,QAASA,EACTsC,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1Bn6D,cAACs2E,GAAkB,CACjBxmD,QAASjgB,EAAM0B,KACfg3C,WAAY14C,EACZw4C,cAAeqwB,EACf3B,WAAY,CACVphE,MAAO,OACP0B,aAAc,oBAEhB,WAOS,WAAdzT,EAAKnC,KAEZrB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SACvBF,cAAA,OAAKgB,UAAU,uCAAsCd,SACnDF,cAACuM,KAAoB,CACnBU,gBAAiBrJ,EAAKkjB,OACtB3Z,aAAcmrE,EACd7rE,SAA0B,kBAAhB7I,EAAKkjB,aAIrB1mB,eAACC,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGM,GAAI,EAAEV,SAAA,CACvBF,cAAA,OAAKgB,UAAU,IAAGd,SAChBF,cAAC+R,IAAU,CACTR,KAAM3N,EAAKiM,MACXD,QAASA,EACToC,MAAO,CACLC,SACkB,kBAAhBrO,EAAKkjB,QACLljB,EAAKkjB,OAAS,iBAElBzR,aAAcsiE,EAAa/zE,EAAKiM,OAChCqC,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAOsqD,EAAUx0D,EAAVw0D,WAAU,OAC1Bn6D,cAAC+b,KAAW,CACV6nB,QAAS/zB,EAAM0B,KACf/I,MAAOqH,EAAMrH,MACb2M,UACa,IAAXpU,GAA2B,IAAXO,EAElBmR,SAAU,SAACtG,GAAC,OAAK0D,EAAM4C,SAAStG,EAAE3D,MAAM,EACxCxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAWE,WAE1B,MAIPpC,EAAoBr0D,EAAKkjB,mBAIT,UAAdljB,EAAKnC,OACdxB,WAEkC2D,EAAKkjB,QAK3C,MAGJqxD,EAAervE,KAAKuvE,EACtB,IACM,GAANp3E,OAAWk3E,EACb,CAvTSQ,CAAoBb,EAC7B,CAma0Dc,KAClDx4E,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,IACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAx8D,KAAK,SACLT,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAQxB,EC9lBa2uJ,GAAa,eAAAhlN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO8hB,GAAa,IAAA3jB,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACzBK,MAAM,+BAAgC,CAC1DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU6iB,KAEpB5iB,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAdyBL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KCuoBXmlN,I,OAtlBU,SAAC9pN,GACxB,IAAA+X,EAA8CC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAA1DgyM,EAAe9xM,EAAA,GAAE+xM,EAAkB/xM,EAAA,GAC1CgJ,EAAgCjJ,mBAAc,CAAC,GAAEkJ,EAAArK,YAAAoK,EAAA,GAA1C8kE,EAAQ7kE,EAAA,GACfG,GAD4BH,EAAA,GACQlJ,mBAAc,CAAC,IAAEsJ,EAAAzK,YAAAwK,EAAA,GAA9Ck3K,EAAUj3K,EAAA,GACjBuE,GADgCvE,EAAA,GACAwE,eAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACfxgC,GAD4BwgC,EAAA,GACE9qC,oBAAkB,IAAKuK,EAAA1L,YAAAyL,EAAA,GAArCf,GAAFgB,EAAA,GAAYA,EAAA,IAC1BC,EAA4BxK,mBAAiB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAAzClI,EAAMmI,EAAA,GAAElI,EAASkI,EAAA,GACxBwG,EAAwDjR,mBAAiB,IAAGkR,EAAArS,YAAAoS,EAAA,GAArEmrC,EAAoBlrC,EAAA,GAAEmrC,EAAuBnrC,EAAA,GACpDC,EAA0CnR,mBAAc,QAAOoR,EAAAvS,YAAAsS,EAAA,GAAxD8gM,EAAa7gM,EAAA,GACdzT,GADgCyT,EAAA,GAC1BspB,IAAM9pB,UACV3R,EAAgBkH,cAAhBlH,YACF+R,EAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAClE+lB,EAAqBP,EAAU1D,kBACrCyM,EAA4C/Z,oBAAkB,GAAMga,EAAAnb,YAAAkb,EAAA,GAA7CjJ,GAAFkJ,EAAA,GAAmBA,EAAA,IACxCG,GAA0Cna,oBAAkB,GAAMoa,GAAAvb,YAAAsb,GAAA,GAA3DpJ,GAAaqJ,GAAA,GAAErN,GAAgBqN,GAAA,GAEtC6hC,GAMIphB,YAAQ,CACV/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,IARlBhkD,GAAO8jD,GAAP9jD,QACA80B,GAAYgvB,GAAZhvB,aACAtf,GAAQsuC,GAARtuC,SACAyf,GAAK6uB,GAAL7uB,MACa1jC,GAAMuyD,GAAnBthD,UAAajR,OAOfqL,qBAAU,WACRsnD,EAAwB,kBAAoB/5C,EAAS,gBACvD,GAAG,CAACA,IAEJvN,qBAAU,WACHsqD,yBAAcr3D,EAAM4mB,WAIvBrM,EAAU,OACVwK,IAAiB,KAJjBxK,EAAU,QACVwK,IAAiB,IAKnBxD,GAAW,EACb,GAAG,IAEHxU,qBAAU,WACJ/M,EAAMi4D,oBACR60G,KACAvrJ,GAAW,GAEf,GAAG,CAACvhB,EAAMi4D,oBAEV,IAAM60G,GAAe,eAAApqK,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAyV,EAAA,OAAA3V,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACGmV,eAAmB,KAAD,GAArCD,EAAUpV,EAAAmB,QAEmB,OAAViU,QAAU,IAAVA,OAAU,EAAVA,EAAYE,QAAO,SAAC/L,GACzC,MAAwB,eAAjBA,EAAEgM,aAA8C,IAAfhM,EAAEiM,QAC5C,KACevP,KAAI,SAACsiM,GAClB,IACMwe,EADaxe,EAAO1/J,OAAOpiC,MAAM,KACJR,KAAI,SAACsD,GACtC,MAAO,CAAEi/L,oBAAqBj/L,EAChC,IAEAyD,GAAQyjE,YAAiC,oBAAIs2I,EAAgBvpM,MAC3D,SAACjU,GAAM,OACLA,EAAEi/L,sBAAwB3rM,EAAM4mB,SAAS+kL,mBAAmB,IAEhEhmL,GACE,sBACAxV,GAAQyjE,YAAiC,qBAE3Co2I,EAAkB/gN,YAAKihN,GACzB,IACD,wBAAA/mN,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBAvBoB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAyBI,SAAAilB,KAyDxB,OAzDwBA,GAAAjnB,YAAAC,IAAAC,MAAzB,SAAA2C,EAA0B2f,GAAS,IAAA0E,EAAAC,EAAAC,EAAA,OAAAnnB,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OACb,OAAJ8hB,QAAI,IAAJA,OAAI,EAAJA,EAAMvb,MAAM,KACtBigB,EAAQ1E,EACS,MAAnBA,EAAK6E,OAAO,IAAeT,EAEzBpE,EADA,IAAMA,EAER,GAEE2E,EAAWxmB,OAAO2mB,SAASH,SAC7BP,EACEM,EAAMpa,WAAW8Z,GACnBjmB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cAElCvmB,OAAOqe,KAAK,GAADngB,OAAI+nB,GAAkB/nB,OAAGqoB,GAAS,SAAU,cAEhDb,EAAUzD,SACbwE,EAAQE,SAASE,KACD,mBAAlBF,SAASC,MACPH,IACFf,EAAUzD,QAAUyD,EAAUzD,QAAU,IAAMwE,GAIhDF,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKwnB,EAAUzD,SAAO/jB,OAAGqoB,GACpC,SACA,eAGMb,EAAUzD,SACpBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cACnC,wBAAApkB,EAAAjB,OAAA,GAAAgB,EAAA,MACFd,MAAA,KAAAC,UAAA,CAmBC,SAEawlN,GAAYnlN,GAAA,OAAA6yK,GAAAnzK,MAAC,KAADC,UAAA,UAAAkzK,KAiB1B,OAjB0BA,GAAAl1K,YAAAC,IAAAC,MAA3B,SAAAkD,EAA4BogB,GAAS,IAAAS,EAAA3iB,EAAA0iB,EAAA,OAAA/jB,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,OAMwB,OALvDujB,EAAW,IAAIE,UACVC,OAAO,QAASZ,EAAK,IAC9BS,EAASG,OAAO,SAAU,kBAC1BH,EAASG,OAAO,SAAU,cAC1BH,EAASG,OAAO,WAAYg/D,GAC5Bn/D,EAASG,OAAO,UAAWhB,EAAS3a,WAAWC,YAAYrF,EAAA3C,KAAA,EAEjCuK,aAAsBgZ,GAAU,KAAD,EACrB,GADhC3iB,EAAa+B,EAAA1B,KACjBqB,QAAQe,IAAI,aAAczC,IACtBA,EAASE,KAAK,CAAD6B,EAAA3C,KAAA,aACe,KAAb,QAAbsjB,EAAA1iB,EAASE,YAAI,IAAAwiB,OAAA,EAAbA,EAAejhB,QAAe,CAAAM,EAAA3C,KAAA,gBAAA2C,EAAAzB,OAAA,SACzBN,EAASE,MAAI,eAAA6B,EAAAzB,OAAA,SAEb,MAAI,yBAAAyB,EAAAxB,OAAA,GAAAuB,EAAA,MAGhBrB,MAAA,KAAAC,UAAA,UAEc8zD,GAAUpzD,EAAAiB,GAAA,OAAA8jN,GAAA1lN,MAAC,KAADC,UAAA,UAAAylN,KA2HxB,OA3HwBA,GAAAznN,YAAAC,IAAAC,MAAzB,SAAAsD,EAA0BygB,EAAeyjM,GAAe,IAAAC,EAAAC,EAAAhzJ,EAAAizJ,EAAAvmN,EAAA,OAAArB,IAAAM,MAAA,SAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OA0FnD,OA1FmDgD,EAAAjD,KAAA,EAEhDknN,EAA0B,CAAC,EAChB,QAAXhwM,EACE+vM,IACFC,EAAmBG,aAAe,KAClCH,EAAmB3e,oBACT,OAAR/kL,QAAQ,IAARA,GAA6B,QAArB2jM,EAAR3jM,EAAU+kL,2BAAmB,IAAA4e,OAArB,EAARA,EAA+B5e,oBACjC2e,EAAmBnyC,WACjBkyC,EAAWtkI,SAAW,IAAMskI,EAAWpjM,QACzCqjM,EAAmBlyC,SAAWiyC,EAAWtkI,SACzCukI,EAAmBI,gBAAkB9jM,EAAS8jM,gBAC9CJ,EAAmBK,WAAa/jM,EAAS+jM,WACzCL,EAAmBM,IAAMhkM,EAASgkM,IAClCN,EAAmB3xM,SAAWiO,EAASjO,SACvC2xM,EAAmBjzC,QAAUtxJ,EAAS3a,WACtCk/M,EAAmBO,UAAY9kM,EAASxa,OACxC++M,EAAmBpyC,cAAe,IAAIh9J,MAAOE,eAAe,QAAS,CACnEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmBjyC,SAAWgyC,EAAWpjM,QACzCqjM,EAAmBQ,UAAY,IAC/BR,EAAmB3wJ,WAAa5zC,EAAS3a,WAAWC,WACpDi/M,EAAmB/wJ,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACnEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmB1wJ,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CAClEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmBzwJ,UAAY9zC,EAAS3a,WAAWC,YAGjDg/M,KACFC,EAAqBtqN,EAAM4mB,UACR6jM,aAAoB,OAALzqN,QAAK,IAALA,GAAe,QAAVu3D,EAALv3D,EAAO4mB,gBAAQ,IAAA2wC,OAAV,EAALA,EAAiBkzJ,aACnDH,EAAmB3e,oBACT,OAAR/kL,QAAQ,IAARA,GAA6B,QAArB4jM,EAAR5jM,EAAU+kL,2BAAmB,IAAA6e,OAArB,EAARA,EAA+B7e,oBACjC2e,EAAmBnyC,WACjBkyC,EAAWtkI,SAAW,IAAMskI,EAAWpjM,QACzCqjM,EAAmBlyC,SAAWiyC,EAAWtkI,SACzCukI,EAAmBI,gBAAkB9jM,EAAS8jM,gBAC9CJ,EAAmBK,WAAa/jM,EAAS+jM,WACzCL,EAAmBM,IAAMhkM,EAASgkM,IAClCN,EAAmB3xM,SAAWiO,EAASjO,SACvC2xM,EAAmBjzC,QAAUtxJ,EAAS3a,WACtCk/M,EAAmBO,UAAY9kM,EAASxa,OACxC++M,EAAmBpyC,cAAe,IAAIh9J,MAAOE,eAAe,QAAS,CACnEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmBjyC,SAAWgyC,EAAWpjM,QACzCqjM,EAAmBQ,UAAY,IAC/BR,EAAmB3wJ,WAAa5zC,EAAS3a,WAAWC,WACpDi/M,EAAmB/wJ,cAAe,IAAIr+C,MAAOE,eAAe,QAAS,CACnEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmB1wJ,aAAc,IAAI1+C,MAAOE,eAAe,QAAS,CAClEC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLi+C,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEV4wJ,EAAmBzwJ,UAAY9zC,EAAS3a,WAAWC,YAEtDhF,EAAAhD,KAAA,EAEyBwmN,GAAcS,GAAoB,KAAD,EAClC,aAAb,QADRrmN,EAAaoC,EAAA/B,YACL,IAARL,OAAQ,EAARA,EAAUyB,SACZ1F,EAAMw+D,kBAAiB,EAAO,aACD19D,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,IAAD/R,OAAM6oN,EAAWtkI,SAAQ,UAAAvkF,OAAS8Y,EAAM,iBACnD7E,QAAQ,UACRzT,KAAM,cAGRiV,EAAY,CACV1D,YAAY,iCACZkC,QAAQ,eACRzT,KAAM,eAEqBlB,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,IAExB3zD,EAAAhD,KAAA,gBAAAgD,EAAAjD,KAAA,EAAAiD,EAAA8gB,GAAA9gB,EAAA,cAE4BvF,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEvB/iD,EAAY,CACV1D,YAAY,GAAD/R,OAAA6E,EAAA8gB,IACX1R,QAAQ,QACRzT,KAAM,UACL,yBAAAqE,EAAA7B,OAAA,GAAA2B,EAAA,mBAENzB,MAAA,KAAAC,UAAA,CAED,IAAM6zD,GAAsB,SAAC1mD,GAC3B,OACEpQ,GAAOoQ,IAASvR,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,GAAOoQ,GAAM2D,SAE7D,EACMyvB,GAAQ,eAAArgC,EAAAlC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOhB,GAAqB,OAAAvB,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACvCrD,EAAMi4D,mBACR7wC,YAAc,CACZ3R,QAAS2+C,EACT/sC,OACa,QAAX/M,EAAmB,mBAA0B,oBAC/CnD,KAAM,0CACNoT,gBACE,gIACFnC,OAAO,WAAD,IAAAqkF,EAAA9pG,YAAAC,IAAAC,MAAE,SAAAiC,IAAA,IAAAqhB,EAAA4kM,EAAA,OAAAnoN,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAOJ,QAN2BvC,IAAzBd,EAAMg6D,gBACRh6D,EAAMg6D,gBAAe,GAEjB7zC,EAAO,CACX4/D,SAAU/lF,EAAM4mB,SAASwxJ,SACzBnxJ,QAASjnB,EAAM4mB,SAASyxJ,WAEJ,IAAlBtvJ,GAAuB,CAAAhkB,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,EACE8mN,GAAahmN,EAAKg0K,YAAY,KAAD,EAAtC,OAAZ4yC,EAAYhmN,EAAAT,KAAAS,EAAA1B,KAAA,EACZo1D,GAAWt0D,EAAM4mN,GAAc,KAAD,EAAAhmN,EAAA1B,KAAA,wBAAA0B,EAAA1B,KAAA,GAE9Bo1D,GAAWt0D,EAAMgiB,GAAM,KAAD,oBAAAphB,EAAAP,OAAA,GAAAM,EAAA,KAE/B,yBAAA2nG,EAAA/nG,MAAA,KAAAC,UAAA,EAdM,KAgBV,wBAAAS,EAAAZ,OAAA,GAAAW,EAAA,KACF,gBA1Ba2G,GAAA,OAAAjH,EAAAH,MAAA,KAAAC,UAAA,KA4Bd,OACEpE,cAAA,OAAKgB,UAAU,mCAAkCd,SAC/CF,cAACgnB,IAAM,CACLF,OACa,QAAX/M,EACI,OAActa,EAAMs3D,aACpB,QAAet3D,EAAMs3D,aAE3B7vC,QAASznB,EAAMi4D,kBACf72D,MAAO,CAAE8U,MAAO,MAAOskD,SAAU,SACjC5yC,OAAQ,WACNwd,KACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACA32C,WAAW,EAAMpnB,SAEjBE,eAAA,QAAMukC,SAAUD,GAAaC,IAAW3jC,UAAU,UAASd,SAAA,CACzDE,eAAA,OAAAF,SAAA,CACEE,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACpCF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC/BF,cAACuM,KAAoB,CAACU,gBAAiB,wBAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,EAAGwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC/BF,cAAC+R,IAAU,CACTR,KAAK,sBACL3B,QAASA,GAETsC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAiBlL,EAAVw1D,WAAU,OAC1Bn6D,cAAC++C,IAAQxsC,wBAAA,CACPI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTuS,QAASonM,EACTjvJ,YAAa,sBACbriD,QAAM,EACNsiD,WAAS,EACTC,SAAU,sBACV1nD,YAAY,6BACZ,MAGD,IACP/S,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC9BF,cAACuM,KAAoB,CACnBU,gBAAiB,SACjBE,aAAc,qCAGlBnN,cAACK,KAAG,CAACM,GAAI,EAAGL,GAAI,EAAGwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAC9BF,cAAC+R,IAAU,CACTR,KAAK,WACL3B,QAASA,GACTyF,kBAC8B9U,IAA5Bd,EAAM4mB,SAASjO,UACa,SAA5B3Y,EAAM4mB,SAASjO,SAIjBlG,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAiB7K,EAAVm1D,WAAU,OAC1Bn6D,cAACs6D,IAAW,CACV3nD,GAAI9C,EAAM0B,KACV8O,QAASxQ,EAAMrH,MACfiK,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,MACnB,GACA,SAKVpI,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACnC,IACDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,aACjBE,aAAc,mDACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAClCF,cAAA,OAAKgB,UAAU,oCAAmCd,SAChDF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,GAEToC,MAAO,CACLC,SAAWuW,QAEPjoB,EADA,2BAGN2R,OAAQ,SAAA3M,GAAA,IAAGsK,EAAKtK,EAALsK,MAAiBtK,EAAV40D,WAAU,OAC1B/5D,eAAAH,WAAA,CAAAC,SAAA,EACqB,IAAlBsoB,IACCpoB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACwnB,IAAM,CACLhmB,MACEgnB,GACI/oB,EAAM4mB,SAASwxJ,SAAS5vK,QAAU,GAChCxI,EAAM4mB,SAASwxJ,SACfp4K,EAAM4mB,SAASwxJ,SAASpuK,UAAU,EAAG,IACrC,OACF,SAENmM,QAAS,WACH4S,GAxWhC,SAEuBtkB,GAAAmlB,GAAAllB,MAAC,KAADC,UAAA,CAuWO+lB,CAAW1qB,EAAM4mB,SAASyxJ,UAE1BvvJ,GAAkB,EAEtB,EACAvnB,UAAU,IACVS,KAAK,SACLZ,MAAO,CACLupB,oBAAqB,MACrBC,uBAAwB,MACxBC,qBAAsB,MACtBC,wBAAyB,MACzBC,gBAAiB,mBACjBlM,OAAQ,6BACRmM,UAAW,OACX9U,MAAO,OACPoK,OAAQ,UAGZ/f,cAAA,OACEgB,UAAU,qBACV4U,QAAS,WACP4O,IAAiB,GACjB9N,EAAY,CACV1D,YAAY,iIACZkC,QAAQ,6BACRzT,KAAM,SAEV,EAAEvB,SAEFF,cAAC0qB,IAAc,UAKF,IAAlBlC,IACCxoB,cAAAC,WAAA,CAAAC,SACEF,cAAC+U,KAAK6S,QAAO,CACXxS,IAAKA,EACLzC,GAAG,cACHlR,KAAK,OACLomB,OAAO,OACPpV,SAAU,SAACtG,GACT0D,EAAM4C,SAvVf,SAACtG,GACLA,EAAEuG,OAAOlK,MAIxB,IAJA,IACMsd,EAAQ3Z,EAAEuG,OAAOoT,MACjB7S,EAAYC,SAAS8kL,EAAWz3H,eAE7B/4D,EAAI,EAAGA,EAAIse,EAAM7d,OAAQT,IAChC,GAAIse,EAAMte,GAAGsL,MAAQG,EAOnB,OANAyD,EAAY,CACV1D,YAAY,sCAAD/R,OAJH,GAIgD,qBAAAA,OAAoB6kB,EAAMte,GAAG+J,MACrF2D,QAAQ,qBACRzT,KAAM,iBAER2T,EAAI+xB,QAAQ3+B,MAAQ,MAIxB,OAAO2D,EAAEuG,OAAOoT,KAClB,CAsU6C+/B,CAAa15C,GAC9B,EACAwjF,UAAQ,QAIb,MAIU,SAAlB+5H,EACC1pN,cAAAC,WAAA,IAEAD,cAAAC,WAAA,CAAAC,SACEF,cAAA,SAAOgB,UAAU,UAASd,SAAC,iCAM9B+3D,GAAoB,oBAGzB73D,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACnC,IACDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CACnBU,gBAAiB,mBACjBE,aAAc,2FAGlBnN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,kBACL3B,QAASA,GACTyF,aAAc5V,EAAM4mB,SAAS8jM,gBAC7Bj4M,OAAQ,SAAAvM,GAAA,IAAGkK,EAAKlK,EAALkK,MAAiBlK,EAAVw0D,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAU,mEACV,SAKVZ,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACnC,IACDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CAACU,gBAAiB,UAEzCjN,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,GAAIlgE,GAAI,GAAGV,SAClCF,cAAC+R,IAAU,CACTR,KAAK,aACL3B,QAASA,GACTyF,aAAc5V,EAAM4mB,SAAS+jM,WAC7Bl4M,OAAQ,SAAA6Y,GAAA,IAAGlb,EAAKkb,EAALlb,MAAiBkb,EAAVovC,WAAU,OAC1Bn6D,cAACioB,IAAS1V,wBAAA,CACRI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACTnU,UAAU,mEACV,SAKVZ,eAACuxC,KAAG,CAAC9wC,MAAO,CAAEkpE,cAAe,QAAS7pE,SAAA,CACnC,IACDF,cAACK,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,EAAGlgE,GAAI,EAAEV,SAChCF,cAACuM,KAAoB,CAACU,gBAAiB,WAAYR,UAAQ,MAE7DrM,eAACC,KAAG,CAACM,GAAI,GAAIL,GAAI,GAAIwgE,GAAI,GAAIlgE,GAAI,GAAGV,SAAA,CAClCF,cAAC+R,IAAU,CACTR,KAAK,MACL3B,QAASA,GACTyF,aAAc5V,EAAM4mB,SAASgkM,IAC7Br4M,MAAO,CAAEC,SAAU,yBACnBC,OAAQ,SAAAkrB,GAAA,IAAGvtB,EAAKutB,EAALvtB,MAAOsqD,EAAU/8B,EAAV+8B,WAAU,OAC1Bn6D,cAAC+b,KAAWxJ,wBAAA,CACVI,GAAI9C,EAAM0B,MACN1B,GAAK,IACTsF,WAAS,EACT1C,SAAU,SAACtG,GACT0D,EAAM4C,SAAStG,EAAE3D,MACnB,EACAxH,UAAWo5D,YAAW,CACpB,YAAaD,EAAW90D,UAG1B,IAIL4yD,GAAoB,gBAI3B73D,eAAA,OAAKY,UAAU,gBAAed,SAAA,CAC5BF,cAAA,UACE4V,QAAS,WACPivB,KACAplC,EAAMw+D,kBAAiB,EAAO,QAChC,EACAj9D,UAAU,gBAAed,SAC1B,UAIDE,eAAA,UAAQY,UAAU,cAAcS,KAAK,SAAQvB,SAAA,CAC3CF,cAAC26D,KAAM,IAAG,mBAQxB,GClnBa8vJ,GAAgB,SAAHtoN,GAYZ,IAXZsiB,EAAKtiB,EAALsiB,MACA2d,EAASjgC,EAATigC,UACAtS,EAAO3tB,EAAP2tB,QACAzJ,EAAQlkB,EAARkkB,SACA43C,EAAgB97D,EAAhB87D,iBACAvG,EAAiBv1D,EAAjBu1D,kBACAwG,EAAS/7D,EAAT+7D,UACA1E,EAAYr3D,EAAZq3D,aACAkxJ,EAAYvoN,EAAZuoN,aACAC,EAAexoN,EAAfwoN,gBAGAnzM,GAFUrV,EAAV8+F,WAE4BxpF,sBAAeC,EAAApB,YAAAkB,EAAA,GAApCyhE,EAAMvhE,EAAA,GAAEwhE,EAASxhE,EAAA,GACxBowD,EAA4BnB,KAAZD,GAAFoB,EAANrB,OAAeqB,EAAPpB,SACVgyB,EAAWn1F,KAAKC,UAAU6iB,GAC1BovE,EAAYlyF,KAAKwM,MAAM2oF,GAEvBvf,EAAU,CACd,CACE5nE,KAAM,WACNhJ,KACEvI,cAACg+D,GAAiB,CAChBjH,aAAc30B,EACd3pB,QAASg9E,EACTv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,EAChBtI,eAAe,KAIrB,CACE7sD,KAAM,kBACNhJ,KACEvI,cAAC6uE,GAAoB,CACnB9X,aAAc,kBACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,EAChBjiD,MAAOA,EACP4rD,YAAaq6I,EACb7wI,eAAgB8wI,KAItB,CACEp5M,KAAM,cACNhJ,KACEvI,cAAC+zE,GAAgB,CACfhd,aAAc,cACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,EAChBjiD,MAAOA,KAIb,CACElT,KAAM,iBACNhJ,KACEvI,cAACuyE,GAAa,CACZxb,aAAc,iBACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,QACNhJ,KACEvI,cAAC01E,GAAU,CACT3e,aAAc,OACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,WACNhJ,KACEvI,cAACi1E,GAAc,CACble,aAAc,WACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,aACNhJ,KACEvI,cAACy0E,GAAU,CACT1d,aAAc,kBACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,WACNhJ,KACEvI,cAACyzE,GAAc,CACb1c,aAAc,WACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,aACNhJ,KACEvI,cAAC+yE,GAAgB,CACfhc,aAAc,aACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,UACNhJ,KACEvI,cAACipN,GAAa,CACZlyJ,aAAc,UACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,KAItB,CACEn1D,KAAM,cACNhJ,KACEvI,cAACupN,GAAgB,CACfxyJ,aAAc,cACd1wC,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,MAiBxB,OAXAl6D,qBAAU,WACR,IAAIzE,EAAKoxE,EAAQjhE,QAAO,SAACtU,EAAMqV,GAC7B,GAAIrV,EAAK2N,KAAK9I,SAAS25B,GACrB,OAAOx+B,CAEX,IACImE,EAAGE,OAAS,GACdixE,EAAUnxE,EAAG,GAEjB,GAAG,IAGD/H,cAAA,OAAAE,cACcK,IAAX04E,EACCj5E,cAAA,OAAAE,SAAwB+4E,EAAO1wE,MAArB0wE,EAAO1nE,MAEjBvR,cAACs3E,GAAa,CACZvgB,aAAc30B,EACd/b,SAAUovE,EACVv3B,UAAWA,EACX1E,aAAcA,EACd9B,kBAAmBA,EACnBuG,iBAAkBA,EAClBxE,eAAgBiN,EAChB52C,QAASA,KAKnB,EC/Oa86L,GAAkB,eAAAzoN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAChCsoN,EACAx6I,GAAkB,OAAAhuE,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEdutE,GACFw6I,EAAiBviN,SAAQ,SAAComE,EAAqBr1D,GAC7C,IAAI+pE,EAAU,GACVx/E,EAAOysE,EAAYn4D,QACrB,SAAC3P,GAAS,OACRA,EAAK+nE,kBAAoB5B,EAAe4B,kBACtB,IAAlB/nE,EAAK6P,WACgB,IAApB7P,EAAKgoE,YAA6C,IAAzBhoE,EAAKooE,gBAAsB,IAGzD/sE,EAAK2sD,MAAK,SAAC1U,EAAQ2U,GAAM,OAAM3U,EAAEi1B,IAAMtgB,EAAEsgB,IAAM,GAAK,CAAC,IACrDltE,EAAK0E,SAAQ,SAAC6D,EAAQ8M,GACpB,GAAIA,EAAM,EAAG,CACX,IAAIoqE,EACJA,EACE30E,OAAOvC,EAAEskE,YAAY51D,oBAAeta,EAAW,CAC7Cgc,sBAAuB,IAEzB,IACA7N,OAAOvC,EAAEukE,UAAU71D,oBAAeta,EAAW,CAC3Cgc,sBAAuB,IAEzB,KACF6mE,GAAoBC,CACtB,MAAO,GAAIpqE,GAAO,EAAG,CACnB,IAAIoqE,EACJA,EACE30E,OAAOvC,EAAEskE,YAAY51D,oBAAeta,EAAW,CAC7Cgc,sBAAuB,IAEzB,IACA7N,OAAOvC,EAAEukE,UAAU71D,oBAAeta,EAAW,CAC3Cgc,sBAAuB,IAEzB,KACF6mE,GAAoBC,CACtB,CACF,IACA3U,EAAe4U,oBAAsBF,CACvC,IACD,wBAAAxgF,EAAAqB,OAAA,GAAA1B,EAAA,KACF,gBA7C8B2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,K,OCu4BhB0mN,I,MAAAA,GA12Bf,WACE,IAAQp0M,EAAgBkH,cAAhBlH,YACRc,EAAsDC,oBAAS,GAAMC,EAAApB,YAAAkB,EAAA,GACrEkJ,GAD0BhJ,EAAA,GAAwBA,EAAA,GACYD,oBAAS,IAAMkJ,EAAArK,YAAAoK,EAAA,GAAtEg1J,EAAuB/0J,EAAA,GAAEg1J,EAA0Bh1J,EAAA,GAC1DG,EAAwCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAApDiqM,EAAYhqM,EAAA,GAAEiqM,EAAejqM,EAAA,GACpCgB,EAAoDtK,mBAAS,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAzD6zJ,EAAkB5zJ,EAAA,GAAE6zJ,EAAqB7zJ,EAAA,GAChDC,EAAgCxK,mBAAc,CAAElG,KAAM,GAAIg/D,WAAY,OAAOruD,EAAA5L,YAAA2L,EAAA,GAAtEmY,EAAQlY,EAAA,GAAE4zJ,EAAW5zJ,EAAA,GAC5BwG,EAAkCjR,mBAAc,CAC9ClG,KAAM,GACN+kK,aAAc,OACd3tJ,EAAArS,YAAAoS,EAAA,GAHK6tJ,EAAS5tJ,EAAA,GAAE6tJ,EAAY7tJ,EAAA,GAI9BC,EAAoDnR,mBAAgB,IAAGoR,EAAAvS,YAAAsS,EAAA,GAAhEqiM,EAAkBpiM,EAAA,GAAEqiM,EAAqBriM,EAAA,GAChD2I,EAAwC/Z,mBAAgB,IAAGga,EAAAnb,YAAAkb,EAAA,GAApDmiJ,EAAYliJ,EAAA,GAAEwiJ,EAAexiJ,EAAA,GACpCG,EAAoCna,mBAAc,IAAGoa,EAAAvb,YAAAsb,EAAA,GACrDI,GADiBH,EAAA,GAAeA,EAAA,GACMpa,mBAAS,IAAEwa,EAAA3b,YAAA0b,EAAA,GAA1C0sF,EAAWzsF,EAAA,GAAE0sF,EAAc1sF,EAAA,GAClCG,EAAwC3a,mBAAiB,IAAG4a,EAAA/b,YAAA8b,EAAA,GAArDojJ,GAAYnjJ,EAAA,GAAEojJ,GAAepjJ,EAAA,GACpCG,GAAwC/a,mBAAgB,IAAGgb,GAAAnc,YAAAkc,GAAA,GAApDpH,GAAYqH,GAAA,GAAE8iJ,GAAe9iJ,GAAA,GACpCG,GAAkCnb,oBAAkB,GAAKob,GAAAvc,YAAAsc,GAAA,GACzDI,IADgBH,GAAA,GAAcA,GAAA,GACkBpb,sBAAewb,GAAA3c,YAAA0c,GAAA,GAC/DK,IADuBJ,GAAA,GAAqBA,GAAA,GACVxb,mBAAiB,IAAE6b,GAAAhd,YAAA+c,GAAA,GAA9C0iJ,GAASziJ,GAAA,GAChBivC,IAD8BjvC,GAAA,GACJ7b,mBAAgB,KAAG+qD,GAAAlsD,YAAAisD,GAAA,GAAtCo2C,GAAKn2C,GAAA,GAAEo2C,GAAQp2C,GAAA,GACtBG,GAA4ClrD,mBAAc,IAAGmrD,GAAAtsD,YAAAqsD,GAAA,GAAtDwoJ,GAAcvoJ,GAAA,GAAEwoJ,GAAiBxoJ,GAAA,GACxCE,GAA8BrrD,oBAAkB,GAAMsrD,GAAAzsD,YAAAwsD,GAAA,GAA/CuE,GAAOtE,GAAA,GAAE+nC,GAAU/nC,GAAA,GAC1B8Z,GAA4CplE,mBAAc,IAAGqlE,GAAAxmE,YAAAumE,GAAA,GAAtCwuI,IAAFvuI,GAAA,GAAmBA,GAAA,IAClC3gB,GAAUja,cAChB58B,GAAmBC,cAAZC,GAA4BlP,YAAAgP,GAAA,GAApB,GAETb,GAAQ4D,iBAAY,MAC1B7b,qBAAU,WACR0pD,KACAo1J,KA4BA,WAC8B,OAAAl2J,GAAAjxD,MAAC,KAADC,UAAA,CA5B9B+wD,GAAoB1xD,MAAK,SAACm8D,GAAQ,OAAK2rJ,GAAkB3rJ,EAAI,GAC/D,GAAG,IAEH,IAAM0rJ,GAAY,eAAAnpN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAipN,EAAA,OAAAnpN,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACIskE,GAAoB5hD,GAAS3a,YAAY,KAAD,EAAzD2gN,EAAQ5oN,EAAAmB,KAEd+mG,GAAW0gH,GAAU,wBAAA5oN,EAAAqB,OAAA,GAAA1B,EAAA,KACtB,kBAJiB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAqBZ8xD,GAAe,eAAA5xD,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAAquG,EAAA,OAAAvwG,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACGkwD,IAAgB,KAAD,EAAlC4/C,EAAUpuG,EAAAT,KAChBqnN,GAAiB1iN,YAAKkqG,IAAa,wBAAApuG,EAAAP,OAAA,GAAAM,EAAA,KACpC,kBAHoB,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAIW,SAAAgxD,KAK/B,OAL+BA,GAAAhzD,YAAAC,IAAAC,MAAhC,SAAAkD,IAAA,IAAA42B,EAAA,OAAA/5B,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACyB2vD,IAAiB,KAAD,EAEX,OAFtBr2B,EAAQ32B,EAAA1B,KACdwxK,GAAgBn5I,GAChBivL,GAAkBjvL,GAAU32B,EAAAzB,OAAA,SACrBo4B,GAAQ,wBAAA32B,EAAAxB,OAAA,GAAAuB,EAAA,MAChBrB,MAAA,KAAAC,UAAA,CACD,IAAMmnN,GAAiB,eAAA5mN,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOg7D,GAAQ,IAAAiX,EAAA40I,EAAA,OAAAppN,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EACZ+sB,aAAc,2BAAuBtvB,GAAW,KAAD,EAApEs2E,EAAYhyE,EAAAd,KAEd67D,IACI6rJ,EAAY50I,EAAahuE,KAAI,SAAC6iN,GAClC,IAAMX,EACJnrJ,EAAI1nD,QAAO,SAACqlG,GAAS,OAAKA,EAAK1yG,aAAe6gN,EAASn7I,UAAU,KACjE,GACIo7I,EACJ/rJ,EAAI1nD,QAAO,SAACqlG,GAAS,OAAKA,EAAK1yG,aAAe6gN,EAASE,UAAU,KACjE,GACF,OAAAr5M,wBAAA,GACKm5M,GAAQ,GAAAx9M,YAAA,CACX29M,SACEd,EAAa9iN,OAAS,EACA,OAAlBud,GAASuzC,KACPgyJ,EAAa,GAAG//M,OAChB+/M,EAAa,GAAGx1J,OAClB,cACL,cACCo2J,EAAa1jN,OAAS,EACA,OAAlBud,GAASuzC,KACP4yJ,EAAa,GAAG3gN,OAChB2gN,EAAa,GAAGp2J,OAClB,cAEV,IACA21J,EAAqBxiN,YAAK+iN,IAC1Bx3C,EAAevrK,YAAK+iN,KACrB,wBAAA5mN,EAAAZ,OAAA,GAAAW,EAAA,KACF,gBA9BsBV,GAAA,OAAAS,EAAAR,MAAA,KAAAC,UAAA,KA+DjB0nN,GAAgB,WACpBh2C,EAAY,CAAEvkK,KAAM,GAAIg/D,WAAY,OACpCimG,EAAa,CACXjlK,KAAM,GACN+kK,aAAc,OAEhB19D,GAAS,GACX,EA0DA,SAASq/D,GAAkBz2K,GACC,IAAtBo0K,GACFC,EAAsB,IAExBJ,GAAgBj0K,GAChBm0K,GAA4BD,EAC9B,CACA,IAmBMq2C,GAAa,eAAA/mN,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAoV,EAAA7S,EAAAyJ,EAAApL,EAAA,OAAAxD,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OAGpB,GADIuX,EAAoB,GACpBs+F,GAAM1wG,OAAS,EACjB,IAAST,EAAI,EAAGA,EAAImxG,GAAM1wG,OAAQT,IAC1ByJ,EAAO0nG,GAAMnxG,GAEnB6S,EAAWvR,KAAKE,KAAOiI,GAAMrI,OAAO,eAEvC,GAC2B,OAAxBwxB,EAASm2C,YAAkD,OAA3BgmG,EAAUD,aAAqB,CAAApxK,EAAApC,KAAA,SAU3B,OAThC+C,EAAW,CACf0qE,WAAoC,OAAxBn2C,EAASm2C,WAAsBn2C,EAASm2C,WAAa,EACjE+lG,aAC6B,OAA3BC,EAAUD,aAAwBC,EAAUD,aAAe,EAG7DS,SAAU,GACVC,OAAQ,IAEV5xK,QAAQe,IAAI,aAAckU,GAAYnV,EAAApC,KAAA,EAEdK,MAAM,oCAAqC,CACjEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAEL,GADAwB,QAAQe,IAAI,CAAEvC,SACVA,EAAM,CAAC,IAADooN,EACFrnH,EACJtqF,EAAWpS,OAAS,EAAIe,KAAOqR,EAAW,SAAM9Z,EAC5CqkG,EACJvqF,EAAWpS,OAAS,EAAIe,KAAOqR,EAAW,SAAM9Z,EAC5CiiB,EAAOxZ,KAAc,QAARgjN,EAACpoN,EAAK,UAAE,IAAAooN,OAAA,EAAPA,EAASn+L,aAEvBlV,EAAU/U,EAAKsU,QAAO,SAACwzM,GAAa,OACxC1iN,KAAO0iN,EAAS79L,aAAao+L,UAAUtnH,EAAWC,EAAQ,IAE5Dx/F,QAAQe,IAAI,CAAEw+F,YAAWC,UAASjsF,UAAS6J,QAC7C,CACAwoM,EAAetiN,YAAK9E,GACtB,IAAG,KAAD,EAvBWsB,EAAAnB,KAAAmB,EAAApC,KAAA,iBAyBf4T,EAAY,CACV1D,YAAY,wCACZkC,QAAQ,yBACRzT,KAAM,YAOR,yBAAAyD,EAAAjB,OAAA,GAAAgB,EAAA,KAEH,kBA3DkB,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KA4DnB,OACEhE,eAAA,OAAAF,SAAA,CAMEF,cAAC8pB,KAAK,CAAC1U,IAAKqP,KACZzkB,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD1tF,eAAA,OACEY,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE5DF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,kBAC1BE,eAAA,UACEY,UAAS,yBACTH,MAAO,CAAEinB,UAAW,WAAY8xF,SAAU,QAC1ChkG,QAAS,kBAAMumD,GAAQrzD,KAAK,0BAA0B,EAAC5I,SAAA,CAEvDF,cAACksN,IAAgB,IACjBlsN,cAAA,QAAAE,SAAM,6BAIZE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCF,cAAC2xC,KAAG,CAAAzxC,SACFE,eAAA,OAAKY,UAAU,eAAcd,SAAA,CAC3BE,eAAA,UACES,MAAO,CACLinB,UAAW,WACXpb,QAAS,OACTE,SAAU,WAEZ5L,UAAS,sBAAAC,OACS,IAAhBy9G,EAAoB,UAAY,IAElC9oG,QAAS,WACP+oG,EAAe,GACfmtG,IACF,EAAE5rN,SAAA,CAEFF,cAACmsN,KAA2B,IAC5BnsN,cAAA,QAAAE,SAAM,qBAERE,eAAA,UACES,MAAO,CACLinB,UAAW,WACXpb,QAAS,OACTE,SAAU,WAEZ5L,UAAS,sBAAAC,OACS,IAAhBy9G,EAAoB,UAAY,IAElC9oG,QAAS,WACP+oG,EAAe,GACfmtG,IACF,EAAE5rN,SAAA,CAEFF,cAACosN,IAAgB,IACjBpsN,cAAA,QAAAE,SAAM,4BAIK,IAAhBw+G,GACCt+G,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACuxC,KAAG,CAAAzxC,SAAA,CACFE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,gBAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,wFAE3BF,cAACK,KAAG,CAACygE,GAAI,EAAE5gE,SACTE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WAAYnuB,EAAS7oB,KACrBk3C,iBAAkB,SAClBD,eAAe,EACfJ,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAc,kBAAMuvH,GAAkB,WAAW,EACjDtvH,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAMuvH,GAAkB,WAAW,EACjD7vH,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAe,SAIrBpoD,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,mBAC9BF,cAAA,QAAMgB,UAAU,mBAAkBd,SAAC,SAErCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0GAE3BF,cAACK,KAAG,CAACygE,GAAI,EAAE5gE,SACTE,eAAA,OACEY,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAAA,CAEFF,cAAC8nD,KAAmB,CAClBK,kBAAkB,iDAClBH,iBAAkB,CAAEqnC,KAAM,KAC1B9mC,WAAYguH,EAAUhlK,KACtBk3C,iBAAkB,SAClBD,eAAe,EACfJ,cAAe,CACbroC,OAAQ,OACRpK,MAAO,QACP/I,SAAU,QAEZ87C,aAAc,kBAAMuvH,GAAkB,WAAW,EACjDtvH,eAAe,IAEjB3oD,cAACsuE,GAAgB,CACfpmB,aAAc,eACdC,kBAAmB,yBACnBO,aAAc,kBAAMuvH,GAAkB,WAAW,EACjD7vH,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,QAEVyoC,eAAe,YAKvBpoD,eAACuxC,KAAG,CAAAzxC,SAAA,CACFE,eAACC,KAAG,CAACygE,GAAI,EAAE5gE,SAAA,CACTF,cAAA,OAAKgB,UAAU,cAAad,SAC1BF,cAAA,QAAMgB,UAAU,cAAad,SAAC,8BAIhCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,0DAE3BF,cAACK,KAAG,CAACygE,GAAI,GAAG5gE,SACVF,cAAA,OACEgB,UAAU,eACVH,MAAO,CACLkf,OAAQ,OACRpK,MAAO,QACPjJ,QAAS,OACTgoC,eAAgB,iBAChBx0C,SAEFF,cAAC04G,GAAU,CACT/lG,GAAG,QACHkC,MAAM,OACNtD,KAAK,aACLylE,SAAS,EACT2hC,MAAOA,GACPj2F,eAAgB,SAACvW,GAAM,OAtXxB,SAAC8E,EAAWzP,GAC/B,GAAa,OAATyP,GAA2B,SAAVzP,EAAkB,CACrC,IAAM2D,EAASwuK,EAAaz7J,QAAO,SAAC2kB,EAAY5jB,GAC9C,IAAIozM,EAAqBrjN,KAAO6zB,EAAMk6I,SAAU,eAC5Cu1C,EAAmBtjN,KAAO6zB,EAAMm6I,OAAQ,eACxCu1C,EAAqB,IAAI5xM,KAC3B3R,KAAOqjN,GAAoBzjN,OAAO,eAEhC4jN,EAAmB,IAAI7xM,KACzB3R,KAAOsjN,GAAkB1jN,OAAO,eAE9B6jN,EAAe,IAAI9xM,KAAK3R,KAAOiI,EAAK,IAAIrI,OAAO,eAGnD,GACE2jN,GAHmB,IAAI5xM,KAAK3R,KAAOiI,EAAK,IAAIrI,OAAO,gBAInD4jN,GAAoBC,EAEpB,OAAO,CAEX,IAEAvB,EAAqBxiN,YAAKvD,IAC1ByzG,GAAQlwG,YAAKuI,GACf,MAAoB,OAATA,GAA2B,WAAVzP,GAC1B0pN,EAAqBxiN,YAAKirK,IAC1B/6D,GAAQlwG,YAAKuI,KACK,OAATA,IACTi6M,EAAqBxiN,YAAKirK,IAC1B/6D,GAAS,IAEb,CAuVkD8zG,CAAavgN,EAAG,SAAS,EACrD4pK,UAAWA,GACXl9D,aAAa,WAkBrB74G,cAAC2xC,KAAG,CAAAzxC,SACFE,eAACC,KAAG,CAACW,UAAU,eAAcd,SAAA,CAC3BF,cAACsuE,GAAgB,CACfpmB,aAAc,eACdsmB,cAAe,SACfrmB,kBAAmB,yBACnBO,aAAc,kBAAMqjK,IAAe,EACnC3jK,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,OACRwjB,QAAS,UAEXilB,eAAe,IAEjBxoD,cAACsuE,GAAgB,CACfpmB,aAAc,gBACdsmB,cAAe,QACfrmB,kBAAmB,wBACnBO,aAAc,kBAAMojK,IAAe,EACnC1jK,cAAe,CACb59B,gBAAiB,UACjBlM,OAAQ,oBACRgM,qBAAsB,MACtBC,wBAAyB,MACzBE,UAAW,OACX1K,OAAQ,OACRwjB,QAAS,UAEXilB,eAAe,SAIrBpoD,eAAC+wE,KAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAOuiN,EACPnqK,cAAc,SACdywB,WAAY,CACV/yD,OAAQ,oBACRgzD,aAAc,WAEhBC,QAAQ,KACRC,iBAAiB,SACjByuE,YA/TY,SAACrgE,GAAgB,EA+TI1/E,SAAA,CAEjCF,cAACs4B,KAAM,CACLzoB,MAAM,aACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,qBAIlCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3BpiB,cAAA,KACE4V,QAAS,kBACPumD,GAAQrzD,KAAK,kBAAD7H,OAAmB4X,EAAInI,QAAS,EAC7CxQ,SAEA2Y,EAAIiU,YACH,IAGR9sB,cAACs4B,KAAM,CACLzoB,MAAM,eACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,oBAKpCF,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,aAIlCoD,KAAM,SAACkF,GACL,GAAyB,IAArBA,EAAMqlB,YAAmB,CAC3B,IAAI/c,EAAiB9H,KACnBR,EAAMqlB,YACN,cAMF,OAJAzoB,QAAQe,IAAI,QAASqC,EAAMqlB,YAAa/c,GAGtC9H,KAAO8H,GAAgBlI,OAAO,cAElC,CACE,MAAO,EAEX,IAEF5I,cAACs4B,KAAM,CACLzoB,MAAM,cACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,kBAIlCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3BgJ,GAAaviB,KAAI,SAACjF,GAChB,GAAIA,EAAKiH,aAAegO,EAAIwjC,YAC1B,OAAOr8C,cAAA,KAAAE,SAAI0D,EAAK2xD,QAEpB,GAAE,IAGNv1D,cAACs4B,KAAM,CACLzoB,MAAM,kBACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,mBAIlCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3B+oM,GAAetiN,KAAI,SAACjF,GAClB,GAAIA,EAAK2yD,eAAiB19C,EAAI8zM,gBAC5B,OAAO3sN,cAAA,KAAAE,SAAI0D,EAAK2xD,QAEpB,GAAE,IAGNv1D,cAACs4B,KAAM,CACLzoB,MAAM,SACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,iBAKpCF,cAACs4B,KAAM,CACLzoB,MAAM,WACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,uBAIlCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3BgJ,GAAaviB,KAAI,SAACjF,GAChB,GAAIA,EAAKiH,YAAcgO,EAAI+zM,SACzB,OAAO5sN,cAAA,KAAAE,SAAI0D,EAAK2xD,QAEpB,GAAE,IAGNv1D,cAACs4B,KAAM,CACLzoB,MAAM,YACNiX,OACE9mB,cAAA,MAAAE,SACEF,cAAA,MAAAE,SACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAC,oBAIlCoD,KAAM,SAACuV,EAAUuJ,GAAY,OAC3BgJ,GAAaviB,KAAI,SAACjF,GAChB,GAAIA,EAAKiH,aAAegO,EAAIg0M,UAC1B,OAAO7sN,cAAA,KAAAE,SAAI0D,EAAK2xD,QAEpB,GAAE,UAMK,IAAhBmpD,GACC1+G,cAAAC,WAAA,CAAAC,SA2EEF,cAACg6E,GAAY,CACX53C,UAAW,gBACX3E,WAAYwtL,EACZ6B,cAAe5B,EACflqH,eArkBQ,SAAC70F,GACvBgwD,GAAQrzD,KAAK,wBAAD7H,OAAyBkL,EAAE8sK,YACzC,EAokBgBnyF,UAAWzf,UAKnBrnE,cAAA,OACEa,MAAO,CACL2pB,gBAAiB,qBACjBpH,aAAc,OACd+qE,YAAa,OACbpkB,cAAe,OAEfgjJ,OAAQ,KACR7sN,SAEFF,cAACquE,GAAgB,WAIvBruE,cAACugD,KAAgB,CACfE,SAAUr1B,GACVo1B,UAAW,WACXM,aAAc,SAAC30C,GAAM,OAjkBDvI,EAikBuBuI,EAhkBjC,cADqB3K,EAikBeg0K,KA/jBhDM,GAAY,SAAC54I,GAAc,OAAA3qB,wBAAA,GACtB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAClDgb,WAAY3sE,EAAKiH,YAAU,IAGjB,aAAVrJ,GACFg1K,GAAa,SAACt5I,GAAc,OAAA3qB,wBAAA,GACvB2qB,GAAS,IACZ3rB,KAAwB,OAAlBiU,GAASuzC,KAAgBn1D,EAAKoH,OAASpH,EAAK2xD,OAClD+gH,aAAc1yK,EAAKiH,YAAU,SAGjC8qK,GAA4BD,GAfL,IAAC9xK,EAAWpC,CAikB4B,EAC3DgX,QAAS,CACP,CACE3I,MAAO,eACPgtC,SAAU,eACV+d,SAAU,sEAEZ,CACE/qD,MAAO,SACPgtC,SAAU,OACV+d,SAAU,4BAEZ,CACE/qD,MAAO,iBACPgtC,SAAU,WACV+d,SAAU,8CAEZ,CACE/qD,MAAO,mBACPgtC,SAAU,aACV+d,SAAU,qDAGdla,cAAeg1H,EACf/0H,iBAAkB,kBAAMs3H,GAAkBzC,GAAa,MAuE/D,ECr4Baw3C,I,OAAM,eAAA7qN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO2kE,GAAY,IAAAxkE,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACfK,MAAM,uBAAwB,CAChDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU0jE,KAEtBzjE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAOE,EAAAmB,KAAAnB,EAAAoB,OAAA,SAYJtB,GAAO,wBAAAE,EAAAqB,OAAA,GAAA1B,EAAA,KACnB,gBAdkB2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAA,MAgBN6oN,GAAM,eAAA3oN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO2iE,GAAY,IAAAxkE,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACfK,MAAM,uBAAwB,CAChDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU0jE,KAEtBzjE,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAYJtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACnB,gBAdkBE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,K,+BCoMJ8oN,GAtMY,WACvB,IAAA11M,EAAoCC,mBAAS,GAAEC,EAAApB,YAAAkB,EAAA,GAAxC21M,EAAUz1M,EAAA,GAAE01M,EAAa11M,EAAA,GAChCgJ,EAA8BjJ,mBAAc,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAxC2sM,EAAO1sM,EAAA,GAAE2sM,EAAU3sM,EAAA,GAC1BG,EAA0BrJ,mBAAS,GAAEsJ,EAAAzK,YAAAwK,EAAA,GAA9Bwa,EAAKva,EAAA,GAAEwsM,EAAQxsM,EAAA,GACdrK,EAAgBkH,cAAhBlH,YACRqL,EAA0CtK,mBAAS,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA/Ci4F,EAAah4F,EAAA,GAAEwrM,EAAgBxrM,EAAA,GAC/B0kD,EAAWC,KAAXD,QAIyB,SAEjB+mJ,IAAW,OAAAC,EAAAvpN,MAAC,KAADC,UAAA,UAAAspN,IAazB,OAbyBA,EAAAtrN,YAAAC,IAAAC,MAA1B,SAAAC,IAAA,IAAAC,EAAA2C,EAAA,OAAA9C,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKK,OAJGN,EAAc,CACd2qN,WAAYA,EACZxrK,SAAU,GACVq4D,cAAeA,GAClBp3G,EAAAE,KAAA,EACkBkqN,GAAOxqN,GAAa,KAAD,GAAlC2C,EAAMvC,EAAAmB,QAENupN,EAAWnoN,EAAOwoN,WAClBJ,EAASpoN,EAAOm2B,QAEpBl2B,QAAQe,IAAI,SAAUhB,GACtBC,QAAQe,IAAI,UAAWknN,GAAS,wBAAAzqN,EAAAqB,OAAA,GAAA1B,EAAA,MACnC4B,MAAA,KAAAC,UAAA,CAEsB,SAAAwpN,IAwBtB,OAxBsBA,EAAAxrN,YAAAC,IAAAC,MAAvB,SAAAiC,EAAwBoO,GAAU,IAAAnQ,EAAA2C,EAAA,OAAA9C,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAI7B,OAHD4jE,GAAQ,GACJlkE,EAAc,CACdqrN,GAAIl7M,GACPnO,EAAA1B,KAAA,EAEkBmqN,GAAOzqN,GAAa,KAAD,EAerC,OAfG2C,EAAMX,EAAAT,KACVqB,QAAQe,IAAI,SAAUhB,GAElBuR,EADAvR,EACY,CACR6N,YAAY,UACZkC,QAAQ,UACRzT,KAAM,WAIE,CACRuR,YAAY,OACZkC,QAAQ,UACRzT,KAAM,UAEb+C,EAAA1B,KAAA,EACK2qN,IAAc,KAAD,EACnB/mJ,GAAQ,GAAO,yBAAAliE,EAAAP,OAAA,GAAAM,EAAA,MAClBJ,MAAA,KAAAC,UAAA,CA3CDoI,qBAAU,WACNihN,GACJ,GAAG,CAACN,EAAYnzG,IA2ChB,IAAMxhG,EAA4B,CAC9B,CACI3D,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,aAAa,EAC7B+N,IAAK,YACLwL,UAAW,YACX9D,MAAO,IACPzD,OAAQ,SACJ1J,GAA8D,OAC7DslN,KAAMtlN,GAAOI,OAAO,uBAAuB,GAEpD,CACIiM,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,UAAU,EAC1B+N,IAAK,SACLwL,UAAW,SACX9D,MAAO,IAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,eAAe,EAC/B+N,IAAK,cACLwL,UAAW,cACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,cAAc,EAC9B+N,IAAK,aACLwL,UAAW,aACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,aAAa,EAC7B+N,IAAK,YACLwL,UAAW,YACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,iBAAiB,EACjC+N,IAAK,gBACLwL,UAAW,gBACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,eAAe,EAC/B+N,IAAK,cACLwL,UAAW,cACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,WAAW,EAC3B+N,IAAK,UACLwL,UAAW,UACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,WAAW,EAC3B+N,IAAK,UACLwL,UAAW,UACX9D,MAAO,KAEX,CACId,MAAO,kBAAM7U,cAAA,KAAAE,SAAG,UAAU,EAC1B+N,IAAK,SACLwL,UAAW,SACX9D,MAAO,IACPzD,OAAQ,SAAC1J,GAAK,MACA,YAAVA,EACMxI,cAAA,KAAGa,MAAO,CAAEwW,aAAc,MAAOmT,gBAAiB,UAAW9d,QAAS,OAAQK,MAAO,UAAW2nC,eAAgB,UAAWx0C,SAAEsI,IAC7HxI,cAAA,KAAGa,MAAO,CAAEwW,aAAc,MAAOmT,gBAAiB,UAAW9d,QAAS,OAAQK,MAAO,UAAW2nC,eAAgB,UAAWx0C,SAAEsI,GAAU,GAGrJ,CACImN,MAAO,IACPzD,OAAQ,SAAC1J,EAAOiQ,GAAO,OACnBzY,cAAAC,WAAA,CAAAC,SACIF,cAACsuE,GAAgB,CACbpmB,aAAc,aACdsmB,cAAgB,UAChBrmB,kBAAmB,YACnBO,aAAc,WACV3W,KAAMD,QAAQ,CACVj9B,MAAO,UACPqV,QAAUlqB,cAAA,KAAAE,SAAG,sEAGbqsM,OAAQ,gBACRpuJ,KAAM,YAhHjC,SAEsBj6C,GAAA0pN,EAAAzpN,MAAC,KAADC,UAAA,CA+GS2pN,CAASt1M,EAAQo1M,GACrB,EACA7vK,cAAe,CACXnpC,MAAO,UACPhU,MAAO,CACHwW,aAAc,EACd6/D,YAAa,mBACb1sD,gBAAiB,qBAGzB4zB,kBAAmB,CACfv9C,MAAO,CACHiM,aAAc,OACduK,aAAc,MACd2sB,WAAY,qBACZj3B,MAAO,iCAIvB,KAEL,IAKf,OACI/M,cAAAC,WAAA,CAAAC,SACIE,eAAA,OAAKS,MAAO,CAAEoU,OAAQ,QAAS/U,SAAA,CAC3BF,cAAC2xC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAI3gE,SAClBF,cAACK,KAAG,CAACM,GAAI,GAAGT,SACRF,cAACsS,KAAK,CACFxK,OAAQ9H,cAACguN,KAAc,CAAC9vK,SAAK39C,IAC7BwS,YAAY,iCACZlS,MAAO,CAAE8U,MAAO,MAAOV,OAAQ,MAAOoC,aAAc,QACpDgtF,YAAU,EACV5xF,SAAU,SAACtG,GAAM,OAAKqhN,EAAiBrhN,EAAEuG,OAAOlK,MAAM,QAIlExI,cAAC2xC,KAAG,CAACkvB,OAAQ,CAAC,GAAI,IAAI3gE,SAClBF,cAACK,KAAG,CAACM,GAAI,GAAGT,SACRF,cAACi/C,KAAK,CACFgvK,OAAQ,KACR5uK,UAAU,EACV7mC,QAASA,EACTilB,WAAY4vL,EACZxrK,WAAY,CAAE1a,QAASgmL,EAAY7xL,MAAOA,GAC1C7oB,SAAU,SAACtG,GACPihN,EAAcjhN,EAAEg7B,QACpB,EACAmY,OAAQ,CAAEC,EAAG,gBAOzC,ECkUe0/C,OA3fe,WAC5B,IAAM1xB,EAAQ,IAAIp9C,gBAAgBw/B,cAAc6d,QAChDh2D,EAA8BC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAtCsY,EAAOpY,EAAA,GAAEw2M,EAAUx2M,EAAA,GAC1BowD,EAA4BnB,KAApBF,EAAMqB,EAANrB,OAAQC,EAAOoB,EAAPpB,QAChBhmD,EAAsCjJ,qBAAiBkJ,EAAArK,YAAAoK,EAAA,GAAhDytM,EAAWxtM,EAAA,GAAEytM,EAAcztM,EAAA,GAClCG,EAAgCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAAxCutM,EAAQttM,EAAA,GAAEutM,EAAWvtM,EAAA,GAC5BgB,EAA8BtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAAxCwsM,EAAOvsM,EAAA,GAAEwsM,EAAUxsM,EAAA,GAC1BC,EAAoCxK,mBAAiB,GAAEyK,EAAA5L,YAAA2L,EAAA,GAAhD6sE,EAAU5sE,EAAA,GAAEy8D,EAAaz8D,EAAA,GAChCwG,EAA+BjR,qBAAkBkR,EAAArS,YAAAoS,EAAA,GAA1C67C,EAAQ57C,EAAA,GAAEkiF,EAAUliF,EAAA,GACrBwzC,EAAUja,cACVz9B,EAAQ4D,iBAAY,MAC1BO,EAAgCnR,mBAAc,CAAC,GAAEoR,EAAAvS,YAAAsS,EAAA,GAA1CgzD,EAAQ/yD,EAAA,GAAEgzD,EAAWhzD,EAAA,GAC5B2I,EAAkD/Z,oBAAc,GAAMga,EAAAnb,YAAAkb,EAAA,GAA/D+sD,EAAiB9sD,EAAA,GAAEwyD,EAAoBxyD,EAAA,GAC9CnM,EAAmBC,cAAZC,EAA4BlP,YAAAgP,EAAA,GAApB,GACfsM,EAA8Bna,qBAAmBoa,EAAAvb,YAAAsb,EAAA,GAA1Cy1C,EAAOx1C,EAAA,GAAEi5E,GAAUj5E,EAAA,GACpBpJ,GAAYllB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IAClE+lB,GAAqBP,GAAU1D,kBAC7B1M,GAAqBhS,eAArBgS,iBACR7L,qBAAU,WACRk6D,GAAQ,GAENmkC,EAAW9nG,OAAO2mB,SAAS86C,SAE/B,GAAG,IAEHh4D,qBAAU,WACRiiN,IACF,GAAG,CAAClhJ,IAEJ,IAAMkhJ,GAAW,WACf,IAAIC,EAAQ,GAmBZ,OAjB0B,OAAtBnhJ,EAAMnb,IAAI,cAA0C7xD,IAAtBgtE,EAAMnb,IAAI,UAE5B,oBADds8J,EAAQnhJ,EAAMnb,IAAI,SAAW,IAE3Bs8J,EAAQA,EAAMzsN,QAAQ,iBAAkB,cACrB,iBAAVysN,EACTA,EAAQA,EAAMzsN,QAAQ,eAAgB,cACnB,gBAAVysN,EACTA,EAAQ,UACW,kBAAVA,IACTA,EAAQ,YAEkB,IAAxBA,EAAMllN,QAAQ,OAChBklN,EAAQA,EAAMjlN,UAAU,EAAGilN,EAAMllN,QAAQ,OAG3C0kN,EAAWQ,IAENA,CACT,EAqBA,SAASvkM,GAAWvF,GACE,OAAJA,QAAI,IAAJA,KAAMvb,MAAM,KAA5B,IACMigB,EAAQ1E,EACS,MAAnBA,EAAK6E,OAAO,IAAeT,GAEzBpE,EADA,IAAMA,EAER,GAEE2E,EAAWxmB,OAAO2mB,SAASH,SAC7BP,GACEM,EAAMpa,WAAW8Z,IACnBjmB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,cAElCvmB,OAAOqe,KAAK,GAADngB,OAAI+nB,IAAkB/nB,OAAGqoB,GAAS,SAAU,cAEhDb,GAAUzD,QAEjBsE,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,QACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,SACf6gB,EAAM7gB,SAAS,UAEX6gB,EAAM7gB,SAAS,SACjB1F,OAAOqe,KAAK,WAADngB,OACEqoB,EAAMznB,WAAW,WAAY,KACxC,SACA,cAEOynB,EAAM7gB,SAAS,QACxB1F,OAAOqe,KAAK,UAADngB,OACCqoB,EAAMznB,WAAW,UAAW,KACtC,SACA,cAGFkB,OAAOqe,KAAK,WAADngB,OAAYqoB,GAAS,SAAU,cAG5CvmB,OAAOqe,KAAK,GAADngB,OACNsoB,EAAQ,MAAAtoB,OAAKwnB,GAAUzD,SAAO/jB,OAAGqoB,GACpC,SACA,cAGMb,GAAUzD,SACpBjiB,OAAOqe,KAAK,GAADngB,OAAIqoB,GAAS,SAAU,aAEtC,CAtEA9c,qBAAU,WACJsjB,IACF42C,GAAQ,GACR7uD,GAAUiY,GAEd,GAAG,CAACA,IAmEJ,IAUMjY,GAAS,eAAA1V,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOosN,EAAiB50M,GAAe,IAAA60M,EAAA/3I,EAAAg4I,EAAAC,EAAAC,EAAAvD,EAAAlgH,EAAAv7E,EAAAi/L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAzgD,EAAApnK,EAAA6xB,EAAAzxB,EAAAqvF,EAAA,OAAA50F,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKC,GALDF,EAAAC,KAAA,EAGjDgsN,EAAiBR,EACjBS,OAAqBvuN,EACrBwuN,EAAmBJ,GAAoBF,KACtCI,EAAU,CAADjsN,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACM+sB,aAAc,uBAAwBtvB,GAAW,KAAD,EAAlEsuN,EAASjsN,EAAAmB,KACTuqN,EAAYO,GAAW,cAAAjsN,EAAAE,KAAA,GAEFskE,GACrB0nJ,EAA6B,QAAhBF,EAAGE,SAAa,IAAAF,OAAA,EAAbA,EAAe/jN,WAAa2a,EAAS3a,YACrD,KAAD,GAmDY,OArDP2gN,EAAQ5oN,EAAAmB,KAKW,OAAvBwpE,EAAMnb,IAAI,eACa7xD,IAAvBgtE,EAAMnb,IAAI,UACVo5J,IAEAsD,EAAgBD,EAAUzuM,MACxB,SAAC7X,GAAS,OAAKA,EAAKsC,aAAe6D,OAAO6+D,EAAMnb,IAAI,SAAS,KAMjD,iBAAZtiC,QAC+BvvB,EACjC+qG,EAAY,CACVloG,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB81D,UAAWw1J,EACM,QADOE,EACpBF,SAAa,IAAAE,GAAY,QAAZC,EAAbD,EAAenkN,kBAAU,IAAAokN,OAAZ,EAAbA,EAA2BnkN,WAC3B0a,EAAS3a,WAAWC,WACxByrD,aAAcu4J,EACG,QADUI,EACvBJ,SAAa,IAAAI,OAAA,EAAbA,EAAe34J,aACf/wC,EAAS+wC,aACbkC,SAAUq2J,EACO,QADMK,EACnBL,SAAa,IAAAK,OAAA,EAAbA,EAAe12J,SACfjzC,EAASizC,SACbxtD,MAAO6jN,EAA6B,QAAhBM,EAAGN,SAAa,IAAAM,OAAA,EAAbA,EAAenkN,MAAQua,EAASva,UAGtC,YAAZ6kB,EACTw7E,EAAY,CACVloG,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwhB,QAASyD,GAAUzD,WAGF,aAAZ8K,IACTC,EAAc,CACZM,aAAc,UAGZg/L,EAAS,CAAC,WAAY,UAAW,cAAc5mN,SAASsmN,GAC1D,gBACA,UAASnsN,EAAAE,KAAA,GACQ+sB,aACnBk/L,EAAWM,EACX/jH,EACAv7E,GACA,KAAD,GAJW,OAAZ8mD,EAAYj0E,EAAAmB,KAAAnB,EAAAE,KAAA,GAMmBwoD,eAAmB,KAAD,GAEjD,IAFIsjH,EAAkBhsK,EAAAmB,KAEbyD,EAAI,EAAGA,EAAIqvE,EAAa5uE,OAAQT,IAEvC,IADM6xB,EAAUw9C,EAAarvE,GACpBI,EAAI,EAAGA,EAAIgnK,EAAmB3mK,OAAQL,KACvCqvF,EAAW23E,EAAmBhnK,IACvBkkD,SAAWzyB,EAAQ9M,eAC9BsqD,EAAarvE,GAAG6M,UACM,YAApB4iF,EAAS21D,OAAuB,OAAS,QAC3C/1E,EAAarvE,GAAG87F,iBACM,YAApBrM,EAAS21D,OAAuB,OAAS,SAGhD,GAEe,mBAAZ+hE,EAA4B,CAAA/rN,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACxBwsN,GAAwBz4I,GAAc,KAAD,GAG7B,eAAZ/mD,GACF+mD,EAAahuE,KAAI,SAACjF,GAChB,GAAIA,EAAKg0K,WAAY,CACnB,IAAA23C,EAA6B3rN,EAAKg0K,WAAWvuK,MAAM,KAAImmN,EAAAl5M,YAAAi5M,EAAA,GAAhD7qM,EAAQ8qM,EAAA,GAAEpmM,EAAQomM,EAAA,GACzB5rN,EAAKg0K,WACH53K,cAAAC,WAAA,CAAAC,SACEF,cAACiqB,IAAO,CAACnV,UAAU,SAASoV,QAASxF,EAASxkB,SAC5CF,cAACwnB,IAAM,CACLhmB,MACEkjB,EAASzc,QAAU,EACfyc,EACAA,EAASjb,UAAU,EAAG,GAAK,OAEjCmM,QAAS,WACPuU,GAAWf,EACb,EACApoB,UAAU,IACVS,KAAK,SACLZ,MAAO,CACLwW,aAAc,MACdmT,gBAAiB,mBACjBlM,OAAQ,6BACRmM,UAAW,OACX9U,MAAO,OACPoK,OAAQ,OACRzI,OAAQ,UAMpB,CACF,IAEc,aAAZwY,GACF+mD,EAAahuE,KAAI,SAACjF,GACZA,EAAK2xD,QAAU3xD,EAAKoH,SACtBpH,EAAK2xD,OAAS3xD,EAAK2xD,OAAOtzD,QAAQ,OAAQ,KAC1C2B,EAAKoH,OAASpH,EAAKoH,OAAO/I,QAAQ,OAAQ,KAE9C,IAEc,eAAZ6tB,GAAuC,SAAX/V,GAC9B1B,GAAiBw+D,GAGfA,IACEg4I,IACFh4I,EAAahuE,KAAI,SAACsD,GAAY,IAADsjN,EACvB7vJ,EAAe,QAAZ6vJ,EAAGZ,SAAS,IAAAY,OAAA,EAATA,EAAWrvM,MACnB,SAACm9F,GAAS,OAAKA,EAAK1yG,WAAWC,aAAeqB,EAAEmtD,SAAS,IAGzDntD,EAAEmtD,UADAsG,EAC8B,OAAlBp6C,EAASuzC,KAAmB,OAAH6G,QAAG,IAAHA,OAAG,EAAHA,EAAKrK,OAAY,OAAHqK,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAE5C,EAElB,IACA6rE,EAAahuE,KAAI,SAACsD,GAAY,IAADujN,EACvB9vJ,EAAe,QAAZ8vJ,EAAGb,SAAS,IAAAa,OAAA,EAATA,EAAWtvM,MACnB,SAACm9F,GAAS,OAAKA,EAAK1yG,WAAWC,aAAeqB,EAAEitD,UAAU,IAG1DjtD,EAAEitD,WADAwG,EAC+B,OAAlBp6C,EAASuzC,KAAmB,OAAH6G,QAAG,IAAHA,OAAG,EAAHA,EAAKrK,OAAY,OAAHqK,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAE5C,EAEnB,KAGF8/F,GAAW0gH,GAEX4C,EAAc1lN,YAAKmuE,IACnBnQ,GAAQ,IACT9jE,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAgkB,GAAAhkB,EAAA,SAEDwC,QAAQe,IAAI,eAAcvD,EAAAgkB,IAC1B8/C,GAAQ,GAAO,yBAAA9jE,EAAAqB,OAAA,GAAA1B,EAAA,mBAElB,gBAxKc2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,KA0KTkrN,GAAuB,eAAAhrN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOX,GAAW,IAAAysE,EAAA,OAAAhuE,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACxB8rE,KAA2B,KAAD,GAA9CyB,EAAW7rE,EAAAT,QAEb6mN,GAAmBhnN,EAAMysE,GACzBm+I,EAAU9lN,YAAK2nE,KAChB,wBAAA7rE,EAAAP,OAAA,GAAAM,EAAA,KACF,gBAN4BO,GAAA,OAAAR,EAAAH,MAAA,KAAAC,UAAA,KAuD7B,MACc,iBAAZ0rB,GACY,mBAAZA,GACY,aAAZA,GACY,cAAZA,EAEI22C,EACKzmE,cAAAC,WAAA,IAGLD,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAqBH,MAAO,CAAEkf,OAAQ,QAAS7f,SAAA,CAC5DF,cAAC8pB,KAAK,CAAC1U,IAAKqP,EAAOy1C,WAAY,SAC/B95D,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD1tF,eAAA,OACEY,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,EAE1DumE,GACAzmE,cAAA,KAAGgB,UAAU,aAAYd,SACV,mBAAZ4vB,EACG,mBAA0Bg/D,EAAa,IAC3B,eAAZh/D,EACA,eAAsBg/D,EAAa,IACvB,kBAAZh/D,EACA,kBAAyBg/D,EAAa,IAC1B,kBAAZh/D,EACA,kBAAyBg/D,EAAa,IAC1B,kBAAZh/D,GAEY,eAAZA,EADA,mBAA0Bg/D,EAAa,IAG3B,iBAAZh/D,EACA,iBAAwBg/D,EAAa,IACzB,eAAZh/D,EACA,eAAsBg/D,EAAa,IACnCh/D,EAAU,IAAMg/D,EAAa,MAGvB,yBAAbvqB,GACCvkE,cAAAC,WAAA,CAAAC,SACEF,cAACsuE,GAAgB,CACfE,cACc,iBAAZ1+C,EACI,cACA,WACa,mBAAZA,EACG,kBACY,eAAZA,EACA,cACY,kBAAZA,EACA,iBACY,kBAAZA,EACA,iBACY,eAAZA,EACA,kBACY,eAAZA,EACA,cACAA,GAEVs4B,cAAe,CACbx7C,SAAU,QACVmT,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,8BAEVoqC,aAAc,WACI,iBAAZ54B,EACFqsC,EAAQrzD,KAAK,oBAEb+yE,EAAY,CAAC,GACboI,GAAsB1F,GAE1B,YAMT4vI,GACC/tN,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAACg6E,GAAY,CACX53C,UAAWtS,EACX2N,WAAY0wL,EACZptH,QAAS15B,GAAuB,iBAAZv3C,EACpB6uD,cAAeA,EACfjmC,mBAvHW,SAACt/B,GAC1B,OACEpZ,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACgkF,KACC,CACArxE,GAAG,aACH3R,UAAU,qBACVyvB,MAAO,CACL,CACEjvB,MAAO,OACPoV,KAAM,eACNsiC,QAAS,WACS,iBAAZppB,EACFqsC,EAAQrzD,KACN,8BAAgCsQ,EAAOpP,aAGzC6xE,EAAYziE,GACZ6qE,GAAqB,GAEzB,IAGJC,aAAa,sBAIrB,EA6FgB+c,WAAYppF,GACZ6uD,QAASA,EACTjiD,MAAOA,EACPqiE,UACc,mBAAZh3D,IACgB,eAAZA,IACc,UAAZA,IACc,aAAZA,IACc,eAAZA,IACc,kBAAZA,IACc,iBAAZA,IACc,eAAZA,GACc,eAAZA,WAarByuD,GACCv+E,cAACyqN,GAAa,CACZhmM,MAAOA,EACP2d,UArKA,mBAAZtS,EACK,kBACc,eAAZA,EACF,cACc,kBAAZA,EACF,iBACc,kBAAZA,EACF,iBACiD,iBAA/CA,EAAQrmB,UAAU,EAAGqmB,EAAQtmB,QAAQ,MACvC,gBACc,eAAZsmB,EACF,cAEAA,EAyJOzJ,SAAUu1D,EACVlkB,kBAAmB6mB,EACnBtgB,iBArWO,SAAC3T,EAAgBvwC,GACnCuwC,IACH25B,EAAqB35B,GACN,SAAXvwC,IACF2sD,GAAQ,GACR7uD,GAAUiY,EAAS/V,IAGzB,EA8VkBmkD,UAAWiwJ,EACX30J,aAAc40J,EACd1D,aAAc6D,EACd5D,gBAAiB6D,EACjB1+L,QAASA,YAWvB1vB,eAAAH,WAAA,CAAAC,SAAA,CACe,iBAAZ4vB,GAA8B9vB,cAAC8qN,GAAkB,IACrC,aAAZh7L,GAA0B9vB,cAACw4K,GAAc,IAC7B,mBAAZ1oJ,GAAgC9vB,cAAC2vN,GAAoB,IACzC,cAAZ7/L,GAA2B9vB,cAACktN,GAAkB,MAIvD,IC6Le0C,GAnpBS,WACtB,IACM9/L,EADW6/B,cACQiB,SAAS3uD,QAAQ,IAAK,IAC/CuV,EAAwBC,mBAAiB,IAAGC,EAAApB,YAAAkB,EAAA,GAArC+gE,EAAI7gE,EAAA,GAAEm4M,EAAOn4M,EAAA,GACpBgJ,EAAoCjJ,mBAAiB,GAAEkJ,EAAArK,YAAAoK,EAAA,GAAhDouE,EAAUnuE,EAAA,GAAEg+D,EAAah+D,EAAA,GAChCG,EAAoCrJ,qBAAesJ,EAAAzK,YAAAwK,EAAA,GAA5CgvM,EAAU/uM,EAAA,GAAEgvM,EAAahvM,EAAA,GAChCgB,EAAkCtK,mBAAgB,IAAGuK,EAAA1L,YAAAyL,EAAA,GAA9Cm8C,EAASl8C,EAAA,GAAEw3C,EAAYx3C,EAAA,GAC9BC,EAA0CxK,qBAAiByK,EAAA5L,YAAA2L,EAAA,GAApD2mF,EAAa1mF,EAAA,GAAEujF,EAAgBvjF,EAAA,GACtCwG,EAA0CjR,oBAAkB,GAAMkR,EAAArS,YAAAoS,EAAA,GAA3DpE,EAAaqE,EAAA,GAAEpE,EAAgBoE,EAAA,GACtCC,EAAgCnR,mBAAc,IAAGoR,EAAAvS,YAAAsS,EAAA,GAA1CrnB,EAAQsnB,EAAA,GAAEwhF,EAAWxhF,EAAA,GAC5Bi/C,EAA4BnB,KAApBF,EAAMqB,EAANrB,OAAQC,EAAOoB,EAAPpB,QAChBl1C,EAAoC/Z,oBAAc,GAAMga,EAAAnb,YAAAkb,EAAA,GAAjDgsE,EAAU/rE,EAAA,GAAEi5E,EAAaj5E,EAAA,GAChCG,EAAsCna,oBAAc,GAAMoa,EAAAvb,YAAAsb,EAAA,GAAnD44E,EAAW34E,EAAA,GAAE44E,EAAc54E,EAAA,GAClCG,EAA4Cva,mBAAc,IAAGwa,EAAA3b,YAAA0b,EAAA,GAAtD24E,EAAc14E,EAAA,GAAE24E,EAAiB34E,EAAA,GACxC3M,GAAmBC,cAAZC,GAA4BlP,YAAAgP,GAAA,GAApB,GACf8M,GAAgC3a,qBAAe4a,GAAA/b,YAAA8b,GAAA,GAAxCi8L,GAAQh8L,GAAA,GAAEi8L,GAAWj8L,GAAA,GAC5BG,GAA+B/a,qBAAkBgb,GAAAnc,YAAAkc,GAAA,GAA1C+xC,GAAQ9xC,GAAA,GACfG,IAD2BH,GAAA,GACGhb,sBAAmBob,GAAAvc,YAAAsc,GAAA,GAA1Cy0C,GAAOx0C,GAAA,GAAEi4E,GAAUj4E,GAAA,GAClB26C,GAAW7d,cAAX6d,OACFD,GAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,GAAO,GAAE,CAACA,KAC1Dx6C,GAAwCvb,oBAAkB,GAAMwb,GAAA3c,YAAA0c,GAAA,GAAzDg9L,GAAY/8L,GAAA,GAAEu1E,GAAev1E,GAAA,GACpCI,GAA8B5b,oBAAkB,GAAM6b,GAAAhd,YAAA+c,GAAA,GAA/C0tE,GAAOztE,GAAA,GAAEwiK,GAAUxiK,GAAA,GAClBptB,GAAQo8D,cAARp8D,IACJi2D,GAAUja,cAEdqgB,GACE9qD,mBAAgC,CAC9BrO,SAAU,CAAC,cACX0J,KAAM,QACNq0B,QAAS,EACTg+D,iBAAiB,EACjB1yF,SAAU,SAACykG,EAAMv1D,GACf,IAAIsuK,EAA+B9uH,GACnC8uH,EAAM9oL,QAAU+vE,EAChB+4G,EAAMtuK,SAAWA,EAEjBuuK,GAAoBD,EACtB,IACAztJ,GAAAlsD,YAAAisD,GAAA,GAbG4+B,GAAgB3+B,GAAA,GAAE0tJ,GAAmB1tJ,GAAA,GAe5Ch2D,qBAAU,WACRk6D,GAAQ,GACR,IAAMyC,EAAOr5C,EAAQzmB,MAAM,KACvB8/D,EAAK,GACPhN,GAAQrzD,KAAK,GAAD7H,OACPiF,GAAG,KAAAjF,OAAIkoE,EAAK,GAAGtnE,WAAW,IAAK,MAAK,KAAAZ,OAAIkoE,EAAK,GAAE,KAAAloE,OAAI+uN,KAGxDG,IAEJ,GAAG,IAEH3jN,qBAAU,WACRk6D,GAAQ,GAiIT,WAE2B0kC,GAAAjnG,MAAC,KAADC,UAAA,CAjI1BunG,EACF,GAAG,CAACqkH,KAEJxjN,qBAAU,WACRy+F,IACF,GAAG,IAEHz+F,qBAAU,WACH66D,IACCnJ,GACiBA,EAAU99C,MAAK,SAACjU,GACjC,GACEA,EAAEmtD,YAAc9zC,GAASxa,QACzBmB,EAAEmtD,YAAc9zC,GAAS+vC,OAEzB,OAAOppD,CAEX,KAEE2pL,IAAW,EAInB,GAAG,CAAC53H,IAEJ,IAAMiyJ,GAAe,eAAAhuN,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAghB,EAAA6sM,EAAA,OAAA/tN,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACQ,OAAxBygB,EAAOgqD,GAAMnb,IAAI,QAAOxvD,EAAAE,KAAA,EACPg7D,KAAkB,KAAD,EAAlCsyJ,EAAQxtN,EAAAmB,KAEZykG,GADW,SAATjlF,GACe6sM,EAEDA,GACjB,wBAAAxtN,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBARoB,OAAAJ,EAAAgC,MAAA,KAAAC,UAAA,KAQnB,SAEa6mG,KAAW,OAAAC,GAAA/mG,MAAC,KAADC,UAAA,UAAA8mG,KA4FzB,OA5FyBA,GAAA9oG,YAAAC,IAAAC,MAA1B,SAAAsC,IAAA,IAAAgqN,EAAAtkH,EAAAwkH,EAAA3jH,EAAAt0B,EAAA20I,EAAAp7J,EAAA,OAAA/tD,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAS2B,OAT3B+B,EAAAhC,KAAA,EAEQynG,EAAiB,GACjBwkH,OAAqBvuN,EACnB4qG,EAAS59B,GAAMnb,IAAI,SACrB,WAEE,OADA04C,IAAW,GACJv9B,GAAMnb,IAAI,QACnB,EACA5sC,GAAS3a,WAAUhG,EAAA/B,KAAA,EAEW+sB,aAAcC,EAAU,UAAW,CACnE1sB,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBqH,WAAkB,OAANsgG,QAAM,IAANA,OAAM,EAANA,EAAQrgG,WACpB5H,kBAAmBsiB,GAASva,UAE7B,KAAD,EATuB,OAAnB4rE,EAAmBhyE,EAAAd,KAAAc,EAAA/B,KAAA,EAWFskE,GACrB0nJ,EAA6B,QAAhBF,EAAGE,SAAa,IAAAF,OAAA,EAAbA,EAAe/jN,WAAa2a,GAAS3a,YACrD,KAAD,EAUA,GAZK2gN,EAAQ3mN,EAAAd,KAIVwpE,GAAMnb,IAAI,UAAYo5J,IACxBsD,EAAgBxkH,EAAQlqF,MACtB,SAAC7X,GAAS,OAAKA,EAAKsC,aAAe6D,OAAO6+D,GAAMnb,IAAI,SAAS,UAI9C7xD,IAAfuvN,GACFC,EAAcl5I,GAGXw3I,GAAS,CAADxpN,EAAA/B,KAAA,gBAAA+B,EAAA/B,KAAA,GACK+sB,aAAc,uBAAwBtvB,GAAW,KAAD,GAAhE+pG,EAAOzlG,EAAAd,KACPuqN,GAAYhkH,GAASzlG,EAAA/B,KAAA,iBAErBwnG,EAAU+jH,GAAS,SAGK,OAAZx3I,QAAY,IAAZA,OAAY,EAAZA,EAAcz2D,MAC1B,SAACyc,GAAU,OACTA,EAAMy8B,YAAc9zC,GAAS+vC,QAC7B14B,EAAMy8B,YAAc9zC,GAASxa,MAAM,MAGrC8qL,IAAW,GAETxrF,EAAQriG,OAAS,IACP,OAAZ4uE,QAAY,IAAZA,KAAchuE,KAAI,SAACsD,GAAY,IAADkkN,EACxBzwJ,EAAa,QAAVywJ,EAAG/lH,SAAO,IAAA+lH,OAAA,EAAPA,EAASjwM,MACjB,SAACm9F,GAAS,OAAKA,EAAK1yG,aAAesB,EAAEmtD,SAAS,IAG9CntD,EAAEmtD,UADAsG,EAC8B,OAAlBp6C,GAASuzC,KAAmB,OAAH6G,QAAG,IAAHA,OAAG,EAAHA,EAAKrK,OAAY,OAAHqK,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAE5C,EAElB,IACY,OAAZ6rE,QAAY,IAAZA,KAAchuE,KAAI,SAACsD,GAAY,IAADmkN,EACxB1wJ,EAAa,QAAV0wJ,EAAGhmH,SAAO,IAAAgmH,OAAA,EAAPA,EAASlwM,MACjB,SAACm9F,GAAS,OAAKA,EAAK1yG,aAAesB,EAAEitD,UAAU,IAG/CjtD,EAAEitD,WADAwG,EAC+B,OAAlBp6C,GAASuzC,KAAmB,OAAH6G,QAAG,IAAHA,OAAG,EAAHA,EAAKrK,OAAY,OAAHqK,QAAG,IAAHA,OAAG,EAAHA,EAAK50D,OAE5C,EAEnB,KAGIolD,EAAcymB,EAAa3+D,QAAO,SAAC1P,EAAY6Q,GACnD,IAAMsD,EAASpZ,KAAKC,UAAUgF,GAC9B,OACE6Q,IACAw9D,EAAav+B,WAAU,SAACgY,GACtB,OAAO/sD,KAAKC,UAAU8sD,KAAS3zC,CACjC,GAEJ,IACAmuF,GAAW0gH,GACXhyJ,EAAY9wD,YAAK0nD,IACjBq1C,OAAiBllG,GACjBsvN,EAAQ,eACRnpJ,GAAQ,GAAO7hE,EAAA/B,KAAA,iBAAA+B,EAAAhC,KAAA,GAAAgC,EAAA+hB,GAAA/hB,EAAA,SAEfO,QAAQC,MAAM,gBAAeR,EAAA+hB,IAC7B8/C,GAAQ,GAAO,yBAAA7hE,EAAAZ,OAAA,GAAAW,EAAA,oBAElBT,MAAA,KAAAC,UAAA,CAE2B,SAAAgnG,KAc3B,OAd2BA,GAAAhpG,YAAAC,IAAAC,MAA5B,SAAA2C,IAAA,IAAAomG,EAAA90C,EAAA+0C,EAAAC,EAAA,OAAAlpG,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,OASG,OARKuoG,EAAQ7lF,GAAS3a,WACjB0rD,EAAe/wC,GAAS+wC,aAExB+0C,EAAY,CAChBhyC,UAAW+xC,EAAMvgG,WACjByrD,aAAcA,EACdkC,SAAUjzC,GAASizC,SACnBxtD,MAAOua,GAASva,OACjB/F,EAAApC,KAAA,EAE0B+lF,GAA4ByiB,GAAW,KAAD,EAA7DC,EAAcrmG,EAAAnB,KAElBsmG,EAAYkB,GAAgB,wBAAArmG,EAAAjB,OAAA,GAAAgB,EAAA,MAC7Bd,MAAA,KAAAC,UAAA,CAEgC,SAAAonG,KAGhC,OAHgCA,GAAAppG,YAAAC,IAAAC,MAAjC,SAAAkD,EAAkCimG,GAAa,IAAAC,EAAA,OAAArpG,IAAAM,MAAA,SAAA8C,GAAA,cAAAA,EAAA5C,KAAA4C,EAAA3C,MAAA,cAAA2C,EAAA3C,KAAA,EACrB0mG,aAA+BiC,GAAU,KAAD,EAA5DC,EAAWjmG,EAAA1B,KACf6mG,EAAkBc,GAAa,wBAAAjmG,EAAAxB,OAAA,GAAAuB,EAAA,MAChCrB,MAAA,KAAAC,UAAA,CAoED,SAAS+zF,KACP5zE,GAAkBD,GAClB2mF,KACAP,GAAc,EAChB,CAEA,OAAIjkC,EACKzmE,cAAAC,WAAA,IAGLG,eAACyrG,IAAM,CAAA3rG,SAAA,CACLF,cAAC8rG,IAAK,CAACC,OAAK,EAAC5iC,KAAI,GAAAloE,OAAKiF,GAAG,wCAAuChG,SAC9DF,cAACsoG,GAAgB,MAEnBtoG,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAAA,OAAAE,SACEE,eAAA,OAAKY,UAAU,iBAAiBH,MAAO,CAAEuuF,UAAW,SAAUlvF,SAAA,CAC5DE,eAAA,OAAKY,UAAU,qBAAoBd,SAAA,CACjCE,eAAA,OAAKY,UAAU,mBAAkBd,SAAA,CAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,SAElD1tF,eAAA,OACEY,UAAU,uBACVH,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAAkBx0C,SAAA,CAE5DF,cAAA,KAAGgB,UAAU,aAAYd,SACtBq4E,EAAKt2E,QAAQ,UAAW,IAAM,IAAM6sF,EAAa,MAEtC,yBAAbvqB,IACCvkE,cAACsuE,GAAgB,CACfE,cAAe,gBACfpmB,cAAe,CACbroC,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPuR,OAAQ,8BAEVoqC,aAAc,WACZyvC,IACF,UAKRn4F,cAACg6E,GAAY,CACX53C,UAAWm2C,EACX96C,WAAYygC,EACZ4iC,cAAe8H,EACfjqB,cAAeA,EACfjmC,mBApHW,SAACt/B,GAC1B,IAAM4yF,EAAkB,CACtB,CACExqG,MAAO,OACPoV,KAAM,eACNsiC,QAAS,YAZd,SAEgCh1C,GAAAsnG,GAAArnG,MAAC,KAADC,UAAA,CAWzB6nG,CAAmB7yF,EAAO41E,kBAC1BzqE,GAAiB,GACjBkmF,GAAe,GACfC,GAAc,EAChB,GAEF,CACElpG,MAAO,SACPoV,KAAM,cACNsiC,QAAS,WACPryB,YAAc,CACZ3R,QAAS,qCACT4R,OAAQ,SACRlQ,KAAM,0CACNmQ,gBAAiB,OACjBiD,gBACE,gIACFnC,OAAO,WAAD,IAAAqkF,EAAA9pG,YAAAC,IAAAC,MAAE,SAAAiC,IAAA,OAAAlC,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACYqpG,aAAa/yF,EAAO41E,kBAAkB,KAAD,EAA9CxqF,EAAAT,OAEP2iE,GAAQ,GACRukC,MACD,wBAAAzmG,EAAAP,OAAA,GAAAM,EAAA,KACF,yBAAA2nG,EAAA/nG,MAAA,KAAAC,UAAA,EANM,IAQX,IAGAgoG,EAAa5mF,GAKjB,OAJI+nD,GAAMnb,IAAI,WACZg6C,EAAQiiH,GAASjuM,MAAK,SAACjU,GAAM,OAAKA,EAAEtB,YAAc0iE,GAAMnb,IAAI,QAAQ,KAGlEiV,KAAYkG,GAAMnb,IAAI,UAYxBh5C,EAAOkgD,YAAc8yC,EAAM72C,QAC3Bn8C,EAAOkgD,YAAc8yC,EAAMphG,OAXzBhL,cAACmyC,IAAMgH,SAAQ,CAAAj5C,SACbF,cAACgkF,KACC,CACAhjF,UAAU,qBACVyvB,MAAOu7E,EACP9nB,aAAa,4BAId,CAcT,EAqDgBid,iBAAkBA,GAClBJ,QAAS15B,IAAW05B,GACpBC,eAAgB,SAAC5nF,GACf+iD,GAAQrzD,KAAK,GAAD7H,OACPiF,GAAG,KAAAjF,OAAImY,EAAOqmE,WAAW59E,WAAW,IAAK,MAAK,KAAAZ,OAC/CmY,EAAO41E,iBAAgB,KAAA/tF,OACrB+uN,IAER,EACAlpI,UAAoB,gBAATvO,OAiBfv4E,cAACgxF,GAAY,CACX9pE,QAAS5C,EACT6zE,aAAcA,GACdd,kBAAmB91F,EACnB22F,cAAeuS,EACf4B,WAAY7B,EACZxS,UAAWwF,EACXvH,oBAAqB0U,EACrBtS,mBAAoBuS,EACpBxiC,aAAc1B,aA4S9B,E,oBCzrBa6pJ,GAAe,eAAAjsN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOywK,GAAkB,IAAAtyK,EAAA,OAAAL,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EAChCK,MAAM,gCAAiC,CAC3DC,OAAQ,OACRE,KAAM0xK,IAELvxK,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GAEL,OADAwB,QAAQe,IAAI,WAAYvC,GACjBA,CACT,IACCC,OAAM,SAACwB,GACND,QAAQC,MAAM,SAAUA,EAC1B,IAAG,KAAD,EAXS,OAAP3C,EAAO8B,EAAAT,KAAAS,EAAAR,OAAA,SAaNtB,GAAO,wBAAA8B,EAAAP,OAAA,GAAAM,EAAA,KACf,gBAf2BE,GAAA,OAAAH,EAAAH,MAAA,KAAAC,UAAA,KAiBfosN,GAAe,eAAA7rN,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOiB,GAA2B,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OAE5B,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAMoC,EAAA/B,KAAA,EACbK,MAAM,gCAAiC,CAC3DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IAAG,KAAD,EAVS,OAAPlB,EAAOmC,EAAAd,KAAAc,EAAAb,OAAA,SAYNtB,GAAO,wBAAAmC,EAAAZ,OAAA,GAAAW,EAAA,KACf,gBAhB2BE,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KCqZbqsN,GAtZS,WACtB,IAAMhsM,EAAQ4D,iBAAY,MAC1B7Q,EAAgCC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAA1CipC,EAAQ/oC,EAAA,GAAEg5M,EAAWh5M,EAAA,GAC5BgJ,EAAsCjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GAAvDiwM,EAAWhwM,EAAA,GAAEiwM,EAAcjwM,EAAA,GAClCG,EAAgDrJ,mBAAkB,CAChEo5M,WAAY,EACZj2K,SAAU,KACV75B,EAAAzK,YAAAwK,EAAA,GAHuBovM,GAAFnvM,EAAA,GAAqBA,EAAA,IAI5CgB,EAAgDtK,mBAA4B,CAC1Eq5M,mBAAoB9nN,KAAO,IAAI2R,MAAQ/R,OAAO,cAAgB,YAC9DmoN,iBAAkB/nN,KAAO,IAAI2R,MAAQ/R,OAAO,cAAgB,YAC5DooN,OAAQ,CACNH,WAAY,EACZj2K,SAAU,MAEZ54B,EAAA1L,YAAAyL,EAAA,GAPKkvM,EAAgBjvM,EAAA,GAAEkvM,EAAmBlvM,EAAA,GAQ5CC,EAA0CxK,oBAAkB,GAAMyK,EAAA5L,YAAA2L,EAAA,GAA3Dy+B,EAAax+B,EAAA,GAAEy+B,EAAgBz+B,EAAA,GACtCwG,EAAwCjR,qBAAoBkR,EAAArS,YAAAoS,EAAA,GAArDyoM,EAAYxoM,EAAA,GAAEyoM,EAAezoM,EAAA,GACpCC,EAAkCnR,oBAAkB,GAAMoR,EAAAvS,YAAAsS,EAAA,GAAnDyoM,EAASxoM,EAAA,GAAEyoM,EAAYzoM,EAAA,GAC9B2I,EAAkC/Z,oBAAkB,GAAMga,EAAAnb,YAAAkb,EAAA,GAAnD+/L,EAAS9/L,EAAA,GAAE+/L,EAAY//L,EAAA,GAC9BG,EAA4Bna,mBAAiB,IAAGoa,EAAAvb,YAAAsb,EAAA,GAAzC7X,EAAM8X,EAAA,GAAE7X,EAAS6X,EAAA,GAChBnb,EAAgBkH,cAAhBlH,YAERg9C,EAOIphB,YAA2B,CAC7B/uB,KAAM,MACNowC,eAAgB,WAChBC,kBAAkB,EAClB8K,cAAeuyJ,IAVfrhN,EAAO8jD,EAAP9jD,QACazO,EAAMuyD,EAAnBthD,UAAajR,OAGbujC,GAFQgvB,EAARsL,SACStL,EAATjzC,UACYizC,EAAZhvB,cAaI+sL,GAZC/9J,EAAL7uB,MAYkB,eAAA1iC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EACrB0uN,EACAS,GAA2B,IAAApmN,EAAA9C,EAAA,OAAAnG,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAK1B,OAHD8tN,GAAe,GACXc,IACFT,EAAiBD,OAASU,GAC3B9uN,EAAAE,KAAA,EACoC0tN,GAAgBS,GAAkB,KAAD,EAC/D,QADD3lN,EAAsB1I,EAAAmB,YACrB,IAAHuH,KAAK4O,MAAqB,OAAb5O,EAAI4O,MAGf1R,EAAiB,CACnBqoN,WAAYvlN,EAAI0lN,OAAOH,WACvBj2K,SAAUtvC,EAAI0lN,OAAOp2K,SACrB+2K,UAAWrmN,EAAI0lN,OAAOW,UACtBC,YAAatmN,EAAI0lN,OAAOY,aAG1B1B,EAAoB1nN,GAEpBkoN,EAAYntN,KAAKwM,MAAMzE,EAAI4O,SAE3Bw2M,EAAYntN,KAAKwM,MAAMzE,EAAI4O,OAC3BxD,EAAY,CACV1D,YACE,4EACAhK,KAAOioN,EAAiBH,oBAAoBloN,OAAO,cACnD,uBACAI,KAAOioN,EAAiBF,kBAAkBnoN,OAAO,cACjD,sEACFsM,QAAQ,QACRzT,KAAM,WAGVmvN,GAAe,GAAO,wBAAAhuN,EAAAqB,OAAA,GAAA1B,EAAA,KACvB,gBApCmB2B,EAAAO,GAAA,OAAAtC,EAAAgC,MAAA,KAAAC,UAAA,MAsCdytN,EAAoB,eAAAvtN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO0sN,GAAmC,IAAA3lN,EAAA,OAAAjJ,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAClD,OAAnB0uN,GAAa,GAAMhtN,EAAA1B,KAAA,EACkB0tN,GAAgBS,GAAkB,KAAD,EAC/D,QADD3lN,EAAsB9G,EAAAT,YACrB,IAAHuH,KAAK4O,MAAqB,OAAb5O,EAAI4O,KACnBqqE,GAAY,aAAchhF,KAAKwM,MAAMzE,EAAI4O,OAEzCxD,EAAY,CACV1D,YACE,4EACAi+M,EAAiBH,mBACjB,uBACAG,EAAiBF,iBACjB,sEACF77M,QAAQ,QACRzT,KAAM,UAGV+vN,GAAa,GAAO,wBAAAhtN,EAAAP,OAAA,GAAAM,EAAA,KACrB,gBAlByBO,GAAA,OAAAR,EAAAH,MAAA,KAAAC,UAAA,KAoBpBqlG,EAAgB,SAACrnF,EAAcsnF,GACnC,IAAMC,EAAavnF,EAAQwnF,UACvB,qBACA,mBACE5oG,EAAS,GAAAC,OAAMmhB,EAAQphB,UAAS,0BAChC6oG,EAAc,GAAA5oG,OAAMmhB,EAAQynF,eAAc,SAChD,OACEzpG,eAAA,OAAKY,UAAWA,EAAUd,SAAA,CACxBE,eAAA,UACEY,UAAWohB,EAAQ0nF,iBACnBl0F,QAASwM,EAAQ2nF,eAAe7pG,SAAA,CAEhCF,cAAA,QAAMgB,UAAW2oG,IACjB3pG,cAACgqG,KAAM,OAEThqG,cAAA,QAAMgB,UAAW6oG,EAAe3pG,SAAEwpG,MAGxC,EAEM/kE,EAAW,SAAC/gC,GAChBstN,EAAoBttN,GACL,QAAXmW,EACF03M,EAAe7tN,GAEfiuN,EAAqBjuN,EAEzB,EAEMq0D,GAAsB,SAAC1mD,GAC3B,MAAa,uBAATA,EAEApQ,EAAO2vN,oBACL9wN,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAO2vN,mBAAmB57M,UAKxD/T,EAAO4vN,kBACL/wN,cAAA,SAAOgB,UAAU,UAASd,SAAEiB,EAAO4vN,iBAAiB77M,SAI5D,EA2IM48M,GAAY,eAAAvsN,EAAAnD,YAAAC,IAAAC,MAAG,SAAAsC,EAAOuH,GAAM,IAAAka,EAAA,OAAAhkB,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,OACD,eAA3BqJ,EAAEuG,OAAOoT,MAAM,GAAGrkB,QACd4kB,EAAW,IAAIE,UACZC,OAAO,OAAQra,EAAEuG,OAAOoT,MAAM,IACvCsrM,EAAgB/qM,IACjB,wBAAAxhB,EAAAZ,OAAA,GAAAW,EAAA,KACF,gBANiBmB,GAAA,OAAAR,EAAApB,MAAA,KAAAC,UAAA,KAQlB,OACEpE,cAAA,OAAKgB,UAAU,iBAAgBd,SAC7BE,eAAA,OAAKY,UAAU,qBAAqBH,MAAO,CAAEkf,OAAQ,QAAS7f,SAAA,CAC5DF,cAAC8pB,KAAK,CAAC1U,IAAKqP,EAAOy1C,WAAY,SAC/Bl6D,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAAA,OAAKgB,UAAU,mBAAkBd,SAC/BF,cAACoqF,GAAoB,CAAC0D,yBAA0B,WAGpD1tF,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAACi8D,KAAK,CACJiuC,eAAgB,SAACrqF,GAAW,OAAK4pF,EAAc5pF,EAAQ,SAAS,EAChEsqF,YAAU,EAAAjqG,SA3JhBF,cAAA,QAAM2kC,SAAUD,EAAaC,GAAUzkC,SACrCE,eAAA,OAAKS,MAAO,CAAE6L,QAAS,OAAQ+nC,cAAe,SAAUga,OAAQ,IAAKvuD,SAAA,CACnEE,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CF,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACuM,KAAoB,CACnBU,gBAAiB,gBACjBE,aAAc,6FACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACixC,KAAM,EAAEpxC,SAAA,CACXF,cAAC+R,IAAU,CACTR,KAAK,qBACL3B,QAASA,EACToC,MAAO,CAAEC,SAAU,mCACnBC,OAAQ,SAAAvN,GAAA,IAAGkL,EAAKlL,EAALkL,MAAOsqD,EAAUx1D,EAAVw1D,WAAU,OAC1Bn6D,cAACwa,KAAU,CACT1H,KAAM,QACN/L,OAAQozD,EAAWE,QAAU,aAAU95D,EACvCiI,MAAOqH,EAAMrH,MAAQQ,KAAO6G,EAAMrH,OAAS,KAC3CI,OAAQ,aACR6J,SAAU,SAACjK,GACT,IAAIoZ,EAAW,GAEbA,EADEpZ,EACIA,EAAMI,OAAO,cAAgB,YAE7B,KAERiH,EAAM4C,SAASmP,EACjB,EACAyiF,YAAU,GACV,IAGLpsC,GAAoB,yBAEvBj4D,cAACK,KAAG,CAACixC,KAAM,EAAEpxC,SACXF,cAACuM,KAAoB,CACnBU,gBAAiB,cACjBE,aAAc,yGACdV,UAAQ,MAGZrM,eAACC,KAAG,CAACixC,KAAM,EAAEpxC,SAAA,CACXF,cAAC+R,IAAU,CACTR,KAAK,mBACL3B,QAASA,EACToC,MAAO,CAAEC,SAAU,iCACnBC,OAAQ,SAAAlN,GAAA,IAAG6K,EAAK7K,EAAL6K,MAAOsqD,EAAUn1D,EAAVm1D,WAAU,OAC1Bn6D,cAACwa,KAAU,CACT1H,KAAM,QACN/L,OAAQozD,EAAWE,QAAU,aAAU95D,EACvCiI,MAAOqH,EAAMrH,MAAQQ,KAAO6G,EAAMrH,OAAS,KAC3CI,OAAQ,aACR6J,SAAU,SAACjK,GACT,IAAIoZ,EAAW,KAEbA,EADEpZ,EACIA,EAAMI,OAAO,cAAgB,YAE7B,KAERiH,EAAM4C,SAASmP,EACjB,EACAyiF,YAAU,GACV,IAGLpsC,GAAoB,0BAGzB73D,eAACuxC,KAAG,CAACkvB,OAAQ,CAAElgE,GAAI,EAAGL,GAAI,GAAIG,GAAI,GAAIqgE,GAAI,IAAK5gE,SAAA,CAC7CE,eAACC,KAAG,CAAAH,SAAA,CACD,IACDF,cAACwnB,IAAM,CACLhmB,MAAM,SAENge,QAASmxM,EACT/6M,QAAS,WACPoE,EAAU,MACZ,EACAvY,KAAM,SACNZ,MAAO,CACLkf,OAAQ,OACRyK,gBAAiB,UACjBzd,MAAO,UACPH,SAAU,OACV0R,OAAQ,mCAIdle,eAACC,KAAG,CAAAH,SAAA,CACD,IACDF,cAACwnB,IAAM,CACLhmB,MAAM,cACNoV,KAAK,aACLnV,KAAM,SACNmU,QAAS,WACP+qC,GAAiB,EACnB,EACA9/C,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,YAIpBjX,eAACC,KAAG,CAAAH,SAAA,CACD,IACDF,cAACwnB,IAAM,CACL5R,QAAS,WACPoE,EAAU,SACZ,EACAwF,QAAS+xM,EACT36M,KAAK,mBACLpV,MAAM,cACNC,KAAM,SACNZ,MAAO,CACLkf,OAAQ,OACRikB,WAAY,UACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,sBAkCtBrX,cAACi8D,KAAK,CACJiuC,eAAgB,SAACrqF,GAAW,OAC1B4pF,EAAc5pF,EAAQ,aAAa,EAErC7e,UAAW,cACXmpG,YAAU,EAAAjqG,SAEVF,cAAAC,WAAA,CAAAC,SACEF,cAACg6E,GAAY,CACX53C,UAAW,aACX3E,WAAYgjB,EACZsgD,SAAS,EACTt8E,MAAOA,EACPqiE,WAAW,EACXtnE,QAASmxM,EACTxvH,iBAAkB,CAMhBgE,iBAAiB,EACjB4sH,UAAW,SAACz2L,EAAe2oE,GAEzB,OADA7+F,QAAQe,IAAI,eAAgBm1B,EAAO2oE,GAC5B7jG,eAAA,KAAAF,SAAA,CAAG,iBAAeo7B,IAC3B,GAQF8lE,aA7SO,SAAC4wH,GACpBP,EAAeR,EAAkBe,EACnC,WAgTMhyN,cAACgnB,IAAM,CACLE,QAASw5B,EACTv5B,YAAa,CAAC,EACdtmB,MAAO,CAAE8U,MAAO,OAAQ0B,aAAc,QACtCyP,OAAQ,cACRM,OAAK,EACLpmB,UAAU,UACVqmB,OAAQ,WACNs5B,GAAiB,EACnB,EACAr5B,WAAW,EACXL,aAAW,EAAA/mB,SAEXF,cAAA,OAAKgB,UAAU,GAAEd,SACfE,eAAA,OAAKY,UAAU,cAAad,SAAA,CAC1BF,cAAC+U,KAAK0J,MAAK,CACTkJ,UAAU,WACV3mB,UAAU,4BAA2Bd,SAErCF,cAAC+U,KAAK6S,QAAO,CACXnmB,KAAK,OACLomB,OAAQ,aACRpV,SAAUq/M,OAGd9xN,cAACwnB,IAAM,CACLhmB,MAAM,SACNoV,KAAK,eACLnV,KAAK,SACL+d,QAAS6xM,EACTz7M,QAAOxT,YAAAC,IAAAC,MAAE,SAAA2C,IAAA,OAAA5C,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,WACHquN,EAAa,CAADjsN,EAAApC,KAAA,QACK,OAAnBwuN,GAAa,GAAMpsN,EAAApC,KAAA,EACDytN,GAAgBY,GAAc,KAAD,EAAtCjsN,EAAAnB,MAEP2S,EAAY,CACV1D,YAAY,uBACZkC,QAAQ,UACRzT,KAAM,YAGV6vN,GAAa,GACb3wK,GAAiB,GAAO,wBAAAz7C,EAAAjB,OAAA,GAAAgB,EAAA,KAG5BpE,MAAO,CACLkf,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,MACd1B,MAAO,kBASzB,E,oBCnbMs8M,GAAgB,SAACxyN,GACrB,OAAKA,EAAMyyN,IAGTlyN,cAACmyN,GAAS,CAACx/M,GAAG,iBAAgBzS,SAC5BF,cAACoyN,GAAM,CACLz/M,GAAG,eACHkC,MAAM,eACN6wC,IAAG,sDAAAzkD,OAAwDxB,EAAMyyN,KACjEvlH,YAAY,QARK,IAYzB,EAEeslH,MAETI,GACC,CAAC,MAAO,sBADTA,GAEE,CACJ,OACA,0EACA,4BALEA,GAOC,CAAC,MAAO,4BAPTA,GAQE,CACJ,OACA,qEAVEA,GAYC,CAAC,MAAO,iCAZTA,GAaE,CACJ,OACA,6EAIJJ,GAAcK,UAAS,GAAArxN,OAAAyH,YAClB2pN,IAAe3pN,YACf2pN,IAAgB3pN,YAChB2pN,IAAe3pN,YACf2pN,IAAgB3pN,YAChB2pN,IAAe3pN,YACf2pN,KAELJ,GAAcM,OAAS,EAGvB,IAAMJ,GAAYK,KAAO7yJ,IAAG8yJ,QAAAC,aAAA,0BAGtBN,GAASI,KAAOG,OAAMC,QAAAF,aAAA,yD,cC5CrB,SAASG,GAAoBpzN,GAClC,IAAA+X,EAA8BC,mBAAyB,IAAGC,EAAApB,YAAAkB,EAAA,GAAnD6hB,EAAO3hB,EAAA,GAAEo7M,EAAUp7M,EAAA,GACpBq7M,EAAShwN,OAAeiwN,SAqE9B,OApEAxmN,qBAAU,WACUumN,EAAME,YAAYxzN,EAAMimD,KAC9BwtK,QAAQzvN,MAAK,SAAU0vN,GAEjC,IADA,IAAIC,EAAqB,GAAG7rN,EAAA,SAAAC,GAE1B4rN,EAAGtqN,KACD9I,cAAA,OAAuBgB,UAAU,OAAMd,SACrCF,cAAA,UAEEoV,IAAK,SAACi+M,GAAI,OAStB,SACEC,EACAH,EACAI,GAEA,GAAc,MAAVD,EACF,OAGFH,EAAIK,QAAQD,GAAS9vN,MACnB,SAACyzG,GACC,IAAMgrD,EAAQ,IACVuxD,EAAWv8G,EAAKw8G,YAAY,CAAExxD,MAAe,EAARA,IAGnCyxD,EAAc5wN,OAAO6wN,kBAAoB,EAC/CN,EAAO39M,MAAQi0B,KAAKiqL,MAAMJ,EAAS99M,MAAQg+M,GAC3CL,EAAOvzM,OAAS6pB,KAAKiqL,MAAMJ,EAAS1zM,OAAS4zM,GAC7CL,EAAOzyN,MAAM8U,MAAQi0B,KAAKiqL,MAAMJ,EAAS99M,MAAQ,GAAK,KACtD29M,EAAOzyN,MAAMkf,OAAS6pB,KAAKiqL,MAAMJ,EAAS1zM,OAAS,GAAK,KAExD,IAKI+zM,EAAgB,CAClBC,OAAQ,QACRC,cAPYV,EAAO7vH,WAAW,MAQ9Bs/D,UALgB,IAAhB4wD,EAAoB,CAACA,EAAa,EAAG,EAAGA,EAAa,EAAG,GAAK,KAM7DF,SAAUA,GAEKv8G,EAAKhlG,OAAO4hN,GAClBZ,QAAQzvN,MACjB,WAAO,IACP,SAACwwN,GACC7uN,QAAQC,MAAM4uN,EAChB,GAEJ,IACA,SAACA,GACC7uN,QAAQC,MAAM4uN,EAChB,GAEJ,CArD2BC,CAAWb,EAAMF,EAAK3rN,EAAE,EACvCq/D,KAAK,gBAFA,eAAiBr/D,IAFhB,QAAUA,GAQxB,EAVSA,EAAI,EAAGA,GAAK2rN,EAAIgB,SAAU3sN,IAAGD,EAAAC,GAWtCsrN,EAAWM,EACb,GACF,GAAG,IAoDDpzN,cAAAC,WAAA,CAAAC,SACEF,cAAA,OAAKgB,UAAU,wBAAwBskG,cAN3C,SAA4Bn5F,GAC1BA,EAAEoJ,gBACJ,EAI6ErV,SACtEm5B,KAIT,CCjFA,IA2Je+6L,GA3J4B,SAAHjyN,GAAWi9F,aAAAj9F,GACjD,IAAAqV,EAAsCC,qBAAkBC,EAAApB,YAAAkB,EAAA,GAAjD68M,EAAW38M,EAAA,GAAE48M,EAAc58M,EAAA,GAClCgJ,EAA8BjJ,qBAAkCkJ,EAAArK,YAAAoK,EAAA,GAAzD6zM,EAAO5zM,EAAA,GAAE6zM,EAAU7zM,EAAA,GAClB6sD,EAAW7d,cAAX6d,OACFD,EAAQxd,mBAAQ,kBAAM,IAAI5/B,gBAAgBq9C,EAAO,GAAE,CAACA,IACtDriD,EAAgB5nB,KAAKwM,MAAM/M,aAAaC,QAAQ,aAAe,IAC7DwxN,EAAY,CAChB,MACA,OACA,OACA,QACA,MACA,MACA,MACA,MACA,cAEIC,EAAU,CAAC,MAAO,OAClBC,EAAS,CAAC,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,QAE9D3rM,EADYzlB,KAAKwM,MAAMhN,OAAOC,aAAaC,QAAQ,aAAe,IACnC8hB,kBAErCvY,qBAAU,WACRsrM,GACF,GAAG,CAACvqI,IACJ/gE,qBAAU,WASR,GACC,IAEH,IAAMsrM,EAAU,eAAAxzM,EAAAlC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAs2L,EAAAC,EAAAtzG,EAAAovI,EAAArrM,EAAAi5B,EAAAh5B,EAAA5E,EAAA,OAAAviB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACb+1L,EAA0B,KAC1BC,EAAyB,KACzBtzG,EAA0B,KAC1BovI,EAAqB,KACrBrrM,EAAWxmB,OAAO2mB,SAASH,SAC3Bi5B,EAAWr3B,EAAcnG,QACzBwE,EAASzmB,OAAO2mB,SAASE,KACzBhF,EAAO,GACP2oD,EAAMnb,IAAI,cACZymI,EAAWtrH,EAAMnb,IAAI,aAEnBmb,EAAMnb,IAAI,aACZ0mI,EAAUvrH,EAAMnb,IAAI,YAElBmb,EAAMnb,IAAI,UACZozB,EAAWjY,EAAMnb,IAAI,SAEnBmb,EAAMnb,IAAI,SACZwiK,EAAMrnJ,EAAMnb,IAAI,QAElBhtD,QAAQe,IAAI,SAAU,CAAEyuN,QAEpB/7B,GAAYC,GAAWtzG,GAAYovI,IACrChwM,EAAO,GACHoE,EACFpE,EAAI,GAAA3jB,OAAM+nB,EAAkB,KAAA/nB,OAAIukF,EAAQ,KAAAvkF,OAAI2zN,IAGzCprM,IAEDg5B,EAAWr3B,EAAcnG,QAAU,IAAMwE,GAE3C5E,EAAI,GAAA3jB,OAAMsoB,EAAQ,MAAAtoB,OAAKuhD,EAAQ,KAAAvhD,OAAI43L,EAAQ,KAAA53L,OAAI63L,EAAO,KAAA73L,OAAIukF,EAAQ,KAAAvkF,OAAI2zN,IAExExvN,QAAQe,IAAI,CAAEye,SACdiwM,EAAcD,EAAIjqN,eAClB2pN,EAAe1vM,IAChB,yBAAAhiB,EAAAqB,OAAA,GAAA1B,EAAA,KACF,kBAvCe,OAAA+B,EAAAH,MAAA,KAAAC,UAAA,KAwCVywN,EAAgB,SAACD,GACrB,IAAME,EAAaL,EAAUhsN,SAASmsN,GAChCG,EAAWL,EAAQjsN,SAASmsN,GAC5BI,EAAUL,EAAOlsN,SAASmsN,GAE5BE,EACFN,EAAW,SACFO,EACTP,EAAW,OACFQ,GACTR,EAAW,MAEbpvN,QAAQe,IAAI,CAAE2uN,aAAYC,WAAUC,WACtC,EACA,OACEh1N,cAAA,OACEgB,UAAU,yBACVH,MAAO,CAAEkf,OAAQ,sBAAuB7f,SAExCF,cAAA,OAAKgB,UAAU,oBAAmBd,SAChCE,eAAA,OACEY,UAAU,yBACVH,MAAO,CAAE8U,MAAO,OAAQoK,OAAQ,OAAQ3W,SAAU,YAAalJ,SAAA,CAG9Dm0N,GAA0C,QAApB,OAAPE,QAAO,IAAPA,OAAO,EAAPA,EAAS5pN,gBACvBvK,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OACEa,MAAO,CACL8U,MAAO,oBACPoK,OAAQ,qBACR3W,SAAU,WACVylD,IAAK,EACLmqD,KAAM,KAGVh5G,cAACiyN,GAAa,CAACC,IAAKmC,IACpBr0N,cAAA,OACEa,MAAO,CACL8U,MAAO,MACPoK,OAAQ,OACR3W,SAAU,WACV2jN,OAAQ,EACRn+J,MAAO,QAKdylK,GAA2B,QAAZE,GACdv0N,cAAAC,WAAA,CAAAC,SACEF,cAAC6yN,GAAmB,CAACntK,IAAK2uK,MAG7BA,GAA2B,UAAZE,GACdn0N,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,OACEgB,UAAU,YACVH,MAAO,CACL8U,MAAO,OACPvM,SAAU,WACVylD,IAAK,EACLmqD,KAAM,KAIVh5G,cAAA,OACE0lD,IAAK2uK,EACL1uK,IAAI,gBACJ9kD,MAAO,CAAE8U,MAAO,OAAQoK,OAAQ,OAAQk1M,UAAW,sBAQnE,ECjKe,I,OAAA,IAA0B,qCC2B1BC,OAnBf,SAA2Bz1N,GACzB,IAAM08D,EAAUja,cAChB,OACEliD,cAAA,OAAKgB,UAAU,0BAAyBd,SACtCE,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAAA,OAAK0lD,IAAKjmD,EAAMgqE,SAAU9zD,MAAO,IAAKgwC,IAAI,QAC1C3lD,cAAA,OAAK0lD,IAAK5nC,GAASnI,MAAO,IAAKgwC,IAAI,QACnC3lD,cAAA,UACEgB,UAAU,6BACVS,KAAK,SACLmU,QAAS,kBAAMumD,EAAQrzD,KAAK,WAAW,EAAC5I,SACzC,uBAMT,ECCei1N,GAtBO,SAAC11N,GACrB,IAAA+X,EAAwBC,mBACtBlU,KAAKwM,MAAM/M,aAAaC,QAAQ,yBAA2B,OADtDmyN,EAEN9+M,YAAAkB,EAAA,GAFmB,GAGpB,OACExX,cAAA,OAAKgB,UAAU,uBAAsBd,SACnCF,cAAA,OAAKgB,UAAU,qBAAoBd,SACjCE,eAAA,OAAKY,UAAU,uBAAsBd,SAAA,CACnCF,cAAA,KAAGgB,UAAU,aAAYd,SAAC,mBACzBk1N,EAAcppK,SAASnjD,KAAI,SAAC2tC,GAAM,OACjCx2C,cAAA,KAAGgB,UAAU,iBAAgBd,SAAEs2C,GAAM,UAUjD,ECjBMhe,I,OAAO,CACX68L,OAAQ,SACRC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,OA6BN,SAASC,GAAaltN,EAAe4Q,EAAaC,EAAe+I,GAC/D,IAAIR,EAAMpZ,EAAQA,EAAMqS,iBAAmB,IACvC86M,EAAO,KACP5oN,EAAQ,UACZ,GAAmB,aAAfqV,EAAQ5hB,IAAoB,CAC9B,IAAIsH,EAASsa,EAAQta,OACjB8tN,EAAQx8M,EAAO,GAADnY,OAAI6G,EAAM,WACxB+tN,EAASz8M,EAAO,GAADnY,OAAI6G,EAAM,eAC7B,GAAI8tN,GAASC,EAAQ,CACnB,IAAIC,EAAaD,EAASD,EACtBE,EAAa,GACf/oN,EAAQ,OACC+oN,EAAa,KACtB/oN,EAAQ,OAEZ,CACF,CACA,OAAQqM,EAAO3X,MACb,KAAK+2B,GAAK68L,OACRM,EAAO31N,cAAA,KAAGa,MAAO,CAAEkM,MAAOA,GAAQ7M,SAAE0hB,IACpC,MACF,KAAK4W,GAAK88L,GACRK,EAAO31N,cAAA,KAAAE,SAAI0hB,IACX,MACF,KAAK4W,GAAKg9L,GACRG,EAAO31N,cAAA,KAAGa,MAAO,CAAEkM,MAAO,QAAS7M,SAAE0hB,IACrC,MACF,QACE+zM,EAAO/zM,EAEX,OAAO5hB,cAAA,OAAKa,MAAO,CAAEif,UAAW,QAASnK,MAAO,QAASzV,SAAEy1N,GAC7D,CAEA,SAASI,KAA4C,IAA5BjuN,EAAM1D,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,GAAAA,UAAA,GAAG,GAAIge,EAAOhe,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,GAAAA,UAAA,GAAG,CAAC,EA8C/C,MA7CuC,CAAAmO,wBAAA,CAEnCsC,MAAO,WACP4E,UAAU,GAADxY,OAAK6G,EAAM,UACpBmG,IAAI,GAADhN,OAAK6G,EAAM,WACXsa,GAAO,IACVlQ,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OAC3Bq8M,GAAaltN,EAAO4Q,EAAQC,EAAO,CAAEvR,OAAQA,EAAQtH,IAAK,SAAU,IAAA+R,wBAAA,CAGtEsC,MAAO,WACP4E,UAAU,GAADxY,OAAK6G,EAAM,YACpBmG,IAAI,GAADhN,OAAK6G,EAAM,aACXsa,GAAO,IACVlQ,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OAC3Bq8M,GAAaltN,EAAO4Q,EAAQC,EAAO,CAAEvR,OAAQA,EAAQtH,IAAK,OAAQ,IAAA+R,wBAAA,CAGpEsC,MAAO,OACP4E,UAAU,GAADxY,OAAK6G,EAAM,SACpBmG,IAAI,GAADhN,OAAK6G,EAAM,UACXsa,GAAO,IACVlQ,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OAC3Bq8M,GAAaltN,EAAO4Q,EAAQC,EAAO,CAAEvR,OAAQA,EAAQtH,IAAK,QAAS,IAAA+R,wBAAA,CAGrEsC,MAAO,OACP4E,UAAU,GAADxY,OAAK6G,EAAM,SACpBmG,IAAI,GAADhN,OAAK6G,EAAM,UACXsa,GAAO,IACVlQ,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OAC3Bq8M,GAAaltN,EAAO4Q,EAAQC,EAAO,CAAEvR,OAAQA,EAAQtH,IAAK,QAAS,IAAA+R,wBAAA,CAGrEsC,MAAO,YACP4E,UAAU,GAADxY,OAAK6G,EAAM,cACpBmG,IAAI,GAADhN,OAAK6G,EAAM,eACXsa,GAAO,IACVlQ,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OAC3Bq8M,GAAaltN,EAAO4Q,EAAQC,EAAO,CACjCvR,OAAQA,EACRtH,IAAK,aACL,IAIV,CAiEew1N,OA/Df,WACE,IAAMx9M,EAAyB,CAC7B,CACE3D,MAAO,cACP4E,UAAW,OACXxL,IAAK,OACLwqC,MAAO,OACP9iC,MAAO,IACPzD,OAAQ,SAAC1J,EAAO4Q,EAAQC,GAAK,OApHnC,SAA2B7Q,EAAY4Q,GACrC,IAAIwI,EAAMxI,EAAO7I,OACfvQ,cAAC+uD,IAAI,CACH/tD,UAAU,oBACV0R,OAAO,SACPs8C,GAAE,mBAAA/tD,OAAqBmY,EAAO7I,QAASrQ,SAEtCsI,IAGHA,EAEF,OAAQ4Q,EAAO3X,MACb,KAAK+2B,GAAK68L,OACR,OAAOr1N,cAAA,KAAGa,MAAO,CAAEkM,MAAO,WAAY7M,SAAE0hB,IAC1C,KAAK4W,GAAK88L,GACR,OAAOt1N,cAAA,KAAAE,SAAI0hB,IACb,KAAK4W,GAAKg9L,GACR,OAAOx1N,cAAA,QAAMa,MAAO,CAAEkM,MAAO,QAAS7M,SAAE0hB,IAC1C,KAAK4W,GAAKi9L,GACR,OAAOz1N,cAAA,KAAGa,MAAO,CAAEkM,MAAO,QAAS7M,SAAE0hB,IACvC,QACE,OAAOA,EAEb,CA4FwCq0M,CAAkBztN,EAAO4Q,EAAO,GAEpE,CACEvE,MAAO,UACP3U,SAAU61N,GAAgB,UAAW,CAAEt9K,MAAO,SAC9CA,MAAO,SACRx3C,OAAAyH,YACE,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAIG,KAAI,SAACiuB,GAC7C,IAAI9b,EAAM8yM,OAAQ/yM,MAAM+b,GACxB,MAAO,CACLjiB,MAAOmG,EAAIpS,OAAO,UAClBqF,IAAK6oB,EACL52B,SAAU61N,GAAgB/6M,EAAIpS,OAAO,OAAO2K,qBAEhD,MAGFiE,EAAwBC,mBAAgB,IAAGC,EAAApB,YAAAkB,EAAA,GAApC5T,EAAI8T,EAAA,GAAEw+M,EAAOx+M,EAAA,GAUpB,OARAlL,qBAAU,WACRrJ,MAAM,uBACHM,MAAK,SAAConD,GAAC,OAAKA,EAAElnD,MAAM,IACpBF,MAAK,SAAConD,GACLqrK,EAAQrrK,EAAEjnD,KACZ,GACJ,GAAG,IAGD5D,cAACm5C,WAAQ,CAAAj5C,SAUPF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACixC,KAAM,GAAIzwC,MAAO,CAAE0iC,QAAS,QAASrjC,SACxCF,cAACi/C,KAAK,CACJzmC,QAASA,EACTilB,WAAY75B,EACZy7C,UAAQ,EACRvsC,KAAK,QACLwsC,OAAQ,CAAE9I,EAAG,IAAM+I,EAAG,MACtBsC,WAAY,CAAEF,SAAU,WAOpC,E,oBCjLKw0K,I,OAAa,SAAbA,GAAa,OAAbA,IAAa,gBAAbA,IAAa,iBAAbA,IAAa,uCAAbA,IAAa,mCAAbA,IAAa,gBAAbA,CAAa,EAAbA,IAAa,KAObC,GAAW,SAAXA,GAAW,OAAXA,IAAW,gBAAXA,IAAW,iBAAXA,IAAW,uCAAXA,IAAW,yBAAXA,CAAW,EAAXA,IAAW,IAOHC,GAAsB,WACjC,SAASC,IAA4C,IAA9B9tN,EAAUpE,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,GAAAA,UAAA,GAAG,CAAE2C,QAAS,GACzC2F,EAAU1M,cAAAC,WAAA,IACd,OAAQuI,EAAMzB,QACZ,KAAKovN,GAAcI,MACjB7pN,EACE1M,cAAA,QAAMgB,UAAU,sBAAqBd,SACnCF,cAACwnB,KAAM,CAAC5Q,KAAM5W,cAACu+J,KAAY,QAG/B,MACF,KAAK43D,GAAcK,iBACjB9pN,EAAU1M,cAAAC,WAAA,CAAAC,SAAE,qBACZ,MACF,KAAKi2N,GAAcM,eACjB/pN,EACEtM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC02N,KAAc,IACf12N,cAAA,QAAMa,MAAO,CAAE81N,cAAe,YAAaz2N,SAAC,4BAKhD,MACF,KAAKi2N,GAAcS,KACjBlqN,EAAU1M,cAAAC,WAAA,CAAAC,SAAE,MAUhB,OAPAwM,EAAUlE,EAAMoc,KACd5kB,cAAC+uD,IAAI,CAACr8C,OAAO,SAASs8C,GAAIxmD,EAAMoc,KAAK1kB,SAClCwM,IAGHA,CAGJ,CACA,SAASmqN,IAA0C,IAA9BruN,EAAUpE,UAAA6D,OAAA,QAAA1H,IAAA6D,UAAA,GAAAA,UAAA,GAAG,CAAE2C,QAAS,GACvC2F,EAAU1M,cAAAC,WAAA,IACd,OAAQuI,EAAMzB,QACZ,KAAKqvN,GAAYG,MACf7pN,EACE1M,cAAA,QAAMgB,UAAU,sBAAqBd,SACnCF,cAACwnB,KAAM,CAAC5Q,KAAM5W,cAACu+J,KAAY,QAG/B,MACF,KAAK63D,GAAYI,iBACf9pN,EAAU1M,cAAAC,WAAA,CAAAC,SAAE,qBACZ,MACF,KAAKk2N,GAAYU,UACfpqN,EACEtM,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC+2N,KAAa,IACd32N,eAAA,QAAMS,MAAO,CAAE81N,cAAe,YAAaz2N,SAAA,CACzCE,eAAA,QAAAF,SAAA,CACEF,cAAAC,WAAA,CAAAC,SAAE,SACAsI,EAAMA,MAAyBA,EAAMA,MAAvBxI,cAAAC,WAAA,CAAAC,SAAE,iBAEnBsI,EAAMm4G,UACLvgH,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,SACAA,cAAA,QAAMa,MAAO,CAAE+L,SAAU,WAAY1M,SAAEsI,EAAMm4G,WAC5Cn4G,EAAMo4G,QACLxgH,eAAAH,WAAA,CAAAC,SAAA,CACG,MAECF,cAAA,QAAMa,MAAO,CAAE+L,SAAU,WAAY1M,SAClCsI,EAAMo4G,qBAmB7B,OAPAl0G,EAAUlE,EAAMoc,KACd5kB,cAAC+uD,IAAI,CAACr8C,OAAO,SAASs8C,GAAS,OAALxmD,QAAK,IAALA,OAAK,EAALA,EAAOoc,KAAK1kB,SACnCwM,IAGHA,CAGJ,CACA,IAAM8L,EAA4B,CAChC,CACE3D,MAAO7U,cAAA,KAAAE,SAAG,QACV+N,IAAK,WACL/N,SAAU,CACR,CACE2U,MAAO7U,cAAA,KAAAE,SAAG,QACVuZ,UAAW,MACXxL,IAAK,MACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OACP,OAALA,QAAK,IAALA,KAAOoc,KACL5kB,cAAC+uD,IAAI,CAACr8C,OAAO,SAASs8C,GAAIxmD,EAAMoc,KAAK1kB,SAClCsI,EAAMA,QAGTxI,cAAAC,WAAA,CAAAC,SAAGsI,EAAMA,OACV,GAEL,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,mBACVuZ,UAAW,WACXxL,IAAK,WACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAK8tN,EAAc9tN,EAAM,GAEzC,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,OACVuZ,UAAW,KACXxL,IAAK,KACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAKquN,EAAYruN,EAAM,KAI3C,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,wBACV+N,IAAK,WACL/N,SAAU,CACR,CACE2U,MAAO7U,cAAA,KAAAE,SAAG,mBACVuZ,UAAW,MACXxL,IAAK,MACLiE,OAAQ,SAAC1J,GAAK,OAAK8tN,EAAc9tN,EAAM,EACvCmN,MAAO,SAET,CACEd,MAAO7U,cAAA,KAAAE,SAAG,0BACVuZ,UAAW,UACXxL,IAAK,UACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAKquN,EAAYruN,EAAM,GAEvC,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,OACVuZ,UAAW,KACXxL,IAAK,KACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAKquN,EAAYruN,EAAM,GAEvC,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,UACVuZ,UAAW,QACXxL,IAAK,QACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAKquN,EAAYruN,EAAM,GAEvC,CACEqM,MAAO7U,cAAA,KAAAE,SAAG,SACVuZ,UAAW,MACXxL,IAAK,MACL0H,MAAO,QACPzD,OAAQ,SAAC1J,GAAK,OAAKquN,EAAYruN,EAAM,MAMvCwuN,EAC0C,mBAAtCj0N,OAAek0N,oBAClBl0N,OAAek0N,oBAChB,kBACE94M,QAAQC,QAAQ,CACd,CACE84M,IAAK,CACH1uN,MAAO,eACPoc,KAAM,uBAERuyM,SAAU,CACRpwN,OAAQovN,GAAcM,eACtB7xM,KAAM,uBAERwyM,GAAI,CACFrwN,OAAQqvN,GAAYU,UACpBlyM,KAAM,uBAERyyM,IAAK,CACHtwN,OAAQovN,GAAcM,gBAExBa,QAAS,CACPvwN,OAAQqvN,GAAYU,UACpBlyM,KAAM,sBACNpc,MAAO,oBACPm4G,SAAU,WACVC,OAAQ,aAEV22G,GAAI,CACFxwN,OAAQqvN,GAAYU,UACpBlyM,KAAM,sBACNpc,MAAO,oBACPm4G,SAAU,YACVC,OAAQ,aAEV42G,MAAO,CACLzwN,OAAQqvN,GAAYU,UACpBlyM,KAAM,sBACNpc,MAAO,oBACPm4G,SAAU,YACVC,OAAQ,aAEV62G,IAAK,CACH1wN,OAAQqvN,GAAYU,YAGxB,CACEI,IAAK,CACH1uN,MAAO,gBAET2uN,SAAU,CACRpwN,OAAQovN,GAAcM,gBAExBW,GAAI,CACFrwN,OAAQqvN,GAAYU,WAEtBO,IAAK,CACHtwN,OAAQovN,GAAcM,gBAExBa,QAAS,CACPvwN,OAAQovN,GAAcI,MACtB3xM,KAAM,mCAGV,CACEsyM,IAAK,CACH1uN,MAAO,gBAET2uN,SAAU,CACRpwN,OAAQovN,GAAcS,MAExBQ,GAAI,CACFrwN,OAAQqvN,GAAYI,mBAGxB,CACEU,IAAK,CACH1uN,MAAO,gBAET2uN,SAAU,CACRpwN,OAAQovN,GAAcI,MACtB3xM,KAAM,kCAERwyM,GAAI,CACFrwN,OAAQovN,GAAcI,MACtB3xM,KAAM,oCAGT,EACXpN,EAAwBC,mBAAc,IAAGC,EAAApB,YAAAkB,EAAA,GAAlC5T,EAAI8T,EAAA,GAAEw+M,EAAOx+M,EAAA,GAMpB,OALAlL,qBAAU,WACRwqN,IAAavzN,MAAK,SAACg5D,GACjBy5J,EAAQz5J,EACV,GACF,GAAG,IAEDz8D,cAACm5C,WAAQ,CAAAj5C,SACPE,eAAA,OAAKY,UAAU,MAAKd,SAAA,CAClBF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAAAH,SACFF,cAAA,MAAAE,SAAI,6BAGRF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACixC,KAAM,GAAIzwC,MAAO,CAAE0iC,QAAS,QAASrjC,SACxCF,cAACi/C,KAAK,CAACzmC,QAASA,EAASilB,WAAY75B,EAAMy7C,UAAQ,YAM/D,ECFeq4K,GApPA,SAACj4N,GACd,IAAA+X,EAA0CC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAlDutD,EAAartD,EAAA,GAAEmqK,EAAgBnqK,EAAA,GACtCgJ,EAAgCjJ,oBAAkB,GAAMkJ,EAAArK,YAAAoK,EAAA,GACxDI,GADeH,EAAA,GAAaA,EAAA,GACUlJ,mBAAiB,KAAGsJ,EAAAzK,YAAAwK,EAAA,GAC1DiB,GADkBhB,EAAA,GAAgBA,EAAA,GACZtJ,mBAAc,KAAGuK,EAAA1L,YAAAyL,EAAA,GACvCE,GADUD,EAAA,GAAQA,EAAA,GACoBvK,sBAAeyK,EAAA5L,YAAA2L,EAAA,GAA9C01M,EAAWz1M,EAAA,GAAE01M,EAAc11M,EAAA,GAC5Bs5C,EAAU,IAAIrJ,IACdgK,EAAUja,cAChBuZ,EAA+CnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAA3D0rD,EAAczrD,EAAA,GAAE0rD,EAAoB1rD,EAAA,GAC3CqG,EAA2CC,eACrCt4C,GADUq4C,EAARE,SAAoBF,EAAVI,WAAoBJ,EAARG,SACbvS,eAEjBnjD,qBAAU,WACR,IAAMqrN,EAAar8J,EAAQpJ,IAAI,cACzB5sC,EAAWziB,OAAOC,aAAaC,QAAQ,YAC7C60N,IAAWr0N,KAAI,eAAAtB,EAAAC,YAAAC,IAAAC,MAAC,SAAAC,EAAOqB,GAAI,IAAAwxN,EAAA2C,EAAA,OAAA11N,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACpB+0N,GAAej0N,GAAoB,MAAZ4hB,EAAgB,CAAA5iB,EAAAE,KAAA,QAC1C04D,EAAQ/d,OAAO,cAEf2pE,EAAoB70G,wBAAC,CAAC,EAAI40G,GAAc,IAAEj1D,iBAAiB,KAAStvD,EAAAE,KAAA,uBAAAF,EAAAE,KAAA,EAExC8oD,eAA4B,KAAD,EAAjDwpK,EAAaxyN,EAAAmB,KACnBqB,QAAQe,IACN,iEACAivN,GAEI2C,EAAUC,IAEG,MAAjB5C,GACAA,EAAcvpK,SAAS5jD,QAAU,GACjCmtN,EAAcvpK,SAAS3zC,QAAO,SAACs+B,GAAM,OAAKA,GAAKuhL,EAAQptN,aAAa,IACjE1C,OAAS,IAEZjF,aAAaw8D,QACX,uBACAj8D,KAAKC,UAAU4xN,IAEQ,WAArB1rM,EAASknC,WACXk2D,EAAgB,WAChB3qD,EAAQrzD,KAAK,aAEhB,yBAAAlG,EAAAqB,OAAA,GAAA1B,EAAA,KAEJ,gBAAA2B,GAAA,OAAA/B,EAAAgC,MAAA,KAAAC,UAAE,CAAF,CA5Bc,GA6BjB,GAAG,CAACslB,IACJ,IAAMsuM,EAAkB,WACtB,IAAID,EAAU,KACR/8E,EAAYD,UAAUC,UAoB5B,OAnBIA,EAAUr4G,MAAM,eAClBo1L,EAAU,UAER/8E,EAAUr4G,MAAM,cAClBo1L,EAAU,WAER/8E,EAAUr4G,MAAM,eAClBo1L,EAAU,UAER/8E,EAAUr4G,MAAM,qBAClBo1L,EAAU,SAER/8E,EAAUr4G,MAAM,YAClBo1L,EAAU,QAGG,MAAXA,IACFA,EAAU,WAELA,CACT,EACMjxG,EAAkB,SAAC39C,GACvBi+C,EAAoB70G,wBAAC,CAAC,EAAI40G,GAAc,IAAEl1D,aAAckX,IAC1D,EACM8uJ,EAAkD,CACtD/lK,kBAAmBi1D,EAAej1D,gBAClC20D,mBAAoB,SACpB50D,aAAck1D,EAAel1D,aAC7B60D,gBAAiBA,GAEbgxG,EAAQ,eAAAxzN,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,IAAA,IAAA2gE,EAAAE,EAAAC,EAAAC,EAAA6+G,EAAAzgL,EAAAo8D,EAAAo4J,EAAA,OAAA71N,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACcmqD,eAAqB,KAAD,EAA7B,OAAdk3H,EAAc3/K,EAAAT,KAAAS,EAAA1B,KAAA,EACG66D,KAAkB,KAAD,EAA1B,OAARj6D,EAAQc,EAAAT,KAAAS,EAAA1B,KAAA,EACe86D,KAAsB,KAAD,EAA9B,OAAdkC,EAAct7D,EAAAT,KAAAS,EAAA1B,KAAA,GACSi7D,KAAsB,KAAD,GA6ChD,OA7CIm6J,EAAc1zN,EAAAT,KACpB89K,EAAiBsC,GACgB,gBAAV,QAAnBj/G,EAAAzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBzjE,OACvBsB,OAAOC,aAAaw8D,QAAQ,SAAU,SAEtCo4J,EACE53N,cAACqmH,GAAiB,CACV8xG,iBAAkB14N,EAAM04N,iBAC9B1uJ,SAAUhqE,EAAMslE,cAAcqzJ,cAC9B7vJ,aAAc9oE,EAAMslE,cAAcmJ,iBAGC,gBAAX,QAAnB9I,EAAA3lE,EAAMslE,qBAAa,IAAAK,OAAA,EAAnBA,EAAqB3jE,OAC9BsB,OAAOC,aAAaw8D,QAAQ,SAAU,SAEtCo4J,EACE53N,cAAC6sE,GAAgB,CACfsB,SAAU1uE,EAAMslE,cAAcqzJ,cAC9BlqJ,aAAczuE,EAAMslE,cAAcmJ,iBAGC,eAAX,QAAnB7I,EAAA5lE,EAAMslE,qBAAa,IAAAM,OAAA,EAAnBA,EAAqB5jE,OAC9BsB,OAAOC,aAAaw8D,QAAQ,SAAU,QACtCo4J,EACE53N,cAAC2nE,GAAW,CACJwwJ,iBAAkB14N,EAAM04N,iBAC9B1uJ,SAAUhqE,EAAMslE,cAAcqzJ,cAC9BpuJ,QAASvqE,EAAMslE,cAAcszJ,QAC7B9vJ,aAAc9oE,EAAMslE,cAAcmJ,aAClCpE,oBAAqBrqE,EAAMslE,cAAcuzJ,wBAGN,iBAAX,QAAnBhzJ,EAAA7lE,EAAMslE,qBAAa,IAAAO,OAAA,EAAnBA,EAAqB7jE,QAC9BsB,OAAOC,aAAaw8D,QAAQ,SAAU,SAEtCo4J,EAAe53N,cAACilM,GAAW,MAG7BliM,OAAOC,aAAaw8D,QAClB,iBACAj8D,KAAKC,UAAUs8D,IAEjB/8D,OAAOC,aAAaw8D,QAClB,iBACAj8D,KAAKC,UAAU00N,IACf1zN,EAAAR,OAAA,SACKN,GAAQ,yBAAAc,EAAAP,OAAA,GAAAM,EAAA,KAChB,kBAnDa,OAAAD,EAAAH,MAAA,KAAAC,UAAA,KAqDd,OACEpE,cAACu4N,KAAgB,CAACh1M,KAAK,SAAQrjB,SAC7BF,cAACw4N,KAAa,CAEZp+J,WAAW,OACXq+J,eAAgB,SAACpF,EAAMrnN,GACrBqnN,EAAKpwJ,iBAAiB,gBAAiBj3D,GAAM,EAC/C,EAAE9L,SAEFE,eAACyrG,IAAM,CAACniF,SAAUA,EAASxpB,SAAA,CACzBF,cAAC8rG,IAAK,CAAC3iC,KAAM,UAAW52B,UAAW4iL,KACnCn1N,cAAC8rG,IAAK,CAAC3iC,KAAK,SAAQjpE,SAAEy3N,IACtB33N,cAAC8rG,IAAK,CAAC3iC,KAAK,cAAajpE,SACvBF,cAAC6sE,GAAgB,CACfsB,SAAU1uE,EAAMslE,cAAcqzJ,cAC9BlqJ,aAAczuE,EAAMslE,cAAcmJ,iBAGtCluE,cAAC8rG,IAAK,CAAC3iC,KAAK,UAASjpE,SACnBF,cAACyyK,GAAoB,CACnBhpG,SAAUhqE,EAAMslE,cAAcqzJ,kBAGlCp4N,cAAC8rG,IAAK,CAAC3iC,KAAM,sBAAsBjpE,SACjCF,cAACklM,GAAkB,CACjBz7H,SAAUhqE,EAAMslE,cAAcqzJ,cAC9BrzJ,cAAeA,MAGnB/kE,cAAC4mH,GAAYr0G,wBAAA,GACP0lN,GAA0B,IAC9B9uJ,KAAK,qBAAoBjpE,SAEzBF,cAACk1N,GAAiB,CAACzrJ,SAAUhqE,EAAMslE,cAAcqzJ,mBAEnDp4N,cAAC4mH,GAAYr0G,wBAAA,GACP0lN,GAA0B,IAC9B9uJ,KAAK,qBAAoBjpE,SAEzBF,cAACo0N,GAAuB,OAE1Bp0N,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,WAAUjpE,SAC3DF,cAACivM,GAAgB,OAEnBjvM,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,aAAYjpE,SAC7DF,cAACywN,GAAe,OAElBzwN,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,WAAUjpE,SAC3DF,cAAC04N,GAAc,CAAC3zJ,cAAeA,OAEjC/kE,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,iBAAgBjpE,SACjEF,cAAC4vN,GAAe,OAElB5vN,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,kBAAiBjpE,SAClEF,cAAC24N,GAAoB,CAAC5zJ,cAAeA,OAEvC/kE,cAAC4mH,GAAYr0G,wBAAA,GACP0lN,GAA0B,IAC9B9uJ,KAAK,qBAAoBjpE,SAEzBF,cAAC44N,GAAuB,OAE1B54N,cAAC4mH,GAAYr0G,wBAAA,GACP0lN,GAA0B,IAC9B9uJ,KAAK,uBAAsBjpE,SAE3BF,cAAC64N,GAAyB,OAE5B74N,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,gBAAejpE,SAChEF,cAAC84N,GAAY,CAAC/zJ,cAAeA,OAE/B/kE,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,mBAAkBjpE,SACnEF,cAACglM,GAAqB,OAExBhlM,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,YAAYjpE,SAC9DF,cAACw4K,GAAc,CAACzzG,cAAeA,OAEjC/kE,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,YAAYjpE,SAC9DF,cAAC+4N,GAAqB,OAExB/4N,cAAC4mH,GAAYr0G,wBAAA,GACP0lN,GAA0B,IAC9B9uJ,KAAM,kBAAkBjpE,SAExBF,cAAC2vN,GAAoB,CAAC5qJ,cAAeA,OAEvC/kE,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,aAAajpE,SAC/DF,cAACg5N,GAAe,CAACj0J,cAAeA,OAElC/kE,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,eAAejpE,SACjEF,cAACg/F,GAAgB,OAEnBh/F,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,UAAUjpE,SAC5DF,cAACwqL,GAAM,OAETxqL,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,aAAajpE,SAC/DF,cAACktN,GAAkB,OAErBltN,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,iBAAiBjpE,SACnEF,cAACg2N,GAAa,OAEhBh2N,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAM,uBAAuBjpE,SACzEF,cAACq2N,GAAmB,OAEtBr2N,cAAC4mH,GAAYr0G,wBAAA,GAAK0lN,GAA0B,IAAE9uJ,KAAK,IAAGjpE,SACpDF,cAAC4nH,GAAkB,OAErB5nH,cAAC8rG,IAAK,CAACv5D,UAAWm8C,SAxGfhlE,EAASknC,WA6GtB,E,iCCzQeqoK,GAxBO,SAACx5N,GAAkB,IAADylE,EACtC4C,EAA4BnB,KAApBF,EAAMqB,EAANrB,OAAeqB,EAAPpB,QACC/W,cAWjB,OAFAvqD,QAAQe,IAAIsgE,IAEG,IAAXA,EACKzmE,cAAAC,WAAA,IAIPD,cAAA,OAAKgB,UAAU,8BAA6Bd,SAC1CF,cAAA,OAAK0lD,IAAwB,QAArBwf,EAAEzlE,EAAMslE,qBAAa,IAAAG,OAAA,EAAnBA,EAAqBklC,YAAazkD,IAAI,gBAGtD,E,6BCiBeuzK,GAlCc,SAACz5N,GAC5B,IAAA+X,EAA8CC,mBAAc,CAC1DlG,KAAM,aACN+4C,MAAO,KACP5yC,EAAApB,YAAAkB,EAAA,GAHoBE,EAAA,GAAoBA,EAAA,GAU1C,OACE1X,cAACm5N,KAAO,CAAC5mL,UAAU,GAAG6mL,eAAe,QAAOl5N,SACzCT,EAAM45N,cACLr5N,cAAA,OAAKgB,UAAU,kBAAiBd,SAC9BE,eAAA,OAAKY,UAAU,oBAAmBd,SAAA,CAChCF,cAAA,OAAK0lD,IC5BF,ioJD4BiBC,IAAI,YAAY3kD,UAAU,cAC9CZ,eAAA,OAAKY,UAAU,wBAAuBd,SAAA,CACpCF,cAAA,KAAGgB,UAAU,YAAWd,SAAC,6BAEzBF,cAACs5N,KAAY,CACXC,MAAI,EACJ14N,MAAO,CAAE+L,SAAU,GAAIG,MAAO,SAC9BmxC,SAAK39C,IAEPP,cAAA,UAAQ4V,QAjBC,WACnBnW,EAAM04N,kBAAiB,EACzB,EAe0Cj4N,SAAC,kBAInC,MAGV,E,oBEvBes5N,GAZuC,SAAHr3N,GAI5C,IAHLyT,EAAOzT,EAAPyT,QACApU,EAAKW,EAALX,MACAoV,EAAIzU,EAAJyU,KAEA,OACExW,eAAA,UAAQY,UAAU,kBAAkB4U,QAASA,EAAQ1V,SAAA,CAClDsB,EAAM,IAAEoV,IAGf,E,UCKe6iN,GAhBe,SAACh6N,GAC7B,OACEO,cAACiqB,IAAO,CAENnV,UAAU,cACVoV,QAAS,kBAAMlqB,cAACuuD,EAAkB,GAAG,EACrCwD,QAAQ,QAAO7xD,SAEfF,cAACw5N,GAAc,CACb5jN,QAAS,WAAO,EAChBgB,KAAM5W,cAAC05N,KAAY,CAACx7K,SAAK39C,EAAWM,MAAO,CAAE+L,SAAU,SAPpD,OAWX,ECoTe+sN,GA5RH,SAACl6N,GAAkB,IAADm6N,EAC5BpiN,EAA0CC,qBAAeC,EAAApB,YAAAkB,EAAA,GAAlDutD,EAAartD,EAAA,GAAEmqK,EAAgBnqK,EAAA,GACtC+jD,EAAwCnJ,IAAmBoJ,EAAAplD,YAAAmlD,EAAA,GAApDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCh7C,EAAsCjJ,qBAAuBkJ,EAAArK,YAAAoK,EAAA,GAAtDm5M,EAAWl5M,EAAA,GAAEm5M,EAAcn5M,EAAA,GAClCG,EAA0CrJ,oBAAS,GAAMsJ,EAAAzK,YAAAwK,EAAA,GAAlDu4M,EAAat4M,EAAA,GAAEo3M,EAAgBp3M,EAAA,GAEhCg5M,GADUz3J,cAARp8D,IACGnD,OAAOg4I,UAAUC,WACtBg/E,EAAOD,EAAGvwN,QAAQ,SAClBywN,EAASF,EAAGvwN,QAAQ,YACpB0wN,EAASH,EAAGvwN,QAAQ,SACpB2wN,EAAUJ,EAAGvwN,QAAQ,WAC3BuY,EAA0BtK,mBAAc,IAAGuK,EAAA1L,YAAAyL,EAAA,GAApCq4M,EAAKp4M,EAAA,GAAEq4M,EAAQr4M,EAAA,GACtBC,EAAsCxK,oBAAS,GAAMyK,EAAA5L,YAAA2L,EAAA,GAA9Cq4M,EAAWp4M,EAAA,GAAEq4M,EAAcr4M,EAAA,GAC5Bs4M,EAAOR,EAAO,GAAKC,EAAS,EAC5BQ,EAASP,EAAS,EAClBQ,EAAYP,EAAU,EACxBpsK,EAAkB1lC,iBAAO,MACzBm/F,EAAen/F,iBAAO,MACpBqB,EAAWimC,cACXgrK,EAAwC,QAA/Bf,EAAG52N,aAAaC,QAAQ,eAAO,IAAA22N,IAAI,KAE1Cn7J,GADQvc,cACCwN,YAAe,CAAC,gBAAzB+O,MACFjD,EAAU,IAAIrJ,IACpB3lD,qBAAU,WACRouN,KAAWn3N,MAAK,SAAAtB,GAA0C,IAAD04N,EAAAv2N,EAAAgS,YAAAnU,EAAA,GAAvC4iE,EAAazgE,EAAA,GAAEw2N,EAAkBx2N,EAAA,GACjDw1N,EAAegB,GACfj5C,EAAiB98G,GAEa,MAAf,OAAbA,QAAa,IAAbA,OAAa,EAAbA,EAAeg2J,gBACax6N,KAAf,OAAbwkE,QAAa,IAAbA,OAAa,EAAbA,EAAeg2J,WACY,OAAd,OAAbh2J,QAAa,IAAbA,OAAa,EAAbA,EAAeg2J,YAEfpnN,SAASkB,MAAqB,OAAbkwD,QAAa,IAAbA,OAAa,EAAbA,EAAeg2J,UAGD,MAAlB,OAAbh2J,QAAa,IAAbA,OAAa,EAAbA,EAAei2J,mBACgBz6N,KAAlB,OAAbwkE,QAAa,IAAbA,OAAa,EAAbA,EAAei2J,cACe,OAAjB,OAAbj2J,QAAa,IAAbA,OAAa,EAAbA,EAAei2J,eAG8B,QAD7CH,EAAAlnN,SACG8vJ,cAAc,oCAA4B,IAAAo3D,GAD7CA,EAEIhzK,aAAa,OAAqB,OAAbkd,QAAa,IAAbA,OAAa,EAAbA,EAAei2J,aAC5C,GACF,GAAG,IACaj4N,OAAO2mB,SAASo6C,OAAOh5D,WAAvC,IACM8vN,GAAQ,eAAAj2N,EAAAvC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAwiE,EAAA+1J,EAAA,OAAAz4N,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKd,MAJY,OAAT63N,EACFl8J,EAAKc,eAAe,MAEpBd,EAAKc,eAAe,MACrB38D,EAAAE,KAAA,EACyBmqD,eAAqB,KAAD,EAA7B,OAAb8X,EAAaniE,EAAAmB,KAAAnB,EAAAE,KAAA,EACgBoqD,eAAiB,KAAD,EAAzB,OAAlB4tK,EAAkBl4N,EAAAmB,KAAAnB,EAAAoB,OAAA,SACjB,CAAC+gE,EAAe+1J,IAAmB,wBAAAl4N,EAAAqB,OAAA,GAAA1B,EAAA,KAC3C,kBATa,OAAAoC,EAAAR,MAAA,KAAAC,UAAA,KA4DR62N,GAAW,SAACnvN,GAChB,IAAMovN,EAAM,SAACnvN,EAAQqtB,GAEnB,OAAQ,KAAOrtB,GAAG8xC,QADlBzkB,EAAIA,GAAK,GAEX,EAII+hM,GADJrvN,GAAKA,EADIA,EAAI,KACE,KACA,GAQf,MAJc,CACZkR,IAAKk+M,GAJPpvN,GAAKA,EAAIqvN,GAAQ,IACF,IAIbC,IAAKF,EAAIC,GAGb,EAWME,GAAY,SAACptN,GACjB,MAAY,QAARA,EACK,UACU,QAARA,EACF,eADF,CAGT,EAUAqtN,GAAkBC,aAAa,CAC7BC,OA/Fa,WAOb,GAA0B,MAAtB9xM,EAASknC,UAA0C,WAAtBlnC,EAASknC,SAAuB,CAC/D2pK,GAAe,GACfv3N,aAAaw8D,QAAQ,SAAU,QAE/B,IAAIi8J,EAAY/sN,OAAO1L,aAAaC,QAAQ,UAC5C8qD,EAAW5mB,QAAU6mB,aAAY,WAC/B,IAAM0tK,EAAShtN,OAAO1L,aAAaC,QAAQ,UACrCu4N,EAASx4N,aAAaC,QAAQ,UAEpC,GAAIw4N,EAAY,GAAgB,SAAXD,EAAmB,CACtC,IAAMtqN,EAAO+pN,GAASQ,GAClBA,EAAYC,IACd14N,aAAaw8D,QAAQ,QAASk8J,EAAO5wN,YACrC2wN,EAAYC,GAEVD,IAAcC,IAChBD,GAAa,IACbz4N,aAAaw8D,QAAQ,QAASi8J,EAAU3wN,aAEtC2wN,EAAYC,IACdD,GAAa,IACbz4N,aAAaw8D,QAAQ,QAASi8J,EAAU3wN,aAE1CuvN,EAASnpN,EACX,MAAWuqN,GAAa,GACtBlB,GAAe,GACfx3N,OAAO2mB,SAASiyM,SAChB34N,aAAaw8D,QAAQ,SAAU,SAC/B5D,EAAerpD,wBAAC,CAAC,EAAIopD,GAAY,IAAEzJ,iBAAiB,KACpDsJ,EAAQ/d,OAAO,cACfyQ,cAAcH,EAAW5mB,SACzB4oK,aAAavoF,EAAQrgF,SACrBkzL,EAAS,IACW,UAAXmB,IACTttK,cAAcH,EAAW5mB,SACzB4oK,aAAavoF,EAAQrgF,SACrBkzL,EAAS,GACTE,GAAe,GACf11L,KAEJ,GAAG,IACL,CACF,EA+CE+2L,SA3Be,SAACh8I,GAChB58E,aAAaw8D,QAAQ,aAAc7kD,KAAK8pC,MAAM35C,YAC9CojD,cAAcH,EAAW5mB,SACzB4oK,aAAavoF,EAAQrgF,SACrBkzL,EAAS,GACTE,GAAe,GACfv3N,aAAaw8D,QAAQ,SAAU,QACjC,EAqBEgoD,QAAS,KAETq0G,cAAe,IACfz8C,OAAQ,CACN,YACA,UACA,QACA,iBACA,aACA,YACA,aACA,YACA,gBACA,gBACA,oBAEF08C,gBAAiB,GACjBC,SAAU,EACVC,SAAU,EACVC,eAAgB,IAChB5iM,QAAS1lB,SACTuoN,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,WAAY,IA5BNz3L,GAAKy2L,GAALz2L,MAgCF03L,GAA0B,IAAI9wJ,KAAwB,CAC1DnB,KAAM,CACJC,UAAqB,OAAXsvJ,QAAW,IAAXA,OAAW,EAAXA,EAAa1vJ,IAAK,GAC5BqyJ,UAAU,qCAADv7N,OAAkD,OAAX44N,QAAW,IAAXA,OAAW,EAAXA,EAAa/tN,GAC7D2wN,YAAa,IACbv4J,sBAAsB,KAExBsG,MAAO,CACLC,cAAe,eACfiyJ,eAAe,EACfhyJ,uBAAwB8vJ,GAAQC,GAAUC,GAE5C/vJ,OAAQ,CACNC,cAAe,CACbC,eAAgB,SAACC,EAAY51D,EAAc61D,GACzC,IAAIA,EAGJ,OAAQD,GACN,KAAKE,KAASvkE,MAGd,KAAKukE,KAASC,KAGd,KAAKD,KAASE,QAGd,KAAKF,KAASI,SAMlB,MAIN,OACEprE,cAACwmE,GAAY,CAAAtmE,SACXF,cAACwtD,EAAuB,CAAAttD,SACtBF,cAACuX,KAA4B,CAAArX,SAE3BF,cAACsrB,IAAmB,CAAAprB,SAClBF,cAAC28N,KAAY,CAAC16J,SAAUs6J,GAAwBr8N,SAC9CF,cAACiW,KAAoB,CAAA/V,SACnBF,cAACuyD,EAAsB,CAAAryD,SACrBE,eAACwuM,GAA8B,CAAA1uM,SAAA,CAC7BF,cAACi5N,GAAa,CAACl0J,cAAeA,IAC9B/kE,cAACk5N,GAAoB,CACbG,gBAAelB,qBAEvB/3N,eAACw8N,IAAM,CAAA18N,SAAA,CACLF,cAACqhE,GAAa,CAAC0D,cAAeA,SAEXxkE,IAAlBwkE,GACC/kE,cAAAC,WAAA,CAAAC,SACEF,cAAC03N,GAAM,CACC2B,gBAAelB,mBACrBpzJ,cAAeA,SAKtBu1J,GACCl6N,eAAA,OAAKY,UAAU,iBAAgBd,SAAA,CAC7BF,cAAC2xC,KAAG,CAAAzxC,SACFF,cAACK,KAAG,CAACixC,KAAM,GAAGpxC,SACZF,cAAA,KAAGgB,UAAU,iBAAgBd,SAAC,4CAKlCF,cAAC2xC,KAAG,CAAC3wC,UAAU,cAAad,SACzB6N,OAAOkyB,QAAQm6L,GAAOvxN,KAAI,SAAA7D,EAAeiU,GAAS,IAAD1T,EAAA+Q,YAAAtR,EAAA,GAArBiJ,EAAG1I,EAAA,GAAOA,EAAA,GAErC,OACEnF,eAAAH,WAAA,CAAAC,SAAA,CACEE,eAACC,KAAG,CAACixC,KAAM,GAAItwC,UAAU,kBAAiBd,SAAA,CACxCF,cAAA,KAAGgB,UAAU,oBAAmBd,SAC7Bm7N,GAAUptN,KAGbjO,cAAA,KAAGgB,UAAU,eAAcd,SAAEk6N,EAAMnsN,QAEpCgL,EAAM,IAAM,GAAKjZ,cAAA,KAAGgB,UAAU,MAAKd,SAAC,QAG3C,SAINF,cAACy5N,GAAqB,oBAU1C,EC/TMoD,GAAclwE,QACW,cAA7B5pJ,OAAO2mB,SAAS86C,UAEa,UAA7BzhE,OAAO2mB,SAAS86C,UAEhBzhE,OAAO2mB,SAAS86C,SAAS7hC,MACvB,2DA6BJ,SAASm6L,GAAiBC,GACxBhiF,UAAUiiF,cACPv4L,SAASs4L,GACTt5N,MAAK,SAAAw5N,GACJA,EAAaC,cAAgB,WAC3B,IAAMC,EAAmBF,EAAaG,WACtCD,EAAiBE,cAAgB,WACA,cAA3BF,EAAiB7yK,QACfywF,UAAUiiF,cAAch0H,WAK1B5jG,QAAQe,IAAI,6CAKZf,QAAQe,IAAI,sCAGlB,CACF,CACF,IACCtC,OAAM,SAAAwB,GACLD,QAAQC,MAAM,4CAA6CA,EAC7D,GACJ,C,wCChEMs1N,GAAwC,QAA/Bf,GAAG52N,aAAaC,QAAQ,eAAO,IAAA22N,MAAI,KAClDn7J,KAIGttD,IAAImsN,MAGJnsN,IAAIosN,MAEJpsN,IAAIqsN,KAGJ36K,KAAK,CACJ46K,YAAY,EACZC,YAAa,KACbC,IAAwB,QAArBC,GAAM,OAAJjD,SAAI,IAAJA,QAAI,EAAJA,GAAMhwN,qBAAa,IAAAizN,MAAI,KAC5BzyJ,OAAO,EACP0yJ,cAAe,CACbC,aAAa,KAIJr/J,GAAI,EAAJA,ICxBTs/J,GAAcpqN,SAASC,eAAe,QAE5CoqN,IAAS9rN,OACPlS,cAACi+N,IAAa,CAAA/9N,SACZF,cAACk+N,WAAQ,CAACC,SAAUn+N,cAAA,OAAAE,SAAK,gBAAkBA,SACzCF,cAAC25N,GAAG,QAGRoE,IFKa,WACb,GAA6C,kBAAmBhjF,UAAW,CAGzE,GADkB,IAAI59F,IAAIihL,GAAwBr7N,OAAO2mB,UAC3Co6C,SAAW/gE,OAAO2mB,SAASo6C,OAIvC,OAGF/gE,OAAOkgE,iBAAiB,QAAQ,WAC9B,IAAM85J,EAAK,GAAA97N,OAAMm9N,GAAsB,sBAEnCvB,GAwCV,SAAkCE,GAEhC55N,MAAM45N,GACHt5N,MAAK,SAAAC,GAGkB,MAApBA,EAASqD,SACuD,IAAhErD,EAASL,QAAQ+uD,IAAI,gBAAgB5oD,QAAQ,cAG7CuxI,UAAUiiF,cAAcqB,MAAM56N,MAAK,SAAAw5N,GACjCA,EAAaqB,aAAa76N,MAAK,WAC7BV,OAAO2mB,SAASiyM,QAClB,GACF,IAGAmB,GAAgBC,EAEpB,IACCl5N,OAAM,WACLuB,QAAQe,IACN,gEAEJ,GACJ,CA/DQo4N,CAAwBxB,GAGxBD,GAAgBC,EAEpB,GACF,CACF,CEzBAyB,E,gZCmCa35C,EAAe,eAAAvgL,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAO7B,GAAY,IAAA6pD,EAAA3oD,EAAA0gL,EAAA98K,EAAAqR,EAAAjR,EAAAuB,EAAAy3B,EAAA69L,EAAA59L,EAAA5yB,EAAAzF,EAAAk2N,EAAAC,EAAAjyK,EAAAC,EAAAiyK,EAAAn6C,EAAAo6C,EAAAjoI,EAAAv9D,EAAAjxB,EAAA02N,EAAA,OAAAz8N,IAAAM,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,cAAA0B,EAAA1B,KAAA,EACpBK,MAAM,yCAC/BM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EAGd,IAAG,KAAD,EAEc,OAXZyoD,EAAa/nD,EAAAT,KAWfH,EAAY,GAAEY,EAAA1B,KAAA,EACIi8N,IAAuB,KAAD,EAC5C,IADIz6C,EAAS9/K,EAAAT,KACJyD,EAAI,EAAGA,GAAW,OAAP9E,QAAO,IAAPA,OAAO,EAAPA,EAASuF,QAAQT,IAAK,CAExC,IADIqR,EAAW,CAAC,EACPjR,EAAI,EAAGA,EAAI08K,EAAUr8K,OAAQL,IACpC,IAAAuB,EAAA,EAAAy3B,EAA2B7yB,OAAOkyB,QAAQv9B,EAAQ8E,IAAG2B,EAAAy3B,EAAA34B,OAAAkB,IAAE03B,EAAAvqB,YAAAsqB,EAAAz3B,GAAA,GAA3C8E,EAAG4yB,EAAA,GAAEr4B,EAAKq4B,EAAA,GAAA69L,EAEF,QAFED,EAElBlyK,EAAc3kD,UAAE,IAAA62N,OAAA,EAAhBA,EAAkBp1N,MAAM,MAAKs1N,EAAAroN,YAAAooN,EAAA,GADxBhyK,EAASiyK,EAAA,GAAEhyK,EAAUgyK,EAAA,GAAEC,EAAYD,EAAA,GAEtCjyK,IAAcz+C,IACG,SAAf0+C,GACFvnD,QAAQe,IAAIzD,EAAQ8E,GAAGklD,GAAY,yBACnC7zC,EAAIyrK,EAAU18K,IAAMoB,IAClB,IAAI2R,KAAK3R,IAAOtG,EAAQ8E,GAAGklD,IAAY9jD,OAAO,gBAC9CA,OAAOg2N,IAET/lN,EAAIyrK,EAAU18K,IAAMY,GAK5B5E,EAAKkF,KAAK+P,EACZ,CAAC,OAAArU,EAAA1B,KAAA,GAEuBkqD,cAAyB,KAAD,GAShD,IATIy3H,EAAWjgL,EAAAT,KACX86N,EAAcp6C,EAAY57K,KAAI,SAACg0B,GACjC,IAAAuvB,EAAyDvvB,EAAMxzB,MAAM,MAAK88K,EAAA7vK,YAAA81C,EAAA,GAAnEM,EAASy5H,EAAA,GAAYA,EAAA,GAC5B,MAAO,CACL64C,WAAYtyK,EACZuyK,kBAHyC94C,EAAA,GAIzC5H,SAJmD4H,EAAA,GAMvD,IACS3+K,EAAI,EAAGA,EAAI5D,EAAKqE,OAAQT,IAE/B,IADM6xB,EAAUz1B,EAAK4D,GACZI,EAAI,EAAGA,EAAIi3N,EAAY52N,OAAQL,IAChCk3N,EAAYD,EAAYj3N,GAC1ByxB,EAAQirJ,EAAU,MAAQw6C,EAAUE,aACtCp7N,EAAK4D,GAAa,SAAIs3N,EAAUvgD,SAChC36K,EAAK4D,GAAG88K,EAAU,IAAMw6C,EAAUG,mBAGvC,OAAAz6N,EAAAR,OAAA,SAEMJ,GAAI,yBAAAY,EAAAP,OAAA,GAAAM,EAAA,KACZ,gBAxD2BL,GAAA,OAAAI,EAAAH,MAAA,KAAAC,UAAA,KAyDf0gL,EAAY,eAAAngL,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOhB,EAAWi2L,GAAU,IAAA10L,EAAAugB,EAAAqa,EAAAiiF,EAAAC,EAAAh0G,EAAAzF,EAAAmlG,EAAA,OAAAtrG,IAAAM,MAAA,SAAAkC,GAAA,cAAAA,EAAAhC,KAAAgC,EAAA/B,MAAA,cAAA+B,EAAA/B,KAAA,EAChCopD,cAA0B,KAAD,EAU/C,IAVarnD,EAAAd,KACbqB,QAAQe,IAAIvC,EAAM,QAClBwB,QAAQe,IAAI0zL,EAAO,SAEf10L,EAAoB,OAAJvB,QAAI,IAAJA,OAAI,EAAJA,EAAMojD,QAAO,SAAU6D,EAAQhP,GAGjD,OAFAgP,EAAEhP,EAAEg+I,EAAMtoL,OAASs5C,EAAEhP,EAAEg+I,EAAMtoL,QAAU,GACvCs5C,EAAEhP,EAAEg+I,EAAMtoL,OAAOzI,KAAK+yC,GACfgP,CACT,GAAG98C,OAAOkiD,OAAO,OACbvqC,EAAiB,GACrBqa,EAAA,EAAAiiF,EAA2Bj0G,OAAOkyB,QAAQ96B,GAAO46B,EAAAiiF,EAAA/5G,OAAA83B,IAAEkiF,EAAA3rG,YAAA0rG,EAAAjiF,GAAA,GAAvC9xB,EAAGg0G,EAAA,GAAEz5G,EAAKy5G,EAAA,GACpBv8F,EAAQ5c,KAAK,CACX6zK,SAAU1uK,EACV7M,MAAOoH,EAAM+nD,MAAK,SAAC1U,EAAQ2U,GACzB,OAAO3U,EAAE0iI,SAAW/tH,EAAE+tH,QACxB,MAOD,OAJG5wE,EAAWjoF,EAAQ6qC,MAAK,SAAC1U,EAAQ2U,GACrC,IAAMo9C,EAAK5kG,IAAO6yC,EAAE8gI,SAAU,gBACxB7uE,EAAK9kG,IAAOwnD,EAAEmsH,SAAU,gBAC9B,OAAO3zK,IAAO4kG,GAAIlkE,KAAKokE,EACzB,IAAEjpG,EAAAb,OAAA,SACK2pG,GAAQ,yBAAA9oG,EAAAZ,OAAA,GAAAW,EAAA,KAChB,gBAzBwBH,EAAAK,GAAA,OAAAH,EAAAR,MAAA,KAAAC,UAAA,KA2BZ26N,EAAoB,eAAA/5N,EAAA5C,YAAAC,IAAAC,MAAG,SAAA2C,IAAA,IAAAsnD,EAAA2yK,EAAA,OAAA78N,IAAAM,MAAA,SAAAuC,GAAA,cAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACNK,MAAM,yCAC/BM,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACNsB,QAAQe,IAAIrC,EACd,IAAG,KAAD,EAID,OAXGyoD,EAAarnD,EAAAnB,KAQbm7N,EAAO3yK,EAAc1jD,KAAI,SAACg0B,GAC9B,IAAA2vB,EAAgC3vB,EAAMxzB,MAAM,MAAKojD,EAAAn2C,YAAAk2C,EAAA,GAA1CE,EAASD,EAAA,GAAYA,EAAA,GAC5B,OAAOC,CACT,IAAExnD,EAAAlB,OAAA,SACKk7N,GAAI,wBAAAh6N,EAAAjB,OAAA,GAAAgB,EAAA,KACZ,kBAdgC,OAAAD,EAAAb,MAAA,KAAAC,UAAA,KAkDpBu3C,EAAa,eAAA5wB,EAAA3oB,YAAAC,IAAAC,MAAG,SAAA+6B,EAAOsxD,EAAkB0a,GAAoB,IAAA3mG,EAAA,OAAAL,IAAAM,MAAA,SAAA+6B,GAAA,cAAAA,EAAA76B,KAAA66B,EAAA56B,MAAA,cAAA46B,EAAA56B,KAAA,EAClDK,MAAM,wCAAyC,CACnEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBgmG,OAAQA,EACR/lG,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,EAClBh0C,UAAW,EACXC,SAAU,IACV13C,kBAAmBH,OAAOC,aAAaC,QAAQ,UAAY,OAG5DQ,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAjBR,OAAPpB,EAAOg7B,EAAA35B,KAAA25B,EAAA15B,OAAA,SAkBNtB,GAAO,wBAAAg7B,EAAAz5B,OAAA,GAAAo5B,EAAA,KACf,gBApByBt3B,EAAAwF,GAAA,OAAAwf,EAAA5mB,MAAA,KAAAC,UAAA,KAqBbolG,EAA8B,eAAApsE,EAAAh7B,YAAAC,IAAAC,MAAG,SAAAu7B,EAAO8wD,GAAgB,IAAAjsF,EAAA,OAAAL,IAAAM,MAAA,SAAA66B,GAAA,cAAAA,EAAA36B,KAAA26B,EAAA16B,MAAA,cAAA06B,EAAA16B,KAAA,EAC7CK,MACpB,mDACA,CACEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,MAIrBlrF,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAhBR,OAAPpB,EAAO86B,EAAAz5B,KAAAy5B,EAAAx5B,OAAA,SAkBNtB,GAAO,wBAAA86B,EAAAv5B,OAAA,GAAA45B,EAAA,KACf,gBApB0Cn0B,GAAA,OAAA0zB,EAAAj5B,MAAA,KAAAC,UAAA,KAsB9B+nG,EAAY,eAAAvuE,EAAAx7B,YAAAC,IAAAC,MAAG,SAAA67B,EAAOwwD,GAAgB,IAAAjsF,EAAA,OAAAL,IAAAM,MAAA,SAAAm7B,GAAA,cAAAA,EAAAj7B,KAAAi7B,EAAAh7B,MAAA,cAAAg7B,EAAAh7B,KAAA,EAC3BK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBwrF,iBAAkBL,MAGnBlrF,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAbR,OAAPpB,EAAOo7B,EAAA/5B,KAAA+5B,EAAA95B,OAAA,SAeNtB,GAAO,wBAAAo7B,EAAA75B,OAAA,GAAAk6B,EAAA,KACf,gBAjBwBvO,GAAA,OAAAgO,EAAAz5B,MAAA,KAAAC,UAAA,KAmBZq4F,EAAwB,eAAAv+D,EAAA97B,YAAAC,IAAAC,MAAG,SAAAo8B,EAAO74B,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAA27B,GAAA,cAAAA,EAAAz7B,KAAAy7B,EAAAx7B,MAAA,cAAAw7B,EAAAx7B,KAAA,EACpCK,MAAM,6CAA8C,CACxEC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO47B,EAAAv6B,KAAAu6B,EAAAt6B,OAAA,SAaNtB,GAAO,wBAAA47B,EAAAr6B,OAAA,GAAAy6B,EAAA,KACf,gBAfoC7C,GAAA,OAAAqC,EAAA/5B,MAAA,KAAAC,UAAA,KAiBxB6zF,EAAS,eAAAx5D,EAAAr8B,YAAAC,IAAAC,MAAG,SAAA2gC,EAAOp9B,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAA07B,GAAA,cAAAA,EAAAx7B,KAAAw7B,EAAAv7B,MAAA,cAAAu7B,EAAAv7B,KAAA,EAGrBK,MAAM,8BAA+B,CACzDC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAO27B,EAAAt6B,KAAAs6B,EAAAr6B,OAAA,SAaNtB,GAAO,wBAAA27B,EAAAp6B,OAAA,GAAAg/B,EAAA,KACf,gBAjBqBnH,GAAA,OAAA2C,EAAAt6B,MAAA,KAAAC,UAAA,KAkBTg0F,EAAY,eAAAtpD,EAAA1sC,YAAAC,IAAAC,MAAG,SAAAqxB,EAAO9tB,GAAa,IAAAnD,EAAA,OAAAL,IAAAM,MAAA,SAAAq8B,GAAA,cAAAA,EAAAn8B,KAAAm8B,EAAAl8B,MAAA,cAAAk8B,EAAAl8B,KAAA,EAGxBK,MAAM,+BAAgC,CAC1DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GAAS,IAAG,KAAD,EAXR,OAAPpB,EAAOs8B,EAAAj7B,KAAAi7B,EAAAh7B,OAAA,SAaNtB,GAAO,wBAAAs8B,EAAA/6B,OAAA,GAAA0vB,EAAA,KACf,gBAjBwBoI,GAAA,OAAA+S,EAAA3qC,MAAA,KAAAC,UAAA,KAmBZwgL,EAAmB,eAAAn0I,EAAAruC,YAAAC,IAAAC,MAAG,SAAAs/B,EAAO/7B,GAAa,IAAApD,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAwgC,GAAA,cAAAA,EAAAtgC,KAAAsgC,EAAArgC,MAAA,OAElB,OAD7BL,EAAQM,OAAOC,aAAaC,QAAQ,UAAY,GACtD4C,EAAS3C,kBAAoBT,EAAM0gC,EAAArgC,KAAA,EACbK,MAAM,iCAAkC,CAC5DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUqC,KAEpBpC,MAAK,SAACC,GAAQ,OAAKA,EAASC,MAAM,IAClCF,MAAK,SAACG,GACL,OAAOA,CACT,IACCC,OAAM,SAACC,GACN,OAAOA,CACT,IAAG,KAAD,EAC8B,OAd5BpB,EAAOygC,EAAAp/B,KAcbqB,QAAQe,IAAIzD,EAAS,aAAaygC,EAAAn/B,OAAA,SAC3BtB,GAAO,wBAAAygC,EAAAl/B,OAAA,GAAA29B,EAAA,KACf,gBAnB+B5F,GAAA,OAAAyU,EAAAtsC,MAAA,KAAAC,UAAA,I,uLC9QnBm8C,EAAmB,SAAC9gD,GAC/B,IAAA+X,EAAkDC,mBAAS,IAAGC,EAAApB,YAAAkB,EAAA,GAAvDm6E,EAAiBj6E,EAAA,GAAEk6E,EAAoBl6E,EAAA,GAC9CgJ,EAAoCjJ,mBAAgB,IAAGkJ,EAAArK,YAAAoK,EAAA,GAAhDi1D,EAAUh1D,EAAA,GAAEi0C,EAAaj0C,EAAA,GAChCG,EAAkCrJ,mBAAgB,IAAGsJ,EAAAzK,YAAAwK,EAAA,GAA9Cq+M,EAASp+M,EAAA,GAAEq+M,EAAYr+M,EAAA,GAC9BuE,EAAgCC,cAAgBg9B,EAAAjsC,YAAAgP,EAAA,GAAzCE,EAAQ+8B,EAAA,GACT88K,GADsB98K,EAAA,GACTl6B,iBAAY,OAC/BtG,EAAsCtK,oBAAkB,GAAMuK,EAAA1L,YAAAyL,EAAA,GAAvDu9M,EAAWt9M,EAAA,GAAEu9M,EAAcv9M,EAAA,GAClCC,EAAyCxK,mBAAgB,IAAGyK,EAAA5L,YAAA2L,EAAA,GAArDu9M,EAAat9M,EAAA,GAAE+rH,EAAe/rH,EAAA,GAErC1V,qBAAU,WAGR,GAFApH,QAAQe,IAAI1G,EAAMghD,UAEdhhD,EAAMihD,cAAe,CACvB,IAAI1yC,EAAc,GAClBD,OAAOC,KAAKvO,EAAMghD,SAAS,GAAKhhD,EAAMghD,SAAS,GAAK,IAAI53C,KACtD,SAACoF,EAAagL,GACPhL,EAAItD,cAAclC,SAAS,OAAiB,gBAARwF,GACvCD,EAAKlF,KAAKmF,EAEd,IAEFmxN,EAAa,GAADn+N,OAAK+M,IACjB4jF,EAAqB,IACrBh9B,EAAcn1D,EAAMghD,SACtB,CACF,GAAG,CAAChhD,EAAMihD,cAAejhD,EAAMghD,WAM/B,IA2CMmgC,EAAiBnhF,EAAM+Y,QAAQ3P,KAAI,SAACrI,EAAKgH,GAC7C,GAAkB,uBAAdhH,EAAIqP,MACN,OACE7P,cAACs4B,IAAM,CAELxR,OACE1mB,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAA,KAAGgB,UAAU,eAAcd,SAAEM,EAAIq8C,WACjC78C,cAAA,KAAGgB,UAAU,cAAad,SAAEM,EAAIo6D,cAGpCt3D,KAAM,SAACmV,GACL,IAC4BgnN,EAGrBC,EAJHC,EAAW,GACO,OAAlBn6M,EAASuzC,KACX4mK,EAAoB,QAAZF,EAAGj/N,EAAIqP,aAAK,IAAA4vN,OAAA,EAATA,EAAWx9N,QAAQ,KAAM,MAGpC09N,EAAoB,QAAZD,EAAGl/N,EAAIqP,aAAK,IAAA6vN,OAAA,EAATA,EAAWz9N,QAAQ,KAAM,MAItC,OACEjC,cAAA,OACEgB,UAAU,eACV,kBAAiB,gBAAkByX,EAAQ5N,WAC3ChK,MAAO,CAAE6L,QAAS,OAAQgoC,eAAgB,iBAC1C74B,YAAa,WACa,aAApBpc,EAAM+gD,WACR6+K,EAAWl4L,SACTk4L,EAAWl4L,QAAQy4L,oBAEzB,EAAE1/N,SAEFF,cAAA,QAAAE,SAAOuY,EAAQknN,MAGrB,GAhCKn/N,EAAIqP,MAoCjB,IAEMwhG,EAAuB,SAACllG,GAC5B,IACE,IAAM3D,EAAQ2D,EACRvI,EAAOnE,EAAMghD,SAASvoC,QAAO,SAACtU,GAClC,IAAIi8I,EAAgB,GAcpB,GAbAs/E,EAAUt2N,KAAI,SAACrI,GACb,IAAIqP,EAAQrP,EACRoD,EAAKiM,KAKgC,IAHrCjM,EAAKiM,GACF/E,WACAH,cACAnB,QAAQhB,EAAMmC,gBAEjBk1I,EAAS/2I,KAAKlF,EAGpB,IACIi8I,EAAS53I,OAAS,EACpB,OAAO,CAEX,IACA2sD,EAAalsD,YAAK9E,IAClBguF,EAAqBppF,EACvB,CAAE,MAAOnD,GACPD,QAAQe,IAAI,uBAAwBd,EACtC,CACF,EAEA,OACEjF,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAC4U,IAAO,CACNQ,IAAKiqN,EACLj2N,SAAU,MACVy2N,YAAU,EACVC,eAAgB,EAChBC,cAAe,EACfC,UAAU,EACVttN,OAAQ,oCAGV1S,cAACgnB,IAAM,CAELF,OAhIe,WACnB,OACE1mB,eAACuxC,IAAG,CAACkvB,OAAQ,CAAC,EAAG,GAAI3nD,MAAM,SAAQhZ,SAAA,CACjCF,cAACK,IAAG,CAAAH,SACFF,cAAC8nD,IAAmB,CAClBK,kBAAmB,0BACnBI,WAAYopC,EACZtpC,cAAegpD,EACf5oD,iBAAkB,SAClBP,aAAcloD,cAAA,KAAGgB,UAAU,iBAC3BinD,sBAAuB,wBAG1BxoD,EAAMohD,UACLzgD,eAACC,IAAG,CACFQ,MAAO,CACL6L,QAAS,OACTuzN,aAAc,SACdvrL,eAAgB,SAChB/nC,WAAY,SACZgiD,UAAW,QACXzuD,SAAA,CAEFF,cAAA,QAAAE,SAAM,iBACNF,cAAA,QAAAE,SACEF,cAAC6rG,IAAM,CAELxrF,QAASi/M,EACT7sN,SAAU,WACRw7H,EAAgB,IAChBsxF,GAAgBD,EAClB,GALK,sBAYnB,EA2FMp4M,QAASznB,EAAMihD,cACf7/C,MAAO,CAAE8U,MAAO,MAAO0B,aAAc,QACrCgQ,OAvIN,WACE5nB,EAAMkhD,kBAAkBlhD,EAAMihD,cAChC,EAsIMitG,OAAQ,WACN1f,EAAgB,IAChBsxF,GAAe,EACjB,EACAh4M,OAAQ9nB,EAAMygO,aACd54M,WAAW,EACX85B,WAAW,EACXn6B,aAAW,EACXk6B,UAAU,EAAKjhD,SAEbT,EAAM+f,QAmGNpf,eAAAH,WAAA,CAAAC,SAAA,CACG,IACDF,cAACmxE,IAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAO,GACP6oE,WAAY,CAAE6F,YAAa,WAC3B1F,iBAAiB,SACjBhyD,QAAS/f,EAAM+f,QAAQtf,SAEtB0gF,OA5GLxgF,eAAAH,WAAA,CAAAC,SAAA,CACEF,cAAAC,WAAA,CAAAC,SACEE,eAAC+wE,IAAS,CACR8V,WAAS,EACThjE,KAAM,EACNzb,MAAOmtE,EACP/0B,cAAe0+K,EAAc,WAAa,SAC1C9/M,QAAS/f,EAAM+f,QACf6xD,WAAY,CAAE6F,YAAa,WAC3B3F,QAAS9xE,EAAM+gD,UAAY,KAC3BgxB,iBAAiB,SACjBgW,UAAWg4I,EACXv/E,YAAa,SAAC9zI,GACRmzN,IAEAD,EAAWl4L,UACbk4L,EAAWl4L,QAAQmjB,MAAMpjC,SAAU,GAGT,UAAxBznB,EAAMmhD,cACJnhD,EAAMqhD,cACRrhD,EAAMqhD,aAAa,CAAC30C,EAAEvI,OAGpBnE,EAAMqhD,cACRrhD,EAAMqhD,aAAa30C,EAAEvI,MAG3B,EACA6jF,kBAAmB,SAACt7E,GAClB8hI,EAAgB9hI,EAAE3D,MACpB,EACA43I,UAAU,eACVC,UAAW,EAAEngJ,SAAA,CAEZo/N,GACCt/N,cAACs4B,IAAM,CACLsoB,cAAc,WACdutF,YAAa,CAAEx4H,MAAO,SAIzBirE,OAGL5gF,cAAAC,WAAA,CAAAC,SACGo/N,GACCt/N,cAAAC,WAAA,CAAAC,SACEE,eAACuxC,IAAG,CACF9wC,MAAO,CACL6zC,eAAgB,QAChB5zC,WAAY,MACZsiB,aAAc,QACdljB,SAAA,CAED,IACDF,cAACwnB,IAAM,CACLxmB,UAAU,qBACVQ,MAAM,OACN,aAAW,SAEXoU,QAAS,WACH4pN,EAAcv3N,OAAS,IACG,UAAxBxI,EAAMmhD,cACJnhD,EAAMqhD,cACRrhD,EAAMqhD,aAAa0+K,GAGrBA,EAAcl3N,SAAQ,SAACwwE,GACjBr5E,EAAMqhD,cACRrhD,EAAMqhD,aAAag4B,EAEvB,IAGFm1D,EAAgB,IAChBsxF,GAAgBD,GAEpB,EACAz+N,MAAO,CACLyxK,SAAU,QACVxyJ,UAAW,SACXC,OAAQ,OACRikB,WAAY,WACZ1lB,OAAQ,oBACRvR,MAAO,UACPH,SAAU,OACVyK,aAAc,MACdksB,QAAS,gBAxGpB9jC,EAAM+gD,aAmInB,C","file":"static/js/main.28937f1f.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport \"./ComponentLabel.css\";\r\ntype Props = {\r\n renderInTable?: boolean;\r\n col?: any;\r\n errors?: any;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n template: any;\r\n style?: React.CSSProperties;\r\n rightComponent?: React.ReactNode;\r\n isSubmitted?: any;\r\n};\r\n\r\nconst ComponentLabel = (props: Props) => {\r\n return (\r\n <>\r\n {!props.renderInTable && (\r\n \r\n \r\n \r\n
\r\n {props.template.label} \r\n {(props.template.type === \"an\" ||\r\n props.template.attribute.require === \"Y\") && (\r\n *\r\n )}\r\n
\r\n

\r\n {props.template &&\r\n props.template?.alter &&\r\n props.template?.alter?.replaceAll(\"|\", \"\")}\r\n

\r\n \r\n \r\n {props.rightComponent}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ComponentLabel;\r\n","export function replaceSpecialChar(str: string) {\r\n if (str === \"\") return \"\";\r\n str = str.replace(/ /g, \"_\");\r\n str = str.replace(\"'\", \"_\");\r\n str = str.replace(\";\", \"_\");\r\n str = str.replace(\",\", \"_\");\r\n str = str.replace(\"?\", \"_\");\r\n str = str.replace(\"<\", \"_\");\r\n str = str.replace(\">\", \"_\");\r\n str = str.replace(\"(\", \"_\");\r\n str = str.replace(\")\", \"_\");\r\n str = str.replace(\"@\", \"_\");\r\n str = str.replace(\"=\", \"_\");\r\n str = str.replace(\"+\", \"_\");\r\n str = str.replace(\"*\", \"_\");\r\n str = str.replace(\"&\", \"_\");\r\n str = str.replace(\"#\", \"_\");\r\n str = str.replace(\"%\", \"_\");\r\n str = str.replace(\"$\", \"_\");\r\n str = str.replace(\"|\", \"_\");\r\n str = str.replace(\"[\", \"_\");\r\n str = str.replace(\"]\", \"_\");\r\n str = str.replace(\"{\", \"_\");\r\n str = str.replace(\"}\", \"_\");\r\n str = str.replace(\":\", \"_\");\r\n str = str.replace(\"~\", \"_\");\r\n return str;\r\n}\r\n","export const GetAutoNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetAutoNumber\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetSaveRunningNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/SaveRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRvsRunning = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CanAssignMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\"api/RequestControl/CanAssignMoreThanOne\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\";\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanAssignMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CanRequestCommentMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\r\n \"api/RequestControl/CanRequestCommentMoreThanOne\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\";\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanRequestCommentMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const UploadTinyMce = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/AddTinyMce\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log(\"AddTinyMce\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/UploadFile/AddFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(data, \"data\");\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UploadFileRenderControl = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/UpLoadFileRenderControl\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch(function (response) {\r\n return response;\r\n });\r\n return respone;\r\n};\r\n","import { useContext } from \"react\";\r\nimport { MasterSettingContext } from \"../Context/MasterSettingContext\";\r\n\r\nconst useMasterSetting = () => {\r\n const context = useContext(MasterSettingContext);\r\n if (!context)\r\n throw new Error(\"MemoPage Context must be use inside MemoPage Provider\");\r\n return context;\r\n};\r\n\r\nexport default useMasterSetting;\r\n","import moment from \"moment\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\nimport {\r\n GetAutoNumber,\r\n onDatareladToLoadData,\r\n} from \"../Services/RequestControlService\";\r\nimport { LogicType } from \"../constants/logic-type\";\r\nimport { ILogicTypeHideControl } from \"../IRequestModel/ILogicModel\";\r\nimport { checkIsCorrect } from \"./LogicHelper\";\r\nexport async function genAutoNum(\r\n _control: any,\r\n autoNumFormat: IAutoNumberAttibute,\r\n template_id: any,\r\n status: any,\r\n isCopy: boolean = false\r\n) {\r\n try {\r\n if (autoNumFormat.formats.length > 0) {\r\n let autoNumberAttibute: IAutoNumberAttibute = autoNumFormat;\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n let requestBody: any = {};\r\n let formats: IAutoNumberFormat[] = autoNumberAttibute.formats;\r\n let choiceFormat = null;\r\n let tempLabels: string[] = [];\r\n let tempValues: string[] = [];\r\n for (let i = 0; i < formats.length; i++) {\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n for (let j = 0; j < con.length; j++) {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (con[j].label === layout.template.label) {\r\n if (con[j].value === layout.data.value) {\r\n if (!tempLabels.includes(con[j].label)) {\r\n tempLabels = [...tempLabels, con[j].label];\r\n tempValues = [...tempValues, con[j].value];\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < formats.length; i++) {\r\n if (choiceFormat != null) {\r\n break;\r\n }\r\n\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n let tempCheck = 0;\r\n if (tempLabels.length > 0) {\r\n for (let j = 0; j < con.length; j++) {\r\n if (\r\n tempLabels.includes(con[j].label) &&\r\n tempValues.includes(con[j].value)\r\n ) {\r\n tempCheck++;\r\n }\r\n if (tempCheck != 0) {\r\n if (tempCheck == con.length) {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type) {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (format.type === \"datetime\") {\r\n const formattedYear = moment().format(format.label);\r\n str.push(formattedYear);\r\n } else if (format.type === \"ddl\") {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any) => {\r\n if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n let newPosition = format.position;\r\n\r\n if (value !== null) {\r\n if (format.condition === \"Split\") {\r\n let newFormat = value.split(format.symbol);\r\n console.log(\"autoNumFormat_str_Split\", newFormat);\r\n for (let i = 0; i < newFormat.length; i++) {\r\n newPosition = newPosition.replace(\r\n new RegExp(\"\\\\$\\\\{\" + (i + 1) + \"\\\\}\", \"gi\"),\r\n newFormat[i]\r\n );\r\n }\r\n if (\r\n newPosition.indexOf(\"(\") > -1 &&\r\n newPosition.indexOf(\")\")\r\n ) {\r\n str.push(\r\n newPosition.substring(\r\n newPosition.indexOf(\"(\") + 1,\r\n newPosition.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(newPosition);\r\n }\r\n } else {\r\n if (value.indexOf(\"(\") > -1 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n if (str.length === choiceFormat.format.length) {\r\n if (\r\n !str.includes(\"--select--\") &&\r\n !str.includes(\"-- select --\") &&\r\n !str.includes(\"-- please select --\") &&\r\n !str.includes(\"--- please select ---\") &&\r\n !str.includes(\"--please select--\") &&\r\n !str.includes(\"---please select---\") &&\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"-- Select --\") &&\r\n !str.includes(\"-- Please Select --\") &&\r\n !str.includes(\"--- Please Select ---\") &&\r\n !str.includes(\"--Please Select--\") &&\r\n !str.includes(\"---Please Select---\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n }\r\n if (status === \"New Request\" || isCopy) {\r\n if (isCheck) {\r\n const showSymbol = autoNumFormat.showSymbol;\r\n let prefix = \"\";\r\n if (showSymbol) {\r\n prefix = str.join(\"-\") + \"-\";\r\n } else {\r\n prefix = str.join(\"\");\r\n }\r\n console.log(\"autoNumFormat_str\", str);\r\n autoNumFormat.fisrtPreix = prefix;\r\n requestBody.Prefix = prefix;\r\n requestBody.Digit = autoNumFormat.digit;\r\n requestBody.TemplateId = template_id;\r\n requestBody.Status = status;\r\n requestBody.Label =\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].template.label;\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = dd;\r\n }\r\n } else if (!isCheck) {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = \"\";\r\n }\r\n }\r\n return _control;\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>error\", error);\r\n }\r\n}\r\n\r\nexport function getValueControl(\r\n controlID: string,\r\n memoDetail: IMemoDetailModel\r\n) {\r\n let strValue: string = \"\";\r\n\r\n switch (controlID.toLowerCase()) {\r\n case \"requestor id\":\r\n strValue = memoDetail.requestor.EmployeeId.toString();\r\n break;\r\n case \"requestor code\":\r\n strValue = memoDetail.requestor.EmployeeCode;\r\n break;\r\n case \"requestor name\":\r\n strValue = memoDetail.requestor.NameEn;\r\n break;\r\n case \"requestor email\":\r\n strValue = memoDetail.requestor.Email;\r\n break;\r\n case \"requestor position\":\r\n strValue = memoDetail.requestor.PositionNameEn;\r\n break;\r\n case \"requestor department\":\r\n strValue = memoDetail.requestor.DepartmentNameEn;\r\n break;\r\n default:\r\n // handle default case here\r\n break;\r\n }\r\n\r\n return strValue;\r\n}\r\n\r\nexport const dataReleteToDD = async (conditions: any[]) => {\r\n const res = await onDatareladToLoadData(conditions);\r\n return res;\r\n};\r\nexport function balanceParentheses(expression: string) {\r\n let stack = [];\r\n let result = [];\r\n\r\n // First pass: Remove unmatched closing parentheses\r\n for (let char of expression) {\r\n if (char === \"(\") {\r\n stack.push(char);\r\n result.push(char);\r\n } else if (char === \")\") {\r\n if (stack.length > 0) {\r\n stack.pop();\r\n result.push(char);\r\n }\r\n } else {\r\n result.push(char);\r\n }\r\n }\r\n\r\n // Second pass: Remove unmatched opening parentheses\r\n stack = [];\r\n let finalResult = [];\r\n\r\n for (let i = result.length - 1; i >= 0; i--) {\r\n let char = result[i];\r\n if (char === \")\") {\r\n stack.push(char);\r\n finalResult.push(char);\r\n } else if (char === \"(\") {\r\n if (stack.length > 0) {\r\n stack.pop();\r\n finalResult.push(char);\r\n }\r\n } else {\r\n finalResult.push(char);\r\n }\r\n }\r\n\r\n // Reverse to restore the correct order\r\n return finalResult.reverse().join(\"\");\r\n}\r\n","import React, { useEffect } from \"react\";\r\n\r\ninterface Props {\r\n textHeaderProps?: any;\r\n textSubProps?: any;\r\n isRequir?: boolean;\r\n colorProps?: any;\r\n}\r\n\r\nexport const TextHeaderComponents = (props: Props) => {\r\n useEffect(() => {}, []);\r\n return (\r\n
\r\n {props.isRequir ? (\r\n \r\n \r\n {props.textHeaderProps}\r\n

\r\n\r\n \r\n *\r\n \r\n
\r\n ) : (\r\n \r\n {props.textHeaderProps}\r\n

\r\n )}\r\n\r\n \r\n {props.textSubProps}\r\n

\r\n \r\n );\r\n};\r\n","import axios from \"axios\";\r\nimport { IAttachFile } from \"../IRequestModel/IAttachfile\";\r\n\r\nexport const GetAllAttachFiles = async (\r\n dataJson: any\r\n): Promise => {\r\n const respone = await fetch(\"api/AttachFiles/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const UploadFileAttachFiles = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/AttachFiles/AddFile\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log({ errUploadAttach: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestAttachFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/AttachFiles/AddRequestFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetPort = async () => {\r\n const respone = await fetch(\"api/AttachFiles/GetPort\")\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","export const formatKeyLogicData = (logicData: any) => {\r\n try {\r\n let _logicData = logicData;\r\n _logicData.data.unshift({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < _logicData.data.length; k++) {\r\n const data = _logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _logicData.data[k] = keyValues[0];\r\n }\r\n\r\n return _logicData;\r\n } catch (error) {\r\n console.log(\"logic=>formatKeyLogicData=>error\", error);\r\n }\r\n};\r\n","import {\r\n ILogicTypeHideControl,\r\n ILogicTypeReadOnly,\r\n} from \"../IRequestModel/ILogicModel\";\r\nimport { LogicOperatorType, LogicType } from \"../constants/logic-type\";\r\nexport type advanceFormItemType = {\r\n label: string;\r\n type: string;\r\n items?: string[];\r\n columns?: { label: string; type: string; isInTable: boolean }[];\r\n};\r\n\r\nexport const enumToObject = (\r\n emun: Record\r\n): { [key: string]: string } => {\r\n const readableLabels: { [key: string]: string } = Object.fromEntries(\r\n Object.entries(emun).map(([key, value]) => [\r\n value,\r\n key.replace(/([a-z])([A-Z])/g, \"$1 $2\"),\r\n ])\r\n );\r\n return readableLabels;\r\n};\r\n\r\nexport const getTranFormAdvanceForm = (advanceForm: {\r\n items: any[];\r\n}): advanceFormItemType[] => {\r\n let result: {\r\n label: string;\r\n type: string;\r\n items?: string[];\r\n columns?: any[];\r\n }[] = [];\r\n advanceForm.items.forEach((item) => {\r\n const layout = item.layout;\r\n layout.forEach((control: any) => {\r\n const temp = control.template;\r\n if (temp.type === \"l\" || temp.type === \"em\") {\r\n return;\r\n }\r\n\r\n if (temp.type === \"dd\") {\r\n result.push({\r\n label: temp.label,\r\n type: temp.type,\r\n items: temp.attribute.items.map((e: any) => e.item),\r\n });\r\n } else if (temp.type === \"tb\") {\r\n result.push({\r\n label: temp.label,\r\n type: temp.type,\r\n columns: temp.attribute.column.map((e: any) => {\r\n return {\r\n label: e.control.template.label,\r\n type: e.control.template.type,\r\n };\r\n }),\r\n });\r\n } else {\r\n result.push({ label: temp.label, type: temp.type });\r\n }\r\n });\r\n });\r\n\r\n return result;\r\n};\r\n\r\nexport const checkIsCorrect = (\r\n aValue: string | number,\r\n operator: LogicOperatorType,\r\n bValue: string | number\r\n): boolean => {\r\n switch (operator) {\r\n case LogicOperatorType.Equal:\r\n return aValue === bValue;\r\n case LogicOperatorType.MoreThan:\r\n return Number(aValue) > Number(bValue);\r\n case LogicOperatorType.LessThan:\r\n return Number(aValue) < Number(bValue);\r\n case LogicOperatorType.GreaterThanAndEqual:\r\n return Number(aValue) >= Number(bValue);\r\n case LogicOperatorType.LessThanAndEqual:\r\n return Number(aValue) <= Number(bValue);\r\n case LogicOperatorType.NotEqual:\r\n return aValue !== bValue;\r\n case LogicOperatorType.Contain:\r\n return String(aValue).includes(String(bValue));\r\n case LogicOperatorType.StartWith:\r\n return String(aValue).startsWith(String(bValue));\r\n case LogicOperatorType.EndWith:\r\n return String(aValue).endsWith(String(bValue));\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\nexport const processHideControlLogic = (\r\n jsonValue: ILogicTypeHideControl | ILogicTypeReadOnly,\r\n _control: any,\r\n updateTo: string,\r\n controlValue?: any\r\n) => {\r\n jsonValue.conditions.forEach((con) => {\r\n let isConditionSatisfied = false;\r\n\r\n let checkValue = controlValue ? controlValue : con.value;\r\n console.log(con);\r\n\r\n if (con.comparewith) {\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout) => {\r\n if (layout.template.label === con.comparewith) {\r\n checkValue = layout.data.value;\r\n }\r\n });\r\n });\r\n console.log(checkValue);\r\n }\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout) => {\r\n if (layout.template.label === con.field.label) {\r\n isConditionSatisfied = checkIsCorrect(\r\n checkValue,\r\n con.operator,\r\n layout.data.value\r\n );\r\n }\r\n });\r\n });\r\n const objLabel: { label: string; type: string; isInTable: string } =\r\n JSON.parse(jsonValue.label);\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout: any) => {\r\n if (objLabel.isInTable && objLabel.isInTable !== \"\") {\r\n if (objLabel.isInTable === layout.template.label) {\r\n layout.template.attribute.column.forEach((col: any) => {\r\n if (col.label === objLabel.label) {\r\n if (updateTo === \"isShow\") {\r\n col.isShow = !isConditionSatisfied;\r\n } else {\r\n col.isReadOnly = con.field.isInTable\r\n ? con\r\n : isConditionSatisfied;\r\n }\r\n }\r\n });\r\n }\r\n } else {\r\n if (layout.template.label === objLabel.label) {\r\n if (updateTo === \"isShow\") {\r\n layout.isShow = !isConditionSatisfied;\r\n } else {\r\n layout.isReadOnly = isConditionSatisfied;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n });\r\n};\r\n","import { IListApprovalDetailsModel } from \"../IRequestModel/IListApprovalDetailsModel\";\r\n\r\nexport const GetApprovalsByMemoIDs = async (memoIds: number[]) => {\r\n const respone = await fetch(\"api/LineApprove/GetByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ memoIds: memoIds }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const SaveLineApprovalsByMemoId = async (\r\n memoId: number,\r\n current_approval_level: number,\r\n lineApprovals: {\r\n LineId: number;\r\n MemoId: number;\r\n Sequence: number;\r\n Emp_id: number;\r\n Signature_Id: number;\r\n ColumnJsonCondValue: string;\r\n }[]\r\n) => {\r\n const respone = await fetch(\"api/LineApprove/SaveLineApprove\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n MemoId: memoId,\r\n current_approval_level: current_approval_level,\r\n ListApprovalDetails: lineApprovals,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\nimport { IDateAttribute } from \"../IRequestModel/ITemplateDescModel\";\r\n\r\nexport const formatDateTime = (value: any, defFormat?: string) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\r\n defFormat ? defFormat : \"DD MMM yyyy\"\r\n );\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n};\r\n\r\nexport const getTimeFormat = (format: IDateAttribute) => {\r\n const symbol =\r\n format.time.symbol !== \":\" && format.time.symbol !== \"\"\r\n ? format.time.symbol\r\n : \":\";\r\n const timeFormat =\r\n format.time.use === \"Y\"\r\n ? `HH${symbol}mm${format.time.useSecond === \"Y\" ? `${symbol}ss` : \"\"}`\r\n : \"\";\r\n return timeFormat;\r\n};\r\n\r\nexport const getDateFormat = (format: IDateAttribute) => {\r\n const dateFormat =\r\n \"DD\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n \"MMM\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n `YYYY${getTimeFormat(format)}`;\r\n\r\n return dateFormat;\r\n};\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\nimport $ from \"jquery\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const InputControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n let inpId = template.label.replaceAll(\" \", \"_\");\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* {`${rowIdx}${colIdx}`} */}\r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={inpId}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component table-input\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(inpId!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n\r\nexport const InputTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n rowIdx,\r\n colIdx,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n let nId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(nId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit();\r\n e.target.select();\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit()\r\n e.target.select();\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n// export default InputTableControlComponent;\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { notification } from \"antd\";\r\nimport \"./AlertContext.css\";\r\nimport { RiCloseCircleFill } from \"react-icons/ri\";\r\nimport { TiWarning } from \"react-icons/ti\";\r\nimport { FaCheckCircle } from \"react-icons/fa\";\r\nimport { BsFillInfoCircleFill } from \"react-icons/bs\";\r\n\r\nimport { IconType } from \"react-icons/lib\";\r\ninterface AlertProviderProps {\r\n children: ReactNode;\r\n}\r\ndeclare const AlertType: [\"success\", \"info\", \"warning\", \"error\"];\r\ninterface IToggleAlertParams {\r\n type: (typeof AlertType)[number];\r\n message: string;\r\n description: string;\r\n\r\n onClose?: () => void;\r\n duration?: number;\r\n}\r\ninterface IAlertContextType {\r\n toggleAlert: (params: IToggleAlertParams) => void;\r\n}\r\nconst AlertContext = createContext(null);\r\nconst alertColors = {\r\n error: \"#b34045\",\r\n warning: \"#fecf6d\",\r\n info: \"#4091d7\",\r\n success: \"#2d884d\",\r\n};\r\nconst AlertContextProvider: React.FC = (props) => {\r\n const [api, contextHolder] = notification.useNotification();\r\n const handleToggleAlert = (params: IToggleAlertParams) => {\r\n let icon: JSX.Element = ;\r\n const iconSize = 28;\r\n if (params.type === \"error\") {\r\n icon = ;\r\n } else if (params.type === \"info\") {\r\n icon = ;\r\n } else if (params.type === \"success\") {\r\n icon = ;\r\n } else if (params.type === \"warning\") {\r\n icon = ;\r\n }\r\n api[params.type]({\r\n className: \"alert-custom\",\r\n message: params.message,\r\n description:
,\r\n placement: \"topRight\",\r\n onClose: params.onClose,\r\n duration: params.duration && params.duration,\r\n style: {\r\n borderRadius: 8,\r\n zIndex: 10000,\r\n },\r\n icon,\r\n });\r\n };\r\n return (\r\n \r\n {contextHolder}\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { AlertContextProvider, AlertContext };\r\n","import React, { createContext, useState, useEffect } from \"react\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\ntype IMasterSettingContextType = {\r\n masterSetting: { [key: string]: any };\r\n updateMasterData: (masterData: any[]) => void;\r\n getMasterSetting: () => Promise<{ [key: string]: any }>;\r\n};\r\n\r\nexport const MasterSettingContext =\r\n createContext(null);\r\n\r\nexport const MasterSettingContextProvider: React.FC = (props) => {\r\n const [masterSetting, setMaterSetting] = useState<{ [key: string]: any }>({});\r\n\r\n useEffect(() => {\r\n fecthData();\r\n }, []);\r\n\r\n const fecthData = async () => {\r\n let settingDict = await getMasterSetting();\r\n setMaterSetting(settingDict);\r\n };\r\n const updateMasterData = (masterData: any[]) => {\r\n if (masterData.length > 0) {\r\n const _masterData = masterData.filter(\r\n (e) => [\"FormatDate\"].includes(e.MasterType) && e.IsActive\r\n );\r\n let settingDict: any = {};\r\n _masterData.forEach((e: any) => {\r\n settingDict[e.MasterType] = e;\r\n });\r\n setMaterSetting(settingDict);\r\n }\r\n };\r\n\r\n const getMasterSetting = async () => {\r\n const masterData = await GetAllMasterData()\r\n .then((e) => e.filter((e: any) => [\"FormatDate\"].includes(e.MasterType)))\r\n .then((e) => e.filter((e: any) => e.IsActive))\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n\r\n let settingDict: any = {};\r\n masterData?.forEach((e: any) => {\r\n settingDict[e.MasterType] = e;\r\n });\r\n return settingDict;\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { Button, Form, Input, Popconfirm, Table } from \"antd\";\r\nimport React from \"react\";\r\n\r\ntype EditableTableProps = Parameters[0];\r\ntype ColumnTypes = Exclude;\r\n\r\nexport const formatToColumns = (columns: any[], data: any) => {\r\n let rowData: any = {};\r\n rowData[\"key\"] = data.key;\r\n for (let i = 0; i < columns.length; i++) {\r\n const column = columns[i];\r\n rowData[column.label] = data[i].value;\r\n }\r\n return rowData;\r\n};\r\n\r\nexport const formatColumn = (columns: any[], data: any) => {\r\n let newData: any[] = [];\r\n // const dataString = JSON.stringify(data);\r\n // const _data = JSON.parse(dataString);\r\n\r\n for (let i = 0; i < data?.row?.length; i++) {\r\n const row = data.row[i];\r\n let rowData: any = {};\r\n rowData[\"key\"] = i;\r\n for (let j = 0; j < row.length; j++) {\r\n const _row = row[j];\r\n rowData[columns[j]?.label] = _row.value\r\n ? _row.value\r\n : _row.item\r\n ? _row.item\r\n .map((_item: any, idx: number) =>\r\n _item === \"Y\"\r\n ? columns[j].control.template.attribute.items[idx].item\r\n : \"\"\r\n )\r\n .toString()\r\n : _row.value;\r\n // rowData[columns[j].label] = _row.value;\r\n }\r\n console.log({ rowData, row });\r\n\r\n newData.push(rowData);\r\n }\r\n const column: any[] = [];\r\n\r\n column.push({\r\n title: \"#\",\r\n key: \"index\",\r\n width: \"80px\",\r\n align: \"center\",\r\n render: (_: any, record: { key: number }, index: number) =>\r\n record.key !== undefined ?

{record.key + 1}

:

{index + 1}

,\r\n });\r\n let cal = 0;\r\n columns.map((_column: any) => {\r\n let tableWidth = (25 / 100) * 1220;\r\n let canEdit: boolean = true;\r\n\r\n if (\r\n _column.control.template.attribute.widthInTable &&\r\n _column.control.template.attribute.widthInTable > 0\r\n ) {\r\n const width = Number(_column.control.template.attribute.widthInTable);\r\n tableWidth = (width / 100) * 1220;\r\n }\r\n cal += 200;\r\n\r\n column.push({\r\n title: (\r\n
\r\n
\r\n {_column.label}\r\n {_column.control.template.attribute.require === \"Y\" && (\r\n *\r\n )}\r\n
\r\n\r\n {_column.alter}\r\n
\r\n ),\r\n dataIndex: _column.label,\r\n editable: canEdit,\r\n width: tableWidth,\r\n isShow: _column.isShow,\r\n });\r\n });\r\n // console.log({ eee: column });\r\n\r\n return { column, newData };\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport type { DatePickerProps } from \"antd\";\r\nimport { DatePicker, Space } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { RangePickerProps } from \"antd/lib/date-picker\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { getDateFormat } from \"../../../Helper/FormatDateTime\";\r\nimport { Form, Input } from \"antd\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\nimport { IDateTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\n\r\ntype InputDateProps = {\r\n ref?: any;\r\n template: IDateTemplate;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n};\r\n\r\ntype IDateControlProps = {\r\n template: IDateTemplate;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n};\r\n\r\nconst DateInputComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n const { masterSetting } = useMasterSetting();\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [action]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n } else {\r\n setAction(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\r\n template.attribute.date.symbol !== \"\"\r\n ? template.attribute.date.symbol\r\n : \"/\"\r\n );\r\n }\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"cal=>props.data.value\", dateValue);\r\n }\r\n }\r\n\r\n // return newDate;\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n }),\r\n getDateFormat(template.attribute)\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(\r\n value ? value?.format(getDateFormat(template.attribute)) : \"\"\r\n );\r\n }}\r\n status={action ? \"error\" : \"\"}\r\n inputReadOnly\r\n />\r\n \r\n );\r\n};\r\n// this one row col index\r\nexport const DatePickerControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange(value);\r\n onControlChange(template, value, false);\r\n }}\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const DatePickerTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n {\r\n // if (value !== \"\" && value !== undefined) {\r\n // return moment(value, getDateFormat(template.attribute));\r\n // } else {\r\n // return null;\r\n // }\r\n // }}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, InputNumber } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputNumberProps = {\r\n ref?: any;\r\n id?: string;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n isEditing?: any;\r\n canEditDoc: boolean;\r\n toggleEdit?: any;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputNumberComponent: React.FC = ({\r\n id,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n isEditing,\r\n toggleEdit,\r\n ref,\r\n}) => {\r\n return (\r\n <>\r\n {\r\n if (isNaN(Number(value.replaceAll(\",\", \"\")))) {\r\n return \"\";\r\n } else {\r\n if (template.attribute.useComma === \"Y\") {\r\n return Number(value.replaceAll(\",\", \"\")).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n });\r\n } else {\r\n return Number(value.replaceAll(\",\", \"\")).toFixed(\r\n Number(template.attribute.decimal)\r\n );\r\n }\r\n }\r\n }}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n // readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n value={value && value !== \"\" ? value : \"0\"}\r\n defaultValue={template.attribute.default}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n\r\n let _value = \"\";\r\n if (isNaN(Number(e.target.value.replaceAll(\",\", \"\")))) {\r\n _value = \"0\";\r\n } else {\r\n _value = Number(e.target.value.replaceAll(\",\", \"\")).toLocaleString(\r\n \"en-US\",\r\n {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n maximumFractionDigits: Number(template.attribute.decimal),\r\n }\r\n );\r\n }\r\n\r\n onChange(_value.replaceAll(\",\", \"\"));\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(id!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n onPressEnter={(e: any) => {\r\n e.target.blur();\r\n }}\r\n status={status}\r\n ref={ref}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputNumberControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n canEditDoc,\r\n checkActionPage,\r\n controlUpdate,\r\n buttonType,\r\n}) => {\r\n // console.log(colIdx, rowIdx, colAction, colText, col);\r\n const watchControlInput = useWatch({\r\n control,\r\n name: name,\r\n });\r\n\r\n // useEffect(() => {\r\n // // console.log({ watchControlInput });\r\n // // console.log({ watchControlSelect });\r\n // onControlChange(template, watchControlInput, controlUpdate);\r\n // }, [watchControlInput]);\r\n return (\r\n {\r\n // console.log({ errorserrorserrorserrors: errors });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n let intValue: any = value;\r\n if (value == 0 || value == 0.0) {\r\n intValue = \"\";\r\n }\r\n onChange(intValue);\r\n onControlChange(template, intValue, false);\r\n }}\r\n value={value}\r\n status={\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {/* {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]?.data?.value?.type ===\r\n \"required\" && (\r\n \r\n {template.label} is required.\r\n \r\n )} */}\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} : is required.\r\n \r\n )}\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n (errors?.items[rowIdx]?.layout[colIdx]?.data?.value?.type! ===\r\n \"min\" ||\r\n errors?.items[rowIdx]?.layout[colIdx]?.data?.value\r\n ?.type! === \"max\") && (\r\n \r\n {template.label} must be between {template.attribute.min}{\" \"}\r\n to {template.attribute.max}.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputNumberTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n\r\n if (!isEditing) {\r\n return (\r\n <>\r\n Number(template.attribute.max)) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min))\r\n ? {\r\n width: \"100%\",\r\n border: \"1px solid red\",\r\n borderRadius: \"6px\",\r\n }\r\n : {\r\n width: \"100%\",\r\n }\r\n }\r\n >\r\n \r\n \r\n {template.type === \"c\" &&\r\n template.attribute.min === template.attribute.max ? (\r\n <>\r\n ) : (\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) > Number(template.attribute.max) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n )) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.min) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n ))\r\n )}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n let correct = true;\r\n let msg = \"\";\r\n if (value) {\r\n const formatValue = Number(value);\r\n const formatMaxValue = Number(template.attribute.max);\r\n const formatMinValue = Number(template.attribute.min);\r\n\r\n console.log(\r\n \"value=>\",\r\n formatValue,\r\n formatMaxValue,\r\n formatMinValue,\r\n template.label\r\n );\r\n\r\n if (formatMaxValue !== 0 && formatValue > formatMaxValue) {\r\n correct = false;\r\n\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n } else if (\r\n formatMinValue !== 0 &&\r\n formatValue < formatMinValue\r\n ) {\r\n correct = false;\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n }\r\n } else if (!value && template.attribute.require === \"Y\") {\r\n correct = false;\r\n }\r\n if (!correct) {\r\n toggleAlert({\r\n description: ` `,\r\n message: msg,\r\n type: \"error\",\r\n });\r\n }\r\n return correct\r\n ? Promise.resolve()\r\n : Promise.reject(new Error(msg));\r\n },\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Space } from \"antd\";\r\nimport { Radio } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { Form } from \"antd\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: any\r\n ) => any;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputRadioProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange?: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const RadioComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n \r\n {template.attribute.multipleLine === \"N\" && (\r\n \r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {template.attribute.multipleLine === \"Y\" && (\r\n <>\r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport const RadioControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n onControlChange,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n console.log({ value });\r\n onChange(value);\r\n onControlChange(template, value.target.value, false);\r\n }}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const RadioTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller, UseFormGetValues } from \"react-hook-form\";\r\nimport {\r\n TableInputProps,\r\n} from \"../TableComponent/TableComponent\";\r\nimport {\r\n ILogicRequestBody,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { dataReleteToDD } from \"../../../Helper/RequestScreenHelper\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n buttonType: string;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n allLogicInTable: any[];\r\n getValues?: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\ntype SelectDropdownProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: string) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n onDropdownVisibleChange?: (open: boolean) => void;\r\n tableOptions?: any[];\r\n actionAlert?: any;\r\n loading?: boolean;\r\n};\r\n\r\nconst { Option } = Select;\r\n\r\nexport const SelectWithTableDropdownComponent: React.FC<\r\n SelectDropdownProps\r\n> = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n canEditDoc,\r\n onChange,\r\n tableOptions,\r\n actionAlert,\r\n onDropdownVisibleChange,\r\n loading,\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n 0\r\n ? template.attribute.items[0].item\r\n : \"--select--\"\r\n }\r\n onDropdownVisibleChange={onDropdownVisibleChange}\r\n placeholder={template.attribute.description}\r\n optionFilterProp=\"children\"\r\n loading={loading}\r\n onChange={(value) => onChange(value, \"dd\")}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.readonly === \"Y\"\r\n }\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n height: 38,\r\n }}\r\n size={\"large\"}\r\n status={action ? \"error\" : \"\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any, idx: number) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n tableOptions,\r\n actionAlert,\r\n checkActionPage,\r\n onDropdownVisibleChange,\r\n}) => {\r\n function getValueOrFallback(): string {\r\n if (value !== \"\" && value !== null) {\r\n return value;\r\n } else if (\r\n template.attribute.items &&\r\n template.attribute.items.length > 0\r\n ) {\r\n const selectedItem = template.attribute.items.find(\r\n (e: any) => e.checked === \"Y\"\r\n );\r\n\r\n return selectedItem?.item || \"--select--\";\r\n } else {\r\n return \"--select--\";\r\n }\r\n }\r\n return (\r\n <>\r\n onChange(value, \"dd\")}\r\n onDropdownVisibleChange={onDropdownVisibleChange}\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n }}\r\n size={\"large\"}\r\n status={status && \"error\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any, idx: number) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownControlComponent: React.FC = ({\r\n allLogicInTable,\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n controlUpdate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n getValues,\r\n ...props\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const logicRequest = (des: any) => {\r\n try {\r\n if (allLogicInTable && getValues) {\r\n let conditions: ILogicRequestBody[] = allLogicInTable.filter(\r\n (e) => e.loadTo === template.label\r\n );\r\n\r\n const allVal = getValues();\r\n if (conditions.length > 0) {\r\n setLoading(true);\r\n\r\n dataReleteToDD(\r\n conditions.map((con) => {\r\n if (con.Key !== \"\") {\r\n allVal.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (_layout.template.label === con.Key && _layout?.template?.description == des) {\r\n con.Value = _layout.data.value;\r\n }\r\n });\r\n });\r\n }\r\n return con;\r\n })\r\n ).then((val) => {\r\n const res = formatKeyLogicData({ data: val });\r\n if (res) {\r\n setCustomOptions([...res.data]);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n return (\r\n {\r\n if (value.data.value) {\r\n if (\r\n value.data.value !== \"---Select---\" &&\r\n value.data.value !== \"-- Please Select --\" &&\r\n value.data.value !== \"--Please Select--\" &&\r\n value.data.value !== \"--select--\"\r\n ) {\r\n return true;\r\n } else if (\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (!value.data.value) {\r\n if (\r\n !template.attribute.require ||\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value, onBlur, name, ref },\r\n formState: { errors, isSubmitted },\r\n }) => {\r\n const _value = value;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ..._value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value);\r\n }}\r\n tableOptions={customOptions}\r\n loading={loading}\r\n onDropdownVisibleChange={(open) => {\r\n if (open) {\r\n logicRequest(value?.template?.description);\r\n } else {\r\n setCustomOptions(undefined);\r\n setLoading(false);\r\n }\r\n }}\r\n actionAlert={actionAlert}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n _value === \"--select--\")\r\n }\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectDropdownTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n record,\r\n allLogicInTable,\r\n rowIdx,\r\n colIdx,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n const logicRequest = () => {\r\n if (allLogicInTable) {\r\n let conditions: ILogicRequestBody[] = allLogicInTable.filter(\r\n (e) => e.loadTo === template.label\r\n );\r\n\r\n if (conditions.length > 0) {\r\n setLoading(true);\r\n\r\n dataReleteToDD(\r\n conditions.map((con) => {\r\n if (con.Key !== \"\") {\r\n if (record[con.Key]) {\r\n con.Value = record[con.Key];\r\n }\r\n }\r\n return con;\r\n })\r\n ).then((val) => {\r\n const res = formatKeyLogicData({ data: val });\r\n if (res) {\r\n setCustomOptions([...res.data]);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n 1,\r\n validator: (_, value) => {\r\n let res = true;\r\n\r\n if (template.attribute.items.length > 1) {\r\n if (value) {\r\n if (value !== \"--select--\" && value !== \"--Please Select--\") {\r\n res = true;\r\n } else if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n } else {\r\n if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n }\r\n }\r\n\r\n return res\r\n ? Promise.resolve()\r\n : Promise.reject(`${template.label} is required.`);\r\n },\r\n },\r\n ]}\r\n >\r\n {\r\n if (open) {\r\n logicRequest();\r\n } else {\r\n setCustomOptions(undefined);\r\n setLoading(false);\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};","import { Checkbox, Form } from \"antd\";\r\nimport type { CheckboxValueType } from \"antd/es/checkbox/Group\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype CheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\nexport const CheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // console.log({ resresres: res });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n // console.log({\r\n // resresres: {\r\n // item: res,\r\n // value: _value.toString(),\r\n // },\r\n // });\r\n\r\n _onChange(test.toString(), \"cb\");\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n // console.log({ value, _res, template });\r\n\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n for (let j = 0; j < _values.length; j++) {\r\n const _value = _values[j];\r\n if (_value === item.item) {\r\n }\r\n }\r\n // if (_value[i] === \"Y\") {\r\n // _res.push(item.item);\r\n // } else {\r\n // }\r\n }\r\n\r\n return _values;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\nexport const CheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let _values: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n _values.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n\r\n _onChange(\r\n {\r\n item: res,\r\n value: _values.toString(),\r\n },\r\n \"cb\"\r\n );\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n\r\n if (value && value.item) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n\r\n if (value?.item[i] === \"Y\") {\r\n _res.push(item.item);\r\n } else {\r\n }\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const CheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n buttonType,\r\n checkActionPage,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n ? \"set-layout-required\"\r\n : \"\"\r\n }`}\r\n >\r\n {/* _value === \"N\"))\r\n ? \"checkbox-invalid\"\r\n : \"\"\r\n }\r\n options={formatOptions(template.attribute.items)}\r\n onChange={(checkValue) => onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n /> */}\r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n }\r\n />\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const CheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n // console.log({ children });\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype SelectCheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n};\r\nconst SelectCheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n onChange(test.toString(), \"cb\");\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n\r\n let _res: any[] = [];\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _values;\r\n }\r\n return [];\r\n };\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n let split = value.split(\",\");\r\n split.map((splitData: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === splitData\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={action ? \"error\" : \"\"}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nconst SelectCheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n onChange(\r\n {\r\n item: res,\r\n value: test.toString(),\r\n },\r\n \"cb\"\r\n );\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let _res: any[] = [];\r\n if (value && value.item) {\r\n if (value.value && typeof value.value == 'string') {\r\n let namesArray = value.value.replace(/,$|,\\s+$/, '').split(\",\");\r\n _res = namesArray;\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={status}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SelectCheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) &&\r\n \"error\"\r\n }\r\n actionAlert={actionAlert}\r\n />\r\n\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectCheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputTextAreaProps = {\r\n id?: string;\r\n ref?: any;\r\n colIdx: number;\r\n rowIdx: number;\r\n col?: any;\r\n colText?: number;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputTextAreaComponent: React.FC = ({\r\n id,\r\n ref,\r\n colIdx,\r\n rowIdx,\r\n col,\r\n colText,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => { \r\n const { TextArea } = Input;\r\n let tId = replaceSpecialChar(id ?? \"\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus().click();\r\n }, 300);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(e.target.value);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n console.log(\"key down\");\r\n nextTab();\r\n }\r\n }}\r\n disabled={canEditDoc && template.attribute.readonly === \"Y\"}\r\n readOnly={canEditDoc && template.attribute.readonly === \"Y\"}\r\n status={status}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputTextAreaControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n const { TextArea } = Input;\r\n let tId = template.label.replaceAll(\" \", \"_\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus();\r\n }, 300);\r\n };\r\n return (\r\n {\r\n console.log({\r\n errorserrorserrorserrors: errors,\r\n buttonType,\r\n template,\r\n field,\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputTextAreaTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n // const row = rowIdx?.toString();\r\n // const col = colIdx?.toString();\r\n // console.log(typeof row);\r\n let tId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n console.log(\"tex\", template.attribute)}\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // style={{\r\n // height: 38,\r\n // }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SelectButton } from \"primereact/selectbutton\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { ConfirmDialog, confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport \"../mainCssControl.css\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\ntype AttachmentModalProp = {\r\n visibleDialog: boolean;\r\n setVisibleDialog: (value: boolean) => void;\r\n setCheckHasValue: (value: boolean) => void;\r\n toast: any;\r\n template: any;\r\n onChange: (value: string) => void;\r\n nameFile: string;\r\n setNameFile: (value: string) => void;\r\n value: string;\r\n setValue: (value: string) => void;\r\n link: string;\r\n setLink: (value: string) => void;\r\n SharepointSiteURL: string;\r\n TinyURL: string;\r\n visibleConfirmDialog: boolean;\r\n setVisibleConfirmDialog: (value: boolean) => void;\r\n selected: any;\r\n setSelected: any;\r\n};\r\n\r\nexport const AttachmentModal: React.FC = ({\r\n visibleDialog,\r\n setVisibleDialog,\r\n setCheckHasValue,\r\n toast,\r\n template,\r\n onChange,\r\n nameFile,\r\n setNameFile,\r\n link,\r\n setLink,\r\n SharepointSiteURL,\r\n TinyURL,\r\n visibleConfirmDialog,\r\n setVisibleConfirmDialog,\r\n selected,\r\n setSelected,\r\n value,\r\n setValue,\r\n ...props\r\n}: AttachmentModalProp) => {\r\n const [fileType, setFileType] = useState(\"Attach file\");\r\n const { toggleAlert } = useAlert();\r\n const [userData] = useUserContext();\r\n const options = [\"Attach file\", \"Attach link\"];\r\n\r\n const onFileSelected = (e: any) => {\r\n let mapData: any = [];\r\n var hasInvalidFiles = false;\r\n\r\n const file = e.dataTransfer\r\n ? e.dataTransfer.files[0]\r\n : e.currentTarget.files[0];\r\n if (file === undefined) {\r\n return false;\r\n }\r\n console.log({ filefilefile: file });\r\n if (template.description) {\r\n const myArray = template.description.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n mapData.push(myArray[index]);\r\n if (file.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n e.target.value = null;\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n setSelected(undefined);\r\n return;\r\n }\r\n var filesize = file.size / 1024 / 1024;\r\n if (parseInt(template.attribute.max) < filesize) {\r\n toggleAlert({\r\n description: `File size exceeds ${template.attribute.max} MB`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n e.target.value = null;\r\n setSelected(undefined);\r\n return false;\r\n }\r\n setSelected(file);\r\n };\r\n const fileUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n File Formats Accepted {template.description}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n const linkUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n {\r\n setNameFile(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setLink(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n };\r\n const footerDialog = (onChange: any) => {\r\n return (\r\n
\r\n setVisibleDialog(false)}\r\n label=\"Close\"\r\n id=\"CloseButton\"\r\n className=\"close-set-color-button-active-request\"\r\n />\r\n uploadFile(onChange)}\r\n style={{ height: \"38px\" }}\r\n label=\"Save Changes\"\r\n id=\"SaveChangesButton\"\r\n className=\"save-set-color-button-active-request\"\r\n />\r\n
\r\n );\r\n };\r\n const uploadFile = async (onChange: any) => {\r\n try {\r\n if (value === \"Attach file\") {\r\n if (selected) {\r\n const formData = new FormData();\r\n formData.append(`files`, selected);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", \"renderControl\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n const response = await UploadFileAttachFiles(formData);\r\n console.log(response, \"response\");\r\n\r\n if (response?.data?.result) {\r\n onChange(\r\n replaceSpecialChar(selected.name) +\r\n \"|\" +\r\n replaceSpecialChar(response.data.pathUrl)\r\n );\r\n setNameFile(replaceSpecialChar(selected.name));\r\n // if (SharepointSiteURL) {\r\n // setLink(SharepointSiteURL + \"\" + response?.data.pathUrl);\r\n // } else {\r\n setLink(response?.data.pathUrl?.replaceAll(\" \", \"_\"));\r\n // }\r\n }\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please select a file.\");\r\n }\r\n } else if (value === \"Attach link\") {\r\n console.log(\"at+>\", link);\r\n if (link !== undefined) {\r\n onChange(nameFile?.replaceAll(\" \", \"_\") + \"|\" + link);\r\n setNameFile(nameFile?.replaceAll(\" \", \"_\"));\r\n setLink(link);\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please insert a link.\");\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"At=>error\", error);\r\n }\r\n };\r\n const confirm1 = (msg: string) => {\r\n confirmDialog({\r\n message: msg,\r\n header: \"Alert\",\r\n icon: \"pi pi-info-circle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n };\r\n return (\r\n <>\r\n setVisibleDialog(false)}\r\n draggable={false}\r\n footer={footerDialog(onChange)}\r\n >\r\n setValue(e.value)}\r\n >\r\n\r\n {value === \"Attach file\" && fileUpload()}\r\n {value === \"Attach link\" && linkUpload()}\r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Form as AntForm, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { AttachmentModal } from \"./AttachmentModal\";\r\n\r\ntype Props = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputAttachmentProps = {\r\n ref?: any;\r\n rowIdx?: any;\r\n colIdx?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n id?: string;\r\n};\r\n\r\nexport const AttachmentComponent: React.FC = ({\r\n ref,\r\n rowIdx,\r\n colIdx,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n id,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}: InputAttachmentProps) => {\r\n const toast = useRef(null);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n const [link, setLink] = useState();\r\n const [nameFile, setNameFile] = useState(\"\");\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] =\r\n useState(false);\r\n const [selected, setSelected] = useState();\r\n const [uploadType, setUploadType] = useState(\"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n deFaultValue();\r\n }, [value]);\r\n\r\n const deFaultValue = async () => {\r\n try {\r\n const def = template.attribute.default || \"\";\r\n if (!value && !def) {\r\n return;\r\n }\r\n if (value === \"\" && def === \"\") {\r\n return;\r\n }\r\n\r\n const [nameFile, linkFile] = value?.split(\"|\") || def?.split(\"|\");\r\n const linkUrl = linkFile;\r\n\r\n setLink(linkUrl);\r\n setNameFile(nameFile);\r\n setCheckHasValue(true);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n // function openWindow() {\r\n // var pathArray = link.split(\"/\");\r\n // console.log(\"at=>link\", link);\r\n // console.log(\"at=>pathArray\", pathArray);\r\n // console.log({ link });\r\n // const _baseUrl = window.location.hostname;\r\n\r\n // const TmpUrl =\r\n // process.env.NODE_ENV === \"development\"\r\n // ? \"qar2.wolfapprove.com\"\r\n // : _baseUrl;\r\n // console.log({ ddd: `https://${TmpUrl}/${link}` });\r\n\r\n // window.open(`https://${TmpUrl}/${link}`, \"_blank\", \"noreferrer\");\r\n // }\r\n async function openWindow() {\r\n var pathArray = link.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (location.host !== \"localhost:5001\") {\r\n let _port = location.port;\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n position=\"top\"\r\n accept={acceptUpload}\r\n acceptClassName=\"p-button p-component p-button-raised p-button-success\"\r\n rejectClassName=\"p-button p-component p-button-outlined p-button-danger\"\r\n draggable={false}\r\n />\r\n \r\n );\r\n };\r\n\r\n const acceptUpload = () => {\r\n if (uploadType === \"Attach file\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else if (uploadType === \"Attach link\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else {\r\n setCheckHasValue(false);\r\n setSelected(undefined);\r\n setLink(\"\");\r\n setNameFile(\"\");\r\n setUploadType(\"Attach file\");\r\n onChange(\"\");\r\n setIsModalVisible(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {confirmUploadDialog()}\r\n
\r\n \r\n {\r\n if (checkHasValue) {\r\n openWindow();\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n borderBottomRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n \r\n\r\n {checkHasValue && template.attribute.readonly !== \"Y\" && (\r\n {\r\n setUploadType(\"Clear\");\r\n\r\n setVisibleConfirmDialog(true);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const AttachmentControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n <>\r\n (\r\n <>\r\n \r\n \r\n
\r\n \r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const AttachmentTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nconst _userData = JSON.parse(localStorage?.getItem(\"userData\") || \"null\") || { employeeData: {} };\r\n\r\n\r\nconst employeeData = _userData.employeeData;\r\nconst initialSession: IUserModel = employeeData;\r\n\r\nexport const UserContext = createContext<\r\n [IUserModel, (session: IUserModel) => void]\r\n>([initialSession, () => {}]);\r\n\r\nexport const useUserContext = () => useContext(UserContext);\r\n\r\nexport const UserContextProvider: React.FC = (props) => {\r\n const [userData, setUserData] = useState(initialSession);\r\n const defaultUserContext: [IUserModel, typeof setUserData] = [\r\n userData,\r\n setUserData,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AlertContext } from \"../Context/AlertContext\";\r\n\r\nconst useAlert = () => {\r\n const context = useContext(AlertContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useAlert;\r\n","import {\r\n GetAttachmentFilesByMemoId,\r\n GetMemoById,\r\n GetRefDocFormTable,\r\n} from \"../Services/MemoService\";\r\nimport { formatColumn } from \"./formatColumn\";\r\n\r\nexport type RefResult = {\r\n items: any[];\r\n listRefDocsDetail: any[];\r\n listFileAttachDetails: any[];\r\n errorMessage?: string;\r\n};\r\n\r\nexport const onChanceRef = async (\r\n refTempSelected: any,\r\n memoDetail: any,\r\n listFormNames: any,\r\n refAttribute: any,\r\n currentTemp: any,\r\n _onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n isRef: boolean\r\n ) => void\r\n) => {\r\n let result: RefResult = {\r\n items: [],\r\n listRefDocsDetail: [],\r\n listFileAttachDetails: [],\r\n };\r\n\r\n try {\r\n if (memoDetail) {\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let template_desc = currentTemp;\r\n let _listRefDocsDetail: any[] = [];\r\n let listFileAttachDetails: any[] = [];\r\n let docsCode: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormNames?.RefDocColumn);\r\n if (\r\n listFormNames?.RefTemplate !== \"\" &&\r\n listFormNames?.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormNames?.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n\r\n for (const refTems of refTempSelected) {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormNames?.template_id,\r\n template_Name: listFormNames?.template_name,\r\n memoSubject: listFormNames?.subject,\r\n };\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n // docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else if (col.Value === \"_DocumentAmount\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n } else if (col.Value === \"_RequestorEmployeeName\") {\r\n col.ControlValue = { value: refTems.RNameEn };\r\n } else if (col.Value === \"_RequestorEmployeePositionTh\") {\r\n col.ControlValue = { value: refTems.RPositionTh };\r\n } else if (col.Value === \"_RequestorEmployeePositionEn\") {\r\n col.ControlValue = { value: refTems.RPositionEn };\r\n } else if (col.Value === \"_RequestorEmployeeDepartmentTh\") {\r\n col.ControlValue = { value: refTems.DepartmentTh };\r\n } else if (col.Value === \"_RequestorEmployeeDepartmentEn\") {\r\n col.ControlValue = { value: refTems.DepartmentEn };\r\n } else if (col.Value === \"_InformationFormName\") {\r\n col.ControlValue = { value: refTems.TemplateName };\r\n } else if (col.Value === \"_InformationRequestDate\") {\r\n col.ControlValue = { value: refTems.RequestDate };\r\n } else if (col.Value === \"_InformationCompany\") {\r\n col.ControlValue = { value: refTems.CompanyName };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel.pop();\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n let originDefaultValue = \"\";\r\n selectedColumn.items.map((selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (\r\n selColLabel === _layout.template.label &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (refTable.label === objTable.Value) {\r\n // originDefaultValue =\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n });\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (refAttribute?.mode !== \"Single\") {\r\n //adding if condition to check value of colcontrol\r\n if (col.ControlValue) {\r\n tableRows = col.ControlValue;\r\n }\r\n }\r\n selectedColumn.items[sourceRow].layout[0]?.data?.row?.map(\r\n (row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: null });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n }\r\n );\r\n console.log(\"tableRows\", tableRows);\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n valibCol.push(col);\r\n }\r\n });\r\n // });\r\n // log\r\n console.log(\"ref=>valibCol\", valibCol);\r\n template_desc.map((item: any, rowIdx: number) => {\r\n item.layout.map((_layout: any, colIdx: number) => {\r\n valibCol.map((col: any) => {\r\n if (!col.ControlValue) return;\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (\r\n JSON.stringify(_layout.data.row) !==\r\n JSON.stringify(col.ControlValue)\r\n ) {\r\n _layout.template.attribute.column.forEach(\r\n (originCol: any, _colIdx: number) => {\r\n col.ControlValue.map((refCol: any) => {\r\n if (refCol[_colIdx]?.value === null) {\r\n if (\r\n originCol.control.template.attribute.default !==\r\n \"\"\r\n ) {\r\n refCol[_colIdx].value =\r\n originCol.control.template.attribute.default;\r\n }\r\n }\r\n });\r\n }\r\n );\r\n\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n }\r\n } else if (\r\n col.TypeControl != \"Table\" &&\r\n _layout.template.type != \"l\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (_layout.data?.value !== col.ControlValue?.value) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n } else {\r\n // Nothing do something because template type is heading\r\n }\r\n });\r\n });\r\n });\r\n if (\r\n listFormNames.RefDocDisplay.split(\",\")[5] &&\r\n listFormNames.RefDocDisplay.split(\",\")[5] === \"Yes\"\r\n ) {\r\n let _res: any[] = [];\r\n await getMemoForAttch(refTems.MemoId).then((e: any) => {\r\n if (e) {\r\n result.listFileAttachDetails = [...listFileAttachDetails, ...e];\r\n }\r\n });\r\n }\r\n }\r\n\r\n result.items = template_desc;\r\n result.listRefDocsDetail = _listRefDocsDetail;\r\n }\r\n }\r\n\r\n return result;\r\n } catch (error: any) {\r\n console.log(\"ref=>error\", error);\r\n\r\n result.errorMessage = error;\r\n return result;\r\n }\r\n};\r\n\r\nconst getMemoForAttch = async (memoId: number) => {\r\n const requestBody = {\r\n memoid: memoId,\r\n };\r\n let res: any[] = [];\r\n await GetAttachmentFilesByMemoId(requestBody).then((e: any) => {\r\n res = e;\r\n });\r\n return res;\r\n};\r\n\r\nexport const fetchRefDocFormTable = async (memoDetail: any, template: any) => {\r\n let tempAtt = template.attribute;\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: \"\",\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n\r\n if (refDetails) {\r\n if (refDetails?.dt_Report?.length > 0) {\r\n // let refColumn: any[] = [];\r\n // Object.keys(refDetails.dt_Report[0]).map((key: any) => {\r\n // if (!key.includes(\"Memo_\")) {\r\n // refColumn.push({ key: key, header: key });\r\n // }\r\n // });\r\n // setRefDocOptions([...refDetails.dt_Report]);\r\n return refDetails.dt_Report;\r\n } else {\r\n return [];\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","export const GetAllDynamic = async (\r\n apiName: any,\r\n requestBody?: any,\r\n queryString?: any\r\n) => {\r\n try {\r\n if (!requestBody && window.localStorage.getItem(\"email\")) {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody = { UserPrincipal: email, ConnectionString: \"\" };\r\n }\r\n\r\n let url = \"\";\r\n if (queryString) {\r\n let urlParams = new URLSearchParams({\r\n Scopes: queryString?.Scopes || \"\",\r\n IsActiveOnly: queryString?.IsActiveOnly || \"\",\r\n });\r\n url = \"/api/\" + apiName + \"?\" + urlParams.toString();\r\n } else {\r\n url = \"/api/\" + apiName;\r\n }\r\n\r\n const respone = await fetch(url, requestBody)\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return ex;\r\n });\r\n\r\n return respone;\r\n } catch (error) {\r\n console.log(\"service=>GetAllDynamic=>error\", error);\r\n }\r\n};\r\n\r\nexport const updateDynamic = async (apiName: any, formBody: any) => {\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.substring(0, apiName.length - 1);\r\n }\r\n\r\n const data = {\r\n name: apiName !== \"MasterData\" ? apiName.replace(\"Master\", \"\") : apiName,\r\n model: JSON.stringify(formBody),\r\n };\r\n const respone = await fetch(\"/api/MasterData/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport NumberComponent from \"../../ControlComponents/NumberComponent/NumberComponent\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport CheckboxComponent from \"../../ControlComponents/CheckboxComponent/CheckboxComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AttachmentComponent from \"../../ControlComponents/AttachmentComponent/AttachmentComponent\";\r\nimport DropdownComponent from \"../../ControlComponents/DropdownComponent/DropdownComponent\";\r\nimport RadioComponent from \"../../ControlComponents/RadioComponent/RadioComponent\";\r\nimport CalendarComponent from \"../../ControlComponents/CalendarComponent/CalendarComponent\";\r\nimport ShortTextComponent from \"../../ControlComponents/InputTextComponent/ShortTextComponent/ShortTextComponent\";\r\nimport TextareaComponent from \"../../ControlComponents/InputTextComponent/TextareaComponent/TextareaComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\n// import TableComponent from \"../../ControlComponents/TableComponent/TableComponent\";\r\nimport { SummaryComponent } from \"../../ControlComponents/SummaryComponent/SummaryComponent\";\r\nimport { Item } from \"rc-menu\";\r\nimport { AnyMap } from \"@reduxjs/toolkit/node_modules/immer/dist/internal\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n // GetRunningNumber,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllApprovals,\r\n GetApprovalByTemplate,\r\n} from \"../../../Services/ApprovalService\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\ninterface Props {\r\n coreRender: boolean;\r\n setCoreRender: any;\r\n formTemplate: any;\r\n setInformationMethodProp: (e: any) => void;\r\n errorResult: any;\r\n statusMemoDetail: boolean;\r\n errorTable: any;\r\n setSummary: (respone: any) => void;\r\n templateID: any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n requestDetail: any;\r\n setRequestDetail: any;\r\n setLineApporve: any;\r\n getInformationTemplateProp(): any;\r\n setOnLoading: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n}\r\n\r\nexport const CoreControllerComponent = (props: Props) => {\r\n const [advanceForm, setAdvanceForm] = useState({});\r\n const [tableSummary, setTableSummary] = useState([]);\r\n const [summary, setSummary] = useState(0);\r\n const [isShowSummary, setIsShowSummary] = useState(false);\r\n const [formLoading, setFormLoading] = useState(true);\r\n const [formComponent, setFormComponent] = useState();\r\n const [autoNumFormat, setAutoNumFormat] = useState();\r\n const [autoNumDigit, setAutoNumDigit] = useState();\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [valueTable, setValueTable] = useState([]);\r\n const [runningNumber, setRunningNumber] = useState(\"\");\r\n const [rvsPosition, setRvsPosition] = useState();\r\n const [currentLogic, setCurrentLogic] = useState(\"\");\r\n const userData: any = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n\r\n useEffect(() => {\r\n if (isShowSummary) {\r\n sumValue();\r\n }\r\n }, [isShowSummary]);\r\n\r\n const [isFirstLoad, setIsFirstLoad] = useState(true);\r\n useEffect(() => {\r\n setAdvanceForm(JSON.parse(props.formTemplate));\r\n // console.log(\"ddddddddddddddd\");\r\n if (tableSummary.length === 0) {\r\n setSumTable();\r\n }\r\n // props.setShowControl([]);\r\n // console.log(\"props.form\", JSON.parse(props.formTemplate));\r\n }, [props.formTemplate]);\r\n\r\n useEffect(() => {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n // if (props.showControl?.length === 0) {\r\n // var arr = Array.from(Array(advanceForm.items.length), () =>\r\n // new Array(2).fill(true)\r\n // );\r\n // // props.setShowControl([...arr]);\r\n // }\r\n if (runningNumber === \"\") {\r\n getRevision();\r\n }\r\n // sumValue();\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [advanceForm]);\r\n useEffect(() => {\r\n if (valueTable.length > 0) {\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [valueTable]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.logic.length > 0 &&\r\n props.isInitialLogic === false &&\r\n advanceForm?.items?.length > 0\r\n ) {\r\n checkLogic();\r\n }\r\n }, [props.logic, advanceForm]);\r\n\r\n useEffect(() => {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n if (props.listLogicData?.length > 0) {\r\n setIsFirstLoad(false);\r\n }\r\n if (\r\n props.listLogicData?.length > 0 &&\r\n props.isInitialLogic &&\r\n !isFirstLoad\r\n ) {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datasourcerelated\") {\r\n if (logic.data.relateGroup.length > 0) {\r\n onDataSourceLoadRelated(\r\n logic.data.relateGroup,\r\n logic.data.dataJson\r\n );\r\n }\r\n }\r\n if (logic.name === \"datareladtoloaddata\") {\r\n if (logic.data.length > 0) {\r\n onChangeAttributeForm(logic.data, logic.row, logic.col);\r\n }\r\n }\r\n if (logic.name === \"dataajaxloadtable\") {\r\n onDataAjaxLoadTable(\r\n logic.row,\r\n logic.col,\r\n logic.data.label,\r\n logic.data.dataJson\r\n );\r\n }\r\n if (logic.name === \"reference\") {\r\n onDataRefLoadTable(logic.row, logic.col, logic.data.dataJson);\r\n }\r\n }\r\n }\r\n if (props.listLogicData?.length > 0 && props.isInitialLogic) {\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datalineapprove\") {\r\n onLoadLineApproveWithLogic(logic.data.dataJson);\r\n }\r\n }\r\n }\r\n }, [props.listLogicData]);\r\n async function getRevision() {\r\n let _advanceForm: any = advanceForm;\r\n const detail = props.requestDetail;\r\n\r\n let requestBody: any = {};\r\n if (rvsPosition !== undefined) {\r\n let items: any[] = [];\r\n let rvsTemp =\r\n _advanceForm.items[rvsPosition.rowIdx].layout[rvsPosition.colIdx];\r\n requestBody.TemplateId = detail.memoDetail.template_id;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = rvsTemp.template.attribute.digit;\r\n requestBody.Labelrevision = rvsTemp.template.label;\r\n requestBody.Alter = rvsTemp.template.alter;\r\n\r\n if (rvsTemp.template.attribute.conditions.length > 0) {\r\n rvsTemp.template.attribute.conditions.map((con: any) => {\r\n _advanceForm.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({ Label: con.label, value: layout.data.value });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n const revision = await GetRvsRunning(requestBody);\r\n if (revision) {\r\n setRunningNumber(revision.item);\r\n }\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // if (\r\n // // props.showControl?.length > 0 &&\r\n // // !props.showControl?.every((e: any) => e === true) &&\r\n // advanceForm !== undefined &&\r\n // Object.keys(advanceForm).length !== 0\r\n // ) {\r\n // renderControl(JSON.parse(props.formTemplate));\r\n // setFormLoading(true);\r\n // }\r\n // }, [props.showControl]);\r\n\r\n const onClickLogic = async (\r\n template: any,\r\n rowIdx: Number,\r\n colIdx: Number\r\n ) => {\r\n // console.log(\"template\", template);\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let requestLogic: any = [];\r\n let relateGroup: any = [];\r\n let conditions: any = [];\r\n let lineLogic: string = \"\";\r\n const _logic: any = props.logic;\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n // console.log(logic);\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n if (logic.logictype === \"datasourcerelated\") {\r\n for (let j = 0; j < jsonObject.relatedvalue.length; j++) {\r\n const relateValue = jsonObject.relatedvalue[j];\r\n // console.log(relateValue, template.template.description);\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n relateValue.label === _layout.template.label &&\r\n template.template.description ===\r\n _layout.template.attribute.description &&\r\n jsonObject.label === template.template.label\r\n ) {\r\n // console.log(\r\n // \"dddddddddddddddddddddddddddd\",\r\n // relateValue.label,\r\n // template.template,\r\n // _layout.template\r\n // );\r\n relateGroup.push({\r\n group: relateValue,\r\n row: k,\r\n col: l,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n // console.log(\"ddddddddddd\", dataJson, relateGroup);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n relateGroup,\r\n dataJson,\r\n },\r\n });\r\n // onDataSourceLoadRelated(relateGroup, dataJson);\r\n }\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n labelaction.label === template.template.label &&\r\n jsonObject.autoloadvaluelabel.label ===\r\n _layout.template.label\r\n ) {\r\n // console.log(\r\n // \"labelaction.label\",\r\n // labelaction.label,\r\n // template.template.label,\r\n // _layout.template.label\r\n // );\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n const data: any = await onDatareladToLoadData([dataJson]);\r\n\r\n if (data.length > 0) {\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: data[0].data,\r\n row: k,\r\n col: l,\r\n });\r\n // onChangeAttributeForm(data[0].data, k, l);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"dataajaxloadtable\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.type === \"tb\") {\r\n // console.log(\"dsssssssssssssdasdddddddd\", _layout.template);\r\n for (\r\n let m = 0;\r\n m < _layout.template.attribute.column.length;\r\n m++\r\n ) {\r\n const tbColumn = _layout.template.attribute.column[m];\r\n if (\r\n tbColumn.label === jsonObject.autoloadvaluelabel.label\r\n ) {\r\n const dataJson = {\r\n Key: labelaction.label,\r\n Value:\r\n template.data.value !== undefined\r\n ? template.data.value.toString()\r\n : \"\",\r\n logicid: logic.logicid,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n label: jsonObject.autoloadvaluelabel.label,\r\n dataJson,\r\n },\r\n row: i,\r\n col: j,\r\n });\r\n // const data = onDataAjaxLoadTable(\r\n // i,\r\n // j,\r\n // jsonObject.autoloadvaluelabel.label,\r\n // dataJson\r\n // );\r\n setCurrentLogic(logic.logictype);\r\n // console.log(\"ddddddEEEEEEEEEE\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"reference\") {\r\n let loadTo = { row: -1, col: -1 };\r\n let refFilter: any = [];\r\n let loadToField = jsonObject.Column;\r\n mstTable = jsonObject.Mastertable || \"\";\r\n mstType = jsonObject.Type || \"\";\r\n mColumn = jsonObject.MColumn || \"\";\r\n columnAll = jsonObject.ColumnAll || \"\";\r\n for (let j = 0; j < jsonObject.Filter.length; j++) {\r\n const controlFilter = jsonObject.Filter[j];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.label === jsonObject.label) {\r\n loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n if (_layout.template.label === controlFilter.TBColumn) {\r\n refFilter.push({\r\n mstColumn: controlFilter.MSTColumn,\r\n tbColumn: _layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const dataJson = {\r\n mstTable,\r\n mstType,\r\n mColumn,\r\n columnAll,\r\n refFilter,\r\n loadToField,\r\n };\r\n setCurrentLogic(logic.logictype);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n row: loadTo.row,\r\n col: loadTo.col,\r\n });\r\n // onDataRefLoadTable(loadTo.row, loadTo.col, dataJson);\r\n }\r\n if (logic.logictype === \"datalineapprove\") {\r\n // console.log(\"datalineapprove\");\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (jsonObject.label === _layout.template.label) {\r\n // console.log(\r\n // \"_layout.data.value\",\r\n // _layout.data.value,\r\n // _layout.template.label\r\n // );\r\n\r\n conditions.push({\r\n label: _layout.template.label,\r\n value:\r\n _layout.data.value === null\r\n ? \"\"\r\n : _layout.template.type === \"c\"\r\n ? Number(_layout.data.value).toLocaleString()\r\n : _layout.data.value,\r\n });\r\n lineLogic = logic.logicid;\r\n }\r\n }\r\n }\r\n if (conditions.length > 0) {\r\n const dataJson = {\r\n logicid: lineLogic,\r\n conditions: conditions,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n });\r\n // onLoadLineApproveWithLogic(dataJson);\r\n conditions = [];\r\n lineLogic = \"\";\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // props.setListLogicData((prevState: any) => {\r\n // if (JSON.stringify(prevState) !== JSON.stringify(requestLogic)) {\r\n // return requestLogic;\r\n // }\r\n // });\r\n if (JSON.stringify(props.listLogicData) !== JSON.stringify(requestLogic)) {\r\n\r\n props.setListLogicData([...requestLogic]);\r\n }\r\n console.log(\"requestLogic\", requestLogic, props.listLogicData);\r\n };\r\n const checkLogic = async () => {\r\n const _logic = props.logic;\r\n props.setIsInitialLogic(true);\r\n // console.log(\"checklogic\");\r\n console.log(\"_logic_logic\", props.setIsInitialLogic);\r\n\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empId = userData.employeeData.EmployeeId;\r\n // let _showControl: any = props.showControl;\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let lineSeq = 0;\r\n let currentApproverLevel =\r\n props.requestDetail.memoDetail.current_approval_level;\r\n // let position = [];\r\n // let labelAction = [];\r\n for (let z = 0; z < _logic.length; z++) {\r\n const element = _logic[z];\r\n if (element.jsonvalue !== null && element.jsonvalue !== \"[]\") {\r\n if (element.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[z].jsonvalue);\r\n // console.log(\"Logic=>jsonObject\", jsonObject);\r\n\r\n let positionTable = { row: -1, col: -1 };\r\n\r\n if (element.logictype === \"datasourceload\") {\r\n for (let i = 0; i < advanceForm.items.length; i++) {\r\n const _advanceForm = advanceForm.items[i];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let j = 0; j < _advanceForm.layout.length; j++) {\r\n const _layout = _advanceForm.layout[j];\r\n if (_layout.template.label === jsonObject.label) {\r\n // console.log(\"_layout.template.label\", _layout.template.label);\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n dataSourceLoadGroup.push({\r\n col: j,\r\n row: i,\r\n data: element.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"role\") {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n // console.log(\r\n // \"_layout_layout_layout_layout.label\",\r\n // _layout\r\n // );\r\n // console.log(\r\n // \"fieldaction.label\",\r\n // fieldaction.lable,\r\n // \"_layout.template.label\",\r\n // _layout.template.label\r\n // );\r\n for (let n = 0; n < jsonObject.roleids.length; n++) {\r\n const roleid = jsonObject.roleids[n].id;\r\n for (let m = 0; m < roles.length; m++) {\r\n const role = roles[m];\r\n if (roleid != role.RoleId) {\r\n // console.log(\r\n // \"_showControl\",\r\n // _showControl,\r\n // \":\",\r\n // k,\r\n // \":\",\r\n // l\r\n // );\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"approvetype\") {\r\n // for (let i = 0; i < props.requestDetail.listApprovalDetails.length; i++) {\r\n // const approver = props.requestDetail.listApprovalDetails[i];\r\n // if (approver.emp_id === empId ) {\r\n // lineSeq = approver.sequence\r\n // }\r\n // }\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n // const approvals = await GetAllApprovals({\r\n // memoid: props.requestDetail.memoDetail.memoid,\r\n // });\r\n const approvals = await fetch(\"api/LineApprove/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n memoid: props.requestDetail.memoDetail.memoid,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n for (\r\n let n = 0;\r\n n < jsonObject.approvetypeids.length;\r\n n++\r\n ) {\r\n const typeid = jsonObject.approvetypeids[n].typeid;\r\n\r\n for (let m = 0; m < approvals.length; m++) {\r\n const approver = approvals[m];\r\n\r\n // if (\r\n // props.requestDetail.memoDetail\r\n // .current_approval_level == approver.sequence\r\n // ) {\r\n // console.log(\"dddddddddddddddddddddd\");\r\n\r\n // _showControl[k][l] = false;\r\n // }\r\n if (\r\n props.requestDetail.memoDetail\r\n .current_approval_level != approver.sequence ||\r\n approver.emp_id != empId ||\r\n typeid != approver.ApproveType\r\n ) {\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let logicGroupData: any[] = [];\r\n // console.log(\"dataSourceRelatedToLoadGroup\", dataSourceRelatedToLoadGroup);\r\n if (dataSourceLoadGroup.length > 0) {\r\n const response = await onDataSourceLoad(dataSourceLoadGroup);\r\n logicGroupData.push({ type: \"onDataSourceLoad\", data: response });\r\n // console.log(\"responseGroup\", response);\r\n }\r\n if (dataSourceRelatedToLoadGroup.length > 0) {\r\n const response = await onDatareladToLoadData(\r\n dataSourceRelatedToLoadGroup\r\n );\r\n logicGroupData.push({ type: \"onDatareladToLoadData\", data: response });\r\n // console.log(\"onDatareladToLoadData\", response);\r\n }\r\n onChangeLogicForm(logicGroupData);\r\n // props.setShowControl([..._showControl]);\r\n setFormLoading(false);\r\n };\r\n const onChangeLogicForm = (logicGroupData: any) => {\r\n let _advanceForm = advanceForm;\r\n props.setIsInitialLogic(true);\r\n for (let i = 0; i < logicGroupData.length; i++) {\r\n const logicGroup = logicGroupData[i];\r\n if (logicGroup.type === \"onDataSourceLoad\") {\r\n for (let j = 0; j < logicGroup.data.length; j++) {\r\n let logicData = logicGroup.data[j];\r\n logicData.data.push({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < logicData.data.length; k++) {\r\n const data = logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n logicData.data[k] = keyValues[0];\r\n }\r\n _advanceForm.items[logicData.row].layout[\r\n logicData.col\r\n ].template.attribute.items = logicData.data;\r\n if (\r\n _advanceForm.items[logicData.row].layout[logicData.col].data\r\n .value !== \"-- Please Select --\"\r\n ) {\r\n _advanceForm.items[logicData.row].layout[logicData.col].data.value =\r\n \"-- Please Select --\";\r\n }\r\n\r\n // console.log(\"datasource\", logicData);\r\n }\r\n }\r\n }\r\n // console.log(\"JSON.stringify(_advanceForm)\", JSON.stringify(_advanceForm));\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n\r\n function setSumTable() {\r\n const items = JSON.parse(props.formTemplate).items;\r\n let tableArray: any[] = [];\r\n\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"tb\") {\r\n console.log(\"table=>layout.template\", layout.template);\r\n if (layout.template.attribute.column) {\r\n for (let i = 0; i < layout.template.attribute.column.length; i++) {\r\n const column = layout.template.attribute.column[i];\r\n if (column.control.template.type === \"c\") {\r\n if (column.control.template.attribute.summary === \"Y\") {\r\n tableArray.push({\r\n tableLabel: layout.template.label,\r\n total: 0,\r\n });\r\n\r\n setTableSummary([...tableArray]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n\r\n const onDataRefLoadTable = async (row: any, col: any, dataJson: any) => {\r\n setFormLoading(true);\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n\r\n let query = `SELECT * FROM ${dataJson.mstTable} WHERE `;\r\n\r\n for (let i = 0; i < dataJson.refFilter.length; i++) {\r\n const refFilter = dataJson.refFilter[i];\r\n if (i === 0 && dataJson.refFilter.length > 1) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}' AND `;\r\n }\r\n if (i % 2 === 0) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n if (i % 2 !== 0 && i !== 0) {\r\n query = query + ` AND ${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n }\r\n if (dataJson.mstTable === \"MSTMasterData\" && dataJson.mstType.length > 0) {\r\n query = query + ` AND MasterType='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.mColumn.length > 0) {\r\n query = query + ` AND ${dataJson.mColumn}='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.columnAll.length > 0) {\r\n query = query + ` AND ${dataJson.columnAll}='All'`;\r\n }\r\n // console.log(\"queryquery\", query);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n console.log(\"dddddddddddddddddddsadddddata\", data);\r\n setFormLoading(false);\r\n\r\n onChangeRefValueTableForm(data.DT, dataJson.loadToField, row, col);\r\n });\r\n };\r\n const onDataAjaxLoadTable = async (\r\n row: any,\r\n col: any,\r\n autoloadvaluelabel: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\r\n // \"row, col, dataJson\",\r\n // row,\r\n // col,\r\n // JSON.stringify(dataJson),\r\n // autoloadvaluelabel\r\n // );\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n console.log(\"listLogicData\", data);\r\n\r\n onChangeAttributeTableForm(data, row, col, autoloadvaluelabel);\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n };\r\n const onLoadLineApproveWithLogic = async (dataJson: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = userData.employeeData;\r\n let _dataJson = dataJson;\r\n if (_dataJson.length > 0) {\r\n for (let i = 0; i < _dataJson.length; i++) {\r\n const data = _dataJson[i];\r\n }\r\n }\r\n const requestData = {\r\n employee: empData,\r\n ComCode: props.requestDetail.memoDetail.company_id,\r\n JsonCondition: JSON.stringify(dataJson),\r\n templateForm: {\r\n ...props.requestDetail.memoDetail,\r\n TemplateApproveId: 0,\r\n },\r\n lstTRNLineApprove: [],\r\n };\r\n\r\n // console.log(\"requestData\", requestData);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestData),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // onChangeAttributeForm(data, row, col)\r\n let lineApproval = props.requestDetail.listApprovalDetails;\r\n let _data = data;\r\n let newData: any = [];\r\n let sequence = 0;\r\n let isHas = false;\r\n for (let i = 0; i < _data.length; i++) {\r\n const lineNew = _data[i];\r\n for (let j = 0; j < lineApproval.length; j++) {\r\n const line = lineApproval[j];\r\n if (line.emp_id === lineNew.emp_id) {\r\n newData.push(line);\r\n isHas = true;\r\n }\r\n }\r\n if (isHas) {\r\n isHas = false;\r\n } else {\r\n newData.push(lineNew);\r\n }\r\n }\r\n\r\n console.log(\"_dataLine\", newData, data);\r\n\r\n props.setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...data],\r\n }));\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n\r\n // return responseGroup;\r\n };\r\n const onDatareladToLoadData = async (dataGroup: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n let responseGroup: any[] = [];\r\n setFormLoading(true);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.logicid,\r\n Key: dataSource.Key,\r\n Value: dataSource.Value,\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // console.log(\"dddddddddddddd\", data);\r\n setFormLoading(false);\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onDataSourceLoadRelated = async (relateGroup: any, dataJson: any) => {\r\n // console.log(\"relateGroup, dataJson\", relateGroup, dataJson);\r\n // const dataJson = {\r\n // logicid,\r\n // Key: \"\",\r\n // Value: \"\",\r\n // };\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setFormLoading(false);\r\n\r\n onChangeValueForm(data, relateGroup);\r\n });\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n // console.log(row, col, logicid);\r\n let responseGroup: any[] = [];\r\n console.log(\"table=>dataGroup\", dataGroup);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.data,\r\n Key: \"\",\r\n Value: \"\",\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onTableDatareladToLoadData = async (\r\n row: any,\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\"row, col, dataJson tabel\", dataJson, loadToCol);\r\n let tableValue: any = row;\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => data);\r\n\r\n onChangeValueTableForm(\r\n row,\r\n dataSource,\r\n advanceRow,\r\n advanceCol,\r\n tableRow,\r\n tableCol,\r\n tableActionCol\r\n );\r\n\r\n // console.log(\"dsasdasdweweqweqweqewqwe\");\r\n\r\n // console.log(\r\n // \"tableValuetableValuetableValue\",\r\n // tableValue,\r\n // advanceRow,\r\n // advanceCol\r\n // );\r\n };\r\n const onChangeValueTableForm = (\r\n row: any,\r\n dataRequest: any,\r\n\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let _valueTable = valueTable;\r\n let rowTable: any = row;\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const _colData = _dataRequest[i];\r\n const keyValues = Object.keys(_colData).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: _colData[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n rowTable[tableRow][tableActionCol] = _dataRequest;\r\n // console.log(\"eieieieieiei\", _dataRequest, rowTable, tableActionCol);\r\n setValueTable([...rowTable]);\r\n\r\n // _valueTable.push(_dataRequest[i]);\r\n };\r\n\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n\r\n const onChangeAttributeTableForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number,\r\n autoloadvaluelabel: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n // console.log(W\r\n // \"datatatatatat\",\r\n // _dataRequest,\r\n // autoloadvaluelabel,\r\n // colIdx,\r\n // rowIdx\r\n // );\r\n try {\r\n for (\r\n let i = 0;\r\n i <\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column\r\n .length;\r\n i++\r\n ) {\r\n const col =\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ];\r\n if (col.label === autoloadvaluelabel) {\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ].control.template.attribute.items = _dataRequest;\r\n }\r\n }\r\n } catch (error) {}\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeValueForm = (dataRequest: any, relateGroup: any) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let res: any = [];\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n for (const [key, value] of Object.entries(data)) {\r\n for (let j = 0; j < relateGroup.length; j++) {\r\n const relate = relateGroup[j];\r\n if (relate.group.value === key) {\r\n _advanceForm.items[relate.row].layout[relate.col].data = {\r\n value: value,\r\n };\r\n // res.push({\r\n // label: relate.group.label,\r\n // value: value,\r\n // });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // for (let i = 0; i < _dataRequest.length; i++) {\r\n // const data = _dataRequest[i];\r\n // const keyValues = Object.keys(data).map((key) => {\r\n // const newKey = \"value\";\r\n // return { [newKey]: data[key] };\r\n // });\r\n // _dataRequest[i] = keyValues[0];\r\n // }\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeAttributeForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n\r\n let keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n if (_dataRequest !== null) {\r\n let items = _dataRequest;\r\n const s = items.find((e: any) => e.item === \"-- Please Select -- \");\r\n if (s === undefined) {\r\n items.push({ item: \"-- Please Select -- \" });\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].data.value =\r\n \"-- Please Select -- \";\r\n _dataRequest = items;\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.items =\r\n _dataRequest;\r\n setFormLoading(false);\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n const onChangeRefValueTableForm = (\r\n dataRequest: any,\r\n loadToField: any,\r\n advanceRow: any,\r\n advanceCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest: any = dataRequest;\r\n let _valueTable = valueTable;\r\n console.log(\"permittedValues\", _dataRequest, _advanceForm, advanceRow);\r\n\r\n const permittedValues = _dataRequest.map(function (value: any) {\r\n let res: any = {};\r\n for (let i = 0; i < loadToField.length; i++) {\r\n const field = loadToField[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n // ={ [field[\"TBColumn\"]]: value[field[\"MSTColumn\"]] }\r\n }\r\n return res;\r\n });\r\n\r\n let resRow: any = [];\r\n if (_advanceForm.items) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n _advanceForm?.items[advanceRow].layout[\r\n advanceCol\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n // const dataRef = permittedValues[i];\r\n for (\r\n let j = 0;\r\n j <\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n }\r\n if (_dataRequest.length > 0 && resRow.length > 0 && _advanceForm.items) {\r\n _advanceForm.items[advanceRow].layout[advanceCol].data.row = resRow;\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n };\r\n\r\n const onChangeEditForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n if (_advanceForm) {\r\n _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest;\r\n\r\n if (_advanceForm.items[rowIdx].layout[colIdx].template.type !== \"an\") {\r\n if (!props.statusMemoDetail) {\r\n genAutoNum(_advanceForm.items);\r\n \r\n }\r\n }\r\n if (\r\n (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"dd\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"cb\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"r\") &&\r\n props.isInitialLogic\r\n ) {\r\n onClickLogic(_advanceForm.items[rowIdx].layout[colIdx], rowIdx, colIdx);\r\n\r\n // onCheckLogic( _advanceForm.items[rowIdx].layout[colIdx].data)\r\n\r\n // checkLogic();\r\n }\r\n if (\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"tb\"\r\n ) {\r\n sumValue();\r\n }\r\n // if (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\") {\r\n // if (\r\n // _advanceForm.items[rowIdx].layout[colIdx].template.attribute\r\n // .formula === \"\"\r\n // ) {\r\n // calNumberWithFormula(\r\n // _advanceForm.items[rowIdx].layout[colIdx],\r\n // rowIdx,\r\n // colIdx\r\n // );\r\n // }\r\n // }\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // setAdvanceForm(_advanceForm);\r\n };\r\n const onChangeEditFormTable = (\r\n columns: any,\r\n row: any,\r\n dataRequest: any,\r\n rowIdx: any,\r\n colIdx: any,\r\n tableRowIdx: any,\r\n tableColIdx: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let table = _advanceForm.items[tableRowIdx].layout[tableColIdx];\r\n\r\n const _logic: any = props.logic;\r\n\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n let eiei: any = [];\r\n let labelAction: any = [];\r\n if (table.data.row !== null) {\r\n if (table.data.row.length > 0) {\r\n let dataJson: any = {};\r\n let tableActionCol = 0;\r\n\r\n for (let k = 0; k < jsonObject.labelactions.length; k++) {\r\n const labelaction = jsonObject.labelactions[k];\r\n\r\n if (labelaction.label === columns[colIdx].field) {\r\n dataJson = {\r\n Key: labelaction.label,\r\n Value: dataRequest.value,\r\n logicid: logic.logicid,\r\n };\r\n }\r\n }\r\n for (let k = 0; k < columns.length; k++) {\r\n const _column = columns[k];\r\n\r\n if (jsonObject.autoloadvaluelabel.label === _column.field) {\r\n tableActionCol = k;\r\n }\r\n }\r\n const data = onTableDatareladToLoadData(\r\n row,\r\n tableRowIdx,\r\n tableColIdx,\r\n rowIdx,\r\n colIdx,\r\n tableActionCol,\r\n dataJson\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // useMemo(() => {\r\n // sumValue();\r\n // }, [tableSummary]);\r\n\r\n function onTableFooterChange(\r\n footerVal: any,\r\n footerRow: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) {\r\n let _advanceForm = advanceForm;\r\n\r\n _advanceForm.items[rowIdx].layout[\r\n colIdx\r\n ].template.attribute.footerTable.rows[footerRow].value = footerVal;\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n\r\n async function genAutoNum(control: any[]) {\r\n if (autoNumFormat === undefined) {\r\n let formats: any[] = [];\r\n let digit: number = 0;\r\n control.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"an\") {\r\n formats = layout.template.attribute.formats;\r\n digit = layout.template.digit;\r\n }\r\n });\r\n });\r\n setAutoNumDigit(digit);\r\n setAutoNumFormat(formats);\r\n } else {\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any, colIdx: number) => {\r\n if (\r\n autoNumFormat.find((format: any) => {\r\n if (\r\n format.format.find((fm: any) => {\r\n if (fm.type !== \"pf\") {\r\n if (fm.label === layout.template.label) {\r\n return true;\r\n }\r\n }\r\n })\r\n ) {\r\n return true;\r\n }\r\n })\r\n ) {\r\n let choiceFormat: any = null;\r\n let requestBody: any = {};\r\n autoNumFormat.map((format: any) => {\r\n format.condition.map((con: any) => {\r\n if (\r\n con.label === layout.template.label &&\r\n con.value === layout.data.value\r\n ) {\r\n choiceFormat = format;\r\n }\r\n });\r\n });\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n if (str.length === format.length) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n } else {\r\n autoNumFormat.map((ft: any) => {\r\n if (ft.condition.length === 0) {\r\n ft.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n if (str.length === ft.format.length) {\r\n if (\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"--select--\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (isCheck) {\r\n requestBody.Prefix = str.join(\"-\") + \"-\";\r\n requestBody.Digit = autoNumDigit;\r\n requestBody.TemplateId = props.templateID;\r\n if (!requestBody.Prefix.toLowerCase().includes(\"select\")) {\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== dd) {\r\n onChangeEditForm({ value: dd }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== null) {\r\n onChangeEditForm({ value: null }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rvsPosition !== undefined) {\r\n onChangeEditForm(\r\n { value: runningNumber },\r\n rvsPosition.rowIdx,\r\n rvsPosition.colIdx\r\n );\r\n }\r\n }, [runningNumber]);\r\n\r\n function sumValue() {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n tableSummary.map((table: any) => {\r\n if (table.total !== 0) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (sum !== summary) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n }\r\n\r\n function updateTableSum(tableName: string, tableSum: number) {\r\n if (tableSummary.length > 0) {\r\n const ss = JSON.stringify(tableSummary);\r\n let sumTable = JSON.parse(ss);\r\n\r\n if (tableSum !== 0) {\r\n sumTable.map((table: any) => {\r\n if (table.tableLabel === tableName) {\r\n table.total = tableSum;\r\n }\r\n });\r\n if (\r\n advanceForm !== undefined &&\r\n Object.keys(advanceForm).length !== 0\r\n ) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n sumTable.map((table: any) => {\r\n if (!isNaN(table.total)) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (!isNaN(sum)) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n setTableSummary([...sumTable]);\r\n } else {\r\n setSummary(0);\r\n props.setSummary(`0.00`);\r\n }\r\n }\r\n }\r\n\r\n function calNumberWithFormula(temp: any, rowIdx: number, colIdx: number) {\r\n try {\r\n let items = advanceForm.items;\r\n let formu: string = temp.template.attribute.formula;\r\n\r\n let total = 0;\r\n if (formu !== \"\" && formu !== null) {\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (formu.includes(\"sum\")) {\r\n const match =\r\n formu\r\n .substring(formu.indexOf(\"(\"), formu.indexOf(\")\"))\r\n .match(/[a-zA-Z-'`ก-๏0-9]+[ a-zA-Z-'`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n const selCol = match[1];\r\n layout.template.attribute.column.map(\r\n (col: any, colIdx: number) => {\r\n if (selCol === col.label) {\r\n layout.data?.row?.map((row: any, rowIdx: number) => {\r\n total += Number(row[colIdx].value);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n const match =\r\n formu.match(/[a-zA-Z' `ก-๏0-9]+[ a-zA-Z '`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value !== null) {\r\n formu = formu.replace(\r\n layout.template.label,\r\n layout.data.value.toString()\r\n );\r\n } else {\r\n formu = formu.replace(layout.template.label, \"0\");\r\n }\r\n }\r\n\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n if (!regExp.test(formu)) {\r\n total = eval(formu);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (total !== null && total !== NaN) {\r\n if (Number(temp.data.value) !== total) {\r\n onChangeEditForm(\r\n { value: total.toFixed(Number(temp.template.attribute.decimal)) },\r\n rowIdx,\r\n colIdx\r\n );\r\n }\r\n } else {\r\n onChangeEditForm({ value: 0 }, rowIdx, colIdx);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"number=>error\", error);\r\n }\r\n }\r\n\r\n const renderControl = async (form: any) => {\r\n setFormComponent([...controlComponent]);\r\n\r\n // setFormLoading(true);\r\n // const control = form.items;\r\n // // console.log(control);\r\n // // const show: any[] = props.showControl;\r\n // let controlComponent: any = [];\r\n // const _errorResult = props.errorResult || [];\r\n // let numFormulas: any[] = [];\r\n // let dd: string = \"set-padding-core-control\";\r\n // // if (props.showControl?.length > 0) {\r\n // for (let i = 0; i < control.length; i++) {\r\n // const _layout = control[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // const grid_size = 12 / _layoutLength;\r\n // let _colText = 0;\r\n // let _colAction = 0;\r\n // if (_layoutLength == 1) {\r\n // _colText = 2;\r\n // _colAction = 10;\r\n // } else if (_layoutLength == 2) {\r\n // _colText = 2;\r\n // _colAction = 4;\r\n // }\r\n // let grid_row = (\r\n // \r\n // {_layout.map((_template: any, idx: any) => {\r\n // const error_corecontroll = _errorResult.find(\r\n // (_data: any, _idx: any) => _data.row === i && _data.col === idx\r\n // );\r\n // if (!onChangeEditForm) {\r\n // return;\r\n // }\r\n // if (\r\n // _template.template.type === \"l\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"c\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // if (_template.template.attribute.formula !== \"\") {\r\n // numFormulas.push({\r\n // label: _template.template.label,\r\n // formula: _template.template.attribute.formula,\r\n // });\r\n // setNumFormulas(numFormulas);\r\n // }\r\n // if (_template.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"d\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"cb\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"r\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"bt\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // if (_template.template.attribute.column) {\r\n // for (\r\n // let i = 0;\r\n // i < _template.template.attribute.column.length;\r\n // i++\r\n // ) {\r\n // const column = _template.template.attribute.column[i];\r\n // if (column.control.template.type === \"c\") {\r\n // if (column.control.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"t\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // dd = \"set-padding-core-control\";\r\n // // console.log(\r\n // // \"showControl[i][idx]\",\r\n // // _template.template.label,\r\n // // showControl[i][idx],\r\n // // i,\r\n // // idx,\r\n // // showControl\r\n // // );\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ta\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.items !== null) {\r\n // let items = _template.template.attribute.items;\r\n // const value = _template.data.value;\r\n // if (items.find((e: any) => e.item === value)) {\r\n // // console.log(\"dropdown=>true\");\r\n // } else {\r\n // // console.log(\"dropdown=>false\");\r\n // }\r\n // }\r\n // // console.log(\"dropdown=>\" + _template.template.label, _template);\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"im\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"em\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // })}\r\n // \r\n // );\r\n // if (!grid_row.props.children.every((e: any) => e === undefined)) {\r\n // controlComponent.push(grid_row);\r\n // }\r\n // }\r\n // // controlComponent.push(\r\n // //
\r\n // // \r\n // //
\r\n // // );\r\n // setFormComponent([...controlComponent]);\r\n // // }\r\n // // setFormLoading(false);\r\n };\r\n\r\n return (\r\n
\r\n {formLoading && (\r\n
\r\n \r\n
\r\n )}\r\n {formComponent}\r\n {isShowSummary && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useEffect } from \"react\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./SummaryComponent.css\";\r\ninterface Props {\r\n headtext: string;\r\n subtext: string;\r\n summaryProps?: any;\r\n}\r\n\r\nexport const SummaryComponent = (props: Props) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n","import React, {\r\n useEffect,\r\n FC,\r\n useRef,\r\n Dispatch,\r\n SetStateAction,\r\n useState,\r\n} from \"react\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useFieldArray } from \"react-hook-form\";\r\n\r\nimport Controls from \"./Controls\";\r\nimport { Form, Spin } from \"antd\";\r\nimport {\r\n ILogic,\r\n ILogicReferenceField,\r\n ILogicRequestBody,\r\n ILogicTypeDataLineApprove,\r\n ILogicTypeHideControl,\r\n ILogicTypeReadOnly,\r\n ILogicTypeReference,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeSourceLoad,\r\n ILogicTypeSourceRelated,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { ISelectDropdownTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport { formatToColumns } from \"../../../Helper/formatColumn\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport { UseFormGetValues } from \"react-hook-form\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { onChanceRef, RefResult } from \"../../../Helper/RequestRefFunctions\";\r\nimport { GetApprovalsByMemoIDs } from \"../../../Services/LineApprovalsService\";\r\nimport {\r\n balanceParentheses,\r\n genAutoNum,\r\n getValueControl,\r\n} from \"../../../Helper/RequestScreenHelper\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\n\r\nimport { LogicType } from \"../../../constants/logic-type\";\r\nimport moment from \"moment\";\r\nimport {\r\n checkIsCorrect,\r\n processHideControlLogic,\r\n} from \"../../../Helper/LogicHelper\";\r\n\r\ninterface Props {\r\n templateDesc: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n documentNo: any;\r\n errors: any;\r\n reset: any;\r\n allLogic: ILogic[];\r\n isFirstRun: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n onControlChange: (controlName: any, controlValue: any) => any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n setButtonType: (data: any) => void;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n refTempSelected: any[];\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n refAttribute: any;\r\n prepareInitialLogic: (\r\n logics: ILogic[],\r\n templateDesc: any,\r\n _memoDetail: any\r\n ) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n previousRefTempSelected: any;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n dfCurr: any;\r\n setDfCurr: (val: any) => void;\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n}\r\n\r\nexport const CoreControllerComponentTest: FC = ({\r\n setDfCurr,\r\n dfCurr,\r\n onProcessLogicReference,\r\n templateDesc,\r\n getValues,\r\n setMemoDetail,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n documentNo,\r\n errors,\r\n onControlChange,\r\n reset,\r\n memoDetail,\r\n allLogic,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n lineApproval,\r\n setLineApproval,\r\n autoNumFormat,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n setListFileAttachDetails,\r\n tableSummaries,\r\n setTableSummaries,\r\n previousView,\r\n refTempSelected,\r\n listFormNames,\r\n refAttribute,\r\n setListRefDocDetails,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { fields, update } = useFieldArray({\r\n control, // control from template_desc\r\n name: \"items\",\r\n });\r\n\r\n const controlRef = useRef([]);\r\n const [allLogicInTable, setAllLogicInTable] = useState(\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n console.log(\"logic=>memoDetail\", memoDetail);\r\n if (tableOptions.length > 0) {\r\n let tableLogics: any[] = [];\r\n\r\n tableOptions.forEach((logic: any) => {\r\n if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n tableLogics = [\r\n ...tableLogics,\r\n ...jsonValue.labelactions.map((labelaction: any) => {\r\n return {\r\n Key: labelaction.label,\r\n actionlabel: jsonValue.autoloadvaluelabel.label,\r\n loadTo: jsonValue.autoloadvaluelabel.label,\r\n Value: null,\r\n logicid: logic.logicid,\r\n };\r\n }),\r\n ];\r\n } else if (logic.logictype === LogicType.DataSourceLoad) {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const cons = jsonValue.conditions.filter((con: any) => {\r\n return con.objectkey;\r\n });\r\n\r\n if (cons.length > 0) {\r\n cons.map((con: any) => {\r\n return {\r\n logicid: logic.logicid,\r\n Key: con.objectkey,\r\n Value: getValueControl(con.objectkey, memoDetail),\r\n };\r\n });\r\n } else {\r\n tableLogics.push({\r\n logicid: logic.logicid,\r\n Key: \"\",\r\n actionlabel: jsonValue.label,\r\n Value: null,\r\n });\r\n }\r\n }\r\n });\r\n setAllLogicInTable([...tableLogics]);\r\n }\r\n }, [tableOptions, memoDetail]);\r\n\r\n const returnToValure = (template: any, _data: any) => {\r\n let gogo = [];\r\n for (let j = 0; j < template.attribute.column.length; j++) {\r\n const column = template.attribute.column[j];\r\n gogo.push({ value: _data[column.label] });\r\n }\r\n return gogo;\r\n };\r\n\r\n useEffect(() => {\r\n processRef();\r\n }, [refAttribute, refTempSelected]);\r\n\r\n async function processRef() {\r\n try {\r\n if (refAttribute) {\r\n if (refAttribute.refIdOnQuery) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n } else if (\r\n !isFirstRun.current &&\r\n previousView.current === \"2\" &&\r\n JSON.stringify(previousRefTempSelected.current) !==\r\n JSON.stringify(refTempSelected)\r\n ) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>useEffect=>error\", error);\r\n }\r\n }\r\n\r\n const onRefSelect = async (refResult: any, refSelected: any) => {\r\n try {\r\n setIsControlLoading(true);\r\n let _listLineApprove: any[] = [...lineApproval];\r\n let listMemoIds: number[] = [];\r\n refSelected.forEach((e: any) => {\r\n listMemoIds.push(e.MemoId);\r\n });\r\n\r\n if (refAttribute?.isDefaultLineApprove) {\r\n const resApprovals: any[] = await GetApprovalsByMemoIDs(listMemoIds);\r\n if (resApprovals?.length > 0) {\r\n setLineApproval([..._listLineApprove, ...resApprovals]);\r\n }\r\n }\r\n\r\n const _control = await detechRevisionControl(\r\n memoDetail.template_id,\r\n refResult.items,\r\n listMemoIds[0]\r\n );\r\n\r\n const newControl = await _onControlChangeRef(_control);\r\n if (Array.isArray(newControl)) {\r\n setValue(\"items\", [...newControl]);\r\n } else {\r\n setValue(\"items\", [...newControl.items]);\r\n }\r\n\r\n setListRefDocDetails(refResult.listRefDocsDetail);\r\n\r\n setListFileAttachDetails(refResult.listFileAttachDetails);\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n };\r\n const onProcessSummary = async (\r\n _control: any,\r\n jsonCondition: any,\r\n controlTemplate?: any,\r\n controlValue?: any\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let isSum = false;\r\n let isControlHasSum = false;\r\n\r\n if (\r\n controlTemplate &&\r\n controlTemplate.type === \"c\" &&\r\n controlTemplate.attribute.summary === \"Y\"\r\n ) {\r\n isControlHasSum = true;\r\n }\r\n _control?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n try {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isControlHasSum = true;\r\n isSum = true;\r\n _amount += Number(layout.data.value || 0);\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n const tableCol: any[] = layout.template.attribute.column;\r\n let tableSum: number = 0;\r\n if (controlValue?.length > 0) {\r\n const selTable =\r\n controlTemplate?.type === \"tb\"\r\n ? controlValue?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n )\r\n : tableSummaries?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n );\r\n\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n if (\r\n !Number.isNaN(\r\n Number(selTable.AllCol[col.control.template.label])\r\n )\r\n ) {\r\n isSum = true;\r\n isControlHasSum = true;\r\n tableSum += Number(\r\n selTable.AllCol[col.control.template.label]\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n layout.data.row?.forEach((row: any) => {\r\n isSum = true;\r\n isControlHasSum = true;\r\n if (Number(row[colIdx]) !== 0) {\r\n tableSum += Number(row[colIdx]?.value || 0);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _amount += tableSum;\r\n }\r\n } catch (error) {\r\n console.error(\"sum=>error\", error);\r\n }\r\n });\r\n });\r\n\r\n await getLineApproveForAmount(\r\n _amount,\r\n jsonCondition,\r\n jsonCondition ? LogicType.DataLineApprove : undefined,\r\n controlTemplate\r\n );\r\n\r\n return {\r\n _amount: _amount,\r\n isSum: isSum,\r\n isControlHasSum: isControlHasSum,\r\n };\r\n } catch (error) {\r\n console.error(\"sum=>error\", error);\r\n }\r\n };\r\n\r\n const calCulateCorecontrol = async (\r\n currentControl: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n try {\r\n setIsControlLoading(true);\r\n\r\n if (controlValue != null) {\r\n for (let i = 0; i < numFormulas.length; i++) {\r\n let formula = numFormulas[i];\r\n\r\n let total: number = NaN;\r\n if (formula.formula.startsWith(\"diffdate\")) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n // let match: any = resulstField[0].match(/[^+\\-\\*\\/=]+/g) || [];\r\n let datepicker1: { [x: string]: moment.Moment } = {\r\n [selCol[0]]: moment(),\r\n [selCol[1]]: moment(),\r\n };\r\n\r\n resulstField.forEach((formu: any) => {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (selCol.includes(col.template.label)) {\r\n datepicker1[col.template.label] = moment(col.data.value);\r\n console.log(\"datepicker1Date\", datepicker1);\r\n }\r\n });\r\n });\r\n });\r\n total = datepicker1[selCol[0]].diff(datepicker1[selCol[1]], \"days\");\r\n if (total >= 1) {\r\n total += 1;\r\n }\r\n } else if (formula.formula.startsWith(\"difftime\")) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n let datepicker: { [x: string]: moment.Moment } = {\r\n [selCol[0]]: moment(),\r\n [selCol[1]]: moment(),\r\n };\r\n let res: number = 0;\r\n let formattedTime: string = \"\";\r\n resulstField.forEach((formu: any) => {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (selCol.includes(col.template.label)) {\r\n datepicker[col.template.label] = moment(\r\n col.data.value,\r\n \"h.mm\"\r\n );\r\n res = datepicker[selCol[0]].diff(\r\n datepicker[selCol[1]],\r\n \"minutes\"\r\n );\r\n console.log(\"datepicker\", datepicker, res);\r\n\r\n let hours = Math.trunc(res / 60);\r\n let remainingMinutes = res % 60;\r\n formattedTime =\r\n res <= -1 && res >= -9\r\n ? `-0.0${Math.abs(remainingMinutes)}`\r\n : hours === -0 && res < -10\r\n ? `-${hours}.${Math.abs(remainingMinutes)}`\r\n : res < -10\r\n ? `${hours}.${Math.abs(remainingMinutes)}`\r\n : `${hours}.${remainingMinutes}`;\r\n }\r\n });\r\n });\r\n });\r\n total = Number(formattedTime);\r\n } else {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n\r\n let match: any = variables.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n match = match.map((e: string) => {\r\n return balanceParentheses(e);\r\n });\r\n\r\n match.forEach((formu: any) => {\r\n if (formu?.includes(\"sum\")) {\r\n if (controlTemplate.type === \"tb\") {\r\n try {\r\n const selCol = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\";\");\r\n\r\n const tableCol: any[] = controlTemplate.attribute.column;\r\n\r\n const selValue = controlValue.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n total = 0;\r\n if (selValue?.AllCol[col.label] != undefined) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n } catch (error) {\r\n console.error(\"cal=>error\", error);\r\n }\r\n } else {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (col.template.type === \"tb\") {\r\n const selCol = formu\r\n .substring(\r\n formu.indexOf(\"(\") + 1,\r\n formu.lastIndexOf(\")\")\r\n )\r\n .split(\";\");\r\n const tableCol: any[] = col.template.attribute.column;\r\n\r\n const selValue = tableSummaries.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n if (selValue?.AllCol[col.label]) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n } else {\r\n currentControl?.forEach((item: any, rowIdx: number) => {\r\n item?.layout?.forEach((layout: any) => {\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value && layout.data.value !== \"\") {\r\n variables = variables.replace(\r\n layout.template.label,\r\n layout.data.value.toString().replaceAll(\",\", \"\")\r\n );\r\n } else {\r\n variables = variables.replace(\r\n layout.template.label,\r\n \"0\"\r\n );\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n\r\n if (!regExp.test(variables)) {\r\n total = eval(variables);\r\n }\r\n }\r\n if (!isNaN(total)) {\r\n const callLogics: any[] = checkCallLogic(\r\n allLogic,\r\n currentControl[formula.rowIndex].layout[formula.colIndex].template\r\n );\r\n\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = total.toFixed(\r\n currentControl[formula.rowIndex].layout[formula.colIndex].template\r\n .attribute.decimal\r\n );\r\n if (callLogics.length > 0) {\r\n // let _jsonConditions = jsonConditions;\r\n for (let i = 0; i < callLogics.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogics[i],\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template,\r\n currentControl[formula.rowIndex].layout[formula.colIndex].data\r\n .value,\r\n currentControl,\r\n false\r\n );\r\n\r\n // _jsonConditions = _response || \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return currentControl;\r\n } catch (error) {\r\n console.error(\"cal=>error\", error);\r\n }\r\n };\r\n\r\n const updateTableSummaries = (tableTemp: any, value: any) => {\r\n if (tableSummaries) {\r\n const _tableSummaries = JSON.stringify(tableSummaries);\r\n let _sumTable = JSON.parse(_tableSummaries);\r\n\r\n _sumTable.map((e: any) => {\r\n if (e.tableTemp.label === tableTemp.label) {\r\n e.AllCol = value;\r\n }\r\n });\r\n\r\n if (JSON.stringify(_sumTable) !== JSON.stringify(tableSummaries)) {\r\n _onControlChange(tableTemp, _sumTable, true);\r\n setTableSummaries([..._sumTable]);\r\n }\r\n }\r\n };\r\n\r\n //check if control has logic\r\n const checkCallLogic = (logics: any, controlTemplate: any) => {\r\n let callLogic: any[] = [];\r\n\r\n logics.forEach((logic: ILogic) => {\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n if (controlTemplate.type === \"tb\") {\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (jsonValue.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else {\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const selectAction = jsonValue.labelactions.find(\r\n (e) => e.label === controlTemplate.label\r\n );\r\n if (selectAction) {\r\n callLogic.push(logic);\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (controlTemplate.type === \"tb\") {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (labelAction.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n\r\n if (labelAction.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n for (let i = 0; i < jsonValue.Filter.length; i++) {\r\n const filter = jsonValue.Filter[i];\r\n if (filter.TBColumn === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n } else if (\r\n logic.logictype === LogicType.HideControl ||\r\n logic.logictype === LogicType.ReadOnlyControl\r\n ) {\r\n const jsonValue: ILogicTypeHideControl = JSON.parse(logic.jsonvalue);\r\n jsonValue.conditions.forEach((con) => {\r\n if (\r\n controlTemplate.label === con.field.label ||\r\n controlTemplate.label === con.comparewith ||\r\n controlTemplate.label === con.field.isInTable\r\n ) {\r\n callLogic.push(logic);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return callLogic;\r\n };\r\n const _onControlChangeRef = async (refControl: any) => {\r\n let _jsonConditions = jsonConditions;\r\n let template: any = null;\r\n if (!isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic;\r\n\r\n let oldRefControl = refControl;\r\n\r\n setIsControlLoading(true);\r\n\r\n oldRefControl = await prepareInitialLogic(\r\n logics,\r\n {\r\n items: oldRefControl,\r\n },\r\n memoDetail\r\n );\r\n\r\n for (let i = 0; i < oldRefControl.items.length; i++) {\r\n const item = oldRefControl.items[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.type !== \"tb\") {\r\n const callLogic = checkCallLogic(logics, layout.template);\r\n\r\n if (callLogic.length > 0) {\r\n template = layout.template;\r\n }\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogic[i],\r\n layout.template,\r\n layout.data.value,\r\n refControl,\r\n false\r\n );\r\n\r\n if (_response?.type == \"lineapprove\") {\r\n _jsonConditions = _response?.value || \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n oldRefControl.items = await genAutoNum(\r\n oldRefControl.items,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n const sumRes = await onProcessSummary(\r\n refControl,\r\n _jsonConditions,\r\n template,\r\n null\r\n );\r\n\r\n setIsControlLoading(false);\r\n if (_jsonConditions) {\r\n if (_jsonConditions.type && _jsonConditions.value) {\r\n oldRefControl = _jsonConditions.value;\r\n }\r\n }\r\n return oldRefControl;\r\n }\r\n return refControl;\r\n }\r\n return refControl;\r\n };\r\n\r\n //trigger when control value change\r\n const _onControlChange = async (\r\n controlTemplate: ISelectDropdownTemplate | any, //controled change template\r\n controlValue: any, //value\r\n isInTable: boolean = false, // if control in table\r\n isRef?: boolean\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let _jsonConditions: string = jsonConditions; //condition for datalineapprove logic\r\n setIsControlLoading(true);\r\n\r\n /**\r\n * Condition check controlValue must not null or undefined.\r\n * But allow controlValue is zero (0) for input type number and input zero value.\r\n * And not allow trigger when change tap to Information screen\r\n */\r\n if (controlValue != null && !isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic; //all template logic\r\n\r\n //check if triggered control has logic or not\r\n const callLogic = checkCallLogic(logics, controlTemplate);\r\n\r\n //unrelate constant\r\n const _controlString = JSON.stringify(fields);\r\n const oldControl = JSON.parse(_controlString);\r\n const _control = JSON.parse(_controlString);\r\n\r\n const newControlString = JSON.stringify(_control);\r\n let newControl = JSON.parse(newControlString);\r\n let table_dd_to_dd_Result: any[] = [];\r\n //check if can call logic and this control not type = tb\r\n\r\n //calculate all control value to amount in memodetail\r\n newControl = await calCulateCorecontrol(\r\n _control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n if (dfCurr && dfCurr?.Value2 === controlTemplate.label) {\r\n setDfCurr((prevState: any) => ({\r\n ...prevState,\r\n Value1: controlValue,\r\n }));\r\n }\r\n\r\n if (\r\n checkFormatForLabel(autoNumFormat, controlTemplate.label) &&\r\n canEditDoc\r\n ) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n\r\n if (\r\n (controlTemplate.type !== \"tb\" || isInTable) &&\r\n callLogic.length > 0\r\n ) {\r\n /*process logic return type [control,table,lineapprove] and value when fetch from api\r\n 1.control value in template\r\n 2.table value in row in table\r\n 3.lineapprove value is jsoncondition\r\n */\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const { type, value, controls } = await onProcessLogic(\r\n callLogic[i],\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable\r\n );\r\n\r\n if (type === \"table_dd_to_dd\") {\r\n //setNewOptionToControl\r\n table_dd_to_dd_Result.push(callLogic[i]);\r\n } else if (type === \"control\") {\r\n newControl = value;\r\n }\r\n //return value to save function in TableComponent\r\n if ((type === \"table\" || type === \"control\") && isInTable) {\r\n setIsControlLoading(false);\r\n if (type === \"table\" && isInTable) {\r\n table_dd_to_dd_Result.push(callLogic[i]);\r\n }\r\n return { type, value };\r\n } else if (type === \"lineapprove\" && !isInTable) {\r\n //set jsonconditions\r\n\r\n _jsonConditions = value || \"\";\r\n }\r\n }\r\n }\r\n\r\n const sumRes = await onProcessSummary(\r\n newControl,\r\n _jsonConditions,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n const dd = Array.from(\r\n new Set([...tableOptions, ...table_dd_to_dd_Result])\r\n );\r\n\r\n setTableOptions([...dd]);\r\n\r\n if (newControl && !isRef) {\r\n setValue(\"items\", [...newControl]);\r\n }\r\n }\r\n }\r\n setIsControlLoading(false);\r\n } catch (error) {\r\n setIsControlLoading(false);\r\n console.log(\"core=>error\", error);\r\n }\r\n };\r\n\r\n function checkFormatForLabel(jsonData: IAutoNumberAttibute, label: any) {\r\n if (jsonData && jsonData.formats) {\r\n for (let format of jsonData.formats) {\r\n for (let item of format.format) {\r\n if (item.type === \"ddl\" && item.label === label) {\r\n return true;\r\n }\r\n }\r\n for (let item of format.condition) {\r\n if (item.label === label) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n const detechRevisionControl = async (\r\n _templateId: any,\r\n _control: any,\r\n memoId?: number\r\n ) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = memoId;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n requestBody.MemoId = null;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n if (\r\n _control[rowIndex].layout[colIndex].template.attribute.conditions\r\n .length > 0\r\n ) {\r\n const rvsCon = _control[rowIndex].layout[colIndex];\r\n rvsCon.template.attribute.conditions.map((con: any) => {\r\n _control.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.Itemlabel = items;\r\n\r\n if (requestBody.Itemlabel.length > 0) {\r\n let isCheck = true;\r\n\r\n requestBody.Itemlabel.forEach((item: any) => {\r\n if (!item.value || item.value === \"\") {\r\n isCheck = false;\r\n return;\r\n }\r\n });\r\n\r\n if (isCheck) {\r\n const revision = await GetRvsRunning(requestBody);\r\n _control[rowIndex].layout[colIndex].data.value = revision.item;\r\n }\r\n }\r\n }\r\n return _control;\r\n } catch (error) {\r\n console.error(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n //process datasourcerelate function\r\n const onProcessLogicDataSourceRelated = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n control: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n const controlDescription = controlTemplate?.description || controlTemplate?.attribute?.description || \"\";\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n let jsonRelated: any = [];\r\n if (jsonValue.label === controlTemplate.label && !isInTable) {\r\n //body to fetch data\r\n const conditions = jsonValue.conditions;\r\n if (conditions.length > 0) {\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < control.length; k++) {\r\n const item = control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n const _des = _layout?.template?.description || _layout?.template?.attribute?.description || \"\";\r\n if (e.label) {\r\n if (e.label === _label) {\r\n if (controlDescription === _des) {\r\n jsonRelated.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n jsonRelated\r\n );\r\n } else {\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n }\r\n \r\n\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (\r\n JSON.stringify(layout.template) != \"{}\" &&\r\n ![\"l\", \"em\"].includes(layout.template.type) &&\r\n layout.template.label === relateValue.label &&\r\n controlDescription ===\r\n (layout.template?.description ||\r\n layout.template?.attribute?.description ||\r\n \"\")\r\n // layout.template.label === relateValue.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n } else if (isInTable) {\r\n if (controlValue.dataIndex === jsonValue.label) {\r\n const dataJson = {\r\n Key: controlValue.dataIndex,\r\n Value: controlValue.values[controlValue.dataIndex],\r\n logicid: logic.logicid,\r\n };\r\n\r\n const _dataJson: any[] = [];\r\n const conditions = jsonValue.conditions;\r\n const _control = controlTemplate.attribute.column;\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n if (e.label === item.label) {\r\n _dataJson.push({\r\n Key: item.label,\r\n Value: controlValue[e.label],\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n });\r\n\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n _dataJson\r\n );\r\n\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue.length; i++) {\r\n const relateValue = jsonValue.relatedvalue[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const item = controlTemplate.attribute.column[j];\r\n for (\r\n let k = 0;\r\n k < responseDataSourceLoadRelated.data.length;\r\n k++\r\n ) {\r\n const relate = responseDataSourceLoadRelated.data[k];\r\n for (const [keyRelate, valueRelate] of Object.entries(relate)) {\r\n if (\r\n keyRelate === relateValue.value &&\r\n relateValue.label === item.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: controlValue.key,\r\n col: j,\r\n valueRelate,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const onProcessLogicAjax = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n //body to fetch data\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n const relateValue = jsonValue.autoloadvaluelabel.label;\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n if (jsonValue.labelactions[i].label === controlTemplate.label) {\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIdx: number) => {\r\n if (col.label === relateValue) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n tableCol: colIdx,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n\r\n return false;\r\n };\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any,\r\n isInTable: boolean\r\n ) => {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const { dataJson, loadTo, actionFrom } = onFindDataJson(\r\n controlTemplate,\r\n controlValue,\r\n control,\r\n jsonValue,\r\n logic.logicid,\r\n isInTable\r\n );\r\n console.log(dataJson);\r\n\r\n if (dataJson) {\r\n // check if has response data\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const checkIfGetData = (data: any[]) => {\r\n let _bool = true;\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].item === \"\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n }\r\n if (data.length === 1 && data[0].item === \"-- Please Select --\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n return _bool;\r\n };\r\n\r\n const onProcessLogic = async (\r\n logic: ILogic,\r\n controlTemplate: ISelectDropdownTemplate | any,\r\n controlValue: any,\r\n _control: any,\r\n isInTable: boolean,\r\n sumRes?: any\r\n ): Promise<{\r\n type: \"control\" | \"lineapprove\" | \"table\" | \"table_dd_to_dd\" | null;\r\n value: any;\r\n controls?: any;\r\n }> => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n try {\r\n const controlString = _control\r\n ? JSON.stringify(_control)\r\n : JSON.stringify(templateDesc.items);\r\n\r\n let newControl;\r\n if (controlString) {\r\n newControl = JSON.parse(controlString);\r\n }\r\n if (logic) {\r\n //find logic that control have\r\n setIsControlLoading(true);\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //check if this control in table\r\n if (controlTemplate.type === \"tb\" && isInTable) {\r\n //format value to data in template type = table\r\n const ee = returnToValure(controlTemplate, controlValue);\r\n console.log(ee);\r\n\r\n let newColumn: any = {};\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n //put data to specific row\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row] = ee;\r\n\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row][relateGroup.col].value =\r\n relateGroup.valueRelate;\r\n\r\n //format value to row value\r\n newColumn = formatToColumns(\r\n controlTemplate.attribute.column,\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row]\r\n );\r\n }\r\n\r\n const responseDataTable = {\r\n ...newColumn,\r\n key: controlValue.key,\r\n };\r\n\r\n return { type: \"table\", value: responseDataTable };\r\n } else {\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n\r\n for (\r\n let j = 0;\r\n j < responseData.responseDataSourceLoadRelated.data.length;\r\n j++\r\n ) {\r\n const relateData =\r\n responseData.responseDataSourceLoadRelated.data[j];\r\n\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.value = relateData[relateGroup.relateValue.value];\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const responseData = await onProcessLogicReference(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //map data from api response\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData.loadTo.length; i++) {\r\n const field = responseData.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n\r\n //create empty table data as response api length\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n\r\n //loop for put data to table\r\n for (const [key, value] of Object.entries(perValue)) {\r\n //loop throught table template column length\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n // if column label = key of data response, put data in\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n\r\n resRow.push(colData);\r\n }\r\n\r\n newControl[responseData.row].layout[responseData.col].data.row =\r\n resRow;\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n // await getLineApproveForAmount(\r\n // sumRes?._amount,\r\n // responseData,\r\n // LogicType.DataLineApprove,\r\n // controlTemplate\r\n // );\r\n setIsControlLoading(false);\r\n\r\n return { type: \"lineapprove\", value: responseData };\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n console.log(\"logic=>logic\", logic);\r\n\r\n return {\r\n type: \"table_dd_to_dd\",\r\n value: null,\r\n };\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const responseData = await onProcessLogicAjax(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable\r\n );\r\n if (responseData) {\r\n for (\r\n let i = 0;\r\n i < responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const processData = formatKeyLogicData(\r\n responseData.responseDataSourceLoadRelated\r\n );\r\n\r\n _control[processData.relateGroup[i].row].layout[\r\n processData.relateGroup[i].col\r\n ].template.attribute.column[\r\n processData.relateGroup[i].tableCol\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n\r\n reset({\r\n items: _control,\r\n });\r\n }\r\n } else if (logic.logictype === LogicType.HideControl) {\r\n const jsonValue: ILogicTypeHideControl = JSON.parse(logic.jsonvalue);\r\n processHideControlLogic(jsonValue, _control, \"isShow\");\r\n reset({ items: _control });\r\n } else if (logic.logictype === LogicType.ReadOnlyControl) {\r\n const jsonValue: ILogicTypeReadOnly = JSON.parse(logic.jsonvalue);\r\n console.log(jsonValue);\r\n\r\n processHideControlLogic(jsonValue, _control, \"isReadOnly\");\r\n\r\n reset({ items: _control });\r\n }\r\n setIsControlLoading(false);\r\n }\r\n } catch (error) {\r\n console.error(\r\n \"onProcessLogic=>error\",\r\n error,\r\n \"Logic=> \" + logic,\r\n \"value=> \",\r\n controlValue\r\n );\r\n }\r\n return { type: null, value: null };\r\n };\r\n\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n // setFormLoading(false);\r\n\r\n // onChangeValueForm(data, relateGroup);\r\n });\r\n return dataSource;\r\n };\r\n\r\n const onFindDataJson = (\r\n controlTemplate: any,\r\n controlValue: string,\r\n _control: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logicid: string,\r\n isInTable: boolean\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n\r\n if (!isInTable) {\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j].label;\r\n\r\n if (controlTemplate.label === labelaction) {\r\n const conditions = jsonValue.conditions;\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n }\r\n if (jsonValue.autoloadvaluelabel.label === _label) {\r\n response.loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const _controlValue = controlValue as any;\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j];\r\n\r\n for (let k = 0; k < controlTemplate.attribute.column.length; k++) {\r\n const column = controlTemplate.attribute.column[k];\r\n\r\n if (column.control.template.label === labelaction.label) {\r\n const conditions = jsonValue.conditions;\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n } else if (column.control.template.label === e.label) {\r\n const exit = response.dataJson.find(\r\n (e) => e.Key === column.control.template?.label\r\n );\r\n if (!exit) {\r\n response.dataJson.push({\r\n Key: column.control.template?.label,\r\n Value:\r\n _controlValue.values[column.control.template.label],\r\n logicid: logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n response.actionFrom = { row: _controlValue.key, col: k };\r\n\r\n // }\r\n }\r\n if (\r\n column.control.template.label === jsonValue.autoloadvaluelabel.label\r\n ) {\r\n response.loadTo = {\r\n row: _controlValue.key,\r\n col: k,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n return response;\r\n };\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n console.log(dataJson);\r\n\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n if (_control) {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n if (layout.template.type === \"dd\") {\r\n if (\r\n layout.template.attribute.items[0].item !== layout.data.value\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n } else {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n return (\r\n \r\n \r\n {fields.map((_control: any, idx: number) => {\r\n let dd: string = \"set-padding-core-control\";\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n","import { Dropdown, InputRef, Menu, Typography } from \"antd\";\r\nimport { Form, Table, Modal } from \"antd\";\r\nimport type { FormInstance } from \"antd/lib/form\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TieredMenu } from \"primereact/tieredmenu\";\r\nimport React, {\r\n Dispatch,\r\n SetStateAction,\r\n useContext,\r\n useEffect,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { IoEllipsisVertical } from \"react-icons/io5\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { GetRefDocFormTable } from \"../../../Services/MemoService\";\r\nimport {\r\n IColumn,\r\n SelectDataDialog,\r\n} from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AttachmentTableComponent } from \"../AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { DatePickerTableComponent } from \"../DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputTableComponent } from \"../InputControlComponent/InputControlComponent\";\r\nimport { InputNumberTableComponent } from \"../InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { CheckboxTableComponent } from \"../MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxTableComponent } from \"../MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { RadioTableComponent } from \"../RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownTableComponent } from \"../SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport { InputTextAreaTableComponent } from \"../TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport MoveToDialog from \"./MoveToDialog\";\r\nimport \"./TableComponentCSS.css\";\r\nimport { GetReportById } from \"../../../Services/ReportService\";\r\nimport TableFooter from \"./TableFooter\";\r\n\r\nimport moment from \"moment\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport {\r\n CheckCircleOutlined,\r\n CloseSquareOutlined,\r\n FileTextOutlined,\r\n} from \"@ant-design/icons\";\r\nimport ExcelTablePreview from \"./ExcelTablePreview\";\r\nimport {\r\n ILogicCondition,\r\n ILogicRequestBody,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { checkIsCorrect } from \"../../../Helper/LogicHelper\";\r\nimport {\r\n balanceParentheses,\r\n isBraketBalanced,\r\n} from \"../../../Helper/RequestScreenHelper\";\r\n\r\nconst { confirm } = Modal;\r\nconst { Text } = Typography;\r\n\r\nconst EditableContext = React.createContext | null>(null);\r\n\r\nexport interface tableSelectOption {\r\n actionsCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n value: any;\r\n };\r\n targetCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n options: { item: string }[];\r\n };\r\n}\r\n\r\nexport interface Item {\r\n key: string;\r\n name: string;\r\n age: string;\r\n address: string;\r\n}\r\ninterface EditableRowProps {\r\n index: number;\r\n}\r\n\r\nexport type TableInputProps = {\r\n rowIdx?: number;\r\n colIdx?: number;\r\n template: any;\r\n name: string;\r\n saveFunc: any;\r\n inputRef: any;\r\n value?: any;\r\n isEditing: boolean;\r\n onEdit: any;\r\n children: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n record?: any;\r\n allLogicInTable?: ILogicRequestBody[];\r\n actionAlert?: any;\r\n toggleEdit?: any;\r\n};\r\n\r\nconst EditableRow: React.FC = ({ index, ...props }) => {\r\n const [form] = Form.useForm();\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\ninterface EditableCellProps {\r\n title: React.ReactNode;\r\n editable: boolean;\r\n children: React.ReactNode;\r\n dataIndex: keyof Item;\r\n record: any;\r\n handleSave: (record: Item, responseControlChange: any) => void;\r\n template: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n isError: boolean;\r\n allLogicInTable: ILogicRequestBody[];\r\n actionAlert?: any;\r\n setButtonType: (buttonType: any) => void;\r\n refDocOptions: any[];\r\n refTableColumn: any[];\r\n // isControlLoading: any;\r\n}\r\n\r\nconst EditableCell: React.FC = ({\r\n title,\r\n editable,\r\n children,\r\n dataIndex,\r\n record,\r\n handleSave,\r\n template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n setButtonType,\r\n isError,\r\n allLogicInTable,\r\n refDocOptions,\r\n refTableColumn,\r\n actionAlert,\r\n ...restProps\r\n}) => {\r\n const [editing, setEditing] = useState(false);\r\n const inputRef = useRef(null);\r\n const form = useContext(EditableContext)!;\r\n const [memoByOption, setMemoByOption] = useState(0);\r\n const [haveLink, setHaveLink] = useState();\r\n // const [templateState, setTemplateState] = useTemplateDescContext();\r\n useEffect(() => {\r\n if (editing) {\r\n inputRef?.current!?.focus({\r\n cursor: \"end\",\r\n });\r\n }\r\n }, [editing]);\r\n\r\n const toggleEdit = async () => {\r\n setEditing(!editing);\r\n form.setFieldsValue({ [dataIndex]: record[dataIndex] });\r\n };\r\n\r\n const save = async (value?: any, type?: any) => {\r\n try {\r\n // let values = await form.getFieldsValue();\r\n //let values = await form.validateFields();\r\n let values = await form.getFieldsValue();\r\n let responseControlChange = null;\r\n if (type === \"dd\") {\r\n responseControlChange = await onControlChange(\r\n template,\r\n { ...record, ...values, rowTemplate, colTemplate, dataIndex, values },\r\n true\r\n );\r\n if (responseControlChange && responseControlChange.type === \"table\") {\r\n values = responseControlChange.value;\r\n }\r\n }\r\n handleSave({ ...record, ...values }, responseControlChange);\r\n\r\n toggleEdit();\r\n } catch (errInfo) {\r\n console.log(\"Save failed:\", errInfo);\r\n }\r\n };\r\n useEffect(() => {\r\n findRefMemoId(record);\r\n }, [memoByOption, refDocOptions]);\r\n\r\n const findRefMemoId = (record: any) => {\r\n const isLink = template?.attribute?.mergecolumnrefdoc.find(\r\n (col: any) => col.HaveLink\r\n );\r\n if (isLink) {\r\n const memoData = refDocOptions.find(\r\n (e) => e[isLink.RefDocLabel] === record[isLink.ColumnLabel]\r\n );\r\n setHaveLink(isLink);\r\n if (memoData) setMemoByOption(memoData.Memo_MemoId);\r\n }\r\n };\r\n let childNode = children;\r\n\r\n if (editable) {\r\n for (let i = 0; i < template.attribute.column.length; i++) {\r\n let _col = template.attribute.column[i];\r\n const label = _col.control.template.label\r\n ? _col.control.template.label\r\n : _col.label;\r\n const type = _col.control.template.type;\r\n let isReadOnly = canEditDoc;\r\n\r\n if (\r\n _col.isReadOnly !== undefined &&\r\n typeof _col.isReadOnly !== \"boolean\"\r\n ) {\r\n const condition: ILogicCondition = _col.isReadOnly;\r\n\r\n isReadOnly =\r\n isReadOnly &&\r\n !checkIsCorrect(\r\n record[condition.field.label],\r\n condition.operator,\r\n condition.value\r\n );\r\n } else {\r\n isReadOnly = isReadOnly && !_col.isReadOnly;\r\n }\r\n\r\n if (label === dataIndex) {\r\n if (type === \"ta\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"l\") {\r\n } else if (type === \"c\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"cb\") {\r\n if (_col.control.template.attribute.display === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else {\r\n childNode = (\r\n \r\n );\r\n }\r\n } else if (type === \"t\") {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n\r\n childNode =\r\n haveLink &&\r\n haveLink.HaveLink === true &&\r\n haveLink.ColumnLabel === label ? (\r\n \r\n {record[dataIndex]}\r\n \r\n ) : (\r\n \r\n );\r\n // }\r\n } else if (type === \"r\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"d\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"at\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"bt\") {\r\n } else if (type === \"id\") {\r\n return <>1;\r\n } else if (type === \"action\") {\r\n // return ;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
{childNode}
\r\n \r\n );\r\n};\r\n\r\ntype EditableTableProps = Parameters[0];\r\n\r\ntype ColumnTypes = Exclude;\r\ntype TableProps = {\r\n _columns: any;\r\n _data: any;\r\n onChange: any;\r\n layout: any;\r\n isControlLoading: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n tableSummary?: any;\r\n onSubmit: any;\r\n isError: boolean;\r\n memoDetail: IMemoDetailModel;\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n allLogicInTable: ILogicRequestBody[];\r\n\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n};\r\n\r\nconst TableComponent: React.FC = ({\r\n _columns,\r\n _data,\r\n onChange,\r\n layout,\r\n isControlLoading,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableSummary,\r\n onSubmit,\r\n isError,\r\n memoDetail,\r\n allLogicInTable,\r\n updateTableSummaries,\r\n actionAlert,\r\n setButtonType,\r\n colIdx,\r\n rowIdx,\r\n colText,\r\n ...props\r\n}) => {\r\n const [moveToDialogVisible, setMoveToDialogVisible] =\r\n useState(false);\r\n const [moveFormIndex, setMoveFormIndex] = useState(-1);\r\n\r\n const [summary, setSummary] = useState();\r\n const [tableLoad, setTableLoad] = useState(false);\r\n const [refTableDialogVisible, setRefTableDialogVisible] =\r\n useState(false);\r\n const [refTableLoading, setRefTableLoading] = useState(false);\r\n const [refDocOptions, setRefDocOptions] = useState([]);\r\n const [refTableColumn, setRefTableColumn] = useState([]);\r\n const [tableFooter, setTableFooter] = useState(\r\n layout.template.attribute?.footerTable?.rows || []\r\n );\r\n const [exportFile, setExportFile] = useState([]);\r\n const [loadFile, setLoadFile] = useState(false);\r\n useEffect(() => {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n fetchRefDocFormTable();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSummary(tableSummary);\r\n }, [tableSummary]);\r\n\r\n const handleDelete = (key: React.Key) => {\r\n const newData = _data.filter((item: any) => item.key !== key);\r\n if (newData.length === 0) {\r\n summaryFunc();\r\n }\r\n // onChange({ row: [...returnToValue(newData)] });\r\n onChange({ ...layout, data: { row: returnToValue(newData) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const menu = useRef([]);\r\n\r\n function createRowCopy(key: number) {\r\n let newData: any = {\r\n key: key,\r\n };\r\n const cols = layout.template.attribute.column;\r\n\r\n cols.map((col: any, i: any) => {\r\n let type = col.control.template.type;\r\n if (type == \"cb\") {\r\n newData[col.label] = \"\";\r\n } else if (type == \"t\" || type == \"ta\" || type == \"c\") {\r\n newData[col.label] = col.control.template.attribute.default\r\n ? col.control.template.attribute.default\r\n : null;\r\n if (newData[col.label]) {\r\n newData[col.label] = newData[col.label].replace(\r\n /\\[.+\\]/gi,\r\n (x: any) => {\r\n let fmt = x.replace(\"[\", \"\").replace(\"]\", \"\");\r\n return moment().format(fmt);\r\n }\r\n );\r\n }\r\n } else if (type == \"dd\") {\r\n let items = col.control.template.attribute.items;\r\n newData[col.label] = items[0].item;\r\n } else {\r\n newData[col.label] = null;\r\n }\r\n });\r\n\r\n return newData;\r\n }\r\n\r\n const handleAdd = () => {\r\n let newData: any = createRowCopy(_data.length);\r\n\r\n let eiei = [..._data, newData];\r\n\r\n onChange({ ...layout, data: { row: returnToValue(eiei) } });\r\n };\r\n\r\n const handleAddMultiRow = (newRows: any[]) => {\r\n let newData: any = newRows;\r\n let rows: any[] = [..._data];\r\n newData.map((e: any) => {\r\n rows.push(e);\r\n });\r\n rows.map((e: any, idx: number) => {\r\n e.key = idx;\r\n });\r\n console.log(\"row\", rows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n };\r\n\r\n const returnToValue = (_data: any) => {\r\n let newJa: any = [];\r\n for (let i = 0; i < _data.length; i++) {\r\n const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < layout.template.attribute.column.length; j++) {\r\n const column = layout.template.attribute.column[j];\r\n gogo.push({ value: _eiei[column.label] });\r\n }\r\n newJa.push(gogo);\r\n }\r\n\r\n return newJa;\r\n };\r\n\r\n const calCulateFunc = (row: any) => {\r\n try {\r\n if (layout.template.formula !== \"\") {\r\n const formulas = layout.template.formula.split(\"|\");\r\n const columns = layout.template.attribute.column;\r\n\r\n formulas.map((formula: string) => {\r\n let resulstField = formula.split(\"=\");\r\n let formu: string = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number = 0;\r\n if (formu.startsWith(\"Min\") || formu.startsWith(\"Max\")) {\r\n const operator = formu.startsWith(\"Max\") ? \"Max\" : \"Min\";\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n fields.forEach((field) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n );\r\n\r\n if (!Number.isNaN(value))\r\n if (\r\n result === 0 ||\r\n (operator === \"Max\" && value > result) ||\r\n (operator === \"Min\" && value < result)\r\n ) {\r\n result = value;\r\n }\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n } else if (formu.startsWith(\"diffdate\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(row[fields[0]]);\r\n let lastDate = moment(row[fields[1]]);\r\n let res = firstDate.diff(lastDate, \"days\");\r\n if (res >= 1) {\r\n res += 1;\r\n }\r\n\r\n result = res;\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol.control.template.attribute.decimal);\r\n } else if (formu.startsWith(\"difftime\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(row[fields[0]], \"h.mm\");\r\n let lastDate = moment(row[fields[1]], \"h.mm\");\r\n let res = firstDate.diff(lastDate, \"minutes\");\r\n\r\n const hours = Math.trunc(res / 60);\r\n const remainingMinutes = res % 60;\r\n let formattedTime =\r\n res <= -1 && res >= -9\r\n ? `-0.0${Math.abs(remainingMinutes)}`\r\n : hours === -0 && res < -10\r\n ? `-${hours}.${Math.abs(remainingMinutes)}`\r\n : res < -10\r\n ? `${hours}.${Math.abs(remainingMinutes)}`\r\n : `${hours}.${remainingMinutes}`;\r\n\r\n result = Number(formattedTime);\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol.control.template.attribute.decimal);\r\n } else {\r\n // const allField = formu.match(/\\w+\\([^+\\-\\*/=]\\)|\\w+/g) || [];\r\n let allField: any = resulstField[0].match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n allField = allField.map((e: string) => {\r\n return balanceParentheses(e);\r\n });\r\n\r\n allField.forEach((field: string) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n ).toFixed(decimal);\r\n formu = formu.replace(\r\n col.label,\r\n value !== \"NaN\" ? value : Number(0).toFixed(decimal)\r\n );\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n\r\n let dd = formu.replaceAll(\",\", \"\");\r\n\r\n result = eval(dd);\r\n }\r\n\r\n row[resulstField[1]] = result?.toFixed(resultDecimal);\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n };\r\n\r\n const summaryFunc = () => {\r\n try {\r\n if (tableSummary) {\r\n const cols = layout.template.attribute.column;\r\n const _tableSummary = JSON.stringify(tableSummary);\r\n let _sum = JSON.parse(_tableSummary);\r\n cols.map((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n _sum[e.label] = 0;\r\n }\r\n });\r\n\r\n _data.forEach((e: any) => {\r\n cols.map((col: any, colidx: number) => {\r\n if (col.control.template.type === \"c\") {\r\n //ทำไว้เผื่อแก้โครงสร้าง object ที่ผิดรูป\r\n if (!e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n }\r\n\r\n if (e[col.control.template.label]) {\r\n if (e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n if (\r\n !Number.isNaN(\r\n Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n )\r\n )\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n );\r\n } else if (\r\n !Number.isNaN(Number(e[col.control.template.label]))\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n calCulateTableFooter();\r\n updateTableSummaries(layout.template, _sum);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>error\", error);\r\n }\r\n };\r\n\r\n useEffect(() => summaryFunc(), [_data]);\r\n\r\n const handleSave = (row: any, responseControlChange?: any) => {\r\n const newData = [..._data];\r\n const index = newData.findIndex((item) => row.key === item.key);\r\n\r\n calCulateFunc(row);\r\n\r\n const item = newData[index];\r\n newData.splice(index, 1, {\r\n ...item,\r\n ...row,\r\n });\r\n let res = layout;\r\n if (responseControlChange && responseControlChange.type === \"control\") {\r\n console.log(\"new render\");\r\n for (let i = 0; i < responseControlChange.value.length; i++) {\r\n const items = responseControlChange.value[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const _layout = items.layout[j];\r\n if (_layout.template.label === layout.template.label) {\r\n res = _layout;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // console.log(\"table=>responseControlChange\", responseControlChange);\r\n\r\n // if (responseControlChange.type === \"table_dd_to_dd\") {\r\n // res = responseControlChange.value;\r\n // }\r\n onChange({ ...res, data: { row: returnToValue(newData) } });\r\n };\r\n\r\n const defColumns: any[] = _columns.map((_col: any, idx: any) => {\r\n return {\r\n ..._col,\r\n };\r\n });\r\n\r\n if (canEditDoc) {\r\n defColumns.push({\r\n title: (\r\n {\r\n setButtonType(\"\");\r\n try {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n setRefTableDialogVisible(true);\r\n } else {\r\n handleAdd();\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }}\r\n >\r\n ),\r\n className: \"action-column\",\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"right\",\r\n width: 50,\r\n render: (_: any, record: { key: number }) => (\r\n
{actionBodyTemplate(record.key)}
\r\n ),\r\n onCell: (record: any, rowIndex: number) => {\r\n return {\r\n onClick: (e: any) => {\r\n menu?.current[record?.key]?.toggle(e);\r\n },\r\n };\r\n },\r\n });\r\n }\r\n\r\n const addRowTo = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const duplicate = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n layout.template.attribute.column.forEach((_col: any) => {\r\n newData[_col.label] = rows[key][_col.label];\r\n });\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n console.log(\"table=>rows\", returnToValue(rows));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const moveTo = (key: number) => {\r\n try {\r\n if (moveFormIndex !== -1) {\r\n let dd = JSON.stringify(_data);\r\n let rows: any[] = JSON.parse(dd);\r\n let updateRow = rows.splice(moveFormIndex, 1)[0];\r\n rows.splice(key, 0, updateRow);\r\n setMoveFormIndex(-1);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (key: number) => {\r\n const items = [\r\n {\r\n label: \"Create new item\",\r\n icon: \"pi pi-fw pi-plus\",\r\n items: [\r\n {\r\n label: \"Create new item above\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key);\r\n },\r\n },\r\n {\r\n label: \"Create new item below\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key + 1);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Move to\",\r\n icon: \"pi pi-fw pi-sort-alt\",\r\n command: () => {\r\n setMoveFormIndex(key);\r\n setMoveToDialogVisible(true);\r\n },\r\n },\r\n {\r\n label: \"Duplicate\",\r\n icon: \"pi pi-fw pi-copy\",\r\n command: () => {\r\n setTableLoad(true);\r\n duplicate(key);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-fw pi-trash\",\r\n command: () => {\r\n setTableLoad(true);\r\n handleDelete(key);\r\n },\r\n },\r\n ];\r\n return (\r\n \r\n {\r\n menu.current[key] = el;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const columns = defColumns.map((col: any) => {\r\n if (!col.editable) {\r\n return col;\r\n }\r\n\r\n return {\r\n ...col,\r\n onCell: (record: any) => ({\r\n record,\r\n editable: col.editable,\r\n dataIndex: col.dataIndex,\r\n title: col.title,\r\n handleSave,\r\n template: layout.template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n allLogicInTable,\r\n }),\r\n };\r\n });\r\n\r\n function renderTableFooter() {\r\n try {\r\n let footers = layout.template.attribute?.footerTable?.rows;\r\n const columns = layout.template.attribute.column;\r\n if (footers) {\r\n console.log(footers);\r\n\r\n // let attribute: any[] = [];\r\n // footers.forEach((row: any) => {\r\n // let formu = row.formula;\r\n // let decimal: number = 0;\r\n // const _row = { ...row };\r\n // const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n // columns.forEach((col: any, colIdx: number) => {\r\n // if (allField.includes(col.label)) {\r\n // decimal = Number(col.control.template.attribute.decimal);\r\n\r\n // formu = formu.replace(\r\n // col.label,\r\n // summary[col.label].toFixed(decimal) !== \"NaN\"\r\n // ? summary[col.label].toFixed(decimal)\r\n // : Number(0).toFixed(decimal)\r\n // );\r\n // }\r\n // });\r\n\r\n // const value = addbits(formu)?.toLocaleString(undefined, {\r\n // minimumFractionDigits: decimal,\r\n // });\r\n // _row.result = value;\r\n // // _row.formula = formu;\r\n // attribute.push(_row);\r\n // });\r\n\r\n // attribute.map((footer: any) => {\r\n // const footerTable = footer.formula.match(/[/[ก-๙A-Za-z.()]/g) || [];\r\n // if (footerTable.length > 0) {\r\n // let formula = footer.formula;\r\n // const allField = formula.match(/[^+\\-\\*\\/=]+/g) || [];\r\n // attribute.map((attributefooter: any) => {\r\n // let decimal: number = 5;\r\n\r\n // if (allField.includes(attributefooter.label)) {\r\n // const _val = attributefooter.result.replace(/,/g, \"\");\r\n // formula = formula.replace(\r\n // attributefooter.label,\r\n // Number(_val).toString() !== \"NaN\"\r\n // ? Number(_val).toString()\r\n // : \"0.00\"\r\n // );\r\n\r\n // const value = addbits(formula)?.toLocaleString(undefined, {\r\n // maximumFractionDigits: 3,\r\n // });\r\n\r\n // footer.result = value;\r\n // }\r\n // });\r\n // }\r\n // });\r\n setTableFooter([...footers]);\r\n // return (\r\n // <>\r\n // \r\n // \r\n // {attribute?.length > 0 &&\r\n // _data.length > 0 &&\r\n // attribute.map((row: any) => {\r\n // try {\r\n // return (\r\n // \r\n // \r\n // {row.label + \" : \"}\r\n // \r\n // \r\n // {\r\n // if (Number(e.target.value)) {\r\n // console.log(row);\r\n // row.value = Number(e.target.value);\r\n // console.log(Number(e.target.value));\r\n // }\r\n // }}\r\n // />\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // } catch (error) {\r\n // console.log(\"table=>error\", error);\r\n // }\r\n // })}\r\n // \r\n // \r\n // \r\n // );\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n const calCulateTableFooter = (changeObj?: any) => {\r\n try {\r\n const columns = layout.template.attribute.column;\r\n let decimal: number = 2;\r\n\r\n setTableFooter([\r\n ...tableFooter.map((footer: any) => {\r\n let formu = footer?.formula;\r\n\r\n const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n if (changeObj && changeObj.label === footer.label) {\r\n footer.value = changeObj?.value;\r\n }\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (allField.includes(col.label)) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replace(\r\n col.label,\r\n summary[col.label].toFixed(decimal) !== \"NaN\"\r\n ? summary[col.label].toFixed(decimal)\r\n : Number(0).toFixed(decimal)\r\n );\r\n } else if (allField.includes(\"value\")) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replaceAll(\r\n \"value\",\r\n footer?.value?.toFixed(decimal)\r\n );\r\n }\r\n });\r\n const validate: any[] =\r\n formu.match(/[\\u0E00-\\u0E7FA-Za-z]+|\\([^)]+\\)+/g) || [];\r\n\r\n if (validate.length > 0) {\r\n tableFooter.map((e: any) => {\r\n if (formu.indexOf(e.label) !== -1) {\r\n formu = formu.replace(\r\n e.label,\r\n Number(e?.result.replaceAll(\",\", \"\"))\r\n );\r\n }\r\n });\r\n }\r\n\r\n if (footer?.formula.includes(\"value\")) {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n\r\n footer.result = value;\r\n } else {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n footer.result = value;\r\n }\r\n\r\n return footer;\r\n }),\r\n ]);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function addbits(s: any) {\r\n try {\r\n let newForm = s.split(\"=\");\r\n var total = 0;\r\n let result =\r\n newForm[0].match(\r\n /\\((?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[*+/-](?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?\\)/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n total = eval(result.join(\"+\"));\r\n } else {\r\n result =\r\n newForm[0].match(\r\n /(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[\\,\\ ]?[*+/-][\\,\\ ]?(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n let strFormula = \"\";\r\n\r\n for (let i = 0; i < result.length; i++) {\r\n strFormula = strFormula + result[i];\r\n }\r\n\r\n total = eval(strFormula);\r\n }\r\n }\r\n return total;\r\n } catch (error) {\r\n console.log(\"table=>error: \", error);\r\n }\r\n }\r\n\r\n async function fetchRefDocFormTable() {\r\n let tempAtt = layout.template.attribute;\r\n\r\n if (refDocOptions.length === 0) {\r\n setRefTableLoading(true);\r\n\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: memoDetail.creator.NameEn,\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n const refReportDetail = await GetReportById(tempAtt.refdoc.docReport);\r\n\r\n if (tempAtt.refdoc.docDataSource === \"Template\") {\r\n let refColumn: any[] = [];\r\n let refOptions: any[] = [];\r\n refDetails.forEach((e: any) => {\r\n let _option: any = { Memo_MemoId: e.MemoId };\r\n let advanceForm = JSON.parse(e.MAdvancveForm);\r\n advanceForm.items.map((a: any) => {\r\n a.layout.map((l: any) => {\r\n const target = tempAtt.mergecolumnrefdoc.find(\r\n (col: any) =>\r\n col.RefDocLabel.split(\"_\")[1] === l.template.label\r\n );\r\n\r\n if (target) {\r\n _option[target.RefDocLabel] = l.data.value;\r\n _option[l.template.label] = l.data.value;\r\n }\r\n tempAtt.mergecolumnrefdoc.map((a: any) => {\r\n if (a.RefDocLabel === \"DocumentNo\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"DocumentAmount\") {\r\n _option[a.RefDocLabel] = e.Amount;\r\n _option[a.RefDocLabel] = e.Amount;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"CreatorEmployeePosition\") {\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDivision\") {\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDepartment\") {\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"RequestorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n } else if (a.RefDocLabel === \"RequestorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeePosition\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeDivision\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n }\r\n } else if (\r\n a.RefDocLabel === \"RequestorEmployeeDepartment\"\r\n ) {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"InformationDocumentStatus\") {\r\n _option[a.RefDocLabel] = e.StatusName;\r\n _option[a.RefDocLabel] = e.StatusName;\r\n } else if (a.RefDocLabel === \"InformationFormName\") {\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n } else if (a.RefDocLabel === \"InformationRequestDate\") {\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n } else if (a.RefDocLabel === \"InformationCompany\") {\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n } else if (a.RefDocLabel === \"InformationBranch\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"InformationSubject\") {\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n } else if (a.RefDocLabel === \"InformationProject\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n }\r\n });\r\n });\r\n });\r\n refOptions.push(_option);\r\n });\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefDocOptions([...refOptions]);\r\n setRefTableColumn([...refColumn]);\r\n } else if (tempAtt.refdoc.docDataSource === \"Report\") {\r\n if (refReportDetail?.dt_Report?.length > 0) {\r\n let refColumn: any[] = [];\r\n\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n\r\n setRefTableColumn([...refColumn]);\r\n\r\n setRefDocOptions([...refReportDetail.dt_Report]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n setRefTableLoading(false);\r\n }\r\n\r\n const onImportExcel = async (dataJson: any) => {\r\n const response = await fetch(\"api/Excel/ImportData\", {\r\n method: \"POST\",\r\n body: dataJson,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return response;\r\n };\r\n\r\n const onExportExcel = async (dataJson: any) => {\r\n try {\r\n const fileName = \"export.xlsx\";\r\n const response = await fetch(\"api/Excel/ExportData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\", // Ensure correct content type\r\n },\r\n body: JSON.stringify({\r\n mAdvance: JSON.stringify(dataJson),\r\n }),\r\n })\r\n .then((response) => response.blob())\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(new Blob([blob]));\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n })\r\n .catch((error) => console.error(\"Download failed:\", error));\r\n } catch (error) {\r\n console.error(\"Error:\", error);\r\n }\r\n };\r\n\r\n const handleFileUpload = async (file: any) => {\r\n try {\r\n const uploadFile = new FormData();\r\n uploadFile.append(\"file\", file);\r\n const respone = await onImportExcel(uploadFile);\r\n if (respone) {\r\n putExcelToTable(respone);\r\n setExportFile(respone);\r\n }\r\n } catch (error: any) {\r\n console.error(error.message);\r\n }\r\n };\r\n\r\n const putExcelToTable = (resultData: any[]) => {\r\n const result = resultData.slice(0, resultData.length);\r\n\r\n let newRows = resultData.slice(0, resultData.length);\r\n confirm({\r\n title: \"Preview data\",\r\n icon: \"\",\r\n className: \"csv-confirm-modal\",\r\n content: (\r\n {\r\n if (e) {\r\n newRows = result.slice(1, newRows.length);\r\n } else {\r\n newRows = result;\r\n }\r\n }}\r\n />\r\n ),\r\n width: \"80%\",\r\n okButtonProps: {\r\n icon: ,\r\n className: \"confirm-btn ok\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onOk() {\r\n // handleAddMultiRow(newRows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(newRows) } });\r\n },\r\n cancelButtonProps: {\r\n icon: ,\r\n type: \"ghost\",\r\n className: \"cancel\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onCancel() {\r\n console.log(\"Cancel\");\r\n },\r\n });\r\n };\r\n\r\n const menuClickHandler = (key: string) => {\r\n if (key === \"import\") {\r\n // Trigger file input click when Import is clicked\r\n const input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.accept = \".xlsx\";\r\n input.onchange = (e: any) => {\r\n const file = e?.target?.files[0];\r\n if (file) {\r\n handleFileUpload(file);\r\n }\r\n };\r\n input.click();\r\n } else if (key === \"export\") {\r\n layout.data = { row: returnToValue(_data) };\r\n onExportExcel(layout);\r\n }\r\n };\r\n const menuItem = (\r\n {\r\n menuClickHandler(info.key);\r\n }}\r\n >\r\n }>\r\n
Import
\r\n
\r\n\r\n }>\r\n Export\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n e.preventDefault()}\r\n style={{\r\n height: \"38px\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 11px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n \r\n )\r\n }\r\n />\r\n {/* {layout.template.type === \"tb\" && layout.template.canImport === \"Y\" && (\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n \r\n )} */}\r\n
\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n ) => {\r\n return (\r\n \r\n );\r\n },\r\n row: EditableRow,\r\n },\r\n }\r\n : {}\r\n }\r\n dataSource={_data}\r\n loading={tableLoad}\r\n columns={columns as ColumnTypes}\r\n rowClassName={() => \"editable-row\"}\r\n bordered\r\n id=\"table-control\"\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n footer={() => {\r\n const haveInput = tableFooter?.find((e: any) => e.useValue);\r\n\r\n return tableFooter.map((footer: any) => {\r\n return (\r\n \r\n );\r\n });\r\n }}\r\n summary={(pageData: any) => {\r\n try {\r\n const cols = layout?.template?.attribute?.column;\r\n let isShowSum = false;\r\n cols.forEach((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary === \"Y\") {\r\n isShowSum = true;\r\n return;\r\n }\r\n });\r\n if (isShowSum && _data.length > 0 && summary) {\r\n return (\r\n \r\n \r\n \r\n Total\r\n \r\n {cols.map((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary !== \"Y\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {!isNaN(\r\n Number(summary[col.control.template.label])\r\n )\r\n ? Number(\r\n Number(\r\n summary[col.control.template.label]\r\n )\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n col.control.template.attribute.decimal\r\n ),\r\n })\r\n : \"0.00\"}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>\", error);\r\n }\r\n }}\r\n />\r\n\r\n \r\n\r\n {\r\n try {\r\n if (_selectedData?.length > 0) {\r\n let newRows: any[] = [];\r\n _selectedData?.map((e: any, idx: number) => {\r\n let newRow = createRowCopy(idx);\r\n layout.template.attribute.mergecolumnrefdoc.forEach(\r\n (col: any) => {\r\n newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n }\r\n );\r\n newRows.push(newRow);\r\n });\r\n handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n setRefTableDialogVisible(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>ref=>\", error);\r\n }\r\n }}\r\n // customFooter={() => {\r\n // return (\r\n // {\r\n // try {\r\n // if (selectedData?.length > 0) {\r\n // let newRows: any[] = [];\r\n // selectedData?.map((e: any, idx: number) => {\r\n // let newRow = createRowCopy(idx);\r\n // layout.template.attribute.mergecolumnrefdoc.forEach(\r\n // (col: any) => {\r\n // newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n // }\r\n // );\r\n // newRows.push(newRow);\r\n // });\r\n // handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n // setRefTableDialogVisible(false);\r\n // }\r\n // } catch (error) {\r\n // console.log(\"table=>ref=>\", error);\r\n // }\r\n // }}\r\n // style={{\r\n // height: \"38px\",\r\n // background: \" #28a745\",\r\n // border: \"1px solid #28a745\",\r\n // color: \"#ffffff\",\r\n // fontSize: \"13px\",\r\n // borderRadius: \"6px\",\r\n // margin: \" 0px 11px 0px 0px\",\r\n // }}\r\n // />\r\n // );\r\n // }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(TableComponent);\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n header: string;\r\n dataLength: number;\r\n isVisible: boolean;\r\n setIsVisible: (isVisible: boolean) => void;\r\n moveFunc: (key: number) => void;\r\n setLoading: (load: boolean) => void;\r\n};\r\n\r\nconst MoveToDialog = ({\r\n header,\r\n dataLength,\r\n isVisible,\r\n setLoading,\r\n setIsVisible,\r\n moveFunc,\r\n}: Props) => {\r\n const [moveValue, setMoveValue] = useState(1);\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setIsVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n {\r\n setLoading(true);\r\n moveFunc(moveValue - 1);\r\n setIsVisible(false);\r\n }}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n {\r\n setIsVisible(false);\r\n setMoveValue(1);\r\n }}\r\n footer={renderFooter}\r\n className=\"information-dialog\"\r\n draggable={false}\r\n closable={false}\r\n resizable={false}\r\n blockScroll\r\n >\r\n \r\n {\r\n if (e?.value <= dataLength) {\r\n setMoveValue(e?.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MoveToDialog;\r\n","import { Input, InputNumber } from \"antd\";\r\nimport React, { useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ntype Props = {\r\n footerAtt: any;\r\n onChange: (changeObj?: any) => void;\r\n haveInput: boolean;\r\n};\r\n\r\nconst TableFooter = ({ footerAtt, onChange, haveInput }: Props) => {\r\n const [inputValue, setInputValue] = useState(footerAtt.value);\r\n console.log(haveInput);\r\n\r\n return (\r\n
\r\n \r\n \r\n {footerAtt.label + \" : \"}\r\n \r\n {footerAtt.useValue ? (\r\n <>\r\n {\" \"}\r\n \r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n parser={(value) => value!.replace(/\\$\\s?|(,*)/g, \"\")}\r\n onChange={(e) => {\r\n setInputValue(e);\r\n }}\r\n onBlur={(e) => {\r\n if (Number(e.target.value)) {\r\n console.log(footerAtt);\r\n\r\n let dup = { ...footerAtt };\r\n dup.value = Number(e.target.value);\r\n onChange(dup);\r\n }\r\n }}\r\n controls={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableFooter;\r\n","import { Checkbox, Table } from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n newRows: any[];\r\n columns: any[];\r\n onCheckedHeader: (checked: boolean) => void;\r\n};\r\n\r\nconst ExcelTablePreview = ({ newRows, columns, onCheckedHeader }: Props) => {\r\n const [sourceData, setsourceData] = useState(newRows);\r\n\r\n const [displayData, setDisplayData] = useState(newRows);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [current, setCurrent] = useState(1);\r\n console.log(\"newRows\", newRows);\r\n console.log(\"newRows=>columns\", columns);\r\n return (\r\n <>\r\n e.key !== \"operation\")}\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n pagination={{\r\n pageSize: pageSize,\r\n onShowSizeChange: (current, size) => {\r\n setPageSize(size);\r\n },\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ExcelTablePreview;\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const AutoNumber: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n console.log(\"rvs=>\" + template.label, field.value);\r\n console.log({ canEditDoc });\r\n\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={template.label.replaceAll(\" \", \"_\")}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ButtonComponent.css\";\r\nimport { useHistory } from \"react-router\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n documentNo: any;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n}\r\nexport default function ButtonComponent(props: Props) {\r\n const [url, setUrl] = useState(\"\");\r\n const history = useHistory();\r\n const [doc_no, setDoc_no] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.template.URL) {\r\n let newUrl: string = props.template.URL;\r\n newUrl = newUrl.replace(\"TP\", \"template\");\r\n if (newUrl.indexOf(\"/Memo?\") !== -1) {\r\n newUrl = newUrl.replace(\"/Memo?\", \"MemoID=0&\");\r\n }\r\n if (newUrl.startsWith(\"http\")) {\r\n newUrl = newUrl;\r\n } else if (!newUrl.startsWith(\"?\")) {\r\n newUrl = \"?\" + newUrl;\r\n }\r\n setUrl(newUrl);\r\n }\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // const document_no = props.documentNo;\r\n\r\n // setDoc_no(document_no);\r\n // }, [props.requestDetail]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {\r\n const temp = props.template;\r\n let str = \"\";\r\n if (props.documentNo !== \"Auto Generate\") {\r\n let param = \"\";\r\n let val = \"\";\r\n temp.attribute.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (_layout.control.label === \"Document No\") {\r\n val = props.documentNo;\r\n }\r\n param = _layout.paramiter.value;\r\n });\r\n });\r\n str = \"&\" + param + \"=\" + val;\r\n if (!url.startsWith(\"https\")){\r\n window.open(`/Request${url + str}`, \"_blank\", \"noreferrer\");\r\n } else{\r\n window.open(`${url}`, \"_blank\",\"noreferrer\");\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"กรุณาบันทึกก่อนดำเนินการ\",\r\n header: \"Alert\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n }\r\n }}\r\n />\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// // import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { log } from \"console\";\r\nimport { GetPort } from \"../../../Services/AttachFileService\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n colText: any;\r\n col?: any;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: any;\r\n canEditDoc: boolean;\r\n colAction: any;\r\n edFont?:any\r\n defaultFont?:any\r\n}\r\n\r\nexport const EditorComponent = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [contentEditor, setContentEditor] = useState(\r\n !props.data.value ? initialValues : props.data\r\n );\r\n \r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n let _tinyURL = _userData.TinyURL;\r\n\r\n async function defaultValue() {\r\n if (props.data.value) {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n } else {\r\n props.data.value = \"\";\r\n }\r\n }\r\n const handleEditorChange = (content: any, editor: any, onChange: any) => {\r\n onChange(content);\r\n function convertHtml(_comment: any) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n {\r\n const _value =\r\n value?.replace(/\\{/g, \"<\").replace(/\\}/g, \">\").replace(/\\'/g, \"\") ||\r\n \"\";\r\n\r\n\r\n return (\r\n <>\r\n \r\n {props.template.attribute.readonly === \"Y\" ? (\r\n
\r\n ) : (\r\n {\r\n handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }}\r\n name={props.name}\r\n rules={{\r\n required:\r\n props.template.attribute.require !== \"\" &&\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n control={props.control}\r\n />\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ninterface Props {\r\n key: any;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n}\r\n\r\nexport const EmptyComponent = (props: Props) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport \"./ImageComponent.css\";\r\nimport { Image } from \"antd\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { Controller } from \"react-hook-form\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n renderInTable?: string;\r\n colText?: number;\r\n colAction?: number;\r\n errorValid?: string;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: string;\r\n canEditDoc: boolean;\r\n}\r\n\r\nexport default function ImageComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = userData.SharepointSiteURL;\r\n let port = location.host === \"localhost:5001\" ? undefined : location.port;\r\n let _TinyURL =\r\n port !== undefined || \"\" ? userData.TinyURL + \":\" + port : userData.TinyURL;\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [valueState, setValueState] = useState(\r\n props.data.value == null || undefined ? initialValues : props.data\r\n );\r\n const [fileType, setFileType] = useState(\"\");\r\n useEffect(() => {\r\n deFaultValue();\r\n }, []);\r\n\r\n const deFaultValue = async () => {\r\n if (props.template.fileType) {\r\n const myArray = props.template.fileType.split(\"*\");\r\n let mapData: any = [];\r\n for (let index = 1; index < myArray.length; index++) {\r\n myArray[index] = \".\" + myArray[index];\r\n mapData.push(myArray[index]);\r\n }\r\n setFileType(mapData.toString());\r\n }\r\n let _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n };\r\n async function onFileSelect(e: any, onChange: any) {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n var hasInvalidFiles = false;\r\n if (props.template?.fileType) {\r\n const myArray = props.template?.fileType.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n if (files.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `Unsupported file selected.`,\r\n // life: 3000,\r\n // });\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n e.target.value = null;\r\n return;\r\n }\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n console.log(\"im=>response\", { response });\r\n\r\n // setValueState((prevState: any) => ({\r\n // ...prevState,\r\n // value: response.data.pathUrl,\r\n // }));\r\n console.log(\"im=>\", replaceSpecialChar(response.data.pathUrl));\r\n onChange(replaceSpecialChar(response.data.pathUrl));\r\n // props.onChangeEditForm(\r\n // {\r\n // value: response.data.pathUrl,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n {\r\n console.log({ value });\r\n\r\n return (\r\n <>\r\n {\r\n console.log(\r\n `${_sharepointSiteURL}${value}`,\r\n \"ffffffffffffffff\"\r\n );\r\n console.log(\r\n `https://${userData.TinyURL}${value}`,\r\n \"ffffffffffffffff2\"\r\n );\r\n }}\r\n sm={props.col === undefined ? 12 : undefined}\r\n md={props.col === undefined ? props.colText : undefined}\r\n xs={props.col === undefined ? 12 : undefined}\r\n xl={props.col === undefined ? props.colText : undefined}\r\n className={\r\n props.renderInTable === undefined ? \"padding-controller\" : \"\"\r\n }\r\n >\r\n {props.renderInTable != \"renderInTable\" && (\r\n \r\n \r\n
\r\n \r\n {props.template.label}\r\n \r\n {props.template.attribute.require === \"Y\" && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n

{props.template.alter}

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {value ? (\r\n \r\n
\r\n \r\n
\r\n {props.template.attribute?.readonly === \"N\" && (\r\n
\r\n {\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n onChange(null);\r\n // props.onChangeEditForm(\r\n // {\r\n // value: null,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n <>\r\n {props.template.attribute?.readonly === \"N\" && (\r\n {\r\n console.log(fileType, \"fileType\");\r\n }}\r\n disabled={\r\n !props.canEditDoc ||\r\n props.template.attribute.readonly === \"Y\"\r\n }\r\n type=\"file\"\r\n onChange={(e: any) => {\r\n onFileSelect(e, onChange);\r\n }}\r\n // accept={fileType}\r\n className={`set-input-component-css form-control`}\r\n />\r\n )}\r\n \r\n File Formats Accepted {props.template?.fileType}\r\n \r\n \r\n )}\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[props.rowIdx] &&\r\n errors?.items[props.rowIdx].layout[props.colIdx] && (\r\n \r\n {props.template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n rules={{\r\n required:\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n name={props.name}\r\n control={props.control}\r\n // valueName={\"value\"}\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\n// import { SelectCheckboxComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { CheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport CheckboxDropdownComponent from \"./CheckboxDropdownComponent/CheckboxDropdownComponent\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n}\r\nexport default function MainCheckboxComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.attribute.display === \"dd\" && (\r\n \r\n )}\r\n {props.template.attribute.display !== \"dd\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./HeadingComponent.css\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n
\r\n

\r\n

{props.template.label}
\r\n
\r\n {props.template.alter != \"\" ? `${props.template.alter}` : \"\"}\r\n
\r\n

\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext == \"Y\" ? (\r\n \r\n \r\n {props.template.textvalue}\r\n \r\n \r\n ) : (\r\n
{props.template.textvalue}
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport HeadingComponent from \"./HeadingComponent/HeadingComponent\";\r\nimport TextComponent from \"./TextComponent/TextComponent\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function MainTextComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext === \"N\" && (\r\n \r\n )}\r\n {props.template.istext === \"Y\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller, UseFormGetValues, useFieldArray } from \"react-hook-form\";\r\nimport {\r\n TemplateDescContext,\r\n TemplateDescContextProvider,\r\n} from \"../../../Context/TemplateDescContext\";\r\nimport { formatColumn } from \"../../../Helper/formatColumn\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { AttachmentControlComponent } from \"../../AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { AutoNumber } from \"../../AntdControlComponent/AutoNumberFix/AutoNumberFix\";\r\nimport { DatePickerControlComponent } from \"../../AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputControlComponent } from \"../../AntdControlComponent/InputControlComponent/InputControlComponent\";\r\nimport { InputNumberControlComponent } from \"../../AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { RadioControlComponent } from \"../../AntdControlComponent/RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownControlComponent } from \"../../AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport TableComponent, {\r\n tableSelectOption,\r\n} from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { InputTextAreaControlComponent } from \"../../AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionNumberComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\n\r\nimport $ from \"jquery\";\r\nimport { ILogicRequestBody } from \"../../../IRequestModel/ILogicModel\";\r\n\r\ntype Props = {\r\n nestIndex: number;\r\n control: any;\r\n register: any;\r\n documentNo: any;\r\n controlRef: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n calCulateCorecontrol: any;\r\n isControlLoading: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableSummaries?: any[];\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n buttonType: string;\r\n autoNumFormat: IAutoNumberAttibute;\r\n onSubmit: any;\r\n memoDetail: IMemoDetailModel;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n edFont?: any;\r\n defaultFont?: any;\r\n allLogicInTable: ILogicRequestBody[]; getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\nconst Controls: FC = ({\r\n control,\r\n nestIndex,\r\n register,\r\n documentNo,\r\n controlRef,\r\n onControlChange,\r\n controlUpdate,\r\n autoNumFormat,\r\n isControlLoading,\r\n calCulateCorecontrol,\r\n allLogicInTable,\r\n memoDetail,\r\n onSubmit,\r\n canEditDoc,\r\n checkActionPage,\r\n tableSummaries,\r\n updateTableSummaries,\r\n buttonType,\r\n setButtonType,getValues,\r\n actionAlert,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const { fields, remove, append, update } = useFieldArray({\r\n control,\r\n name: `items[${nestIndex}].layout`,\r\n });\r\n\r\n return (\r\n <>\r\n {fields.map((layout: any, layoutIdx: number) => {\r\n const layoutLength = fields.length;\r\n const grid_size = 12 / layoutLength;\r\n let _colText = 0;\r\n let _colAction = 0;\r\n if (layoutLength == 1) {\r\n _colText =\r\n layout.template.type === \"tb\" || layout.template.type === \"ed\"\r\n ? 11\r\n : 2;\r\n _colAction = layout.template.type === \"ed\" ? 12 : 10;\r\n } else if (layoutLength == 2) {\r\n _colText = 2;\r\n _colAction = 4;\r\n }\r\n let _isCanEdit = canEditDoc;\r\n\r\n if (memoDetail.status !== \"New Request\") {\r\n autoNumFormat?.formats?.forEach((e) =>\r\n e.format.find((l) => {\r\n if (l.label === layout.template.label) _isCanEdit = false;\r\n })\r\n );\r\n }\r\n if (layout.template.type === \"l\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ed\" && layout.isShow !== false) {\r\n return (\r\n // \r\n <>\r\n \r\n \r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"c\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ta\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n // }\r\n } else if (layout.template.type === \"dd\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"cb\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"at\" && layout.isShow !== false) {\r\n console.log(layout.isReadOnly);\r\n\r\n return (\r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"t\" && layout.isShow !== false) {\r\n if (layout.template.label === \"test\") console.log(layout);\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"r\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"tb\" && layout.isShow !== false) {\r\n // check all column isShow == false\r\n // if isHideAllColumn == true then hide all table and label but save data to api on submit\r\n const columns = layout.template.attribute.column as Array<{\r\n isShow: boolean | undefined;\r\n }>;\r\n\r\n const isHideAllColumn = !columns\r\n .map((o) => (o.isShow == undefined ? true : o.isShow))\r\n .reduce((pre, cur) => pre || cur);\r\n\r\n return (\r\n <>\r\n {/* {!isHideAllColumn && (\r\n \r\n )} */}\r\n \r\n \r\n );\r\n } else if (layout.template.type === \"d\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"bt\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"an\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"rvs\" && layout.isShow !== false) {\r\n // incomplete\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"im\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (\r\n layout.template.type === \"em\" ||\r\n Object.keys(layout.template).length === 0\r\n ) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Controls);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect } from \"react\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport Field from \"../Input/Field\";\r\n\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setClassNameSpanProps?: any;\r\n setStyleDivProps?: any;\r\n setStyleProps?: any;\r\n onChangeProps?: any;\r\n valueProps?: any;\r\n disabledProps?: any;\r\n placeholderProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n readOnlyProps?: any;\r\n setControllerId?: any;\r\n autoFocusProps?: any;\r\n fieldProps?: any;\r\n typeProps?: any;\r\n acceptProps?: any;\r\n keyProps?: any;\r\n onBlurProps?: any;\r\n onFocusProps?: any;\r\n}\r\n\r\nexport const InputTextComponents = (props: Props) => {\r\n return (\r\n
\r\n \r\n {props.setIconProps !== undefined ? props.setIconProps : null}\r\n props.onChangeProps(e.target.value, props.keyProps)}\r\n value={props.valueProps}\r\n \r\n disabled={props.disabledProps}\r\n placeholder={props.placeholderProps}\r\n onClick={props.onClickProps}\r\n readOnly={props.readOnlyProps}\r\n // id={props.setControllerId}\r\n // testing if id shows up in the inspect in the right format\r\n id={replaceSpecialChar(props.valueProps??\"\")}\r\n // value={replaceSpecialChar(props.valueProps??\"\")}\r\n autoFocus={props.autoFocusProps}\r\n type={props.typeProps}\r\n accept={props.acceptProps}\r\n onBlur={props.onBlurProps}\r\n onFocus={props.onFocusProps}\r\n\r\n // onBlur={(e) =>\r\n // props.onBlurProps\r\n // ? props.onBlurProps(e.target.value, props.keyProps)\r\n // : undefined\r\n // }\r\n {...props.fieldProps}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","export const generateQuickGuid = () => {\r\n return (\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15)\r\n );\r\n};\r\n","export const GetButtonMemoByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetButtonMemoByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const ActionMemoPage = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/ActionMemoPage\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\nexport const GetMemoDetailById = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"GetMemoDetail=>err\", err);\r\n });\r\n return respone;\r\n};\r\nexport const GetMemoById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAttachmentFilesByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetAttachmentFilesByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetailOnlyById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoDetailOnlyById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocTemp = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocTemp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetAllMemo = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocFormTable = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocFormTable\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetMemoHistoryDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoHistoryDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const SetCheckAcces = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/SetCheckAccess\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n\r\n return respone;\r\n};\r\nexport const MAdvanceFormByMemoIds = async (memoIds: number[]) => {\r\n const response = await fetch(\"api/Memo/MAdvancveFormByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoIds),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n console.log(\"myres\", response);\r\n return response;\r\n};\r\n\r\nexport const ValidateDelegate = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DelegateList/ValidateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"ValidateDelegate=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const getStatusQueueByActorId = async (id: number) => {\r\n const respone = await fetch(`api/Memo/GetStatusQueueByActorId?id=${id}`, {\r\n method: \"GET\",\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateDismissById = async (id: number) => {\r\n const respone = await fetch(`api/Memo/UpdateDismissById?id=${id}`, {\r\n method: \"PATCH\",\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\n// const formatDateTimeDataReQuest = (value: any) => {\r\n// if (value != \"\") {\r\n// let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n// const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n// return NewDate;\r\n// } else {\r\n// const NewDate = \"\";\r\n// return NewDate;\r\n// }\r\n// };\r\n\r\n// function setdefaultMemoDetail(data: any) {\r\n// let _memo: IMemoDetailModel = data.requestDetails.memoDetail;\r\n// const _listFormName = data.requestDetails.listFormNames[0];\r\n// const newDate = new Date();\r\n// let _dataSetInformation: any = {\r\n// request_date: formatDateTimeDataReQuest(newDate),\r\n// created_date: formatDateTimeDataReQuest(newDate),\r\n// status:\r\n// location.pathname === \"/PreviewTemplate\"\r\n// ? _listFormName.status\r\n// : \"New Request\",\r\n// modified_date: formatDateTimeDataReQuest(newDate),\r\n// modified_by: window.localStorage.getItem(\"employeeId\"),\r\n// created_by: window.localStorage.getItem(\"employeeId\"),\r\n// report_lang: _listFormName.ReportLang,\r\n// auto_approve_when: _listFormName.AutoApproveWhen,\r\n// GroupTemplateName: _listFormName.GroupTemplateName,\r\n// template_id: _listFormName.TemplateId,\r\n// template_name: _listFormName.TemplateName,\r\n// template_code: _listFormName.DocumentCode,\r\n// document_no: \"Auto Generate\",\r\n// template_detail: uuidv4().replace(/-/g, \"\"),\r\n// waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n// waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n// };\r\n// }\r\n","enum LoadState {\r\n IDLE = 0,\r\n LOADING = 1,\r\n COMPLETE = 2,\r\n FAIL = 4,\r\n}\r\nclass GetAllMasterDataService {\r\n private static data: any = null;\r\n private static error: any = null;\r\n private static state: LoadState = LoadState.IDLE;\r\n private static queue: { resolve: Function; reject: Function }[] = [];\r\n\r\n private static responseToQueue() {\r\n if (this.state == LoadState.COMPLETE) {\r\n this.queue.forEach(({ resolve }) => {\r\n resolve(this.data);\r\n });\r\n } else if (this.state == LoadState.FAIL) {\r\n this.queue.forEach(({ reject }) => {\r\n reject(this.error);\r\n });\r\n\r\n this.state = LoadState.IDLE;\r\n this.error = null;\r\n this.data = null;\r\n }\r\n }\r\n\r\n public static retrieve() {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n // add callback to queue\r\n this.queue.push({ resolve, reject });\r\n\r\n if (this.state == LoadState.IDLE) {\r\n this.state = LoadState.LOADING;\r\n this.data = await fetch(\"/api/MasterData/GetAll\").then((r) =>\r\n r.json()\r\n );\r\n this.state = LoadState.COMPLETE;\r\n }\r\n } catch (e) {\r\n this.error = e;\r\n this.state = LoadState.FAIL;\r\n }\r\n\r\n this.responseToQueue();\r\n });\r\n }\r\n}\r\n\r\nexport const GetAllMasterData = () => {\r\n return GetAllMasterDataService.retrieve();\r\n};\r\n\r\nexport const GetSignature = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetSignature\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetReportSetting = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetReportSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetIsDocControl = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetIsDocControl\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const getAuthorization = async () => {\r\n const respone = await fetch(\"/api/MasterData/getAuthorization\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersion = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersion\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersionTempVC = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersionTempVC\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplate = async () => {\r\n const respone = await fetch(\"api/MasterData/GetLeaveTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplateByEmpId = async (empId: number) => {\r\n const respone = await fetch(`api/MasterData/GetLeaveTemplate/${empId}`)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataFieldInfo = async () => {\r\n const respone = await fetch(\"api/MasterData/FieldInfo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataReportTem = async () => {\r\n const respone = await fetch(\"api/MasterData/GetReportTem\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetFontList = async () => {\r\n const respone = await fetch(\"api/MasterData/FontList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataBrowserAgent = async () => {\r\n return fetch(\"api/MasterData/GetBrowserAgent\")\r\n .then((response) => response.json() as Promise)\r\n .then((data: any[]) => {\r\n if (data.length > 0) {\r\n let mstData = {\r\n browsers: (data[0].value1 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim().toLowerCase()),\r\n messages: (data[0].value2 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim()),\r\n };\r\n return mstData;\r\n } else {\r\n return null;\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(GetMasterDataBrowserAgent.name, \":\", err);\r\n return Promise.reject(err);\r\n });\r\n};\r\n","export enum LogicType {\r\n DataSourceRelated = \"datasourcerelated\",\r\n Reference = \"reference\",\r\n DataSourceLoad = \"datasourceload\",\r\n DataLineApprove = \"datalineapprove\",\r\n DataRelatedToLoadData = \"datareladtoloaddata\",\r\n DataAjaxLoadTable = \"dataajaxloadtable\",\r\n Permission = \"Permission\",\r\n Role = \"role\",\r\n RefInfomation = \"refinfomation\",\r\n SpecialActionService = \"specialactionservice\",\r\n HideControl = \"hidecontrol\",\r\n ReadOnlyControl = \"readonlycontrol\",\r\n}\r\n\r\nexport enum LogicOperatorType {\r\n Equal = \"=\",\r\n MoreThan = \">\",\r\n LessThan = \"<\",\r\n GreaterThanAndEqual = \">=\",\r\n LessThanAndEqual = \"<=\",\r\n NotEqual = \"!=\",\r\n Contain = \"contain\",\r\n StartWith = \"startwith\",\r\n EndWith = \"endwith\",\r\n}\r\n","import moment from \"moment\";\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardKeyEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n const resultCard = result.map((_data: any) => {\r\n const [keyConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return resultCard;\r\n};\r\n\r\nexport const GetDashboardEndpoints = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return result;\r\n};\r\n\r\nexport const GetDashboardFilterStatus = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/FilterStatus\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const GetDashboardAdvancedFilter = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/AdvancedFilter\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetDashboardFilterGroupBy = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/FilterGroupBy\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetDashboardStatusCard = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/StatusCard\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const LoginConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/LoginConfiguration\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const getAzureConfig = async () => {\r\n const result = await fetch(\"/api/Configuration/AzureConfig\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardDefaultFilterConFig = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/DefaultFilter\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const ADTitleConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/ADTitle\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getDateDeployConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/getDateDeploy\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getVersion = () : Promise<{apiVersion: string, webVersion: string}>=> fetch(\"/api/Configuration/getVersion\")\r\n .then((response) => response.json())\r\n\r\nexport const getUploadFileSettingConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/UploadFileSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const CannotDowLoadPDFDefaultConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/CannotDowLoadPDFDefault\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n","import React, { createContext, useContext, useState, useEffect } from \"react\";\r\nimport {\r\n UpdateDismissById,\r\n getStatusQueueByActorId,\r\n} from \"../Services/MemoService\";\r\nimport { useUserContext } from \"./UserContext\";\r\n\r\ntype IMemoPageContextType = {\r\n processQue: number[];\r\n FailQue: memoQueStatus[];\r\n getMyMemoStatus: () => Promise;\r\n onDismiss: (id: number) => Promise;\r\n checkSyncMemo: () => void;\r\n};\r\n\r\nexport type memoQueStatus = {\r\n id: number;\r\n memoId: number;\r\n jobId: number;\r\n actorId: number;\r\n state: string;\r\n documentNo: string;\r\n message: string;\r\n};\r\n\r\nexport const MemoPageContext = createContext(null);\r\n\r\nexport const MemoPageContextProvider: React.FC = (props) => {\r\n const [processQue, setProcessQue] = useState([]);\r\n const [FailQue, setFailQue] = useState([]);\r\n const [isCheck, setIsCheck] = useState(false);\r\n\r\n const user = useUserContext();\r\n\r\n useEffect(() => {\r\n if (isCheck) {\r\n const intervalId = setInterval(() => {\r\n getMyMemoStatus();\r\n }, 5000);\r\n\r\n return () => {\r\n clearInterval(intervalId);\r\n };\r\n }\r\n }, [isCheck]);\r\n\r\n const getMyMemoStatus = async () => {\r\n try {\r\n if (user[0]) {\r\n const result: memoQueStatus[] = await getStatusQueueByActorId(\r\n user[0].EmployeeId\r\n );\r\n\r\n if (result) {\r\n if (result.every((e) => e.state === \"Succeeded\")) {\r\n setIsCheck(false);\r\n }\r\n const fail = result?.filter((e) => e.state === \"Failed\");\r\n if (fail?.length > 0) {\r\n if (JSON.stringify(fail) === JSON.stringify(FailQue)) {\r\n setIsCheck(false);\r\n }\r\n }\r\n setProcessQue([\r\n ...result\r\n ?.filter(\r\n (e) =>\r\n e.state === \"Processing\" ||\r\n e.state === \"Enqueued\" ||\r\n e.state === \"Scheduled\" ||\r\n e.state === \"Unknown\"\r\n )\r\n .map((e) => e.memoId),\r\n ]);\r\n setFailQue([...fail]);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const onDismiss = async (id: number) => {\r\n const result = await UpdateDismissById(id);\r\n getMyMemoStatus();\r\n };\r\n\r\n const checkSyncMemo = () => {\r\n setIsCheck(!isCheck);\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { useContext } from \"react\";\r\nimport { MemoPageContext } from \"../Context/MemoPageContext\";\r\n\r\nconst useMemoPage = () => {\r\n const context = useContext(MemoPageContext);\r\n if (!context)\r\n throw new Error(\"MemoPage Context must be use inside MemoPage Provider\");\r\n return context;\r\n};\r\n\r\nexport default useMemoPage;\r\n","import React from \"react\";\r\nimport {\r\n CloseCircleOutlined,\r\n CheckCircleOutlined,\r\n WarningOutlined,\r\n} from \"@ant-design/icons\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\ntype Props = {};\r\n\r\nconst NotiPopOverContent = (props: Props) => {\r\n const { FailQue, onDismiss } = useMemoPage();\r\n\r\n const handleDismissNoti = (id: number) => {\r\n onDismiss(id);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
Notification
\r\n \r\n {FailQue.map((que) => (\r\n \r\n handleDismissNoti(que.id)}\r\n >\r\n X\r\n \r\n \r\n \r\n \r\n Oops! Something went wrong while sending your document{\" \"}\r\n {que.documentNo} Please review and resend.\r\n \r\n \r\n {que.message}\r\n \r\n \r\n
\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotiPopOverContent;\r\n","import React, { useState, useEffect, useMemo, Fragment } from \"react\";\r\nimport {\r\n AiOutlineReconciliation,\r\n AiOutlineSetting,\r\n AiOutlineUnorderedList,\r\n AiFillBell,\r\n} from \"react-icons/ai\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { RiTodoLine } from \"react-icons/ri\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\n// import Popover from \"react-bootstrap/Popover\";\r\nimport { Popover } from \"antd\";\r\nimport { CloseCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport \"./ButtonNavigation.css\";\r\nimport { log } from \"console\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport NotiPopOverContent from \"../NotificationComponent/NotiPopOverContent\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\nimport { memoQueStatus } from \"../../Context/MemoPageContext\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\ninterface Props {\r\n data: any[];\r\n setActive: any;\r\n}\r\n\r\nexport const ButtonNavigation: React.FC = ({ data, setActive }) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [sortableMenu, setSortableMenu] = useState([]);\r\n const [toggleState, setToggleState] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const { FailQue } = useMemoPage();\r\n const alert = useAlert();\r\n const [listNotify, setListNotity] = useState(FailQue);\r\n useMemo(() => {\r\n let result = data.reduce(function (r, a) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n let sortableMenu = [];\r\n for (var menu in _res) {\r\n sortableMenu.push([menu, _res[menu]]);\r\n }\r\n\r\n sortableMenu.sort(function (a, b) {\r\n return a[1][0].OrderGroup - b[1][0].OrderGroup;\r\n });\r\n console.log(\"menu=>\", sortableMenu);\r\n\r\n setSortableMenu([...sortableMenu]);\r\n\r\n setMenuButton({ ..._res });\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n setToggleState([...toggleArray]);\r\n }, [data]);\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname.indexOf(key) !== -1) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (\r\n location.pathname === `/${_data.GroupMenu}` ||\r\n location.pathname.indexOf(_data.Url) !== -1\r\n ) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n useEffect(() => {\r\n const _toggleState = toggleState;\r\n if (location.pathname === \"/Request\") {\r\n setActive(true);\r\n }\r\n const res_every = _toggleState.every((b) => b === false);\r\n for (let i = 0; i < _toggleState.length; i++) {\r\n const state = _toggleState[i];\r\n if (state === true) {\r\n setActive(true);\r\n }\r\n }\r\n if (res_every && location.pathname !== \"/Request\") {\r\n setActive(false);\r\n }\r\n }, [toggleState]);\r\n const mapIcon = (key: string) => {\r\n if (key === \"Worklist\") {\r\n return ;\r\n }\r\n if (key === \"Report\") {\r\n return ;\r\n }\r\n if (key === \"Settings\") {\r\n return ;\r\n }\r\n if (key === \"List and Documents\") {\r\n return ;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (FailQue.length > 0) {\r\n let newNoti = FailQue.filter(\r\n (i) => !listNotify.find((j) => i.jobId == j.jobId)\r\n );\r\n newNoti.forEach((i) => {\r\n alert.toggleAlert({\r\n type: \"error\",\r\n message: `Oops! Something went wrong`,\r\n description: `Something went wrong while sending your document ${i.documentNo} Please review and resend.\\n\r\n ${i.message}`,\r\n duration: 0,\r\n });\r\n });\r\n }\r\n setListNotity(FailQue);\r\n }, [FailQue]);\r\n\r\n return (\r\n
\r\n {sortableMenu.map((menu, _idx) => {\r\n return (\r\n
\r\n {menu[1].length > 0 &&\r\n menu[1].every(\r\n (_data: any) => _data.SubMenu !== null && _data.SubMenu !== \"\"\r\n ) ? (\r\n \r\n menu[1]\r\n .sort(\r\n (a: any, b: any) =>\r\n Number(a.OrderSub) - Number(b.OrderSub)\r\n )\r\n .map((e: any, idx: any) => {\r\n const subMenu = replaceSpecialChar(e.SubMenu);\r\n\r\n return (\r\n \r\n {e.SubMenu !== \"\" &&\r\n e.SubMenu !== null &&\r\n e.GroupMenu !== \"Settings\" ? (\r\n e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n // history.push(e.Url);\r\n window.open(e.Url);\r\n }}\r\n target=\"_blank\"\r\n >\r\n {t(e.SubMenu)}\r\n \r\n
\r\n )\r\n ) : e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n const _url = e.Url;\r\n window.open(_url, \"blank\");\r\n }}\r\n >\r\n {t(e.SubMenu)}\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n })\r\n }\r\n trigger=\"hover\"\r\n >\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n \r\n ) : menu[1]?.length < 2 &&\r\n `${menu[1][0]?.Url}` &&\r\n menu[1][0]?.InternalUrl === 0 ? (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n ) : (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n }\r\n trigger=\"click\"\r\n >\r\n \r\n \r\n
\r\n );\r\n};\r\n","import Cookies from \"universal-cookie\";\r\nconst cookies = new Cookies();\r\nexport type Auth = {\r\n isAuthenticated?: boolean;\r\n redirectPath: string;\r\n};\r\n\r\nexport const initialSession: Auth = {\r\n redirectPath: \"/login\",\r\n isAuthenticated: cookies.get(\"GuidVerify\") ? true : false,\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { initialSession, Auth } from \"../IRequestModel/IAuthModel\";\r\n\r\nexport const SessionContext = createContext<[Auth, (session: Auth) => void]>([\r\n initialSession,\r\n () => {},\r\n]);\r\nexport const useSessionContext = () => useContext(SessionContext);\r\n\r\nexport const SessionContextProvider: React.FC = (props) => {\r\n const [sessionState, setSessionState] = useState(initialSession);\r\n const defaultSessionContext: [Auth, typeof setSessionState] = [\r\n sessionState,\r\n setSessionState,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","export const GetAllEmployee = async (opts?: {Scopes?: string, IsActiveOnly?: boolean}) => {\r\n let qs = new URLSearchParams({\r\n [\"Scopes\"]: opts?.Scopes || \"\",\r\n [\"IsActiveOnly\"]: (opts?.IsActiveOnly || true).toString()\r\n });\r\n const respone = await fetch(\"api/Employee/GetAll?\" + qs.toString())\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone?.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\n/**\r\n * ฟังก์ชันอยู่ระหว่างพิจารณาปรับใช้งาน\r\n */\r\nexport const GetEmployeeByUserPrincipalName = async (dataEmp :any) => {\r\n try{\r\n dataEmp.UserPrincipalName = JSON.parse(localStorage.getItem(\"userData\")!).employeeData.Email;\r\n const respone = await fetch(\"api/Employee/GetEmployeeByUserPrincipalName\",{\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataEmp),\r\n })\r\n return await respone.json();\r\n\r\n // if (Array.isArray(data?.data)) {\r\n // // ใช้ filter กับข้อมูลของ Employee ได้เนื่องจาก data.data เป็นอาร์เรย์\r\n // const activeEmployees = data.data.filter((e: any) => e.IsActive === true);\r\n // return activeEmployees;\r\n // } else {\r\n // console.error(\"Invalid employee data returned from GetByIdEmployee\");\r\n // return null;\r\n // }\r\n } catch (error) {\r\n console.log(\"emp=>err\", error);\r\n return error;\r\n }\r\n};\r\n\r\nexport const UpdateEmployee = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Employee/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UpdateSignature = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/UpdateSignature\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetUserData = async (empData: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n empData.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(empData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetAllPosition = async () => {\r\n const respone = await fetch(\"api/Position/AllPositionList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddPosition = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Position/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdatePosition = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Position/UpdatePosition\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetDepartment = async () => {\r\n const respone = await fetch(\"api/Department/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdateDepartment = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const data = {\r\n name: \"Department\",\r\n model: JSON.stringify(dataJson),\r\n };\r\n const respone = await fetch(\"api/Department/AddDepartment\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n }).then((response) => response.json());\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./EmployeeDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog, ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport {\r\n GetAllEmployee,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n setMainLoading?: (bool: boolean) => void;\r\n setMainDialogVisible: (...args: any) => void;\r\n}\r\n\r\nexport const EmployeeDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedPosition, setFormSelectedPosition] = useState([]);\r\n const [formSelectedDepartment, setFormSelectedDepartment] = useState([]);\r\n const [formSelectedDivision, setFormSelectedDivision] = useState([]);\r\n const [positionList, setPositionList] = useState([]);\r\n const [deptList, setDeptList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [report_To, setReport_To] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fetchPosition();\r\n fetchDataEmployee();\r\n fetchDivision();\r\n fetchDepartment();\r\n\r\n if (\r\n !isEmptyObject(props.formData) ||\r\n props.dialogHeader === \"Edit Profile\"\r\n ) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n fetchPosition();\r\n fetchDataEmployee();\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n setLoading(false);\r\n } else {\r\n setFormSelectedPosition(null);\r\n setFormSelectedDepartment(null);\r\n setUploadFile(undefined);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n let selectedEmp = {\r\n EmployeeId: Number,\r\n EmployeeCode: String,\r\n NameTh: String,\r\n Report_ToNameEn: String,\r\n };\r\n\r\n _dataEmployee.map((e: any) => {\r\n if (e.EmployeeId === Number(props.formData?.ReportToEmpCode)) {\r\n selectedEmp.EmployeeId = e.EmployeeId;\r\n selectedEmp.EmployeeCode = e.EmployeeCode;\r\n selectedEmp.NameTh = e.NameTh;\r\n selectedEmp.Report_ToNameEn = e.NameEn;\r\n setReport_To(selectedEmp);\r\n }\r\n });\r\n\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n }\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllPosition();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataPosition.length; i++) {\r\n let positionList = {\r\n PositionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n positionList.PositionId = _dataPosition[i].PositionId;\r\n positionList.NameTh = _dataPosition[i].NameTh;\r\n positionList.NameEn = _dataPosition[i].NameEn;\r\n\r\n if (positionList.PositionId === props.formData?.PositionId) {\r\n setFormSelectedPosition(positionList);\r\n }\r\n\r\n newList.push(positionList);\r\n }\r\n\r\n setPositionList(newList);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataOrgranize.length; i++) {\r\n let deptList = {\r\n DepartmentId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n deptList.DepartmentId = _dataOrgranize[i].DepartmentId;\r\n deptList.NameTh = _dataOrgranize[i].NameTh;\r\n deptList.NameEn = _dataOrgranize[i].NameEn;\r\n if (deptList.DepartmentId === props.formData?.DepartmentId) {\r\n setFormSelectedDepartment(deptList);\r\n }\r\n newList.push(deptList);\r\n }\r\n\r\n setDeptList(newList);\r\n }\r\n\r\n async function fetchDivision() {\r\n let _dataDivision = await GetAllDynamic(\"Division/GetAll\", undefined);\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataDivision.length; i++) {\r\n let divtList = {\r\n DivisionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n divtList.DivisionId = _dataDivision[i].DivisionId;\r\n divtList.NameTh = _dataDivision[i].NameTh;\r\n divtList.NameEn = _dataDivision[i].NameEn;\r\n if (divtList.DivisionId === props.formData?.DivisionId) {\r\n setFormSelectedDepartment(divtList);\r\n }\r\n newList.push(divtList);\r\n }\r\n\r\n setDivtList(newList);\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && props.mainDialogVisible) {\r\n if (\r\n data.Position.PositionId !== undefined &&\r\n data.Department.DepartmentId !== undefined\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\"\r\n ? \"Add\" + \" Confirmation\"\r\n : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== props.formData?.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n props.dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n //result = await UpdateSignature(formData);\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n\r\n if (result.result === \"success\") {\r\n console.log({ formData, result });\r\n\r\n if (props.dialogHeader === \"Edit Profile\") {\r\n let newUser = userData;\r\n newUser = formData;\r\n setUserData(newUser);\r\n } else {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n // props.toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n }\r\n } else {\r\n if (isCodeDup) {\r\n toggleAlert({\r\n description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This EmployeeCode \" +\r\n // empDup.EmployeeCode +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (isEmailDup) {\r\n toggleAlert({\r\n description: `This email ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This email \" +\r\n // empDup.Email +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n setReport_To(data);\r\n setSubDialogVisible(false);\r\n setLoading(false);\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n \r\n
\r\n {\" \"}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props.dialogHeader !== \"Edit Profile\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
{\" \"}\r\n \r\n )}\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedPosition(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Position\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDepartment(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Department\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDivision(e.value)}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n
\r\n \r\n {!isEmptyObject(report_To) && (\r\n {\r\n setReport_To(null);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n {action !== \"add\" && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","const ignore = ['favorite', 'memoid'];\r\nexport const clearLocalStorageOnLogout = () => {\r\n Object.keys(localStorage).forEach((key) =>\r\n !ignore.includes(key) ? localStorage.removeItem(key) : \"\"\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Collapse } from \"antd\";\r\nimport { IoLogOutSharp, IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { BsFillFileEarmarkPersonFill, BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n data: any;\r\n closeDropdown: () => void;\r\n}\r\n\r\nexport const ButtonNavigationDropdown = (props: Props) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [toggleState, setToggleState] = useState([]);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [empData, setEmpData] = useState({});\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n if (empData !== null) {\r\n let name = empData.employeeData.NameEn || \"\";\r\n let email = empData.employeeData.Email || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n\r\n setEmailUser(email);\r\n setShortNameUser(firstName + lastName);\r\n setNameUser(name);\r\n setEmpData(empData.employeeData);\r\n }\r\n }, [sessionState.isAuthenticated]);\r\n useEffect(() => {\r\n let result = props.data.reduce(function (r: any, a: any) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n setMenuButton(_res);\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n\r\n setToggleState([...toggleArray]);\r\n }, [props.data]);\r\n const { Panel } = Collapse;\r\n const location = useLocation();\r\n const history = useHistory();\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname === `/${key}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (location.pathname === `${_data.Url}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n if (location.pathname === `/Request`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n const userPopupContent = () => {\r\n return (\r\n console.log(window.location.href)}\r\n >\r\n
\r\n
\r\n \r\n

{nameUser}

\r\n
\r\n
\r\n \r\n

{emailUser}

\r\n
\r\n
\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

Profile

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const mapButton = () => {\r\n const map: any = [];\r\n map.push(\r\n <>\r\n \r\n
\r\n
\r\n

{shortNameUser}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {nameUser}\r\n

\r\n
\r\n
\r\n \r\n

\r\n {emailUser}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n key=\"sadsad\"\r\n >\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Profile\")}

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n \r\n );\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (key !== \"Request\") {\r\n map.push(\r\n <>\r\n {value.length > 1 ? (\r\n \r\n {value.map((e: any, idx: any) => (\r\n {\r\n history.push(\r\n \"/Settings?name=\" + e.Url.replaceAll(\"/\", \"\")\r\n );\r\n props.closeDropdown();\r\n }}\r\n >\r\n {e.SubMenu}\r\n

\r\n ))}\r\n
\r\n ) : (\r\n {\r\n history.push(`${value[0].Url}`);\r\n props.closeDropdown();\r\n }}\r\n >\r\n

{key}

\r\n \r\n )}\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n // \r\n // \r\n // {/* {key} */}\r\n // {/* \r\n // {value.map((e: any, idx: any) => (\r\n // {\r\n // history.push(e.Url);\r\n // props.closeDropdown();\r\n // }}\r\n // >\r\n // {e.SubMenu}\r\n //

\r\n // ))}\r\n //
*/}\r\n // {map}\r\n //
\r\n //
\r\n {map}\r\n );\r\n };\r\n return (\r\n
\r\n \r\n {props.data.length > 0 ? mapButton() : null}\r\n
\r\n );\r\n};\r\n","import { INavigationMenu } from \"../IRequestModel/INavagationModel\";\r\n\r\nexport const GetNavbarMenu = async (\r\n email: string\r\n): Promise => {\r\n const respone: INavigationMenu[] = await fetch(\r\n \"api/NavbarMenu/GetAllByEmail\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ mail: email }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((navBarData: INavigationMenu[]) => {\r\n if (navBarData) {\r\n const formatNav = navBarData.map((menu) => {\r\n return {\r\n ...menu,\r\n GroupMenu:\r\n menu.GroupMenu.charAt(0).toUpperCase() + menu.GroupMenu.slice(1),\r\n };\r\n });\r\n return formatNav;\r\n }\r\n return [];\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Modal } from \"antd\";\r\nimport React from \"react\";\r\nimport {\r\n Control,\r\n Controller,\r\n FieldError,\r\n UseFormHandleSubmit,\r\n} from \"react-hook-form\";\r\nimport { IoMdClose } from \"react-icons/io\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype ChangePasswordModalProps = {\r\n visible: boolean;\r\n handleCancel: () => void;\r\n onSubmitPassword: (data: any) => void;\r\n handleSubmit: UseFormHandleSubmit<{\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n }>;\r\n control: Control<\r\n {\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n },\r\n object\r\n >;\r\n errors: {\r\n current_password?: FieldError | undefined;\r\n new_password?: FieldError | undefined;\r\n comfirm_password?: FieldError | undefined;\r\n };\r\n isPasswordCompared: boolean;\r\n};\r\n\r\nconst ChangePasswordModal: React.FC = ({\r\n visible,\r\n handleCancel,\r\n onSubmitPassword,\r\n handleSubmit,\r\n control,\r\n errors,\r\n isPasswordCompared,\r\n}) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n }\r\n className=\"modal-password\"\r\n width={800}\r\n visible={visible}\r\n footer={false}\r\n onCancel={handleCancel}\r\n >\r\n
\r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n
\r\n
\r\n

\r\n Current Password : *\r\n

\r\n

รหัสผ่านปัจจุบัน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.current_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n New Password : *\r\n

\r\n

รหัสผ่านใหม่ :

\r\n
\r\n (\r\n
\r\n \r\n {errors.new_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n Confirm Password : *\r\n

\r\n

ยืนยันรหัสผ่าน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.comfirm_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ChangePasswordModal;\r\n","export const CheckAppSetting = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAppSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanEditProfile = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanEditProfile\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanAdminEditCompletedMemo = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanAdminEditCompletedMemo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"app=>CheckCanAdminEditCompletedMemo\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CheckAutoReport = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAutoReport\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanDownloadPdf = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanDownloadPdf\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Col, Row } from \"antd\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllEmployee,\r\n GetUserData,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { IUserModel } from \"../../../IRequestModel/IUserModel\";\r\nimport { CheckCanEditProfile } from \"../../../Services/AppSettingService\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype Props = {\r\n rowData: any;\r\n dialogHeader: string;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData?: any;\r\n setMainLoading?: (bool: boolean) => void;\r\n setTableData?: (items: any) => void;\r\n canEditOnlySignature?: boolean;\r\n isEditProfile?: boolean;\r\n};\r\n\r\ninterface IEmployeeForm {\r\n EmployeeId: number;\r\n EmployeeCode: string;\r\n Username: string;\r\n NameTh: string;\r\n NameEn: string;\r\n Email: string;\r\n IsActive: boolean;\r\n PositionId: number;\r\n PositionNameTh: string;\r\n PositionNameEn: string;\r\n DepartmentId: number;\r\n DepartmentNameTh: string;\r\n DepartmentNameEn: string;\r\n DivisionId: number;\r\n DivisionNameTh: string;\r\n DivisionNameEn: string;\r\n ReportToEmpCode: string;\r\n SignPicPath: string;\r\n Lang: string;\r\n AccountCode: string;\r\n AccountName: string;\r\n DefaultLang: string;\r\n CreatedDate: string;\r\n CreatedBy: string;\r\n ModifiedDate: string;\r\n ModifiedBy: string;\r\n ADTitle: string;\r\n}\r\n\r\nconst EmployeeDialogFix: FC = ({\r\n rowData,\r\n dialogHeader,\r\n mainDialogVisible,\r\n toggleMainDialog,\r\n tableData,\r\n setTableData,\r\n setMainLoading,\r\n canEditOnlySignature,\r\n isEditProfile,\r\n}) => {\r\n const [positionList, setPositionList] = useState([]);\r\n const [departmentList, setDepartmentList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [editProfileSetting, setEditProfileSetting] = useState();\r\n const toast = useRef(null);\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n let defaultValues: IEmployeeForm = {\r\n EmployeeId: 0,\r\n EmployeeCode: \"\",\r\n Username: \"\",\r\n NameTh: \"\",\r\n NameEn: \"\",\r\n Email: \"\",\r\n IsActive: true,\r\n PositionId: 0,\r\n PositionNameTh: \"\",\r\n PositionNameEn: \"\",\r\n DepartmentId: 0,\r\n DepartmentNameTh: \"\",\r\n DepartmentNameEn: \"\",\r\n DivisionId: 0,\r\n DivisionNameTh: \"\",\r\n DivisionNameEn: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: \"\",\r\n Lang: \"\",\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n DefaultLang: \"\",\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n ADTitle: \"\",\r\n };\r\n\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n getValues,\r\n watch,\r\n reset,\r\n setValue,\r\n setError,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues,\r\n });\r\n\r\n useEffect(() => {\r\n if (mainDialogVisible) {\r\n if (dialogHeader === \"Edit Profile\") {\r\n setAction(\"edit\");\r\n } else if (dialogHeader === \"Employee\") {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n } else {\r\n setUploadFile(undefined);\r\n }\r\n }, [mainDialogVisible]);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const acceptSave = async (data: IEmployeeForm) => {\r\n if (data.Lang === \"EN\") {\r\n i18n.changeLanguage(\"en\");\r\n } else {\r\n i18n.changeLanguage(\"th\");\r\n }\r\n localStorage.setItem(\"lang\", data.Lang);\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== rowData.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n const selectedPosition = positionList.find(\r\n (pos: any) => pos.PositionId === data.PositionId\r\n );\r\n const selectedDept = departmentList.find(\r\n (dept: any) => dept.DepartmentId === data.DepartmentId\r\n );\r\n const selectedDiv = divList.find(\r\n (div: any) => div.DivisionId === data.DivisionId\r\n );\r\n const selectedEmp = dataEmployeeList.find(\r\n (emp: any) => emp.EmployeeId == data.ReportToEmpCode\r\n );\r\n\r\n // if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = rowData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive.toString() !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n //result = await UpdateSignature(formData);\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n\r\n\r\n if (result.result === \"success\") {\r\n if (dialogHeader === \"Edit Profile\") {\r\n let newUser: IUserModel = formData;\r\n setUserData({\r\n ...newUser,\r\n });\r\n } else {\r\n if (setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n setTableData(newData);\r\n }\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n setLoading(false);\r\n }\r\n }\r\n\r\n toggleMainDialog(false, \"save\");\r\n } else {\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n toggleAlert({\r\n description: `${result.errorMessage || result.title}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n setLoading(false);\r\n }\r\n // } else {\r\n // if (isCodeDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // if (isEmailDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // setLoading(false);\r\n // }\r\n };\r\n\r\n const onSubmit = (data: IEmployeeForm) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-success table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n // if (dialogHeader !== \"Edit Profile\") {\r\n // toggleMainLoading();\r\n // } else {\r\n setLoading(true);\r\n // }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n fetchDataEmployee();\r\n getSetting();\r\n fetchPosition();\r\n }, []);\r\n\r\n const getSetting = async () => {\r\n const canEditProfile = await CheckCanEditProfile();\r\n\r\n setEditProfileSetting(canEditProfile);\r\n };\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllDynamic(\"Position/GetAll\", undefined);\r\n if (_dataPosition) {\r\n _dataPosition.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n }\r\n\r\n setPositionList(_dataPosition?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDataEmployee() {\r\n if (rowData.EmployeeId) {\r\n let data = {\r\n EmployeeId: rowData.EmployeeId.toString(),\r\n };\r\n let user = await GetUserData(data);\r\n if (user) {\r\n reset(user);\r\n }\r\n }\r\n let _dataEmployee = await GetAllEmployee({ Scopes: \"name,email,org\" });\r\n if (_dataEmployee) {\r\n setDataEmployeeList(_dataEmployee?.filter((e: any) => e.IsActive));\r\n }\r\n setLoading(false);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n _dataOrgranize.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n\r\n setDepartmentList(_dataOrgranize?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDivision() {\r\n try {\r\n let _dataDivision: any[] = await GetAllDynamic(\r\n \"Division/GetAll\",\r\n undefined\r\n );\r\n _dataDivision.map((e: any) => {\r\n if (!e.DivisionCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.DivisionCode + \" : \" + e.NameEn;\r\n e.NameTh = e.DivisionCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n setDivtList([..._dataDivision?.filter((e: any) => e.IsActive)]);\r\n } catch (error) {}\r\n }\r\n\r\n const getReportTo = (currentCode: any) => {\r\n let val = \"\";\r\n if (currentCode) {\r\n const emp = dataEmployeeList.find(\r\n (e: any) => e.EmployeeId == currentCode\r\n );\r\n if (emp) {\r\n if (userData?.Lang === \"EN\") {\r\n val = emp.NameEn;\r\n } else {\r\n val = emp.NameTh;\r\n }\r\n }\r\n }\r\n return val;\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n const validTypes = ['image/png', 'image/jpeg'];\r\n\r\n if (e.target.files[0].size <= Number(editProfileSetting?.limitFileSize) && validTypes?.includes(e?.target?.files[0]?.type)) {\r\n getBase64(e.target.files[0]);\r\n }\r\n else if (!validTypes?.includes(e?.target?.files[0]?.type)) {\r\n toggleAlert({\r\n description: `Please select a PNG or JPG image.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n else {\r\n toggleAlert({\r\n description: `File upload limit 20 MB (20,971,520 bytes) per file.`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"File upload limit 20 MB (20,971,520 bytes) per file.\",\r\n // life: 5000,\r\n // });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n const errs: any = control._formState.errors;\r\n if (errs[name]) {\r\n if (errs[name].type === \"required\") {\r\n return {errs[name].message};\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customPosition:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customPosition:\", \"\")}\r\n \r\n );\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customDepartment:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customDepartment:\", \"\")}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {\"This \" + name + \" is not the correct pattern\"}\r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {};\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (toggleMainDialog) {\r\n toggleMainDialog(false, \"close\");\r\n }\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n <>\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n pos.PositionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.PositionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"PositionId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n dept.DepartmentId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DepartmentId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"DepartmentId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n div.DivisionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DivisionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {control._getWatch(field.name) && (\r\n {\r\n setValue(\"ReportToEmpCode\", \"\");\r\n }}\r\n disabled={\r\n canEditOnlySignature\r\n ? canEditOnlySignature\r\n : undefined\r\n }\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n setValue(\"SignPicPath\", \"\");\r\n }}\r\n style={{\r\n width: \"38px\",\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {uploadFile && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n confirmDialog({\r\n message: \"Are you sure you want to cancel this action?\",\r\n header: \"Cancel Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n reset();\r\n toggleMainDialog(false, \"close\");\r\n },\r\n });\r\n }}\r\n type={\"button\"}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {\r\n setValue(\"ReportToEmpCode\", e.EmployeeId.toString());\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default EmployeeDialogFix;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { BsList } from \"react-icons/bs\";\r\nimport { ButtonNavigation } from \"../ButtonNav/ButtonNavigation\";\r\nimport { ButtonNavigationDropdown } from \"../ButtonNav/ButtonNavigationDropdown\";\r\n// import { Dropdown } from \"react-bootstrap\";\r\n// import { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\n\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo.png\";\r\nimport WolfLogo from \"../../assets/wolfLogo.png\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { FaKey } from \"react-icons/fa\";\r\nimport \"./NavigationBar.css\";\r\nimport { Dropdown } from \"antd\";\r\nimport { Popover, Modal } from \"antd\";\r\nimport { IoLogOutSharp } from \"react-icons/io5\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nimport { BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useMsal, useIsAuthenticated } from \"@azure/msal-react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { LoginConfiguration } from \"../../Services/ConfigurationService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport ChangePasswordModal from \"./ChangePasswordModal\";\r\nimport { IChangePasswordRequest } from \"../../IRequestModel/IChangePasswordModel\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { INavigationMenu } from \"../../IRequestModel/INavagationModel\";\r\nimport EmployeeDialogFix from \"../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nexport const NavigationBar = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [navigationMenu, setNavigationMenu] = useState([]);\r\n const [toggleDropdown, setToggleDropdown] = useState(false);\r\n const [popOverClick, setPopOverClick] = useState(false);\r\n const [popOverHover, setPopOverHover] = useState(false);\r\n const [showNav, setShowNav] = useState(false);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const [empData, setEmpData] = useState({});\r\n const { instance, inProgress, accounts } = useMsal();\r\n const [visible, setVisible] = useState(false);\r\n const [confirmLoading, setConfirmLoading] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [isFetching, setIsFetching] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n // const { googleAuth } = useGoogleAuth();\r\n\r\n let location = useLocation();\r\n let history = useHistory();\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { url } = useRouteMatch();\r\n const toast = useRef(null);\r\n\r\n const [isWolf, setIsWolf] = useState(false);\r\n const [canEditProfile, setCanEditProfile] = useState(true);\r\n const [canEditOnlySignature, setCanEditOnlySignature] =\r\n useState(true);\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n current_password: \"\",\r\n new_password: \"\",\r\n comfirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n if (userData) {\r\n initialNameUser();\r\n fetchNav();\r\n checkState();\r\n }\r\n }, [userData]);\r\n\r\n const initialNameUser = () => {\r\n if (userData) {\r\n let name = userData.NameEn || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n setShortNameUser(firstName + lastName);\r\n }\r\n };\r\n\r\n const fetchNav = async () => {\r\n const _navigationMenu = await GetNavbarMenu(userData?.Email);\r\n\r\n setNavigationMenu([..._navigationMenu]);\r\n };\r\n\r\n const checkState = () => {\r\n const _isWolf = window.localStorage.getItem(\"isWolf\");\r\n const _canEditProfile = window.localStorage.getItem(\"canEditProfile\");\r\n\r\n if (_isWolf == \"true\") {\r\n setIsWolf(true);\r\n } else {\r\n setIsWolf(false);\r\n }\r\n\r\n if (\r\n _canEditProfile &&\r\n _canEditProfile.length > 2 &&\r\n _canEditProfile !== \"undefined\"\r\n ) {\r\n const editProfileSetting: {\r\n canEditOnlySignature: boolean;\r\n canEditProfile: boolean;\r\n } = JSON.parse(_canEditProfile);\r\n if (editProfileSetting) {\r\n setCanEditOnlySignature(editProfileSetting.canEditOnlySignature);\r\n setCanEditProfile(editProfileSetting.canEditProfile);\r\n }\r\n }\r\n };\r\n\r\n const handleScroll = () => {\r\n setPopOverClick(false);\r\n };\r\n const handleCancel = () => {\r\n reset();\r\n setVisible(false);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setToggleDropdown(false);\r\n };\r\n\r\n const handleClickChange = (visible: boolean) => {\r\n setPopOverHover(false);\r\n setPopOverClick(visible);\r\n };\r\n const signOutClickHandler = async (instance: any) => {\r\n var respone = await LoginConfiguration();\r\n const baseurl = window.location.origin.toString();\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n setNavigationMenu([]);\r\n //AzureLogout\r\n if (respone.type === \"LoginAzure\") {\r\n const logoutRequest = {\r\n account: instance.getAccountByHomeId(accounts[0]?.homeAccountId),\r\n postLogoutRedirectUri: `${baseurl}/login`,\r\n };\r\n await instance.logoutRedirect(logoutRequest);\r\n }\r\n setPopOverClick(false);\r\n\r\n //GoogleLogout\r\n // googleAuth?.signOut();\r\n };\r\n const handleOpenEditProfileModal = () => {\r\n setMainDialogVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const handleOpenChangePasswordModal = () => {\r\n setVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const userPopupContent = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n {userData?.NameEn}\r\n

\r\n
\r\n
\r\n \r\n

\r\n {userData?.Email}\r\n

\r\n
\r\n
\r\n
\r\n {/* change Pass */}\r\n {canEditProfile && (\r\n \r\n
\r\n \r\n
\r\n

{t(\"Edit Profile\")}

\r\n
\r\n )}\r\n {isWolf && (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n )}\r\n signOutClickHandler(instance)}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const NavbarDesktop = () => {\r\n return (\r\n <>\r\n history.push(\"/Default\")}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n const NavbarMobile = () => {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n\r\n {/*
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
*/}\r\n \r\n );\r\n };\r\n const onSubmitPassword = async (res: IChangePasswordRequest) => {\r\n console.log(res);\r\n const _baseUrl = window.location.hostname;\r\n if (res.new_password !== res.comfirm_password) {\r\n setIsPasswordCompared(false);\r\n } else {\r\n // setVisible(false);\r\n const respone = await fetch(\"api/Authentication/ResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: userData.Email,\r\n newPassword: res.new_password,\r\n oldPassword: res.current_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"reset\", data);\r\n if (data) {\r\n const updatedRemark = data.Remark?.replace(/\\(\\[-EMAIL-\\]\\)/g, userData.Email);\r\n toggleAlert({\r\n description: `${updatedRemark}`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n cookies.remove(\"GuidVerify\");\r\n setPopOverClick(false);\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n signOutClickHandler(instance);\r\n } else {\r\n toggleAlert({\r\n description: `Incorrect current password.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n handleCancel();\r\n });\r\n setIsPasswordCompared(true);\r\n }\r\n };\r\n const menu = (\r\n
\r\n \r\n
\r\n );\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setMainDialogVisible(state);\r\n }\r\n };\r\n\r\n const dialogEmployee = () => {\r\n return (\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {sessionState.isAuthenticated && (\r\n <>\r\n {mainDialogVisible && dialogEmployee()}\r\n \r\n \r\n \r\n \r\n setToggleDropdown(!toggleDropdown)}\r\n >\r\n \r\n \r\n \r\n {navigationMenu.length > 0 && (\r\n <>\r\n {NavbarDesktop()}\r\n {NavbarMobile()}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const loginWolfAccount = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/WolfAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginWolfBD = async (method: any, data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Login/LoginBD\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginAD = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/ADAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\n\r\ninterface LoadProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\ninterface ILoadContextType {\r\n isLoad: boolean;\r\n setLoad: (is: boolean) => void;\r\n}\r\n\r\nconst LoadContext = createContext(null);\r\n\r\nconst LoadProvider: React.FC = (props) => {\r\n const [isLoad, setLoad] = useState(false);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { LoadProvider, LoadContext };\r\n","import { useContext } from \"react\";\r\nimport { LoadContext } from \"../Context/LoadContext\";\r\n\r\nconst useLoading = () => {\r\n const context = useContext(LoadContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useLoading;\r\n","export const UpdateRole = async (formData: any, items: any) => {\r\n const data = {\r\n role: formData,\r\n formRoleEmployee: items,\r\n };\r\n const respone = await fetch(\"api/Roles/UpdateRole\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRolePermission = async () => {\r\n const respone = await fetch(\"api/Roles/GetRolePermission\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetPermissionByEmpId = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Roles/GetPermissionByEmpId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { GetAllDynamic } from \"./DynamicService\";\r\nimport { GetRolePermission } from \"./RoleServices\";\r\n\r\nexport const GetAllAuthorized = async () => {\r\n const respone = await fetch(\"api/Authorized/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetMemoAuthorized = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermission\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const GetMemoAuthorizedViewAndPrint = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermissionViewAndPrint\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const RegisterWolfAccount = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Authentication/RegisterWolfAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const CheckRolePermission = async (EmployeeId: number) => {\r\n let isAdmin: boolean = false;\r\n let permissions: any[] = await GetRolePermission();\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n if (permissions) {\r\n let thispermiss = permissions.filter(\r\n (permiss: any) => permiss.EmployeeId === EmployeeId\r\n );\r\n\r\n roles?.forEach((role: any) => {\r\n thispermiss.forEach((permis: any) => {\r\n if (permis.IsDelete !== true) {\r\n if (permis.RoleId === role.RoleId) {\r\n if (role.RoleId === 1) {\r\n isAdmin = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return isAdmin;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail, AiOutlineLock } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\ninterface Props {\r\n PathLogo: string;\r\n IsMulti: string;\r\n PathCarousel: string[];\r\n HidePassAndRegister: boolean;\r\n}\r\ninterface Emp {\r\n EmployeeCode: String;\r\n Username: String;\r\n Email: String;\r\n}\r\n\r\nexport const LoginScreen = (props: Props) => {\r\n const { isLoad, setLoad } = useLoading();\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n };\r\n\r\n const onSubmit = async (data: { username: string; password: string }) => {\r\n setOnLoading(true);\r\n\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n\r\n /**\r\n * กรณี NODE_ENV เป็น development และตั้งค่า env.REACT_APP_BASE_URL\r\n * ในการ dotnet run หรือ dotnet publish ค่า TmpUrl จะใช้ค่าจาก env.REACT_APP_BASE_URL\r\n */\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n const isAdmin = await CheckRolePermission(\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\"favorite\", isAdmin ? \"true\" : \"false\");\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n } else {\r\n let _loginWolfAccount = await loginWolfAccount(\"POST\", _loginBody);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n\r\n clearLocalStorageOnLogout();\r\n localStorage.setItem(\"isWolf\", \"true\");\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n setOnLoading(false);\r\n\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n }\r\n\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n setOnLoading(false);\r\n };\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (location.hash.indexOf(\"#scope=email%20profile%20\") !== -1) {\r\n }\r\n }, [location.hash]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n \r\n Account/Email/Username :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n {props.HidePassAndRegister == false || null ? (\r\n
\r\n history.push(\"/Verify\")}\r\n >\r\n Forgot Password?\r\n \r\n\r\n \r\n {\" \"}\r\n |\r\n \r\n history.push(\"/RegisterWolfScreen\")}\r\n >\r\n {\" \"}\r\n Register\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n Log In\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n

\r\n © WOLF R2 v{webVersion} | API v{apiVersion}\r\n

\r\n
\r\n
\r\n\r\n {props?.IsMulti === \"T\" && (\r\n <>\r\n
\r\n
\r\n หรือ\r\n
\r\n
\r\n {\r\n localStorage.setItem(\"isWolf\", \"false\");\r\n history.push(\"/LoginAzure\");\r\n }}\r\n type=\"button\"\r\n label=\"Login AD\"\r\n className=\"hover-color-css-white-2 p-button-outlined\"\r\n icon=\"pi pi-microsoft\"\r\n />\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","export function deleteAllCookies() {\r\n document.cookie.split(\";\").forEach(function(c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n}","import { Configuration, LogLevel } from \"@azure/msal-browser\";\r\n\r\nconst AzureActiveDirectoryAppClientId: any =\"217afefc-c4c6-4a5b-b4b8-982548d4e63f\"\r\n \r\n\r\nexport const MSAL_CONFIG: Configuration = {\r\n auth: {\r\n clientId: AzureActiveDirectoryAppClientId,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: false,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level, message, containsPii) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n },\r\n },\r\n};","import {\r\n PublicClientApplication,\r\n AuthenticationResult,\r\n AccountInfo,\r\n EndSessionRequest,\r\n RedirectRequest,\r\n PopupRequest,\r\n } from \"@azure/msal-browser\";\r\n \r\n import { MSAL_CONFIG } from \"./zure-authentication-config\";\r\n \r\n export class AzureAuthenticationContext {\r\n private myMSALObj: PublicClientApplication = new PublicClientApplication(\r\n MSAL_CONFIG\r\n );\r\n private account?: AccountInfo;\r\n private loginRedirectRequest?: RedirectRequest;\r\n private loginRequest?: PopupRequest;\r\n \r\n public isAuthenticationConfigured = false;\r\n \r\n constructor() {\r\n // @ts-ignore\r\n this.account = null;\r\n this.setRequestObjects();\r\n if (MSAL_CONFIG?.auth?.clientId) {\r\n this.isAuthenticationConfigured = true;\r\n }\r\n }\r\n \r\n private setRequestObjects(): void {\r\n this.loginRequest = {\r\n scopes: [],\r\n prompt: \"select_account\",\r\n };\r\n \r\n this.loginRedirectRequest = {\r\n ...this.loginRequest,\r\n redirectStartPage: window.location.href,\r\n };\r\n }\r\n \r\n login(signInType: string, setUser: any): void {\r\n if (signInType === \"loginPopup\") {\r\n this.myMSALObj\r\n .loginPopup(this.loginRequest)\r\n .then((resp: AuthenticationResult) => {\r\n this.handleResponse(resp, setUser);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (signInType === \"loginRedirect\") {\r\n this.myMSALObj.loginRedirect(this.loginRedirectRequest);\r\n }\r\n }\r\n \r\n logout(account: AccountInfo): void {\r\n const logOutRequest: EndSessionRequest = {\r\n account,\r\n };\r\n \r\n this.myMSALObj.logout(logOutRequest);\r\n }\r\n handleResponse(response: AuthenticationResult, incomingFunction: any) {\r\n if(response !==null && response.account !==null) {\r\n this.account = response.account;\r\n } else {\r\n this.account = this.getAccount();\r\n }\r\n \r\n if (this.account) {\r\n incomingFunction(this.account);\r\n }\r\n }\r\n private getAccount(): AccountInfo | undefined {\r\n console.log(`loadAuthModule`);\r\n const currentAccounts = this.myMSALObj.getAllAccounts();\r\n if (currentAccounts === null) {\r\n // @ts-ignore\r\n console.log(\"No accounts detected\");\r\n return undefined;\r\n }\r\n \r\n if (currentAccounts.length > 1) {\r\n // TBD: Add choose account code here\r\n // @ts-ignore\r\n console.log(\r\n \"Multiple accounts detected, need to add choose account code.\"\r\n );\r\n return currentAccounts[0];\r\n } else if (currentAccounts.length === 1) {\r\n return currentAccounts[0];\r\n }\r\n }\r\n }\r\n \r\n export default AzureAuthenticationContext;","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n useIsAuthenticated,\r\n useMsal,\r\n useMsalAuthentication,\r\n} from \"@azure/msal-react\";\r\nimport {\r\n InteractionStatus,\r\n InteractionType,\r\n InteractionRequiredAuthError,\r\n AccountInfo,\r\n} from \"@azure/msal-browser\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport WolfSlideLeft from \"../../assets/wolf-slide-left.png\";\r\nimport WolfSlideRight from \"../../assets/wolf-slide-right.png\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport WolfLogo from \"../../assets/WolfR2LogoLogin.png\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport AzureAuthenticationContext from \"../../azure/azure-authentication-context\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n pathLogo: any;\r\n pathCarousel: any;\r\n}\r\n\r\nexport const LoginScreenAzure = (props: Props) => {\r\n const [currentUser, setCurrentUser] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [user, setUser] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [dialogBD, setDialogBD] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [errorMassage, setErrorMassage] = useState(\"\");\r\n const { instance, inProgress, accounts } = useMsal();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n\r\n const isAuthenticated = useIsAuthenticated();\r\n const authenticationModule: AzureAuthenticationContext =\r\n new AzureAuthenticationContext();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const request = {\r\n scopes: [\"User.Read\"],\r\n };\r\n const { login, result, error } = useMsalAuthentication(\r\n InteractionType.Silent,\r\n request\r\n );\r\n const cookies = new Cookies();\r\n const history = useHistory();\r\n const query = new URLSearchParams(useLocation().search);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated && isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (query.get(\"mode\") === \"BD\") {\r\n setDialogBD(true);\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n console.log(\r\n \" : \",\r\n isAuthenticated,\r\n InteractionStatus.None,\r\n accounts,\r\n \" inProgress: \",\r\n inProgress,\r\n \"Result:\",\r\n result\r\n );\r\n }, [isAuthenticated, inProgress, instance, result]);\r\n useEffect(() => {\r\n submitAzure();\r\n }, [accounts]);\r\n\r\n const onSubmitBD = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"techconsbiz.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log(\"login=>data\", data.username.includes(key));\r\n\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n console.log(\"login=>_loginWolfAccount\", _loginWolfAccount);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n };\r\n\r\n const submitAzure = async () => {\r\n console.log(accounts);\r\n if (accounts.length > 0) {\r\n const _accounts: any = accounts[0];\r\n setOnLoading(true);\r\n await fetch(\"api/Login/AzureAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: accounts[0].username,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n const _loginWolfAccount: any = data;\r\n clearLocalStorageOnLogout();\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _accounts.idTokenClaims.aud, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + _accounts.idTokenClaims.exp),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n });\r\n }\r\n };\r\n\r\n const ActionPassLogin = async (_loginWolfAccount: any) => {\r\n if (_loginWolfAccount === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n setOnLoading(false);\r\n authenticationModule.logout(user);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n \r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {props.pathCarousel.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n \"logo-login\"\r\n\r\n
\r\n {\r\n instance.loginPopup(request).catch((e) => {\r\n console.error(e);\r\n });\r\n }}\r\n >\r\n Log In\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\"/login\");\r\n setDialogBD(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={true}\r\n >\r\n
\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n Email Address :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n

\r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n
\r\n
\r\n
\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./FooterComponents.css\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {}\r\n\r\nexport const FooterComponents = (props: Props) => {\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log('webVersion', response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log('apiVersion', response.apiVersion);\r\n };\r\n\r\n return (\r\n
\r\n

\r\n
\r\n

\r\n We recommend using{\" \"}\r\n or{\" \"}\r\n at\r\n this time.\r\n

\r\n

© WOLF R2 v{webVersion} | API v{apiVersion}

\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport \"./ButtonComponents.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setStyleDivProps?: any;\r\n setLabelProps?: any;\r\n setStyleProps?: any;\r\n disabledProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n typeProps?: any;\r\n loading?: boolean;\r\n}\r\n\r\nexport const ButtonComponents = (props: Props) => {\r\n return (\r\n \r\n );\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD3SURBVHgBpVTLDcIwDDWfO9mgYQK6AWzQI0e6QRmFUdgANiAbtGxAb9yKA46UGjtE5UlPcWL72YmSLCANg9wjLfKJ7GECLLJFDkRvb2ACLpRsSPRGayKWFLQVfDvkGVnR3CFr5EGIvQI5hj85Eh+UahpqynljHjk6+GwzFwXyIQn5RRPNLbKJ5g3zGyoudmRYxRONluySFVI7spCPZEcW8mE1oTuMt5YjJG4NSChHLMR0kpCjcQV53Xj0klBoc82SpBcfirWggN/uUrEriG417yh0FZ+RU2wL0UF7LJlQeOEOdPhCxx8xX5+ZRh9TxImzhGAKHV94AajHSv3WTYedAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD1SURBVHgBnZMNDYMwEIWPBAF1MBzMwhyAg+GATAFzgIQxBWwKmAMkwBSAA3YNr4N1bSm85EF61369/hHt05nds1v2gXYqZo8AKZgIQE9kYwVwAeDFHtgnuJSxkD9XQAYHpES+pnlC+b8DlhJmycmtCEvoUX0Lx4g1PiCBjiMGSh0BGGmx4WugytAnWlT4PTUXKDfkBSDLCp0gBSksFWb6ABMoQ7zW4gU5VmBK1ChfWCoUvqAGS9AhFc175AWSp3Gj6ZgVpAFEtX8Ukl0pLNXRdBGttz90QBIA3uwHuZ+QFfSEvSVff4/ZOs8xERzoCbV5W/x3jz40EmFC7Ax5CgAAAABJRU5ErkJggg==\"","export const UpdateApprovalMatrix = async (formData: any, items: any) => {\r\n const data = {\r\n approvalMatrix: formData,\r\n approveMatrixItems: items.length > 0 ? items : null,\r\n };\r\n console.log(\"table=>UpdateApprovalMatrix\", data);\r\n\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\"api/ApprovalMatrix/updateApprovalMatrix\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateApprovalMatrixItems = async (items: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/ApprovalMatrix/updateApprovalMatrixItemsList\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(items),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAllApprovalMatrixItem = async () => {\r\n const respone = await fetch(\"api/ApprovalMatrix/GetAllApprovalMatrixItem\")\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return false;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport { UpdateApprovalMatrix } from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n matrixItems: any;\r\n setMatrixItems: (items: any) => void;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const ApprovalMatrixDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [mode, setMode] = useState(\"เพิ่มตามคน\");\r\n const [approvers, setApprovers] = useState([]);\r\n const [amountFrom, setAmountFrom] = useState(0);\r\n const [amountTo, setAmountTo] = useState(0);\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPositionLevel, setFormSelectedPositionLevel] =\r\n useState([]);\r\n const [itemAction, setItemAction] = useState(\"\");\r\n const [selectedItem, setSelectedItem] = useState();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n fecthPositionLevel();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.matrixItems !== undefined && props.matrixItems.length > 0) {\r\n if (dataEmployeeList) {\r\n let data = props.matrixItems.filter(\r\n (item: any) => item.ApproveMatrixId === props.formData.ApproveMatrixId\r\n );\r\n\r\n let items: any[] = [];\r\n data.map((e: any) => {\r\n if (e.IsActive) {\r\n if (\r\n e.ApproverId !== null &&\r\n e.ApproverId !== undefined &&\r\n e.ApproverId !== 0\r\n ) {\r\n const approver = dataEmployeeList.find((emp: any) => {\r\n return e.ApproverId === emp.EmployeeId;\r\n });\r\n if (approver) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = e.IsActive;\r\n item.Seq = e.Seq;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = e.EmployeeId;\r\n item.ApproverName = \"Not Found\";\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n } else if (e.PositionLevelId > 0) {\r\n const positionLv = positionLevelList.find((posi: any) => {\r\n return e.PositionLevelId == posi.PositionLevelId;\r\n });\r\n if (positionLv) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = positionLv.PositionLevelId;\r\n item.PositionLevelName =\r\n positionLv[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = -1;\r\n item.PositionLevelName = \"Not Found\";\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n }, [dataEmployeeList, positionLevelList]);\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => item.IsActive === true);\r\n newList.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n setItemsListShow([...newList]);\r\n setLoading(false);\r\n }, [itemsList]);\r\n\r\n async function fecthPositionLevel() {\r\n try {\r\n let positionLevel: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n\r\n setPositionLevelList([...positionLevel]);\r\n } catch (error) { }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.ApproveMatrixId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n // const _itemsList: any[] = itemsList.sort((a: any, b: any) =>\r\n // sorterFunc(a, b, \"Seq\", \"dec\")\r\n // );\r\n // _itemsList.map((e: any, idx: number) => {\r\n // if (e.IsActive) {\r\n // e.Seq = idx + 1;\r\n // } else {\r\n // e.Seq = 999;\r\n // }\r\n // return e;\r\n // });\r\n\r\n let res: any = await UpdateApprovalMatrix(formData, itemsList);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n function AddItem() {\r\n try {\r\n if (amountFrom !== null && amountTo !== null) {\r\n if (amountTo > amountFrom) {\r\n let items: any[] = itemsList;\r\n if (mode === \"เพิ่มตามคน\") {\r\n if (approvers) {\r\n console.log(approvers);\r\n approvers.map((approver: any) => {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n });\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a approver.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => { },\r\n });\r\n }\r\n } else {\r\n if (\r\n formSelectedPositionLevel !== undefined &&\r\n formSelectedPositionLevel.length !== 0\r\n ) {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.PositionLevelId = formSelectedPositionLevel.PositionLevelId;\r\n item.PositionLevelName =\r\n formSelectedPositionLevel[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a position.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => { },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n }\r\n setItemsList([...items]);\r\n } else {\r\n confirmDialog({\r\n message: \"AmountTo must be greater than AmountFrom\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n setAmountTo(0);\r\n },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"Please insert a amount range.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => { },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n function resetSubDialog() {\r\n setAmountFrom(0);\r\n setAmountTo(0);\r\n setApprovers([]);\r\n setFormSelectedPositionLevel(undefined);\r\n }\r\n\r\n const onDeleteRow = (rowData: any) => {\r\n let selected: any = [...itemsList];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n rowData.IsActive = false;\r\n selected.map((e: any) => {\r\n if (e.seq === rowData.seq) {\r\n e = rowData;\r\n }\r\n });\r\n\r\n setItemsList([...selected]);\r\n },\r\n });\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n {\r\n setItemAction(\"add\");\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let value = e.value;\r\n for (let i = 0; i < value?.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n value[i].Seq = a;\r\n }\r\n field.onChange(value);\r\n setItemsListShow(value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n let data = e.value;\r\n data.map((data: any, idx: number) => {\r\n data.Seq = idx + 1;\r\n });\r\n setItemsList(data);\r\n }}\r\n loading={loading}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountFrom\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountTo\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n <>\r\n
{rowData[\"ApproverName\"]}
\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n setAmountFrom(Number(rowData.AmountFrom));\r\n setAmountTo(Number(rowData.AmountTo));\r\n setSelectedItem(rowData);\r\n setItemAction(\"edit\");\r\n const _approver = dataEmployeeList.find(\r\n (e: any) =>\r\n e.EmployeeId === rowData?.ApproverId\r\n );\r\n const _pos = positionLevelList.find(\r\n (e: any) =>\r\n e.PositionLevelId ===\r\n rowData?.PositionLevelId\r\n );\r\n if (_approver) {\r\n\r\n let _approvers: any[] = [];\r\n _approvers = [_approver];\r\n\r\n setMode(\"เพิ่มตามคน\");\r\n setApprovers(_approvers);\r\n } else if (_pos) {\r\n setMode(\"ตามลำดับการอนุมัติสูงสุด\");\r\n setFormSelectedPositionLevel(_pos);\r\n } else {\r\n setMode(\"เพิ่มตามคน\");\r\n }\r\n setAction(\"edit\");\r\n setSubDialogVisible(true);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={false}\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountFrom(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountTo(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setFormSelectedPositionLevel(undefined);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"เพิ่มตามคน\"}\r\n />{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setApprovers([]);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"ตามลำดับการอนุมัติสูงสุด\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mode == \"เพิ่มตามคน\" ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\")\r\n : userData.Lang === \"EN\"\r\n ? approvers?.map((e: any) => e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\")\r\n ]}\r\n onClick={() => setSubDialogVisible2(true)}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n height: \"38px\",\r\n }}\r\n readOnly\r\n />\r\n {\r\n setApprovers([]);\r\n setSubDialogVisible2(true);\r\n }}\r\n />\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n

\r\n \r\n \r\n \r\n
\r\n \r\n setFormSelectedPositionLevel(e.value)\r\n }\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n AddItem()}\r\n >\r\n \r\n Add\r\n \r\n
\r\n \r\n {\r\n let _approvers: any[] = [];\r\n _approvers = [...data];\r\n setApprovers(_approvers);\r\n setSubDialogVisible2(false);\r\n setLoading(false);\r\n }}\r\n selectionMode={\"multi\"}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible2}\r\n setDialogVisible={setSubDialogVisible2}\r\n />\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { AddCompany } from \"../../../Services/CompanyService\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const CompanyDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n if (uploadFile !== undefined) {\r\n formData.UrlLogo = uploadFile;\r\n }\r\n\r\n let res: any = await updateDynamic(\"MasterCompany\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `${error}`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"CompanyCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Tel\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(undefined);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {props.formData.UrlLogo !== \"\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./DepartmentDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport {\r\n GetDepartment,\r\n UpdateDepartment,\r\n} from \"../../../Services/DepartmentService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DepartmentDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [comCode, setSelectComCode] = useState();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n\r\n setLoading(false);\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fecthCompany = async () => {\r\n if (!masterCompany) {\r\n const company = await GetAllDynamic(\"MasterCompany/GetAll\", undefined);\r\n if (company) {\r\n setSelectComCode(\r\n company?.find((e: any) => {\r\n if (e.CompanyCode === props.formData.CompanyCode) {\r\n return e;\r\n }\r\n })\r\n );\r\n control._formValues[\"CompanyCode\"] = company.find(\r\n (e: any) => e.CompanyCode === props.formData.CompanyCode\r\n );\r\n setValue(\"CompanyCode\", control._formValues[\"CompanyCode\"]);\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"add\") {\r\n formData.DepartmentId = 0;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await UpdateDepartment(formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DepartmentCode\")}\r\n \r\n \r\n \r\n \r\n \r\n e.CompanyCode === props.formData.CompanyCode\r\n // )}\r\n render={({ field }) => (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DivisionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId !== undefined) {\r\n roles?.map((e: any) => {\r\n if (e.RolesId === props.formData.RolesId) {\r\n setFormSelectedRole(e);\r\n }\r\n });\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.DivisionId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"Division\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DivisionCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\nimport {\r\n UpdateApprovalMatrix,\r\n UpdateApprovalMatrixItems,\r\n} from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const MasterDataDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.MasterId = -1;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"MasterData\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: res.errorMessage,\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: error,\r\n life: 3000,\r\n });\r\n }\r\n };\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n return (\r\n
\r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"MasterType\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { isArray } from \"util\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\nexport const MenuDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n // shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n console.log(\"My\", parseInt(props.formData.OrderGroup));\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId) {\r\n let allRoles: string[] = props.formData.RolesId.split(\",\");\r\n const defaultVal = roles?.filter((e: any) => {\r\n if (allRoles.includes(e.RoleId.toString())) {\r\n return e;\r\n }\r\n });\r\n console.log(\"role=>defaultVal\", defaultVal);\r\n\r\n setFormSelectedRole([...defaultVal]);\r\n\r\n console.log(\"table=>props.formData.RolesId\", props.formData.RolesId);\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n console.log(data, \"data\");\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"role=>\", formSelectedRole);\r\n let _rolesId: number[] = [];\r\n if (formSelectedRole) {\r\n formSelectedRole.forEach((role: any) => {\r\n _rolesId.push(role.RoleId);\r\n });\r\n }\r\n if (action === \"add\") {\r\n formData.AuMenuId = 0;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"AuthorizedMenu\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"GroupMenu\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n console.log(\r\n \"defaultValue\",\r\n typeof props.formData.OrderGroup\r\n );\r\n }}\r\n >\r\n (\r\n {\r\n // console.log(e.currentTarget);\r\n // }}\r\n // type=\"number\"\r\n inputId=\"integeronly\"\r\n id={field.name}\r\n {...field}\r\n // min={0}\r\n onChange={(e) => {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n // setValue1(e.value)} />\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderGroup\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderSub\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setFormSelectedRole(e.value)}\r\n showClear={!isEmptyObject(formSelectedRole)}\r\n />\r\n )}\r\n />\r\n {/* {getFormErrorMessage(\"PositionId\")} */}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\n\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const PositionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n setValue,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPosition, setFormSelectedPosition] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [selectComCode, setSelectComCode] = useState();\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fecthCompany() {\r\n const company = await GetAllDynamic(\r\n \"MasterCompany/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (company) {\r\n company.map((e: any) => {\r\n if (e.CompanyCode === props.formData?.CompanyCode) {\r\n if (control._fields.CompanyCode !== undefined) {\r\n control._fields.CompanyCode._f.value = e;\r\n control._formValues.CompanyCode = e;\r\n }\r\n setSelectComCode({ ...e });\r\n }\r\n });\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n\r\n async function fecthPositionLevel() {\r\n const data = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (data) {\r\n data.map((e: any) => {\r\n if (e.PositionLevelId === props.formData?.PositionLevelId) {\r\n if (control._fields.PositionLevel !== undefined) {\r\n control._fields.PositionLevel._f.value = e;\r\n control._formValues.PositionLevel = e;\r\n }\r\n setFormSelectedPosition({ ...e });\r\n }\r\n });\r\n setPositionLevelList([...data]);\r\n }\r\n }\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.PositionId = 0;\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"Position\", formData);\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (\r\n !subDialogVisible &&\r\n !subDialogVisible2 &&\r\n props.mainDialogVisible &&\r\n !isEmptyObject(formSelectedPosition)\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n {!selectComCode ? getFormErrorMessage(\"CompanyCode\") : null}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setFormSelectedPosition(e.value);\r\n }}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n placeholder=\"Select a PositionLevel\"\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n />\r\n )}\r\n />\r\n {!formSelectedPosition\r\n ? getFormErrorMessage(\"PositionLevel\")\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetRolePermission, UpdateRole } from \"../../../Services/RoleServices\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const RoleDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n fetchRoleItem();\r\n }, [dataEmployeeList]);\r\n\r\n async function fetchRoleItem() {\r\n let permissions = await GetRolePermission();\r\n let items: any[] = [];\r\n if (permissions) {\r\n let thisPermis = permissions.filter(\r\n (permis: any) =>\r\n permis.RoleId === props.formData.RoleId && !permis.IsDelete\r\n );\r\n\r\n thisPermis.map((permis: any, idx: number) => {\r\n let object: any = {};\r\n object.RoleId = permis.RoleId;\r\n object.EmployeeId = permis.EmployeeId;\r\n object.EmployeeCode = null;\r\n object.NameThRole = null;\r\n object.NameEnRole = null;\r\n object.Email = null;\r\n object.NameThEmployee = null;\r\n object.NameEnEmployee = null;\r\n object.IsActive = true;\r\n object.IsDelete = permis.IsDelete === null ? false : permis.IsDelete;\r\n object.Seq = idx + 1;\r\n items.push(object);\r\n });\r\n\r\n items.map((item: any) => {\r\n dataEmployeeList.map((emp: any) => {\r\n if (item.EmployeeId === emp.EmployeeId) {\r\n item.EmployeeId = emp.EmployeeId;\r\n item.EmployeeCode = emp.EmployeeCode;\r\n item.NameThEmployee = emp.NameTh;\r\n item.NameEnEmployee = emp.NameEn;\r\n item.Email = emp.Email;\r\n }\r\n });\r\n item.NameThRole = props.formData.NameTh;\r\n item.NameEnRole = props.formData.NameEn;\r\n });\r\n setSearchData([\r\n ...dataEmployeeList.filter(\r\n (data: any) =>\r\n !items.find(\r\n ({ EmployeeId, IsDelete }) =>\r\n data.EmployeeId === EmployeeId && !IsDelete\r\n )\r\n ),\r\n ]);\r\n console.log(\"role=>items\", items);\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, empId: string) => {\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n data.map((e: any) => {\r\n if (e[\"EmployeeId\"] === empId) {\r\n e.IsActive = false;\r\n e.IsDelete = true;\r\n }\r\n });\r\n setData([...data]);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => !item.IsDelete);\r\n setItemsListShow([...newList]);\r\n }, [itemsList]);\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.RoleId = -1;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.RoleId = props.formData.RoleId;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await UpdateRole(formData, itemsList);\r\n if (itemsList > 0) {\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } else {\r\n if (res) {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"roles=>error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n props.toggleMainDialog(false, \"close\");\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n closable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let items: any[] = e.value;\r\n items.map((item: any, idx: number) => {\r\n item.Seq = idx + 1;\r\n });\r\n\r\n field.onChange([...items]);\r\n setItemsList([...items]);\r\n }}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >
\r\n \r\n \r\n

Name Thai

\r\n

ชื่อภาษาไทย

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name English

\r\n

ชื่อภาษาอังกฤษ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

E-mail

\r\n

อีเมล

\r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n itemsList,\r\n setItemsList,\r\n rowData[\"EmployeeId\"]\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n {\r\n let item = data;\r\n if (data !== undefined) {\r\n setSearchData([\r\n ...searchData.filter(\r\n (emp: any) => emp.EmployeeId !== item.EmployeeId\r\n ),\r\n ]);\r\n }\r\n let itemsShow: any[] = itemsList;\r\n let object: any = {};\r\n object.RoleId = action === \"add\" ? -1 : props.formData.RoleId;\r\n object.EmployeeId = item.EmployeeId;\r\n object.EmployeeCode = item.EmployeeCode;\r\n object.NameThRole = action === \"add\" ? \"\" : props.formData.NameTh;\r\n object.NameEnRole = action === \"add\" ? \"\" : props.formData.NameEn;\r\n object.Email = item.Email;\r\n object.NameThEmployee = item.NameTh;\r\n object.NameEnEmployee = item.NameEn;\r\n object.IsActive = true;\r\n object.IsDelete = false;\r\n object.Seq = itemsShow.length;\r\n itemsShow.push(object);\r\n\r\n setItemsList([...itemsShow]);\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport \"./DropdownComponents.css\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {\r\n apiName?: string;\r\n valueProps?: any;\r\n optionsProps?: any;\r\n optionLabelProps?: any;\r\n placeholderProps?: any;\r\n onChangeProps?: any;\r\n styleProps?: any;\r\n keyProps?: any;\r\n disable?: any;\r\n filterProps?: boolean;\r\n validationProps?: boolean;\r\n}\r\n\r\nexport const DropdownComponents = (props: Props) => {\r\n const [selectValue, setSelectValue] = useState();\r\n const [obtions, setObtions] = useState([]);\r\n const [style, setstyle] = useState({});\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n } else {\r\n setObtions(props.optionsProps);\r\n }\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"props.optionsProps=\", props.optionsProps);\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n if (props.styleProps !== undefined) {\r\n setstyle(props.styleProps);\r\n }\r\n }, [props.styleProps]);\r\n\r\n useEffect(() => {\r\n if (obtions !== undefined) {\r\n if (props.keyProps === undefined) {\r\n obtions.map((data: any) => {\r\n if (data[props.apiName + \"Id\"] === props.valueProps.value) {\r\n setSelectValue(data);\r\n }\r\n });\r\n }\r\n }\r\n }, [obtions]);\r\n\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n }\r\n }, [props.apiName]);\r\n\r\n useEffect(() => {\r\n setSelectValue(null);\r\n }, [props.disable]);\r\n\r\n useEffect(() => {\r\n if (props.apiName != undefined) {\r\n props.onChangeProps(props.apiName, selectValue);\r\n } else if (props.keyProps !== undefined) {\r\n props.onChangeProps(selectValue, props.keyProps);\r\n } else {\r\n props.onChangeProps(selectValue);\r\n }\r\n }, [selectValue]);\r\n\r\n async function fecthData() {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName + \"/GetAll\",\r\n undefined\r\n );\r\n if (_dataDynamic !== false) {\r\n setObtions(_dataDynamic);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setSelectValue(e.target.value);\r\n }}\r\n style={{\r\n width: style.width !== undefined ? style.width : \"100%\",\r\n borderRadius:\r\n style.borderRadius !== undefined\r\n ? style.borderRadius\r\n : \"6px 6px 6px 6px\",\r\n ...style,\r\n borderColor: props.validationProps === true ? \"red\" : \"\",\r\n }}\r\n filter={props.filterProps === undefined ? false : props.filterProps}\r\n panelClassName=\"background-p-highlight\"\r\n />\r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"edit\") {\r\n formData = copyFormdata;\r\n formData[\"CreatedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n console.log(formData);\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n props.apiName.replace(\" \", \"\") + \"/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\ninterface Props {\r\n dialogName: string;\r\n titleHeaderProp?: string;\r\n visibleDialogProp?: boolean;\r\n setVisibleDialogProp?: any;\r\n visibleConfirmProp?: boolean;\r\n setVisibleConfirmProp?: any;\r\n checkActionProp?: string;\r\n formDataProp?: any;\r\n dataListProp?: any;\r\n setDataListProp?: any;\r\n matrixItems: any;\r\n tableColumn: any;\r\n setMatrixItems: (items: any) => void;\r\n toastShowSuccessProp: () => void;\r\n toastShowErrorProp: () => void;\r\n messageButtonDialogProp?: string;\r\n setOnLoading?: (bool: boolean) => void;\r\n setCanTableAction: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DialogList = (props: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"NavbarMenu\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n // RoleDialog\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(props.dialogName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport moment from \"moment\";\r\nimport \"../Table.css\";\r\nimport \"primereact/resources/themes/saga-blue/theme.css\";\r\nimport \"primereact/resources/primereact.min.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { DialogList } from \"./DialogList\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport {\r\n AutoComplete,\r\n AutoCompleteCompleteMethodParams,\r\n} from \"primereact/autocomplete\";\r\nimport {\r\n GetTemplateTemplateList,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n tableName: string;\r\n apiName?: string;\r\n actionBody?: any;\r\n requestBody?: any;\r\n canExport?: boolean;\r\n canAction?: boolean;\r\n canReorderColumn?: boolean;\r\n rowClickFunc?: any;\r\n rowHover?: boolean;\r\n rowPointer?: boolean;\r\n onLoading?: boolean;\r\n setOnLoading?: (bool: boolean) => void;\r\n setItemsCount?: (num: number) => void;\r\n data?: any;\r\n visibleDialogAddProps?: any;\r\n isEditProps?: any;\r\n isDeleteProps?: any;\r\n displayFormDialog?: any;\r\n setDisplayFormDialog?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DynamicTable = (props: Props) => {\r\n let today = new Date();\r\n let month = today.getMonth();\r\n let year = today.getFullYear();\r\n let prevMonth = month === 0 ? 11 : month - 1;\r\n let prevYear = prevMonth === 11 ? year - 1 : year;\r\n let nextMonth = month === 11 ? 0 : month + 1;\r\n let nextYear = nextMonth === 0 ? year + 1 : year;\r\n let minDate = new Date();\r\n const toast = useRef(null);\r\n minDate.setMonth(prevMonth);\r\n minDate.setFullYear(prevYear);\r\n let maxDate = new Date();\r\n maxDate.setMonth(nextMonth);\r\n maxDate.setFullYear(nextYear);\r\n const history = useHistory();\r\n const { toggleAlert } = useAlert();\r\n const [dataDynamicTable, setDataDynamicTable] = useState([]);\r\n const [showdataDynamicTable, setShowDataDynamicTable] = useState([]);\r\n const [exportData, setExportData] = useState([]);\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [clearFilter, setClearFilter] = useState(false);\r\n const [filters2, setFilters2] = useState();\r\n const [showClearDate, setshowClearDatel] = useState(false);\r\n const [titleHead, setTitleHead] = useState(\"\");\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const [messageButtonDialog, setMessageButtonDialog] = useState(\"\");\r\n const [visibleConfirm, setVisibleConfirm] = useState(false);\r\n const [canReoderColumn, setCanReoderColumn] = useState(false);\r\n const [reportFileName, setReportFileName] = useState();\r\n const [colletionField, setColletionField] = useState();\r\n const [canTableAction, setCanTableAction] = useState(props.canAction);\r\n const [matrixItems, setMatrixItems] = useState([]);\r\n const [columns, setColumns] = useState([]);\r\n const [selectData, setSelectData] = useState([]);\r\n const [filteredData, setFilteredData] = useState();\r\n const userData2 = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [userData] = useUserContext();\r\n\r\n const dt = useRef(null);\r\n\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n }, []);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n fetchData();\r\n }, [props.apiName, props.data]);\r\n\r\n useEffect(() => {\r\n if (props.visibleDialogAddProps) {\r\n if (\r\n props.visibleDialogAddProps === false &&\r\n props.apiName === \"DynamicReport/GetAll\" &&\r\n props.isEditProps !== true\r\n ) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.visibleDialogAddProps]);\r\n\r\n useEffect(() => {\r\n if (props.isDeleteProps !== undefined) {\r\n if (props.isDeleteProps) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.isDeleteProps]);\r\n\r\n useEffect(() => {\r\n if (!props?.displayFormDialog) {\r\n setDataEdit({});\r\n }\r\n }, [props?.displayFormDialog]);\r\n\r\n useEffect(() => {\r\n if (dataDynamicTable) {\r\n try {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n if (dataDynamicTable.length > 0) {\r\n if (dataDynamicTable[0] !== \"\") {\r\n dataDynamicTable.map((e: any, idx: number) => {\r\n e.rowIdx = idx;\r\n });\r\n setShowDataDynamicTable([...dataDynamicTable]);\r\n } else {\r\n setShowDataDynamicTable([]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n }, [dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n if (showdataDynamicTable) {\r\n setTimeout(() => {\r\n toggleLoading(false);\r\n }, 3000);\r\n }\r\n }, [showdataDynamicTable]);\r\n\r\n function toggleLoading(isload: boolean) {\r\n if (props.setOnLoading !== undefined) {\r\n props.setOnLoading(isload);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n var items_label = document.getElementsByClassName(\r\n \"p-multiselect-items-label\"\r\n );\r\n\r\n if (items_label.length > 0) {\r\n items_label[0].innerHTML = items_label[0].innerHTML.replace(\r\n \"items\",\r\n \"columns\"\r\n );\r\n }\r\n }, [selectedColumns]);\r\n\r\n // useEffect(() => {\r\n // try {\r\n // setShowDataDynamicTable([...dataDynamicTable]);\r\n // } catch (error) {}\r\n // }, [exportData, dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n try {\r\n setClearFilter(false);\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(showdataDynamicTable.length);\r\n }\r\n } catch (error) {}\r\n }, [showdataDynamicTable]);\r\n\r\n function getColumns() {\r\n if (dataDynamicTable !== undefined) {\r\n let arrayDataColumn: any[] = [];\r\n if (colletionField !== undefined) {\r\n colletionField.map((collection: any, idx: number) => {\r\n if (collection.isChecked > 0) {\r\n arrayDataColumn.push({\r\n field: collection.key,\r\n header: collection.dispalyLebelAndAlter,\r\n alter: collection.alter,\r\n fieldTypeFilterDynamic: collection.FieldTypeFilterDynamic,\r\n seq: idx,\r\n });\r\n }\r\n });\r\n } else {\r\n Object.keys(\r\n dataDynamicTable[0] != undefined || dataDynamicTable[0] != null\r\n ? dataDynamicTable[0]\r\n : (dataDynamicTable[0] = \"\")\r\n ).map((key: any, idx: number) => {\r\n if (\r\n props.tableName === \"Delegate List\" ||\r\n props.tableName === \"Template List\"\r\n ) {\r\n if (key !== \"ModifiedDate\" && key !== \"IsActive\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n } else {\r\n if (key !== \"Memo_MAdvancveForm\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n setColumns(arrayDataColumn);\r\n setSelectedColumns(arrayDataColumn);\r\n }\r\n }\r\n\r\n function setDefSelected() {\r\n let options: any = [];\r\n columns.map((e: any) => {\r\n if (e.field !== \"Memo_MAdvancveForm\" && !e.field.includes(\"Id\")) {\r\n options.push(e);\r\n }\r\n });\r\n\r\n setSelectedColumns(options);\r\n }\r\n\r\n const fetchData = async () => {\r\n try {\r\n toggleLoading(true);\r\n\r\n let requestBody = undefined;\r\n setDataDynamicTable([]);\r\n setFilters2(null);\r\n\r\n if (props.requestBody != undefined) {\r\n requestBody = props.requestBody;\r\n }\r\n if (props.canReorderColumn != undefined) {\r\n setCanReoderColumn(props.canReorderColumn);\r\n }\r\n\r\n let _dataDynamic;\r\n if (props.data !== undefined) {\r\n _dataDynamic = props.data;\r\n } else if (props.apiName !== undefined) {\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n requestBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: userData.EmployeeId.toString(),\r\n DepartmentId: userData.DepartmentId,\r\n Username: userData.Username,\r\n }),\r\n };\r\n }\r\n _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n\r\n if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n let matrixItem = await GetAllApprovalMatrixItem();\r\n if (matrixItem) {\r\n setMatrixItems([\r\n ...matrixItem.filter((e: any) => e.IsActive === true),\r\n ]);\r\n }\r\n }\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n _dataDynamic = _dataDynamic.filter((e: any) => e.IsActive === true);\r\n }\r\n // if (props.apiName === \"TemplateList/GetAll\") {\r\n // const dataJson = {\r\n // CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n // DepartmentId: userData.employeeData.DepartmentId,\r\n // };\r\n // console.log(\"table=>props.apiName\", props.apiName);\r\n // _dataDynamic = await GetTemplateTemplateListVersion(dataJson);\r\n // } else {\r\n // _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n // if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n // let matrixItem = await GetAllApprovalMatrixItem();\r\n // if (matrixItem) {\r\n // setMatrixItems([\r\n // ...matrixItem.filter((e) => e.IsActive === true),\r\n // ]);\r\n // }\r\n // }\r\n // }\r\n }\r\n if (_dataDynamic !== undefined && _dataDynamic) {\r\n let myData: any = [];\r\n let newData: any = [];\r\n\r\n if (_dataDynamic.FieldCollection !== undefined) {\r\n setColletionField(JSON.parse(_dataDynamic.FieldCollection));\r\n }\r\n if (_dataDynamic.dt_Report === undefined) {\r\n myData = _dataDynamic[0];\r\n newData = _dataDynamic;\r\n } else {\r\n myData = _dataDynamic.dt_Report[0];\r\n newData = _dataDynamic.dt_Report;\r\n }\r\n\r\n let filters2: any = {};\r\n if (myData != undefined) {\r\n for (const [key, value] of Object.entries(myData)) {\r\n try {\r\n if (typeof value === \"number\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.EQUALS,\r\n };\r\n } else if (key.toLowerCase().includes(\"date\")) {\r\n if (key === \"DateFrom\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_AFTER,\r\n };\r\n } else if (key === \"DateTo\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_BEFORE,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.BETWEEN,\r\n };\r\n }\r\n } else if (key.toLowerCase().includes(\"action\")) {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_IS,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.CONTAINS,\r\n };\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n\r\n newData.map((e: any) => {\r\n Object.keys(newData[0]).map((key) => {\r\n if (\r\n key === \"ModifiedDate\" ||\r\n key.toLocaleLowerCase().includes(\"date\") ||\r\n key.includes(\"วันที่\")\r\n ) {\r\n if (e[key] !== null) {\r\n return (e[key] = new Date(e[key]));\r\n }\r\n } else if (\r\n typeof e[key] === \"number\" &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"modifiedby\") &&\r\n !key.toLowerCase().includes(\"createdby\")\r\n ) {\r\n e[key] = Number(e[key]);\r\n }\r\n });\r\n });\r\n\r\n if (_dataDynamic.ReportName != undefined) {\r\n setReportFileName(_dataDynamic.ReportName);\r\n }\r\n\r\n setFilters2(filters2);\r\n if (newData.length > 0) {\r\n setDataDynamicTable([...newData]);\r\n setExportData([...newData]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"DynamicTable=>Error\", error);\r\n toggleLoading(false);\r\n }\r\n };\r\n\r\n const formatIsActive = (value: any) => {\r\n if (value == null) {\r\n return false;\r\n }\r\n return value.toString();\r\n };\r\n\r\n const statusItemTemplate = (option: any) => {\r\n return {option};\r\n };\r\n const statusRowFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n option.filterApplyCallback(e.value)}\r\n itemTemplate={statusItemTemplate}\r\n placeholder={\"Search \" + label}\r\n className=\"p-column-filter\"\r\n showClear\r\n />\r\n );\r\n };\r\n\r\n const monthNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const dateFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n {\r\n setshowClearDatel(true);\r\n\r\n option.filterApplyCallback(e.value);\r\n }}\r\n monthNavigator\r\n yearNavigator\r\n yearRange={1980 + \":\" + 2050}\r\n monthNavigatorTemplate={monthNavigatorTemplate}\r\n yearNavigatorTemplate={yearNavigatorTemplate}\r\n selectionMode=\"range\"\r\n readOnlyInput\r\n dateFormat=\"dd M yy\"\r\n />\r\n );\r\n };\r\n\r\n const normalFilterTemplate = (option: any, label: string) => {\r\n try {\r\n if (clearFilter) {\r\n option.value = \"\";\r\n option.filterApplyCallback(null);\r\n }\r\n if (option.filterModel.matchMode) {\r\n if (option.filterModel.matchMode === \"equals\") {\r\n return (\r\n option.filterApplyCallback(e.target.value)}\r\n mode=\"decimal\"\r\n minFractionDigits={label !== \"PositionLevel\" ? 2 : 0}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n setTimeout(() => {\r\n let datas: any[];\r\n if (!e.query.trim().length) {\r\n datas = [...dataDynamicTable];\r\n } else {\r\n datas = dataDynamicTable.filter((c: any) => {\r\n return c[option.field]\r\n ?.toLowerCase()\r\n .startsWith(e.query.toLowerCase());\r\n });\r\n }\r\n datas = getUnique(datas, option.field);\r\n setFilteredData([...datas]);\r\n }, 250);\r\n }}\r\n onSelect={(e) => {\r\n option.filterApplyCallback(e.value[option.field]);\r\n }}\r\n field={option.field}\r\n onChange={(e) => {\r\n option.filterApplyCallback(e.value);\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function getUnique(array: any[], key) {\r\n if (typeof key !== \"function\") {\r\n const property = key;\r\n key = function (item) {\r\n return item[property];\r\n };\r\n }\r\n return Array.from(\r\n array\r\n .reduce(function (map, item) {\r\n const k = key(item);\r\n if (!map.has(k)) map.set(k, item);\r\n return map;\r\n }, new Map())\r\n .values()\r\n );\r\n }\r\n\r\n const onColReorder = (colOrder: any) => {\r\n colOrder.columns.map((col: any, idx: number) => {\r\n selectedColumns.map((selCol: any) => {\r\n if (selCol.field === col.props.field) {\r\n selCol.seq = idx;\r\n }\r\n });\r\n });\r\n setSelectedColumns([\r\n ...selectedColumns.sort((a: any, b: any) => (a.seq > b.seq ? 1 : -1)),\r\n ]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n\r\n exportData.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.header] = data[col.field]?.toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n }\r\n );\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.field.toLowerCase().includes(\"date\")\r\n ) {\r\n if (col.header.toLowerCase().includes(\"action\")) {\r\n let newDate = data[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n }\r\n } else {\r\n let newDate = formatDate(data[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n let someDateString = moment(data[col.field], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n newDate = moment(data[col.field]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n dataField[col.header] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n dataField[col.header] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataExport.push(dataField);\r\n });\r\n return dataExport;\r\n } catch (error) {}\r\n }\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataDynamicTable.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.field] = data[col.field];\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.header.toLowerCase().includes(\"date\")\r\n ) {\r\n if (data[col.field] !== null && data[col.field] !== \"\") {\r\n dataField[col.field] = new Date(data[col.field]);\r\n }\r\n } else {\r\n dataField[col.field] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {}\r\n }\r\n\r\n const actionLinkIReport = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n const memoid = { MemoID: rowData.Memo_MemoId };\r\n window.open(`/Request?MemoID=${rowData.Memo_MemoId}`, \"blank\");\r\n // history.push(`/Request?MemoID=${rowData.Memo_MemoId}`, memoid);\r\n }}\r\n >\r\n \r\n {rowData.Memo_DocumentNo}\r\n \r\n

\r\n \r\n );\r\n };\r\n\r\n const dynamicColumns = selectedColumns.map((col: any) => {\r\n try {\r\n if (\r\n !col.field.includes(\"Form\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\"\r\n ) {\r\n if (\r\n col.field.toLowerCase().includes(\"isactive\") ||\r\n col.field.toLowerCase().includes(\"ispublic\") ||\r\n col.field.toLowerCase().includes(\"isprivate\") ||\r\n col.field.toLowerCase().includes(\"InternalUrl\")\r\n ) {\r\n return (\r\n {\r\n try {\r\n return formatIsActive(rowData[col.field]);\r\n } catch (error) {}\r\n }}\r\n header={\r\n
\r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n
\r\n }\r\n sortable\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n statusRowFilterTemplate(option, col.header)\r\n }\r\n filterHeaderClassName={\"gggg\"}\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n col.field.includes(\"Date\") ||\r\n col.field.includes(\"วันที่\") ||\r\n col.fieldTypeFilterDynamic === \"d\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n if (col.field.toLowerCase().includes(\"action\")) {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = rowData[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n return newDate;\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n } else {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = formatDate(rowData[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n let someDateString = moment(\r\n rowData[col.field],\r\n \"MM/DD/YYYY\"\r\n );\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n newDate = moment(rowData[col.field]).format(\r\n \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n }\r\n } catch (error) {}\r\n }}\r\n sortable\r\n dataType=\"date\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n dateFilterTemplate(option, col.header)\r\n }\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n (!col.field.includes(\"Id\") &&\r\n col.dataType === \"number\" &&\r\n col.header !== \"PositionLevel\") ||\r\n col.fieldTypeFilterDynamic === \"c\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n bodyClassName={\"number-style\"}\r\n body={(rowData: any) => {\r\n try {\r\n if (rowData[col.field] !== null) {\r\n return rowData[col.field]?.toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n });\r\n }\r\n } catch {}\r\n }}\r\n sortable\r\n dataType=\"numeric\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (col.field.includes(\"AmountFrom_AmountTo\")) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === rowData.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n data.sort((a, b) => (a.Seq > b.Seq ? 1 : -1));\r\n let dd = data.map((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

{subStr}

;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

......

;\r\n }\r\n });\r\n\r\n rowData.AmountFrom_AmountTo = mainStr;\r\n return dd;\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (\r\n !col.field.includes(\"Id\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\" &&\r\n col.field !== \"SignPicPath\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n if (typeof rowData[col.field] === \"string\") {\r\n let data: string = rowData[col.field];\r\n if (data.includes(\"base64\")) {\r\n var image = new Image();\r\n image.src = data;\r\n return ;\r\n } else {\r\n return col.field == \"Memo_DocumentNo\"\r\n ? actionLinkIReport(rowData)\r\n : rowData[col.field];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(\"table=>ex\", ex);\r\n }\r\n });\r\n\r\n const toastShowSuccess = () => {\r\n toggleAlert({\r\n description: `Success!`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success !\",\r\n // life: 3000,\r\n // });\r\n };\r\n const toastShowError = () => {\r\n toggleAlert({\r\n description: `Error!`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Validation failed\",\r\n // });\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let selData: any[] = [];\r\n dataDynamicTable.map((e: any) => {\r\n if (e[selectedColumns[0].field] === rowData[selectedColumns[0].field]) {\r\n selData.push(e);\r\n }\r\n });\r\n return (\r\n \r\n {\r\n setDataEdit(selData[0]);\r\n setTitleHead(\"Edit Data / แก้ไขข้อมูล\");\r\n setMessageButtonDialog(\"Update Changes\");\r\n setCheckAction(\"edit\");\r\n if (props?.setDisplayFormDialog !== undefined) {\r\n props?.setDisplayFormDialog(!props?.displayFormDialog);\r\n }\r\n setVisibleConfirm(false);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columns.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n\r\n const exportXLSX = (selectionOnly: any) => {\r\n exportXLSX({ selectionOnly });\r\n };\r\n\r\n const exportExcel = () => {\r\n const excelData = reconStructionForExport();\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n saveAsExcelFile(excelBuffer, reportFileName + \" : \" + new Date());\r\n toggleLoading(false);\r\n });\r\n };\r\n\r\n const saveAsExcelFile = (buffer: any, fileName: any) => {\r\n import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n FileSaver.saveAs(\r\n data,\r\n fileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n );\r\n });\r\n };\r\n\r\n const yearNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n className=\"p-ml-2\"\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const renderHeader1 = () => {\r\n const selCol = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col = [...columns];\r\n let showCol: any[] = [];\r\n selCol.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setShowDataDynamicTable([...uniqueArray]);\r\n setClearFilter(true);\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"20em\" }}\r\n />\r\n
\r\n {props.canExport && (\r\n
\r\n {\r\n toggleLoading(true);\r\n exportExcel();\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n }}\r\n data-pr-tooltip=\"XLS\"\r\n />\r\n {/* */}\r\n {props.apiName !== \"DynamicReport/GetReportDetailById\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n Import From excel\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n };\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n if (toggleLoading != undefined) toggleLoading(true);\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = props.apiName?.replace(\"/GetAll\", \"\");\r\n\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n if (_importedData.length - 1 === i) {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName,\r\n undefined\r\n );\r\n\r\n setDataDynamicTable([..._dataDynamic]);\r\n if (toggleLoading !== undefined) {\r\n toggleLoading(false);\r\n }\r\n }\r\n } else {\r\n }\r\n }\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {}\r\n });\r\n } catch (error) {}\r\n };\r\n function onRowClick(rowData: any) {\r\n if (props.rowClickFunc != undefined) {\r\n props.rowClickFunc(rowData);\r\n }\r\n }\r\n\r\n const header1 = renderHeader1();\r\n\r\n function renderActionColumn() {\r\n if (props.canAction) {\r\n if (props.actionBody !== undefined) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n const rowClassName = () => {\r\n if (props.rowPointer) {\r\n return \"row-pointer\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!props.onLoading && (\r\n
\r\n setSelectData(e.value)}\r\n globalFilterFields={columns.map((e: any) => e.field)}\r\n rowsPerPageOptions={[10, 15, 20, 50, 100]}\r\n rowHover={props.rowHover}\r\n onValueChange={(e: any) => {\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(e.length);\r\n }\r\n setExportData(e);\r\n }}\r\n filters={filters2}\r\n filterDisplay=\"row\"\r\n paginatorTemplate=\"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} products\"\r\n responsiveLayout=\"scroll\"\r\n size=\"small\"\r\n >\r\n {dynamicColumns.length > 0 ? renderActionColumn() : null}\r\n {dynamicColumns}\r\n \r\n {visibleConfirm && props?.displayFormDialog == false && (\r\n \r\n )}\r\n {props?.displayFormDialog && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","export const GetAllTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const GetTemplateFromDDL = async (dataJson: any) => {\r\n const respone = await fetch(\"api/TemplateList/GetTemplateFromDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateTemplateListVersion = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateeBindFormNameDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateTemplateList = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateListBindGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const SearchTemplateListEditing = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/SearchTemplateListEditing\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateListVersionHistory = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/TemplateList/GetTemplateListVersionHistory\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateByDocTypeCode = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByDocTypeCode\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"table=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetAllByCreateTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllByCreateTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const ReportTemplateList = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllReportTemplateList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateByIdDto = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByIdDto\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateControlById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateControlById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((error) => {\r\n return error;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const AddTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddTemplateAndVersion = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/SaveTemplateAndVersion\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const DeleteTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/DeleteTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const LoadLogic = async (template_id: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: template_id }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return dataLogic;\r\n};\r\n\r\nexport const ValidateRefTemplate = async (dataJson: any) => {\r\n const refValid = await fetch(\"api/TemplateList/ValidateRefTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return refValid;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Popover, Collapse } from \"antd\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { AiOutlineStar, AiFillStar } from \"react-icons/ai\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { IoAdd, IoChevronForward } from \"react-icons/io5\";\r\nimport { IoChevronDownSharp } from \"react-icons/io5\";\r\nimport \"./TreeSelectNewRequest.css\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateFromDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n setDataTemplateTreeProps?: any;\r\n}\r\n\r\nexport const TreeSelectNewRequest = (props: Props) => {\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n const [searchTemplate, setSearchTemplate] = useState([]);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [checkActionFavorite, setCheckActionFavorite] =\r\n useState(false);\r\n const [checkActionPanel, setCheckActionPanel] = useState(false);\r\n const [checkFilter, setCheckFilter] = useState(false);\r\n const [userData] = useUserContext();\r\n const { Panel } = Collapse;\r\n const cookies = new Cookies();\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n fetchDataTemplate();\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => window.removeEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n\r\n async function fetchDataTemplate() {\r\n try {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n\r\n let _dataTemplate = await GetTemplateFromDDL(dataJson);\r\n let _groupDataTemplate: any = [{ header: \"Favorite\", data: [] }];\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let groupTemplate = _dataTemplate?.reduce(function (r: any, a: any) {\r\n r[a.GroupTemplateName] = r[a.GroupTemplateName] || [];\r\n r[a.GroupTemplateName].push(a);\r\n return r;\r\n }, Object.create(null));\r\n const roles = await GetRolePermission();\r\n\r\n const keyDataTemplate = Object.entries(groupTemplate)\r\n keyDataTemplate.sort((a, b) => a[0].localeCompare(b[0]))\r\n groupTemplate = Object.fromEntries(keyDataTemplate)\r\n\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n for (let i = 0; i < _value.length; i++) {\r\n if (fav_cookie?.length > 0) {\r\n for (let k = 0; k < fav_cookie.length; k++) {\r\n if (\r\n fav_cookie[k]?.TemplateNameWithCode ===\r\n _value[i]?.TemplateNameWithCode\r\n ) {\r\n _value[i][\"favorite\"] = fav_cookie[k].favorite;\r\n _groupDataTemplate[0].data.push(_value[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n _groupDataTemplate.push({ header: key, data: _value });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n setSearchTemplate(_groupDataTemplate);\r\n } catch (error) {}\r\n }\r\n const onClickStar = (groupIdx: any, templateIdx: any, idx: number) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = searchTemplate;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (groupIdx === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode === templateIdx\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let checkUnClickStar: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (\r\n _groupDataTemplate[i].header === groupIdx &&\r\n _groupDataTemplate[i].header !== \"Favorite\"\r\n ) {\r\n for (let j = 0; j < fav_cookie.length; j++) {\r\n const element2 = fav_cookie[j];\r\n if (\r\n _groupDataTemplate[i].data[idx].TemplateId === element2.TemplateId\r\n ) {\r\n fav_cookie.splice(j, 1);\r\n checkUnClickStar = true;\r\n }\r\n }\r\n if (!checkUnClickStar) {\r\n fav_cookie.push(_groupDataTemplate[i].data[idx]);\r\n }\r\n }\r\n }\r\n let checkHasFavorite: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n const element = _groupDataTemplate[i];\r\n if (element.header === \"Favorite\") {\r\n checkHasFavorite = true;\r\n }\r\n }\r\n if (checkHasFavorite) {\r\n _groupDataTemplate[0].data.splice(\r\n 0,\r\n _groupDataTemplate[0].data.length,\r\n ...fav_cookie\r\n );\r\n } else {\r\n let _groupDataTemplate2: any = [{ header: \"Favorite\", data: [] }];\r\n _groupDataTemplate2[0].data = fav_cookie;\r\n console.log(fav_cookie, \"fav_cookieCheckHasFavorite\");\r\n console.log(_groupDataTemplate2, \"_groupDataTemplate2\");\r\n _groupDataTemplate.splice(0, 0, _groupDataTemplate2[0]);\r\n }\r\n\r\n window.localStorage.setItem(\"favorite\", JSON.stringify(fav_cookie));\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const onUnFavorite = (\r\n _groupTemplateName: any,\r\n _templateNameWithCode: any,\r\n idx: any\r\n ) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = groupDataTemplate;\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n for (let i = 0; i < _groupDataTemplate[0].data.length; i++) {\r\n _groupDataTemplate[0].data.splice(idx, 1);\r\n break;\r\n }\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (_groupTemplateName === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode ===\r\n _templateNameWithCode\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n window.localStorage.setItem(\r\n \"favorite\",\r\n JSON.stringify(_groupDataTemplate[0].data)\r\n );\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const mapContent = () => {\r\n try {\r\n let _groupTemplate: any = [];\r\n let activeDefault = [...Array(_groupTemplate?.length).keys()];\r\n let _searchTemplate = searchTemplate;\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n if (_searchTemplate[i].header !== \"Favorite\") {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel \"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n {_data.favorite ? (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n } else {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel\"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n\r\n \r\n onUnFavorite(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n }\r\n\r\n if (checkActionFavorite) {\r\n activeDefault = [0];\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n onFilterChange(e.target.value)}\r\n />\r\n \r\n
\r\n {checkFilter && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && !checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n
\r\n );\r\n } catch (error) {\r\n console.log(\"MapContent=>error\", error);\r\n }\r\n };\r\n const onFilterChange = (text: string) => {\r\n setCheckActionFavorite(false);\r\n if (groupDataTemplate) {\r\n if (groupDataTemplate.length > 0) {\r\n let _groupDataTemplate = groupDataTemplate;\r\n console.log(groupDataTemplate, \"groupDataTemplate\");\r\n\r\n if (!text) {\r\n setCheckFilter(false);\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n setSearchTemplate([..._groupDataTemplate]);\r\n } else {\r\n setCheckFilter(true);\r\n }\r\n const _searchTemplate = _groupDataTemplate.filter(\r\n (_data: any, idx: any) => {\r\n if (_data.header === \"Favorite\") {\r\n return true;\r\n }\r\n for (let i = 0; i < _data.data.length; i++) {\r\n if (\r\n _data.data[i]?.TemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.data[i]?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.header?.toLowerCase().indexOf(text.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n }\r\n );\r\n const filteredList: any = [];\r\n\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n const filteredGroup = _searchTemplate[i];\r\n const filtered = filteredGroup.data.filter((_data: any, idx: any) => {\r\n if (\r\n _data?.TemplateName?.toLowerCase().indexOf(text.toLowerCase()) !==\r\n -1 ||\r\n _data?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data?.GroupTemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (filtered.length > 0) {\r\n filteredList.push({\r\n header: filteredGroup.header,\r\n data: filtered,\r\n });\r\n }\r\n }\r\n setSearchTemplate([...filteredList]);\r\n }\r\n }\r\n };\r\n const onVisibleChange = (visible: boolean) => {\r\n setIsOpen(visible);\r\n };\r\n return (\r\n \r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n\r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/LoadingWOLFmini.12fa1510.gif\";","import { Button } from \"primereact/button\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { DynamicTable } from \"../../components/TableComponents/Dynamic/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {}\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n};\r\n\r\nexport const DynamicReport = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n const text = \"Report Detail\";\r\n const apiName = \"DynamicReport/GetReportDetailById\";\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n }),\r\n };\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [imgLoading, setImgLoading] = useState(LogoLoading);\r\n const [data, setData] = useState();\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setOnLoading(false);\r\n }\r\n }, [data]);\r\n\r\n async function fetchData() {\r\n try {\r\n setOnLoading(true);\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(\r\n apiName,\r\n reportDetailBody\r\n );\r\n\r\n setData(_dataDynamic);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {reportName.replace(\"\\\\\", \"/\") + \"(\" + itemsCount + \")\"}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport React, { ReactElement } from \"react\";\r\nimport \"./AutoCompleteComponents.css\";\r\ninterface Props {\r\n valueProps?: any;\r\n suggestionsProps?: any;\r\n completeMethodProps?: any;\r\n fieldProps?: any;\r\n disabledProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n styleProps?: any;\r\n onKeyPress?: any;\r\n readOnlyprops?: any;\r\n notButton?: any;\r\n onBlur?: any;\r\n}\r\n\r\nexport default function AutoCompleteComponents(props: Props) {\r\n return (\r\n <>\r\n {\r\n if (props.onBlur) {\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n field={props.fieldProps}\r\n className={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n multiple\r\n panelClassName={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n disabled={props.disabledProps}\r\n readOnly={props.readOnlyprops}\r\n onChange={(e) => props.onChangeProps(e.value, props.keyProps, e)}\r\n onMouseDown={(e: any) => {\r\n console.log(\"e\", e);\r\n }}\r\n onKeyPress={(e: any) => {\r\n console.log(\"e.code\", e.code);\r\n\r\n if (e.code === \"Enter\") {\r\n if (props.onKeyPress !== undefined)\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n />\r\n \r\n );\r\n}\r\n","import React, { ReactElement } from \"react\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport \"./RadioButtonComponents.css\";\r\ninterface Props {\r\n inputIdProps: any;\r\n nameProps: any;\r\n valueProps: any;\r\n onChangeProps: any;\r\n checkedProps: any;\r\n keyProps: any;\r\n labelProps?: any;\r\n}\r\n\r\nexport const RadioButtonComponents = (props: Props) => {\r\n return (\r\n <>\r\n {\r\n console.log(\"report=>e\", e);\r\n props.onChangeProps(e.value, props.keyProps);\r\n }}\r\n checked={props.checkedProps}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport {\r\n AddReport,\r\n ReportListTemplateSelect,\r\n UpdateReport,\r\n} from \"../../../Services/ReportService\";\r\n\r\nimport \"./ReportDialog.css\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { RadioButtonComponents } from \"../../RadioButtonComponents/RadioButtonComponents\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { IReportModel } from \"../../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { GetTemplateById } from \"../../../Services/TemplateService\";\r\nimport { filterHash } from \"@fullcalendar/react\";\r\nimport { DatePicker, Input, InputNumber, Spin } from \"antd\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\ninterface Props {\r\n visible: boolean;\r\n toggleDialog: any;\r\n templateDataProps?: any;\r\n checkSetProps?: any;\r\n checkProps?: any;\r\n editProps?: any;\r\n dataEditReportProps?: any;\r\n setEditReportProps?: any;\r\n setOnLoading: (bool: boolean) => void;\r\n}\r\nconst reportModelIReportModel: IReportModel = {\r\n ReportTemplateId: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nexport const ReportDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [templateKey, setTemplateKey] = useState([]);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateMulti, setTemplateMulti] = useState([]);\r\n\r\n const [templateFieldMulti, setTemplateFieldMulti] = useState([]);\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [roleData, setRoleData] = useState([]);\r\n const [radioButtonCheck, setRadioButtonCheck] = useState(false);\r\n const [radioButtonCheckToday, setRadioButtonCheckToday] =\r\n useState(false);\r\n const [radioButtonCheckFrom, setRadioButtonCheckFrom] = useState(false);\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [reportModel, setReportModel] = useState({});\r\n const [filterValueSelected, setFilterValueSelected] = useState([]);\r\n const [dropdownfilterValue, setDropdownfilterValue] = useState([]);\r\n const [group, setGroup] = useState([]);\r\n const [groupData, setGroupData] = useState([]);\r\n const [indexOrderBy, setIndexOrderBy] = useState([]);\r\n const [indexHideColumn, setIndexHideColumn] = useState([]);\r\n const [indexSortingBy, setIndexSortingBy] = useState([]);\r\n const [textHeader, setTextHeader] = useState(\"\");\r\n\r\n const [tableLoading, setTableLoading] = useState(true);\r\n\r\n const [templateMode, setTemplateMode] = useState({ Mode: \"Real Time\" });\r\n // const [disabledSave, setDisabledSave] = useState(true);\r\n\r\n const [validationForm, setValidationForm] = useState({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n RoleEmpValidation: false,\r\n RoleIdValidation: false,\r\n DisabledSave: true,\r\n });\r\n\r\n useEffect(() => {\r\n addTemplateKey();\r\n }, [props.templateDataProps, props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.dataEditReportProps && props.editProps === true) {\r\n editData();\r\n }\r\n }, [employee, roleData, props.dataEditReportProps]);\r\n\r\n useEffect(() => {\r\n _fechData();\r\n }, [props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.editProps === true) {\r\n setTextHeader(\"Edit Report / แก้ไขรายงาน\");\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreatedBy: props.dataEditReportProps.CreateBy,\r\n CreatedDate: props.dataEditReportProps.CreateDate,\r\n IsPrivate: props.dataEditReportProps.Isprivate,\r\n Mode: props.dataEditReportProps.Mode,\r\n ModifiedBy: props.dataEditReportProps.ModifiedBy,\r\n\r\n ReportDescription: props.dataEditReportProps.Reportdescription,\r\n ReportName: props.dataEditReportProps.Reportname,\r\n ReportTemplateId: props.dataEditReportProps.ReporttemplateID,\r\n RoleEmp: props.dataEditReportProps.RoleEmp,\r\n RoleId: props.dataEditReportProps.RoleId,\r\n SecretId: props.dataEditReportProps.SecretId,\r\n Selectedfieldlist: props.dataEditReportProps.Selectedfieldlist,\r\n\r\n Selectedfieldlistfilter:\r\n props.dataEditReportProps.Selectedfieldlistfilter,\r\n TemplateId: props.dataEditReportProps.TemplateID,\r\n TemplateNewVersion: props.dataEditReportProps.Templateversion,\r\n }));\r\n console.log(\"props.dataEditReportProps\", props.dataEditReportProps);\r\n if (props.dataEditReportProps !== undefined) {\r\n if (\r\n JSON.stringify(props.dataEditReportProps) !==\r\n JSON.stringify(reportModel)\r\n ) {\r\n editReportData();\r\n }\r\n }\r\n } else {\r\n setTextHeader(\"Create Report / สร้างรายงาน\");\r\n }\r\n }, [props.editProps, props.dataEditReportProps]);\r\n useEffect(() => {\r\n if (templateFieldMulti !== undefined && templateFieldMulti.length !== 0) {\r\n let indexGroupByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexGroupBy === \"1\"\r\n );\r\n let indexSortingByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexSortingBy === \"1\"\r\n );\r\n let indexHideColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexHideColumn === \"1\"\r\n );\r\n let indexOrderByColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexOrderBy === \"1\"\r\n );\r\n if (indexGroupByFilter.length !== 0) {\r\n setGroupData(indexGroupByFilter);\r\n }\r\n if (indexSortingByByFilter.length !== 0) {\r\n setIndexSortingBy(indexSortingByByFilter);\r\n }\r\n if (indexHideColumnByByFilter.length !== 0) {\r\n setIndexHideColumn(indexHideColumnByByFilter);\r\n }\r\n if (indexOrderByColumnByByFilter.length !== 0) {\r\n setIndexOrderBy(indexOrderByColumnByByFilter);\r\n }\r\n }\r\n }, [templateFieldMulti]);\r\n async function Data() {\r\n setReportModel(reportModelIReportModel);\r\n\r\n setSelectedField([]);\r\n setTemplateKey([]);\r\n setTemplateField([]);\r\n setTemplateMulti([]);\r\n setTemplateFieldMulti([]);\r\n setEmployeeRequest([]);\r\n setSearchData([]);\r\n setEmployee([]);\r\n setRoleData([]);\r\n setFilterValue([]);\r\n setFilterValueSelected([]);\r\n setGroup([]);\r\n setGroupData([]);\r\n setIndexOrderBy([]);\r\n setIndexHideColumn([]);\r\n setIndexSortingBy([]);\r\n setValidationForm({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n DisabledSave: true,\r\n });\r\n }\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n }\r\n\r\n async function editData() {\r\n console.log(\"props.dataEditReportProps?.Mode\", props.dataEditReportProps);\r\n onTemplateMode(\r\n props.dataEditReportProps?.Mode === false\r\n ? { Mode: \"Real Time\" }\r\n : { Mode: \"Schedule Mode\" }\r\n );\r\n if (props.dataEditReportProps !== undefined) {\r\n const _employee = await GetAllEmployee();\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n let _RoleEmpSplit =\r\n props.dataEditReportProps.RoleEmp === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleEmp !== null\r\n ? props.dataEditReportProps.RoleEmp.split(\",\")\r\n : [];\r\n let _RoleIdSplit =\r\n props.dataEditReportProps.RoleId === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleId !== null\r\n ? props.dataEditReportProps.RoleId.split(\",\")\r\n : [];\r\n let arrayRoleEmp: any = [];\r\n let arrayGroup: any = [];\r\n if (_RoleEmpSplit.length !== 0) {\r\n _RoleEmpSplit.map((_data: any) => {\r\n let _dataRoleEmp = _employee.filter(\r\n (item: any) => item.EmployeeId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayRoleEmp.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n if (_RoleIdSplit.length !== 0) {\r\n _RoleIdSplit.map((_data: any) => {\r\n let _dataRoleEmp = roles.filter(\r\n (item: any) => item.RoleId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayGroup.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n setEmployeeRequest([...arrayRoleEmp]);\r\n setGroup([...arrayGroup]);\r\n setRadioButtonCheck(props.dataEditReportProps?.Isprivate);\r\n }\r\n }\r\n async function editReportData() {\r\n let _dataJSONParse: any = [];\r\n var TemplateId = props.dataEditReportProps?.TemplateID?.split(\"|\");\r\n _dataJSONParse =\r\n props.dataEditReportProps.Selectedfieldlist !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlist !== null &&\r\n props.dataEditReportProps.Selectedfieldlist.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlist !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlist\r\n : []\r\n : [];\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n delete _dataJSONParse[i][\"value\"];\r\n }\r\n\r\n let _dataFavoritesItem: any = [];\r\n _dataFavoritesItem =\r\n props.dataEditReportProps.Selectedfieldlistfilter !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlistfilter !== null &&\r\n props.dataEditReportProps.Selectedfieldlistfilter.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlistfilter !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlistfilter\r\n : []\r\n : [];\r\n\r\n let arrayTemplate: any = [];\r\n if (TemplateId !== undefined) {\r\n if (TemplateId.length !== 0) {\r\n for (let i = 0; i < TemplateId.length; i++) {\r\n let dataFilter = props.templateDataProps?.filter(\r\n (item: any) =>\r\n item.DocumentCode === TemplateId[i] ||\r\n item.TemplateId === Number(TemplateId[i])\r\n );\r\n arrayTemplate.push(dataFilter[0]);\r\n if (TemplateId.length - 1 === i) {\r\n _SelectFormEdit(arrayTemplate, _dataJSONParse);\r\n }\r\n }\r\n }\r\n }\r\n let _arrayItes: any = [];\r\n if (_dataFavoritesItem.length !== 0) {\r\n for (let i = 0; i < _dataFavoritesItem.length; i++) {\r\n const element = _dataFavoritesItem[i];\r\n let arrayDataReplace: any = [];\r\n if (element.FieldText && element.FieldText.length !== 0) {\r\n var _dataSplit = element.FieldText?.split(\"|\");\r\n for (let j = 0; j < _dataSplit.length; j++) {\r\n arrayDataReplace.push({\r\n FieldText: _dataSplit[j].replaceAll(\";\", \"\"),\r\n });\r\n }\r\n } else {\r\n element.FieldText = [];\r\n }\r\n element.FieldText = arrayDataReplace;\r\n }\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n const element = _dataJSONParse[i];\r\n for (let j = 0; j < _dataFavoritesItem.length; j++) {\r\n const _element = _dataFavoritesItem[j];\r\n if (element.key === _element.FieldCode) {\r\n _arrayItes.push(element);\r\n }\r\n }\r\n }\r\n setFilterValueSelected(_dataFavoritesItem);\r\n setSelectedField(_arrayItes);\r\n } else {\r\n setFilterValueSelected([]);\r\n setSelectedField([]);\r\n }\r\n }\r\n async function _save() {\r\n if (\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0 ||\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\" ||\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0 ||\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ) {\r\n setValidationForm((dataDF: any) => ({\r\n ...dataDF,\r\n TemplateIdValidation:\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0\r\n ? true\r\n : false,\r\n FieldCollectionValidation:\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\"\r\n ? true\r\n : false,\r\n ReportNameValidation:\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0\r\n ? true\r\n : false,\r\n ReportDescriptionValidation:\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ? true\r\n : false,\r\n }));\r\n } else {\r\n let objSave = {\r\n ...reportModel,\r\n Selectedfieldlistfilter:\r\n filterValueSelected.length !== 0\r\n ? filterValueSelected\r\n : // JSON.stringify(filterValueSelected)\r\n [],\r\n };\r\n objSave.Selectedfieldlist.map((data: any) => {\r\n data[\"value\"] = null;\r\n data.reportTemplateId = null;\r\n data.isChecked = \"1\";\r\n });\r\n\r\n if (objSave.Selectedfieldlistfilter.length !== 0) {\r\n for (let i = 0; i < objSave.Selectedfieldlistfilter.length; i++) {\r\n let _arrayName: any = [];\r\n const element = objSave.Selectedfieldlistfilter[i];\r\n // remove_character\r\n if (element.FieldText.length !== 0) {\r\n for (let j = 0; j < element.FieldText.length; j++) {\r\n const _element = element.FieldText[j];\r\n _arrayName.push(_element.FieldText + \";\");\r\n }\r\n objSave.Selectedfieldlistfilter[i].FieldText = _arrayName\r\n .toString()\r\n .replaceAll(\",\", \"|;\");\r\n } else {\r\n objSave.Selectedfieldlistfilter[i].FieldText = \"\";\r\n }\r\n if (objSave.Selectedfieldlistfilter[i].FieldText.length !== 0) {\r\n objSave.Selectedfieldlistfilter[i].FieldText = remove_character(\r\n objSave.Selectedfieldlistfilter[i].FieldText,\r\n objSave.Selectedfieldlistfilter[i].FieldText.length - 1\r\n );\r\n }\r\n }\r\n } else {\r\n objSave.Selectedfieldlistfilter = [];\r\n }\r\n\r\n try {\r\n if (props.editProps !== true) {\r\n let _AddReport = await AddReport(objSave);\r\n if (_AddReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.toggleDialog();\r\n }\r\n } else {\r\n let _UpdatrReport = await UpdateReport(objSave);\r\n console.log(\"_UpdatrReport\", _UpdatrReport);\r\n\r\n if (_UpdatrReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.setEditReportProps([]);\r\n\r\n props.toggleDialog();\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n const searchTextEnter = (event: any, key: any, rowData: any) => {\r\n if (event.length < 1) return;\r\n let _rowData: any = rowData;\r\n let _filterValueSelected = filterValueSelected;\r\n _rowData.FieldText.push({ FieldText: event });\r\n console.log(\"FilterValueSelected\", filterValueSelected, _rowData);\r\n _filterValueSelected.map((_data: any) => {\r\n if (_data.FieldCode === rowData.FieldCode) {\r\n _data.FieldText = _rowData.FieldText;\r\n }\r\n });\r\n\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const footer = (\r\n <>\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n }\r\n onClickProps={() => {\r\n // props.setOnLoading(true);\r\n _save();\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n \r\n );\r\n async function _fechData() {\r\n try {\r\n // const _employee = await GetAllEmployee();\r\n // let _employee: any = [];\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreateBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n }));\r\n setRoleData(roles);\r\n // setEmployee(_employee);\r\n // setSearchData(_employee);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n // setTemplateFieldMulti(e.value);\r\n _SelectFliedMulti(e.value);\r\n };\r\n const onRowReorderFilter = (e: any) => {\r\n setFilterValueSelected(e.value);\r\n };\r\n const onTemplateMode = (e: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Mode: e.Mode === \"Schedule Mode\" ? true : false,\r\n }));\r\n setTemplateMode(e);\r\n };\r\n const onChangeReportName = (e: any, key: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: e,\r\n }));\r\n };\r\n function onChangeDropdownSelectForm(e: any, editReport?: any) {\r\n let _dataFilter: any;\r\n let _dataArrya: any = [];\r\n\r\n let dataFilterValueSelected: any = filterValueSelected;\r\n\r\n e.map((_data: any) => {\r\n const characteristics = Object.entries(_data).map((key, i) => {\r\n console.log(\"key\", key);\r\n });\r\n console.log(\"_________________________________________________________\");\r\n console.log(\"FilterValueSelected\", filterValueSelected);\r\n\r\n console.log(\"_________________________________________________________\");\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: _data.key,\r\n FieldDisplay: _data.label,\r\n IsExcludeBlankData: true,\r\n FieldType: _data.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: _data.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: _data.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n if (dataFilterValueSelected.length !== 0) {\r\n let FilterValueSelected = dataFilterValueSelected.filter(\r\n (item: any) => item.FieldCode === _objJson.FieldCode\r\n );\r\n if (FilterValueSelected.length === 0) {\r\n dataFilterValueSelected.push(_objJson);\r\n } else {\r\n for (let i = 0; i < dataFilterValueSelected.length; i++) {\r\n const filter = dataFilterValueSelected[i];\r\n if (filter.FieldCode === FilterValueSelected[0].FieldCode) {\r\n dataFilterValueSelected[i] = filter;\r\n }\r\n }\r\n }\r\n } else {\r\n dataFilterValueSelected.push(_objJson);\r\n }\r\n onChangeFilterValue(dataFilterValueSelected);\r\n\r\n setFilterValueSelected([...dataFilterValueSelected]);\r\n });\r\n\r\n if (e.length !== filterValueSelected.length) {\r\n e.map((_data: any) => {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) => _data.key === item.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n _dataArrya.push(_dataFilter[0]);\r\n }\r\n });\r\n console.log(\"dataFilterValueSelected\", _dataArrya);\r\n setFilterValueSelected([..._dataArrya]);\r\n }\r\n console.log(\"eeeeeeeeeeeeeeeeeeeee\", e);\r\n // selectedField\r\n // if (_dataArrya.length !== 0) {\r\n // let _arrayElement: any = [];\r\n // for (let i = 0; i < _dataArrya.length; i++) {\r\n // const element = _dataArrya[i];\r\n // for (let j = 0; j < e.length; j++) {\r\n // const _element = e[j];\r\n // if (element.key === _element.key) {\r\n // _arrayElement.push(element);\r\n // }\r\n // }\r\n // }\r\n // setSelectedField(_arrayElement);\r\n // } else {\r\n // setSelectedField([]);\r\n // }\r\n setSelectedField(e);\r\n }\r\n function onChangeFilterValue(e: any) {\r\n setFilterValue(e);\r\n }\r\n\r\n function onChangeFilterNo(e: any) {}\r\n\r\n function onChangeGroupData(e: any, key: any) {\r\n if (key !== undefined && key !== null) {\r\n let _FilterValueSelected = templateFieldMulti;\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n _FilterValueSelected[i][key] = null;\r\n }\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n for (let j = 0; j < e.length; j++) {\r\n const valueSelected = e[j];\r\n console.log(\"allFilter\", allFilter);\r\n console.log(\"allFilter\", valueSelected);\r\n\r\n if (allFilter?.key === valueSelected?.key) {\r\n _FilterValueSelected[i][key] = \"1\";\r\n }\r\n }\r\n }\r\n\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [..._FilterValueSelected],\r\n }));\r\n setTemplateFieldMulti([..._FilterValueSelected]);\r\n if (key === \"indexGroupBy\") {\r\n setGroupData(e);\r\n }\r\n if (key === \"indexOrderBy\") {\r\n setIndexOrderBy(e);\r\n }\r\n if (key === \"indexHideColumn\") {\r\n setIndexHideColumn(e);\r\n }\r\n if (key === \"indexSortingBy\") {\r\n setIndexSortingBy(e);\r\n }\r\n }\r\n }\r\n function onChangeDropdownfilterValue(e: any, data: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === e.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n FilterParameter:\r\n data.Filter === \"Contains\"\r\n ? \"Like\"\r\n : data.Filter === \"Not Contains\"\r\n ? \"Not Like\"\r\n : data.Filter,\r\n };\r\n }\r\n }\r\n }\r\n console.log(\"_FilterValueSelected\", _FilterValueSelected);\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n setDropdownfilterValue(data);\r\n }\r\n function addTemplateKey() {\r\n try {\r\n let _TemplateKey = props.templateDataProps;\r\n let _TemplateKeyArray: any = [];\r\n _TemplateKey?.map((_data: any) => {\r\n _TemplateKeyArray.push({\r\n ..._data,\r\n TemplateKey: _data.TemplateNameWithCode,\r\n });\r\n });\r\n console.log(\"_TemplateKeyArray\", _TemplateKeyArray);\r\n\r\n setTemplateKey(_TemplateKeyArray);\r\n } catch (error) {}\r\n\r\n // + \"(\" + _data.TemplateId + \")\",\r\n }\r\n async function _RadioButtonFormType(data: any, key: any, rowData: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n if (key !== \"Private\" && key !== \"Public\") {\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowData.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n [key]: data,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n if (key === \"IsTodayFrom\") {\r\n setRadioButtonCheckFrom(data);\r\n } else {\r\n setRadioButtonCheckToday(data);\r\n }\r\n }\r\n if (key === \"Private\" || key === \"Public\") {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n IsPrivate: data,\r\n }));\r\n\r\n setRadioButtonCheck(data);\r\n }\r\n }\r\n async function _SelectFormEdit(e: any, _dataJSONParse: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeee\", e);\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFliedEdit(e, _dataJSONParse);\r\n _SelectFliedMulti(_dataJSONParse);\r\n }\r\n async function _SelectForm(e: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeeeeeeeeeeeeeee\", e);\r\n if (e) {\r\n e.map((data: any) => {\r\n arrayTemplate.push(data.DocumentCode);\r\n });\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFlied(e);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: arrayTemplate.toString().replaceAll(\",\", \"|\"),\r\n }));\r\n } else {\r\n setTemplateMulti([]);\r\n\r\n _SelectFlied([]);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: \"\",\r\n }));\r\n }\r\n }\r\n function _CalendarDate(e: any, rowdata: any, key: any) {\r\n console.log(\"rowdata\", rowdata);\r\n console.log(\"e\", e);\r\n\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowdata.FieldCode\r\n );\r\n\r\n let _DateTime: any = formatDateTime(e);\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n [key]: _DateTime,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n }\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n async function _SelectFliedMulti(edit: any) {\r\n let arrayPush: any = [];\r\n if (edit) {\r\n for (let i = 0; i < edit.length; i++) {\r\n const element = edit[i];\r\n for (let j = 0; j < filterValueSelected.length; j++) {\r\n const _element = filterValueSelected[j];\r\n\r\n if (element.key === _element.FieldCode) {\r\n arrayPush.push(_element);\r\n }\r\n }\r\n }\r\n let arraySelected: any = [];\r\n if (arrayPush.length !== 0) {\r\n for (let i = 0; i < arrayPush.length; i++) {\r\n const element = arrayPush[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.FieldCode === _element.key) {\r\n arraySelected.push(_element);\r\n }\r\n }\r\n }\r\n setSelectedField(arraySelected);\r\n } else {\r\n setSelectedField([]);\r\n }\r\n // filterValueSelected\r\n // onChangeDropdownSelectForm(edit);\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: edit,\r\n }));\r\n\r\n setTemplateFieldMulti(edit);\r\n } else {\r\n setSelectedField([]);\r\n\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [],\r\n }));\r\n\r\n setTemplateFieldMulti([]);\r\n }\r\n }\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (tableLoading) {\r\n let _employee = await GetAllEmployee(req);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setTableLoading(!tableLoading);\r\n }\r\n }\r\n async function _SelectFliedEdit(e: any, edit: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i]?.TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\"arrayFliedTest\", arrayFliedTest);\r\n console.log(\"arrayFliedTest\", edit);\r\n for (let inx = 0; inx < edit.length; inx++) {\r\n const element = edit[inx];\r\n\r\n // for (let j = 0; j < arrayFliedTest.length; j++) {\r\n // const _element = arrayFliedTest[j];\r\n\r\n // if (element.key === _element.key) {\r\n // console.log(\"element____________\", element);\r\n // // arrayFliedTest.push(element);\r\n // }\r\n // }\r\n let _dataFilter = arrayFliedTest.filter(\r\n (item: any) => element.key === item.key\r\n );\r\n if (_dataFilter.length === 0) {\r\n arrayFliedTest.push(element);\r\n }\r\n console.log(\"_dataFilter\", _dataFilter, element);\r\n\r\n // if (_dataFilter.length !== 0) {\r\n // console.log(\"_dataFilter\", _dataFilter);\r\n // }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n console.log(\"arrayFieldMulti\", arrayFieldMulti);\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n }\r\n async function _SelectFlied(e: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i].TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\r\n \"arrayFliedTest_templateSelect_templateSelect\",\r\n arrayFliedTest,\r\n _templateSelect\r\n );\r\n\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n\r\n // selectedField\r\n console.log(\r\n \"selectedFieldjjjjjjjjjjjjjjjj\",\r\n selectedField,\r\n arrayFieldMulti\r\n );\r\n // console.log(\"selectedField\",selectedField);\r\n let _arrayKey: any = [];\r\n for (let i = 0; i < selectedField.length; i++) {\r\n const element = selectedField[i];\r\n for (let j = 0; j < arrayFieldMulti.length; j++) {\r\n const _element = arrayFieldMulti[j];\r\n if (element.key === _element.key) {\r\n _arrayKey.push(element);\r\n }\r\n }\r\n }\r\n\r\n setSelectedField(_arrayKey);\r\n _SelectFliedMulti(_arrayKey);\r\n }\r\n\r\n function _AutoComplete(data: any, key: any) {\r\n let _dataName: any = [];\r\n if (key === \"RoleEmp\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n }\r\n if (key === \"RoleId\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.RoleId);\r\n });\r\n setGroup(data);\r\n }\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _dataName.toString(),\r\n }));\r\n }\r\n const _AutoCompleteText = (data: any, key: any, rowData: any) => {\r\n let _filterValueSelected = filterValueSelected;\r\n\r\n for (let i = 0; i < _filterValueSelected.length; i++) {\r\n const element = _filterValueSelected[i];\r\n if (rowData.FieldCode === element.FieldCode) {\r\n rowData.FieldText = [];\r\n\r\n _filterValueSelected[i].FieldText = data;\r\n }\r\n }\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n return (\r\n <>\r\n {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n breakpoints={{ \"1348px\": \"75vw\" }}\r\n onClick={() => {\r\n console.log(\r\n \"reportModelreportModelreportModelreportModel\",\r\n reportModel,\r\n validationForm\r\n );\r\n }}\r\n className=\"header-text\"\r\n >\r\n \r\n
\r\n \r\n \r\n

\r\n {textHeader}\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _SelectForm(e.value);\r\n }}\r\n optionLabel=\"TemplateKey\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.TemplateIdValidation === true\r\n ? templateMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n onTemplateMode(e.value)}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _SelectFliedMulti(e.value);\r\n }}\r\n dataKey=\"key\"\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.FieldCollectionValidation === true\r\n ? templateFieldMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n \r\n onChangeDropdownSelectForm(e.value)\r\n }\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n Width\r\n

\r\n \r\n }\r\n field=\"width\"\r\n body={(rowData, options) => {\r\n return (\r\n {\r\n _SelectFliedMulti(\r\n templateFieldMulti.map((field: any) => {\r\n if (field.label === rowData.label) {\r\n field.width = e;\r\n }\r\n return field;\r\n })\r\n );\r\n }}\r\n />\r\n );\r\n }}\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n {selectedField.length !== 0 &&\r\n filterValueSelected.length !== 0 && (\r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n \r\n (\r\n \r\n onChangeFilterValue(e.value)\r\n }\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextFrom !==\r\n undefined &&\r\n rowData.FieldTextFrom !==\r\n null &&\r\n rowData.FieldTextFrom\r\n .length !== 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextFrom\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayFrom\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayFrom ===\r\n true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextFrom\"\r\n )\r\n }\r\n style={{\r\n marginBottom: \"1em\",\r\n }}\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n }\r\n let _dataFilter: any = [];\r\n if (filterValueSelected.length !== 0) {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) =>\r\n rowData.FieldCode === item.FieldCode\r\n );\r\n }\r\n if (\r\n rowData.FieldTypeFilterDynamic !== \"d\" &&\r\n rowData.FieldTypeFilterStatic !== \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {\r\n onChangeDropdownfilterValue(\r\n rowData,\r\n e.value\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextTo !==\r\n undefined &&\r\n rowData.FieldTextTo !==\r\n null &&\r\n rowData.FieldTextTo.length !==\r\n 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextTo\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n To (\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayTo\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayTo ===\r\n true\r\n }\r\n keyProps={\"Today\"}\r\n labelProps={\"\"}\r\n />\r\n Today )\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextTo\"\r\n )\r\n }\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n console.log(\r\n \"rowDatarowDatarowData\",\r\n rowData.FieldText\r\n );\r\n\r\n return (\r\n <>\r\n \r\n _AutoCompleteText(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n onBlur={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n valueProps={\r\n rowData.FieldText !==\r\n undefined &&\r\n rowData.FieldText\r\n .length !== 0 &&\r\n typeof rowData.FieldText ===\r\n \"object\"\r\n ? rowData.FieldText\r\n : []\r\n }\r\n keyProps={\"FieldText\"}\r\n styleProps={{\r\n height:\r\n rowData?.FieldText !==\r\n undefined\r\n ? rowData\r\n ?.FieldText\r\n .length === 0\r\n ? \"38px\"\r\n : \"100%\"\r\n : \"38px\",\r\n width: \"100%\",\r\n borderRadius:\r\n \"6px 6px 6px 6px\",\r\n }}\r\n onKeyPress={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n />\r\n\r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n\r\n // <>\r\n // \r\n // \r\n // );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportName\")\r\n }\r\n className={\r\n validationForm.ReportNameValidation === true\r\n ? reportModel.ReportName !== undefined &&\r\n reportModel.ReportName !== null &&\r\n reportModel.ReportName.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportName}\r\n // onFocus={true}\r\n // Foc\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportDescription\")\r\n }\r\n className={\r\n validationForm.ReportDescriptionValidation === true\r\n ? reportModel.ReportDescription !== undefined &&\r\n reportModel.ReportDescription !== null &&\r\n reportModel.ReportDescription.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportDescription}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexGroupBy\");\r\n }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexOrderBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexHideColumn\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"95% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexSortingBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Edit User Permission / แก้ไขสิทธิ์\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n showModal(\"RoleEmp\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined ||\r\n employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n\r\n {/*

Validation Employee (s)

*/}\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _AutoComplete(e.value, \"RoleId\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n filter\r\n showClear\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n try {\r\n let dataSelectEmployee: any[] = [];\r\n if (employeeRequest) {\r\n dataSelectEmployee = [...employeeRequest];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === rowData.NameEn ||\r\n _data.NameTh === rowData.NameTh\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(rowData);\r\n }\r\n\r\n _AutoComplete(dataSelectEmployee, keyAutoComplete);\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogVisible}\r\n setDialogVisible={setDialogVisible}\r\n />\r\n {/* */}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst UnAurthorization = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UnAurthorization;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UnAurthorization from \"../../screens/UnAuthorizePage/UnAurthorization\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nconst withPerMission =\r\n (Component: any) =>\r\n ({ ...props }) => {\r\n const [isAuthorize, setIsAuthorizeo] = useState(false);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const isAdmin =\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false;\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const query = new URLSearchParams(useLocation().search);\r\n\r\n useEffect(() => {\r\n const fetchNav = async () => {\r\n const menus = await GetNavbarMenu(empData?.employeeData?.Email);\r\n const _query = query.get(\"name\") || \"\";\r\n\r\n let _isAuthorize: boolean = isAuthorize;\r\n for (let i = 0; i < menus.length; i++) {\r\n const menu = menus[i];\r\n\r\n if (\r\n menu?.Url?.toLowerCase() === location.pathname?.toLowerCase() ||\r\n menu?.Url?.toLowerCase() === `/${_query?.toLowerCase()}` ||\r\n location?.pathname\r\n ?.toLowerCase()\r\n .includes(menu?.Url?.toLowerCase()) ||\r\n isAdmin\r\n ) {\r\n _isAuthorize = true;\r\n }\r\n }\r\n setOnLoading(false);\r\n setIsAuthorizeo(_isAuthorize);\r\n };\r\n fetchNav();\r\n }, [query]);\r\n\r\n return onLoading ? (\r\n
\r\n ) : isAuthorize ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\nexport default withPerMission;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n AiOutlineSortAscending,\r\n AiOutlineSortDescending,\r\n} from \"react-icons/ai\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\n\r\ntype Props = {\r\n onClick: (type: \"dec\" | \"asc\") => void;\r\n sortType?: \"dec\" | \"asc\" | null;\r\n};\r\n\r\nconst SortingButton = ({ sortType, onClick }: Props) => {\r\n const callSortFunc = () => {\r\n if (sortType === \"dec\") {\r\n sortType = \"dec\";\r\n } else {\r\n sortType = \"asc\";\r\n }\r\n onClick(sortType);\r\n };\r\n\r\n return (\r\n
\r\n {sortType === \"dec\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SortingButton;\r\n","export const sorterFunc = (\r\n a: any,\r\n b: any,\r\n key: string,\r\n type: \"dec\" | \"asc\" | null,\r\n filterType: string\r\n) => {\r\n try {\r\n let nameA: any;\r\n let nameB: any;\r\n\r\n if (filterType === \"date\") {\r\n nameA = a[key] || a[key] !== \"\" ? new Date(a[key]).getTime() : \"\";\r\n nameB = b[key] || b[key] !== \"\" ? new Date(b[key]).getTime() : \"\";\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n console.log(typeof a[key]);\r\n if (typeof a[key] !== \"string\") {\r\n return 0;\r\n }\r\n if (!isNaN(a[key]?.replaceAll(\",\", \"\"))) {\r\n nameA = Number(a[key]?.replaceAll(\",\", \"\"));\r\n nameB = Number(b[key]?.replaceAll(\",\", \"\"));\r\n\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n nameA = a[key]?.toString().toLowerCase();\r\n nameB = b[key]?.toString().toLowerCase();\r\n if (type === \"asc\") {\r\n if (nameA > nameB) {\r\n return 1;\r\n } else if (nameB > nameA) {\r\n return -1;\r\n }\r\n } else {\r\n if (nameA > nameB) {\r\n return -1;\r\n } else if (nameB > nameA) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"helper=>sorterFunc=>error\", error);\r\n return 0;\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport { GetAllDynamic, updateDynamic } from \"../Services/DynamicService\";\r\n\r\nexport const exportExcel = (\r\n fileName: string,\r\n data: any[],\r\n setLoad?: (val: boolean) => void\r\n) => {\r\n const excelData = [...data];\r\n\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n if (setLoad) {\r\n setLoad(true);\r\n }\r\n saveAsExcelFile(\r\n excelBuffer,\r\n fileName + \" : \" + moment(new Date()).format(\"DD MMM YYYY\")\r\n );\r\n if (setLoad) {\r\n setLoad(false);\r\n }\r\n });\r\n};\r\n\r\nconst formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nconst saveAsExcelFile = async (buffer: any, fileName: any) => {\r\n await import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + \"_export_\" + EXCEL_EXTENSION);\r\n });\r\n};\r\n\r\nexport const importExcel = async (e: any, apiName: string) => {\r\n try {\r\n const file = e.target.files[0];\r\n\r\n return import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n console.log(\"table=>_importedData\", _importedData);\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = apiName?.replace(\"/GetAll\", \"\");\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n let _dataDynamic = await GetAllDynamic(apiName, undefined);\r\n return { respone: true, data: _dataDynamic };\r\n } else {\r\n return { respone: false };\r\n }\r\n }\r\n } else {\r\n return { respone: false };\r\n }\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n } catch (error: any) {\r\n return { respone: false, data: error };\r\n }\r\n};\r\n","import {\r\n AutoComplete,\r\n Col,\r\n DatePicker,\r\n Row,\r\n Table,\r\n TablePaginationConfig,\r\n Tag,\r\n} from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport \"../../AntdControlComponent/TableComponent/TableComponentCSS.css\";\r\nimport \"../Table.css\";\r\nimport SortingButton from \"../../ButtonComponents/SortingButton\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { exportExcel } from \"../../../Helper/ExportExcel\";\r\nimport { updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { IPaging } from \"../../../IRequestModel/IPaginationOptionModel\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\nconst { RangePicker } = DatePicker;\r\n\r\ntype Props = {\r\n tableName: string;\r\n dataSource: any[];\r\n customColumns?: any[];\r\n setItemsCount?: (value: number) => void;\r\n canExport: boolean;\r\n setLoad?: (value: boolean) => void;\r\n actionBodyTemplate?: any;\r\n customImportFileButton?: any;\r\n rowClickAction?: any;\r\n canEdit?: any;\r\n toast?: any;\r\n loading?: boolean;\r\n reloadData?: (apiName: string) => void;\r\n VersionTempVCProps?: any;\r\n paginationOption?: TablePaginationConfig;\r\n onPageChange?: (paginationValue: IPaging) => void;\r\n};\r\n\r\ntype ITableFilter = {\r\n key: string;\r\n type: string;\r\n sortType: \"dec\" | \"asc\" | null;\r\n value: any;\r\n};\r\n\r\nconst DynamicTable = ({\r\n tableName,\r\n dataSource,\r\n customColumns,\r\n canExport,\r\n setItemsCount,\r\n setLoad,\r\n canEdit,\r\n actionBodyTemplate,\r\n rowClickAction,\r\n reloadData,\r\n customImportFileButton,\r\n loading,\r\n paginationOption,\r\n onPageChange,\r\n}: Props) => {\r\n const location = useLocation();\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [allColumns, setAllColumns] = useState();\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [showData, setShowData] = useState(dataSource);\r\n const [isHoverAction, setIsHoverAction] = useState(false);\r\n const [filters, setFilters] = useState();\r\n const [canOpenMemo, setCanOpenMemo] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [exportLoading, setExportLoading] = useState(false);\r\n const [importLoading, setImportLoading] = useState(false);\r\n const { getMasterSetting } = useMasterSetting();\r\n\r\n useEffect(() => {\r\n if (dataSource) {\r\n setToggleSelect(true);\r\n GetFilter();\r\n }\r\n }, [dataSource]);\r\n\r\n useEffect(() => {\r\n if (filters) {\r\n if (filters.length > 0) {\r\n GetColumns(filters);\r\n }\r\n }\r\n }, [filters]);\r\n\r\n useEffect(() => {\r\n if (allColumns) {\r\n setSelectedColumns([\r\n ...allColumns.filter((e: any) => !e.key.toLowerCase().includes(\"id\")),\r\n ]);\r\n }\r\n }, [allColumns]);\r\n\r\n useEffect(() => {\r\n if (showData) {\r\n if (setItemsCount) {\r\n setItemsCount(showData.length);\r\n }\r\n }\r\n }, [showData]);\r\n\r\n const formatData = async (_allColumns: any[]) => {\r\n let _data = dataSource;\r\n const masterSetting = await getMasterSetting();\r\n const dateTimeFormat = masterSetting?.FormatDate?.Value1;\r\n const dateFormat = masterSetting?.FormatDate?.Value2;\r\n\r\n _allColumns.forEach((col: any) => {\r\n if (col.key.toLowerCase().includes(\"date\") || col.filterType === \"d\") {\r\n _data.forEach((e: any, index: number) => {\r\n e.key = index;\r\n if (e[col.key] && e[col.key] !== \"\") {\r\n let newDate = formatDate(\r\n e[col.key],\r\n col.filterType === \"d\" ? dateFormat : dateTimeFormat\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\r\n dateFormat || \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n newDate = moment(e[col.key]).format(\r\n dateFormat || \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"DD/MM/YYYY\");\r\n newDate = moment(someDateString).format(\r\n dateFormat || \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _data.forEach((e: any, index: number) => {\r\n e.key = index;\r\n if (typeof e[col.key] === \"boolean\") {\r\n e[col.key] = e[col.key].toString();\r\n } else if (e[col.key] === 0 || e[col.key] === null) {\r\n e[col.key] = \"\";\r\n }\r\n });\r\n }\r\n });\r\n setShowData([..._data]);\r\n };\r\n\r\n const formatDate = (value: any, defFormat: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(new Date(value), \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(defFormat || \"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const GetColumns = async (tableFilter: ITableFilter[]) => {\r\n try {\r\n let columns: any[] = [];\r\n\r\n if (customColumns) {\r\n columns = getsettingReportTableColumns(customColumns, tableFilter);\r\n } else {\r\n columns = getsettingTableColumns(tableFilter);\r\n }\r\n await formatData(columns);\r\n setAllColumns([...columns]);\r\n } catch (error) {}\r\n };\r\n const GetFilter = () => {\r\n let _filters: ITableFilter[] = [];\r\n try {\r\n const action = new URLSearchParams(location.search).get(\"action\");\r\n const previousFilter = JSON.parse(\r\n sessionStorage.getItem(`filter::table::${tableName}`) || \"[]\"\r\n ) as ITableFilter[];\r\n\r\n if (action == \"back\" && previousFilter.length > 0) {\r\n _filters = previousFilter;\r\n } else if (customColumns) {\r\n customColumns.forEach((colField: any) => {\r\n const filter: ITableFilter = {\r\n key: colField.key,\r\n type: \"\",\r\n sortType: null,\r\n value: \"\",\r\n };\r\n if (colField.FieldTypeFilterDynamic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (colType === \"c\") {\r\n filter.type = \"number\";\r\n } else if (colType === \"d\") {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n } else if (colField.FieldTypeFilterStatic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (\r\n colType === \"Datetime\" ||\r\n colField.key.toLowerCase().includes(\"date\")\r\n ) {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n }\r\n _filters.push(filter);\r\n });\r\n } else {\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const filter: ITableFilter = {\r\n key: key,\r\n type: key.toLowerCase().includes(\"date\")\r\n ? \"date\"\r\n : typeof dataSource[0][key],\r\n sortType: null,\r\n value: \"\",\r\n };\r\n _filters.push(filter);\r\n }\r\n );\r\n }\r\n // return _filters;\r\n setFilters([..._filters]);\r\n } catch (error) {\r\n return _filters;\r\n }\r\n };\r\n\r\n const getsettingReportTableColumns = (\r\n customColumns: any[],\r\n tableFilter: ITableFilter[]\r\n ) => {\r\n let columns: any[] = [];\r\n customColumns.forEach((colField: any) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(colField.dispalyLebelAndAlter) * 2.5 + 20,\r\n getWitdthFormText(dataSource[0][colField.key])\r\n );\r\n\r\n if (colField.key !== \"operation\") {\r\n console.log(colField);\r\n\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {colField.dispalyLebelAndAlter}\r\n \r\n \r\n \r\n {getSorterButton(colField.key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === colField.key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: colField.key,\r\n key: colField.key,\r\n filterType: colField.FieldTypeFilterDynamic,\r\n width:\r\n colField.width ||\r\n (colField.key.toLowerCase().includes(\"date\") ||\r\n colField.FieldTypeFilterDynamic === \"d\"\r\n ? 250\r\n : colWidth),\r\n });\r\n }\r\n });\r\n return columns;\r\n };\r\n\r\n const getsettingTableColumns = (tableFilter: ITableFilter[]) => {\r\n let columns: any[] = [];\r\n if (canEdit) {\r\n columns.push({\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"left\",\r\n width: 50,\r\n render: (_: any, record: any) => {\r\n if (actionBodyTemplate) {\r\n return (\r\n setIsHoverAction(true)}\r\n onMouseLeave={(e: any) => setIsHoverAction(false)}\r\n >\r\n {actionBodyTemplate(record)}\r\n
\r\n );\r\n }\r\n },\r\n });\r\n }\r\n\r\n const displayCols = selectedColumns.map((e: any) => e.key);\r\n if (displayCols.length === 0) {\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(key) * 3 + 20,\r\n getWitdthFormText(dataSource[0][key])\r\n );\r\n if (key !== \"operation\" && key.toLowerCase() !== \"password\") {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n if (key === \"AmountFrom_AmountTo\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: colWidth,\r\n render: (record: any) => {\r\n const dd = record.split(\":\");\r\n let htmlBody: any[] = [];\r\n dd.forEach((data: any, idx: number) => {\r\n if (idx < 4) {\r\n htmlBody.push(

{data}

);\r\n } else {\r\n htmlBody.push(

.......

);\r\n }\r\n });\r\n return <>{htmlBody};\r\n },\r\n });\r\n } else if (key === \"TemplateName\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n\r\n key: key,\r\n render: (_: any, record: any) => {\r\n return (\r\n \r\n {record[key]}\r\n {record.isPublishVersion === \"true\" && (\r\n \r\n Publish\r\n \r\n )}\r\n {record.isEditing === \"true\" && (\r\n \r\n Editing\r\n \r\n )}\r\n \r\n );\r\n },\r\n width: 350,\r\n });\r\n } else {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {key === \"Delegate_To\" ? \"Delegate To\" : key}\r\n \r\n \r\n \r\n {tableFilter && (\r\n <>{getSorterButton(key, tableFilter)}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n width:\r\n key.toLowerCase().includes(\"date\") ||\r\n (key.toLowerCase().includes(\"วัน\") &&\r\n tableName !== \"Time Stamp\")\r\n ? 250\r\n : key.toLowerCase() === \"nameth\" ||\r\n key.toLowerCase() === \"nameen\"\r\n ? 250\r\n : key.toLowerCase().includes(\"หน่วยงาน\")\r\n ? 300\r\n : key.toLowerCase().includes(\"ชื่อเอกสาร\")\r\n ? 350\r\n : colWidth,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n } else {\r\n columns = selectedColumns;\r\n }\r\n\r\n return columns;\r\n };\r\n\r\n const getWitdthFormText = (str: string) => {\r\n var canvas = document.createElement(\"canvas\");\r\n\r\n var ctx = canvas.getContext(\"2d\");\r\n var width: number = 0;\r\n\r\n if (ctx) {\r\n ctx.font = \"14px \";\r\n width = ctx.measureText(str).width;\r\n }\r\n return width;\r\n };\r\n\r\n const getSorterButton = (key: string, tableFilter: ITableFilter[]) => {\r\n let filterType: string = tableFilter\r\n .find((v: ITableFilter) => v.key === key)\r\n ?.type.toString()!;\r\n return (\r\n e.key === key)\r\n ? tableFilter.find((e: ITableFilter) => e.key === key)?.sortType\r\n : \"asc\"\r\n }\r\n onClick={(type: \"dec\" | \"asc\" | null) => {\r\n // let _data: any[] = dataSource;\r\n tableFilter.map((e: ITableFilter) => {\r\n if (e.key === key) {\r\n if (e.sortType === \"dec\") {\r\n e.sortType = \"asc\";\r\n } else {\r\n e.sortType = \"dec\";\r\n }\r\n } else {\r\n e.sortType = null;\r\n }\r\n });\r\n\r\n filterFunc(key, type, filterType);\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const getInputFilter = (\r\n tableFilter: ITableFilter[],\r\n rowFilter: ITableFilter\r\n ) => {\r\n let _data: any[] = showData;\r\n if (rowFilter) {\r\n if (rowFilter.type === \"date\") {\r\n return (\r\n
\r\n \r\n moment(x, \"DD MMM YYYY\")\r\n ) as any\r\n }\r\n format={\"DD MMM YYYY\"}\r\n // id Startdate\r\n id=\"StartDate\"\r\n style={{ borderRadius: \"6px\" }}\r\n onChange={(e: any) => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n if (e) {\r\n let value: any[] = e.map(\r\n (val: any) => (val = moment(val).format(\"DD MMM YYYY\"))\r\n );\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n } else {\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n }\r\n filterFunc();\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n allowClear\r\n />\r\n
\r\n );\r\n } else {\r\n let uniq: Set = new Set();\r\n let options: any[] = [];\r\n if (rowFilter.type === \"boolean\") {\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key]) {\r\n e[rowFilter.key] = e[rowFilter.key].toString();\r\n } else {\r\n e[rowFilter.key] = \"\";\r\n }\r\n });\r\n }\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key] !== \"\") {\r\n const isDuplicate = uniq.has(e[rowFilter.key]);\r\n uniq.add(e[rowFilter.key]);\r\n if (!isDuplicate) {\r\n options.push({ value: e[rowFilter.key] });\r\n }\r\n }\r\n });\r\n\r\n return (\r\n
\r\n \r\n option.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n className={\"table-search\"}\r\n onBlur={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onFocus={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key == rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n filterFunc();\r\n\r\n // setFilters([..._filters]);\r\n }}\r\n style={{ width: \"100%\" }}\r\n />\r\n
\r\n );\r\n }\r\n }\r\n };\r\n\r\n const filterFunc = (\r\n key?: string,\r\n type?: \"dec\" | \"asc\" | null,\r\n filterType?: string\r\n ) => {\r\n try {\r\n let _data: any[] = dataSource;\r\n\r\n filters?.forEach((filter: ITableFilter) => {\r\n if (filter.value !== \"\" && filter.value !== \"Invalid date\") {\r\n if (filter.type === \"number\") {\r\n _data = _data.filter((e: any) => {\r\n return e[filter.key] == Number(filter.value);\r\n });\r\n } else if (filter.type === \"date\") {\r\n const startDate = new Date(filter.value[0]);\r\n const endDate = new Date(filter.value[1]);\r\n _data = _data.filter((e: any) => {\r\n let date = new Date(e[filter.key]);\r\n if (date.toString() !== \"Invalid Date\") {\r\n return date >= startDate && date <= endDate;\r\n }\r\n });\r\n } else {\r\n _data = _data.filter((e: any) =>\r\n e[filter.key]\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(filter.value.toLowerCase())\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (filters) {\r\n sessionStorage.setItem(\r\n `filter::table::${tableName}`,\r\n JSON.stringify(filters)\r\n );\r\n }\r\n if (key && type && filterType) {\r\n _data.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, key, type, filterType);\r\n });\r\n }\r\n setFilters(filters);\r\n setShowData([..._data]);\r\n } catch (error) {\r\n console.error(\"table=>filterFunc=>error\", error);\r\n }\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n try {\r\n let selectedColumns = event.value;\r\n\r\n let orderedSelectedColumns = allColumns.filter((col: any) =>\r\n selectedColumns.some(\r\n (sCol: any) =>\r\n sCol.dataIndex === col.dataIndex || col.key === \"operation\"\r\n )\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n } catch (error) {\r\n console.error(\"table=>onColumnToggle=>error\", error);\r\n }\r\n };\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataSource.map((data: any) => {\r\n let dataField: any = {};\r\n allColumns.forEach((col: any) => {\r\n if (!col.key.toLowerCase().includes(\"id\")) {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (col.key === selCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n } else {\r\n dataField[col.key] = data[col.key];\r\n }\r\n });\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {\r\n console.error(\"table=>reconStructionForShowData=>error\", error);\r\n }\r\n }\r\n\r\n const renderHeader1 = () => {\r\n try {\r\n if (allColumns) {\r\n const selCol: any[] = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col: any[] = [...allColumns];\r\n let showCol: any[] = [];\r\n selCol.forEach((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n const field: string = e.dataIndex;\r\n if (!field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n if (!e.dataIndex.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {\r\n try {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter(\r\n (value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n }\r\n );\r\n setShowData([...uniqueArray]);\r\n } catch (error) {\r\n console.error(\"table=>onHide=>error\", error);\r\n }\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"50%\" }}\r\n />\r\n \r\n {canExport && (\r\n <>\r\n \r\n {\r\n await exportExcel(\r\n tableName,\r\n reconStructionForExport(),\r\n setExportLoading\r\n );\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n {!location.pathname.includes(\"DynamicReport\") &&\r\n !location.search?.includes(\"DelegateList\") &&\r\n !location.search?.includes(\"TimeStamp\") && (\r\n <>\r\n {customImportFileButton ? (\r\n customImportFileButton\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n Import from excel\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n if (_importedData.length !== 0) {\r\n let res = null;\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = tableName?.replace(\"/GetAll\", \"\");\r\n if (\r\n !_importedData[i][apiNamereplace + \"Id\"] ||\r\n _importedData[i][apiNamereplace + \"Id\"] === \"\"\r\n ) {\r\n _importedData[i].CreatedBy = userData.EmployeeId.toString();\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n } else {\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n setImportLoading(true);\r\n\r\n res = await updateDynamic(apiNamereplace, element);\r\n }\r\n\r\n if (res.result === \"success\") {\r\n if (reloadData) {\r\n reloadData(tableName);\r\n }\r\n }\r\n setImportLoading(false);\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n });\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n e.target.value = null;\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n showData.forEach((data: any) => {\r\n let dataField: any = {};\r\n if (customColumns) {\r\n customColumns?.forEach((col: any) => {\r\n if (col.key !== \"operation\") {\r\n if (col.key.toLowerCase().includes(\"id\")) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === col.key) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n allColumns.forEach((allCol: any) => {\r\n if (allCol.key !== \"operation\") {\r\n if (allCol.key.toLowerCase().includes(\"id\")) {\r\n dataField[allCol.key] = data[allCol.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === allCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n dataExport.push(dataField);\r\n });\r\n\r\n return dataExport;\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {renderHeader1()}\r\n \r\n \r\n \r\n {\r\n return {\r\n onClick: (event: any) => {\r\n if (rowClickAction) {\r\n if (!isHoverAction) {\r\n rowClickAction(record, rowIndex, event);\r\n }\r\n }\r\n }, // click row\r\n onDoubleClick: (event: any) => {}, // double click row\r\n onContextMenu: (event: any) => {}, // right button click row\r\n onMouseEnter: (event: any) => {\r\n if (record[\"Memo_MemoId\"]) {\r\n setCanOpenMemo(true);\r\n }\r\n }, // mouse enter row\r\n onMouseLeave: (event: any) => {\r\n setCanOpenMemo(false);\r\n }, // mouse leave row\r\n };\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DynamicTable;\r\n","import { DataTable } from \"primereact/datatable\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { RadioButtonComponents } from \"../RadioButtonComponents/RadioButtonComponents\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { Chips } from \"primereact/chips\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../ButtonComponents/ButtonComponents\";\r\nimport { DatePicker } from \"antd\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetReportSetting } from \"../../Services/MasterDataService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { UserContext, useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n reportTemp: IReportModel;\r\n setReportColumns: (value: any[]) => void;\r\n setTableData: (value: any[]) => void;\r\n setGettingreport: (value: boolean) => void;\r\n}\r\n\r\nconst SelectedFieldComponent = ({\r\n reportTemp,\r\n setReportColumns,\r\n setTableData,\r\n setGettingreport,\r\n}: Props) => {\r\n const { control, setValue, handleSubmit } = useForm({\r\n defaultValues: reportTemp,\r\n });\r\n\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [userData] = useUserContext();\r\n const [rtcon, setRtcon] = useState();\r\n\r\n useEffect(() => {\r\n findSelected();\r\n fecthMasterData();\r\n }, []);\r\n\r\n const fecthMasterData = async () => {\r\n try {\r\n const _rtcon = await GetReportSetting();\r\n if (_rtcon) {\r\n let value: string = _rtcon[0]?.value2?.split(\"|\");\r\n setRtcon(value);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const findSelected = () => {\r\n try {\r\n const _selectedfieldlist = reportTemp.Selectedfieldlist;\r\n const _selectedfieldlistfilter = reportTemp.Selectedfieldlistfilter;\r\n\r\n if (_selectedfieldlist) {\r\n const selected = _selectedfieldlist.filter((field: any) => {\r\n return _selectedfieldlistfilter?.find(\r\n (filter: any) => field.key === filter.FieldCode\r\n );\r\n });\r\n setValue(\"Selectedfieldlistfilter\", _selectedfieldlistfilter);\r\n setSelectedField(selected);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function formatDate(date: string) {\r\n try {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n } catch (error) {\r\n return date;\r\n }\r\n }\r\n\r\n const validateFun = (data: any) => {\r\n let isPass = true;\r\n try {\r\n if (rtcon?.length > 0) {\r\n const request_date = data.Selectedfieldlistfilter.find(\r\n (e: any) => e.FieldCode.toLowerCase() === rtcon[0]\r\n );\r\n if (!request_date) {\r\n isPass = false;\r\n confirmDialog({\r\n message: () => {\r\n return (\r\n <>\r\n {\r\n \"Please select field Request Date for data search condition after click Generate Report button! / กรุณาเลือก field Request Date เพื่อเป็นเงื่อนไขในการค้นหาข้อมูลก่อนกดปุ่ม Generate Report !\"\r\n }\r\n \r\n );\r\n },\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date To / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date ถึง !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else {\r\n const dateForm = getDateValue(request_date.FieldTextFrom);\r\n const dateTo = getDateValue(request_date.FieldTextTo);\r\n const diffDays = dateTo.diff(dateForm, \"days\");\r\n if (diffDays > rtcon[1]) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select field Request Date difference between \" +\r\n rtcon[1] +\r\n \"! / \" +\r\n \"กรุณาเลือก field Request Date ที่มีระยะห่างไม่เกิน \" +\r\n rtcon[1] +\r\n \"!\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n isPass = false;\r\n }\r\n\r\n return isPass;\r\n };\r\n\r\n const onSubmit = (data: any) => {\r\n if (validateFun(data)) {\r\n setGettingreport(true);\r\n data.Selectedfieldlistfilter?.map((e: any) => {\r\n try {\r\n if (e.FieldText && typeof e.FieldText !== \"string\") {\r\n e.FieldText = e.FieldText.join(\"|\");\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n });\r\n fecthDataReport(\r\n data.ReporttemplateID,\r\n JSON.stringify(data.Selectedfieldlistfilter)\r\n );\r\n }\r\n };\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthDataReport = async (reportId: number, data: string) => {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n FavoritesItem: data,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n if (_dataDynamic) {\r\n if (_dataDynamic.FieldCollection && _dataDynamic.FieldCollection !== \"\") {\r\n const fieldCollection: any[] = JSON.parse(_dataDynamic.FieldCollection);\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n fieldCollection.forEach((col: any) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col]) {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(data[col.key], decimal) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n });\r\n });\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n\r\n setTableData(_dataDynamic.dt_Report);\r\n setGettingreport(false);\r\n }\r\n };\r\n\r\n const getChipValue = (fieldValue?: any) => {\r\n let _chip: any[] = [];\r\n if (fieldValue) {\r\n if (typeof fieldValue === \"string\") {\r\n _chip = fieldValue.split(\"|\");\r\n } else {\r\n _chip = fieldValue;\r\n }\r\n return _chip;\r\n }\r\n };\r\n\r\n function onChangeSelectField(fieldValue: any[], onChange: any) {\r\n let _filters: any[] = [];\r\n selectedField.forEach((field: any) => {\r\n const exitFilter = fieldValue.find(\r\n (filter: any) => filter.FieldCode === field.key\r\n );\r\n if (exitFilter) {\r\n _filters.push(exitFilter);\r\n } else {\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: field.key,\r\n FieldDisplay: field.label,\r\n IsExcludeBlankData: true,\r\n FieldType: field.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: field.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: field.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n _filters.push(_objJson);\r\n }\r\n });\r\n if (JSON.stringify(fieldValue) !== JSON.stringify(_filters)) {\r\n onChange(_filters);\r\n }\r\n return _filters;\r\n }\r\n\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"table=>dateValue\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n })\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n selection={selectedField}\r\n onSelectionChange={(e: any) => {\r\n setSelectedField(e.value);\r\n }}\r\n // rowClassName={rowClassName}\r\n // isDataSelectable={isRowSelectable}\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n
\r\n (\r\n setFilterValue(e.Value)}\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextFrom\r\n ? getDateValue(rowData.FieldTextFrom)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n {\r\n rowData.IsTodayFrom = e;\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={\r\n rowData.IsTodayFrom === true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextFrom =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextFrom = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n rowData.FilterParameter =\r\n e.value === \"Contains\"\r\n ? \"Like\"\r\n : e.value === \"Not Contains\"\r\n ? \"Not Like\"\r\n : e.value;\r\n if (field?.value) {\r\n field.value[option.rowIndex] = rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextTo\r\n ? getDateValue(rowData.FieldTextTo)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n To (\r\n {\r\n rowData.IsTodayTo = e;\r\n console.log(\"report=>field\", field);\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={rowData.IsTodayTo === true}\r\n labelProps={\"\"}\r\n keyProps={\"Today\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextTo =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextTo = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n if (field.value) {\r\n field.value[option.rowIndex].FieldText =\r\n e.value;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.target.value !== \"\") {\r\n if (field.value) {\r\n field.value[\r\n option.rowIndex\r\n ].FieldText.push(e.target.value);\r\n field.onChange(field.value);\r\n }\r\n }\r\n e.target.value = \"\";\r\n }}\r\n separator=\"|\"\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SelectedFieldComponent;\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport {\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { Popover } from \"antd\";\r\n\r\ntype Props = {};\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n // isAutoReport: string;\r\n};\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst DynamicReportFix = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n // let { isAutoReport } = useParams();\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [data, setData] = useState([]);\r\n const [_isAutoReport, setIsAutoReport] = useState(true);\r\n const [reportTemp, setReportTemp] = useState(\r\n reportModelIReportModel\r\n );\r\n const [_reportName, setReportName] = useState(\"\");\r\n const [reportColumns, setReportColumns] = useState();\r\n const [gettingFilter, setGettingFilter] = useState(false);\r\n const [gettingReport, setGettingreport] = useState(true);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n fecthData(controller);\r\n return () => {\r\n controller.abort();\r\n };\r\n }, []);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthData = async (controller: AbortController) => {\r\n try {\r\n const dd = await CheckAutoReport();\r\n console.log(controller.signal);\r\n\r\n if (dd) {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetReportById(\r\n Number(reportId),\r\n controller.signal\r\n );\r\n\r\n if (\r\n _dataDynamic.FieldCollection &&\r\n _dataDynamic.FieldCollection !== \"\"\r\n ) {\r\n const fieldCollection: any[] = JSON.parse(\r\n _dataDynamic.FieldCollection\r\n );\r\n\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n let atCols: string[] = [];\r\n fieldCollection.forEach((col: any, index: number) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"at\") {\r\n atCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach(\r\n (col: { key: string; suffix?: string; decimal?: number }) => {\r\n if (col.key !== \"Memo_MemoId\") {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n if (col?.decimal) {\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(\r\n data[col.key],\r\n col?.decimal\r\n ) +\r\n \" \" +\r\n col?.suffix;\r\n } else {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(\r\n data[col.key],\r\n decimal\r\n ) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n if (atCols.length > 0) {\r\n atCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n const [nameFile, linkFile] = data[col.key].split(\"|\");\r\n data[col.key] = (\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"999\",\r\n }}\r\n />\r\n \r\n );\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n setReportName(_dataDynamic.ReportName);\r\n setData([..._dataDynamic.dt_Report]);\r\n setGettingreport(false);\r\n } else {\r\n setGettingFilter(true);\r\n const _reportTemp: any = await ReportTemplateSelectByReportID(\r\n Number(reportId)\r\n );\r\n setReportName(reportName);\r\n if (_reportTemp) {\r\n setReportTemp(_reportTemp);\r\n setData([]);\r\n }\r\n setGettingFilter(false);\r\n setGettingreport(false);\r\n }\r\n setIsAutoReport(dd);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n console.log(\"table=>isEnable\", isEnable);\r\n\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{_reportName + \"(\" + itemsCount + \")\"}

\r\n \r\n \r\n }\r\n onClickProps={() => {\r\n history.push(\"/DynamicReport?action=back\");\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n {/* {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n {_isAutoReport ? (\r\n <>\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n panelTemplate(option, \"Filter\")\r\n }\r\n toggleable\r\n >\r\n {!gettingFilter && (\r\n \r\n )}\r\n \r\n \r\n panelTemplate(option, \"Report\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n {gettingReport ? (\r\n <>\r\n {/* */}\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n{\r\n /* if (isAutoReport) {\r\n return (\r\n \r\n
\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return
DynamicReportFix
;\r\n } */\r\n}\r\n{\r\n /* } */\r\n}\r\nexport default DynamicReportFix;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory, useRouteMatch, Switch, Route } from \"react-router-dom\";\r\nimport { DynamicReport } from \"./DynamicReport\";\r\nimport \"./index.css\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport {\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport {\r\n DeleteReport,\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst ReportScreen = (props: Props) => {\r\n const text = \"Report List\";\r\n const location = useLocation();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [apiName, setApiName] = useState(\r\n location.pathname.replace(\"/\", \"\")\r\n );\r\n const { isLoad, setLoad } = useLoading();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const [empList, setEmpList] = useState([]);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [isDelete, setIsDelete] = useState(false);\r\n const [editReport, setEditReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [data, setData] = useState();\r\n let history = useHistory();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const { url } = useRouteMatch();\r\n const [isAdmin, setIsAdmin] = useState();\r\n // const [emp_data, setEmp_data] = useState();\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n fetchTemplate();\r\n fetchEmployee();\r\n fetchReport();\r\n console.log(\"table=>5555555555555555\");\r\n\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n async function fetchEmployee() {\r\n setEmpList([...(await GetAllEmployee())]);\r\n }\r\n\r\n // const actionBodyTemplate = (rowData: any) => {\r\n // try {\r\n // const employee = empList.filter((e: any) => {\r\n // return e.EmployeeId === rowData.CreatedBy;\r\n // });\r\n // if (empData.employeeData.Lang === \"TH\") {\r\n // rowData.CreatedByName = employee[0]?.NameTh;\r\n // } else {\r\n // rowData.CreatedByName = employee[0]?.NameEn;\r\n // }\r\n // if (empData.employeeData.EmployeeId === rowData.CreatedBy) {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n // console.log(\r\n // \"rowData.ReportTemplateId\",\r\n // rowData.ReportTemplateId\r\n // );\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // {\r\n // label: \"Delete\",\r\n // icon: \"pi pi-trash\",\r\n // command: () => {\r\n // confirmDialog({\r\n // message: \"Do you want to delete this report.\",\r\n // header: \"Delete\",\r\n // icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName: \"hide\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // accept: async () => {\r\n // const res = await DeleteReport(\r\n // rowData.ReportTemplateId\r\n // );\r\n // if (res) {\r\n // setOnLoading(true);\r\n // fetchReport();\r\n // }\r\n // },\r\n // });\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // }\r\n // } catch (error) {\r\n // console.log(\"report=>error\", error);\r\n // }\r\n // };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n async function fetchReport() {\r\n try {\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ EmployeeId: userId?.toString() }),\r\n });\r\n setData(_dataDynamic);\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n console.log(\"_dataTemplatee\", _dataTemplatee);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = empList.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n console.log(\"table=>isAdmin\", isAdmin);\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {apiName.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\r\n />\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(ReportScreen);\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport WebViewer from \"@pdftron/webviewer\";\r\nimport \"./ShowContentScreen.css\";\r\nimport { Spin } from \"antd\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Empty } from \"antd\";\r\ninterface Props {\r\n pdfData: string;\r\n onLoading: boolean;\r\n isShowPdfData: boolean;\r\n}\r\n\r\nexport const ShowContentScreen = (props: Props) => {\r\n const viewerDiv = useRef(null);\r\n useEffect(() => {\r\n console.log({ pdfdff: props.pdfData });\r\n }, [props.pdfData]);\r\n\r\n // useEffect(() => {\r\n // WebViewer(\r\n // {\r\n // path: \"lib\",\r\n // initialDoc:\r\n // \"https://testwolf18.wolfapprove.com/TempAttachment/ee864f46a1f14a54bf26f8d281719eb1/preview_TEST00-2021-000001.pdf\",\r\n // },\r\n // viewerDiv.current as HTMLDivElement\r\n // ).then((instance: any) => {});\r\n // }, []);\r\n // return
;\r\n return (\r\n
\r\n {props.isShowPdfData ? (\r\n props.onLoading ? (\r\n \r\n ) : props.pdfData.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\ninterface Props {\r\n approvals?: any;\r\n requestor?: any;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowCardComponent = (props: Props) => {\r\n // const [flowCardData, setFlowCardData] = useState()\r\n const [seq, setSeq] = useState();\r\n const [current, setCurrent] = useState();\r\n\r\n const highlight = () => {\r\n if (props.memoDetail) {\r\n setCurrent(\r\n props.memoDetail.requestDetails.memoDetail.current_approval_level\r\n );\r\n if (current) {\r\n props.memoDetail.requestDetails.listApprovalDetails.map((e: any) => {\r\n if (current === e.sequence) {\r\n setSeq(e.sequence);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n highlight();\r\n }, [current, props.memoDetail.memoid]);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn\r\n .substring(0, 2)\r\n .toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n {/* change text color */}\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlowCardComponent } from \"../../components/WorklistScreenComponent/FlowCardComponent\";\r\nimport { IApproval } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport \"./FlowScreen.css\";\r\ninterface Props {\r\n approvals?: IApproval[];\r\n requestor?: IUserModel;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowScreen = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n
\r\n

Flow

\r\n
\r\n

{t(\"Request By\")}

\r\n \r\n
\r\n
\r\n

Approvals

\r\n {props.approvals &&\r\n props.approvals.map((data: any, idx: any) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Table, Tag, Space, Divider, Row, Col } from \"antd\";\r\nimport \"./HistoryComponent.css\";\r\nimport moment from \"moment\";\r\nimport { AiFillAndroid, AiFillApple } from \"react-icons/ai\";\r\nimport { FaLine } from \"react-icons/fa\";\r\nimport { IoDesktopOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Last } from \"react-bootstrap/esm/PageItem\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\ninterface Props {\r\n listHistoryDetails?: any;\r\n listLineApprove?: any;\r\n t: any;\r\n}\r\nexport const HistoryComponent = (props: Props) => {\r\n const [data, setData] = useState([]);\r\n const [dataDialog, setDataDialog] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n const { masterSetting } = useMasterSetting();\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n const fetchData = () => {\r\n const responeWorkList = props.listHistoryDetails;\r\n const sortDate = responeWorkList?.sort((a: any, b: any) => {\r\n const aa = moment(a.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n const bb = moment(b.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(aa).diff(bb);\r\n });\r\n setData(sortDate);\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(momentObj).format(\r\n masterSetting?.FormatDate?.Value1 || \"DD MMM yyyy , HH:mm:ss\"\r\n );\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const formatAction = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n if (value === \"submit\") {\r\n return props.t(\"Submitted\");\r\n } else if (value === \"recall\") {\r\n return props.t(\"Recalled\");\r\n } else if (value === \"rework\") {\r\n return props.t(\"Reworked\");\r\n } else if (value === \"reject\") {\r\n return props.t(\"Rejected\");\r\n } else if (value === \"approve\") {\r\n return props.t(\"Approved\");\r\n } else if (value === \"draft\") {\r\n return props.t(\"Draft\");\r\n } else if (value === \"return\") {\r\n return props.t(\"Return\");\r\n } else if (value === \"assign\") {\r\n return props.t(\"Assign\");\r\n } else if (value === \"request comment\") {\r\n return props.t(\"Request Comment\");\r\n } else if (value === \"reply\") {\r\n return props.t(\"Reply\");\r\n } else {\r\n return value;\r\n }\r\n }\r\n };\r\n const convertAction = (data: any) => {\r\n return formatAction(data);\r\n };\r\n const formatPlatform = (value: string) => {\r\n if (value === \"web\") {\r\n return (\r\n

\r\n เว็ปไซต์ WOLF Approve | Web\r\n

\r\n );\r\n }\r\n if (value === \"ios\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | IOS\r\n

\r\n );\r\n }\r\n if (value === \"android\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Andriod\r\n

\r\n );\r\n }\r\n if (value === \"line\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Line\r\n

\r\n );\r\n }\r\n };\r\n const convertPlatform = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n const bgcolor = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n\r\n function convertHtml(_comment: any, _textAbstract?: boolean) {\r\n let response: string = \"\";\r\n if (_textAbstract) {\r\n response = textAbstract(_comment, 200);\r\n } else {\r\n response = _comment;\r\n }\r\n return
;\r\n }\r\n function textAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n function dialogDetailText() {\r\n return (\r\n setVisibleDialog(false)}\r\n dismissableMask\r\n draggable={false}\r\n >\r\n

\r\n

\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_name_en\r\n : dataDialog.actor_name_th}\r\n
\r\n {dataDialog.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"return\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n Position :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_position_name_en\r\n : dataDialog.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {dataDialog.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")} :{\" \"}\r\n {convertDate(dataDialog.action_date)}\r\n

\r\n \r\n {convertHtml(dataDialog.comment)}\r\n

\r\n
\r\n
\r\n
\r\n {convertPlatform(dataDialog.platform)}\r\n
\r\n
\r\n

\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {dataDialog && dialogDetailText()}\r\n

{props.t(\"history\")}

\r\n\r\n
\r\n {data.length > 0 &&\r\n data.map((data, idx) => (\r\n
\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_name_en\r\n : data.actor_name_th}\r\n
\r\n {data.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"return\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n {props.t(\"Position\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_position_name_en\r\n : data.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {data.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")}: {convertDate(data.action_date)}\r\n

\r\n \r\n {convertHtml(data.comment, true)}\r\n

\r\n {data?.comment && data?.comment?.length >= 200 && (\r\n

\r\n {\r\n setVisibleDialog(true);\r\n console.log(idx, \"idx\");\r\n setDataDialog(data);\r\n }}\r\n >\r\n {props.t(\"More\")}\r\n

\r\n

\r\n )}\r\n
\r\n
\r\n
{convertPlatform(data.platform)}
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { HistoryCardComponent } from \"../../components/WorklistScreenComponent/HistoryCardComponent\";\r\nimport { IWorklistHistory } from \"../../IRequestModel/IListHistoryDetailsModel\";\r\nimport \"./HistoryScreen.css\";\r\ninterface Props {\r\n historyData?: IWorklistHistory[];\r\n}\r\n\r\nexport const HistoryScreen = (props: Props) => {\r\n const [historyData, setHistoryData] = useState(\r\n props.historyData ? props.historyData : []\r\n );\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n return (\r\n
\r\n \r\n {/* {props.historyData.map((_data: any, idx: any) => (\r\n // \r\n undefined} />\r\n ))} */}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\nimport moment from \"moment\";\r\nimport {\r\n BsFileEarmarkPdfFill,\r\n BsFileEarmarkExcelFill,\r\n BsFillFileEarmarkTextFill,\r\n} from \"react-icons/bs\";\r\nimport { FaFilePowerpoint, FaFileWord } from \"react-icons/fa\";\r\ninterface Props {\r\n data: any;\r\n}\r\n\r\nexport const AttachmentCardComponent = (props: Props) => {\r\n const [comploteLink, setComploteLink] = useState(\"\");\r\n const formatDate = () => {\r\n let momentObj = moment(props.data.attach_date, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , h:mm\");\r\n };\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n showFile();\r\n }, []);\r\n\r\n const showFile = async () => {\r\n let component;\r\n const attachPath = props.data.attach_path;\r\n var pathArray = attachPath.split(\"/\");\r\n let comploteLink = \"\";\r\n const _link = attachPath\r\n ? attachPath.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + attachPath\r\n : attachPath\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n comploteLink = _link;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n comploteLink = `https://${_link.replaceAll(\"https://\", \"\")}`;\r\n // window.open(\r\n // `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else if (_link.includes(\"http\")) {\r\n comploteLink = `http://${_link.replaceAll(\"http://\", \"\")}`;\r\n // window.open(\r\n // `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else {\r\n comploteLink = `https://${_link}`;\r\n // window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n comploteLink = `${protocol}//${_userData.TinyURL}${_link}`;\r\n // window.open(\r\n // `${protocol}//${_userData.TinyURL}${_link}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n comploteLink = `${_link}`;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n setComploteLink(comploteLink);\r\n };\r\n\r\n const getFileIcon = (attachPath: string) => {\r\n if (attachPath.endsWith(\"pdf\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"png\") ||\r\n attachPath.endsWith(\"jpg\") ||\r\n attachPath.endsWith(\"jpeg\")\r\n ) {\r\n return \"flow-img\";\r\n } else if (attachPath.endsWith(\"doc\") || attachPath.endsWith(\"docx\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"csv\") ||\r\n attachPath.endsWith(\"xls\") ||\r\n attachPath.endsWith(\"xlsx\")\r\n ) {\r\n return ;\r\n } else if (attachPath.endsWith(\"pptx\") || attachPath.endsWith(\"ppt\")) {\r\n return ;\r\n } else if (attachPath.endsWith(\"txt\")) {\r\n return ;\r\n }\r\n };\r\n\r\n // const tinyURL = window.localStorage.getItem(\"tinyUrl\");\r\n return (\r\n <>\r\n {props.data && (\r\n window.open(comploteLink, \"_blank\", \"noreferrer\")}\r\n >\r\n
\r\n {getFileIcon(props.data.attach_path)}\r\n
\r\n
\r\n

{props.data.attach_file}

\r\n

{props.data.actor.NameEn}

\r\n

{props.data.description}

\r\n
\r\n

{formatDate()}

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { AttachmentCardComponent } from \"../../components/WorklistScreenComponent/AttachmentCardComponent\";\r\nimport { IAttachFile } from \"../../IRequestModel/IAttachfile\";\r\nimport \"./AttachmentScreen.css\";\r\ninterface Props {\r\n attachFiles?: IAttachFile[];\r\n}\r\n\r\nexport const AttachmentScreen = (props: Props) => {\r\n // const [attachFile, setAttachFile] = useState([]);\r\n // useEffect(() => {\r\n // setAttachFile([...props.attachFiles]);\r\n // }, [props.attachFiles]);\r\n return (\r\n
\r\n {props.attachFiles &&\r\n props.attachFiles.length > 0 &&\r\n props.attachFiles.map((data: any, idx: any) => (\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n","import { InputTextarea } from \"primereact/inputtextarea\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./CommentComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { BiCommentDetail } from \"react-icons/bi\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n// import { Editor } from \"primereact/editor\";\\\r\nimport \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\nimport \"tinymce/icons/default\";\r\nimport \"tinymce/themes/silver\";\r\nimport \"tinymce/plugins/paste\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/autolink\";\r\nimport \"tinymce/plugins/autosave\";\r\nimport \"tinymce/plugins/charmap\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/imagetools\";\r\nimport \"tinymce/plugins/textpattern\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/advlist\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"tinymce/plugins/print\";\r\nimport \"tinymce/plugins/preview\";\r\nimport \"tinymce/plugins/hr\";\r\nimport \"tinymce/plugins/anchor\";\r\nimport \"tinymce/plugins/pagebreak\";\r\nimport \"tinymce/plugins/searchreplace\";\r\nimport \"tinymce/plugins/wordcount\";\r\nimport \"tinymce/plugins/insertdatetime\";\r\nimport \"tinymce/plugins/media\";\r\nimport \"tinymce/plugins/nonbreaking\";\r\nimport \"tinymce/plugins/save\";\r\nimport \"tinymce/plugins/contextmenu\";\r\nimport \"tinymce/plugins/directionality\";\r\nimport \"tinymce/plugins/template\";\r\nimport \"tinymce/plugins/textcolor\";\r\nimport \"tinymce/plugins/colorpicker\";\r\nimport \"tinymce/skins/ui/oxide/skin.min.css\";\r\nimport \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { Link } from \"react-router-dom\";\r\ninterface Props {\r\n buttonType: any;\r\n commentStatus: boolean;\r\n setCommentStatus: any;\r\n require: boolean;\r\n onUpdate?: (\r\n // data: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => any;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n pageName: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport default function CommentComponent(props: Props) {\r\n const { toggleAlert } = useAlert();\r\n const [comment, setComment] = useState(\"\");\r\n const [placeholder, setPlaceholder] = useState(\"แสดงความคิดเห็น...\");\r\n const [isInvalid, setInvalid] = useState(true);\r\n const [dataEmployeeList, setDataEmployeeList] = useState();\r\n const [dataEmployee, setDataEmployee] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [selectedEmployee, setSelectedEmployee] = useState([]);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const toast = useRef();\r\n const [isMultiAssign, setIsMultiAssign] = useState(\r\n sessionStorage.getItem(\"isMultiAssign\") == \"true\"\r\n );\r\n const [isMultiRequestComment, setIsMultiRequestComment] = useState(\r\n sessionStorage.getItem(\"isMultiRequestComment\") == \"true\"\r\n );\r\n const [showAll, setShowAll] = useState(false);\r\n const [selectionMode] = useState(\r\n props.buttonType == \"request comment\" && isMultiRequestComment\r\n ? \"multiple\"\r\n : props.buttonType == \"assign\" && isMultiAssign\r\n ? \"multiple\"\r\n : \"single\"\r\n );\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n\r\n useEffect(() => {}, [props.lineApproval]);\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n setIsLoading(false);\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n function showModal(show = true) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(show);\r\n }\r\n\r\n const showError = () => {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `Comment field warning.`,\r\n type: \"warning\",\r\n });\r\n };\r\n const ClearMultiSelectEmployee = () => {\r\n setSelectedEmployee([]);\r\n };\r\n const ConfirmMultiSelectEmployee = () => {\r\n if (selectedEmployee.length == 0) {\r\n toggleAlert({\r\n description: `Please select at least one employee.`,\r\n message: `Select employee warning.`,\r\n type: \"warning\",\r\n });\r\n } else {\r\n let employee = selectedEmployee.reduce(\r\n (r, n) => {\r\n r.NameEn.push(n.EmployeeId);\r\n return r;\r\n },\r\n { EmployeeId: 0, NameEn: [] }\r\n );\r\n employee.NameEn = employee.NameEn.join(\",\");\r\n setVisibleConfirmDialog(true);\r\n setDataEmployee({ data: employee });\r\n }\r\n };\r\n const EmployeeDialogFooter = () => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n ClearMultiSelectEmployee()}\r\n >\r\n Clear\r\n \r\n \r\n \r\n ConfirmMultiSelectEmployee()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n const EmployeeDialog = () => {\r\n return (\r\n <>\r\n showModal(false)}\r\n draggable={false}\r\n resizable={false}\r\n closable={true}\r\n blockScroll\r\n footer={selectionMode == \"multiple\" ? EmployeeDialogFooter : false}\r\n >\r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n const onSelectionChange = (event: any) => {\r\n if (event.value) {\r\n if (selectionMode == \"single\") {\r\n setVisibleConfirmDialog(true);\r\n if (isMultiAssign || isMultiRequestComment) {\r\n setDataEmployee({\r\n data: { EmployeeId: 0, NameEn: String(event.value.EmployeeId) },\r\n });\r\n } else {\r\n setDataEmployee({ data: event.value });\r\n }\r\n } else if (selectionMode == \"multiple\") {\r\n setSelectedEmployee(event.value);\r\n }\r\n }\r\n };\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Do you want to confirm this action?\"\r\n header=\"Confirmation\"\r\n icon=\"p-confirm-dialog-icon pi pi-info-circle\"\r\n acceptClassName=\"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n accept={() => {\r\n sentToMemo(\r\n comment,\r\n dataEmployee.data.EmployeeId,\r\n dataEmployee.data.NameEn\r\n );\r\n }}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setDataEmployee(null);\r\n }}\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const HeaderDialogComment = () => {\r\n try {\r\n return (\r\n <>\r\n {(props.buttonType === \"submit\" || props.buttonType === \"approve\") &&\r\n props.lineApproval?.filter((line) =>\r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n ).length > 0 && (\r\n <>\r\n
\r\n

สายอนุมัติคนถัดไป

\r\n \r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n )\r\n ?.map((e) => {\r\n console.log(\"approve\", e);\r\n\r\n return {\r\n name: e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n ],\r\n position:\r\n e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"PositionNameEn\"\r\n : \"PositionNameTh\"\r\n ],\r\n department:\r\n e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"DepartmentNameEn\"\r\n : \"DepartmentNameTh\"\r\n ],\r\n signature:\r\n e[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"signature_en\"\r\n : \"signature_th\"\r\n ],\r\n };\r\n })}\r\n >\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n />\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n />\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n />\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n />\r\n \r\n {Math.max(...props.lineApproval.map((o) => o.sequence)) -\r\n (props.approvalSequence + 1) >\r\n 0 && (\r\n {\r\n setShowAll(!showAll);\r\n }}\r\n >\r\n {showAll ? (\r\n <>ย่อ\r\n ) : (\r\n <>\r\n แสดงทั้งหมด\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n
\r\n

Comment

\r\n {props.require === true && (\r\n

\r\n *\r\n

\r\n )}\r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.error(error);\r\n return <>;\r\n }\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n props.setCommentStatus(false);\r\n setComment(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n {\r\n ConfirmCheck();\r\n }}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n function ConfirmCheck() {\r\n setSearchData(dataEmployeeList);\r\n if (\r\n props.buttonType === \"submit\" ||\r\n props.buttonType === \"draft\" ||\r\n props.buttonType === \"approve\"\r\n ) {\r\n setInvalid(true);\r\n sentToMemo(comment);\r\n } else if (\r\n props.buttonType === \"cancel\" ||\r\n props.buttonType === \"recall\" ||\r\n props.buttonType === \"rework\" ||\r\n props.buttonType === \"reject\" ||\r\n props.buttonType === \"return\" ||\r\n props.buttonType === \"reply\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n sentToMemo(comment);\r\n }\r\n } else if (\r\n props.buttonType === \"assign\" ||\r\n props.buttonType === \"request comment\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n showModal();\r\n }\r\n }\r\n }\r\n const sentToMemo = (\r\n inputComment: string,\r\n waiting_for_id?: number,\r\n waiting_for?: string\r\n ) => {\r\n console.log({ inputComment });\r\n props.setCommentStatus(false);\r\n if (props.pageName.trim() === \"WorkList\" && props.onUpdate) {\r\n props.onUpdate(inputComment, waiting_for, waiting_for_id);\r\n\r\n // props.handleSubmit((e: any) => {\r\n // props.onSubmit(e, {\r\n // buttonType: props.buttonType,\r\n // inputComment: inputComment,\r\n // waitingFor: waiting_for,\r\n // waitingForId: waiting_for_id,\r\n // });\r\n // })();\r\n } else if (props.pageName.trim() === \"Request\") {\r\n console.log(\"request=>\", {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n\r\n props.handleSubmit((e: any) => {\r\n console.log(\"request=>e\", e);\r\n props.onSubmit(e, {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n })();\r\n }\r\n };\r\n const headerEditor = () => {\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n props.setCommentStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n {HeaderDialogComment()}\r\n console.log(props.buttonType)}\r\n >\r\n {\r\n setIsLoading(false);\r\n }}\r\n tinymceScriptSrc={\r\n process.env.PUBLIC_URL + \"/tinymce/js/tinymce/tinymce.min.js\"\r\n }\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: \"\",\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"template textcolor colorpicker textpattern imagetools image paste\",\r\n \"link\",\r\n ],\r\n toolbar: \"\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\" +\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n }}\r\n value={comment}\r\n onEditorChange={(content: any, editor: any) => {\r\n console.log({ content });\r\n\r\n setComment(content);\r\n // handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n \r\n \r\n {EmployeeDialog()}\r\n {confirmUploadDialog()}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend, BiCommentDetail } from \"react-icons/bi\";\r\nimport { IoCheckmarkCircleOutline } from \"react-icons/io5\";\r\n\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { MdOutlineCancel } from \"react-icons/md\";\r\nimport {\r\n IoMdCheckmarkCircleOutline,\r\n IoMdRefresh,\r\n IoMdArrowRoundBack,\r\n} from \"react-icons/io\";\r\nimport { RiDeleteBinLine, RiFileForbidLine } from \"react-icons/ri\";\r\nimport { BsArrowRight } from \"react-icons/bs\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n pageName: string;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n memoMenu: any;\r\n buttonType?: string;\r\n setButtonType: any;\r\n setSelectedView?: any;\r\n setCurPage?: any;\r\n onUpdate?: (\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoButtonComponent = (props: Props) => {\r\n const [memoMenuButton, setMemoMenuButton] = useState();\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n mapMemoButton(props.memoMenu);\r\n return memoMenuButton;\r\n }, [props.memoMenu, props.lineApproval]);\r\n\r\n const mapMemoButton = (menuData: any) => {\r\n if (typeof menuData !== \"undefined\") {\r\n const mapMenuData = menuData.map((data: any, idx: any) => {\r\n if (data.commandName === \"reply\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"reply\");\r\n setCommentStatus(true);\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"submit\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"approve\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"approve\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"return\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"return\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"discard\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"discard\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n {data.text}\r\n \r\n );\r\n }\r\n if (data.commandName === \"draft\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"draft\");\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"cancel\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"cancel\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"recall\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"recall\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"rework\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"rework\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"request comment\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"request comment\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"assign\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"assign\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"reject\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"reject\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n return <>;\r\n });\r\n setMemoMenuButton(mapMenuData);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
{memoMenuButton}
\r\n {commentStatus == true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { GetMemoDetail, GetMemoDetailById } from \"./MemoService\";\r\nimport { GetTemplateById } from \"./TemplateService\";\r\n\r\nexport const GeneratePDF = async (\r\n memoId: any,\r\n userData: IUserModel,\r\n requestDetail?: any\r\n) => {\r\n let _requestDetail: any = {};\r\n let dataJson: any = {};\r\n if (!requestDetail) {\r\n const responeMemoDetail = await GetMemoDetail({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n TemplateId: 0,\r\n DocumentCode: \"\",\r\n DocumentNo: \"\",\r\n\r\n actor: userData,\r\n });\r\n\r\n _requestDetail = responeMemoDetail.requestDetails;\r\n console.log({ requestDetail, memoId, responeMemoDetail });\r\n } else {\r\n _requestDetail = requestDetail;\r\n }\r\n\r\n _requestDetail.memoDetail.actor = userData;\r\n const responePreviewPDF = await fetch(`api/PreviewPdf/PreviewPdf`, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ MemoPage: _requestDetail }),\r\n });\r\n const respone = await responePreviewPDF.json();\r\n return respone;\r\n};\r\n\r\nexport const newGeneratePDF = async (memoId: any) => {\r\n const respone = await fetch(\"api/PreviewPdf/GenPreviewPDF\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoId),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/ic_history.70631641.svg\";","export default __webpack_public_path__ + \"static/media/ic_attachment_file.95c72623.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport { Badge, Space } from 'antd';\r\nimport IC_HISTORY from './../../../assets/ic_history.svg';\r\nimport IC_ATTACHMENT_FILE from './../../../assets/ic_attachment_file.svg'\r\n\r\ninterface BadgeNotificateProps {\r\n badgeSize?: \"default\" | \"small\";\r\n badgeColor?: string;\r\n dataDetail: any;\r\n requestData: any;\r\n dataMemo: any;\r\n type?: \"attachment\" | \"history\";\r\n children?: any;\r\n offset?: [number, number]; // [left, top]\r\n isCard?: boolean;\r\n}\r\n\r\nexport const BadgeNotificate = (props: BadgeNotificateProps) => {\r\n const [count, setCount] = useState(0)\r\n const [hasLastComment, setHasLastComment] = useState(false)\r\n\r\n useEffect(() => {\r\n setNotificate()\r\n })\r\n \r\n const setNotificate = () => {\r\n if(props.dataMemo){\r\n if(props.type === \"history\"){\r\n setHasLastComment(props.dataMemo?.IsMemoHistoryLastComment)\r\n setCount(props.dataMemo?.MemoHistoryAmount)\r\n }else{\r\n setCount(props.dataMemo?.MemoAttachFileAmount)\r\n }\r\n }else{\r\n let amountAttachment: number = 0;\r\n let history: any[] = [];\r\n let lastComment: boolean = false;\r\n\r\n if(props.dataDetail){\r\n let data = props.dataDetail\r\n amountAttachment = data?.attachfiles?.length;\r\n history = data?.history;\r\n }else if(props.requestData){\r\n const requestDetail = props.requestData;\r\n const request = requestDetail?.requestDetails\r\n amountAttachment = request?.listFileAttachDetails?.length\r\n history = request?.listHistoryDetails\r\n }\r\n history = history.sort((a: any, b: any) => a?.action_id - b?.action_id)\r\n lastComment = history.slice(-1).shift()?.comment !== \"\";\r\n let amountComment: number = history.filter((el: any) => el.comment !== \"\").length;\r\n let amount: number = 0\r\n if(props.type === \"attachment\"){\r\n amount = amountAttachment\r\n }else if(props.type === \"history\"){\r\n amount = amountComment\r\n setHasLastComment(lastComment)\r\n }\r\n setCount(amount)\r\n }\r\n }\r\n\r\n if(props.dataMemo){\r\n return (\r\n \r\n {count > 0 && (\r\n \r\n \r\n {props.type === \"attachment\" ? \"\" : \"\"}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n\r\n \r\n return (\r\n !props.dataDetail && !props.requestData \r\n ? props.children\r\n : (\r\n props.isCard\r\n ? ( count > 0 \r\n ?(\r\n {props.children}\r\n )\r\n : props.children\r\n )\r\n : (\r\n count > 0 \r\n ? (\r\n \r\n {props.children}\r\n \r\n )\r\n : props.children\r\n )\r\n )\r\n )\r\n}","import React, { useState, useEffect, FC } from \"react\";\r\nimport \"./DetailContentScreen.css\";\r\nimport { BsFileEarmarkRuledFill, BsClockHistory } from \"react-icons/bs\";\r\nimport { RiNodeTree } from \"react-icons/ri\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ShowContentScreen } from \"./ShowContentScreen\";\r\nimport { FlowScreen } from \"./FlowScreen\";\r\nimport { HistoryScreen } from \"./HistoryScreen\";\r\nimport { AttachmentScreen } from \"./AttachmentScreen\";\r\nimport { IoDocumentText, IoOpenOutline } from \"react-icons/io5\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { GeneratePDF, newGeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { IWorklistDetail } from \"../../IRequestModel/IWorklistModel\";\r\nimport { GetMemoDetail } from \"../../Services/MemoService\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\n\r\ninterface Props {\r\n data?: IWorklistDetail;\r\n menuButton: any;\r\n onUpdate: (\r\n type: any,\r\n memoId: any,\r\n comment: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n isShowPdfData: boolean;\r\n setButtonType: any;\r\n buttonType: string;\r\n onDetailLoading: any;\r\n}\r\n\r\nexport const DetailContentScreen: FC = ({\r\n data,\r\n menuButton,\r\n onUpdate,\r\n isShowPdfData,\r\n setButtonType,\r\n buttonType,\r\n onDetailLoading,\r\n}) => {\r\n const [userData] = useUserContext();\r\n const [page, setPage] = useState(1);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [pdfData, setPdfData] = useState(\"\");\r\n const [memoMenu, setMemoMenu] = useState();\r\n const [memo, setMemo] = useState();\r\n\r\n useEffect(() => {\r\n setOnLoading(true);\r\n setPage(1);\r\n onFetchPdf(data?.MemoID);\r\n Fetch();\r\n }, [data]);\r\n // useEffect(() => {\r\n // Fetch();\r\n // }, []);\r\n\r\n useEffect(() => {\r\n const menuButtonSort = menuButton.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMemoMenu(menuButtonSort);\r\n return;\r\n }, [menuButton]);\r\n const history = useHistory();\r\n\r\n async function onFetchPdf(memoId: any) {\r\n let responeData = await GeneratePDF(memoId, userData);\r\n // let responeData = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${memoId}`)).json();\r\n\r\n setOnLoading(false);\r\n\r\n setPdfData(responeData);\r\n }\r\n async function Fetch() {\r\n const request = {\r\n Memoid: data?.MemoID,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n const response = await GetMemoDetail(request);\r\n\r\n setMemo(response);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setPage(1);\r\n }}\r\n >\r\n \r\n

Content

\r\n
\r\n setPage(2)}\r\n >\r\n \r\n

Flow

\r\n
\r\n\r\n setPage(3)}\r\n >\r\n \r\n

History

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n setPage(4)}\r\n >\r\n \r\n

Attachment

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n
\r\n {\r\n const _data = {\r\n MemoID: data?.MemoID,\r\n pdfData: pdfData,\r\n };\r\n history.push(`/Request?MemoID=${_data.MemoID}`, _data);\r\n }}\r\n />\r\n
\r\n \r\n {/* */}\r\n {onDetailLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {page === 1 && (\r\n \r\n )}\r\n {page === 2 && (\r\n \r\n )}\r\n {page === 3 && }\r\n {page === 4 && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n onUpdate(\r\n buttonType,\r\n data?.MemoID,\r\n comment,\r\n waiting_for,\r\n waiting_for_id\r\n )\r\n }\r\n pageName={\"WorkList\"}\r\n lineApproval={memo?.requestDetails?.listApprovalDetails}\r\n approvalSequence={\r\n memo?.requestDetails?.memoDetail?.current_approval_level\r\n }\r\n />\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { ConfigProvider, DatePicker, Space } from \"antd\";\r\nimport { BsCalendarDate } from \"react-icons/bs\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TimeRangePickerProps } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n disable?: boolean;\r\n dates: any;\r\n onSelectChange: (e: any, f: any) => void;\r\n isFullWidth: boolean;\r\n showIcon?: boolean;\r\n}\r\n\r\nexport const SelectDate = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const [dates, setDates] = useState(props.dates);\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n setDates(props.dates);\r\n }, [props.dates]);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n useEffect(() => {\r\n if (!isOpen && dates !== props.dates) {\r\n props.onSelectChange(dates, props.name);\r\n }\r\n }, [isOpen]);\r\n\r\n // const rangePresets: TimeRangePickerProps[\"presets\"] = [\r\n // { label: \"Today\", value: [dayjs(), dayjs().endOf(\"day\")] },\r\n // {\r\n // label: \"This Month\",\r\n // value: [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\r\n // },\r\n // {\r\n // label: \"This Year\",\r\n // value: [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\r\n // },\r\n // ];\r\n\r\n return (\r\n \r\n {props.showIcon === undefined && (\r\n \r\n )}\r\n {props.showIcon !== false && (\r\n \r\n )}\r\n setIsOpen(e)}\r\n className={\"custom-date\"}\r\n value={props.dates}\r\n suffixIcon={null}\r\n placeholder={[t(\"Start date\"), t(\"End date\")]}\r\n separator={}\r\n onCalendarChange={(val) => setDates(val)}\r\n onChange={(date) => {\r\n if (!date && dates !== date) {\r\n props.onSelectChange(date, props.name);\r\n }\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any[];\r\n disable?: boolean;\r\n\r\n onSelectChange: (text: string[], formSelect: string) => void;\r\n defaultVaue?: string[];\r\n}\r\n\r\nexport const MultiSelectDropdown = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]); \r\n const [selectValue, setSelectValue] = useState(\r\n props.defaultVaue ? props.defaultVaue : []\r\n );\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { Option } = Select;\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n console.log(props.values, \"values\");\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectValue(props.defaultVaue ? props.defaultVaue : []);\r\n }, [props.defaultVaue]);\r\n const onSelectAll = () => {\r\n let selected = []\r\n for (let i = 0; i < props.values.length; i++) {\r\n selected.push(props.values[i].value);\r\n }\r\n setSelectValue([...selected]);\r\n props.onSelectChange(selected, props.name);\r\n };\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n

\r\n setIsOpen(e)}\r\n mode=\"multiple\"\r\n allowClear\r\n style={{ width: \"100%\" }}\r\n placeholder={props.title}\r\n defaultValue={selectValue}\r\n value={selectValue}\r\n dropdownStyle={{ width: \"200px\" }}\r\n onClear={() => setSelectValue([])}\r\n onDeselect={(value: string) => {\r\n let selected = selectValue;\r\n const _selected = selected.filter(\r\n (valueFilter: any) => value != valueFilter\r\n );\r\n setSelectValue([..._selected]);\r\n }}\r\n onSelect={(value: string) => {\r\n let selected = selectValue;\r\n selected.push(value);\r\n setSelectValue([...selected]);\r\n }}\r\n onChange={(e: string[]) => props.onSelectChange(e, props.name)}\r\n dropdownRender={(menu) => (\r\n
\r\n onSelectAll()}\r\n >\r\n

{t(\"All\")}

\r\n
\r\n \r\n\r\n {menu}\r\n
\r\n )}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./SearchFilterComponent.css\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n onFilterChange: (text: string) => void;\r\n searchKeyword?: string;\r\n}\r\n\r\nexport const SearchFilterComponent = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n
\r\n
\r\n \r\n props.onFilterChange(e.target.value)}\r\n placeholder={t(\"Search\") || \"\"}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any;\r\n disable?: boolean;\r\n defaultValue?: string;\r\n alowClear?: boolean;\r\n onSelectChange: (text: string) => void;\r\n}\r\n\r\nexport const SelectDropdown = (props: Props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n setIsOpen(e)}\r\n value={props.defaultValue}\r\n allowClear={props.alowClear !== undefined ? false : true}\r\n style={{ width: \"100%\" }}\r\n placeholder=\"Please select\"\r\n onChange={(e: string) => props.onSelectChange(e)}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n
\r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { MultiSelectDropdown } from \"../../components/Select/MultiSelectDropdown\";\r\nimport { Divider } from \"antd\";\r\nimport { AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BsListTask } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { BiBuildings } from \"react-icons/bi\";\r\nimport { RiNodeTree, RiListCheck2 } from \"react-icons/ri\";\r\nimport { SearchFilterComponent } from \"../../components/SearchFilterComponent/SearchFilterComponent\";\r\nimport { SelectDropdown } from \"../../components/Select/SelectDropdown\";\r\nimport { Moment } from \"moment\";\r\nimport {\r\n ISearchWorklist,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n searchObject?: ISearchWorklist;\r\n onSelectChange: (\r\n value: string | string[] | [Moment, Moment],\r\n formSelect: WorklistSerachType,\r\n _date?: any\r\n ) => void;\r\n onSelectTask: (text: WorklistHeaderType) => void;\r\n formType: any[];\r\n formStatus: any[];\r\n allCompany: any[];\r\n allDepartment: any[];\r\n defaultTask: string;\r\n}\r\n\r\nconst WorkListSideBarElementUse = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const display = [\r\n {\r\n value: \"To Do List\",\r\n label: t(\"To Do List\"),\r\n },\r\n {\r\n value: \"In Process\",\r\n label: t(\"In Process\"),\r\n },\r\n {\r\n value: \"Related List\",\r\n label: t(\"Related List\"),\r\n },\r\n {\r\n value: \"Completed\",\r\n label: t(\"Completed\"),\r\n },\r\n {\r\n value: \"Cancelled\",\r\n label: t(\"Cancelled\"),\r\n },\r\n {\r\n value: \"Rejected\",\r\n label: t(\"Rejected\"),\r\n },\r\n ];\r\n return (\r\n
\r\n props.onSelectChange(e, \"keyword\")}\r\n searchKeyword={props.searchObject?.keyword}\r\n />\r\n\r\n

\r\n {t(\"Task\")}\r\n

\r\n }\r\n onSelectChange={(e: any) => props.onSelectTask(e)}\r\n defaultValue={props.defaultTask}\r\n values={display}\r\n />\r\n

\r\n {t(\"Date\")}\r\n

\r\n props.onSelectChange(e, f)}\r\n />\r\n

\r\n {t(\"Other\")}\r\n

\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n values={props.formStatus}\r\n defaultVaue={\r\n props.searchObject?.status ? props.searchObject?.status : []\r\n }\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={props.searchObject?.form ? props.searchObject?.form : []}\r\n values={props.formType}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.company ? props.searchObject?.company : []\r\n }\r\n values={props.allCompany}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.department ? props.searchObject?.department : []\r\n }\r\n values={props.allDepartment}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default WorkListSideBarElementUse;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport \"./WorklistCardComponent.css\";\r\nimport { FaChevronRight } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { Space } from \"antd\";\r\nimport { motion } from \"framer-motion\";\r\nimport useMasterSetting from \"../../hooks/useMasterSetting\";\r\nimport { GetApprovalsByMemoIDs } from \"../../Services/LineApprovalsService\";\r\n\r\ninterface Props {\r\n dataWorklist?: any;\r\n data: any;\r\n setContent: (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => void;\r\n index: number;\r\n onUpdate: (\r\n type: any,\r\n memoid: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n taskGourp: any;\r\n currentMemoId: number;\r\n toggleDetail: any;\r\n setToggleDetail: any;\r\n setOnDetailLoading: any;\r\n}\r\n\r\nexport const WorklistCardComponent = (props: Props) => {\r\n const [data, setData] = useState(props.data || {});\r\n const [dataUrl, setDataUrl] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [isCommentActive, setIsCommentActive] = useState(false);\r\n const { masterSetting } = useMasterSetting();\r\n const [lineApproval, setLineApproval] = useState([]);\r\n\r\n useEffect(() => {\r\n setData(props.data);\r\n setDataUrl(`/Request?MemoID=${props.data.MemoID}`);\r\n }, [props.data]);\r\n const history = useHistory();\r\n const amount_label = \"[Amount/day]\";\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n if (props.currentMemoId === props.data.MemoID) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }, [props.currentMemoId]);\r\n\r\n const formatDate = () => {\r\n let momentObj = moment(data.ModifiedDate, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\r\n masterSetting?.FormatDate?.Value1 || \"DD MMM yyyy , HH:mm\"\r\n );\r\n };\r\n const resposeComment = (comment: any) => {\r\n props.onUpdate(\"approve\", props.data.MemoID, comment);\r\n };\r\n\r\n const delegateMemo = (data: any) => {\r\n if (data.IsDelegated) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n const onApproveActionClick = async () => {\r\n const approvals = await GetApprovalsByMemoIDs([...[], data.MemoID]).catch(\r\n (e) => {\r\n console.error(e);\r\n return [];\r\n }\r\n );\r\n if (approvals) {\r\n setLineApproval([...approvals]);\r\n }\r\n setIsCommentActive(true);\r\n };\r\n\r\n return (\r\n \r\n {\r\n let _requestor = data.Requestor || {};\r\n props.setContent(data.MemoID, data.Status, props.index, _requestor);\r\n props.setOnDetailLoading(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {data.DocumentNo}\r\n \r\n

{formatDate()}

\r\n
\r\n \r\n {props.data?.MemoHistoryAmount > 0 && (\r\n \r\n )}\r\n {props.data?.MemoAttachFileAmount > 0 && (\r\n \r\n )}\r\n

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n
\r\n
\r\n {data.Subject}\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n
\r\n \r\n {data.TemplateName}\r\n

\r\n {/* delegate */}\r\n \r\n {delegateMemo(data)}\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor &&\r\n (data.Requestor.Lang === \"EN\"\r\n ? data.Requestor.NameEn\r\n : data.Requestor.NameTh)}\r\n

\r\n
\r\n \r\n
\r\n

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor !== null\r\n ? data.WaitingFor.Lang === \"EN\"\r\n ? data.WaitingFor.NameEn\r\n : data.WaitingFor.NameTh\r\n : \"-\"}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n onApproveActionClick()}\r\n >\r\n {t(\"Approve\")}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n\r\n {\r\n const memoid = { MemoID: data.MemoID };\r\n // history.push(\"/Request\", memoid);\r\n history.push(`/Request?MemoID=${data.MemoID}`, memoid);\r\n }}\r\n >\r\n
\r\n
\r\n

{data.DocumentNo}

\r\n

{data.RequestDate}

\r\n
\r\n
\r\n \r\n {props.data?.MemoHistoryAmount > 0 && (\r\n \r\n )}\r\n {props.data?.MemoAttachFileAmount > 0 && (\r\n \r\n )}\r\n

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n

{data.Subject}

\r\n
\r\n

{data.TemplateName}

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor && data.Requestor.NameTh}\r\n

\r\n
\r\n \r\n
\r\n

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor && data.WaitingFor.NameTh}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n Approve\r\n \r\n )}\r\n \r\n )}\r\n {isCommentActive && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { IGetWorklistRequest, ITodo } from \"../IRequestModel/IWorklistModel\";\r\nimport { GetAllEmployee } from \"./EmployeeService\";\r\n\r\nexport const GetWorkListByTaskGroup = async (\r\n dataJson: IGetWorklistRequest,\r\n signal?: AbortSignal\r\n): Promise => {\r\n // const email = JSON.parse(window.localStorage.getItem(\"email\") || \"\");\r\n // dataJson.UserPrincipalName = email;\r\n const response = await fetch(\"api/Worklist/GetWorkListByTaskGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n \r\n body: JSON.stringify(dataJson),\r\n signal: signal\r\n })\r\n .then((response) => response.json())\r\n .then(async (data: ITodo[]) => {\r\n if (data) {\r\n let req = {\r\n IsActiveOnly: true, \r\n Scopes: \"name,email\"\r\n }\r\n const employees: IUserModel[] = await GetAllEmployee(req);\r\n const todoFormatDate: ITodo[] = data.sort((a, b) => {\r\n const aa = moment(a.ModifiedDate, \"DD/MM/YYYY\");\r\n const bb = moment(b.ModifiedDate, \"DD/MM/YYYY\");\r\n return moment(bb).diff(aa);\r\n });\r\n\r\n const todoFormatWaitingFor = todoFormatDate.map((todo) => {\r\n if (employees.length > 0) {\r\n let _todo = todo;\r\n let _emp: IUserModel | null = null;\r\n for (let i = 0; i < employees.length; i++) {\r\n const employee = employees[i];\r\n if (_todo.WaitingFor === employee.EmployeeId) {\r\n _emp = employee;\r\n }\r\n }\r\n return {\r\n ..._todo,\r\n WaitingFor: _emp,\r\n };\r\n } else {\r\n return {\r\n ...todo,\r\n WaitingFor: null,\r\n Requestor: null,\r\n };\r\n }\r\n });\r\n console.log({ todoFormatWaitingFor });\r\n\r\n return todoFormatWaitingFor;\r\n } else return [];\r\n })\r\n .catch((err) => {\r\n return [];\r\n });\r\n return response;\r\n};\r\n","import { IWorklistHistory } from \"../IRequestModel/IListHistoryDetailsModel\";\r\n\r\nexport const GetAllHistory = async (\r\n dataJson: any\r\n): Promise => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/History/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { IApproval } from \"../IRequestModel/IListApprovalDetailsModel\";\r\n\r\nexport const GetApprovalByTemplate = async (dataJson: any) => {\r\n try {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/LineApprove/GetByTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n response.json();\r\n console.log(response, \"_responeListApproval\");\r\n })\r\n .then((approvals) => {\r\n console.log(approvals, \"_responeListApproval\");\r\n return approvals;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n } catch (error) {\r\n console.log({ error });\r\n }\r\n};\r\nexport const GetAllApprovals = async (dataJson: any): Promise => {\r\n const response = await fetch(\"api/Approvals/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log({ err });\r\n });\r\n return response;\r\n};\r\n","import React, { useState, useEffect, useMemo, useRef } from \"react\";\r\nimport \"./WorkListScreen.css\";\r\nimport \"../../components/WorklistScreenComponent/WorklistCardComponent.css\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { Button, InputNumber, Pagination } from \"antd\";\r\nimport { DetailContentScreen } from \"./DetailContentScreen\";\r\nimport WorkListSideBarElementUse from \"./WorkListSideBarElementUse\";\r\nimport { WorklistCardComponent } from \"../../components/WorklistScreenComponent/WorklistCardComponent\";\r\n// import Pagination from \"react-bootstrap/Pagination\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport moment, { Moment } from \"moment\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { GetWorkListByTaskGroup } from \"../../Services/WorklistService\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetAllMemo,\r\n GetMemoDetail,\r\n} from \"../../Services/MemoService\";\r\nimport { GetAllHistory } from \"../../Services/HistoryService\";\r\nimport { GetAllAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { GetAllApprovals } from \"../../Services/ApprovalService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport { GetAutoNumber } from \"../../Services/RequestControlService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport {\r\n IGetWorklistRequest,\r\n ISearchWorklist,\r\n ITodo,\r\n IWorklistDetail,\r\n TodoType,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { MemoPageContextProvider } from \"../../Context/MemoPageContext\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst WorkListScreen = (props: Props) => {\r\n const [userData] = useUserContext();\r\n const { toggleAlert } = useAlert();\r\n\r\n //Worklist Data\r\n const [workListData, setWorkListData] = useState();\r\n const [dtWorkListData, setDTWorkListData] = useState();\r\n const [worklistToShow, setWorklistToShow] = useState([]);\r\n\r\n //Filter Option\r\n const [formTypeOptions, setFormTypeOptions] = useState([]);\r\n const [companiesOptions, setCompaniesOptions] = useState([]);\r\n const [departmentsOptions, setDepartmentsOptions] = useState([]);\r\n const [formStatusOptions, setFormStatusOptions] = useState([]);\r\n\r\n //Filter data\r\n const [searchObject, setSearchObject] = useState({\r\n company: [],\r\n date: [],\r\n department: [],\r\n form: [],\r\n keyword: \"\",\r\n status: [],\r\n });\r\n const { t } = useTranslation([\"translation\"]);\r\n //Pagination\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(5);\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n //Toggle\r\n const [isShowPdfData, setIsShowPdfData] = useState(true);\r\n const [isCardLoading, setIsCardLoading] = useState(false);\r\n const [onDetailLoading, setOnDetailLoading] = useState(false);\r\n const [toggleDetail, setToggleDetail] = useState(false);\r\n const [sidebarState, setSidebarState] = useState(false);\r\n\r\n const [currentMemoId, setCurrentMemoId] = useState(0);\r\n const [taskHeader, setTaskHeader] = useState(\"To Do List\");\r\n const [currentIndex, setCurrentIndex] = useState(-1);\r\n const [selectedCard, setSelectedCard] = useState();\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [defaultTask, setDefaultTask] =\r\n useState(\"To Do List\");\r\n const [taskGourp, setTaskGourp] = useState(\"todo\");\r\n const [getMemoDetail, setGetMemoDetail] = useState();\r\n\r\n const { processQue, getMyMemoStatus, checkSyncMemo } = useMemoPage();\r\n const previousQue = useRef([]);\r\n const abortController = useRef(null);\r\n\r\n //Default item per page\r\n const _itemPerPage = itemPerPage ? Number(itemPerPage) : 1;\r\n const indexOfLastPost = currentPage * _itemPerPage;\r\n const indexOfFirstPost = indexOfLastPost - _itemPerPage;\r\n useEffect(() => {\r\n window.onpopstate = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.setItem(\"action_back\", \"yes\");\r\n }\r\n };\r\n\r\n window.onbeforeunload = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.removeItem(\"task\");\r\n sessionStorage.removeItem(\"searchObject\");\r\n sessionStorage.removeItem(\"page\");\r\n sessionStorage.removeItem(\"selectedCard\");\r\n sessionStorage.removeItem(\"headerTask\");\r\n sessionStorage.removeItem(\"currentMemoId\");\r\n sessionStorage.removeItem(\"toggleSidebar\");\r\n }\r\n };\r\n\r\n firstRetrieveData();\r\n\r\n return () => {\r\n window.removeEventListener(\"popstate\", (e) => {});\r\n window.removeEventListener(\"beforeunload\", (e) => {});\r\n };\r\n }, [t]);\r\n\r\n useEffect(() => {\r\n getMyMemoStatus();\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // if (processQue?.length == 0) {\r\n // fetchWorklist(taskGourp, null, true);\r\n // } else {\r\n // if (workListData) {\r\n // setWorkListData([...workListData]);\r\n // }\r\n // }\r\n // }, [processQue]);\r\n\r\n useEffect(() => {\r\n updateWorklistToShow();\r\n }, [searchObject]);\r\n\r\n useEffect(() => {\r\n updateWorklistToShow();\r\n }, [workListData]);\r\n\r\n const fetchWorklist = async (\r\n task: TodoType,\r\n date?: [Moment?, Moment?] | null,\r\n silent: boolean = false\r\n ) => {\r\n if (!silent) {\r\n setIsCardLoading(true);\r\n checkSyncMemo();\r\n }\r\n\r\n if(abortController.current != null){\r\n abortController.current.abort();\r\n }\r\n abortController.current = new AbortController();\r\n\r\n let dateFrom = date ? date[0] : null;\r\n let dateTo = date ? date[1] : null;\r\n\r\n try {\r\n const dataJson: IGetWorklistRequest = {\r\n task: task,\r\n empId: userData?.EmployeeId?.toString(),\r\n iItemPerMore: 10000,\r\n CountMoreItem: 1,\r\n FilterDateFrom: dateFrom ? dateFrom.toISOString() : \"\",\r\n FilterDateTo: dateTo ? dateTo.toISOString() : \"\",\r\n UserPrincipalName: userData.Email,\r\n };\r\n setTaskGourp(task);\r\n const dataWorklist = await GetWorkListByTaskGroup(dataJson, abortController.current.signal);\r\n initialWorklistOption(dataWorklist);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n if (!silent) {\r\n setIsCardLoading(false);\r\n }\r\n };\r\n\r\n const initialWorklistOption = (worklist: ITodo[]) => {\r\n let _formTypeOption: any[] = [];\r\n let _formStatusOption: any[] = [];\r\n let _companiesOption: any[] = [];\r\n let _departmentsOption: any[] = [];\r\n\r\n const resultFormTypeOption = worklist.reduce((r, a) => {\r\n r[a.TemplateName] = r[a.TemplateName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultFormStatusOption = worklist.reduce((r, a) => {\r\n r[a.Status] = r[a.Status] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllCompanyOption = worklist.reduce((r, a) => {\r\n r[a.CompanyName] = r[a.CompanyName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllDepartmentOption = worklist.reduce((r, a) => {\r\n r[a.DepartmentName] = r[a.DepartmentName] || [];\r\n return r;\r\n }, Object.create(null));\r\n for (const [key, value] of Object.entries(resultFormStatusOption)) {\r\n _formStatusOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultFormTypeOption)) {\r\n _formTypeOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllCompanyOption)) {\r\n _companiesOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllDepartmentOption)) {\r\n _departmentsOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n\r\n setDepartmentsOptions([..._departmentsOption]);\r\n setCompaniesOptions([..._companiesOption]);\r\n setFormStatusOptions([..._formStatusOption]);\r\n setFormTypeOptions([..._formTypeOption]);\r\n setWorkListData([...worklist]);\r\n };\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n sessionStorage.setItem(\"toggleSidebar\", \"false\");\r\n } else {\r\n setToggleDetail(false);\r\n setSidebarState(true);\r\n sessionStorage.setItem(\"toggleSidebar\", \"true\");\r\n }\r\n }\r\n const onUpdateMemo = async (\r\n type: any,\r\n memoId: any,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n try {\r\n setWorkListData([\r\n ...(workListData?.filter((e) => e.MemoID != memoId) || []),\r\n ]);\r\n setIsCardLoading(true);\r\n // const _empData = empData.employeeData;\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n const requestBody = {\r\n Memoid: memoId,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n let _getMemoDetailById = await GetMemoDetail(requestBody);\r\n\r\n setGetMemoDetail(_getMemoDetailById);\r\n if (_getMemoDetailById) {\r\n let requestDetail = _getMemoDetailById.requestDetails;\r\n let listControlRunning = [];\r\n //set value\r\n requestDetail.memoDetail.comment = comment;\r\n requestDetail.memoDetail.actor = userData;\r\n requestDetail.memoDetail.waiting_for = waiting_for\r\n ? waiting_for\r\n : requestDetail.memoDetail.waiting_for;\r\n requestDetail.memoDetail.waiting_for_id = waiting_for_id\r\n ? waiting_for_id\r\n : requestDetail.memoDetail.waiting_for_id;\r\n\r\n if (!_getMemoDetailById.requestDetails.memoDetail.is_text_form) {\r\n //check control running\r\n\r\n if (requestDetail.memoDetail.template_desc) {\r\n let autoNumFormat: IAutoNumberAttibute = {\r\n formats: [],\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n showSymbol: false,\r\n };\r\n const templateDescJson = JSON.parse(\r\n requestDetail.memoDetail.template_desc\r\n );\r\n templateDescJson.items.map((item: any) =>\r\n item.layout.map((_layout: any) => {\r\n if (_layout.template.type === \"tb\") {\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n col.isReadOnly = false;\r\n col.isShow = true;\r\n });\r\n } else {\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n }\r\n\r\n return _layout;\r\n })\r\n ),\r\n (autoNumFormat = detechAutonumberFormula(templateDescJson));\r\n\r\n if (autoNumFormat?.rowIndex !== -1) {\r\n const runningNumber = await CheckSaveAutonumber(\r\n requestDetail.memoDetail.template_id,\r\n templateDescJson,\r\n autoNumFormat\r\n );\r\n\r\n if (runningNumber) {\r\n listControlRunning.push(runningNumber);\r\n }\r\n }\r\n requestDetail.memoDetail.template_desc =\r\n JSON.stringify(templateDescJson);\r\n }\r\n }\r\n requestDetail[\"listControlRunning\"] = listControlRunning;\r\n\r\n let _ActionMemoPage = await ActionMemoPage({\r\n MemoPage: {\r\n listApprovalDetails: requestDetail.listApprovalDetails,\r\n listFileAttachDetails: requestDetail.listFileAttachDetails,\r\n listFormName: requestDetail.listFormNames,\r\n listHistoryDetails: requestDetail.listHistoryDetails,\r\n listRefDocDetails: requestDetail.listRefDocDetails,\r\n memoDetail: requestDetail.memoDetail,\r\n listControlRunning: requestDetail.listControlRunning,\r\n // listFormName: requestDetail.listFormNames,\r\n // listRefDocDetails: _getMemoDetailById.refDocs,\r\n },\r\n Type: type,\r\n });\r\n\r\n if (_ActionMemoPage && !_ActionMemoPage.Message) {\r\n let desc: string = `${type} Success.`;\r\n let message: string = \"Success\";\r\n if (_ActionMemoPage === \"ValidField\") {\r\n desc = `${type} Error.`;\r\n message = _ActionMemoPage;\r\n }\r\n toggleAlert({\r\n description: desc,\r\n message: message,\r\n type: _ActionMemoPage === \"ValidField\" ? \"error\" : \"success\",\r\n // duration: 100000000,\r\n });\r\n //await Promise.all([fetchWorklist(), getMyMemoStatus()]);\r\n await getMyMemoStatus();\r\n await fetchWorklist(taskGourp);\r\n\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n setIsCardLoading(false);\r\n setToggleDetail(false);\r\n } else {\r\n toggleAlert({\r\n description: `${_ActionMemoPage.Message}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n setIsCardLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"memo=>\", error);\r\n }\r\n };\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n try {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n return _autoFormats;\r\n } catch (error) {\r\n return {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n }\r\n };\r\n const CheckSaveAutonumber = async (\r\n templateId: Number,\r\n template_desc: any,\r\n autoNumFormat: IAutoNumberAttibute\r\n ) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value = template_desc.items[rowIndex].layout[colIndex].data.value;\r\n const autoTemp = template_desc.items[rowIndex].layout[colIndex];\r\n if (value) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n let newRunning = -1;\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetAutoNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n const setContent = async (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => {\r\n // const _empData = empData.employeeData;\r\n\r\n const _memoDetail = await GetAllMemo({\r\n memoid: memoId,\r\n EmployeeId: requestor?.EmployeeId?.toString(),\r\n SecretId: \"\",\r\n actor: userData.EmployeeId,\r\n });\r\n\r\n if (_memoDetail.length > 0) {\r\n if (_memoDetail[0].Permission !== null) {\r\n if (_memoDetail[0].Permission.View === \"F\") {\r\n setIsShowPdfData(false);\r\n }\r\n }\r\n }\r\n\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n const actor = {\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n // setToggleDetail(false);\r\n let _dataAttachfiles = await GetAllAttachFiles({ memoid: memoId });\r\n\r\n let _dataApprovals = await GetAllApprovals({ memoid: memoId });\r\n\r\n if (status !== \"Draft\") {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: memoId,\r\n };\r\n let _dataMemobutton = await GetButtonMemoByMemoId(memoButton);\r\n setMenuButton(_dataMemobutton);\r\n } else {\r\n setMenuButton([]);\r\n }\r\n\r\n let _dataHistory = await GetAllHistory({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n actor: actor,\r\n });\r\n\r\n setOnDetailLoading(false);\r\n\r\n setSelectedCard((prevState) => ({\r\n ...prevState,\r\n approvals: _dataApprovals,\r\n attachfiles: _dataAttachfiles,\r\n requestor,\r\n MemoID: memoId,\r\n history: _dataHistory,\r\n }));\r\n\r\n sessionStorage.setItem(\r\n \"selectedCard\",\r\n selectedCard ? JSON.stringify(selectedCard) : \"{}\"\r\n );\r\n\r\n setSidebarState(false);\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n };\r\n\r\n const onSelectTask = (text: WorklistHeaderType) => {\r\n setTaskHeader(text);\r\n let date: [Moment?, Moment?] | null = null;\r\n let task: TodoType = \"todo\";\r\n if (text === \"All Task Group\") {\r\n task = \"todo\";\r\n } else if (text === \"To Do List\") {\r\n task = \"todo\";\r\n } else if (text === \"Related List\") {\r\n date = [moment(new Date()).subtract(1, \"M\"), moment(new Date())];\r\n task = \"myrelate\";\r\n } else if (text === \"In Process\") {\r\n task = \"inprocess\";\r\n } else if (text === \"Completed\") {\r\n task = \"completed\";\r\n } else if (text === \"Cancelled\") {\r\n task = \"cancelled\";\r\n } else if (text === \"Rejected\") {\r\n task = \"rejected\";\r\n }\r\n fetchWorklist(task, date);\r\n setCurrentPage(1);\r\n setDefaultTask(text);\r\n sessionStorage.setItem(\"task\", task);\r\n sessionStorage.setItem(\"headerTask\", text);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n };\r\n\r\n const onSelectChange = async (\r\n value: any | any[],\r\n formSelect: WorklistSerachType\r\n ) => {\r\n let rawObject = searchObject;\r\n\r\n if (formSelect) {\r\n rawObject[formSelect] = value;\r\n\r\n if (formSelect === \"date\") {\r\n fetchWorklist(taskGourp, value);\r\n } else {\r\n setSearchObject((prevState: any) => ({\r\n ...prevState,\r\n ...rawObject,\r\n }));\r\n\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n }\r\n\r\n setCurrentPage(1);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n }\r\n };\r\n\r\n const clearFilter = () => {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n if (taskGourp == \"myrelate\") {\r\n fetchWorklist(\"myrelate\", null);\r\n }\r\n };\r\n const paginate = (page: number) => {\r\n setCurrentPage(page);\r\n sessionStorage.setItem(\"page\", page.toString());\r\n };\r\n const onSetItemPerPage = (numItem: any) => {\r\n setItemPerPage(numItem);\r\n };\r\n const filterStatusWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.status.length > 0\r\n ? searchObject?.status.includes(todo.Status)\r\n : true;\r\n };\r\n const filterFormWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.form.length > 0\r\n ? searchObject?.form.includes(todo.TemplateName)\r\n : true;\r\n };\r\n const filterCompanyWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.company.length > 0\r\n ? searchObject?.company.includes(todo.CompanyName)\r\n : true;\r\n };\r\n const filterDepartmentWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.department.length > 0\r\n ? searchObject?.department.includes(todo.DepartmentName)\r\n : true;\r\n };\r\n const filterKeywordWorklistCard = (todo: ITodo) => {\r\n const _keyword = searchObject?.keyword?.toUpperCase();\r\n const waitingFor: IUserModel = todo?.WaitingFor;\r\n const requestor: IUserModel = todo?.Requestor;\r\n\r\n return _keyword?.length > 0\r\n ? todo.DepartmentName?.toUpperCase().includes(_keyword) ||\r\n todo.TemplateName?.toUpperCase().includes(_keyword) ||\r\n todo.CompanyName?.toUpperCase().includes(_keyword) ||\r\n todo.Status?.toUpperCase().includes(_keyword) ||\r\n todo.DocumentNo?.toUpperCase().includes(_keyword) ||\r\n todo.Subject?.toUpperCase().includes(_keyword) ||\r\n (waitingFor &&\r\n waitingFor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n waitingFor?.NameTh.toUpperCase().includes(_keyword) ||\r\n (requestor && requestor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n requestor?.NameTh?.toUpperCase().includes(_keyword)\r\n : true;\r\n };\r\n\r\n const updateWorklistToShow = () => {\r\n const _worklist =\r\n workListData?.filter((todo, idx) => {\r\n let statusFilter = true;\r\n let companyFilter = true;\r\n let departmentFilter = true;\r\n let formFilter = true;\r\n let keywordFilter = true;\r\n\r\n if (processQue.includes(todo.MemoID)) {\r\n return false;\r\n }\r\n if (searchObject?.status.length > 0) {\r\n statusFilter = filterStatusWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.company.length > 0) {\r\n companyFilter = filterCompanyWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.department.length > 0) {\r\n departmentFilter = filterDepartmentWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.form.length > 0) {\r\n formFilter = filterFormWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.keyword.length > 0) {\r\n keywordFilter = filterKeywordWorklistCard(todo);\r\n }\r\n\r\n return (\r\n statusFilter &&\r\n companyFilter &&\r\n departmentFilter &&\r\n formFilter &&\r\n keywordFilter\r\n );\r\n }) || [];\r\n setWorklistToShow(_worklist);\r\n };\r\n\r\n const mapWorklistCard = (todo: ITodo, idx: number) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const firstRetrieveData = async () => {\r\n let actionBack = sessionStorage.getItem(\"action_back\");\r\n let task = taskGourp;\r\n if (actionBack) {\r\n task = sessionStorage.getItem(\"task\")\r\n ? (sessionStorage.getItem(\"task\") as TodoType)\r\n : \"todo\";\r\n }\r\n await fetchWorklist(task);\r\n if (actionBack) {\r\n let search = sessionStorage.getItem(\"searchObject\")\r\n ? JSON.parse(sessionStorage.getItem(\"searchObject\")!)\r\n : searchObject;\r\n let page = sessionStorage.getItem(\"page\")\r\n ? parseInt(sessionStorage.getItem(\"page\")!)\r\n : 1;\r\n let selecteCard = sessionStorage.getItem(\"selectedCard\")\r\n ? (JSON.parse(\r\n sessionStorage.getItem(\"selectedCard\")!\r\n ) as IWorklistDetail)\r\n : selectedCard;\r\n let taskHeader: string = sessionStorage.getItem(\"headerTask\")\r\n ? sessionStorage.getItem(\"headerTask\")!\r\n : \"To Do List\";\r\n let currentMemoId = sessionStorage.getItem(\"currentMemoId\")\r\n ? parseInt(sessionStorage.getItem(\"currentMemoId\")!)\r\n : 0;\r\n let sidebar: boolean = sessionStorage.getItem(\"toggleSidebar\")\r\n ? JSON.parse(sessionStorage.getItem(\"toggleSidebar\")!)\r\n : false;\r\n\r\n setSearchObject(search);\r\n setCurrentPage(page);\r\n setSelectedCard(selecteCard);\r\n setDefaultTask((taskHeader as WorklistHeaderType) || \"To Do List\");\r\n setTaskHeader(taskHeader);\r\n setCurrentMemoId(currentMemoId);\r\n setSidebarState(sidebar);\r\n }\r\n sessionStorage.removeItem(\"action_back\");\r\n };\r\n\r\n const isDiffPreviousQue = (current: number[], previous: number[]) => {\r\n return current.join(',') != previous.join(',')\r\n }\r\n\r\n useMemo(() => {\r\n if (\r\n processQue?.length == 0 &&\r\n isDiffPreviousQue(processQue, previousQue.current)\r\n ) {\r\n fetchWorklist(taskGourp, null, true);\r\n }\r\n previousQue.current = [...processQue];\r\n }, [processQue]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isCardLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

\r\n {t(\"Worklist\")} / {t(taskHeader)} ({worklistToShow?.length})\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {t(\"Show\")}\r\n \r\n \r\n {t(\"items per page\")}\r\n \r\n
\r\n
\r\n {worklistToShow\r\n ?.slice(indexOfFirstPost, indexOfLastPost)\r\n ?.map(mapWorklistCard)}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {toggleDetail && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(WorkListScreen);\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n PathLogo?: string;\r\n PathCarousel?: string[];\r\n PathCodeUrl?: any;\r\n}\r\n\r\nexport const LoginScreenOpenId = (props: Props) => {\r\n // const [onLoading, setOnLoading] = useState(false);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props?.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n // console.log(\"codeUrl=>\", props.PathCodeUrl);\r\n setLoad(false);\r\n GetOpenId();\r\n }, [props.PathCodeUrl]);\r\n\r\n const onSubmitLoginOpenId = async () => {\r\n let _loginOpenId = await fetch(\"api/Login/Authorize/OpenId\").then((res) =>\r\n res.json()\r\n );\r\n window.location.href = _loginOpenId.redirect;\r\n };\r\n\r\n const GetOpenId = async () => {\r\n let _loginOpenId = await fetch(\r\n \"api/Login/Authorize/CallBack?code=\" + props.PathCodeUrl\r\n ).then((res) => res.json());\r\n // console.log(\"loginCallbackkkkkkkkkkkkkkkkkkkkkkkkk=>\", _loginOpenId);\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginOpenId.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginOpenId);\r\n };\r\n\r\n const ActionPassLogin = async (_loginOpenId: any) => {\r\n if (_loginOpenId === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n // setOnLoading(false);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginOpenId?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginOpenId?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginOpenId));\r\n localStorage.setItem(\"employeeId\", _loginOpenId.employeeData.EmployeeId);\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginOpenId.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginOpenId.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginOpenId.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginOpenId.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginOpenId.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginOpenId.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginOpenId.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginOpenId.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginOpenId.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginOpenId.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n // setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n history.push(\"/Request?MemoID=2065\");\r\n localStorage.removeItem(\"memoid\");\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n \r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {props.PathCarousel && props.PathLogo && (\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {props.PathCodeUrl && (\r\n
\r\n \r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useEffect, ReactNode, useMemo } from \"react\";\r\nimport { Redirect, Route, RouteProps, useLocation } from \"react-router\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\r\nimport { clearLocalStorageOnLogout } from \"../Helper/localStoreFunction\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\nexport type ProtectedRouteProps = {\r\n isAuthenticated: boolean;\r\n authenticationPath: string;\r\n redirectPath: string;\r\n setRedirectPath: (path: string) => void;\r\n children?: ReactNode;\r\n} & RouteProps;\r\n\r\nexport default function PrivateRoute({\r\n isAuthenticated,\r\n authenticationPath,\r\n redirectPath,\r\n setRedirectPath,\r\n children,\r\n ...routeProps\r\n}: ProtectedRouteProps) {\r\n const currentLocation = useLocation();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n let paramString = window.location.href.split(\"#\")[1];\r\n const codeURLSearch = new URLSearchParams(paramString);\r\n const _codeUrl = codeURLSearch.get(\"code\");\r\n const [sessionContext, updateSessionContext] = useSessionContext();\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n if (query.get(\"MemoID\")) {\r\n localStorage.setItem(\"memoid\", query.get(\"MemoID\") || \"\");\r\n }\r\n } else {\r\n localStorage.removeItem(\"memoid\");\r\n chaeckLastActtion();\r\n }\r\n chaeckLastActtion();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n setRedirectPath(\"/login\");\r\n }\r\n }, [isAuthenticated, currentLocation]);\r\n\r\n const chaeckLastActtion = async () => {\r\n try {\r\n const lastAction = Number(\r\n localStorage.getItem(\"lastAction\") || Date.now()\r\n );\r\n const diffMilliseconds = Math.abs(Date.now() - lastAction);\r\n const masterData = await GetAllMasterData();\r\n let timeout = 60 * 60 * 1000;\r\n\r\n if (masterData) {\r\n timeout = Number(\r\n masterData?.find((e: any) => e.MasterType === \"Timeout\" && e.IsActive)\r\n ?.Value2\r\n );\r\n timeout =\r\n Number(\r\n masterData.find((e: any) => e.MasterType === \"Timeout\")?.Value2\r\n ) *\r\n 60 *\r\n 1000;\r\n }\r\n\r\n localStorage.setItem(\"timer\", timeout.toString());\r\n\r\n if (diffMilliseconds >= timeout) {\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n\r\n setRedirectPath(\"/login\");\r\n clearLocalStorageOnLogout();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname === \"/\"\r\n ) {\r\n return ;\r\n } else if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname !== \"/login\"\r\n ) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n } else if (\r\n // isAuthenticated &&\r\n // redirectPath !== currentLocation.pathname &&\r\n paramString &&\r\n paramString.includes(\"code\")\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n /*

Oh my god

; */\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport \"./ErrorPageComponent.css\";\r\nimport blackguardPage from \"../../assets/blackguardPage.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\ninterface Props {}\r\n\r\nexport const ErrorPageComponent = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n

404

\r\n

ERROR

\r\n

PAGE NOT FOUND

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n setAttributeButton: any;\r\n attributeButton: any;\r\n}\r\n\r\nexport const AddQueryComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const valueDropdown = [{ name: \"Document No\" }];\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [selectedValue, setSelectedValue] = useState();\r\n\r\n function onSaveQuery() {\r\n console.log(inputValue, \"inputValue\");\r\n console.log(selectedValue?.name, \"inputValue\");\r\n\r\n if (!inputValue || !selectedValue?.name) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n return;\r\n }\r\n let _items = props.attributeButton.items;\r\n const dataRequest = {\r\n layout: [\r\n {\r\n paramiter: {\r\n value: inputValue,\r\n },\r\n control: {\r\n label: selectedValue.name,\r\n },\r\n },\r\n ],\r\n };\r\n _items.push(dataRequest);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n onSaveQuery();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n baseZIndex={2}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Parameter\r\n\r\n *\r\n
\r\n

ตัวแปร

\r\n \r\n \r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Control\r\n\r\n *\r\n
\r\n

ควบคุม

\r\n \r\n \r\n
\r\n
\r\n {\r\n setSelectedValue(e.value);\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Select--\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Toast } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { AddQueryComponent } from \"./AddQueryComponent\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeButton: any;\r\n setAttributeButton: any;\r\n}\r\n\r\nexport default function ButtonComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n url: props.template.URL,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n function deleteAttributeButton(idx: any) {\r\n let _items = props.attributeButton.items;\r\n _items.splice(idx, 1);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Text Button

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

URL

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n Add http(s) prefix for external link\r\n Ex. https://my.domain.com\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

QueryString :

\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Query\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeButton.items.map((_data: any, idx: any) => {\r\n return (\r\n <>\r\n {_data.layout.map((_data2: any, idx2: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n

Parameter

\r\n

ตัวแปร

\r\n
\r\n

Control

\r\n

คอนโทรล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{_data.layout[idx2]?.paramiter?.value}{_data.layout[idx2]?.control?.label}\r\n {\r\n deleteAttributeButton(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Button } from \"primereact/button\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function AttachmentComponent(props: Props) {\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const [linkFile, setLinkFile] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n maxFile: parseInt(props.template.attribute?.max) || 50,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n useEffect(() => {\r\n if (props.uploadFileState) {\r\n const [nameFile, linkFile] = props.uploadFileState.split(\"|\");\r\n setNameFile(nameFile);\r\n setLinkFile(linkFile);\r\n }\r\n }, []);\r\n\r\n const onFileSelect = async (e: any, onChange: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(\r\n response?.data?.fileName + \"|\" + response?.data?.pathUrl\r\n );\r\n setNameFile(response?.data?.fileName);\r\n setLinkFile(response?.data?.pathUrl);\r\n onChange(response?.data?.fileName + \"|\" + response?.data?.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n function openLink() {\r\n const _link = linkFile\r\n ? linkFile.charAt(0) !== \"/\" && !props.userData.SharepointSiteURL\r\n ? \"/\" + linkFile\r\n : linkFile\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (props.userData.SharepointSiteURL) {\r\n window.open(\r\n `${props.userData.SharepointSiteURL}/${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (props.userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${props.userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!props.userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n return (\r\n
\r\n {renderDialog()}\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n\r\n

File Type Format : *pdf*xlsx

\r\n
\r\n {/*
\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
*/}\r\n
\r\n\r\n
\r\n
\r\n

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e, field.onChange);\r\n }}\r\n className={`set-input-component-css form-control ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n openLink();\r\n // window.open(\r\n // `https://${props.userData.TinyURL}${linkFile}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {nameFile}\r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n setNameFile(null);\r\n setLinkFile(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport \"./AutoNumberComponent.css\";\r\nimport { Input } from \"antd\";\r\ninterface Props {\r\n setConditionViewModal: any;\r\n conditionViewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setAttributeNumber: any;\r\n attributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [selectedFormValue, setSelectedFormValue] = useState();\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [defaultValueItem, setDefaultValueItem] = useState([]);\r\n const [conditions, setConditions] = useState([]);\r\n const [actionConditions, setActionConditions] = useState(\"add\");\r\n const [idxConditions, setIdxConditions] = useState();\r\n const [value, setValue] = useState();\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"editCondition\") {\r\n let _condition =\r\n props.attributeNumber.formats[props.attributeIdx]?.condition || [];\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n let arrayItem: any = [];\r\n let arrayDataItem: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label !== undefined) {\r\n if (_dataLayout.template.label !== \"\") {\r\n if (_dataLayout.template.type !== \"em\") {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n type: _dataLayout.template.type,\r\n });\r\n }\r\n }\r\n }\r\n if (selectedFormName) {\r\n if (selectedFormName.item === _dataLayout.template.label) {\r\n if (_dataLayout.template.attribute !== undefined) {\r\n if (_dataLayout.template.attribute.items) {\r\n arrayItem.push({ attribute: _dataLayout.template.attribute });\r\n arrayItem.map((_dataArray: any, index: number) => {\r\n _dataArray.attribute.items.map(\r\n (_dataItem: any, index: number) => {\r\n if (_dataItem.item !== \"--select--\") {\r\n arrayDataItem.push({ value: _dataItem.item });\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n setDefaultValueItem([...arrayDataItem]);\r\n }\r\n }, [selectedFormName]);\r\n\r\n function Save() {\r\n if (props.checkAction === \"editCondition\") {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].condition = conditions.condition;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n props.setConditionViewModal(false);\r\n }\r\n }\r\n function onSaveToCondition() {\r\n if (\r\n inputValue === \"\" &&\r\n selectedFormName?.item === undefined &&\r\n selectedFormValue?.value === undefined\r\n ) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 6000,\r\n // });\r\n return;\r\n } else {\r\n if (actionConditions === \"edit\") {\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequest;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n if (value) {\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequestValue;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n }\r\n } else if (actionConditions === \"add\") {\r\n if (value) {\r\n let _condition = conditions.condition;\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n _condition.push(dataRequestValue);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n } else {\r\n let _condition = conditions.condition;\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n _condition.push(dataRequest);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }\r\n }\r\n setSelectedFormName([]);\r\n setSelectedFormValue([]);\r\n setInputValue(\"\");\r\n setValue(\"\");\r\n }\r\n function editCondition(_data: any, _idx: any) {\r\n console.log(\"editCondition\", _data);\r\n setSelectedFormName({\r\n item: _data.label,\r\n type: _data.type,\r\n });\r\n console.log(\"data Type\", _data.type);\r\n if (\r\n _data.type !== \"tb\" &&\r\n _data.type !== \"dd\" &&\r\n _data.type !== \"l\" &&\r\n _data.type !== \"em\"\r\n ) {\r\n setValue(_data.value);\r\n }\r\n setSelectedFormValue(_data.value);\r\n setInputValue(_data.value);\r\n setActionConditions(\"edit\");\r\n setIdxConditions(_idx);\r\n }\r\n function deleteCondition(idx: any) {\r\n let _condition = conditions.condition;\r\n _condition.splice(idx, 1);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n const footer = (\r\n
\r\n {\r\n Save();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedChangeValue = (e: { value: any }) => {\r\n setSelectedFormValue(e.value);\r\n };\r\n return (\r\n <>\r\n props.setConditionViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Column\r\n\r\n *\r\n
\r\n

คอลัมน์

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {defaultValueItem.length !== 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Options\r\n
\r\n

ข้อมูลตัวเลือก

\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n (กรณีที่มีตัวเลือก)\r\n
\r\n
\r\n )}\r\n {defaultValueItem.length === 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Input\r\n
\r\n

ข้อมูลนำเข้า

\r\n \r\n \r\n
\r\n
\r\n setValue(e.target.value)}\r\n disabled={defaultValueItem.length !== 0 ? true : false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onSaveToCondition();\r\n }}\r\n >\r\n Save To Condition\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {conditions?.condition?.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Value Options

\r\n

ข้อมูลตัวเลือก

\r\n
\r\n

Edit

\r\n

แก้ไข

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}{data.label}{data.value}\r\n {\r\n editCondition(data, idx);\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"antd\";\r\nimport \"./Button.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n title?: string;\r\n icon: any;\r\n onSelectView: (text: string) => void;\r\n page: number | string;\r\n curPage: any;\r\n checkTypeIcon?: string;\r\n children?: any;\r\n}\r\n\r\nexport const Button = (props: Props) => {\r\n return (\r\n {\r\n props.onSelectView(props.page.toString());\r\n }}\r\n >\r\n \r\n {props.checkTypeIcon != undefined ? (\r\n \"\"\r\n ) : (\r\n props.icon\r\n )}\r\n \r\n \r\n
\r\n {props.title}\r\n {props.children && props.children}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport { AiOutlineFileText, AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BiArchiveIn, BiFont } from \"react-icons/bi\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport { Col, Row } from \"antd\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n setCheckAction: any;\r\n}\r\n\r\nexport default function AddPreFixComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const dataFormats: any = {\r\n condition: [],\r\n format: [],\r\n };\r\n const [formats, setFormats] = useState(dataFormats);\r\n const [selected, setSelected] = useState(\"1\");\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [dateFormat, setDateFormat] = useState(\"\");\r\n const [formatsIdx, setFormatsIdx] = useState();\r\n const [saveToFormatAction, setSaveToFormatAction] = useState(\"add\");\r\n\r\n const conditionType = [\r\n { name: \"None\", value: \"None\" },\r\n { name: \"Split\", value: \"Split\" },\r\n ];\r\n const [selectedCondition, setSelectedCondition] = useState(\"None\");\r\n const [symbolValue, setSymbolValue] = useState();\r\n const [positionValue, setPositionValue] = useState();\r\n useEffect(() => {\r\n if (props.checkAction === \"editPrefix\") {\r\n let _formats = props.attributeNumber.formats;\r\n let _format = _formats[props.attributeIdx].format;\r\n for (let i = 0; i < _format.length; i++) {\r\n if (_format[i].guid == undefined) {\r\n _format[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n if (Array.isArray(_data.layout)) {\r\n _data.layout.forEach((data: any) => {\r\n if (data.template.type === \"an\") {\r\n data.template.attribute.formats.map((dtformat: any) => {\r\n if (dtformat) {\r\n dtformat.format.map((type: any) => {\r\n if (\r\n type.type === \"ddl\" &&\r\n (type.position === undefined ||\r\n type.condition === undefined ||\r\n type.symbol === undefined)\r\n ) {\r\n type.position = type.position || \"\";\r\n type.condition = type.condition || \"None\";\r\n type.symbol = type.symbol || \"\";\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"dd\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"dataFormat\", array);\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n function SavePreFix() {\r\n if (formats?.format.length === 0) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"addFormat\") {\r\n let _attribute = props.attributeNumber.formats;\r\n _attribute.push(formats);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n } else if (\r\n props.checkAction === \"editPrefix\" ||\r\n saveToFormatAction === \"edit\"\r\n ) {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].format = formats.format;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n }\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n SavePreFix();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedCondition = (e: { value: any }) => {\r\n setSelectedCondition(e.value);\r\n };\r\n\r\n function onSaveToFormat() {\r\n if (inputValue === \"\" && selected === \"1\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selectedFormName?.item === undefined && selected === \"2\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (dateFormat === \"\" && selected === \"3\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selected === \"1\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"2\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"3\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n let _formats = formats.format;\r\n _formats.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n }\r\n setSaveToFormatAction(\"add\");\r\n setInputValue(\"\");\r\n setSelectedFormName([]);\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = formats.format;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"pf\") {\r\n return (\r\n <>\r\n \r\n Fix PreFix\r\n \r\n );\r\n } else if (dataType === \"ddl\") {\r\n return (\r\n <>\r\n \r\n Advance Form\r\n \r\n );\r\n } else if (dataType === \"datetime\") {\r\n return (\r\n <>\r\n \r\n Date Time\r\n \r\n );\r\n }\r\n }\r\n function deleteFormat(idx: any) {\r\n let _formats = formats.format;\r\n _formats.splice(idx, 1);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n\r\n function updateFormat(data: any, idx: any) {\r\n setSaveToFormatAction(\"edit\");\r\n if (data.type === \"pf\") {\r\n setInputValue(data.label);\r\n setSelected(\"1\");\r\n } else if (data.type === \"ddl\") {\r\n const dd = {\r\n item: data.label,\r\n };\r\n setSelectedFormName(dd);\r\n setSelectedCondition(data.condition);\r\n setSymbolValue(data.symbol);\r\n setPositionValue(data.position);\r\n setSelected(\"2\");\r\n } else if (data.type === \"datetime\") {\r\n setDateFormat(data.label);\r\n setSelected(\"3\");\r\n }\r\n setFormatsIdx(idx);\r\n }\r\n \r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n <>\r\n \r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Fix PreFix\"}\r\n icon={}\r\n page={1}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={2}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Date Time\"}\r\n icon={}\r\n page={3}\r\n curPage={selected}\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n {selected == \"1\" && (\r\n
\r\n
\r\n

Fix Prefix :

\r\n

*

\r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n {selected == \"2\" && (\r\n
\r\n \r\n
\r\n

FormName :

\r\n

*

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Condition :

\r\n {/*

*

*/}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Symbol :

\r\n
\r\n
\r\n
\r\n {\r\n setSymbolValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ระบุสัญลักษณ์ที่ขั้นเลขที่เอกสาร\r\n \r\n
\r\n
\r\n \r\n
\r\n

Format :

\r\n
\r\n
\r\n {\r\n setPositionValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ตำแหน่งข้อมูลที่ต้องการนำไปใช้\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {selected == \"3\" && (\r\n
\r\n
\r\n

Date Time :

\r\n

*

\r\n
\r\n
\r\n setDateFormat(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n {\r\n if (\r\n selected === \"2\" &&\r\n selectedCondition === \"Split\" &&\r\n (positionValue === \"\" || symbolValue === \"\")\r\n ) {\r\n toggleAlert({\r\n description: `Please fill Symbol and Format`,\r\n message: `Condition Split.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n onSaveToFormat();\r\n }\r\n }}\r\n >\r\n Save To Format\r\n \r\n
\r\n {formats?.format?.length >= 1 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {formats?.format?.map((_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n updateFormat(_data, idx);\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteFormat(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport AddConditionComponent from \"./AddConditionComponent\";\r\nimport AddPreFixComponent from \"./AddPreFixComponent\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n}\r\n\r\nexport default function AutoNumberComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template?.digit) || 1,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionViewModal, setConditionViewModal] = useState(false);\r\n const [attributeIdx, setAttributeIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n function deleteAutoNumber(idx: any) {\r\n let _attribute = props.attributeNumber.formats;\r\n\r\n _attribute.splice(idx, 1);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"addFormat\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add PreFix\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeNumber.formats.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Condition

\r\n

เงื่อนไข

\r\n
\r\n

Format

\r\n

รูปแบบแสดงผล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}\r\n {\" \"}\r\n \r\n {\r\n setAttributeIdx(idx);\r\n setConditionViewModal(true);\r\n setCheckAction(\"editCondition\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.condition?.map((_data: any, idx2: any) => (\r\n <>\r\n {data.condition.length > 1\r\n ? data.condition.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n setAttributeIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"editPrefix\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.format.map((_data: any, idx2: any) => (\r\n <>\r\n {data.format.length > 1\r\n ? data.format.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n {\r\n deleteAutoNumber(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n {conditionViewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ControllerRenderProps, FieldValues } from \"react-hook-form\";\r\n\r\ntype Props = {\r\n field: ControllerRenderProps;\r\n disabled: boolean;\r\n};\r\n\r\nconst CalendarDefaultValueGroup = ({ field, disabled }: Props) => {\r\n useEffect(() => {\r\n if (disabled) {\r\n field.onChange(\"\");\r\n }\r\n }, [disabled]);\r\n\r\n return (\r\n
\r\n {\r\n console.log(\"valuedate\", e.target.value, field, disabled);\r\n field.onChange(e.target.value);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default CalendarDefaultValueGroup;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Controller,\r\n FieldValues,\r\n UseFormGetValues,\r\n get,\r\n} from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport CalendarDefaultValueGroup from \"./CalendarDefaultValueGroup\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n getValues: UseFormGetValues;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function CalendarComponent(props: Props) {\r\n const { masterSetting, getMasterSetting } = useMasterSetting();\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n symbol: props.template.attribute?.date?.symbol || \"\",\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n default: props.template.attribute?.default || \"\",\r\n defaultType: props.template.attribute?.defaultType || \"None\",\r\n displayFormat: props.template.attribute?.displayFormat,\r\n };\r\n\r\n const [disabled, setDisabled] = useState(\r\n props.template.attribute?.defaultType === \"None\"\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Symbol :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {/* default calendar */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n
\r\n (\r\n
\r\n {\r\n if (e.value !== \"None\") {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n field.onChange(e.value);\r\n }}\r\n options={[\r\n { name: \"None\", value: \"None\" },\r\n // { name: \"Calendar\", value: \"Calendar\" },\r\n { name: \"Days\", value: \"Days\" },\r\n // { name: \"Months\", value: \"Months\" },\r\n // { name: \"Year\", value: \"Year\" },\r\n ]}\r\n optionLabel=\"name\"\r\n />\r\n
\r\n )}\r\n />\r\n (\r\n
\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Display Format:

\r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash, BsX } from \"react-icons/bs\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function ChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [input, setInput] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n // useEffect(() => {\r\n // if (checkBoxRequire === true) {\r\n // let _components = props.itemsList.items;\r\n // const requestData: any = {\r\n // item: \"--select--\",\r\n // checked: \"N\",\r\n // };\r\n // _components.splice(0, 0, requestData);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // } else if (\r\n // checkBoxRequire == false &&\r\n // props.itemsList.items[0]?.item == \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n // }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n put 1 word (Enter) or multi word put (,) (Enter)\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n setDisplayDropdown: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function MultiChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n display: props.template.attribute?.display || \"cb\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const displayDropdown = [\r\n { name: \"Checkbox\", code: \"cb\" },\r\n { name: \"Dropdown\", code: \"dd\" },\r\n ];\r\n const [input, setInput] = useState(\"\");\r\n const [dropdown, setDropdown] = useState([]);\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n const { toggleAlert } = useAlert();\r\n useEffect(() => {\r\n defaultDropDown();\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n function defaultDropDown() {\r\n if (dataRequest.display === \"cb\") {\r\n setDropdown(displayDropdown[0]);\r\n props.setDisplayDropdown(displayDropdown[0]);\r\n } else if (dataRequest.display === \"dd\") {\r\n setDropdown(displayDropdown[1]);\r\n props.setDisplayDropdown(displayDropdown[1]);\r\n }\r\n }\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n }else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n const deleteItems = (idx: number) => {\r\n let _components = props.itemsList.items;\r\n _components.splice(idx, 1);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n };\r\n function deleteItemsFromDropdown(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...e.value],\r\n }));\r\n }\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {\r\n console.log(displayDropdown);\r\n }}\r\n >\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {/* {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n options={displayDropdown}\r\n value={dropdown}\r\n /> */}\r\n {displayDropdown.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n checked={dropdown.name === items.name}\r\n />\r\n \r\n {items.name}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function DropdownComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const { toggleAlert } = useAlert();\r\n const [input, setInput] = useState(\"\");\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n console.log(props.template, \"readonlyreadonlyreadonlyreadonlyreadonly\");\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n checkBoxRequire === true &&\r\n props.itemsList.items[0]?.item !== \"--select--\"\r\n ) {\r\n let _components = props.itemsList.items;\r\n const requestData: any = {\r\n item: \"--select--\",\r\n checked: \"N\",\r\n };\r\n _components.splice(0, 0, requestData);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n // else if (\r\n // checkBoxRequire === false &&\r\n // props.itemsList.items[0]?.item === \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n {\r\n console.log(props.template, \"template\");\r\n }}\r\n >\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nconst TemplateModal = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [loading, setLoading] = useState(true);\r\n const [contentEditor, setContentEditor] = useState(\r\n props.data?.value == null ? initialValues : props.data\r\n );\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n useEffect(() => {\r\n if (!props.data?.value) {\r\n props.setRichText(initialValues);\r\n } else {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n }\r\n }, []);\r\n const handleEditorChange = (content: any, editor: any) => {\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n };\r\n const footer = (\r\n
\r\n {\r\n props.setViewModal(false);\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n {loading && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={contentEditor.value == null ? \"\" : contentEditor.value}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateModal;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { IoDocumentTextOutline } from \"react-icons/io5\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\nimport TemplateModal from \"./TemplateModal\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nexport default function EditorComponent(props: Props) {\r\n useEffect(() => {\r\n console.log(props.template, \"props.template.attribute?.height\");\r\n }, []);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template?.description,\r\n height: parseInt(props.template?.height) || 400,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n Pixel\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n console.log(\"readonly\", e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-template hover-color-css-282f6a\"\r\n >\r\n Template\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n requestData: (templates: any, itemIdx: number, layoutIdx: number) => void;\r\n control: any;\r\n errors: any;\r\n template: any;\r\n selected: any;\r\n setCheckBoxHeading: any;\r\n checkBoxHeading: any;\r\n displayCheckBox: any;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n istext: props.template.istext === \"Y\" || \"\" ? true : false,\r\n textvalue: props.template.textvalue || \"\",\r\n hideInPdf: props.template.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {props.displayCheckBox.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n props.setCheckBoxHeading(e.value);\r\n field.onChange(e.value);\r\n console.log(e.value, \"sss\");\r\n }}\r\n checked={props.checkBoxHeading.name === items.name}\r\n />\r\n \r\n {items.name}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/*
\r\n
\r\n

Label :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
*/}\r\n {props.checkBoxHeading.code === \"N\" && (\r\n <>\r\n
\r\n
\r\n

Label :

\r\n *\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {props.checkBoxHeading.code === \"Y\" && (\r\n
\r\n
\r\n

Text Value

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n setValue: any;\r\n}\r\n\r\nexport default function NumberComponent(props: Props) {\r\n const [decimal, setDecimal] = useState(\r\n parseInt(props.template.attribute?.decimal) || 0\r\n );\r\n const [readonly, setReadonly] = useState(\r\n props.template.attribute?.readonly === \"Y\" ? true : false\r\n );\r\n const [summary, setSummary] = useState(\r\n props.template.attribute?.summary === \"Y\" ? true : false\r\n );\r\n const [min, setMin] = useState();\r\n const dataRequest = {\r\n label: props.template.label,\r\n alter: props.template.alter,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n formula: props.template.attribute?.formula || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n decimal: parseInt(props.template.attribute?.decimal) || 0,\r\n default: props.template.attribute?.default || \"\",\r\n align: props.template.attribute?.align === \"l\" ? true : false,\r\n min: Number(props.template.attribute?.min) || 0,\r\n max: Number(props.template.attribute?.max) || 0,\r\n useComma: props.template.attribute?.useComma === \"Y\" ? true : false,\r\n symbol: props.template.attribute?.symbol || \"\",\r\n symbolPosition:\r\n props.template.attribute?.symbolPosition === \"B\" ? true : false,\r\n summary: props.template.attribute?.summary === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: Number(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isSummary: props.template.attribute?.isSummary === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n console.log(\"hideIn=>\", props.template.attribute?.hideInPdf);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Decimal:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setDecimal(e.value);\r\n }}\r\n min={0}\r\n max={10}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender !== \"table\" && (\r\n
\r\n
\r\n

Formula:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/), Function sum() Ex. : Column Label 1*Column\r\n Label 2, sum(Table Label;Column Label) *sum() Function can only\r\n put 1 column label.\r\n

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

Min:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setMin(e.value);\r\n }}\r\n mode=\"decimal\"\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n

Max:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={min}\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Value Align Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Symbol:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Symbol Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Summary:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setSummary(e.checked);\r\n // if (field) {\r\n // setReadonly(true);\r\n // props.setValue(\"readonly\", true);\r\n // }\r\n }}\r\n checked={summary}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Comma:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n // if (!summary) {}\r\n field.onChange(e.checked);\r\n\r\n setReadonly(e.checked);\r\n }}\r\n checked={readonly}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

ShowTotal In Table:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BiArchiveIn } from \"react-icons/bi\";\r\nimport { FaHeading } from \"react-icons/fa\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setRevisionConditions: any;\r\n revisionConditions: any;\r\n conditionsIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionModal(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [selected, setSelected] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"edit\") {\r\n setSelectedFormName({\r\n item: props.revisionConditions.conditions[props.conditionsIdx]?.label,\r\n });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"an\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n function saveConditions() {\r\n if (selectedFormName == undefined) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"add\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.push(newConditions);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n } else if (props.checkAction === \"edit\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions[props.conditionsIdx] = newConditions;\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n saveConditions();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n setSelected(e)}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={0}\r\n curPage={selected}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

FormName :

\r\n

*

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport AddConditionModal from \"./AddConditionModal\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n revisionConditions: any;\r\n setRevisionConditions: any;\r\n}\r\n\r\nexport default function RevisionComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template.attribute?.digit) || 0,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionsIdx, setConditionsIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n\r\n function deleteCondition(idx: number) {\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.splice(idx, 1);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.revisionConditions.conditions.length >= 1 ? (\r\n <>\r\n
\r\n
\r\n {props.revisionConditions.conditions.map(\r\n (_data: any, idx: number) => (\r\n
\r\n {\r\n setConditionsIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"edit\");\r\n }}\r\n >\r\n {`[${\r\n idx + 1\r\n }]`}\r\n \r\n {_data.label}\r\n \r\n
\r\n
\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: any;\r\n}\r\n\r\nexport default function ShortTextComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n layoutLength?: any;\r\n renderIn?: string;\r\n}\r\n\r\nexport default function CreateControlSideBarElement(props: Props) {\r\n const SideBarData = [\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Heading\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Table\"}\r\n icon={}\r\n page={9}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"RichText\"}\r\n icon={}\r\n page={10}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={11}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Image\"}\r\n icon={}\r\n page={12}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {/* {props.layoutLength === 2 && ( */}\r\n props.onSelectView(e)}\r\n title={\"Button\"}\r\n icon={}\r\n page={13}\r\n curPage={props.curPage}\r\n />\r\n {/* )} */}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Auto Number\"}\r\n icon={}\r\n page={14}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Revision\"}\r\n icon={}\r\n page={15}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataInColumn = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n {props.renderIn === \"control\" && (\r\n {\r\n console.log(SideBarData, \"SideBarData\");\r\n }}\r\n >\r\n {SideBarData.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n {props.renderIn === \"column\" && (\r\n \r\n {SideBarDataInColumn.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function TextAreaComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport CreateControlSideBarElement from \"../ModalCreateComponents/CreateControlSideBarElement\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport \"./TableCreateComponents.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setFromRender: any;\r\n fromRender: string;\r\n layoutIdx: any;\r\n action: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n}\r\n\r\nexport default function ColumnComponent(props: Props) {\r\n const column: any = [\r\n {\r\n label: {},\r\n alter: null,\r\n control: {},\r\n data: {\r\n value: null,\r\n },\r\n },\r\n ];\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const {\r\n control: control2,\r\n formState: { errors: errors2 },\r\n setValue,\r\n handleSubmit: handleSubmit2,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setSelected(\"1\");\r\n props.setFromRender(\"table\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [selected, itemsList]);\r\n\r\n const checkType = () => {\r\n if (props.action === \"edit\") {\r\n let _column = props.attributeColumn.column[props.layoutIdx];\r\n console.log(props.attributeColumn, \"_column\");\r\n checkActionButton(_column.control.template.type);\r\n }\r\n };\r\n const checkActionButton = (dataType: any) => {\r\n if (dataType === \"t\") {\r\n setSelected(\"1\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"at\") {\r\n setSelected(\"8\");\r\n } else {\r\n setSelected(\"1\");\r\n }\r\n };\r\n\r\n const requestData = (columnData: any, columnIdx?: number) => {\r\n let _column = props.attributeColumn.column;\r\n if (props.action === \"add\") {\r\n _column.push(columnData);\r\n } else if (props.action === \"edit\") {\r\n _column[props.layoutIdx] = columnData;\r\n }\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._column],\r\n }));\r\n props.setFromRender(\"control\");\r\n };\r\n\r\n const updateChanges2 = (data: any) => {\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"5\" || selected === \"6\" || selected === \"7\") {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (selected === \"1\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length?.toString() || \"0\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable?.toString() || \"0\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal?.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min?.toString(),\r\n max: data.max?.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isSummary: data.isSummary ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: {\r\n items: [],\r\n },\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"8\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n default: data.defaultValueImage,\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n }\r\n\r\n props.setViewModal(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _column: any;\r\n if (props.action === \"add\") {\r\n _column = props.attributeColumn;\r\n } else if (props.action === \"edit\") {\r\n let respone = props.attributeColumn.column[props.layoutIdx];\r\n _column = {\r\n label: respone?.label,\r\n alter: respone?.alter,\r\n description: respone?.control?.template?.description,\r\n attribute: {\r\n description: respone?.control?.template?.attribute?.description,\r\n default: respone?.control?.template?.attribute?.default,\r\n length: parseInt(respone?.control?.template?.attribute?.length),\r\n require: respone?.control?.template?.attribute?.require,\r\n readonly: respone?.control?.template?.attribute?.readonly,\r\n min: parseInt(respone?.control?.template?.attribute?.min),\r\n max: parseInt(respone?.control?.template?.attribute?.max),\r\n useComma: respone?.control?.template?.attribute?.useComma,\r\n symbol: respone?.control?.template?.attribute?.symbol,\r\n symbolPosition: respone?.control?.template?.attribute?.symbolPosition,\r\n summary: respone?.control?.template?.attribute?.summary,\r\n decimal: parseInt(respone?.control?.template?.attribute?.decimal),\r\n formula: respone?.control?.template?.attribute?.formula,\r\n align: respone?.control?.template?.attribute?.align,\r\n multipleLine: respone?.control?.template?.attribute?.multipleLine,\r\n date: {\r\n symbol: respone?.control?.template?.attribute?.date?.symbol,\r\n },\r\n items: [...(respone?.control?.template?.attribute?.items || \"\")],\r\n display: respone?.control?.template?.attribute?.display,\r\n widthInTable: parseInt(\r\n respone?.control?.template?.attribute?.widthInTable\r\n ),\r\n hideInPdf: respone?.control?.template?.attribute?.hideInPdf,\r\n isSummary: respone?.control?.template?.attribute?.isSummary,\r\n },\r\n };\r\n }\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit2);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleKeyDown(e, handleSubmit2);\r\n }}\r\n >\r\n {component}\r\n
\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n type=\"button\"\r\n >\r\n \r\n Cancel\r\n \r\n\r\n \r\n Save\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Spin } from \"antd\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n GetAllTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateByIdDto,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { data } from \"jquery\";\r\n\r\ninterface Props {\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n control: any;\r\n template: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n setConditions: any;\r\n conditions: any;\r\n advanceForm: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function ReferenceDocument(props: Props) {\r\n const [loading, setLoading] = useState(true);\r\n const [visibleDocControl, setVisibleDocControl] = useState(false);\r\n const dataRequest = {\r\n enabledpopupdefdoc:\r\n props.template.attribute?.enabledpopupdefdoc === \"Y\" ? true : false,\r\n doccontrol:\r\n props.template.attribute?.refdoc?.doccontrol === true ? true : false,\r\n };\r\n\r\n const itemsType = [{ name: \"Template\" }, { name: \"Report\" }];\r\n\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n\r\n const itemsConditionList = [\r\n { name: \"ใต้สังกัด\", value: \"under\" },\r\n { name: \"ค่าคงที่\", value: \"fixed value\" },\r\n ];\r\n\r\n const conditionRefDoc: any = {\r\n label: \"\",\r\n conditionType: \"under\",\r\n value: \"\",\r\n };\r\n const [defaultValueRefDoc, setDefaultValueRefDoc] = useState();\r\n const [defaultValueRefDoc2, setDefaultValueRefDoc2] = useState();\r\n\r\n const [defaultValueReport, setDefaultValueReport] = useState([]);\r\n const [checkAction, setCheckAction] = useState();\r\n const [actionSubmit, setActionSubmit] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const isFirstRun = useRef(true);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n value: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n setLoading(true);\r\n await fetchDataTemplate();\r\n await defaultValueDropDown();\r\n await defaultValueDocControl();\r\n setLoading(false);\r\n }\r\n fetchMyAPI();\r\n }, []);\r\n function defaultValueDocControl() {\r\n if (dataRequest.doccontrol) {\r\n setVisibleDocControl(true);\r\n }\r\n }\r\n function defaultValueDropDown() {\r\n if (props?.mergeColumnRefDoc?.columnRefDoc?.length >= 1) {\r\n let array: any = [];\r\n let array2: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n });\r\n });\r\n props?.mergeColumnRefDoc?.columnRefDoc.map((_data: any, idx: any) => {\r\n array2.push({\r\n HaveLink: _data.HaveLink ? _data.HaveLink : false,\r\n RefDocLabel: _data.RefDocLabel,\r\n });\r\n });\r\n let arr3 = array.map((item: any, i: number) =>\r\n Object.assign({}, item, array2[i])\r\n );\r\n\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arr3],\r\n }));\r\n } else {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n }\r\n useEffect(() => {\r\n if (props.template.attribute.refdoc) {\r\n mapDefaultData();\r\n }\r\n }, [defaultValueRefDoc]);\r\n\r\n function mapDefaultData() {\r\n if (props.template) {\r\n let MapData = props.template.attribute.refdoc.docref.map(\r\n (item: any) => item.id\r\n );\r\n\r\n if (defaultValueRefDoc) {\r\n let dafault = defaultValueRefDoc.filter((item: any) =>\r\n MapData.includes(item.TemplateId.toString())\r\n );\r\n if (props.template.attribute.refdoc.docref) {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: [...dafault],\r\n }));\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchDataTemplateById();\r\n }, [props.selectedReportRef]);\r\n useEffect(() => {\r\n newValueAlterSelected();\r\n }, [actionSubmit]);\r\n useEffect(() => {\r\n setValueConfigColumnTable();\r\n }, [props.selectedTemplateRef]);\r\n\r\n const setValueConfigColumnTable = async () => {\r\n let mapper: any = [];\r\n if (\r\n props.docDataSource.docDataSource === \"Report\" &&\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n ) {\r\n let array: any[] = [];\r\n const reportId = parseInt(\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n );\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList?.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else if (\r\n props.selectedTemplateRef?.docref?.length > 0 &&\r\n props.docDataSource.docDataSource === \"Template\"\r\n ) {\r\n props.selectedTemplateRef?.docref?.map((item: any, index: number) => {\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n });\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n defaultConfigColumn();\r\n }\r\n };\r\n function defaultConfigColumn() {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n async function newValueAlterSelected() {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n props.setSelectedReportRef([]);\r\n props.setSelectedTemplateRef([]);\r\n }\r\n }\r\n async function fetchDataTemplateById() {\r\n if (checkAction === \"2\") {\r\n let _dataTemplate: any[] = [];\r\n const templateCode = props.selectedReportRef?.docReport?.TemplateId;\r\n const arrayCode = templateCode?.split(\"|\");\r\n const _response = defaultValueRefDoc2?.filter((item: any) =>\r\n arrayCode?.includes(item?.DocumentCode)\r\n );\r\n const _response2 = _response?.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n if (_response2) {\r\n _dataTemplate.push(..._response2);\r\n } else {\r\n _dataTemplate.push();\r\n }\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n }\r\n async function fetchDataTemplate() {\r\n if (\r\n !props.docDataSource.docDataSource ||\r\n typeof props.docDataSource.docDataSource === \"object\"\r\n ) {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _dataReportTemplate = await ReportTemplateList();\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n setDefaultValueRefDoc2([..._dataTemplate]);\r\n console.log(_dataReportTemplate, \"_dataReportTemplate\");\r\n setDefaultValueReport([..._dataReportTemplate]);\r\n props.setDefaultConfigColumn([...itemsControlLabel]);\r\n }\r\n\r\n function deleteCondition(idx: any) {\r\n let _condition = props.conditions.conditionrefdoc;\r\n _condition.splice(idx, 1);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [..._condition],\r\n }));\r\n }\r\n async function selectedReportById(idReport: number) {\r\n if (idReport) {\r\n let arrayReport: any[] = [];\r\n const response = await ReportTemplateSelectByReportID(idReport);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n arrayReport.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, arrayReport);\r\n props.setDefaultConfigColumn([..._data]);\r\n let arrayMerge: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n arrayMerge.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arrayMerge],\r\n }));\r\n }\r\n }\r\n function renderIsDocControl() {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Template New Doc\r\n
\r\n

ฟอร์มสร้างใหม่

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Edit Doc\r\n
\r\n

ฟอร์มแก้ไข

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Cancel Doc\r\n
\r\n

ฟอร์มยกเลิก

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {!loading && (\r\n \r\n console.log(\r\n props.defaultConfigColumn,\r\n \"ee\",\r\n props.mergeColumnRefDoc\r\n )\r\n }\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n Data source\r\n
\r\n

ประเภทข้อมูล

\r\n \r\n \r\n
\r\n
\r\n {itemsType.map((items: any) => {\r\n return (\r\n
\r\n {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: e.value.name,\r\n }));\r\n setActionSubmit(!actionSubmit);\r\n setCheckAction(\"1\");\r\n if (\r\n e.value.name !== props.docDataSource.docDataSource\r\n ) {\r\n if (e.value.name === \"Template\") {\r\n setDefaultValueRefDoc([...defaultValueRefDoc2]);\r\n } else if (e.value.name === \"Report\") {\r\n console.log(\"report\", e.value.name);\r\n setDefaultValueRefDoc([]);\r\n }\r\n\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n defaultConfigColumn();\r\n }}\r\n checked={\r\n items.name === props.docDataSource.docDataSource\r\n }\r\n />\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Is DocControl\r\n
\r\n

เอกสารควบคุม

\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setVisibleDocControl(!visibleDocControl);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {visibleDocControl && renderIsDocControl()}\r\n
\r\n \r\n )}\r\n\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Report Reference Document\r\n \r\n
\r\n

รายงานอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n setCheckAction(\"2\");\r\n props.setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: e.value,\r\n }));\r\n props.setSelectedTemplateRef([]);\r\n selectedReportById(e.value?.ReportTemplateId);\r\n }}\r\n optionLabel=\"ReportName\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"ReportName\"\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n />\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Display popup Reference Document add row in table\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enabled\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.length !== 0 && (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Config Column\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {_data.ColumnLabel}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: any) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n HaveLink: _val.HaveLink,\r\n ColumnLabel: _val.ColumnLabel,\r\n RefDocLabel: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: any) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ColumnLabel: _val.ColumnLabel,\r\n RefDocLabel: _val.RefDocLabel,\r\n HaveLink: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n />\r\n Link\r\n
\r\n
\r\n \r\n )\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let col = props.conditions.conditionrefdoc;\r\n col.push(conditionRefDoc);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [...col],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.conditions?.conditionrefdoc?.length !== 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"under\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"fixed value\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.value,\r\n conditionType: _val.conditionType,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType: e.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"name\"\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"item\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"item\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.target.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n}\r\n\r\nexport default function FooterTableComponents(props: Props) {\r\n const footerData: any = {\r\n label: \"\",\r\n formula: \"\",\r\n symbol: \"\",\r\n useValue: false,\r\n value: \"\",\r\n };\r\n\r\n function deleteFooterTable(idx: any) {\r\n let _footerTable = props.footerTable?.rows;\r\n _footerTable.splice(idx, 1);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [..._footerTable],\r\n }));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let rows = props.footerTable.rows;\r\n rows.push(footerData);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...rows],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.footerTable.rows.length !== 0 && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.footerTable?.rows?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Formula

\r\n

สูตร

\r\n
\r\n

Symbol

\r\n

สัญลักษณ์

\r\n
\r\n

Input Value

\r\n

กรอกค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.target.value,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: e.target.value,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: e.target.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n useValue: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n checked={props.footerTable?.rows[idx]?.useValue}\r\n />\r\n \r\n {\r\n deleteFooterTable(idx);\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TabMenu } from \"primereact/tabmenu\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport ColumnComponent from \"./ColumnComponent\";\r\nimport { BiText } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { FaRegListAlt } from \"react-icons/fa\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport ReferenceDocument from \"./ReferenceDocument\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport FooterTableComponents from \"./FooterTableComponents\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setAttributeColumn: any;\r\n attributeColumn: any;\r\n setFromRender: any;\r\n fromRender: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n conditions: any;\r\n setConditions: any;\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function TableComponent(props: Props) {\r\n const [viewModal, setViewModal] = useState(false);\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [action, setAction] = useState(\"\");\r\n console.log(\"props.template\", props.template);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n formula: props.template.formula || \"\",\r\n hideInPdf: props.template?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n canImport: props.template?.canImport === \"Y\" || \"\" ? true : false,\r\n column: props.template.attribute?.column || [],\r\n };\r\n useEffect(() => {\r\n let respone = props.attributeColumn.column;\r\n for (let i = 0; i < respone.length; i++) {\r\n if (respone[i].guid == undefined) {\r\n respone[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...respone],\r\n }));\r\n }, []);\r\n\r\n const items = [\r\n { label: \"Column\", icon: \"pi pi-book\" },\r\n { label: \"Reference Document\", icon: \"pi pi-folder\" },\r\n { label: \"FooterTable\", icon: \"pi pi-cog\" },\r\n ];\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n MultiChoice\r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n }\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.attributeColumn.column;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function deleteColumn(idx: any) {\r\n let _components = props.attributeColumn.column;\r\n _components.splice(idx, 1);\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._components],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Formula :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/) Ex. : Column Label 1*Column Label 2=Column Label\r\n 3\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Can Import:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setActiveIndex(e.index);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {activeIndex === 0 && (\r\n <>\r\n
\r\n {\r\n props.setFromRender(\"table\");\r\n setViewModal(true);\r\n setAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Column\r\n \r\n
\r\n {props.attributeColumn.column.length !== 0 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.attributeColumn.column.map(\r\n (_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n setViewModal(true);\r\n setLayoutIdx(idx);\r\n setAction(\"edit\");\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n \r\n {_data.alter != \"\"\r\n ? ` / ${_data.alter}`\r\n : \"\"}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.control.template.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteColumn(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n )\r\n )}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {activeIndex === 1 && (\r\n <>\r\n \r\n \r\n )}\r\n {activeIndex === 2 && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { Image } from \"antd\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line, RiDeleteBin2Line } from \"react-icons/ri\";\r\nimport \"./ImageComponents.css\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n}\r\nexport default function ImageComponents(props: Props) {\r\n const [widthControl, setWidthControl] = useState();\r\n const [heightControl, setHeightControl] = useState();\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n fileTypeImage: props.template.fileType || \"*jpg*jpeg*png*bmp\",\r\n maxFile: parseInt(props.template.attribute?.maxFile) || 50,\r\n width: parseInt(props.template.attribute?.width) || 310,\r\n height: parseInt(props.template.attribute?.height) || 190,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const onFileSelect = async (e: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(response.data.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n useEffect(() => {\r\n setWidthControl(dataRequest.width);\r\n setHeightControl(dataRequest.height);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

File Type Format : *png*jpeg

\r\n
\r\n
\r\n
\r\n
\r\n

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setWidthControl(e.value);\r\n if (e.value >= 300) {\r\n setWidthControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setHeightControl(e.value);\r\n if (e.value >= 300) {\r\n setHeightControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e);\r\n }}\r\n accept=\".jpg, .jpeg, .png,\"\r\n className={`set-input-component-css form-control ${classNames(\r\n {\r\n \"p-invalid\": fieldState.invalid,\r\n }\r\n )}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport ButtonComponent from \"../ButtonComponent/ButtonComponent\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport AutoNumberComponent from \"../AutoNumberComponent/AutoNumberComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport EditorComponent from \"../EditorComponent/EditorComponent\";\r\nimport HeadingComponent from \"../HeadingComponent/HeadingComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport RevisionComponent from \"../RevisionComponent/RevisionComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TableComponent from \"../TableComponent/TableComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport CreateControlSideBarElement from \"./CreateControlSideBarElement\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./ModalCreateComponents.css\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport ImageComponents from \"../ImageComponents/ImageComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Spin } from \"antd\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\ninterface Props {\r\n visibleCreateControl: boolean;\r\n setVisibleCreateControl: any;\r\n itemIdx: number;\r\n layoutIdx: number;\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n layoutLength: any;\r\n}\r\ninterface SelectedTemplateRef {\r\n docref: string[];\r\n}\r\n\r\nexport default function ModalCreateComponents(props: Props) {\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n const displayCheckBox = [\r\n { name: \"Heading\", code: \"N\" },\r\n { name: \"Text\", code: \"Y\" },\r\n ];\r\n\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const [loading, setLoading] = useState(true);\r\n //checkbox-dropdown editor table\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const [fromRender, setFromRender] = useState(\"control\");\r\n const [richText, setRichText] = useState({});\r\n const [checkBoxHeading, setCheckBoxHeading] = useState({\r\n name: \"Heading\",\r\n code: \"N\",\r\n });\r\n const [attributeNumber, setAttributeNumber] = useState({\r\n formats: [],\r\n });\r\n const [revisionConditions, setRevisionConditions] = useState({\r\n conditions: [],\r\n });\r\n\r\n //table\r\n const [attributeColumn, setAttributeColumn] = useState({ column: [] });\r\n const [footerTable, setFooterTable] = useState({ rows: [] });\r\n const [mergeColumnRefDoc, setMergeColumnRefDoc] = useState({\r\n columnRefDoc: [],\r\n });\r\n const [docDataSource, setDocDataSource] = useState({\r\n docDataSource: {},\r\n });\r\n const [selectedReportRef, setSelectedReportRef] = useState({\r\n docReport: {},\r\n });\r\n const [selectedTemplateRef, setSelectedTemplateRef] = useState({\r\n docref: [],\r\n });\r\n const [selectedDocControlTemplate, setSelectedDocControlTemplate] =\r\n useState({\r\n docNewDoc: [],\r\n docEditDoc: [],\r\n docCancelDoc: [],\r\n });\r\n const [defaultConfigColumn, setDefaultConfigColumn] = useState([]);\r\n const [conditions, setConditions] = useState({ conditionrefdoc: [] });\r\n const [attributeButton, setAttributeButton] = useState({ items: [] });\r\n const [uploadFileState, setUploadFileState] = useState();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n getValues,\r\n setValue,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setLoading(true);\r\n setFromRender(\"control\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [\r\n selected,\r\n itemsList,\r\n revisionConditions,\r\n attributeColumn,\r\n attributeNumber,\r\n mergeColumnRefDoc,\r\n docDataSource,\r\n selectedReportRef,\r\n selectedTemplateRef,\r\n conditions,\r\n props.advanceForm,\r\n attributeButton,\r\n uploadFileState,\r\n footerTable,\r\n selectedDocControlTemplate,\r\n defaultConfigColumn,\r\n checkBoxHeading,\r\n ]);\r\n const checkType = () => {\r\n let _itemsLength = props.advanceForm.items[props.itemIdx].layout.length;\r\n let _templatesDes =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n if (_templatesDes.type === \"em\") {\r\n setCheckAction(\"add\");\r\n addFunction();\r\n if (props.layoutLength === 1) {\r\n setSelected(\"1\");\r\n } else if (props.layoutLength === 2) {\r\n setSelected(\"2\");\r\n }\r\n setLoading(false);\r\n } else {\r\n setCheckAction(\"edit\");\r\n checkActionButton(_templatesDes.type, _templatesDes, _data, _itemsLength);\r\n }\r\n };\r\n function addFunction() {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n const checkActionButton = async (\r\n dataType: any,\r\n templatesDes: any,\r\n data: any,\r\n _itemsLength: any\r\n ) => {\r\n if (dataType === \"l\") {\r\n defaultCheckBoxHeading(templatesDes);\r\n setSelected(\"1\");\r\n } else if (dataType === \"t\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"8\");\r\n } else if (dataType === \"tb\") {\r\n await defaultValueReportTable(templatesDes);\r\n await defaultValueTemplateTable(templatesDes);\r\n await defaultValueFooterTable(templatesDes);\r\n await defaultValueConfigColumnTable(templatesDes);\r\n setSelected(\"9\");\r\n } else if (dataType === \"ed\") {\r\n setSelected(\"10\");\r\n } else if (dataType === \"at\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"11\");\r\n } else if (dataType === \"im\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"12\");\r\n } else if (dataType === \"bt\") {\r\n setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [...templatesDes.attribute.items],\r\n }));\r\n setSelected(\"13\");\r\n } else if (dataType === \"an\") {\r\n setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [...templatesDes.attribute.formats],\r\n }));\r\n setSelected(\"14\");\r\n } else if (dataType === \"rvs\") {\r\n if (templatesDes.attribute?.conditions) {\r\n setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [...templatesDes.attribute.conditions],\r\n }));\r\n }\r\n setSelected(\"15\");\r\n } else {\r\n if (_itemsLength === 1) {\r\n setSelected(\"1\");\r\n } else {\r\n setSelected(\"2\");\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n const defaultCheckBoxHeading = (templatesDes: any) => {\r\n if (templatesDes.istext === \"Y\") {\r\n setCheckBoxHeading(displayCheckBox[1]);\r\n } else if (templatesDes.istext === \"N\") {\r\n setCheckBoxHeading(displayCheckBox[0]);\r\n }\r\n };\r\n const defaultValueReportTable = async (templatesDes: any) => {\r\n setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...templatesDes.attribute.column],\r\n }));\r\n if (templatesDes.attribute?.mergecolumnrefdoc) {\r\n setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...templatesDes.attribute.mergecolumnrefdoc],\r\n }));\r\n }\r\n if (templatesDes.attribute?.conditionrefdoc) {\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: templatesDes.attribute.conditionrefdoc,\r\n }));\r\n }\r\n if (templatesDes.attribute?.refdoc?.docDataSource) {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: templatesDes.attribute.refdoc.docDataSource,\r\n }));\r\n let _dataReportTemplate = await ReportTemplateList();\r\n var response = _dataReportTemplate.filter(\r\n (x: { ReportTemplateId: string }) =>\r\n x.ReportTemplateId.toString() ===\r\n templatesDes.attribute.refdoc.docReport\r\n );\r\n setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: response[0] || [],\r\n }));\r\n }\r\n };\r\n const defaultValueTemplateTable = async (templatesDes: any) => {\r\n if (templatesDes.attribute?.refdoc?.docref?.length >= 1) {\r\n console.log(\"refdoc\", templatesDes.attribute.refdoc.docref);\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _template: any[] = [];\r\n for (let i = 0; i < templatesDes.attribute?.refdoc.docref.length; i++) {\r\n const docRef = templatesDes.attribute.refdoc.docref[i];\r\n\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n console.log(\"tempp\", template);\r\n // template id\r\n\r\n if (docRef.id == template.DocumentCode) {\r\n _template.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docRef: _template,\r\n }));\r\n setDefaultValueDocControl(templatesDes, _dataTemplate);\r\n }\r\n };\r\n const defaultValueFooterTable = (templatesDes: any) => {\r\n if (templatesDes.attribute?.footerTable) {\r\n setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...templatesDes.attribute?.footerTable.rows],\r\n }));\r\n }\r\n };\r\n const defaultValueConfigColumnTable = async (templatesDes: any) => {\r\n let mapper: any = [];\r\n console.log(templatesDes.attribute?.refdoc?.docref, \"response1\");\r\n console.log(templatesDes.attribute?.refdoc?.docDataSource, \"response2\");\r\n\r\n if (templatesDes.attribute?.refdoc?.docDataSource === \"Report\") {\r\n let array: any[] = [];\r\n const reportId = parseInt(templatesDes.attribute?.refdoc?.docReport);\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n console.log(response, \"response\");\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n console.log(_data, \"_data\");\r\n setDefaultConfigColumn([..._data]);\r\n } else if (\r\n templatesDes.attribute?.refdoc?.docref > 0 &&\r\n templatesDes.attribute?.refdoc?.docDataSource === \"Template\"\r\n ) {\r\n templatesDes.attribute?.refdoc?.docref?.map(\r\n (item: any, index: number) => {\r\n console.log(\"tem\", item);\r\n\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n }\r\n );\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n setDefaultConfigColumn([..._data]);\r\n }\r\n };\r\n const setDefaultValueDocControl = async (\r\n templatesDes: any,\r\n _dataTemplate: any\r\n ) => {\r\n //docNewDoc\r\n if (templatesDes.attribute?.refdoc?.docNewDoc) {\r\n let _newDoc: any[] = [];\r\n const docNewDocArray =\r\n templatesDes.attribute?.refdoc?.docNewDoc?.split(\",\");\r\n for (let i = 0; i < docNewDocArray.length; i++) {\r\n const newDoc = docNewDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (newDoc == template.DocumentCode) {\r\n _newDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: _newDoc,\r\n }));\r\n }\r\n //docEditDoc\r\n if (templatesDes.attribute?.refdoc?.docEditDoc) {\r\n let _docEditDoc: any[] = [];\r\n const docEditDocArray =\r\n templatesDes.attribute?.refdoc?.docEditDoc?.split(\",\");\r\n for (let i = 0; i < docEditDocArray.length; i++) {\r\n const docEditDoc = docEditDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docEditDoc == template.DocumentCode) {\r\n _docEditDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: _docEditDoc,\r\n }));\r\n }\r\n //docCancelDoc\r\n if (templatesDes.attribute?.refdoc?.docCancelDoc) {\r\n let _docCancelDoc: any[] = [];\r\n const docCancelDocArray =\r\n templatesDes.attribute?.refdoc?.docCancelDoc?.split(\",\");\r\n for (let i = 0; i < docCancelDocArray.length; i++) {\r\n const docCancelDoc = docCancelDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docCancelDoc == template.DocumentCode) {\r\n _docCancelDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: _docCancelDoc,\r\n }));\r\n }\r\n };\r\n const requestData = (\r\n templates: any,\r\n itemIdx: number,\r\n layoutIdx: number,\r\n _data?: any\r\n ) => {\r\n let _templates = templates;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].template = _templates;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].data = _data;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n const requestDataToLayout = (\r\n layout: any,\r\n itemIdx: number,\r\n layoutIdx: number\r\n ) => {\r\n let _layout = layout;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx] = _layout;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n\r\n const updateChanges = async (data: any) => {\r\n let checkUnique: boolean = false;\r\n\r\n if (fromRender !== \"control\") {\r\n return;\r\n }\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"6\" || selected === \"7\" || selected === \"8\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (props.advanceForm.items?.length >= 1) {\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index2: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (_dataLayout.template.type !== \"em\") {\r\n if (\r\n _dataLayout.template.label === data.label &&\r\n _dataLayout.template.label !==\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx]\r\n .template.label\r\n ) {\r\n if (!data.description) {\r\n checkUnique = true;\r\n }\r\n } else if (checkAction === \"edit\") {\r\n if (\r\n selected === \"2\" ||\r\n selected === \"4\" ||\r\n selected === \"7\" ||\r\n selected === \"8\"\r\n ) {\r\n if (\r\n data.description ===\r\n _dataLayout.template.attribute?.description &&\r\n _dataLayout.template.label === data.label &&\r\n props.advanceForm.items[props.itemIdx].layout[\r\n props.layoutIdx\r\n ].guid !== _dataLayout.guid\r\n ) {\r\n checkUnique = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (checkUnique) {\r\n toggleAlert({\r\n description: `Duplicate information in label.\\n please input field description.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n\r\n if (selected === \"1\") {\r\n console.log(data, \"dataRequest\");\r\n const dataRequest = {\r\n type: \"l\",\r\n label: data.labelHeading || \"\",\r\n alter: data.alter || \"\",\r\n istext: checkBoxHeading.code,\r\n textvalue: data.textvalue || \"\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n };\r\n\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min.toString(),\r\n max: data.max.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"5\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n // test\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n displayFormat: data.displayFormat,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = {\r\n value: null,\r\n item: [],\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"8\") {\r\n const dataRequest = {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"9\") {\r\n if (\r\n attributeColumn?.column == null ||\r\n attributeColumn?.column?.length === 0\r\n ) {\r\n return toggleAlert({\r\n description: `Column is required.`,\r\n message: `Table type warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n //functionCheckInputWidth\r\n // let checkWidthInTableDoNotHas: boolean = false;\r\n // let checkWidthInTableHasValue: boolean = false;\r\n // console.log(attributeColumn, \"_width\");\r\n\r\n // attributeColumn.column.map((_column: any) => {\r\n // if (\r\n // _column.control.template.attribute?.widthInTable === \"0\" ||\r\n // !_column.control.template.attribute?.widthInTable\r\n // ) {\r\n // checkWidthInTableDoNotHas = true;\r\n // } else {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue && checkWidthInTableDoNotHas) {\r\n // checkWidthInTableDoNotHas = false;\r\n // attributeColumn.column.map((_column: any) => {\r\n // const _width = _column.control.template.attribute?.widthInTable || 0;\r\n // if (_width !== \"0\") {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue) {\r\n // toggleAlert({\r\n // description: `Please fill in all required width fields.`,\r\n // message: `Width field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // return;\r\n // }\r\n // }\r\n const dataRequest = {\r\n type: \"tb\",\r\n label: data.label,\r\n alter: data.alter,\r\n formula: data.formula,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n canImport: data.canImport ? \"Y\" : \"N\",\r\n attribute: {\r\n column: attributeColumn.column,\r\n enabledpopupdefdoc: data.enabledpopupdefdoc ? \"Y\" : \"N\",\r\n mergecolumnrefdoc: mergeColumnRefDoc?.columnRefDoc || [],\r\n conditionrefdoc: conditions?.conditionrefdoc,\r\n refdoc: {\r\n doccontrol:\r\n docDataSource.docDataSource === \"Template\"\r\n ? data.doccontrol\r\n : false,\r\n docDataSource: docDataSource?.docDataSource,\r\n docReport:\r\n docDataSource.docDataSource === \"Report\"\r\n ? selectedReportRef?.docReport?.ReportTemplateId?.toString() ||\r\n \"\"\r\n : \"\",\r\n docNewDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docNewDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docEditDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docEditDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docCancelDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docCancelDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docref:\r\n selectedTemplateRef?.docref?.map((data: any, idx: any) => {\r\n return {\r\n id: data.TemplateId.toString(),\r\n };\r\n }) || [],\r\n },\r\n footerTable: footerTable,\r\n autoRowNumber: \"Y\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = {\r\n row: null,\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"10\") {\r\n const dataRequest = {\r\n template: {\r\n type: \"ed\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: \"\",\r\n height: data.height.toString(),\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: richText.value,\r\n },\r\n guid: generateQuickGuid(),\r\n };\r\n requestDataToLayout(dataRequest, props.itemIdx, props.layoutIdx);\r\n } else if (selected === \"11\") {\r\n const dataRequest = {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"12\") {\r\n const dataRequest = {\r\n type: \"im\",\r\n label: data.label,\r\n alter: data.alter,\r\n fileType: data.fileTypeImage,\r\n attribute: {\r\n maxFile: data.maxFile.toString(),\r\n width: data.width?.toString() || \"\",\r\n height: data.height?.toString() || \"\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"13\") {\r\n const dataRequest = {\r\n type: \"bt\",\r\n label: data.label,\r\n alter: data.textButton,\r\n URL: data.url,\r\n attribute: {\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: attributeButton.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"14\") {\r\n const dataRequest = {\r\n type: \"an\",\r\n label: data.label,\r\n alter: data.alter,\r\n digit: data.digit.toString(),\r\n attribute: {\r\n formats: attributeNumber.formats,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"15\") {\r\n const dataRequest = {\r\n type: \"rvs\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n digit: data.digit.toString(),\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n conditions: revisionConditions.conditions,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n }\r\n props.setVisibleCreateControl(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _template =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"9\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"10\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"11\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"12\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"13\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"14\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"15\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (selected === \"1\" || selected === \"3\") {\r\n return;\r\n } else if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit);\r\n }\r\n };\r\n return (\r\n <>\r\n <>\r\n \r\n {props.visibleCreateControl && (\r\n \r\n props.setVisibleCreateControl(!props.visibleCreateControl)\r\n }\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n // footer\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n handleKeyDown(e, handleSubmit);\r\n }}\r\n >\r\n
{component}
\r\n\r\n
\r\n props.setVisibleCreateControl(false)}\r\n className=\"hover-color-css-white-3 p-button-outlined\"\r\n icon=\"pi pi-times-circle\"\r\n />\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TinyMceComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../Services/UploadFileService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n canEditDoc?: boolean;\r\n}\r\n\r\nfunction TinyMceComponent(props: Props) {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const [loadingTextFromValue, setLoadingTextFromValue] =\r\n useState(false);\r\n\r\n const handleEditorChange = (content: any, editor: any) => {\r\n props.setTextFromValue(content);\r\n };\r\n\r\n return (\r\n
\r\n {loadingTextFromValue && (\r\n
\r\n \r\n
\r\n )}\r\n {props.canEditDoc ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default TinyMceComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./FormSettingComponent.css\";\r\nimport { Row, Col } from \"antd\";\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\n\r\nimport Column1 from \"../../../assets/ImageAddControl/Column1.svg\";\r\nimport Column2 from \"../../../assets/ImageAddControl/Column2.svg\";\r\nimport Field from \"../../../assets/ImageAddControl/Field.svg\";\r\nimport FluentText from \"../../../assets/ImageAddControl/FluentText.svg\";\r\n\r\nimport ModalCreateComponents from \"../../CreateControlComponents/ModalCreateComponents/ModalCreateComponents\";\r\nimport { Button as ButtonComponent } from \"../../../components/Button/Button\";\r\nimport { Button } from \"primereact/button\";\r\nimport ButtonForm from \"../../ButtonForm/ButtonForm\";\r\nimport { AiOutlineNumber, AiOutlinePlus } from \"react-icons/ai\";\r\n\r\nimport iconsDelete from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsDelete.svg\";\r\nimport iconsCopy from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsCopy.svg\";\r\nimport iconsEdit from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsEdit.svg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsFileEarmarkText,\r\n BsFileFont,\r\n BsSortNumericDown,\r\n BsTable,\r\n BsTrash,\r\n BsX,\r\n} from \"react-icons/bs\";\r\nimport { BiCopyAlt, BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n textFromValue: any;\r\n setTextFromValue: any;\r\n setViewManageComponent: any;\r\n viewManageComponent: any;\r\n setControlModel: any;\r\n};\r\n\r\nconst FormSettingComponent = (props: Props) => {\r\n const [viewModalControl, setViewModalControl] = useState(false);\r\n\r\n const [itemIdx, setItemsIdx] = useState();\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [layoutLength, setLayoutLength] = useState();\r\n\r\n const column1: any = {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n const column2: any = {\r\n items: {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n },\r\n };\r\n function findUnique(str: string, data: any) {\r\n var uniq = str;\r\n data.map((_dataLayout: any, index: number) => {\r\n _dataLayout.layout.map((_data: any, index: number) => {\r\n if (_data.template.label != undefined) {\r\n if (_data.template.type !== \"em\") {\r\n if (_data.template.label.includes(str)) {\r\n uniq = uniq + \"-copy\";\r\n console.log(str);\r\n console.log(_data.template.label);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return uniq;\r\n }\r\n\r\n function copyLayout(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n if (_components[itemIdx].layout.length == 1) {\r\n var unique = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol1: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol1);\r\n } else if (_components[itemIdx].layout.length == 2) {\r\n var unique1 = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n var unique2 = findUnique(\r\n _components[itemIdx].layout[1].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol2: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique1,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n ...data.layout[1].template,\r\n label: unique2,\r\n },\r\n data: data.layout[1].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol2);\r\n }\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteLayout(itemIdx: number, layoutIdx: number) {\r\n let _components = props.advanceForm.items;\r\n _components.splice(itemIdx, 1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteControl(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n _components[itemIdx].layout[layoutIdx].template = {};\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.advanceForm.items;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...items],\r\n }));\r\n };\r\n\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"l\") {\r\n return (\r\n <>\r\n \r\n Heading\r\n \r\n );\r\n } else if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n \r\n MultiChoice\r\n \r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"tb\") {\r\n return (\r\n <>\r\n \r\n Table\r\n \r\n );\r\n } else if (dataType === \"ed\") {\r\n return (\r\n <>\r\n \r\n Rich Text\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n } else if (dataType === \"bt\") {\r\n return (\r\n <>\r\n \r\n \r\n Button\r\n \r\n \r\n );\r\n } else if (dataType === \"an\") {\r\n return (\r\n <>\r\n \r\n \r\n AutoNumber\r\n \r\n \r\n );\r\n } else if (dataType === \"rvs\") {\r\n return (\r\n <>\r\n \r\n Revision\r\n \r\n );\r\n } else if (dataType === \"im\") {\r\n return (\r\n <>\r\n \r\n Image\r\n \r\n );\r\n }\r\n }\r\n function truncate(str: any, no_words: any) {\r\n return str.split(\" \").splice(0, no_words).join(\" \");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n console.log(props.advanceForm, \"ControlModel\");\r\n }}\r\n >\r\n
\r\n {\r\n props.setViewManageComponent(\"1\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: false },\r\n }));\r\n }}\r\n >\r\n Field\r\n \r\n\r\n {\r\n props.setViewManageComponent(\"2\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: true },\r\n }));\r\n }}\r\n >\r\n Text\r\n \r\n
\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {props.advanceForm.items.length === 0 ? (\r\n
\r\n

Please Add Column

\r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.advanceForm.items.map((data: any, idx: any) => (\r\n {\r\n setLayoutLength(data.layout.length);\r\n }}\r\n >\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {data.layout.map((_data: any, idx2: any) => (\r\n \r\n {_data.template.label ? (\r\n
\r\n \r\n deleteControl(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n
\r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n \r\n copyLayout(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n \r\n deleteLayout(idx, idx2)\r\n }\r\n >\r\n \r\n

\r\n
\r\n {\r\n setItemsIdx(idx);\r\n setLayoutIdx(idx2);\r\n setViewModalControl(true);\r\n }}\r\n >\r\n {_data.template?.type &&\r\n _data.template?.type != \"em\" ? (\r\n
\r\n
\r\n \r\n {/* {_data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )} */}\r\n\r\n {_data.template.textvalue ? (\r\n truncate(\r\n _data.template.textvalue,\r\n 3\r\n )\r\n ) : _data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {_data.template.textvalue\r\n ? \"\"\r\n : _data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"}\r\n {/* {_data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"} */}\r\n \r\n
\r\n
\r\n
\r\n {renderIconShowCreateControl(\r\n _data.template.type\r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n

\r\n \r\n Add Control\r\n

\r\n )}\r\n
\r\n
\r\n ))}\r\n \r\n )}\r\n \r\n \r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column1\r\n \r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column2.items);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column2\r\n \r\n
\r\n )}\r\n {props.viewManageComponent == \"2\" && (\r\n \r\n )}\r\n \r\n {viewModalControl && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormSettingComponent;\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport Item from \"antd/lib/list/Item\";\r\n\r\ninterface Props {\r\n advanceForm: any;\r\n updateData: any;\r\n setDialogVisible: any;\r\n}\r\n\r\nfunction SelectCondition(props: Props) {\r\n const [selectedColumn, setSelectedColumn] = useState();\r\n const [options, setOptions] = useState([]);\r\n const [value, setValue] = useState();\r\n\r\n const [numCondition, setNumCondition] = useState();\r\n const [isMultiValue, setIsMultiValue] = useState(false);\r\n const [multiOptions, setMultiOptions] = useState([]);\r\n const [multiValues, setMultiValues] = useState();\r\n const [isCheckBox, setIsCheckBox] = useState(false);\r\n const num_conditions = [\r\n { label: \"Equal to (=)\", value: \"Equal_to\" },\r\n { label: \"Not equal (!=)\", value: \"Not_equal\" },\r\n { label: \"Greater-Than (>)\", value: \"Greater_Than\" },\r\n {\r\n label: \"Greater-Than or Equal to (>=)\",\r\n value: \"Greater_Than_or_Equal_to\",\r\n },\r\n { label: \"Less-Than (<)\", value: \"Less_Than\" },\r\n { label: \"Less-Than or Equal to (<=)\", value: \"Less_Than_or_Equal_to\" },\r\n ];\r\n\r\n useEffect(() => {\r\n const advanceForm: any[] = props.advanceForm.items;\r\n let columns: any[] = [];\r\n advanceForm.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (\r\n layout.template.type !== \"l\" &&\r\n layout.template.type !== \"em\" &&\r\n layout.template.type !== \"tb\" &&\r\n !isEmptyObject(layout.template)\r\n ) {\r\n columns.push({ label: layout.template.label, control: layout });\r\n }\r\n });\r\n });\r\n setOptions(columns);\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n if (selectedColumn !== undefined) {\r\n if (selectedColumn.control) {\r\n if (selectedColumn.control.template.attribute !== undefined) {\r\n if (selectedColumn.control.template.attribute.items !== undefined) {\r\n setIsMultiValue(true);\r\n if (selectedColumn.control.template.type === \"cb\") {\r\n setIsCheckBox(true);\r\n } else {\r\n setIsCheckBox(false);\r\n }\r\n setMultiOptions(selectedColumn.control.template.attribute.items);\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [selectedColumn]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setValue(\"\");\r\n setSelectedColumn(e.value);\r\n setMultiValues(null);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={options}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setValue(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n if (selectedColumn?.control?.template?.type === \"c\") {\r\n setValue(\r\n Number(e.target.value).toFixed(\r\n Number(selectedColumn.control.template.attribute.decimal)\r\n )\r\n );\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n autoFocus\r\n />\r\n {value === undefined ||\r\n (value === \"\" && multiValues === null && (\r\n Value is required.\r\n ))}\r\n
\r\n
\r\n {selectedColumn?.control?.template?.type === \"c\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setNumCondition(e.value);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={num_conditions}\r\n />\r\n {numCondition === undefined && (\r\n Condition is required.\r\n )}\r\n
\r\n
\r\n )}\r\n {isMultiValue && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isCheckBox && (\r\n {\r\n setMultiValues(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n filter\r\n showClear\r\n filterBy=\"item\"\r\n optionLabel=\"item\"\r\n options={multiOptions}\r\n />\r\n )}\r\n {isCheckBox && (\r\n setMultiValues(e.value)}\r\n options={multiOptions}\r\n placeholder=\" ----- Select ----- \"\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n />\r\n )}\r\n {(value !== undefined && value !== \"\") ||\r\n (multiValues === null && (\r\n Condition is required.\r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n \r\n }\r\n onClickProps={() => props.setDialogVisible(false)}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n {\r\n let val: any;\r\n if (selectedColumn !== undefined) {\r\n if (value !== undefined && value !== \"\") {\r\n val = value;\r\n const data: any = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n if (numCondition) {\r\n val = value;\r\n data.action = numCondition;\r\n }\r\n props.updateData(data, \"condition\");\r\n }\r\n\r\n if (multiValues) {\r\n if (multiValues.item) {\r\n val = multiValues.item;\r\n const data = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n props.updateData(data, \"condition\");\r\n } else {\r\n let value = multiValues.map((item: any) => {\r\n return item.item;\r\n });\r\n let newValue = value.toString();\r\n const data = {\r\n field: selectedColumn.label,\r\n value: newValue,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n }\r\n }\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Save\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectCondition;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\nimport \"../ReferenceDocumentComponents/ReferenceDocumentComponents.css\";\r\nimport { Button } from \"antd\";\r\ninterface Props {\r\n name: string;\r\n dataKey: string;\r\n dataList: any;\r\n columns: any[];\r\n loading: boolean;\r\n setLoading: any;\r\n updateData: any;\r\n}\r\n\r\nfunction SelectDataFormTable(props: Props) {\r\n const [globalFilterValue1, setGlobalFilterValue1] = useState(\"\");\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [filters1, setFilters1] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [globalFilter, setGlobalFilter] = useState(\r\n Object.keys(props.dataList[0])\r\n );\r\n const [selectedData, setSelectedData] = useState([]);\r\n\r\n const dynamicColumns = props.columns.map((col: any) => {\r\n let field = \"\";\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = col.field.replace(\"Th\", \"En\");\r\n } else {\r\n field = col.field.replace(\"En\", \"Th\");\r\n }\r\n return ;\r\n });\r\n console.log(selectedData);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const value = e.target.value;\r\n let _filters1 = { ...filters1 };\r\n _filters1[\"global\"].value = value;\r\n setFilters1(_filters1);\r\n setGlobalFilterValue1(value);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n // props.updateData(e.data);\r\n // }}\r\n onSelectionChange={(e) => {\r\n setSelectedData(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {dynamicColumns}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n selectedData.forEach((e) => {\r\n props.updateData(e);\r\n });\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SelectDataFormTable;\r\n","import { Checkbox, Select, Table, TableProps } from \"antd\";\r\nimport React from \"react\";\r\nimport { IJsonCondition } from \"./AddMatrixCondition\";\r\nimport type { ColumnsType } from \"antd/es/table\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { PlusCircleOutlined } from \"@ant-design/icons\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\n\r\ntype ReadOnlyTableProps = {\r\n jsonConditionField: IJsonCondition[];\r\n templateField: any[];\r\n onChange: (data: IJsonCondition[]) => void;\r\n};\r\n\r\nconst ReadOnlyTable = ({\r\n jsonConditionField,\r\n templateField,\r\n onChange,\r\n}: ReadOnlyTableProps) => {\r\n const handleChange = (key: string, value: any, index: number) => {\r\n onChange(\r\n jsonConditionField.map((rowData, idx) => {\r\n if (idx === index) {\r\n rowData[key] = value;\r\n }\r\n return rowData;\r\n })\r\n );\r\n };\r\n\r\n const columns: ColumnsType = [\r\n {\r\n title: \"Read Only/Hide\",\r\n dataIndex: \"action\",\r\n key: \"action\",\r\n align: \"center\",\r\n width: 200,\r\n render: (val, record, index) => {\r\n return (\r\n handleChange(\"action\", e.value, index)}\r\n options={[\r\n { value: \"readonly\", label: \"Read only\" },\r\n { value: \"hide\", label: \"Hide\" },\r\n ]}\r\n style={{ width: \"100% \", fontSize: \"13px\", textAlign: \"left\" }}\r\n optionLabel=\"label\"\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Action Control\",\r\n dataIndex: \"fieldaction\",\r\n align: \"center\",\r\n key: \"fieldaction\",\r\n render: (val, record, index) => {\r\n return (\r\n <>\r\n {\r\n handleChange(\"fieldaction\", e.target.value, index);\r\n }}\r\n maxSelectedLabels={3}\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\", textAlign: \"left\" }}\r\n />\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: (\r\n {\r\n onChange([\r\n ...jsonConditionField,\r\n { action: \"readonly\", fieldaction: [], isRequester: \"N\" },\r\n ]);\r\n }}\r\n >\r\n \r\n \r\n ),\r\n align: \"center\",\r\n width: 100,\r\n render: (val, record, index) => (\r\n <>\r\n {\r\n onChange([\r\n ...jsonConditionField.filter((e, idx) => idx !== index),\r\n ]);\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReadOnlyTable;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport SelectDataFormTable from \"./SelectDataFormTable\";\r\nimport moment from \"moment\";\r\nimport { InputNumber, Radio, Select } from \"antd\";\r\nimport type { SelectProps } from \"antd\";\r\nimport { ReportListTemplateSelect } from \"../../../Services/ReportService\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport ReadOnlyTable from \"./ReadOnlyTable\";\r\n\r\ninterface Props {\r\n control: any;\r\n advanceForm: any;\r\n getFormErrorMessage: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n rowData?: any;\r\n allApproveLength: number;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n approveSlot?: number;\r\n}\r\n\r\nexport type IJsonCondition = {\r\n [x: string]: any;\r\n action: \"readonly\" | \"hide\";\r\n fieldaction: Fieldaction[];\r\n isRequester: string;\r\n};\r\n\r\ntype Fieldaction = {\r\n label: string;\r\n key: string;\r\n};\r\n\r\nexport default function AddMatrixForm(props: Props) {\r\n const [positionLevelOptions, setPositionLevelOptions] = useState([]);\r\n const [options, setOptions] = useState([]);\r\n const [matrixOptions, setMatrixOptions] = useState([]);\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [showDialogFootter, setShowDialogFootter] = useState(true);\r\n const [maxLevel, setMaxLevel] = useState();\r\n const [positionLevel, setPositionLevel] = useState();\r\n const [approvalMatrixDD, setApprovalMatrixDD] = useState();\r\n const [conditionsValue, setConditionsValue] = useState([]);\r\n const [specficApprovals, setSpecficApprovals] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const [loadingSelectData, setLoadingSelectData] = useState(true);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [temSeq, setTemSeq] = useState(0);\r\n const [loc, setLoc] = useState(false);\r\n const [dtp, setDtp] = useState(false);\r\n const [doa, setDoa] = useState(false);\r\n const [spc, setSpc] = useState(false);\r\n const [isParallel, setIsParallel] = useState(false);\r\n const [parallelType, setParallelType] = useState(\"\");\r\n const [approveSlot, setApproveSlot] = useState();\r\n const [readHide, setReadHide] = useState();\r\n const [isRead, setIsRead] = useState(false);\r\n const [isHide, setIsHide] = useState(false);\r\n const [isNewReq, setIsNewReq] = useState(false);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateSelected, setTemplateSelected] = useState([]);\r\n const [templateSelectedField, setTemplateSelectedField] = useState([]);\r\n\r\n const [jsonConditionField, setJsonConditionField] = useState([]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n useEffect(() => {\r\n if (props.rowData !== undefined) {\r\n setDefValue(props.rowData);\r\n }\r\n }, [matrixOptions]);\r\n\r\n useEffect(() => {\r\n if (props.signatureList !== undefined) {\r\n props.signatureList.map((e: any) => {\r\n if (e.seq == 1) {\r\n setDefSignatureID(e.masterId);\r\n } else if (e.value2 == \"Approved\") {\r\n setDefSignatureID(e.masterId);\r\n }\r\n });\r\n }\r\n }, [props.signatureList]);\r\n\r\n function setDefValue(rowData: any) {\r\n try {\r\n let conditions: any[] = [];\r\n if (\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n if (\r\n rowData.Conditions.Conditions !== undefined &&\r\n rowData.Conditions.Conditions !== null\r\n ) {\r\n rowData.Conditions.Conditions.map((con: any) => {\r\n conditions.push({\r\n field: con.field,\r\n value: con.value,\r\n });\r\n });\r\n setConditionsValue(conditions);\r\n }\r\n }\r\n if (\r\n rowData.ColumnJsonCondValue !== undefined &&\r\n rowData.ColumnJsonCondValue !== null &&\r\n rowData.ColumnJsonCondValue !== \"\"\r\n ) {\r\n let jsonCon: IJsonCondition[] = [\r\n ...(rowData.ColumnJsonCondValue.Conditions || []),\r\n ];\r\n props.control._formValues.jsonConditionField = jsonCon;\r\n setJsonConditionField(jsonCon);\r\n }\r\n\r\n if (rowData.ApproveType === 19) {\r\n setLoc(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.MaxLevelId = e;\r\n setMaxLevel(e);\r\n }\r\n });\r\n props.control._formValues.Line_of_Command = true;\r\n } else if (rowData.ApproveType === 22) {\r\n setDtp(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.PositionLevelId = e;\r\n setPositionLevel(e);\r\n }\r\n });\r\n props.control._formValues.Direct_to_Position = true;\r\n } else if (rowData.ApproveType === 21) {\r\n setDoa(true);\r\n props.matrixList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.ApproveMatrixId) {\r\n props.control._formValues.Approval_MatrixId = e;\r\n setApprovalMatrixDD(e);\r\n }\r\n });\r\n props.control._formValues.Design_of_Authority = true;\r\n } else if (rowData.ApproveType === 20) {\r\n setSpc(true);\r\n props.control._formValues.Specific_Approver = true;\r\n props.control._formValues.spc_isParallel = rowData.IsParallel;\r\n setIsParallel(rowData.IsParallel);\r\n props.control._formValues.IsApproveAll = rowData.IsApproveAll;\r\n setParallelType(rowData.IsApproveAll ? \"all\" : \"slot\");\r\n props.control._formValues.approverSlot = rowData.ApproveSlot;\r\n setSpecficApprovals(rowData.Specific_Approver);\r\n }\r\n } catch (error) {\r\n console.error(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n const updateChanges = (data: any, componentName?: string) => {\r\n try {\r\n if (data !== undefined) {\r\n if (componentName === \"condition\") {\r\n let conditions: any[] = conditionsValue;\r\n conditions.push({\r\n field: data.field,\r\n value: data.value,\r\n action: data.action,\r\n });\r\n setConditionsValue(conditions);\r\n } else if (data.EmployeeId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const user = data;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: user.EmployeeId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? user.NameEn : user.NameTh,\r\n Position:\r\n userData.employeeData.Lang === \"EN\"\r\n ? user.PositionNameEn\r\n : user.PositionNameTh,\r\n SpecificTypeId: 874,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n\r\n setSpecficApprovals([...specific_Approver]);\r\n } else if (data.RoleId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const role = data;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: role.RoleId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? role.NameEn : role.NameTh,\r\n Position: role.RoleDescription,\r\n SpecificTypeId: 875,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n } else {\r\n if (componentName === \"requestor\") {\r\n let specific_Approver: any[] = specficApprovals;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: null,\r\n EmployeeName: \"(Requestor)\",\r\n Position: \"\",\r\n SpecificTypeId: 876,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n }\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n function callSelectConditionForm() {\r\n setShowDialogFootter(true);\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n async function fetchMatrixData() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n setMatrixOptions([...matrix.filter((e: any) => e.IsActive === true)]);\r\n }\r\n\r\n async function callSelectUserDialog(apiName: string) {\r\n setDialogTitle(\"Add User\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n header: \"EmployeeCode\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n header: \"Employee Name\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n header: \"Position\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n header: \"Department\",\r\n },\r\n {\r\n field: \"Email\",\r\n header: \"Email\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n if (_dataDynamic !== undefined) {\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n async function callSelectRoleDialog(apiName: string) {\r\n setDialogTitle(\"Add Role\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"NameEn\",\r\n header: \"Name\",\r\n },\r\n {\r\n field: \"RoleDescription\",\r\n header: \"Description\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n setLoadingSelectData(false);\r\n if (_dataDynamic !== undefined) {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n },\r\n });\r\n };\r\n\r\n async function fecthPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n _dataDynamic.sort((a, b) => (a.PositionLevel < b.PositionLevel ? 1 : -1));\r\n setPositionLevelOptions(_dataDynamic);\r\n }\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n fetchMatrixData();\r\n fetchTemplatData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (specficApprovals && specficApprovals.length > 0) {\r\n specficApprovals.map((spc: any) => {\r\n if (spc.SignatureID === 0 || spc.SignatureID === -1) {\r\n spc.SignatureID = defSignatureID;\r\n }\r\n });\r\n props.control._formValues.specific_Approver = specficApprovals;\r\n }\r\n }, [specficApprovals]);\r\n\r\n useEffect(() => {\r\n if (props.control._fields.Conditions !== undefined) {\r\n props.control._formValues.Conditions = conditionsValue;\r\n }\r\n }, [conditionsValue]);\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any[] = specficApprovals;\r\n line[rowInx].SignatureID = event.value.masterId;\r\n setSpecficApprovals([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n let selectedValue: any[] = [];\r\n\r\n specficApprovals.map((e: any) => {\r\n if (e.SignatureID !== undefined && e.SignatureID !== -1) {\r\n props.signatureList.map((sig: any) => {\r\n if (e.SignatureID === sig.masterId) {\r\n selectedValue.push(sig);\r\n }\r\n });\r\n } else {\r\n const getSign = props.signatureList.find((sig: any) => {\r\n return rowData.SignatureId\r\n ? rowData.SignatureId === sig.masterId\r\n : sig.seq === \"1\";\r\n });\r\n\r\n selectedValue.push(getSign);\r\n }\r\n });\r\n\r\n return (\r\n // <>{selectedValue[option.rowIndex]}\r\n <>\r\n onSelected_Sinatures(e, option.rowIndex)}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"\r\n }\r\n placeholder=\"Select a Signature\"\r\n />\r\n \r\n );\r\n };\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = props.advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n label = template.type + \" : \" + template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n if (template.type === \"tb\") {\r\n for (let k = 0; k < template.attribute.column.length; k++) {\r\n let templateCol = template.attribute.column[k];\r\n label =\r\n template.type +\r\n \" : \" +\r\n template.label +\r\n \" : \" +\r\n templateCol.label;\r\n key = template.label + \" : \" + templateCol.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n }\r\n\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n function OnchangeTemplate(data: any) {\r\n let templateChange: any = [];\r\n\r\n let TemplateSelect = data;\r\n TemplateSelect.map((data: any) => {\r\n templateChange.push({\r\n key: data.key,\r\n type: data.type,\r\n lable: data.label,\r\n });\r\n });\r\n\r\n setTemplateSelectedField(templateChange);\r\n setTemplateSelected(data);\r\n }\r\n\r\n return (\r\n <>\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props?.rowData?.ApproveType !== 0 && (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n setDialogTitle(\"Select Condition\");\r\n callSelectConditionForm();\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Condition\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n (\r\n <>\r\n {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n value={conditionsValue}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n conditionsValue,\r\n setConditionsValue,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n {\r\n setJsonConditionField(data);\r\n field.onChange(data);\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n \r\n \r\n {props?.rowData?.ApproveType !== 0 && (\r\n <>\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setLoc(e.checked);\r\n setMaxLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={loc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n สายการบังคับบัญชา\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDtp(e.checked);\r\n setPositionLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={dtp}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ส่งถึงตำแหน่ง\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDoa(e.checked);\r\n setApprovalMatrixDD(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={doa}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติตามอำนาจการดำเนินการ\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setSpc(e.checked);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={spc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n เลือกผู้อนุมัติเอง\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setMaxLevel(e.value);\r\n }}\r\n disabled={!loc}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setPositionLevel(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!dtp}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setApprovalMatrixDD(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!doa}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={matrixOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {spc && (\r\n <>\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectUserDialog(\"Employee\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add User\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectRoleDialog(\"Roles\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Role\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n updateChanges(undefined, \"requestor\");\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Requestor\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (!val.target.checked) {\r\n props.control._fields.approverSlot = 0;\r\n }\r\n setIsParallel(val.target.checked);\r\n field.onChange(val.target.checked);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setParallelType(e.target.value);\r\n field.onChange(e.target.value);\r\n }}\r\n disabled={!isParallel}\r\n value={parallelType}\r\n >\r\n
\r\n Approve All\r\n
\r\n \r\n {/* set field cant show value */}\r\n Approve of \r\n (\r\n {\r\n field.onChange(e);\r\n\r\n console.log(\"value\", e, approveSlot);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n {/* (\r\n {\r\n field.onChange(e);\r\n }}\r\n />\r\n )}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n console.log(\"matrix=>\", specficApprovals);\r\n }}\r\n >\r\n \r\n \r\n
\r\n {spc && (\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setSpecficApprovals([...e.value]);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n specficApprovals,\r\n setSpecficApprovals,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n {props.getFormErrorMessage(\"specific_Approver\")}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n {\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n {!loadingSelectData && dialogBody}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport \"../ApproveMatrixComponent/ApproveMatrix.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport AddMatrixCondition, { IJsonCondition } from \"./AddMatrixCondition\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n setLogicsApprover: any;\r\n}\r\n\r\ninterface TemApprove {\r\n MaxLevelId?: any;\r\n ApprovalMatrixId?: any;\r\n ApproveType: number;\r\n Conditions: any;\r\n}\r\n\r\nexport default function ApproveMatrix(props: any) {\r\n const { toggleAlert } = useAlert();\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [redundant_Approver, setRedundant_Approver] = useState([]);\r\n const [auto_Approve, setAuto_Approve] = useState();\r\n const [allApprovals, setAllApprovals] = useState([]);\r\n const [selectedApprovals, setSelectedApprovals] = useState([]);\r\n const [templateLogics, setTemplateLogics] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [dialogMode, setDialogMode] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n const updateChanges = (data: any, isToggleDialog: boolean = true) => {\r\n let allSelected = allApprovals;\r\n let approveType = -1;\r\n\r\n if (\r\n data.Line_of_Command ||\r\n data.Direct_to_Position ||\r\n data.Design_of_Authority ||\r\n data.Specific_Approver\r\n ) {\r\n //for Edit\r\n if (data.Seq > 0) {\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.Conditions = {};\r\n if (data.Conditions?.length > 0) {\r\n approval.Conditions.Conditions = data.Conditions;\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n approval.ColumnJsonCondValue = {\r\n Conditions: data.jsonConditionField,\r\n };\r\n if (data.Line_of_Command) {\r\n approval.ApproveType = 19;\r\n approval.Type = \"Line of Command\";\r\n approval.MaxLevelId = data.MaxLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh;\r\n } else if (data.Direct_to_Position) {\r\n approval.ApproveType = 22;\r\n approval.Type = \"Direct to Position\";\r\n approval.MaxLevelId = data.PositionLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh;\r\n } else if (data.Design_of_Authority) {\r\n approval.ApproveType = 21;\r\n approval.Type = \"Design of Authority\";\r\n approval.MaxLevelId = data.Approval_MatrixId.ApproveMatrixId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh;\r\n } else if (data.Specific_Approver) {\r\n approval.ApproveType = 20;\r\n approval.Type = \"Specific Approver\";\r\n approval.Specific_Approver = data.specific_Approver;\r\n approval.IsParallel = data.spc_isParallel;\r\n approval.IsApproveAll = data.spc_isApproveAll === \"all\";\r\n approval.ApproveSlot =\r\n data.spc_isApproveAll === \"slot\"\r\n ? data.approverSlot\r\n : data.approverSlot;\r\n }\r\n }\r\n });\r\n\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n } else {\r\n //for Add\r\n if (data.Line_of_Command) {\r\n approveType = 19;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.MaxLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Line of Command\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Direct_to_Position) {\r\n approveType = 22;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.PositionLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Direct to Position\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Design_of_Authority) {\r\n approveType = 21;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.Approval_MatrixId.ApproveMatrixId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Design of Authority\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Specific_Approver) {\r\n approveType = 20;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length,\r\n Specific_Approver: data.specific_Approver,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Specific Approver\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n IsParallel: data.spc_isParallel,\r\n IsApproveAll: data.spc_isApproveAll === \"all\",\r\n ApproveSlot:\r\n data.spc_isApproveAll === \"slot\" ? data.approverSlot : null,\r\n };\r\n\r\n allSelected.push(approval);\r\n\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n }\r\n } else if (data.Seq === 0) {\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.ColumnJsonCondValue = {\r\n Conditions: data.jsonConditionField,\r\n };\r\n }\r\n });\r\n setAllApprovals([...allSelected]);\r\n\r\n reset();\r\n } else {\r\n toggleAlert({\r\n description: `Type of Approval is reqiure`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n if (isToggleDialog) toggleDialog();\r\n };\r\n\r\n function toggleDialog() {\r\n setDialogVisible(!dialogVisible);\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n if (name === \"specific_Approver\") {\r\n } else {\r\n return (\r\n errors[name] && (\r\n {errors[name].message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n function callAddMatrixForm() {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n const onRedundantChange = (e: any) => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (e.checked) {\r\n selected.push(e.value);\r\n } else {\r\n selected.splice(selected.indexOf(e.value), 1);\r\n }\r\n\r\n setRedundant_Approver(selected);\r\n };\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApprove:\r\n redundant_Approver.indexOf(\"Auto Approve By System\") !== -1,\r\n ApproverCanEdit:\r\n redundant_Approver.indexOf(\"Approver Can Edit Document\") !== -1,\r\n IsCheckAccess:\r\n redundant_Approver.indexOf(\"Approver can check access document\") !==\r\n -1,\r\n },\r\n }));\r\n }, [redundant_Approver]);\r\n\r\n const onDeleteRow = (rowData: any, rowIdx: number) => {\r\n let selected: any = [...allApprovals];\r\n let newSpcApprovals: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n className: \"matrix-confirmDialog\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n if (e.Seq !== 0) {\r\n e.Seq = idx + 1;\r\n if (e.Specific_Approver !== undefined) {\r\n e.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId = e.TemLineId !== undefined ? e.TemLineId : e.Seq;\r\n newSpcApprovals.push(spc);\r\n });\r\n }\r\n }\r\n });\r\n setAllApprovals([...selected]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n specificApprovers: newSpcApprovals,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let TemLineApprove: any[] = [];\r\n let spc_approval: any[] = [];\r\n let conditions: any[] = [];\r\n let logic: any[] = [];\r\n let TemplateLogic: any[] = [];\r\n\r\n allApprovals.map((approval: any, index: number) => {\r\n let LstCondition: any[] = [];\r\n\r\n if (\r\n approval.Conditions !== undefined &&\r\n approval.Conditions !== null &&\r\n approval.Conditions !== \"\"\r\n ) {\r\n if (\r\n approval.Conditions.Conditions !== undefined &&\r\n approval.Conditions.Conditions !== null\r\n ) {\r\n if (approval.Conditions.Conditions.length > 0) {\r\n approval.Conditions.Conditions.map((con: any, conIndex: number) => {\r\n const _con = {\r\n Column: con.field,\r\n Value: con.value,\r\n Seq: conIndex + 1,\r\n TemLineId: \"\",\r\n action: con.action,\r\n Tem_LineId: conIndex + 1,\r\n };\r\n conditions.push(_con);\r\n LstCondition.push(_con);\r\n });\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n }\r\n }\r\n\r\n if (approval.ApproveType === 21) {\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: approval.MaxLevelId,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n } else {\r\n if (approval.ApproveType === 20) {\r\n approval.Specific_Approver.map((e: any, eIdx: number) => {\r\n e.TemLineId = approval.TemLineId ?? index - 1;\r\n e.Seq = eIdx + 1;\r\n spc_approval.push(e);\r\n });\r\n }\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index,\r\n MaxLevelId: approval.MaxLevelId,\r\n ApprovalMatrixId: null,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n IsParallel: approval.IsParallel,\r\n IsApproveAll: approval.IsApproveAll,\r\n ApproveSlot: approval.ApproveSlot,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n\r\n // if (_approval.ApproveType === 0 && _approval.ColumnJsonCondValue) {\r\n // readOnlyCondition.push(JSON.parse(_approval.ColumnJsonCondValue));\r\n // }\r\n }\r\n });\r\n\r\n let logicControl: any[] = [];\r\n conditions.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.Column).length === 0\r\n ) {\r\n logicControl.push({\r\n field: \"\",\r\n label: cons.Column,\r\n action: cons.action,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((con: any) => {\r\n logic.push(\r\n JSON.stringify({\r\n label: con.label,\r\n methodtype: \"ApprovalMatrix\",\r\n InsertType: \"Last\",\r\n amountstatus: \"false\",\r\n Conditions: logicControl,\r\n })\r\n );\r\n });\r\n\r\n logic.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"datalineapprove\",\r\n Jsonvalue: logic,\r\n LstCondition: conditions,\r\n });\r\n });\r\n setTemplateLogics([...TemplateLogic]);\r\n\r\n props.setLogicsApprover([...TemplateLogic]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n TemLineApprove: [...TemLineApprove],\r\n specificApprovers: [...spc_approval],\r\n }));\r\n }, [allApprovals]);\r\n\r\n useEffect(() => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (props.controlModel.templateForm?.AutoApprove) {\r\n selected.push(\"Auto Approve By System\");\r\n }\r\n if (props.controlModel.templateForm?.ApproverCanEdit) {\r\n selected.push(\"Approver Can Edit Document\");\r\n }\r\n if (props.controlModel.templateForm?.IsCheckAccess) {\r\n selected.push(\"Approver can check access document\");\r\n }\r\n\r\n setAllApprovalsForControl();\r\n setAuto_Approve(props.controlModel.templateForm?.AutoApproveWhen);\r\n setRedundant_Approver(selected);\r\n }, []);\r\n\r\n function setAllApprovalsForControl() {\r\n try {\r\n let temp: any = props.controlModel.TemLineApprove;\r\n\r\n let spcApprove: any = props.controlModel.specificApprovers;\r\n\r\n let approvals: any = [];\r\n temp.map((tem: any, idx: number) => {\r\n let _con = \"\";\r\n let _ColumnJson = \"\";\r\n if (tem.Conditions !== \"\") {\r\n _con = JSON.parse(tem.Conditions);\r\n }\r\n if (tem.ColumnJsonCondValue) {\r\n if (tem.ColumnJsonCondValue !== \"\") {\r\n _ColumnJson = JSON.parse(tem.ColumnJsonCondValue);\r\n }\r\n }\r\n\r\n if (tem.ApproveType === 20) {\r\n let spcApproves: any = [];\r\n spcApprove.map((e: any) => {\r\n if (idx === e.TemLineId) {\r\n spcApproves.push(e);\r\n } else if (tem.TemLineId === e.TemLineId) {\r\n spcApproves.push(e);\r\n }\r\n });\r\n const approval: any = {\r\n IsParallel: tem.IsParallel,\r\n IsApproveAll: tem.IsApproveAll,\r\n ApproveSlot: tem.ApproveSlot,\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n Specific_Approver: spcApproves,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: \"Specific Approver\",\r\n };\r\n approvals.push(approval);\r\n } else if (tem.ApproveType === 21) {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMatrixData(tem.ApprovalMatrixId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.ApprovalMatrixId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n } else {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMaxLevelName(tem.MaxLevelId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.MaxLevelId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n }\r\n });\r\n\r\n setAllApprovals([...approvals]);\r\n } catch (error) {\r\n console.log(\"Matrix=>\", error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApproveWhen: auto_Approve,\r\n },\r\n }));\r\n }, [auto_Approve]);\r\n\r\n function GetMatrixData(matrixId: number) {\r\n let name: string = \"\";\r\n const matrixes = props.matrixList;\r\n\r\n matrixes.map((e: any) => {\r\n if (e.ApproveMatrixId === matrixId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetMaxLevelName(maxLevelId: number) {\r\n let name: string = \"\";\r\n const positions = props.positionList;\r\n positions.map((e: any) => {\r\n if (e.PositionLevelId === maxLevelId) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetApproveType(ApproveTypeId: number) {\r\n const approveType = [\r\n { id: 19, name: \"Line of Command\" },\r\n { id: 20, name: \"Specific Approver\" },\r\n { id: 21, name: \"Design of Authority\" },\r\n { id: 22, name: \"Direct to Position\" },\r\n { id: 0, name: \"Default\" },\r\n ];\r\n let name: string = \"\";\r\n approveType.map((e: any) => {\r\n if (e.id === ApproveTypeId) {\r\n name = e.name;\r\n }\r\n });\r\n\r\n return name;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n All Approvals\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {\r\n setDialogMode(\"Add\");\r\n setDialogTitle(\"Approve Matrix\");\r\n callAddMatrixForm();\r\n toggleDialog();\r\n }}\r\n setLabelProps={\"Add Matrix\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {\r\n if (e.dragIndex === 0 || e.dropIndex === 0) return;\r\n e.value.map((approval: any, index: number) => {\r\n approval.Seq = index + 1;\r\n let appSpcific: any[] = [];\r\n if (approval.Specific_Approver !== undefined) {\r\n approval.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId =\r\n approval.TemLineId !== undefined\r\n ? approval.TemLineId\r\n : index;\r\n appSpcific.push(spc);\r\n });\r\n approval.Specific_Approver = appSpcific;\r\n }\r\n });\r\n\r\n setAllApprovals(e.value);\r\n }}\r\n selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex}\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n let str = \"\";\r\n\r\n if (\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n rowData?.Conditions?.Conditions?.map(\r\n (con: any, index: number) => {\r\n if (index === 0) {\r\n str = str + (con.field + \":\" + con.value);\r\n } else {\r\n str =\r\n str + \",\" + (con.field + \":\" + con.value);\r\n }\r\n }\r\n );\r\n }\r\n return str;\r\n } catch (error) {}\r\n }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n if (rowData[\"ApproveType\"] === 20) {\r\n if (rowData[\"Specific_Approver\"] !== undefined) {\r\n let str = \"\";\r\n\r\n rowData[\"Specific_Approver\"].map(\r\n (approver: any, index: number) => {\r\n if (index === 0) {\r\n str = str + approver.EmployeeName;\r\n } else {\r\n str = str + \",\" + approver.EmployeeName;\r\n }\r\n }\r\n );\r\n return str;\r\n }\r\n } else {\r\n return rowData.MaxLevelName;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options) => {\r\n if (rowData.ApproveType !== 0) {\r\n return (\r\n {\r\n let allSelected = [...allApprovals];\r\n\r\n let newRow: any = JSON.parse(\r\n JSON.stringify(rowData)\r\n );\r\n newRow.TemLineId = undefined;\r\n if (newRow.ApproveType === 20) {\r\n const spcs = newRow.Specific_Approver\r\n ? JSON.parse(\r\n JSON.stringify(newRow.Specific_Approver)\r\n )\r\n : [];\r\n newRow.Specific_Approver = spcs.map(\r\n (spc: any) => {\r\n spc.TemSpecificId = undefined;\r\n spc.TemLineId = allSelected.length;\r\n return spc;\r\n }\r\n );\r\n }\r\n allSelected.push(newRow);\r\n newRow.Seq = allSelected.length;\r\n\r\n setAllApprovals([...allSelected]);\r\n }}\r\n >\r\n \r\n \r\n );\r\n } else {\r\n <>;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n setDialogMode(\"Edit\");\r\n setDialogBody(\r\n \r\n );\r\n toggleDialog();\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n if (rowData.ApproveType !== 0) {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n } else {\r\n <>;\r\n }\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Redundant Approval Condition\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ให้ระบบอนุมัติให้โดยอัตโนมัติ\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถแก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถจองข้อมูลที่แก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {redundant_Approver.indexOf(\"Auto Approve By System\") !== -1 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"F\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นแรก\r\n \r\n
\r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"L\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นสุดท้าย\r\n \r\n
\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n \r\n {dialogBody}\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n typeProps={\"button\"}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport \"./CheckboxCpmponents.css\";\r\n\r\ninterface Props {\r\n checkedProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n notLable?: any;\r\n readOnlyProps?: boolean;\r\n}\r\n\r\nexport const CheckboxCpmponents = (props: Props) => {\r\n return (\r\n
\r\n props.onChangeProps(e.checked, props.keyProps)}\r\n readOnly={props.readOnlyProps}\r\n />\r\n \r\n {props.notLable !== true && <>{\"Yes\"}}\r\n \r\n
\r\n );\r\n};\r\n","import { AutoComplete, Button, Modal, Radio, Space, Table } from \"antd\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport type { RadioChangeEvent } from \"antd\";\r\nimport \"../TemplateDetailComponents.css\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\ninterface Props {\r\n InformationDataProps: any;\r\n setControlModelObj?: any;\r\n state?: string;\r\n checkValidation?: any;\r\n isLoadProps: any;\r\n groupDataTemplate: any;\r\n setGroupDataTemplate: any;\r\n isVersion: boolean;\r\n}\r\n\r\nexport const InformationComponents = (props: Props) => {\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [informationDataProps, setInformationDataPropst] = useState({\r\n ...props.InformationDataProps,\r\n });\r\n const [filteredAutoComplete, setFilteredAutoComplete] = useState();\r\n const [key, setKey] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isloading, setIsloading] = useState(false);\r\n const [employee, setEmployee] = useState({});\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [toSelect, setToSelect] = useState([]);\r\n const [ccSelect, setCcSelect] = useState([]);\r\n const [toName, setToName] = useState([]);\r\n const [ccnName, setCcName] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const [categoryFilter, setCategoryFilter] = useState(\r\n props.groupDataTemplate\r\n );\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(toName);\r\n const [CCValue, setCCValue] = useState(ccnName);\r\n console.log(\"mylogg\",props.InformationDataProps);\r\n useEffect(() => {\r\n if (toSelect) {\r\n let filtered = toSelect.filter((e: any, idx: number) => idx <= 2);\r\n setToValue(filtered);\r\n }\r\n if (ccnName) {\r\n let filtered = ccSelect.filter((e: any, idx: number) => idx <= 2);\r\n setCCValue(filtered);\r\n }\r\n }, [toSelect, ccSelect]);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length === 0 &&\r\n Object.keys(employee).length === 0\r\n ) {\r\n _fechDepartment();\r\n _fechEmployee();\r\n dataToAndCC(employee);\r\n }\r\n }, [departmentList, employee]);\r\n\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length !== 0 &&\r\n Object.keys(employee).length !== 0\r\n ) {\r\n dataToAndCC(employee);\r\n }\r\n }, [props.InformationDataProps]);\r\n\r\n async function dataToAndCC(employeeData: any) {\r\n try {\r\n let _to =\r\n props.InformationDataProps.templateForm.ToId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.ToId.split(\",\");\r\n\r\n let _cc =\r\n props.InformationDataProps.templateForm.CcId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.CcId.split(\",\");\r\n let _employeeData =\r\n Object.keys(employeeData).length === 0 ? [] : employeeData;\r\n if (_employeeData.length === 0) return;\r\n let _toArray: any = [];\r\n let _toName: any = [];\r\n let _ccArray: any = [];\r\n let _ccName: any = [];\r\n if (_to.length !== 0) {\r\n // new code\r\n for(let item of _to){\r\n let emp = _employeeData?.find((x: any) => x?.NameEn === item);\r\n let _duplicate = _toArray?.some((x: any) => x?.NameEn === emp?.NameEn) \r\n if(emp && !_duplicate){\r\n _toArray.push(emp)\r\n }\r\n }\r\n // for (let i = 0; i < _employeeData.length; i++) {\r\n // for (let j = 0; j < _to.length; j++) {\r\n // if (_employeeData[i].NameEn === _to[j]) {\r\n // if (_toArray.length != 0) {\r\n // let _dataFilter = _toArray.filter(\r\n // (item: any) => item.NameEn === _employeeData[i].NameEn\r\n // );\r\n\r\n // if (_dataFilter.length === 0) {\r\n // _toArray.push(_employeeData[i]);\r\n // }\r\n // } else {\r\n // _toArray.push(employee[i]);\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n if (_to.length !== _toArray.length) {\r\n let _dataFilter = _to.filter((data: any) => {\r\n let _data = _toArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _toArray.push(_event);\r\n }\r\n });\r\n }\r\n _toArray.map((e: any) => {\r\n _toName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setToName(_toName);\r\n setToSelect(_toArray);\r\n }\r\n if (_cc.length !== 0) {\r\n // new code\r\n for(let item of _cc){\r\n let emp = _employeeData?.find((x: any) => x?.NameEn === item);\r\n let _duplicate = _ccArray?.some((x: any) => x?.NameEn === emp?.NameEn) \r\n if(emp && !_duplicate){\r\n _ccArray.push(emp)\r\n }\r\n }\r\n // for (let i = 0; i < _employeeData.length; i++) {\r\n // for (let j = 0; j < _cc.length; j++) {\r\n // if (_employeeData[i].NameEn === _cc[j]) {\r\n // if (_ccArray.length != 0) {\r\n // let _dataFilter = _ccArray.filter(\r\n // (item: any) => item.NameEn === _employeeData[i].NameEn\r\n // );\r\n // if (_dataFilter.length === 0) {\r\n // _ccArray.push(_employeeData[i]);\r\n // }\r\n // } else {\r\n // _ccArray.push(employee[i]);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // ไม่รู้ว่ามีไว้ทำไมเลยคอมเมนท์ไว้ก่อน เขาเขียนไว้\r\n // _employeeData.filter((_data: any) => {\r\n // let _dataCc = _cc.filter(\r\n // (dataCc: any) => _data.NameTh === dataCc || _data.NameEn === dataCc\r\n // );\r\n\r\n // if (_dataCc.length !== 0) {\r\n // if(ccEmpCode == _data.EmployeeId){\r\n // _ccArray.push(_data);\r\n // }\r\n // }\r\n // });\r\n if (_cc.length !== _ccArray.length) {\r\n let _dataFilter = _cc.filter((data: any) => {\r\n let _data = _ccArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _ccArray.push(_event);\r\n }\r\n });\r\n }\r\n _ccArray.map((e: any) => {\r\n _ccName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setCcName(_ccName);\r\n setCcSelect(_ccArray);\r\n }\r\n } catch (error) {}\r\n }\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n // setDialogVisible(!isDialogVisible);\r\n // setKey(key);\r\n // _fechEmployee();\r\n // setIsloading(true);\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n setKey(key);\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployee(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n _AutoComplete(data, key === \"ToId\" ? key : \"CcId\");\r\n setDialogVisible(!isDialogVisible);\r\n // false;\r\n }\r\n\r\n async function _fechEmployee() {\r\n const _employee = await GetAllEmployee();\r\n dataToAndCC(_employee);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setIsloading(true);\r\n }\r\n\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n if (props.InformationDataProps.templateForm?.DepartmentId !== 0) {\r\n let _dataFilterDepartmentId = _dataFilter.filter(\r\n (_department: any) =>\r\n _department.DepartmentId ===\r\n props.InformationDataProps.templateForm?.DepartmentId\r\n );\r\n setDepartmentSelect(_dataFilterDepartmentId[0]);\r\n }\r\n setDepartmentList(_dataFilter);\r\n }\r\n\r\n async function _DropdownDepartment(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n DepartmentId: data.DepartmentId,\r\n },\r\n }));\r\n\r\n setDepartmentSelect(data);\r\n }\r\n }\r\n async function _RadioButtonFormType(data: any, key: any) {\r\n if (data) {\r\n setDepartmentSelect({});\r\n }\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n isPublic: data,\r\n DepartmentId:\r\n data === false\r\n ? props.InformationDataProps.templateForm.DepartmentId\r\n : 0,\r\n },\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n async function _InputText(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n let checkValue: boolean = false;\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n if (type === \"ToId\") {\r\n let _components = toSelect;\r\n _components = [..._value];\r\n setToName([..._components]);\r\n setToSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _components.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let _components = ccSelect;\r\n _components = [..._value];\r\n\r\n setCcName([..._components]);\r\n setCcSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _components.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n async function _AutoComplete(data: any, key: any) {\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n let checkValue: boolean = false;\r\n\r\n if (key === \"ToId\") {\r\n let _ToArray: any = toName;\r\n _ToArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _ToArray.push(_value);\r\n setToName([..._ToArray]);\r\n setToSelect([..._ToArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _ToArray.toString(),\r\n },\r\n }));\r\n } else if (key === \"CcId\") {\r\n let _CcArray: any = ccnName;\r\n\r\n _CcArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _CcArray.push(_value);\r\n setCcName([..._CcArray]);\r\n setCcSelect([..._CcArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _CcArray.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n const searchAutoComplete = async (event: any) => {\r\n const _employee = employee;\r\n\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [..._employee];\r\n } else {\r\n _filteredEmployee = _employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredAutoComplete(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeEnter = (event: any, key: any) => {\r\n console.log(\"searchEvent\", event);\r\n\r\n let dataSelectEmployee: any[] =\r\n key === \"ToId\" ? [...toSelect] : [...ccSelect];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n\r\n _AutoComplete(dataSelectEmployee, key === \"ToId\" ? key : \"CcId\");\r\n }\r\n };\r\n const onChangeReportLang = (e: RadioChangeEvent) => {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ReportLang: e.target.value,\r\n },\r\n }));\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = toName.filter((e: any) => e !== event);\r\n setToName([...filtered]);\r\n setToSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = ccnName.filter((e: any) => e !== event);\r\n setCcName([...filtered]);\r\n setCcSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n function insertDataByEnter(event: any, type: any) {\r\n let toArr: any[] = toName;\r\n let ccArr: any[] = ccnName;\r\n\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"ToId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n toArr.push(auto);\r\n setToName([...toArr]);\r\n setToSelect([...toArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: toArr.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n ccArr.push(auto);\r\n setCcName([...ccArr]);\r\n setCcSelect([...ccArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: ccArr.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n

Information

\r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option?.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let _filtered;\r\n let value = e;\r\n if (value === \"\") {\r\n _filtered = props.groupDataTemplate;\r\n } else {\r\n _filtered = props.groupDataTemplate.filter((e: any) => {\r\n return e.value\r\n ?.toLowerCase()\r\n .startsWith(value.toLowerCase());\r\n });\r\n }\r\n\r\n setCategoryFilter([..._filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: value,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: e,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: \"\",\r\n },\r\n }));\r\n }}\r\n />\r\n {props.checkValidation.GroupTemplateName &&\r\n props.InformationDataProps.templateForm.GroupTemplateName\r\n .length === 0 && (\r\n Form Category is required\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkValidation.TemplateName &&\r\n props.InformationDataProps.templateForm.TemplateName.length ===\r\n 0 && Form Name is required}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.checkValidation.DocumentCode &&\r\n props.InformationDataProps.templateForm.DocumentCode.length ===\r\n 0 && DocType is required}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? toValue : toSelect}\r\n keyProps={\"ToId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && toSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && toSelect.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({toSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"ToId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? CCValue : ccSelect}\r\n keyProps={\"CcId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && ccSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && ccSelect.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({ccSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"CcId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n TH\r\n EN\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* validatt */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n */}\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { BsNewspaper } from \"react-icons/bs\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoPeopleOutline,\r\n IoShieldCheckmarkOutline,\r\n IoCloudUploadOutline,\r\n IoNewspaperOutline,\r\n} from \"react-icons/io5\";\r\nimport { FunctionOutlined } from \"@ant-design/icons\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { log } from \"console\";\r\nimport { GetAllMasterData } from \"../../Services/MasterDataService\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n isCopy?: any;\r\n isVersion?: any;\r\n}\r\n\r\ntype SideBarData = {\r\n component: any;\r\n};\r\n\r\nexport const TemplateDetailSideBarElement = (props: Props) => {\r\n let [checkMergeApi, setCheckMergeApi] = useState();\r\n const [sideBarData, setSideBarData] = useState([]);\r\n\r\n useEffect(() => {\r\n GetAllMasterData().then((res) => {\r\n const MergeAPI = res.filter(\r\n (e: any) => e.MasterType === \"MergeAPI\" && e.IsActive === true\r\n )[0];\r\n if (MergeAPI) {\r\n checkMergeApi = MergeAPI.Value1.toLowerCase();\r\n }\r\n let isEnabledPDFDesign = res.find(\r\n (e: any) =>\r\n e.MasterType == \"PDFDesign\" &&\r\n e.IsActive == true &&\r\n e.Value1 == \"Enabled\"\r\n );\r\n let _sideBarData: SideBarData[] = [];\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={\"information\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Form Design\"}\r\n icon={}\r\n page={\"form_setting\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Document\"}\r\n icon={}\r\n page={\"reference_document\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Information\"}\r\n icon={}\r\n page={\"reference_information\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Approval Matrix\"}\r\n icon={}\r\n page={\"approval_matrix\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Authorization\"}\r\n icon={}\r\n page={\"authorization\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n if (isEnabledPDFDesign) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"PDF Design\"}\r\n icon={}\r\n page={\"pdf_design\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n if (!props.isCopy && props.isVersion) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Version and History\"}\r\n icon={}\r\n page={\"version_and_history\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n if (checkMergeApi) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Template Logic\"}\r\n icon={}\r\n page={\"template_logic\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n\r\n setCheckMergeApi(checkMergeApi);\r\n setSideBarData([..._sideBarData]);\r\n });\r\n }, [props.curPage, props.isCopy, props.isVersion]);\r\n\r\n return (\r\n \r\n {sideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\n\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n dataProps?: any;\r\n searchDataProps?: any;\r\n showModalProps?: any;\r\n isDialogVisibleProps?: any;\r\n setisDialogVisibleProps?: any;\r\n keyProps?: any;\r\n onRowSelectProps?: any;\r\n valueProps?: any;\r\n setDataProps?: any;\r\n}\r\n\r\nexport default function EmployeeDialog(props: Props) {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [userData, setUserData] = useUserContext();\r\n\r\n useEffect(() => {\r\n if (props.isDialogVisibleProps === false) {\r\n setGlobalFilterValue(\"\");\r\n }\r\n }, [props.isDialogVisibleProps]);\r\n const onRowSelect = (event: any) => {\r\n let dataSelectEmployee: any[] = [];\r\n if (props.valueProps !== undefined && props.valueProps !== null) {\r\n dataSelectEmployee = [...props.valueProps];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === event.data.NameEn ||_data.NameTh === event.data.NameTh \r\n );\r\n \r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n }\r\n\r\n // console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n // console.log(\"dataSelectEmployee\", event.data);\r\n\r\n props.onRowSelectProps(dataSelectEmployee, props.keyProps);\r\n props.setisDialogVisibleProps(false);\r\n };\r\n const onGlobalFilterChange = async (e: any) => {\r\n const value = e;\r\n const dataEmp = props.dataProps;\r\n \r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (data.NameEn.toString().toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n } else if ( data.NameTh.toString().indexOf(value.toLowerCase()) !== -1){\r\n findData.push(data);\r\n } else if (data.EmployeeCode.toString().toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setGlobalFilterValue(value);\r\n props.setDataProps([...data]);\r\n // if (value.length === 0) {\r\n // props.setDataProps(props.searchDataProps);\r\n // }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n
\r\n \r\n }\r\n body={(rowData) => {\r\n console.log(\"data2\",rowData);\r\n if (rowData.Lang !== undefined) {\r\n if (userData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n return (\r\n <>\r\n \r\n \r\n {/* \r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n departmentListProps?: any;\r\n setValueProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\n\r\nexport const AuthorizationTableDepartment = (props: Props) => {\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [departmentPlaceholderDropdown, setDepartmentPlaceholderDropdown] =\r\n useState([]);\r\n useEffect(() => {\r\n gatPlaceholder();\r\n console.log(\"props.departmentListProps\", props.departmentListProps);\r\n }, [departmentSelect]);\r\n\r\n function gatPlaceholder() {\r\n let _array: any = [];\r\n let _arrayNull: any = [];\r\n if (\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentRequestProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n } else {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentManageProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setDepartmentPlaceholderDropdown(_arrayNull);\r\n }\r\n const onClickAction = (event: any) => {\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n const _setDepartmentSelect = (event: any, key: any) => {\r\n if (key !== undefined && key !== null) {\r\n let _event = {\r\n depID: event.DepartmentId.toString(),\r\n depname: event.NameTh,\r\n depaction: key.Position,\r\n };\r\n console.log(\"_event\", _event);\r\n\r\n props.setValueProps(_event, props.keyProps);\r\n setDepartmentSelect(event);\r\n }\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n function actionBodyTemplate(rowData: any, inx: any) {\r\n return (\r\n <>\r\n rowData.rowIndex\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- Please Select --\"\r\n // : inx.rowIndex < props.departmentManageProp.length\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- eeee --\"\r\n // \"-- Please Select --\"\r\n // props.departmentRequestProp[inx.rowIndex].depaction ===\r\n // undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentRequestProp[inx.rowIndex].depaction\r\n // : props.departmentManageProp[inx.rowIndex].depaction === undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentManageProp[inx.rowIndex].depaction\r\n // \"-- Please Select --\"\r\n }\r\n onChangeProps={(e: any) => _setDepartmentSelect(rowData, e)}\r\n optionLabelProps=\"Position\"\r\n optionsProps={[{ Position: \"Above\" }, { Position: \"Below\" }]}\r\n valueProps={\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? props.departmentRequestProp\r\n : props.departmentManageProp\r\n }\r\n keyProps={\"Department\"}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n }\r\n >\r\n }\r\n >\r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { AuthorizationTableDepartment } from \"../AuthorizationTable/AuthorizationTable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\ninterface PropsDepartment {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n setControlModel?: any;\r\n departmentListProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\ninterface PropsPermission {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n roleData?: any;\r\n setDataTable?: any;\r\n companyData?: any;\r\n departmentListProps?: any;\r\n controlModel?: any;\r\n advanceFormProps?: any;\r\n actionProps?: any;\r\n setDataAuthorization_view?: any;\r\n setDataAuthorization_viewEdit?: any;\r\n\r\n editTablePermissionProps?: any;\r\n}\r\ninterface PropsPermissionEdit {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n // roleData?: any;\r\n // setDataTable?: any;\r\n // companyData?: any;\r\n // departmentListProps?: any;\r\n // controlModel?: any;\r\n // advanceFormProps?: any;\r\n // actionProps?: any;\r\n // setDataAuthorization_view?: any;\r\n // editTablePermissionProps?: any;\r\n}\r\n\r\nexport const AuthorizationDepartmentModel = (props: PropsDepartment) => {\r\n const [filters, setFilters] = useState();\r\n const [departmentList, setDepartmentList] = useState();\r\n const [departmentSelectManage, setDepartmentSelectManage] = useState();\r\n const [departmentSelectRequest, setDepartmentSelectRequest] = useState(\r\n []\r\n );\r\n useEffect(() => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }, [props.departmentManageProp, props.departmentRequestProp]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n }\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }\r\n\r\n setDepartmentList(props.departmentListProps);\r\n setFilters(props.departmentListProps);\r\n }, [\r\n props.departmentListProps,\r\n props.departmentManageProp,\r\n props.departmentManageProp,\r\n ]);\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [props.keyProps]:\r\n props.keyProps == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? departmentSelectRequest\r\n : departmentSelectManage,\r\n }));\r\n props.setVisibleProps();\r\n };\r\n const onHide = () => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n props.setVisibleProps();\r\n };\r\n\r\n const AuthorizationTableData = (data: any, key: any) => {\r\n if (\r\n key == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n let _data: any = [...departmentSelectRequest];\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n }\r\n setDepartmentSelectRequest(_data);\r\n } else {\r\n let _data: any = [...departmentSelectManage];\r\n // _data.push(data);\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n } // _data.map((_dataDepart: any) => {\r\n // console.log(\"_dataDepart\", _dataDepart);\r\n // });\r\n\r\n setDepartmentSelectManage(_data);\r\n }\r\n\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.listRefTemplate,\r\n // \"listRefTemplate\"\r\n // );\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.templateForm,\r\n // \"templateForm\"\r\n // );\r\n // props.setVisibleProps();\r\n };\r\n\r\n const onGlobalFilterTemplate = (data: any, inx: any) => {\r\n const value = data;\r\n const _Arrayfilters: any = [];\r\n let _filters = { ...filters };\r\n for (const [key, value] of Object.entries(_filters)) {\r\n _Arrayfilters.push(value);\r\n }\r\n const _dataFilter = _Arrayfilters.filter((data: any) => {\r\n if (\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentCode.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (data.length === 0) {\r\n setDepartmentList(props.departmentListProps);\r\n } else {\r\n setDepartmentList(_dataFilter);\r\n }\r\n };\r\n const [globalFilterValueTemplate, setGlobalFilterValueTemplate] = useState();\r\n return (\r\n <>\r\n onHide()}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n
\r\n \r\n
\r\n

\r\n Search Department\r\n

\r\n \r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const AuthorizationPermissionModel = (props: PropsPermission) => {\r\n const [permissionType, setPermissionType] = useState([]);\r\n const [role, setRole] = useState([]);\r\n const [roleName, setRoleName] = useState([]);\r\n const [advanceFormLabalSelect, setAdvanceFormLabalSelect] = useState([]);\r\n const [valueType, setValueType] = useState({\r\n ValueType: \"Information\",\r\n });\r\n const [informition, setInformition] = useState({\r\n Informition: \"Employee Code\",\r\n });\r\n\r\n const [company, setCompany] = useState([]);\r\n const [department, setDepartment] = useState([]);\r\n const [departmentName, setDepartmentName] = useState([]);\r\n const [companyAction, setCompanyAction] = useState([]);\r\n const [companyActionEdit, setCompanyActionEdit] = useState(\"\");\r\n const [advanceFormLabal, setAdvanceFormLabal] = useState([]);\r\n const [validation, setValidation] = useState({\r\n RoleValidation: false,\r\n DepartmentValidation: false,\r\n CompanyValidation: false,\r\n });\r\n // const [advanceFormLabal, setValueType] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps !== undefined) {\r\n if (props.editTablePermissionProps.length !== 0) {\r\n if (props.editTablePermissionProps.permissiontype === \"Role\") {\r\n let arrayRole: any = [];\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.roleData.filter(\r\n (item: any) => data.id === item.RoleId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n setRole(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"Department\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n // let arrayRole: any = [];\r\n props.editTablePermissionProps.company?.map((data: any) => {\r\n let dataRole = props.companyData.filter(\r\n (item: any) => data.id === item.CompanyId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.departmentListProps.filter(\r\n (item: any) => data.id === item.DepartmentId.toString()\r\n );\r\n if (dataRole.length !== 0) {\r\n arrayDepartment.push(dataRole[0]);\r\n }\r\n setCompanyActionEdit(data.action);\r\n });\r\n\r\n setDepartment(arrayDepartment);\r\n setCompany(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n console.log(\r\n \"props.editTablePermissionPropseeeeeeeeeeeeee\",\r\n props.editTablePermissionProps,\r\n advanceFormLabalSelect,\r\n props.actionProps\r\n );\r\n let _arrayAdvanceFormLabal: any = [];\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n _advanceFormJson.items?.map((_data: any) => {\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // props.editTablePermissionProps.company.map((data: any) => {\r\n // let dataRole = props.companyData.filter(\r\n // (item: any) => data.id === item.CompanyId.toString()\r\n // );\r\n\r\n // if (dataRole.length !== 0) {\r\n // arrayRole.push(dataRole[0]);\r\n // }\r\n // });\r\n // props.editTablePermissionProps.ids.map((data: any) => {\r\n // let dataRole = props.departmentListProps.filter(\r\n // (item: any) => data.id === item.DepartmentId.toString()\r\n // );\r\n // if (dataRole.length !== 0) {\r\n // arrayDepartment.push(dataRole[0]);\r\n // }\r\n // setCompanyActionEdit(data.action);\r\n // });\r\n\r\n // setDepartment(arrayDepartment);\r\n // setCompany(arrayRole);\r\n let _Informition: any = informition;\r\n if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeCode\"\r\n ) {\r\n _Informition.Information = \"Employee Code\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeName\"\r\n ) {\r\n _Informition.Information = \"Employee Name\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeePosition\"\r\n ) {\r\n _Informition.Information = \"Employee Position\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDivision\"\r\n ) {\r\n _Informition.Information = \"Employee Division\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDepartment\"\r\n ) {\r\n _Informition.Informition = \"Employee Department\";\r\n }\r\n\r\n setInformition({ ..._Informition });\r\n // if(props.editTablePermissionProps.formcontrol.labeltype===\"Table\")\r\n // { setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));}else{\r\n // setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));\r\n // }\r\n console.log(\r\n \"props.editTablePermissionProps0,props.editTablePermissionProps\",\r\n props.editTablePermissionProps,\r\n props.actionProps,\r\n advanceFormLabalSelect,\r\n _arrayAdvanceFormLabal\r\n );\r\n }\r\n\r\n setPermissionType(props.editTablePermissionProps);\r\n }\r\n }\r\n }, [props.editTablePermissionProps]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n }\r\n\r\n if (props.actionProps === \"edit\") {\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.IsTextForm\r\n );\r\n\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ]\r\n );\r\n\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n if (_advanceFormJson.length !== 0) {\r\n _advanceForm(_advanceFormJson);\r\n }\r\n } else {\r\n if (props.advanceFormProps.items.length !== 0) {\r\n _advanceForm(props.advanceFormProps);\r\n }\r\n }\r\n }, [props.visibleProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"per=>PermissionType\", permissionType);\r\n }, [permissionType]);\r\n\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n function _advanceForm(data: any) {\r\n try {\r\n let _arrayAdvanceFormLabal: any = [];\r\n data.items.map((_data: any) => {\r\n // dataitems.template.type === \"dd\"\r\n // ? \"Dropdown\"\r\n // : dataitems.template.type === \"tb\"\r\n // ? \"Table\"\r\n // : dataitems.template.type === \"t\"\r\n // ? \"ShortText\"\r\n // : dataitems.template.type === \"d\"\r\n // ? \"Calendar\"\r\n // : dataitems.template.type === \"at\"\r\n // ? \"Attachmen\"\r\n // : dataitems.template.type === \"ta\"\r\n // ? \"MultiLine\"\r\n // : dataitems.template.type === \"c\"\r\n // ? \"Decimal\"\r\n // : dataitems.template.type === \"r\"\r\n // ? \"Choice\"\r\n // : dataitems.template.type === \"cb\"\r\n // ? \"MultiChoice\"\r\n // : dataitems.template.type === \"n\"\r\n // ? \"Number\"\r\n // : dataitems.template.type === \"an\"\r\n // ? \"AutoNumber\"\r\n // : dataitems.template.type === \"ed\"\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\" ||\r\n __data.template.type === \"dd\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"at\" ||\r\n __data.template.type === \"r\" ||\r\n __data.template.type === \"cb\" ||\r\n __data.template.type === \"n\" ||\r\n __data.template.type === \"an\" ||\r\n __data.template.type === \"ed\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let tableFilter = _arrayAdvanceFormLabal.filter(\r\n (item: any) =>\r\n item.label === props.editTablePermissionProps.formcontrol.label\r\n );\r\n if (tableFilter.length !== 0) {\r\n setAdvanceFormLabalSelect(tableFilter[0]);\r\n }\r\n }\r\n setAdvanceFormLabal(_arrayAdvanceFormLabal);\r\n } catch (error) {}\r\n }\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n let _arrayRolePermission: any = [];\r\n if (\r\n permissionType !== undefined &&\r\n permissionType !== null &&\r\n Object.keys(permissionType).length !== 0\r\n ) {\r\n if (permissionType.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (permissionType.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (permissionType.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n if (permissionType.permissiontype === \"Role\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: roleName.length === 0 ? \"\" : roleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n } else {\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: true,\r\n }));\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.company !== undefined &&\r\n permissionType.company !== null &&\r\n permissionType.company.length !== 0 &&\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n departmentName.length === 0 ? \"\" : departmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n } else {\r\n setValidation({\r\n DepartmentValidation:\r\n permissionType.ids === undefined ||\r\n permissionType.ids === null ||\r\n permissionType.ids.length === 0\r\n ? true\r\n : false,\r\n CompanyValidation:\r\n permissionType.company === undefined ||\r\n permissionType.company === null ||\r\n permissionType.company.length === 0\r\n ? true\r\n : false,\r\n });\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n if (permissionType.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" columnname: \" +\r\n permissionType.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n console.log(\"_objTable\", { _objTable, permissionType });\r\n\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n }\r\n } else {\r\n let dataFile = props.controlModel;\r\n if (permissionType.permissiontype === \"Role\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_viewEdit(dataFile, \"Authorization_view\");\r\n }\r\n };\r\n const onHide = () => {\r\n props.setVisibleProps(props.keyAutoComplete);\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n setAdvanceFormLabalSelect({});\r\n };\r\n\r\n function onChangeDropdow(data: any, key: any) {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n\r\n if (data !== null && data !== undefined) {\r\n data.id = _uuid.toString();\r\n setPermissionType(data);\r\n }\r\n }\r\n function onChangeDropdowLable(data: any, key: any) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n if (data !== undefined && data !== null) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n\r\n setAdvanceFormLabalSelect(data);\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n label: data.label,\r\n labeltype:\r\n data.type === \"dd\"\r\n ? \"Dropdown\"\r\n : data.type === \"tb\"\r\n ? \"Table\"\r\n : data.type === \"t\"\r\n ? \"ShortText\"\r\n : data.type === \"d\"\r\n ? \"Calendar\"\r\n : data.type === \"at\"\r\n ? \"Attachmen\"\r\n : data.typee === \"r\"\r\n ? \"Radio\"\r\n : data.type === \"c\"\r\n ? \"Decimal\"\r\n : \"\",\r\n\r\n labelcolumnname: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowColumnname(data: any, key: any) {\r\n if (data !== undefined && data !== null) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelcolumnname: data.label,\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowValueType(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setValueType(data);\r\n }\r\n // setValueType(data);\r\n }\r\n function onChangeDropdowInformition(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setInformition({ ...data });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelInformition: data.Informition.replaceAll(\" \", \"\"),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n if (key === \"RoleID\") {\r\n let _arrayRole: any = [];\r\n let _arrayRoleName: any = [];\r\n let _arrayRolePermission: any = [];\r\n data.map((_dataRole: any) => {\r\n _arrayRole.push({\r\n id: _dataRole.RoleId.toString(),\r\n name: _dataRole.NameEn,\r\n });\r\n _arrayRoleName.push(_dataRole.NameEn);\r\n });\r\n setRoleName(_arrayRoleName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayRole,\r\n }));\r\n setRole(data);\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: false,\r\n }));\r\n }\r\n }\r\n function _Company(data: any, key: any) {\r\n let _arrayCompany: any = [];\r\n data.map((_dataCompany: any) => {\r\n _arrayCompany.push({\r\n id: _dataCompany.CompanyId.toString(),\r\n name: _dataCompany.NameEn,\r\n });\r\n });\r\n setCompany(data);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n company: _arrayCompany,\r\n }));\r\n }\r\n function _department(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n\r\n data.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n setValidation({\r\n CompanyValidation: false,\r\n });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n setDepartmentName(_arrayDepartmentName);\r\n setDepartment(data);\r\n\r\n // setCompany(data);\r\n }\r\n\r\n function getPermissionTypeOptions(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n props.departmentListProps.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n\r\n function _Action(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>permissionType\", permissionType);\r\n\r\n setCompanyAction(data);\r\n department.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name:\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn,\r\n action: data === undefined || data === null ? \"\" : data.Position,\r\n });\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn + \" | \" + data.Position\r\n );\r\n });\r\n\r\n setDepartmentName(_arrayDepartmentName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n Permission: {\r\n ...permissionType.Permission,\r\n [key]: data === true ? \"T\" : \"F\",\r\n },\r\n }));\r\n }\r\n const InformationValue = [\r\n { Informition: \"EmployeeCode\" },\r\n { Informition: \"EmployeeName\" },\r\n { Informition: \"EmployeePosition\" },\r\n { Informition: \"EmployeeDivision\" },\r\n { Informition: \"EmployeeDepartment\" },\r\n ];\r\n return (\r\n <>\r\n {\r\n // onHide()\r\n }}\r\n onClick={() => console.log(\"informition\", informition)}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n {\r\n console.log(\"per=>\", { informition });\r\n }}\r\n >\r\n \r\n
\r\n

\r\n Add Permission\r\n

\r\n \r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {permissionType?.permissiontype === \"Role\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.RoleValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {advanceFormLabalSelect !== undefined &&\r\n advanceFormLabalSelect !== null ? (\r\n Object.keys(advanceFormLabalSelect).length !== 0 ? (\r\n advanceFormLabalSelect.column !== undefined &&\r\n advanceFormLabalSelect.column !== null ? (\r\n advanceFormLabalSelect.column.length !== 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* {\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>informition\", informition);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\r\n \"Employee Code\",\r\n \"Employee Name\",\r\n \"Employee Position\",\r\n \"Employee Division\",\r\n \"Employee Department\",\r\n ]}\r\n value={\r\n informition && informition. !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Informition\"}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"Department\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(e.value, \"Company\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.CompanyValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _department(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Department --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.DepartmentValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n {permissionType.ids.length !== 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n {(informition.Informition === \"Employee Department\" ||\r\n informition.Informition === \"Employee Division\") && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _newData = permissionType;\r\n _newData.formcontrol.labelaction = data.value;\r\n setPermissionType({ ..._newData });\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\"Above\", \"Below\"]}\r\n value={\r\n permissionType?.formcontrol?.labelaction !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Position\"}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType !== undefined &&\r\n permissionType !== null &&\r\n permissionType.length !== 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./AuthorizationComponent.css\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport {\r\n AuthorizationDepartmentModel,\r\n AuthorizationPermissionModel,\r\n} from \"./AuthorizationModel/AuthorizationModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n objectDataAuthorizationProps: any;\r\n setIsLoad?: any;\r\n};\r\n\r\nconst AuthorizationComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n // const [roleData, setRoleData] = useState([]);\r\n // const [companyData, setCompanyData] = useState([]);\r\n // const [departmentData, setDepartmentData] = useState([]);:\r\n const [visibleModel, setVisibleModel] = useState(false);\r\n const [visiblePermissionModel, setVisiblePermissionModel] =\r\n useState(false);\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [roleManage, setRoleManage] = useState();\r\n const [companyManage, setCompanyManage] = useState();\r\n const [companyRequest, setCompanyRequest] = useState();\r\n const [roleManageId, setRoleManageId] = useState();\r\n const [roleRequest, setRoleRequest] = useState();\r\n const [roleRequestId, setRoleRequestId] = useState();\r\n const [departmentManage, setDepartmentManage] = useState([]);\r\n const [departmentCompanyManage, setDepartmentCompanyManage] = useState(\r\n []\r\n );\r\n const [departmentCompanyRequest, setDepartmentCompanyRequest] = useState(\r\n []\r\n );\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [departmentRequest, setDepartmentRequest] = useState([]);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState(\r\n props.objectDataAuthorizationProps.Employee\r\n );\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [employeeSelect, setEmployeeSelect] = useState([]);\r\n const [permissionTable, setPermissionTable] = useState([]);\r\n const [Authorization_view, setAuthorization_view] = useState([]);\r\n const [keyAuthorization_view, setKeyAuthorization_view] = useState(\"\");\r\n const [manageCompanyJSON, setManageCompanyJSON] = useState([]);\r\n const [editTablePermission, setEditTablePermission] = useState([]);\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n useEffect(() => {\r\n console.log(\"permissionTable\", permissionTable);\r\n }, [permissionTable]);\r\n\r\n useEffect(() => {\r\n if (props.controlModel !== undefined) {\r\n _DepartmentGetJson(props.controlModel);\r\n }\r\n if (props.controlModel === undefined || props.controlModel === null) {\r\n } else {\r\n if (props.actionProps === \"edit\") {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0 ||\r\n Object.keys(props.controlModel.Authorization_view).length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n if (_dataJson.length !== 0) {\r\n let _arrayRoleTable: any = [];\r\n _dataJson.map((data: any) => {\r\n let _arrayRolePermission: any = [];\r\n if (Object.keys(data).length !== 0) {\r\n if (data.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (data.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (data.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (data.permissiontype === \"Role\") {\r\n let _arrayRoleName: any = [];\r\n data.ids.map((_dataRole: any) => {\r\n _arrayRoleName.push(_dataRole.name);\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayRoleName.length === 0\r\n ? \"\"\r\n : _arrayRoleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n if (data.permissiontype === \"Department\") {\r\n let _arrayDepartmentName: any = [];\r\n\r\n data.ids.map((_department: any) => {\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.name\r\n : _department.name + \" | \" + _department.action\r\n );\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayDepartmentName.length === 0\r\n ? \"\"\r\n : _arrayDepartmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n\r\n if (data.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n console.log(\r\n \"data.formcontroldata.formcontrol\",\r\n data.formcontrol\r\n );\r\n\r\n if (data.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" columnname:\" +\r\n data.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n _arrayRoleTable.push(_objTable);\r\n\r\n // props.setDataAuthorization_view(permissionType, props.keyAutoComplete);\r\n // props.setDataTable(_objTable);\r\n // props.setVisibleProps(props.keyAutoComplete);\r\n // console.log(\"_objTable\", _objTable);\r\n }\r\n if (data.permissiontype === \"Public\") {\r\n let _objTable;\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n }\r\n });\r\n console.log(\"_arrayRoleTable_arrayRoleTable\", _arrayRoleTable);\r\n\r\n setPermissionTable(_arrayRoleTable);\r\n setAuthorization_view(_dataJson);\r\n }\r\n } else {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n setAuthorization_view(_dataJson);\r\n }\r\n }\r\n }, [props.controlModel, props.objectDataAuthorizationProps]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n console.log(\"_dataFilter\", _dataFilter);\r\n\r\n setDepartmentList(_dataFilter);\r\n }\r\n async function _dataTable(data: any) {\r\n if (editTablePermission.length === 0) {\r\n let _array: any = permissionTable;\r\n _array.push(data);\r\n console.log(\"dataaaaaaaaaaaaaaaaaa\", data, _array);\r\n setPermissionTable(_array);\r\n }\r\n }\r\n\r\n async function _dataAuthorization_view(data: any, key: any) {\r\n let _array: any = Authorization_view;\r\n console.log(\"setDataAuthorization_view=>_array\", { _array });\r\n\r\n console.log(\"setDataAuthorization_view\", { data, key });\r\n _array.push(data);\r\n setAuthorization_view(_array);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _array,\r\n }));\r\n }\r\n async function _dataAuthorization_viewEdit(data: any, key: any) {\r\n console.log(\"setDataAuthorization_view\", data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n ...data,\r\n }));\r\n }\r\n\r\n // const fetchRole = async () => {\r\n // const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n // setRoleData([...roles]);\r\n // };\r\n // const fetchCompany = async () => {\r\n // const companies = await dataCompany();\r\n // setCompanyData([...companies]);\r\n // };\r\n // const fetchDepartment = async () => {\r\n // const departments = await GetDepartment();\r\n // setDepartmentData([...departments]);\r\n // };\r\n function _VisibleModel(data: any) {\r\n setKeyAutoComplete(data);\r\n\r\n if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n setEditTablePermission([]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n } else {\r\n setVisibleModel(!visibleModel);\r\n }\r\n }\r\n function _VisibleEditModel(key: any, data: any, inx: any) {\r\n setKeyAutoComplete(key);\r\n\r\n setEditTablePermission(props.controlModel.Authorization_view[inx.rowIndex]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n\r\n // setKeyAutoComplete(data);\r\n // if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n // setVisiblePermissionModel(!visiblePermissionModel);\r\n // } else {\r\n // setVisibleModel(!visibleModel);\r\n // }\r\n }\r\n\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n }\r\n async function onDeleteRow(dataRow: any, option: any) {\r\n let _arrayPush: any = [];\r\n let _arrayPushPermissionTable: any = [];\r\n Authorization_view.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPush.push(data);\r\n }\r\n });\r\n permissionTable.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPushPermissionTable.push(data);\r\n }\r\n });\r\n setAuthorization_view(_arrayPush);\r\n setPermissionTable(_arrayPushPermissionTable);\r\n if (\r\n keyAuthorization_view === undefined ||\r\n keyAuthorization_view === null ||\r\n keyAuthorization_view.length === 0\r\n ) {\r\n } else {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [keyAuthorization_view]: _arrayPush,\r\n }));\r\n }\r\n }\r\n function _GameRoleID(data: any, key: any) {\r\n var _dataRole = data.split(\",\");\r\n let _arrayRole: any = [];\r\n _dataRole.map((dataRole: any) => {\r\n let roleDataFilter = props.objectDataAuthorizationProps.Role.filter(\r\n (_dataFilter: any) => _dataFilter.RoleId.toString() === dataRole\r\n );\r\n\r\n if (roleDataFilter.length !== 0) {\r\n _arrayRole.push(roleDataFilter[0]);\r\n }\r\n });\r\n if (key === \"RoleID\") {\r\n setRoleManage(_arrayRole);\r\n } else {\r\n setRoleRequest(_arrayRole);\r\n }\r\n }\r\n function _DepartmentGetJson(data: any) {\r\n console.log(\"data\", data);\r\n\r\n if (props.actionProps === \"add\") {\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (data.Authorization_manage_department !== null) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _DepartmentData = data.Authorization_manage_department;\r\n\r\n setDepartmentManage(_DepartmentData);\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_arrayManageCompanyDepartment.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n // else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setCompanyRequest(_arrayManageCompany);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n console.log(\"datadatadatadatadata\", data, companyDataFilter);\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n console.log(\"_dataFilterCompany[0]\", _dataFilterCompany);\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111jjjjjjjjj\",\r\n _arrayManageCompanyDepartment,\r\n _arrayManageCompany\r\n );\r\n if (_arrayManageCompany.length !== 0) {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_department !== null &&\r\n data.Authorization_manage_department.length !== 0\r\n ) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_department === undefined ||\r\n data.Authorization_manage_department === null ||\r\n data.Authorization_manage_department.length === 0\r\n ? null\r\n : data.Authorization_manage_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentManage(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n if (\r\n data.Authorization_request_department !== null &&\r\n data.Authorization_request_department.length !== 0\r\n ) {\r\n if (data.Authorization_request_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_department === undefined ||\r\n data.Authorization_request_department === null ||\r\n data.Authorization_request_department.length === 0\r\n ? null\r\n : data.Authorization_request_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentRequest(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentRequest([]);\r\n }\r\n }\r\n // console.log(\"data.templateForm\", data.templateForm);\r\n\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId === undefined ||\r\n data.templateForm.SpecificEmployeeId === null ||\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n }\r\n function _AutoComplete(data: any, key: any) {\r\n let _specificEmployeeId: any = [];\r\n // let _employeeRequest=employeeRequest\r\n\r\n if (key !== \"SpecificEmployeeId\") {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n } else {\r\n let specificEmployeeId = data;\r\n specificEmployeeId.map((data: any) => {\r\n _specificEmployeeId.push(data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n _specificEmployeeId.length === 0\r\n ? \"\"\r\n : _specificEmployeeId.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n let _RoleIdManage: any = [];\r\n let _RoleIdRequest: any = [];\r\n if (key === \"RoleID\") {\r\n let _roleIdManage = data;\r\n _roleIdManage.map((data: any) => {\r\n _RoleIdManage.push(data.RoleId);\r\n });\r\n\r\n setRoleManage(data);\r\n }\r\n if (key === \"SpecificRoleID\") {\r\n let _roleIdRequest = data;\r\n _roleIdRequest.map((data: any) => {\r\n _RoleIdRequest.push(data.RoleId);\r\n });\r\n setRoleRequest(data);\r\n }\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n key === \"RoleID\"\r\n ? _RoleIdManage.toString()\r\n : _RoleIdRequest.toString(),\r\n },\r\n }));\r\n }\r\n function _Company(data: any, key: any) {\r\n let _CompanyManage: any = [];\r\n let _CompanyRequest: any = [];\r\n if (\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ) {\r\n let _companyManage = data;\r\n _companyManage.map((data: any) => {\r\n _CompanyManage.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n\r\n setCompanyManage(data);\r\n // for (let i = 0; i < _companyManage.length; i++) {\r\n\r\n // // props.objectDataAuthorizationProps.Department\r\n // let _dataFilterDepartment= props.objectDataAuthorizationProps.Department.filter((item:any)=> item.CompanyCode ===_companyManage[i].CompanyCode)\r\n // if(_dataFilterDepartment.length!==0){\r\n\r\n // }\r\n // }\r\n // console.log(\"_companyManage\", _companyManage);\r\n\r\n // setCompanyManageDepartment(data);\r\n }\r\n if (\r\n key === \"Authorization_request_company\" ||\r\n key === \"Authorization_request_company\"\r\n ) {\r\n let _companyRequest = data;\r\n _companyRequest.map((data: any) => {\r\n _CompanyRequest.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n setCompanyRequest(data);\r\n // setCompanyRequestDepartment(data);\r\n }\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]:\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ? _CompanyManage\r\n : _CompanyRequest,\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n Authorization for Manage\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_company\"\r\n : \"Authorization_manage_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_department\"\r\n : \"Authorization_manage_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentManage.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Authorization for Request\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n showModal(\"SpecificEmployeeId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined || employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"SpecificRoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_company\"\r\n : \"Authorization_request_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n filter\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_department\"\r\n : \"Authorization_request_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentRequest.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Authorization for View\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n console.log(\r\n \"Authorization for View,Authorization for View\",\r\n permissionTable\r\n )\r\n }\r\n >\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\"\r\n )\r\n }\r\n setLabelProps={\"Add Permission\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {}}\r\n // selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n // setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n }\r\n >\r\n\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n }\r\n body={(rowData: any, inx: any) => (\r\n {\r\n _VisibleEditModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\",\r\n rowData,\r\n inx\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1 ||\r\n departmentCompanyManage.length !== 0\r\n ? departmentCompanyManage\r\n : props.objectDataAuthorizationProps.Department\r\n : keyAutoComplete === \"Authorization_request_department\"\r\n ? props.controlModel?.Authorization_request_company?.length > 1 ||\r\n departmentCompanyRequest.length !== 0\r\n ? departmentCompanyRequest\r\n : props.objectDataAuthorizationProps.Department\r\n : props.objectDataAuthorizationProps.Department\r\n }\r\n setVisibleProps={_VisibleModel}\r\n setControlModel={props.setControlModel}\r\n keyProps={keyAutoComplete}\r\n departmentRequestProp={departmentRequest}\r\n departmentManageProp={departmentManage}\r\n />\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AuthorizationComponent;\r\n","import moment from \"moment\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { sorterFunc } from \"../../../../Helper/SortingFunction\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ntype Props = {\r\n dataProps?: any;\r\n setDataProps?: any;\r\n versionCheckProps?: any;\r\n};\r\n\r\nexport const VersionAndHistoryTable = (props: Props) => {\r\n useEffect(() => {\r\n if (props.dataProps) {\r\n props.dataProps.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, \"ModifiedDate\", \"dec\");\r\n });\r\n }\r\n }, [props.dataProps]);\r\n async function previewVersionTemplate(\r\n documentCode: string,\r\n rowIndex: number\r\n ) {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n rowIndex + 1\r\n }&Version`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n\r\n // window.open(\r\n // `${baseUrl}/Request?MemoID=0&TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n // rowIndex + 1\r\n // }&Version`,\r\n // \"_blank\"\r\n // );\r\n }\r\n const actionBodyTemplate = (rowData: any) => {\r\n let someDateString = moment(rowData.ModifiedDate, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy HH:mm:ss\");\r\n return NewDate;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n }\r\n headerStyle={{ width: \"3em\" }}\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {options.rowIndex + 1}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.ModifiedByName}\r\n \r\n );\r\n }}\r\n >\r\n\r\n \r\n }\r\n // headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n
\r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { VersionAndHistoryTable } from \"./VersionAndHistoryTable/VersionAndHistoryTable\";\r\n\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n setVersionCheckProps?: any;\r\n VersionCheckProps?: any;\r\n VersionDataProps?: any;\r\n SetVersionDataProps: any;\r\n VersionTempVCProps?: any;\r\n version?: any;\r\n templateListVersionHistoryProps?: any;\r\n ObjectDataAuthorizationProps?: any;\r\n};\r\n\r\nconst VersionAndHistoryComponents = (props: Props) => {\r\n useEffect(() => {\r\n console.log(\r\n \"props.templateListVersionHistoryPropsprops.templateListVersionHistoryProps\",\r\n props.templateListVersionHistoryProps,\r\n props.VersionTempVCProps\r\n );\r\n\r\n for (let i = 0; i < props.templateListVersionHistoryProps.length; i++) {\r\n console.log(\r\n \"props.templateListVersionHistoryProps[i]\",\r\n props.templateListVersionHistoryProps[i],\r\n props.ObjectDataAuthorizationProps\r\n );\r\n\r\n let _dataFilter = props.ObjectDataAuthorizationProps.filter(\r\n (item: any) =>\r\n Number(props.templateListVersionHistoryProps[i].ModifiedBy) ===\r\n item.EmployeeId\r\n );\r\n if (_dataFilter.length !== 0) {\r\n props.templateListVersionHistoryProps[i].ModifiedByName =\r\n _dataFilter[0].NameEn;\r\n console.log(\"_dataFilter_dataFilter_dataFilter\", _dataFilter);\r\n } else {\r\n console.log(\"_dataFilter_dataFilter_dataFilter0\", _dataFilter);\r\n }\r\n }\r\n }, [\r\n props.ObjectDataAuthorizationProps,\r\n props.templateListVersionHistoryProps,\r\n ]);\r\n // useEffect(() => {\r\n // console.log(\"props.VersionDataProps.value2\", props.VersionDataProps.value2);\r\n // }, [props.VersionDataProps.value2]);\r\n useEffect(() => {\r\n console.log(\"controlModelVersionDataProps\", props.VersionDataProps);\r\n console.log(\"controlModelVersionTempVCProps\", props.VersionTempVCProps);\r\n console.log(\"controlModelversion\", props.version);\r\n if (\r\n props.VersionDataProps.masterId !== undefined &&\r\n props.VersionDataProps.masterId !== null &&\r\n props.VersionDataProps.masterId.length !== 0\r\n ) {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n // props.SetVersionDataProps((prevState: any) => ({\r\n // ...prevState,\r\n // ...props.VersionDataProps,\r\n // }));\r\n }\r\n } else {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n let value2 = props.version.value2.split(\"|\");\r\n\r\n if (\r\n props.VersionDataProps.value2 === undefined ||\r\n props.VersionDataProps.value2 === null ||\r\n props.VersionDataProps.value2.length === 0 ||\r\n props.VersionDataProps.value3 === undefined ||\r\n props.VersionDataProps.value3 === null ||\r\n props.VersionDataProps.value3.length === 0 ||\r\n props.VersionDataProps.value5 === undefined ||\r\n props.VersionDataProps.value5 === null ||\r\n props.VersionDataProps.value5.length === 0\r\n ) {\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n value3: \"Editing\",\r\n value5:\r\n props.VersionDataProps.value5 !== undefined &&\r\n props.VersionDataProps.value5 !== null &&\r\n props.VersionDataProps.value5.length !== 0\r\n ? props.VersionDataProps.value5\r\n : value2[1],\r\n }));\r\n }\r\n }\r\n }\r\n }, [props.VersionDataProps]);\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setVersionCheckProps(data);\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n [key]: data.toString(),\r\n }));\r\n }\r\n return (\r\n <>\r\n \r\n
\r\n \r\n Version and History\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {props.VersionCheckProps && props.VersionDataProps.masterId !== \"\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VersionAndHistoryComponents;\r\n","export const dataCompany = async () => {\r\n const respone = await fetch(\"/api/MasterCompany/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return (respone || []).filter((e: any) => e.IsActive === true);\r\n};\r\nexport const AddCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/AddCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UpdateCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/UpdateCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\ntype Props = {\r\n visible: boolean;\r\n setVisible: (value: boolean) => void;\r\n header: string;\r\n refTemplateList: any[];\r\n rowSelectedData: any;\r\n onSaveObjTable: (Key: string, objTable: any) => void;\r\n};\r\n\r\nconst TableTemplateDialogComponentsFixed: React.FC = ({\r\n header,\r\n setVisible,\r\n visible,\r\n refTemplateList,\r\n rowSelectedData,\r\n onSaveObjTable,\r\n ...props\r\n}) => {\r\n const [objectTable, setObjectTable] = useState([]);\r\n\r\n const onShow = () => {\r\n console.log(\"ref=>rowSelectedData.objTable\", rowSelectedData);\r\n\r\n if (rowSelectedData?.objTable && rowSelectedData?.objTable.length !== 0) {\r\n setObjectTable([...rowSelectedData.objTable]);\r\n } else {\r\n let _objTable: any[] = [];\r\n rowSelectedData.column.forEach((e: any) => {\r\n _objTable.push({\r\n Key: e.control.template.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n });\r\n setObjectTable([..._objTable]);\r\n }\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n function actionBodyTemplate(rowData: any, option: any) {\r\n let options: any[] = [];\r\n\r\n let advanceForm: any = null;\r\n\r\n refTemplateList?.map((temp: any) => {\r\n if (\r\n temp.DocumentCode ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[0]\r\n ) {\r\n advanceForm = JSON.parse(temp.AdvanceForm);\r\n }\r\n });\r\n if (advanceForm) {\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type === \"tb\" &&\r\n _layout.template.label ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[1]\r\n ) {\r\n _layout.template.attribute.column.forEach((e: any) => {\r\n options.push({\r\n Key: rowData.Key,\r\n Template: null,\r\n Value: e.control.template.label,\r\n TypeControl: convertType(e.control.template.type),\r\n objTable: [],\r\n });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n let _newObj = objectTable;\r\n _newObj = _newObj.map((obj: any) => {\r\n if (e.value) {\r\n if (obj.Key === e.value.Key) {\r\n obj = e.value;\r\n }\r\n } else if (rowData.Key === obj.Key) {\r\n obj.Value = null;\r\n }\r\n return obj;\r\n });\r\n\r\n setObjectTable([..._newObj]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n \r\n );\r\n }\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => {\r\n onSaveObjTable(header, objectTable);\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const hide = () => {\r\n setVisible(false);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableTemplateDialogComponentsFixed;\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport { AutoComplete } from \"antd\";\r\nimport TableTemplateDialogComponentsFixed from \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { IMasterDataModel } from \"../../../IRequestModel/IMasterDataModel\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n} from \"../../../Services/TemplateService\";\r\n\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n templateList: any[];\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n};\r\nconst ReferenceDocumentDialogFix: React.FC = ({\r\n listRefTemplateProps,\r\n templateList,\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n ...props\r\n}) => {\r\n const [referenceDocumentDialogObject, setReferenceDocumentDialogObject] =\r\n useState({\r\n RefDocDisplay: \"\",\r\n Display: { Position: \"Top\" },\r\n Mode: { Mode: \"Single\" },\r\n Affiliation: false,\r\n Quarter: false,\r\n ReferenceAttachment: false,\r\n IsDefaultLineApprove: false,\r\n DocControl: false,\r\n selectField: { selectField: \"\" },\r\n templateForm: [],\r\n tableDialog: false,\r\n listRefTemplate: [],\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: [],\r\n TemplateEditDoc: [],\r\n TemplateCancelDoc: [],\r\n SaveDataTable: [],\r\n });\r\n const [searchTemplateList, setSearchTemplateList] = useState([]);\r\n const [selectField, setSelectField] = useState([]);\r\n const [tableRefDialog, setTableRefDialog] = useState(false);\r\n const [tableRefData, setTableRefData] = useState();\r\n const [tableRefDialogHeader, setTableRefDialogHeader] = useState(\"\");\r\n const [templateAddCodeMulti, setTemplateAddCodeMulti] = useState([]);\r\n const [selectFieldtoshow, setSelectFieldtoshow] = useState([]);\r\n const [listMasterData, setListMasterData] = useState();\r\n const [refAd, setRefAd] = useState();\r\n const onShowDialog = async () => {\r\n try {\r\n setSearchTemplateList([...templateList]);\r\n await templateAddCode();\r\n if (controlModel) {\r\n const docControl: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = _IsDocControl(controlModel);\r\n const templateForm = controlModel.templateForm;\r\n const mappingLstMaster = _IsDocControl(controlModel);\r\n setListMasterData(mappingLstMaster);\r\n console.log(\"ref=>templateForm\", templateForm);\r\n\r\n let display: string[] = templateForm?.RefDocDisplay?.split(\",\");\r\n\r\n const defaultRefModel = {\r\n RefDocDisplay: templateForm.RefDocDisplay,\r\n Display:\r\n display[0] === \"Top\"\r\n ? { Position: \"Top\" }\r\n : display[0] === \"Bottom\"\r\n ? { Position: \"Bottom\" }\r\n : { Position: \"Top\" },\r\n Mode:\r\n display[1] === \"Single\"\r\n ? { Mode: \"Single\" }\r\n : display[1] === \"Multiselect\"\r\n ? { Mode: \"Multiselect\" }\r\n : { Mode: \"Single\" },\r\n ReferenceAttachment: display[5] === \"Yes\",\r\n Affiliation: display[3] === \"Yes\",\r\n Quarter: display[4] === \"Yes\",\r\n IsDefaultLineApprove:\r\n listRefTemplateProps[0]?.IsDefaultLineApprove || false,\r\n DocControl: docControl.isDocControl,\r\n selectField: { selectField: display[2] },\r\n templateForm: [],\r\n listRefTemplate: listRefTemplateProps,\r\n tableDialog: false,\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: docControl.D_NewTpl,\r\n TemplateEditDoc: docControl.D_EditTpl,\r\n TemplateCancelDoc: docControl.D_CanTpl,\r\n SaveDataTable: [],\r\n };\r\n dynamicSelect(templateForm);\r\n\r\n setReferenceDocumentDialogObject({ ...defaultRefModel });\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n\r\n function _IsDocControl(_dataTemplate: any) {\r\n let _lstMasterData = _dataTemplate.lstMasterData;\r\n\r\n let res: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = {\r\n isDocControl: false,\r\n D_NewTpl: [],\r\n D_EditTpl: [],\r\n D_CanTpl: [],\r\n };\r\n if (_lstMasterData) {\r\n if (_lstMasterData?.length !== 0) {\r\n res.isDocControl = true;\r\n const _lstMasterDataSplitD_NewTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_NewTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_EditTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_EditTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_CanTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_CanTpl\")\r\n ?.value2.split(\",\");\r\n\r\n _lstMasterDataSplitD_NewTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() == data) {\r\n res.D_NewTpl.push(_data);\r\n }\r\n });\r\n });\r\n\r\n _lstMasterDataSplitD_EditTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_EditTpl.push(_data);\r\n }\r\n });\r\n });\r\n _lstMasterDataSplitD_CanTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_CanTpl.push(_data);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n \r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n // const searchTemplate = (event: any) => {\r\n // // let filteredCountries = //suggestions\r\n // // setFilteredCountries(filteredCountries);\r\n // };\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const dynamicSelect = (templateForm: any) => {\r\n let seltectItems: any[] = [];\r\n try {\r\n if (\r\n templateForm.RefDocColumn &&\r\n templateForm.RefDocColumn !== \"\" &&\r\n templateForm.RefDocColumn !== \"[]\"\r\n ) {\r\n const _RefDocColumn = JSON.parse(templateForm.RefDocColumn);\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n let selectedCol: any = null;\r\n const _column = _RefDocColumn?.find(\r\n (refColumn: any) => refColumn.Key === _layout.template.label\r\n );\r\n\r\n if (_column) {\r\n if (_layout.template.type === \"tb\") {\r\n const objs = _column.objTable;\r\n selectedCol = _column;\r\n\r\n selectedCol.column = _layout.template.attribute.column;\r\n let newOBJ: any[] = [];\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n const selectedOBJ = objs.find(\r\n (obj: any) => obj.Key === col.label\r\n );\r\n if (selectedOBJ) {\r\n newOBJ.push(selectedOBJ);\r\n } else {\r\n newOBJ.push({\r\n Key: col.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n }\r\n });\r\n selectedCol.objTable = newOBJ;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n } else {\r\n selectedCol = _column;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n }\r\n } else {\r\n if (_layout.template.type === \"tb\") {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n Value: \"\",\r\n };\r\n } else {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n Value: \"\",\r\n };\r\n }\r\n }\r\n\r\n if (\r\n _layout.template.type !== \"em\" ||\r\n _layout.template.type === \"l\"\r\n ) {\r\n seltectItems.push(selectedCol);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n if (_layout.template.type === \"tb\") {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n Template: null,\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n });\r\n } else {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n selectedValue: null,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n setSelectField([...seltectItems]);\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let options: any[] = [\r\n {\r\n selectedValue: \"_\" + \"DocumentNo\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"DocumentAmount\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePositionTh\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePositionEn\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartmentTh\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartmentEn\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationFormName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationRequestDate\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationCompany\",\r\n type: \"system\",\r\n },\r\n ];\r\n referenceDocumentDialogObject?.listRefTemplate?.map((temp: any) => {\r\n const _refTemp = templateList.find(\r\n (e) => e.TemplateId === temp.TemplateId\r\n );\r\n if (_refTemp) {\r\n const advanceForm = JSON.parse(_refTemp.AdvanceForm);\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n !rowData.column &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\" &&\r\n _layout.template.type !== \"tb\"\r\n ) {\r\n options.push({\r\n selectedValue: temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n } else if (rowData.column) {\r\n if (_layout.template.type === \"tb\") {\r\n options.push({\r\n selectedValue:\r\n temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n if (rowData.column) {\r\n options = options.filter((e) => e.type !== \"system\");\r\n }\r\n return (\r\n {\r\n let _selectField = selectField;\r\n _selectField.map((field: any) => {\r\n if (field.Key === rowData.Key) {\r\n field.selectedValue = e.value;\r\n }\r\n });\r\n setSelectField([..._selectField]);\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n );\r\n };\r\n\r\n function _ReferenceDocumentDialog(data: any, key: any) {\r\n let _Object: any = referenceDocumentDialogObject;\r\n\r\n _Object[key] = data === null || data === undefined ? _Object[key] : data;\r\n setReferenceDocumentDialogObject((prevState: any) => ({\r\n ...prevState,\r\n ..._Object,\r\n }));\r\n\r\n if (key === \"TemplateNewDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_NewTpl: data,\r\n }));\r\n } else if (key === \"TemplateEditDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_EditTpl: data,\r\n }));\r\n } else if (key === \"TemplateCancelDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_CanTpl: data,\r\n }));\r\n } else if (key === \"DocControl\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n isDocControl: data,\r\n }));\r\n }\r\n }\r\n\r\n const getOptions = () => {\r\n let _list: any[] = [];\r\n templateList.forEach((e: any) => {\r\n _list.push({ value: e.DocumentCode + \"_\" + e.TemplateName });\r\n });\r\n return _list;\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let _result: any[] = [];\r\n selectField.map((e: any) => {\r\n if (e.selectedValue) {\r\n if (e.selectedValue?.type === \"Table\") {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n column: e.column,\r\n objTable: e.objTable,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n } else {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n }\r\n }\r\n });\r\n const _controlModel = controlModel;\r\n let display: string[] =\r\n _controlModel?.templateForm.RefDocDisplay?.split(\",\");\r\n display[0] = referenceDocumentDialogObject.Display.Position;\r\n display[1] = referenceDocumentDialogObject.Mode.Mode;\r\n display[2] = referenceDocumentDialogObject.selectField.selectField;\r\n display[3] = referenceDocumentDialogObject.Affiliation ? \"Yes\" : \"No\";\r\n display[4] = referenceDocumentDialogObject.Quarter ? \"Yes\" : \"No\";\r\n display[5] = referenceDocumentDialogObject.ReferenceAttachment\r\n ? \"Yes\"\r\n : \"No\";\r\n let RefTemplate: any[] = [];\r\n referenceDocumentDialogObject.listRefTemplate.map((e: any) => {\r\n RefTemplate.push({\r\n TemplateId: e.TemplateId,\r\n DocumentCode: e.DocumentCode,\r\n TemplateName: e.TemplateName,\r\n TemplateSubject: e.TemplateSubject,\r\n IsDefaultLineApprove:\r\n referenceDocumentDialogObject.IsDefaultLineApprove,\r\n AdvanceForm: e.AdvanceForm,\r\n });\r\n });\r\n\r\n const lstMastData = lstMastDataFunction(\r\n _controlModel.templateForm.TemplateId,\r\n _controlModel.lstMasterData\r\n );\r\n console.log(lstMastData, \"controlModel_lstMastData\");\r\n\r\n _controlModel.lstMasterData = lstMastData;\r\n _controlModel.templateForm.RefDocDisplay = display.join(\",\");\r\n _controlModel.templateForm.RefDocColumn = JSON.stringify(_result);\r\n _controlModel.templateForm.RefTemplate = JSON.stringify(RefTemplate);\r\n _controlModel.listRefTemplate = RefTemplate;\r\n console.log(\"ref=>listRefTemplate=>error\", _controlModel);\r\n setControlModelObj({ ..._controlModel });\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n } catch (error) {\r\n console.log(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n function lstMastDataFunction(templateId: number, _lstMasterData: any) {\r\n const _list = listMasterData;\r\n let array: any[] = [];\r\n console.log(_list, \"controlModel66999\");\r\n\r\n if (_list.isDocControl) {\r\n let newTplId;\r\n let editTplId;\r\n let canTplId;\r\n for (let i = 0; i < _lstMasterData.length; i++) {\r\n const element = _lstMasterData[i];\r\n if (element.masterType === \"D_NewTpl\") {\r\n newTplId = element.masterId;\r\n } else if (element.masterType === \"D_EditTpl\") {\r\n editTplId = element.masterId;\r\n } else if (element.masterType === \"D_CanTpl\") {\r\n canTplId = element.masterId;\r\n }\r\n }\r\n var requestModelD_NewTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: newTplId || null,\r\n masterType: \"D_NewTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_NewTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_NewTpl);\r\n var requestModelD_EditTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: editTplId || null,\r\n masterType: \"D_EditTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_EditTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_EditTpl);\r\n var requestModelD_CanTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: canTplId || null,\r\n masterType: \"D_CanTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_CanTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_CanTpl);\r\n }\r\n return array;\r\n }\r\n function actionBodyTemplateTable(rowData: any, option: any) {\r\n if (rowData?.selectedValue?.type === \"Table\") {\r\n return (\r\n <>\r\n {\r\n setTableRefData({ ...rowData });\r\n setTableRefDialogHeader(rowData.Key);\r\n setTableRefDialog(true);\r\n // props.setValueTableProps(\r\n // !props.tableDialog,\r\n // props.keyTableDialog\r\n // );\r\n // console.log(\"rowData\", rowData);\r\n // props.setValueTableProps(rowData, \"rowDataTable\");\r\n // props.setValueTableProps(\r\n // refTemplate === undefined || refTemplate === null\r\n // ? \"\"\r\n // : refTemplate.length === 0\r\n // ? null\r\n // : refTemplate[0].TemplateNameWithCode,\r\n // \"ReferenceForm\"\r\n // );\r\n }}\r\n >\r\n {rowData.Key}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

{rowData.Key}

\r\n \r\n );\r\n }\r\n }\r\n\r\n const onTableDialogSave = (Key: string, objTable: any) => {\r\n tableRefData.objTable = objTable;\r\n let _selectField = selectField;\r\n _selectField = _selectField.map((e: any) => {\r\n if (e.Key === Key) {\r\n e.objTable = objTable;\r\n }\r\n return e;\r\n });\r\n setSelectField([..._selectField]);\r\n setTableRefDialog(false);\r\n };\r\n\r\n function templateAddCode() {\r\n let _dataTemplate: any[] = templateList;\r\n _dataTemplate.map((_dataMap: any, inx: any) => {\r\n _dataMap[\"code\"] = _dataMap.TemplateId.toString();\r\n _dataMap[\"TemplateNameWithCodeMulti\"] =\r\n _dataMap.TemplateId.toString() + \": \" + _dataMap.TemplateName;\r\n });\r\n setTemplateAddCodeMulti([..._dataTemplate]);\r\n }\r\n\r\n useEffect(() => {\r\n _MapSelectTable(referenceDocumentDialogObject.listRefTemplate);\r\n }, [referenceDocumentDialogObject]);\r\n async function _MapSelectTable(_data: any) {\r\n try {\r\n console.log(\"ref=>\", referenceDocumentDialogObject);\r\n let _arraySelect: any = [];\r\n\r\n let _referenceDocumentDialogObject =\r\n referenceDocumentDialogObject.listRefTemplate === undefined ||\r\n referenceDocumentDialogObject.listRefTemplate === null\r\n ? []\r\n : referenceDocumentDialogObject.listRefTemplate;\r\n if (\r\n _referenceDocumentDialogObject !== undefined &&\r\n _referenceDocumentDialogObject !== null &&\r\n _referenceDocumentDialogObject.length !== 0\r\n ) {\r\n _data.map((data: any, inx: any) => {\r\n let _items =\r\n data.AdvanceForm !== undefined\r\n ? data.AdvanceForm !== null\r\n ? data.AdvanceForm.length !== 0\r\n ? JSON.parse(data.AdvanceForm)\r\n : []\r\n : []\r\n : [];\r\n console.log(\"ref=>222\", _items);\r\n if (\r\n _items.items !== undefined &&\r\n _items.items !== null &&\r\n _items.items.length !== 0\r\n ) {\r\n _items.items.map((data: any, inx: any) => {\r\n _arraySelect.push(data);\r\n });\r\n }\r\n });\r\n } else {\r\n _arraySelect = [];\r\n referenceDocumentDialogObject.selectField.selectField = undefined;\r\n }\r\n if (_arraySelect.length !== 0) {\r\n _MapSelectTableItem(_arraySelect);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n async function _MapSelectTableItem(_data: any) {\r\n try {\r\n let _dataItem = _data;\r\n let _arraylayout: any = [];\r\n _dataItem.map((data: any, inx: any) => {\r\n let layout = data.layout;\r\n\r\n for (let i = 0; i < layout.length; i++) {\r\n const element = layout[i].template;\r\n if (\r\n (element.istext !== \"Y\" && element.type === \"t\") ||\r\n (element.istext !== \"Y\" && element.type === \"dd\") ||\r\n (element.istext !== \"Y\" && element.type === \"cb\") ||\r\n (element.istext !== \"Y\" && element.type === \"ta\") ||\r\n (element.istext !== \"Y\" && element.type === \"c\") ||\r\n (element.istext !== \"Y\" && element.type === \"d\") ||\r\n (element.istext !== \"Y\" && element.type === \"an\") ||\r\n (element.istext !== \"Y\" && element.type === \"ed\")\r\n ) {\r\n _arraylayout.push({ selectField: element.label });\r\n }\r\n }\r\n });\r\n\r\n _arraylayout.push({ selectField: \"Information DocumentNo\" });\r\n setSelectFieldtoshow([..._arraylayout]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Display\");\r\n }}\r\n options={[{ Position: \"Top\" }, { Position: \"Bottom\" }]}\r\n optionLabel={\"Position\"}\r\n />\r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Mode\");\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n {referenceDocumentDialogObject.DocControl && (\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"TemplateNewDoc\");\r\n }}\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateNewDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateEditDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateEditDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateCancelDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateCancelDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n // option?.DocumentCode?.toString()\r\n // .toUpperCase()\r\n // .indexOf(inputValue.toUpperCase()) !== -1\r\n option.value\r\n .toLowerCase()\r\n .includes(inputValue.toLowerCase())\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e.split(\"_\")[0];\r\n setSearchTemplateList([\r\n ...templateList.filter(\r\n (template: any) =>\r\n template.DocumentCode.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateSubject.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateName.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n )\r\n ),\r\n ]);\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n // onBlur={(e: any) => {\r\n // try {\r\n // let value = e.target.value;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n // }}\r\n // onSelect={(e: any) => {\r\n // try {\r\n // let value = e;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n allowClear\r\n // }}\r\n />\r\n
\r\n \r\n {/* \r\n */}\r\n \r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate = e.value;\r\n _MapSelectTable(listRefTemplate.listRefTemplate);\r\n setReferenceDocumentDialogObject({ ...listRefTemplate });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Selected Reference Document\r\n

\r\n

\r\n เอกสารอ้างอิงที่เลือก\r\n

\r\n \r\n
\r\n \r\n console.log(\r\n \"ref=>referenceDocumentDialogObject\",\r\n referenceDocumentDialogObject\r\n )\r\n }\r\n >\r\n
\r\n {/* */}\r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate =\r\n listRefTemplate.listRefTemplate.filter(\r\n (e: any) => e.TemplateId !== rowData.TemplateId\r\n );\r\n setReferenceDocumentDialogObject({\r\n ...listRefTemplate,\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _refObject = referenceDocumentDialogObject;\r\n _refObject.selectField = e.value;\r\n console.log(\"ref=>_refObject\", _refObject, selectField);\r\n\r\n setReferenceDocumentDialogObject({ ..._refObject });\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={actionBodyTemplateTable}\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n {/* */}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceDocumentDialogFix;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport ReferenceDocumentDialogFix from \"./ReferenceDocumentDialogFix\";\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n};\r\n\r\nexport const ReferenceDocumentComponentsFix = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n const [isLoadTemplate, setIsLoadTemplate] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [mstTemplateList, setMstTemplateList] = useState([]);\r\n\r\n useEffect(() => {\r\n setIsLoadTemplate(true);\r\n fetchTemplate();\r\n fecthRefTemplate();\r\n }, []);\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n let arrayTemplate: any = [];\r\n _dataTemplatee.map((data: any) => {\r\n if (data.IsTextForm !== true) arrayTemplate.push(data);\r\n });\r\n // templateAddCode([...arrayTemplate]);\r\n setMstTemplateList([...arrayTemplate]);\r\n // setFilters([...arrayTemplate]);\r\n setIsLoadTemplate(false);\r\n }\r\n\r\n const fecthRefTemplate = () => {\r\n if (props.listRefTemplateProps.listRefTemplate.length > 0) {\r\n let newRef: any[] = [];\r\n let _listRefTemp = props.listRefTemplateProps;\r\n _listRefTemp.listRefTemplate.map(async (e: any) => {\r\n const ref = await GetTemplateByDocTypeCode({\r\n DocumentCode: e.DocumentCode,\r\n });\r\n if (ref) {\r\n ref.IsDefaultLineApprove = e.IsDefaultLineApprove;\r\n console.log(\"ref=> ref\", ref);\r\n\r\n newRef.push(ref);\r\n }\r\n props.listRefTemplateProps.listRefTemplate = newRef;\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n });\r\n }\r\n };\r\n\r\n // async function ReferenceDocumentObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object[key] = data;\r\n\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n // async function ReferenceDocumentActionObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object.templateForm.RefTemplate = JSON.stringify(data);\r\n // _Object[key] = data;\r\n // if (\r\n // _Object.templateForm.RefTemplate !== undefined &&\r\n // _Object.templateForm.RefTemplate !== null &&\r\n // (_Object.templateForm.RefTemplate.length === 0 ||\r\n // _Object.templateForm.RefTemplate === \"[]\")\r\n // ) {\r\n // _Object.templateForm.RefDocDisplay = \"\";\r\n // _Object.templateForm.RefDocColumn = \"\";\r\n // _Object.templateForm.RefTemplate = \"\";\r\n // }\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onClickAction = async (event: any) => {\r\n let _event: any = event;\r\n const dataFilter = props.listRefTemplateProps.listRefTemplate.filter(\r\n (item: any) => _event !== item\r\n );\r\n const obj = JSON.parse(\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n console.log(\r\n \"Ref\",\r\n obj,\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n const filterRefDocColum = obj.filter(\r\n (value: any) => !value.Value.includes(_event.DocumentCode)\r\n );\r\n console.log(\"filterRefDocColum\", filterRefDocColum);\r\n\r\n console.log(\"_event\", _event);\r\n\r\n props.listRefTemplateProps.templateForm.RefDocColumn =\r\n JSON.stringify(filterRefDocColum);\r\n\r\n props.listRefTemplateProps.listRefTemplate = dataFilter;\r\n props.listRefTemplateProps.templateForm.RefTemplate =\r\n JSON.stringify(dataFilter);\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n };\r\n function actionBodyTemplate(rowData: any) {\r\n return (\r\n <>\r\n onClickAction(rowData)}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Document\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n disabledProps={\r\n props?.listRefTemplateProps?.templateForm?.IsTextForm\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport \"./ReferenceInformationComponents.css\";\r\n\r\ntype Props = {\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n listRefInformationProps: any;\r\n setRefInformation: any;\r\n refInformation: any;\r\n refLogic: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\nconst ReferenceInformationDialog: React.FC = ({\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n listRefInformationProps,\r\n refInformation,\r\n setRefInformation,\r\n refLogic,\r\n dataLogic,\r\n setLogicsRefIn,\r\n ...props\r\n}) => {\r\n const [templateSelected, setTemplateSelected] = useState(\"\");\r\n const [requestSelected, setRequestorSelected] = useState(\"\");\r\n const [templateField, setTemplateField] = useState(\"\");\r\n const [requestField, setRequestorField] = useState(\"\");\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n \r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n useEffect(() => {\r\n fetchTemplatData();\r\n fetchRequestorData();\r\n }, []);\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n if (\r\n template.type !== \"tb\" &&\r\n template.type !== \"l\" &&\r\n template.type !== \"em\" &&\r\n template.type !== \"bt\" &&\r\n template.type !== \"d\"\r\n ) {\r\n label = template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n async function fetchRequestorData() {\r\n const requestorLabel = [\r\n { label: \"Requestor_Employee_code\", key: \"Requestor_Employee_code\" },\r\n { label: \"Requestor_Name\", key: \"Requestor_Name\" },\r\n { label: \"Requestor_Positon\", key: \"Requestor_Positon\" },\r\n { label: \"Requestor_Division\", key: \"Requestor_Division\" },\r\n { label: \"Requestor_Department\", key: \"Requestor_Department\" },\r\n { label: \"Requestor_Email\", key: \"Requestor_Email\" },\r\n ];\r\n\r\n setRequestorField(requestorLabel);\r\n }\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let refValue;\r\n refValue = {\r\n condition: templateSelected.label,\r\n required: requestSelected.label,\r\n };\r\n\r\n let arrayRef = refInformation ? refInformation : [];\r\n arrayRef.push(refValue);\r\n setRefInformation(arrayRef);\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n setTemplateSelected(\"\");\r\n setRequestorSelected(\"\");\r\n\r\n let TemplateLogic: any[] = [];\r\n\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n });\r\n });\r\n\r\n setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n console.log(controlModel, \"controlModel\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTemplateSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={templateField}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setRequestorSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={requestField}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceInformationDialog;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"./ReferenceInformationComponents.css\";\r\nimport ReferenceInformationDialog from \"./ReferenceInformationDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { ILogicReferenceInformation } from \"../../../IRequestModel/ILogicModel\";\r\n\r\ntype Props = {\r\n listRefInformationProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\n\r\nexport const ReferenceInformation = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n\r\n const [referenceData, setReferenceData] = useState();\r\n const [refLogic, setRefLogic] = useState([]);\r\n\r\n const [refInformation, setRefInformation] = useState();\r\n\r\n useEffect(() => {\r\n if (props.dataLogic) {\r\n let dataValue = [];\r\n for (let i = 0; i < props.dataLogic?.length; i++) {\r\n const logic = props.dataLogic[i];\r\n if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n dataValue.push(jsonValue);\r\n refLogic.push(logic);\r\n }\r\n setReferenceData(dataValue);\r\n setRefLogic(refLogic);\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (referenceData) {\r\n //setReferenceData(props.refInformation);\r\n fecthRefInformation();\r\n }\r\n }, [referenceData]);\r\n const fecthRefInformation = () => {\r\n try {\r\n let TemplateLogic: any[] = [];\r\n let arrayRef = referenceData;\r\n let Logics = [];\r\n // TemplateLogic = Logics;\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.forEach((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n LstCondition: [],\r\n });\r\n });\r\n\r\n props.setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n let TemplateLogic: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n setRefInformation(selected);\r\n\r\n let Logics = props.dataLogic.filter(\r\n (element: any) => element.Logictype !== \"refinfomation\"\r\n );\r\n\r\n Logics.push(...selected);\r\n console.log(\"refInformationcMSTTemplateLogic\", Logics);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n cMSTTemplateLogic: Logics,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Information\r\n

\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n referenceData,\r\n setReferenceData,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { createContext, ReactNode, useRef, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface PDFEditorProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport interface ILayoutTemplate {\r\n action: string;\r\n label: string;\r\n type: string;\r\n count: number;\r\n layoutType: string;\r\n value: string;\r\n attribute?: IControlProperty;\r\n}\r\n\r\nexport interface IControlProperty {\r\n default: string;\r\n fontSize: number;\r\n isItalic: boolean;\r\n isUnderlined: boolean;\r\n isBold: boolean;\r\n color: string;\r\n hAlign: string;\r\n vAlign: string;\r\n urlLink: string;\r\n fontFamily: \"Arial\";\r\n hideLabel?: boolean;\r\n column?: ILayoutTemplate[];\r\n backgroundSize: \"contain\" | \"cover\" | \"fill\";\r\n}\r\n\r\nexport interface IControlLayout {\r\n i: string;\r\n x: number;\r\n y: number;\r\n w: number;\r\n h: number;\r\n static: boolean;\r\n minW?: number;\r\n minH?: number;\r\n isDraggable?: boolean;\r\n isResizable?: boolean;\r\n moved?: boolean;\r\n type: \"header\" | \"body\" | \"footer\" | \"content\";\r\n template: ILayoutTemplate;\r\n children?: IControlLayout[];\r\n}\r\n\r\nexport interface IPageProperty {\r\n doctype: \"A4\" | \"Letter\" | \"custom\";\r\n isDragingFromOutSide: boolean;\r\n gridSize: number;\r\n padding: number;\r\n dragingType?: \"header\" | \"body\" | \"footer\" | \"content\";\r\n pageAmount: number;\r\n pageSize: { width: number; height: number };\r\n}\r\n\r\nexport interface IPaperLayout {\r\n header: IControlLayout;\r\n body: IControlLayout;\r\n foot: IControlLayout;\r\n}\r\n\r\ninterface IPDFContextType {\r\n paperLayout: IControlLayout[];\r\n pageProperty: IPageProperty;\r\n setPaperLayout: (panelLayout: IControlLayout[]) => void;\r\n addLayout: (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n item: any,\r\n template: ILayoutTemplate\r\n ) => void;\r\n updatePageProperties: (params: Partial) => void;\r\n refHtml: React.MutableRefObject;\r\n selectionBlock?: IControlLayout;\r\n onSelectChange: (template: IControlLayout) => void;\r\n onSelectPropertyChange: (props: IControlProperty) => void;\r\n onDeselected: () => void;\r\n removeSelectedChild: (parent: string) => void;\r\n changeDocType: (docType: IPageProperty[\"doctype\"]) => void;\r\n}\r\n\r\nconst PDFEditorContext = createContext(null);\r\n\r\nconst PDFEditorProvider: React.FC = (props) => {\r\n const papers: { [name: string]: IPageProperty[\"pageSize\"] } = {\r\n Letter: {\r\n width: 816,\r\n height: 1056,\r\n },\r\n A4: {\r\n width: 794,\r\n height: 1123,\r\n },\r\n };\r\n const [paperLayout, setPaperLayout] = useState([\r\n {\r\n i: \"header\",\r\n x: 0,\r\n y: 0,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"header\",\r\n template: {\r\n label: \"header\",\r\n type: \"header\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n attribute: undefined,\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"body\",\r\n x: 0,\r\n y: 4,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"body\",\r\n template: {\r\n label: \"body\",\r\n type: \"body\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"footer\",\r\n x: 0,\r\n y: 8,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"footer\",\r\n template: {\r\n label: \"footer\",\r\n type: \"footer\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n ]);\r\n\r\n const [pageProperty, setPageProperty] = useState({\r\n doctype: \"A4\",\r\n pageAmount: 1,\r\n gridSize: 15,\r\n padding: 5,\r\n pageSize: papers[\"A4\"],\r\n isDragingFromOutSide: false,\r\n });\r\n\r\n const [selectionBlock, setSelectionBlock] = useState();\r\n\r\n const refHtml = useRef(null);\r\n\r\n const addLayout = (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n layout: any,\r\n template: ILayoutTemplate\r\n ) => {\r\n try {\r\n let targetParent: IControlLayout | undefined = paperLayout?.find(\r\n (e) => e.type === parent\r\n );\r\n\r\n if (targetParent) {\r\n let childList = targetParent.children;\r\n layout.i = uuidv4();\r\n layout.w = 4;\r\n layout.h = 1;\r\n\r\n if (template.type === \"tb\") {\r\n layout.w = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n layout.h = 3;\r\n layout.minH = 3;\r\n layout.minW = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n } else if (template.type === \"staticImage\") {\r\n layout.w = 10;\r\n layout.h = 10;\r\n layout.minH = 5;\r\n layout.minW = 5;\r\n }\r\n const tempAttibute = template.attribute;\r\n template.attribute = {\r\n default: tempAttibute?.default || \"\",\r\n fontSize: 14,\r\n fontFamily: \"Arial\",\r\n color: \"#000000\",\r\n isBold: false,\r\n isItalic: false,\r\n isUnderlined: false,\r\n hAlign: \"center\",\r\n vAlign: \"center\",\r\n urlLink: \"\",\r\n hideLabel: false,\r\n column: tempAttibute?.column,\r\n backgroundSize: \"contain\",\r\n };\r\n\r\n layout.template = template;\r\n\r\n childList?.push(layout);\r\n\r\n onSelectChange(layout);\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (e.type === parent) {\r\n e.children = childList;\r\n }\r\n return e;\r\n })\r\n );\r\n }\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n } catch (error) {\r\n console.error(error);\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n }\r\n };\r\n\r\n const removeSelectedChild = (parent: string) => {\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (parent === parent) {\r\n e.children = e.children?.filter(\r\n (child) => child.i !== selectionBlock?.i\r\n );\r\n }\r\n return e;\r\n })\r\n );\r\n };\r\n\r\n const updatePageProperties = (params: Partial) => {\r\n setPageProperty((prevSettings) => ({\r\n ...prevSettings,\r\n ...params,\r\n }));\r\n };\r\n\r\n const onSelectChange = (template: IControlLayout) => {\r\n setSelectionBlock(template);\r\n };\r\n\r\n const onDeselected = () => {\r\n setSelectionBlock(undefined);\r\n };\r\n\r\n const onSelectPropertyChange = (props: IControlProperty) => {\r\n if (selectionBlock) {\r\n let _selectionBlock: IControlLayout = selectionBlock;\r\n _selectionBlock.template.attribute = props;\r\n const newLayout = paperLayout.map((layout) => {\r\n layout.children = layout.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template = _selectionBlock.template;\r\n }\r\n return child;\r\n });\r\n return layout;\r\n });\r\n if (newLayout) setPaperLayout(newLayout);\r\n setSelectionBlock(_selectionBlock);\r\n }\r\n };\r\n\r\n const onGenHtml = () => {\r\n console.log(paperLayout);\r\n };\r\n\r\n const changeDocType = (docType: IPageProperty[\"doctype\"]) => {\r\n updatePageProperties({ doctype: docType, pageSize: papers[docType] });\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { PDFEditorProvider, PDFEditorContext };\r\n","import { useContext } from \"react\";\r\nimport { PDFEditorContext } from \"../Context/PDFEditorContext\";\r\n\r\nconst usePDFEditor = () => {\r\n const context = useContext(PDFEditorContext);\r\n if (!context)\r\n throw new Error(\"PDFEditor Context must be use inside PDFEditor Provider\");\r\n return context;\r\n};\r\n\r\nexport default usePDFEditor;\r\n","import { Col } from \"antd\";\r\nimport React, { useRef } from \"react\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\n\r\ntype Props = {\r\n label: string;\r\n type: string;\r\n attribute?: any;\r\n icon: React.ReactNode;\r\n layoutType: \"header\" | \"body\" | \"footer\" | \"content\";\r\n};\r\n\r\nconst PDFCompontButton = ({\r\n label,\r\n type,\r\n icon,\r\n layoutType,\r\n attribute,\r\n}: Props) => {\r\n const count = useRef(1);\r\n const { updatePageProperties } = usePDFEditor();\r\n\r\n return (\r\n {\r\n const dataString = JSON.stringify({\r\n action: \"add\",\r\n label: label,\r\n type: type,\r\n count: count.current,\r\n layoutType: layoutType,\r\n value: \"\",\r\n attribute: attribute,\r\n });\r\n updatePageProperties({\r\n dragingType: layoutType,\r\n isDragingFromOutSide: true,\r\n });\r\n e.dataTransfer.setData(\"application/json\", dataString);\r\n }}\r\n onDragEnd={() => {\r\n count.current += 1;\r\n updatePageProperties({\r\n isDragingFromOutSide: false,\r\n });\r\n }}\r\n >\r\n {icon}\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFCompontButton;\r\n","import { Button, Col, Collapse } from \"antd\";\r\nimport type { CollapseProps } from \"antd\";\r\nimport { MenuItem } from \"primereact/menuitem\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFCompontButton from \"./PDFCompontButton\";\r\nimport CollapsePanel from \"antd/lib/collapse/CollapsePanel\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n reportTem: any[];\r\n};\r\n\r\nfunction getItem(\r\n label: React.ReactNode,\r\n key: React.Key,\r\n icon?: React.ReactNode,\r\n children?: MenuItem[],\r\n type?: \"group\"\r\n): MenuItem {\r\n return {\r\n key,\r\n icon,\r\n children,\r\n label,\r\n type,\r\n } as MenuItem;\r\n}\r\n\r\nconst items: MenuItem[] = [getItem(\"Option 1\", \"1\"), getItem(\"Option 2\", \"2\")];\r\n\r\nconst PDFToolBar = ({ advanceForm, reportTem }: Props) => {\r\n const [controlItem, setControlItems] = useState(advanceForm.items);\r\n\r\n const { addLayout } = usePDFEditor();\r\n\r\n useEffect(() => {\r\n getItems();\r\n }, []);\r\n\r\n const getItems = () => {\r\n let items: any[] = [];\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n items.push(layout);\r\n });\r\n });\r\n\r\n setControlItems((prev: any) => items);\r\n };\r\n\r\n const getIcon = (type: string) => {\r\n switch (type) {\r\n case \"l\":\r\n return ;\r\n case \"ed\":\r\n return ;\r\n case \"c\":\r\n return ;\r\n case \"Number\":\r\n return ;\r\n case \"ta\":\r\n return ;\r\n case \"dd\":\r\n return ;\r\n case \"cb\":\r\n return ;\r\n case \"at\":\r\n return ;\r\n case \"t\":\r\n return ;\r\n case \"Text\":\r\n return ;\r\n case \"r\":\r\n return ;\r\n case \"tb\":\r\n return ;\r\n case \"d\":\r\n return ;\r\n case \"Datetime\":\r\n return ;\r\n case \"bt\":\r\n return ;\r\n case \"an\":\r\n return ;\r\n case \"rvs\":\r\n return ;\r\n case \"im\":\r\n return ;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {controlItem\r\n .filter((e: any) => e.template?.type !== \"em\")\r\n .map((item: any) => (\r\n \r\n ))}\r\n \r\n \r\n {reportTem.map((item: any) => (\r\n {\r\n return {\r\n guid: \"0gb2o3crjqs9ijcmisefv6k\",\r\n label: e,\r\n alter: \"\",\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: e,\r\n alter: \"\",\r\n attribute: {\r\n description: \"\",\r\n default: \"\",\r\n length: \"0\",\r\n require: \"N\",\r\n readonly: \"N\",\r\n widthInTable: \"0\",\r\n hideInPdf: \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n })\r\n : null,\r\n }}\r\n icon={getIcon(item?.value5)}\r\n layoutType=\"content\"\r\n />\r\n ))}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PDFToolBar;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\ntype Props = {\r\n items: { key: string; label: string }[];\r\n onChange: (key: string) => void;\r\n};\r\n\r\nconst TabsButton = ({ items, onChange }: Props) => {\r\n const [activeKey, setActiveKey] = useState(\"text\");\r\n\r\n useEffect(() => {\r\n onChange(activeKey);\r\n }, [activeKey]);\r\n\r\n return (\r\n <>\r\n
\r\n {items.map((e) => (\r\n {\r\n setActiveKey(e.key);\r\n }}\r\n >\r\n {e.label}\r\n
\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabsButton;\r\n","import { Popover, Button } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ColorResult, SketchPicker } from \"react-color\";\r\nimport { BgColorsOutlined } from \"@ant-design/icons\";\r\n\r\ntype Props = { color: string; onChageColor: (e: ColorResult) => void };\r\n\r\nconst ColorPicker = ({ color, onChageColor }: Props) => {\r\n const [value, setValue] = useState(\"#ffff\");\r\n\r\n return (\r\n {\r\n setValue(color);\r\n }}\r\n content={\r\n {\r\n setValue(e.hex);\r\n }}\r\n onChangeComplete={onChageColor}\r\n />\r\n }\r\n trigger={\"click\"}\r\n >\r\n
\r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.backgroundSize = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n options={[\r\n { label: \"Cover\", value: \"cover\" },\r\n { label: \"Contain\", value: \"contain\" },\r\n { label: \"Fill \", value: \"fill\" },\r\n ]}\r\n />\r\n \r\n \r\n );\r\n\r\n const textToolComponent = (\r\n <>\r\n \r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.fontFamily = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n options={fontList}\r\n />\r\n \r\n \r\n {\r\n if (controlProperty && e) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.fontSize = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n {\r\n if (controlProperty && e) {\r\n let newProps: IControlProperty = {\r\n ...controlProperty,\r\n };\r\n newProps.color = e.hex;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={controlProperty?.isBold ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isBold = !newProps.isBold;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.isItalic ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isItalic = !newProps.isItalic;\r\n\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.isUnderlined ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isUnderlined = !newProps.isUnderlined;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={\r\n controlProperty?.hAlign === \"flex-start\" ? \"primary\" : \"default\"\r\n }\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"flex-start\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.hAlign === \"center\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"center\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.hAlign === \"flex-end\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"flex-end\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={controlProperty?.vAlign === \"flex-end\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"flex-end\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.vAlign === \"center\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"center\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={\r\n controlProperty?.vAlign === \"flex-start\" ? \"primary\" : \"default\"\r\n }\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"flex-start\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n {selectionBlock !== undefined && (\r\n \r\n }\r\n type={selectionBlock?.template.value !== \"\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (\r\n selectionBlock?.template.value &&\r\n selectionBlock?.template.value !== \"\"\r\n ) {\r\n setLinkUrl(selectionBlock?.template?.value);\r\n }\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n />\r\n \r\n )}{\" \"}\r\n \r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hideLabel = e.target.checked;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n >\r\n Hide label\r\n \r\n \r\n \r\n );\r\n\r\n const tabsItems = [\r\n {\r\n key: \"layout\",\r\n label: \"Layout\",\r\n children: (\r\n <>\r\n {\" \"}\r\n Page size :\r\n \r\n {\r\n changeDocType(e)\r\n // updatePageProperties({ doctype: e });\r\n }}\r\n options={[\r\n { label: \"A4\", value: \"A4\" },\r\n { label: \"Letter\", value: \"Letter\" },\r\n ]}\r\n />\r\n \r\n Grid size :\r\n \r\n {\r\n if (e) updatePageProperties({ gridSize: e });\r\n }}\r\n />\r\n \r\n Padding :\r\n \r\n {\r\n if (e) updatePageProperties({ padding: e });\r\n }}\r\n />\r\n \r\n \r\n ),\r\n },\r\n {\r\n key: \"text\",\r\n label: selectionBlock?.template.type !== \"staticImage\" ? \"Text\" : \"Image\",\r\n children:\r\n selectionBlock?.template.type !== \"staticImage\"\r\n ? textToolComponent\r\n : imagmeToolComponent,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {\r\n setActiveKey(key);\r\n }}\r\n items={tabsItems}\r\n />\r\n \r\n {tabsItems.find((e) => e.key === activeKey)?.children}\r\n \r\n {\r\n if (selectionBlock) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.children?.length === 0) return e;\r\n\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.value = linkUrl;\r\n }\r\n return child;\r\n });\r\n\r\n return e;\r\n }),\r\n ]);\r\n }\r\n setLinkUrl(\"\");\r\n\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n onCancel={() => {\r\n setLinkUrl(\"\");\r\n\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n >\r\n {\r\n setLinkUrl(e.target.value);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFEditorToolBar;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { ILayoutTemplate } from \"../../../Context/PDFEditorContext\";\r\nimport { Input } from \"antd\";\r\nconst { TextArea } = Input;\r\ntype Props = {\r\n template: ILayoutTemplate;\r\n h: number;\r\n onBlur: (value: string | null) => void;\r\n};\r\n\r\nconst StaticInput = ({ template, h, onBlur }: Props) => {\r\n const [value, setValue] = useState(template.label);\r\n\r\n return (\r\n <>\r\n {\r\n setValue(e.target.value);\r\n }}\r\n onBlur={() => {\r\n onBlur(value);\r\n }}\r\n />\r\n {`${value}`}\r\n \r\n // {\r\n // setValue(e.target.value);\r\n // }}\r\n // onBlur={() => {\r\n // onBlur(value);\r\n // }}\r\n // />\r\n );\r\n};\r\n\r\nexport default StaticInput;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ILayoutTemplate } from \"../../../Context/PDFEditorContext\";\r\nimport { Upload, message } from \"antd\";\r\nimport { LoadingOutlined, PlusOutlined } from \"@ant-design/icons\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\n\r\ntype Props = {\r\n template: ILayoutTemplate;\r\n h: number;\r\n w: number;\r\n onUploadComplete: (url: string) => void;\r\n};\r\n\r\nconst StaticImage = ({ template, h, w, onUploadComplete }: Props) => {\r\n const [loading, setLoading] = useState(false);\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [userData, setUserData] = useUserContext();\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [imageUrl, setImageUrl] = useState(\"\");\r\n const [visible, setVisible] = useState(false);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n try {\r\n const link = getLink(template.value);\r\n setImageUrl(link);\r\n } catch (error) {\r\n // Handle error\r\n console.error(\"Error fetching image link:\", error);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, [template.value]);\r\n console.log(template);\r\n const imgSize = {\r\n contain:\r\n h > w\r\n ? {\r\n width: \"100%\",\r\n }\r\n : { height: \"100%\", width: \"auto\" },\r\n cover: {},\r\n fill: { width: \"100%\", height: \"100%\" },\r\n };\r\n const getLink = (val: string) => {\r\n if (template.value === \"\") {\r\n return \"\";\r\n }\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n const handlePreviewClick = () => {\r\n setVisible(true);\r\n };\r\n\r\n const handleModalClose = () => {\r\n setVisible(false);\r\n };\r\n const checkFile = (file: File) => {\r\n setLoading(true);\r\n const isImage = file.type.startsWith(\"image/\");\r\n if (!isImage) {\r\n message.error(\"You can only upload image files!\");\r\n }\r\n return isImage;\r\n };\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
Upload
\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n {imageUrl !== \"\" ? (\r\n <>\r\n {template.attribute?.backgroundSize !== \"cover\" ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n {\r\n if (e.file.originFileObj) {\r\n const uploadedFile = e.file.originFileObj;\r\n if (uploadedFile) {\r\n const file = new File([uploadedFile], uploadedFile.name, {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response);\r\n if (response?.data?.result) {\r\n getLink(response.data.pathUrl);\r\n onUploadComplete(response.data.pathUrl);\r\n }\r\n }\r\n }\r\n\r\n setLoading(false);\r\n }}\r\n // fileList={fileList}\r\n style={{ height: \"100%\" }}\r\n >\r\n {uploadButton}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default StaticImage;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\nimport GridLayout from \"react-grid-layout\";\r\nimport \"react-grid-layout/css/styles.css\"; // CSS for react-grid-layout\r\nimport \"react-resizable/css/styles.css\"; //\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport {\r\n IControlLayout,\r\n ILayoutTemplate,\r\n} from \"../../../Context/PDFEditorContext\";\r\nimport StaticInput from \"./StaticInput\";\r\nimport StaticImage from \"./StaticImage\";\r\nimport { FileImageOutlined } from \"@ant-design/icons\";\r\nimport img from \"../../../assets/wolf-slide-left.png\";\r\n\r\ninterface props {\r\n name: \"header\" | \"body\" | \"footer\" | \"content\";\r\n children: IControlLayout[];\r\n paperWidth: number;\r\n}\r\n\r\nconst DropableComponent = ({ name, paperWidth, children }: props) => {\r\n const [rowHeight, setRowHeight] = useState(14);\r\n const [previewImage, setPreviewImage] = useState(false);\r\n const [selectedImg, setSelectedImg] = useState(\"\");\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n const {\r\n paperLayout,\r\n addLayout,\r\n setPaperLayout,\r\n pageProperty,\r\n onSelectChange,\r\n selectionBlock,\r\n removeSelectedChild,\r\n } = usePDFEditor();\r\n\r\n const tableDisplay = (layout: IControlLayout) => {\r\n let node: React.ReactNode[] = [\r\n
\r\n {layout.template.attribute?.column?.map((e) => {\r\n return (\r\n \r\n {e.label}\r\n \r\n );\r\n })}\r\n ,\r\n ];\r\n // console.log(layout.h * pageProperty.gridSize);\r\n\r\n return node;\r\n };\r\n\r\n useEffect(() => {\r\n const handleKeyDown = (event: { keyCode: number }) => {\r\n if (event.keyCode === 46) {\r\n removeSelectedChild(name);\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener(\"keydown\", handleKeyDown);\r\n };\r\n }, [selectionBlock]);\r\n\r\n const imgSize = {\r\n contain: { width: \"100%\" },\r\n cover: { hiegth: \"100%\" },\r\n fill: { width: \"100%\", hiegth: \"100%\" },\r\n };\r\n\r\n const renderContent = (layout: IControlLayout) => {\r\n const isStaticText = layout.template.type === \"staticText\";\r\n const isSelected = selectionBlock?.i === layout.i;\r\n\r\n if (layout.template.type === \"tb\") {\r\n return (\r\n \r\n {tableDisplay(layout)}\r\n
\r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n
\r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n
\r\n

Name

\r\n

ชื่อ

\r\n
\r\n

Position

\r\n

ตำแหน่ง

\r\n
\r\n

Department

\r\n

หน่วยงาน

\r\n
\r\n );\r\n } else if (isStaticText) {\r\n return isSelected ? (\r\n {\r\n if (val !== null) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.label = val;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n />\r\n ) : (\r\n {`${layout?.template?.label}`}\r\n );\r\n } else if (layout.template.type === \"staticImage\") {\r\n const imgSize = {\r\n contain:\r\n layout.h > layout.w\r\n ? {\r\n width: \"100%\",\r\n }\r\n : { height: \"100%\", width: \"auto\" },\r\n cover: {},\r\n fill: { width: \"100%\", height: \"100%\" },\r\n };\r\n return isSelected ? (\r\n {\r\n if (val !== null) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.value = val;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n />\r\n ) : layout.template.attribute?.backgroundSize !== \"cover\" ? (\r\n <>\r\n {\" \"}\r\n {layout.template.value === \"\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {layout.template.value === \"\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n } else if (layout.template.type === \"l\") {\r\n return (\r\n {`${\r\n layout.template.attribute?.hideLabel ? \"\" : layout.template.label\r\n }`}\r\n );\r\n } else {\r\n return (\r\n {`${\r\n layout.template.attribute?.hideLabel\r\n ? \"\"\r\n : layout.template.label + \" : \"\r\n } ${layout?.template?.attribute?.default || \"value\"}`}\r\n );\r\n }\r\n };\r\n\r\n const getLink = (val: string) => {\r\n if (val === \"\") {\r\n return \"\";\r\n }\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n const childrenLayout = useMemo(() => {\r\n return children.map((layout, idx) => {\r\n const isSelected = selectionBlock?.i === layout.i;\r\n const isPortrait = layout.h > layout.w;\r\n return (\r\n {\r\n onSelectChange(layout);\r\n }}\r\n >\r\n {renderContent(layout)}\r\n \r\n );\r\n });\r\n }, [paperLayout, selectionBlock]);\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n const layout = layouts.find((layout) => layout.i === child.i);\r\n if (layout) {\r\n child.x = layout.x;\r\n child.y = layout.y;\r\n }\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }}\r\n onResizeStop={(layouts) => {\r\n if (!pageProperty.isDragingFromOutSide) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n const layout = layouts.find(\r\n (layout) => layout.i === child.i\r\n );\r\n\r\n if (layout) {\r\n child.w = layout.w;\r\n child.h = layout.h;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n onDrop={(layouts, item: any, e: any) => {\r\n try {\r\n const data: ILayoutTemplate = JSON.parse(\r\n e.dataTransfer.getData(\"application/json\")\r\n );\r\n addLayout(name, item, data);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }}\r\n >\r\n {childrenLayout}\r\n \r\n \r\n );\r\n};\r\nexport default DropableComponent;\r\n","import React, {\r\n RefAttributes,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Responsive, WidthProvider } from \"react-grid-layout\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\nimport PDFElementBox from \"./PDFElementBox\";\r\nimport GridLayout from \"react-grid-layout\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport \"react-grid-layout/css/styles.css\"; // CSS for react-grid-layout\r\nimport \"react-resizable/css/styles.css\"; //\r\nimport DropableComponent from \"./DropableComponent\";\r\nimport { DragOutlined } from \"@ant-design/icons\";\r\nimport { Button, Tag } from \"antd\";\r\nimport { IControlLayout } from \"../../../Context/PDFEditorContext\";\r\nimport { findMaxInArrayObject } from \"../../../Helper/arrayHelper\";\r\nconst ResponsiveGridLayout = WidthProvider(Responsive);\r\n\r\ninterface props {\r\n scale: number;\r\n}\r\n\r\nconst PaperLayout = React.memo(({ scale }: props) => {\r\n const {\r\n paperLayout,\r\n addLayout,\r\n pageProperty,\r\n setPaperLayout,\r\n updatePageProperties,\r\n refHtml,\r\n selectionBlock,\r\n onDeselected,\r\n } = usePDFEditor();\r\n\r\n const refPaper = useRef(null);\r\n\r\n useEffect(() => {\r\n const handleZoom = () => {\r\n // Set the scale based on your zoom logic\r\n\r\n // Center the paper div within the board\r\n if (refPaper.current && refPaper.current?.parentElement) {\r\n const boardWidth = refPaper.current?.parentElement?.clientWidth;\r\n const boardHeight = refPaper.current?.parentElement?.clientHeight;\r\n const paperWidth = refPaper.current.clientWidth * scale;\r\n const paperHeight = refPaper.current.clientHeight * scale;\r\n\r\n const offsetX = (boardWidth - paperWidth) / 2;\r\n const offsetY = (boardHeight - paperHeight) / 2;\r\n\r\n refPaper.current.style.transform = `scale(${scale})`;\r\n refPaper.current.style.left = `${offsetX}px`;\r\n // refPaper.current.style.top = `${offsetY}px`;\r\n }\r\n };\r\n\r\n handleZoom();\r\n }, [scale]);\r\n\r\n const checkForNewPage = (height: number) => {\r\n if (height / pageProperty.pageAmount > pageProperty.pageSize?.height) {\r\n updatePageProperties({\r\n pageAmount: pageProperty.pageAmount + 1,\r\n });\r\n } else if (\r\n height > pageProperty.pageSize?.height &&\r\n height <= pageProperty.pageSize?.height * pageProperty.pageAmount &&\r\n height <= pageProperty.pageSize?.height * (pageProperty.pageAmount - 1)\r\n ) {\r\n updatePageProperties({\r\n pageAmount: pageProperty.pageAmount - 1,\r\n });\r\n } else if (\r\n pageProperty.pageAmount - 1 === 1 &&\r\n height < pageProperty.pageSize?.height\r\n ) {\r\n updatePageProperties({\r\n pageAmount: 1,\r\n });\r\n }\r\n };\r\n\r\n const breakPages = () => {\r\n const lines: any[] = [];\r\n for (let i = 1; i < pageProperty.pageAmount; i++) {\r\n lines.push(\r\n \r\n );\r\n }\r\n return lines;\r\n };\r\n\r\n const renderedPaperLayout = useMemo(() => {\r\n return paperLayout.map((e: any) => {\r\n e.isBounded = true;\r\n return (\r\n \r\n {e.i}\r\n \r\n {e.i === \"body\" && breakPages()}\r\n \r\n );\r\n });\r\n }, [paperLayout]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {\r\n const bodyElement = refPaper.current?.querySelector(\".body\");\r\n if (bodyElement instanceof HTMLElement) {\r\n checkForNewPage(bodyElement.offsetHeight);\r\n }\r\n }}\r\n onResizeStop={(layouts, oldItem, newItem) => {\r\n setPaperLayout([\r\n ...paperLayout.map((layout) => {\r\n if (layout?.children) {\r\n if (layout.i === newItem.i) {\r\n layout.w = newItem.w;\r\n layout.h = newItem.h;\r\n }\r\n }\r\n\r\n return layout;\r\n }),\r\n ]);\r\n }}\r\n >\r\n {renderedPaperLayout}\r\n \r\n
\r\n \r\n \r\n );\r\n});\r\n\r\nexport default PaperLayout;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\n\r\nimport PDFToolBar from \"./PDFToolBar\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFEditorToolBar from \"./PDFEditorToolBar\";\r\nimport PaperLayout from \"./PaperLayout\";\r\nimport { ZoomInOutlined, ZoomOutOutlined } from \"@ant-design/icons\";\r\nimport { Button, Col, Popover, Row, Spin, Switch, Tabs, TabsProps } from \"antd\";\r\nimport { IControlLayout } from \"../../../Context/PDFEditorContext\";\r\nimport { GetMasterDataReportTem } from \"../../../Services/MasterDataService\";\r\nimport { ITemplatePDF } from \"../../../IRequestModel/CreateFormControl/ITemplatePDF\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n templateID: string;\r\n setControlModel: any;\r\n reportTem: any[];\r\n fontList: any[];\r\n templatePDF: ITemplatePDF;\r\n};\r\n\r\nconst PDFTemplateComponent = ({\r\n advanceForm,\r\n templateID,\r\n setControlModel,\r\n reportTem,\r\n fontList,\r\n templatePDF,\r\n}: Props) => {\r\n const {\r\n paperLayout,\r\n pageProperty,\r\n selectionBlock,\r\n setPaperLayout,\r\n updatePageProperties,\r\n onDeselected,\r\n refHtml,\r\n } = usePDFEditor();\r\n const [scale, setScale] = useState(1);\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [isEnabled, setIsEnabled] = useState(templatePDF.IsActive);\r\n useEffect(() => {\r\n if (templatePDF.JsonLayout) {\r\n setPaperLayout(JSON.parse(templatePDF.JsonLayout));\r\n updatePageProperties({ ...JSON.parse(templatePDF.JsonProps) });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n genFormat();\r\n }, [paperLayout, pageProperty, isEnabled]);\r\n\r\n const getLink = (val: string) => {\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n // const fecthMasterData = async () => {\r\n // const res = await GetMasterDataReportTem();\r\n // console.log(res);\r\n // };\r\n\r\n const genFormat = () => {\r\n try {\r\n let requestResult: any[] = [];\r\n paperLayout.forEach((layout, index) => {\r\n const _layout = layout?.children?.sort((a, b) => a.y - b.y);\r\n if (_layout) {\r\n const elements = refHtml.current?.getElementsByClassName(layout.i);\r\n let allDivElement = elements;\r\n if (elements && elements.length > 0) {\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n const allElements = element.getElementsByClassName(\"child-grid\");\r\n allDivElement = allElements;\r\n }\r\n }\r\n let result: any[][] = [];\r\n let tableCount = _layout.filter(\r\n (e) => e.template.type === \"tb\"\r\n ).length;\r\n let tempAfter: IControlLayout[] = [];\r\n for (let i = 0; i <= tableCount; i++) {\r\n let beforeTb: any[] = [];\r\n let isBeforeTb = true;\r\n let afterTb: any[] = [];\r\n let tableControl: any[] = [];\r\n if (allDivElement) {\r\n if (i === 0) {\r\n for (const item of _layout) {\r\n if (item.template.type === \"tb\") {\r\n isBeforeTb = false;\r\n if (tableControl.length === 0) {\r\n tableControl.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n }\r\n }\r\n\r\n if (isBeforeTb) {\r\n beforeTb.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n } else {\r\n afterTb.push(item);\r\n }\r\n }\r\n } else {\r\n tempAfter = tempAfter.slice(1, tempAfter.length);\r\n\r\n const a = tempAfter?.find((e) => e.template.type === \"tb\");\r\n if (a) {\r\n tableControl.push({\r\n i: a.i,\r\n w: a.w,\r\n h: a.h,\r\n x: a.x,\r\n y: a.y,\r\n type: a.template.type,\r\n Alabel: a.template.label,\r\n html: getDivForTemplate(allDivElement, a),\r\n });\r\n }\r\n\r\n for (const item of tempAfter) {\r\n if (item.template.type === \"tb\") {\r\n isBeforeTb = false;\r\n }\r\n\r\n if (isBeforeTb) {\r\n beforeTb.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n } else {\r\n afterTb.push(item);\r\n }\r\n }\r\n }\r\n }\r\n\r\n result.push(beforeTb);\r\n if (tableControl.length > 0) result.push(tableControl);\r\n\r\n tempAfter = afterTb;\r\n beforeTb = [];\r\n }\r\n\r\n requestResult.push(result);\r\n }\r\n });\r\n console.log(requestResult);\r\n\r\n setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templatePDF: {\r\n ID: 0,\r\n TemplateId: templateID,\r\n JsonProps: JSON.stringify(pageProperty),\r\n JsonLayout: JSON.stringify(paperLayout),\r\n HeaderLayout: JSON.stringify(requestResult[0]),\r\n BodyLayout: JSON.stringify(requestResult[1]),\r\n FooterLayout: JSON.stringify(requestResult[2]),\r\n isActive: isEnabled,\r\n },\r\n }));\r\n } catch (error) {\r\n console.error(\"genFormat=>error\", error);\r\n }\r\n };\r\n\r\n const getDivForTemplate = (\r\n allDivElement: HTMLCollectionOf,\r\n item: IControlLayout\r\n ) => {\r\n const tempDiv = document.createElement(\"div\");\r\n var regex = /(\\btransform:\\s*[^;]+;|position:\\s*absolute;)/g;\r\n for (let i = 0; i < allDivElement.length; i++) {\r\n const element = allDivElement[i];\r\n // Use getElementsByClassName on the individual element to get elements with a new class name\r\n const title = element.getAttribute(\"title\");\r\n if (title === item.i) {\r\n try {\r\n if (item.template.type !== \"staticImage\") {\r\n tempDiv.setAttribute(\"style\", element.getAttribute(\"style\") || \"\");\r\n tempDiv.style.padding = \"\";\r\n tempDiv.style.width = \"100%\";\r\n tempDiv.style.height = \"100%\";\r\n } else {\r\n tempDiv.style.textAlign = \"center\";\r\n }\r\n\r\n const content = element?.getElementsByClassName(\r\n \"content\"\r\n )[0] as HTMLElement;\r\n if(content){\r\n const computedStyle = window.getComputedStyle(content);\r\n content.style.lineHeight = computedStyle.lineHeight;\r\n content.style.fontSize = tempDiv.style.fontSize;\r\n content.style.fontFamily = tempDiv.style.fontFamily;\r\n content.style.fontWeight = tempDiv.style.fontWeight;\r\n }\r\n tempDiv.appendChild(content.cloneNode(true));\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n }\r\n\r\n return tempDiv.outerHTML\r\n .replace(regex, \"\")\r\n .replace(/hidden/g, \"\")\r\n .replace(/border:\\s*[^;]+;/g, \"\")\r\n .replace(\"Column value\", \"{value}\")\r\n .replace(\":5001\", \"\");\r\n };\r\n\r\n const zoomIn = () => {\r\n if (scale < 2) {\r\n setScale(scale + 0.1);\r\n }\r\n };\r\n\r\n const zoomOut = () => {\r\n if (scale > 0) {\r\n setScale(scale - 0.1);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n Enabled : \r\n {\r\n setIsEnabled(e);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PDFTemplateComponent;\r\n","import { Button } from \"antd\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { FaRegCopy } from \"react-icons/fa\";\r\nimport { IoArrowBackSharp, IoMenu } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport FormSettingComponent from \"../../components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent\";\r\nimport ApproveMatrix from \"../../components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix\";\r\nimport { InformationComponents } from \"../../components/TemplateDetailComponents/InformationComponents/InformationComponents\";\r\nimport { TemplateDetailSideBarElement } from \"./TemplateDetailSideBarElement\";\r\nimport { ITemplateRequestModel as ITemplateRequestModel } from \"../../IRequestModel/CreateFormControl/ITemplateRequestModel\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\n\r\nimport \"./TemplateDetailScreen.css\";\r\nimport {\r\n AddTemplate,\r\n AddTemplateAndVersion,\r\n DeleteTemplate,\r\n GetTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n GetTemplateControlById,\r\n GetTemplateListVersionHistory,\r\n LoadLogic,\r\n} from \"../../Services/TemplateService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport {\r\n getAuthorization,\r\n GetFontList,\r\n GetIsDocControl,\r\n GetMasterDataReportTem,\r\n GetSignature,\r\n getVersion,\r\n getVersionTempVC,\r\n} from \"../../Services/MasterDataService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport AuthorizationComponent from \"../../components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { MdPreview } from \"react-icons/md\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport VersionAndHistoryComponents from \"../../components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents\";\r\nimport { ILstMasterDataList } from \"../../IRequestModel/CreateFormControl/ILstMasterDataList\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport moment from \"moment\";\r\n\r\nimport { dataCompany } from \"../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\n\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { ReferenceDocumentComponentsFix } from \"../../components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix\";\r\n\r\nimport { ReferenceInformation } from \"../../components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation\";\r\nimport PDFTemplateComponent from \"../../components/TemplateDetailComponents/PDFTemplateComponent/PDFTemplateComponent\";\r\nimport { PDFEditorProvider } from \"../../Context/PDFEditorContext\";\r\nimport TemplateLogicComponent from \"../../components/TemplateDetailComponents/TeplateLogicComponent/TeplateLogicComponent\";\r\nimport { ILogicReferenceInformation } from \"../../IRequestModel/ILogicModel\";\r\n\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst createVersionMasterData: ILstMasterDataList = {\r\n createdBy: \"\",\r\n createdDate: \"\",\r\n isActive: true,\r\n masterId: \"\",\r\n masterType: \"TempVC\",\r\n modifiedBy: \"\",\r\n modifiedDate: \"\",\r\n seq: \"\",\r\n value1: \"\",\r\n value2: \"\",\r\n value3: \"\",\r\n value4: \"\",\r\n value5: \"\",\r\n};\r\n\r\nconst createFormControl: ITemplateRequestModel = {\r\n Amount: 0,\r\n JsonCondition: \"\",\r\n listRefTemplate: [],\r\n templateForm: {\r\n TemplateId: 0,\r\n GroupTemplateName: \"\",\r\n TemplateName: \"\",\r\n TemplateNameWithCode: \"\",\r\n DepartmentId: 0,\r\n DocumentCode: \"\",\r\n isPublic: true,\r\n ReportLang: \"\",\r\n TemplateDetail: null,\r\n ToId: \"\",\r\n CcId: \"\",\r\n TemplateSubject: \"\",\r\n AutoApprove: false,\r\n TextForm: \"\",\r\n AdvanceForm: \"\",\r\n IsTextForm: false,\r\n AutoApproveWhen: \"L\",\r\n ApproverCanEdit: false,\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n IsActive: true,\r\n IsEdit: null,\r\n IsDelete: null,\r\n MemoId: null,\r\n isPDFShowInfo: false,\r\n isRequesterEditApproval: true,\r\n isFormControl: false,\r\n DepID: null,\r\n DocTypeCode: null,\r\n TemplateType: null,\r\n PDFLanguage: null,\r\n Location: null,\r\n To: null,\r\n CC: null,\r\n Subject: null,\r\n TemplateDesc: null,\r\n LineOfCommand: null,\r\n MaxLevelID: null,\r\n SpecificApprover: null,\r\n DOA: null,\r\n ApprovalMatrixID: null,\r\n CC_Viewer: null,\r\n ApproverCanEditContent: null,\r\n Modified: null,\r\n RoleID: \"\",\r\n SpecificEmployeeId: \"\",\r\n SpecificRoleID: \"\",\r\n MultiDeptId: null,\r\n ReqAttach: null,\r\n AutoStartTemplate: \"[]\",\r\n AutoStartColumn: \"[]\",\r\n RefTemplate: \"\",\r\n RefDocColumn: \"\",\r\n RefDocDisplay: \"\",\r\n AdvanceRefCondition: null,\r\n IsCheckAccess: false,\r\n IsDefaultLineApprove: false,\r\n RequiredAttachment: false,\r\n },\r\n templatePDF: {\r\n ID: 0,\r\n TemplateId: 0,\r\n JsonProps: \"\",\r\n JsonLayout: \"\",\r\n HeaderLayout: \"\",\r\n BodyLayout: \"\",\r\n FooterLayout: \"\",\r\n IsActive: true,\r\n },\r\n specificApprovers: [],\r\n specificTempApprovers: [],\r\n TemLineApprove: [\r\n {\r\n TemLineId: -1,\r\n Seq: 0,\r\n ApprovalMatrixId: null,\r\n CompanyCode: null,\r\n ApproveType: 0,\r\n lstCondition: [],\r\n CreatedDate: \"26 Feb 2024\",\r\n CreatedBy: \"1\",\r\n ModifiedDate: \"26 Feb 2024\",\r\n ModifiedBy: \"1\",\r\n IsActive: true,\r\n ColumnJsonCondValue: '{\"Conditions\":[]}',\r\n MaxLevelId: -1,\r\n IsParallel: false,\r\n ApproveSlot: 0,\r\n IsApproveAll: false,\r\n TemplateId: 0,\r\n Conditions: \"\",\r\n },\r\n ],\r\n VEmployee: null,\r\n lstTRNLineApprove: null,\r\n cMSTApprovalMatrix: [],\r\n cMSTPositionLevel: [],\r\n cMSTCompany: null,\r\n lstMasterData: [],\r\n ComCode: 0,\r\n cMSTTemplateLogic: [],\r\n cMSTMasterData: null,\r\n Authorization_manage_company: [],\r\n Authorization_manage_department: [],\r\n Authorization_request_company: [],\r\n Authorization_request_department: [],\r\n Authorization_view: [],\r\n};\r\n\r\nconst TemplateDetailScreen = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const [selectView, setSelectView] = useState(\"information\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState();\r\n const [controlModel, setControlModel] = useState();\r\n const [controlVersionModel, setControlVersionModel] = useState();\r\n const [createVersionMasterModel, setCreateVersionMasterModel] = useState(\r\n createVersionMasterData\r\n );\r\n const [refInformation, setRefInformation] = useState();\r\n const [interfaceTemplateLogic, setInterfaceTemplateLogic] = useState();\r\n\r\n const [groupTemplateName, setGroupTemplateName] = useState();\r\n const [templateNameWithCode, setTemplateNameWithCode] = useState();\r\n\r\n const toast = useRef();\r\n let history = useHistory();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const { url } = useRouteMatch();\r\n const [sidebarState, setSidebarState] = useState(true);\r\n\r\n // query\r\n const query = new URLSearchParams(useLocation().search);\r\n const [templateId, setTemplateId] = useState();\r\n const [template, setTemplate] = useState();\r\n // check state edit ? add\r\n const [action, setAction] = useState(\"add\");\r\n const [isDelete, setIsDelete] = useState(false);\r\n\r\n // FormSettingUseState\r\n const [textFromValue, setTextFromValue] = useState(\"\");\r\n const [isCopyValue, setIsCopyValue] = useState(false);\r\n const [isVersion, setIsVersion] = useState(false);\r\n const [advanceForm, setAdvanceForm] = useState({ items: [] });\r\n const [viewManageComponent, setViewManageComponent] = useState();\r\n\r\n ///isLoad\r\n const [isLoad, setIsLoad] = useState(true);\r\n // DataList\r\n const [positonLevelList, setPositionLevelList] = useState([]);\r\n const [matrixList, setMatrixList] = useState([]);\r\n const [version, setVersion] = useState({});\r\n const [versionStatus, setVersionStatus] = useState(false);\r\n const [versionCheck, setVersionCheck] = useState(false);\r\n const [reportTem, setReportTem] = useState([]);\r\n const [fontList, setFontList] = useState([\r\n { label: \"CordiaUPC\", value: \"CordiaUPC\" },\r\n ]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n\r\n const [versionTempVC, setVersionTempVC] = useState([]);\r\n const [templateListVersionHistory, setTemplateListVersionHistory] =\r\n useState([]);\r\n const [objectDataAuthorization, setObjectDataAuthorization] = useState({\r\n Role: [],\r\n Company: [],\r\n Department: [],\r\n Employee: [],\r\n DepartmentManage: [],\r\n DepartmentRequest: [],\r\n });\r\n\r\n const [validationInformation, setValidationInformation] = useState({\r\n DocumentCode: false,\r\n GroupTemplateName: false,\r\n TemplateName: false,\r\n });\r\n const [logicsApprover, setLogicsApprover] = useState();\r\n const [logicsRefIn, setLogicsRefIn] = useState();\r\n const [dataLogic, setDataLogic] = useState([]);\r\n\r\n useEffect(() => {\r\n intiFunc();\r\n }, []);\r\n\r\n const intiFunc = () => {\r\n let _isCopyValue: boolean = false;\r\n fetchPositionLevel();\r\n fetchMatrix();\r\n fetchMasterData();\r\n fetchDataAuthorization();\r\n fetchDataTemplate();\r\n let _templateVersionCode: string | null = \"\";\r\n let _versionTemplate: string | null = \"\";\r\n let _version: string | null = \"\";\r\n let _templateId: string = query.get(\"TemplateId\") || \"\";\r\n\r\n if (_templateId) {\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n setIsCopyValue(true);\r\n _isCopyValue = true;\r\n } else {\r\n setAction(\"edit\");\r\n }\r\n templateList(parseInt(_templateId), _isCopyValue);\r\n setTemplateId(parseInt(_templateId));\r\n } else {\r\n if (\r\n query.get(\"TemplateVersionCode\") &&\r\n query.get(\"VersionTemplate\") &&\r\n !query.get(\"isCopy\")\r\n ) {\r\n _versionTemplate = query.get(\"VersionTemplate\");\r\n _templateVersionCode = query.get(\"TemplateVersionCode\");\r\n setIsVersion(true);\r\n templateList(\r\n parseInt(_templateId),\r\n _isCopyValue,\r\n _templateVersionCode,\r\n _versionTemplate\r\n );\r\n } else {\r\n console.log(createFormControl);\r\n\r\n setControlModel(createFormControl);\r\n setViewManageComponent(\"1\");\r\n setIsLoad(false);\r\n }\r\n }\r\n if (!_isCopyValue && !_versionTemplate) {\r\n versionFunction(_templateId);\r\n }\r\n };\r\n\r\n async function fetchPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n setPositionLevelList(_dataDynamic);\r\n }\r\n async function fetchDataAuthorization() {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n const companies = await dataCompany();\r\n const _Department = await GetDepartment();\r\n const _employee = await GetAllEmployee();\r\n let _dataFilterDepartment = _Department.filter(\r\n (_department: any) =>\r\n _department.NameEn !== null &&\r\n _department.NameEn.length !== 0 &&\r\n _department.NameTh !== null &&\r\n _department.NameTh.length !== 0\r\n );\r\n\r\n setObjectDataAuthorization((prevState: any) => ({\r\n ...prevState,\r\n Role: roles,\r\n Company: companies,\r\n Department: _dataFilterDepartment,\r\n Employee: _employee,\r\n }));\r\n }\r\n async function fetchMatrix() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n\r\n setMatrixList(matrix);\r\n }\r\n\r\n async function fetchMasterData() {\r\n const signatrue = await GetSignature();\r\n const reportTem = await GetMasterDataReportTem();\r\n const fontList = await GetFontList();\r\n\r\n let d: any[] = reportTem.filter(\r\n (e: any) => !e.value1.startsWith(\"ActionHistor\")\r\n );\r\n\r\n const allHistory = reportTem.filter((e: any) =>\r\n e.value1.startsWith(\"ActionHistor\")\r\n );\r\n\r\n d.push({\r\n masterId: 0,\r\n masterType: \"ReportTem\",\r\n value1: \"History\",\r\n value2: \"History\",\r\n value3: \"YES\",\r\n value4: allHistory.map((e: any) => e.value2).join(\"|\"),\r\n value5: \"tb\",\r\n isActive: true,\r\n createdDate: null,\r\n createdBy: null,\r\n modifiedDate: null,\r\n modifiedBy: null,\r\n seq: null,\r\n });\r\n\r\n if (fontList && fontList.length > 0) {\r\n const list = fontList[0]?.Value1?.split(\"\\n\");\r\n\r\n setFontList(\r\n list.map((e: string) => {\r\n if (e.includes(\"=\")) {\r\n const x = e.replaceAll(\" \", \"\").split(\"=\");\r\n return { label: x[0], value: x[1] };\r\n } else {\r\n return { lable: e, value: e };\r\n }\r\n })\r\n );\r\n }\r\n setReportTem([...d.sort((a, b) => a.masterId - b.masterId)]);\r\n setSinatureOptions([...signatrue]);\r\n }\r\n\r\n async function templateList(\r\n template_id: Number,\r\n _isCopyValue: boolean,\r\n _templateVersionCode?: string | null,\r\n _versionTemplate?: string | null\r\n ) {\r\n if (\r\n _versionTemplate &&\r\n _versionTemplate !== null &&\r\n _versionTemplate !== \"\"\r\n ) {\r\n try {\r\n let _templateIdList = await GetTemplateControlById({\r\n TemplateVersionCode: _templateVersionCode,\r\n VersionTemplate: _versionTemplate,\r\n }).catch((e) => {\r\n console.log(e);\r\n });\r\n if (_templateIdList) {\r\n _templateIdList.templateForm.versionTemplate = _versionTemplate;\r\n\r\n const dataLogic = await LoadLogic(\r\n _templateIdList.templateForm.TemplateId\r\n );\r\n let TemplateLogic: any[] = [];\r\n if (dataLogic) {\r\n let dataValue = [];\r\n let dataValueInterface = [];\r\n for (let i = 0; i < dataLogic?.length; i++) {\r\n const logic = dataLogic[i];\r\n if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n dataValue.push(jsonValue);\r\n TemplateLogic.push({\r\n Seq: logic.seq,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n if (logic.logictype === \"actionservice\") {\r\n dataValueInterface.push(logic);\r\n\r\n TemplateLogic.push({\r\n Seq: logic.Seq,\r\n Logictype: logic.logictype,\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n // _templateIdList.cMSTTemplateLogic = TemplateLogic;\r\n }\r\n setDataLogic(dataLogic);\r\n setRefInformation(dataValue);\r\n setInterfaceTemplateLogic(dataValueInterface);\r\n }\r\n\r\n setDataLogic(dataLogic);\r\n setControlModel(_templateIdList);\r\n setControlVersionModel(_templateIdList);\r\n refTemplateByEditFunction(_templateIdList, dataLogic);\r\n advanceFormByEditFunction(_templateIdList);\r\n\r\n setTemplateId(_templateIdList.templateForm.TemplateId);\r\n }\r\n setIsLoad(false);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n } else {\r\n setIsLoad(true);\r\n\r\n const dataJson = {\r\n TemplateId: template_id,\r\n };\r\n let _templateIdList: any = await GetTemplateControlById(dataJson);\r\n const dataLogic = await LoadLogic(template_id);\r\n setDataLogic(dataLogic);\r\n if (_isCopyValue) {\r\n _templateIdList.templateForm.TemplateId = 0;\r\n _templateIdList.templateForm.TemplateName =\r\n _templateIdList.templateForm.TemplateName + \"-copy\";\r\n _templateIdList.templateForm.DocumentCode =\r\n _templateIdList.templateForm.DocumentCode + \"-copy\";\r\n }\r\n let TemplateLogic: any[] = [];\r\n if (dataLogic) {\r\n let dataValue: any[] = [];\r\n let dataValueInterface: any[] = [];\r\n for (let i = 0; i < dataLogic?.length; i++) {\r\n const logic = dataLogic[i];\r\n if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n dataValue.push(jsonValue);\r\n\r\n TemplateLogic.push({\r\n Seq: logic.Seq,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n\r\n if (logic.logictype === \"actionservice\") {\r\n dataValueInterface.push(logic);\r\n TemplateLogic.push({\r\n Seq: logic.Seq,\r\n Logictype: logic.logictype,\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n // _templateIdList.cMSTTemplateLogic = TemplateLogic;\r\n }\r\n setDataLogic(dataLogic);\r\n setRefInformation(dataValue);\r\n setInterfaceTemplateLogic(dataValueInterface);\r\n }\r\n const _advanceForm = JSON.parse(\r\n _templateIdList.templateForm.AdvanceForm || \"{}\"\r\n );\r\n console.log(\"read=>ReqConditions\", _advanceForm?.ReqConditions);\r\n\r\n if (\r\n _advanceForm &&\r\n _advanceForm.ReqConditions &&\r\n _advanceForm?.ReqConditions?.Conditions\r\n ) {\r\n _templateIdList.TemLineApprove.splice(0, 0, {\r\n TemLineId: -1,\r\n TemplateId: -1,\r\n Seq: 0,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: null,\r\n ApproveType: 0,\r\n CompanyCode: null,\r\n Conditions: null,\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n IsActive: true,\r\n LstCondition: null,\r\n IsParallel: null,\r\n IsApproveAll: false,\r\n ApproveSlot: null,\r\n ColumnJsonCondValue:\r\n _advanceForm?.ReqConditions?.Conditions?.ColumnJsonCondValue,\r\n });\r\n } else {\r\n _templateIdList.TemLineApprove.splice(0, 0, {\r\n TemLineId: -1,\r\n TemplateId: -1,\r\n Seq: 0,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: null,\r\n ApproveType: 0,\r\n CompanyCode: null,\r\n Conditions: null,\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n IsActive: true,\r\n LstCondition: null,\r\n IsParallel: null,\r\n IsApproveAll: false,\r\n ApproveSlot: null,\r\n ColumnJsonCondValue: '{\"Conditions\":[]}',\r\n });\r\n }\r\n console.log(_templateIdList);\r\n\r\n setControlVersionModel(_templateIdList);\r\n\r\n setControlModel(_templateIdList);\r\n refTemplateByEditFunction(_templateIdList, dataLogic);\r\n advanceFormByEditFunction(_templateIdList);\r\n setTemplateNameWithCode(\r\n _templateIdList?.templateForm?.DocumentCode +\r\n \" : \" +\r\n _templateIdList?.templateForm?.TemplateName\r\n );\r\n setGroupTemplateName(_templateIdList?.templateForm?.GroupTemplateName);\r\n setIsLoad(false);\r\n }\r\n }\r\n\r\n async function versionFunction(templateId: any) {\r\n const dataJson = {\r\n TemplateId:\r\n templateId !== undefined &&\r\n templateId !== null &&\r\n templateId.length !== 0\r\n ? Number(templateId)\r\n : null,\r\n };\r\n\r\n let _dataVersion = await getVersion();\r\n\r\n if (\r\n _dataVersion !== undefined &&\r\n _dataVersion !== null &&\r\n _dataVersion.length !== 0\r\n ) {\r\n let _arrayVersion = _dataVersion[0].value2.split(\"|\");\r\n if (\r\n _arrayVersion[0] !== undefined &&\r\n _arrayVersion[0] !== null &&\r\n _arrayVersion[0].length !== 0\r\n ) {\r\n setVersion(_dataVersion[0]);\r\n let _templateIdList: any =\r\n dataJson.TemplateId !== null ? await GetTemplateById(dataJson) : {};\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n setVersionTempVC(_dataVersionTempVC);\r\n\r\n if (\r\n _templateIdList !== undefined &&\r\n _templateIdList !== null &&\r\n Object.keys(_templateIdList).length !== 0\r\n ) {\r\n let dataFilter = _dataVersionTempVC.filter(\r\n (Item: any) => Item.value1 === _templateIdList.DocumentCode\r\n // &&\r\n // Item.value2 === \"true\"\r\n );\r\n\r\n let _templateListVersionHistory = await GetTemplateListVersionHistory(\r\n { DocumentCode: _templateIdList.DocumentCode }\r\n );\r\n\r\n _templateListVersionHistory?.sort((a: any, b: any) =>\r\n sorterFunc(a, b, \"TemplateId\", \"dec\")\r\n );\r\n\r\n _templateListVersionHistory?.splice(0, 1);\r\n setTemplateListVersionHistory(_templateListVersionHistory);\r\n if (dataFilter.length !== 0) {\r\n setCreateVersionMasterModel((prevState: any) => ({\r\n ...prevState,\r\n ...dataFilter[0],\r\n }));\r\n\r\n setVersionCheck(true);\r\n }\r\n }\r\n\r\n setVersionStatus(Boolean(_arrayVersion[0]));\r\n } else {\r\n setVersionCheck(false);\r\n setVersionStatus(false);\r\n }\r\n }\r\n }\r\n async function refTemplateByEditFunction(\r\n _templateIdList: any,\r\n dataLogic: any\r\n ) {\r\n try {\r\n let _RefTemplate =\r\n _templateIdList.templateForm.RefTemplate !== undefined\r\n ? _templateIdList.templateForm.RefTemplate !== null\r\n ? _templateIdList.templateForm.RefTemplate.length === 0\r\n ? []\r\n : JSON.parse(_templateIdList.templateForm.RefTemplate)\r\n : []\r\n : [];\r\n let _dataTemplatetMasterData = await GetIsDocControl();\r\n let _dataAuthorizationMasterData = await getAuthorization();\r\n\r\n if (\r\n _dataAuthorizationMasterData === undefined ||\r\n _dataAuthorizationMasterData === null\r\n ) {\r\n } else {\r\n let _manage_company = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authmgcomp\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _manage_department = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authmgdept\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _request_company = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authrqcomp\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _request_department = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authrqdept\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _Authorization_view = dataLogic.filter((data: any) => {\r\n if (data.logictype === \"Permission\") return true;\r\n });\r\n\r\n let _manage_companyArrayIndx0: any =\r\n _manage_company.length === 0\r\n ? null\r\n : _manage_company[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_manage_company[0].value2);\r\n let _request_companyArrayIndx0: any =\r\n _request_company.length === 0\r\n ? null\r\n : _request_company[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_request_company[0].value2);\r\n let _manage_departmentArrayIndx0: any =\r\n _manage_department.length === 0\r\n ? null\r\n : _manage_department[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_manage_department[0].value2);\r\n\r\n let _request_departmentArrayIndx0: any =\r\n _request_department.length === 0\r\n ? null\r\n : _request_department[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_request_department[0].value2);\r\n\r\n let Authorization_for_ViewIndx0: any =\r\n _Authorization_view.length === 0\r\n ? null\r\n : _Authorization_view[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_Authorization_view[0].jsonvalue);\r\n\r\n // if(Authorization_manage_company!==null)\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n Authorization_manage_company:\r\n _manage_companyArrayIndx0 !== undefined\r\n ? _manage_companyArrayIndx0 !== null\r\n ? _manage_companyArrayIndx0.length === 0\r\n ? null\r\n : _manage_companyArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_manage_department:\r\n _manage_department !== undefined\r\n ? _manage_department !== null\r\n ? _manage_department.length === 0\r\n ? null\r\n : _manage_departmentArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_request_company:\r\n _request_companyArrayIndx0 !== undefined\r\n ? _request_companyArrayIndx0 !== null\r\n ? _request_companyArrayIndx0.length === 0\r\n ? null\r\n : _request_companyArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_request_department:\r\n _request_department !== undefined\r\n ? _request_department !== null\r\n ? _request_department.length === 0\r\n ? null\r\n : _request_departmentArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_view:\r\n _Authorization_view !== undefined\r\n ? _Authorization_view !== null\r\n ? _Authorization_view.length === 0\r\n ? null\r\n : Authorization_for_ViewIndx0\r\n : null\r\n : null,\r\n }));\r\n }\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n listRefTemplate: _RefTemplate,\r\n }));\r\n lstMasterDataByEditFunction(_dataTemplatetMasterData, _templateIdList);\r\n } catch (error) {\r\n console.error(\"setRef=>error\", error);\r\n }\r\n }\r\n async function lstMasterDataByEditFunction(\r\n _MasterData: any,\r\n _templateIdList: any\r\n ) {\r\n if (_MasterData !== null) {\r\n let _dataTemplatetMasterDatafilter = _MasterData.filter(\r\n (data: any) =>\r\n data.value1 === _templateIdList.templateForm.TemplateId.toString()\r\n );\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n lstMasterData: _dataTemplatetMasterDatafilter,\r\n }));\r\n }\r\n }\r\n\r\n function advanceFormByEditFunction(_templateIdList: any) {\r\n try {\r\n let respone: any;\r\n if (_templateIdList.templateForm?.IsTextForm === false) {\r\n setViewManageComponent(\"1\");\r\n if (_templateIdList.templateForm.AdvanceForm !== \"\") {\r\n respone = JSON.parse(_templateIdList.templateForm.AdvanceForm).items;\r\n } else {\r\n respone = [];\r\n }\r\n for (let i = 0; i < respone.length; i++) {\r\n const row = respone[i];\r\n for (let j = 0; j < row.layout.length; j++) {\r\n const _layout = row.layout[j];\r\n if (respone[i].layout[j].guid == undefined) {\r\n respone[i].layout[j][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n }\r\n setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: respone,\r\n }));\r\n } else {\r\n setViewManageComponent(\"2\");\r\n setTextFromValue(_templateIdList.templateForm.TextForm);\r\n }\r\n } catch (error) {}\r\n }\r\n async function addTemplateDetail() {\r\n setVisibleConfirmDialog(true);\r\n }\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n\r\n window.open(\r\n `${baseUrl}/Request?MemoID=0&template=${templateId}&preview`,\r\n \"_blank\"\r\n );\r\n }\r\n const confirm = async () => {\r\n let control = controlModel;\r\n control.JsonCondition = \"\";\r\n\r\n const dd = control.TemLineApprove.find((e: any) => e.ApproveType === 0);\r\n\r\n if (viewManageComponent === \"1\") {\r\n control.templateForm.AdvanceForm = JSON.stringify({\r\n ...advanceForm,\r\n ReqConditions: { Conditions: dd },\r\n });\r\n control.templateForm.IsTextForm = false;\r\n control.templateForm.TextForm = \"\";\r\n } else if (viewManageComponent === \"2\") {\r\n control.templateForm.AdvanceForm = \"\";\r\n control.templateForm.IsTextForm = true;\r\n control.templateForm.TextForm = textFromValue;\r\n }\r\n if (action === \"add\") {\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.CreatedBy = userData.EmployeeId?.toString();\r\n control.templateForm.CreatedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n } else if (action === \"edit\") {\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n }\r\n\r\n if (logicsApprover || logicsRefIn) {\r\n let _cMSTTemplateLogic: any = [];\r\n\r\n const newLogic = control?.cMSTTemplateLogic?.filter(\r\n (e: any) => e.logicid === \"\"\r\n );\r\n if (logicsApprover) {\r\n _cMSTTemplateLogic.push(...logicsApprover);\r\n }\r\n if (logicsRefIn) {\r\n _cMSTTemplateLogic.push(...logicsRefIn);\r\n }\r\n if (newLogic.length > 0) {\r\n newLogic.forEach((element: any) => {\r\n _cMSTTemplateLogic.push(element);\r\n });\r\n }\r\n if (_cMSTTemplateLogic.length > 0) {\r\n control.cMSTTemplateLogic = _cMSTTemplateLogic;\r\n }\r\n }\r\n console.log(control.cMSTTemplateLogic);\r\n\r\n control.TemLineApprove = control.TemLineApprove.filter(\r\n (e: any) => e.ApproveType !== 0\r\n );\r\n if (!isDelete) {\r\n if (\r\n control.templateForm.GroupTemplateName !== undefined &&\r\n control.templateForm.DocumentCode !== undefined &&\r\n control.templateForm.TemplateName !== undefined &&\r\n control.templateForm.GroupTemplateName !== null &&\r\n control.templateForm.DocumentCode !== null &&\r\n control.templateForm.TemplateName !== null &&\r\n control.templateForm.GroupTemplateName.length !== 0 &&\r\n control.templateForm.DocumentCode.length !== 0 &&\r\n control.templateForm.TemplateName.length !== 0\r\n ) {\r\n let _dataTemplateByDocTypeCode =\r\n action === \"add\"\r\n ? await GetTemplateByDocTypeCode({\r\n DocumentCode: controlModel.templateForm.DocumentCode,\r\n })\r\n : null;\r\n if (\r\n _dataTemplateByDocTypeCode !== undefined &&\r\n _dataTemplateByDocTypeCode !== null &&\r\n Object.keys(_dataTemplateByDocTypeCode).length !== 0 &&\r\n action === \"add\"\r\n ) {\r\n toggleAlert({\r\n description: `DocTypeCode is duplicate.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else {\r\n setIsLoad(true);\r\n let formData: any = {};\r\n let res: any;\r\n let _history = \"\";\r\n if (versionCheck) {\r\n if (\r\n createVersionMasterModel.value2 === \"true\" &&\r\n createVersionMasterModel.masterId.length === 0\r\n ) {\r\n formData.MasterId = null;\r\n formData.Value1 = controlModel.templateForm.DocumentCode;\r\n formData.Value2 = createVersionMasterModel.value2;\r\n formData.Value3 = createVersionMasterModel.value3;\r\n formData.Value4 = \"0\";\r\n formData.Value5 = (\r\n Number(createVersionMasterModel.value5) + 1\r\n ).toString();\r\n // (\r\n // Number(createVersionMasterModel.value5) + 1\r\n // ).toString();\r\n formData.MasterType = createVersionMasterModel.masterType;\r\n formData.IsActive = createVersionMasterModel.isActive;\r\n formData.Seq = null;\r\n\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.ModifiedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n } else {\r\n formData.MasterId = Number(createVersionMasterModel.masterId);\r\n formData.Value1 = controlModel.templateForm.DocumentCode;\r\n formData.Value2 = createVersionMasterModel.value2;\r\n formData.Value3 =\r\n createVersionMasterModel.value3 === \"Publish\"\r\n ? \"Editing\"\r\n : \"Editing\";\r\n formData.Value4 = createVersionMasterModel.value4;\r\n formData.Value5 =\r\n createVersionMasterModel.value3 === \"Publish\"\r\n ? (Number(createVersionMasterModel.value5) + 1).toString()\r\n : createVersionMasterModel.value5;\r\n formData.MasterType = createVersionMasterModel.masterType;\r\n formData.IsActive = createVersionMasterModel.isActive;\r\n formData.Seq = createVersionMasterModel.seq;\r\n formData.ModifiedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n formData.CreatedBy = createVersionMasterModel.createdBy;\r\n formData.CreatedDate = createVersionMasterModel.createdDate;\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n control.cMstMasterData = formData;\r\n control.templateForm.ModifiedBy = userData.EmployeeId.toString();\r\n control.templateForm.CreatedBy = userData.EmployeeId.toString();\r\n if (\r\n createVersionMasterModel.value3 === \"Editing\" &&\r\n Number(createVersionMasterModel.value5) + 1 > 1\r\n ) {\r\n res = await AddTemplate(control);\r\n } else {\r\n res = await AddTemplateAndVersion(control);\r\n let _templateListVersionHistory =\r\n await GetTemplateListVersionHistory({\r\n DocumentCode: control.templateForm?.DocumentCode,\r\n });\r\n _templateListVersionHistory.sort((a: any, b: any) =>\r\n sorterFunc(a, b, \"TemplateId\", \"dec\")\r\n );\r\n _templateListVersionHistory.splice(0, 1);\r\n _history = `/TemplateDetail?TemplateVersionCode=${\r\n _templateListVersionHistory[\r\n _templateListVersionHistory.length - 1\r\n ]?.DocumentCode\r\n }&VersionTemplate=${_templateListVersionHistory?.length}&Version`;\r\n }\r\n } else {\r\n control.templateForm.CreatedBy = userData.EmployeeId.toString();\r\n control.templateForm.CreatedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n res = await AddTemplate(control);\r\n }\r\n\r\n if (res) {\r\n if (action === \"add\") {\r\n history.push(\"/Settings?name=TemplateList\", {\r\n responeAddTemplate: \"data\",\r\n typeTemplate: \"add\",\r\n });\r\n setIsLoad(false);\r\n } else if (action === \"edit\" && versionCheck) {\r\n if (_history.length !== 0) {\r\n history.push(_history);\r\n history.go(0);\r\n } else {\r\n intiFunc();\r\n }\r\n } else if (action === \"edit\" && !versionCheck) {\r\n intiFunc();\r\n }\r\n } else {\r\n let _checkValidationOBJ: any = {\r\n GroupTemplateName:\r\n controlModel?.templateForm?.GroupTemplateName?.length !== 0\r\n ? false\r\n : true,\r\n DocumentCode:\r\n controlModel?.templateForm?.DocumentCode?.length !== 0\r\n ? false\r\n : true,\r\n TemplateName:\r\n controlModel?.templateForm?.TemplateName?.length !== 0\r\n ? false\r\n : true,\r\n };\r\n setValidationInformation(_checkValidationOBJ);\r\n const selected = selectView;\r\n setSelectView(selected);\r\n setIsLoad(false);\r\n }\r\n }\r\n } else {\r\n let _checkValidationOBJ: any = {\r\n GroupTemplateName:\r\n controlModel.templateForm?.GroupTemplateName !== null\r\n ? controlModel.templateForm?.GroupTemplateName?.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n DocumentCode:\r\n controlModel.templateForm?.DocumentCode !== null\r\n ? controlModel.templateForm?.DocumentCode.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n TemplateName:\r\n controlModel?.templateForm?.TemplateName !== null\r\n ? controlModel.templateForm?.TemplateName?.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n };\r\n setValidationInformation(_checkValidationOBJ);\r\n const selected = selectView;\r\n setSelectView(selected);\r\n }\r\n } else if (isDelete) {\r\n control.templateForm.IsActive = false;\r\n control.templateForm.IsDelete = true;\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n const res = await DeleteTemplate(control);\r\n if (res) {\r\n history.push(\"/Settings?name=TemplateList\", {\r\n responeAddTemplate: \"data\",\r\n typeTemplate: \"delete\",\r\n });\r\n setIsLoad(false);\r\n } else {\r\n setIsLoad(false);\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n }\r\n };\r\n const confirmDialogButton = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n accept={confirm}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setIsDelete(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const fechMemoButtonDefault = () => {\r\n return (\r\n <>\r\n \r\n }\r\n onClickProps={() =>\r\n history.push(\"/Settings?name=TemplateList&action=back\")\r\n }\r\n setStyleProps={{\r\n height: \"32px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n {action === \"edit\" && !isCopyValue && (\r\n \r\n }\r\n onClickProps={() => {\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateId=${templateId}&isCopy`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n )}\r\n {action === \"edit\" && !isCopyValue && (\r\n \r\n }\r\n onClickProps={() => {\r\n setVisibleConfirmDialog(true);\r\n setIsDelete(true);\r\n }}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(255, 0, 0)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n backgroundColor: \"red\",\r\n height: \"32px\",\r\n }}\r\n />\r\n )}\r\n {action === \"edit\" && !isCopyValue && (\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n )}\r\n\r\n }\r\n onClickProps={addTemplateDetail}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const onSelectView = (text: string) => {\r\n setSelectView(text);\r\n };\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n\r\n async function fetchDataTemplate() {\r\n let _dataTemplatee = await GetTemplate();\r\n\r\n const isActiveTemp = _dataTemplatee?.filter((e: any) => e.IsActive);\r\n\r\n let _groupDataTemplate: any = [];\r\n let groupTemplate = isActiveTemp?.reduce(function (r: any, a: any) {\r\n r[a.GroupTemplateName] = r[a.GroupTemplateName] || [];\r\n r[a.GroupTemplateName].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n _groupDataTemplate.push({ value: key });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n {confirmDialogButton()}\r\n
\r\n
\r\n \r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n
\r\n \r\n {isVersion\r\n ? \"Form Template\"\r\n : action === \"edit\"\r\n ? \" Edit Form Template\"\r\n : \"Create Form Template\"}\r\n {controlModel?.templateForm?.versionTemplate && (\r\n

\r\n (History Version{\" \"}\r\n {controlModel?.templateForm?.versionTemplate})\r\n

\r\n )}\r\n

\r\n
\r\n
{groupTemplateName}
\r\n
{templateNameWithCode}
\r\n
\r\n
\r\n
\r\n {!controlModel?.templateForm?.versionTemplate &&\r\n fechMemoButtonDefault()}\r\n
\r\n
\r\n
\r\n {isLoad ? (\r\n <>\r\n
\r\n \"loading...\"\r\n
\r\n \r\n ) : (\r\n <>\r\n {sidebarState && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {isLoad ? (\r\n <>\r\n
\r\n \"loading...\"\r\n
\r\n \r\n ) : (\r\n <>\r\n {sidebarState && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n {selectView === \"information\" && (\r\n \r\n )}\r\n {selectView === \"form_setting\" && (\r\n \r\n )}\r\n {selectView === \"reference_document\" && (\r\n \r\n )}\r\n \r\n \r\n
\r\n {selectView === \"authorization\" && (\r\n \r\n )}\r\n {selectView === \"pdf_design\" && (\r\n \r\n \r\n \r\n )}\r\n {selectView === \"version_and_history\" && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(TemplateDetailScreen);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./forgotPassword.css\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { Spin, Space } from \"antd\";\r\nimport { FiChevronLeft } from \"react-icons/fi\";\r\ntype Props = {\r\n PathLogo: any;\r\n};\r\n\r\nconst ForgotPasswordScreen = (props: Props) => {\r\n const query = new URLSearchParams(useLocation().search);\r\n const [haveKey, setHaveKey] = useState(query.get(\"vkey\") || \"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [confirmPassWord, setConfirmPassWord] = useState(\"\");\r\n const [captcharVerify, setCaptcharVerify] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n const [remark, setRemark] = useState(\"\");\r\n const history = useHistory();\r\n const {\r\n handleSubmit,\r\n getValues,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n email: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n if (query.get(\"PK\") !== null && query.get(\"PK\") !== undefined) {\r\n setHaveKey(query.get(\"PK\") || \"\");\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n const checkKey = async () => {\r\n setOnLoading(true);\r\n if (haveKey.length > 0) {\r\n const respone = await fetch(\"api/Authentication/ConfirmResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ GuidVerify: haveKey }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data) {\r\n setOnLoading(false);\r\n } else {\r\n setRemark(\"มีบางอย่างไม่ถูกต้อง กรุณาตรวจสอบ\");\r\n }\r\n });\r\n }\r\n };\r\n checkKey();\r\n }, [haveKey]);\r\n const onSubmit = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n if (data.new_password === data.confirm_password) {\r\n setIsPasswordCompared(true);\r\n const respone = await fetch(\"api/Authentication/ForgotPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: data.email,\r\n newPassword: data.new_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data === false) {\r\n setRemark(\"มีบางอย่างไม่ถูกต้อง กรุณาตรวจสอบ\");\r\n } else {\r\n setIsSuccess(true);\r\n }\r\n });\r\n } else {\r\n setIsPasswordCompared(false);\r\n }\r\n };\r\n const onSubmitReset = async () => {\r\n const respone = await fetch(\"api/Authentication/ResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ email: haveKey, newPassword: newPassword }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => console.log(data));\r\n };\r\n return (\r\n
\r\n {!haveKey ? (\r\n <>\r\n {!isSuccess ? (\r\n
\r\n
\r\n history.goBack()}\r\n />\r\n\r\n \"img\"\r\n\r\n
\r\n

Change Your Password / เปลี่ยนรหัสผ่าน

\r\n
\r\n
\r\n

Email / อีเมล

\r\n (\r\n \r\n )}\r\n />\r\n {errors.email && (\r\n

กรุณากรอกอีเมลใหม่

\r\n )}\r\n
\r\n
\r\n

New Password / รหัสผ่านใหม่

\r\n (\r\n \r\n )}\r\n />\r\n {errors.new_password && (\r\n

กรุณากรอกรหัสผ่านใหม่

\r\n )}\r\n
\r\n
\r\n

Confirm Password / ยืนยันรหัสผ่านใหม่

\r\n (\r\n \r\n )}\r\n />\r\n {errors.confirm_password && isPasswordCompared && (\r\n

กรุณากรอกยืนยันรหัสผ่าน

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n \r\n {remark.length > 0 && (\r\n

ไม่พบผู้ใช้อีเมลในระบบ

\r\n )}\r\n
\r\n
\r\n ) : (\r\n
\r\n \"img\"\r\n
\r\n {onLoading ? (\r\n \r\n

\r\n You can verify the request to use WOLF Approve via the\r\n email {getValues().email} that you have entered.\r\n ท่านสามารถยืนยันการขอใช้งานระบบผ่าน email (\r\n {getValues().email}) ที่ท่านได้กรอกมา...\r\n

\r\n history.push(\"/login\")}\r\n >\r\n ย้อนกลับไปหน้าเข้าสู่ระบบ\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

ยืนยันตนเรียบร้อย

\r\n history.push(\"/login\")}\r\n >\r\n ย้อนกลับไปหน้าเข้าสู่ระบบ\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n \"img\"\r\n
\r\n {onLoading ? (\r\n
\r\n

Verifiying an email address / กำลังยืนยันสิทธิ์

\r\n\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

You failed to verify your email address. / ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

You have successfully verified an email address. ยืนยันอีเมลสำเร็จ

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ForgotPasswordScreen;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n};\r\n\r\nconst DelegateApplyTo = (props: Props) => {\r\n const [delegateTemplate, setDelegateTemplate] = useState([]);\r\n const [selectedCustomers, setSelectedCustomers] = useState([]);\r\n useEffect(() => {\r\n fetchDelegateTemplate();\r\n }, [props.delegateData]);\r\n const fetchDelegateTemplate = async () => {\r\n const dataJson = {\r\n ApproverId: props.delegateData.DelegateList.ApproverId,\r\n };\r\n const dd = await fetch(\r\n \"api/DelegateList/GetByDelegateTemplateByApproverId\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n let templateData = data;\r\n const _delegateDetail = props.delegateData.DelegateDetail;\r\n let selected: any = [];\r\n let current_sorted_idx = 0;\r\n for (let i = 0; i < _delegateDetail.length; i++) {\r\n const detail = _delegateDetail[i];\r\n for (let j = 0; j < templateData.length; j++) {\r\n const template = templateData[j];\r\n if (detail.TemplateId === template.TemplateId) {\r\n const target = templateData[current_sorted_idx];\r\n const current = template;\r\n templateData[j] = target;\r\n templateData[current_sorted_idx] = current;\r\n current_sorted_idx += 1;\r\n selected.push(template);\r\n }\r\n }\r\n }\r\n setSelectedCustomers([...selected]);\r\n setDelegateTemplate([...templateData]);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n DelegateApplyTo\r\n
\r\n {\r\n // const _delagateTemplate: any = e.value.map((data: any) => {\r\n // const res = { TemplateId: data.TemplateId };\r\n // return res;\r\n // });\r\n // console.log(\"_delagateTemplate\", _delagateTemplate);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: [...e.value],\r\n }));\r\n setSelectedCustomers(e.value);\r\n }}\r\n dataKey=\"TemplateId\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {/* doc code */}\r\n \r\n \r\n

Document Code

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Form name

\r\n

ชื่อแบบฟอร์ม

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Total

\r\n

ทั้งหมด

\r\n \r\n \r\n }\r\n >\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DelegateApplyTo;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { BiCommentEdit } from \"react-icons/bi\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\n\r\ninterface Props {\r\n visibleStatus: boolean;\r\n setVisibleStatus: any;\r\n Index: number;\r\n description?: string;\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n}\r\n\r\nexport default function DescriptionConfigComponent(props: Props) {\r\n const [description, setDescription] = useState(\r\n props.description == undefined ? \"\" : props.description\r\n );\r\n const toast = useRef();\r\n const Header = () => {\r\n return (\r\n
\r\n

Edit Description

\r\n
\r\n );\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n {\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n );\r\n };\r\n function onChangeDescription(e: any) {\r\n setDescription(e.target.value);\r\n }\r\n function saveChange() {\r\n let _listAttach = props.listFileAttachDetails;\r\n _listAttach[props.Index].description = description;\r\n _listAttach[props.Index].modified_date = moment(new Date()).format(\r\n \"DD/MM/YYYY HH:mm:ss\"\r\n );\r\n props.setListFileAttachDetails([..._listAttach]);\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }\r\n return (\r\n
\r\n props.setVisibleStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../components/CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport DescriptionConfigComponent from \"../../components/RequestComponents/AttachmentComponent/DescriptionConfigComponent\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport {\r\n UploadRequestFiles,\r\n UploadTinyMce,\r\n} from \"../../Services/UploadFileService\";\r\nimport { UploadFileAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n setAttachmentData: any;\r\n attachmentData: any;\r\n usePeriod: boolean;\r\n setUsePeriod: any;\r\n errorState: any;\r\n};\r\n\r\nconst DelegateInformation = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const ref = useRef();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [attachData, setAttachData] = useState([]);\r\n const [fileData, setFileData] = useState();\r\n const [requestFile, setRequestFile] = useState(null);\r\n const [pathData, setPathData] = useState();\r\n const [selectedCustomers, setSelectedCustomers] = useState(null);\r\n const [descriptionValue, setDescriptionValue] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [index, setIndex] = useState();\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] =\r\n useState(false);\r\n const [dates, setDates] = useState([]);\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({\r\n name: \"\",\r\n ApproverId: null,\r\n });\r\n const [dateRange, setDateRange] = useState(0);\r\n const [checked, setChecked] = useState([]);\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [searchEmployee, setSearchEmployee] = useState([]);\r\n\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = respone.SharepointSiteURL;\r\n\r\n var userData = respone.employeeData;\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n // useEffect(() => {\r\n // let _attachmentData = props.attachmentData;\r\n // console.log(\"dasdasdasd\", props.attachmentData);\r\n\r\n // for (let i = 0; i < _attachmentData.length; i++) {\r\n // const attachment = _attachmentData[i];\r\n // for (let j = 0; j < employeeData.length; j++) {\r\n // const emp = employeeData[j];\r\n // if (attachment.ActorId === emp.EmployeeId) {\r\n // _attachmentData[i].ActorId = emp;\r\n // }\r\n // }\r\n // }\r\n\r\n // setAttachData([..._attachmentData]);\r\n // }, [props.attachmentData, employeeData]);\r\n useEffect(() => {\r\n let _date = new Array(2);\r\n let _attachmentData = props.delegateData.AttachmentList;\r\n const _approver = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.ApproverId\r\n );\r\n const _delegater = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.DelegateToId\r\n );\r\n if (_approver) {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _approver.NameEn : _approver.NameTh,\r\n ApproverId: _approver.EmployeeId,\r\n }));\r\n }\r\n if (_delegater) {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _delegater.NameEn : _delegater.NameTh,\r\n DelegateToId: _delegater.EmployeeId,\r\n }));\r\n }\r\n for (let i = 0; i < _attachmentData.length; i++) {\r\n const attachment = _attachmentData[i];\r\n for (let j = 0; j < employeeData.length; j++) {\r\n const emp = employeeData[j];\r\n if (attachment.ActorId === emp.EmployeeId) {\r\n _attachmentData[i].ActorId = emp;\r\n }\r\n }\r\n }\r\n setAttachData([..._attachmentData]);\r\n if (\r\n props.delegateData.DelegateList.DateFrom &&\r\n props.delegateData.DelegateList.DateTo\r\n ) {\r\n if (\r\n props.delegateData.DelegateList.DateFrom.length > 0 &&\r\n props.delegateData.DelegateList.DateTo.length > 0\r\n ) {\r\n _date[0] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateFrom\r\n );\r\n _date[1] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateTo\r\n );\r\n }\r\n }\r\n // console.log(\r\n // \"props.delegateData.DelegateList.DateTo\",\r\n // props.delegateData.DelegateList.DateTo.length\r\n // );\r\n\r\n // console.log(\r\n // \"DateFrom\",\r\n // moment(new Date(), \"DD/MM/YYYY\").format(\"DD/MM/yyyy HH:mm:ss\")\r\n // );\r\n setDates([..._date]);\r\n console.log(approver, delegater, employeeData);\r\n }, [props.delegateData, employeeData]);\r\n\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employeeData;\r\n console.log(\"Dialog=>value \", value);\r\n setApproverTextFilter(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n userData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1\r\n : data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchEmployee([...data]);\r\n };\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n const onSelectCheckboxDelegate = (checked: any, keyProps: any) => {\r\n console.log(checked, keyProps);\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n console.log(\"date\", date);\r\n if (date !== null) {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: formatDateTimeWithSlash(date[0]),\r\n DateTo: formatDateTimeWithSlash(date[1]),\r\n },\r\n }));\r\n setDates([...date]);\r\n } else {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: null,\r\n DateTo: null,\r\n },\r\n }));\r\n setDates([]);\r\n }\r\n };\r\n const formatDateTimeWithSlash = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD/MM/yyyy\");\r\n }\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeAttachment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeToMoment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return momentObj;\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showDeletedData() {\r\n toggleAlert({\r\n description: `Data delete success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Deleted Data\",\r\n // detail: \"\",\r\n // });\r\n }\r\n function rowDelete(rowIndex: any) {\r\n let data = attachData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n console.log(\"reoderSequencereoderSequence\", reoderSequence);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...reoderSequence],\r\n }));\r\n setAttachData([...reoderSequence]);\r\n showDeletedData();\r\n }\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n const attachWorkList = attachData;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log({ response, requestFile });\r\n\r\n if (response.data?.result === true) {\r\n if (lastFile !== undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = lastFile.sequence + 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = response.data?.fileName;\r\n\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n } else if (lastFile === undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = fileData;\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n }\r\n if (_sharepointSiteURL) {\r\n newFile.FilePath = _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.FilePath = response.data.pathUrl;\r\n }\r\n if (lastFile != undefined) {\r\n newFile.sequence = lastFile.sequence + 1;\r\n } else {\r\n newFile.sequence = 1;\r\n }\r\n\r\n attachWorkList.push(newFile);\r\n console.log({ attachWorkList });\r\n\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...attachWorkList],\r\n }));\r\n setAttachData([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setDescriptionValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please Select File\",\r\n // life: 3000,\r\n // });\r\n }\r\n // setOnLoading(true);\r\n // const rawData = attachData;\r\n // const lastFile = attachData[attachData.length - 1];\r\n // const NewDate = moment(new Date()).format(\"yyy/mm/DD HH:mm:ss\");\r\n // let newFile = Object.assign({}, lastFile);\r\n // if (requestFile !== null) {\r\n // if (lastFile !== undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = lastFile.sequence + 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // } else if (lastFile === undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // }\r\n // let base64: any = await convertBase64(requestFile);\r\n // console.log(\"e.target\", base64);\r\n // for (let i = 0; i < base64.length; i++) {\r\n // const text = base64[i];\r\n // if (text === \",\") {\r\n // base64 = base64.substring(i + 1);\r\n // break;\r\n // }\r\n // }\r\n // const dataJson = {\r\n // FileBytes: base64,\r\n // FileName: requestFile.name,\r\n // };\r\n\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n // const response = await UploadTinyMce(dataJson);\r\n // console.log(\"response\", response);\r\n // if (response.imageUrl) {\r\n // newFile.FilePath = response.imageUrl;\r\n\r\n // rawData.push(newFile);\r\n // setAttachData([...rawData]);\r\n // props.setDelegateData((prevState: any) => ({\r\n // ...prevState,\r\n // AttachmentList: [...rawData],\r\n // }));\r\n // setRequestFile(null);\r\n // setDescriptionValue(\"\");\r\n // ref.current.value = null;\r\n // }\r\n // }\r\n }\r\n const convertBase64 = (file: any) => {\r\n return new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(file);\r\n fileReader.onload = () => {\r\n resolve(fileReader.result);\r\n };\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n };\r\n const onUpload = () => {\r\n toast.current.show({\r\n severity: \"success\",\r\n summary: \"Success\",\r\n detail: \"File Uploaded\",\r\n life: 3000,\r\n });\r\n };\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 3000,\r\n // });\r\n };\r\n const onRemove = () => {\r\n toggleAlert({\r\n description: `File Remove success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"warn\",\r\n // summary: \"Success\",\r\n // detail: \"File Removed\",\r\n // life: 1000,\r\n // });\r\n };\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n setRequestFile(e.target.files[0]);\r\n\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setAttachData(\r\n attachData.filter((val) => {\r\n return val.sequence !== index;\r\n })\r\n );\r\n\r\n onRemove();\r\n }\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setSearchEmployee(employee);\r\n setEmployeeData(employee);\r\n }\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n // fetchDataEmployee();\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n ApproverId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DelegateToId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n {\r\n console.log(approver);\r\n }}\r\n >\r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n props.setUsePeriod(e.checked)}\r\n />\r\n \r\n Delegate during Period.\r\n \r\n \r\n {/* */}\r\n \r\n {props.usePeriod && (\r\n \r\n
\r\n
\r\n
\r\n Delegate Date Period : \r\n *\r\n
\r\n

ช่วงเวลา :

\r\n
\r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n showIcon={false}\r\n isFullWidth={true}\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n Remark : \r\n *\r\n
\r\n

หมายเหตุ :

\r\n \r\n \r\n \r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n Remark: e,\r\n },\r\n }))\r\n }\r\n />\r\n \r\n
\r\n \r\n \r\n
\r\n Attach File : \r\n
\r\n

ไฟล์แนบ :

\r\n \r\n \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n File Description : \r\n
\r\n

รายละเอียดไฟล์ :

\r\n \r\n \r\n
\r\n {\r\n setDescriptionValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n\r\n \r\n \r\n Upload\r\n \r\n
\r\n \r\n
\r\n
\r\n {attachData.length > 0 && (\r\n setSelectedCustomers(e.value)}\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n

Attach Date

\r\n

วันที่แนบไฟล์

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n {formatDateTimeAttachment(row.AttachedDate)}\r\n )}\r\n >\r\n \r\n \r\n

Attached File

\r\n

ไฟล์ที่แนบ

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n \r\n {row.AttachFile}\r\n \r\n )}\r\n >\r\n \r\n \r\n

Description

\r\n

รายละเอียด

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Actor

\r\n

ผู้ดำเนินการ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n )}\r\n >\r\n \r\n )}\r\n
\r\n \r\n {\r\n return e.EmployeeId !== props.delegateData.DelegateList.ApproverId;\r\n })}\r\n onSelectFunc={(e: any) => onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={setIsDialogApproverVisible}\r\n />\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default DelegateInformation;\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoNewspaperOutline,\r\n IoShieldCheckmarkOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const DelegateSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Apply to Form\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Button } from \"antd\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport DelegateApplyTo from \"./DelegateApplyTo\";\r\nimport DelegateInformation from \"./DelegateInformation\";\r\nimport \"./DelegateScreen.css\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { DelegateSideBar } from \"./DelegateSideBar\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { MdDeleteOutline } from \"react-icons/md\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n responeConfig?: any;\r\n};\r\ninterface DelegateList {\r\n ApproverId: number;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n DateFrom: string;\r\n DateTo: string;\r\n DelegateId: number;\r\n DelegateToId: number;\r\n FilterCreateDateFrom: string;\r\n FilterCreateDateTo: string;\r\n IsActive: string;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n Remark: string;\r\n SecretId: string;\r\n connectionString: string;\r\n dt_ExportLog: string;\r\n userPrincipalName: string;\r\n}\r\nconst DelegateScreen = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [attachmentData, setAttachmentData] = useState([]);\r\n const [delegateData, setDelegateData] = useState({\r\n DelegateDetail: [],\r\n DelegateList: {},\r\n AttachmentList: [],\r\n });\r\n const [errorState, setErrorState] = useState([]);\r\n const [usePeriod, setUsePeriod] = useState(false);\r\n const [delegateId, setDelegateId] = useState(0);\r\n const { isLoad, setLoad } = useLoading();\r\n const query = new URLSearchParams(useLocation().search);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const empData = userData.employeeData;\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (query.get(\"delegateId\") !== undefined) {\r\n // console.log(\"ddddddasd\");\r\n setDelegateId(Number(query.get(\"delegateId\")));\r\n // fetchDelegate(query.get(\"delegateId\"));\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n if (delegateId !== 0) {\r\n fetchDelegate(delegateId);\r\n fetchAttachment(delegateId);\r\n }\r\n setLoad(false);\r\n }, [delegateId]);\r\n const fetchAttachment = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateAttachByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(data);\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...data],\r\n }));\r\n // setAttachmentData([...data]);\r\n });\r\n };\r\n const fetchDelegate = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"delegate\", data);\r\n setLoad(false);\r\n if (\r\n data.DelegateList.DateFrom &&\r\n data.DelegateList.DateTo &&\r\n data.DelegateList.DateTo.length > 0 &&\r\n data.DelegateList.DateFrom.length > 0\r\n ) {\r\n setUsePeriod(true);\r\n }\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: data.DelegateDetail,\r\n DelegateList: data.DelegateList,\r\n }));\r\n });\r\n };\r\n const onSelectView = (e: any) => {\r\n setSelectView(e);\r\n };\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n const onSubmit = async () => {\r\n let _delegateData: any = delegateData;\r\n let validation: any = [];\r\n // setOnLoading(true);\r\n // _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n // _delegateData.DelegateList.DateFrom = usePeriod\r\n // ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n // : null;\r\n // _delegateData.DelegateList.DateTo = usePeriod\r\n // ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n // : null;\r\n // console.log(\"_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined &&\r\n delegateData.DelegateList.DateTo === undefined &&\r\n delegateData.DelegateList.DateTo === null &&\r\n delegateData.DelegateList.DateFrom === null &&\r\n delegateData.DelegateList.DateFrom === \"\" &&\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (!delegateData.DelegateList.DateFrom) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (!delegateData.DelegateList.DateTo) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n _delegateData.AttachmentList = _attachList;\r\n const dd = await fetch(\"api/DelegateList/CreateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_delegateData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n toggleAlert({\r\n description: `Submit success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success\",\r\n // detail: `Submit complete!`,\r\n // life: 7000,\r\n // });\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n const onDelete = async () => {\r\n const _delegateData = delegateData;\r\n setLoad(true);\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/DeleteDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n };\r\n const onUpdate = async () => {\r\n const _delegateData = delegateData;\r\n console.log(\"_delegateData_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n let validation: any = [];\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n console.log(\"usePeriod\", usePeriod);\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\" ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n console.log(\"_delegateData\", _delegateData);\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom}`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo}`\r\n : null;\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n DelegateList: _delegateData.DelegateList,\r\n DelegateDetail: _delegateData.DelegateDetail,\r\n\r\n AttachmentList: _attachList,\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/UpdateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n // console.log(data);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n return (\r\n console.log(delegateData)}\r\n >\r\n \r\n {isLoad && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Delegation of Authority

\r\n
\r\n {delegateId === 0 && (\r\n \r\n )}\r\n {delegateId !== 0 && (\r\n \r\n )}\r\n\r\n {delegateId !== 0 && (\r\n \r\n confirmDialog({\r\n message: \"Do you want to delete this delegation ?\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await onDelete();\r\n },\r\n })\r\n }\r\n >\r\n Delete\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n {selectView === \"1\" && (\r\n \r\n )}\r\n {selectView === \"2\" && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DelegateScreen;\r\n","export const getAllEmailTemplate = async () => {\r\n const respone = await fetch(\"api/EmailTemplate/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const getEmailTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const updateEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/updateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./EmailTemplateDetail.css\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\n// import { Editor } from \"primereact/editor\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n clickSelectProps: any;\r\n dataProps: any;\r\n setDataProps: any;\r\n}\r\n// import { Editor } from \"primereact/editor\";\r\nexport const EmailTemplateDetail = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const toast = useRef(null);\r\n const [loading, setLoading] = useState(true);\r\n useEffect(() => {\r\n _EmailTemplate();\r\n _clickSelectText();\r\n }, [props.clickSelectProps]);\r\n useEffect(() => {\r\n console.log(\"props.dataProps\", props.dataProps);\r\n }, [props.dataProps]);\r\n\r\n function _Dropdown(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data[key],\r\n }));\r\n }\r\n }\r\n function _CheckboxCpmponents(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n }\r\n function _InputText(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailSubject: data,\r\n }));\r\n }\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n console.log(\"_getEmailTemplate\", _getEmailTemplate);\r\n }\r\n function _clickSelectText() {\r\n let _textEditor = props.dataProps.EmailBody;\r\n let _clickSelectProps =\r\n props.clickSelectProps === undefined ? \"\" : props.clickSelectProps;\r\n let _textEditoPropsr = _textEditor + _clickSelectProps;\r\n\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: _textEditoPropsr,\r\n }));\r\n }\r\n\r\n const handleEditorChange = (content: any, editor?: any) => {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: content,\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n

Email Template

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: \"70vh\",\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(\r\n `${protocol}//` + _tinyURL + response.data.pathUrl\r\n );\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={props.dataProps.EmailBody}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoArrowBackSharp, IoCloseOutline, IoMenu } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../components/DropdownComponents/DropdownComponents\";\r\nimport { EmailTemplateDetail } from \"../../components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IEmailTemplateModel } from \"../../IRequestModel/IEmailTemplateModel\";\r\n\r\nimport {\r\n AddEmailTemplate,\r\n getEmailTemplateById,\r\n updateEmailTemplate,\r\n} from \"../../Services/EmailTemplateService\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport \"./EmailTemplateDetailScreen.css\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\ntype Props = {};\r\nconst createEmailTemplate: IEmailTemplateModel = {\r\n EmailTemplateId: 0,\r\n TemplateId: 0,\r\n TemplateName: \"\",\r\n TemplateDocumentCode: \"\",\r\n FormState: \"\",\r\n EmailTo: \"\",\r\n EmailCC: \"\",\r\n EmailSubject: \"\",\r\n EmailBody: \"\",\r\n CreatedByName: \"\",\r\n IsActive: true,\r\n ModifiedByName: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n CreatedDate: \"\",\r\n};\r\nconst EmailTemplateDetailScreen = (props: Props) => {\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [template, setTemplate] = useState({});\r\n const [formSelect, setFormSelect] = useState({});\r\n const [clickSelect, setClickSelect] = useState(\"\");\r\n const [formSelectLabel, setFormSelectLabel] = useState([]);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState();\r\n const [emailTemplateObj, setEmailTemplateObj] =\r\n useState(createEmailTemplate);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n let history = useHistory();\r\n const toast = useRef();\r\n const [action, setAction] = useState(\"\");\r\n const query = new URLSearchParams(useLocation().search);\r\n useEffect(() => {\r\n let _emailTemplateId: string = query.get(\"EmailTemplateId\") || \"\";\r\n if (_emailTemplateId) {\r\n setAction(\"edit\");\r\n fetchEmailTemplateById(Number(_emailTemplateId));\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n fetchTemplate();\r\n }, []);\r\n useEffect(() => {\r\n console.log(\"emailTemplateObj\", emailTemplateObj);\r\n }, [emailTemplateObj]);\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n async function onSave() {\r\n let _emailTemplateObj = emailTemplateObj;\r\n\r\n if (action === \"add\") {\r\n _emailTemplateObj.CreatedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedBy =\r\n userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n const res = await AddEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n console.log(\"res0\", res);\r\n } else {\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n\r\n console.log(\"_emailTemplateObjeeeeeee\", _emailTemplateObj);\r\n\r\n const res = await updateEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n }\r\n }\r\n function onClickSelect(data: any) {\r\n setClickSelect(data);\r\n }\r\n\r\n async function dataEdit(data: any) {\r\n const dataJson = {\r\n TemplateId: data,\r\n };\r\n let _responeData = await GetTemplateById(dataJson);\r\n if (_responeData !== null) {\r\n _templateDropdown(_responeData);\r\n }\r\n }\r\n async function fetchTemplate() {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n // const dataJson = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // };\r\n // const dataJsonn = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // Username: empData.employeeData.Username,\r\n // Email: empData.employeeData.Email,\r\n // };\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n // let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n // let _dataTemplate = await GetTemplateTemplateListVersion(dataJson);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n async function fetchEmailTemplateById(data: any) {\r\n const dataJson = {\r\n EmailTemplateId: Number(data),\r\n };\r\n let _dataTemplate = await getEmailTemplateById(dataJson);\r\n\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n ..._dataTemplate,\r\n }));\r\n dataEdit(_dataTemplate.TemplateId);\r\n }\r\n function _templateDropdown(data: any) {\r\n if (data !== undefined && data !== null) {\r\n let _dataAdvanceForm =\r\n data === undefined || data === null\r\n ? []\r\n : data?.AdvanceForm.length === 0\r\n ? []\r\n : JSON.parse(data?.AdvanceForm);\r\n let layout: any = [];\r\n let layoutLabel: any = [];\r\n _dataAdvanceForm.items.map((_data: any) => {\r\n layout.push(_data.layout);\r\n });\r\n layout.map((_data: any) => {\r\n if (_data.length > 1) {\r\n _data.map((data: any) => {\r\n if (data.template.label.length !== 0) {\r\n layoutLabel.push(data.template.label);\r\n }\r\n });\r\n } else {\r\n if (_data[0].template.label.length !== 0) {\r\n layoutLabel.push(_data[0].template.label);\r\n }\r\n }\r\n });\r\n setFormSelect(data);\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: data.TemplateId,\r\n TemplateDocumentCode: data.TemplateNameWithCode,\r\n TemplateName: data.TemplateName,\r\n }));\r\n setFormSelectLabel(layoutLabel);\r\n }\r\n }\r\n const confirmDialogButton = () => {\r\n return (\r\n <>\r\n \r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n accept={onSave}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {confirmDialogButton()}\r\n
\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n\r\n
\r\n

Create Email Template

\r\n
\r\n \r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"32px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n \r\n }\r\n onClickProps={() => setVisibleConfirmDialog(true)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formSelectLabel.length !== 0 ? (\r\n <>\r\n {formSelectLabel.map((data: any) => {\r\n return (\r\n <>\r\n onClickSelect(data)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F1F1F1 \",\r\n fontSize: \"13px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n marginBottom: \"10px\",\r\n background: \"#F1F1F1\",\r\n color: \"#262A2D\",\r\n }}\r\n />\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateDetailScreen);\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const SimLineSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Initial\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Result\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React from \"react\";\r\nimport \"../SimLineApproveScreen.css\";\r\nimport { Col,Row } from \"antd\";\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\ninterface Props {}\r\n\r\nexport const InitialComponent = (props: Props) => {\r\n const dataAutoApprove = [\r\n { nameEn: \"First Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นแรก\" },\r\n { nameEn: \"Last Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นสุดท้าย\" },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Requester (Username)\r\n \r\n
\r\n \r\n \r\n
\r\n Email (Ex. @xxx.com)\r\n \r\n
\r\n \r\n \r\n
\r\n Name\r\n \r\n
\r\n \r\n \r\n
\r\n Position Th\r\n \r\n
\r\n \r\n
\r\n
Report To
\r\n \r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n
\r\n Template Name\r\n \r\n
\r\n \r\n \r\n
\r\n Template ID\r\n \r\n
\r\n \r\n \r\n
\r\n Total Amount\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
Redundant Approver
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
Auto Approve
\r\n
\r\n
\r\n {dataAutoApprove.map((_data, i) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n
\r\n
Approval Matrix
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Approval Matrix Detail
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Specific Approvals
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {}\r\n\r\nexport const ResultComponent = (props: Props) => {\r\n return (\r\n <>\r\n
Approval Matrix
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Seq

\r\n

ลำดับ

\r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { SimLineSideBar } from \"./SimLineSideBar\";\r\nimport { InitialComponent } from \"./InitialComponent/InitialComponent\";\r\nimport { ResultComponent } from \"./ResultComponent/ResultComponent\";\r\nimport { Button } from \"antd\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst SimLineApproveScreen = (props: Props) => {\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const toast = useRef(null);\r\n const [onLoading, setOnLoading] = useState(false);\r\n\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Approval Matrix Simulator

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n {\r\n setSelectView(e);\r\n }}\r\n curPage={selectView}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n {selectView === \"1\" && }\r\n {selectView === \"2\" && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(SimLineApproveScreen);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { useHistory } from \"react-router\";\r\nimport { Popover, Tooltip } from \"antd\";\r\n\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n endpoint: any;\r\n}\r\n\r\nexport const DashboardCard = (props: Props) => {\r\n const history = useHistory();\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n }, []);\r\n\r\n const MapDataFromEndpoint = (_item: any) => {\r\n let result: any = [];\r\n for (let index = 3; index < props.endpoint.length; index++) {\r\n result.push(props.endpoint[index]);\r\n }\r\n return (\r\n <>\r\n {result.map((data: any) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {TextAbstract(_item[data], 50)}\r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n function TextAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n return (\r\n <>\r\n
\r\n {props.dashboard?.length >= 1 ? (\r\n <>\r\n {props.dashboard?.map((_data: any, i: number) => {\r\n return (\r\n
\r\n
\r\n {TextAbstract(_data.headData, 80)}\r\n
\r\n
\r\n {_data.items?.map((_item: any, j: number) => {\r\n let colorValue = \"\";\r\n let nameValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_item.Memo_StatusName === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n return (\r\n \r\n {\r\n window.open(\r\n `/Request?MemoID=${_item[props.endpoint[0]]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {_item[props.endpoint[1]]}\r\n \r\n
\r\n\r\n \r\n \r\n {_item[props.endpoint[2]]}\r\n \r\n
\r\n
\r\n \r\n {_item[props.endpoint[3]]}\r\n \r\n \r\n {_item[props.endpoint[6]]}\r\n \r\n \r\n {_item[props.endpoint[7]]}\r\n \r\n {/* {MapDataFromEndpoint(_item)} */}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import FullCalendar, { EventContentArg } from \"@fullcalendar/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\r\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\r\nimport interactionPlugin from \"@fullcalendar/interaction\";\r\nimport moment from \"moment\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { GetDashboardFilterStatus } from \"../../../Services/ConfigurationService\";\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n setValueDropdownInCalendar: any;\r\n valueDropdownInCalendar: any;\r\n endpoint: any;\r\n responeConfig: any;\r\n}\r\n\r\nexport const DashboardCalendar = (props: Props) => {\r\n const [dataCalendar, setDataCalendar] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n if (props.dashboard !== undefined) {\r\n // mapDataDropDown();\r\n mapData();\r\n }\r\n }, [props.dashboard]);\r\n async function mapData() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const array: any[] = [];\r\n props.dashboard.map((_data: any, index: number) => {\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n console.log(\"_data2=>\", _data2);\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]],\r\n status: _data2[props.endpoint[2]],\r\n title: _data2[props.endpoint[3]],\r\n date: new Date(\r\n moment(moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n ),\r\n url: `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n allDay: true,\r\n color: colorValue,\r\n });\r\n });\r\n });\r\n console.log(\"array=>\", array);\r\n\r\n setDataCalendar([...array]);\r\n setDefaultValueDashboard([...array]);\r\n setOnLoading(false);\r\n }\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n // async function mapDataDropDown() {\r\n // var _filter = await GetDashboardFilterStatus();\r\n // const arrayDropDown: any[] = [];\r\n // const arrayValueDropdown: any[] = [];\r\n // _filter.map((_data: any) => {\r\n // const [value, name, status] = _data.split(\"||\");\r\n // arrayDropDown.push({\r\n // value: value,\r\n // name: name,\r\n // });\r\n // if (status) {\r\n // arrayValueDropdown.push(value);\r\n // }\r\n // });\r\n // props.setValueDropdownInCalendar([...arrayValueDropdown]);\r\n // setOptionDropdown([...arrayDropDown]);\r\n // }\r\n\r\n // function globalFilterDropDown(_data: any) {\r\n // if (props.valueDropdownInCalendar.length === 0) {\r\n // return [];\r\n // }\r\n // const _filtered = _data.filter((item: any) => {\r\n // for (let i = 0; i < props.valueDropdownInCalendar.length; i++) {\r\n // var _dataSpilt = props.valueDropdownInCalendar[i].split(\";|;\");\r\n // for (let j = 0; j < _dataSpilt.length; j++) {\r\n // if (item.status?.includes(_dataSpilt[j])) {\r\n // return true;\r\n // }\r\n // }\r\n // }\r\n // });\r\n // return _filtered;\r\n // }\r\n // useEffect(() => {\r\n // if (defaultValueDashboard !== undefined) {\r\n // let filteredData = globalFilterDropDown(defaultValueDashboard);\r\n // setDataCalendar(filteredData);\r\n // setOnLoading(false);\r\n // }\r\n // }, [props.valueDropdownInCalendar]);\r\n\r\n function renderSidebar() {\r\n return (\r\n {\r\n console.log(props.valueDropdownInCalendar);\r\n }}\r\n >\r\n
\r\n {/*
\r\n {optionDropdown?.length !== 0 && optionDropdown !== undefined && (\r\n {\r\n props.setValueDropdownInCalendar(e.value);\r\n }}\r\n />\r\n )}\r\n
*/}\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {onLoading || props.dashboard === undefined ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n {props.statusCard !== undefined &&\r\n props.dashboard !== undefined &&\r\n renderSidebar()}\r\n
\r\n {\r\n info.jsEvent.preventDefault();\r\n if (info.event.url) {\r\n window.open(info.event.url, \"noreferrer\");\r\n }\r\n }}\r\n headerToolbar={{\r\n left: \"prev\",\r\n center: \"title\",\r\n right: \"next\",\r\n }}\r\n dayMaxEvents={true}\r\n // eventContent={renderEventContent}\r\n events={dataCalendar}\r\n editable={false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport \"./DashboardTimeline.css\";\r\nimport Timeline, {\r\n DateHeader,\r\n SidebarHeader,\r\n TimelineHeaders,\r\n} from \"react-calendar-timeline\";\r\nimport \"react-calendar-timeline/lib/Timeline.css\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { MinusCircleOutlined, PlusCircleOutlined } from \"@ant-design/icons\";\r\nimport { Tooltip } from \"antd\";\r\n\r\ntype Props = { dashboard: any; onLoading: any; statusCard: any; endpoint: any };\r\n\r\nexport const DashboardTimeline = (props: Props) => {\r\n const [dataTimeline, setDataTimeline] = useState();\r\n const [dataGroups, setDataGroups] = useState();\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n useEffect(() => {\r\n mapData();\r\n }, [props.dashboard]);\r\n\r\n async function mapData() {\r\n if (props.dashboard) {\r\n var array: any[] = [];\r\n var array2: any[] = [];\r\n console.log(props.dashboard, \"props.statusCard\");\r\n props.dashboard.map((_data: any, index: number) => {\r\n array2.push({\r\n id: index,\r\n title: _data[\"headData\"],\r\n rightTitle: _data[\"headData\"],\r\n });\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]] + \"\",\r\n group: index + \"\",\r\n title: _data2[props.endpoint[3]],\r\n start: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n end: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\").add(\r\n 1,\r\n \"days\"\r\n )\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n bgColor: \"rgba(225, 166, 244, 0.6)\",\r\n itemProps: {\r\n \"data-tip\": _data2[\"Memo_MemoSubject\"],\r\n\r\n onMouseUp: () => {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n },\r\n style: {\r\n background: colorValue,\r\n },\r\n },\r\n });\r\n });\r\n });\r\n console.log(array, \"array\");\r\n console.log(array2, \"array2\");\r\n setDataTimeline([...array]);\r\n setDataGroups([...array2]);\r\n } else {\r\n }\r\n }\r\n\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n\r\n function renderSidebar() {\r\n return (\r\n
\r\n
\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n var keys = {\r\n groupIdKey: \"id\",\r\n groupTitleKey: \"title\",\r\n groupRightTitleKey: \"rightTitle\",\r\n itemIdKey: \"id\",\r\n itemTitleKey: \"title\",\r\n itemDivTitleKey: \"title\",\r\n itemGroupKey: \"group\",\r\n itemTimeStartKey: \"start\",\r\n itemTimeEndKey: \"end\",\r\n groupLabelKey: \"title\",\r\n };\r\n\r\n var [sideBarWidth, setSideBarWidth] = useState(150);\r\n\r\n function handleresize() {\r\n if (sideBarWidth >= 151) {\r\n setSideBarWidth(sideBarWidth - 50);\r\n } else {\r\n setSideBarWidth(sideBarWidth);\r\n }\r\n }\r\n return (\r\n {\r\n console.log(dataTimeline);\r\n console.log(dataGroups);\r\n }}\r\n >\r\n {dataTimeline && dataGroups && props.onLoading == false && (\r\n <>\r\n {renderSidebar()}\r\n {props.dashboard.length !== 0 ? (\r\n \r\n \r\n \r\n {({ getRootProps }) => {\r\n return (\r\n
\r\n \r\n \r\n handleresize()}\r\n className=\"set-icon\"\r\n />\r\n \r\n {\" \"}\r\n \r\n \r\n setSideBarWidth(sideBarWidth + 50)\r\n }\r\n className=\"set-icon\"\r\n />\r\n \r\n
\r\n \r\n Group By\r\n \r\n \r\n );\r\n }}\r\n
\r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const GetAllProject = async () => {\r\n const respone = await fetch(\"api/Project/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n BsCalendar4,\r\n BsCalendarDate,\r\n BsCalendarRange,\r\n BsChevronDown,\r\n BsLayoutThreeColumns,\r\n BsPlusSquare,\r\n} from \"react-icons/bs\";\r\n\r\nimport {\r\n FilterAdvanceSearch,\r\n MapGroupData,\r\n MapDataEndpoint,\r\n} from \"../../Services/ReportService\";\r\nimport { DashboardCard } from \"./DashboardCard/DashboardCard\";\r\nimport \"./DashboardScreen.css\";\r\nimport { DashboardCalendar } from \"./DashboardCalendar/DashboardCalendar\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport {\r\n GetDashboardStatusCard,\r\n GetDashboardAdvancedFilter,\r\n GetDashboardFilterStatus,\r\n GetDashboardKeyEndpoint,\r\n GetDashboardFilterGroupBy,\r\n GetDashboardDefaultFilterConFig,\r\n LoginConfiguration,\r\n} from \"../../Services/ConfigurationService\";\r\nimport { RiFilterOffLine } from \"react-icons/ri\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { FiFilter } from \"react-icons/fi\";\r\nimport { DashboardTimeline } from \"./DashboardTimeline/DashboardTimeline\";\r\nimport { AiOutlineClose, AiOutlineCloseCircle } from \"react-icons/ai\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { DatePicker } from \"antd\";\r\nimport {\r\n GetAllEmployee,\r\n} from \"../../Services/EmployeeService\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { IoCalendarOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {}\r\n\r\nconst DashboardScreen = (props: Props) => {\r\n const itemFilter: any = {\r\n dropdown: [],\r\n value: [],\r\n };\r\n\r\n const [responeConfig, setResponeConfig] = useState();\r\n const op = useRef(null);\r\n const ref = useRef(null);\r\n const ref2 = useRef(null);\r\n const isMounted = useRef(false);\r\n const [filterGroupBy, setFilterGroupBy] = useState([]);\r\n const [dataFilterGroupBy, setDataFilterGroupBy] = useState();\r\n const [ItemsStatus, setItemsStatus] = useState();\r\n const [dataAdvancedFilter, setDataAdvancedFilter] = useState();\r\n const [dataAdvancedFilterList, setDataAdvancedFilterList] = useState();\r\n const { RangePicker } = DatePicker;\r\n const [dashboard, setDashboard] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [data, setData] = useState();\r\n const [filter, setFilter] = useState(\"\");\r\n const [selectedFilter, setSelectedFilter] = useState();\r\n const [endpoint, setEndpoint] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [onSelectView, onSetSelectView] = useState(\"1\");\r\n const [statusCard, setStatusCard] = useState();\r\n const [employeeList, setEmployeeList] = useState();\r\n const [selectedEmployee, setSelectedEmployee] = useState();\r\n const [dates, setDates] = useState();\r\n const [project, setProject] = useState();\r\n const [selectedProject, setSelectedProject] = useState();\r\n const [selectedStatus, setSelectedStatus] = useState();\r\n const [keyEnter, setKeyEnter] = useState(false);\r\n const [onClickFilter, setOnClickFilter] = useState(false);\r\n const [filterAttribute, setFilterAttribute] = useState({ items: [] });\r\n const [userData, setUserData] = useUserContext();\r\n const [isOpenDateFilter, setIsOpenDateFilter] = useState(false);\r\n const [valueDropdownInCalendar, setValueDropdownInCalendar] = useState();\r\n const [isFetchData, setIsFetchData] = useState(false);\r\n useEffect(() => {\r\n isMounted.current = true;\r\n window.addEventListener(\"scroll\", handleScroll);\r\n fetchData();\r\n }, []);\r\n async function fetchData() {\r\n setIsFetchData(true);\r\n var responseConfig = await LoginConfiguration();\r\n var _filter = await GetDashboardFilterStatus();\r\n var _filterProject = await GetAllProject();\r\n var _responeDefaultAdvanced = await defaultAdvancedFilter(_filter);\r\n var _endpoint = await GetDashboardKeyEndpoint();\r\n var _advancedFilter = await GetDashboardAdvancedFilter();\r\n var _filterGroupBy = await GetDashboardFilterGroupBy();\r\n var _statusCard = await GetDashboardStatusCard();\r\n var respone = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(_responeDefaultAdvanced),\r\n });\r\n var _mapGroupData = await MapDataEndpoint(respone);\r\n var headData = await MapGroupData(_mapGroupData, _filterGroupBy[0]);\r\n setData(_mapGroupData);\r\n setDashboard(headData);\r\n fetchDataEmployee();\r\n fetchProject();\r\n setDataAdvancedFilter(_advancedFilter);\r\n setDataFilterGroupBy(_filterGroupBy);\r\n setStatusCard(_statusCard);\r\n setEndpoint(_endpoint);\r\n defaultFilterStatus(_filter);\r\n setSelectedFilter(_advancedFilter[0]);\r\n setFilterGroupBy(_filterGroupBy[0]);\r\n setOnLoading(false);\r\n setResponeConfig(responseConfig);\r\n }\r\n async function mapDataOptionFilter(_advancedFilter: any, _filter: any) {\r\n var _dataArray: any[] = [];\r\n _filter.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n return _dataArray;\r\n }\r\n useEffect(() => {\r\n if (filterAttribute && dataAdvancedFilter) {\r\n var _dataArray: any[] = [];\r\n var _dataArray2: any = [];\r\n let _dataArray3: any[] = [];\r\n var _attribute = filterAttribute.items;\r\n var _advancedFilter = dataAdvancedFilter;\r\n _attribute.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n for (let i = 0; i < _attribute.length; i++) {\r\n const element = _attribute[i];\r\n var response = _advancedFilter.filter((item: any) => {\r\n if (element.dropdown.name === item.name) {\r\n return item;\r\n }\r\n });\r\n _dataArray2.push(response[0]);\r\n }\r\n // for (let i = 0; i < _attribute.length; i++) {\r\n // const element = _attribute[i];\r\n // var response = _advancedFilter.filter((item: any) => {\r\n // if (element.dropdown.project === item.project) {\r\n // return item;\r\n // }\r\n // });\r\n // _dataArray3.push(response[0]);\r\n // }\r\n let ss: any[] = [];\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n let dd: any[] = [];\r\n for (let j = 0; j < _dataArray2?.length; j++) {\r\n const selected = _dataArray2[j];\r\n if (i !== j) {\r\n for (let k = 0; k < options.length; k++) {\r\n const option = options[k];\r\n if (option.name === selected?.name) {\r\n dd.push(k);\r\n }\r\n }\r\n }\r\n }\r\n ss.push({\r\n idx: i,\r\n data: dd,\r\n });\r\n }\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n const element = ss[i];\r\n let jj: any[] = [];\r\n for (let k = 0; k < options?.length; k++) {\r\n const option = options[k];\r\n for (let j = 0; j < element?.data?.length; j++) {\r\n const qq = element?.data[j];\r\n if (qq === k) {\r\n isHas = true;\r\n }\r\n }\r\n if (!isHas) {\r\n jj.push(option);\r\n }\r\n isHas = false;\r\n }\r\n zz.push(jj);\r\n }\r\n setDataAdvancedFilterList(zz);\r\n }\r\n }, [filterAttribute, dataAdvancedFilter]);\r\n\r\n async function defaultAdvancedFilter(_filterStatus: any) {\r\n var _defaultFilter = await GetDashboardDefaultFilterConFig();\r\n var requestData: any[] = [];\r\n let dataMapping: any = [];\r\n let _dataItemFilter: any = [];\r\n _defaultFilter.map((_data: any, idx: any) => {\r\n let checkStatus: boolean = false;\r\n var _fieldText: any = null;\r\n var _fieldType: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _filterParameter: string = \"\";\r\n _dataItemFilter.push(itemFilter);\r\n if (_data.fieldType === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"d\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment()\r\n .add(parseInt(_data.fieldTextFrom), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment()\r\n .add(parseInt(_data.fieldTextTo), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n setDates([\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(moment().add(parseInt(_data.fieldTextTo), \"days\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n )\r\n ),\r\n ]);\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextTo), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n ],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else if (_data.fieldType === \"status\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"t\";\r\n var fieldSpited = _data?.fieldText.split(\";|;\");\r\n const resultCard = _filterStatus.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n return {\r\n value: value,\r\n display: display,\r\n };\r\n });\r\n for (let i = 0; i < fieldSpited.length; i++) {\r\n const element = fieldSpited[i];\r\n for (let j = 0; j < resultCard.length; j++) {\r\n const element2 = resultCard[j];\r\n if (element === element2.display) {\r\n checkStatus = true;\r\n dataMapping.push(element2.value);\r\n }\r\n }\r\n }\r\n if (checkStatus) {\r\n _fieldText = \"\";\r\n dataMapping?.map((_data: any) => (\r\n <>\r\n {dataMapping.length > 1\r\n ? dataMapping?.slice(-1)[0] == _data\r\n ? `${(_fieldText = _fieldText + _data)}`\r\n : `${(_fieldText = _fieldText + _data + \";|;\")}`\r\n : (_fieldText = _fieldText + _data)}\r\n \r\n ));\r\n }\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [dataMapping],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else {\r\n _filterParameter = \"Like\";\r\n }\r\n requestData.push({\r\n ID: 0,\r\n FieldCode: _data?.fieldCode,\r\n FieldDisplay: _data?.fieldCode,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n return requestData;\r\n }\r\n async function fetchDataEmployee() {\r\n var _employee = await GetAllEmployee();\r\n console.log(\"_employee\", _employee);\r\n\r\n var array: any[] = [];\r\n _employee.map((_data: any) => {\r\n array.push({\r\n NameEn: _data[\"NameEn\"],\r\n NameTh: _data[\"NameTh\"],\r\n });\r\n });\r\n\r\n setEmployeeList([...array]);\r\n }\r\n async function fetchProject() {\r\n var _Project = await GetAllProject();\r\n console.log(\"_Project\", _Project);\r\n\r\n var arrayProject: any[] = [];\r\n _Project.map((_data: any) => {\r\n arrayProject.push({\r\n ProjectName: _data[\"ProjectName\"],\r\n });\r\n });\r\n\r\n setProject([...arrayProject]);\r\n }\r\n async function defaultFilterStatus(_filter: any) {\r\n let _filterStatus: any;\r\n const resultCard = _filter.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n _filterStatus = {\r\n value: value,\r\n display: display,\r\n };\r\n return _filterStatus;\r\n });\r\n setItemsStatus(resultCard);\r\n }\r\n function sleep(ms: any) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n async function timeoutHandler() {\r\n await sleep(1);\r\n }\r\n\r\n function globalFilterInput(_data: any) {\r\n if (!filter) {\r\n return _data;\r\n }\r\n const result: any[] = [];\r\n endpoint.map((_endpoint: any) => {\r\n const res = _data.filter((item: any) => {\r\n return item[_endpoint]\r\n .toString()\r\n .toLowerCase()\r\n .includes(filter.toLowerCase());\r\n });\r\n if (res.length >= 1) {\r\n result.push(...res);\r\n }\r\n });\r\n return result;\r\n }\r\n async function advancedSearch(_data: any) {\r\n setOnLoading(true);\r\n console.log(\"_data\", _data, filterAttribute);\r\n\r\n if (filterAttribute?.items[0]?.value?.length === 0) {\r\n return _data;\r\n } else if (filterAttribute?.items[0]?.value?.length !== 0) {\r\n const result: any[] = [];\r\n let _isHasStatus: boolean = false;\r\n filterAttribute.items.map((_dropdown: any, index: number) => {\r\n if (_dropdown.value.length === 0) {\r\n return;\r\n }\r\n var _fieldText: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _fieldType: any = \"t\";\r\n var _filterParameter: string = \"\";\r\n if (_dropdown.dropdown.type === \"status\") {\r\n _isHasStatus = true;\r\n _filterParameter = \"Equals\";\r\n }\r\n if (_dropdown.dropdown.type === \"project\") {\r\n _fieldText = selectedProject;\r\n _filterParameter = \"Equals\";\r\n console.log(\"projectIF\", _fieldText, _filterParameter);\r\n }\r\n if (_dropdown.dropdown.type === \"name\") {\r\n _fieldText = selectedEmployee;\r\n _filterParameter = \"Equals\";\r\n console.log(\"EmployeeIF\", _fieldText, _filterParameter);\r\n } else if (_dropdown.dropdown.type === \"status\") {\r\n _filterParameter = \"Equals\";\r\n let statusValue: any = \"\";\r\n _dropdown.value[0].map((_data: any) => (\r\n <>\r\n {_dropdown.value[0]?.length > 1\r\n ? _dropdown.value[0]?.slice(-1)[0] == _data\r\n ? `${(statusValue = statusValue + _data)}`\r\n : `${(statusValue = statusValue + _data + \";|;\")}`\r\n : (statusValue = statusValue + _data)}\r\n \r\n ));\r\n _fieldText = statusValue;\r\n } else if (_dropdown.dropdown.type === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment(_dropdown?.value[0]).format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment(_dropdown?.value[1]).format(\"DD/MM/yyyy\");\r\n _fieldType = \"d\";\r\n } else {\r\n _fieldText = _dropdown?.value[0];\r\n _filterParameter = \"Like\";\r\n }\r\n result.push({\r\n ID: 0,\r\n FieldCode: _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n FieldDisplay:\r\n _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n var dd = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(result),\r\n });\r\n var responeTest = await MapDataEndpoint(dd);\r\n return responeTest;\r\n }\r\n setOnLoading(false);\r\n }\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n if (!onLoading && !isFetchData) {\r\n let filteredData = await advancedSearch(data);\r\n filteredData = globalFilterInput(filteredData);\r\n var respone = await MapGroupData(filteredData, filterGroupBy);\r\n setDashboard(respone);\r\n setOnLoading(false);\r\n setIsFetchData(false);\r\n }\r\n }\r\n fetchMyAPI();\r\n }, [selectedFilter, filterGroupBy, keyEnter]);\r\n function handleKeyFilter(event: any) {\r\n setTimeout(\"1000\");\r\n if (event.key === \"Enter\") {\r\n setFilter(ref.current?.value);\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }\r\n }\r\n\r\n function getHeader() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {\r\n setFilter(e.target.value);\r\n // if (!e.target.value) {\r\n // let filteredData = globalFilterInput(data);\r\n // var respone = await MapGroupData(\r\n // filteredData,\r\n // filterGroupBy\r\n // );\r\n // setDashboard(respone);\r\n // }\r\n }}\r\n className=\"set-input-global-dashboard\"\r\n placeholder=\"Global Search\"\r\n onKeyPress={handleKeyFilter}\r\n ref={ref}\r\n /> */}\r\n {/* {\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }}\r\n /> */}\r\n
\r\n
\r\n
\r\n \r\n {\r\n op?.current?.toggle(e, null);\r\n setOnClickFilter(true);\r\n }}\r\n aria-haspopup\r\n aria-controls=\"overlay_panel\"\r\n className={`set-css-card-filter-adv set-border-css-filter ${\r\n onClickFilter ? \"activeFilter\" : \"\"\r\n }`}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
Filter
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n \r\n {(onSelectView === \"1\" || onSelectView === \"3\") && (\r\n
\r\n
group by
\r\n
\r\n {\r\n setFilterGroupBy(e.value);\r\n setIsFetchData(false);\r\n }}\r\n className=\"with-height-css-dd-calendar set-text-css-dashboard\"\r\n optionLabel=\"display\"\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n const handleScroll = (e: any) => {\r\n setIsOpenDateFilter(false);\r\n };\r\n\r\n const OverlayPanelTemplate = () => {\r\n return (\r\n
\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\", \"640px\": \"85vw\" }}\r\n style={{ width: \"450px\" }}\r\n className=\"overlaypanel-demo overlay-layout-show-css set-css-border-card-filter\"\r\n >\r\n
\r\n
\r\n Advanced filters\r\n
\r\n {\r\n let _data: any = [];\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n // ref.current.value = \"\";\r\n setKeyEnter(!keyEnter);\r\n setFilter(\"\");\r\n op?.current?.hide();\r\n }}\r\n >\r\n Clear all\r\n
\r\n
\r\n
\r\n {filterAttribute.items.map((_items: any, idx: any) => (\r\n <>\r\n
{}}>\r\n {filterAttribute && dataAdvancedFilterList && (\r\n
\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: e.value,\r\n value: [],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n className=\"set-layout-dd-filter-dashboard\"\r\n optionLabel=\"display\"\r\n placeholder=\"--Please Select--\"\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"status\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setSelectedStatus(e.value);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Select Status\"\r\n filter\r\n className=\"set-layout-dd-filter-dashboard width-100-multi-select\"\r\n />\r\n )}\r\n {(filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"string\" ||\r\n filterAttribute?.items[idx]?.dropdown.length === 0) && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.target.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Value\"\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"date\" && (\r\n \r\n \r\n setIsOpenDateFilter(e)}\r\n className={\"custom-date\"}\r\n value={dates}\r\n suffixIcon={null}\r\n style={{ height: \"38px\" }}\r\n separator={}\r\n onCalendarChange={(val) => {\r\n setDates(val);\r\n }}\r\n onChange={(e: any) => {\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: e,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [\r\n moment().startOf(\"year\"),\r\n moment().endOf(\"year\"),\r\n ],\r\n }}\r\n />\r\n
\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"name\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n let nameValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByLang: any;\r\n if (userData.Lang === \"EN\") {\r\n _dataByLang = _data.NameEn;\r\n } else {\r\n _dataByLang = _data.NameTh;\r\n }\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByLang\r\n ? `${(nameValue = nameValue + _dataByLang)}`\r\n : `${(nameValue =\r\n nameValue + _dataByLang + \";|;\")}`\r\n : (nameValue = nameValue + _dataByLang)}\r\n ;\r\n });\r\n setSelectedEmployee(nameValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"project\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n var projectValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByProject: any;\r\n _dataByProject = _data.ProjectName;\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByProject\r\n ? `${(projectValue =\r\n projectValue + _dataByProject)}`\r\n : `${(projectValue =\r\n projectValue + _dataByProject + \";|;\")}`\r\n : (projectValue =\r\n projectValue + _dataByProject)}\r\n ;\r\n });\r\n setSelectedProject(projectValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n
\r\n\r\n {idx !== 0 && (\r\n
\r\n {\r\n let _data = filterAttribute.items;\r\n _data.splice(idx, 1);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n {filterAttribute?.items.length < dataAdvancedFilter?.length ? (\r\n {\r\n let _data = filterAttribute.items;\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n >\r\n + Add new filter\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }}\r\n />\r\n
\r\n \r\n\r\n {/*
\r\n
\r\n
*/}\r\n
\r\n \r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {OverlayPanelTemplate()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Dashboard {\">\"} Project Tracker\r\n \r\n \r\n {\r\n onSetSelectView(\"1\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"2\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"3\");\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
{getHeader()}
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n {onSelectView === \"1\" && (\r\n \r\n )}\r\n {statusCard !== undefined &&\r\n onSelectView === \"2\" &&\r\n dashboard && (\r\n \r\n )}\r\n {onSelectView === \"3\" && dashboard && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(DashboardScreen);\r\n","export const GetLogApi = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/log/getlogtextfile\",\r\n\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PostedDate: dataJson,\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import { Input, Space } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { GetLogApi } from \"../../Services/LogApiService\";\r\n\r\nexport const LogApi = () => {\r\n const [postDate, setPostDate] = useState();\r\n const [textLog, setTextLog] = useState();\r\n useEffect(() => {\r\n fetchGetLogApi();\r\n }, []);\r\n\r\n async function fetchGetLogApi() {\r\n var request = postDate;\r\n console.log(\"Before=>PostedDate\", request);\r\n var _Log = await GetLogApi(request);\r\n setTextLog(_Log);\r\n console.log(\"_Log\", _Log);\r\n console.log(\"PostedDate\", request);\r\n }\r\n const { Search } = Input;\r\n return (\r\n
\r\n \r\n {\r\n setPostDate(e.target.value);\r\n }}\r\n />\r\n \r\n
\r\n {textLog?.map((x) => (\r\n

{x}

\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\ninterface Props {\r\n valueProps: any;\r\n}\r\n\r\nexport const EmailTemplateList = (props: Props) => {\r\n const [first, setFirst] = useState(0);\r\n const [rows, setRows] = useState(10);\r\n const [columnsHeader, setcolumnsHeader] = useState([]);\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [filters2, setFilters2] = useState();\r\n const history = useHistory();\r\n useEffect(() => {\r\n if (props.valueProps.length !== 0) {\r\n arrayHeader();\r\n _formatDate();\r\n }\r\n }, [props.valueProps]);\r\n\r\n function arrayHeader() {\r\n let array = [];\r\n\r\n for (const [key, value] of Object.entries(props.valueProps[0])) {\r\n if (\r\n key === \"IsActive\" ||\r\n key === \"userPrincipalName\" ||\r\n key === \"connectionString\" ||\r\n key === \"SecretId\" ||\r\n key === \"EmailBody\"\r\n ) {\r\n } else {\r\n array.push({ Header: key, field: key });\r\n }\r\n }\r\n setcolumnsHeader(array);\r\n setSelectedColumns(array);\r\n }\r\n function _formatDate() {\r\n let _data = props.valueProps;\r\n _data.map((data: any) => {\r\n if (data.ModifiedDate !== null && data.ModifiedDate !== null) {\r\n if (data.ModifiedDate.length !== 0) {\r\n data.ModifiedDate = formatDateTime(data.ModifiedDate);\r\n }\r\n }\r\n if (data.CreatedDate !== null && data.CreatedDate !== null) {\r\n if (data.CreatedDate.length !== 0) {\r\n data.CreatedDate = formatDateTime(data.CreatedDate);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function onRowSelect(data: any) {\r\n history.push(\r\n \"/EmailTemplateDetail?EmailTemplateId=\" + data[0].EmailTemplateId\r\n );\r\n }\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columnsHeader.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n const header = (\r\n
\r\n \r\n
\r\n );\r\n const columnComponents = selectedColumns.map((col: any) => {\r\n return (\r\n }\r\n sortable\r\n />\r\n );\r\n });\r\n const formatDateTime = (value: any) => {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n };\r\n return (\r\n <>\r\n onRowSelect(e.value)}\r\n // globalFilterFields={[\"DocumentCode\", \"TemplateName\", \"TemplateSubject\"]}\r\n // filters={filters2}\r\n >\r\n {columnComponents}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport { EmailTemplateList } from \"../../../components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\n\r\ntype Props = {};\r\n\r\nconst EmailTemplateListScreen = (props: Props) => {\r\n const [emailTemplate, setEmailTemplate] = useState([]);\r\n\r\n useEffect(() => {\r\n _EmailTemplate();\r\n }, []);\r\n\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n _getEmailTemplate.map((data: any) => {\r\n for (const [key, value] of Object.entries(data)) {\r\n if (value === null) {\r\n data[key] = \"\";\r\n }\r\n }\r\n });\r\n setEmailTemplate(_getEmailTemplate);\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {\"Email Template List\" + \"(\" + emailTemplate.length + \")\"}\r\n

\r\n
\r\n
\r\n\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateListScreen);\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n leaveTypeTable: any;\r\n}\r\n\r\nexport default function LeaveTypeComponents(props: Props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* if master date LR */}\r\n {props.leaveTypeTable?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n

#

\r\n
\r\n

Leave Type

\r\n

ประเภทของการขอลา

\r\n
\r\n

Package

\r\n

จำนวนวันลาตั้งต้น

\r\n
\r\n

Used

\r\n

จำนวนวันลาที่ใช้ไป

\r\n
\r\n

Balance

\r\n

จำนวนวันลาที่เหลืออยู่

\r\n
{idx + 1}{_data.Value2}{(_data.Value3)}{(_data.Value4)}{(_data.Value5)}
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\r\n\r\nimport \"./InformationComponent.css\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Spin, Space } from \"antd\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { CoreControllerComponent } from \"../CoreControllerComponent/CoreControllerComponent\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\n\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetAllProject } from \"../../../Services/ProjectService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateById,\r\n SearchTemplateListEditing,\r\n} from \"../../../Services/TemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { GetRefDocTemp } from \"../../../Services/MemoService\";\r\nimport { count, log } from \"console\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport { MdPreview } from \"react-icons/md\";\r\nimport { json } from \"stream/consumers\";\r\ninterface Props {\r\n onLoadLineApprove: boolean;\r\n setOnLoadLineApprove: any;\r\n workList?: any;\r\n setFormCategory?: any;\r\n formCategory?: any;\r\n form?: any;\r\n setForm?: any;\r\n getLineApprove: () => any;\r\n getInformationMethodProp: () => any;\r\n setInformationMethodProp: (respone: any) => any;\r\n getInformationTemplateProp: () => any;\r\n getInformationTemplateSetDataProp: any;\r\n setLineApporve: (respone: any) => any;\r\n setListFormName: (respone: any) => void;\r\n setListRefDocsDetail: (respone: any) => void;\r\n errorResult: any;\r\n setOnLoading: any;\r\n errorTable: any;\r\n isLoading: boolean;\r\n requestDetail: any;\r\n setInformationTemplate_Desc: (respone: any) => any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n onLoading: any;\r\n setSummary?: (respone: any) => any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n isTextFromValue: any;\r\n setRequestDetail: any;\r\n leaveTypeTable: any;\r\n checkTypeLeave: any;\r\n isSetCanEdit: boolean;\r\n setIsSetCanEdit: (_state: any) => void;\r\n isCopyProps?: any;\r\n isHideProject: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n branchFromADTitle: any;\r\n isBranchFromADTitle: any;\r\n refTempSelectedProps: any;\r\n refAttibuteProps: any;\r\n}\r\nexport const InformationComponent = (props: Props) => {\r\n const query = new URLSearchParams(useLocation().search);\r\n let location = useLocation();\r\n const [projectData, setProjectData] = useState([]);\r\n const [canEdit, setCanNotEdit] = useState(true);\r\n const [treeTemplate, setTreeTemplate] = useState();\r\n const [companyList, setCompanyList] = useState([]);\r\n const [nameEnCompanyTo, setNameEnCompanyTo] = useState([]);\r\n const [nameEnCompanyCc, setNameEnCompanyCc] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [searchDataCc, setSearchDataCc] = useState([]);\r\n const [searchCompanyData, setSearchCompanyData] = useState([]);\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [subject, setSubject] = useState(\"\");\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [globalFilterValueCc, setGlobalFilterValueCc] = useState(\"\");\r\n const [globalFilterCompanyValue, setGlobalFilterCompanyValue] = useState(\"\");\r\n const [globalFilterRefTempValue, setGlobalFilterRefTempValue] =\r\n useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isDialogVisibleCc, setDialogVisibleCc] = useState(false);\r\n const [isDialogVisibleCompany, setDialogVisibleCompany] = useState(false);\r\n const [isDialogVisibleRefTemp, setDialogVisibleRefTemp] = useState(false);\r\n const [selectProject, setSelectProject] = useState([]);\r\n const [selectedEmployeeTo, setSelectedEmployeeTo] = useState([]);\r\n const [filteredEmployeeTo, setFilteredEmployeeTo] = useState();\r\n const [selectedEmployeeCc, setSelectedEmployeeCc] = useState([]);\r\n const [filteredEmployeeCc, setFilteredEmployeeCc] = useState();\r\n const [refTempSelected, setRefTempSelected] = useState(\r\n props.refTempSelectedProps\r\n );\r\n const [selectFormTemplate, setSelectFormTemplate] = useState([]);\r\n const [searchTemplateListEditing, setSearchTemplateListEditing] =\r\n useState([]);\r\n const [isSearchTemplateEditing, setIsSearchTemplateEditing] =\r\n useState(false);\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const [coreRender, setCoreRender] = useState(true);\r\n const [disabled, setDisabled] = useState(false);\r\n const [onLazyLoad, setOnLazyLoad] = useState(false);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (props.refAttibuteProps) {\r\n setSearchRefDocData([...props.refAttibuteProps.option]);\r\n }\r\n props.setOnLoading(false);\r\n }, [props.refAttibuteProps]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationMethodProp() !== undefined &&\r\n onLazyLoad === false\r\n ) {\r\n checkTextSubject();\r\n checkCanEdit();\r\n }\r\n }, [props.getInformationMethodProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n }, [props.getInformationMethodProp(), props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (\r\n props.getInformationMethodProp().status === \"Draft\" ||\r\n props.getInformationMethodProp().status === \"New Request\" ||\r\n props.getInformationMethodProp().status === \"Rework\" ||\r\n props.getInformationMethodProp().status === \"Recall\"\r\n ) {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n checkCanEdit();\r\n TemplateListEditing();\r\n }\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n // checkRefTemplate();\r\n }\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (props.getInformationMethodProp().template_desc.length !== 0) {\r\n // checkRefTemplate();\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n fetchDataEmployee();\r\n }\r\n }\r\n\r\n // fetchDataEmployee();\r\n }, [props.getInformationMethodProp()]);\r\n useEffect(() => {\r\n if (searchRefDocData.length > 0) {\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n const refId = query.get(\"RefID\");\r\n let selQuery: any[] = [];\r\n searchRefDocData.map((refDoc: any) => {\r\n if (refDoc.DocumentNo === refId) {\r\n selQuery.push(refDoc);\r\n }\r\n });\r\n\r\n setRefTempSelected([...selQuery]);\r\n }\r\n }\r\n }, [searchRefDocData]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n } else if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length === 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n }\r\n }, [props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {}, [treeTemplate]);\r\n useEffect(() => {\r\n if (companyList.length === 1) {\r\n props.setInformationTemplate_Desc({\r\n company_name: companyList[0].CompanyCodeWithName,\r\n\r\n company_id: companyList[0].CompanyId,\r\n });\r\n }\r\n }, [companyList]);\r\n\r\n function onChanceRef(refTempSelected: any) {\r\n try {\r\n if (props.requestDetail !== undefined && props.requestDetail !== null) {\r\n if (\r\n props.requestDetail.memoDetail !== null &&\r\n props.requestDetail.listFormName[0] !== null\r\n ) {\r\n let listFormName = props.requestDetail.listFormName[0];\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let docsCode: any[] = [];\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n let _listRefDocsDetail: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormName.RefDocColumn);\r\n if (\r\n listFormName.RefTemplate !== \"\" &&\r\n listFormName.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormName.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormName.template_id,\r\n template_Name: listFormName.template_name,\r\n memoSubject: listFormName.subject,\r\n };\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel[1];\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n\r\n selectedColumn.items.map(\r\n (selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (selColLabel === _layout.template.label) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (\r\n refTable.label === objTable.Value\r\n ) {\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n }\r\n );\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (props.refAttibuteProps.mode !== \"Single\") {\r\n tableRows = col.ControlValue;\r\n }\r\n selectedColumn.items[\r\n sourceRow\r\n ].layout[0]?.data?.row?.map((row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: \"\" });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n });\r\n\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n valibCol.push(col);\r\n }\r\n });\r\n });\r\n\r\n valibCol.map((col: any) => {\r\n template_desc.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (col.ControlValue !== undefined) {\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n } else {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n });\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n } else {\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n props.setListRefDocsDetail([]);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n }\r\n }\r\n if (props.refAttibuteProps.mode === \"Single\") {\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // props.setOnLoading(false);\r\n // }, [props.refAttibuteProps]);\r\n\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n\r\n window.open(\r\n `${baseUrl}/PreviewTemplate?MemoID=0&template=${selectFormTemplate.TemplateId}&preview`,\r\n \"_blank\"\r\n );\r\n }\r\n function checkTextSubject() {\r\n if (props.getInformationTemplateProp() != undefined) {\r\n if (\r\n props.getInformationMethodProp().subject === undefined ||\r\n props.getInformationMethodProp().subject === null ||\r\n props.getInformationMethodProp().subject.length === 0\r\n ) {\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateSubject,\r\n });\r\n setSubject(props.getInformationTemplateProp().TemplateSubject);\r\n } else if (props.getInformationMethodProp().subject.length !== 0) {\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n setOnLazyLoad(true);\r\n }\r\n }\r\n async function TemplateListEditing() {\r\n if (\r\n props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0\r\n ) {\r\n if (props.requestDetail.listFormName[0].isFormControl) {\r\n let searchTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n let searchTemplateEdit: any;\r\n if (\r\n props.requestDetail.memoDetail.TemplateApproveId !== undefined &&\r\n props.requestDetail.memoDetail.TemplateApproveId !== null &&\r\n props.requestDetail.memoDetail.TemplateApproveId.length !== 0\r\n ) {\r\n searchTemplateEdit = await SearchTemplateListEditing({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n if (\r\n searchTemplateEdit === undefined ||\r\n searchTemplateEdit === null ||\r\n searchTemplateEdit.length === 0\r\n ) {\r\n searchTemplateEdit = await GetTemplateById({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n }\r\n console.log(\r\n \"searchTemplateEdit\",\r\n searchTemplateEdit,\r\n props.requestDetail.memoDetail\r\n );\r\n\r\n setSelectFormTemplate(\r\n searchTemplateEdit[0] === undefined ||\r\n searchTemplateEdit[0] === null ||\r\n searchTemplateEdit[0].length === 0\r\n ? searchTemplateEdit\r\n : searchTemplateEdit[0]\r\n );\r\n }\r\n\r\n setSearchTemplateListEditing(searchTemplate);\r\n setIsSearchTemplateEditing(true);\r\n }\r\n }\r\n }\r\n\r\n function dataStatusDraftSetDateNew() {\r\n const newDate = new Date();\r\n\r\n props.setInformationTemplate_Desc({\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n });\r\n }\r\n\r\n function checkCanEdit() {\r\n let info = props.getInformationMethodProp();\r\n\r\n if (info.status === \"Completed\" || info.status === \"Reject\") {\r\n setCanNotEdit(true);\r\n } else if (\r\n info.status === \"Draft\" ||\r\n info.status === \"New Request\" ||\r\n info.status === \"Rework\" ||\r\n info.status === \"Recall\"\r\n ) {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(false);\r\n } else {\r\n const detail = props.requestDetail;\r\n if (detail?.listFormName[0]?.ApproverCanEdit) {\r\n props.setIsSetCanEdit(true);\r\n setDisabled(false);\r\n setCanNotEdit(false);\r\n } else {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(true);\r\n }\r\n }\r\n }\r\n\r\n async function getInformation() {\r\n if (companyList !== [] || employee !== []) {\r\n fetchDataCompany();\r\n fetchDataEmployee();\r\n }\r\n\r\n let info_template = props.getInformationMethodProp();\r\n if (\r\n props.getInformationMethodProp().project === null ||\r\n props.getInformationMethodProp().project === undefined\r\n ) {\r\n props.getInformationMethodProp().project = \"\";\r\n props.setInformationTemplate_Desc({ project: \"\" });\r\n }\r\n if (props.getInformationMethodProp().copyInformation === undefined) {\r\n props.getInformationMethodProp().copyInformation = \"N\";\r\n props.setInformationTemplate_Desc({ copyInformation: \"N\" });\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ) {\r\n fetchDataTemplateByid();\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().template_desc.trim() !== \"\" &&\r\n props.getInformationMethodProp().template_desc.trim() !==\r\n props.getInformationTemplateProp().AdvanceForm\r\n ) {\r\n if (\r\n props.getInformationMethodProp().template_id !==\r\n props.getInformationTemplateProp().TemplateId\r\n ) {\r\n props.setInformationMethodProp(\r\n props.getInformationTemplateProp().AdvanceForm\r\n );\r\n props.getInformationMethodProp().subject = \"\";\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n } else {\r\n setTreeTemplate(info_template.template_desc);\r\n\r\n await dataGetInformationMethodProp();\r\n }\r\n } else {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n }\r\n } else if (\r\n props.getInformationMethodProp().memoid !== 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n templateListFormName();\r\n if (props.getInformationMethodProp().template_detail.length === 0) {\r\n setGuid();\r\n }\r\n props.setInformationTemplate_Desc({\r\n document_set: props.getInformationMethodProp().template_detail,\r\n });\r\n if (props.getInformationMethodProp().status === \"Draft\") {\r\n dataStatusDraftSetDateNew();\r\n }\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateName,\r\n });\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"Y\"\r\n ) {\r\n templateListFormName();\r\n dataStatusDraftSetDateNew();\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n // props.setOnLoading(false);\r\n }\r\n }\r\n async function setGuid() {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n await props.setInformationTemplate_Desc({\r\n template_detail: _uuid,\r\n document_set: _uuid,\r\n });\r\n }\r\n async function templateListFormName() {\r\n const dataJson = {\r\n TemplateId: props.requestDetail?.memoDetail.template_id,\r\n };\r\n if (dataJson.TemplateId !== null) {\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n if (\r\n _templateIdListFormName === null ||\r\n _templateIdListFormName === undefined\r\n ) {\r\n _templateIdListFormName = [];\r\n }\r\n props.setListFormName(_templateIdListFormName);\r\n }\r\n }\r\n\r\n async function dataGetInformationMethodProp() {\r\n const newDate = new Date();\r\n let _dataSetInformation: any = {\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status:\r\n location.pathname === \"/PreviewTemplate\"\r\n ? props.getInformationMethodProp().status\r\n : \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n template_detail: uuidv4().replace(/-/g, \"\"),\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n };\r\n await props.setInformationTemplate_Desc(_dataSetInformation);\r\n }\r\n function dataGetInformationMethodMemoProp() {\r\n const newDate = new Date();\r\n props.setInformationTemplate_Desc({\r\n memoid: 0,\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status: \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n company_name: \"\",\r\n company_id: 0,\r\n project_id: 0,\r\n project: \"\",\r\n subject: \"\",\r\n amount: \"\",\r\n to: \"\",\r\n pass: \"\",\r\n });\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n \r\n }\r\n body={(rowData) => {\r\n if (rowData.Lang !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n const onGlobalFilterChangeCc = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValueCc(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDataCc([...data]);\r\n };\r\n const onGlobalFilterCompanyChange = (e: any) => {\r\n const value = e;\r\n const dataCpl = companyList;\r\n setGlobalFilterCompanyValue(value);\r\n const data = dataCpl.filter((data: any) => {\r\n if (\r\n data.CompanyCode?.toLowerCase().includes(value?.toLowerCase()) ||\r\n empData.employeeData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().includes(value?.toLowerCase())\r\n : data.NameTh?.toLowerCase().includes(value?.toLowerCase()) ||\r\n data.AddressEn?.toLowerCase().includes(value?.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchCompanyData([...data]);\r\n };\r\n\r\n // const onGlobalFilterRefTempChange = (e: any) => {\r\n // const value = e;\r\n // const dataOption = props.refAttibuteProps.option;\r\n // setGlobalFilterRefTempValue(value);\r\n // const data = dataOption.filter((data: any) => {\r\n // if (\r\n // data.DocumentNo.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.TemplateName.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.MemoSubject.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n // ) {\r\n // return true;\r\n // }\r\n // });\r\n // setSearchRefDocData([...data]);\r\n // };\r\n useEffect(() => {\r\n try {\r\n if (props.refAttibuteProps !== undefined) {\r\n console.log(\"ref=>\", props.refAttibuteProps.option);\r\n\r\n const dataOption = props.refAttibuteProps.option;\r\n const data = dataOption.filter((data: any) => {\r\n if (\r\n data.DocumentNo.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.TemplateName.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.MemoSubject.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchRefDocData([...data]);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>\", error);\r\n }\r\n }, [globalFilterRefTempValue]);\r\n\r\n //Test\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n async function fetchData() {\r\n const _project = await GetAllProject();\r\n setProjectData(_project);\r\n }\r\n\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployee(employee);\r\n setSearchData(employee);\r\n setSearchDataCc(employee);\r\n if (\r\n (props.getInformationMethodProp().pass.length !== 0 &&\r\n props.getInformationMethodProp().pass !== undefined) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().CcId.length !== 0)\r\n ) {\r\n let answer_array = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().pass.length !== 0\r\n ? props.getInformationMethodProp().pass.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().CcId.length !== 0\r\n ? props.getInformationTemplateProp().CcId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().pass.length === 0\r\n ? []\r\n : props.getInformationMethodProp().pass.split(\",\")\r\n : props.getInformationMethodProp().pass.split(\",\");\r\n }\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeCc(res);\r\n setNameEnCompanyCc([...dataName]);\r\n\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n }\r\n } else {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n // (props.getInformationMethodProp().pass.length !== 0 &&\r\n // props.getInformationMethodProp().pass !== undefined) ||\r\n if (\r\n (props.getInformationMethodProp().to !== undefined &&\r\n props.getInformationMethodProp().to.length !== 0) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().ToId.length !== 0)\r\n ) {\r\n let answer_array: any = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().to.length !== 0\r\n ? props.getInformationMethodProp().to.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().ToId.length !== 0\r\n ? props.getInformationTemplateProp().ToId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().to.length === 0\r\n ? []\r\n : props.getInformationMethodProp().to.split(\",\")\r\n : props.getInformationMethodProp().to.split(\",\");\r\n }\r\n console.log(\"answer_array\", answer_array);\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeTo(res);\r\n setNameEnCompanyTo([...dataName]);\r\n\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n }\r\n // props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n } else {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n\r\n const project =\r\n projectData === undefined ||\r\n projectData === null ||\r\n projectData.length === 0\r\n ? await GetAllProject()\r\n : projectData;\r\n\r\n if (\r\n props.getInformationMethodProp().project !== 0 &&\r\n props.getInformationMethodProp().project !== undefined\r\n ) {\r\n const dataFilter = project.filter(\r\n (item: any) =>\r\n item.ProjectName === props.getInformationMethodProp().project\r\n );\r\n\r\n setSelectProject(dataFilter[0]);\r\n }\r\n setProjectData(project);\r\n }\r\n\r\n async function fetchDataTemplateByid() {\r\n const dataJson = {\r\n TemplateId: props.getInformationTemplateProp().TemplateId,\r\n };\r\n\r\n if (!props.isInitialLogic) {\r\n console.log(\"props.isInitialLogic\", props.isInitialLogic);\r\n\r\n props.setOnLoadLineApprove(true);\r\n await fetchDataLineApproveWithTemplate(await GetTemplateById(dataJson));\r\n }\r\n }\r\n\r\n async function fetchDataLineApproveWithTemplate(data: any) {\r\n let localStorageData: any = window.localStorage.getItem(\"userData\");\r\n const userData = JSON.parse(localStorageData);\r\n const _templateByid = data;\r\n const lineApprove = props.getLineApprove();\r\n let Template: any = {};\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n Template = props.getInformationTemplateProp();\r\n } else {\r\n Template = _templateByid;\r\n }\r\n console.log(\"Template\", Template);\r\n\r\n const dataJson = {\r\n templateForm: Template,\r\n lstTRNLineApprove: [],\r\n VEmployee: userData.employeeData,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n if (lineApprove.length === 0) {\r\n let responeAprovaWithTemplate: any = await GetApprovalByTemplate(\r\n dataJson\r\n );\r\n props.setLineApporve(responeAprovaWithTemplate);\r\n\r\n props.setOnLoading(false);\r\n }\r\n props.setOnLoadLineApprove(false);\r\n }\r\n async function fetchDataCompany() {\r\n let responeCompanyData = await dataCompany();\r\n console.log(\"responeCompanyData\", responeCompanyData);\r\n\r\n if (responeCompanyData.length !== companyList.length) {\r\n setCompanyList(responeCompanyData);\r\n }\r\n setSearchCompanyData(responeCompanyData);\r\n }\r\n function onChangeSubjectMemo(value: any) {\r\n let temp = props.getInformationMethodProp();\r\n let _listRefDocsDetail: any[] = [];\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: temp.template_id,\r\n template_Name: temp.template_name,\r\n memoSubject: value,\r\n };\r\n _listRefDocsDetail.push(refDocDetail);\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationTemplate_Desc({\r\n subject: value,\r\n });\r\n setSubject(value);\r\n }\r\n const formatDateTimeDataReQuest = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCc = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCompany = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderReftemp = () => {\r\n return (\r\n
\r\n setGlobalFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n fetchDataEmployee();\r\n }\r\n function showModalCompany() {\r\n if (globalFilterCompanyValue != \"\") {\r\n setGlobalFilterCompanyValue(\"\");\r\n }\r\n fetchDataCompany();\r\n setDialogVisibleCompany(!isDialogVisibleCompany);\r\n }\r\n function showModalRefTemp() {\r\n setGlobalFilterRefTempValue(\"\");\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n function showModalCc() {\r\n if (globalFilterValueCc != \"\") {\r\n setGlobalFilterValueCc(\"\");\r\n }\r\n setDialogVisibleCc(!isDialogVisibleCc);\r\n fetchDataEmployee();\r\n }\r\n const onRowSelect = (event: any) => {\r\n let dataName: any[] = nameEnCompanyTo;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n console.log(\"datafilterEmployee\", datafilterEmployee);\r\n\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n console.log(\"dataName\", dataName);\r\n\r\n setSelectedEmployeeTo(dataSelectEmployee);\r\n setNameEnCompanyTo([...dataName]);\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n\r\n setDialogVisible(false);\r\n };\r\n const onRowSelectCc = (event: any) => {\r\n let dataName: any[] = nameEnCompanyCc;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n setSelectedEmployeeCc(dataSelectEmployee);\r\n setNameEnCompanyCc([...dataName]);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n setDialogVisibleCc(false);\r\n };\r\n const onRowSelectCompany = (event: any) => {\r\n if (\r\n props.getInformationMethodProp().status.trim() === \"Wait for Approve\" ||\r\n props.getInformationMethodProp().status.trim() === \"Completed\"\r\n ) {\r\n } else {\r\n props.getInformationMethodProp().company_id = event.data.CompanyId;\r\n props.getInformationMethodProp().company_name =\r\n event.data.CompanyCodeWithName;\r\n }\r\n setDialogVisibleCompany(false);\r\n };\r\n\r\n const onChangeSelectProject = (data: any) => {\r\n setSelectProject(data);\r\n props.setInformationTemplate_Desc({\r\n project_id: data.ProjectId,\r\n project: data.ProjectName,\r\n });\r\n };\r\n const onChangeSelectFormTemplate = (data: any) => {\r\n setSelectFormTemplate(data);\r\n props.setInformationTemplate_Desc({\r\n TemplateApproveId: data.TemplateId.toString(),\r\n });\r\n };\r\n\r\n const searchEmployeeTo = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeTo(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeToEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeToFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const searchEmployeeCc = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeCc(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeCcEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeCcFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const setSelectedEmployeeToFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyTo([...dataName]);\r\n setSelectedEmployeeTo(event);\r\n\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n };\r\n const setSelectedEmployeeCcFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyCc([...dataName]);\r\n setSelectedEmployeeCc(event);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n };\r\n\r\n const rowClassName = () => {\r\n return \"row-pointer\";\r\n };\r\n\r\n return (\r\n <>\r\n {!props.onLoading && (\r\n
\r\n \r\n <>\r\n \r\n \r\n
\r\n

Information

\r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n
\r\n \r\n {props.getInformationMethodProp().memoid === 0 &&\r\n !props.isCopyProps\r\n ? props.getInformationMethodProp().template_code +\r\n \": \" +\r\n props.getInformationMethodProp().template_name\r\n : props.getInformationMethodProp().template_name}\r\n

\r\n \r\n \r\n
\r\n \r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n \r\n\r\n \r\n {locationPathName !== \"/PreviewTemplate\" && (\r\n <> {props.getInformationMethodProp().document_no}\r\n )}\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(\r\n props.getInformationMethodProp().request_date\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n

\r\n \r\n *\r\n \r\n
\r\n \r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.isBranchFromADTitle && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n {\r\n console.log(props.isBranchFromADTitle);\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n To\r\n

\r\n \r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeToEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeToFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n \r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeCcEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeCcFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n {!props.isHideProject && (\r\n <>\r\n {props.getInformationMethodProp().project?.length !== 0 ? (\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

โครงการ

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

\r\n โครงการ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Subject\r\n

\r\n \r\n *\r\n \r\n
\r\n \r\n เรื่อง\r\n

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n {props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0 &&\r\n props.requestDetail.listFormName[0].isFormControl && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\r\n

\r\n
\r\n

\r\n เลือกฟอร์มที่ต้องการขออนุมัติ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n onChangeSelectFormTemplate(e.value)\r\n }\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0\r\n ? selectFormTemplate.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"300px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n {selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0 && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n disabledProps={canEdit}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Top\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้างอิง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {\r\n const urlElelement: any =\r\n window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n\r\n window.open(\r\n `https://${url}/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n {props.leaveTypeTable.length !== 0 &&\r\n props.checkTypeLeave === true && (\r\n \r\n )}\r\n\r\n {treeTemplate !== undefined && (\r\n <>\r\n {props.requestDetail !== undefined && (\r\n <>\r\n {props.isTextFromValue === true && (\r\n <>\r\n \r\n \r\n )}\r\n {props.isTextFromValue === false && (\r\n <>\r\n \r\n props.setInformationMethodProp(e)\r\n }\r\n getInformationTemplateProp={\r\n props.getInformationTemplateProp\r\n }\r\n onLoading={props.onLoading}\r\n setOnLoading={props.setOnLoading}\r\n setSummary={props.setSummary}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Bottom\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้าง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n {companyList.length !== 0 && (\r\n \r\n \r\n \r\n \r\n

CompanyCode

\r\n

รหัสบริษัท

\r\n \r\n \r\n }\r\n sortable\r\n style={{ width: \"10%\" }}\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n style={{ width: \"20%\" }}\r\n >\r\n \r\n \r\n

Address

\r\n

ที่อยู่

\r\n \r\n \r\n }\r\n style={{ width: \"30%\" }}\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n setGlobalFilterRefTempValue(\"\");\r\n }}\r\n onHide={showModalRefTemp}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n draggable={false}\r\n resizable={false}\r\n >\r\n {\r\n if (Array.isArray(e.value)) {\r\n setRefTempSelected([...e.value]);\r\n onChanceRef(e.value);\r\n } else {\r\n let val: any[] = [];\r\n val.push(e.value);\r\n setRefTempSelected([...val]);\r\n onChanceRef(val);\r\n }\r\n }}\r\n selectionMode={\r\n props.refAttibuteProps?.mode === \"Single\"\r\n ? \"radiobutton\"\r\n : \"checkbox\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttibuteProps?.optionLabel !==\r\n \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttibuteProps?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Grid } from \"antd\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n getLineAproveMethodProp: any;\r\n setLineApproveMethodProp: any;\r\n getRequestorDetailProp: any;\r\n dataEmployeeList: any;\r\n signature: any;\r\n onLoading: boolean;\r\n}\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst LineApprovalsComponent: React.FC = (props: Props) => {\r\n const [lineData, setLineData] = useState([]);\r\n const [dataEmployeeList, setdataEmployeeList] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const toast = useRef(null);\r\n const isMounted = useRef(false);\r\n const [globalFilterValue2, setGlobalFilterValue2] = useState(\"\");\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [canEdit, setCanEdit] = useState();\r\n const [sinatures_Seleted, setSinatures_Seleted] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const [isLoading, setIsLoading] = useState(true);\r\n let location = useLocation();\r\n const { lg } = useBreakpoint();\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n useEffect(() => {\r\n try {\r\n let responeMemoDetail = props.getRequestorDetailProp;\r\n fetchMasterData();\r\n fetchEmployee();\r\n if (responeMemoDetail.memoDetail.memoid == 0) {\r\n fetchApprovals();\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n } else {\r\n fetchApprovals();\r\n if (responeMemoDetail.listFormName[0].isRequesterEditApproval) {\r\n if (\r\n responeMemoDetail.memoDetail.status === \"Completed\" ||\r\n responeMemoDetail.memoDetail.status === \"Rejected\"\r\n ) {\r\n setCanEdit(false);\r\n } else if (\r\n responeMemoDetail.memoDetail.status === \"Draft\" ||\r\n responeMemoDetail.memoDetail.status === \"Rework\" ||\r\n responeMemoDetail.memoDetail.status === \"Recall\"\r\n ) {\r\n setCanEdit(true);\r\n }\r\n } else {\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n }\r\n }\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n props.setLineApproveMethodProp(lineData);\r\n }, [lineData]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n }, [props.signature]);\r\n\r\n async function fetchApprovals() {\r\n let options: any[] = [];\r\n let signatrue = props.signature;\r\n const responeData = props.getLineAproveMethodProp();\r\n let id = -1;\r\n signatrue.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n id = s.id;\r\n }\r\n options.push({ id: s.id, value1: s.value1, value2: s.value2 });\r\n });\r\n\r\n responeData.map((e: any) => {\r\n if (\r\n e.signature_id === 0 &&\r\n (e.signature_en === null || e.signature_th === null)\r\n ) {\r\n e.signature_id = id;\r\n e.signature_en = \"Approved\";\r\n e.signature_th = \"อนุมัติ\";\r\n } else {\r\n options.map((sig: any) => {\r\n if (sig.id === e.signature_id) {\r\n e.signature_en = sig.value2;\r\n e.signature_th = sig.value1;\r\n }\r\n });\r\n }\r\n });\r\n setDefSignatureID(id);\r\n setSinatureOptions([...options]);\r\n setLineData([...responeData]);\r\n }\r\n\r\n function fetchMasterData() {\r\n props.signature.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n setDefSignatureID(s.id);\r\n }\r\n });\r\n }\r\n\r\n async function fetchEmployee() {\r\n setdataEmployeeList([...props.dataEmployeeList]);\r\n setSearchData([...props.dataEmployeeList]);\r\n }\r\n\r\n function addData(empData: any) {\r\n const raw = lineData;\r\n const lastData = lineData[lineData.length - 1];\r\n let data: IApproverModel = empData;\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n }\r\n setLineData([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const onGlobalFilterChange2 = (e: any) => {\r\n const value = e;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue2(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (empData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n useEffect(() => {\r\n isMounted.current = true;\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowReorder = (e: any) => {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n\r\n setLineData(e.value);\r\n };\r\n\r\n function onSelected_Sinatures(event: any, sinatures: any, rowInx: number) {\r\n let line: any = lineData;\r\n line[rowInx].signature_id = event.value.id;\r\n line[rowInx].signature_th = event.value.value1;\r\n line[rowInx].signature_en = event.value.value2;\r\n setLineData([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEdit) {\r\n let sinatures = sinatures_Seleted;\r\n let selectedValue: any[] = [];\r\n lineData.map((e: any) => {\r\n selectedValue.push({\r\n id: e.signature_id,\r\n value1: e.signature_th,\r\n value2: e.signature_en,\r\n });\r\n });\r\n\r\n return (\r\n onSelected_Sinatures(e, sinatures, option.rowIndex)}\r\n optionLabel={empData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n {rowData.signature_en}\r\n
\r\n );\r\n }\r\n };\r\n\r\n const onRowSelect = (event: any) => {\r\n addData(event.data);\r\n };\r\n\r\n function toggleModal() {\r\n setGlobalFilterValue2(\"\");\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n\r\n setLineData([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n };\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n setIsLoading(true);\r\n moveItem(fromIndex, targetIndex - 1);\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineData !== null ? [...lineData] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineData([...rows]);\r\n setMoveToDialogVisible(false);\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n

Approvals

\r\n {!isLoading && (\r\n <>\r\n {canEdit ? (\r\n <>\r\n toggleModal()}\r\n />\r\n\r\n \r\n {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {/* {dynamicColumns} */}\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n {\r\n return (\r\n <>\r\n
\r\n
\r\n Action\r\n {/* {col.control.template.attribute.require === \"Y\" && (\r\n *\r\n )} */}\r\n
\r\n\r\n {/* \r\n {col.control.template.alter}\r\n */}\r\n
\r\n \r\n );\r\n }}\r\n body={actionBodyTemplate}\r\n exportable={false}\r\n >\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineData?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponent;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Divider, Input, Space } from \"antd\";\r\nimport \"./RequestorComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n canEditDoc: any;\r\n masterEmployee: any;\r\n setLineApproval: any;\r\n isADTitleToPosition: any;\r\n setRequestor: any;\r\n requestor: any;\r\n creator: any;\r\n jsonCondition: any;\r\n lineApproval: any;\r\n onLoadDataLiveApprove: any;\r\n userData: any;\r\n renderSelectedRequestor: any;\r\n t: any;\r\n}\r\n\r\nexport const RequestorComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { Search } = Input;\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [actionAdd, setIsActionAdd] = useState(false);\r\n const [isAdmin, setIsAdmin] = useState(\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false\r\n );\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n mapData();\r\n }, []);\r\n const mapData = () => {\r\n setSearchData([...props.masterEmployee]);\r\n if (props.memoDetail.memoid !== 0) {\r\n setIsActionAdd(true);\r\n }\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = props.masterEmployee;\r\n\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (props.userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n\r\n setDialogVisible(!dialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (loading) {\r\n let empData = await GetAllEmployee(req);\r\n setSearchData(empData);\r\n setLoading(!loading);\r\n }\r\n }\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowSelect = async (data: any) => {\r\n if (props.requestor.EmployeeId != data.EmployeeId) {\r\n props.setRequestor(data);\r\n props.setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n requestor: data,\r\n }));\r\n if (props.renderSelectedRequestor) {\r\n props.renderSelectedRequestor(data);\r\n }\r\n }\r\n setDialogVisible(false);\r\n };\r\n\r\n function showSuccess() {\r\n return (\r\n
\r\n

{props.t(\"creator\")}

\r\n \r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Division

\r\n

ฝ่ายงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email

\r\n

อีเมล

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n useEffect(() => {\r\n console.log({ ss: props.userData });\r\n }, [props.userData]);\r\n\r\n return (\r\n
\r\n {actionAdd && showSuccess()}\r\n \r\n

{props.t(\"Requestor\")}

\r\n \r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Division

\r\n

ฝ่ายงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email

\r\n

อีเมล

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n className={\"showId\"}\r\n body={(rowData: any) => {\r\n return (\r\n \r\n \r\n {rowData.EmployeeCode}\r\n {isAdmin && (\r\n
\r\n )}\r\n
\r\n );\r\n }}\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n */}\r\n\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport moment from \"moment\";\r\n\r\nimport { AiFillEye } from \"react-icons/ai\";\r\nimport LogoLoading from \"../../../assets/LoadingWOLFmini.gif\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport DescriptionConfigComponent from \"./DescriptionConfigComponent\";\r\nimport axios from \"axios\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetPermissionByEmpId } from \"../../../Services/RoleServices\";\r\nimport {\r\n CannotDowLoadPDFDefaultConfiguration,\r\n getUploadFileSettingConfiguration,\r\n} from \"../../../Services/ConfigurationService\";\r\nimport { Badge } from \"antd\";\r\nimport { set } from \"react-hook-form\";\r\ninterface Props {\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n userData: any;\r\n canEditDoc: boolean;\r\n listFormNames: any;\r\n checkActionPage: string;\r\n masterATDLFT: any;\r\n t: any;\r\n}\r\n\r\nconst AttachmentComponent: React.FC = ({\r\n t,\r\n listFileAttachDetails,\r\n setListFileAttachDetails,\r\n setMemoDetail,\r\n memoDetail,\r\n userData,\r\n canEditDoc,\r\n listFormNames,\r\n checkActionPage,\r\n masterATDLFT,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const ref = React.useRef();\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _localStorage.SharepointSiteURL;\r\n let _tinyURL = _localStorage.TinyURL;\r\n const [requestFile, setRequestFile] = useState(null);\r\n\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [value, setValue] = useState(\"\");\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n\r\n const [fileData, setFileData] = useState();\r\n const [pathData, setPathData] = useState();\r\n const [description, setDescription] = useState(\"\");\r\n\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [indexState, setIndexState] = useState(0);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [configFile, setConfigFile] = useState({});\r\n useEffect(() => {\r\n console.log(userData, \"userData\");\r\n console.log(_localStorage, \"userData\");\r\n console.log(memoDetail, \"userData\");\r\n console.log(listFileAttachDetails, \"userData\");\r\n fechData();\r\n\r\n const defaultSeq = listFileAttachDetails.map((e: any) =>\r\n listFileAttachDetails.length > 0\r\n ? { name: e.attach_file, seq: e.sequence }\r\n : { name: \"\", seq: 0 }\r\n );\r\n const filterArr = defaultSeq.filter((e: any) => e.seq !== 0);\r\n setSelectedRows(filterArr);\r\n }, []);\r\n\r\n async function fechData() {\r\n const config = await getUploadFileSettingConfiguration();\r\n\r\n setConfigFile(config);\r\n }\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n };\r\n useEffect(() => {\r\n console.log(masterATDLFT, \"masterATDLFT\");\r\n }, []);\r\n\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n\r\n setRequestFile(e.target.files);\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setListFileAttachDetails(\r\n listFileAttachDetails.filter((_val: any, _idx: number) => {\r\n return _idx !== indexState;\r\n })\r\n );\r\n setSelectedRows(\r\n selectedRows.filter((e: any, idx: any) => {\r\n return idx !== indexState;\r\n })\r\n );\r\n }\r\n\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n for (let i = 0; i < requestFile.length; i++) {\r\n const attachWorkList = listFileAttachDetails;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile[i]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", memoDetail.template_detail);\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n console.log(formData, \"formData\");\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n if (response.data?.result === true) {\r\n if (_sharepointSiteURL) {\r\n newFile.attach_path =\r\n _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.attach_path = response.data.pathUrl;\r\n }\r\n newFile.sequence = 0;\r\n newFile.memo_id = memoDetail.memoid;\r\n newFile.actor = userData;\r\n newFile.attach_date = NewDate;\r\n newFile.attach_file = response.data.fileName;\r\n newFile.is_merge_pdf = false;\r\n newFile.modified_date = NewDate;\r\n newFile.modified_by = userData.EmployeeId.toString();\r\n newFile.description = description;\r\n attachWorkList.push(newFile);\r\n setListFileAttachDetails([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const handleCheckboxChange = (event: any, name: any) => {\r\n if (event.target.checked) {\r\n let _selectedRows = selectedRows;\r\n _selectedRows.push({\r\n name: name,\r\n seq: _selectedRows.length + 1,\r\n });\r\n setSelectedRows([..._selectedRows]);\r\n } else {\r\n let _SecRow = selectedRows\r\n .filter((e) => e.name !== name)\r\n .map((e: any, idx: number) => {\r\n let mergeObj: { name: string; seq: number } = {\r\n name: e.name,\r\n seq: idx + 1,\r\n };\r\n\r\n return mergeObj;\r\n });\r\n\r\n listFileAttachDetails.map((e: any) => {\r\n e.sequence = 0;\r\n });\r\n setSelectedRows(_SecRow);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n selectedRows.map((item: any) => {\r\n listFileAttachDetails.map((e: any) => {\r\n if (e.attach_file === item.name) {\r\n e.sequence = item.seq;\r\n }\r\n });\r\n });\r\n }, [selectedRows, listFileAttachDetails]);\r\n\r\n return (\r\n
\r\n {renderDialog()}\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n

{t(\"attachment\")}

\r\n
\r\n <>\r\n
\r\n {t(\"Attach File\")} : \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n placeholder=\"fdfsd\"\r\n />\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
\r\n
\r\n
\r\n {t(\"Description\")} : \r\n
\r\n {\r\n setValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n \r\n \r\n {t(\"Upload\")}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 && (\r\n <>\r\n

Attached File

\r\n
\r\n
\r\n
\r\n

#

\r\n
\r\n
\r\n

Date

\r\n
\r\n
\r\n

Attached File

\r\n
\r\n
\r\n

Description

\r\n
\r\n
\r\n

Operator

\r\n
\r\n
\r\n

Merge

\r\n
\r\n
\r\n
\r\n

Action

\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 &&\r\n listFileAttachDetails.map((attachData: any, idx: number) => (\r\n
\r\n
\r\n

{idx + 1}

\r\n
\r\n
\r\n

{convertDate(attachData.attach_date)}

\r\n
\r\n
\r\n <>\r\n {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _tinyURL =\r\n _localStorage.TinyURL + \":\" + _port;\r\n }\r\n }\r\n var link = \"\";\r\n const protocol = window.location.protocol;\r\n const attachPath = attachData.attach_path\r\n ? attachData.attach_path.charAt(0) !== \"/\"\r\n ? \"/\" + attachData.attach_path\r\n : attachData.attach_path\r\n : \"\";\r\n const splitPath =\r\n attachData.attach_path.split(\"/\") || [];\r\n console.log(_sharepointSiteURL, \"att=>\");\r\n const cannotDownloadPdfAppSetting =\r\n await CannotDowLoadPDFDefaultConfiguration();\r\n if (!_sharepointSiteURL) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log(\"att=>!_sharepointSiteURL\", {\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n //_sharepointSiteURL\r\n else {\r\n const rootPath = splitPath[5] || \"\";\r\n const docPath = splitPath[6] || \"\";\r\n const fullName = splitPath[7] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = attachPath;\r\n\r\n link =\r\n attachPath.charAt(0) === \"/\"\r\n ? attachPath.substring(1)\r\n : attachPath;\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {attachData.attach_file}\r\n \r\n \r\n
\r\n
\r\n

{attachData.description}

\r\n
\r\n\r\n
\r\n

\r\n {userData.Lang === \"EN\"\r\n ? attachData.actor.NameEn\r\n : attachData.actor.NameTh}\r\n

\r\n
\r\n
\r\n {attachData?.attach_file\r\n .toLowerCase()\r\n .endsWith(\"pdf\") ? (\r\n
\r\n e.name === attachData.attach_file\r\n )?.seq\r\n }\r\n size=\"small\"\r\n >\r\n {\r\n let _listAttach = listFileAttachDetails;\r\n _listAttach[idx].is_merge_pdf = e.checked;\r\n _listAttach[idx].modified_date = moment(\r\n new Date()\r\n ).format(\"DD/MM/YYYY HH:mm:ss\");\r\n setListFileAttachDetails([..._listAttach]);\r\n handleCheckboxChange(\r\n e,\r\n attachData.attach_file\r\n );\r\n }}\r\n checked={\r\n listFileAttachDetails[idx].is_merge_pdf\r\n }\r\n >\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {canEditDoc ? (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(attachData.description);\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n ) : (\r\n listFormNames.ApproverCanEdit === false &&\r\n userData.EmployeeId === attachData.actor.EmployeeId && (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(\r\n attachData.description\r\n );\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n )\r\n )}\r\n
\r\n ))}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AttachmentComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { AiOutlineApartment, AiOutlineHistory } from \"react-icons/ai\";\r\nimport { BsPerson } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n requestData?: any\r\n}\r\nconst RequestSideBarElement = (props: Props) => {\r\n const [sidebar, setSidebar] = useState([]);\r\n const [sidebarM, setSidebarM] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"Requestor\")!}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"information\")!}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"lineApprovals\")!}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"attachment\")!}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataResponsive = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={1}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n title={\"\"}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={3}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={4}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n } \r\n />\r\n \r\n ),\r\n },\r\n ];\r\n if (props.workList !== undefined && props.workList !== 0) {\r\n SideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"history\")!}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n SideBarDataResponsive.push({\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n title={\"\"}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n }\r\n setSidebar([...SideBarData]);\r\n setSidebarM([...SideBarDataResponsive]);\r\n }, [props.workList, props.curPage, t]);\r\n\r\n return (\r\n <>\r\n
\r\n {sidebar.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n
\r\n {sidebarM.map((data, idx) => (\r\n
\r\n {data.component}\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default RequestSideBarElement;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n type: string;\r\n // onUpdate: (\r\n // data: any,\r\n // comment?: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => any;\r\n pageName: string;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n buttonType: any;\r\n setButtonType: any;\r\n setSelectedView: any;\r\n setCurPage: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoSingleButton = (props: Props) => {\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n {props.type === \"submit\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Submit\")}

\r\n \r\n )}\r\n {props.type === \"draft\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"draft\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n )}\r\n {commentStatus === true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useRef, useState, useEffect, useMemo } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\n\r\nimport { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport \"./index.css\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\n// import { MemoButtonetcComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CoreControllerComponent } from \"../../components/RequestComponents/CoreControllerComponent/CoreControllerComponent\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IListApprovalDetailsModel } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IActorModel } from \"../../IRequestModel/IActorModel\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { on } from \"events\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n GetRefDocTemp,\r\n} from \"../../Services/MemoService\";\r\n\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n} from \"../../Services/TemplateService\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\n\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { json } from \"stream/consumers\";\r\nimport {\r\n GetAutoNumber,\r\n GetSaveRunningNumber,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetMemoAuthorized } from \"../../Services/AuthorizedService\";\r\nimport {\r\n GetLeaveTemplate,\r\n GetLeaveTemplateByEmpId,\r\n GetMasterDataFieldInfo,\r\n GetSignature,\r\n} from \"../../Services/MasterDataService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetApprovalByTemplate } from \"../../Services/ApprovalService\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\n\r\ninterface Props {}\r\n\r\nexport const RequestScreen = (props: Props) => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [templateId, setTtemplateId] = useState();\r\n const [memoId, setMemoId] = useState();\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [selectedView, setSelectedView] = useState(\"2\");\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [curPage, setCurPage] = useState(\"2\");\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [listFormNameState, setListFormNameState] = useState();\r\n const location = useLocation();\r\n const [isSetCanEdit, setIsSetCanEdit] = useState(false);\r\n // const query = new URLSearchParams(useLocation().search);\r\n const [templateTree, setTemplateTree] = useState({});\r\n const [check, setCheck] = useState(\"\");\r\n const [requestDetail, setRequestDetail] = useState();\r\n const [imgLoading, setImgLoading] = useState(null);\r\n const [errorResult, setErrorResult] = useState([]);\r\n const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n const [errorTable, setErrorTable] = useState([]);\r\n const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n const [showControl, setShowControl] = useState([]);\r\n const [isActionPdf, setIsActionPdf] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState(\"\");\r\n const [isTextFromValue, setIsTextFromValue] = useState();\r\n const [isCopyValue, setIsCopyValue] = useState(false);\r\n const [isShowPdfButton, setIsShowPdfButton] = useState(true);\r\n const [requestorId, setRequestorId] = useState();\r\n const [checkTypeLeave, setCheckTypeLeave] = useState(false);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [listLogicData, setListLogicData] = useState([]);\r\n const [onLoadLineApprove, setOnLoadLineApprove] = useState(false);\r\n\r\n const [previewTemplate, setPreviewTemplate] = useState(false);\r\n const [isHideProject, setIsHideProject] = useState(false);\r\n const [branchFromADTitle, setBranchFromADTitle] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [activeADTitleToPosition, setActiveADTitleToPosition] = useState();\r\n const [isActiveADTitleToPosition, setIsActiveADTitleToPosition] =\r\n useState(false);\r\n const toast = useRef(null);\r\n const { search } = useLocation();\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n var userData = respone.employeeData;\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttibute, setRefAttibute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n let history = useHistory();\r\n let memoPageModel: IMemoPageModel = {\r\n listApprovalDetails: [],\r\n listFormName: [],\r\n listFileAttachDetails: [],\r\n listHistoryDetails: [],\r\n listControlRunning: [],\r\n listRefDocDetails: [],\r\n // HistoryView: [],\r\n // listActionButtonDetails: [],\r\n // listCompany: [],\r\n // listLogic: [],\r\n // listLogicloaddata: null,\r\n // listProject: [],\r\n // listSignatureWording: [],\r\n memoDetail: {\r\n GroupTemplateName: \"\",\r\n actor: userData,\r\n TemplateApproveId: \"\",\r\n requestor: userData,\r\n amount: \"\",\r\n memoid: 0,\r\n\r\n approver_can_edit: false,\r\n auto_approve: false,\r\n auto_approve_when: \"\",\r\n comment: \"\",\r\n company_id: 0,\r\n company_name: \"\",\r\n costcenter: \"\",\r\n created_by: \"\",\r\n created_date: \"\",\r\n creator: userData,\r\n current_approval_level: 0,\r\n department_id: 0,\r\n document_library: \"\",\r\n document_no: \"\",\r\n document_set: \"\",\r\n is_editable: false,\r\n is_public: false,\r\n is_text_form: false,\r\n last_action_by: \"\",\r\n last_status_id: 0,\r\n last_status_name: \"\",\r\n location: \"\",\r\n modified_by: \"\",\r\n modified_date: \"\",\r\n pass: \"\",\r\n project: \"\",\r\n project_id: 0,\r\n report_lang: \"\",\r\n request_date: \"\",\r\n status_id: 0,\r\n status: \"\",\r\n subject: \"\",\r\n template_code: \"\",\r\n template_desc: \"\",\r\n template_detail: \"\",\r\n template_id: 0,\r\n template_name: \"\",\r\n to: \"\",\r\n waiting_for: \"\",\r\n waiting_for_id: 0,\r\n copyInformation: \"N\",\r\n },\r\n };\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n useEffect(() => {\r\n setImgLoading(LogoLoading);\r\n fetchMasterData();\r\n fetchEmployee();\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n requestDetail?.memoDetail?.amount &&\r\n requestDetail?.memoDetail?.amount !== \"0.00\" &&\r\n requestDetail?.memoDetail?.memoid === 0\r\n ) {\r\n fetchLineApproveWithSummary();\r\n }\r\n }, [requestDetail?.memoDetail?.amount]);\r\n\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n setShowControl([]);\r\n\r\n queryData();\r\n }, [query]);\r\n const fetchLineApproveWithSummary = async () => {\r\n const dataJson = {\r\n templateForm: requestDetail?.listFormName[0],\r\n lstTRNLineApprove: [],\r\n VEmployee: userData,\r\n Amount: requestDetail?.memoDetail?.amount,\r\n };\r\n\r\n let responeAprovaWithTemplate = await GetApprovalByTemplate(dataJson);\r\n\r\n let newData: IListApprovalDetailsModel[] = [];\r\n if (responeAprovaWithTemplate.length > 0) {\r\n newData = responeAprovaWithTemplate;\r\n } else {\r\n newData = requestDetail?.listApprovalDetails!;\r\n }\r\n };\r\n async function queryData() {\r\n let _templateId: any;\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n _templateId = await fetchTemplateDocTypeCode(query.get(\"DocTypeCode\"));\r\n console.log(\"_templateid\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n console.log(\"_templateid2\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n let memoid = Number(query.get(\"MemoID\"));\r\n\r\n onCheckPermission(memoid);\r\n setMemoId(memoid);\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n setIsCopyValue(true);\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n setPreviewTemplate(true);\r\n }\r\n }\r\n const onCheckPermission = async (memoid: any) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n console.log(\"responseCheck\", request);\r\n\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"responseCheck\", response);\r\n };\r\n useEffect(() => {\r\n if (memoId !== undefined) {\r\n let templateCode: any = \"\";\r\n setOnLoading(true);\r\n fetchTemplate().then(async (_listFormName) => {\r\n setListFormNameState(_listFormName);\r\n let _memoPageModel: any = memoPageModel;\r\n _memoPageModel.listFormName = [_listFormName];\r\n setIsSetCanEdit(false);\r\n setRequestorId(memoPageModel.memoDetail.requestor.EmployeeId);\r\n // if (_memoPageModel.listFormName[0] === null) {\r\n // window.location.href = \"/UnAuthorize\";\r\n // console.log(_memoPageModel, \"_memoPageModel\");\r\n // }\r\n if (memoId === 0) {\r\n setIsInitialLogic(false);\r\n\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _template: any = await GetTemplateById(dataJson);\r\n await onLoadLogic(templateId);\r\n if (!_template) {\r\n return;\r\n }\r\n console.log(dataJson, \"_templateid\");\r\n console.log(_template, \"_templateid\");\r\n let empid: any = userData.EmployeeId;\r\n\r\n console.log(\"_respone_respone\", _respone);\r\n const emp_authorize: any =\r\n _template?.SpecificEmployeeId?.length > 0\r\n ? _template?.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template?.SpecificRoleID?.length > 0\r\n ? _template?.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize =\r\n emp_authorize.length > 0 || role_authorize.length > 0\r\n ? false\r\n : true;\r\n let isRoleAuthorize =\r\n role_authorize.length > 0 || emp_authorize.length > 0\r\n ? false\r\n : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId && !role.IsDelete) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n roles,\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"_memoPageModel\", _memoPageModel);\r\n _memoPageModel.memoDetail.status =\r\n previewTemplate === true ? \"New Request\" : \"\";\r\n\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setCheck(\"add\");\r\n setErrorResult([]);\r\n setRequestDetail(_memoPageModel);\r\n setTemplateTree(_memoPageModel.listFormName[0]);\r\n setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // if (previewTemplate) {\r\n // var editDataMemoDetail = _memoPageModel.memoDetail;\r\n // editDataMemoDetail.memoid = 0;\r\n // editDataMemoDetail.status = \"New Request\";\r\n // editDataMemoDetail.document_no = \"Auto Generate\";\r\n // editDataMemoDetail.copyInformation = \"Y\";\r\n\r\n // console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: editDataMemoDetail,\r\n // }));\r\n // }\r\n\r\n templateCode = _memoPageModel.listFormName[0].DocumentCode;\r\n replaceTitleInfo(_memoPageModel, \"add\");\r\n } else if (memoId !== 0) {\r\n setIsInitialLogic(true);\r\n\r\n var _respone: any = await fechMemoDetail();\r\n let empid: any = userData.EmployeeId;\r\n const dataJson = {\r\n TemplateId: _respone.memoDetail.template_id,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n let _template: any = await GetTemplateById(dataJson);\r\n console.log(\"ddddddddddddddddddddddddddddddddddddd\", _template);\r\n await onLoadLogic(_respone.memoDetail.template_id);\r\n setListFormNameState(_template);\r\n const emp_authorize: any =\r\n _template.SpecificEmployeeId !== undefined &&\r\n _template.SpecificEmployeeId !== null &&\r\n _template.SpecificEmployeeId?.length > 0\r\n ? _template.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template.SpecificRoleID !== undefined &&\r\n _template.SpecificRoleID !== null &&\r\n _template.SpecificRoleID?.length > 0\r\n ? _template.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize = emp_authorize.length > 0 ? false : true;\r\n let isRoleAuthorize = role_authorize.length > 0 ? false : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n\r\n fechMemoButton();\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setErrorResult([]);\r\n _respone[\"listFormName\"] = [_template];\r\n _respone[\"listControlRunning\"] = [];\r\n templateCode = _respone.memoDetail.template_code;\r\n\r\n if (_respone.memoDetail.Permission !== null) {\r\n const permission: any = _respone.memoDetail.Permission;\r\n if (permission.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (permission.Print === \"F\") {\r\n setIsShowPdfButton(false);\r\n }\r\n }\r\n console.log(\"_respone_respone_respone_respone_respone\", _respone);\r\n // setRequestDetail(_respone);\r\n\r\n if (isCopyValue) {\r\n setCheck(\"add\");\r\n var editDataMemoDetail = _respone.memoDetail;\r\n editDataMemoDetail.memoid = 0;\r\n editDataMemoDetail.status = \"New Request\";\r\n editDataMemoDetail.document_no = \"Auto Generate\";\r\n editDataMemoDetail.copyInformation = \"Y\";\r\n editDataMemoDetail.creator = empData.employeeData;\r\n editDataMemoDetail.requestor = empData.employeeData;\r\n console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: editDataMemoDetail,\r\n listHistoryDetails: [],\r\n listFileAttachDetails: _respone.listFileAttachDetails,\r\n listApprovalDetails: _respone.listApprovalDetails,\r\n listRefDocDetails: _respone.listRefDocDetails,\r\n listFormName: _respone.listFormName,\r\n listControlRunning: _respone.listControlRunning,\r\n }));\r\n } else if (!isCopyValue) {\r\n setRequestDetail(_respone);\r\n setCheck(\"edit\");\r\n replaceTitleInfo(_respone, \"edit\");\r\n }\r\n }\r\n checkLeaveRequestTemplate(templateCode);\r\n });\r\n }\r\n }, [memoId, templateId]);\r\n\r\n useEffect(() => {\r\n if (\r\n requestDetail?.listFormName[0] !== undefined &&\r\n requestDetail?.listFormName[0] !== null\r\n ) {\r\n checkRefTemplate(requestDetail?.listFormName[0]);\r\n }\r\n }, [requestDetail?.listFormName]);\r\n\r\n async function checkRefTemplate(_template: any) {\r\n const temp = _template;\r\n try {\r\n if (temp !== undefined && temp !== null) {\r\n if (temp?.RefDocDisplay !== null) {\r\n console.log(\"ref=>temp\", temp);\r\n let _refDoc: any[] = [];\r\n const dataRequest = {\r\n template_ID: temp?.TemplateId,\r\n ConnectionString: \"\",\r\n UserPrincipalName: \"\",\r\n };\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n let refDoc = await GetRefDocTemp(dataRequest);\r\n console.log(\"ref=>refDoc\", refDoc);\r\n refDoc.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.MAdvancveForm);\r\n refTemp.items.map((col: any) => {\r\n col.layout.map((_layout: any) => {\r\n if (_layout.template.label === display[2]) {\r\n if (\r\n _layout.data.value !== null &&\r\n _layout.data.value !== \"\"\r\n ) {\r\n ref[display[2]] = _layout.data.value;\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n console.log(\"ref=>display\", display);\r\n\r\n let refObject: any = {\r\n option: _refDoc,\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel: display[2],\r\n };\r\n\r\n if (memoPageModel?.listRefDocDetails?.length > 0) {\r\n const refDocsDetail = memoPageModel?.listRefDocDetails;\r\n const results = refObject.option.filter((refDoc: any) =>\r\n refDocsDetail.some(\r\n (docDetail: any) => docDetail.doc_no === refDoc.DocumentNo\r\n )\r\n );\r\n setRefTempSelected(results);\r\n }\r\n setSearchRefDocData([..._refDoc]);\r\n setRefAttibute(refObject);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttibute(undefined);\r\n }\r\n }\r\n setOnLoading(false);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n setOnLoading(false);\r\n }\r\n }\r\n\r\n async function replaceTitleInfo(respone: any, action: any) {\r\n console.log(respone, \"ADTitleConfiguration/\");\r\n console.log(action, \"ADTitleConfiguration/\");\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n if (action === \"add\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n } else if (action === \"edit\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n }\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle.activeADTitleToPosition.toLowerCase() === \"true\") {\r\n if (respone?.memoDetail?.requestor.ADTitle) {\r\n setIsActiveADTitleToPosition(true);\r\n }\r\n }\r\n var _respone = await GetMasterDataFieldInfo();\r\n console.log(_respone, \"_respone\");\r\n if (_respone.length > 0) {\r\n if (_respone[0].Value4?.toLowerCase() === \"true\") {\r\n if (_respone[0]?.Value3) {\r\n setIsHideProject(true);\r\n const _display = _respone[0].Value1.split(\"|\");\r\n const _dataReplace = _respone[0].Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n async function checkLeaveRequestTemplate(templateCode: string) {\r\n var respone = await GetLeaveTemplate();\r\n let _leaveTemplate: any = respone;\r\n if (_leaveTemplate) {\r\n for (let index = 0; index < _leaveTemplate.length; index++) {\r\n if (_leaveTemplate[index].Value1 === templateCode) {\r\n setCheckTypeLeave(true);\r\n } else {\r\n setCheckTypeLeave(false);\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n async function fetchLeaveTemplate() {\r\n console.log(checkTypeLeave, \"checkTypeLeave\");\r\n console.log(requestorId, \"requestorId\");\r\n if (checkTypeLeave) {\r\n var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n console.log(_responeData, \"_responeData\");\r\n setLeaveTypeTable(_responeData);\r\n } else {\r\n setLeaveTypeTable([]);\r\n }\r\n }\r\n fetchLeaveTemplate();\r\n }, [requestorId, checkTypeLeave]);\r\n\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n const fetchTemplate = async () => {\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n console.log(_templateIdListFormName, \"_memoPageModel\");\r\n console.log(memoId, \"_memoPageModel\");\r\n checkRefTemplate(_templateIdListFormName);\r\n if (_templateIdListFormName === null && memoId === 0) {\r\n history.push(\"/UnAuthorize\");\r\n return;\r\n }\r\n return _templateIdListFormName;\r\n };\r\n async function fetchTemplateDocTypeCode(DocumentCode: any) {\r\n let _data = await GetTemplateByDocTypeCode({\r\n DocumentCode: DocumentCode,\r\n });\r\n\r\n if (_data) {\r\n return _data.TemplateId;\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n }\r\n\r\n async function fetchMasterData() {\r\n let options: any[] = [];\r\n let signatrue = await GetSignature();\r\n signatrue.map((s: any) => {\r\n options.push({ id: s.masterId, value1: s.value1, value2: s.value2 });\r\n });\r\n setSinatureOptions([...options]);\r\n }\r\n\r\n const fechMemoDetail = async () => {\r\n setOnLoading(true);\r\n const requestBody = {\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n actor: userData,\r\n };\r\n let _respone = await GetMemoDetailById(requestBody);\r\n setIsTextFromValue(_respone.memoDetail.is_text_form);\r\n setTextFromValue(_respone.memoDetail.template_desc);\r\n return _respone;\r\n };\r\n\r\n async function fetchEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n function setSummary(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n amount: respone,\r\n },\r\n }));\r\n }\r\n function setRequestor(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n requestor: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n function setCreator(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n creator: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n\r\n function setInformation(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n template_desc: respone,\r\n },\r\n }));\r\n }\r\n function setInformationTemplate_Desc(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n ...respone,\r\n },\r\n }));\r\n }\r\n\r\n function setListFormName(respone: IListFormNameModel) {\r\n let _listFormName: IListFormNameModel = respone;\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFormName: [_listFormName],\r\n }));\r\n }\r\n function setListRefDocsDetail(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listRefDocDetails: respone,\r\n }));\r\n }\r\n function setLineApprove(respone: any) {\r\n console.log(\"ddddddddddddereline\", respone);\r\n\r\n respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...respone],\r\n }));\r\n }\r\n function setFileAttach(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFileAttachDetails: [...respone],\r\n }));\r\n }\r\n\r\n function getRequestor() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getInformation() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getLineApprove() {\r\n return requestDetail?.listApprovalDetails;\r\n }\r\n function getFileAttach() {\r\n return requestDetail;\r\n }\r\n function getHistory() {\r\n return requestDetail?.listHistoryDetails;\r\n }\r\n function getTemplateTree() {\r\n return templateTree;\r\n }\r\n\r\n const fechMemoButton = async () => {\r\n setOnLoading(true);\r\n let _memoId: any = memoId;\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: empData.employeeData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = _dataDynamic.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n };\r\n const actionNavContent = () => {\r\n return (\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n
\r\n );\r\n };\r\n const fechMemoButtonDefault = () => {\r\n if (previewTemplate === false) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n };\r\n const onSelectView = (text: string) => {\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n function toggleDialog() {\r\n setVisibleComfirm(!visibleComfirm);\r\n }\r\n\r\n const onUpdateMemo = async (\r\n type: string,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n setOnLoading(true);\r\n let _requestDetail: any = requestDetail;\r\n let error_result: any[] = [];\r\n let error_table: any[] = [];\r\n let ess_: any = [];\r\n console.log(_requestDetail, \"_requestDetail\");\r\n _requestDetail.memoDetail.actor = userData;\r\n if (_requestDetail.memoDetail.memoid === undefined) {\r\n _requestDetail.memoDetail.memoid = 0;\r\n }\r\n if (comment) {\r\n _requestDetail.memoDetail.comment = comment;\r\n if (waiting_for != undefined || waiting_for_id != undefined) {\r\n _requestDetail.memoDetail.waiting_for = waiting_for;\r\n _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n }\r\n }\r\n if (_requestDetail.listFormName[0]) {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === true) {\r\n _requestDetail.memoDetail.is_text_form = true;\r\n _requestDetail.memoDetail.template_desc = textFromValue;\r\n }\r\n }\r\n if (type === \"draft\" || type === \"cancel\") {\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (\r\n _requestDetail.memoDetail.subject === undefined ||\r\n _requestDetail.memoDetail.subject === null ||\r\n _requestDetail.memoDetail.subject.length === 0\r\n ) {\r\n ess_.push(\"Subject\");\r\n }\r\n if (ess_.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n console.log(\"_requestDetail\", _requestDetail);\r\n\r\n let _dataDynamic = await ActionMemoPage(dataJson);\r\n var checkAction: boolean = false;\r\n if (_dataDynamic.includes(\"done\")) {\r\n checkAction = true;\r\n }\r\n if (checkAction && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _dataDynamic,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: checkAction,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(!isActionPdf);\r\n\r\n setOnLoading(false);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `${_dataDynamic}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n } else {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === false) {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"l\") {\r\n }\r\n\r\n if (_template.template.type === \"c\") {\r\n }\r\n\r\n if (_template.template.type === \"cb\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.value === null ||\r\n _template.data.value.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (_template.template.type === \"bt\") {\r\n }\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\" || type === \"submit\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n if (_template.template.type === \"tb\") {\r\n const column = _template.template.attribute.column;\r\n // let error_table: any = [];\r\n let isTableRequire = false;\r\n for (let i = 0; i < column.length; i++) {\r\n const _column = column[i];\r\n if (_column.control.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.row !== null &&\r\n _template.data.row.length !== 0\r\n ) {\r\n for (let j = 0; j < _template.data.row.length; j++) {\r\n const _row = _template.data.row[j][i];\r\n if (_row.value !== undefined) {\r\n if (_row.value === null || _row.value === \"\") {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else if (Number(_row.value) === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else {\r\n if (\r\n _column.control.template.attribute.items !==\r\n undefined\r\n ) {\r\n if (\r\n _row.value ===\r\n _column.control.template.attribute?.items[0].item\r\n ) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n if (_row.item !== undefined) {\r\n if (_row.item === null || _row.item === \"\") {\r\n if (_row.item.length === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n isTableRequire = true;\r\n }\r\n }\r\n }\r\n if (isTableRequire) {\r\n if (\r\n _template.data.row === null ||\r\n _template.data.row.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"ed\") {\r\n }\r\n if (_template.template.type === \"at\") {\r\n }\r\n if (\r\n _template.template.type === \"t\" ||\r\n _template.template.type === \"ta\" ||\r\n _template.template.type === \"d\" ||\r\n _template.template.type === \"r\"\r\n ) {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n if (_template.data.value !== null) {\r\n if (_template.data.value.length === 0) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"dd\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n\r\n if (_template.data.value !== null) {\r\n if (\r\n _template.data.value.length === 0 ||\r\n _template.data.value === \"--select--\"\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (_requestDetail.memoDetail.subject === \"\") {\r\n ess_.push(\"Subject\");\r\n }\r\n if (_requestDetail.listApprovalDetails.length <= 0) {\r\n ess_.push(\"Line Approve\");\r\n }\r\n if (ess_.length > 0) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else if (error_result.length === 0 && error_table.length === 0) {\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n let _respone = await ActionMemoPage(dataJson);\r\n if (_respone && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(true);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `Please fill in all required fields. ${error_result.map(\r\n (_errpr) => _errpr.label\r\n )}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n setErrorTable([...error_table]);\r\n setErrorResult([...error_result]);\r\n console.log(_requestDetail, \"_requestDetail\");\r\n };\r\n\r\n return (\r\n {\r\n console.log(requestDetail);\r\n }}\r\n >\r\n \r\n {onLoading && (\r\n console.log(onLoading, onLoadLineApprove)}\r\n >\r\n \"loading...\"\r\n \r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n {check == \"edit\" && (\r\n <>\r\n {/* {isActionPdf === false && isShowPdfButton && (\r\n \r\n )}\r\n {isActionPdf === true && isShowPdfButton && (\r\n \r\n )} */}\r\n \r\n )}\r\n
\r\n
\r\n\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n {check === \"add\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n
\r\n )}\r\n {check === \"edit\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {selectedView === \"5\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n} from \"../../Services/MemoService\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport RequestSideBarElement from \"../Request/RequestSideBarElement\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\n\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport { GetTemplateById } from \"../../Services/TemplateService\";\r\nimport { RequestScreen } from \"../Request/RequestScreen\";\r\ninterface Props {\r\n // copyFunction: (respone: any) => void;\r\n copyMemo?: any;\r\n}\r\n\r\nexport const PreviewTemplateScreen = (props: Props) => {\r\n return ;\r\n // const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n // const [templateId, setTtemplateId] = useState();\r\n // const [memoId, setMemoId] = useState();\r\n // const [sidebarState, setSidebarState] = useState(true);\r\n // const [selectedView, setSelectedView] = useState(\"2\");\r\n // const [menuButton, setMenuButton] = useState([]);\r\n // const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n // const [curPage, setCurPage] = useState(\"2\");\r\n // const [onLoading, setOnLoading] = useState(false);\r\n // const [isLoading, setIsLoading] = useState(false);\r\n // const location = useLocation();\r\n // const query = new URLSearchParams(useLocation().search);\r\n // const [templateTree, setTemplateTree] = useState({});\r\n // const [check, setCheck] = useState(\"\");\r\n // const [requestDetail, setRequestDetail] = useState();\r\n // const [imgLoading, setImgLoading] = useState(null);\r\n // const [errorResult, setErrorResult] = useState([]);\r\n // const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n // const [errorTable, setErrorTable] = useState([]);\r\n // const toast = useRef(null);\r\n // const [showControl, setShowControl] = useState([]);\r\n // const [textFromValue, setTextFromValue] = useState(\"\");\r\n // var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n // const [isTextFromValue, setIsTextFromValue] = useState();\r\n // var userData = respone.employeeData;\r\n // let history = useHistory();\r\n // const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n // let memoPageModel: IMemoPageModel = {\r\n // listApprovalDetails: [],\r\n // listFormName: [],\r\n // listFileAttachDetails: [],\r\n // listHistoryDetails: [],\r\n // memoDetail: {\r\n // GroupTemplateName: \"\",\r\n // actor: userData,\r\n // requestor: userData,\r\n // amount: \"\",\r\n // memoid: 0,\r\n\r\n // approver_can_edit: false,\r\n // auto_approve: false,\r\n // auto_approve_when: \"\",\r\n // comment: \"\",\r\n // company_id: 0,\r\n // company_name: \"\",\r\n // costcenter: \"\",\r\n // created_by: \"\",\r\n // created_date: \"\",\r\n // creator: userData,\r\n // current_approval_level: 0,\r\n // department_id: 0,\r\n // document_library: \"\",\r\n // document_no: \"\",\r\n // document_set: \"\",\r\n // is_editable: false,\r\n // is_public: false,\r\n // is_text_form: false,\r\n // last_action_by: \"\",\r\n // last_status_id: 0,\r\n // last_status_name: \"\",\r\n // location: \"\",\r\n // modified_by: \"\",\r\n // modified_date: \"\",\r\n // pass: \"\",\r\n // project: \"\",\r\n // project_id: 0,\r\n // report_lang: \"\",\r\n // request_date: \"\",\r\n // status_id: 0,\r\n // status: \"\",\r\n // subject: \"\",\r\n // template_code: \"\",\r\n // template_desc: \"\",\r\n // template_detail: \"\",\r\n // template_id: 0,\r\n // template_name: \"\",\r\n // to: \"\",\r\n // // toId:0,\r\n // waiting_for: \"\",\r\n // waiting_for_id: 0,\r\n // copyInformation: \"N\",\r\n // },\r\n // };\r\n // useEffect(() => {\r\n // async function fetchLeaveTemplate() {\r\n // console.log(checkTypeLeave, \"checkTypeLeave\");\r\n\r\n // if (checkTypeLeave) {\r\n // var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n // console.log(_responeData, \"_responeData\");\r\n // setLeaveTypeTable(_responeData);\r\n // } else {\r\n // setLeaveTypeTable([]);\r\n // }\r\n // }\r\n // fetchLeaveTemplate();\r\n // }, [requestorId, checkTypeLeave]);\r\n // function toggleSideBar() {\r\n // if (sidebarState) {\r\n // setSidebarState(false);\r\n // } else {\r\n // setSidebarState(true);\r\n // }\r\n // }\r\n // useEffect(() => {\r\n // setImgLoading(LogoLoading);\r\n // }, []);\r\n // useEffect(() => {\r\n // if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n // let memoid = Number(query.get(\"MemoID\"));\r\n // setMemoId(memoid);\r\n // }\r\n // if (query.get(\"template\") !== undefined && query.get(\"template\") !== null) {\r\n // let templateid = Number(query.get(\"template\"));\r\n // setTtemplateId(templateid);\r\n // }\r\n // }, [query]);\r\n // useEffect(() => {\r\n // if (memoId !== undefined) {\r\n // fetchTemplate().then((_listFormName) => {\r\n // let _memoPageModel = memoPageModel;\r\n // _memoPageModel.listFormName = [_listFormName];\r\n // if (memoId !== 0) {\r\n // fechMemoDetail();\r\n // fechMemoButton();\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // }\r\n // if (memoId === 0) {\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setCheck(\"add\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // setTemplateTree(_memoPageModel.listFormName[0]);\r\n // setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n\r\n // setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // }\r\n // });\r\n // }\r\n // }, [memoId, templateId]);\r\n\r\n // const fetchTemplate = async () => {\r\n // const dataJson = {\r\n // TemplateId: templateId,\r\n // };\r\n // let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n // // console.log(\"_templateIdListFormName\", _templateIdListFormName);\r\n\r\n // return _templateIdListFormName;\r\n // };\r\n // const fechMemoDetail = async () => {\r\n // setOnLoading(true);\r\n // const requestBody = {\r\n // Memoid: memoId,\r\n // SecretId: \"\",\r\n // EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n // };\r\n // let _respone = await GetMemoDetailById(requestBody);\r\n // //\"Completed\"\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: _respone.memoDetail,\r\n // listHistoryDetails: _respone.listHistoryDetails,\r\n // listFileAttachDetails: _respone.listFileAttachDetails,\r\n // listApprovalDetails: _respone.listApprovalDetails,\r\n // }));\r\n // setCheck(\"edit\");\r\n // setOnLoading(false);\r\n // };\r\n\r\n // function setSummary(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // amount: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setRequestor(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // requestor: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n // function setCreator(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // creator: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setInformation(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // template_desc: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setInformationTemplate_Desc(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // ...respone,\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setListFormName(respone: IListFormNameModel) {\r\n // let _listFormName: IListFormNameModel = respone;\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFormName: [_listFormName],\r\n // }));\r\n // }\r\n\r\n // function setLineApprove(respone: any) {\r\n // respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listApprovalDetails: [...respone],\r\n // }));\r\n // }\r\n // function setFileAttach(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFileAttachDetails: [...respone],\r\n // }));\r\n // }\r\n\r\n // function getRequestor() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getInformation() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getLineAprove() {\r\n // return requestDetail?.listApprovalDetails;\r\n // }\r\n // function getFileAttach() {\r\n // return requestDetail;\r\n // }\r\n // function getHistory() {\r\n // return requestDetail?.listHistoryDetails;\r\n // }\r\n // function getTemplateTree() {\r\n // return templateTree;\r\n // }\r\n // function setListActionButtonDetails(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // // fetch(\"/api/Company/companyWithName\")\r\n // // .then((response) => response.json())\r\n // // .then((data) => {\r\n // // console.log(\"compa\", data);\r\n // // setRequestDetail((prevState: any) => ({\r\n // // ...prevState,\r\n // // listActionButtonDetails: respone,\r\n // // listCompany: data,\r\n // // }));\r\n // // });\r\n // }\r\n // const fechMemoButton = async () => {\r\n // setOnLoading(true);\r\n // let _memoId: any = memoId;\r\n // let memoButton: IMemoButtonModel = {\r\n // actor: {\r\n // EmployeeId: empData.employeeData.EmployeeId,\r\n // },\r\n // memoid: _memoId,\r\n // };\r\n // let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n // const menuButtonSort = _dataDynamic.sort(\r\n // (x: any, y: any) => x.sequence - y.sequence\r\n // );\r\n // setListActionButtonDetails(_dataDynamic);\r\n // setMenuButton(menuButtonSort);\r\n // };\r\n // const actionNavContent = () => {\r\n // return (\r\n //
\r\n // {check == \"edit\" && (\r\n // null}\r\n // onUpdate={onUpdateMemo}\r\n // pageName={\"Request\"}\r\n // />\r\n // )}\r\n // {check == \"add\" && fechMemoButtonDefault()}\r\n //
\r\n // );\r\n // };\r\n // function setListRefDocsDetail(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listRefDocDetails: respone,\r\n // }));\r\n // }\r\n // const fechMemoButtonDefault = () => {};\r\n // const onSelectView = (text: string) => {\r\n // setCurPage(text);\r\n // setSelectedView(text);\r\n // };\r\n // const onUpdateMemo = async (\r\n // type: string,\r\n // comment: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => {\r\n // setOnLoading(true);\r\n // let _requestDetail: any = requestDetail;\r\n\r\n // let error_result: any[] = [];\r\n // let error_table: any[] = [];\r\n // let ess_: any = [];\r\n // const _template_desc: any = JSON.parse(\r\n // _requestDetail.memoDetail.template_desc\r\n // );\r\n\r\n // _requestDetail.memoDetail.actor = userData;\r\n // if (_requestDetail.memoDetail.memoid === undefined) {\r\n // _requestDetail.memoDetail.memoid = 0;\r\n // }\r\n // if (comment !== undefined) {\r\n // if (comment.length > 0) {\r\n // _requestDetail.memoDetail.comment = comment;\r\n // if (waiting_for != undefined || waiting_for_id != undefined) {\r\n // _requestDetail.memoDetail.waiting_for = waiting_for;\r\n // _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n // }\r\n // }\r\n // }\r\n // if (type === \"draft\" || type === \"cancel\") {\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (ess_.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _dataDynamic = await ActionMemoPage(dataJson);\r\n\r\n // if (_dataDynamic && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n // } else {\r\n // for (let i = 0; i < _template_desc.items.length; i++) {\r\n // const _layout = _template_desc.items[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // for (let j = 0; j < _layout.length; j++) {\r\n // const _template = _layout[j];\r\n // if (_template.template.type === \"l\") {\r\n // }\r\n // if (_template.template.type === \"c\") {\r\n // }\r\n\r\n // if (_template.template.type === \"cb\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (\r\n // _template.data.value === null ||\r\n // _template.data.value.length === 0\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n\r\n // if (_template.template.type === \"bt\") {\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // const column = _template.template.attribute.column;\r\n // // let error_table: any = [];\r\n\r\n // if (_template.data.row !== null) {\r\n // for (let i = 0; i < column.length; i++) {\r\n // const _column = column[i];\r\n // if (_column.control.template.attribute.require === \"Y\") {\r\n // for (let j = 0; j < _template.data.row.length; j++) {\r\n // const _row = _template.data.row[j][i];\r\n // if (_row.value !== undefined) {\r\n // if (_row.value.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // if (_row.item !== undefined) {\r\n // if (_row.item.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // }\r\n // if (\r\n // _template.template.type === \"t\" ||\r\n // _template.template.type === \"ta\" ||\r\n // _template.template.type === \"d\" ||\r\n // _template.template.type === \"r\"\r\n // ) {\r\n // // if (_template.data.value === null) {\r\n // // }\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // if (_template.data.value !== null) {\r\n // if (_template.data.value.length === 0) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n\r\n // if (_template.data.value !== null) {\r\n // // console.log(\"_template: \", _template);\r\n\r\n // if (\r\n // _template.data.value.length === 0 ||\r\n // _template.data.value === \"--select--\"\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (_requestDetail.listApprovalDetails.length <= 0) {\r\n // ess_.push(\"Line Approve\");\r\n // }\r\n // if (ess_.length > 0) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else if (error_result.length === 0 && error_table.length === 0) {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _respone = await ActionMemoPage(dataJson);\r\n // console.log(\"type\", type);\r\n\r\n // if (_respone && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // }\r\n // } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n\r\n // setErrorTable([...error_table]);\r\n // setErrorResult([...error_result]);\r\n // };\r\n\r\n // return (\r\n // {\r\n // console.log(requestDetail);\r\n // }}\r\n // >\r\n // \r\n\r\n // {onLoading && (\r\n //
\r\n // \"loading...\"\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // }\r\n // size=\"large\"\r\n // onClick={toggleSideBar}\r\n // style={{ background: \"transparent \" }}\r\n // />\r\n // \r\n //
\r\n //
\r\n\r\n // {sidebarState ? (\r\n //
\r\n // \r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n\r\n //
\r\n //
\r\n // {sidebarState ? (\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n // {check == \"add\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n // {check == \"edit\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n //
\r\n // \r\n //
\r\n // \r\n // );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport const LoginGoogle = () => {\r\n // const [user, setUser] = useState(null);\r\n // const [sessionState, setSessionState] = useSessionContext();\r\n // const { googleAuth } = useGoogleAuth();\r\n // const cookies = new Cookies();\r\n // const { currentUser } = useGoogleUser();\r\n // const history = useHistory();\r\n // useEffect(() => {\r\n // console.log(\"user\", user);\r\n // if (!user && googleAuth) {\r\n // // googleAuth?.signIn();\r\n // checkAuth();\r\n // }\r\n // }, [user, googleAuth]);\r\n // const checkAuth = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // setUser(googleAuth?.currentUser.get().getBasicProfile().getName());\r\n // submitGoogle();\r\n // } else {\r\n // console.log(\"dd\", googleAuth?.isSignedIn.get());\r\n // googleAuth?.signIn();\r\n // }\r\n // };\r\n // const submitGoogle = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // const _accounts: any = googleAuth?.currentUser\r\n // .get()\r\n // .getBasicProfile()\r\n // .getEmail();\r\n // await fetch(\"api/Login/GoogleAccount\", {\r\n // method: \"POST\",\r\n // headers: {\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: JSON.stringify({\r\n // username: _accounts,\r\n // }),\r\n // })\r\n // .then((response) => response.json())\r\n // .then((data) => {\r\n // const _loginWolfAccount: any = data;\r\n // console.log(\"datadatadata\", data);\r\n\r\n // if (data) {\r\n // const fav_storage = JSON.parse(\r\n // localStorage.getItem(\"favorite\")\r\n // );\r\n // localStorage.removeItem(\"userData\");\r\n // localStorage.removeItem(\"tinyUrl\");\r\n // cookies.remove(\"GuidVerify\");\r\n // cookies.set(\r\n // \"GuidVerify\",\r\n // googleAuth?.currentUser.get().getAuthResponse().access_token,\r\n // {\r\n // path: \"/\",\r\n // expires: new Date(\r\n // Date.now() +\r\n // googleAuth?.currentUser.get().getAuthResponse().expires_in\r\n // ),\r\n // }\r\n // );\r\n // if (fav_storage !== null) {\r\n // if (fav_storage.length > 0) {\r\n // localStorage.setItem(\r\n // \"favorite\",\r\n // JSON.stringify(fav_storage)\r\n // );\r\n // }\r\n // } else {\r\n // localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n // }\r\n\r\n // localStorage.setItem(\r\n // \"userData\",\r\n // JSON.stringify(_loginWolfAccount)\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeId\",\r\n // _loginWolfAccount.employeeData.EmployeeId\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeCode\",\r\n // _loginWolfAccount.employeeData.EmployeeCode\r\n // );\r\n // localStorage.setItem(\r\n // \"nameEn\",\r\n // _loginWolfAccount.employeeData.NameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"nameTh\",\r\n // _loginWolfAccount.employeeData.NameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"email\",\r\n // _loginWolfAccount.employeeData.Email\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameTh\",\r\n // _loginWolfAccount.employeeData.PositionNameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameEn\",\r\n // _loginWolfAccount.employeeData.PositionNameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentId\",\r\n // _loginWolfAccount.employeeData.DepartmentId\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentNameTh\",\r\n // _loginWolfAccount.employeeData.DepartmentNameEn\r\n // );\r\n // localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n // setSessionState({ ...sessionState, isAuthenticated: true });\r\n // history.push(\"/Default\");\r\n // } else {\r\n // console.log(\"ddddeee\");\r\n // }\r\n // });\r\n // }\r\n // };\r\n // // if (googleAuth?.isSignedIn.get()) {\r\n // // return (\r\n // // <>\r\n // // {\r\n // // console.log(\r\n // // \"googleAuth?.isSignedIn\",\r\n // // googleAuth?.currentUser.get().getBasicProfile().getName()\r\n // // );\r\n // // }}\r\n // // >\r\n // // Welcome user{\" \"}\r\n // // {googleAuth?.currentUser.get().getBasicProfile().getName()}\r\n // //

\r\n // // {\r\n // // console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n // // googleAuth.signOut();\r\n // // setUser(null);\r\n // // location.reload();\r\n // // }}\r\n // // >\r\n // // Sign Out\r\n // // \r\n // // \r\n // // );\r\n // // }\r\n return (\r\n
\r\n {/* {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n }}\r\n >\r\n Click here to sign in:\r\n

\r\n {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn);\r\n\r\n googleAuth?.signIn();\r\n }}\r\n >\r\n Sign In\r\n */}\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiChevronLeft } from \"react-icons/fi\";\r\nimport { useHistory } from \"react-router\";\r\nimport { RegisterWolfAccount } from \"../../Services/AuthorizedService\";\r\ntype Props = { PathLogo: any; responeConfig: any };\r\n\r\nconst RegisterWolfScreen = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n getValues,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n defaultValues: {\r\n email: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n },\r\n });\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [checkLength, setCheckLength] = useState(true);\r\n const [checkEmail, setCheckEmail] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [displayPopup, setDisplayPopup] = useState(false);\r\n const [dataRemark, setDataRemark] = useState(\"\");\r\n const history = useHistory();\r\n\r\n async function onSubmit(data: any) {\r\n setCheckLength(true);\r\n setIsPasswordCompared(true);\r\n setCheckEmail(true);\r\n\r\n var validated = validateEmail(data.email);\r\n if (!validated) {\r\n setCheckEmail(false);\r\n }\r\n if (data.confirm_password.length < 8) {\r\n setCheckLength(false);\r\n return;\r\n } else if (data.confirm_password !== data.new_password) {\r\n setIsPasswordCompared(false);\r\n return;\r\n }\r\n setLoading(true);\r\n const _baseUrl = window.location.hostname;\r\n\r\n var dataRequest = {\r\n Username: data.email,\r\n Password: data.confirm_password,\r\n Note: data.new_password,\r\n // Remark: \"https://qar2.wolfapprove.com\",\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log({\r\n Regis: {\r\n Username: data.email,\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n },\r\n });\r\n\r\n const respone = await RegisterWolfAccount(dataRequest);\r\n if (respone.IsActive) {\r\n var replace = respone.Remark.replaceAll(\"([-EMAIL-])\", data.email);\r\n replace = replace.replaceAll(\"
\", \"\\n\");\r\n setDisplayPopup(true);\r\n setDataRemark(replace);\r\n } else {\r\n if (respone.Remark.includes(\"Your username is duplicate\")) {\r\n setDisplayPopup(true);\r\n setDataRemark(respone.Remark);\r\n }\r\n }\r\n setLoading(false);\r\n }\r\n const validateEmail = (email: any) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n function popupRespone() {\r\n return (\r\n
\r\n \"img\"\r\n
\r\n \r\n

\r\n {dataRemark}\r\n

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n function form() {\r\n return (\r\n <>\r\n
\r\n
\r\n history.push(\"/login\")}\r\n className={\"back-button\"}\r\n />\r\n\r\n \"img\"\r\n\r\n
\r\n

Register / สมัครใช้งาน

\r\n
\r\n
\r\n

Email / อีเมล

\r\n (\r\n \r\n )}\r\n />\r\n {errors.email &&

กรุณากรอกอีเมลใหม่

}\r\n {!checkEmail && (\r\n

รูปแบบอีเมลไม่ถูกต้อง

\r\n )}\r\n
\r\n
\r\n

Password / รหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.new_password && (\r\n

กรุณากรอกรหัสผ่านใหม่

\r\n )}\r\n
\r\n
\r\n

Confirm Password / ยืนยันรหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.confirm_password && isPasswordCompared && (\r\n

กรุณากรอกยืนยันรหัสผ่าน

\r\n )}\r\n {!checkLength && isPasswordCompared && (\r\n

รหัสผ่านอย่างน้อย 8 ตัวอักษร

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {!loading ? (\r\n <>{!displayPopup ? form() : popupRespone()}\r\n ) : (\r\n \"loading...\"\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default RegisterWolfScreen;\r\n","import { Button } from \"primereact/button\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport \"./index.css\";\r\ntype Props = {\r\n canEditDoc: boolean;\r\n refAttribute: any;\r\n refTempSelected: any;\r\n refLoading: boolean;\r\n setRefTempSelected: any;\r\n status: any;\r\n};\r\n\r\nconst TableReferenceComponent = (props: Props) => {\r\n const deleteBodyTemplate = (selected: any) => {\r\n return (\r\n <>\r\n {\r\n props.setRefTempSelected(\r\n props.refTempSelected.filter((_val: any, _idx: number) => {\r\n return selected.MemoId !== _val.MemoId;\r\n })\r\n );\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n function ConvertSelectedtoTable(refTempSelected: any) {\r\n console.log(\"refTempSelected\", refTempSelected, props.refAttribute);\r\n }\r\n useEffect(() => {\r\n ConvertSelectedtoTable(props.refTempSelected);\r\n }, [props.refTempSelected]);\r\n\r\n return (\r\n
\r\n \"row-pointer\"}\r\n onRowClick={(rowData: any) => {\r\n const urlElelement: any = window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n window.open(\r\n `/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttribute?.optionLabel === \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

เลขที่เอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"หมายเลขเอกสาร\" ? (\r\n \r\n \r\n

หมายเลขเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"รหัสเอกสาร\" ? (\r\n \r\n \r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n {props.refAttribute.optionLabel}\r\n

\r\n {/*

รหัสเอกสาร

*/}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => rowData[props.refAttribute.optionLabel]}\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n {props.status !== \"Completed\" && (\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n >\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableReferenceComponent;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { ValidateRefTemplate } from \"../../../../Services/TemplateService\";\r\nimport useAlert from \"../../../../hooks/useAlert\";\r\nimport { MAdvanceFormByMemoIds } from \"../../../../Services/MemoService\";\r\n\r\ntype Props = {\r\n refAttribute: any;\r\n dialogVisibleInRefTemplate: any;\r\n setDialogVisibleInRefTemplate: any;\r\n refTempSelected: any;\r\n refObtions: any[];\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n previousRefTempSelected: any;\r\n memoDetail : any;\r\n};\r\n\r\nconst DialogRefTemplateComponent = (props: Props) => {\r\n const [filterRefTempValue, setFilterRefTempValue] = useState(\"\");\r\n const [refSelected, setRefSelected] = useState();\r\n\r\n const assignMAdvancveForm = (\r\n selectedList: any[],\r\n advanceFormList: Array<{ MemoId: number; MAdvancveForm: string }>\r\n ) => {\r\n return selectedList.map((x) => {\r\n let matchedItem = advanceFormList.find((y) => y.MemoId == x.MemoId);\r\n if (matchedItem != null) {\r\n x.MAdvancveForm = matchedItem.MAdvancveForm;\r\n } else {\r\n x.MAdvacveForm = \"[]\";\r\n }\r\n return x;\r\n });\r\n };\r\n useEffect(() => {\r\n try {\r\n if (refSelected) {\r\n if (\r\n JSON.stringify(refSelected) !== JSON.stringify(props.refTempSelected)\r\n ) {\r\n if (props.refAttribute.mode.toLowerCase() === \"single\") {\r\n onHide();\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [refSelected]);\r\n useEffect(() => {\r\n try {\r\n const dataOption = props.refObtions;\r\n const data = dataOption.filter((data: any, index: number) => {\r\n if (\r\n data.DocumentNo.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.TemplateName.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.MemoSubject.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data[props.refAttribute.optionLabel]\r\n ?.toLowerCase()\r\n .includes(filterRefTempValue.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n props.setSearchRefDocData([...data]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }, [filterRefTempValue]);\r\n\r\n const renderHeaderRefTemplate = () => {\r\n return (\r\n
\r\n setFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onHide = () => {\r\n if (refSelected && refSelected.length > 0) {\r\n MAdvanceFormByMemoIds(refSelected.map((x) => x.MemoId)).then((refMemoId) => {\r\n const RefSelected = assignMAdvancveForm(refSelected, refMemoId);\r\n\r\n props.setRefTempSelected(RefSelected);\r\n });\r\n }\r\n props.setDialogVisibleInRefTemplate(false);\r\n setFilterRefTempValue(\"\");\r\n };\r\n\r\n async function onSelect(refTemp: any) {\r\n const validate = await ValidateSelected(refTemp);\r\n\r\n if (validate) {\r\n try {\r\n if (refTemp === null) {\r\n setRefSelected([...[]]);\r\n } else if (!refTemp) {\r\n setRefSelected([]);\r\n } else if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n let val: any[] = [];\r\n val.push(refTemp);\r\n setRefSelected([...val]);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n const { toggleAlert } = useAlert();\r\n\r\n async function ValidateSelected(refTempSelected: any) {\r\n let respone;\r\n let valid: boolean = true;\r\n let val: any[] = [];\r\n if (refTempSelected) {\r\n if (Array.isArray(refTempSelected)) {\r\n val = refTempSelected;\r\n } else {\r\n val.push(refTempSelected);\r\n }\r\n for (let i = 0; i < val.length; i++) {\r\n if (val[i].SelectField) {\r\n const dataJson = {\r\n TemplateId: props.memoDetail.template_id,\r\n Label: val[i].SelectField.label,\r\n DocNo: val[i].SelectField.value,\r\n };\r\n respone = await ValidateRefTemplate(dataJson);\r\n if (respone.ValidateRef === false) {\r\n toggleAlert({\r\n description: respone.Message,\r\n message: \"Reference Document Warning.\",\r\n type: \"warning\",\r\n duration: 6,\r\n });\r\n valid = false;\r\n }\r\n }\r\n }\r\n return valid;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n if (props.refTempSelected) {\r\n setRefSelected([...props.refTempSelected]);\r\n }\r\n }}\r\n onHide={onHide}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n closable\r\n >\r\n e)}\r\n selection={refSelected}\r\n onSelectionChange={(e: any) => {\r\n onSelect(e.value);\r\n }}\r\n selectionMode={\r\n props.refAttribute?.mode.toLowerCase() === \"single\"\r\n ? \"single\"\r\n : \"multiple\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttribute?.optionLabel !== \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttribute?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DialogRefTemplateComponent;\r\n","import React, { useEffect, useState, FC } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MdPreview } from \"react-icons/md\";\r\n\r\ntype Props = {\r\n setSelectedTemplateVersion: any;\r\n selectedTemplateVersion: any;\r\n templateListVersion: any;\r\n canEditDoc: any;\r\n status: any;\r\n};\r\nconst TemplateVersionComponent = (props: Props) => {\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/Request?MemoID=0&template=${props.selectedTemplateVersion.TemplateId}`,\r\n \"_blank\"\r\n );\r\n }\r\n useEffect(() => {\r\n console.log(props.status, \"statusstatus\");\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\r\n

\r\n
\r\n

\r\n เลือกฟอร์มที่ต้องการขออนุมัติ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n props.setSelectedTemplateVersion(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n props.selectedTemplateVersion\r\n ? props.selectedTemplateVersion.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"60%\",\r\n }}\r\n disabled={!props.canEditDoc}\r\n />\r\n {props.selectedTemplateVersion && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n }}\r\n // disabledProps={!props.canEditDoc}\r\n />\r\n
\r\n )}\r\n {props.status === \"Draft\" ||\r\n props.status === \"Recall\" ||\r\n props.status === \"Rework\" ? (\r\n {\r\n console.log(props.status, \"statusstatus\");\r\n props.setSelectedTemplateVersion(null);\r\n }}\r\n setStyleProps={{\r\n backgroundColor: \"red\",\r\n border: \"1px solid red\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateVersionComponent;\r\n","import { Space, Input, Modal, Table } from \"antd\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport { CoreControllerComponentTest } from \"../CoreControllerComponent/CoreControllerComponentTest\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { formatDateTime } from \"../../../Helper/FormatDateTime\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport TableReferenceComponent from \"./RefTemplateComponent/TableRefTemplateComponent\";\r\nimport DialogRefTemplateComponent from \"./RefTemplateComponent/DialogRefTemplateComponent\";\r\nimport TemplateVersionComponent from \"./TemplateVersionComponent/TemplateVersionComponent\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { ILogic } from \"../../../IRequestModel/ILogicModel\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\n\r\ntype Props = {\r\n t: any;\r\n memoDetail: any;\r\n setMemoDetail: any;\r\n masterCompanies: any;\r\n masterEmployee: any;\r\n canEditDoc: boolean;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n setListInToAndPass: any;\r\n listInToAndPass: any;\r\n masterProjects: any;\r\n project: any;\r\n setProject: any;\r\n finFo: any;\r\n isBranchFromADTitle: boolean;\r\n checkedLeaveTemplate: boolean | undefined;\r\n leaveTypeTable: any;\r\n errors: any;\r\n isTextFromValue: boolean;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n refTempSelected: any;\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n refAttribute: any;\r\n refOptions: any[];\r\n templateListVersion: any;\r\n selectedTemplateVersion: any;\r\n setSelectedTemplateVersion: any;\r\n isTemplateVersion: boolean;\r\n dialogVisibleInRefTemplate: boolean;\r\n setDialogVisibleInRefTemplate: (value: boolean) => void;\r\n allLogic: any;\r\n reset: any;\r\n onControlChange: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n checkActionPage: string;\r\n buttonType: string;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n isFirstRun: any;\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n isShowSum: boolean;\r\n canEditRefDoc: boolean;\r\n refLoading: boolean;\r\n previousRefTempSelected: any;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n prepareInitialLogic: (logics: ILogic[], templateDesc: any) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n onFocusProps?: () => void;\r\n onBlurProps?: () => void;\r\n setEmployeeList: any;\r\n employeeList: any;\r\n edFont?: any;\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n defaultFont?: any;\r\n};\r\n\r\nconst InformationComponentFix: FC = ({\r\n t,\r\n getValues,\r\n onProcessLogicReference,\r\n isFirstRun,\r\n memoDetail,\r\n setMemoDetail,\r\n canEditDoc,\r\n masterCompanies,\r\n masterEmployee,\r\n control,\r\n register,\r\n previousRefTempSelected,\r\n isShowSum,\r\n refOptions,\r\n canEditRefDoc,\r\n handleSubmit,\r\n setListFileAttachDetails,\r\n onSubmit,\r\n setListInToAndPass,\r\n listInToAndPass,\r\n masterProjects,\r\n setProject,\r\n project,\r\n finFo,\r\n isBranchFromADTitle,\r\n checkedLeaveTemplate,\r\n leaveTypeTable,\r\n errors,\r\n isTextFromValue,\r\n setTextFromValue,\r\n textFromValue,\r\n refTempSelected,\r\n setRefTempSelected,\r\n setSearchRefDocData,\r\n searchRefDocData,\r\n refAttribute,\r\n templateListVersion,\r\n setSelectedTemplateVersion,\r\n selectedTemplateVersion,\r\n isTemplateVersion,\r\n dialogVisibleInRefTemplate,\r\n setDialogVisibleInRefTemplate,\r\n allLogic,\r\n reset,\r\n onControlChange,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n setLineApproval,\r\n autoNumFormat,\r\n lineApproval,\r\n setValue,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n previousView,\r\n tableSummaries,\r\n setTableSummaries,\r\n listFormNames,\r\n setListRefDocDetails,\r\n refLoading,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n onBlurProps,\r\n onFocusProps,\r\n setEmployeeList,\r\n employeeList,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const [dialogVisibleInCompany, setDialogVisibleInCompany] = useState(false);\r\n const [dialogVisibleInEmployee, setDialogVisibleInEmployee] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [hideProject, setIsHideProject] = useState(false);\r\n const [hideBranch, setIsHideBranch] = useState(false);\r\n const [hideTo, setIsHideTo] = useState(false);\r\n const [hideCc, setIsHideCc] = useState(false);\r\n const [hideSubject, setIsHideSubject] = useState(false);\r\n const [typeEmployeeDialog, setTypeEmployeeDialog] = useState(\"\");\r\n const [filteredEmployee, setFilteredEmployee] = useState([]);\r\n const [filterCompany, setFilterCompany] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [linkFile, setLinkFile] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [hasUserManual, setHasUserManual] = useState();\r\n const [searchData, setSearchData] = useState(masterEmployee);\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(listInToAndPass.to);\r\n const [CCValue, setCCValue] = useState(listInToAndPass.pass);\r\n const { masterSetting } = useMasterSetting();\r\n\r\n useEffect(() => {\r\n if (listInToAndPass.to) {\r\n let filtered = listInToAndPass.to.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setToValue(filtered);\r\n }\r\n if (listInToAndPass.pass) {\r\n let filtered = listInToAndPass.pass.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setCCValue(filtered);\r\n }\r\n }, [listInToAndPass.to, listInToAndPass.pass]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n checkHasFifoFunction();\r\n }, []);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n\r\n function checkHasFifoFunction() {\r\n var _finFo = finFo;\r\n console.log(_finFo);\r\n\r\n if (_finFo) {\r\n if (_finFo.Value4?.toLowerCase() === \"true\") {\r\n if (_finFo.Value1 && _finFo.Value2) {\r\n const _display = _finFo.Value1.split(\"|\");\r\n\r\n const _dataReplace = _finFo.Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n if (_finFo.Value3 === \"true\") {\r\n setIsHideProject(true);\r\n }\r\n if (_finFo.Value5 !== \"\" && _finFo.Value5 !== null) {\r\n const _showBranch = _finFo.Value5.split(\"|\");\r\n\r\n if (_showBranch.length >= 1) {\r\n if (_showBranch[0] == \"true\") {\r\n setIsHideBranch(true);\r\n }\r\n }\r\n if (_showBranch.length >= 2) {\r\n if (_showBranch[1] === \"true\") {\r\n setIsHideTo(true);\r\n }\r\n }\r\n if (_showBranch.length >= 3) {\r\n if (_showBranch[2] === \"true\") {\r\n setIsHideCc(true);\r\n }\r\n }\r\n if (_showBranch.length >= 4) {\r\n if (_showBranch[3] === \"true\") {\r\n setIsHideSubject(true);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function showModalCompany() {\r\n if (filterCompany != \"\") {\r\n setFilterCompany(\"\");\r\n }\r\n setDialogVisibleInCompany(!dialogVisibleInCompany);\r\n }\r\n\r\n const onSelectedCompany = (data: any) => {\r\n let com_name = data.CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + data.NameEn;\r\n } else {\r\n com_name = com_name + data.NameTh;\r\n }\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n company_id: data.CompanyId,\r\n company_name: com_name,\r\n checkChangeComp: true,\r\n }));\r\n setDialogVisibleInCompany(false);\r\n };\r\n\r\n const searchEmployeeToAndPass = (event: any) => {\r\n setTimeout(async () => {\r\n let _filteredEmployee;\r\n if (employeeList.length <= 0) {\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n }\r\n if (!event.query.trim().length) {\r\n if (employeeList.length > 0) {\r\n _filteredEmployee = [...employeeList];\r\n }\r\n } else {\r\n _filteredEmployee = employeeList.filter((_dataEmployee: any) => {\r\n if (\r\n _dataEmployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.NameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployee(_filteredEmployee);\r\n }, 250);\r\n };\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModalInEmployeeToAndPass(type: string) {\r\n if (filteredEmployee) {\r\n setFilteredEmployee(\"\");\r\n }\r\n setDialogVisibleInEmployee(!dialogVisibleInEmployee);\r\n console.log({ type });\r\n setTypeEmployeeDialog(type);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employeeList.length <= 0) {\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n setSearchData(employee);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n function insertDataByEnter(event: any, type: any) {\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"to\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...listInToAndPass.to, ...event],\r\n }));\r\n } else if (type === \"pass\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...listInToAndPass.pass, ...event],\r\n }));\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n if (typeEmployeeDialog === \"to\") {\r\n let _components = listInToAndPass;\r\n _components.to.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.to.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components.to],\r\n }));\r\n } else if (typeEmployeeDialog === \"pass\") {\r\n let _components = listInToAndPass;\r\n _components.pass.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.pass.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components.pass],\r\n }));\r\n }\r\n setDialogVisibleInEmployee(false);\r\n }\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n if (userData.Lang === \"TH\") {\r\n return item.NameTh;\r\n } else {\r\n return item.NameEn;\r\n }\r\n } else {\r\n return item;\r\n }\r\n });\r\n\r\n if (type === \"to\") {\r\n let _components = listInToAndPass.to;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components],\r\n }));\r\n } else if (type === \"pass\") {\r\n let _components = listInToAndPass.pass;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components],\r\n }));\r\n }\r\n }\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const fetchMasterData = async () => {\r\n const masterDataList = await GetAllMasterData();\r\n let masterData: any[] = [];\r\n let userManual: any[] = [];\r\n if (masterDataList) {\r\n const masterDataType = masterDataList.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((masterlist: any) => {\r\n const userManualMaster = masterlist.Value1.split(\"|\");\r\n let master = userManualMaster.find((e: any) => {\r\n let masterDataList = e === memoDetail.template_code;\r\n return masterDataList;\r\n });\r\n masterData.push(master);\r\n });\r\n }\r\n const userManualList = await GetAllDynamic(\"UserManual/GetAll\", undefined);\r\n if (userManualList) {\r\n const manual = userManualList.find((e: any) => {\r\n let manualList = e.UserManualGroupName === memoDetail.template_code;\r\n return manualList;\r\n });\r\n userManual.push(manual);\r\n }\r\n\r\n if (masterData[0] && userManual[0]) {\r\n if (masterData[0] === userManual[0].UserManualGroupName) {\r\n setHasUserManual(true);\r\n const [nameFileSplit, linkFileSplit] =\r\n userManual[0].AttachFile.split(\"|\");\r\n setNameFile(nameFileSplit);\r\n setLinkFile(linkFileSplit);\r\n } else {\r\n setHasUserManual(false);\r\n }\r\n }\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n // useEffect(() => {\r\n // showMore(\"to\");\r\n // }, [listInToAndPass.to]);\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = listInToAndPass.to.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = listInToAndPass.pass.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n\r\n return (\r\n {\r\n console.log(\"info=>listInToAndPass\", listInToAndPass);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
{t(\"information\")}
\r\n
\r\n

\r\n {memoDetail?.status === \"New Request\" &&\r\n memoDetail.template_code + \": \" + memoDetail.template_name}\r\n {memoDetail?.status !== \"New Request\" && memoDetail.template_name}\r\n

\r\n {hasUserManual === true ? (\r\n <>\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n

{memoDetail?.document_no}

\r\n \r\n
\r\n\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(\r\n memoDetail?.request_date,\r\n masterSetting?.FormatDate?.Value1\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n

\r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!hideBranch && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideTo && (\r\n <>\r\n \r\n \r\n \r\n \r\n To\r\n

\r\n

\r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto = e.target.value.split(\",\");\r\n insertDataByEnter(auto, \"to\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"to\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.to.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({listInToAndPass.to.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"to\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideCc && (\r\n <>\r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n

\r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto2 = e.target.value.split(\",\");\r\n insertDataByEnter(auto2, \"pass\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"pass\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.pass.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({listInToAndPass.pass.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"pass\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n {!hideProject && (\r\n \r\n \r\n \r\n \r\n

Project

\r\n

โครงการ

\r\n \r\n \r\n \r\n \r\n {\r\n setProject(event.value);\r\n }}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\"Select Project\"}\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={!canEditDoc}\r\n />\r\n \r\n
\r\n )}\r\n \r\n {!hideSubject && (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n Subject\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n \r\n เรื่อง\r\n

\r\n \r\n \r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n subject: event,\r\n }));\r\n }}\r\n valueProps={memoDetail.subject}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n )}\r\n
\r\n {refAttribute?.mode && refAttribute?.position === \"Top\" && (\r\n <>\r\n {canEditRefDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n setLabelProps={\"Add\"}\r\n loading={refLoading}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n {checkedLeaveTemplate && (\r\n \r\n )}\r\n \r\n {isTemplateVersion && (\r\n \r\n )}\r\n \r\n \r\n {!isTextFromValue && (\r\n \r\n )}\r\n {isTextFromValue && (\r\n \r\n )}\r\n \r\n {isShowSum && (\r\n \r\n \r\n \r\n \r\n \r\n

All Total

\r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: e.target.value,\r\n }));\r\n }}\r\n onBlur={(e) => {\r\n getLineApproveForAmount(memoDetail.amount);\r\n }}\r\n disabled={!listFormNames.IsTextForm}\r\n id=\"AllTotal\"\r\n />\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n {refAttribute?.mode && refAttribute?.position === \"Bottom\" && (\r\n <>\r\n {canEditDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n loading={refLoading}\r\n setLabelProps={\"Add\"}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n <>\r\n \r\n \r\n {refAttribute?.mode && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InformationComponentFix;\r\n","import React, { useState, useEffect, FC } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useBreakpoint from \"antd/lib/grid/hooks/useBreakpoint\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { FcApproval } from \"react-icons/fc\";\r\nimport { Row, Col, Modal } from \"antd\";\r\nimport { GetAllApprovals } from \"../../../Services/ApprovalService\";\r\nimport { SaveLineApprovalsByMemoId } from \"../../../Services/LineApprovalsService\";\r\nimport { useHistory } from \"react-router\";\r\n\r\ntype Props = {\r\n lineApproval: any;\r\n setLineApproval: any;\r\n employeeList: any;\r\n signatureList: any[];\r\n canEditLineApproval: boolean;\r\n currentLevel: number;\r\n t: any;\r\n memoDetail: any;\r\n setEmployeeList: any;\r\n employee: any;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => Promise;\r\n};\r\n\r\nconst LineApprovalsComponentFix: FC = ({\r\n lineApproval,\r\n employeeList,\r\n signatureList,\r\n canEditLineApproval,\r\n setLineApproval,\r\n currentLevel,\r\n t,\r\n memoDetail,\r\n setEmployeeList,\r\n employee,\r\n getLineApproveForAmount,\r\n}) => {\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const { lg } = useBreakpoint();\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [searchData, setSearchData] = useState(employeeList);\r\n const { toggleAlert } = useAlert();\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n const [hightLight, setHightLight] = useState([]);\r\n const history = useHistory();\r\n const [myLevel, setMyLevel] = useState(0);\r\n\r\n useEffect(() => {\r\n lineApproval.sort((a: any, b: any) => {\r\n return a.sequence - b.sequence;\r\n });\r\n\r\n setHightLight(\r\n lineApproval.filter(\r\n (a: any) => memoDetail.current_approval_level === a.sequence\r\n )\r\n );\r\n }, [lineApproval]);\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineApproval;\r\n data.splice(rowIndex, 1);\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n setLineApproval([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n if (canEditLineApproval && currentLevel < rowData.sequence) {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n }\r\n };\r\n\r\n async function toggleModal() {\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployeeList(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n if (currentLevel !== 0) {\r\n if (e.dropIndex > currentLevel || userData.IsAdmin) {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n } else {\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"warning\",\r\n });\r\n }\r\n } else {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n addData(data);\r\n };\r\n\r\n function addData(empData: any) {\r\n try {\r\n const raw = lineApproval;\r\n const lastData = lineApproval[lineApproval.length - 1];\r\n let data: IApproverModel = empData;\r\n const defSignature = signatureList[0];\r\n\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n }\r\n\r\n setLineApproval([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n } catch (error) {\r\n console.log(\"LineApproval=>addData=>error\", error);\r\n }\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEditLineApproval && currentLevel <= rowData.sequence) {\r\n return (\r\n {\r\n if (e.MasterId === rowData.signature_id) {\r\n return e;\r\n }\r\n })[0]\r\n }\r\n options={signatureList}\r\n onChange={(e) => onSelected_Sinatures(e, option.rowIndex)}\r\n optionLabel={userData.Lang === \"EN\" ? \"Value2\" : \"Value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n {userData.Lang === \"EN\"\r\n ? rowData.signature_en\r\n : rowData.signature_th}\r\n \r\n
\r\n );\r\n }\r\n };\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any = lineApproval;\r\n line[rowInx].signature_id = event.value.MasterId;\r\n line[rowInx].signature_th = event.value.Value1;\r\n line[rowInx].signature_en = event.value.Value2;\r\n setLineApproval([...line]);\r\n }\r\n\r\n const dynamicTable = (\r\n \r\n {canEditLineApproval && (\r\n {\r\n if (currentLevel < rowData.sequence) {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }\r\n }}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n )}\r\n\r\n lineData.sequence || options.rowIndex + 1}\r\n // style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}?\r\n style={{width: '25%'}}\r\n />\r\n\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={{width: '25%'}}\r\n />\r\n\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={{width: canEditLineApproval ? 'calc(25% - 100px)' : 'calc(25% - 30px)'}}\r\n />\r\n\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n body={statusBodyTemplate}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={{width: canEditLineApproval ? 'calc(25% - 140px)' : 'calc(25% - 40px)'}}\r\n />\r\n\r\n {canEditLineApproval && (\r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n }\r\n body={actionBodyTemplate}\r\n // style={{ width: \"15%\" }}\r\n style={{ width: \"100px\" }}\r\n exportable={false}\r\n >\r\n )}\r\n \r\n );\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n if (targetIndex > currentLevel) {\r\n moveItem(fromIndex, targetIndex - 1);\r\n } else {\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"error\",\r\n });\r\n }\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineApproval !== null ? [...lineApproval] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineApproval([...rows]);\r\n setMoveToDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const onResetClick = async () => {\r\n if (memoDetail.memoid == 0) {\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n null,\r\n \"reset\"\r\n );\r\n } else {\r\n const res = await GetAllApprovals({ memoid: memoDetail.memoid });\r\n res.map((e: any) => {\r\n e.approver = {\r\n EmployeeId: e.approver.employeeId,\r\n NameEn: e.approver.nameEn,\r\n NameTh: e.approver.nameTh,\r\n PositionNameEn: e.approver.positionNameEn,\r\n PositionNameTh: e.approver.positionNameTh,\r\n DepartmentNameEn: e.approver.departmentNameEn,\r\n DepartmentNameTh: e.approver.departmentNameTh,\r\n };\r\n return e;\r\n });\r\n\r\n setLineApproval([...res]);\r\n }\r\n };\r\n\r\n const onSaveLineApprovals = async () => {\r\n const res = await SaveLineApprovalsByMemoId(\r\n memoDetail.memoid,\r\n memoDetail.current_approval_level,\r\n lineApproval\r\n );\r\n history.push(\"/\");\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n {canEditLineApproval && (\r\n <>\r\n \r\n \r\n toggleModal()}\r\n />\r\n {\r\n Modal.confirm({\r\n title: userData.Lang === \"en\" ? \"Confirm\" : \"ยืนยัน\",\r\n content:\r\n userData.Lang === \"en\" ? (\r\n

\r\n Line approval will be re-setting by form condition.\r\n Are you sure to reset?\r\n

\r\n ) : (\r\n

\r\n สายอนุมัติจะถูกตั้งค่าใหม่ตามเงื่อนไขของแบบฟอร์ม\r\n คุณแน่ใจที่จะรีเซ็ตหรือไม่?\r\n

\r\n ),\r\n okText: \"Reset\",\r\n onOk: () => {\r\n onResetClick();\r\n },\r\n okButtonProps: {\r\n title: \"Reset\",\r\n style: {\r\n borderRadius: 6,\r\n borderColor: \"rgb(40, 47, 106);\",\r\n color: \"rgb(40, 47, 106);\",\r\n },\r\n },\r\n cancelButtonProps: {\r\n danger: true,\r\n style: { borderRadius: 6 },\r\n },\r\n });\r\n }}\r\n />\r\n \r\n {userData.IsAdmin && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n )}{\" \"}\r\n {dynamicTable}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineApproval?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponentFix;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport { Components } from \"antd/lib/date-picker/generatePicker\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { BsPencilSquare } from \"react-icons/bs\";\r\nimport { SetCheckAcces } from \"../../Services/MemoService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { btoa } from \"buffer\";\r\ninterface Props {\r\n memoIdForCopy: any;\r\n pdfData?: string;\r\n memoDetail?: any;\r\n isCheckAcces: boolean;\r\n canEdit: boolean;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (value: boolean) => void;\r\n setCanEdit: (canEdit: boolean) => void;\r\n permission: any;\r\n}\r\nexport const OtherButtonMemoComponent = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n const [responeData, setResponeData] = useState(props.pdfData);\r\n const [isCheckByOrigin, setIsCheckByOrigin] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n\r\n let _tinyURL = _localStorage.TinyURL;\r\n\r\n useEffect(() => {\r\n console.log(\"memo=>\", props.pdfData);\r\n console.log(\"isShowPdf=>\", props.permission);\r\n setData();\r\n }, []);\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const buttonEdit = () => {\r\n if (IsCheckAccessEditing() || isCheckByOrigin) {\r\n return (\r\n {\r\n if (props.canEdit || isCheckByOrigin) {\r\n onSetCheckAccess(null);\r\n } else {\r\n props.setCanEdit(true);\r\n }\r\n }}\r\n >\r\n \r\n

Stop editing

\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n if (props.canEdit) {\r\n props.setCanEdit(false);\r\n } else {\r\n onSetCheckAccess(userData.EmployeeId.toString());\r\n }\r\n }}\r\n >\r\n \r\n

isEditing

\r\n \r\n );\r\n }\r\n };\r\n const buttonCopy = () => {\r\n return (\r\n {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${props.memoIdForCopy}&isCopy`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n \r\n

{t(\"Copy\")}

\r\n \r\n );\r\n };\r\n const buttonPreviewPdf = () => {\r\n return (\r\n {\r\n var link = \"\";\r\n console.log({ responeData });\r\n\r\n const protocol = window.location.protocol;\r\n const attachPath = responeData?.replaceAll(\r\n `${protocol}//${_tinyURL}`,\r\n \"\"\r\n );\r\n let port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (port) {\r\n _tinyURL = _localStorage.TinyURL + \":\" + port;\r\n }\r\n }\r\n console.log({\r\n site: `${protocol}//${_tinyURL}/`,\r\n attachPath,\r\n });\r\n\r\n const splitPath = attachPath.split(\"/\") || [];\r\n if (splitPath.length >= 4) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(lastIndex + 1);\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log({\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n // ${protocol}//${_tinyURL}\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${encodeURIComponent(\r\n name\r\n )}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n }}\r\n >\r\n \r\n

{t(\"Preview Pdf\")}

\r\n \r\n );\r\n };\r\n const onOpenPdfLink = () => {\r\n window.open(`${responeData}`, \"_blank\", \"noreferrer\");\r\n };\r\n const buttonPrintPDF = () => {\r\n return (\r\n {\r\n onOpenPdfLink();\r\n }}\r\n >\r\n \r\n\r\n

{t(\"Print\")}

\r\n \r\n );\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (\r\n props.memoDetail?.memoDetail?.actorCheckAccess?.EmployeeId ===\r\n userData.EmployeeId\r\n ) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const onSetCheckAccess = async (RequesterId?: string | null) => {\r\n props.setIsControlLoading(true);\r\n const checkAccessRequestModel = {\r\n memoid: props.memoDetail.memoDetail.memoid.toString(),\r\n RequesterId: RequesterId,\r\n };\r\n console.log(\"memo=>checkAccessRequestModel\", checkAccessRequestModel);\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n console.log(\"memo=>result\", result);\r\n if (result.result === \"success\") {\r\n if (RequesterId) {\r\n props.setCanEdit(true);\r\n setIsCheckByOrigin(true);\r\n } else {\r\n props.setCanEdit(false);\r\n setIsCheckByOrigin(false);\r\n }\r\n } else if (result.result === \"NotAccess\") {\r\n if (userData.Lang === \"TH\") {\r\n toggleAlert({\r\n description: `มีผู้อื่นกำลังแก้ไขเอกสารอยู่`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `You do not have edit memo.`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n }\r\n props.setCanEdit(false);\r\n }\r\n props.setIsControlLoading(false);\r\n };\r\n\r\n async function setData() {\r\n let respone = await GeneratePDF(\r\n props.memoIdForCopy,\r\n userData,\r\n props.memoDetail\r\n );\r\n // let respone = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${props.memoIdForCopy}`)).json();\r\n console.log(\"memo=>respone\", respone);\r\n\r\n setResponeData(respone);\r\n }\r\n\r\n const checkIsAccessComponent = () => {\r\n if (userData.Lang === \"TH\") {\r\n return (\r\n \r\n เอกสารฉบับนี้กำลังถูกแก้ไขอยู่โดย{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n This memo is editing by{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {props.memoDetail.memoDetail?.actorCheckAccess &&\r\n !IsCheckAccessEditing() ? (\r\n checkIsAccessComponent()\r\n ) : (\r\n <>\r\n {responeData ? (\r\n <>{buttonPreviewPdf()}\r\n ) : (\r\n \r\n )}\r\n {props.isCheckAcces && buttonEdit()}\r\n {props.permission === null || props.permission?.Copy === \"T\" ? (\r\n buttonCopy()\r\n ) : (\r\n <>\r\n )}\r\n\r\n {responeData ? (\r\n <>\r\n {(props.permission?.Print === \"T\" || props.permission === null) &&\r\n buttonPrintPDF()}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { IRequestOnSubmit } from \"../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\n\r\nexport const Validation = (\r\n _submitType: string,\r\n memoDetail: IMemoDetailModel,\r\n lineApproval: any,\r\n dateValidField1: any[],\r\n dateValidField2: any[],\r\n message: any[]\r\n) => {\r\n let error_result: any[] = [];\r\n\r\n if (_submitType === \"draft\" || _submitType === \"cancel\") {\r\n if (memoDetail.company_id === 0 && _submitType === \"draft\") {\r\n error_result.push(\"Company\");\r\n }\r\n } else {\r\n if (memoDetail.company_id === 0) {\r\n error_result.push(\"Company\");\r\n }\r\n if (!memoDetail.subject) {\r\n error_result.push(\"Subject\");\r\n }\r\n if (lineApproval.length <= 0) {\r\n error_result.push(\"Line Approve\");\r\n }\r\n if (dateValidField1 !== null && dateValidField2 !== null) {\r\n if (dateValidField1 > dateValidField2) {\r\n error_result.push(message);\r\n }\r\n }\r\n }\r\n return error_result;\r\n};\r\n\r\nexport const ResponeValidation = (_respone: any) => {\r\n var _checkRespone: boolean = false;\r\n try {\r\n if (_respone.includes(\"done\")) {\r\n _checkRespone = true;\r\n }\r\n return _checkRespone;\r\n } catch (error) {\r\n _checkRespone = false;\r\n return _checkRespone;\r\n }\r\n};\r\n","import React from \"react\";\r\nimport {\r\n FunctionComponent,\r\n createContext,\r\n ReactNode,\r\n useState,\r\n useEffect,\r\n} from \"react\";\r\nimport { CheckCanAdminEditCompletedMemo } from \"../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../Services/AuthorizedService\";\r\nimport { useUserContext } from \"./UserContext\";\r\n\r\ntype AdminCanEditCompletedMemoType = {\r\n canEditMemo: boolean;\r\n setCanEditMemo: (can: boolean) => void;\r\n};\r\nconst AdminEditCompletedMemoPermissionContext =\r\n createContext(null);\r\n\r\ninterface AdminCanEditCompletedMemoProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst AdminEditCompletedMemoProvider: FunctionComponent<\r\n AdminCanEditCompletedMemoProviderProps\r\n> = (props) => {\r\n const [userData] = useUserContext();\r\n\r\n const [canEditMemo, setCanEditMemo] = useState(false);\r\n useEffect(() => {\r\n getCanAdminEditCompletedMemo();\r\n }, []);\r\n const getCanAdminEditCompletedMemo = async () => {\r\n const canEdit = await CheckCanAdminEditCompletedMemo();\r\n const isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n console.log({ isAdmin, userData });\r\n if (isAdmin && canEdit) {\r\n setCanEditMemo(canEdit);\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport {\r\n AdminEditCompletedMemoProvider,\r\n AdminEditCompletedMemoPermissionContext,\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AdminEditCompletedMemoPermissionContext } from \"../Context/AdminEditCompletedMemoPermissionContext\";\r\n\r\nconst useAdminEditCompletedMemoPermissionContext = () => {\r\n const context = useContext(AdminEditCompletedMemoPermissionContext);\r\n if (!context)\r\n throw new Error(\r\n \"useAdminEditCompletedMemoPermission Context must be use inside useAdminEditCompletedMemoPermissionContext Provider\"\r\n );\r\n return context;\r\n};\r\n\r\nexport default useAdminEditCompletedMemoPermissionContext;\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport InformationComponentFix from \"../../components/RequestComponents/InformationComponent/InformationComponentFix\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { IMemoDetailModel } from \"../../IRequestModel/IMemoDetailModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n GetMemoAuthorized,\r\n GetMemoAuthorizedViewAndPrint,\r\n} from \"../../Services/AuthorizedService\";\r\nimport { formatToColumns } from \"../../Helper/formatColumn\";\r\nimport { dataCompany } from \"../../Services/CompanyService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Button } from \"antd\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetail,\r\n GetMemoDetailOnlyById,\r\n GetMemoHistoryDetail,\r\n GetRefDocTemp,\r\n SetCheckAcces,\r\n ValidateDelegate,\r\n} from \"../../Services/MemoService\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n GetTemplateControlById,\r\n GetTemplateFromDDL,\r\n LoadLogic,\r\n SearchTemplateListEditing,\r\n} from \"../../Services/TemplateService\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport LineApprovalsComponentFix from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\nimport {\r\n GetAllMasterData,\r\n GetLeaveTemplateByEmpId,\r\n getVersionTempVC,\r\n} from \"../../Services/MasterDataService\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\n\r\nimport { formatKeyLogicData } from \"../../Helper/formatKeyLogicData\";\r\nimport {\r\n ILogic,\r\n ILogicPermission,\r\n ILogicReferenceField,\r\n ILogicTypePermission,\r\n ILogicTypeShowHide,\r\n ILogicTypeReference,\r\n ILogicTypeSourceLoad,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeDataLineApprove,\r\n ILogicReferenceInformation,\r\n ILogicTypeSourceRelated,\r\n} from \"../../IRequestModel/ILogicModel\";\r\n\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { IRequestOnSubmit } from \"../../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ResponeValidation, Validation } from \"../../Helper/Validation\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { INumberFormula } from \"../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetRvsRunning,\r\n GetSaveRunningNumber,\r\n CanAssignMoreThanOne,\r\n CanRequestCommentMoreThanOne,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { onCheckMemoPermission } from \"../../Helper/CheckMemoPermission\";\r\nimport {\r\n IApprovaReadHide,\r\n IListApprovalDetailsModel,\r\n IReqConditions,\r\n} from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { GetApprovalsByMemoIDs } from \"../../Services/LineApprovalsService\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\nimport { genAutoNum } from \"../../Helper/RequestScreenHelper\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport useAdminEditCompletedMemoPermissionContext from \"../../hooks/useAdminEditCompletedMemo\";\r\nimport { IRolePermission } from \"../../IRequestModel/IRolePermission\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { tableSelectOption } from \"../../components/AntdControlComponent/TableComponent/TableComponent\";\r\nimport { checkIsCorrect } from \"../../Helper/LogicHelper\";\r\nimport { LogicOperatorType } from \"../../constants/logic-type\";\r\n\r\nconst RequestScreenFix = () => {\r\n const { toggleAlert } = useAlert();\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const location = useLocation();\r\n const isFirstRun = useRef(true);\r\n const toast = useRef(null);\r\n const { isLoad, setLoad } = useLoading();\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [checkUseEffect, setCheckUseEffect] = useState(false);\r\n const [checkActionPage, setCheckActionPage] = useState(\"\");\r\n const [checkedLeaveTemplate, setCheckedLeaveTemplate] = useState();\r\n const [curPage, setCurPage] = useState();\r\n const [selectedView, setSelectedView] = useState();\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [isControlLoading, _setIsControlLoading] = useState(false);\r\n const [empByUserId, setEmpByUserId] = useState();\r\n const [templateDescrip, setTemplateDescrip] = useState([]);\r\n const [actionAlert, setActionAlert] = useState();\r\n\r\n let showLoadTimer: any = null;\r\n let hideLoadTimer: any = null;\r\n function setIsControlLoading(isShowLoad: boolean) {\r\n if (showLoadTimer !== null) {\r\n clearTimeout(showLoadTimer);\r\n }\r\n if (hideLoadTimer !== null) {\r\n clearTimeout(hideLoadTimer);\r\n }\r\n if (isShowLoad) {\r\n showLoadTimer = setTimeout(() => _setIsControlLoading(true), 10);\r\n } else {\r\n hideLoadTimer = setTimeout(() => _setIsControlLoading(false), 500);\r\n }\r\n }\r\n\r\n //Check Can Edit\r\n const [canEditDoc, setCanEditDoc] = useState(false);\r\n const [canEditLineApprove, setCanEditLineApprove] = useState(false);\r\n const { canEditMemo } = useAdminEditCompletedMemoPermissionContext();\r\n const [isCheckAccess, setIsCheckAccess] = useState(false);\r\n const [isSkipapm, setIsSkipapm] = useState(false);\r\n //MemoPage Value\r\n const [memoId, setMemoId] = useState();\r\n const [memoDetail, setMemoDetail] = useState();\r\n const [listFormNames, setListFormNames] = useState();\r\n const [lineApproval, setLineApproval] = useState([]);\r\n const [listHistoryDetails, setListHistoryDetails] = useState([]);\r\n const [listFileAttachDetails, setListFileAttachDetails] = useState([]);\r\n const [listRefDocDetails, setListRefDocDetails] = useState([]);\r\n const [isTextFromValue, setIsTextFromValue] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState();\r\n //RefDoc Value\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttribute, setRefAttribute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [refOptions, setRefOptions] = useState([]);\r\n const [dialogVisibleInRefTemplate, setDialogVisibleInRefTemplate] =\r\n useState(false);\r\n const [refLoading, setRefLoading] = useState(false);\r\n const previousRefTempSelected = useRef(null);\r\n const [canEditRefDoc, setCanEditRefDoc] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const [refValue, setRefValue] = useState();\r\n //MasterData Value\r\n const [masterLeaveSpec, setMasterLeaveSpec] = useState([]);\r\n const [masterSignature, setMasterSignature] = useState([]);\r\n const [masterATDLFT, setMasterATDLFT] = useState([]);\r\n const [masterDLAttach, setMasterDLAttach] = useState();\r\n const [finFo, setFinFo] = useState([]);\r\n const [lRTempCode, setLRTempCode] = useState();\r\n const [mbkOnlyU, setMbkOnlyU] = useState([]);\r\n const [masterProjects, setMasterProjects] = useState([]);\r\n const [masterEmployee, setMasterEmployee] = useState([]);\r\n const [masterCompanies, setMasterCompanies] = useState([]);\r\n const [templateListVersion, setTemplateListVersion] = useState([]);\r\n const [selectedTemplateVersion, setSelectedTemplateVersion] = useState();\r\n const [isTemplateVersion, setIsTemplateVersion] = useState(false);\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n let [jsonConditions, setJsonConditions] = useState();\r\n const [loadingPDF, setLoadingPDF] = useState(false);\r\n const [isShowPdf, setIsShowPdf] = useState(true);\r\n const [isShowSum, setIsShowSum] = useState(false);\r\n const [permission, setPermission] = useState();\r\n const [masterDataValidField, setMasterDataValidField] = useState([]);\r\n const [messageValidField, setMessageValidField] = useState();\r\n const [duration, setDuration] = useState(0);\r\n const [skipapm, setSkipapm] = useState([]);\r\n //autoApprove\r\n const [requestActionMemo, setRequestActionMemo] = useState(false);\r\n const [checkRequestActionMemo, setCheckRequestActionMemo] =\r\n useState(false);\r\n //AutoControlAttibute\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [autoNumFormat, setAutoNumFormat] = useState({\r\n formats: [],\r\n showSymbol: false,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n });\r\n\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n const [tableOptions, setTableOptions] = useState([]);\r\n\r\n const previousView = useRef(null);\r\n let previousAmount = useRef(0);\r\n // dialog employee\r\n const [employeeList, setEmployeeList] = useState(masterEmployee);\r\n const [requestDetail, setRequestDetail] = useState();\r\n\r\n useEffect(() => {\r\n previousView.current = selectedView;\r\n }, [selectedView]);\r\n\r\n //Hook form\r\n const {\r\n handleSubmit,\r\n control,\r\n reset,\r\n register,\r\n setValue,\r\n getValues,\r\n setFocus,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n items: memoDetail?.template_desc?.items,\r\n },\r\n mode: \"onChange\",\r\n });\r\n const [listInToAndPass, setListInToAndPass] = useState({\r\n to: [],\r\n pass: [],\r\n });\r\n const [project, setProject] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [isADTitleToPosition, setIsADTitleToPosition] =\r\n useState(false);\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n const [tableSummaries, setTableSummaries] = useState();\r\n const prevRequestLineapprove = useRef(null);\r\n //RequestorValue\r\n const [requestor, setRequestor] = useState({});\r\n const [creator, setCreator] = useState({});\r\n const [edFont, setEdFont] = useState([]);\r\n useEffect(() => {\r\n setLoad(false);\r\n const fetchMasterData = async () => {\r\n setLoad(true);\r\n const masterData = await GetAllMasterData();\r\n const projects = await GetAllProject();\r\n // const employee = await GetAllEmployee();\r\n const companies = await dataCompany();\r\n const isMultiAssign = await CanAssignMoreThanOne();\r\n const isMultiRequestComment = await CanRequestCommentMoreThanOne();\r\n sessionStorage.setItem(\"isMultiAssign\", isMultiAssign.result);\r\n sessionStorage.setItem(\r\n \"isMultiRequestComment\",\r\n isMultiRequestComment.result\r\n );\r\n\r\n setMasterSignature([\r\n ...masterData\r\n .filter((e: any) => {\r\n return e.MasterType === \"Signature\" && e.IsActive === true;\r\n })\r\n .sort((a: any, b: any) => (Number(a.Seq) > Number(b.Seq) ? 1 : -1)),\r\n ]);\r\n setMasterDataValidField([\r\n ...masterData.filter((e: any) => {\r\n return e.MasterType === \"ValidField\" && e.IsActive === true;\r\n }),\r\n ]);\r\n setMasterDLAttach(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"DLAttach\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setFinFo(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"FINFO\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setMasterATDLFT(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"ATDLFT\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setLRTempCode(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LRTempCode\";\r\n })\r\n );\r\n setMbkOnlyU(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"MBKOnly\" && e.IsActive === true;\r\n })\r\n );\r\n setMasterLeaveSpec(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LeaveSpec\" && e.IsActive === true;\r\n })\r\n );\r\n setEdFont(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"EdFont\" && e.IsActive === true;\r\n })[0]\r\n );\r\n\r\n const temCodes: string[] =\r\n masterData\r\n .find((e: any) => e.MasterType?.toLowerCase() === \"skipapm\")\r\n ?.Value1?.split(\"|\") || [];\r\n\r\n setSkipapm([...temCodes]);\r\n setMasterProjects([...projects]);\r\n setMasterCompanies([...companies]);\r\n setCheckUseEffect(true);\r\n };\r\n fetchMasterData();\r\n }, []);\r\n const [defaultFont, setDefault] = useState();\r\n const [rishFont, setrishFont] = useState();\r\n useEffect(() => {\r\n if (edFont) {\r\n const fontFormat = edFont.Value1;\r\n const fontSize = edFont.Value2;\r\n setDefault(\r\n \"@import url('../../../../ClientApp/public/font/font.css');body {font-family: '\" +\r\n fontFormat +\r\n \"', sans-serif; font-size : \" +\r\n fontSize +\r\n \";}\"\r\n );\r\n setrishFont(fontFormat);\r\n }\r\n }, [edFont]);\r\n useEffect(() => {\r\n detectLineApproval();\r\n }, [lineApproval]);\r\n\r\n useEffect(() => {\r\n //Check RefTemplate if have show\r\n if (listFormNames) {\r\n if (\r\n listFormNames.RefTemplate === \"\" ||\r\n listFormNames.RefTemplate === \"[]\"\r\n ) {\r\n setRefAttribute([]);\r\n } else {\r\n getAllRefDoc(listFormNames);\r\n }\r\n }\r\n }, [listFormNames]);\r\n\r\n const getAllRefDoc = async (listFormNames: any) => {\r\n if (!listFormNames?.RefDocDisplay) {\r\n return;\r\n }\r\n setRefLoading(true);\r\n let _RefID: string = \"\";\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n const display = listFormNames?.RefDocDisplay?.split(\",\");\r\n if (!refAttribute && display.length > 0) {\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\" ? display[2] : \"DocumentNo\",\r\n isDefaultLineApprove: listFormNames.IsDefaultLineApprove,\r\n optionValue: refValue,\r\n refIdOnQuery: null,\r\n };\r\n setRefAttribute({ ...refObject });\r\n }\r\n const res = await GetRefDocTemp({ template_ID: listFormNames.TemplateId });\r\n if (res) {\r\n checkRefTemplate(listFormNames, listRefDocDetails, res, _RefID);\r\n }\r\n setRefLoading(false);\r\n };\r\n\r\n const detectLineApproval = () => {\r\n if (lineApproval) {\r\n lineApproval.map((line: IListApprovalDetailsModel) => {\r\n if (line.signature_id && line.signature_id !== 0) {\r\n let _signature = masterSignature.find(\r\n (sig: any) => sig.MasterId === line.signature_id\r\n );\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_th = _signature.Value1;\r\n }\r\n } else {\r\n let _signature = masterSignature.find((sig: any) => sig.Seq === \"1\");\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_id = _signature.MasterId;\r\n line.signature_th = _signature.Value1;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (checkUseEffect) {\r\n checkQuery();\r\n }\r\n }, [checkUseEffect, query]);\r\n useEffect(() => {\r\n if (checkRequestActionMemo) {\r\n autoApprove();\r\n }\r\n }, [requestActionMemo]);\r\n\r\n function autoApprove() {\r\n var request: IRequestOnSubmit = {\r\n buttonType: \"approve\",\r\n inputComment: \"\",\r\n waitingFor: \"\",\r\n waitingForId: 0,\r\n };\r\n onSubmit(memoDetail.template_desc, request);\r\n }\r\n const checkQuery = async () => {\r\n setLoad(true);\r\n let canAccess = true;\r\n let _templateId: number = 0;\r\n let _memoId: number = 0;\r\n let _usrId: number = 0;\r\n let _docTypeCode: string | null = \"\";\r\n let _isCopy: boolean = false;\r\n let _isPreview: boolean = false;\r\n let _documentNo: string = \"\";\r\n let _RefID: string = \"\";\r\n\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n const _response = await GetTemplateByDocTypeCode({\r\n DocumentCode: query.get(\"DocTypeCode\"),\r\n });\r\n _docTypeCode = query.get(\"DocTypeCode\");\r\n _templateId = _response.TemplateId;\r\n }\r\n\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n }\r\n if (query.get(\"MemoID\") && !query.get(\"DocumentNo\")) {\r\n setMemoId(Number(query.get(\"MemoID\")));\r\n _memoId = Number(query.get(\"MemoID\"));\r\n\r\n const jsonRequest = {\r\n memoid: _memoId,\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n\r\n canAccess = await onCheckPermission(_memoId);\r\n if (\r\n query.get(\"checkRequestActionMemo\") !== null &&\r\n query.get(\"checkRequestActionMemo\") !== undefined\r\n ) {\r\n setCheckRequestActionMemo(true);\r\n }\r\n }\r\n if (!query.get(\"MemoID\") && query.get(\"DocumentNo\")) {\r\n _documentNo = query.get(\"DocumentNo\") || \"\";\r\n }\r\n if (query.get(\"userId\")) {\r\n _usrId = Number(query.get(\"userId\"));\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n _isCopy = true;\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n _isPreview = true;\r\n }\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n\r\n if (canAccess) {\r\n getInitialData(\r\n _memoId,\r\n _templateId,\r\n _docTypeCode,\r\n _isCopy,\r\n _isPreview,\r\n _usrId,\r\n _documentNo,\r\n _RefID\r\n );\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n };\r\n const onCheckPermission = async (memoid: number) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const getInitialData = async (\r\n _memoId: number,\r\n _templateId: number,\r\n _docTypeCode: string | null,\r\n _isCopy: boolean,\r\n _isPreview: boolean,\r\n _usrId: number,\r\n _documentNo: string,\r\n _RefID: string\r\n // _templateVersionCode: string | null,\r\n // _versionTemplate: string | null\r\n ) => {\r\n try {\r\n let userDataByQuery = null;\r\n setListInToAndPass({\r\n to: [],\r\n pass: [],\r\n });\r\n let hasQueryUserId: boolean = false;\r\n if (_usrId !== 0) {\r\n const _employee = await GetAllEmployee();\r\n\r\n userDataByQuery = _employee.find(\r\n (_emp: any) => _emp.EmployeeId === _usrId\r\n );\r\n if (userDataByQuery) {\r\n hasQueryUserId = true;\r\n }\r\n }\r\n\r\n const requestBody = {\r\n Memoid: _memoId,\r\n TemplateId: _templateId,\r\n DocumentCode: _docTypeCode,\r\n SecretId: \"\",\r\n DocumentNo: _documentNo,\r\n EmployeeId: userDataByQuery\r\n ? userDataByQuery.EmployeeId.toString()\r\n : userData.EmployeeId.toString(),\r\n actor: userDataByQuery ? userDataByQuery : userData,\r\n };\r\n let requestDetail = await GetMemoDetail(requestBody); // beam\r\n\r\n let _isTextForm: boolean = false;\r\n\r\n if (_memoId !== 0) {\r\n _isTextForm = requestDetail?.requestDetails?.memoDetail.is_text_form;\r\n } else {\r\n _isTextForm =\r\n requestDetail?.requestDetails?.listFormNames[0].IsTextForm;\r\n }\r\n\r\n let requestConditions = null;\r\n if (!_isTextForm) {\r\n try {\r\n requestConditions = JSON.parse(\r\n requestDetail.requestDetails.listFormNames[0].AdvanceForm\r\n ).ReqConditions;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n let logic = await LoadLogic(\r\n requestDetail?.requestDetails.memoDetail.template_id !== 0\r\n ? requestDetail?.requestDetails.memoDetail.template_id\r\n : _templateId\r\n );\r\n const canViewAndPrint =\r\n requestDetail?.requestDetails?.memoDetail?.Permission;\r\n if (canViewAndPrint?.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (canViewAndPrint?.Print === \"F\") {\r\n setIsShowPdf(false);\r\n }\r\n setPermission(canViewAndPrint);\r\n let memoButtons: any[] = [];\r\n if (_memoId !== 0 || (_documentNo !== null && _documentNo !== \"\")) {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n memoButtons = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = memoButtons.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n setCheckActionPage(\"edit\");\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n requestConditions\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.memoDetail\r\n .template_desc\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n if (_layout.template.type === \"tb\") {\r\n _layout.template.attribute.column.forEach(\r\n (col: any) => {\r\n col.isReadOnly = false;\r\n col.isShow = true;\r\n }\r\n );\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n } else {\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n }\r\n\r\n return _layout;\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n let templateDescWithLogic =\r\n requestDetail.requestDetails.memoDetail.template_desc;\r\n // if (requestDetail.requestDetails.memoDetail.status === \"Draft\") {\r\n templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n // }\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n if (_template.items) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail,\r\n requestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n if (_isCopy) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status,\r\n _isCopy\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail,\r\n requestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n // reset({\r\n // items: _control,\r\n // });\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail,\r\n requestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n // reset({\r\n // items: _template.items,\r\n // });\r\n\r\n //setDefaultTemplateDesc(_template.items);\r\n setIsTextFromValue(false);\r\n }\r\n if (_isCopy) {\r\n const mewLine =\r\n requestDetail?.requestDetails?.listApprovalDetails?.map(\r\n (e: any) => {\r\n e.lineid = 0;\r\n return e;\r\n }\r\n );\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n memoid: 0,\r\n status: \"New Request\",\r\n document_no: \"Auto Generate\",\r\n copyInformation: \"Y\",\r\n creator: userData,\r\n requestor: userData,\r\n current_approval_level: 0,\r\n request_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n created_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_by: userData.EmployeeId.toString(),\r\n created_by: userData.EmployeeId.toString(),\r\n },\r\n listApprovalDetails: mewLine,\r\n listHistoryDetails: [],\r\n },\r\n };\r\n\r\n setCheckActionPage(\"add\");\r\n }\r\n }\r\n //add\r\n else if (_memoId === 0) {\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n dataGetInformationMethodMemoProp(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n setCheckActionPage(\"add\");\r\n\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.listFormNames[0].TextForm\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n requestConditions\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n\r\n const templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n\r\n if (\r\n requestDetail.requestDetails.memoDetail.status === \"New Request\" ||\r\n _isCopy\r\n ) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail,\r\n requestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n requestConditions,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail,\r\n requestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n requestConditions,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n }\r\n setIsTextFromValue(false);\r\n }\r\n }\r\n\r\n detechFormulas(\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n if (_isPreview) {\r\n setCheckActionPage(\"preview\");\r\n }\r\n if (hasQueryUserId) {\r\n requestDetail.requestDetails.memoDetail.creator = userDataByQuery;\r\n requestDetail.requestDetails.memoDetail.requestor = userDataByQuery;\r\n }\r\n checkTemplateVersion(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n checkState(\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.listFormNames[0],\r\n memoButtons\r\n );\r\n\r\n checkLeaveRequestTemplate(\r\n requestDetail.requestDetails.memoDetail.template_code\r\n );\r\n checkDataAndSetFunction(requestDetail.requestDetails.memoDetail);\r\n replaceTitleInfo(requestDetail.requestDetails.memoDetail);\r\n\r\n setMemoDetail(requestDetail.requestDetails.memoDetail);\r\n setRequestor(requestDetail.requestDetails.memoDetail.requestor);\r\n setCreator(requestDetail.requestDetails.memoDetail.creator);\r\n\r\n setLineApproval([...requestDetail.requestDetails.listApprovalDetails]);\r\n\r\n setListHistoryDetails([\r\n ...requestDetail.requestDetails.listHistoryDetails,\r\n ]);\r\n setListFileAttachDetails([\r\n ...requestDetail.requestDetails.listFileAttachDetails,\r\n ]);\r\n\r\n setListRefDocDetails([...requestDetail.requestDetails.listRefDocDetails]);\r\n setListFormNames(requestDetail.requestDetails.listFormNames[0]);\r\n\r\n createTableSums(requestDetail.requestDetails.memoDetail.template_desc);\r\n // setRefTempSelected([]);\r\n setRequestDetail(requestDetail);\r\n setAllLogic([...logic]);\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setLoad(false);\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n }\r\n } catch (error) {\r\n setLoad(false);\r\n console.error(\"Request=>error\", error);\r\n }\r\n setRequestActionMemo(true);\r\n };\r\n\r\n const setDefaultTemplateDesc = (template: any) => {\r\n let templateItems = template;\r\n console.log(\"def=>\", templateItems);\r\n\r\n if (templateItems) {\r\n for (let i = 0; i < templateItems.length; i++) {\r\n const item = templateItems[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n const templateType = layout.template.type;\r\n\r\n if (\r\n templateType === \"t\" ||\r\n templateType === \"ta\" ||\r\n templateType === \"c\"\r\n ) {\r\n if (!layout.data.value) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.default;\r\n }\r\n } else if (templateType === \"dd\") {\r\n if (\r\n !layout.data.value &&\r\n templateItems[i].layout[j].template.attribute.items &&\r\n templateItems[i].layout[j].template.attribute.items.length > 0\r\n ) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.items[0].item;\r\n }\r\n // DefaultCalendar\r\n } else if (templateType === \"d\") {\r\n if (!layout.data.value && layout.template.attribute.default != \"\") {\r\n if (layout.template.attribute.defaultType === \"Days\") {\r\n let defaultDate = parseInt(layout.template.attribute.default);\r\n let defValue = moment(Date.now())\r\n .add(defaultDate, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n layout.data.value = defValue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n reset({\r\n items: templateItems,\r\n });\r\n return {\r\n items: templateItems,\r\n };\r\n };\r\n const getLineApproveForAmount = async (\r\n _amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => {\r\n let amount = _amount;\r\n if (isNaN(amount) || amount == null) {\r\n amount = previousAmount.current;\r\n }\r\n try {\r\n if (isSkipapm) {\r\n return;\r\n }\r\n\r\n if (!isNaN(amount)) {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amount).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n }\r\n let isSummary = isShowSum && amount != previousAmount.current;\r\n if (listFormNames.IsTextForm && isShowSum) {\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonCondition ? jsonCondition : jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: Number(amount),\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n if (responseDataLineApprove) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (logicType || isSummary) {\r\n if (\r\n (memoDetail &&\r\n (template?.type === \"c\" ||\r\n template?.type === \"tb\" ||\r\n ((template?.type === \"t\" ||\r\n template?.type === \"dd\" ||\r\n template?.type === \"r\" ||\r\n template?.type === \"cb\") &&\r\n logicType === \"datalineapprove\"))) ||\r\n logicType === \"requestor\" ||\r\n logicType === \"reset\"\r\n ) {\r\n setIsControlLoading(true);\r\n\r\n let doa: any;\r\n let loc: any;\r\n let spc: any;\r\n let dtp: any;\r\n if (jsonCondition) {\r\n jsonConditions = jsonCondition;\r\n }\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: amount,\r\n };\r\n const dataJsonApproverType = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(\r\n dataJsonApproverType\r\n );\r\n\r\n if (approverType) {\r\n doa = approverType.find((line: any) => line.ApproveType === 21);\r\n loc = approverType.find((line: any) => line.ApproveType === 19);\r\n spc = approverType.find((line: any) => line.ApproveType === 20);\r\n dtp = approverType.find((line: any) => line.ApproveType === 22);\r\n }\r\n\r\n if ((isSummary && doa) || !!logicType) {\r\n const responseDataLineApprove = await onLoadDataLiveApprove(\r\n dataJson\r\n );\r\n\r\n if (responseDataLineApprove) {\r\n if (doa || loc || spc || dtp || logicType === \"reset\") {\r\n if (logicType === \"reset\") {\r\n let data: any[] = [\r\n ...lineApproval.slice(0, memoDetail.current_approval_level),\r\n ...responseDataLineApprove.map((e: any) => {\r\n e.sequence =\r\n e.sequence + memoDetail.current_approval_level;\r\n return e;\r\n }),\r\n ];\r\n\r\n setLineApproval([...data]);\r\n } else {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (!(doa || loc || spc || dtp) && jsonCondition) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else {\r\n }\r\n }\r\n\r\n setIsControlLoading(false);\r\n }\r\n if (jsonCondition) {\r\n setJsonConditions(jsonCondition);\r\n }\r\n }\r\n previousAmount.current = amount;\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const getLineApproveAtFirsts = async (\r\n _memoDetail: any,\r\n _isCopy: boolean,\r\n RequestConditions: any,\r\n _templateDesc?: any\r\n ) => {\r\n try {\r\n if (isSkipapm) {\r\n return;\r\n }\r\n\r\n if (_memoDetail.memoid === 0 && !_isCopy) {\r\n const dataJson = {\r\n employee: _memoDetail.requestor,\r\n ComCode: _memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ..._memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(_memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: 0,\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n setLineApproval([...responseDataLineApprove]);\r\n let tempdescItem = _templateDesc;\r\n if (tempdescItem) {\r\n if (responseDataLineApprove.length > 0) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...responseDataLineApprove],\r\n tempdescItem,\r\n _memoDetail,\r\n RequestConditions\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const onLoadDataLiveApprove = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const onLoadLiveApproveType = async (dataJson: any) => {\r\n const respone = await fetch(\"api/LineApprove/GetLineApproveType\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const initialActionFiedFormLineApprove = async (\r\n dataLineApprove: any,\r\n _templateDesc: any,\r\n _memoDetail: any,\r\n ReqConditions: any\r\n ) => {\r\n let _jsonValue: IApprovaReadHide[] = [];\r\n let currentApprovals: IReqConditions;\r\n\r\n const _datalineapprove = dataLineApprove;\r\n // template setting readonly\r\n const TempCurrentApprovals = _datalineapprove.find(\r\n (e: any) => e.sequence === _memoDetail.current_approval_level\r\n );\r\n currentApprovals = TempCurrentApprovals;\r\n\r\n if (\r\n _memoDetail.status === \"Wait for Comment\" &&\r\n _memoDetail.current_approval_level !== 0\r\n ) {\r\n const WaitForCommentcondition = _datalineapprove.find(\r\n (e: any) => e.sequence == _memoDetail.current_approval_level\r\n );\r\n currentApprovals = WaitForCommentcondition;\r\n if (\r\n WaitForCommentcondition &&\r\n WaitForCommentcondition.ColumnJsonCondValue\r\n ) {\r\n _jsonValue = deserializeColumnJsonCondValue(\r\n WaitForCommentcondition.ColumnJsonCondValue\r\n );\r\n }\r\n }\r\n\r\n if (\r\n _memoDetail.current_approval_level !== 0 &&\r\n (!currentApprovals ||\r\n currentApprovals.ColumnJsonCondValue == null ||\r\n currentApprovals.ColumnJsonCondValue == undefined ||\r\n currentApprovals.ColumnJsonCondValue == \"\")\r\n ) {\r\n return _templateDesc;\r\n }\r\n\r\n if (_memoDetail.current_approval_level === 0) {\r\n // check logic version if version = 2 The ReqConditions will be not null\r\n if (!!ReqConditions?.Conditions?.ColumnJsonCondValue) {\r\n // for show/hide, read-only logic version 2\r\n _jsonValue = JSON.parse(\r\n ReqConditions.Conditions.ColumnJsonCondValue\r\n ).Conditions;\r\n } else {\r\n // for show/hide, read-only logic version 1\r\n _jsonValue = _datalineapprove\r\n .map((e: any) =>\r\n deserializeColumnJsonCondValue(e.ColumnJsonCondValue)\r\n )\r\n .reduce((pre: any[], cur: any[]) => [...pre, ...cur], [])\r\n .filter((e: any) => e.isRequester == \"Y\");\r\n }\r\n } else {\r\n const condition = _datalineapprove.find(\r\n (e: any) => e.sequence == _memoDetail.current_approval_level\r\n );\r\n if (condition && condition.ColumnJsonCondValue) {\r\n _jsonValue = deserializeColumnJsonCondValue(\r\n condition.ColumnJsonCondValue\r\n );\r\n }\r\n }\r\n _jsonValue.forEach((jsonValue) => {\r\n const fieldaction = jsonValue.fieldaction.filter((e) => e.key);\r\n fieldaction.forEach((fieldAction) => {\r\n _templateDesc.map((layout: any) =>\r\n layout.layout.map((e: any) => {\r\n const findTemp = checkIsCorrect(\r\n fieldAction.key.split(\" : \")[0],\r\n LogicOperatorType.Equal,\r\n e.template.label\r\n );\r\n\r\n if (findTemp) {\r\n if (fieldAction.type !== \"tb\") {\r\n if (jsonValue.action === \"readonly\") {\r\n e.isReadOnly = true;\r\n } else {\r\n e.isShow = false;\r\n }\r\n } else {\r\n const fieldSplited = fieldAction.key.split(\" : \");\r\n if (fieldSplited[1]) {\r\n e.template.attribute.column.forEach((col: any) => {\r\n const targetCol = checkIsCorrect(\r\n fieldSplited[1],\r\n LogicOperatorType.Equal,\r\n col.label\r\n );\r\n\r\n if (targetCol) {\r\n if (jsonValue.action === \"readonly\") {\r\n col.isReadOnly = true;\r\n } else {\r\n col.isShow = false;\r\n }\r\n }\r\n });\r\n } else {\r\n if (jsonValue.action === \"readonly\") {\r\n e.isReadOnly = true;\r\n } else {\r\n e.isShow = false;\r\n }\r\n }\r\n }\r\n }\r\n return e;\r\n })\r\n );\r\n });\r\n });\r\n\r\n return _templateDesc;\r\n };\r\n\r\n const deserializeColumnJsonCondValue = (ColumnJsonCondValue: string) => {\r\n let jsonValue: any[] = [];\r\n if (!ColumnJsonCondValue) {\r\n return jsonValue;\r\n }\r\n let condValue = JSON.parse(ColumnJsonCondValue);\r\n if (!condValue) {\r\n return jsonValue;\r\n } else if (!condValue.Conditions && condValue.action) {\r\n jsonValue = [condValue];\r\n } else if (Array.isArray(condValue.Conditions)) {\r\n jsonValue = condValue.Conditions.filter((x: any) => x.action);\r\n }\r\n return jsonValue;\r\n };\r\n\r\n const detechFormulas = async (_templateId: number, templateDesc: any) => {\r\n let _formulas: any[] = [];\r\n let isSummary: boolean = false;\r\n let total = 0;\r\n for (let i = 0; i < templateDesc?.items?.length; i++) {\r\n const templateItems = templateDesc?.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const layout = templateItems.layout[j];\r\n let formu: INumberFormula;\r\n if (layout.template.type === \"c\") {\r\n if (\r\n layout.template.attribute.formula !== \"\" &&\r\n layout.template.attribute.formula !== null\r\n ) {\r\n formu = {\r\n formula: layout.template.attribute.formula,\r\n rowIndex: i,\r\n colIndex: j,\r\n };\r\n _formulas.push(formu);\r\n }\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIndex: number) => {\r\n if (col.control.template.type === \"c\") {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n const dataJsonApproverType = {\r\n TemplateId: _templateId,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(dataJsonApproverType);\r\n\r\n if (approverType) {\r\n const doa = approverType.find((e: any) => e.ApproveType === 21);\r\n if (doa) {\r\n isSummary = true;\r\n }\r\n }\r\n\r\n setIsShowSum(isSummary);\r\n setNumFormulas([..._formulas]);\r\n };\r\n\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n try {\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.template.attribute) {\r\n layout.template.attribute.formats.map((formats: any) => {\r\n for (let i = 0; i < formats.format.length; i++) {\r\n if (formats.format[i]) {\r\n formats.format.map((f: any) => {\r\n if (f.condition === \"Split\") {\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n setAutoNumFormat(_autoFormats);\r\n return _autoFormats;\r\n } catch (error) {\r\n console.error(\"auto=>error\", error);\r\n return _autoFormats;\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (_templateId: any, templateDesc: any) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n\r\n if ((layout.template.attribute.conditions || []).length > 0) {\r\n layout.template.attribute.conditions.map((con: any) => {\r\n templateDesc.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n const revision = await GetRvsRunning(requestBody);\r\n if (\r\n revision.item >\r\n templateDesc.items[rowIndex].layout[colIndex].data.value\r\n ) {\r\n templateDesc.items[rowIndex].layout[colIndex].data.value =\r\n revision.item;\r\n }\r\n }\r\n\r\n return templateDesc;\r\n } catch (error) {\r\n console.error(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n const prepareInitialLogic = async (\r\n logics: ILogic[],\r\n templateDesc: any,\r\n memoStatus?: string,\r\n requestor?: any,\r\n isRequestorChange?: boolean\r\n ) => {\r\n let dataGroup: any = [];\r\n let dataSourceLoadGroup: any[] = [];\r\n\r\n let eiei = JSON.stringify(templateDesc);\r\n\r\n let _templateDesc = JSON.parse(eiei);\r\n let table_dd_to_dd_Result: any[] = [];\r\n _templateDesc = {\r\n items: _templateDesc?.items?.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n if (_layout.template.type === \"tb\") {\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n col.isReadOnly = false;\r\n col.isShow = true;\r\n });\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n } else {\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n }\r\n\r\n return _layout;\r\n }),\r\n };\r\n }),\r\n };\r\n for (let i = 0; i < logics?.length; i++) {\r\n const logic = logics[i];\r\n\r\n if (logic.logictype === \"datasourceload\") {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.label) {\r\n dataSourceLoadGroup.push({\r\n isInTable: false,\r\n col: j,\r\n row: i,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n } else {\r\n for (\r\n let k = 0;\r\n k < _layout.template.attribute.column.length;\r\n k++\r\n ) {\r\n const column = _layout.template.attribute.column[k];\r\n if (column.label === jsonValue.label) {\r\n dataSourceLoadGroup.push({\r\n isInTable: true,\r\n col: j,\r\n row: i,\r\n tableColumn: k,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"role\") {\r\n let showTemplate: {\r\n isShow: boolean;\r\n pos: {\r\n row: number;\r\n col: number;\r\n tableCols?: number[];\r\n notUseCols?: number[];\r\n }[];\r\n readonly?: boolean;\r\n notInPos: { row: number; col: number }[];\r\n } = { isShow: false, pos: [], notInPos: [] };\r\n\r\n const jsonValue: ILogicTypeShowHide =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n if (jsonValue.action !== \"showpdf\") {\r\n if (jsonValue.roleids && jsonValue.roleids.length > 0) {\r\n let userRole: IRolePermission[] = [];\r\n let roles: IRolePermission[] = await GetRolePermission();\r\n roles.filter((r) => r.IsDelete === false);\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === userData.EmployeeId) {\r\n userRole.push(role);\r\n }\r\n }\r\n const isShow = onCheckUserRolePermissionInLogic(\r\n userRole,\r\n jsonValue.roleids\r\n );\r\n\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n }\r\n showTemplate.isShow = isShow;\r\n\r\n if (jsonValue.fieldaction) {\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const templateLayouts = templateItems.layout[j];\r\n if (field.lable === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n const selectedCol = field.column?.find(\r\n (col) => col.Key === e.control.template.label\r\n );\r\n if (selectedCol) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (showTemplate.pos.length > 0) {\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (\r\n _templateDesc.items[pos.row].layout[pos.col].template.type ===\r\n \"tb\"\r\n ) {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = true;\r\n _templateDesc.items[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column = _templateDesc.items[\r\n pos.row\r\n ].layout[pos.col].template.attribute.column.map(\r\n (column: any, colIndex: number) => {\r\n if (pos.tableCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.require = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"reference\") {\r\n let responseData: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = null;\r\n JSON.parse(logic.jsonvalue);\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n if (jsonValue.Filter.length > 0) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n responseData = await onProcessLogicReference(\r\n logic,\r\n _layout.template,\r\n _layout.data.value,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row ||\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n responseData = await onProcessLogicReferenceNoFilter(\r\n logic,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[responseData.col]\r\n .data.row ||\r\n _templateDesc.items[responseData.row].layout[responseData.col]\r\n .data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // else if (logic.logictype === \"datareladtoloaddata\") {\r\n // table_dd_to_dd_Result.push(logic);\r\n // }\r\n else if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n if (memoStatus === \"New Request\" || isRequestorChange) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.condition) {\r\n if (jsonValue.required === \"Requestor_Employee_code\") {\r\n _layout.data.value = requestor.EmployeeCode;\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Positon\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.PositionNameEn;\r\n } else {\r\n _layout.data.value = requestor.PositionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Division\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DivisionNameEn;\r\n } else {\r\n _layout.data.value = requestor.DivisionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Department\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DepartmentNameEn;\r\n } else {\r\n _layout.data.value = requestor.DepartmentNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Email\") {\r\n _layout.data.value = requestor.Email;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // else if (logic.logictype === \"datasourcerelated\") {\r\n // const logicRelated = logic;\r\n // const jsonValue: any =\r\n // logic.jsonvalue &&\r\n // logic.jsonvalue.length > 0 &&\r\n // JSON.parse(logic.jsonvalue);\r\n // let dataValue;\r\n // let actionDesCription = \"\";\r\n // for (let i = 0; i < _templateDesc.items.length; i++) {\r\n // const templateItems = _templateDesc.items[i];\r\n // for (let j = 0; j < templateItems.layout.length; j++) {\r\n // const _layout = templateItems.layout[j];\r\n\r\n // if (_layout.template.label === jsonValue.label) {\r\n // dataValue =\r\n // _layout.data.value || _layout.template.attribute?.default;\r\n // actionDesCription =\r\n // _layout.template.description ||\r\n // _layout.template.attribute?.description;\r\n // }\r\n // }\r\n // }\r\n // if (dataValue) {\r\n // const dataJson = {\r\n // Key: jsonValue.label,\r\n // Value: dataValue,\r\n // logicid: logicRelated.logicid,\r\n // };\r\n\r\n // const responseData = await onProcessLogicDataSourceRelated(\r\n // dataJson,\r\n // jsonValue,\r\n // templateDesc,\r\n // actionDesCription\r\n // );\r\n\r\n // if (responseData) {\r\n // let newControl = _templateDesc.items;\r\n\r\n // for (let i = 0; i < responseData.relateGroup.length; i++) {\r\n // const relateGroup = responseData.relateGroup[i];\r\n // for (let j = 0; j < responseData.data.length; j++) {\r\n // const relateData = responseData.data[j];\r\n // newControl[relateGroup.row].layout[relateGroup.col].data.value =\r\n // relateData[relateGroup.relateValue.value];\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n }\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataGroup.push({\r\n type: \"datasourceload\",\r\n dataGroup: dataSourceLoadGroup,\r\n });\r\n }\r\n\r\n const initialLogicData: any[] = await getInitialLogicData(dataGroup);\r\n\r\n for (let i = 0; i < initialLogicData.length; i++) {\r\n const logicData = initialLogicData[i];\r\n\r\n const processData = formatKeyLogicData(logicData);\r\n if (logicData.isInTable === false || logicData.isInTable === undefined) {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.items = processData.data;\r\n } else {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.column[\r\n processData.tableColumn\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n }\r\n setTableOptions([...new Set(table_dd_to_dd_Result)]);\r\n return _templateDesc;\r\n };\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicDataSourceRelated = async (\r\n dataJson: any,\r\n jsonValue: any,\r\n _templateDesc: any,\r\n actionDesCription: string\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n let relateValue = jsonValue?.relatedvalue[i];\r\n\r\n for (let j = 0; j < _templateDesc?.items?.length; j++) {\r\n const item = _templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n const tempDescription =\r\n layout.template.description ||\r\n layout.template.attribute?.description;\r\n\r\n if (\r\n layout.template.label === relateValue.label &&\r\n actionDesCription === tempDescription\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return responseDataSourceLoadRelated;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n _templateDesc: any,\r\n logic: ILogic,\r\n jsonValue: any,\r\n rowIdx: number\r\n ) => {\r\n const { dataJson, loadTo, actionFrom } = await onFindDataJson(\r\n _templateDesc,\r\n jsonValue,\r\n logic,\r\n rowIdx\r\n );\r\n\r\n if (dataJson) {\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const onFindDataJson = (\r\n templateDesc: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logic: any,\r\n rowIdx: number\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const conditions = jsonValue.conditions;\r\n const _templateDesc = templateDesc;\r\n\r\n conditions.forEach((e) => {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type === \"tb\") {\r\n for (let l = 0; l < _layout.template.attribute.column.length; l++) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (tbCol.control.template.label === e.label) {\r\n if (_layout.data.row) {\r\n let isKeyExists = false;\r\n const keyToPush = tbCol.control.template.label;\r\n // ตรวจสอบว่า key มีอยู่ใน response.dataJson อยู่แล้วหรือไม่\r\n for (let i = 0; i < response.dataJson.length; i++) {\r\n if (response.dataJson[i].Key === keyToPush) {\r\n isKeyExists = true;\r\n break;\r\n }\r\n }\r\n // ถ้า key ยังไม่มีอยู่ใน response.dataJson ให้ทำการ push\r\n if (!isKeyExists) {\r\n const valueToPush = _layout.data.row[rowIdx][l].value;\r\n console.log(\"_dataJson=>\", valueToPush);\r\n response.dataJson.push({\r\n Key: keyToPush,\r\n Value: valueToPush,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n // if (_layout.data.row) {\r\n\r\n // console.log(\"_dataJson=>\", _layout.data.row[rowIdx][l].value);\r\n // response.dataJson.push({\r\n // Key: tbCol.control.template.label,\r\n // Value: _layout.data.row[rowIdx][l].value,\r\n // logicid: logic.logicid,\r\n // });\r\n\r\n // }\r\n }\r\n if (\r\n jsonValue.autoloadvaluelabel.label ===\r\n tbCol.control.template.label\r\n ) {\r\n response.loadTo = {\r\n col: l,\r\n row: rowIdx,\r\n };\r\n }\r\n }\r\n } else {\r\n if (_layout.template.label === e.label) {\r\n response.dataJson.push({\r\n Key: e.label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n response.actionFrom = { row: j, col: i };\r\n }\r\n }\r\n });\r\n\r\n return response;\r\n };\r\n\r\n const getInitialLogicData = async (dataGroup: any) => {\r\n let dataSourceLoad: any = [];\r\n const dataSourceLoadGroup: any[] = dataGroup.filter(\r\n (group: any) => group.type === \"datasourceload\"\r\n );\r\n\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataSourceLoad = await onDataSourceLoad(dataSourceLoadGroup);\r\n }\r\n return [...dataSourceLoad];\r\n };\r\n\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n function onCheckUserRolePermissionInLogic(\r\n userRoles: IRolePermission[],\r\n accessRoles: {\r\n id: number;\r\n }[]\r\n ) {\r\n for (let i = 0; i < userRoles.length; i++) {\r\n const userRole = userRoles[i];\r\n for (let j = 0; j < accessRoles.length; j++) {\r\n const accessRole = accessRoles[j];\r\n if (userRole.RoleId === Number(accessRole.id)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n const onFilterLoadtoField = (label: string, templateDesc: any) => {\r\n for (let i = 0; i < templateDesc.length; i++) {\r\n const item = templateDesc[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.label === label) {\r\n return { row: i, col: j };\r\n }\r\n }\r\n }\r\n };\r\n const onFilterRefFilterField = (\r\n refFilter: ILogicReferenceField[],\r\n currentFieldValue: any\r\n ) => {\r\n let _refFilter: ILogicReferenceField[] = [];\r\n\r\n for (let i = 0; i < currentFieldValue.length; i++) {\r\n const item = currentFieldValue[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n for (let i = 0; i < refFilter.length; i++) {\r\n const _ref = refFilter[i];\r\n if (_ref.TBColumn === layout.template.label) {\r\n _refFilter.push({\r\n MSTColumn: _ref.MSTColumn,\r\n TBColumn: layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n return _refFilter;\r\n };\r\n const onLoadReferenceData = async (dataJson: {\r\n jsonValue: ILogicTypeReference;\r\n refFilter: ILogicReferenceField[];\r\n }) => {\r\n let orCondition = \"\";\r\n const refFilterValueEqualComlumAll = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn === dataJson.jsonValue.ColumnAll\r\n );\r\n if (refFilterValueEqualComlumAll.length > 0) {\r\n for (let i = 0; i < refFilterValueEqualComlumAll.length; i++) {\r\n const ref = refFilterValueEqualComlumAll[i];\r\n orCondition = `(${ref.MSTColumn}='${ref.TBColumn}' OR ${dataJson.jsonValue.ColumnAll}='All')`;\r\n }\r\n }\r\n\r\n let condition = \"\";\r\n\r\n let refFilterValue: ILogicReferenceField[] = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn !== dataJson.jsonValue.ColumnAll\r\n );\r\n\r\n for (let i = 0; i < refFilterValue.length; i++) {\r\n const ref = refFilterValue[i];\r\n if (i !== refFilterValue.length - 1) {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"' AND \";\r\n } else {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"'\";\r\n }\r\n }\r\n if (refFilterValue.length === 0) {\r\n condition = \"1 = 1\";\r\n }\r\n\r\n const _dataJson = {\r\n ...dataJson.jsonValue,\r\n orCondition,\r\n condition,\r\n };\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicReference = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFilter = onFilterRefFilterField(jsonValue.Filter, control);\r\n\r\n if (\r\n refFilter.length > 0 &&\r\n loadTo &&\r\n jsonValue.Filter.filter((_ref) => _ref.TBColumn === controlTemplate.label)\r\n .length > 0\r\n ) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onProcessLogicReferenceNoFilter = async (\r\n logic: ILogic,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFil: any = jsonValue.Filter;\r\n\r\n if (loadTo && jsonValue.Filter.length === 0) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter: refFil,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onControlChange = async (\r\n controlName: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => {\r\n if (controlValue === \"FA | Financial and Accounting\") {\r\n const _controlString = JSON.stringify(getValues(\"items\"));\r\n let _control = JSON.parse(_controlString);\r\n _control[1].layout[1].data.value = \"100\";\r\n controlUpdate(1, {\r\n ..._control[1],\r\n layout: [..._control[1].layout],\r\n });\r\n }\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n let responseGroup: any[] = [];\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i].dataGroup;\r\n let dataJson: any[] = [];\r\n\r\n for (let j = 0; j < dataSource.length; j++) {\r\n let jsonValue: any = JSON.parse(dataSource[j].jsonValue);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n // test json\r\n body: JSON.stringify({\r\n logicid: dataSource[j].data,\r\n Key: jsonValue.SQLCommand || jsonValue ? \"Requestor id\" : \"\",\r\n Value:\r\n jsonValue.SQLCommand || jsonValue\r\n ? memoDetail?.requestor === undefined\r\n ? userData.EmployeeId.toString()\r\n : memoDetail?.requestor.EmployeeId.toString()\r\n : \"\",\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (!dataSource[j].isInTable) {\r\n responseGroup.push({\r\n isInTable: dataSource.isInTable,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n } else {\r\n responseGroup.push({\r\n isInTable: dataSource[j].isInTable,\r\n tableColumn: dataSource[j].tableColumn,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n return responseGroup;\r\n };\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (!isEmptyObject(requestor)) {\r\n checkedLeaveTemplateLogic(requestor);\r\n }\r\n\r\n if (memoDetail?.memoid === 0) {\r\n if (memoDetail?.checkChangeComp !== true) {\r\n if (\r\n requestor.CompanyNameTh === \"\" ||\r\n requestor.CompanyNameEn === \"\"\r\n ) {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = requestor.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = requestor.CompanyNameTh;\r\n }\r\n memoDetail.company_id = requestor.CompanyId;\r\n }\r\n }\r\n }\r\n });\r\n }, [requestor]);\r\n async function checkedLeaveTemplateLogic(_requestor: any) {\r\n if (checkedLeaveTemplate) {\r\n var _responeData = await GetLeaveTemplateByEmpId(_requestor.EmployeeId);\r\n\r\n setLeaveTypeTable(_responeData);\r\n }\r\n const temp = await prepareInitialLogic(\r\n allLogic,\r\n memoDetail.template_desc,\r\n memoDetail.statusm,\r\n memoDetail.requestor\r\n );\r\n memoDetail.template_desc = temp;\r\n setMemoDetail(memoDetail);\r\n\r\n // for MBK SITE only\r\n if (mbkOnlyU !== null && mbkOnlyU.length > 0) {\r\n if (mbkOnlyU[0].Value1 === \"True\") {\r\n reset(temp);\r\n }\r\n }\r\n }\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n } else {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n async function renderSelectedRequestor(_requestor: any) {\r\n try {\r\n // initial save JsonCondition(logictype=\"datalineapprove\") when change requestor\r\n // when change requestor the current level must be 0\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n current_approval_level: 0,\r\n }));\r\n\r\n if (checkActionPage) {\r\n if (memoDetail) {\r\n let allTemplateControl: any;\r\n if (memoDetail.template_desc.items) {\r\n allTemplateControl = memoDetail.template_desc.items.map(\r\n (item: any) => {\r\n return item;\r\n }\r\n );\r\n } else {\r\n allTemplateControl = \"\";\r\n }\r\n const logicRefInfomation = allLogic.filter((item: any, idx: any) => {\r\n return item.logictype === \"refinfomation\";\r\n });\r\n // //if change requestor run allLogic\r\n if (logicRefInfomation) {\r\n if (memoDetail.template_desc) {\r\n const temp = memoDetail;\r\n for (let i = 0; i < memoDetail.template_desc.length; i++) {\r\n const templateItems = memoDetail.template_desc[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n logicRefInfomation.forEach(async (refInfor: any) => {\r\n const logicRefInformation = JSON.parse(\r\n refInfor.jsonvalue\r\n );\r\n if (\r\n _layout.template.label === logicRefInformation.condition\r\n ) {\r\n if (\r\n logicRefInformation.required ===\r\n \"Requestor_Employee_code\"\r\n ) {\r\n _layout.data.value = _requestor.EmployeeCode;\r\n } else if (\r\n logicRefInformation.required === \"Requestor_Name\"\r\n ) {\r\n if (_requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = _requestor.NameEn;\r\n } else {\r\n _layout.data.value = _requestor.NameTh;\r\n }\r\n } else if (\r\n logicRefInformation.required === \"Requestor_Positon\"\r\n ) {\r\n if (_requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = _requestor.PositionNameEn;\r\n } else {\r\n _layout.data.value = _requestor.PositionNameTh;\r\n }\r\n } else if (\r\n logicRefInformation.required === \"Requestor_Division\"\r\n ) {\r\n if (_requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = _requestor.DivisionNameEn;\r\n } else {\r\n _layout.data.value = _requestor.DivisionNameTh;\r\n }\r\n } else if (\r\n logicRefInformation.required ===\r\n \"Requestor_Department\"\r\n ) {\r\n if (_requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = _requestor.DepartmentNameEn;\r\n } else {\r\n _layout.data.value = _requestor.DepartmentNameTh;\r\n }\r\n } else if (\r\n logicRefInformation.required === \"Requestor_Email\"\r\n ) {\r\n _layout.data.value = _requestor.Email;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n temp.requestor = _requestor;\r\n temp.template_desc = memoDetail.template_desc;\r\n\r\n if (allLogic.length > 0) {\r\n const resTemp = await prepareInitialLogic(\r\n allLogic,\r\n temp.template_desc,\r\n undefined,\r\n temp.requestor,\r\n true\r\n );\r\n setDefaultTemplateDesc(resTemp.items);\r\n }\r\n }\r\n }\r\n const logicDataLineApprove = allLogic.find((item: any) => {\r\n return item.logictype === \"datalineapprove\";\r\n });\r\n\r\n if (logicDataLineApprove) {\r\n const logiceiei = JSON.parse(logicDataLineApprove.jsonvalue);\r\n memoDetail.template_desc.items.map(async (detail: any) => {\r\n const desc = detail.layout.find(\r\n (item: any) => item.template.label === logiceiei.label\r\n );\r\n if (desc) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logicDataLineApprove,\r\n desc,\r\n desc.data.value,\r\n allTemplateControl\r\n );\r\n\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n responseData,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n });\r\n } else {\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n undefined,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"renderSelectedRequestor=>error\", error);\r\n }\r\n }\r\n\r\n async function checkTemplateVersion(listFormName: any, memoDetail: any) {\r\n if (listFormName.IsFormControl) {\r\n const _templateApproveId = Number(memoDetail.TemplateApproveId);\r\n let _listTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.EmployeeId.toString(),\r\n });\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n let arrayEditingVersion = [];\r\n let arrayEditing = [];\r\n for (let i = 0; i < _listTemplate.length; i++) {\r\n const element = _listTemplate[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n if (_element.value3 === \"Editing\")\r\n arrayEditingVersion.push(element);\r\n }\r\n }\r\n }\r\n\r\n setTemplateListVersion(arrayEditingVersion);\r\n let _responseTemplate: any;\r\n if (memoDetail.TemplateApproveId) {\r\n _responseTemplate = await SearchTemplateListEditing({\r\n TemplateId: _templateApproveId,\r\n });\r\n if (_responseTemplate) {\r\n _responseTemplate = await GetTemplateById({\r\n TemplateId: _templateApproveId,\r\n });\r\n }\r\n\r\n if (_responseTemplate[0]) {\r\n setSelectedTemplateVersion(_responseTemplate[0]);\r\n } else {\r\n setSelectedTemplateVersion(_responseTemplate);\r\n }\r\n }\r\n setIsTemplateVersion(true);\r\n }\r\n }\r\n\r\n const checkLeaveRequestTemplate = async (template_code: string) => {\r\n var _lRTempCode = lRTempCode;\r\n if (_lRTempCode) {\r\n for (let index = 0; index < _lRTempCode.length; index++) {\r\n if (_lRTempCode[index].Value1 === template_code) {\r\n setCheckedLeaveTemplate(true);\r\n } else {\r\n setCheckedLeaveTemplate(false);\r\n }\r\n }\r\n }\r\n };\r\n const replaceTitleInfo = async (memoDetail: IMemoDetailModel) => {\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle?.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle?.activeADTitleToPosition?.toLowerCase() === \"false\") {\r\n if (memoDetail?.requestor?.ADTitle) {\r\n setIsADTitleToPosition(true);\r\n }\r\n }\r\n };\r\n const checkDataAndSetFunction = async (memoDetail: IMemoDetailModel) => {\r\n if (!memoDetail.template_detail || !memoDetail.document_set) {\r\n const _guid = generateQuickGuid();\r\n memoDetail.template_detail = _guid;\r\n memoDetail.document_set = _guid;\r\n }\r\n\r\n if (memoDetail.memoid === 0) {\r\n if (userData.CompanyNameTh === \"\" || userData.CompanyNameEn === \"\") {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = userData.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = userData.CompanyNameTh;\r\n }\r\n memoDetail.company_id = userData.CompanyId;\r\n }\r\n }\r\n\r\n if (memoDetail.project_id !== 0) {\r\n masterProjects.map((_item: any) => {\r\n if (memoDetail.project_id === _item.ProjectId) {\r\n setProject(_item);\r\n }\r\n });\r\n }\r\n if (memoDetail.to) {\r\n const _spited = memoDetail.to.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: _spited,\r\n }));\r\n }\r\n if (memoDetail.pass) {\r\n const _spited = memoDetail.pass.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: _spited,\r\n }));\r\n }\r\n };\r\n const checkState = async (\r\n memoStatus: string,\r\n listFormName: any,\r\n memoButtons: any[]\r\n ) => {\r\n let roles: number[] = await GetRolePermission().then((e) => {\r\n console.log(e.filter((r: any) => r.EmployeeId === userData.EmployeeId));\r\n\r\n return Array.from(\r\n new Set(\r\n e\r\n .filter((r: any) => r.EmployeeId === userData.EmployeeId)\r\n .map((r: any) => r.RoleId)\r\n )\r\n );\r\n });\r\n let _memoButtons = memoButtons.filter((x) => x.commandName != \"recall\");\r\n if (\r\n memoStatus === \"Draft\" ||\r\n memoStatus === \"New Request\" ||\r\n memoStatus === \"Rework\" ||\r\n memoStatus === \"Recall\"\r\n ) {\r\n setCanEditDoc(true);\r\n setCanEditRefDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(listFormName.IsRequesterEditApproval);\r\n }\r\n } else if (\r\n memoStatus === \"Completed\" ||\r\n memoStatus === \"Rejected\" ||\r\n memoStatus === \"Cancelled\"\r\n ) {\r\n if (_memoButtons.length > 0) {\r\n setCanEditDoc(true);\r\n }\r\n setCanEditLineApprove(false);\r\n } else {\r\n if (listFormName.ApproverCanEdit) {\r\n setCanEditDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(\r\n listFormName.IsRequesterEditApproval && _memoButtons.length > 0\r\n );\r\n }\r\n } else {\r\n setCanEditDoc(false);\r\n }\r\n if (listFormName.IsCheckAccess) {\r\n setIsCheckAccess(true);\r\n }\r\n }\r\n\r\n if (roles.includes(1)) {\r\n setUserData({ ...userData, IsAdmin: true });\r\n setCanEditLineApprove(true);\r\n } else {\r\n setUserData({ ...userData, IsAdmin: false });\r\n }\r\n\r\n //Skipapm\r\n if (skipapm.length > 0) {\r\n setIsSkipapm(skipapm.some((e) => e === listFormName?.DocumentCode));\r\n }\r\n };\r\n async function checkRefTemplate(\r\n template: any,\r\n listRefDocDetails: any,\r\n refDocs: any,\r\n _RefID: string\r\n ) {\r\n const temp = template;\r\n try {\r\n if (temp) {\r\n if (temp?.RefDocDisplay && temp.RefTemplate) {\r\n let _refDoc: any[] = [];\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n const _refTemplate = JSON.parse(temp.RefTemplate);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n refDocs.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n ref[display[2]] = ref.SelectField.value;\r\n if (typeof ref[display[2]] === \"string\") {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _refDoc = refDocs;\r\n }\r\n\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\"\r\n ? display[2]\r\n : \"DocumentNo\",\r\n isDefaultLineApprove: _refTemplate[0].IsDefaultLineApprove,\r\n refIdOnQuery: null,\r\n };\r\n setRefOptions([..._refDoc.filter((e: any) => e)]);\r\n if (_RefID !== \"\") {\r\n const results = _refDoc.filter(\r\n (refDoc: any) => refDoc.DocumentNo === _RefID\r\n );\r\n refObject.refIdOnQuery = _RefID;\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n } else if (listRefDocDetails?.length > 0) {\r\n const refDocsDetail: any[] = listRefDocDetails;\r\n let results = refDocs.filter(\r\n (refDoc: any) =>\r\n refDocsDetail.find(\r\n (docDetail: any) => docDetail.memoRefdoc_id === refDoc.MemoId\r\n ) || refDoc.DocumentNo === _RefID\r\n );\r\n if (results.length === 0) {\r\n let dataJson: any[] = [];\r\n listRefDocDetails.forEach((e: any) => {\r\n userData.SignPicPath = \"\";\r\n dataJson.push({\r\n memoid: e.memoRefdoc_id,\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n });\r\n });\r\n results = await GetMemoDetailOnlyById(dataJson);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n results = results.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.Template_desc);\r\n refTemp.items.forEach((col: any, rowIdx: number) => {\r\n col.layout.forEach((_layout: any, colIdx: number) => {\r\n if (_layout.template.label === display[2]) {\r\n if (_layout.template.type === \"c\") {\r\n ref[display[2]] = Number(\r\n _layout.data.value\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n _layout.template.attribute.decimal\r\n ),\r\n });\r\n } else {\r\n if (_layout.data.value) {\r\n ref[display[2]] = _layout.data.value;\r\n } else {\r\n ref[display[2]] = \"\";\r\n }\r\n }\r\n }\r\n });\r\n });\r\n if (typeof ref[display[2]] === \"string\") {\r\n let res: any = {\r\n MemoId: ref.Memoid,\r\n เลขที่เอกสาร: ref.doc_no,\r\n TemplateName: ref.Template_name,\r\n MemoSubject: ref.Subject,\r\n };\r\n res[display[2]] = ref[display[2]];\r\n return res;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n }\r\n setRefAttribute({ ...refObject });\r\n setSearchRefDocData([..._refDoc]);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttribute(undefined);\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n const print = () => {\r\n // console.log(\"---------------------MemoPage Value-----------------------\");\r\n console.log(\"memoDetail=>\", memoDetail);\r\n // console.log(\"checkActionPage=>\", checkActionPage);\r\n // console.log({ errors });\r\n // console.log(\"lineApproval=>\", lineApproval);\r\n console.log(\"listFormNames=>\", listFormNames);\r\n // console.log(\"listHistoryDetails=>\", listHistoryDetails);\r\n // console.log(\"listFileAttachDetails=>\", listFileAttachDetails);\r\n // console.log(\"listRefDocDetails=>\", listRefDocDetails);\r\n // console.log(\"---------------------RefDoc Attibute-----------------------\");\r\n console.log(\"refAttibute=>\", refAttribute);\r\n console.log(\"refTempSelected=>\", refTempSelected);\r\n console.log(\"searchRefDocData=>\", searchRefDocData);\r\n\r\n // console.log(\"---------------------MasterData-----------------------\");\r\n // console.log(\"masterSignature=>\", masterSignature);\r\n // console.log(\"validField\", masterDataValidField);\r\n // console.log(\"masteProjects=>\", masteProjects);\r\n // console.log(\"masteEmployee=>\", masteEmployee);\r\n // console.log(\"masteCompanies=>\", masteCompanies);\r\n // console.log(\"searchTemplateListEditing=>\", searchTemplateListEditing);\r\n // console.log(\"menuButton=>\", menuButton);\r\n console.log(\"allLogic=>\", allLogic);\r\n // console.log(\"finFo=>\", finFo);\r\n // console.log(\"listRefDocs=>\", listRefDocs);\r\n // console.log(\"---------------------Can Edit-----------------------\");\r\n // console.log(\"canEditDoc=>\", canEditDoc);\r\n // console.log(\"table=>tableSummaries\", tableSummaries);\r\n // console.log(\"autoNumFormat=>\", autoNumFormat);\r\n };\r\n function dataGetInformationMethodMemoProp(\r\n listFormName: any,\r\n memoDetail: IMemoDetailModel\r\n ) {\r\n memoDetail.memoid = 0;\r\n memoDetail.request_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.created_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.status = \"New Request\";\r\n memoDetail.modified_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.modified_by = userData.EmployeeId.toString();\r\n memoDetail.created_by = userData.EmployeeId.toString();\r\n memoDetail.creator = userData;\r\n memoDetail.requestor = userData;\r\n memoDetail.report_lang = listFormName.ReportLang;\r\n memoDetail.auto_approve = listFormName.AutoApprove;\r\n memoDetail.auto_approve_when = listFormName.AutoApproveWhen;\r\n memoDetail.GroupTemplateName = listFormName.GroupTemplateName;\r\n memoDetail.template_id = listFormName.TemplateId;\r\n memoDetail.template_name = listFormName.TemplateName;\r\n memoDetail.template_code = listFormName.DocumentCode;\r\n memoDetail.document_no = \"Auto Generate\";\r\n memoDetail.waiting_for = userData.NameTh;\r\n memoDetail.waiting_for_id = userData.EmployeeId;\r\n memoDetail.company_name = \"\";\r\n memoDetail.company_id = 0;\r\n memoDetail.project_id = 0;\r\n memoDetail.project = \"\";\r\n memoDetail.subject = listFormName.TemplateSubject;\r\n memoDetail.amount = \"\";\r\n memoDetail.to = listFormName.ToId;\r\n memoDetail.pass = listFormName.CcId;\r\n }\r\n\r\n function toggleSideBar() {\r\n setSidebarState(!sidebarState);\r\n }\r\n\r\n const onSelectView = (text: string) => {\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n\r\n const createTableSums = (templateDesc: any) => {\r\n let sumIntable: any[] = [];\r\n templateDesc?.items?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"tb\") {\r\n const cols = layout.template.attribute.column;\r\n let sum: any = {};\r\n cols.forEach((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n sum[e.label] = 0;\r\n }\r\n });\r\n sumIntable.push({ tableTemp: layout.template, AllCol: sum });\r\n }\r\n });\r\n });\r\n\r\n setTableSummaries([...sumIntable]);\r\n };\r\n\r\n function CheckValidField(formData: any) {\r\n const getCheckValid = [];\r\n let datepicker1: any;\r\n let datepicker2: any;\r\n let datepickerLabel1: any;\r\n let datepickerLabel2: any;\r\n if (masterDataValidField) {\r\n try {\r\n const ValidField = masterDataValidField[0];\r\n const masterDataValid = ValidField.Value2.split(\"|\");\r\n const masterDataLabel1 = masterDataValid[0].toString();\r\n const masterDataLabel2 = masterDataValid[1].toString();\r\n\r\n setMessageValidField(masterDataValidField[0].Value4);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.template.label === masterDataLabel1) {\r\n datepicker1 = layout;\r\n datepickerLabel1 = datepicker1.template.label;\r\n }\r\n if (layout.template.label === masterDataLabel2) {\r\n datepicker2 = layout;\r\n datepickerLabel2 = datepicker2.template.label;\r\n }\r\n });\r\n });\r\n if (\r\n datepickerLabel1 === masterDataLabel1 &&\r\n datepickerLabel2 === masterDataLabel2\r\n ) {\r\n let newDate1 = new Date(datepicker1.data.value);\r\n let newDate2 = new Date(datepicker2.data.value);\r\n getCheckValid.push(newDate1, newDate2);\r\n }\r\n } catch (error) {\r\n console.error(\"masterDataValid=>error\", error);\r\n }\r\n }\r\n return getCheckValid;\r\n }\r\n\r\n const onSubmit = async (formData: any, data: IRequestOnSubmit) => {\r\n // variables RequestScreen\r\n\r\n const _submitType = data.buttonType;\r\n let _memoDetail: IMemoDetailModel = memoDetail;\r\n let _lineApproval: any[] = lineApproval;\r\n let dateValidField1: any = CheckValidField(formData)[0];\r\n let dateValidField2: any = CheckValidField(formData)[1];\r\n let _listHistoryDetails: any[] = listHistoryDetails;\r\n let _listFileAttachDetails: any[] = listFileAttachDetails;\r\n let _listRefDocDetails: any[] = listRefDocDetails;\r\n let _listControlRunning: any[] = [];\r\n let _listFormNames = listFormNames;\r\n let _userData: IUserModel = userData;\r\n // variables Information\r\n let _listInToAndPass: any = listInToAndPass;\r\n let _project: any = project;\r\n let _tempVersion: any = selectedTemplateVersion;\r\n let message: any = masterDataValidField\r\n ? masterDataValidField[0]\r\n ? masterDataValidField[0].Value4\r\n : \"\"\r\n : \"\";\r\n // test validatt\r\n const dataJson = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n let _templateIdList: any = await GetTemplateControlById(dataJson);\r\n const _validation = Validation(\r\n _submitType,\r\n memoDetail,\r\n lineApproval,\r\n dateValidField1,\r\n dateValidField2,\r\n message\r\n );\r\n if (\r\n _templateIdList.templateForm?.RequiredAttachment === true &&\r\n _listFileAttachDetails.length === 0\r\n ) {\r\n if (_submitType !== \"draft\") {\r\n toggleAlert({\r\n description: `Required Attachment`,\r\n message: `Required Attachment.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n setLoad(true);\r\n\r\n if (!isTextFromValue) {\r\n CheckValidField(formData);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.data.value === null) {\r\n layout.data.value = layout.template?.attribute?.default;\r\n }\r\n });\r\n });\r\n\r\n const formatFormData = formData?.items?.map((item: any, idx: number) => {\r\n return {\r\n ...item,\r\n layout: item.layout?.map((_layout: any, idx2: number) => {\r\n if (_layout.template.type === \"l\") {\r\n return {\r\n ..._layout,\r\n template: {\r\n ..._layout.template,\r\n [\"attribute\"]: null,\r\n },\r\n };\r\n } else {\r\n return _layout;\r\n }\r\n }),\r\n };\r\n });\r\n\r\n _memoDetail.template_desc = JSON.stringify({ items: formatFormData });\r\n } else {\r\n _memoDetail.is_text_form = true;\r\n _memoDetail.template_desc = textFromValue;\r\n }\r\n\r\n if (_validation.length >= 1) {\r\n toggleAlert({\r\n description: `Please fill ${_validation.join(\" , \")}`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n\r\n //set Value\r\n _memoDetail.comment = data?.inputComment || \"\";\r\n _memoDetail.waiting_for = data?.waitingFor || _userData.NameTh;\r\n _memoDetail.waiting_for_id = data?.waitingForId || _userData.EmployeeId;\r\n _memoDetail.to = _listInToAndPass.to.join(\",\");\r\n _memoDetail.pass = _listInToAndPass.pass.join(\",\");\r\n _memoDetail.project_id = _project?.ProjectId || 0;\r\n _memoDetail.project = _project?.ProjectName || \"\";\r\n _memoDetail.TemplateApproveId = _tempVersion?.TemplateId || null;\r\n _memoDetail.actor = _userData;\r\n\r\n if (\r\n autoNumFormat.rowIndex !== -1 &&\r\n _memoDetail.status === \"New Request\" &&\r\n _submitType !== \"rework\" &&\r\n _submitType !== \"recall\" &&\r\n _submitType !== \"return\" &&\r\n _submitType !== \"reply\"\r\n ) {\r\n const runningNumber = await CheckSaveAutonumber(formData);\r\n if (runningNumber) {\r\n _listControlRunning.push(runningNumber);\r\n }\r\n }\r\n if (_listFormNames.IsCheckAccess) {\r\n if (_memoDetail?.actorCheckAccess) {\r\n const checkAccessRequestModel = {\r\n memoid: _memoDetail.memoid?.toString(),\r\n RequesterId: null,\r\n };\r\n\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n if (canEditDoc) {\r\n setCanEditDoc(false);\r\n }\r\n }\r\n }\r\n\r\n const _requestMemoPage = {\r\n MemoPage: {\r\n listApprovalDetails: _lineApproval,\r\n listFileAttachDetails: _listFileAttachDetails,\r\n listFormName: [_listFormNames],\r\n listHistoryDetails: _listHistoryDetails,\r\n listRefDocDetails: _listRefDocDetails,\r\n memoDetail: _memoDetail,\r\n listControlRunning: _listControlRunning,\r\n UserPrincipalName: userData.Email,\r\n },\r\n Type: _submitType,\r\n };\r\n let _respone = await ActionMemoPage(_requestMemoPage);\r\n if (_respone) {\r\n setActionAlert(_respone);\r\n }\r\n const _checkRespone = ResponeValidation(_respone);\r\n\r\n if (checkRequestActionMemo) {\r\n history.push(\"/RequestActionMemo\");\r\n }\r\n //success\r\n else if (_checkRespone) {\r\n if (checkActionPage === \"edit\" && _submitType === \"draft\") {\r\n checkQuery();\r\n setLoadingPDF(!loadingPDF);\r\n } else {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${_submitType} Success`,\r\n });\r\n }\r\n setLoad(false);\r\n }\r\n // something is wrong\r\n else {\r\n toggleAlert({\r\n description: `${_respone.Message}`,\r\n message: `Submit error.`,\r\n type: \"error\",\r\n duration: 99999999,\r\n });\r\n }\r\n setLoad(false);\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (memoDetail?.actorCheckAccess?.EmployeeId === userData.EmployeeId) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const CheckSaveAutonumber = async (template_desc: any) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value =\r\n template_desc?.items[rowIndex]?.layout[colIndex]?.data?.value;\r\n const autoTemp = template_desc?.items[rowIndex]?.layout[colIndex];\r\n if (value) {\r\n let requestBody = null;\r\n let newRunning = -1;\r\n if (autoNumFormat.showSymbol) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = gg.join(\"-\") + \"-\" + newRunning;\r\n }\r\n } else {\r\n requestBody = {\r\n Prefix: autoNumFormat.fisrtPreix,\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: value,\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n let dd = value.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n if (checkNum !== \"\") {\r\n newRunning = checkNum;\r\n dd = newRunning;\r\n if (autoNumFormat?.fisrtPreix) {\r\n requestBody.RunningNumber =\r\n autoNumFormat?.fisrtPreix + newRunning;\r\n }\r\n }\r\n }\r\n\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n\r\n if (!memoDetail) {\r\n return <>;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n {!isLoad && (\r\n \r\n {checkActionPage === \"add\" && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n\r\n {((checkActionPage === \"edit\" && !memoDetail?.actorCheckAccess) ||\r\n IsCheckAccessEditing()) && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && (\r\n <>\r\n {loadingPDF && (\r\n \r\n )}\r\n {!loadingPDF && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n {!isLoad && (\r\n <>\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n print()}\r\n key={selectedView}\r\n initial={{ x: 10, opacity: 0 }}\r\n // whileFocus={{transition: {duration: 0}}}\r\n animate={{ x: 0, opacity: 1 }}\r\n exit={{ x: -10, opacity: 0 }}\r\n transition={{ duration: duration }}\r\n >\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n setDuration(0.2)}\r\n onFocusProps={() => setDuration(0)}\r\n {...{\r\n getValues,\r\n tableOptions,\r\n setTableOptions,\r\n onProcessLogicReference,\r\n refOptions,\r\n prepareInitialLogic,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n isShowSum,\r\n previousView,\r\n buttonType,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n errors,\r\n onControlChange,\r\n allLogic,\r\n reset,\r\n memoDetail,\r\n jsonConditions,\r\n setJsonConditions,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n isControlLoading,\r\n setIsControlLoading,\r\n tableSummaries,\r\n setTableSummaries,\r\n }}\r\n memoDetail={memoDetail}\r\n setMemoDetail={setMemoDetail}\r\n masterCompanies={masterCompanies}\r\n masterEmployee={masterEmployee}\r\n setListInToAndPass={setListInToAndPass}\r\n listInToAndPass={listInToAndPass}\r\n masterProjects={masterProjects}\r\n setProject={setProject}\r\n project={project}\r\n finFo={finFo}\r\n isBranchFromADTitle={isBranchFromADTitle}\r\n checkedLeaveTemplate={checkedLeaveTemplate}\r\n leaveTypeTable={leaveTypeTable}\r\n isTextFromValue={isTextFromValue}\r\n setTextFromValue={setTextFromValue}\r\n textFromValue={textFromValue}\r\n refTempSelected={refTempSelected}\r\n setRefTempSelected={setRefTempSelected}\r\n setSearchRefDocData={setSearchRefDocData}\r\n searchRefDocData={searchRefDocData}\r\n refAttribute={refAttribute}\r\n setSelectedTemplateVersion={setSelectedTemplateVersion}\r\n selectedTemplateVersion={selectedTemplateVersion}\r\n templateListVersion={templateListVersion}\r\n isTemplateVersion={isTemplateVersion}\r\n dialogVisibleInRefTemplate={dialogVisibleInRefTemplate}\r\n setDialogVisibleInRefTemplate={\r\n setDialogVisibleInRefTemplate\r\n }\r\n getLineApproveForAmount={getLineApproveForAmount}\r\n autoNumFormat={autoNumFormat}\r\n lineApproval={lineApproval}\r\n t={t}\r\n actionAlert={actionAlert}\r\n setButtonType={setButtonType}\r\n setEmployeeList={setEmployeeList}\r\n employeeList={employeeList}\r\n edFont={rishFont}\r\n defaultFont={defaultFont}\r\n />\r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && selectedView === \"5\" && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default RequestScreenFix;\r\n","export const UpdateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/UpdateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const CreateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/CreateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport {\r\n CreateWOLFAccount,\r\n UpdateWOLFAccount,\r\n} from \"../../../Services/AcountService\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const AccountDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: props.formData,\r\n });\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const onsubmit = async (data: any) => {\r\n let result;\r\n let isError = true;\r\n const _baseUrl = window.location.hostname;\r\n\r\n data.Remark =\r\n process.env.NODE_ENV === \"development\"\r\n ? \"devr2.wolfapprove.com\"\r\n : _baseUrl;\r\n if (\r\n data.NewPassword &&\r\n data.NewPassword !== \"\" &&\r\n data.ConfirmNewPassword &&\r\n data.ConfirmNewPassword !== \"\"\r\n ) {\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.Password = props.formData.Password;\r\n } else if (data.NewPassword && data.NewPassword !== \"\") {\r\n setError(\"ConfirmNewPassword\", {\r\n type: \"custom\",\r\n message: \"Confirm Password is required.\",\r\n });\r\n isError = false;\r\n } else {\r\n const _baseUrl = window.location.hostname;\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.NewPassword = null;\r\n data.ConfirmNewPassword = null;\r\n\r\n data.Password = props.formData.Password;\r\n }\r\n console.log(\"table=>data\", data);\r\n if (isError) {\r\n if (action === \"add\") {\r\n result = await CreateWOLFAccount(data);\r\n } else {\r\n result = await UpdateWOLFAccount(data);\r\n }\r\n if (result.Remark === \"\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: result.Remark,\r\n message: `Warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"ConfirmNewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [obtionList, setObtionList] = useState({});\r\n const [copyFormdata, setCopyFormdata] = useState({});\r\n const [userData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else if (col.key.includes(\"IsActive\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"boolean\",\r\n index: index,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n // setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n return _dynamicColumnsGrid(grids);\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"ProjectNameWithCode\", \"ชื่อ-และรหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectCode\", \"รหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectName\", \"ชื่อโครงการ\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"add\") {\r\n formData[props.apiName + \"Id\"] = 0;\r\n formData[\"CreatedBy\"] = userData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n } else {\r\n formData = copyFormdata;\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res?.errorMessage || res}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n\r\n setCopyFormdata(formData);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
{getColumns()}
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","export const GetUserManualList = async () => {\r\n const respone = await fetch(\"api/UserManual/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n // .filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddUserManual = async (formData: any) => {\r\n const respone = await fetch(\"api/UserManual/AddUserManual\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(formData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { AddUserManual } from \"../../../Services/UserManualService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport \"./UserManualDialog.css\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\n\r\ntype Props = {\r\n // visible: any;\r\n // onHide: () => void;\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n};\r\n\r\ninterface IUserManualForm {\r\n ActorId: number;\r\n ActorName: string;\r\n UserManualGroupName: string;\r\n AttachedDate: string;\r\n AttachFile: string;\r\n FileName: string;\r\n FileDescription: string;\r\n FilePath: string;\r\n TagKeyword: string;\r\n Sep: number;\r\n OrderItem: number;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n IsActive: boolean;\r\n}\r\ninterface IfileName {\r\n fileName: string;\r\n pathUrl: string;\r\n result: boolean;\r\n}\r\nconst UserManualDialog = (props: Props) => {\r\n const [userManualValue, setUserManualValue] = useState([]);\r\n const [fileName, setFileName] = useState({});\r\n const [configFile, setConfigFile] = useState({});\r\n const [userData, setUserData] = useUserContext();\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [fileInputType, setfileInputType] = useState(\".pdf\");\r\n const ref = React.useRef();\r\n const { toggleAlert } = useAlert();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n\r\n const {\r\n control,\r\n handleSubmit,\r\n setValue,\r\n reset,\r\n formState: { errors },\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n setCheckHasValue(true);\r\n } else {\r\n setAction(\"add\");\r\n setCheckHasValue(false);\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fetchMasterData();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fetchMasterData = async () => {\r\n const masterData = await GetAllMasterData();\r\n if (masterData) {\r\n const masterDataType = masterData?.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((master: any) => {\r\n const userManual = master.Value1.split(\"|\");\r\n const masterDataValue = userManual.map((e: any) => {\r\n return { UserManualGroupName: e };\r\n });\r\n\r\n control._formValues[\"UserManualGroupName\"] = masterDataValue.find(\r\n (e: any) =>\r\n e.UserManualGroupName === props.formData.UserManualGroupName\r\n );\r\n setValue(\r\n \"UserManualGroupName\",\r\n control._formValues[\"UserManualGroupName\"]\r\n );\r\n setUserManualValue([...masterDataValue]);\r\n });\r\n }\r\n };\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const onFileSelect = (e: any) => {\r\n var filename = e.target.value;\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n return e.target.files;\r\n };\r\n\r\n async function onUploadFile(file: any) {\r\n let formData = new FormData();\r\n formData.append(`files`, file[0]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"UserManual\");\r\n formData.append(\"fileDesc\", fileName);\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log(\"response=>\", response);\r\n if (response.data) {\r\n if (response.data?.result === true) {\r\n return response.data;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n async function acceptSave(formData: any, attachFile: any) {\r\n try {\r\n let userManualformData: any = {};\r\n if (action === \"add\") {\r\n if (attachFile) {\r\n userManualformData.UserManualId = null;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n } else {\r\n if (attachFile) {\r\n userManualformData = props.formData;\r\n userManualformData.UserManualId = props?.formData?.UserManualId;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n }\r\n\r\n var response: any = await AddUserManual(userManualformData);\r\n if (response?.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `(${attachFile.fileName}) has ${action} successfully`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n const onSubmit = async (data: IUserManualForm) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n const file = {\r\n fileName: props.formData.FileName,\r\n pathUrl: props.formData.FilePath,\r\n };\r\n if (checkHasValue === false) {\r\n const uploadAttach = await onUploadFile(data.AttachFile);\r\n await acceptSave(data, uploadAttach);\r\n } else {\r\n await acceptSave(data, file);\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n <>\r\n {checkHasValue === true && (\r\n <>\r\n {\r\n if (checkHasValue) {\r\n openWindow(props.formData.FilePath);\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n {\r\n setCheckHasValue(false);\r\n toggleAlert({\r\n description: `กรุณา อัพโหลดไฟล์ PDF ใหม่`,\r\n message: `Please Upload New PDF File`,\r\n type: \"error\",\r\n });\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n\r\n {checkHasValue === false && (\r\n <>\r\n {\r\n field.onChange(onFileSelect(e));\r\n }}\r\n multiple\r\n />\r\n \r\n )}\r\n \r\n )}\r\n />\r\n
\r\n {fileInputType === \".pdf\" ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n Please input only PDF file\r\n \r\n \r\n )}\r\n\r\n {getFormErrorMessage(\"AttachFile\")}\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n // className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n )}\r\n />\r\n\r\n {getFormErrorMessage(\"Sep\")}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserManualDialog;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { AccountDialog } from \"../../SettingDialogComponents/AccountDialog/AccountDialog\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport EmployeeDialogFix from \"../../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\nimport UserManualDialog from \"../../SettingDialogComponents/UserManualDialog/UserManualDialog\";\r\n\r\ntype Props = {\r\n toast: any;\r\n tableName: string;\r\n apiName: string;\r\n formData: any;\r\n mainDialogVisible: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData: any[];\r\n setTableData: (values: any[]) => void;\r\n subTableData: any[];\r\n setSubTableData: (values: any[]) => void;\r\n reloadData?: (apiPath?: string) => void;\r\n isEditProfile?: boolean;\r\n};\r\n\r\nexport const DialogListFix = ({\r\n toast,\r\n tableName,\r\n apiName,\r\n formData,\r\n toggleMainDialog,\r\n mainDialogVisible,\r\n tableData,\r\n setTableData,\r\n subTableData,\r\n setSubTableData,\r\n reloadData,\r\n}: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const editData = JSON.stringify(formData);\r\n const _editData = JSON.parse(editData);\r\n\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Authorized\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Account\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"User Manual\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(tableName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","export const matrixItemToString = async (\r\n approvalMatrixes: any[],\r\n matrixItems: any[]\r\n) => {\r\n if (matrixItems) {\r\n approvalMatrixes.forEach((approvalMatrix: any, index: number) => {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === approvalMatrix.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n\r\n data.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n data.forEach((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n }\r\n });\r\n approvalMatrix.AmountFrom_AmountTo = mainStr;\r\n });\r\n }\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { MdOutlineFormatListBulleted } from \"react-icons/md\";\r\nimport { RiUserSearchLine } from \"react-icons/ri\";\r\nimport { AiFillPlusCircle } from \"react-icons/ai\";\r\n\r\nimport \"./DelegateScreen.css\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport moment from \"moment\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetDepartment } from \"../../Services/DepartmentService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { fontSize } from \"../../components/SettingsSpecComponents/fontList\";\r\nfunction DelegateListScreen() {\r\n const { toggleAlert } = useAlert();\r\n const [isShowApproverModal, setIsShowApproverModal] = useState(false);\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] = useState(false);\r\n const [approverData, setApproverData] = useState([]);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({ name: \"\", ApproverId: null });\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n const [searchDelegateData, setSearchDelegateData] = useState([]);\r\n const [delegateData, setDelegateData] = useState([]);\r\n const [filterText, setFilterText] = useState(\"\");\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [defaultDateRange, setDefaultDateRange] = useState();\r\n const [dateRange, setDateRange] = useState(0);\r\n const [dates, setDates] = useState([]);\r\n const [departmentData, setDepartmentData] = useState([]);\r\n const [isAdmin, setIsAdmin] = useState(false);\r\n const [filterEmployee, setFilterEmployee] = useState([]);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n fetchDepartment();\r\n checkIsAdmin();\r\n fetchDataEmployee().then((emp: any) => fetchDelegateList(emp));\r\n }, []);\r\n\r\n const checkIsAdmin = async () => {\r\n const _isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n\r\n setIsAdmin(_isAdmin);\r\n };\r\n\r\n const onSelectView = (e: any) => {};\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const fetchDepartment = async () => {\r\n const department = await GetDepartment();\r\n setDepartmentData([...department]);\r\n };\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployeeData(employee);\r\n setFilterEmployee(employee);\r\n return employee;\r\n }\r\n const fetchDelegateList = async (emp: any) => {\r\n const _dataDynamic = await GetAllDynamic(\"DelegateList/GetAll\", undefined);\r\n\r\n if (emp) {\r\n const _delegate = _dataDynamic.map((delegate: any) => {\r\n const approverData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.ApproverId) ||\r\n [];\r\n const assignedData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.AssignedId) ||\r\n [];\r\n return {\r\n ...delegate,\r\n Approver:\r\n approverData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? approverData[0].NameEn\r\n : approverData[0].NameTh\r\n : \"Not found.\",\r\n [\"Delegate_To\"]:\r\n assignedData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? assignedData[0].NameEn\r\n : assignedData[0].NameTh\r\n : \"Not found.\",\r\n };\r\n });\r\n setSearchDelegateData([..._delegate]);\r\n setDelegateData([..._delegate]);\r\n }\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n if (date !== null && label === \"List\") {\r\n const result = delegateData.filter((_data: any, idx: any) => {\r\n let momentWorklistFrom = moment(_data.DateFrom, \"DD MMM yyyy\");\r\n let momentWorklistTo = moment(_data.DateTo, \"DD MMM yyyy\");\r\n let formatWorklistFrom = new Date(\r\n moment(momentWorklistFrom).format(\"yyyy/MM/DD\")\r\n );\r\n let formatWorklistTo = new Date(\r\n moment(momentWorklistTo).format(\"yyyy/MM/DD\")\r\n );\r\n let formatDateTo = new Date(moment(date[1]).format(\"yyyy/MM/DD\"));\r\n let formatDateFrom = new Date(moment(date[0]).format(\"yyyy/MM/DD\"));\r\n\r\n if (\r\n formatWorklistFrom >= formatDateFrom &&\r\n formatWorklistTo <= formatDateTo\r\n ) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDelegateData([...result]);\r\n setDates([...date]);\r\n } else if (date !== null && label === \"Detail\") {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([...date]);\r\n } else if (date === null) {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([]);\r\n }\r\n };\r\n const onResetFilter = () => {\r\n setApprover({ name: \"\", ApproverId: null });\r\n setDelegater({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n setDates([]);\r\n };\r\n const onInputFilterChange = (e: any) => {\r\n const raw = delegateData;\r\n\r\n const data = raw.filter((data: any) => {\r\n if (data.CreatedBy !== null) {\r\n if (\r\n data.CreatedBy.toUpperCase().indexOf(e.toUpperCase()) !== -1 ||\r\n data.Remark.toUpperCase().indexOf(e.toUpperCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n\r\n setSearchDelegateData([...data]);\r\n setFilterText(e);\r\n };\r\n const onSelectDateRange = (range: string) => {\r\n if (range === undefined) {\r\n setDateRange(0);\r\n }\r\n if (range === \"7 day\") {\r\n setDateRange(7);\r\n }\r\n if (range === \"1 month\") {\r\n setDateRange(31);\r\n }\r\n if (range === \"3 month\") {\r\n setDateRange(91);\r\n }\r\n if (range === \"1 year\") {\r\n setDateRange(366);\r\n }\r\n\r\n setDefaultDateRange(range);\r\n setDates([]);\r\n };\r\n const onTemplateClick = (e: any) => {\r\n history.push(`/Delegate?delegateId=${e.DelegateId}`);\r\n };\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp: any = employeeData;\r\n console.log(\"value\", value);\r\n setApproverTextFilter(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setFilterEmployee([...data]);\r\n };\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n\r\n const onDelegateRowSelect = (event: any) => {};\r\n const onClickSearch = async () => {\r\n let momentWorklist;\r\n let formatDate: any[] = [];\r\n if (dates.length > 0) {\r\n for (let i = 0; i < dates.length; i++) {\r\n const date = dates[i];\r\n // momentWorklist = moment(_data.ModifiedDate, \"DD/MM/yyyy\");\r\n formatDate.push(moment(date).format(\"dd/MM/yyyy\"));\r\n }\r\n }\r\n if (approver.ApproverId !== null || delegater.DelegateToId !== null) {\r\n const dataJson = {\r\n ApproverId: approver.ApproverId !== null ? approver.ApproverId : 0,\r\n DelegateToId:\r\n delegater.DelegateToId !== null ? delegater.DelegateToId : 0,\r\n // DateFrom: formatDate.length > 0 ? formatDate[0] : \"\",\r\n // DateTo: formatDate.length > 0 ? formatDate[1] : \"\",\r\n DateFrom: \"\",\r\n DateTo: \"\",\r\n };\r\n console.log(\"formatDate\", formatDate);\r\n\r\n const dataLogic = await fetch(\"api/DelegateList/GetDetailByValue\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n if (data) {\r\n const startDate =\r\n formatDate.length > 0 ? moment(formatDate[0]) : undefined;\r\n const endDate =\r\n formatDate.length > 0 ? moment(formatDate[1]) : undefined;\r\n const test = moment(data[0]?.RequestDate);\r\n\r\n const newData = data.filter((delegate: any) =>\r\n moment(delegate.RequestDate).isBetween(startDate, endDate)\r\n );\r\n console.log({ startDate, endDate, newData, test });\r\n }\r\n setApproverData([...data]);\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Please select Approver or Delegate To`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please select Approver or Delegate To\",\r\n // life: 7000,\r\n // });\r\n }\r\n };\r\n return (\r\n
\r\n {/* {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )} */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

Delegate List

\r\n history.push(\"/Settings?name=Delegate\")}\r\n >\r\n \r\n Create Delegate\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setCurrentPage(1);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate List\r\n \r\n {\r\n setCurrentPage(2);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate Detail\r\n \r\n
\r\n
\r\n {currentPage === 2 && (\r\n <>\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n \r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n \r\n onClickSearch()}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n onResetFilter()}\r\n setStyleProps={{\r\n backgroundColor: \"#FB3A3A\",\r\n border: \"1px solid #FB3A3A\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n

Document No.

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n \r\n history.push(`Request?MemoID=${row.MemoId}`)\r\n }\r\n >\r\n {row.DocumentNo}\r\n

\r\n )}\r\n >\r\n \r\n \r\n

Form Name

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Date

\r\n \r\n \r\n }\r\n body={(value: any) => {\r\n if (value.RequestDate != \"\") {\r\n let someDateString = moment(\r\n value.RequestDate,\r\n \"YYYY-MM-DD\"\r\n );\r\n console.log(\"value\", value.RequestDate, someDateString);\r\n\r\n const NewDate =\r\n moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n }}\r\n >\r\n \r\n \r\n

Requestor

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.RequesterId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Department

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n departmentData.map((data: any) => {\r\n if (data.DepartmentId === row.RequesterDeptId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Status

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Last Action By

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId == row.ActionId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Waiting For

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.WaitingId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n )}\r\n {currentPage === 1 && (\r\n <>\r\n {/* \r\n \r\n
\r\n Search : \r\n
\r\n

ค้นหา :

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :{\" \"}\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"List\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n \r\n \r\n
*/}\r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={() => showModalApprover(currentModal)}\r\n />\r\n {/* showModalApprover(currentModal)}\r\n className=\"information-dialog\"\r\n dismissableMask\r\n draggable={false}\r\n resizable={false}\r\n closable={false}\r\n >\r\n onEmployeeSelect(e, currentModal)}\r\n >\r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default DelegateListScreen;\r\n","export const GetAll = async (request: any) => {\r\n const respone = await fetch(\"api/SendEmail/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n \r\n return respone;\r\n};\r\n\r\nexport const ReSend = async (request: any) => {\r\n const respone = await fetch(\"api/SendEmail/ReSend\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n \r\n return respone;\r\n};","import React from \"react\";\r\nimport \"./LogSendEmailScreen.css\";\r\nimport { useEffect, useState } from \"react\"\r\nimport { GetAll, ReSend } from \"../../Services/LogSendEmailService\";\r\nimport { Col, Input, Modal, Row, Table } from \"antd\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport dayjs from \"dayjs\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport {\r\n SearchOutlined,\r\n} from \"@ant-design/icons\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\n\r\nconst LogSendEmailScreen = () => {\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [logData, setLogData] = useState([]);\r\n const [total, setTotal] = useState(0);\r\n const { toggleAlert } = useAlert();\r\n const [searchKeyword, setSearchKeyword] = useState(\"\");\r\n const {setLoad} = useLoading();\r\n \r\n useEffect(() => {\r\n fetchGetAll();\r\n }, [pageNumber, searchKeyword]);\r\n\r\n async function fetchGetAll() {\r\n let requestBody = {\r\n pageNumber: pageNumber,\r\n pageSize: 10,\r\n searchKeyword: searchKeyword\r\n }\r\n let result = await GetAll(requestBody);\r\n if (result) {\r\n setLogData(result.SendMails);\r\n setTotal(result.total);\r\n }\r\n console.log(\"result\", result);\r\n console.log(\"logData\", logData);\r\n }\r\n\r\n async function onResend(id: number) {\r\n setLoad(true);\r\n let requestBody = {\r\n Id: id\r\n };\r\n\r\n let result = await ReSend(requestBody);\r\n console.log(\"result\", result);\r\n if (result) {\r\n toggleAlert({\r\n description: `Success`,\r\n message: `Re-Send`,\r\n type: \"success\",\r\n });\r\n }\r\n else {\r\n toggleAlert({\r\n description: `Fail`,\r\n message: `Re-Send`,\r\n type: \"error\",\r\n });\r\n }\r\n await fetchGetAll();\r\n setLoad(false);\r\n }\r\n\r\n const columns: ColumnsType = [\r\n {\r\n title: () => TimeStamp,\r\n key: \"TimeStamp\",\r\n dataIndex: \"TimeStamp\",\r\n width: 140,\r\n render: (\r\n value: string | number | Date | dayjs.Dayjs | null | undefined\r\n ) => dayjs(value).format(\"DD MMM YYYY HH:mm:ss\"),\r\n },\r\n {\r\n title: () => MemoId,\r\n key: \"MemoId\",\r\n dataIndex: \"MemoId\",\r\n width: 80,\r\n },\r\n {\r\n title: () => MemoSubject,\r\n key: \"MemoSubject\",\r\n dataIndex: \"MemoSubject\",\r\n width: 120,\r\n },\r\n {\r\n title: () => DocumentNo,\r\n key: \"DocumentNo\",\r\n dataIndex: \"DocumentNo\",\r\n width: 120,\r\n },\r\n {\r\n title: () => ActorName,\r\n key: \"ActorName\",\r\n dataIndex: \"ActorName\",\r\n width: 120,\r\n },\r\n {\r\n title: () => ActionProcess,\r\n key: \"ActionProcess\",\r\n dataIndex: \"ActionProcess\",\r\n width: 120,\r\n },\r\n {\r\n title: () => MailSubject,\r\n key: \"MailSubject\",\r\n dataIndex: \"MailSubject\",\r\n width: 120,\r\n },\r\n {\r\n title: () => Mail_To,\r\n key: \"Mail_To\",\r\n dataIndex: \"Mail_To\",\r\n width: 120,\r\n },\r\n {\r\n title: () => Mail_CC,\r\n key: \"Mail_CC\",\r\n dataIndex: \"Mail_CC\",\r\n width: 120,\r\n },\r\n {\r\n title: () => Status,\r\n key: \"Status\",\r\n dataIndex: \"Status\",\r\n width: 120,\r\n render: (value) => (\r\n value === \"Success\"\r\n ?

{value}

\r\n :

{value}

\r\n )\r\n },\r\n {\r\n width: 120,\r\n render: (value, rowData) => (\r\n <>\r\n {\r\n Modal.confirm({\r\n title: \"Confirm\",\r\n content: (

\r\n The email will be sent to user related. Are you sure to continue?\r\n

),\r\n okText: \"Yes, Send now\",\r\n onOk: () => {\r\n onResend(rowData.Id);\r\n },\r\n okButtonProps: {\r\n title: \"Re-Send\",\r\n style: {\r\n borderRadius: 6,\r\n borderColor: \"rgb(40, 47, 106)\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n },\r\n },\r\n cancelButtonProps: {\r\n style: {\r\n marginBottom: \"10px\",\r\n borderRadius: \"6px\",\r\n background: \"#ffffff !important\",\r\n color: \"rgb(40, 47, 106) !important\"\r\n },\r\n },\r\n });\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n }\r\n placeholder=\"ค้นหา\"\r\n style={{ width: \"20%\", margin: \"5px\", borderRadius: \"10px\" }}\r\n allowClear\r\n onChange={(e: any) => setSearchKeyword(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setPageNumber(e.current);\r\n }}\r\n scroll={{ y: 1500 }}>\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default LogSendEmailScreen","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport DynamicTable from \"../../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../../../components/ButtonComponents/ButtonComponents\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { DialogListFix } from \"../../../components/TableComponents/DynamicTableFix/DialogListFix\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport { matrixItemToString } from \"../../../Helper/matrixItemToString\";\r\nimport DelegateListScreen from \"../../DelegateListScreen/DelegateListScreen\";\r\nimport DelegateScreen from \"../../DelegateScreen/DelegateScreen\";\r\nimport SimLineApproveScreen from \"../SimLineApproveScreen/SimLineApproveScreen\";\r\nimport { CheckRolePermission } from \"../../../Services/AuthorizedService\";\r\nimport { getVersionTempVC } from \"../../../Services/MasterDataService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport \"primeicons/primeicons.css\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\nimport LogSendEmailScreen from \"../../LogSendEmailScreen/LogSendEmailScreen\";\r\n\r\nconst MasterDatascreenFixed = () => {\r\n const query = new URLSearchParams(useLocation().search);\r\n const [apiName, setApiName] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const [dynamicData, setDynamicData] = useState();\r\n const [emp_data, setEmp_data] = useState();\r\n const [subData, setSubData] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [displayFormDialog, setDisplayFormDialog] = useState(false);\r\n const [userData] = useUserContext();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const { updateMasterData } = useMasterSetting();\r\n useEffect(() => {\r\n setLoad(false);\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getQuery();\r\n }, [query]);\r\n\r\n const getQuery = () => {\r\n let eriei = \"\";\r\n\r\n if (query.get(\"name\") !== null && query.get(\"name\") !== undefined) {\r\n eriei = query.get(\"name\") || \"\";\r\n if (eriei === \"AuthorizedMenu\") {\r\n eriei = eriei.replace(\"AuthorizedMenu\", \"Authorized\");\r\n } else if (eriei === \"Organization\") {\r\n eriei = eriei.replace(\"Organization\", \"Department\");\r\n } else if (eriei === \"wolfaccount\") {\r\n eriei = \"Account\";\r\n } else if (eriei === \"MasterProject\") {\r\n eriei = \"Project\";\r\n }\r\n if (eriei.indexOf(\"?\") !== -1) {\r\n eriei = eriei.substring(0, eriei.indexOf(\"?\"));\r\n }\r\n\r\n setApiName(eriei);\r\n }\r\n return eriei;\r\n };\r\n\r\n useEffect(() => {\r\n if (apiName) {\r\n setLoad(true);\r\n fecthData(apiName);\r\n }\r\n }, [apiName]);\r\n\r\n // useEffect(() => {\r\n // if (dynamicData) {\r\n // setLoad(false);\r\n // }\r\n // }, [dynamicData]);\r\n\r\n // useEffect(() => {\r\n // if (displayFormDialog) {\r\n // fecthData(apiName);\r\n // }\r\n // }, [displayFormDialog]);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setDisplayFormDialog(state);\r\n if (action === \"save\") {\r\n setLoad(true);\r\n fecthData(apiName, action);\r\n }\r\n }\r\n };\r\n\r\n const fecthData = async (apiPath: string, action?: string) => {\r\n try {\r\n let _dataDynamic: any;\r\n let _emp_data: any = emp_data;\r\n let _emp_dataFind: any = undefined;\r\n let _apiPath: string = apiPath ? apiPath : getQuery();\r\n if (!_emp_data) {\r\n _emp_data = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n setEmp_data(_emp_data);\r\n }\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (\r\n query.get(\"usrid\") !== null &&\r\n query.get(\"usrid\") !== undefined &&\r\n _isAdmin\r\n ) {\r\n _emp_dataFind = _emp_data.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n let dataJsonn: any | undefined;\r\n let queryString: any | undefined;\r\n if (apiName === \"TemplateList\") {\r\n let _usrid: number | undefined = undefined;\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: _emp_dataFind\r\n ? _emp_dataFind?.EmployeeId?.toString()\r\n : userData.EmployeeId.toString(),\r\n DepartmentId: _emp_dataFind\r\n ? _emp_dataFind?.DepartmentId\r\n : userData.DepartmentId,\r\n Username: _emp_dataFind\r\n ? _emp_dataFind?.Username\r\n : userData.Username,\r\n Email: _emp_dataFind ? _emp_dataFind?.Email : userData.Email,\r\n }),\r\n };\r\n } else if (apiName === \"Account\") {\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n TinyURL: _userData.TinyURL,\r\n }),\r\n };\r\n } else if (apiName === \"Employee\") {\r\n queryString = {\r\n IsActiveOnly: \"false\",\r\n };\r\n }\r\n const getAll = [\"Division\", \"Project\", \"UserManual\"].includes(_apiPath)\r\n ? \"/GetAllStatus\"\r\n : \"/GetAll\";\r\n _dataDynamic = await GetAllDynamic(\r\n _apiPath + getAll,\r\n dataJsonn,\r\n queryString\r\n );\r\n\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n\r\n for (let i = 0; i < _dataDynamic.length; i++) {\r\n const element = _dataDynamic[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n _dataDynamic[i].isEditing =\r\n _element.value3 === \"Editing\" ? \"true\" : \"false\";\r\n _dataDynamic[i].isPublishVersion =\r\n _element.value3 === \"Publish\" ? \"true\" : \"false\";\r\n }\r\n }\r\n }\r\n\r\n if (apiPath === \"ApprovalMatrix\") {\r\n await fecthApprovalMatrixItem(_dataDynamic);\r\n }\r\n\r\n if (apiName === \"UserManual\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.AttachFile) {\r\n const [nameFile, linkFile] = data.AttachFile.split(\"|\");\r\n data.AttachFile = (\r\n <>\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n });\r\n }\r\n if (apiName === \"Employee\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.NameTh && data.NameEn) {\r\n data.NameTh = data.NameTh.replace(/\\s+/g, \" \");\r\n data.NameEn = data.NameEn.replace(/\\s+/g, \" \");\r\n }\r\n });\r\n }\r\n if (apiName === \"MasterData\" && action === \"save\") {\r\n updateMasterData(_dataDynamic);\r\n }\r\n\r\n if (_dataDynamic) {\r\n if (_emp_data) {\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n setIsAdmin(_isAdmin);\r\n\r\n setDynamicData([..._dataDynamic]);\r\n setLoad(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n };\r\n\r\n const fecthApprovalMatrixItem = async (data: any[]) => {\r\n let matrixItems = await GetAllApprovalMatrixItem();\r\n if (matrixItems) {\r\n matrixItemToString(data, matrixItems);\r\n setSubData([...matrixItems]);\r\n }\r\n };\r\n\r\n const getTableName = () => {\r\n if (apiName === \"ApprovalMatrix\") {\r\n return \"Approval Matrix\";\r\n } else if (apiName === \"MasterData\") {\r\n return \"Master Data\";\r\n } else if (apiName === \"PositionLevel\") {\r\n return \"Position Level\";\r\n } else if (apiName === \"MasterCompany\") {\r\n return \"Master Company\";\r\n } else if (apiName.substring(0, apiName.indexOf(\"?\")) === \"TemplateList\") {\r\n return \"Template List\";\r\n } else if (apiName === \"UserManual\") {\r\n return \"User Manual\";\r\n } else {\r\n return apiName;\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n return (\r\n \r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\r\n \"/TemplateDetail?TemplateId=\" + record.TemplateId\r\n );\r\n } else {\r\n setDataEdit(record);\r\n setDisplayFormDialog(true);\r\n }\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n if (\r\n apiName !== \"DelegateList\" &&\r\n apiName !== \"SimLineApprove\" &&\r\n apiName !== \"Delegate\" &&\r\n apiName !== \"SendEmail\"\r\n ) {\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {!isLoad && (\r\n

\r\n {apiName === \"ApprovalMatrix\"\r\n ? \"Approval Matrix\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterData\"\r\n ? \"Master Data\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"PositionLevel\"\r\n ? \"Position Level\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Master Company\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"Authorized\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"TemplateList\"\r\n ? \"Template List\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"UserManual\"\r\n ? \"User Manual\" + \"(\" + itemsCount + \")\"\r\n : apiName + \"(\" + itemsCount + \")\"}\r\n

\r\n )}\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n <>\r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\"/TemplateDetail\");\r\n } else {\r\n setDataEdit({});\r\n setDisplayFormDialog(!displayFormDialog);\r\n }\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n {dynamicData && (\r\n <>\r\n \r\n {displayFormDialog && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n <>\r\n {apiName === \"DelegateList\" && }\r\n {apiName === \"Delegate\" && }\r\n {apiName === \"SimLineApprove\" && }\r\n {apiName === \"SendEmail\" && }\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default withPerMission(MasterDatascreenFixed);\r\n","import moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Route,\r\n Switch,\r\n useHistory,\r\n useLocation,\r\n useRouteMatch,\r\n} from \"react-router\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport {\r\n DeleteReport,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { GetTemplateeBindFormNameDDL } from \"../../Services/TemplateService\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { TablePaginationConfig } from \"antd\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst ReportScreenFix = () => {\r\n const location = useLocation();\r\n const apiName = location.pathname.replace(\"/\", \"\");\r\n const [text, setText] = useState(\"\");\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [reportList, setReportList] = useState();\r\n const [tableData, setTableData] = useState([]);\r\n const [reportColumns, setReportColumns] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const { isLoad, setLoad } = useLoading();\r\n const [editReport, setEditReport] = useState(false);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [userData] = useUserContext();\r\n const [emp_data, setEmp_data] = useState();\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [isAutoReport, setIsAutoReport] = useState(false);\r\n const [canEdit, setCanEdit] = useState(false);\r\n const { url } = useRouteMatch();\r\n let history = useHistory();\r\n\r\n const [paginationOption, setPaginationOption] =\r\n useState({\r\n position: [\"bottomLeft\"],\r\n size: \"small\",\r\n current: 1,\r\n showSizeChanger: true,\r\n onChange: (page, pageSize) => {\r\n let _page: TablePaginationConfig = paginationOption;\r\n _page.current = page;\r\n _page.pageSize = pageSize;\r\n\r\n setPaginationOption(_page);\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n const path = apiName.split(\"/\");\r\n if (path[2]) {\r\n history.push(\r\n `${url}/${path[1].replaceAll(\"/\", \"\\\\\")}/${path[2]}/${isAutoReport}`\r\n );\r\n } else {\r\n checkAutoReport();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n\r\n fetchTemplate();\r\n }, [isAutoReport]);\r\n\r\n useEffect(() => {\r\n fetchReport();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAdmin) {\r\n if (tableData) {\r\n const findedData = tableData.find((e: any) => {\r\n if (\r\n e.CreatedBy === userData.NameEn ||\r\n e.CreatedBy === userData.NameTh\r\n ) {\r\n return e;\r\n }\r\n });\r\n if (findedData) {\r\n setCanEdit(true);\r\n }\r\n }\r\n }\r\n }, [tableData]);\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n async function fetchReport() {\r\n try {\r\n let empList: any[] = [];\r\n let _emp_dataFind: any = undefined;\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n EmployeeId: userId?.toString(),\r\n UserPrincipalName: userData.Email,\r\n }),\r\n });\r\n\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (query.get(\"usrid\") && _isAdmin) {\r\n _emp_dataFind = empList.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n if (reportList === undefined) {\r\n setReportList(_dataDynamic);\r\n }\r\n\r\n if (!emp_data) {\r\n empList = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n setEmp_data(empList);\r\n } else {\r\n empList = emp_data;\r\n }\r\n\r\n const hasMy = _dataDynamic?.find(\r\n (_data: any) =>\r\n _data.CreatedBy === userData.NameTh ||\r\n _data.CreatedBy === userData.NameEn\r\n );\r\n if (hasMy) {\r\n setCanEdit(true);\r\n }\r\n if (empList.length > 0) {\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n const uniqueArray = _dataDynamic.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n _dataDynamic.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setIsAdmin(_isAdmin);\r\n setTableData([...uniqueArray]);\r\n setReportColumns(undefined);\r\n setText(\"Report List\");\r\n setLoad(false);\r\n } catch (error) {\r\n console.error(\"report=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = emp_data.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {text.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }/${isAutoReport}`\r\n );\r\n }}\r\n canExport={text !== \"Report List\"}\r\n />\r\n {/* {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\r\n /> */}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n // if (isAutoReport) {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n\r\n // \r\n //
\r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {text !== \"\" && (\r\n // <>\r\n // {\" \"}\r\n // {text === \"Report List\" ? (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // ) : (\r\n // <>\r\n // \r\n // panelTemplate(option, \"Filter\")\r\n // }\r\n // toggleable\r\n // >\r\n // \r\n // \r\n // \r\n // panelTemplate(option, \"Report\")\r\n // }\r\n // className={\"table-panel\"}\r\n // toggleable\r\n // >\r\n // {gettingReport ? (\r\n // <>\r\n // \r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // \r\n // ) : (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // )}\r\n // \r\n // \r\n // )}\r\n // \r\n // )}\r\n\r\n // \r\n //
\r\n // \r\n // \r\n // );\r\n // }\r\n }\r\n};\r\n\r\nexport default ReportScreenFix;\r\n","import { ITimeStampRequest } from \"../IRequestModel/ITimeStamp\";\r\n\r\nexport const GetTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/GetTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UploadTimeStamp = async (fileData: FormData) => {\r\n const respone = await fetch(\"api/TimeStamp/UploadTimeStamp\", {\r\n method: \"POST\",\r\n body: fileData,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Success:\", data);\r\n return data;\r\n })\r\n .catch((error) => {\r\n console.error(\"Error:\", error);\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const ExportTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/ExportTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IPaging } from \"../../IRequestModel/IPaginationOptionModel\";\r\nimport { Col, DatePicker, message, Row, Upload, UploadFile } from \"antd\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport type { UploadProps } from \"antd\";\r\n\r\nimport {\r\n ITimeStampRequest,\r\n ITimeStampRespone,\r\n} from \"../../IRequestModel/ITimeStamp\";\r\nimport {\r\n ExportTimeStamp,\r\n GetTimeStamp,\r\n UploadTimeStamp,\r\n} from \"../../Services/TimeStampService\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport moment from \"moment\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GrDocumentTxt } from \"react-icons/gr\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { RcFile } from \"antd/es/upload/interface\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { exportExcel } from \"../../Helper/ExportExcel\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { TiExport, TiExportOutline } from \"react-icons/ti\";\r\nimport { AiOutlineExport } from \"react-icons/ai\";\r\n\r\nconst TimeStampScreen = () => {\r\n const toast = useRef(null);\r\n const [dataList, setDataList] = useState([]);\r\n const [isLoadTable, setIsLoadTable] = useState(false);\r\n const [paginationOption, setPaginationOption] = useState({\r\n PageNumber: 1,\r\n PageSize: 10,\r\n });\r\n const [timeStampRequest, setTimeStampRequest] = useState({\r\n SearchDateTimeFrom: moment(new Date()).format(\"YYYY-MM-DD\") + \" 00:00:00\",\r\n SearchDateTimeTo: moment(new Date()).format(\"YYYY-MM-DD\") + \" 23:59:59\",\r\n Paging: {\r\n PageNumber: 1,\r\n PageSize: 10,\r\n },\r\n });\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [fileSelected, setFileSelected] = useState();\r\n const [uploading, setUploading] = useState(false);\r\n const [exporting, setExporting] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: timeStampRequest,\r\n });\r\n\r\n const onPageChange = (paginationValue: IPaging) => {\r\n fecthTimeStamp(timeStampRequest, paginationValue);\r\n };\r\n\r\n const fecthTimeStamp = async (\r\n timeStampRequest: ITimeStampRequest,\r\n _paginationOption?: IPaging\r\n ) => {\r\n setIsLoadTable(true);\r\n if (_paginationOption) {\r\n timeStampRequest.Paging = _paginationOption;\r\n }\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n // if (res.Paging) {\r\n // timeStampRequest?.Paging = _paginationOption;\r\n let value: IPaging = {\r\n PageNumber: res.Paging.PageNumber,\r\n PageSize: res.Paging.PageSize,\r\n PageCount: res.Paging.PageCount,\r\n RecordCount: res.Paging.RecordCount,\r\n };\r\n\r\n setPaginationOption(value);\r\n // }\r\n setDataList(JSON.parse(res.Data));\r\n } else {\r\n setDataList(JSON.parse(res.Data));\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n moment(timeStampRequest.SearchDateTimeFrom).format(\"YYYY-MM-DD\") +\r\n \" ถึง \" +\r\n moment(timeStampRequest.SearchDateTimeTo).format(\"YYYY-MM-DD\") +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setIsLoadTable(false);\r\n };\r\n\r\n const fecthExportTimeStamp = async (timeStampRequest: ITimeStampRequest) => {\r\n setExporting(true);\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n exportExcel(\"TimeStamp \", JSON.parse(res.Data));\r\n } else {\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n timeStampRequest.SearchDateTimeFrom +\r\n \" ถึง \" +\r\n timeStampRequest.SearchDateTimeTo +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setExporting(false);\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n const onSubmit = (data: ITimeStampRequest) => {\r\n setTimeStampRequest(data);\r\n if (action === \"get\") {\r\n fecthTimeStamp(data);\r\n } else {\r\n fecthExportTimeStamp(data);\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n if (name === \"SearchDateTimeFrom\") {\r\n return (\r\n errors.SearchDateTimeFrom && (\r\n {errors.SearchDateTimeFrom.message}\r\n )\r\n );\r\n } else {\r\n return (\r\n errors.SearchDateTimeTo && (\r\n {errors.SearchDateTimeTo.message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n const filterComponent = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = \"\";\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeFrom\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = null;\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeTo\")}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"get\");\r\n }}\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n backgroundColor: \"#282F6A\",\r\n color: \"#FFFFFF\",\r\n fontSize: \"13px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setDialogVisible(true);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"export\");\r\n }}\r\n loading={exporting}\r\n icon=\"pi pi-file-excel\"\r\n label=\"Export File\"\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n background: \"#28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n const handleUpload = async (e: any) => {\r\n if (e.target.files[0].type === \"text/plain\") {\r\n const formData = new FormData();\r\n formData.append(\"File\", e.target.files[0]);\r\n setFileSelected(formData);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n panelTemplate(option, \"Filter\")}\r\n toggleable\r\n >\r\n {filterComponent()}\r\n \r\n \r\n panelTemplate(option, \"Time Stamp\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n <>\r\n {\r\n console.log(\"table=>total\", total, ranges);\r\n return

Total Record: {total}

;\r\n },\r\n // onChange: (page, pageSize) => {\r\n // let value: IPaging = paginationOption;\r\n // value.PageNumber = page;\r\n // value.PageSize = pageSize;\r\n // onPageChange(value);\r\n // },\r\n }}\r\n onPageChange={onPageChange}\r\n />\r\n \r\n \r\n
\r\n {\r\n setDialogVisible(false);\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n if (fileSelected) {\r\n setUploading(true);\r\n const res = await UploadTimeStamp(fileSelected);\r\n if (res) {\r\n toggleAlert({\r\n description: `Import file success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n }\r\n setUploading(false);\r\n setDialogVisible(false);\r\n }\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n width: 110,\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TimeStampScreen;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\ntype Props = {\r\n uri: string;\r\n};\r\nconst MSDocRenderer = (props: Props) => {\r\n if (!props.uri) return null;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MSDocRenderer;\r\n\r\nconst MSDocFTMaps = {\r\n doc: [\"doc\", \"application/msword\"],\r\n docx: [\r\n \"docx\",\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \"application/octet-stream\",\r\n ],\r\n xls: [\"xls\", \"application/vnd.ms-excel\"],\r\n xlsx: [\r\n \"xlsx\",\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n ],\r\n ppt: [\"ppt\", \"application/vnd.ms-powerpoint\"],\r\n pptx: [\r\n \"pptx\",\r\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n ],\r\n};\r\n\r\nMSDocRenderer.fileTypes = [\r\n ...MSDocFTMaps.doc,\r\n ...MSDocFTMaps.docx,\r\n ...MSDocFTMaps.xls,\r\n ...MSDocFTMaps.xlsx,\r\n ...MSDocFTMaps.ppt,\r\n ...MSDocFTMaps.pptx,\r\n];\r\nMSDocRenderer.weight = 0;\r\n// MSDocRenderer.fileLoader = (props.uri) => fileLoaderComplete();\r\n\r\nconst Container = styled.div`\r\n width: 100%;\r\n`;\r\nconst IFrame = styled.iframe`\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n`;\r\n","/**\r\n * PDFPreviewComponent\r\n * component ที่ใช้ preview PDF file ที่ไม่ใช่ iframe\r\n * โดย PDF จะถูกอ่านด้วน lib PDF.JS ของ Mozilla\r\n * แล้วทำการวาดลง Canvas พร้อมป้องกันคลิกขวา (context menu)\r\n */\r\n\r\nimport React, { ReactElement, useEffect, useState } from \"react\";\r\nimport \"./PDFPreviewComponent.css\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist\";\r\n\r\nexport function PDFPreviewComponent(props: { src: string }) {\r\n const [element, setElement] = useState([]);\r\n const pdfjs = (window as any).pdfjsLib;\r\n useEffect(() => {\r\n let loadingTask = pdfjs.getDocument(props.src);\r\n loadingTask.promise.then(function (pdf: any) {\r\n let pv: ReactElement[] = [];\r\n for (let i = 1; i <= pdf.numPages; i++) {\r\n pv.push(\r\n
\r\n renderPage(node, pdf, i)}\r\n role=\"presentation\"\r\n >\r\n
\r\n );\r\n }\r\n setElement(pv);\r\n });\r\n }, []);\r\n function renderPage(\r\n canvas: HTMLCanvasElement | null,\r\n pdf: PDFDocumentProxy,\r\n pageNum: number\r\n ) {\r\n if (canvas == null) {\r\n return;\r\n }\r\n\r\n pdf.getPage(pageNum).then(\r\n (page) => {\r\n const scale = 1.5;\r\n let viewport = page.getViewport({ scale: scale * 2 });\r\n\r\n // Support HiDPI-screens.\r\n const outputScale = window.devicePixelRatio || 1;\r\n canvas.width = Math.floor(viewport.width * outputScale);\r\n canvas.height = Math.floor(viewport.height * outputScale);\r\n canvas.style.width = Math.floor(viewport.width / 2) + \"px\";\r\n canvas.style.height = Math.floor(viewport.height / 2) + \"px\";\r\n\r\n let context = canvas.getContext(\"2d\");\r\n\r\n let transform =\r\n outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;\r\n\r\n let renderContext = {\r\n intent: \"print\",\r\n canvasContext: context,\r\n transform: transform,\r\n viewport: viewport,\r\n };\r\n let renderTask = page.render(renderContext as any);\r\n renderTask.promise.then(\r\n () => {},\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n },\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n }\r\n\r\n function disableContextMenu(e: React.MouseEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {element}\r\n
\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MSDocRenderer from \"../../utils/plugins/msdoc\";\r\n\r\nimport \"./index.css\";\r\nimport { PDFPreviewComponent } from \"../../components/PDFPreviewComponent/PDFPreviewComponent\";\r\ntype Props = {};\r\n\r\nconst PreviewAttachmentScreen: FC = ({}) => {\r\n const [selectedDoc, setSelectedDoc] = useState();\r\n const [fileExt, setFileExt] = useState<\"image\" | \"pdf\" | \"ms\">();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const imageType = [\r\n \"jpg\",\r\n \"jpeg\",\r\n \"jfif\",\r\n \"pjpeg\",\r\n \"pjp\",\r\n \"gif\",\r\n \"png\",\r\n \"svg\",\r\n \"sharepoint\",\r\n ];\r\n const pdfType = [\"pdf\", \"txt\"];\r\n const msType = [\"doc\", \"docx\", \"csv\", \"xls\", \"xlsx\", \"pot\", \"potx\", \"pptx\"];\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n checkQuery();\r\n }, [query]);\r\n useEffect(() => {\r\n // const iframEl = document.getElementById(\"iframePdf\");\r\n // if (iframEl) {\r\n // console.log({ iframEl });\r\n // iframEl.addEventListener(\"contextmenu \", function () {\r\n // console.log(\"Right Click\");\r\n // return false;\r\n // });\r\n // }\r\n // document.addEventListener(\"contextmenu\", (event) => event.preventDefault());\r\n }, []);\r\n\r\n const checkQuery = async () => {\r\n let rootPath: string | null = null;\r\n let docPath: string | null = null;\r\n let fileName: string | null = null;\r\n let ext: string | null = null;\r\n let protocol = window.location.protocol;\r\n let _tinyURL = _localStorage.TinyURL;\r\n let _port = window.location.port;\r\n let link = \"\";\r\n if (query.get(\"rootPath\")) {\r\n rootPath = query.get(\"rootPath\");\r\n }\r\n if (query.get(\"docPath\")) {\r\n docPath = query.get(\"docPath\");\r\n }\r\n if (query.get(\"name\")) {\r\n fileName = query.get(\"name\");\r\n }\r\n if (query.get(\"ext\")) {\r\n ext = query.get(\"ext\");\r\n }\r\n console.log(\"link=>\", { ext });\r\n\r\n if (rootPath && docPath && fileName && ext) {\r\n link = \"\";\r\n if (_sharepointSiteURL) {\r\n link = `${_sharepointSiteURL}/${fileName}.${ext}`;\r\n } else {\r\n\r\n if(_port)\r\n {\r\n _tinyURL = _localStorage.TinyURL + \":\" + _port;\r\n }\r\n link = `${protocol}//${_tinyURL}/${rootPath}/${docPath}/${fileName}.${ext}`;\r\n }\r\n console.log({ link });\r\n getTypeOfFile(ext.toLowerCase());\r\n setSelectedDoc(link);\r\n }\r\n };\r\n const getTypeOfFile = (ext: string) => {\r\n const _imageType = imageType.includes(ext);\r\n const _pdfType = pdfType.includes(ext);\r\n const _msType = msType.includes(ext);\r\n\r\n if (_imageType) {\r\n setFileExt(\"image\");\r\n } else if (_pdfType) {\r\n setFileExt(\"pdf\");\r\n } else if (_msType) {\r\n setFileExt(\"ms\");\r\n }\r\n console.log({ _imageType, _pdfType, _msType });\r\n };\r\n return (\r\n \r\n
\r\n \r\n {/*

PreviewAttachmentScreen

*/}\r\n {selectedDoc && fileExt?.toLowerCase() === \"ms\" && (\r\n <>\r\n
\r\n \r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"pdf\" && (\r\n <>\r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"image\" && (\r\n <>\r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PreviewAttachmentScreen;\r\n","export default __webpack_public_path__ + \"static/media/correct.0e163e83.png\";","import React, { useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport \"./RequestActionMemo.css\";\r\nimport correct from \"./../../assets/correct.png\";\r\ntype Props = {\r\n PathLogo: any;\r\n};\r\n\r\nfunction RequestActionMemo(props: Props) {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n \"img\"\r\n \"img\"\r\n history.push(\"/Default\")}\r\n >\r\n go to worklist\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RequestActionMemo;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst RejectBrowser = (props: Props) => {\r\n const [browserConfig] = useState(\r\n JSON.parse(localStorage.getItem(\"mstDatabrowserConfig\") || \"[]\")\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Access denied!

\r\n {browserConfig.messages.map((x: any) => (\r\n

{x}

\r\n ))}\r\n {/*

\r\n Browser NOT support this application. Please chooose{\" \"}\r\n \r\n

*/}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RejectBrowser;\r\n","import { Col, ConfigProvider, Row, Table } from \"antd\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport dayjs from \"dayjs\";\r\nimport { ColumnsType } from \"antd/es/table\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./BudgetTrackingScreen.css\";\r\n\r\nconst Type = {\r\n BUDGET: \"BUDGET\",\r\n PR: \"PR\",\r\n PO: \"PO\",\r\n PV: \"PV\",\r\n GR: \"GR\",\r\n} as const;\r\n\r\nfunction renderDescription(value: any, record: any) {\r\n let val = record.memoId ? (\r\n \r\n {value}\r\n \r\n ) : (\r\n value\r\n );\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n return {val};\r\n case Type.PR:\r\n return {val};\r\n case Type.PV:\r\n return {val};\r\n case Type.GR:\r\n return {val};\r\n default:\r\n return val;\r\n }\r\n}\r\n\r\nfunction renderNumber(value: number, record: any, index: number, options: any) {\r\n let val = value ? value.toLocaleString() : \"-\";\r\n let view = null;\r\n let color = \"#282f6a\";\r\n if (options.col == \"remaining\") {\r\n let prefix = options.prefix;\r\n let alloc = record[`${prefix}_alloc`];\r\n let remain = record[`${prefix}_remaining`];\r\n if (alloc && remain) {\r\n let percentage = remain / alloc;\r\n if (percentage < 0.1) {\r\n color = \"#f00\";\r\n } else if (percentage < 0.2) {\r\n color = \"#f80\";\r\n }\r\n }\r\n }\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n view = {val};\r\n break;\r\n case Type.PR:\r\n view = {val};\r\n break;\r\n case Type.PV:\r\n view = {val};\r\n break;\r\n default:\r\n view = val;\r\n }\r\n return
{view}
;\r\n}\r\n\r\nfunction genBudgetColumn(prefix = \"\", options = {}) {\r\n const budgetColumn: ColumnsType = [\r\n {\r\n title: \"ALLOCATE\",\r\n dataIndex: `${prefix}_alloc`,\r\n key: `${prefix}_alloc`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"alloc\" }),\r\n },\r\n {\r\n title: \"RESERVED\",\r\n dataIndex: `${prefix}_reserve`,\r\n key: `${prefix}_reserve`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"col\" }),\r\n },\r\n {\r\n title: \"USED\",\r\n dataIndex: `${prefix}_used`,\r\n key: `${prefix}_used`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"used\" }),\r\n },\r\n {\r\n title: \"PAID\",\r\n dataIndex: `${prefix}_paid`,\r\n key: `${prefix}_paid`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"paid\" }),\r\n },\r\n {\r\n title: \"REMAINING\",\r\n dataIndex: `${prefix}_remaining`,\r\n key: `${prefix}_remaining`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, {\r\n prefix: prefix,\r\n col: \"remaining\",\r\n }),\r\n },\r\n ];\r\n return budgetColumn;\r\n}\r\n\r\nfunction BudgetSummary() {\r\n const columns: ColumnsType = [\r\n {\r\n title: \"Description\",\r\n dataIndex: \"desc\",\r\n key: \"desc\",\r\n fixed: \"left\",\r\n width: 300,\r\n render: (value, record, index) => renderDescription(value, record),\r\n },\r\n {\r\n title: \"Summary\",\r\n children: genBudgetColumn(\"summary\", { fixed: \"left\" }),\r\n fixed: \"left\",\r\n },\r\n ...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((m) => {\r\n let day = dayjs().month(m);\r\n return {\r\n title: day.format(\"MMM-YY\"),\r\n key: m,\r\n children: genBudgetColumn(day.format(\"MMM\").toLocaleLowerCase()),\r\n };\r\n }),\r\n ];\r\n\r\n const [data, dataSet] = useState([]);\r\n\r\n useEffect(() => {\r\n fetch(\"budget-summary.json\")\r\n .then((r) => r.json())\r\n .then((r) => {\r\n dataSet(r.data);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n );\r\n}\r\n\r\nexport default BudgetSummary;\r\n","import { Row, Col, Table, Button } from \"antd\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport { PlusOutlined, GlobalOutlined, CheckOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./style.css\";\r\n\r\nenum PublishStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n PUBLISH_ON_WEB = 2,\r\n SKIP = 99,\r\n}\r\nenum TrackStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n COMPLETED = 2,\r\n}\r\n\r\nexport const ProcurementTracking = () => {\r\n function renderPublish(value: any = { status: -1 }) {\r\n let display = <>;\r\n switch (value.status) {\r\n case PublishStatus.BLANK:\r\n display = (\r\n \r\n